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,306 +0,0 @@
|
|
|
1
|
-
import { getMcpServerUrl, getMcpToken } from '../../auth/auth-store.js';
|
|
2
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
3
|
-
/**
|
|
4
|
-
* Create test report results if there are any to create
|
|
5
|
-
*/
|
|
6
|
-
async function createTestResultsIfNeeded(testReportId,
|
|
7
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
-
testResults, verbose) {
|
|
9
|
-
if (!testResults || testResults.length === 0) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
const resultsResponse = await createTestReportResults({
|
|
13
|
-
testReportId,
|
|
14
|
-
testResults,
|
|
15
|
-
verbose,
|
|
16
|
-
});
|
|
17
|
-
if (verbose && resultsResponse.success) {
|
|
18
|
-
logInfo(`✅ Created ${resultsResponse.resultsCreated} test report results`);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Create a test report via MCP endpoint
|
|
23
|
-
* Uses structured data generated by Claude Code
|
|
24
|
-
*/
|
|
25
|
-
export async function createTestReport(options) {
|
|
26
|
-
const { issueId, testReportData, testResults, verbose } = options;
|
|
27
|
-
if (verbose) {
|
|
28
|
-
logInfo(`Creating test report for issue: ${issueId}`);
|
|
29
|
-
}
|
|
30
|
-
// Parse test results to extract statistics
|
|
31
|
-
const stats = parseTestResults(testReportData.testResults);
|
|
32
|
-
// Create structured test report data for Claude Code to generate
|
|
33
|
-
// This format should be used by Claude Code when creating test reports
|
|
34
|
-
const structuredReport = {
|
|
35
|
-
title: testReportData.title,
|
|
36
|
-
summary: testReportData.summary,
|
|
37
|
-
status: testReportData.status === 'testing_passed' ? 'submitted' : 'draft',
|
|
38
|
-
total_test_cases: stats.total,
|
|
39
|
-
passed_test_cases: stats.passed,
|
|
40
|
-
failed_test_cases: stats.failed,
|
|
41
|
-
test_details: testReportData.testResults,
|
|
42
|
-
timestamp: new Date().toISOString(),
|
|
43
|
-
};
|
|
44
|
-
try {
|
|
45
|
-
const mcpServerUrl = getMcpServerUrl();
|
|
46
|
-
const mcpToken = getMcpToken();
|
|
47
|
-
// Try to create test report via MCP endpoint
|
|
48
|
-
// Claude Code should call this endpoint directly with the structured data
|
|
49
|
-
const response = await fetch(`${mcpServerUrl}/mcp`, {
|
|
50
|
-
method: 'POST',
|
|
51
|
-
headers: {
|
|
52
|
-
'Content-Type': 'application/json',
|
|
53
|
-
Authorization: `Bearer ${mcpToken}`,
|
|
54
|
-
},
|
|
55
|
-
body: JSON.stringify({
|
|
56
|
-
jsonrpc: '2.0',
|
|
57
|
-
method: 'test_reports/create',
|
|
58
|
-
params: {
|
|
59
|
-
issue_id: issueId,
|
|
60
|
-
title: structuredReport.title,
|
|
61
|
-
status: structuredReport.status,
|
|
62
|
-
summary: structuredReport.summary,
|
|
63
|
-
total_test_cases: structuredReport.total_test_cases,
|
|
64
|
-
passed_test_cases: structuredReport.passed_test_cases,
|
|
65
|
-
failed_test_cases: structuredReport.failed_test_cases,
|
|
66
|
-
},
|
|
67
|
-
id: Math.random().toString(36).substring(7),
|
|
68
|
-
}),
|
|
69
|
-
});
|
|
70
|
-
if (response.ok) {
|
|
71
|
-
const data = await response.json();
|
|
72
|
-
if (!data.error && data.result) {
|
|
73
|
-
const testReport = data.result;
|
|
74
|
-
logInfo(`✅ Test report created via MCP: ${testReport.id}`);
|
|
75
|
-
// Create test report results if provided
|
|
76
|
-
await createTestResultsIfNeeded(testReport.id, testResults, verbose);
|
|
77
|
-
return {
|
|
78
|
-
success: true,
|
|
79
|
-
testReport,
|
|
80
|
-
testReportUrl: generateTestReportUrl(testReport.id),
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// If Claude Code's direct MCP call failed, manually call MCP with structured data
|
|
85
|
-
if (verbose) {
|
|
86
|
-
logInfo('Claude Code MCP call may have failed, manually calling MCP endpoint...');
|
|
87
|
-
}
|
|
88
|
-
// Manual fallback: Call MCP endpoint with the structured data
|
|
89
|
-
const fallbackResult = await manualMcpTestReportCreation(issueId, structuredReport, testResults, verbose);
|
|
90
|
-
return fallbackResult;
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
94
|
-
if (verbose) {
|
|
95
|
-
logError(`Test report creation failed: ${errorMessage}`);
|
|
96
|
-
}
|
|
97
|
-
// Manual fallback on any error
|
|
98
|
-
return manualMcpTestReportCreation(issueId, structuredReport, testResults, verbose);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Manual fallback: Call MCP endpoint with structured data
|
|
103
|
-
* This is used when Claude Code fails to call MCP directly
|
|
104
|
-
*/
|
|
105
|
-
/**
|
|
106
|
-
* Create test report results via MCP endpoint
|
|
107
|
-
*/
|
|
108
|
-
export async function createTestReportResults(options) {
|
|
109
|
-
const { testReportId, testResults, verbose } = options;
|
|
110
|
-
if (verbose) {
|
|
111
|
-
logInfo(`Creating ${testResults.length} test report results for report: ${testReportId}`);
|
|
112
|
-
}
|
|
113
|
-
try {
|
|
114
|
-
const mcpServerUrl = getMcpServerUrl();
|
|
115
|
-
const mcpToken = getMcpToken();
|
|
116
|
-
const response = await fetch(`${mcpServerUrl}/mcp`, {
|
|
117
|
-
method: 'POST',
|
|
118
|
-
headers: {
|
|
119
|
-
'Content-Type': 'application/json',
|
|
120
|
-
Authorization: `Bearer ${mcpToken}`,
|
|
121
|
-
},
|
|
122
|
-
body: JSON.stringify({
|
|
123
|
-
jsonrpc: '2.0',
|
|
124
|
-
method: 'test_report_results/create',
|
|
125
|
-
params: {
|
|
126
|
-
test_report_id: testReportId,
|
|
127
|
-
test_results: testResults,
|
|
128
|
-
},
|
|
129
|
-
id: Math.random().toString(36).substring(7),
|
|
130
|
-
}),
|
|
131
|
-
});
|
|
132
|
-
const data = await response.json();
|
|
133
|
-
if (response.ok && !data.error && data.result) {
|
|
134
|
-
const resultData = data.result;
|
|
135
|
-
if (verbose) {
|
|
136
|
-
logInfo(`✅ Created ${resultData.results_created} test report results`);
|
|
137
|
-
}
|
|
138
|
-
return {
|
|
139
|
-
success: true,
|
|
140
|
-
resultsCreated: resultData.results_created,
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
const errorMessage = data.error?.message || 'Failed to create test report results';
|
|
144
|
-
if (verbose) {
|
|
145
|
-
logError(`Test report results creation failed: ${errorMessage}`);
|
|
146
|
-
}
|
|
147
|
-
return {
|
|
148
|
-
success: false,
|
|
149
|
-
error: errorMessage,
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
catch (error) {
|
|
153
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
154
|
-
if (verbose) {
|
|
155
|
-
logError(`Test report results creation failed: ${errorMessage}`);
|
|
156
|
-
}
|
|
157
|
-
return {
|
|
158
|
-
success: false,
|
|
159
|
-
error: errorMessage,
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
async function manualMcpTestReportCreation(issueId, structuredReport, testResults, verbose) {
|
|
164
|
-
if (verbose) {
|
|
165
|
-
logInfo('Manually calling MCP test_reports/create endpoint with structured data');
|
|
166
|
-
}
|
|
167
|
-
try {
|
|
168
|
-
const mcpServerUrl = getMcpServerUrl();
|
|
169
|
-
const mcpToken = getMcpToken();
|
|
170
|
-
// Manually construct and send the MCP request
|
|
171
|
-
const response = await fetch(`${mcpServerUrl}/mcp`, {
|
|
172
|
-
method: 'POST',
|
|
173
|
-
headers: {
|
|
174
|
-
'Content-Type': 'application/json',
|
|
175
|
-
Authorization: `Bearer ${mcpToken}`,
|
|
176
|
-
},
|
|
177
|
-
body: JSON.stringify({
|
|
178
|
-
jsonrpc: '2.0',
|
|
179
|
-
method: 'test_reports/create',
|
|
180
|
-
params: {
|
|
181
|
-
issue_id: issueId,
|
|
182
|
-
title: structuredReport.title,
|
|
183
|
-
status: structuredReport.status,
|
|
184
|
-
summary: structuredReport.summary,
|
|
185
|
-
total_test_cases: structuredReport.total_test_cases,
|
|
186
|
-
passed_test_cases: structuredReport.passed_test_cases,
|
|
187
|
-
failed_test_cases: structuredReport.failed_test_cases,
|
|
188
|
-
},
|
|
189
|
-
id: `manual-${Date.now()}`,
|
|
190
|
-
}),
|
|
191
|
-
});
|
|
192
|
-
const data = await response.json();
|
|
193
|
-
if (response.ok && !data.error && data.result) {
|
|
194
|
-
const testReport = data.result;
|
|
195
|
-
if (verbose) {
|
|
196
|
-
logInfo(`✅ Test report created manually via MCP: ${testReport.id}`);
|
|
197
|
-
}
|
|
198
|
-
// Create test report results if provided
|
|
199
|
-
if (testResults && testResults.length > 0) {
|
|
200
|
-
const resultsResponse = await createTestReportResults({
|
|
201
|
-
testReportId: testReport.id,
|
|
202
|
-
testResults,
|
|
203
|
-
verbose,
|
|
204
|
-
});
|
|
205
|
-
if (verbose && resultsResponse.success) {
|
|
206
|
-
logInfo(`✅ Created ${resultsResponse.resultsCreated} test report results`);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return {
|
|
210
|
-
success: true,
|
|
211
|
-
testReport,
|
|
212
|
-
testReportUrl: generateTestReportUrl(testReport.id),
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
// If manual MCP call also failed, we can only return a mock test report
|
|
216
|
-
if (verbose) {
|
|
217
|
-
logInfo('Manual MCP call failed, returning mock test report for consistency');
|
|
218
|
-
}
|
|
219
|
-
// Create a mock test report object for consistency
|
|
220
|
-
const mockTestReport = {
|
|
221
|
-
id: issueId, // Use issue ID for URL generation
|
|
222
|
-
issue_id: issueId,
|
|
223
|
-
title: structuredReport.title,
|
|
224
|
-
status: structuredReport.status,
|
|
225
|
-
summary: structuredReport.summary,
|
|
226
|
-
total_test_cases: structuredReport.total_test_cases,
|
|
227
|
-
passed_test_cases: structuredReport.passed_test_cases,
|
|
228
|
-
failed_test_cases: structuredReport.failed_test_cases,
|
|
229
|
-
created_at: structuredReport.timestamp,
|
|
230
|
-
updated_at: structuredReport.timestamp,
|
|
231
|
-
};
|
|
232
|
-
return {
|
|
233
|
-
success: true,
|
|
234
|
-
testReport: mockTestReport,
|
|
235
|
-
testReportUrl: generateTestReportUrl(issueId),
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
240
|
-
if (verbose) {
|
|
241
|
-
logError(`Manual MCP test report creation failed: ${errorMessage}`);
|
|
242
|
-
}
|
|
243
|
-
return {
|
|
244
|
-
success: false,
|
|
245
|
-
error: errorMessage,
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Parse test results text to extract statistics
|
|
251
|
-
*/
|
|
252
|
-
function parseTestResults(testResults) {
|
|
253
|
-
const stats = {
|
|
254
|
-
total: 0,
|
|
255
|
-
passed: 0,
|
|
256
|
-
failed: 0,
|
|
257
|
-
skipped: 0,
|
|
258
|
-
};
|
|
259
|
-
if (!testResults) {
|
|
260
|
-
return stats;
|
|
261
|
-
}
|
|
262
|
-
// Look for common test result patterns
|
|
263
|
-
const lines = testResults.split('\n');
|
|
264
|
-
for (const line of lines) {
|
|
265
|
-
// Pattern: "X tests passed, Y failed"
|
|
266
|
-
const testSummaryMatch = line.match(/(\d+)\s+tests?\s+passed,\s*(\d+)\s+failed/);
|
|
267
|
-
if (testSummaryMatch) {
|
|
268
|
-
stats.passed = parseInt(testSummaryMatch[1]);
|
|
269
|
-
stats.failed = parseInt(testSummaryMatch[2]);
|
|
270
|
-
stats.total = stats.passed + stats.failed;
|
|
271
|
-
continue;
|
|
272
|
-
}
|
|
273
|
-
// Pattern: "✅ Test passed" or "❌ Test failed"
|
|
274
|
-
if (line.includes('✅') &&
|
|
275
|
-
(line.includes('passed') || line.includes('success'))) {
|
|
276
|
-
stats.passed++;
|
|
277
|
-
}
|
|
278
|
-
else if (line.includes('❌') &&
|
|
279
|
-
(line.includes('failed') || line.includes('error'))) {
|
|
280
|
-
stats.failed++;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
// Calculate total if not already set
|
|
284
|
-
if (stats.total === 0 && (stats.passed > 0 || stats.failed > 0)) {
|
|
285
|
-
stats.total = stats.passed + stats.failed + stats.skipped;
|
|
286
|
-
}
|
|
287
|
-
// Fallback: estimate from content length if no specific numbers found
|
|
288
|
-
if (stats.total === 0) {
|
|
289
|
-
// Rough estimation based on test result content
|
|
290
|
-
const testIndicators = (testResults.match(/test|spec|should|expect/gi) || []).length;
|
|
291
|
-
stats.total = Math.max(1, Math.floor(testIndicators / 3));
|
|
292
|
-
stats.passed =
|
|
293
|
-
testResults.includes('passed') || testResults.includes('success')
|
|
294
|
-
? Math.ceil(stats.total * 0.8)
|
|
295
|
-
: 0;
|
|
296
|
-
stats.failed = stats.total - stats.passed;
|
|
297
|
-
}
|
|
298
|
-
return stats;
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Generate URL for viewing test report
|
|
302
|
-
*/
|
|
303
|
-
function generateTestReportUrl(reportId) {
|
|
304
|
-
// Generate URL for the frontend test report page
|
|
305
|
-
return `https://edsger.ai/test-reports/${reportId}`;
|
|
306
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test retry and bug fixing handler for pipeline execution
|
|
3
|
-
*/
|
|
4
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
5
|
-
import { type PipelinePhaseOptions, type PipelineResult } from '../../types/pipeline.js';
|
|
6
|
-
export declare const MAX_FIX_ATTEMPTS = 3;
|
|
7
|
-
export interface TestRetryOptions {
|
|
8
|
-
options: PipelinePhaseOptions;
|
|
9
|
-
config: EdsgerConfig;
|
|
10
|
-
results: PipelineResult[];
|
|
11
|
-
verbose?: boolean;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Handle test failures with automatic bug fixing and retry
|
|
15
|
-
*/
|
|
16
|
-
export declare function handleTestFailuresWithRetry({ options, config, results, verbose, }: TestRetryOptions): Promise<PipelineResult>;
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test retry and bug fixing handler for pipeline execution
|
|
3
|
-
*/
|
|
4
|
-
import { updateIssueStatusForPhase } from '../../api/issues/index.js';
|
|
5
|
-
import { runFunctionalTestingPhase } from '../../commands/workflow/executors/phase-executor.js';
|
|
6
|
-
import { logDebug, logWarning } from '../../utils/logger.js';
|
|
7
|
-
import { logPhaseResult } from '../../utils/pipeline-logger.js';
|
|
8
|
-
import { checkBugFixingRequirements, fixTestFailures, } from '../bug-fixing/analyzer.js';
|
|
9
|
-
export const MAX_FIX_ATTEMPTS = 3;
|
|
10
|
-
/**
|
|
11
|
-
* Handle test failures with automatic bug fixing and retry
|
|
12
|
-
*/
|
|
13
|
-
export async function handleTestFailuresWithRetry({ options, config, results, verbose, }) {
|
|
14
|
-
let testingResult;
|
|
15
|
-
let fixAttempt = 0;
|
|
16
|
-
do {
|
|
17
|
-
// Run functional testing
|
|
18
|
-
testingResult = await runFunctionalTestingPhase(options, config);
|
|
19
|
-
results.push(logPhaseResult(testingResult, verbose));
|
|
20
|
-
// If tests failed and we haven't exceeded max attempts, try to fix
|
|
21
|
-
if (testingResult.status === 'error' && fixAttempt < MAX_FIX_ATTEMPTS) {
|
|
22
|
-
fixAttempt++;
|
|
23
|
-
logDebug(`Tests failed. Attempting to fix bugs (Attempt ${fixAttempt}/${MAX_FIX_ATTEMPTS})...`, verbose);
|
|
24
|
-
// Check if bug fixing requirements are met
|
|
25
|
-
const hasBugFixingReqs = await checkBugFixingRequirements();
|
|
26
|
-
if (!hasBugFixingReqs) {
|
|
27
|
-
logDebug('Bug fixing requirements not met. Skipping automatic fixes.', verbose);
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
// Extract test errors from the testing result
|
|
31
|
-
const testErrors =
|
|
32
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
33
|
-
testingResult.data?.testResult || testingResult.message;
|
|
34
|
-
// Run bug fixing
|
|
35
|
-
const fixResult = await fixTestFailures({
|
|
36
|
-
issueId: options.issueId,
|
|
37
|
-
testErrors,
|
|
38
|
-
attemptNumber: fixAttempt,
|
|
39
|
-
verbose,
|
|
40
|
-
}, config);
|
|
41
|
-
if (fixResult.status === 'success') {
|
|
42
|
-
logDebug('Bug fixes applied. Re-running tests...', verbose);
|
|
43
|
-
if (verbose &&
|
|
44
|
-
fixResult.filesFixed &&
|
|
45
|
-
fixResult.filesFixed.length > 0) {
|
|
46
|
-
logDebug(`Files fixed: ${fixResult.filesFixed.join(', ')}`, verbose);
|
|
47
|
-
}
|
|
48
|
-
// Remove the previous failed test result from results
|
|
49
|
-
results.pop();
|
|
50
|
-
// Update status to indicate we're retrying tests
|
|
51
|
-
await updateIssueStatusForPhase(options.issueId, 'functional-testing', verbose);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
logDebug(`Bug fixing failed: ${fixResult.message}`, verbose);
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
// Tests passed or max attempts reached
|
|
60
|
-
break;
|
|
61
|
-
}
|
|
62
|
-
} while (fixAttempt <= MAX_FIX_ATTEMPTS);
|
|
63
|
-
// Log if max attempts reached
|
|
64
|
-
if (testingResult.status === 'error' &&
|
|
65
|
-
fixAttempt >= MAX_FIX_ATTEMPTS &&
|
|
66
|
-
verbose) {
|
|
67
|
-
logWarning(`Maximum fix attempts (${MAX_FIX_ATTEMPTS}) reached. Tests still failing.`);
|
|
68
|
-
}
|
|
69
|
-
return testingResult;
|
|
70
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
2
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
3
|
-
import { logDebug, logError, logInfo } from '../../utils/logger.js';
|
|
4
|
-
/**
|
|
5
|
-
* Parse JSON result from Claude Code response
|
|
6
|
-
*/
|
|
7
|
-
function parseGrowthResult(responseText) {
|
|
8
|
-
try {
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
let jsonResult = null;
|
|
11
|
-
// First try to extract JSON from markdown code block
|
|
12
|
-
const jsonBlockMatch = responseText.match(/```json\s*\n([\s\S]*?)\n\s*```/);
|
|
13
|
-
if (jsonBlockMatch) {
|
|
14
|
-
jsonResult = JSON.parse(jsonBlockMatch[1]);
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
// Try to parse the entire response as JSON
|
|
18
|
-
jsonResult = JSON.parse(responseText);
|
|
19
|
-
}
|
|
20
|
-
if (jsonResult && jsonResult.analysis) {
|
|
21
|
-
return { analysis: jsonResult.analysis };
|
|
22
|
-
}
|
|
23
|
-
return { error: 'Invalid JSON structure' };
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
return {
|
|
27
|
-
error: `JSON parsing failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
function userMessage(content) {
|
|
32
|
-
return {
|
|
33
|
-
type: 'user',
|
|
34
|
-
message: { role: 'user', content },
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/require-await -- async generator required by SDK interface
|
|
38
|
-
async function* prompt(analysisPrompt) {
|
|
39
|
-
yield userMessage(analysisPrompt);
|
|
40
|
-
}
|
|
41
|
-
export async function executeGrowthAnalysisQuery(currentPrompt, systemPrompt, config, verbose, cwd) {
|
|
42
|
-
let lastAssistantResponse = '';
|
|
43
|
-
let structuredResult = null;
|
|
44
|
-
let turnCount = 0;
|
|
45
|
-
logInfo('Connecting to AI agent...');
|
|
46
|
-
for await (const message of query({
|
|
47
|
-
prompt: prompt(currentPrompt),
|
|
48
|
-
options: {
|
|
49
|
-
systemPrompt: {
|
|
50
|
-
type: 'preset',
|
|
51
|
-
preset: 'claude_code',
|
|
52
|
-
append: systemPrompt,
|
|
53
|
-
},
|
|
54
|
-
model: DEFAULT_MODEL,
|
|
55
|
-
maxTurns: 1000,
|
|
56
|
-
permissionMode: 'bypassPermissions',
|
|
57
|
-
...(cwd ? { cwd } : {}),
|
|
58
|
-
},
|
|
59
|
-
})) {
|
|
60
|
-
if (verbose) {
|
|
61
|
-
logInfo(`Received message type: ${message.type}`);
|
|
62
|
-
}
|
|
63
|
-
if (message.type === 'assistant' && message.message?.content) {
|
|
64
|
-
turnCount++;
|
|
65
|
-
for (const content of message.message.content) {
|
|
66
|
-
if (content.type === 'text') {
|
|
67
|
-
lastAssistantResponse += `${content.text}\n`;
|
|
68
|
-
logDebug(`${content.text}`, verbose);
|
|
69
|
-
}
|
|
70
|
-
else if (content.type === 'tool_use') {
|
|
71
|
-
const input = (content.input ?? {});
|
|
72
|
-
const desc = input.description ?? input.command ?? 'Running...';
|
|
73
|
-
logInfo(`[Turn ${turnCount}] ${content.name}: ${typeof desc === 'string' ? desc.slice(0, 120) : 'Running...'}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (message.type === 'result') {
|
|
78
|
-
if (message.subtype === 'success') {
|
|
79
|
-
logInfo(`\nGrowth analysis completed after ${turnCount} turns, parsing results...`);
|
|
80
|
-
const responseText = message.result || lastAssistantResponse;
|
|
81
|
-
const parsed = parseGrowthResult(responseText);
|
|
82
|
-
if (parsed.error) {
|
|
83
|
-
logError(`Failed to parse growth analysis result: ${parsed.error}`);
|
|
84
|
-
structuredResult = {
|
|
85
|
-
status: 'error',
|
|
86
|
-
analysis_content: 'Failed to parse analysis results',
|
|
87
|
-
target_channels: [],
|
|
88
|
-
content_suggestions: [],
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
structuredResult = parsed.analysis;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
logError(`\nAnalysis incomplete: ${message.subtype}`);
|
|
97
|
-
if (lastAssistantResponse) {
|
|
98
|
-
const parsed = parseGrowthResult(lastAssistantResponse);
|
|
99
|
-
if (!parsed.error) {
|
|
100
|
-
structuredResult = parsed.analysis;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return structuredResult;
|
|
107
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { type GrowthCampaign } from '../../api/growth.js';
|
|
2
|
-
import { type ProductInfo } from '../../api/products.js';
|
|
3
|
-
import { type UserPsychologyAnalysis } from '../../api/user-psychology.js';
|
|
4
|
-
export interface GrowthAnalysisContext {
|
|
5
|
-
product: ProductInfo;
|
|
6
|
-
previousCampaigns: GrowthCampaign[];
|
|
7
|
-
/** Most recent completed user-psychology profile, if any. Lets the
|
|
8
|
-
* growth agent ground content in real personas + JTBDs + messaging
|
|
9
|
-
* angles instead of guessing the audience from scratch. */
|
|
10
|
-
psychology: UserPsychologyAnalysis | null;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Fetch all context needed for growth analysis via MCP endpoints
|
|
14
|
-
*/
|
|
15
|
-
export declare function fetchGrowthAnalysisContext(productId: string, verbose?: boolean): Promise<GrowthAnalysisContext>;
|
|
16
|
-
export declare function formatContextForPrompt(context: GrowthAnalysisContext, guidance?: string): string;
|
|
17
|
-
/**
|
|
18
|
-
* Prepare the full analysis prompt with all context
|
|
19
|
-
*/
|
|
20
|
-
export declare function prepareGrowthAnalysisContext(productId: string, verbose?: boolean, hasCodebase?: boolean, guidance?: string): Promise<{
|
|
21
|
-
context: GrowthAnalysisContext;
|
|
22
|
-
analysisPrompt: string;
|
|
23
|
-
}>;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { getGrowthCampaigns } from '../../api/growth.js';
|
|
2
|
-
import { getProduct } from '../../api/products.js';
|
|
3
|
-
import { getLatestUserPsychologyAnalysis, } from '../../api/user-psychology.js';
|
|
4
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
5
|
-
import { createGrowthAnalysisPromptWithContext } from './prompts.js';
|
|
6
|
-
/**
|
|
7
|
-
* Fetch all context needed for growth analysis via MCP endpoints
|
|
8
|
-
*/
|
|
9
|
-
export async function fetchGrowthAnalysisContext(productId, verbose) {
|
|
10
|
-
try {
|
|
11
|
-
if (verbose) {
|
|
12
|
-
logInfo(`Fetching growth analysis context for product: ${productId}`);
|
|
13
|
-
}
|
|
14
|
-
const [product, previousCampaigns, psychology] = await Promise.all([
|
|
15
|
-
getProduct(productId, verbose),
|
|
16
|
-
getGrowthCampaigns(productId, verbose),
|
|
17
|
-
getLatestUserPsychologyAnalysis(productId, verbose),
|
|
18
|
-
]);
|
|
19
|
-
if (verbose) {
|
|
20
|
-
logInfo(`Growth analysis context fetched:`);
|
|
21
|
-
logInfo(` Product: ${product.name}`);
|
|
22
|
-
logInfo(` Previous campaigns: ${previousCampaigns.length}`);
|
|
23
|
-
logInfo(` Psychology profile: ${psychology ? 'available' : 'none'}`);
|
|
24
|
-
}
|
|
25
|
-
return { product, previousCampaigns, psychology };
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
29
|
-
logError(`Failed to fetch growth analysis context: ${errorMessage}`);
|
|
30
|
-
throw new Error(`Context fetch failed: ${errorMessage}`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Format context into a prompt string for the AI
|
|
35
|
-
*/
|
|
36
|
-
function formatPsychologyForPrompt(psychology) {
|
|
37
|
-
if (!psychology) {
|
|
38
|
-
return '';
|
|
39
|
-
}
|
|
40
|
-
const personas = (psychology.target_personas ?? [])
|
|
41
|
-
.slice(0, 5)
|
|
42
|
-
.map((p, i) => {
|
|
43
|
-
const drivers = p.decision_drivers?.length
|
|
44
|
-
? ` — decision drivers: ${p.decision_drivers.join(', ')}`
|
|
45
|
-
: '';
|
|
46
|
-
return `${i + 1}. **${p.name}** — ${p.archetype}${drivers}`;
|
|
47
|
-
})
|
|
48
|
-
.join('\n');
|
|
49
|
-
const jobs = (psychology.jobs_to_be_done ?? [])
|
|
50
|
-
.slice(0, 8)
|
|
51
|
-
.map((j) => `- [${j.type}] ${j.statement}`)
|
|
52
|
-
.join('\n');
|
|
53
|
-
const pains = (psychology.pain_points ?? [])
|
|
54
|
-
.slice(0, 6)
|
|
55
|
-
.map((pp) => `- [${pp.severity}] ${pp.pain}`)
|
|
56
|
-
.join('\n');
|
|
57
|
-
const angles = (psychology.messaging_angles ?? [])
|
|
58
|
-
.slice(0, 6)
|
|
59
|
-
.map((m) => `- **${m.angle_name}** (${m.psychological_lever}): "${m.hook}" — for ${m.persona}`)
|
|
60
|
-
.join('\n');
|
|
61
|
-
return `
|
|
62
|
-
|
|
63
|
-
## User Psychology Profile (latest research, dated ${psychology.created_at.slice(0, 10)})
|
|
64
|
-
Use this as the authoritative source for who the audience is. Content suggestions must speak to one of these personas and answer one of their jobs-to-be-done. Reuse the messaging angles below as hooks where they fit.
|
|
65
|
-
|
|
66
|
-
### Target Personas
|
|
67
|
-
${personas || '(none)'}
|
|
68
|
-
|
|
69
|
-
### Jobs-to-be-Done
|
|
70
|
-
${jobs || '(none)'}
|
|
71
|
-
|
|
72
|
-
### Pain Points
|
|
73
|
-
${pains || '(none)'}
|
|
74
|
-
|
|
75
|
-
### Pre-validated Messaging Angles
|
|
76
|
-
${angles || '(none)'}
|
|
77
|
-
|
|
78
|
-
---`;
|
|
79
|
-
}
|
|
80
|
-
export function formatContextForPrompt(context, guidance) {
|
|
81
|
-
const { product, previousCampaigns, psychology } = context;
|
|
82
|
-
const campaignsList = previousCampaigns.length > 0
|
|
83
|
-
? previousCampaigns
|
|
84
|
-
.map((c, i) => `${i + 1}. **${c.title}** [${c.channel}] (${c.status})
|
|
85
|
-
${c.content.substring(0, 300)}${c.content.length > 300 ? '...' : ''}
|
|
86
|
-
${c.published_url ? `Published: ${c.published_url}` : 'Not yet published'}
|
|
87
|
-
Created: ${c.created_at}`)
|
|
88
|
-
.join('\n\n')
|
|
89
|
-
: 'No previous campaigns.';
|
|
90
|
-
const issuesList = product.issues && product.issues.length > 0
|
|
91
|
-
? product.issues
|
|
92
|
-
.map((f) => `- **${f.name}**: ${f.description || 'No description'} (Status: ${f.status || 'unknown'})`)
|
|
93
|
-
.join('\n')
|
|
94
|
-
: 'No issues listed.';
|
|
95
|
-
const guidanceSection = guidance
|
|
96
|
-
? `
|
|
97
|
-
|
|
98
|
-
## Human Growth Guidance
|
|
99
|
-
The product owner has provided the following direction for this growth analysis. **You MUST follow this guidance closely** — it takes priority over your own judgement for content direction, themes, audience, and channel selection.
|
|
100
|
-
|
|
101
|
-
${guidance}
|
|
102
|
-
|
|
103
|
-
---`
|
|
104
|
-
: '';
|
|
105
|
-
return `# Growth Analysis Context
|
|
106
|
-
|
|
107
|
-
## Product Information
|
|
108
|
-
- **Name**: ${product.name}
|
|
109
|
-
- **Product ID**: ${product.id}
|
|
110
|
-
- **Description**: ${product.description || 'No description provided'}
|
|
111
|
-
|
|
112
|
-
## Product Issues (${product.issues?.length || 0})
|
|
113
|
-
${issuesList}
|
|
114
|
-
${guidanceSection}${formatPsychologyForPrompt(psychology)}
|
|
115
|
-
|
|
116
|
-
## Previous Growth Campaigns (${previousCampaigns.length})
|
|
117
|
-
${campaignsList}
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
**Important**: Analyze the product above and create a growth strategy.${guidance ? ' Follow the human growth guidance provided above for direction, themes, and tone.' : ''}${psychology ? ' Anchor every content suggestion to a persona from the psychology profile above and answer a specific job-to-be-done.' : ''} Each content suggestion must be DIFFERENT from all previous campaigns listed above. Use the product name, description, and issues to write specific, concrete content — never use placeholder text.`;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Prepare the full analysis prompt with all context
|
|
125
|
-
*/
|
|
126
|
-
export async function prepareGrowthAnalysisContext(productId, verbose, hasCodebase = false, guidance) {
|
|
127
|
-
if (verbose) {
|
|
128
|
-
logInfo('Fetching growth analysis context via MCP endpoints...');
|
|
129
|
-
if (guidance) {
|
|
130
|
-
logInfo(`Human guidance provided: "${guidance.substring(0, 80)}${guidance.length > 80 ? '...' : ''}"`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
const context = await fetchGrowthAnalysisContext(productId, verbose);
|
|
134
|
-
const contextInfo = formatContextForPrompt(context, guidance);
|
|
135
|
-
const analysisPrompt = createGrowthAnalysisPromptWithContext(productId, contextInfo, hasCodebase);
|
|
136
|
-
return { context, analysisPrompt };
|
|
137
|
-
}
|