Commit Graph

  • 4ca5fee2c0 refactor: move factcloud from hardcoded SSM to per-user DynamoDB oauth2_m2m connection main daniel 2026-05-16 09:49:28 -05:00
  • e77417b6cd feat: wire factcloud as direct MCP connection, drop knowledge_agent subagent daniel 2026-05-16 09:25:55 -05:00
  • ef5734101e fix: add knowledge_agent to system prompt subagent list daniel 2026-05-16 07:11:39 -05:00
  • 8c28797bca feat: add /goal command for durable multi-turn objectives daniel 2026-05-16 07:07:46 -05:00
  • 42dbdcde9e feat: factbase-cloud integration — knowledge_agent subagent with M2M auth daniel 2026-05-15 23:32:23 -05:00
  • ed6577ccf9 feat: billing tags on CDK stack + inference profile creation script daniel 2026-05-15 20:35:02 -05:00
  • 4f17bbd2c3 fix: intercept [HEARTBEAT] prompt, suppress chatty non-urgent responses daniel 2026-05-15 18:34:14 -05:00
  • e00702164d refactor: slim system prompt — SOUL.md+STATUS.md only, fix duplicate time injection daniel 2026-05-15 16:42:27 -05:00
  • 05fee423f2 feat: dynamic subagent loading from SSM daniel 2026-05-15 15:19:08 -05:00
  • 85efb082f7 fix: unconditional system prompt for call_aws availability daniel 2026-05-15 11:49:03 -05:00
  • 40f9712c54 fix: remove explicit MCPClient.start() - Strands calls it internally daniel 2026-05-15 11:26:01 -05:00
  • ebd5a57ece fix: pass aws_service=aws-mcp to aws_iam_streamablehttp_client daniel 2026-05-15 10:32:32 -05:00
  • 9c09dce519 deps: add mcp-proxy-for-aws to runtime dependencies daniel 2026-05-15 10:28:51 -05:00
  • 0eff46126f Wire AWS MCP Server via mcp-proxy-for-aws daniel 2026-05-15 10:19:44 -05:00
  • 266231d070 Add native boto3 AWS tools, remove broken AWS MCP client daniel 2026-05-15 10:03:56 -05:00
  • 17b1536dae fix: move MCPClient imports inside try block, add TOOLS.md placeholder daniel 2026-05-15 09:29:07 -05:00
  • add8c6c988 fix: add missing MCPClient/streamablehttp_client imports; fix EXECUTION_ROLE_ARN to actual AgentCore role daniel 2026-05-15 09:14:33 -05:00
  • 88ed337938 Add AWS MCP Server integration + IAM self-modify with approval gate daniel 2026-05-15 08:56:06 -05:00
  • 68aad4fb71 Read model-id from /agent-claw/model-id SSM param and pass to BedrockModel daniel 2026-05-15 07:00:23 -05:00
  • f31d732cb9 Read model-id from SSM and pass to BedrockModel in main.py daniel 2026-05-15 06:58:54 -05:00
  • 62862f00f0 Make agent and compaction model IDs configurable via SSM daniel 2026-05-14 18:27:35 -05:00
  • bdd334b6fb feat: add user-configurable MCP connections daniel 2026-05-13 21:55:01 -05:00
  • 74f74ef877 refactor: migrate Secrets Manager secrets to SSM Parameter Store (free tier) daniel 2026-05-13 12:55:16 -05:00
  • 3a34e61479 feat: add windowed session history + LTM extraction/retrieval daniel 2026-05-13 11:57:50 -05:00
  • d217842917 refactor: remove MEMORY.md from prompt, add AgentCore memory instructions daniel 2026-05-13 11:48:53 -05:00
  • 3cc90550b5 feat: add Telegram file attachment support (inbound + outbound) daniel 2026-05-13 05:34:33 -05:00
  • eba4f7db25 fix: align run_code with AWS docs pattern (invoke+executeCode, not execute_code wrapper) daniel 2026-05-12 15:26:01 -05:00
  • 9253d5046f feat: re-enable code interpreter tool (lazy code_session, no module-level init) daniel 2026-05-12 15:05:26 -05:00
  • 138f9224c3 fix: use sender from_id as actor_id in groups, not group chat_id daniel 2026-05-12 14:17:02 -05:00
  • 9d3a93a998 feat: capture message_thread_id for Telegram topic routing daniel 2026-05-12 14:05:00 -05:00
  • 3a49dadb69 Inject live datetime into system prompt per invocation with relative-time instruction daniel 2026-05-09 14:56:25 -05:00
  • c317d948b1 Migrate primary to labeled path, remove all flat-path fallback logic daniel 2026-05-09 14:20:24 -05:00
  • aaecbcfa02 Fix: list_google_accounts also shows flat primary secret daniel 2026-05-09 14:17:53 -05:00
  • bf89f7255a Fix: always load flat secret as primary regardless of labeled secrets daniel 2026-05-09 14:14:38 -05:00
  • ac260e4314 Add remove_google_account tool daniel 2026-05-09 13:49:01 -05:00
  • 6e04d8511c fix: two-step DynamoDB update for google_accounts; live SM lookup in list_google_accounts daniel 2026-05-09 13:32:36 -05:00
  • 38d828ef74 Multi-account Google support with user labels daniel 2026-05-09 11:21:37 -05:00
  • 01b258579b Phase 3: proactive heartbeat — EventBridge 30min rule, heartbeat-runner Lambda, HEARTBEAT_OK suppression daniel 2026-05-08 20:14:16 -05:00
  • eddbd98153 Fix: use build(credentials=creds) instead of creds.authorize() for google-auth compatibility; add traceback logging daniel 2026-05-08 19:57:35 -05:00
  • 9b56aa83df Fix Google OAuth: explicit IAM policy + strip OIDC scopes from credentials daniel 2026-05-08 16:57:40 -05:00
  • d68ddab8a2 OAuth callback: send Telegram confirmation message after Google auth daniel 2026-05-08 16:29:05 -05:00
  • 633ad03db0 Fix naive/aware datetime comparison: strip tz from expiry for google-auth daniel 2026-05-08 16:05:45 -05:00
  • 8a25eb2d5a Fix: pass expiry to Credentials so auto-refresh fires when token expired daniel 2026-05-08 16:03:09 -05:00
  • 9d21d5d2e5 Fix: import main in _actor_id() causes app.run() hang — use module-level var instead daniel 2026-05-08 11:32:21 -05:00
  • 54902cca8d Remove AgentCoreCodeInterpreter import+init: port 8080 conflict blocks event loop daniel 2026-05-08 11:27:32 -05:00
  • 2f15dd2af3 Remove code_interpreter from base_tools: port 8080 conflict hangs warm containers daniel 2026-05-08 11:23:02 -05:00
  • f4444cbd22 Fix: pass only authorized http to build(), not credentials, so timeout applies to API calls daniel 2026-05-08 11:17:38 -05:00
  • 350ce231a4 embed workspace-mcp as direct dependency, simplify google credential loading daniel 2026-05-08 11:12:06 -05:00
  • 245c2d64f5 Add debug logging to google_workspace tools daniel 2026-05-08 10:56:29 -05:00
  • 6d0464ea07 Add httplib2 15s timeout + cache_discovery=False to prevent hangs daniel 2026-05-08 10:53:19 -05:00
  • 25cba295b0 Update uv.lock to include google-api-python-client and deps daniel 2026-05-08 10:49:11 -05:00
  • ad594f6797 Add direct Google Calendar/Gmail tools, remove workspace_mcp daniel 2026-05-08 10:37:31 -05:00
  • 943cf26d77 workspace-mcp: strip /workspace prefix for API GW proxy route daniel 2026-05-08 10:27:46 -05:00
  • 647cb516db Route workspace-mcp through API Gateway to bypass SCP Lambda URL block daniel 2026-05-08 10:24:37 -05:00
  • eaf19fa9c5 Add debug logging for google_email and workspace_mcp URL daniel 2026-05-08 10:17:08 -05:00
  • 700e9af2b8 Fix OAUTH_START_URL: use 'or' fallback in case env var is empty string daniel 2026-05-08 09:52:01 -05:00
  • 9bf6461e1b Disable extended thinking: causes blank responses via streaming retry daniel 2026-05-08 09:44:42 -05:00
  • f90171cb43 test-bot: use env vars for credentials when available daniel 2026-05-08 09:38:20 -05:00
  • c3432649c0 Add deploy-agentcore.sh: SSO creds + staging sync before agentcore deploy daniel 2026-05-08 09:31:02 -05:00
  • b728356fe4 Hardcode OAUTH_START_URL fallback (env var not propagating to runtime) daniel 2026-05-08 09:23:23 -05:00
  • 4e90440011 Hardcode scheduler Lambda ARN fallback (env var not propagating) daniel 2026-05-07 23:31:11 -05:00
  • 58ed60f7b7 Add EventBridge scheduling: schedule_reminder, list_reminders, cancel_reminder daniel 2026-05-07 23:24:48 -05:00
  • 825294d433 Inject current datetime into system prompt on every request daniel 2026-05-07 23:21:05 -05:00
  • 0a0e26ccd2 Enable extended thinking: budget_tokens=2000 daniel 2026-05-07 23:18:48 -05:00
  • b919a13c76 Fix enrolled_services key mapping in agent-runner payload daniel 2026-05-07 19:29:50 -05:00
  • ce95cf4c12 Remove send_message @tool def: was causing session-history duplicates daniel 2026-05-07 19:26:23 -05:00
  • 08ad66a732 Log Telegram API response message_id to find duplicate source daniel 2026-05-07 19:22:40 -05:00
  • fa74ea784f Remove mid-stream flush on newlines: prevents split multi-turn responses daniel 2026-05-07 19:13:02 -05:00
  • fd479b8c00 Suppress exceptions in generator to prevent AgentCore retry duplicates daniel 2026-05-07 19:09:46 -05:00
  • 60573c360f Switch to sync entrypoint + callback delivery: eliminates AgentCore retry duplicates daniel 2026-05-07 19:07:30 -05:00
  • bbd9a99645 Fix duplicate: remove event.data fallback, only use contentBlockDelta.delta.text daniel 2026-05-07 19:01:36 -05:00
  • d44fd788f9 Fix broken send_telegram_direct: restore missing data= line daniel 2026-05-07 18:47:16 -05:00
  • e35599b522 Add stack trace logging to track duplicate send source daniel 2026-05-07 18:43:56 -05:00
  • b0b641b4c8 Add in-process dedup to prevent AgentCore retry duplicates daniel 2026-05-07 18:38:55 -05:00
  • 6098f4766a Fix Bedrock read timeout causing retry → duplicate messages daniel 2026-05-07 18:31:44 -05:00
  • 83b937c20e Remove fallback adapter.send() — streaming consumer handles delivery daniel 2026-05-07 18:17:48 -05:00
  • 89d0819189 Add logging to streaming path in agent-runner daniel 2026-05-07 18:12:31 -05:00
  • ae5e0df884 Remove send_message tool: let harness stream text deltas to Telegram daniel 2026-05-07 17:03:34 -05:00
  • 04c0aeeb8a test-bot: capture send_message tool calls in output daniel 2026-05-07 16:53:15 -05:00
  • d773985191 Restore send_message in base_tools (tool-based delivery works, streaming is fallback) daniel 2026-05-07 16:52:12 -05:00
  • 7b7ad578c0 Guard isinstance(event, dict) in SSE parser daniel 2026-05-07 16:47:24 -05:00
  • beb8dfc969 Fix SSE parsing: read data: prefix + contentBlockDelta.delta.text daniel 2026-05-07 16:45:58 -05:00
  • cc3b448291 Fix agent-runner: 600s read timeout on bedrock-agentcore streaming daniel 2026-05-07 16:42:49 -05:00
  • 6adec991da Wire streaming: agent-runner processes chunks, remove send_message tool daniel 2026-05-07 16:32:02 -05:00
  • 40a942b506 streaming: switch to stream_async + iter_chunks response drain daniel 2026-05-07 16:27:26 -05:00
  • 7f7f555983 Fix send_message docstring: remove unicode dashes that broke tool spec daniel 2026-05-07 15:15:41 -05:00
  • b69fdd479a Prompt send_message to fire incrementally instead of buffering daniel 2026-05-07 14:54:21 -05:00
  • 0951d2be31 Fix workspace bucket fallback + typing error logging daniel 2026-05-07 09:35:09 -05:00
  • 116d79ead5 Add WORKSPACE_BUCKET_NAME, TELEGRAM_BOT_TOKEN_SECRET_ARN, BRAVE_API_KEY_SECRET_ARN to agentcore env daniel 2026-05-07 09:27:28 -05:00
  • 92c87222e8 multi-tenant phase 3: per-user Home Assistant + enrolled services daniel 2026-05-07 09:10:39 -05:00
  • 4f551ce069 Fix kiro mcp.json: remove invalid factbase server ref daniel 2026-05-07 09:01:43 -05:00
  • c54e9b1b22 Add kiro config (.kiro steering + settings) daniel 2026-05-07 03:33:02 -05:00
  • b1056beaa9 Phase 2: wire X-Actor-Id credential loading into workspace-mcp handler.py daniel 2026-05-06 21:48:05 -05:00
  • ac5bd78d5a multi-tenant Phase 2: per-user Google OAuth daniel 2026-05-06 21:42:33 -05:00
  • 841e729b18 Phase 1 cleanup: onboarding flow, per-user S3 MEMORY.md, seed script daniel 2026-05-06 21:11:07 -05:00
  • 893c110729 multi-tenant Phase 1: user registry + per-user memory daniel 2026-05-06 20:36:22 -05:00
  • 732b00fb66 agent-claw: automated task changes daniel 2026-05-06 18:55:16 -05:00
  • 38905bb1e9 Phase 0: CDK stack + Lambdas + AgentCore Runtime 1 scaffold daniel 2026-05-04 09:00:23 -05:00
  • 6ee2890831 Add final architecture design doc daniel 2026-05-04 08:43:08 -05:00
  • 0369a74ac1 Initial research: OpenClaw on AgentCore architecture daniel 2026-05-04 08:28:52 -05:00