Skip to content
Draft
Show file tree
Hide file tree
Changes from 163 commits
Commits
Show all changes
851 commits
Select commit Hold shift + click to select a range
2ad4ebc
docs: rename DOCTOR.md to HEALTH.md for clarity
claude Oct 26, 2025
58651f8
refactor(cli): move frigg-cli to top-level package for lerna/auto pub…
seanspeaks Oct 26, 2025
a0b734c
chore: regenerate package-lock.json after CLI package move
seanspeaks Oct 26, 2025
86c5119
fix(cli): update infrastructure imports after package move
seanspeaks Oct 26, 2025
6244457
feat(cli): add interactive stack selection and fix MismatchAnalyzer bug
seanspeaks Oct 26, 2025
88215e7
feat(cli): add progress logging to doctor command
seanspeaks Oct 26, 2025
7664bf4
fix(health): implement proper orphan detection with tag-based filtering
seanspeaks Oct 27, 2025
6c75188
fix(health): detect orphans with CloudFormation tags but not in stack
seanspeaks Oct 27, 2025
56cb6a8
refactor(health): implement percentage-based health scoring
seanspeaks Oct 27, 2025
4cafcbd
fix(health): update tests for percentage-based health scoring
seanspeaks Oct 27, 2025
0ce227b
docs(health): add comprehensive orphan detection relationship analysis
seanspeaks Oct 27, 2025
eb440da
docs(health): complete drift analysis for acme-integrations-dev
seanspeaks Oct 27, 2025
574af37
docs(health): critical discovery - build template != deployed template
seanspeaks Oct 27, 2025
8b13ab3
feat(health): implement template comparison for correct logical ID ma…
seanspeaks Oct 27, 2025
9b24e8e
docs(health): comprehensive implementation guide for template compari…
seanspeaks Oct 27, 2025
e864c89
test(health): comprehensive TDD tests for template comparison services
seanspeaks Oct 27, 2025
57de216
test(health): TDD tests for importWithLogicalIdMapping use case
seanspeaks Oct 27, 2025
26fd97a
feat(cli): integrate template comparison for correct logical ID mapping
seanspeaks Oct 27, 2025
f35f6cc
docs(health): comprehensive TDD implementation summary
seanspeaks Oct 27, 2025
1c5608d
feat(migration): Merge refactor/add-better-support-for-commands with …
seanspeaks Oct 28, 2025
898a56c
docs(health): add cleanup command specification for orphaned resources
seanspeaks Oct 28, 2025
6a0bba7
feat(health): implement CloudFormation resource import and property r…
seanspeaks Oct 28, 2025
a794ea3
test(health): add comprehensive tests for import execution and monito…
seanspeaks Oct 28, 2025
ca45ad3
docs(deploy): add comprehensive specification for deploy dry-run mode
seanspeaks Oct 28, 2025
3e895e3
fix(infrastructure): Aurora version and orphaned KMS key handling
seanspeaks Oct 28, 2025
edb48ba
Merge pull request #474 from friggframework/claude/investigate-deploy…
seanspeaks Oct 28, 2025
b591174
feat: Add Aurora PostgreSQL discovery and Prisma Lambda Layer optimiz…
seanspeaks Oct 28, 2025
d9ce07d
perf(migration): restore aggressive Lambda package exclusions
seanspeaks Oct 28, 2025
22f170f
Delete .safla directory
seanspeaks Oct 28, 2025
c7da846
Merge pull request #476 from friggframework/Remove-to-release
seanspeaks Oct 28, 2025
2b28eb0
docs(infrastructure): add comprehensive pre-deployment health check s…
seanspeaks Oct 29, 2025
4e6d7e7
Fix deployment issues from GitHub issue #481
claude Oct 30, 2025
d788231
Enhance deployment fixes: critical timing fix and AppDefinition disco…
claude Oct 30, 2025
c063a2a
Remove obsolete comment regarding Issue #481
seanspeaks Oct 30, 2025
dfc3a7c
feat(integration): enhance delete integration process with module loa…
d-klotz Oct 30, 2025
fce56c8
feat(integration): add moduleFactory to delete integration process
d-klotz Oct 30, 2025
411f36e
fix(infrastructure): prevent Prisma layer build race condition with c…
seanspeaks Oct 31, 2025
7be62db
fix(infrastructure): resolve uv_cwd error by delegating cleanup to bu…
seanspeaks Oct 31, 2025
563eae6
fix(infrastructure): prevent .esbuild directory cleanup during packaging
seanspeaks Oct 31, 2025
caa9000
fix(infrastructure): prevent concurrent Prisma layer builds with PID …
seanspeaks Oct 31, 2025
ec0598b
Merge pull request #483 from friggframework/fix/integration-deletion-…
d-klotz Oct 31, 2025
217a30b
fix(infrastructure): memoize createFriggInfrastructure to prevent dup…
seanspeaks Oct 31, 2025
f16726b
fix(frigg-cli): move devtools to peerDependency to prevent duplicate …
seanspeaks Oct 31, 2025
6a32e49
fix(frigg-cli): update devtools peerDependency to accept canary versions
seanspeaks Oct 31, 2025
6216503
fix(frigg-cli): use wildcard range for devtools peerDependency
seanspeaks Oct 31, 2025
77654e1
fix(frigg-cli): use wildcard * for devtools peerDependency
seanspeaks Oct 31, 2025
fcb9803
fix(infrastructure): implement filesystem-based caching to prevent du…
seanspeaks Oct 31, 2025
1423610
refactor: consolidate frigg-cli into devtools package
seanspeaks Nov 1, 2025
3ed9691
fix(ci): add npm install to fix rollup optional dependency bug
seanspeaks Nov 1, 2025
119b941
fix(ci): properly fix rollup optional dependency bug
seanspeaks Nov 1, 2025
a7c0bb5
fix(ci): also clean and reinstall in ui package workspace
seanspeaks Nov 1, 2025
2c97276
removing package-locks and seeing where it gets us
seanspeaks Nov 1, 2025
4a68c4d
revert: restore original release workflow without rollup bug workaround
seanspeaks Nov 1, 2025
ed71e22
fix(ci): upgrade all workflows to Node 22 to match package.json requi…
seanspeaks Nov 1, 2025
6f679fe
fix(ci): add workaround for npm workspace optional dependency bug
seanspeaks Nov 1, 2025
bda352c
fix(deps): use npm overrides to force rollup platform binaries instal…
seanspeaks Nov 1, 2025
f4a6deb
Merge pull request #482 from friggframework/claude/fix-issue-481-011C…
seanspeaks Nov 3, 2025
442987d
fix(serverless-plugin): fix offline queue environment mapping and app…
seanspeaks Nov 3, 2025
7d01fb0
Merge pull request #486 from friggframework/claude/fix-issue-481-011C…
seanspeaks Nov 3, 2025
d3468e8
Get health check working with prisma db connections
seanspeaks Nov 3, 2025
5a8e56e
Addressing DDD feedback
seanspeaks Nov 3, 2025
2c2fb9d
fix(core): remove default prismaClient parameter for IoC container su…
seanspeaks Nov 4, 2025
edcba37
Apply suggestion from @graphite-app[bot]
seanspeaks Nov 4, 2025
63ed8db
Apply suggestion from @graphite-app[bot]
seanspeaks Nov 4, 2025
88d2c44
Merge pull request #487 from friggframework/claude/fix-issue-481-011C…
seanspeaks Nov 4, 2025
f438efd
Refactor integration mapping to use plain object for DTO conversion
d-klotz Nov 4, 2025
39a19f6
Merge pull request #491 from friggframework/fix/integration-record-re…
d-klotz Nov 4, 2025
669f13d
fix: make sure messages is not undefined
d-klotz Nov 4, 2025
a553608
Merge pull request #492 from friggframework/fix/integration-record-re…
d-klotz Nov 4, 2025
663ddb6
docs: enhance deployment issues spec with plugin responsibility and d…
seanspeaks Oct 30, 2025
6dcd97d
docs: remove deployment issues file (migrated to GitHub issue #481)
seanspeaks Oct 30, 2025
f8d621f
feat: include Prisma migrations in Lambda layer
seanspeaks Nov 5, 2025
8921aa4
Merge pull request #493 from friggframework/fix/add-prisma-migrations…
seanspeaks Nov 5, 2025
a94ee46
fix(infrastructure): attach Prisma Lambda layer to all integration fu…
seanspeaks Nov 7, 2025
a3f25f9
fix(core): hydrate integrations for ANY event with integrationId
seanspeaks Nov 7, 2025
285d192
feat(core): add Process table migration
seanspeaks Nov 7, 2025
9192c35
fix(core): attach modules using Definition.modules keys via getName()
seanspeaks Nov 7, 2025
fc85987
Merge pull request #496 from friggframework/fix/queue-worker-prisma-l…
seanspeaks Nov 7, 2025
37a354e
fix(infrastructure): enhance VPC resource discovery and management
d-klotz Nov 10, 2025
2ef107f
feat(database): add DocumentDB support across various repositories an…
d-klotz Nov 11, 2025
d78661e
feat(database): enhance DocumentDB support in validation and error me…
d-klotz Nov 11, 2025
4c64a49
refactor(credential-repository): improve credential mapping and enhan…
d-klotz Nov 11, 2025
897122d
refactor(database): enhance DocumentDB integration and user repositor…
d-klotz Nov 12, 2025
5d51f03
feat(encryption): implement DocumentDBEncryptionService for secure da…
d-klotz Nov 13, 2025
832ff75
feat(encryption): enhance DocumentDBEncryptionService with custom sch…
d-klotz Nov 13, 2025
e23a5e0
feat(encryption): streamline custom encryption schema loading in Docu…
d-klotz Nov 14, 2025
92857c1
feat: add option to disable Prisma Lambda Layer and bundle with funct…
d-klotz Nov 14, 2025
336977b
Update to ignore the new aws sdk files
seanspeaks Nov 14, 2025
f025f81
feat(encryption): integrate DocumentDBEncryptionService for credentia…
d-klotz Nov 14, 2025
42b46ad
Merge pull request #499 from friggframework/feat/support-documentdb-w…
d-klotz Nov 14, 2025
82efe90
Updates for logging, remove later as needed
seanspeaks Nov 15, 2025
9d746f1
feat(encryption): add API key encryption + module-level encryption co…
claude Nov 17, 2025
d72d514
fix: documentdb encryption, value validation and improved error messages
d-klotz Nov 17, 2025
35bc02b
refactor: remove code comments
d-klotz Nov 17, 2025
ce72072
Refactor credential repository to unify user ID handling and improve …
d-klotz Nov 18, 2025
91bf244
refactor: improve code readability and formatting in DocumentDB encry…
d-klotz Nov 18, 2025
a22c92d
fix: correct identifier property naming in createCredential function
d-klotz Nov 18, 2025
ad1d41b
fix: update integrationId handling to use string representation in Do…
d-klotz Nov 19, 2025
d7a1a9f
Merge remote-tracking branch 'origin/next' into fix/module-reference-key
seanspeaks Nov 20, 2025
1b044bb
Merge remote-tracking branch 'origin/fix/documentdb-support-and-minor…
seanspeaks Nov 20, 2025
330e50d
fix: Auto-create organization user independently when individual exists
seanspeaks Nov 20, 2025
29da1f3
Merge pull request #503 from friggframework/fix/documentdb-support-an…
d-klotz Nov 20, 2025
4c6de84
fix: Support legacy "user" field for backward compatibility in creden…
seanspeaks Nov 20, 2025
d86d093
fix: Link individual user to organization user on auto-creation
seanspeaks Nov 20, 2025
2969639
feat: Auto-link disconnected users by default with opt-in strict mode
seanspeaks Nov 20, 2025
056db99
feat: Add linkIndividualToOrganization method to UserRepositoryPostgres
seanspeaks Nov 20, 2025
02de8cb
feat: Add linkIndividualToOrganization to all user repositories
seanspeaks Nov 20, 2025
701403a
fix(core): Allow organization users to access entities owned by linke…
seanspeaks Nov 20, 2025
a5af5b4
fix(core): remove duplicate Process table migration and add resolve e…
seanspeaks Nov 20, 2025
2ea41ac
Merge branch 'next' into claude/review-issue-500-01NXdGZrCfmzzJwtQnuE…
claude Nov 21, 2025
c9c05da
refactor(encryption): address PR review feedback
claude Nov 21, 2025
6dd1d0b
fix(core): Support both 'user' and 'userId' in module entity identifiers
seanspeaks Nov 21, 2025
d582c5c
Merge pull request #502 from friggframework/claude/review-issue-500-0…
seanspeaks Nov 23, 2025
b74f21e
chore: remove debug console.log statements from production code
seanspeaks Nov 23, 2025
07be663
Merge remote-tracking branch 'origin/next' into fix/module-reference-key
seanspeaks Nov 23, 2025
01b5197
fix: Address PR review feedback from Cursor bot
seanspeaks Nov 23, 2025
222cc9e
Merge pull request #498 from friggframework/fix/module-reference-key
seanspeaks Nov 23, 2025
884050f
refactor: rename user retrieval methods for clarity and add organizat…
d-klotz Nov 25, 2025
3cbbd4f
Merge pull request #507 from friggframework/refactor/use-consistent-m…
d-klotz Nov 25, 2025
4eacba8
feat: add deleteUserById command for user cleanup
roboli Dec 3, 2025
d1a9932
Merge pull request #508 from roboli/feat/add-delete-user-command
d-klotz Dec 4, 2025
b0f94e6
feat: add deleteIntegrationById and improve cascade delete documentation
roboli Dec 5, 2025
38f3019
test: add unit tests for deleteIntegrationById command
roboli Dec 5, 2025
859700b
Merge pull request #509 from roboli/fix/delete-user-cascading
d-klotz Dec 5, 2025
feeb2fc
fix: pass existing config to integration constructor in UpdateIntegra…
claude Dec 7, 2025
0d369ea
Merge pull request #515 from friggframework/claude/issue-514-tdd-01VF…
seanspeaks Dec 7, 2025
e94bef8
chore: remove stale comment and fix step numbering
claude Dec 8, 2025
1aaa90d
Merge pull request #516 from friggframework/claude/issue-514-tdd-01VF…
seanspeaks Dec 8, 2025
91abacf
Fix .gitignore to catch all .env file variations
claude Dec 11, 2025
595cc5f
Add file exclusions to devtools package to prevent .env leakage
claude Dec 11, 2025
c4c7e72
Exclude .env files from serverless package deployment
claude Dec 11, 2025
7dafa19
Merge pull request #518 from friggframework/claude/fix-frigg-env-depl…
d-klotz Dec 15, 2025
b316fd2
fix(devtools): include infrastructure/ in npm package files
d-klotz Dec 15, 2025
bbd2a93
Merge pull request #519 from friggframework/fix/include-infrastructur…
d-klotz Dec 15, 2025
7bc6ad6
fix(devtools): include test/ in npm package files
d-klotz Dec 15, 2025
6641121
docs: add PR guidelines to CLAUDE.md
d-klotz Dec 15, 2025
1133f45
Merge pull request #520 from friggframework/fix/include-test-in-devto…
d-klotz Dec 15, 2025
26f81b8
feat(devtools): add Frigg Authenticator CLI tool
d-klotz Dec 23, 2025
337187e
feat(devtools): add interactive JSON Schema form for API-Key modules
d-klotz Dec 23, 2025
e085d83
fix(devtools): improve Frigg Authenticator reliability
d-klotz Dec 23, 2025
110b4e7
style(auth): improve code formatting and readability
d-klotz Dec 23, 2025
a6edb9d
refactor(auth): improve redirect URI handling in OAuth flow
d-klotz Dec 29, 2025
4e7b1f4
Merge pull request #523 from friggframework/feat/frigg-authenticator
d-klotz Jan 12, 2026
e7525cb
chore: trigger release for auth command
d-klotz Jan 12, 2026
0615632
fix: use correct property for grant type check
d-klotz Jan 12, 2026
e81f52e
feat(requester): enhance OAuth2Requester with detailed methods and tests
d-klotz Jan 12, 2026
f2dfe3f
Merge pull request #524 from friggframework/fix/use-correct-property-…
d-klotz Jan 13, 2026
8d1550c
fix(devtools): pass refresh_token to refreshAccessToken in auth-tester
d-klotz Jan 13, 2026
35c9beb
fix(requester): improve auth refresh handling and tests
d-klotz Jan 13, 2026
e37c706
Merge pull request #525 from friggframework/fix/use-correct-property-…
d-klotz Jan 13, 2026
4191cd2
Merge pull request #526 from friggframework/fix/auth-tester-token-ref…
d-klotz Jan 13, 2026
9817fce
feat(core): add data JSON field to Entity model for dynamic property …
d-klotz Jan 14, 2026
8ad7038
Merge pull request #527 from friggframework/feat/entity-data-json-field
d-klotz Jan 15, 2026
da2ff89
fix(core): add debug logging to OAuth2Requester.refreshAuth()
d-klotz Jan 16, 2026
8aea052
fix(core): add debug logging to OAuth2Requester.refreshAuth()
d-klotz Jan 16, 2026
223ed80
refactor(core): remove legacy user field support
d-klotz Jan 16, 2026
a9a04d5
fix(auth): standardize user identifier key to userId
d-klotz Jan 16, 2026
3dbc89c
Merge pull request #529 from friggframework/fix/combined-oauth2-and-p…
d-klotz Jan 16, 2026
9e350a6
feat(scheduler): add EventBridge Scheduler commands and infrastructure
d-klotz Jan 19, 2026
f4960d7
feat(scheduler): add mock scheduler for local development
d-klotz Jan 19, 2026
5ea5dab
feat(infrastructure): export queue ARN for all integrations
d-klotz Jan 19, 2026
194f153
Revert "feat(infrastructure): export queue ARN for all integrations"
d-klotz Jan 19, 2026
6010724
feat(scheduler): accept queueUrl and derive ARN internally
d-klotz Jan 19, 2026
d9eda3c
docs: add scheduler commands documentation
d-klotz Jan 19, 2026
de2fc16
refactor(scheduler): implement hexagonal architecture with interface
d-klotz Jan 19, 2026
bae174b
refactor(scheduler): remove createSchedulerAdapter backwards compatib…
d-klotz Jan 20, 2026
eb2e0bb
fix(scheduler): remove hardcoded SCHEDULER_PROVIDER and use provider-…
d-klotz Jan 20, 2026
5b60782
fix(scheduler): make schedule group name stage-specific
d-klotz Jan 21, 2026
3d3ee7a
Remove request and response details from FetchError text, unless stag…
MichaelRyanWebber Feb 6, 2026
14108ff
fix(scheduler): use 'event' field in SQS payload instead of 'eventType'
d-klotz Feb 9, 2026
eec57c3
fix(oauth2): preserve refresh_token during token refresh
d-klotz Feb 9, 2026
28576ce
Merge pull request #531 from friggframework/feat/scheduler-commands
d-klotz Feb 9, 2026
a2a5dbf
fix(oauth2): add defensive logging for refresh_token preservation
d-klotz Feb 10, 2026
2897c90
fix(oauth2): improve logging for non-500 errors
d-klotz Feb 11, 2026
a16631c
fix(oauth2): enhance logging for refresh_token handling
d-klotz Feb 12, 2026
58f7af2
Merge pull request #537 from friggframework/fix/preserve-refresh-toke…
d-klotz Feb 12, 2026
74db90f
refactor(core): remove mongoose dependency, use Prisma and mongodb dr…
d-klotz Mar 3, 2026
f95ba19
fix(core): address code review findings from PR #546
d-klotz Mar 3, 2026
8642b58
refactor(core): remove unused expectShallowEqualDbObject
d-klotz Mar 5, 2026
ce82650
refactor(tests): remove password encryption tests
d-klotz Mar 5, 2026
45e06e5
refactor(core): remove unused Entity import
d-klotz Mar 5, 2026
c17a357
feat(core): add AWS SDK client-scheduler dependency
d-klotz Mar 5, 2026
a987d94
Merge pull request #546 from friggframework/refactor/remove-mongoose-…
d-klotz Mar 5, 2026
4f3ba52
refactor(core): replace mongodb ObjectId with bson
d-klotz Mar 6, 2026
f9c9ccc
Merge branch 'next' into refactor/remove-mongoose-dependency
d-klotz Mar 6, 2026
67ebb53
refactor(core): remove unused AWS SDK client-scheduler dependency
d-klotz Mar 6, 2026
aac4f40
Merge pull request #547 from friggframework/refactor/remove-mongoose-…
d-klotz Mar 6, 2026
0c9482d
fix(infra): self-heal VPC subnet-route table association drift
d-klotz Mar 6, 2026
1a22160
fix(infra): improve self-healing for VPC subnet associations
d-klotz Mar 6, 2026
90eefb0
test(infra): add self-heal tests for VPC subnet associations
d-klotz Mar 6, 2026
1435f81
test(infra): enhance fallback path tests for VPC subnets
d-klotz Mar 6, 2026
c8ae0ca
style(tests): format test cases for better readability
d-klotz Mar 6, 2026
9740ac8
Merge pull request #548 from friggframework/fix/vpc-subnet-route-tabl…
d-klotz Mar 6, 2026
1441821
fix(core): gracefully handle webhooks for deleted integrations
d-klotz Mar 20, 2026
b8b9a2b
fix(core): address review comments - wording and test coverage
d-klotz Mar 20, 2026
ce9eece
Merge pull request #550 from friggframework/fix/graceful-webhook-for-…
d-klotz Mar 20, 2026
dc5f898
fix(infra,core): prevent silent SQS message loss and add per-record e…
d-klotz Mar 27, 2026
7a28e41
feat(infra,core): add DLQ observability — CloudWatch alarm and proces…
d-klotz Mar 27, 2026
4228f35
fix(infra,core): address code review — DLQ observability improvements
d-klotz Mar 27, 2026
c2d0c15
fix(core): preserve HaltError semantics in Worker.run per-record isol…
d-klotz Mar 27, 2026
2eff615
fix(core): update Worker.run TypeScript return type to BatchItemFailu…
d-klotz Mar 27, 2026
d44d80d
chore(core): cleanup stale test comment, add parse failure logging to…
d-klotz Mar 27, 2026
bd58f28
fix(infra): increase InternalErrorQueue VisibilityTimeout to 180s (6x…
d-klotz Mar 27, 2026
80601bc
fix(infra): restore InternalErrorQueue VisibilityTimeout to original …
d-klotz Mar 27, 2026
ca64938
fix(infra): set DLQ alarm threshold to 500 to avoid noise from existi…
d-klotz Mar 27, 2026
f839939
fix(infra): evaluate DLQ alarm every 5 minutes instead of every minute
d-klotz Mar 27, 2026
0b2f34e
feat(schemas): extract schemas changes from PR #522
claude Mar 30, 2026
04a114b
docs: extract docs, ADRs, and root config from PR #522
claude Mar 30, 2026
a537f5e
fix(core): return batchItemFailures from DLQ processor per ReportBatc…
d-klotz Mar 30, 2026
947779c
Merge pull request #553 from friggframework/fix/sqs-queue-message-ret…
d-klotz Mar 30, 2026
f7e9ccc
feat(core): mark 4xx HTTP errors as isHaltError to prevent retry ampl…
d-klotz Mar 30, 2026
690c174
fix(core): exclude 408 from halt, add discard log for production visi…
d-klotz Mar 30, 2026
9956eab
feat(infra): increase queue worker reserved concurrency from 5 to 20
d-klotz Mar 30, 2026
dd131b2
feat(core): discard webhook messages for DISABLED integrations
d-klotz Apr 1, 2026
9bc8a35
style(integration-builder): format code for readability
d-klotz Apr 1, 2026
8c2039c
Merge pull request #566 from friggframework/fix/halt-non-retryable-4x…
d-klotz Apr 1, 2026
25bb640
Merge pull request #536 from friggframework/sanitize-fetch-error
d-klotz Apr 2, 2026
f193546
Merge pull request #557 from friggframework/claude/split-522-01-docs
d-klotz Apr 7, 2026
e377884
Merge pull request #569 from friggframework/claude/split-522-02-schemas
d-klotz Apr 7, 2026
7082747
fix(core): restore integration status to ENABLED on successful re-auth
d-klotz Apr 15, 2026
d1c0bdf
docs(core): drop internal 'Gap C' reference from re-auth status comment
d-klotz Apr 15, 2026
1636cba
fix(core): auto-disable integration when credentials are invalidated
d-klotz Apr 16, 2026
724e7f4
fix(core): use ERROR status for credential failure + extend queue wor…
d-klotz Apr 16, 2026
55a8027
Merge pull request #574 from friggframework/fix/core-restore-integrat…
d-klotz Apr 16, 2026
f65c4e0
docs(core): drop internal 'Attio dead-token loop' reference from dele…
d-klotz Apr 16, 2026
4fbb93c
Merge pull request #576 from friggframework/fix/core-auto-disable-int…
d-klotz Apr 16, 2026
bd5a32b
ci: drop broken 'npm install -g npm@latest' from release workflow
d-klotz Apr 16, 2026
c1c98a8
Merge pull request #577 from friggframework/ci/remove-npm-self-upgrade
d-klotz Apr 16, 2026
aa7f1ad
feat(core): add observability logs to queue workers
d-klotz Apr 20, 2026
e866a27
feat(core): enrich worker logs with correlation identifiers
d-klotz Apr 20, 2026
3f8e78e
feat(core): log lambda handler entry context
d-klotz Apr 20, 2026
4f65577
fix(core): add per-request timeout to Requester to catch silent fetch…
d-klotz Apr 21, 2026
312fe8b
fix(requester): keep timeout active through response body consumption
d-klotz Apr 21, 2026
2d1eba8
test(requester): hoist fetch helpers, address SonarQube style nits
d-klotz Apr 21, 2026
5360ba8
fix(serverless-plugin): apply CloudFormation queue Properties to Loca…
d-klotz Apr 21, 2026
4487187
fix(serverless-plugin): filter unresolved CloudFormation intrinsics f…
d-klotz Apr 21, 2026
c0487bc
fix(core): atomic Process updates to eliminate race on counters and f…
d-klotz Apr 21, 2026
235db2b
fix(core): atomic Process update — address review blockers
d-klotz Apr 21, 2026
17fcce9
fix(core): add missing Postgres migrations for Entity.data and Process
d-klotz Apr 22, 2026
f1cb41c
fix(core,devtools): eliminate silent Lambda hangs on DB contention
d-klotz Apr 22, 2026
9716b6d
fix(devtools): address review feedback on Lambda hang prevention
d-klotz Apr 22, 2026
f90f789
Merge pull request #578 from friggframework/feat/worker-observability…
d-klotz Apr 23, 2026
f660549
feat(core): forward OAuth state from /api/authorize to module API
d-klotz Apr 27, 2026
5ff5209
Merge pull request #580 from friggframework/claude/plugin-queue-attri…
d-klotz Apr 27, 2026
459050a
Merge pull request #579 from friggframework/claude/core-requester-tim…
d-klotz Apr 27, 2026
db461cc
fix(core): explicitly persist tokens on OAuth2 re-auth
d-klotz May 5, 2026
388414b
fix(core): restore OAuth state forwarding lost during rebase
d-klotz May 5, 2026
9b98ac9
Merge pull request #582 from friggframework/fix/core-persist-tokens-o…
d-klotz May 5, 2026
9354408
fix(core): repoint entity credentialId when re-auth produces a differ…
d-klotz May 5, 2026
b649f7f
Merge pull request #583 from friggframework/fix/core-persist-tokens-o…
d-klotz May 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
203 changes: 203 additions & 0 deletions .github/workflows/test-cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
name: CLI Test Suite

on:
push:
branches: [ main, develop, create-frigg-app ]
paths:
- 'packages/devtools/frigg-cli/**'
- '.github/workflows/test-cli.yml'
pull_request:
branches: [ main, develop ]
paths:
- 'packages/devtools/frigg-cli/**'
- '.github/workflows/test-cli.yml'

jobs:
test-cli:
name: Test CLI (${{ matrix.os }} - Node ${{ matrix.node-version }})
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [18.x, 20.x, 21.x]

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'

- name: Install dependencies
run: |
cd packages/devtools/frigg-cli
npm ci

- name: Run linting
run: |
cd packages/devtools/frigg-cli
npm run lint

- name: Run unit tests
run: |
cd packages/devtools/frigg-cli
npm run test:unit

- name: Run integration tests
run: |
cd packages/devtools/frigg-cli
npm run test:integration

- name: Run coverage analysis
run: |
cd packages/devtools/frigg-cli
npm run test:coverage

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
file: ./packages/devtools/frigg-cli/coverage/lcov.info
flags: cli
name: cli-coverage
fail_ci_if_error: true

- name: Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: test-results-${{ matrix.os }}-${{ matrix.node-version }}
path: |
packages/devtools/frigg-cli/coverage/
packages/devtools/frigg-cli/coverage/junit.xml

e2e-tests:
name: End-to-End CLI Tests
runs-on: ubuntu-latest
needs: test-cli

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'

- name: Install dependencies
run: |
cd packages/devtools/frigg-cli
npm ci

- name: Build CLI package
run: |
cd packages/devtools/frigg-cli
npm pack

- name: Test CLI installation
run: |
cd packages/devtools/frigg-cli
npm install -g friggframework-cli-*.tgz

- name: Test CLI commands
run: |
frigg --help
frigg install --help
frigg build --help
frigg deploy --help
frigg generate --help
frigg ui --help

- name: Run E2E tests
run: |
cd packages/devtools/frigg-cli
npm run test:e2e

quality-gates:
name: Quality Gates
runs-on: ubuntu-latest
needs: [test-cli, e2e-tests]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'

- name: Install dependencies
run: |
cd packages/devtools/frigg-cli
npm ci

- name: Generate coverage report
run: |
cd packages/devtools/frigg-cli
npm run test:coverage

- name: Check coverage thresholds
run: |
cd packages/devtools/frigg-cli
npx jest --config __tests__/jest.config.js --coverage --passWithNoTests --coverageThreshold='{"global":{"branches":85,"functions":85,"lines":85,"statements":85}}'

- name: Security audit
run: |
cd packages/devtools/frigg-cli
npm audit --audit-level=moderate

- name: Check for outdated dependencies
run: |
cd packages/devtools/frigg-cli
npm outdated || true

performance-benchmarks:
name: Performance Benchmarks
runs-on: ubuntu-latest
needs: test-cli

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'

- name: Install dependencies
run: |
cd packages/devtools/frigg-cli
npm ci

- name: Run performance tests
run: |
cd packages/devtools/frigg-cli
time node index.js --help
time node index.js install --help
time node index.js build --help
time node index.js deploy --help
time node index.js generate --help
time node index.js ui --help

- name: Memory usage benchmark
run: |
cd packages/devtools/frigg-cli
node -e "
const { performance } = require('perf_hooks');
const used = process.memoryUsage();
console.log('Memory usage:');
for (let key in used) {
console.log(\`\${key}: \${Math.round(used[key] / 1024 / 1024 * 100) / 100} MB\`);
}
"
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,24 @@ yarn-error.log*
# webstorm local config
.idea/

# claude-flow sparc files
.claude-flow/
.sparc/
sparc-memory/
.sparc-cache/
sparc-sessions/
claude-flow.log

# claude files
.claude/
CLAUDE.md
.roomodes

.env
.npmrc
.autorc
/.nx/

CLAUDE.md
/.claude
/.claude-flow
33 changes: 33 additions & 0 deletions .safla/project-intentions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"project_type": "frigg",
"description": "Open source integration framework",
"intentions": {
"focus": "API integration framework development",
"language_preference": "JavaScript",
"architecture": "Modular integration system",
"patterns_to_follow": [
"API module structure consistency",
"Integration authentication patterns",
"CLI command organization",
"React component patterns",
"Documentation standards",
"Security-first integration design"
],
"patterns_to_avoid": [
"Proprietary SeanStack code",
"Database-dependent patterns",
"Complex state management",
"Overly coupled integrations"
],
"key_directories": [
"packages/devtools/frigg-cli/",
"packages/devtools/management-ui/",
"api-module-library/",
"docs/"
],
"testing_approach": "Integration-focused TDD",
"documentation_style": "API-first, developer-friendly"
},
"created": "2025-07-01T00:00:00.000Z",
"version": "1.0"
}
Loading
Loading