edsger 0.77.0 → 0.79.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 +1348 -1247
- package/dist/index.js.map +1 -0
- package/package.json +58 -53
- package/dist/api/adr.d.ts +0 -48
- package/dist/api/adr.js +0 -139
- package/dist/api/app-store-iap.d.ts +0 -60
- package/dist/api/app-store-iap.js +0 -145
- package/dist/api/app-store.d.ts +0 -93
- package/dist/api/app-store.js +0 -206
- package/dist/api/chat.d.ts +0 -72
- package/dist/api/chat.js +0 -272
- package/dist/api/cross-product.d.ts +0 -33
- package/dist/api/cross-product.js +0 -127
- package/dist/api/financing.d.ts +0 -47
- package/dist/api/financing.js +0 -37
- package/dist/api/github.d.ts +0 -86
- package/dist/api/github.js +0 -203
- package/dist/api/growth.d.ts +0 -81
- package/dist/api/growth.js +0 -75
- package/dist/api/intelligence-normalize.d.ts +0 -25
- package/dist/api/intelligence-normalize.js +0 -103
- package/dist/api/intelligence.d.ts +0 -187
- package/dist/api/intelligence.js +0 -402
- package/dist/api/issues/approval-checker.d.ts +0 -22
- package/dist/api/issues/approval-checker.js +0 -141
- package/dist/api/issues/batch-operations.d.ts +0 -17
- package/dist/api/issues/batch-operations.js +0 -100
- package/dist/api/issues/get-issue.d.ts +0 -5
- package/dist/api/issues/get-issue.js +0 -47
- package/dist/api/issues/index.d.ts +0 -8
- package/dist/api/issues/index.js +0 -10
- package/dist/api/issues/issue-utils.d.ts +0 -25
- package/dist/api/issues/issue-utils.js +0 -133
- package/dist/api/issues/status-updater.d.ts +0 -68
- package/dist/api/issues/status-updater.js +0 -190
- package/dist/api/issues/test-cases.d.ts +0 -29
- package/dist/api/issues/test-cases.js +0 -185
- package/dist/api/issues/update-issue.d.ts +0 -25
- package/dist/api/issues/update-issue.js +0 -127
- package/dist/api/issues/user-stories.d.ts +0 -21
- package/dist/api/issues/user-stories.js +0 -163
- package/dist/api/mcp-client.d.ts +0 -22
- package/dist/api/mcp-client.js +0 -75
- package/dist/api/products/test-cases.d.ts +0 -18
- package/dist/api/products/test-cases.js +0 -51
- package/dist/api/products.d.ts +0 -15
- package/dist/api/products.js +0 -45
- package/dist/api/release-test-cases.d.ts +0 -7
- package/dist/api/release-test-cases.js +0 -59
- package/dist/api/releases.d.ts +0 -41
- package/dist/api/releases.js +0 -117
- package/dist/api/run-sheets.d.ts +0 -22
- package/dist/api/run-sheets.js +0 -13
- package/dist/api/storage.d.ts +0 -13
- package/dist/api/storage.js +0 -29
- package/dist/api/tasks.d.ts +0 -26
- package/dist/api/tasks.js +0 -81
- package/dist/api/test-reports.d.ts +0 -9
- package/dist/api/test-reports.js +0 -43
- package/dist/api/user-psychology.d.ts +0 -101
- package/dist/api/user-psychology.js +0 -143
- package/dist/api/web-deploy.d.ts +0 -67
- package/dist/api/web-deploy.js +0 -199
- package/dist/auth/auth-store.d.ts +0 -98
- package/dist/auth/auth-store.js +0 -194
- package/dist/auth/env-store.d.ts +0 -41
- package/dist/auth/env-store.js +0 -127
- package/dist/auth/login.d.ts +0 -18
- package/dist/auth/login.js +0 -179
- package/dist/commands/adr/index.d.ts +0 -13
- package/dist/commands/adr/index.js +0 -31
- package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
- package/dist/commands/agent-workflow/chat-worker.js +0 -465
- package/dist/commands/agent-workflow/index.d.ts +0 -13
- package/dist/commands/agent-workflow/index.js +0 -107
- package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
- package/dist/commands/agent-workflow/issue-worker.js +0 -65
- package/dist/commands/agent-workflow/processor.d.ts +0 -95
- package/dist/commands/agent-workflow/processor.js +0 -519
- package/dist/commands/analyze-logs/index.d.ts +0 -7
- package/dist/commands/analyze-logs/index.js +0 -34
- package/dist/commands/api-docs/index.d.ts +0 -18
- package/dist/commands/api-docs/index.js +0 -41
- package/dist/commands/app-store/index.d.ts +0 -12
- package/dist/commands/app-store/index.js +0 -69
- package/dist/commands/architecture-diagram/index.d.ts +0 -8
- package/dist/commands/architecture-diagram/index.js +0 -10
- package/dist/commands/build/detect-project.d.ts +0 -52
- package/dist/commands/build/detect-project.js +0 -277
- package/dist/commands/build/index.d.ts +0 -66
- package/dist/commands/build/index.js +0 -544
- package/dist/commands/chat-serve/chat-server.d.ts +0 -114
- package/dist/commands/chat-serve/chat-server.js +0 -339
- package/dist/commands/chat-serve/index.d.ts +0 -20
- package/dist/commands/chat-serve/index.js +0 -58
- package/dist/commands/checklists/index.d.ts +0 -16
- package/dist/commands/checklists/index.js +0 -187
- package/dist/commands/checklists/tools.d.ts +0 -17
- package/dist/commands/checklists/tools.js +0 -19
- package/dist/commands/class-diagram/index.d.ts +0 -7
- package/dist/commands/class-diagram/index.js +0 -9
- package/dist/commands/code-review/index.d.ts +0 -2
- package/dist/commands/code-review/index.js +0 -37
- package/dist/commands/code-review/reviewer.d.ts +0 -3
- package/dist/commands/code-review/reviewer.js +0 -205
- package/dist/commands/config/index.d.ts +0 -16
- package/dist/commands/config/index.js +0 -60
- package/dist/commands/data-flow/index.d.ts +0 -19
- package/dist/commands/data-flow/index.js +0 -55
- package/dist/commands/diagram-shared/index.d.ts +0 -21
- package/dist/commands/diagram-shared/index.js +0 -37
- package/dist/commands/discover/index.d.ts +0 -14
- package/dist/commands/discover/index.js +0 -29
- package/dist/commands/er-diagram/index.d.ts +0 -19
- package/dist/commands/er-diagram/index.js +0 -55
- package/dist/commands/features/index.d.ts +0 -15
- package/dist/commands/features/index.js +0 -34
- package/dist/commands/financing-deck/index.d.ts +0 -8
- package/dist/commands/financing-deck/index.js +0 -66
- package/dist/commands/find-architecture/index.d.ts +0 -15
- package/dist/commands/find-architecture/index.js +0 -50
- package/dist/commands/find-bugs/index.d.ts +0 -13
- package/dist/commands/find-bugs/index.js +0 -48
- package/dist/commands/find-features/index.d.ts +0 -14
- package/dist/commands/find-features/index.js +0 -42
- package/dist/commands/find-smells/index.d.ts +0 -23
- package/dist/commands/find-smells/index.js +0 -74
- package/dist/commands/flowchart/index.d.ts +0 -8
- package/dist/commands/flowchart/index.js +0 -10
- package/dist/commands/growth-analysis/index.d.ts +0 -7
- package/dist/commands/growth-analysis/index.js +0 -89
- package/dist/commands/init/index.d.ts +0 -5
- package/dist/commands/init/index.js +0 -152
- package/dist/commands/init/prompts.d.ts +0 -9
- package/dist/commands/init/prompts.js +0 -128
- package/dist/commands/init/templates.d.ts +0 -9
- package/dist/commands/init/templates.js +0 -264
- package/dist/commands/intelligence/index.d.ts +0 -15
- package/dist/commands/intelligence/index.js +0 -138
- package/dist/commands/issue-analysis/index.d.ts +0 -5
- package/dist/commands/issue-analysis/index.js +0 -9
- package/dist/commands/pr-resolve/index.d.ts +0 -13
- package/dist/commands/pr-resolve/index.js +0 -50
- package/dist/commands/pr-review/index.d.ts +0 -12
- package/dist/commands/pr-review/index.js +0 -47
- package/dist/commands/product-techniques/index.d.ts +0 -15
- package/dist/commands/product-techniques/index.js +0 -37
- package/dist/commands/product-test-cases/index.d.ts +0 -12
- package/dist/commands/product-test-cases/index.js +0 -40
- package/dist/commands/quality-benchmark/index.d.ts +0 -45
- package/dist/commands/quality-benchmark/index.js +0 -247
- package/dist/commands/recipes/index.d.ts +0 -17
- package/dist/commands/recipes/index.js +0 -40
- package/dist/commands/refactor/refactor.d.ts +0 -2
- package/dist/commands/refactor/refactor.js +0 -134
- package/dist/commands/release-sync/index.d.ts +0 -5
- package/dist/commands/release-sync/index.js +0 -38
- package/dist/commands/run-sheet/index.d.ts +0 -6
- package/dist/commands/run-sheet/index.js +0 -48
- package/dist/commands/screen-flow/index.d.ts +0 -18
- package/dist/commands/screen-flow/index.js +0 -54
- package/dist/commands/sequence-diagram/index.d.ts +0 -19
- package/dist/commands/sequence-diagram/index.js +0 -55
- package/dist/commands/session-serve/index.d.ts +0 -32
- package/dist/commands/session-serve/index.js +0 -100
- package/dist/commands/session-turn/index.d.ts +0 -73
- package/dist/commands/session-turn/index.js +0 -254
- package/dist/commands/smoke-test/index.d.ts +0 -5
- package/dist/commands/smoke-test/index.js +0 -40
- package/dist/commands/state-diagram/index.d.ts +0 -7
- package/dist/commands/state-diagram/index.js +0 -9
- package/dist/commands/sync-aws/index.d.ts +0 -16
- package/dist/commands/sync-aws/index.js +0 -214
- package/dist/commands/sync-datadog/index.d.ts +0 -16
- package/dist/commands/sync-datadog/index.js +0 -236
- package/dist/commands/sync-github-issues/index.d.ts +0 -11
- package/dist/commands/sync-github-issues/index.js +0 -42
- package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
- package/dist/commands/sync-github-pull-requests/index.js +0 -42
- package/dist/commands/sync-org-repos/index.d.ts +0 -12
- package/dist/commands/sync-org-repos/index.js +0 -60
- package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
- package/dist/commands/sync-sentry-issues/index.js +0 -73
- package/dist/commands/sync-terraform/index.d.ts +0 -16
- package/dist/commands/sync-terraform/index.js +0 -248
- package/dist/commands/task-worker/index.d.ts +0 -8
- package/dist/commands/task-worker/index.js +0 -34
- package/dist/commands/task-worker/processor.d.ts +0 -23
- package/dist/commands/task-worker/processor.js +0 -84
- package/dist/commands/technical-design/index.d.ts +0 -5
- package/dist/commands/technical-design/index.js +0 -9
- package/dist/commands/test-cases-analysis/index.d.ts +0 -5
- package/dist/commands/test-cases-analysis/index.js +0 -9
- package/dist/commands/user-psychology/index.d.ts +0 -7
- package/dist/commands/user-psychology/index.js +0 -51
- package/dist/commands/user-stories-analysis/index.d.ts +0 -5
- package/dist/commands/user-stories-analysis/index.js +0 -9
- package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
- package/dist/commands/workflow/config/phase-configs.js +0 -132
- package/dist/commands/workflow/core/index.d.ts +0 -8
- package/dist/commands/workflow/core/index.js +0 -12
- package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
- package/dist/commands/workflow/core/issue-filter.js +0 -47
- package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
- package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
- package/dist/commands/workflow/core/state-manager.d.ts +0 -24
- package/dist/commands/workflow/core/state-manager.js +0 -42
- package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
- package/dist/commands/workflow/core/workflow-logger.js +0 -77
- package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
- package/dist/commands/workflow/executors/phase-executor.js +0 -338
- package/dist/commands/workflow/index.d.ts +0 -2
- package/dist/commands/workflow/index.js +0 -34
- package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
- package/dist/commands/workflow/issue-coordinator.js +0 -161
- package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
- package/dist/commands/workflow/phase-orchestrator.js +0 -699
- package/dist/commands/workflow/processor.d.ts +0 -47
- package/dist/commands/workflow/processor.js +0 -149
- package/dist/config/issue-status.d.ts +0 -29
- package/dist/config/issue-status.js +0 -44
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -79
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +0 -36
- package/dist/errors/index.d.ts +0 -68
- package/dist/errors/index.js +0 -129
- package/dist/index.d.ts +0 -4
- package/dist/phases/adr-generation/agent.d.ts +0 -6
- package/dist/phases/adr-generation/agent.js +0 -69
- package/dist/phases/adr-generation/index.d.ts +0 -15
- package/dist/phases/adr-generation/index.js +0 -66
- package/dist/phases/adr-generation/parse.d.ts +0 -12
- package/dist/phases/adr-generation/parse.js +0 -123
- package/dist/phases/adr-generation/prompts.d.ts +0 -8
- package/dist/phases/adr-generation/prompts.js +0 -35
- package/dist/phases/analyze-logs/agent.d.ts +0 -11
- package/dist/phases/analyze-logs/agent.js +0 -66
- package/dist/phases/analyze-logs/index.d.ts +0 -23
- package/dist/phases/analyze-logs/index.js +0 -152
- package/dist/phases/analyze-logs/prompts.d.ts +0 -3
- package/dist/phases/analyze-logs/prompts.js +0 -27
- package/dist/phases/api-docs/index.d.ts +0 -47
- package/dist/phases/api-docs/index.js +0 -254
- package/dist/phases/api-docs/mcp-server.d.ts +0 -25
- package/dist/phases/api-docs/mcp-server.js +0 -82
- package/dist/phases/api-docs/prompts.d.ts +0 -16
- package/dist/phases/api-docs/prompts.js +0 -65
- package/dist/phases/api-docs/types.d.ts +0 -22
- package/dist/phases/api-docs/types.js +0 -10
- package/dist/phases/app-store-generation/agent.d.ts +0 -2
- package/dist/phases/app-store-generation/agent.js +0 -177
- package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
- package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
- package/dist/phases/app-store-generation/context.d.ts +0 -21
- package/dist/phases/app-store-generation/context.js +0 -78
- package/dist/phases/app-store-generation/index.d.ts +0 -20
- package/dist/phases/app-store-generation/index.js +0 -157
- package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
- package/dist/phases/app-store-generation/inter-font.js +0 -49
- package/dist/phases/app-store-generation/prompts.d.ts +0 -43
- package/dist/phases/app-store-generation/prompts.js +0 -73
- package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
- package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
- package/dist/phases/app-store-generation/uploader.d.ts +0 -19
- package/dist/phases/app-store-generation/uploader.js +0 -150
- package/dist/phases/architecture-diagram/index.d.ts +0 -15
- package/dist/phases/architecture-diagram/index.js +0 -51
- package/dist/phases/autonomous/index.d.ts +0 -32
- package/dist/phases/autonomous/index.js +0 -412
- package/dist/phases/autonomous/prompts.d.ts +0 -5
- package/dist/phases/autonomous/prompts.js +0 -31
- package/dist/phases/branch-planning/context.d.ts +0 -14
- package/dist/phases/branch-planning/context.js +0 -43
- package/dist/phases/branch-planning/index.d.ts +0 -25
- package/dist/phases/branch-planning/index.js +0 -404
- package/dist/phases/branch-planning/outcome.d.ts +0 -28
- package/dist/phases/branch-planning/outcome.js +0 -115
- package/dist/phases/branch-planning/prompts.d.ts +0 -41
- package/dist/phases/branch-planning/prompts.js +0 -157
- package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
- package/dist/phases/bug-fixing/analyzer.js +0 -247
- package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
- package/dist/phases/bug-fixing/context-fetcher.js +0 -137
- package/dist/phases/bug-fixing/index.d.ts +0 -7
- package/dist/phases/bug-fixing/index.js +0 -7
- package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
- package/dist/phases/bug-fixing/mcp-server.js +0 -19
- package/dist/phases/bug-fixing/prompts.d.ts +0 -2
- package/dist/phases/bug-fixing/prompts.js +0 -9
- package/dist/phases/chat-processor/context.d.ts +0 -38
- package/dist/phases/chat-processor/context.js +0 -91
- package/dist/phases/chat-processor/index.d.ts +0 -49
- package/dist/phases/chat-processor/index.js +0 -482
- package/dist/phases/chat-processor/product-context.d.ts +0 -36
- package/dist/phases/chat-processor/product-context.js +0 -113
- package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
- package/dist/phases/chat-processor/product-prompts.js +0 -65
- package/dist/phases/chat-processor/product-tools.d.ts +0 -8
- package/dist/phases/chat-processor/product-tools.js +0 -11
- package/dist/phases/chat-processor/prompts.d.ts +0 -35
- package/dist/phases/chat-processor/prompts.js +0 -213
- package/dist/phases/chat-processor/tools.d.ts +0 -8
- package/dist/phases/chat-processor/tools.js +0 -11
- package/dist/phases/class-diagram/index.d.ts +0 -14
- package/dist/phases/class-diagram/index.js +0 -76
- package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
- package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
- package/dist/phases/code-implementation/context.d.ts +0 -17
- package/dist/phases/code-implementation/context.js +0 -88
- package/dist/phases/code-implementation/index.d.ts +0 -33
- package/dist/phases/code-implementation/index.js +0 -926
- package/dist/phases/code-implementation/outcome.d.ts +0 -47
- package/dist/phases/code-implementation/outcome.js +0 -53
- package/dist/phases/code-implementation/prompts.d.ts +0 -8
- package/dist/phases/code-implementation/prompts.js +0 -166
- package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
- package/dist/phases/code-implementation-verification/agent.js +0 -225
- package/dist/phases/code-implementation-verification/index.d.ts +0 -27
- package/dist/phases/code-implementation-verification/index.js +0 -121
- package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
- package/dist/phases/code-implementation-verification/prompts.js +0 -90
- package/dist/phases/code-refine/context.d.ts +0 -99
- package/dist/phases/code-refine/context.js +0 -457
- package/dist/phases/code-refine/index.d.ts +0 -59
- package/dist/phases/code-refine/index.js +0 -348
- package/dist/phases/code-refine/prompts.d.ts +0 -5
- package/dist/phases/code-refine/prompts.js +0 -162
- package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
- package/dist/phases/code-refine/refine-iteration.js +0 -166
- package/dist/phases/code-refine/retry-handler.d.ts +0 -17
- package/dist/phases/code-refine/retry-handler.js +0 -87
- package/dist/phases/code-refine-verification/github.d.ts +0 -54
- package/dist/phases/code-refine-verification/github.js +0 -328
- package/dist/phases/code-refine-verification/index.d.ts +0 -11
- package/dist/phases/code-refine-verification/index.js +0 -260
- package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
- package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
- package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
- package/dist/phases/code-refine-verification/prompts.js +0 -119
- package/dist/phases/code-refine-verification/types.d.ts +0 -74
- package/dist/phases/code-refine-verification/types.js +0 -4
- package/dist/phases/code-review/context.d.ts +0 -96
- package/dist/phases/code-review/context.js +0 -278
- package/dist/phases/code-review/diff-utils.d.ts +0 -36
- package/dist/phases/code-review/diff-utils.js +0 -100
- package/dist/phases/code-review/index.d.ts +0 -40
- package/dist/phases/code-review/index.js +0 -627
- package/dist/phases/code-testing/analyzer.d.ts +0 -19
- package/dist/phases/code-testing/analyzer.js +0 -215
- package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/code-testing/context-fetcher.js +0 -83
- package/dist/phases/code-testing/index.d.ts +0 -2
- package/dist/phases/code-testing/index.js +0 -2
- package/dist/phases/code-testing/prompts.d.ts +0 -3
- package/dist/phases/code-testing/prompts.js +0 -63
- package/dist/phases/data-flow/index.d.ts +0 -28
- package/dist/phases/data-flow/index.js +0 -286
- package/dist/phases/data-flow/mcp-server.d.ts +0 -85
- package/dist/phases/data-flow/mcp-server.js +0 -140
- package/dist/phases/data-flow/prompts.d.ts +0 -14
- package/dist/phases/data-flow/prompts.js +0 -36
- package/dist/phases/data-flow/types.d.ts +0 -71
- package/dist/phases/data-flow/types.js +0 -86
- package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
- package/dist/phases/diagram-shared/clone-repos.js +0 -153
- package/dist/phases/diagram-shared/generate.d.ts +0 -42
- package/dist/phases/diagram-shared/generate.js +0 -162
- package/dist/phases/diagram-shared/graph.d.ts +0 -62
- package/dist/phases/diagram-shared/graph.js +0 -169
- package/dist/phases/diagram-shared/mcp.d.ts +0 -35
- package/dist/phases/diagram-shared/mcp.js +0 -68
- package/dist/phases/diagram-shared/prompts.d.ts +0 -23
- package/dist/phases/diagram-shared/prompts.js +0 -35
- package/dist/phases/discover-services/index.d.ts +0 -29
- package/dist/phases/discover-services/index.js +0 -528
- package/dist/phases/er-diagram/index.d.ts +0 -28
- package/dist/phases/er-diagram/index.js +0 -290
- package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
- package/dist/phases/er-diagram/mcp-server.js +0 -144
- package/dist/phases/er-diagram/prompts.d.ts +0 -14
- package/dist/phases/er-diagram/prompts.js +0 -36
- package/dist/phases/er-diagram/types.d.ts +0 -76
- package/dist/phases/er-diagram/types.js +0 -84
- package/dist/phases/features/index.d.ts +0 -65
- package/dist/phases/features/index.js +0 -292
- package/dist/phases/features/mcp-server.d.ts +0 -61
- package/dist/phases/features/mcp-server.js +0 -165
- package/dist/phases/features/prompts.d.ts +0 -32
- package/dist/phases/features/prompts.js +0 -92
- package/dist/phases/features/types.d.ts +0 -34
- package/dist/phases/features/types.js +0 -15
- package/dist/phases/financing-deck/agent.d.ts +0 -1
- package/dist/phases/financing-deck/agent.js +0 -96
- package/dist/phases/financing-deck/context.d.ts +0 -13
- package/dist/phases/financing-deck/context.js +0 -69
- package/dist/phases/financing-deck/index.d.ts +0 -15
- package/dist/phases/financing-deck/index.js +0 -89
- package/dist/phases/financing-deck/prompts.d.ts +0 -2
- package/dist/phases/financing-deck/prompts.js +0 -94
- package/dist/phases/find-architecture/index.d.ts +0 -47
- package/dist/phases/find-architecture/index.js +0 -268
- package/dist/phases/find-architecture/prompts.d.ts +0 -32
- package/dist/phases/find-architecture/prompts.js +0 -129
- package/dist/phases/find-architecture/state.d.ts +0 -21
- package/dist/phases/find-architecture/state.js +0 -17
- package/dist/phases/find-architecture/types.d.ts +0 -55
- package/dist/phases/find-architecture/types.js +0 -69
- package/dist/phases/find-bugs/index.d.ts +0 -33
- package/dist/phases/find-bugs/index.js +0 -238
- package/dist/phases/find-bugs/prompts.d.ts +0 -22
- package/dist/phases/find-bugs/prompts.js +0 -101
- package/dist/phases/find-bugs/state.d.ts +0 -19
- package/dist/phases/find-bugs/state.js +0 -13
- package/dist/phases/find-bugs/types.d.ts +0 -21
- package/dist/phases/find-bugs/types.js +0 -16
- package/dist/phases/find-features/index.d.ts +0 -40
- package/dist/phases/find-features/index.js +0 -328
- package/dist/phases/find-features/prompts.d.ts +0 -43
- package/dist/phases/find-features/prompts.js +0 -138
- package/dist/phases/find-features/state.d.ts +0 -25
- package/dist/phases/find-features/state.js +0 -22
- package/dist/phases/find-features/types.d.ts +0 -27
- package/dist/phases/find-features/types.js +0 -16
- package/dist/phases/find-shared/baseline.d.ts +0 -45
- package/dist/phases/find-shared/baseline.js +0 -56
- package/dist/phases/find-shared/custom-rules.d.ts +0 -39
- package/dist/phases/find-shared/custom-rules.js +0 -75
- package/dist/phases/find-shared/detect-context.d.ts +0 -40
- package/dist/phases/find-shared/detect-context.js +0 -247
- package/dist/phases/find-shared/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -54
- package/dist/phases/find-shared/mcp.js +0 -127
- package/dist/phases/find-shared/rule-config.d.ts +0 -37
- package/dist/phases/find-shared/rule-config.js +0 -67
- package/dist/phases/find-shared/rule-packs.d.ts +0 -65
- package/dist/phases/find-shared/rule-packs.js +0 -124
- package/dist/phases/find-shared/scan-state.d.ts +0 -33
- package/dist/phases/find-shared/scan-state.js +0 -112
- package/dist/phases/find-shared/scoped-read.d.ts +0 -12
- package/dist/phases/find-shared/scoped-read.js +0 -33
- package/dist/phases/find-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -305
- package/dist/phases/find-smells/prompts.d.ts +0 -31
- package/dist/phases/find-smells/prompts.js +0 -130
- package/dist/phases/find-smells/state.d.ts +0 -21
- package/dist/phases/find-smells/state.js +0 -17
- package/dist/phases/find-smells/types.d.ts +0 -51
- package/dist/phases/find-smells/types.js +0 -64
- package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
- package/dist/phases/flow-shared/clone-repos.js +0 -153
- package/dist/phases/flowchart/index.d.ts +0 -15
- package/dist/phases/flowchart/index.js +0 -50
- package/dist/phases/functional-testing/analyzer.d.ts +0 -46
- package/dist/phases/functional-testing/analyzer.js +0 -622
- package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/functional-testing/context-fetcher.js +0 -83
- package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
- package/dist/phases/functional-testing/http-fallback.js +0 -156
- package/dist/phases/functional-testing/index.d.ts +0 -4
- package/dist/phases/functional-testing/index.js +0 -4
- package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
- package/dist/phases/functional-testing/mcp-server.js +0 -13
- package/dist/phases/functional-testing/prompts.d.ts +0 -2
- package/dist/phases/functional-testing/prompts.js +0 -58
- package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
- package/dist/phases/functional-testing/test-report-creator.js +0 -306
- package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
- package/dist/phases/functional-testing/test-retry-handler.js +0 -70
- package/dist/phases/growth-analysis/agent.d.ts +0 -2
- package/dist/phases/growth-analysis/agent.js +0 -107
- package/dist/phases/growth-analysis/context.d.ts +0 -23
- package/dist/phases/growth-analysis/context.js +0 -137
- package/dist/phases/growth-analysis/index.d.ts +0 -32
- package/dist/phases/growth-analysis/index.js +0 -226
- package/dist/phases/growth-analysis/prompts.d.ts +0 -2
- package/dist/phases/growth-analysis/prompts.js +0 -45
- package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
- package/dist/phases/intelligence-analysis/agent.js +0 -338
- package/dist/phases/intelligence-analysis/context.d.ts +0 -23
- package/dist/phases/intelligence-analysis/context.js +0 -142
- package/dist/phases/intelligence-analysis/index.d.ts +0 -58
- package/dist/phases/intelligence-analysis/index.js +0 -244
- package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
- package/dist/phases/intelligence-analysis/prompts.js +0 -62
- package/dist/phases/issue-analysis/agent.d.ts +0 -21
- package/dist/phases/issue-analysis/agent.js +0 -153
- package/dist/phases/issue-analysis/context.d.ts +0 -20
- package/dist/phases/issue-analysis/context.js +0 -93
- package/dist/phases/issue-analysis/index.d.ts +0 -8
- package/dist/phases/issue-analysis/index.js +0 -147
- package/dist/phases/issue-analysis/outcome.d.ts +0 -10
- package/dist/phases/issue-analysis/outcome.js +0 -42
- package/dist/phases/issue-analysis/prompts.d.ts +0 -8
- package/dist/phases/issue-analysis/prompts.js +0 -99
- package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
- package/dist/phases/issue-analysis-verification/agent.js +0 -124
- package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
- package/dist/phases/issue-analysis-verification/index.js +0 -79
- package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
- package/dist/phases/issue-analysis-verification/prompts.js +0 -75
- package/dist/phases/output-contracts.d.ts +0 -7
- package/dist/phases/output-contracts.js +0 -1201
- package/dist/phases/pr-execution/context.d.ts +0 -32
- package/dist/phases/pr-execution/context.js +0 -246
- package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
- package/dist/phases/pr-execution/file-assigner.js +0 -287
- package/dist/phases/pr-execution/index.d.ts +0 -22
- package/dist/phases/pr-execution/index.js +0 -401
- package/dist/phases/pr-execution/outcome.d.ts +0 -24
- package/dist/phases/pr-execution/outcome.js +0 -34
- package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
- package/dist/phases/pr-execution/pr-executor.js +0 -78
- package/dist/phases/pr-execution/prompts.d.ts +0 -27
- package/dist/phases/pr-execution/prompts.js +0 -131
- package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
- package/dist/phases/pr-resolve/checklist-learner.js +0 -153
- package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
- package/dist/phases/pr-resolve/github-reply.js +0 -75
- package/dist/phases/pr-resolve/index.d.ts +0 -33
- package/dist/phases/pr-resolve/index.js +0 -272
- package/dist/phases/pr-resolve/prompts.d.ts +0 -17
- package/dist/phases/pr-resolve/prompts.js +0 -107
- package/dist/phases/pr-resolve/types.d.ts +0 -18
- package/dist/phases/pr-resolve/types.js +0 -14
- package/dist/phases/pr-resolve/workspace.d.ts +0 -45
- package/dist/phases/pr-resolve/workspace.js +0 -174
- package/dist/phases/pr-review/index.d.ts +0 -27
- package/dist/phases/pr-review/index.js +0 -209
- package/dist/phases/pr-review/prompts.d.ts +0 -5
- package/dist/phases/pr-review/prompts.js +0 -87
- package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
- package/dist/phases/pr-shared/agent-utils.js +0 -112
- package/dist/phases/pr-shared/context.d.ts +0 -24
- package/dist/phases/pr-shared/context.js +0 -78
- package/dist/phases/pr-shared/status.d.ts +0 -18
- package/dist/phases/pr-shared/status.js +0 -37
- package/dist/phases/pr-splitting/context.d.ts +0 -28
- package/dist/phases/pr-splitting/context.js +0 -182
- package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
- package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
- package/dist/phases/pr-splitting/index.d.ts +0 -36
- package/dist/phases/pr-splitting/index.js +0 -413
- package/dist/phases/pr-splitting/outcome.d.ts +0 -24
- package/dist/phases/pr-splitting/outcome.js +0 -114
- package/dist/phases/pr-splitting/prompts.d.ts +0 -43
- package/dist/phases/pr-splitting/prompts.js +0 -154
- package/dist/phases/product-techniques/index.d.ts +0 -52
- package/dist/phases/product-techniques/index.js +0 -268
- package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
- package/dist/phases/product-techniques/mcp-server.js +0 -96
- package/dist/phases/product-techniques/prompts.d.ts +0 -19
- package/dist/phases/product-techniques/prompts.js +0 -66
- package/dist/phases/product-techniques/types.d.ts +0 -13
- package/dist/phases/product-techniques/types.js +0 -13
- package/dist/phases/product-test-cases/index.d.ts +0 -25
- package/dist/phases/product-test-cases/index.js +0 -174
- package/dist/phases/product-test-cases/prompts.d.ts +0 -24
- package/dist/phases/product-test-cases/prompts.js +0 -80
- package/dist/phases/product-test-cases/types.d.ts +0 -17
- package/dist/phases/product-test-cases/types.js +0 -27
- package/dist/phases/pull-request/creator.d.ts +0 -30
- package/dist/phases/pull-request/creator.js +0 -319
- package/dist/phases/pull-request/handler.d.ts +0 -15
- package/dist/phases/pull-request/handler.js +0 -92
- package/dist/phases/quality-benchmark/gate.d.ts +0 -50
- package/dist/phases/quality-benchmark/gate.js +0 -91
- package/dist/phases/quality-benchmark/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -208
- package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
- package/dist/phases/quality-benchmark/mcp-server.js +0 -252
- package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
- package/dist/phases/quality-benchmark/parsers.js +0 -1311
- package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
- package/dist/phases/quality-benchmark/prompts.js +0 -154
- package/dist/phases/quality-benchmark/rubric.md +0 -1211
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
- package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
- package/dist/phases/quality-benchmark/tool-runner.js +0 -399
- package/dist/phases/quality-benchmark/types.d.ts +0 -319
- package/dist/phases/quality-benchmark/types.js +0 -23
- package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
- package/dist/phases/quality-benchmark/workspace.js +0 -110
- package/dist/phases/recipes/index.d.ts +0 -63
- package/dist/phases/recipes/index.js +0 -358
- package/dist/phases/recipes/mcp-server.d.ts +0 -66
- package/dist/phases/recipes/mcp-server.js +0 -229
- package/dist/phases/recipes/prompts.d.ts +0 -35
- package/dist/phases/recipes/prompts.js +0 -105
- package/dist/phases/recipes/types.d.ts +0 -42
- package/dist/phases/recipes/types.js +0 -16
- package/dist/phases/release-sync/github.d.ts +0 -66
- package/dist/phases/release-sync/github.js +0 -140
- package/dist/phases/release-sync/index.d.ts +0 -24
- package/dist/phases/release-sync/index.js +0 -156
- package/dist/phases/release-sync/snapshot.d.ts +0 -27
- package/dist/phases/release-sync/snapshot.js +0 -158
- package/dist/phases/run-sheet/agent.d.ts +0 -49
- package/dist/phases/run-sheet/agent.js +0 -156
- package/dist/phases/run-sheet/index.d.ts +0 -57
- package/dist/phases/run-sheet/index.js +0 -392
- package/dist/phases/screen-flow/index.d.ts +0 -26
- package/dist/phases/screen-flow/index.js +0 -349
- package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
- package/dist/phases/screen-flow/mcp-server.js +0 -272
- package/dist/phases/screen-flow/prompts.d.ts +0 -19
- package/dist/phases/screen-flow/prompts.js +0 -43
- package/dist/phases/screen-flow/theme.d.ts +0 -19
- package/dist/phases/screen-flow/theme.js +0 -193
- package/dist/phases/screen-flow/types.d.ts +0 -137
- package/dist/phases/screen-flow/types.js +0 -81
- package/dist/phases/sequence-diagram/index.d.ts +0 -30
- package/dist/phases/sequence-diagram/index.js +0 -290
- package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
- package/dist/phases/sequence-diagram/mcp-server.js +0 -134
- package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
- package/dist/phases/sequence-diagram/prompts.js +0 -36
- package/dist/phases/sequence-diagram/types.d.ts +0 -52
- package/dist/phases/sequence-diagram/types.js +0 -93
- package/dist/phases/smoke-test/agent.d.ts +0 -12
- package/dist/phases/smoke-test/agent.js +0 -93
- package/dist/phases/smoke-test/index.d.ts +0 -22
- package/dist/phases/smoke-test/index.js +0 -241
- package/dist/phases/smoke-test/prompts.d.ts +0 -15
- package/dist/phases/smoke-test/prompts.js +0 -35
- package/dist/phases/state-diagram/index.d.ts +0 -15
- package/dist/phases/state-diagram/index.js +0 -53
- package/dist/phases/sync-github-issues/index.d.ts +0 -41
- package/dist/phases/sync-github-issues/index.js +0 -187
- package/dist/phases/sync-github-issues/state.d.ts +0 -26
- package/dist/phases/sync-github-issues/state.js +0 -18
- package/dist/phases/sync-github-issues/types.d.ts +0 -35
- package/dist/phases/sync-github-issues/types.js +0 -6
- package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
- package/dist/phases/sync-github-pull-requests/index.js +0 -210
- package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
- package/dist/phases/sync-github-pull-requests/state.js +0 -16
- package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
- package/dist/phases/sync-github-pull-requests/types.js +0 -1
- package/dist/phases/sync-org-repos/index.d.ts +0 -28
- package/dist/phases/sync-org-repos/index.js +0 -133
- package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
- package/dist/phases/sync-sentry-issues/index.js +0 -153
- package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
- package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
- package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
- package/dist/phases/sync-sentry-issues/state.js +0 -18
- package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
- package/dist/phases/sync-sentry-issues/types.js +0 -6
- package/dist/phases/sync-shared/mcp.d.ts +0 -81
- package/dist/phases/sync-shared/mcp.js +0 -111
- package/dist/phases/task/agent.d.ts +0 -10
- package/dist/phases/task/agent.js +0 -83
- package/dist/phases/task/context.d.ts +0 -16
- package/dist/phases/task/context.js +0 -50
- package/dist/phases/task/index.d.ts +0 -17
- package/dist/phases/task/index.js +0 -54
- package/dist/phases/task/prompts.d.ts +0 -9
- package/dist/phases/task/prompts.js +0 -21
- package/dist/phases/technical-design/context.d.ts +0 -12
- package/dist/phases/technical-design/context.js +0 -39
- package/dist/phases/technical-design/index.d.ts +0 -21
- package/dist/phases/technical-design/index.js +0 -456
- package/dist/phases/technical-design/outcome.d.ts +0 -25
- package/dist/phases/technical-design/outcome.js +0 -41
- package/dist/phases/technical-design/prompts.d.ts +0 -8
- package/dist/phases/technical-design/prompts.js +0 -210
- package/dist/phases/technical-design-verification/agent.d.ts +0 -53
- package/dist/phases/technical-design-verification/agent.js +0 -186
- package/dist/phases/technical-design-verification/index.d.ts +0 -38
- package/dist/phases/technical-design-verification/index.js +0 -152
- package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
- package/dist/phases/technical-design-verification/prompts.js +0 -143
- package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
- package/dist/phases/test-cases-analysis/agent.js +0 -105
- package/dist/phases/test-cases-analysis/context.d.ts +0 -15
- package/dist/phases/test-cases-analysis/context.js +0 -86
- package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
- package/dist/phases/test-cases-analysis/formatters.js +0 -35
- package/dist/phases/test-cases-analysis/index.d.ts +0 -9
- package/dist/phases/test-cases-analysis/index.js +0 -175
- package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
- package/dist/phases/test-cases-analysis/outcome.js +0 -146
- package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
- package/dist/phases/test-cases-analysis/prompts.js +0 -171
- package/dist/phases/user-psychology/agent.d.ts +0 -16
- package/dist/phases/user-psychology/agent.js +0 -105
- package/dist/phases/user-psychology/context.d.ts +0 -10
- package/dist/phases/user-psychology/context.js +0 -65
- package/dist/phases/user-psychology/index.d.ts +0 -18
- package/dist/phases/user-psychology/index.js +0 -96
- package/dist/phases/user-psychology/prompts.d.ts +0 -2
- package/dist/phases/user-psychology/prompts.js +0 -41
- package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
- package/dist/phases/user-stories-analysis/agent.js +0 -105
- package/dist/phases/user-stories-analysis/context.d.ts +0 -15
- package/dist/phases/user-stories-analysis/context.js +0 -86
- package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
- package/dist/phases/user-stories-analysis/formatters.js +0 -32
- package/dist/phases/user-stories-analysis/index.d.ts +0 -9
- package/dist/phases/user-stories-analysis/index.js +0 -175
- package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
- package/dist/phases/user-stories-analysis/outcome.js +0 -146
- package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
- package/dist/phases/user-stories-analysis/prompts.js +0 -194
- package/dist/services/audit-logs.d.ts +0 -73
- package/dist/services/audit-logs.js +0 -174
- package/dist/services/branches.d.ts +0 -103
- package/dist/services/branches.js +0 -391
- package/dist/services/checklist.d.ts +0 -100
- package/dist/services/checklist.js +0 -259
- package/dist/services/coaching/coaching-agent.d.ts +0 -39
- package/dist/services/coaching/coaching-agent.js +0 -308
- package/dist/services/coaching/coaching-loop.d.ts +0 -62
- package/dist/services/coaching/coaching-loop.js +0 -265
- package/dist/services/coaching/index.d.ts +0 -8
- package/dist/services/coaching/index.js +0 -8
- package/dist/services/coaching/phase-coaching.d.ts +0 -47
- package/dist/services/coaching/phase-coaching.js +0 -60
- package/dist/services/coaching/self-rating.d.ts +0 -26
- package/dist/services/coaching/self-rating.js +0 -153
- package/dist/services/feedbacks.d.ts +0 -57
- package/dist/services/feedbacks.js +0 -264
- package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
- package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
- package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
- package/dist/services/phase-hooks/hook-executor.js +0 -167
- package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
- package/dist/services/phase-hooks/hook-logging.js +0 -41
- package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
- package/dist/services/phase-hooks/hook-runner.js +0 -83
- package/dist/services/phase-hooks/index.d.ts +0 -10
- package/dist/services/phase-hooks/index.js +0 -9
- package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
- package/dist/services/phase-hooks/plugin-loader.js +0 -207
- package/dist/services/phase-hooks/types.d.ts +0 -69
- package/dist/services/phase-hooks/types.js +0 -8
- package/dist/services/phase-ratings.d.ts +0 -70
- package/dist/services/phase-ratings.js +0 -143
- package/dist/services/product-logs.d.ts +0 -31
- package/dist/services/product-logs.js +0 -94
- package/dist/services/pull-requests.d.ts +0 -57
- package/dist/services/pull-requests.js +0 -186
- package/dist/services/quality-reports.d.ts +0 -45
- package/dist/services/quality-reports.js +0 -93
- package/dist/services/repo-config.d.ts +0 -17
- package/dist/services/repo-config.js +0 -50
- package/dist/services/skill-resolver.d.ts +0 -46
- package/dist/services/skill-resolver.js +0 -123
- package/dist/services/video/device-frames.d.ts +0 -34
- package/dist/services/video/device-frames.js +0 -513
- package/dist/services/video/index.d.ts +0 -66
- package/dist/services/video/index.js +0 -238
- package/dist/services/video/retry.d.ts +0 -20
- package/dist/services/video/retry.js +0 -76
- package/dist/services/video/screenshot-generator.d.ts +0 -69
- package/dist/services/video/screenshot-generator.js +0 -259
- package/dist/services/video/tts-generator.d.ts +0 -40
- package/dist/services/video/tts-generator.js +0 -121
- package/dist/services/video/video-assembler.d.ts +0 -45
- package/dist/services/video/video-assembler.js +0 -351
- package/dist/services/video/video-uploader.d.ts +0 -28
- package/dist/services/video/video-uploader.js +0 -108
- package/dist/skills/phase/adr-generation/SKILL.md +0 -51
- package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
- package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
- package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
- package/dist/skills/phase/autonomous/SKILL.md +0 -52
- package/dist/skills/phase/branch-planning/SKILL.md +0 -55
- package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
- package/dist/skills/phase/class-diagram/SKILL.md +0 -44
- package/dist/skills/phase/code-implementation/SKILL.md +0 -68
- package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
- package/dist/skills/phase/code-refine/SKILL.md +0 -62
- package/dist/skills/phase/code-testing/SKILL.md +0 -78
- package/dist/skills/phase/data-flow/SKILL.md +0 -82
- package/dist/skills/phase/er-diagram/SKILL.md +0 -71
- package/dist/skills/phase/flowchart/SKILL.md +0 -38
- package/dist/skills/phase/functional-testing/SKILL.md +0 -62
- package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
- package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
- package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
- package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
- package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
- package/dist/skills/phase/pr-execution/SKILL.md +0 -69
- package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
- package/dist/skills/phase/screen-flow/SKILL.md +0 -78
- package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
- package/dist/skills/phase/smoke-test/SKILL.md +0 -80
- package/dist/skills/phase/state-diagram/SKILL.md +0 -38
- package/dist/skills/phase/task/SKILL.md +0 -19
- package/dist/skills/phase/technical-design/SKILL.md +0 -75
- package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
- package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
- package/dist/skills/phase/user-psychology/SKILL.md +0 -135
- package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
- package/dist/supabase/client.d.ts +0 -34
- package/dist/supabase/client.js +0 -123
- package/dist/system/session-manager.d.ts +0 -67
- package/dist/system/session-manager.js +0 -300
- package/dist/system/sleep-notification.d.ts +0 -15
- package/dist/system/sleep-notification.js +0 -108
- package/dist/system/sleep-prevention.d.ts +0 -20
- package/dist/system/sleep-prevention.js +0 -112
- package/dist/tools/bootstrap.d.ts +0 -45
- package/dist/tools/bootstrap.js +0 -50
- package/dist/types/external-sources.d.ts +0 -22
- package/dist/types/external-sources.js +0 -23
- package/dist/types/index.d.ts +0 -206
- package/dist/types/index.js +0 -1
- package/dist/types/issues.d.ts +0 -37
- package/dist/types/issues.js +0 -1
- package/dist/types/llm-responses.d.ts +0 -114
- package/dist/types/llm-responses.js +0 -9
- package/dist/types/pipeline.d.ts +0 -28
- package/dist/types/pipeline.js +0 -4
- package/dist/updater/auto-updater.d.ts +0 -39
- package/dist/updater/auto-updater.js +0 -134
- package/dist/utils/conflict-resolver.d.ts +0 -49
- package/dist/utils/conflict-resolver.js +0 -201
- package/dist/utils/formatters.d.ts +0 -42
- package/dist/utils/formatters.js +0 -166
- package/dist/utils/git-branch-manager-async.d.ts +0 -127
- package/dist/utils/git-branch-manager-async.js +0 -425
- package/dist/utils/git-branch-manager.d.ts +0 -160
- package/dist/utils/git-branch-manager.js +0 -613
- package/dist/utils/git-push.d.ts +0 -43
- package/dist/utils/git-push.js +0 -136
- package/dist/utils/github-repo-info.d.ts +0 -26
- package/dist/utils/github-repo-info.js +0 -45
- package/dist/utils/image-downloader.d.ts +0 -32
- package/dist/utils/image-downloader.js +0 -152
- package/dist/utils/issue-phase-cli.d.ts +0 -26
- package/dist/utils/issue-phase-cli.js +0 -44
- package/dist/utils/json-extract.d.ts +0 -6
- package/dist/utils/json-extract.js +0 -44
- package/dist/utils/json-extractor.d.ts +0 -27
- package/dist/utils/json-extractor.js +0 -102
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.js +0 -167
- package/dist/utils/pipeline-logger.d.ts +0 -8
- package/dist/utils/pipeline-logger.js +0 -38
- package/dist/utils/validation.d.ts +0 -68
- package/dist/utils/validation.js +0 -229
- package/dist/utils/workflow-utils.d.ts +0 -22
- package/dist/utils/workflow-utils.js +0 -48
- package/dist/workspace/session-workspace.d.ts +0 -43
- package/dist/workspace/session-workspace.js +0 -90
- package/dist/workspace/workspace-manager.d.ts +0 -105
- package/dist/workspace/workspace-manager.js +0 -280
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Feedbacks service for pipeline integration
|
|
3
|
-
* Provides human-guided feedbacks to influence Claude Code behavior in each phase
|
|
4
|
-
*/
|
|
5
|
-
import { getMcpServerUrl, getMcpToken } from '../auth/auth-store.js';
|
|
6
|
-
import { downloadImagesForClaudeCode } from '../utils/image-downloader.js';
|
|
7
|
-
import { logDebug, logError, logInfo, logSuccess, logWarning, } from '../utils/logger.js';
|
|
8
|
-
/**
|
|
9
|
-
* Fetch feedbacks for a specific phase
|
|
10
|
-
* Includes both issue-level and product-level feedbacks
|
|
11
|
-
* For multi-branch issues, can optionally filter by branch_id
|
|
12
|
-
*/
|
|
13
|
-
export async function getFeedbacksForPhase(options, phase, branchId) {
|
|
14
|
-
const { issueId, verbose } = options;
|
|
15
|
-
const mcpServerUrl = getMcpServerUrl();
|
|
16
|
-
const mcpToken = getMcpToken();
|
|
17
|
-
// Convert phase name from hyphen to underscore format for database compatibility
|
|
18
|
-
// e.g., 'issue-analysis' -> 'issue_analysis'
|
|
19
|
-
const dbPhase = phase.replace(/-/g, '_');
|
|
20
|
-
const requestBody = {
|
|
21
|
-
jsonrpc: '2.0',
|
|
22
|
-
id: 1,
|
|
23
|
-
method: 'feedbacks/get',
|
|
24
|
-
params: {
|
|
25
|
-
issue_id: issueId,
|
|
26
|
-
phase: dbPhase,
|
|
27
|
-
...(branchId ? { branch_id: branchId } : {}),
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
if (verbose) {
|
|
31
|
-
logInfo(`Fetching feedbacks: phase="${phase}" (db: "${dbPhase}"), issue_id="${issueId}"`);
|
|
32
|
-
logDebug(`Request body: ${JSON.stringify(requestBody, null, 2)}`, verbose);
|
|
33
|
-
}
|
|
34
|
-
const response = await fetch(`${mcpServerUrl}/mcp`, {
|
|
35
|
-
method: 'POST',
|
|
36
|
-
headers: {
|
|
37
|
-
'Content-Type': 'application/json',
|
|
38
|
-
Authorization: `Bearer ${mcpToken}`,
|
|
39
|
-
},
|
|
40
|
-
body: JSON.stringify(requestBody),
|
|
41
|
-
});
|
|
42
|
-
if (verbose) {
|
|
43
|
-
logDebug(`Response status: ${response.status} ${response.statusText}`, verbose);
|
|
44
|
-
}
|
|
45
|
-
if (!response.ok) {
|
|
46
|
-
const errorText = await response.text();
|
|
47
|
-
if (verbose) {
|
|
48
|
-
logError(`Response error body: ${errorText}`);
|
|
49
|
-
}
|
|
50
|
-
throw new Error(`Failed to fetch feedbacks for phase "${phase}": ${response.status} ${response.statusText}. Response: ${errorText}`);
|
|
51
|
-
}
|
|
52
|
-
const data = await response.json();
|
|
53
|
-
if (verbose) {
|
|
54
|
-
logDebug(`MCP response: ${JSON.stringify(data, null, 2)}`, verbose);
|
|
55
|
-
}
|
|
56
|
-
if (data.error) {
|
|
57
|
-
if (verbose) {
|
|
58
|
-
logError(`MCP error: ${JSON.stringify(data.error)}`);
|
|
59
|
-
}
|
|
60
|
-
throw new Error(`MCP Error for phase "${phase}": ${data.error.message || JSON.stringify(data.error)}`);
|
|
61
|
-
}
|
|
62
|
-
// Handle empty result gracefully
|
|
63
|
-
if (!data.result) {
|
|
64
|
-
if (verbose) {
|
|
65
|
-
logWarning(`Empty result from MCP, returning empty feedbacks array`);
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
phase,
|
|
69
|
-
issue_id: issueId,
|
|
70
|
-
feedbacks: [],
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
if (verbose) {
|
|
74
|
-
logSuccess(`Successfully fetched ${data.result.feedbacks?.length || 0} feedbacks`);
|
|
75
|
-
}
|
|
76
|
-
return data.result;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Format feedbacks context as string for LLM consumption
|
|
80
|
-
* Downloads images from feedback content for Claude Code to view
|
|
81
|
-
*/
|
|
82
|
-
export async function formatFeedbacksForContext(context) {
|
|
83
|
-
if (!context.feedbacks || context.feedbacks.length === 0) {
|
|
84
|
-
return '';
|
|
85
|
-
}
|
|
86
|
-
// Process images in all feedback contents
|
|
87
|
-
const processedFeedbacks = await Promise.all(context.feedbacks.map(async (feedback) => {
|
|
88
|
-
if (!feedback.content) {
|
|
89
|
-
return feedback;
|
|
90
|
-
}
|
|
91
|
-
const { processedMarkdown } = await downloadImagesForClaudeCode(feedback.content, context.issue_id);
|
|
92
|
-
return { ...feedback, content: processedMarkdown };
|
|
93
|
-
}));
|
|
94
|
-
// Group feedbacks by type
|
|
95
|
-
const grouped = groupBy(processedFeedbacks, 'feedback_type');
|
|
96
|
-
const sections = [];
|
|
97
|
-
// Requirements
|
|
98
|
-
if (grouped.requirement && grouped.requirement.length > 0) {
|
|
99
|
-
sections.push(`## 📋 Additional Requirements\n\n${formatFeedbacksList(grouped.requirement)}`);
|
|
100
|
-
}
|
|
101
|
-
// Constraints
|
|
102
|
-
if (grouped.constraint && grouped.constraint.length > 0) {
|
|
103
|
-
sections.push(`## 🚫 Constraints\n\n${formatFeedbacksList(grouped.constraint)}`);
|
|
104
|
-
}
|
|
105
|
-
// Preferences
|
|
106
|
-
if (grouped.preference && grouped.preference.length > 0) {
|
|
107
|
-
sections.push(`## 💡 Preferences\n\n${formatFeedbacksList(grouped.preference)}`);
|
|
108
|
-
}
|
|
109
|
-
// Context
|
|
110
|
-
if (grouped.context && grouped.context.length > 0) {
|
|
111
|
-
sections.push(`## 🔍 Additional Context\n\n${formatFeedbacksList(grouped.context)}`);
|
|
112
|
-
}
|
|
113
|
-
// Quality Criteria
|
|
114
|
-
if (grouped.quality_criteria && grouped.quality_criteria.length > 0) {
|
|
115
|
-
sections.push(`## ✅ Quality Criteria\n\n${formatFeedbacksList(grouped.quality_criteria)}`);
|
|
116
|
-
}
|
|
117
|
-
// Issues
|
|
118
|
-
if (grouped.issue && grouped.issue.length > 0) {
|
|
119
|
-
sections.push(`## 🐛 Issues to Address\n\n${formatFeedbacksList(grouped.issue)}`);
|
|
120
|
-
}
|
|
121
|
-
// Suggestions
|
|
122
|
-
if (grouped.suggestion && grouped.suggestion.length > 0) {
|
|
123
|
-
sections.push(`## 💭 Suggestions\n\n${formatFeedbacksList(grouped.suggestion)}`);
|
|
124
|
-
}
|
|
125
|
-
const phaseDisplay = context.phase.replace(/_/g, '-');
|
|
126
|
-
return `
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
# 🎯 Human Feedbacks for ${phaseDisplay} Phase
|
|
130
|
-
|
|
131
|
-
These feedbacks have been provided by the development team to guide your work in this phase. They represent domain knowledge, business constraints, and quality expectations that must be incorporated into your analysis and outputs.
|
|
132
|
-
|
|
133
|
-
${sections.join('\n\n')}
|
|
134
|
-
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
**IMPORTANT**: These human-provided feedbacks are MANDATORY and take precedence over default behavior. Please ensure your work:
|
|
138
|
-
- ✅ Satisfies ALL requirements listed above
|
|
139
|
-
- ✅ Respects ALL constraints
|
|
140
|
-
- ✅ Incorporates stated preferences where possible
|
|
141
|
-
- ✅ Considers the additional context provided
|
|
142
|
-
- ✅ Meets ALL quality criteria
|
|
143
|
-
|
|
144
|
-
If any feedback conflicts with checklist items or other requirements, prioritize the human feedbacks and note any conflicts in your response.
|
|
145
|
-
`;
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Format a list of feedbacks with priority ordering
|
|
149
|
-
*/
|
|
150
|
-
function formatFeedbacksList(feedbacks) {
|
|
151
|
-
// Sort by priority (highest first)
|
|
152
|
-
const sorted = [...feedbacks].sort((a, b) => b.priority - a.priority);
|
|
153
|
-
return sorted
|
|
154
|
-
.map((feedback, idx) => {
|
|
155
|
-
const priorityBadge = getPriorityBadge(feedback.priority);
|
|
156
|
-
// Build context metadata section
|
|
157
|
-
let contextInfo = '';
|
|
158
|
-
// Item references (User Story or Test Case)
|
|
159
|
-
if (feedback.user_story_id) {
|
|
160
|
-
contextInfo += `\n**User Story ID**: ${feedback.user_story_id}`;
|
|
161
|
-
contextInfo += `\n*Note: This feedback applies to the user story referenced above in the context. Look for the ID in the "Existing User Stories" section.*`;
|
|
162
|
-
}
|
|
163
|
-
if (feedback.test_case_id) {
|
|
164
|
-
contextInfo += `\n**Test Case ID**: ${feedback.test_case_id}`;
|
|
165
|
-
contextInfo += `\n*Note: This feedback applies to the test case referenced above in the context. Look for the ID in the "Existing Test Cases" section.*`;
|
|
166
|
-
}
|
|
167
|
-
// Document type
|
|
168
|
-
if (feedback.document_type) {
|
|
169
|
-
const docTypeDisplay = feedback.document_type
|
|
170
|
-
.split('_')
|
|
171
|
-
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
172
|
-
.join(' ');
|
|
173
|
-
contextInfo += `\n**Document**: ${docTypeDisplay}`;
|
|
174
|
-
}
|
|
175
|
-
// Target type
|
|
176
|
-
if (feedback.target_type && feedback.target_type !== 'phase') {
|
|
177
|
-
contextInfo += `\n**Target Type**: ${feedback.target_type}`;
|
|
178
|
-
}
|
|
179
|
-
// Build line reference info if available
|
|
180
|
-
if (feedback.line_number) {
|
|
181
|
-
contextInfo += `\n**Line**: ${feedback.line_number}`;
|
|
182
|
-
}
|
|
183
|
-
else if (feedback.line_range_start && feedback.line_range_end) {
|
|
184
|
-
contextInfo += `\n**Lines**: ${feedback.line_range_start}-${feedback.line_range_end}`;
|
|
185
|
-
}
|
|
186
|
-
// Context snippet
|
|
187
|
-
if (feedback.context_snippet) {
|
|
188
|
-
contextInfo += `\n**Referenced Content**:\n\`\`\`\n${feedback.context_snippet}\n\`\`\``;
|
|
189
|
-
}
|
|
190
|
-
return `### ${idx + 1}. ${feedback.title} ${priorityBadge}\n\n${feedback.content}${contextInfo}\n`;
|
|
191
|
-
})
|
|
192
|
-
.join('\n');
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Get priority badge emoji
|
|
196
|
-
*/
|
|
197
|
-
function getPriorityBadge(priority) {
|
|
198
|
-
if (priority >= 9) {
|
|
199
|
-
return '🔴';
|
|
200
|
-
} // Critical
|
|
201
|
-
if (priority >= 7) {
|
|
202
|
-
return '🟠';
|
|
203
|
-
} // High
|
|
204
|
-
if (priority >= 5) {
|
|
205
|
-
return '🟡';
|
|
206
|
-
} // Medium
|
|
207
|
-
if (priority >= 3) {
|
|
208
|
-
return '🟢';
|
|
209
|
-
} // Low
|
|
210
|
-
return '⚪'; // Minimal
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Mark feedbacks as resolved
|
|
214
|
-
* Used after successful verification to track which feedbacks have been addressed
|
|
215
|
-
*/
|
|
216
|
-
export async function resolveFeedbacks(options, feedbackIds, verbose) {
|
|
217
|
-
const mcpServerUrl = getMcpServerUrl();
|
|
218
|
-
const mcpToken = getMcpToken();
|
|
219
|
-
if (!feedbackIds || feedbackIds.length === 0) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
if (verbose) {
|
|
223
|
-
logInfo(`Marking ${feedbackIds.length} feedbacks as resolved: ${feedbackIds.join(', ')}`);
|
|
224
|
-
}
|
|
225
|
-
const response = await fetch(`${mcpServerUrl}/mcp`, {
|
|
226
|
-
method: 'POST',
|
|
227
|
-
headers: {
|
|
228
|
-
'Content-Type': 'application/json',
|
|
229
|
-
Authorization: `Bearer ${mcpToken}`,
|
|
230
|
-
},
|
|
231
|
-
body: JSON.stringify({
|
|
232
|
-
jsonrpc: '2.0',
|
|
233
|
-
id: 1,
|
|
234
|
-
method: 'feedbacks/resolve',
|
|
235
|
-
params: {
|
|
236
|
-
feedback_ids: feedbackIds,
|
|
237
|
-
},
|
|
238
|
-
}),
|
|
239
|
-
});
|
|
240
|
-
if (!response.ok) {
|
|
241
|
-
const errorText = await response.text();
|
|
242
|
-
throw new Error(`Failed to resolve feedbacks: ${response.status} ${response.statusText}. Response: ${errorText}`);
|
|
243
|
-
}
|
|
244
|
-
const data = await response.json();
|
|
245
|
-
if (data.error) {
|
|
246
|
-
throw new Error(`MCP Error resolving feedbacks: ${data.error.message || JSON.stringify(data.error)}`);
|
|
247
|
-
}
|
|
248
|
-
if (verbose) {
|
|
249
|
-
logSuccess(`Successfully marked ${data.result?.count || 0} feedbacks as resolved`);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Group array of objects by a key
|
|
254
|
-
*/
|
|
255
|
-
function groupBy(array, key) {
|
|
256
|
-
return array.reduce((result, item) => {
|
|
257
|
-
const groupKey = String(item[key]);
|
|
258
|
-
if (!result[groupKey]) {
|
|
259
|
-
result[groupKey] = [];
|
|
260
|
-
}
|
|
261
|
-
result[groupKey].push(item);
|
|
262
|
-
return result;
|
|
263
|
-
}, {});
|
|
264
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bindings fetcher — retrieves phase hook bindings from Supabase via MCP
|
|
3
|
-
* and manages a per-issue in-memory cache so bindings are fetched once
|
|
4
|
-
* per workflow execution, not once per phase.
|
|
5
|
-
*/
|
|
6
|
-
import type { HookPoint, PhaseHookBinding, ResolvedHookBindings } from './types.js';
|
|
7
|
-
export declare function cacheBindings(issueId: string, productId: string, bindings: readonly PhaseHookBinding[]): void;
|
|
8
|
-
export declare function getCachedBindings(issueId: string): ResolvedHookBindings | null;
|
|
9
|
-
export declare function clearBindingsCache(issueId: string): void;
|
|
10
|
-
/**
|
|
11
|
-
* Fetch all enabled hook bindings for a product from Supabase via MCP.
|
|
12
|
-
*/
|
|
13
|
-
export declare function fetchHookBindings(productId: string, verbose?: boolean): Promise<PhaseHookBinding[]>;
|
|
14
|
-
/**
|
|
15
|
-
* Filter bindings for a specific phase + hook point.
|
|
16
|
-
*
|
|
17
|
-
* A binding matches if its `phase` equals the given phase name
|
|
18
|
-
* OR if it is the wildcard `'*'` (applies to all phases).
|
|
19
|
-
* Results are sorted by `sort_order` ascending.
|
|
20
|
-
*/
|
|
21
|
-
export declare function getBindingsForPhase(bindings: readonly PhaseHookBinding[], phase: string, hookPoint: HookPoint): readonly PhaseHookBinding[];
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bindings fetcher — retrieves phase hook bindings from Supabase via MCP
|
|
3
|
-
* and manages a per-issue in-memory cache so bindings are fetched once
|
|
4
|
-
* per workflow execution, not once per phase.
|
|
5
|
-
*/
|
|
6
|
-
import { callMcpEndpoint } from '../../api/mcp-client.js';
|
|
7
|
-
import { logDebug } from '../../utils/logger.js';
|
|
8
|
-
// ---- Per-issue cache ----
|
|
9
|
-
const bindingsCache = new Map();
|
|
10
|
-
export function cacheBindings(issueId, productId, bindings) {
|
|
11
|
-
bindingsCache.set(issueId, {
|
|
12
|
-
productId,
|
|
13
|
-
bindings,
|
|
14
|
-
fetchedAt: Date.now(),
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
export function getCachedBindings(issueId) {
|
|
18
|
-
return bindingsCache.get(issueId) ?? null;
|
|
19
|
-
}
|
|
20
|
-
export function clearBindingsCache(issueId) {
|
|
21
|
-
bindingsCache.delete(issueId);
|
|
22
|
-
}
|
|
23
|
-
// ---- Fetching ----
|
|
24
|
-
/**
|
|
25
|
-
* Fetch all enabled hook bindings for a product from Supabase via MCP.
|
|
26
|
-
*/
|
|
27
|
-
export async function fetchHookBindings(productId, verbose) {
|
|
28
|
-
logDebug(`Fetching phase hook bindings for product ${productId}`, verbose);
|
|
29
|
-
const result = await callMcpEndpoint('product_phase_hooks/list', {
|
|
30
|
-
product_id: productId,
|
|
31
|
-
enabled: true,
|
|
32
|
-
});
|
|
33
|
-
const bindings = Array.isArray(result) ? result : [];
|
|
34
|
-
if (verbose && bindings.length > 0) {
|
|
35
|
-
logDebug(`Found ${String(bindings.length)} hook bindings for product ${productId}`, verbose);
|
|
36
|
-
}
|
|
37
|
-
return bindings;
|
|
38
|
-
}
|
|
39
|
-
// ---- Filtering (pure) ----
|
|
40
|
-
/**
|
|
41
|
-
* Filter bindings for a specific phase + hook point.
|
|
42
|
-
*
|
|
43
|
-
* A binding matches if its `phase` equals the given phase name
|
|
44
|
-
* OR if it is the wildcard `'*'` (applies to all phases).
|
|
45
|
-
* Results are sorted by `sort_order` ascending.
|
|
46
|
-
*/
|
|
47
|
-
export function getBindingsForPhase(bindings, phase, hookPoint) {
|
|
48
|
-
return bindings
|
|
49
|
-
.filter((b) => b.enabled &&
|
|
50
|
-
b.hook_point === hookPoint &&
|
|
51
|
-
(b.phase === phase || b.phase === '*'))
|
|
52
|
-
.sort((a, b) => a.sort_order - b.sort_order);
|
|
53
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook executor — executes a single phase hook by reading a Claude Code
|
|
3
|
-
* plugin SKILL.md file and invoking `query()` from the Agent SDK.
|
|
4
|
-
*/
|
|
5
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
6
|
-
import type { HookContext, HookExecutionResult, ParsedSkillFile, PhaseHookBinding } from './types.js';
|
|
7
|
-
export interface HookExecutorDeps {
|
|
8
|
-
loadSkillFile: (pluginName: string, skillName: string, verbose?: boolean) => Promise<ParsedSkillFile | null>;
|
|
9
|
-
queryFn: typeof query;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Build the user-facing prompt sent to `query()` for a hook invocation.
|
|
13
|
-
* The skill body goes into the system prompt; this function builds the
|
|
14
|
-
* *user* prompt with phase-specific context.
|
|
15
|
-
*/
|
|
16
|
-
export declare function buildHookPrompt(binding: PhaseHookBinding, context: HookContext): string;
|
|
17
|
-
/**
|
|
18
|
-
* Execute a single hook binding.
|
|
19
|
-
*
|
|
20
|
-
* 1. Loads the SKILL.md file from the Claude Code plugin cache
|
|
21
|
-
* 2. Builds a prompt with phase context
|
|
22
|
-
* 3. Calls `query()` from claude-agent-sdk
|
|
23
|
-
* 4. Returns the execution result
|
|
24
|
-
*/
|
|
25
|
-
export declare function executeHook(binding: PhaseHookBinding, context: HookContext, verbose?: boolean, deps?: HookExecutorDeps): Promise<HookExecutionResult>;
|
|
26
|
-
interface HookResponse {
|
|
27
|
-
status: 'success' | 'error';
|
|
28
|
-
message: string;
|
|
29
|
-
data?: unknown;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Parse the hook response text, looking for a JSON block.
|
|
33
|
-
* Falls back to treating the entire text as a success message.
|
|
34
|
-
*/
|
|
35
|
-
export declare function parseHookResponse(text: string): HookResponse;
|
|
36
|
-
export {};
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook executor — executes a single phase hook by reading a Claude Code
|
|
3
|
-
* plugin SKILL.md file and invoking `query()` from the Agent SDK.
|
|
4
|
-
*/
|
|
5
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
6
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
7
|
-
import { logDebug } from '../../utils/logger.js';
|
|
8
|
-
import { loadSkillFile } from './plugin-loader.js';
|
|
9
|
-
const defaultDeps = {
|
|
10
|
-
loadSkillFile,
|
|
11
|
-
queryFn: query,
|
|
12
|
-
};
|
|
13
|
-
// ---- Prompt building (pure) ----
|
|
14
|
-
/**
|
|
15
|
-
* Build the user-facing prompt sent to `query()` for a hook invocation.
|
|
16
|
-
* The skill body goes into the system prompt; this function builds the
|
|
17
|
-
* *user* prompt with phase-specific context.
|
|
18
|
-
*/
|
|
19
|
-
export function buildHookPrompt(binding, context) {
|
|
20
|
-
const sections = [
|
|
21
|
-
'## Phase Hook Execution Context',
|
|
22
|
-
'',
|
|
23
|
-
`- **Issue ID**: ${context.issueId}`,
|
|
24
|
-
`- **Phase**: ${context.phase}`,
|
|
25
|
-
`- **Hook Point**: ${context.hookPoint}`,
|
|
26
|
-
`- **Plugin**: ${binding.plugin_name}`,
|
|
27
|
-
`- **Skill**: ${binding.skill_name}`,
|
|
28
|
-
];
|
|
29
|
-
// Inject binding-level config if provided
|
|
30
|
-
if (Object.keys(binding.config).length > 0) {
|
|
31
|
-
sections.push('', '## Hook Configuration', '');
|
|
32
|
-
sections.push('```json', JSON.stringify(binding.config, null, 2), '```');
|
|
33
|
-
}
|
|
34
|
-
// For 'after' hooks, include the phase result
|
|
35
|
-
if (context.hookPoint === 'after' && context.phaseResult !== undefined) {
|
|
36
|
-
sections.push('', '## Phase Result', '');
|
|
37
|
-
sections.push('```json', JSON.stringify(context.phaseResult, null, 2), '```');
|
|
38
|
-
}
|
|
39
|
-
// For 'on_error' hooks, include the error
|
|
40
|
-
if (context.hookPoint === 'on_error' && context.error) {
|
|
41
|
-
sections.push('', '## Phase Error', '');
|
|
42
|
-
sections.push(`**Error**: ${context.error.message}`);
|
|
43
|
-
if (context.error.stack) {
|
|
44
|
-
sections.push('', '```', context.error.stack, '```');
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
sections.push('', '## Instructions', '', 'Execute the skill described in your system prompt using the context above.', 'Return a JSON block with your result:', '', '```json', '{ "status": "success" | "error", "message": "...", "data": {} }', '```');
|
|
48
|
-
return sections.join('\n');
|
|
49
|
-
}
|
|
50
|
-
// ---- Execution ----
|
|
51
|
-
/**
|
|
52
|
-
* Execute a single hook binding.
|
|
53
|
-
*
|
|
54
|
-
* 1. Loads the SKILL.md file from the Claude Code plugin cache
|
|
55
|
-
* 2. Builds a prompt with phase context
|
|
56
|
-
* 3. Calls `query()` from claude-agent-sdk
|
|
57
|
-
* 4. Returns the execution result
|
|
58
|
-
*/
|
|
59
|
-
export async function executeHook(binding, context, verbose, deps = defaultDeps) {
|
|
60
|
-
const startTime = Date.now();
|
|
61
|
-
// 1. Load skill file
|
|
62
|
-
const skillFile = await deps.loadSkillFile(binding.plugin_name, binding.skill_name, verbose);
|
|
63
|
-
if (!skillFile) {
|
|
64
|
-
return {
|
|
65
|
-
hookId: binding.id,
|
|
66
|
-
binding,
|
|
67
|
-
status: 'skipped',
|
|
68
|
-
message: `Skill file not found: ${binding.plugin_name}/${binding.skill_name}`,
|
|
69
|
-
duration_ms: Date.now() - startTime,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
// 2. Build prompt
|
|
73
|
-
const hookPrompt = buildHookPrompt(binding, context);
|
|
74
|
-
if (verbose) {
|
|
75
|
-
logDebug(`Executing hook: ${binding.plugin_name}/${binding.skill_name} ` +
|
|
76
|
-
`(${context.hookPoint}:${context.phase})`, verbose);
|
|
77
|
-
}
|
|
78
|
-
// 3. Call query()
|
|
79
|
-
try {
|
|
80
|
-
let resultText = '';
|
|
81
|
-
for await (const message of deps.queryFn({
|
|
82
|
-
prompt: hookPrompt,
|
|
83
|
-
options: {
|
|
84
|
-
systemPrompt: {
|
|
85
|
-
type: 'preset',
|
|
86
|
-
preset: 'claude_code',
|
|
87
|
-
append: skillFile.body,
|
|
88
|
-
},
|
|
89
|
-
model: skillFile.frontmatter.model || DEFAULT_MODEL,
|
|
90
|
-
maxTurns: skillFile.frontmatter.maxTurns ?? 50,
|
|
91
|
-
permissionMode: 'bypassPermissions',
|
|
92
|
-
},
|
|
93
|
-
})) {
|
|
94
|
-
if (message.type === 'assistant') {
|
|
95
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
96
|
-
for (const item of (message.message?.content ?? [])) {
|
|
97
|
-
// eslint-disable-next-line max-depth
|
|
98
|
-
if (item.type === 'text') {
|
|
99
|
-
resultText += item.text;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
if (message.type === 'result') {
|
|
105
|
-
if (message.subtype === 'success' && message.result) {
|
|
106
|
-
resultText = message.result;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// 4. Parse result
|
|
111
|
-
const parsed = parseHookResponse(resultText);
|
|
112
|
-
return {
|
|
113
|
-
hookId: binding.id,
|
|
114
|
-
binding,
|
|
115
|
-
status: parsed.status === 'error' ? 'error' : 'success',
|
|
116
|
-
message: parsed.message,
|
|
117
|
-
duration_ms: Date.now() - startTime,
|
|
118
|
-
data: parsed.data,
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
return {
|
|
123
|
-
hookId: binding.id,
|
|
124
|
-
binding,
|
|
125
|
-
status: 'error',
|
|
126
|
-
message: `Hook execution failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
127
|
-
duration_ms: Date.now() - startTime,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Parse the hook response text, looking for a JSON block.
|
|
133
|
-
* Falls back to treating the entire text as a success message.
|
|
134
|
-
*/
|
|
135
|
-
export function parseHookResponse(text) {
|
|
136
|
-
// Try to extract JSON from a fenced code block
|
|
137
|
-
const jsonMatch = text.match(/```json\s*\n([\s\S]*?)\n\s*```/);
|
|
138
|
-
if (jsonMatch) {
|
|
139
|
-
try {
|
|
140
|
-
const parsed = JSON.parse(jsonMatch[1]);
|
|
141
|
-
return {
|
|
142
|
-
status: parsed.status === 'error' ? 'error' : 'success',
|
|
143
|
-
message: parsed.message || 'Hook completed',
|
|
144
|
-
data: parsed.data,
|
|
145
|
-
};
|
|
146
|
-
}
|
|
147
|
-
catch {
|
|
148
|
-
// Fall through to plain text handling
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// Try parsing the entire text as JSON
|
|
152
|
-
try {
|
|
153
|
-
const parsed = JSON.parse(text);
|
|
154
|
-
return {
|
|
155
|
-
status: parsed.status === 'error' ? 'error' : 'success',
|
|
156
|
-
message: parsed.message || 'Hook completed',
|
|
157
|
-
data: parsed.data,
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
catch {
|
|
161
|
-
// Not JSON — treat as success with the text as the message
|
|
162
|
-
return {
|
|
163
|
-
status: 'success',
|
|
164
|
-
message: text.trim().slice(0, 500) || 'Hook completed (no structured output)',
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook-specific audit logging — wraps the generic audit log service
|
|
3
|
-
* with hook-specific metadata fields.
|
|
4
|
-
*/
|
|
5
|
-
import type { HookExecutionResult, PhaseHookBinding } from './types.js';
|
|
6
|
-
export interface LogHookEventParams {
|
|
7
|
-
issueId: string;
|
|
8
|
-
binding: PhaseHookBinding;
|
|
9
|
-
result: HookExecutionResult;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Log a hook execution event to the issue audit log.
|
|
13
|
-
*/
|
|
14
|
-
export declare function logHookEvent(params: LogHookEventParams, verbose?: boolean): Promise<void>;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook-specific audit logging — wraps the generic audit log service
|
|
3
|
-
* with hook-specific metadata fields.
|
|
4
|
-
*/
|
|
5
|
-
import { callMcpEndpoint } from '../../api/mcp-client.js';
|
|
6
|
-
import { logDebug, logError } from '../../utils/logger.js';
|
|
7
|
-
const EVENT_TYPE_MAP = {
|
|
8
|
-
success: 'hook_completed',
|
|
9
|
-
error: 'hook_failed',
|
|
10
|
-
skipped: 'hook_completed', // skipped is a non-error completion
|
|
11
|
-
};
|
|
12
|
-
/**
|
|
13
|
-
* Log a hook execution event to the issue audit log.
|
|
14
|
-
*/
|
|
15
|
-
export async function logHookEvent(params, verbose) {
|
|
16
|
-
const { issueId, binding, result } = params;
|
|
17
|
-
const eventType = EVENT_TYPE_MAP[result.status];
|
|
18
|
-
try {
|
|
19
|
-
await callMcpEndpoint('issue_audit_logs/create', {
|
|
20
|
-
issue_id: issueId,
|
|
21
|
-
event_type: eventType,
|
|
22
|
-
phase: binding.phase === '*' ? 'all' : binding.phase.replace(/-/g, '_'),
|
|
23
|
-
source: 'pipeline',
|
|
24
|
-
result: result.status === 'error' ? 'error' : 'success',
|
|
25
|
-
metadata: {
|
|
26
|
-
hook_id: binding.id,
|
|
27
|
-
plugin_name: binding.plugin_name,
|
|
28
|
-
skill_name: binding.skill_name,
|
|
29
|
-
hook_point: binding.hook_point,
|
|
30
|
-
on_failure: binding.on_failure,
|
|
31
|
-
duration_ms: result.duration_ms,
|
|
32
|
-
hook_status: result.status,
|
|
33
|
-
hook_message: result.message,
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
logDebug(`Logged hook event: ${eventType} for ${binding.plugin_name}/${binding.skill_name}`, verbose);
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
logError(`Failed to log hook event: ${error instanceof Error ? error.message : String(error)}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Hook runner — orchestrates all hooks for a given phase + hook point.
|
|
3
|
-
*
|
|
4
|
-
* Executes matching bindings sequentially (respecting sort_order),
|
|
5
|
-
* applies the on_failure policy, and logs each result.
|
|
6
|
-
*/
|
|
7
|
-
import type { HookContext, HookExecutionResult, HookRunnerDeps } from './types.js';
|
|
8
|
-
export interface HookRunResult {
|
|
9
|
-
readonly results: readonly HookExecutionResult[];
|
|
10
|
-
readonly blocked: boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Run all matching hooks for a phase at a given hook point.
|
|
14
|
-
*
|
|
15
|
-
* @param context - Phase context (issueId, phase, hookPoint, etc.)
|
|
16
|
-
* @param deps - Injectable dependencies (defaults to real implementations).
|
|
17
|
-
* Pass mock deps in tests to avoid SDK/network calls.
|
|
18
|
-
*/
|
|
19
|
-
export declare function runHooksForPhase(context: HookContext, deps?: HookRunnerDeps): Promise<HookRunResult>;
|