Commit graph

9 commits

Author SHA1 Message Date
Adam Moussa
481d221ab5 Add Dependabot version update configuration 2026-05-02 17:14:55 -04:00
Adam Moussa
927ee88131 Update README for Lauren rename, @mentions, and new tools 2026-05-01 13:32:29 -04:00
Adam Moussa
0a4912aec7 Rename to Lauren, add @mention support and channel-aware privacy
- Rename Exec Aide to Lauren across manifest and system prompt
- Add app_mention handler for @mentions in channels and group DMs
- Channel-aware system prompt: decline private info in public channels
- Add coordination thread support (COORD# DynamoDB records)
- Add search_inbox tool (full Gmail search via API)
- Add coordinate_with_user tool (start threaded coordination)
- Add post_message helper for flat/threaded channel replies
- Fix Decimal serialization from DynamoDB in tool results
- Use Slack mrkdwn formatting (single asterisks) instead of Markdown
2026-05-01 13:32:06 -04:00
Adam Moussa
aebf6c43c6 Add conversational assistant via Bedrock Sonnet tool-use
Listener posts "Thinking..." placeholder and async-invokes a new
exec-aide-conversation Lambda that runs a Bedrock Sonnet tool-use loop
over 7 email tools, then updates the Slack message with the response.
2026-05-01 11:31:29 -04:00
Adam Moussa
df56bd6e9a Add AI-driven marketing filter, activate Fargate listener, update docs
Bedrock Haiku now classifies marketing/promotional emails as MARKETING
and they are filtered out before saving or alerting. This replaces
Gmail label-based filtering for more accurate classification.

Also: enable Fargate listener (desiredCount=1), update README for CDK,
update Notion AWS Architecture Map and Slack Apps Inventory.
2026-04-30 19:30:16 -04:00
Adam Moussa
460cf200c7 Migrate from SAM to CDK per Sea Haven conventions
SAM is for simple serverless stacks; this project has ECS, VPC, and
multi-service composition which requires CDK. Migration brings
ContainerImage.fromAsset() for automatic Docker builds on deploy,
matching the seahaven-slack-bot pattern.

Also fixes: Bedrock model ID (add version suffix), Gmail history API
parameter (labelId not labelIds), classify JSON extraction (handle
markdown fences), and digest block limit (cap sections at 5 items
to stay under Slack's 50-block limit).
2026-04-30 19:23:52 -04:00
Adam Moussa
e7da56270a Add SAM stack, Fargate listener, and shared modules
- SAM template with DynamoDB, two Lambdas (fetch-classify, daily-digest),
  ECS/Fargate for Socket Mode listener, EventBridge Scheduler
- Gmail API integration with OAuth refresh and History API sync
- Bedrock Haiku classification (HIGH/NORMAL/LOW)
- Slack DM delivery with Block Kit formatting and threading
- Socket Mode listener for two-way conversation (placeholder)
- Setup script for Gmail OAuth token exchange
- Slack app manifest for app creation
2026-04-30 17:40:58 -04:00
Adam Moussa
2edac81cce Add implementation plan for ultraplan refinement 2026-04-30 16:49:04 -04:00
Adam Moussa
f978d5f6f5 Initial scaffold for exec-aide 2026-04-30 16:48:10 -04:00