edsger 0.77.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +95 -210
- package/assets/LICENSE +21 -0
- package/assets/README.md +104 -0
- package/assets/benchmark/base.yaml +286 -0
- package/assets/benchmark/csharp.yaml +68 -0
- package/assets/benchmark/dart.yaml +70 -0
- package/assets/benchmark/go.yaml +71 -0
- package/assets/benchmark/java.yaml +68 -0
- package/assets/benchmark/python.yaml +72 -0
- package/assets/benchmark/typescript.yaml +71 -0
- package/assets/languages.yaml +35 -0
- package/assets/manifest.yaml +39 -0
- package/assets/review/base.yaml +111 -0
- package/assets/review/csharp.yaml +38 -0
- package/assets/review/dart.yaml +40 -0
- package/assets/review/go.yaml +40 -0
- package/assets/review/java.yaml +40 -0
- package/assets/review/python.yaml +41 -0
- package/assets/review/typescript.yaml +40 -0
- package/assets/schema/benchmark.schema.json +87 -0
- package/assets/schema/review.schema.json +73 -0
- package/assets/skills/benchmark/SKILL.md +66 -0
- package/assets/skills/pr-resolve/SKILL.md +58 -0
- package/assets/skills/pr-review/SKILL.md +66 -0
- package/dist/index.js +1339 -1247
- package/dist/index.js.map +1 -0
- package/package.json +58 -53
- package/dist/api/adr.d.ts +0 -48
- package/dist/api/adr.js +0 -139
- package/dist/api/app-store-iap.d.ts +0 -60
- package/dist/api/app-store-iap.js +0 -145
- package/dist/api/app-store.d.ts +0 -93
- package/dist/api/app-store.js +0 -206
- package/dist/api/chat.d.ts +0 -72
- package/dist/api/chat.js +0 -272
- package/dist/api/cross-product.d.ts +0 -33
- package/dist/api/cross-product.js +0 -127
- package/dist/api/financing.d.ts +0 -47
- package/dist/api/financing.js +0 -37
- package/dist/api/github.d.ts +0 -86
- package/dist/api/github.js +0 -203
- package/dist/api/growth.d.ts +0 -81
- package/dist/api/growth.js +0 -75
- package/dist/api/intelligence-normalize.d.ts +0 -25
- package/dist/api/intelligence-normalize.js +0 -103
- package/dist/api/intelligence.d.ts +0 -187
- package/dist/api/intelligence.js +0 -402
- package/dist/api/issues/approval-checker.d.ts +0 -22
- package/dist/api/issues/approval-checker.js +0 -141
- package/dist/api/issues/batch-operations.d.ts +0 -17
- package/dist/api/issues/batch-operations.js +0 -100
- package/dist/api/issues/get-issue.d.ts +0 -5
- package/dist/api/issues/get-issue.js +0 -47
- package/dist/api/issues/index.d.ts +0 -8
- package/dist/api/issues/index.js +0 -10
- package/dist/api/issues/issue-utils.d.ts +0 -25
- package/dist/api/issues/issue-utils.js +0 -133
- package/dist/api/issues/status-updater.d.ts +0 -68
- package/dist/api/issues/status-updater.js +0 -190
- package/dist/api/issues/test-cases.d.ts +0 -29
- package/dist/api/issues/test-cases.js +0 -185
- package/dist/api/issues/update-issue.d.ts +0 -25
- package/dist/api/issues/update-issue.js +0 -127
- package/dist/api/issues/user-stories.d.ts +0 -21
- package/dist/api/issues/user-stories.js +0 -163
- package/dist/api/mcp-client.d.ts +0 -22
- package/dist/api/mcp-client.js +0 -75
- package/dist/api/products/test-cases.d.ts +0 -18
- package/dist/api/products/test-cases.js +0 -51
- package/dist/api/products.d.ts +0 -15
- package/dist/api/products.js +0 -45
- package/dist/api/release-test-cases.d.ts +0 -7
- package/dist/api/release-test-cases.js +0 -59
- package/dist/api/releases.d.ts +0 -41
- package/dist/api/releases.js +0 -117
- package/dist/api/run-sheets.d.ts +0 -22
- package/dist/api/run-sheets.js +0 -13
- package/dist/api/storage.d.ts +0 -13
- package/dist/api/storage.js +0 -29
- package/dist/api/tasks.d.ts +0 -26
- package/dist/api/tasks.js +0 -81
- package/dist/api/test-reports.d.ts +0 -9
- package/dist/api/test-reports.js +0 -43
- package/dist/api/user-psychology.d.ts +0 -101
- package/dist/api/user-psychology.js +0 -143
- package/dist/api/web-deploy.d.ts +0 -67
- package/dist/api/web-deploy.js +0 -199
- package/dist/auth/auth-store.d.ts +0 -98
- package/dist/auth/auth-store.js +0 -194
- package/dist/auth/env-store.d.ts +0 -41
- package/dist/auth/env-store.js +0 -127
- package/dist/auth/login.d.ts +0 -18
- package/dist/auth/login.js +0 -179
- package/dist/commands/adr/index.d.ts +0 -13
- package/dist/commands/adr/index.js +0 -31
- package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
- package/dist/commands/agent-workflow/chat-worker.js +0 -465
- package/dist/commands/agent-workflow/index.d.ts +0 -13
- package/dist/commands/agent-workflow/index.js +0 -107
- package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
- package/dist/commands/agent-workflow/issue-worker.js +0 -65
- package/dist/commands/agent-workflow/processor.d.ts +0 -95
- package/dist/commands/agent-workflow/processor.js +0 -519
- package/dist/commands/analyze-logs/index.d.ts +0 -7
- package/dist/commands/analyze-logs/index.js +0 -34
- package/dist/commands/api-docs/index.d.ts +0 -18
- package/dist/commands/api-docs/index.js +0 -41
- package/dist/commands/app-store/index.d.ts +0 -12
- package/dist/commands/app-store/index.js +0 -69
- package/dist/commands/architecture-diagram/index.d.ts +0 -8
- package/dist/commands/architecture-diagram/index.js +0 -10
- package/dist/commands/build/detect-project.d.ts +0 -52
- package/dist/commands/build/detect-project.js +0 -277
- package/dist/commands/build/index.d.ts +0 -66
- package/dist/commands/build/index.js +0 -544
- package/dist/commands/chat-serve/chat-server.d.ts +0 -114
- package/dist/commands/chat-serve/chat-server.js +0 -339
- package/dist/commands/chat-serve/index.d.ts +0 -20
- package/dist/commands/chat-serve/index.js +0 -58
- package/dist/commands/checklists/index.d.ts +0 -16
- package/dist/commands/checklists/index.js +0 -187
- package/dist/commands/checklists/tools.d.ts +0 -17
- package/dist/commands/checklists/tools.js +0 -19
- package/dist/commands/class-diagram/index.d.ts +0 -7
- package/dist/commands/class-diagram/index.js +0 -9
- package/dist/commands/code-review/index.d.ts +0 -2
- package/dist/commands/code-review/index.js +0 -37
- package/dist/commands/code-review/reviewer.d.ts +0 -3
- package/dist/commands/code-review/reviewer.js +0 -205
- package/dist/commands/config/index.d.ts +0 -16
- package/dist/commands/config/index.js +0 -60
- package/dist/commands/data-flow/index.d.ts +0 -19
- package/dist/commands/data-flow/index.js +0 -55
- package/dist/commands/diagram-shared/index.d.ts +0 -21
- package/dist/commands/diagram-shared/index.js +0 -37
- package/dist/commands/discover/index.d.ts +0 -14
- package/dist/commands/discover/index.js +0 -29
- package/dist/commands/er-diagram/index.d.ts +0 -19
- package/dist/commands/er-diagram/index.js +0 -55
- package/dist/commands/features/index.d.ts +0 -15
- package/dist/commands/features/index.js +0 -34
- package/dist/commands/financing-deck/index.d.ts +0 -8
- package/dist/commands/financing-deck/index.js +0 -66
- package/dist/commands/find-architecture/index.d.ts +0 -15
- package/dist/commands/find-architecture/index.js +0 -50
- package/dist/commands/find-bugs/index.d.ts +0 -13
- package/dist/commands/find-bugs/index.js +0 -48
- package/dist/commands/find-features/index.d.ts +0 -14
- package/dist/commands/find-features/index.js +0 -42
- package/dist/commands/find-smells/index.d.ts +0 -23
- package/dist/commands/find-smells/index.js +0 -74
- package/dist/commands/flowchart/index.d.ts +0 -8
- package/dist/commands/flowchart/index.js +0 -10
- package/dist/commands/growth-analysis/index.d.ts +0 -7
- package/dist/commands/growth-analysis/index.js +0 -89
- package/dist/commands/init/index.d.ts +0 -5
- package/dist/commands/init/index.js +0 -152
- package/dist/commands/init/prompts.d.ts +0 -9
- package/dist/commands/init/prompts.js +0 -128
- package/dist/commands/init/templates.d.ts +0 -9
- package/dist/commands/init/templates.js +0 -264
- package/dist/commands/intelligence/index.d.ts +0 -15
- package/dist/commands/intelligence/index.js +0 -138
- package/dist/commands/issue-analysis/index.d.ts +0 -5
- package/dist/commands/issue-analysis/index.js +0 -9
- package/dist/commands/pr-resolve/index.d.ts +0 -13
- package/dist/commands/pr-resolve/index.js +0 -50
- package/dist/commands/pr-review/index.d.ts +0 -12
- package/dist/commands/pr-review/index.js +0 -47
- package/dist/commands/product-techniques/index.d.ts +0 -15
- package/dist/commands/product-techniques/index.js +0 -37
- package/dist/commands/product-test-cases/index.d.ts +0 -12
- package/dist/commands/product-test-cases/index.js +0 -40
- package/dist/commands/quality-benchmark/index.d.ts +0 -45
- package/dist/commands/quality-benchmark/index.js +0 -247
- package/dist/commands/recipes/index.d.ts +0 -17
- package/dist/commands/recipes/index.js +0 -40
- package/dist/commands/refactor/refactor.d.ts +0 -2
- package/dist/commands/refactor/refactor.js +0 -134
- package/dist/commands/release-sync/index.d.ts +0 -5
- package/dist/commands/release-sync/index.js +0 -38
- package/dist/commands/run-sheet/index.d.ts +0 -6
- package/dist/commands/run-sheet/index.js +0 -48
- package/dist/commands/screen-flow/index.d.ts +0 -18
- package/dist/commands/screen-flow/index.js +0 -54
- package/dist/commands/sequence-diagram/index.d.ts +0 -19
- package/dist/commands/sequence-diagram/index.js +0 -55
- package/dist/commands/session-serve/index.d.ts +0 -32
- package/dist/commands/session-serve/index.js +0 -100
- package/dist/commands/session-turn/index.d.ts +0 -73
- package/dist/commands/session-turn/index.js +0 -254
- package/dist/commands/smoke-test/index.d.ts +0 -5
- package/dist/commands/smoke-test/index.js +0 -40
- package/dist/commands/state-diagram/index.d.ts +0 -7
- package/dist/commands/state-diagram/index.js +0 -9
- package/dist/commands/sync-aws/index.d.ts +0 -16
- package/dist/commands/sync-aws/index.js +0 -214
- package/dist/commands/sync-datadog/index.d.ts +0 -16
- package/dist/commands/sync-datadog/index.js +0 -236
- package/dist/commands/sync-github-issues/index.d.ts +0 -11
- package/dist/commands/sync-github-issues/index.js +0 -42
- package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
- package/dist/commands/sync-github-pull-requests/index.js +0 -42
- package/dist/commands/sync-org-repos/index.d.ts +0 -12
- package/dist/commands/sync-org-repos/index.js +0 -60
- package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
- package/dist/commands/sync-sentry-issues/index.js +0 -73
- package/dist/commands/sync-terraform/index.d.ts +0 -16
- package/dist/commands/sync-terraform/index.js +0 -248
- package/dist/commands/task-worker/index.d.ts +0 -8
- package/dist/commands/task-worker/index.js +0 -34
- package/dist/commands/task-worker/processor.d.ts +0 -23
- package/dist/commands/task-worker/processor.js +0 -84
- package/dist/commands/technical-design/index.d.ts +0 -5
- package/dist/commands/technical-design/index.js +0 -9
- package/dist/commands/test-cases-analysis/index.d.ts +0 -5
- package/dist/commands/test-cases-analysis/index.js +0 -9
- package/dist/commands/user-psychology/index.d.ts +0 -7
- package/dist/commands/user-psychology/index.js +0 -51
- package/dist/commands/user-stories-analysis/index.d.ts +0 -5
- package/dist/commands/user-stories-analysis/index.js +0 -9
- package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
- package/dist/commands/workflow/config/phase-configs.js +0 -132
- package/dist/commands/workflow/core/index.d.ts +0 -8
- package/dist/commands/workflow/core/index.js +0 -12
- package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
- package/dist/commands/workflow/core/issue-filter.js +0 -47
- package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
- package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
- package/dist/commands/workflow/core/state-manager.d.ts +0 -24
- package/dist/commands/workflow/core/state-manager.js +0 -42
- package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
- package/dist/commands/workflow/core/workflow-logger.js +0 -77
- package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
- package/dist/commands/workflow/executors/phase-executor.js +0 -338
- package/dist/commands/workflow/index.d.ts +0 -2
- package/dist/commands/workflow/index.js +0 -34
- package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
- package/dist/commands/workflow/issue-coordinator.js +0 -161
- package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
- package/dist/commands/workflow/phase-orchestrator.js +0 -699
- package/dist/commands/workflow/processor.d.ts +0 -47
- package/dist/commands/workflow/processor.js +0 -149
- package/dist/config/issue-status.d.ts +0 -29
- package/dist/config/issue-status.js +0 -44
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -79
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +0 -36
- package/dist/errors/index.d.ts +0 -68
- package/dist/errors/index.js +0 -129
- package/dist/index.d.ts +0 -4
- package/dist/phases/adr-generation/agent.d.ts +0 -6
- package/dist/phases/adr-generation/agent.js +0 -69
- package/dist/phases/adr-generation/index.d.ts +0 -15
- package/dist/phases/adr-generation/index.js +0 -66
- package/dist/phases/adr-generation/parse.d.ts +0 -12
- package/dist/phases/adr-generation/parse.js +0 -123
- package/dist/phases/adr-generation/prompts.d.ts +0 -8
- package/dist/phases/adr-generation/prompts.js +0 -35
- package/dist/phases/analyze-logs/agent.d.ts +0 -11
- package/dist/phases/analyze-logs/agent.js +0 -66
- package/dist/phases/analyze-logs/index.d.ts +0 -23
- package/dist/phases/analyze-logs/index.js +0 -152
- package/dist/phases/analyze-logs/prompts.d.ts +0 -3
- package/dist/phases/analyze-logs/prompts.js +0 -27
- package/dist/phases/api-docs/index.d.ts +0 -47
- package/dist/phases/api-docs/index.js +0 -254
- package/dist/phases/api-docs/mcp-server.d.ts +0 -25
- package/dist/phases/api-docs/mcp-server.js +0 -82
- package/dist/phases/api-docs/prompts.d.ts +0 -16
- package/dist/phases/api-docs/prompts.js +0 -65
- package/dist/phases/api-docs/types.d.ts +0 -22
- package/dist/phases/api-docs/types.js +0 -10
- package/dist/phases/app-store-generation/agent.d.ts +0 -2
- package/dist/phases/app-store-generation/agent.js +0 -177
- package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
- package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
- package/dist/phases/app-store-generation/context.d.ts +0 -21
- package/dist/phases/app-store-generation/context.js +0 -78
- package/dist/phases/app-store-generation/index.d.ts +0 -20
- package/dist/phases/app-store-generation/index.js +0 -157
- package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
- package/dist/phases/app-store-generation/inter-font.js +0 -49
- package/dist/phases/app-store-generation/prompts.d.ts +0 -43
- package/dist/phases/app-store-generation/prompts.js +0 -73
- package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
- package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
- package/dist/phases/app-store-generation/uploader.d.ts +0 -19
- package/dist/phases/app-store-generation/uploader.js +0 -150
- package/dist/phases/architecture-diagram/index.d.ts +0 -15
- package/dist/phases/architecture-diagram/index.js +0 -51
- package/dist/phases/autonomous/index.d.ts +0 -32
- package/dist/phases/autonomous/index.js +0 -412
- package/dist/phases/autonomous/prompts.d.ts +0 -5
- package/dist/phases/autonomous/prompts.js +0 -31
- package/dist/phases/branch-planning/context.d.ts +0 -14
- package/dist/phases/branch-planning/context.js +0 -43
- package/dist/phases/branch-planning/index.d.ts +0 -25
- package/dist/phases/branch-planning/index.js +0 -404
- package/dist/phases/branch-planning/outcome.d.ts +0 -28
- package/dist/phases/branch-planning/outcome.js +0 -115
- package/dist/phases/branch-planning/prompts.d.ts +0 -41
- package/dist/phases/branch-planning/prompts.js +0 -157
- package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
- package/dist/phases/bug-fixing/analyzer.js +0 -247
- package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
- package/dist/phases/bug-fixing/context-fetcher.js +0 -137
- package/dist/phases/bug-fixing/index.d.ts +0 -7
- package/dist/phases/bug-fixing/index.js +0 -7
- package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
- package/dist/phases/bug-fixing/mcp-server.js +0 -19
- package/dist/phases/bug-fixing/prompts.d.ts +0 -2
- package/dist/phases/bug-fixing/prompts.js +0 -9
- package/dist/phases/chat-processor/context.d.ts +0 -38
- package/dist/phases/chat-processor/context.js +0 -91
- package/dist/phases/chat-processor/index.d.ts +0 -49
- package/dist/phases/chat-processor/index.js +0 -482
- package/dist/phases/chat-processor/product-context.d.ts +0 -36
- package/dist/phases/chat-processor/product-context.js +0 -113
- package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
- package/dist/phases/chat-processor/product-prompts.js +0 -65
- package/dist/phases/chat-processor/product-tools.d.ts +0 -8
- package/dist/phases/chat-processor/product-tools.js +0 -11
- package/dist/phases/chat-processor/prompts.d.ts +0 -35
- package/dist/phases/chat-processor/prompts.js +0 -213
- package/dist/phases/chat-processor/tools.d.ts +0 -8
- package/dist/phases/chat-processor/tools.js +0 -11
- package/dist/phases/class-diagram/index.d.ts +0 -14
- package/dist/phases/class-diagram/index.js +0 -76
- package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
- package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
- package/dist/phases/code-implementation/context.d.ts +0 -17
- package/dist/phases/code-implementation/context.js +0 -88
- package/dist/phases/code-implementation/index.d.ts +0 -33
- package/dist/phases/code-implementation/index.js +0 -926
- package/dist/phases/code-implementation/outcome.d.ts +0 -47
- package/dist/phases/code-implementation/outcome.js +0 -53
- package/dist/phases/code-implementation/prompts.d.ts +0 -8
- package/dist/phases/code-implementation/prompts.js +0 -166
- package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
- package/dist/phases/code-implementation-verification/agent.js +0 -225
- package/dist/phases/code-implementation-verification/index.d.ts +0 -27
- package/dist/phases/code-implementation-verification/index.js +0 -121
- package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
- package/dist/phases/code-implementation-verification/prompts.js +0 -90
- package/dist/phases/code-refine/context.d.ts +0 -99
- package/dist/phases/code-refine/context.js +0 -457
- package/dist/phases/code-refine/index.d.ts +0 -59
- package/dist/phases/code-refine/index.js +0 -348
- package/dist/phases/code-refine/prompts.d.ts +0 -5
- package/dist/phases/code-refine/prompts.js +0 -162
- package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
- package/dist/phases/code-refine/refine-iteration.js +0 -166
- package/dist/phases/code-refine/retry-handler.d.ts +0 -17
- package/dist/phases/code-refine/retry-handler.js +0 -87
- package/dist/phases/code-refine-verification/github.d.ts +0 -54
- package/dist/phases/code-refine-verification/github.js +0 -328
- package/dist/phases/code-refine-verification/index.d.ts +0 -11
- package/dist/phases/code-refine-verification/index.js +0 -260
- package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
- package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
- package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
- package/dist/phases/code-refine-verification/prompts.js +0 -119
- package/dist/phases/code-refine-verification/types.d.ts +0 -74
- package/dist/phases/code-refine-verification/types.js +0 -4
- package/dist/phases/code-review/context.d.ts +0 -96
- package/dist/phases/code-review/context.js +0 -278
- package/dist/phases/code-review/diff-utils.d.ts +0 -36
- package/dist/phases/code-review/diff-utils.js +0 -100
- package/dist/phases/code-review/index.d.ts +0 -40
- package/dist/phases/code-review/index.js +0 -627
- package/dist/phases/code-testing/analyzer.d.ts +0 -19
- package/dist/phases/code-testing/analyzer.js +0 -215
- package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/code-testing/context-fetcher.js +0 -83
- package/dist/phases/code-testing/index.d.ts +0 -2
- package/dist/phases/code-testing/index.js +0 -2
- package/dist/phases/code-testing/prompts.d.ts +0 -3
- package/dist/phases/code-testing/prompts.js +0 -63
- package/dist/phases/data-flow/index.d.ts +0 -28
- package/dist/phases/data-flow/index.js +0 -286
- package/dist/phases/data-flow/mcp-server.d.ts +0 -85
- package/dist/phases/data-flow/mcp-server.js +0 -140
- package/dist/phases/data-flow/prompts.d.ts +0 -14
- package/dist/phases/data-flow/prompts.js +0 -36
- package/dist/phases/data-flow/types.d.ts +0 -71
- package/dist/phases/data-flow/types.js +0 -86
- package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
- package/dist/phases/diagram-shared/clone-repos.js +0 -153
- package/dist/phases/diagram-shared/generate.d.ts +0 -42
- package/dist/phases/diagram-shared/generate.js +0 -162
- package/dist/phases/diagram-shared/graph.d.ts +0 -62
- package/dist/phases/diagram-shared/graph.js +0 -169
- package/dist/phases/diagram-shared/mcp.d.ts +0 -35
- package/dist/phases/diagram-shared/mcp.js +0 -68
- package/dist/phases/diagram-shared/prompts.d.ts +0 -23
- package/dist/phases/diagram-shared/prompts.js +0 -35
- package/dist/phases/discover-services/index.d.ts +0 -29
- package/dist/phases/discover-services/index.js +0 -528
- package/dist/phases/er-diagram/index.d.ts +0 -28
- package/dist/phases/er-diagram/index.js +0 -290
- package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
- package/dist/phases/er-diagram/mcp-server.js +0 -144
- package/dist/phases/er-diagram/prompts.d.ts +0 -14
- package/dist/phases/er-diagram/prompts.js +0 -36
- package/dist/phases/er-diagram/types.d.ts +0 -76
- package/dist/phases/er-diagram/types.js +0 -84
- package/dist/phases/features/index.d.ts +0 -65
- package/dist/phases/features/index.js +0 -292
- package/dist/phases/features/mcp-server.d.ts +0 -61
- package/dist/phases/features/mcp-server.js +0 -165
- package/dist/phases/features/prompts.d.ts +0 -32
- package/dist/phases/features/prompts.js +0 -92
- package/dist/phases/features/types.d.ts +0 -34
- package/dist/phases/features/types.js +0 -15
- package/dist/phases/financing-deck/agent.d.ts +0 -1
- package/dist/phases/financing-deck/agent.js +0 -96
- package/dist/phases/financing-deck/context.d.ts +0 -13
- package/dist/phases/financing-deck/context.js +0 -69
- package/dist/phases/financing-deck/index.d.ts +0 -15
- package/dist/phases/financing-deck/index.js +0 -89
- package/dist/phases/financing-deck/prompts.d.ts +0 -2
- package/dist/phases/financing-deck/prompts.js +0 -94
- package/dist/phases/find-architecture/index.d.ts +0 -47
- package/dist/phases/find-architecture/index.js +0 -268
- package/dist/phases/find-architecture/prompts.d.ts +0 -32
- package/dist/phases/find-architecture/prompts.js +0 -129
- package/dist/phases/find-architecture/state.d.ts +0 -21
- package/dist/phases/find-architecture/state.js +0 -17
- package/dist/phases/find-architecture/types.d.ts +0 -55
- package/dist/phases/find-architecture/types.js +0 -69
- package/dist/phases/find-bugs/index.d.ts +0 -33
- package/dist/phases/find-bugs/index.js +0 -238
- package/dist/phases/find-bugs/prompts.d.ts +0 -22
- package/dist/phases/find-bugs/prompts.js +0 -101
- package/dist/phases/find-bugs/state.d.ts +0 -19
- package/dist/phases/find-bugs/state.js +0 -13
- package/dist/phases/find-bugs/types.d.ts +0 -21
- package/dist/phases/find-bugs/types.js +0 -16
- package/dist/phases/find-features/index.d.ts +0 -40
- package/dist/phases/find-features/index.js +0 -328
- package/dist/phases/find-features/prompts.d.ts +0 -43
- package/dist/phases/find-features/prompts.js +0 -138
- package/dist/phases/find-features/state.d.ts +0 -25
- package/dist/phases/find-features/state.js +0 -22
- package/dist/phases/find-features/types.d.ts +0 -27
- package/dist/phases/find-features/types.js +0 -16
- package/dist/phases/find-shared/baseline.d.ts +0 -45
- package/dist/phases/find-shared/baseline.js +0 -56
- package/dist/phases/find-shared/custom-rules.d.ts +0 -39
- package/dist/phases/find-shared/custom-rules.js +0 -75
- package/dist/phases/find-shared/detect-context.d.ts +0 -40
- package/dist/phases/find-shared/detect-context.js +0 -247
- package/dist/phases/find-shared/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -54
- package/dist/phases/find-shared/mcp.js +0 -127
- package/dist/phases/find-shared/rule-config.d.ts +0 -37
- package/dist/phases/find-shared/rule-config.js +0 -67
- package/dist/phases/find-shared/rule-packs.d.ts +0 -65
- package/dist/phases/find-shared/rule-packs.js +0 -124
- package/dist/phases/find-shared/scan-state.d.ts +0 -33
- package/dist/phases/find-shared/scan-state.js +0 -112
- package/dist/phases/find-shared/scoped-read.d.ts +0 -12
- package/dist/phases/find-shared/scoped-read.js +0 -33
- package/dist/phases/find-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -305
- package/dist/phases/find-smells/prompts.d.ts +0 -31
- package/dist/phases/find-smells/prompts.js +0 -130
- package/dist/phases/find-smells/state.d.ts +0 -21
- package/dist/phases/find-smells/state.js +0 -17
- package/dist/phases/find-smells/types.d.ts +0 -51
- package/dist/phases/find-smells/types.js +0 -64
- package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
- package/dist/phases/flow-shared/clone-repos.js +0 -153
- package/dist/phases/flowchart/index.d.ts +0 -15
- package/dist/phases/flowchart/index.js +0 -50
- package/dist/phases/functional-testing/analyzer.d.ts +0 -46
- package/dist/phases/functional-testing/analyzer.js +0 -622
- package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/functional-testing/context-fetcher.js +0 -83
- package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
- package/dist/phases/functional-testing/http-fallback.js +0 -156
- package/dist/phases/functional-testing/index.d.ts +0 -4
- package/dist/phases/functional-testing/index.js +0 -4
- package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
- package/dist/phases/functional-testing/mcp-server.js +0 -13
- package/dist/phases/functional-testing/prompts.d.ts +0 -2
- package/dist/phases/functional-testing/prompts.js +0 -58
- package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
- package/dist/phases/functional-testing/test-report-creator.js +0 -306
- package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
- package/dist/phases/functional-testing/test-retry-handler.js +0 -70
- package/dist/phases/growth-analysis/agent.d.ts +0 -2
- package/dist/phases/growth-analysis/agent.js +0 -107
- package/dist/phases/growth-analysis/context.d.ts +0 -23
- package/dist/phases/growth-analysis/context.js +0 -137
- package/dist/phases/growth-analysis/index.d.ts +0 -32
- package/dist/phases/growth-analysis/index.js +0 -226
- package/dist/phases/growth-analysis/prompts.d.ts +0 -2
- package/dist/phases/growth-analysis/prompts.js +0 -45
- package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
- package/dist/phases/intelligence-analysis/agent.js +0 -338
- package/dist/phases/intelligence-analysis/context.d.ts +0 -23
- package/dist/phases/intelligence-analysis/context.js +0 -142
- package/dist/phases/intelligence-analysis/index.d.ts +0 -58
- package/dist/phases/intelligence-analysis/index.js +0 -244
- package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
- package/dist/phases/intelligence-analysis/prompts.js +0 -62
- package/dist/phases/issue-analysis/agent.d.ts +0 -21
- package/dist/phases/issue-analysis/agent.js +0 -153
- package/dist/phases/issue-analysis/context.d.ts +0 -20
- package/dist/phases/issue-analysis/context.js +0 -93
- package/dist/phases/issue-analysis/index.d.ts +0 -8
- package/dist/phases/issue-analysis/index.js +0 -147
- package/dist/phases/issue-analysis/outcome.d.ts +0 -10
- package/dist/phases/issue-analysis/outcome.js +0 -42
- package/dist/phases/issue-analysis/prompts.d.ts +0 -8
- package/dist/phases/issue-analysis/prompts.js +0 -99
- package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
- package/dist/phases/issue-analysis-verification/agent.js +0 -124
- package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
- package/dist/phases/issue-analysis-verification/index.js +0 -79
- package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
- package/dist/phases/issue-analysis-verification/prompts.js +0 -75
- package/dist/phases/output-contracts.d.ts +0 -7
- package/dist/phases/output-contracts.js +0 -1201
- package/dist/phases/pr-execution/context.d.ts +0 -32
- package/dist/phases/pr-execution/context.js +0 -246
- package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
- package/dist/phases/pr-execution/file-assigner.js +0 -287
- package/dist/phases/pr-execution/index.d.ts +0 -22
- package/dist/phases/pr-execution/index.js +0 -401
- package/dist/phases/pr-execution/outcome.d.ts +0 -24
- package/dist/phases/pr-execution/outcome.js +0 -34
- package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
- package/dist/phases/pr-execution/pr-executor.js +0 -78
- package/dist/phases/pr-execution/prompts.d.ts +0 -27
- package/dist/phases/pr-execution/prompts.js +0 -131
- package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
- package/dist/phases/pr-resolve/checklist-learner.js +0 -153
- package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
- package/dist/phases/pr-resolve/github-reply.js +0 -75
- package/dist/phases/pr-resolve/index.d.ts +0 -33
- package/dist/phases/pr-resolve/index.js +0 -272
- package/dist/phases/pr-resolve/prompts.d.ts +0 -17
- package/dist/phases/pr-resolve/prompts.js +0 -107
- package/dist/phases/pr-resolve/types.d.ts +0 -18
- package/dist/phases/pr-resolve/types.js +0 -14
- package/dist/phases/pr-resolve/workspace.d.ts +0 -45
- package/dist/phases/pr-resolve/workspace.js +0 -174
- package/dist/phases/pr-review/index.d.ts +0 -27
- package/dist/phases/pr-review/index.js +0 -209
- package/dist/phases/pr-review/prompts.d.ts +0 -5
- package/dist/phases/pr-review/prompts.js +0 -87
- package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
- package/dist/phases/pr-shared/agent-utils.js +0 -112
- package/dist/phases/pr-shared/context.d.ts +0 -24
- package/dist/phases/pr-shared/context.js +0 -78
- package/dist/phases/pr-shared/status.d.ts +0 -18
- package/dist/phases/pr-shared/status.js +0 -37
- package/dist/phases/pr-splitting/context.d.ts +0 -28
- package/dist/phases/pr-splitting/context.js +0 -182
- package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
- package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
- package/dist/phases/pr-splitting/index.d.ts +0 -36
- package/dist/phases/pr-splitting/index.js +0 -413
- package/dist/phases/pr-splitting/outcome.d.ts +0 -24
- package/dist/phases/pr-splitting/outcome.js +0 -114
- package/dist/phases/pr-splitting/prompts.d.ts +0 -43
- package/dist/phases/pr-splitting/prompts.js +0 -154
- package/dist/phases/product-techniques/index.d.ts +0 -52
- package/dist/phases/product-techniques/index.js +0 -268
- package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
- package/dist/phases/product-techniques/mcp-server.js +0 -96
- package/dist/phases/product-techniques/prompts.d.ts +0 -19
- package/dist/phases/product-techniques/prompts.js +0 -66
- package/dist/phases/product-techniques/types.d.ts +0 -13
- package/dist/phases/product-techniques/types.js +0 -13
- package/dist/phases/product-test-cases/index.d.ts +0 -25
- package/dist/phases/product-test-cases/index.js +0 -174
- package/dist/phases/product-test-cases/prompts.d.ts +0 -24
- package/dist/phases/product-test-cases/prompts.js +0 -80
- package/dist/phases/product-test-cases/types.d.ts +0 -17
- package/dist/phases/product-test-cases/types.js +0 -27
- package/dist/phases/pull-request/creator.d.ts +0 -30
- package/dist/phases/pull-request/creator.js +0 -319
- package/dist/phases/pull-request/handler.d.ts +0 -15
- package/dist/phases/pull-request/handler.js +0 -92
- package/dist/phases/quality-benchmark/gate.d.ts +0 -50
- package/dist/phases/quality-benchmark/gate.js +0 -91
- package/dist/phases/quality-benchmark/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -208
- package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
- package/dist/phases/quality-benchmark/mcp-server.js +0 -252
- package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
- package/dist/phases/quality-benchmark/parsers.js +0 -1311
- package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
- package/dist/phases/quality-benchmark/prompts.js +0 -154
- package/dist/phases/quality-benchmark/rubric.md +0 -1211
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
- package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
- package/dist/phases/quality-benchmark/tool-runner.js +0 -399
- package/dist/phases/quality-benchmark/types.d.ts +0 -319
- package/dist/phases/quality-benchmark/types.js +0 -23
- package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
- package/dist/phases/quality-benchmark/workspace.js +0 -110
- package/dist/phases/recipes/index.d.ts +0 -63
- package/dist/phases/recipes/index.js +0 -358
- package/dist/phases/recipes/mcp-server.d.ts +0 -66
- package/dist/phases/recipes/mcp-server.js +0 -229
- package/dist/phases/recipes/prompts.d.ts +0 -35
- package/dist/phases/recipes/prompts.js +0 -105
- package/dist/phases/recipes/types.d.ts +0 -42
- package/dist/phases/recipes/types.js +0 -16
- package/dist/phases/release-sync/github.d.ts +0 -66
- package/dist/phases/release-sync/github.js +0 -140
- package/dist/phases/release-sync/index.d.ts +0 -24
- package/dist/phases/release-sync/index.js +0 -156
- package/dist/phases/release-sync/snapshot.d.ts +0 -27
- package/dist/phases/release-sync/snapshot.js +0 -158
- package/dist/phases/run-sheet/agent.d.ts +0 -49
- package/dist/phases/run-sheet/agent.js +0 -156
- package/dist/phases/run-sheet/index.d.ts +0 -57
- package/dist/phases/run-sheet/index.js +0 -392
- package/dist/phases/screen-flow/index.d.ts +0 -26
- package/dist/phases/screen-flow/index.js +0 -349
- package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
- package/dist/phases/screen-flow/mcp-server.js +0 -272
- package/dist/phases/screen-flow/prompts.d.ts +0 -19
- package/dist/phases/screen-flow/prompts.js +0 -43
- package/dist/phases/screen-flow/theme.d.ts +0 -19
- package/dist/phases/screen-flow/theme.js +0 -193
- package/dist/phases/screen-flow/types.d.ts +0 -137
- package/dist/phases/screen-flow/types.js +0 -81
- package/dist/phases/sequence-diagram/index.d.ts +0 -30
- package/dist/phases/sequence-diagram/index.js +0 -290
- package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
- package/dist/phases/sequence-diagram/mcp-server.js +0 -134
- package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
- package/dist/phases/sequence-diagram/prompts.js +0 -36
- package/dist/phases/sequence-diagram/types.d.ts +0 -52
- package/dist/phases/sequence-diagram/types.js +0 -93
- package/dist/phases/smoke-test/agent.d.ts +0 -12
- package/dist/phases/smoke-test/agent.js +0 -93
- package/dist/phases/smoke-test/index.d.ts +0 -22
- package/dist/phases/smoke-test/index.js +0 -241
- package/dist/phases/smoke-test/prompts.d.ts +0 -15
- package/dist/phases/smoke-test/prompts.js +0 -35
- package/dist/phases/state-diagram/index.d.ts +0 -15
- package/dist/phases/state-diagram/index.js +0 -53
- package/dist/phases/sync-github-issues/index.d.ts +0 -41
- package/dist/phases/sync-github-issues/index.js +0 -187
- package/dist/phases/sync-github-issues/state.d.ts +0 -26
- package/dist/phases/sync-github-issues/state.js +0 -18
- package/dist/phases/sync-github-issues/types.d.ts +0 -35
- package/dist/phases/sync-github-issues/types.js +0 -6
- package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
- package/dist/phases/sync-github-pull-requests/index.js +0 -210
- package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
- package/dist/phases/sync-github-pull-requests/state.js +0 -16
- package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
- package/dist/phases/sync-github-pull-requests/types.js +0 -1
- package/dist/phases/sync-org-repos/index.d.ts +0 -28
- package/dist/phases/sync-org-repos/index.js +0 -133
- package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
- package/dist/phases/sync-sentry-issues/index.js +0 -153
- package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
- package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
- package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
- package/dist/phases/sync-sentry-issues/state.js +0 -18
- package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
- package/dist/phases/sync-sentry-issues/types.js +0 -6
- package/dist/phases/sync-shared/mcp.d.ts +0 -81
- package/dist/phases/sync-shared/mcp.js +0 -111
- package/dist/phases/task/agent.d.ts +0 -10
- package/dist/phases/task/agent.js +0 -83
- package/dist/phases/task/context.d.ts +0 -16
- package/dist/phases/task/context.js +0 -50
- package/dist/phases/task/index.d.ts +0 -17
- package/dist/phases/task/index.js +0 -54
- package/dist/phases/task/prompts.d.ts +0 -9
- package/dist/phases/task/prompts.js +0 -21
- package/dist/phases/technical-design/context.d.ts +0 -12
- package/dist/phases/technical-design/context.js +0 -39
- package/dist/phases/technical-design/index.d.ts +0 -21
- package/dist/phases/technical-design/index.js +0 -456
- package/dist/phases/technical-design/outcome.d.ts +0 -25
- package/dist/phases/technical-design/outcome.js +0 -41
- package/dist/phases/technical-design/prompts.d.ts +0 -8
- package/dist/phases/technical-design/prompts.js +0 -210
- package/dist/phases/technical-design-verification/agent.d.ts +0 -53
- package/dist/phases/technical-design-verification/agent.js +0 -186
- package/dist/phases/technical-design-verification/index.d.ts +0 -38
- package/dist/phases/technical-design-verification/index.js +0 -152
- package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
- package/dist/phases/technical-design-verification/prompts.js +0 -143
- package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
- package/dist/phases/test-cases-analysis/agent.js +0 -105
- package/dist/phases/test-cases-analysis/context.d.ts +0 -15
- package/dist/phases/test-cases-analysis/context.js +0 -86
- package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
- package/dist/phases/test-cases-analysis/formatters.js +0 -35
- package/dist/phases/test-cases-analysis/index.d.ts +0 -9
- package/dist/phases/test-cases-analysis/index.js +0 -175
- package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
- package/dist/phases/test-cases-analysis/outcome.js +0 -146
- package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
- package/dist/phases/test-cases-analysis/prompts.js +0 -171
- package/dist/phases/user-psychology/agent.d.ts +0 -16
- package/dist/phases/user-psychology/agent.js +0 -105
- package/dist/phases/user-psychology/context.d.ts +0 -10
- package/dist/phases/user-psychology/context.js +0 -65
- package/dist/phases/user-psychology/index.d.ts +0 -18
- package/dist/phases/user-psychology/index.js +0 -96
- package/dist/phases/user-psychology/prompts.d.ts +0 -2
- package/dist/phases/user-psychology/prompts.js +0 -41
- package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
- package/dist/phases/user-stories-analysis/agent.js +0 -105
- package/dist/phases/user-stories-analysis/context.d.ts +0 -15
- package/dist/phases/user-stories-analysis/context.js +0 -86
- package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
- package/dist/phases/user-stories-analysis/formatters.js +0 -32
- package/dist/phases/user-stories-analysis/index.d.ts +0 -9
- package/dist/phases/user-stories-analysis/index.js +0 -175
- package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
- package/dist/phases/user-stories-analysis/outcome.js +0 -146
- package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
- package/dist/phases/user-stories-analysis/prompts.js +0 -194
- package/dist/services/audit-logs.d.ts +0 -73
- package/dist/services/audit-logs.js +0 -174
- package/dist/services/branches.d.ts +0 -103
- package/dist/services/branches.js +0 -391
- package/dist/services/checklist.d.ts +0 -100
- package/dist/services/checklist.js +0 -259
- package/dist/services/coaching/coaching-agent.d.ts +0 -39
- package/dist/services/coaching/coaching-agent.js +0 -308
- package/dist/services/coaching/coaching-loop.d.ts +0 -62
- package/dist/services/coaching/coaching-loop.js +0 -265
- package/dist/services/coaching/index.d.ts +0 -8
- package/dist/services/coaching/index.js +0 -8
- package/dist/services/coaching/phase-coaching.d.ts +0 -47
- package/dist/services/coaching/phase-coaching.js +0 -60
- package/dist/services/coaching/self-rating.d.ts +0 -26
- package/dist/services/coaching/self-rating.js +0 -153
- package/dist/services/feedbacks.d.ts +0 -57
- package/dist/services/feedbacks.js +0 -264
- package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
- package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
- package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
- package/dist/services/phase-hooks/hook-executor.js +0 -167
- package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
- package/dist/services/phase-hooks/hook-logging.js +0 -41
- package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
- package/dist/services/phase-hooks/hook-runner.js +0 -83
- package/dist/services/phase-hooks/index.d.ts +0 -10
- package/dist/services/phase-hooks/index.js +0 -9
- package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
- package/dist/services/phase-hooks/plugin-loader.js +0 -207
- package/dist/services/phase-hooks/types.d.ts +0 -69
- package/dist/services/phase-hooks/types.js +0 -8
- package/dist/services/phase-ratings.d.ts +0 -70
- package/dist/services/phase-ratings.js +0 -143
- package/dist/services/product-logs.d.ts +0 -31
- package/dist/services/product-logs.js +0 -94
- package/dist/services/pull-requests.d.ts +0 -57
- package/dist/services/pull-requests.js +0 -186
- package/dist/services/quality-reports.d.ts +0 -45
- package/dist/services/quality-reports.js +0 -93
- package/dist/services/repo-config.d.ts +0 -17
- package/dist/services/repo-config.js +0 -50
- package/dist/services/skill-resolver.d.ts +0 -46
- package/dist/services/skill-resolver.js +0 -123
- package/dist/services/video/device-frames.d.ts +0 -34
- package/dist/services/video/device-frames.js +0 -513
- package/dist/services/video/index.d.ts +0 -66
- package/dist/services/video/index.js +0 -238
- package/dist/services/video/retry.d.ts +0 -20
- package/dist/services/video/retry.js +0 -76
- package/dist/services/video/screenshot-generator.d.ts +0 -69
- package/dist/services/video/screenshot-generator.js +0 -259
- package/dist/services/video/tts-generator.d.ts +0 -40
- package/dist/services/video/tts-generator.js +0 -121
- package/dist/services/video/video-assembler.d.ts +0 -45
- package/dist/services/video/video-assembler.js +0 -351
- package/dist/services/video/video-uploader.d.ts +0 -28
- package/dist/services/video/video-uploader.js +0 -108
- package/dist/skills/phase/adr-generation/SKILL.md +0 -51
- package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
- package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
- package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
- package/dist/skills/phase/autonomous/SKILL.md +0 -52
- package/dist/skills/phase/branch-planning/SKILL.md +0 -55
- package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
- package/dist/skills/phase/class-diagram/SKILL.md +0 -44
- package/dist/skills/phase/code-implementation/SKILL.md +0 -68
- package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
- package/dist/skills/phase/code-refine/SKILL.md +0 -62
- package/dist/skills/phase/code-testing/SKILL.md +0 -78
- package/dist/skills/phase/data-flow/SKILL.md +0 -82
- package/dist/skills/phase/er-diagram/SKILL.md +0 -71
- package/dist/skills/phase/flowchart/SKILL.md +0 -38
- package/dist/skills/phase/functional-testing/SKILL.md +0 -62
- package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
- package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
- package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
- package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
- package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
- package/dist/skills/phase/pr-execution/SKILL.md +0 -69
- package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
- package/dist/skills/phase/screen-flow/SKILL.md +0 -78
- package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
- package/dist/skills/phase/smoke-test/SKILL.md +0 -80
- package/dist/skills/phase/state-diagram/SKILL.md +0 -38
- package/dist/skills/phase/task/SKILL.md +0 -19
- package/dist/skills/phase/technical-design/SKILL.md +0 -75
- package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
- package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
- package/dist/skills/phase/user-psychology/SKILL.md +0 -135
- package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
- package/dist/supabase/client.d.ts +0 -34
- package/dist/supabase/client.js +0 -123
- package/dist/system/session-manager.d.ts +0 -67
- package/dist/system/session-manager.js +0 -300
- package/dist/system/sleep-notification.d.ts +0 -15
- package/dist/system/sleep-notification.js +0 -108
- package/dist/system/sleep-prevention.d.ts +0 -20
- package/dist/system/sleep-prevention.js +0 -112
- package/dist/tools/bootstrap.d.ts +0 -45
- package/dist/tools/bootstrap.js +0 -50
- package/dist/types/external-sources.d.ts +0 -22
- package/dist/types/external-sources.js +0 -23
- package/dist/types/index.d.ts +0 -206
- package/dist/types/index.js +0 -1
- package/dist/types/issues.d.ts +0 -37
- package/dist/types/issues.js +0 -1
- package/dist/types/llm-responses.d.ts +0 -114
- package/dist/types/llm-responses.js +0 -9
- package/dist/types/pipeline.d.ts +0 -28
- package/dist/types/pipeline.js +0 -4
- package/dist/updater/auto-updater.d.ts +0 -39
- package/dist/updater/auto-updater.js +0 -134
- package/dist/utils/conflict-resolver.d.ts +0 -49
- package/dist/utils/conflict-resolver.js +0 -201
- package/dist/utils/formatters.d.ts +0 -42
- package/dist/utils/formatters.js +0 -166
- package/dist/utils/git-branch-manager-async.d.ts +0 -127
- package/dist/utils/git-branch-manager-async.js +0 -425
- package/dist/utils/git-branch-manager.d.ts +0 -160
- package/dist/utils/git-branch-manager.js +0 -613
- package/dist/utils/git-push.d.ts +0 -43
- package/dist/utils/git-push.js +0 -136
- package/dist/utils/github-repo-info.d.ts +0 -26
- package/dist/utils/github-repo-info.js +0 -45
- package/dist/utils/image-downloader.d.ts +0 -32
- package/dist/utils/image-downloader.js +0 -152
- package/dist/utils/issue-phase-cli.d.ts +0 -26
- package/dist/utils/issue-phase-cli.js +0 -44
- package/dist/utils/json-extract.d.ts +0 -6
- package/dist/utils/json-extract.js +0 -44
- package/dist/utils/json-extractor.d.ts +0 -27
- package/dist/utils/json-extractor.js +0 -102
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.js +0 -167
- package/dist/utils/pipeline-logger.d.ts +0 -8
- package/dist/utils/pipeline-logger.js +0 -38
- package/dist/utils/validation.d.ts +0 -68
- package/dist/utils/validation.js +0 -229
- package/dist/utils/workflow-utils.d.ts +0 -22
- package/dist/utils/workflow-utils.js +0 -48
- package/dist/workspace/session-workspace.d.ts +0 -43
- package/dist/workspace/session-workspace.js +0 -90
- package/dist/workspace/workspace-manager.d.ts +0 -105
- package/dist/workspace/workspace-manager.js +0 -280
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Marker emitted on stdout carrying the SDK session id, so the desktop can
|
|
3
|
-
* persist it on the channel and pass it back via --resume next turn. Kept on
|
|
4
|
-
* its own line and free of logger formatting so it parses cleanly.
|
|
5
|
-
*/
|
|
6
|
-
export const SESSION_ID_MARKER = '__EDSGER_SESSION_ID__=';
|
|
7
|
-
/**
|
|
8
|
-
* Marker emitted on stdout for each background `cli_*` run still in flight when
|
|
9
|
-
* the turn ends. The desktop main process parses these, watches each run to
|
|
10
|
-
* completion (the turn process itself exits immediately), and then re-engages
|
|
11
|
-
* the agent via `--run-finished` so it reports results without the user having
|
|
12
|
-
* to ask. The JSON payload is `{ run_id, pid, log_path, command }`.
|
|
13
|
-
*/
|
|
14
|
-
export const CLI_RUN_MARKER = '__EDSGER_CLI_RUN__=';
|
|
15
|
-
/**
|
|
16
|
-
* `edsger session-turn <channelId>` — run one conversational agent turn for a
|
|
17
|
-
* chat session (an ai_assistant channel bound to a product).
|
|
18
|
-
*
|
|
19
|
-
* Spawned by the desktop app when the user sends a message in a session. It
|
|
20
|
-
* loads the channel's pending human messages, runs a single Claude Agent SDK
|
|
21
|
-
* turn with the full session toolbelt (createSessionMcpServer — query/action/
|
|
22
|
-
* engineering/cli + conversational + git/PR tools), then posts the reply back
|
|
23
|
-
* to the channel and marks the messages processed. The agent decides what to
|
|
24
|
-
* do (answer, generate stories/test cases, launch cli_* analyses, open PRs);
|
|
25
|
-
* there is no fixed pipeline.
|
|
26
|
-
*
|
|
27
|
-
* The per-turn work is split into {@link prepareSessionContext} (one-time
|
|
28
|
-
* workspace clone + toolbelt + prompt build) and {@link runTurn} (one agent
|
|
29
|
-
* turn against that context). The one-shot `session-turn` command does both
|
|
30
|
-
* once; the long-lived `session-serve` daemon prepares the context once and
|
|
31
|
-
* calls {@link runTurn} repeatedly, keeping the SDK session warm across turns.
|
|
32
|
-
*/
|
|
33
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
34
|
-
import { buildSessionAgentOptions, buildSessionSystemPrompt, buildSessionUserPrompt, createSessionMcpServer, listActiveCliRuns, loadExternalMcpServers, SESSION_MAX_TURNS, } from 'edsger-tools';
|
|
35
|
-
import { callMcpEndpoint } from '../../api/mcp-client.js';
|
|
36
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
37
|
-
import { getToolDeps } from '../../tools/bootstrap.js';
|
|
38
|
-
import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
39
|
-
import { cloneSessionRepos, describeSessionRepos, } from '../../workspace/session-workspace.js';
|
|
40
|
-
/**
|
|
41
|
-
* Clone (or refresh) the session product's repositories into a local session
|
|
42
|
-
* directory and produce the agent's cwd + a prompt note describing the layout.
|
|
43
|
-
*
|
|
44
|
-
* One session dir holds every repo as a subdirectory; clones are reused across
|
|
45
|
-
* turns. Best-effort: if nothing can be cloned (no GitHub config, private repo
|
|
46
|
-
* the token can't reach), the agent still runs — it can answer, file issues,
|
|
47
|
-
* etc. — just without a checked-out codebase.
|
|
48
|
-
*/
|
|
49
|
-
async function prepareSessionWorkspace(opts) {
|
|
50
|
-
let workspace = null;
|
|
51
|
-
try {
|
|
52
|
-
workspace = await cloneSessionRepos(opts);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
logWarning(`Could not prepare session repos: ${error instanceof Error ? error.message : String(error)}`);
|
|
56
|
-
}
|
|
57
|
-
return {
|
|
58
|
-
sessionDir: workspace?.sessionDir,
|
|
59
|
-
repoScopeNote: workspace ? describeSessionRepos(workspace.repos) : '',
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Build the one-time session context: clone repos, assemble the MCP toolbelt
|
|
64
|
-
* and external servers, and build the system prompt. Cheap to call once per
|
|
65
|
-
* session process; expensive to call per turn (which is why the daemon doesn't).
|
|
66
|
-
*/
|
|
67
|
-
export async function prepareSessionContext(options) {
|
|
68
|
-
const { channelId, productId, repositoryIds = [], resumeSessionId, verbose = false, } = options;
|
|
69
|
-
// Clone the product's in-scope repositories into a local session directory
|
|
70
|
-
// so the agent's Read/Grep/Glob can inspect the real code.
|
|
71
|
-
const { sessionDir, repoScopeNote } = await prepareSessionWorkspace({
|
|
72
|
-
channelId,
|
|
73
|
-
productId,
|
|
74
|
-
repositoryIds,
|
|
75
|
-
verbose,
|
|
76
|
-
});
|
|
77
|
-
const deps = getToolDeps({
|
|
78
|
-
verbose,
|
|
79
|
-
context: { productId, channelId, repositoryIds },
|
|
80
|
-
});
|
|
81
|
-
const sessionServer = createSessionMcpServer(deps);
|
|
82
|
-
// User-configured external MCP servers (~/.edsger/mcp.json). Best-effort.
|
|
83
|
-
const external = loadExternalMcpServers({ warn: logWarning });
|
|
84
|
-
if (external.names.length > 0) {
|
|
85
|
-
logInfo(`External MCP servers: ${external.names.join(', ')}`);
|
|
86
|
-
}
|
|
87
|
-
const systemPrompt = buildSessionSystemPrompt({
|
|
88
|
-
channelId,
|
|
89
|
-
productId,
|
|
90
|
-
repositoryIds,
|
|
91
|
-
repoScopeNote,
|
|
92
|
-
externalMcpNames: external.names,
|
|
93
|
-
});
|
|
94
|
-
return {
|
|
95
|
-
channelId,
|
|
96
|
-
productId,
|
|
97
|
-
repositoryIds,
|
|
98
|
-
verbose,
|
|
99
|
-
sessionDir,
|
|
100
|
-
systemPrompt,
|
|
101
|
-
sessionServer,
|
|
102
|
-
external,
|
|
103
|
-
sdkSessionId: resumeSessionId ?? '',
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
/** Emit the SDK session id so the desktop can persist it for the next turn. */
|
|
107
|
-
function emitSessionId(id) {
|
|
108
|
-
if (id) {
|
|
109
|
-
process.stdout.write(`\n${SESSION_ID_MARKER}${id}\n`);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Emit a marker for every background cli_* run still in flight, so the desktop
|
|
114
|
-
* watcher can poll each to completion and re-engage the agent.
|
|
115
|
-
*/
|
|
116
|
-
function emitActiveCliRuns() {
|
|
117
|
-
for (const run of listActiveCliRuns()) {
|
|
118
|
-
const payload = JSON.stringify({
|
|
119
|
-
run_id: run.run_id,
|
|
120
|
-
pid: run.pid,
|
|
121
|
-
log_path: run.log_path,
|
|
122
|
-
command: run.command,
|
|
123
|
-
});
|
|
124
|
-
process.stdout.write(`\n${CLI_RUN_MARKER}${payload}\n`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Run a single agent turn against an already-prepared {@link SessionContext}.
|
|
129
|
-
* Mutates `ctx.sdkSessionId` so the next turn resumes the same SDK conversation
|
|
130
|
-
* (and prompt cache). Safe to call repeatedly for the life of the process.
|
|
131
|
-
*/
|
|
132
|
-
export async function runTurn(ctx, opts = {}) {
|
|
133
|
-
const { runFinished } = opts;
|
|
134
|
-
// 1. Decide what drives this turn. A normal turn replays the channel's
|
|
135
|
-
// pending human messages; a watcher-triggered follow-up replays a
|
|
136
|
-
// synthetic prompt about the background run that just finished.
|
|
137
|
-
let messages = [];
|
|
138
|
-
if (runFinished) {
|
|
139
|
-
logInfo(`Reporting completion of background run ${runFinished.runId} for session ${ctx.channelId}`);
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
const pendingResult = (await callMcpEndpoint('chat/messages/pending', {
|
|
143
|
-
channel_id: ctx.channelId,
|
|
144
|
-
}));
|
|
145
|
-
messages = pendingResult.messages ?? [];
|
|
146
|
-
if (messages.length === 0) {
|
|
147
|
-
logInfo('No pending messages for this session — nothing to do.');
|
|
148
|
-
return;
|
|
149
|
-
}
|
|
150
|
-
logInfo(`Processing ${messages.length} message(s) for session ${ctx.channelId}`);
|
|
151
|
-
}
|
|
152
|
-
const userPrompt = runFinished
|
|
153
|
-
? buildRunFinishedPrompt(runFinished)
|
|
154
|
-
: buildSessionUserPrompt(messages);
|
|
155
|
-
// 2. Run one SDK turn. Resume the prior SDK session when we have its id so
|
|
156
|
-
// the conversation (and prompt cache) carries across turns. Point the
|
|
157
|
-
// agent's cwd at the session directory so its read-only file tools resolve
|
|
158
|
-
// against the cloned repos. Prompt + tool/MCP wiring come from the shared
|
|
159
|
-
// session core (edsger-tools) so CLI and worker can't drift apart.
|
|
160
|
-
let finalResponse = '';
|
|
161
|
-
try {
|
|
162
|
-
for await (const message of query({
|
|
163
|
-
prompt: userPrompt,
|
|
164
|
-
options: {
|
|
165
|
-
...buildSessionAgentOptions(ctx.systemPrompt, {
|
|
166
|
-
sessionServer: ctx.sessionServer,
|
|
167
|
-
externalServers: ctx.external.servers,
|
|
168
|
-
externalNames: ctx.external.names,
|
|
169
|
-
sessionDir: ctx.sessionDir,
|
|
170
|
-
maxTurns: SESSION_MAX_TURNS,
|
|
171
|
-
}),
|
|
172
|
-
model: DEFAULT_MODEL,
|
|
173
|
-
...(ctx.sdkSessionId ? { resume: ctx.sdkSessionId } : {}),
|
|
174
|
-
},
|
|
175
|
-
})) {
|
|
176
|
-
const msg = message;
|
|
177
|
-
// The system/init and result messages carry the (possibly new) session
|
|
178
|
-
// id — keep the latest so we persist what the next turn should resume.
|
|
179
|
-
if (msg.session_id) {
|
|
180
|
-
ctx.sdkSessionId = msg.session_id;
|
|
181
|
-
}
|
|
182
|
-
if (ctx.verbose && msg.type === 'assistant') {
|
|
183
|
-
logInfo('· agent step');
|
|
184
|
-
}
|
|
185
|
-
if (msg.type === 'result') {
|
|
186
|
-
finalResponse = msg.result || '';
|
|
187
|
-
break;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
const reason = error instanceof Error ? error.message : String(error);
|
|
193
|
-
logError(`Session turn failed: ${reason}`);
|
|
194
|
-
await callMcpEndpoint('chat/messages/send_ai', {
|
|
195
|
-
channel_id: ctx.channelId,
|
|
196
|
-
content: `I hit an error processing that: ${reason}`,
|
|
197
|
-
message_type: 'text',
|
|
198
|
-
metadata: {},
|
|
199
|
-
}).catch(() => undefined);
|
|
200
|
-
emitSessionId(ctx.sdkSessionId);
|
|
201
|
-
emitActiveCliRuns();
|
|
202
|
-
await markProcessed(messages);
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
// 3. Post the final reply (the agent may also have posted via
|
|
206
|
-
// send_chat_message during the turn; this carries the closing summary).
|
|
207
|
-
const reply = finalResponse.trim();
|
|
208
|
-
if (reply) {
|
|
209
|
-
await callMcpEndpoint('chat/messages/send_ai', {
|
|
210
|
-
channel_id: ctx.channelId,
|
|
211
|
-
content: reply,
|
|
212
|
-
message_type: 'text',
|
|
213
|
-
metadata: {},
|
|
214
|
-
}).catch((e) => {
|
|
215
|
-
logError(`Failed to post reply: ${e instanceof Error ? e.message : String(e)}`);
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
// 4. Mark the triggering messages processed so they aren't re-run. (No-op for
|
|
219
|
-
// a watcher follow-up, which has no triggering human messages.)
|
|
220
|
-
await markProcessed(messages);
|
|
221
|
-
// 5. Emit the SDK session id so the desktop persists it for the next turn,
|
|
222
|
-
// plus a marker for any background run launched this turn so the watcher
|
|
223
|
-
// keeps following it to completion.
|
|
224
|
-
emitSessionId(ctx.sdkSessionId);
|
|
225
|
-
emitActiveCliRuns();
|
|
226
|
-
logSuccess('Session turn complete.');
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* One-shot `session-turn`: prepare the context and run a single turn. Retained
|
|
230
|
-
* for callers that want the previous per-turn-process behaviour (and as the
|
|
231
|
-
* building block the daemon reuses).
|
|
232
|
-
*/
|
|
233
|
-
export async function runSessionTurnCommand(options) {
|
|
234
|
-
const ctx = await prepareSessionContext(options);
|
|
235
|
-
await runTurn(ctx, { runFinished: options.runFinished });
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* The synthetic user prompt for a watcher-triggered follow-up turn. Steers the
|
|
239
|
-
* agent to inspect what the finished run produced and report it — explicitly
|
|
240
|
-
* NOT to ask the user whether it should check.
|
|
241
|
-
*/
|
|
242
|
-
function buildRunFinishedPrompt(runFinished) {
|
|
243
|
-
const which = runFinished.command
|
|
244
|
-
? `the \`${runFinished.command}\` analysis (run ${runFinished.runId})`
|
|
245
|
-
: `a background analysis you launched earlier (run ${runFinished.runId})`;
|
|
246
|
-
return `${which} just finished. Inspect what it produced — call get_cli_run with run_id "${runFinished.runId}" for the log tail, then use the list_* / get_* tools (e.g. list_issues) to see the findings it filed. Summarize the results for the user via send_chat_message. Do not ask whether you should check — just report what you found. If nothing of note was produced, say so briefly.`;
|
|
247
|
-
}
|
|
248
|
-
async function markProcessed(messages) {
|
|
249
|
-
for (const m of messages) {
|
|
250
|
-
await callMcpEndpoint('chat/messages/mark_processed', {
|
|
251
|
-
message_id: m.id,
|
|
252
|
-
}).catch(() => undefined);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { runSmokeTest, } from '../../phases/smoke-test/index.js';
|
|
2
|
-
import { deregisterSession, registerSession, } from '../../system/session-manager.js';
|
|
3
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
4
|
-
import { validateConfiguration } from '../../utils/validation.js';
|
|
5
|
-
export const runSmokeTestCommand = async (options) => {
|
|
6
|
-
const { releaseId } = options;
|
|
7
|
-
if (!releaseId) {
|
|
8
|
-
throw new Error('Release ID is required for smoke-test');
|
|
9
|
-
}
|
|
10
|
-
const config = validateConfiguration({
|
|
11
|
-
verbose: options.verbose,
|
|
12
|
-
});
|
|
13
|
-
await registerSession({ command: 'smoke-test' });
|
|
14
|
-
logInfo(`Starting smoke-test generation for release: ${releaseId}`);
|
|
15
|
-
try {
|
|
16
|
-
const result = await runSmokeTest({
|
|
17
|
-
releaseId,
|
|
18
|
-
verbose: options.verbose,
|
|
19
|
-
}, config);
|
|
20
|
-
if (result.status === 'success') {
|
|
21
|
-
logInfo(result.isSnapshot
|
|
22
|
-
? `Release: ${result.releaseTag} (snapshot — not yet published on GitHub)`
|
|
23
|
-
: `Release: ${result.releaseTag}`);
|
|
24
|
-
logInfo(`Previous: ${result.previousReleaseTag ?? '(none)'}`);
|
|
25
|
-
logInfo(`Cases generated: ${result.casesCount}`);
|
|
26
|
-
logInfo('View in the Release detail page of your product dashboard.');
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
logError(`Smoke-test generation failed: ${result.summary}`);
|
|
30
|
-
process.exitCode = 1;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
logError(`Smoke-test generation failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
35
|
-
process.exitCode = 1;
|
|
36
|
-
}
|
|
37
|
-
finally {
|
|
38
|
-
await deregisterSession();
|
|
39
|
-
}
|
|
40
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger state-diagram <productId> --diagram-id <id>
|
|
3
|
-
* Maps a state machine into the diagrams tables (type='state').
|
|
4
|
-
*/
|
|
5
|
-
import { type DiagramCommandOptions } from '../diagram-shared/index.js';
|
|
6
|
-
export type StateDiagramCliOptions = DiagramCommandOptions;
|
|
7
|
-
export declare function runStateDiagram(productId: string | undefined, options: StateDiagramCliOptions): Promise<void>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: edsger state-diagram <productId> --diagram-id <id>
|
|
3
|
-
* Maps a state machine into the diagrams tables (type='state').
|
|
4
|
-
*/
|
|
5
|
-
import { runStateDiagramPhase } from '../../phases/state-diagram/index.js';
|
|
6
|
-
import { runDiagramCommand, } from '../diagram-shared/index.js';
|
|
7
|
-
export function runStateDiagram(productId, options) {
|
|
8
|
-
return runDiagramCommand('state-diagram', productId, options, runStateDiagramPhase);
|
|
9
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-aws <teamId>`
|
|
3
|
-
*
|
|
4
|
-
* Uses the standard AWS credential chain (env vars, ~/.aws/credentials,
|
|
5
|
-
* IAM role, etc.) to discover services by their `Service` tag and
|
|
6
|
-
* optionally pull cost data from Cost Explorer.
|
|
7
|
-
*
|
|
8
|
-
* Does NOT store AWS credentials — relies on whatever the user's shell
|
|
9
|
-
* already has configured (same as running `aws` CLI directly).
|
|
10
|
-
*/
|
|
11
|
-
export interface SyncAwsOptions {
|
|
12
|
-
verbose?: boolean;
|
|
13
|
-
region?: string;
|
|
14
|
-
noCost?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare function runSyncAws(teamId: string, options?: SyncAwsOptions): Promise<void>;
|
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-aws <teamId>`
|
|
3
|
-
*
|
|
4
|
-
* Uses the standard AWS credential chain (env vars, ~/.aws/credentials,
|
|
5
|
-
* IAM role, etc.) to discover services by their `Service` tag and
|
|
6
|
-
* optionally pull cost data from Cost Explorer.
|
|
7
|
-
*
|
|
8
|
-
* Does NOT store AWS credentials — relies on whatever the user's shell
|
|
9
|
-
* already has configured (same as running `aws` CLI directly).
|
|
10
|
-
*/
|
|
11
|
-
import { exec as execCb } from 'child_process';
|
|
12
|
-
import { promisify } from 'util';
|
|
13
|
-
import { callMcpEndpoint } from '../../api/mcp-client.js';
|
|
14
|
-
import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
15
|
-
const exec = promisify(execCb);
|
|
16
|
-
async function runAwsCmd(args, region) {
|
|
17
|
-
const regionFlag = region ? ` --region ${region}` : '';
|
|
18
|
-
try {
|
|
19
|
-
const { stdout } = await exec(`aws ${args}${regionFlag} --output json`, {
|
|
20
|
-
timeout: 30_000,
|
|
21
|
-
});
|
|
22
|
-
return stdout;
|
|
23
|
-
}
|
|
24
|
-
catch (err) {
|
|
25
|
-
const e = err;
|
|
26
|
-
throw new Error(e.stderr?.trim() || e.message);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
async function checkAwsCli() {
|
|
30
|
-
try {
|
|
31
|
-
await exec('aws --version', { timeout: 5000 });
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export async function runSyncAws(teamId, options = {}) {
|
|
39
|
-
const { verbose, noCost } = options;
|
|
40
|
-
const region = options.region ??
|
|
41
|
-
process.env.AWS_REGION ??
|
|
42
|
-
process.env.AWS_DEFAULT_REGION ??
|
|
43
|
-
'us-east-1';
|
|
44
|
-
logInfo(`Starting AWS sync for team ${teamId} (region: ${region})`);
|
|
45
|
-
if (!(await checkAwsCli())) {
|
|
46
|
-
logError('AWS CLI not found. Install it from https://aws.amazon.com/cli/ ' +
|
|
47
|
-
'and configure credentials with `aws configure`.');
|
|
48
|
-
process.exit(1);
|
|
49
|
-
}
|
|
50
|
-
// Verify credentials work
|
|
51
|
-
try {
|
|
52
|
-
const identity = await runAwsCmd('sts get-caller-identity', region);
|
|
53
|
-
const parsed = JSON.parse(identity);
|
|
54
|
-
logInfo(`Authenticated as ${parsed.Arn} (account ${parsed.Account})`);
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
logError(`AWS credentials not configured or invalid: ${err instanceof Error ? err.message : String(err)}. ` +
|
|
58
|
-
'Run `aws configure` or export AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY.');
|
|
59
|
-
process.exit(1);
|
|
60
|
-
}
|
|
61
|
-
// ── Phase 1: Resource discovery by Service tag ──
|
|
62
|
-
logInfo('Phase 1: Discovering resources by Service tag...');
|
|
63
|
-
const resources = [];
|
|
64
|
-
try {
|
|
65
|
-
let paginationToken;
|
|
66
|
-
do {
|
|
67
|
-
const tokenArg = paginationToken
|
|
68
|
-
? ` --pagination-token "${paginationToken}"`
|
|
69
|
-
: '';
|
|
70
|
-
const raw = await runAwsCmd(`resourcegroupstaggingapi get-resources --tag-filters Key=Service${tokenArg}`, region);
|
|
71
|
-
const parsed = JSON.parse(raw);
|
|
72
|
-
resources.push(...parsed.ResourceTagMappingList);
|
|
73
|
-
paginationToken = parsed.PaginationToken || undefined;
|
|
74
|
-
} while (paginationToken);
|
|
75
|
-
}
|
|
76
|
-
catch (err) {
|
|
77
|
-
logError(`Failed to query tagged resources: ${err instanceof Error ? err.message : String(err)}`);
|
|
78
|
-
process.exit(1);
|
|
79
|
-
}
|
|
80
|
-
logInfo(`Found ${resources.length} tagged resources`);
|
|
81
|
-
// Group by Service tag value
|
|
82
|
-
const byService = new Map();
|
|
83
|
-
for (const res of resources) {
|
|
84
|
-
const serviceTag = res.Tags.find((t) => t.Key === 'Service')?.Value;
|
|
85
|
-
if (!serviceTag) {
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
88
|
-
if (!byService.has(serviceTag)) {
|
|
89
|
-
byService.set(serviceTag, []);
|
|
90
|
-
}
|
|
91
|
-
byService.get(serviceTag).push(res);
|
|
92
|
-
}
|
|
93
|
-
logInfo(`Mapped to ${byService.size} distinct services`);
|
|
94
|
-
let created = 0;
|
|
95
|
-
let updated = 0;
|
|
96
|
-
let componentCount = 0;
|
|
97
|
-
for (const [serviceName, svcResources] of byService) {
|
|
98
|
-
const teamTag = svcResources[0]?.Tags.find((t) => t.Key === 'Team')?.Value;
|
|
99
|
-
// Tier signals
|
|
100
|
-
const hasMultiAz = svcResources.some((r) => r.ResourceARN.includes(':rds:') ||
|
|
101
|
-
r.ResourceARN.includes(':elasticache:'));
|
|
102
|
-
const hasLambda = svcResources.some((r) => r.ResourceARN.includes(':lambda:'));
|
|
103
|
-
const hasEcs = svcResources.some((r) => r.ResourceARN.includes(':ecs:'));
|
|
104
|
-
const tier = hasMultiAz || (hasEcs && svcResources.length > 3)
|
|
105
|
-
? 'critical'
|
|
106
|
-
: 'standard';
|
|
107
|
-
const kind = hasLambda && !hasEcs ? 'job' : 'service';
|
|
108
|
-
if (verbose) {
|
|
109
|
-
logInfo(` ${serviceName}: ${svcResources.length} resources, tier=${tier}`);
|
|
110
|
-
}
|
|
111
|
-
try {
|
|
112
|
-
const result = (await callMcpEndpoint('services.upsert_draft', {
|
|
113
|
-
team_id: teamId,
|
|
114
|
-
name: serviceName,
|
|
115
|
-
kind,
|
|
116
|
-
tier,
|
|
117
|
-
source: 'aws',
|
|
118
|
-
source_ref: `aws:${region}:${serviceName}`,
|
|
119
|
-
field_sources: {
|
|
120
|
-
name: {
|
|
121
|
-
value: serviceName,
|
|
122
|
-
confidence: 1.0,
|
|
123
|
-
source: 'aws_tag',
|
|
124
|
-
source_detail: 'Tag:Service',
|
|
125
|
-
},
|
|
126
|
-
tier: {
|
|
127
|
-
value: tier,
|
|
128
|
-
confidence: hasMultiAz ? 0.8 : 0.5,
|
|
129
|
-
source: 'aws_resource_analysis',
|
|
130
|
-
},
|
|
131
|
-
...(teamTag
|
|
132
|
-
? {
|
|
133
|
-
owner: {
|
|
134
|
-
value: teamTag,
|
|
135
|
-
confidence: 0.8,
|
|
136
|
-
source: 'aws_tag',
|
|
137
|
-
source_detail: 'Tag:Team',
|
|
138
|
-
},
|
|
139
|
-
}
|
|
140
|
-
: {}),
|
|
141
|
-
},
|
|
142
|
-
needs_review: false,
|
|
143
|
-
}));
|
|
144
|
-
if (result.action === 'created') {
|
|
145
|
-
created++;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
updated++;
|
|
149
|
-
}
|
|
150
|
-
// Add resource components
|
|
151
|
-
for (const res of svcResources) {
|
|
152
|
-
const arnParts = res.ResourceARN.split(':');
|
|
153
|
-
const resourceType = arnParts[2] ?? 'unknown';
|
|
154
|
-
try {
|
|
155
|
-
await callMcpEndpoint('services.add_component', {
|
|
156
|
-
service_id: result.service.id,
|
|
157
|
-
kind: 'aws_resource',
|
|
158
|
-
provider: 'aws',
|
|
159
|
-
external_id: res.ResourceARN,
|
|
160
|
-
metadata: {
|
|
161
|
-
resource_type: resourceType,
|
|
162
|
-
region,
|
|
163
|
-
tags: Object.fromEntries(res.Tags.map((t) => [t.Key, t.Value])),
|
|
164
|
-
},
|
|
165
|
-
});
|
|
166
|
-
componentCount++;
|
|
167
|
-
}
|
|
168
|
-
catch {
|
|
169
|
-
// ignore duplicates
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
catch (err) {
|
|
174
|
-
logWarning(`Failed to sync "${serviceName}": ${err instanceof Error ? err.message : String(err)}`);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
// ── Phase 2: Cost data (optional) ──
|
|
178
|
-
if (!noCost) {
|
|
179
|
-
logInfo('Phase 2: Fetching cost data from Cost Explorer...');
|
|
180
|
-
const now = new Date();
|
|
181
|
-
const endDate = now.toISOString().slice(0, 10);
|
|
182
|
-
const startDate = new Date(now.getTime() - 30 * 24 * 3600 * 1000)
|
|
183
|
-
.toISOString()
|
|
184
|
-
.slice(0, 10);
|
|
185
|
-
try {
|
|
186
|
-
const raw = await runAwsCmd(`ce get-cost-and-usage ` +
|
|
187
|
-
`--time-period Start=${startDate},End=${endDate} ` +
|
|
188
|
-
`--granularity MONTHLY ` +
|
|
189
|
-
`--metrics BlendedCost ` +
|
|
190
|
-
`--group-by Type=TAG,Key=Service`, region);
|
|
191
|
-
const parsed = JSON.parse(raw);
|
|
192
|
-
for (const period of parsed.ResultsByTime) {
|
|
193
|
-
for (const group of period.Groups) {
|
|
194
|
-
const tagValue = group.Keys[0]?.replace('Service$', '') ?? '';
|
|
195
|
-
if (!tagValue || tagValue === '') {
|
|
196
|
-
continue;
|
|
197
|
-
}
|
|
198
|
-
const cost = parseFloat(group.Metrics.BlendedCost.Amount);
|
|
199
|
-
if (cost <= 0) {
|
|
200
|
-
continue;
|
|
201
|
-
}
|
|
202
|
-
if (verbose) {
|
|
203
|
-
logInfo(` ${tagValue}: $${cost.toFixed(2)}/month`);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
logSuccess('Cost data fetched (displayed above, not yet persisted to DB)');
|
|
208
|
-
}
|
|
209
|
-
catch (err) {
|
|
210
|
-
logWarning(`Cost Explorer query failed (may need ce:GetCostAndUsage permission): ${err instanceof Error ? err.message : String(err)}`);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
logSuccess(`AWS sync completed: ${created} created, ${updated} updated, ${componentCount} resource components from ${byService.size} services`);
|
|
214
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-datadog <teamId>`
|
|
3
|
-
*
|
|
4
|
-
* Imports services from a Datadog Service Catalog into the edsger service
|
|
5
|
-
* catalog. Reads DD_API_KEY, DD_APP_KEY, DD_SITE from process.env
|
|
6
|
-
* (populated by `edsger config set` or desktop credentials).
|
|
7
|
-
*
|
|
8
|
-
* Flow:
|
|
9
|
-
* 1. Fetch all service definitions from Datadog API
|
|
10
|
-
* 2. Map each to an edsger service (name, tier, owner, repos, dashboards)
|
|
11
|
-
* 3. Upsert via MCP endpoints (services.upsert_draft, services.add_component)
|
|
12
|
-
*/
|
|
13
|
-
export interface SyncDatadogOptions {
|
|
14
|
-
verbose?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export declare function runSyncDatadog(teamId: string, options?: SyncDatadogOptions): Promise<void>;
|