Commit graph

39 commits

Author SHA1 Message Date
dependabot[bot]
20ed8803a5
Update google-api-python-client requirement in /src
Updates the requirements on [google-api-python-client](https://github.com/googleapis/google-api-python-client) to permit the latest version.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.195.0...v2.196.0)

---
updated-dependencies:
- dependency-name: google-api-python-client
  dependency-version: 2.196.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-08 22:29:26 +00:00
dependabot[bot]
514affa61a
Update boto3 requirement from >=1.43.2 to >=1.43.6 in /listener (#25)
Updates the requirements on [boto3](https://github.com/boto/boto3) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.43.2...1.43.6)

---
updated-dependencies:
- dependency-name: boto3
  dependency-version: 1.43.6
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 22:27:32 +00:00
dependabot[bot]
c5651d4f15
Update google-auth requirement from >=2.50.0 to >=2.52.0 in /src (#24)
Updates the requirements on [google-auth](https://github.com/googleapis/google-auth-library-python) to permit the latest version.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/commits)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-version: 2.52.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 22:27:14 +00:00
dependabot[bot]
b4d84afa04
Bump the minor-and-patch group with 3 updates (#26)
Bumps the minor-and-patch group with 3 updates: [aws-cdk-lib](https://github.com/aws/aws-cdk/tree/HEAD/packages/aws-cdk-lib), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [aws-cdk](https://github.com/aws/aws-cdk-cli/tree/HEAD/packages/aws-cdk).


Updates `aws-cdk-lib` from 2.252.0 to 2.253.1
- [Release notes](https://github.com/aws/aws-cdk/releases)
- [Changelog](https://github.com/aws/aws-cdk/blob/v2.253.1/CHANGELOG.v2.alpha.md)
- [Commits](https://github.com/aws/aws-cdk/commits/v2.253.1/packages/aws-cdk-lib)

Updates `@types/node` from 25.6.0 to 25.6.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `aws-cdk` from 2.1120.0 to 2.1121.0
- [Release notes](https://github.com/aws/aws-cdk-cli/releases)
- [Commits](https://github.com/aws/aws-cdk-cli/commits/aws-cdk@v2.1121.0/packages/aws-cdk)

---
updated-dependencies:
- dependency-name: aws-cdk-lib
  dependency-version: 2.253.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
- dependency-name: "@types/node"
  dependency-version: 25.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: minor-and-patch
- dependency-name: aws-cdk
  dependency-version: 2.1121.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 22:26:58 +00:00
Adam Moussa
1f0d162c32
Remove CodePipeline files (#29)
Deploys now run via GitHub Actions (cd-cdk.yaml). The CodePipeline
stack and its IAM roles have been deleted from AWS.
2026-05-08 22:11:44 +00:00
Adam Moussa
3f03274708
Add GitHub Actions deploy workflow (#28)
* Add GitHub Actions deploy workflow (OIDC)

* Add permissions block for OIDC token exchange

* Add concurrency control to prevent parallel deploys
2026-05-08 17:08:17 -04:00
Adam Moussa
49517487c4
Add CI workflow (#27)
* Add CI workflow and apply ruff formatting

* Disable cdk synth — PythonFunction requires Docker arm64 builds

The PythonFunction construct bundles via Docker with --platform
linux/arm64, which fails on GitHub Actions x86 runners. tsc --noEmit
still runs and catches TypeScript errors.
2026-05-08 16:02:46 -04:00
Adam Moussa
718977831c
Update Dependabot: remove assignees, group minor/patch updates (#21) 2026-05-08 14:22:27 -04:00
Adam Moussa
159326d807
Remove wrapper workflow — using required workflow via org ruleset (#20) 2026-05-06 19:58:59 -04:00
Adam Moussa
701bb2d358
Upgrade to TypeScript ~6.0.3 (#19)
* Upgrade to TypeScript ~6.0.3

Adds "types": ["node"] to tsconfig.json — required by TS 6 to resolve
Node globals like path and __dirname. Uses tilde pin since TS doesn't
follow semver.

* Regenerate lockfile with npm 11.14.0

Fixes corrupted peer:true flags on direct dependencies caused by
npm <11.6.3 bug (npm/cli#8690).
2026-05-06 19:25:15 -04:00
dependabot[bot]
7a1a030ded
Bump @types/node from 22.19.17 to 25.6.0 (#11)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.19.17 to 25.6.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.6.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam Moussa <166072409+amoussa1229@users.noreply.github.com>
2026-05-06 18:23:01 -04:00
Adam Moussa
79b6c254ff
Add Claude Code review workflow (#18) 2026-05-06 18:11:27 -04:00
Adam Moussa
fc1203aa6a
Fix pipeline: add image-publishing role for CDK container asset deploys (#17) 2026-05-05 11:03:46 -04:00
Adam Moussa
bfab515807
Fix pipeline: add ECR permissions and enable Docker for Fargate image builds (#16) 2026-05-05 10:55:52 -04:00
Adam Moussa
5abb51807f
Add DM fixes, digest stats, tasks/reminders, calendar, and CI/CD pipeline (#15)
* Fix flat replies in DMs

DM replies were threaded under Adam's message instead of appearing flat.
Root cause: listener fell back to event["ts"] as thread_ts for new DMs,
causing say() to post as a threaded reply. Removed the fallback so DMs
always use flat messages with placeholder update.

Closes #4

* Add synchronous digest trigger for inline stats

Changed trigger_daily_digest from async (fire-and-forget) to synchronous
invocation so Lauren can report summary stats inline while the full Block
Kit digest arrives as a separate DM.

Closes #1

* Add tasks and reminders

- DynamoDB task CRUD with TASK#{ulid} prefix
- 5 new tools: create_task, list_tasks, complete_task, delete_task, create_reminder
- New exec-aide-reminder Lambda triggered by EventBridge Scheduler one-shots
- CDK: reminder Lambda, scheduler IAM role, conversation Lambda permissions
- Updated system prompt with task/reminder capabilities

Closes #3

* Add Google Calendar integration

- New src/shared/calendar.py: OAuth service builder, list_events,
  create_event, check_availability (reuses gmail-oauth secret)
- 3 new tools: get_calendar_events, create_calendar_event, check_availability
- Extended OAuth scopes to include calendar in gmail.py and token script
- Updated system prompt with calendar capabilities

Requires re-running scripts/get_gmail_token.py to grant the calendar scope
and updating the exec-aide/gmail-oauth secret with the new refresh token.

Closes #2

* Add CodeBuild CI/CD pipeline

CodePipeline triggers on pushes to main, CodeBuild runs cdk deploy via buildspec.

* Update README for tasks, reminders, calendar, and CI/CD pipeline
2026-05-05 10:45:14 -04:00
Adam Moussa
5646080981
Merge pull request #14 from Sea-Haven-Industries/feature/dependabot-auto-assign
Auto-assign Dependabot PRs
2026-05-02 17:28:40 -04:00
Adam Moussa
71113fd547 Auto-assign Dependabot PRs to amoussa1229 2026-05-02 17:27:00 -04:00
Adam Moussa
74dc47face
Merge pull request #13 from Sea-Haven-Industries/dependabot/pip/listener/slack-sdk-gte-3.41.0
Update slack-sdk requirement from >=3.27 to >=3.41.0 in /listener
2026-05-02 17:25:39 -04:00
Adam Moussa
84f28a8227
Merge pull request #10 from Sea-Haven-Industries/dependabot/pip/src/google-auth-gte-2.50.0
Update google-auth requirement from >=2.0 to >=2.50.0 in /src
2026-05-02 17:25:36 -04:00
dependabot[bot]
115a2d38dc
Update slack-sdk requirement from >=3.27 to >=3.41.0 in /listener
Updates the requirements on [slack-sdk](https://github.com/slackapi/python-slack-sdk) to permit the latest version.
- [Release notes](https://github.com/slackapi/python-slack-sdk/releases)
- [Commits](https://github.com/slackapi/python-slack-sdk/compare/v3.27.0...v3.41.0)

---
updated-dependencies:
- dependency-name: slack-sdk
  dependency-version: 3.41.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 21:24:17 +00:00
dependabot[bot]
0bf5e98df3
Update google-auth requirement from >=2.0 to >=2.50.0 in /src
Updates the requirements on [google-auth](https://github.com/googleapis/google-auth-library-python) to permit the latest version.
- [Release notes](https://github.com/googleapis/google-auth-library-python/releases)
- [Changelog](https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/googleapis/google-auth-library-python/commits)

---
updated-dependencies:
- dependency-name: google-auth
  dependency-version: 2.50.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 21:24:09 +00:00
Adam Moussa
60d9ff7afd
Merge pull request #12 from Sea-Haven-Industries/dependabot/pip/listener/boto3-gte-1.43.2
Update boto3 requirement from >=1.34 to >=1.43.2 in /listener
2026-05-02 17:23:06 -04:00
Adam Moussa
14280a090d
Merge pull request #9 from Sea-Haven-Industries/dependabot/pip/src/requests-gte-2.33.1
Update requests requirement from >=2.31 to >=2.33.1 in /src
2026-05-02 17:23:02 -04:00
Adam Moussa
f71a724346
Merge pull request #7 from Sea-Haven-Industries/dependabot/pip/src/google-api-python-client-gte-2.195.0
Update google-api-python-client requirement from >=2.0 to >=2.195.0 in /src
2026-05-02 17:22:59 -04:00
Adam Moussa
11cc05e648
Merge pull request #6 from Sea-Haven-Industries/dependabot/pip/listener/slack-bolt-gte-1.28.0
Update slack-bolt requirement from >=1.18 to >=1.28.0 in /listener
2026-05-02 17:22:56 -04:00
dependabot[bot]
a9b8ab45df
Update boto3 requirement from >=1.34 to >=1.43.2 in /listener
Updates the requirements on [boto3](https://github.com/boto/boto3) to permit the latest version.
- [Release notes](https://github.com/boto/boto3/releases)
- [Commits](https://github.com/boto/boto3/compare/1.34.0...1.43.2)

---
updated-dependencies:
- dependency-name: boto3
  dependency-version: 1.43.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 21:17:43 +00:00
dependabot[bot]
c85c221dfc
Update requests requirement from >=2.31 to >=2.33.1 in /src
Updates the requirements on [requests](https://github.com/psf/requests) to permit the latest version.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.31.0...v2.33.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 21:17:30 +00:00
dependabot[bot]
d10f17d5d6
Update google-api-python-client requirement in /src
Updates the requirements on [google-api-python-client](https://github.com/googleapis/google-api-python-client) to permit the latest version.
- [Release notes](https://github.com/googleapis/google-api-python-client/releases)
- [Commits](https://github.com/googleapis/google-api-python-client/compare/v2.0.0...v2.195.0)

---
updated-dependencies:
- dependency-name: google-api-python-client
  dependency-version: 2.195.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 21:17:26 +00:00
dependabot[bot]
b950fe48d6
Update slack-bolt requirement from >=1.18 to >=1.28.0 in /listener
Updates the requirements on [slack-bolt](https://github.com/slackapi/bolt-python) to permit the latest version.
- [Release notes](https://github.com/slackapi/bolt-python/releases)
- [Commits](https://github.com/slackapi/bolt-python/compare/v1.18.0...v1.28.0)

---
updated-dependencies:
- dependency-name: slack-bolt
  dependency-version: 1.28.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-02 21:17:23 +00:00
Adam Moussa
c262c9e6a3
Merge pull request #5 from Sea-Haven-Industries/feature/add-dependabot-config
Add Dependabot version update configuration
2026-05-02 17:16:15 -04:00
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