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
package/dist/api/intelligence.js
DELETED
|
@@ -1,402 +0,0 @@
|
|
|
1
|
-
import { ensureSupabaseSession, getSupabase, hasSupabaseSession, } from '../supabase/client.js';
|
|
2
|
-
import { logError, logInfo } from '../utils/logger.js';
|
|
3
|
-
import { normalizeReportArrays, toNumberOrNull, } from './intelligence-normalize.js';
|
|
4
|
-
import { callMcpEndpoint } from './mcp-client.js';
|
|
5
|
-
// =============================================================================
|
|
6
|
-
// MCP response helper
|
|
7
|
-
// =============================================================================
|
|
8
|
-
function parseMcpResponse(result, fallback) {
|
|
9
|
-
const res = result;
|
|
10
|
-
const text = res?.content?.[0]?.text;
|
|
11
|
-
if (!text) {
|
|
12
|
-
return fallback;
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
return JSON.parse(text);
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return fallback;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
// =============================================================================
|
|
22
|
-
// Competitors
|
|
23
|
-
// =============================================================================
|
|
24
|
-
export async function getCompetitors(productId, status, verbose) {
|
|
25
|
-
if (verbose) {
|
|
26
|
-
logInfo(`Fetching competitors for product: ${productId}`);
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
const result = await callMcpEndpoint('intelligence/competitors/list', {
|
|
30
|
-
product_id: productId,
|
|
31
|
-
...(status ? { status } : {}),
|
|
32
|
-
});
|
|
33
|
-
return parseMcpResponse(result, []);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
if (verbose) {
|
|
37
|
-
logError(`Failed to fetch competitors: ${error instanceof Error ? error.message : String(error)}`);
|
|
38
|
-
}
|
|
39
|
-
return [];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export async function createCompetitor(competitor, verbose) {
|
|
43
|
-
if (verbose) {
|
|
44
|
-
logInfo(`Creating competitor: ${competitor.name}`);
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
const result = await callMcpEndpoint('intelligence/competitors/create', competitor);
|
|
48
|
-
return parseMcpResponse(result, null);
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
logError(`Failed to create competitor: ${error instanceof Error ? error.message : String(error)}`);
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export async function batchCreateCompetitors(productId, competitors, verbose) {
|
|
56
|
-
if (verbose) {
|
|
57
|
-
logInfo(`Batch creating ${competitors.length} competitors`);
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
const result = await callMcpEndpoint('intelligence/competitors/batch_create', {
|
|
61
|
-
product_id: productId,
|
|
62
|
-
competitors,
|
|
63
|
-
});
|
|
64
|
-
return parseMcpResponse(result, []);
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
logError(`Failed to batch create competitors: ${error instanceof Error ? error.message : String(error)}`);
|
|
68
|
-
return [];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export async function updateCompetitor(competitorId, updates, verbose) {
|
|
72
|
-
if (verbose) {
|
|
73
|
-
logInfo(`Updating competitor: ${competitorId}`);
|
|
74
|
-
}
|
|
75
|
-
try {
|
|
76
|
-
if (hasSupabaseSession()) {
|
|
77
|
-
try {
|
|
78
|
-
const { data, error } = await getSupabase()
|
|
79
|
-
.from('product_competitors')
|
|
80
|
-
.update(updates)
|
|
81
|
-
.eq('id', competitorId)
|
|
82
|
-
.select()
|
|
83
|
-
.single();
|
|
84
|
-
if (error) {
|
|
85
|
-
throw new Error(error.message);
|
|
86
|
-
}
|
|
87
|
-
return data ?? null;
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
// Fall through to MCP
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
const result = await callMcpEndpoint('intelligence/competitors/update', {
|
|
94
|
-
competitor_id: competitorId,
|
|
95
|
-
...updates,
|
|
96
|
-
});
|
|
97
|
-
return parseMcpResponse(result, null);
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
logError(`Failed to update competitor: ${error instanceof Error ? error.message : String(error)}`);
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
export async function deleteCompetitor(competitorId, verbose) {
|
|
105
|
-
if (verbose) {
|
|
106
|
-
logInfo(`Deleting competitor: ${competitorId}`);
|
|
107
|
-
}
|
|
108
|
-
try {
|
|
109
|
-
if (hasSupabaseSession()) {
|
|
110
|
-
try {
|
|
111
|
-
const { error } = await getSupabase()
|
|
112
|
-
.from('product_competitors')
|
|
113
|
-
.delete()
|
|
114
|
-
.eq('id', competitorId);
|
|
115
|
-
if (error) {
|
|
116
|
-
throw new Error(error.message);
|
|
117
|
-
}
|
|
118
|
-
return true;
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
// Fall through to MCP
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
await callMcpEndpoint('intelligence/competitors/delete', {
|
|
125
|
-
competitor_id: competitorId,
|
|
126
|
-
});
|
|
127
|
-
return true;
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
logError(`Failed to delete competitor: ${error instanceof Error ? error.message : String(error)}`);
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// =============================================================================
|
|
135
|
-
// Snapshots
|
|
136
|
-
// =============================================================================
|
|
137
|
-
export async function getSnapshots(opts, verbose) {
|
|
138
|
-
if (verbose) {
|
|
139
|
-
logInfo(`Fetching snapshots`);
|
|
140
|
-
}
|
|
141
|
-
try {
|
|
142
|
-
if (hasSupabaseSession()) {
|
|
143
|
-
try {
|
|
144
|
-
let query = getSupabase().from('competitor_snapshots').select('*');
|
|
145
|
-
if (opts.competitorId) {
|
|
146
|
-
query = query.eq('competitor_id', opts.competitorId);
|
|
147
|
-
}
|
|
148
|
-
if (opts.productId) {
|
|
149
|
-
query = query.eq('product_id', opts.productId);
|
|
150
|
-
}
|
|
151
|
-
query = query.order('created_at', { ascending: false });
|
|
152
|
-
if (opts.limit) {
|
|
153
|
-
query = query.limit(opts.limit);
|
|
154
|
-
}
|
|
155
|
-
const { data, error } = await query;
|
|
156
|
-
if (error) {
|
|
157
|
-
throw new Error(error.message);
|
|
158
|
-
}
|
|
159
|
-
return (data || []);
|
|
160
|
-
}
|
|
161
|
-
catch {
|
|
162
|
-
// Fall through to MCP
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
const result = await callMcpEndpoint('intelligence/snapshots/list', {
|
|
166
|
-
competitor_id: opts.competitorId,
|
|
167
|
-
product_id: opts.productId,
|
|
168
|
-
limit: opts.limit,
|
|
169
|
-
});
|
|
170
|
-
return parseMcpResponse(result, []);
|
|
171
|
-
}
|
|
172
|
-
catch (error) {
|
|
173
|
-
if (verbose) {
|
|
174
|
-
logError(`Failed to fetch snapshots: ${error instanceof Error ? error.message : String(error)}`);
|
|
175
|
-
}
|
|
176
|
-
return [];
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
export async function saveSnapshot(snapshot, verbose) {
|
|
180
|
-
if (verbose) {
|
|
181
|
-
logInfo(`Saving snapshot for competitor: ${snapshot.competitor_id}`);
|
|
182
|
-
}
|
|
183
|
-
try {
|
|
184
|
-
// Direct SDK write under the user's RLS session — no MCP fallback.
|
|
185
|
-
// Await the synced session first so the insert carries the user JWT
|
|
186
|
-
// (otherwise it races out as `anon` and trips RLS).
|
|
187
|
-
const ready = await ensureSupabaseSession();
|
|
188
|
-
if (!ready) {
|
|
189
|
-
logError('Failed to save snapshot: no Supabase session (sign in to the desktop app)');
|
|
190
|
-
return null;
|
|
191
|
-
}
|
|
192
|
-
const source = ['ai_analysis', 'manual', 'scheduled'].includes(snapshot.source)
|
|
193
|
-
? snapshot.source
|
|
194
|
-
: 'ai_analysis';
|
|
195
|
-
const { data, error } = await getSupabase()
|
|
196
|
-
.from('competitor_snapshots')
|
|
197
|
-
.insert({
|
|
198
|
-
competitor_id: snapshot.competitor_id,
|
|
199
|
-
product_id: snapshot.product_id,
|
|
200
|
-
issues: snapshot.issues ?? [],
|
|
201
|
-
pricing: snapshot.pricing ?? {},
|
|
202
|
-
tech_stack: snapshot.tech_stack ?? [],
|
|
203
|
-
app_rating: toNumberOrNull(snapshot.app_rating),
|
|
204
|
-
app_review_count: toNumberOrNull(snapshot.app_review_count),
|
|
205
|
-
app_version: snapshot.app_version ?? null,
|
|
206
|
-
app_last_updated: snapshot.app_last_updated ?? null,
|
|
207
|
-
recent_reviews: snapshot.recent_reviews ?? [],
|
|
208
|
-
social_mentions: snapshot.social_mentions ?? {},
|
|
209
|
-
changes_detected: snapshot.changes_detected ?? [],
|
|
210
|
-
source,
|
|
211
|
-
raw_data: snapshot.raw_data ?? null,
|
|
212
|
-
})
|
|
213
|
-
.select()
|
|
214
|
-
.single();
|
|
215
|
-
if (error) {
|
|
216
|
-
throw new Error(error.message);
|
|
217
|
-
}
|
|
218
|
-
return data ?? null;
|
|
219
|
-
}
|
|
220
|
-
catch (error) {
|
|
221
|
-
logError(`Failed to save snapshot: ${error instanceof Error ? error.message : String(error)}`);
|
|
222
|
-
return null;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
// =============================================================================
|
|
226
|
-
// Reports
|
|
227
|
-
// =============================================================================
|
|
228
|
-
export async function getReports(productId, opts, verbose) {
|
|
229
|
-
if (verbose) {
|
|
230
|
-
logInfo(`Fetching intelligence reports for product: ${productId}`);
|
|
231
|
-
}
|
|
232
|
-
try {
|
|
233
|
-
if (hasSupabaseSession()) {
|
|
234
|
-
try {
|
|
235
|
-
let query = getSupabase()
|
|
236
|
-
.from('intelligence_reports')
|
|
237
|
-
.select('*')
|
|
238
|
-
.eq('product_id', productId);
|
|
239
|
-
if (opts?.reportType) {
|
|
240
|
-
query = query.eq('report_type', opts.reportType);
|
|
241
|
-
}
|
|
242
|
-
if (opts?.status) {
|
|
243
|
-
query = query.eq('status', opts.status);
|
|
244
|
-
}
|
|
245
|
-
query = query.order('created_at', { ascending: false });
|
|
246
|
-
if (opts?.limit) {
|
|
247
|
-
query = query.limit(opts.limit);
|
|
248
|
-
}
|
|
249
|
-
const { data, error } = await query;
|
|
250
|
-
if (error) {
|
|
251
|
-
throw new Error(error.message);
|
|
252
|
-
}
|
|
253
|
-
return (data || []);
|
|
254
|
-
}
|
|
255
|
-
catch {
|
|
256
|
-
// Fall through to MCP
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
const result = await callMcpEndpoint('intelligence/reports/list', {
|
|
260
|
-
product_id: productId,
|
|
261
|
-
report_type: opts?.reportType,
|
|
262
|
-
status: opts?.status,
|
|
263
|
-
limit: opts?.limit,
|
|
264
|
-
});
|
|
265
|
-
return parseMcpResponse(result, []);
|
|
266
|
-
}
|
|
267
|
-
catch (error) {
|
|
268
|
-
if (verbose) {
|
|
269
|
-
logError(`Failed to fetch reports: ${error instanceof Error ? error.message : String(error)}`);
|
|
270
|
-
}
|
|
271
|
-
return [];
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
export async function getReport(reportId, verbose) {
|
|
275
|
-
if (verbose) {
|
|
276
|
-
logInfo(`Fetching report: ${reportId}`);
|
|
277
|
-
}
|
|
278
|
-
try {
|
|
279
|
-
if (hasSupabaseSession()) {
|
|
280
|
-
try {
|
|
281
|
-
const { data, error } = await getSupabase()
|
|
282
|
-
.from('intelligence_reports')
|
|
283
|
-
.select('*')
|
|
284
|
-
.eq('id', reportId)
|
|
285
|
-
.maybeSingle();
|
|
286
|
-
if (error) {
|
|
287
|
-
throw new Error(error.message);
|
|
288
|
-
}
|
|
289
|
-
return data ?? null;
|
|
290
|
-
}
|
|
291
|
-
catch {
|
|
292
|
-
// Fall through to MCP
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
const result = await callMcpEndpoint('intelligence/reports/get', {
|
|
296
|
-
report_id: reportId,
|
|
297
|
-
});
|
|
298
|
-
return parseMcpResponse(result, null);
|
|
299
|
-
}
|
|
300
|
-
catch (error) {
|
|
301
|
-
logError(`Failed to fetch report: ${error instanceof Error ? error.message : String(error)}`);
|
|
302
|
-
return null;
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
export async function saveReport(report, verbose) {
|
|
306
|
-
if (verbose) {
|
|
307
|
-
logInfo(`Saving intelligence report: ${report.title}`);
|
|
308
|
-
}
|
|
309
|
-
try {
|
|
310
|
-
// Direct SDK write — no MCP fallback. intelligence_reports.created_by is
|
|
311
|
-
// NOT NULL and RLS checks `created_by = auth.uid()`, so we resolve the
|
|
312
|
-
// user from the synced session and canonicalize the LLM arrays first.
|
|
313
|
-
const ready = await ensureSupabaseSession();
|
|
314
|
-
if (!ready) {
|
|
315
|
-
logError('Failed to save report: no Supabase session (sign in to the desktop app)');
|
|
316
|
-
return null;
|
|
317
|
-
}
|
|
318
|
-
const { data: sessionData } = await getSupabase().auth.getSession();
|
|
319
|
-
const userId = sessionData.session?.user?.id;
|
|
320
|
-
if (!userId) {
|
|
321
|
-
logError('Failed to save report: could not resolve user from session');
|
|
322
|
-
return null;
|
|
323
|
-
}
|
|
324
|
-
const normalized = normalizeReportArrays({
|
|
325
|
-
key_findings: report.key_findings ?? [],
|
|
326
|
-
recommendations: report.recommendations ?? [],
|
|
327
|
-
competitor_highlights: report.competitor_highlights ?? [],
|
|
328
|
-
market_signals: report.market_signals ?? [],
|
|
329
|
-
trends: report.trends ?? [],
|
|
330
|
-
});
|
|
331
|
-
const { data, error } = await getSupabase()
|
|
332
|
-
.from('intelligence_reports')
|
|
333
|
-
.insert({
|
|
334
|
-
product_id: report.product_id,
|
|
335
|
-
report_type: report.report_type,
|
|
336
|
-
title: report.title,
|
|
337
|
-
summary: report.summary ?? null,
|
|
338
|
-
full_report: report.full_report ?? null,
|
|
339
|
-
key_findings: normalized.key_findings,
|
|
340
|
-
recommendations: normalized.recommendations,
|
|
341
|
-
competitor_highlights: normalized.competitor_highlights,
|
|
342
|
-
market_signals: normalized.market_signals,
|
|
343
|
-
trends: normalized.trends,
|
|
344
|
-
persona_updates: report.persona_updates ?? null,
|
|
345
|
-
pmf_score: toNumberOrNull(report.pmf_score),
|
|
346
|
-
pmf_signals: report.pmf_signals ?? null,
|
|
347
|
-
guidance: report.guidance ?? null,
|
|
348
|
-
status: report.status ?? 'completed',
|
|
349
|
-
snapshot_ids: report.snapshot_ids ?? [],
|
|
350
|
-
created_by: userId,
|
|
351
|
-
})
|
|
352
|
-
.select()
|
|
353
|
-
.single();
|
|
354
|
-
if (error) {
|
|
355
|
-
throw new Error(error.message);
|
|
356
|
-
}
|
|
357
|
-
return data ?? null;
|
|
358
|
-
}
|
|
359
|
-
catch (error) {
|
|
360
|
-
logError(`Failed to save report: ${error instanceof Error ? error.message : String(error)}`);
|
|
361
|
-
return null;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
export async function updateReport(reportId, updates, verbose) {
|
|
365
|
-
if (verbose) {
|
|
366
|
-
logInfo(`Updating report: ${reportId}`);
|
|
367
|
-
}
|
|
368
|
-
try {
|
|
369
|
-
// Direct SDK write — no MCP fallback.
|
|
370
|
-
const ready = await ensureSupabaseSession();
|
|
371
|
-
if (!ready) {
|
|
372
|
-
logError('Failed to update report: no Supabase session (sign in to the desktop app)');
|
|
373
|
-
return null;
|
|
374
|
-
}
|
|
375
|
-
// Only send keys the caller provided so a partial update doesn't clobber
|
|
376
|
-
// stored columns. Numeric/array fields are coerced/canonicalized.
|
|
377
|
-
const payload = {};
|
|
378
|
-
for (const [key, value] of Object.entries(updates)) {
|
|
379
|
-
if (value !== undefined) {
|
|
380
|
-
payload[key] = value;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
if ('pmf_score' in payload) {
|
|
384
|
-
payload.pmf_score = toNumberOrNull(payload.pmf_score);
|
|
385
|
-
}
|
|
386
|
-
const normalized = normalizeReportArrays(payload);
|
|
387
|
-
const { data, error } = await getSupabase()
|
|
388
|
-
.from('intelligence_reports')
|
|
389
|
-
.update(normalized)
|
|
390
|
-
.eq('id', reportId)
|
|
391
|
-
.select()
|
|
392
|
-
.single();
|
|
393
|
-
if (error) {
|
|
394
|
-
throw new Error(error.message);
|
|
395
|
-
}
|
|
396
|
-
return data ?? null;
|
|
397
|
-
}
|
|
398
|
-
catch (error) {
|
|
399
|
-
logError(`Failed to update report: ${error instanceof Error ? error.message : String(error)}`);
|
|
400
|
-
return null;
|
|
401
|
-
}
|
|
402
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Approval workflow integration for issue phases.
|
|
3
|
-
*
|
|
4
|
-
* Under the 2D model, approvals are gated on the PHASE the worker is
|
|
5
|
-
* about to enter (e.g. "approve before technical_design runs"), not on
|
|
6
|
-
* the issue's lifecycle status. The phase-executor passes the target
|
|
7
|
-
* phase name; we look up the approval config for that phase and block
|
|
8
|
-
* execution if pending approval is required.
|
|
9
|
-
*/
|
|
10
|
-
interface ApprovalCheckResult {
|
|
11
|
-
canProceed: boolean;
|
|
12
|
-
requiresApproval: boolean;
|
|
13
|
-
approvalId?: string;
|
|
14
|
-
message?: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Check if a phase requires approval before the worker enters it.
|
|
18
|
-
* Called by phase-executor with the snake_case phase name (e.g.
|
|
19
|
-
* 'technical_design').
|
|
20
|
-
*/
|
|
21
|
-
export declare function checkApprovalBeforePhaseExecution(issueId: string, phase: string, verbose?: boolean): Promise<ApprovalCheckResult>;
|
|
22
|
-
export {};
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Approval workflow integration for issue phases.
|
|
3
|
-
*
|
|
4
|
-
* Under the 2D model, approvals are gated on the PHASE the worker is
|
|
5
|
-
* about to enter (e.g. "approve before technical_design runs"), not on
|
|
6
|
-
* the issue's lifecycle status. The phase-executor passes the target
|
|
7
|
-
* phase name; we look up the approval config for that phase and block
|
|
8
|
-
* execution if pending approval is required.
|
|
9
|
-
*/
|
|
10
|
-
import { logError, logInfo, logWarning } from '../../utils/logger.js';
|
|
11
|
-
import { callMcpEndpoint } from '../mcp-client.js';
|
|
12
|
-
import { getIssue } from './get-issue.js';
|
|
13
|
-
/**
|
|
14
|
-
* Check if a phase requires approval before the worker enters it.
|
|
15
|
-
* Called by phase-executor with the snake_case phase name (e.g.
|
|
16
|
-
* 'technical_design').
|
|
17
|
-
*/
|
|
18
|
-
export async function checkApprovalBeforePhaseExecution(issueId, phase, verbose = false) {
|
|
19
|
-
try {
|
|
20
|
-
const issue = await getIssue(issueId, verbose);
|
|
21
|
-
const productId = issue.product_id;
|
|
22
|
-
if (verbose) {
|
|
23
|
-
logInfo(`🔍 Checking approval for phase: ${phase}`);
|
|
24
|
-
logInfo(`📦 Product ID: ${productId}`);
|
|
25
|
-
}
|
|
26
|
-
const requiresApprovalResult = (await callMcpEndpoint('approvals/requires_approval', {
|
|
27
|
-
product_id: productId,
|
|
28
|
-
issue_status: phase,
|
|
29
|
-
}));
|
|
30
|
-
if (verbose) {
|
|
31
|
-
logInfo(`📋 MCP requires_approval response: ${JSON.stringify(requiresApprovalResult)}`);
|
|
32
|
-
}
|
|
33
|
-
const requiresApproval = requiresApprovalResult?.requires_approval === true;
|
|
34
|
-
if (!requiresApproval) {
|
|
35
|
-
if (verbose) {
|
|
36
|
-
logInfo(`✅ Phase ${phase} does not require approval. Proceeding.`);
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
canProceed: true,
|
|
40
|
-
requiresApproval: false,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
if (verbose) {
|
|
44
|
-
logInfo(`🔒 Phase ${phase} requires approval`);
|
|
45
|
-
}
|
|
46
|
-
const existingApprovals = (await callMcpEndpoint('approvals/issue_approvals', {
|
|
47
|
-
issue_id: issueId,
|
|
48
|
-
}));
|
|
49
|
-
const approvedApproval = existingApprovals?.approvals?.find((approval) => approval.requested_status === phase &&
|
|
50
|
-
approval.approval_status === 'approved');
|
|
51
|
-
if (approvedApproval) {
|
|
52
|
-
if (verbose) {
|
|
53
|
-
logInfo(`✅ Found approved approval for ${phase}. Proceeding.`);
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
canProceed: true,
|
|
57
|
-
requiresApproval: true,
|
|
58
|
-
approvalId: approvedApproval.id,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
const pendingApproval = existingApprovals?.approvals?.find((approval) => approval.requested_status === phase &&
|
|
62
|
-
approval.approval_status === 'pending');
|
|
63
|
-
if (pendingApproval) {
|
|
64
|
-
if (verbose) {
|
|
65
|
-
logWarning(`⏳ Approval already pending for ${phase}. Waiting.`);
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
canProceed: false,
|
|
69
|
-
requiresApproval: true,
|
|
70
|
-
approvalId: pendingApproval.id,
|
|
71
|
-
message: `Waiting for approval of phase: ${phase}`,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
if (verbose) {
|
|
75
|
-
logInfo(`🔔 No approval exists for ${phase}. Creating approval request...`);
|
|
76
|
-
}
|
|
77
|
-
const approvalId = await createApprovalRequestWithEmail(issueId, productId, phase, verbose);
|
|
78
|
-
if (approvalId) {
|
|
79
|
-
return {
|
|
80
|
-
canProceed: false,
|
|
81
|
-
requiresApproval: true,
|
|
82
|
-
approvalId,
|
|
83
|
-
message: `Approval request created for phase: ${phase}`,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
logError('Failed to create approval request');
|
|
87
|
-
return {
|
|
88
|
-
canProceed: false,
|
|
89
|
-
requiresApproval: true,
|
|
90
|
-
message: `Failed to create approval request for phase: ${phase}`,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
95
|
-
logError(`Error checking approval before phase execution: ${errorMessage}`);
|
|
96
|
-
// On error, block execution to be safe
|
|
97
|
-
return {
|
|
98
|
-
canProceed: false,
|
|
99
|
-
requiresApproval: true,
|
|
100
|
-
message: `Error checking approval: ${errorMessage}`,
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Create an approval request for a phase. The approval is asking:
|
|
106
|
-
* "Can we proceed into this phase?"
|
|
107
|
-
*/
|
|
108
|
-
async function createApprovalRequestWithEmail(issueId, productId, phase, verbose = false) {
|
|
109
|
-
try {
|
|
110
|
-
if (verbose) {
|
|
111
|
-
logInfo(`Creating approval request for phase: ${phase}`);
|
|
112
|
-
}
|
|
113
|
-
const result = (await callMcpEndpoint('approvals/create', {
|
|
114
|
-
issue_id: issueId,
|
|
115
|
-
requested_status: phase,
|
|
116
|
-
previous_status: null,
|
|
117
|
-
}));
|
|
118
|
-
const approvalId = result?.approval_id;
|
|
119
|
-
if (!approvalId) {
|
|
120
|
-
logError('Failed to create approval request: No approval_id returned');
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
if (verbose) {
|
|
124
|
-
logInfo(`✅ Approval request created: ${approvalId}`);
|
|
125
|
-
if (result?.emails_sent) {
|
|
126
|
-
const sentCount = result.emails_sent.filter((e) => e.status === 'sent').length;
|
|
127
|
-
const failedCount = result.emails_sent.filter((e) => e.status !== 'sent').length;
|
|
128
|
-
logInfo(`📧 Sent approval emails to ${sentCount} assignee(s)`);
|
|
129
|
-
if (failedCount > 0) {
|
|
130
|
-
logWarning(`⚠️ Failed to send ${failedCount} email(s)`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return approvalId;
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
138
|
-
logError(`Failed to create approval request: ${errorMessage}`);
|
|
139
|
-
return null;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type TestCaseStatus, type UserStoryStatus } from '../../types/index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Batch update user story statuses
|
|
4
|
-
*/
|
|
5
|
-
export declare function batchUpdateUserStoryStatus(userStoryIds: string[], status: UserStoryStatus, verbose?: boolean): Promise<boolean>;
|
|
6
|
-
/**
|
|
7
|
-
* Batch update test case statuses
|
|
8
|
-
*/
|
|
9
|
-
export declare function batchUpdateTestCaseStatus(testCaseIds: string[], status: TestCaseStatus, verbose?: boolean): Promise<boolean>;
|
|
10
|
-
/**
|
|
11
|
-
* Batch delete user stories
|
|
12
|
-
*/
|
|
13
|
-
export declare function batchDeleteUserStories(userStoryIds: string[], verbose?: boolean): Promise<boolean>;
|
|
14
|
-
/**
|
|
15
|
-
* Batch delete test cases
|
|
16
|
-
*/
|
|
17
|
-
export declare function batchDeleteTestCases(testCaseIds: string[], verbose?: boolean): Promise<boolean>;
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
2
|
-
import { callMcpEndpoint } from '../mcp-client.js';
|
|
3
|
-
/**
|
|
4
|
-
* Batch update user story statuses
|
|
5
|
-
*/
|
|
6
|
-
export async function batchUpdateUserStoryStatus(userStoryIds, status, verbose) {
|
|
7
|
-
try {
|
|
8
|
-
if (verbose) {
|
|
9
|
-
logInfo(`Batch updating ${userStoryIds.length} user stories to status: ${status}`);
|
|
10
|
-
}
|
|
11
|
-
for (const id of userStoryIds) {
|
|
12
|
-
await callMcpEndpoint('user_stories/update_status', {
|
|
13
|
-
user_story_id: id,
|
|
14
|
-
status,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
if (verbose) {
|
|
18
|
-
logInfo('✅ Batch user story status update completed');
|
|
19
|
-
}
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
24
|
-
logError(`Failed to batch update user story statuses: ${errorMessage}`);
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Batch update test case statuses
|
|
30
|
-
*/
|
|
31
|
-
export async function batchUpdateTestCaseStatus(testCaseIds, status, verbose) {
|
|
32
|
-
try {
|
|
33
|
-
if (verbose) {
|
|
34
|
-
logInfo(`Batch updating ${testCaseIds.length} test cases to status: ${status}`);
|
|
35
|
-
}
|
|
36
|
-
for (const id of testCaseIds) {
|
|
37
|
-
await callMcpEndpoint('test_cases/update_status', {
|
|
38
|
-
test_case_id: id,
|
|
39
|
-
status,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
if (verbose) {
|
|
43
|
-
logInfo('✅ Batch test case status update completed');
|
|
44
|
-
}
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
49
|
-
logError(`Failed to batch update test case statuses: ${errorMessage}`);
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Batch delete user stories
|
|
55
|
-
*/
|
|
56
|
-
export async function batchDeleteUserStories(userStoryIds, verbose) {
|
|
57
|
-
try {
|
|
58
|
-
if (verbose) {
|
|
59
|
-
logInfo(`Batch deleting ${userStoryIds.length} user stories`);
|
|
60
|
-
}
|
|
61
|
-
for (const id of userStoryIds) {
|
|
62
|
-
await callMcpEndpoint('user_stories/delete', {
|
|
63
|
-
user_story_id: id,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
if (verbose) {
|
|
67
|
-
logInfo('✅ Batch user story deletion completed');
|
|
68
|
-
}
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
73
|
-
logError(`Failed to batch delete user stories: ${errorMessage}`);
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Batch delete test cases
|
|
79
|
-
*/
|
|
80
|
-
export async function batchDeleteTestCases(testCaseIds, verbose) {
|
|
81
|
-
try {
|
|
82
|
-
if (verbose) {
|
|
83
|
-
logInfo(`Batch deleting ${testCaseIds.length} test cases`);
|
|
84
|
-
}
|
|
85
|
-
for (const id of testCaseIds) {
|
|
86
|
-
await callMcpEndpoint('test_cases/delete', {
|
|
87
|
-
test_case_id: id,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
if (verbose) {
|
|
91
|
-
logInfo('✅ Batch test case deletion completed');
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
catch (error) {
|
|
96
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
97
|
-
logError(`Failed to batch delete test cases: ${errorMessage}`);
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
}
|