Commit Graph

74 Commits

Author SHA1 Message Date
daniel
9253d5046f feat: re-enable code interpreter tool (lazy code_session, no module-level init) 2026-05-12 15:05:26 -05:00
daniel
138f9224c3 fix: use sender from_id as actor_id in groups, not group chat_id 2026-05-12 14:17:02 -05:00
daniel
9d3a93a998 feat: capture message_thread_id for Telegram topic routing 2026-05-12 14:05:00 -05:00
daniel
3a49dadb69 Inject live datetime into system prompt per invocation with relative-time instruction 2026-05-09 14:56:25 -05:00
daniel
c317d948b1 Migrate primary to labeled path, remove all flat-path fallback logic 2026-05-09 14:20:24 -05:00
daniel
aaecbcfa02 Fix: list_google_accounts also shows flat primary secret 2026-05-09 14:17:53 -05:00
daniel
bf89f7255a Fix: always load flat secret as primary regardless of labeled secrets 2026-05-09 14:14:38 -05:00
daniel
ac260e4314 Add remove_google_account tool 2026-05-09 13:49:01 -05:00
daniel
6e04d8511c fix: two-step DynamoDB update for google_accounts; live SM lookup in list_google_accounts 2026-05-09 13:32:36 -05:00
daniel
38d828ef74 Multi-account Google support with user labels 2026-05-09 11:21:37 -05:00
daniel
01b258579b Phase 3: proactive heartbeat — EventBridge 30min rule, heartbeat-runner Lambda, HEARTBEAT_OK suppression 2026-05-08 20:14:16 -05:00
daniel
eddbd98153 Fix: use build(credentials=creds) instead of creds.authorize() for google-auth compatibility; add traceback logging 2026-05-08 19:57:35 -05:00
daniel
9b56aa83df Fix Google OAuth: explicit IAM policy + strip OIDC scopes from credentials 2026-05-08 16:57:40 -05:00
daniel
d68ddab8a2 OAuth callback: send Telegram confirmation message after Google auth 2026-05-08 16:29:05 -05:00
daniel
633ad03db0 Fix naive/aware datetime comparison: strip tz from expiry for google-auth 2026-05-08 16:05:45 -05:00
daniel
8a25eb2d5a Fix: pass expiry to Credentials so auto-refresh fires when token expired 2026-05-08 16:03:09 -05:00
daniel
9d21d5d2e5 Fix: import main in _actor_id() causes app.run() hang — use module-level var instead 2026-05-08 11:32:21 -05:00
daniel
54902cca8d Remove AgentCoreCodeInterpreter import+init: port 8080 conflict blocks event loop 2026-05-08 11:27:32 -05:00
daniel
2f15dd2af3 Remove code_interpreter from base_tools: port 8080 conflict hangs warm containers 2026-05-08 11:23:02 -05:00
daniel
f4444cbd22 Fix: pass only authorized http to build(), not credentials, so timeout applies to API calls 2026-05-08 11:17:38 -05:00
daniel
350ce231a4 embed workspace-mcp as direct dependency, simplify google credential loading
- Add workspace-mcp >= 1.20.0 to pyproject.toml (pulls google-api-python-client etc. transitively)
- Remove redundant google-api-python-client/google-auth/google-auth-httplib2 direct deps
- Rewrite google_workspace.py: single Secrets Manager call per tool (client_id/client_secret
  are already in the credentials secret stored by oauth-handler, no separate oauth-client secret needed)
- Mirror workspace-mcp output format for list_calendars and get_calendar_events
- Add body_format param to get_gmail_message (text/html/raw) matching workspace-mcp API
- Update uv.lock
2026-05-08 11:12:06 -05:00
daniel
245c2d64f5 Add debug logging to google_workspace tools 2026-05-08 10:56:29 -05:00
daniel
6d0464ea07 Add httplib2 15s timeout + cache_discovery=False to prevent hangs 2026-05-08 10:53:19 -05:00
daniel
25cba295b0 Update uv.lock to include google-api-python-client and deps 2026-05-08 10:49:11 -05:00
daniel
ad594f6797 Add direct Google Calendar/Gmail tools, remove workspace_mcp 2026-05-08 10:37:31 -05:00
daniel
943cf26d77 workspace-mcp: strip /workspace prefix for API GW proxy route 2026-05-08 10:27:46 -05:00
daniel
647cb516db Route workspace-mcp through API Gateway to bypass SCP Lambda URL block 2026-05-08 10:24:37 -05:00
daniel
eaf19fa9c5 Add debug logging for google_email and workspace_mcp URL 2026-05-08 10:17:08 -05:00
daniel
700e9af2b8 Fix OAUTH_START_URL: use 'or' fallback in case env var is empty string 2026-05-08 09:52:01 -05:00
daniel
9bf6461e1b Disable extended thinking: causes blank responses via streaming retry 2026-05-08 09:44:42 -05:00
daniel
f90171cb43 test-bot: use env vars for credentials when available 2026-05-08 09:38:20 -05:00
daniel
c3432649c0 Add deploy-agentcore.sh: SSO creds + staging sync before agentcore deploy 2026-05-08 09:31:02 -05:00
daniel
b728356fe4 Hardcode OAUTH_START_URL fallback (env var not propagating to runtime) 2026-05-08 09:23:23 -05:00
daniel
4e90440011 Hardcode scheduler Lambda ARN fallback (env var not propagating) 2026-05-07 23:31:11 -05:00
daniel
58ed60f7b7 Add EventBridge scheduling: schedule_reminder, list_reminders, cancel_reminder 2026-05-07 23:24:48 -05:00
daniel
825294d433 Inject current datetime into system prompt on every request 2026-05-07 23:21:05 -05:00
daniel
0a0e26ccd2 Enable extended thinking: budget_tokens=2000 2026-05-07 23:18:48 -05:00
daniel
b919a13c76 Fix enrolled_services key mapping in agent-runner payload 2026-05-07 19:29:50 -05:00
daniel
ce95cf4c12 Remove send_message @tool def: was causing session-history duplicates 2026-05-07 19:26:23 -05:00
daniel
08ad66a732 Log Telegram API response message_id to find duplicate source 2026-05-07 19:22:40 -05:00
daniel
fa74ea784f Remove mid-stream flush on newlines: prevents split multi-turn responses 2026-05-07 19:13:02 -05:00
daniel
fd479b8c00 Suppress exceptions in generator to prevent AgentCore retry duplicates 2026-05-07 19:09:46 -05:00
daniel
60573c360f Switch to sync entrypoint + callback delivery: eliminates AgentCore retry duplicates 2026-05-07 19:07:30 -05:00
daniel
bbd9a99645 Fix duplicate: remove event.data fallback, only use contentBlockDelta.delta.text 2026-05-07 19:01:36 -05:00
daniel
d44fd788f9 Fix broken send_telegram_direct: restore missing data= line 2026-05-07 18:47:16 -05:00
daniel
e35599b522 Add stack trace logging to track duplicate send source 2026-05-07 18:43:56 -05:00
daniel
b0b641b4c8 Add in-process dedup to prevent AgentCore retry duplicates 2026-05-07 18:38:55 -05:00
daniel
6098f4766a Fix Bedrock read timeout causing retry → duplicate messages 2026-05-07 18:31:44 -05:00
daniel
83b937c20e Remove fallback adapter.send() — streaming consumer handles delivery 2026-05-07 18:17:48 -05:00
daniel
89d0819189 Add logging to streaming path in agent-runner 2026-05-07 18:12:31 -05:00