edsger 0.76.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 -1218
- 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/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 -40
- package/dist/commands/quality-benchmark/index.js +0 -219
- 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/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 -261
- package/dist/phases/find-architecture/prompts.d.ts +0 -31
- package/dist/phases/find-architecture/prompts.js +0 -128
- 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 -236
- 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/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -48
- package/dist/phases/find-shared/mcp.js +0 -125
- 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-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -298
- package/dist/phases/find-smells/prompts.d.ts +0 -30
- package/dist/phases/find-smells/prompts.js +0 -129
- 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/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -194
- 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 -22
- package/dist/phases/quality-benchmark/parsers.js +0 -1101
- 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 -1174
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -636
- 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 -312
- 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,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-org-repos <teamId>`
|
|
3
|
-
*
|
|
4
|
-
* Reads the team's configured github_org and fetches all repos from that org
|
|
5
|
-
* server-side (via the Edsger GitHub App, falling back to the user's personal
|
|
6
|
-
* GitHub token), then upserts a repositories row for each repo.
|
|
7
|
-
*/
|
|
8
|
-
import { syncOrgRepos } from '../../phases/sync-org-repos/index.js';
|
|
9
|
-
import { getSupabase, hasSupabaseSession } from '../../supabase/client.js';
|
|
10
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
11
|
-
const ORG_NAME_RE = /^[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$/;
|
|
12
|
-
export async function runSyncOrgRepos(teamId, options = {}) {
|
|
13
|
-
const { verbose } = options;
|
|
14
|
-
if (!hasSupabaseSession()) {
|
|
15
|
-
logError('Supabase session unavailable. Sign in to the Edsger desktop app to authorize the CLI.');
|
|
16
|
-
process.exit(1);
|
|
17
|
-
}
|
|
18
|
-
const supabase = getSupabase();
|
|
19
|
-
let orgLogin = options.org;
|
|
20
|
-
if (!orgLogin) {
|
|
21
|
-
const { data: team, error } = await supabase
|
|
22
|
-
.from('teams')
|
|
23
|
-
.select('github_org')
|
|
24
|
-
.eq('id', teamId)
|
|
25
|
-
.single();
|
|
26
|
-
if (error || !team) {
|
|
27
|
-
logError(`Team not found: ${teamId}`);
|
|
28
|
-
process.exit(1);
|
|
29
|
-
}
|
|
30
|
-
orgLogin = team.github_org ?? undefined;
|
|
31
|
-
if (!orgLogin) {
|
|
32
|
-
logError('No GitHub organization configured for this team. Set it in team settings first, or pass --org <name>.');
|
|
33
|
-
process.exit(1);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
if (!ORG_NAME_RE.test(orgLogin) || orgLogin.length > 39) {
|
|
37
|
-
logError(`Invalid GitHub organization name: "${orgLogin}"`);
|
|
38
|
-
process.exit(1);
|
|
39
|
-
}
|
|
40
|
-
const { data: { user }, } = await supabase.auth.getUser();
|
|
41
|
-
if (!user) {
|
|
42
|
-
logError('Not authenticated');
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
logInfo(`Syncing repos from org "${orgLogin}" into team ${teamId}`);
|
|
46
|
-
const result = await syncOrgRepos({
|
|
47
|
-
teamId,
|
|
48
|
-
orgLogin,
|
|
49
|
-
userId: user.id,
|
|
50
|
-
verbose,
|
|
51
|
-
});
|
|
52
|
-
if (result.status === 'success') {
|
|
53
|
-
logSuccess(result.message);
|
|
54
|
-
logInfo(`Total: ${result.total} · created: ${result.created} · updated: ${result.skipped}`);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
logError(result.message);
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-sentry-issues <productId>`
|
|
3
|
-
*
|
|
4
|
-
* Reads Sentry credentials from process.env (populated by `edsger config
|
|
5
|
-
* set` via ~/.edsger/env.json or by real environment variables). For an
|
|
6
|
-
* MVP we intentionally don't put per-product Sentry config in the
|
|
7
|
-
* database — the auth token is user-scoped, and org/project rarely
|
|
8
|
-
* change. If the friction shows up, follow up by adding columns on the
|
|
9
|
-
* products table and a settings UI.
|
|
10
|
-
*/
|
|
11
|
-
export interface SyncSentryIssuesCliOptions {
|
|
12
|
-
verbose?: boolean;
|
|
13
|
-
}
|
|
14
|
-
export declare function runSyncSentryIssues(productId: string, options?: SyncSentryIssuesCliOptions): Promise<void>;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-sentry-issues <productId>`
|
|
3
|
-
*
|
|
4
|
-
* Reads Sentry credentials from process.env (populated by `edsger config
|
|
5
|
-
* set` via ~/.edsger/env.json or by real environment variables). For an
|
|
6
|
-
* MVP we intentionally don't put per-product Sentry config in the
|
|
7
|
-
* database — the auth token is user-scoped, and org/project rarely
|
|
8
|
-
* change. If the friction shows up, follow up by adding columns on the
|
|
9
|
-
* products table and a settings UI.
|
|
10
|
-
*/
|
|
11
|
-
import { syncSentryIssues } from '../../phases/sync-sentry-issues/index.js';
|
|
12
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
13
|
-
/**
|
|
14
|
-
* Pull Sentry creds from env. Returns a list of missing variable names so
|
|
15
|
-
* the CLI can give one clear "set these" message instead of dribbling
|
|
16
|
-
* errors.
|
|
17
|
-
*/
|
|
18
|
-
function readSentryEnv() {
|
|
19
|
-
const authToken = process.env.SENTRY_AUTH_TOKEN ?? '';
|
|
20
|
-
const org = process.env.SENTRY_ORG ?? '';
|
|
21
|
-
const project = process.env.SENTRY_PROJECT ?? '';
|
|
22
|
-
// SENTRY_URL is the official sentry-cli convention. SENTRY_BASE_URL is
|
|
23
|
-
// the older name we shipped first; accept both with the new one winning
|
|
24
|
-
// so users with the old desktop install + new CLI keep working.
|
|
25
|
-
const url = process.env.SENTRY_URL || process.env.SENTRY_BASE_URL || undefined;
|
|
26
|
-
const missing = [];
|
|
27
|
-
if (!authToken) {
|
|
28
|
-
missing.push('SENTRY_AUTH_TOKEN');
|
|
29
|
-
}
|
|
30
|
-
if (!org) {
|
|
31
|
-
missing.push('SENTRY_ORG');
|
|
32
|
-
}
|
|
33
|
-
if (!project) {
|
|
34
|
-
missing.push('SENTRY_PROJECT');
|
|
35
|
-
}
|
|
36
|
-
if (missing.length > 0) {
|
|
37
|
-
return { ok: false, missing };
|
|
38
|
-
}
|
|
39
|
-
return { ok: true, env: { authToken, org, project, baseUrl: url } };
|
|
40
|
-
}
|
|
41
|
-
export async function runSyncSentryIssues(productId, options = {}) {
|
|
42
|
-
const { verbose } = options;
|
|
43
|
-
logInfo(`Starting Sentry issue sync for product ${productId}`);
|
|
44
|
-
const env = readSentryEnv();
|
|
45
|
-
if (!env.ok) {
|
|
46
|
-
logError(`Sentry not configured. Missing: ${env.missing.join(', ')}. ` +
|
|
47
|
-
`Configure in the desktop app (Product Settings → Credentials) or ` +
|
|
48
|
-
`set them with \`edsger config set <KEY>=<VALUE>\`. ` +
|
|
49
|
-
`Optional: SENTRY_URL for self-hosted Sentry.`);
|
|
50
|
-
process.exit(1);
|
|
51
|
-
}
|
|
52
|
-
const result = await syncSentryIssues({
|
|
53
|
-
productId,
|
|
54
|
-
authToken: env.env.authToken,
|
|
55
|
-
org: env.env.org,
|
|
56
|
-
project: env.env.project,
|
|
57
|
-
baseUrl: env.env.baseUrl,
|
|
58
|
-
verbose,
|
|
59
|
-
});
|
|
60
|
-
if (result.status === 'success') {
|
|
61
|
-
logSuccess(`Sentry sync completed: ${result.message}`);
|
|
62
|
-
if (result.source) {
|
|
63
|
-
logInfo(`Source: ${result.source}`);
|
|
64
|
-
}
|
|
65
|
-
if (result.fetchedCount !== undefined) {
|
|
66
|
-
logInfo(`Fetched ${result.fetchedCount} · created ${result.createdCount ?? 0} · updated ${result.updatedCount ?? 0} · refreshed ${result.refreshedCount ?? 0} · deleted ${result.deletedCount ?? 0}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
logError(`Sentry sync failed: ${result.message}`);
|
|
71
|
-
process.exit(1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-terraform <teamId>`
|
|
3
|
-
*
|
|
4
|
-
* Reads the team's terraform_repo_full_name from the DB, clones the repo,
|
|
5
|
-
* and lets the agent (Claude SDK) analyse .tf files to extract service
|
|
6
|
-
* identities, AWS resources, module dependencies, and tier signals.
|
|
7
|
-
*
|
|
8
|
-
* Unlike sync-datadog (structured API → deterministic mapping), Terraform
|
|
9
|
-
* HCL is too varied for regex parsing — the agent reads files and reasons
|
|
10
|
-
* about module structure, variable passing, resource tagging, etc.
|
|
11
|
-
*/
|
|
12
|
-
export interface SyncTerraformOptions {
|
|
13
|
-
verbose?: boolean;
|
|
14
|
-
dir?: string;
|
|
15
|
-
}
|
|
16
|
-
export declare function runSyncTerraform(teamId: string, options?: SyncTerraformOptions): Promise<void>;
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI command: `edsger sync-terraform <teamId>`
|
|
3
|
-
*
|
|
4
|
-
* Reads the team's terraform_repo_full_name from the DB, clones the repo,
|
|
5
|
-
* and lets the agent (Claude SDK) analyse .tf files to extract service
|
|
6
|
-
* identities, AWS resources, module dependencies, and tier signals.
|
|
7
|
-
*
|
|
8
|
-
* Unlike sync-datadog (structured API → deterministic mapping), Terraform
|
|
9
|
-
* HCL is too varied for regex parsing — the agent reads files and reasons
|
|
10
|
-
* about module structure, variable passing, resource tagging, etc.
|
|
11
|
-
*/
|
|
12
|
-
import { execSync } from 'child_process';
|
|
13
|
-
import { mkdtempSync, readdirSync, readFileSync, rmSync, statSync } from 'fs';
|
|
14
|
-
import { tmpdir } from 'os';
|
|
15
|
-
import { join, relative } from 'path';
|
|
16
|
-
import { callMcpEndpoint } from '../../api/mcp-client.js';
|
|
17
|
-
import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
18
|
-
export async function runSyncTerraform(teamId, options = {}) {
|
|
19
|
-
const { verbose } = options;
|
|
20
|
-
logInfo(`Starting Terraform sync for team ${teamId}`);
|
|
21
|
-
// 1. Get team's terraform repo from DB
|
|
22
|
-
let repoFullName = null;
|
|
23
|
-
let localDir = options.dir ?? null;
|
|
24
|
-
if (!localDir) {
|
|
25
|
-
try {
|
|
26
|
-
const result = (await callMcpEndpoint('agents.get_team', {
|
|
27
|
-
team_id: teamId,
|
|
28
|
-
}));
|
|
29
|
-
repoFullName = result?.team?.terraform_repo_full_name ?? null;
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
// Fallback: the caller (e.g. the desktop app) may have already resolved
|
|
33
|
-
// the team's repo and injected it as EDSGER_TERRAFORM_REPO, so MCP isn't
|
|
34
|
-
// strictly required.
|
|
35
|
-
logWarning('Could not fetch team via MCP, attempting to read terraform_repo_full_name from env');
|
|
36
|
-
}
|
|
37
|
-
// Env fallback works whether or not MCP returned a repo — it lets the
|
|
38
|
-
// desktop app drive the sync without depending on the MCP team endpoint.
|
|
39
|
-
if (!repoFullName) {
|
|
40
|
-
repoFullName = process.env.EDSGER_TERRAFORM_REPO ?? null;
|
|
41
|
-
}
|
|
42
|
-
if (!repoFullName) {
|
|
43
|
-
logError('No Terraform repo configured for this team. ' +
|
|
44
|
-
'Go to Team Settings and set a Terraform repo, or use --dir to point at a local directory.');
|
|
45
|
-
process.exit(1);
|
|
46
|
-
}
|
|
47
|
-
// 2. Clone the repo
|
|
48
|
-
const tmpDir = mkdtempSync(join(tmpdir(), 'edsger-tf-'));
|
|
49
|
-
localDir = tmpDir;
|
|
50
|
-
logInfo(`Cloning ${repoFullName}...`);
|
|
51
|
-
try {
|
|
52
|
-
execSync(`git clone --depth=1 https://github.com/${repoFullName}.git "${tmpDir}/repo"`, { stdio: verbose ? 'inherit' : 'pipe', timeout: 60_000 });
|
|
53
|
-
localDir = join(tmpDir, 'repo');
|
|
54
|
-
}
|
|
55
|
-
catch (err) {
|
|
56
|
-
logError(`Failed to clone ${repoFullName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
57
|
-
rmSync(tmpDir, { recursive: true, force: true });
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
logInfo(`Scanning Terraform files in ${localDir}`);
|
|
62
|
-
// 3. Find all .tf files
|
|
63
|
-
const tfFiles = [];
|
|
64
|
-
function walk(dir) {
|
|
65
|
-
try {
|
|
66
|
-
for (const entry of readdirSync(dir)) {
|
|
67
|
-
if (entry.startsWith('.') || entry === 'node_modules') {
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
const full = join(dir, entry);
|
|
71
|
-
try {
|
|
72
|
-
const stat = statSync(full);
|
|
73
|
-
if (stat.isDirectory()) {
|
|
74
|
-
walk(full);
|
|
75
|
-
}
|
|
76
|
-
else if (entry.endsWith('.tf')) {
|
|
77
|
-
tfFiles.push(full);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
// skip inaccessible files
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
// skip inaccessible dirs
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
walk(localDir);
|
|
90
|
-
if (tfFiles.length === 0) {
|
|
91
|
-
logWarning('No .tf files found in the repository');
|
|
92
|
-
cleanup(localDir, options.dir);
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
logInfo(`Found ${tfFiles.length} .tf files`);
|
|
96
|
-
// 4. Read and group by module directory
|
|
97
|
-
const moduleFiles = new Map();
|
|
98
|
-
for (const tf of tfFiles) {
|
|
99
|
-
const relPath = relative(localDir, tf);
|
|
100
|
-
const moduleDir = relPath.includes('/')
|
|
101
|
-
? relPath.split('/').slice(0, -1).join('/')
|
|
102
|
-
: '.';
|
|
103
|
-
if (!moduleFiles.has(moduleDir)) {
|
|
104
|
-
moduleFiles.set(moduleDir, []);
|
|
105
|
-
}
|
|
106
|
-
try {
|
|
107
|
-
const content = readFileSync(tf, 'utf8');
|
|
108
|
-
moduleFiles.get(moduleDir).push({ path: relPath, content });
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
if (verbose) {
|
|
112
|
-
logWarning(`Could not read ${relPath}`);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
logInfo(`Found ${moduleFiles.size} module directories`);
|
|
117
|
-
// 5. For each module, extract resource info and upsert service
|
|
118
|
-
let created = 0;
|
|
119
|
-
let updated = 0;
|
|
120
|
-
let components = 0;
|
|
121
|
-
for (const [moduleDir, files] of moduleFiles) {
|
|
122
|
-
// Skip root-level files that are just backend/provider config
|
|
123
|
-
if (moduleDir === '.' &&
|
|
124
|
-
files.every((f) => /^(backend|provider|versions|terraform)\b/.test(f.path))) {
|
|
125
|
-
continue;
|
|
126
|
-
}
|
|
127
|
-
// Extract service name from module directory
|
|
128
|
-
const moduleName = moduleDir === '.'
|
|
129
|
-
? (repoFullName?.split('/')[1] ?? 'root')
|
|
130
|
-
: (moduleDir.split('/').pop() ?? moduleDir);
|
|
131
|
-
// Extract resource ARNs and types from .tf content
|
|
132
|
-
const resources = [];
|
|
133
|
-
const tags = {};
|
|
134
|
-
let hasMultiAz = false;
|
|
135
|
-
let hasAutoscaling = false;
|
|
136
|
-
const moduleRefs = [];
|
|
137
|
-
for (const file of files) {
|
|
138
|
-
// Resource blocks
|
|
139
|
-
for (const m of file.content.matchAll(/resource\s+"([^"]+)"\s+"([^"]+)"/g)) {
|
|
140
|
-
resources.push({ type: m[1], name: m[2] });
|
|
141
|
-
}
|
|
142
|
-
// Tag extraction
|
|
143
|
-
for (const m of file.content.matchAll(/Service\s*=\s*"([^"]+)"/g)) {
|
|
144
|
-
tags.Service = m[1];
|
|
145
|
-
}
|
|
146
|
-
for (const m of file.content.matchAll(/Team\s*=\s*"([^"]+)"/g)) {
|
|
147
|
-
tags.Team = m[1];
|
|
148
|
-
}
|
|
149
|
-
// Tier signals
|
|
150
|
-
if (/multi_az\s*=\s*true/i.test(file.content)) {
|
|
151
|
-
hasMultiAz = true;
|
|
152
|
-
}
|
|
153
|
-
if (/aws_appautoscaling|autoscaling_group/i.test(file.content)) {
|
|
154
|
-
hasAutoscaling = true;
|
|
155
|
-
}
|
|
156
|
-
// Module references (dependencies)
|
|
157
|
-
for (const m of file.content.matchAll(/module\.([a-zA-Z0-9_-]+)\./g)) {
|
|
158
|
-
if (!moduleRefs.includes(m[1])) {
|
|
159
|
-
moduleRefs.push(m[1]);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
if (resources.length === 0) {
|
|
164
|
-
continue;
|
|
165
|
-
}
|
|
166
|
-
const serviceName = tags.Service ?? moduleName;
|
|
167
|
-
const tier = hasMultiAz || hasAutoscaling ? 'critical' : 'standard';
|
|
168
|
-
if (verbose) {
|
|
169
|
-
logInfo(` ${serviceName}: ${resources.length} resources, tier=${tier}${moduleRefs.length > 0 ? `, deps: ${moduleRefs.join(', ')}` : ''}`);
|
|
170
|
-
}
|
|
171
|
-
try {
|
|
172
|
-
const result = (await callMcpEndpoint('services.upsert_draft', {
|
|
173
|
-
team_id: teamId,
|
|
174
|
-
name: serviceName,
|
|
175
|
-
kind: 'service',
|
|
176
|
-
tier,
|
|
177
|
-
source: 'terraform',
|
|
178
|
-
source_ref: `terraform:${repoFullName ?? localDir}:${moduleDir}`,
|
|
179
|
-
field_sources: {
|
|
180
|
-
name: {
|
|
181
|
-
value: serviceName,
|
|
182
|
-
confidence: tags.Service ? 1.0 : 0.7,
|
|
183
|
-
source: 'terraform',
|
|
184
|
-
source_detail: moduleDir,
|
|
185
|
-
},
|
|
186
|
-
tier: {
|
|
187
|
-
value: tier,
|
|
188
|
-
confidence: hasMultiAz ? 0.8 : 0.5,
|
|
189
|
-
source: 'terraform',
|
|
190
|
-
},
|
|
191
|
-
...(tags.Team
|
|
192
|
-
? {
|
|
193
|
-
owner: {
|
|
194
|
-
value: tags.Team,
|
|
195
|
-
confidence: 0.8,
|
|
196
|
-
source: 'terraform_tag',
|
|
197
|
-
},
|
|
198
|
-
}
|
|
199
|
-
: {}),
|
|
200
|
-
},
|
|
201
|
-
needs_review: !tags.Service,
|
|
202
|
-
}));
|
|
203
|
-
if (result.action === 'created') {
|
|
204
|
-
created++;
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
updated++;
|
|
208
|
-
}
|
|
209
|
-
// Add AWS resource components
|
|
210
|
-
for (const res of resources) {
|
|
211
|
-
try {
|
|
212
|
-
await callMcpEndpoint('services.add_component', {
|
|
213
|
-
service_id: result.service.id,
|
|
214
|
-
kind: 'aws_resource',
|
|
215
|
-
provider: 'terraform',
|
|
216
|
-
external_id: `${res.type}.${res.name}`,
|
|
217
|
-
metadata: {
|
|
218
|
-
resource_type: res.type,
|
|
219
|
-
resource_name: res.name,
|
|
220
|
-
module: moduleDir,
|
|
221
|
-
},
|
|
222
|
-
});
|
|
223
|
-
components++;
|
|
224
|
-
}
|
|
225
|
-
catch {
|
|
226
|
-
// ignore duplicate
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
catch (err) {
|
|
231
|
-
logWarning(`Failed to sync module "${moduleName}": ${err instanceof Error ? err.message : String(err)}`);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
cleanup(localDir, options.dir);
|
|
235
|
-
logSuccess(`Terraform sync completed: ${created} created, ${updated} updated, ${components} resource components`);
|
|
236
|
-
}
|
|
237
|
-
function cleanup(dir, userDir) {
|
|
238
|
-
if (!userDir && dir) {
|
|
239
|
-
try {
|
|
240
|
-
// Clean up the temp clone directory (parent of repo/)
|
|
241
|
-
const parent = dir.endsWith('/repo') ? dir.replace(/\/repo$/, '') : dir;
|
|
242
|
-
rmSync(parent, { recursive: true, force: true });
|
|
243
|
-
}
|
|
244
|
-
catch {
|
|
245
|
-
// ignore
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type CliOptions } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Run task watcher for a product.
|
|
4
|
-
* Polls for pending tasks and spawns child processes to execute them.
|
|
5
|
-
*
|
|
6
|
-
* Usage: edsger --watch-tasks <productId>
|
|
7
|
-
*/
|
|
8
|
-
export declare const runTaskWorker: (options: CliOptions) => Promise<void>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { logInfo, logSuccess } from '../../utils/logger.js';
|
|
2
|
-
import { validateConfiguration } from '../../utils/validation.js';
|
|
3
|
-
import { TaskProcessor } from './processor.js';
|
|
4
|
-
/**
|
|
5
|
-
* Run task watcher for a product.
|
|
6
|
-
* Polls for pending tasks and spawns child processes to execute them.
|
|
7
|
-
*
|
|
8
|
-
* Usage: edsger --watch-tasks <productId>
|
|
9
|
-
*/
|
|
10
|
-
export const runTaskWorker = async (options) => {
|
|
11
|
-
const productId = options.watchTasks;
|
|
12
|
-
if (!productId) {
|
|
13
|
-
throw new Error('Product ID is required for task watching');
|
|
14
|
-
}
|
|
15
|
-
const config = validateConfiguration(options);
|
|
16
|
-
logInfo(`Starting task watcher for product: ${productId}`);
|
|
17
|
-
logInfo('Monitoring for pending tasks... (Ctrl+C to stop)');
|
|
18
|
-
const processor = new TaskProcessor({
|
|
19
|
-
productId,
|
|
20
|
-
verbose: options.verbose || false,
|
|
21
|
-
config,
|
|
22
|
-
pollInterval: 15_000, // 15 seconds
|
|
23
|
-
});
|
|
24
|
-
// Graceful shutdown
|
|
25
|
-
const shutdown = () => {
|
|
26
|
-
logInfo('Shutting down task watcher...');
|
|
27
|
-
processor.stop();
|
|
28
|
-
logSuccess('Task watcher stopped');
|
|
29
|
-
process.exit(0);
|
|
30
|
-
};
|
|
31
|
-
process.on('SIGINT', shutdown);
|
|
32
|
-
process.on('SIGTERM', shutdown);
|
|
33
|
-
await processor.start();
|
|
34
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
2
|
-
interface TaskProcessorOptions {
|
|
3
|
-
productId: string;
|
|
4
|
-
verbose: boolean;
|
|
5
|
-
config: EdsgerConfig;
|
|
6
|
-
pollInterval: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* TaskProcessor monitors tasks for a product and executes them via Claude agent.
|
|
10
|
-
*/
|
|
11
|
-
export declare class TaskProcessor {
|
|
12
|
-
private options;
|
|
13
|
-
private activeTasks;
|
|
14
|
-
private polling;
|
|
15
|
-
private pollTimer;
|
|
16
|
-
constructor(options: TaskProcessorOptions);
|
|
17
|
-
start(): Promise<void>;
|
|
18
|
-
stop(): void;
|
|
19
|
-
private schedulePoll;
|
|
20
|
-
private poll;
|
|
21
|
-
private executeTask;
|
|
22
|
-
}
|
|
23
|
-
export {};
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { getProductPendingTasks, updateTaskStatus, } from '../../api/tasks.js';
|
|
2
|
-
import { runTask } from '../../phases/task/index.js';
|
|
3
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
4
|
-
/**
|
|
5
|
-
* TaskProcessor monitors tasks for a product and executes them via Claude agent.
|
|
6
|
-
*/
|
|
7
|
-
export class TaskProcessor {
|
|
8
|
-
options;
|
|
9
|
-
activeTasks = new Set();
|
|
10
|
-
polling = false;
|
|
11
|
-
pollTimer = null;
|
|
12
|
-
constructor(options) {
|
|
13
|
-
this.options = options;
|
|
14
|
-
}
|
|
15
|
-
async start() {
|
|
16
|
-
this.polling = true;
|
|
17
|
-
logInfo('Task processor started');
|
|
18
|
-
// Initial poll immediately
|
|
19
|
-
await this.poll();
|
|
20
|
-
// Then poll at interval
|
|
21
|
-
this.schedulePoll();
|
|
22
|
-
}
|
|
23
|
-
stop() {
|
|
24
|
-
this.polling = false;
|
|
25
|
-
if (this.pollTimer) {
|
|
26
|
-
clearTimeout(this.pollTimer);
|
|
27
|
-
this.pollTimer = null;
|
|
28
|
-
}
|
|
29
|
-
logInfo(`Task processor stopped. Active tasks: ${this.activeTasks.size}`);
|
|
30
|
-
}
|
|
31
|
-
schedulePoll() {
|
|
32
|
-
if (!this.polling) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
this.pollTimer = setTimeout(() => {
|
|
36
|
-
void this.poll().then(() => {
|
|
37
|
-
this.schedulePoll();
|
|
38
|
-
});
|
|
39
|
-
}, this.options.pollInterval);
|
|
40
|
-
}
|
|
41
|
-
async poll() {
|
|
42
|
-
const { productId, verbose } = this.options;
|
|
43
|
-
try {
|
|
44
|
-
const pendingTasks = await getProductPendingTasks(productId, verbose);
|
|
45
|
-
if (pendingTasks.length > 0 && verbose) {
|
|
46
|
-
logInfo(`Found ${pendingTasks.length} pending tasks`);
|
|
47
|
-
}
|
|
48
|
-
for (const task of pendingTasks) {
|
|
49
|
-
// Skip if already running
|
|
50
|
-
if (this.activeTasks.has(task.id)) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
await this.executeTask(task);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (error) {
|
|
57
|
-
if (verbose) {
|
|
58
|
-
logError(`Poll error: ${error instanceof Error ? error.message : String(error)}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
async executeTask(task) {
|
|
63
|
-
const { verbose, config } = this.options;
|
|
64
|
-
logInfo(`Executing task: ${task.name}`);
|
|
65
|
-
this.activeTasks.add(task.id);
|
|
66
|
-
try {
|
|
67
|
-
const result = await runTask({ task, verbose }, config);
|
|
68
|
-
if (result.success) {
|
|
69
|
-
logSuccess(`Task completed: ${task.name}`);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
logError(`Task failed: ${task.name} - ${result.summary}`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
77
|
-
logError(`Task execution error: ${errorMessage}`);
|
|
78
|
-
await updateTaskStatus(task.id, 'blocked', verbose);
|
|
79
|
-
}
|
|
80
|
-
finally {
|
|
81
|
-
this.activeTasks.delete(task.id);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { generateTechnicalDesign } from '../../phases/technical-design/index.js';
|
|
2
|
-
import { runIssuePhaseCli } from '../../utils/issue-phase-cli.js';
|
|
3
|
-
export const runTechnicalDesignCommand = (options) => runIssuePhaseCli({
|
|
4
|
-
command: 'technical-design',
|
|
5
|
-
description: 'Technical design',
|
|
6
|
-
issueId: options.issueId,
|
|
7
|
-
verbose: options.verbose,
|
|
8
|
-
execute: generateTechnicalDesign,
|
|
9
|
-
});
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { analyseTestCases } from '../../phases/test-cases-analysis/index.js';
|
|
2
|
-
import { runIssuePhaseCli } from '../../utils/issue-phase-cli.js';
|
|
3
|
-
export const runTestCasesAnalysisCommand = (options) => runIssuePhaseCli({
|
|
4
|
-
command: 'test-cases-analysis',
|
|
5
|
-
description: 'Test-cases analysis',
|
|
6
|
-
issueId: options.issueId,
|
|
7
|
-
verbose: options.verbose,
|
|
8
|
-
execute: analyseTestCases,
|
|
9
|
-
});
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type CliOptions } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Run AI-powered user psychology analysis for a product. Reads the product
|
|
4
|
-
* repo, applies JTBD + Fogg + persona frameworks, and writes the structured
|
|
5
|
-
* profile back to user_psychology_analyses.
|
|
6
|
-
*/
|
|
7
|
-
export declare const runUserPsychologyAnalysis: (options: CliOptions) => Promise<void>;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { analyseUserPsychology, } from '../../phases/user-psychology/index.js';
|
|
2
|
-
import { deregisterSession, registerSession, } from '../../system/session-manager.js';
|
|
3
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
4
|
-
import { validateConfiguration } from '../../utils/validation.js';
|
|
5
|
-
/**
|
|
6
|
-
* Run AI-powered user psychology analysis for a product. Reads the product
|
|
7
|
-
* repo, applies JTBD + Fogg + persona frameworks, and writes the structured
|
|
8
|
-
* profile back to user_psychology_analyses.
|
|
9
|
-
*/
|
|
10
|
-
export const runUserPsychologyAnalysis = async (options) => {
|
|
11
|
-
const productId = options.userPsychology;
|
|
12
|
-
if (!productId) {
|
|
13
|
-
throw new Error('Product ID is required for user psychology analysis');
|
|
14
|
-
}
|
|
15
|
-
const analysisId = options.userPsychologyAnalysisId;
|
|
16
|
-
if (!analysisId) {
|
|
17
|
-
throw new Error('--analysis-id is required (reserved by the desktop UI)');
|
|
18
|
-
}
|
|
19
|
-
const config = validateConfiguration(options);
|
|
20
|
-
await registerSession({ command: 'user-psychology', productId });
|
|
21
|
-
logInfo(`Starting user psychology analysis for product: ${productId}`);
|
|
22
|
-
try {
|
|
23
|
-
const result = await analyseUserPsychology({
|
|
24
|
-
productId,
|
|
25
|
-
analysisId,
|
|
26
|
-
verbose: options.verbose,
|
|
27
|
-
guidance: options.userPsychologyGuidance,
|
|
28
|
-
}, config);
|
|
29
|
-
if (result.status === 'success') {
|
|
30
|
-
logSuccess('User psychology analysis completed.');
|
|
31
|
-
logInfo(` Personas: ${result.personaCount}`);
|
|
32
|
-
logInfo(` Jobs-to-be-Done: ${result.jobCount}`);
|
|
33
|
-
logInfo(` Pain points: ${result.painPointCount}`);
|
|
34
|
-
if (result.analysisId) {
|
|
35
|
-
logInfo(` Analysis ID: ${result.analysisId}`);
|
|
36
|
-
}
|
|
37
|
-
logInfo('\nView full results in the Psychology tab of your product.');
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
logError(`User psychology analysis failed: ${result.summary}`);
|
|
41
|
-
process.exitCode = 1;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
logError(`User psychology analysis failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
46
|
-
process.exitCode = 1;
|
|
47
|
-
}
|
|
48
|
-
finally {
|
|
49
|
-
await deregisterSession();
|
|
50
|
-
}
|
|
51
|
-
};
|