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,32 +0,0 @@
|
|
|
1
|
-
import { type PullRequest } from '../../services/pull-requests.js';
|
|
2
|
-
import type { IssueInfo } from '../../types/issues.js';
|
|
3
|
-
import { type RepoForkInfo } from '../../utils/github-repo-info.js';
|
|
4
|
-
export interface GitHubConfigInfo {
|
|
5
|
-
configured: boolean;
|
|
6
|
-
token?: string;
|
|
7
|
-
owner?: string;
|
|
8
|
-
repo?: string;
|
|
9
|
-
message?: string;
|
|
10
|
-
}
|
|
11
|
-
export interface ChangedFileInfo {
|
|
12
|
-
path: string;
|
|
13
|
-
change_type: 'added' | 'modified' | 'deleted' | 'renamed';
|
|
14
|
-
}
|
|
15
|
-
export interface PRExecutionContext {
|
|
16
|
-
issue: IssueInfo;
|
|
17
|
-
pullRequests: PullRequest[];
|
|
18
|
-
devBranchName: string;
|
|
19
|
-
devBranchHeadSha: string;
|
|
20
|
-
githubConfig: GitHubConfigInfo;
|
|
21
|
-
forkInfo: RepoForkInfo;
|
|
22
|
-
/** Resolved default branch (e.g. main, master). Used for checkout/diff. */
|
|
23
|
-
defaultBranch: string;
|
|
24
|
-
isIncrementalSync: boolean;
|
|
25
|
-
lastSyncedCommit: string | null;
|
|
26
|
-
diffStat: string;
|
|
27
|
-
changedFiles: ChangedFileInfo[];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Fetch context for PR execution phase
|
|
31
|
-
*/
|
|
32
|
-
export declare function fetchPRExecutionContext(issueId: string, verbose?: boolean): Promise<PRExecutionContext>;
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
import { execFileSync } from 'child_process';
|
|
2
|
-
import { getGitHubConfig } from '../../api/github.js';
|
|
3
|
-
import { getIssue } from '../../api/issues/index.js';
|
|
4
|
-
import { getPullRequests, } from '../../services/pull-requests.js';
|
|
5
|
-
import { branchExists, remoteBranchExists, } from '../../utils/git-branch-manager.js';
|
|
6
|
-
import { buildCredentialArgs } from '../../utils/git-push.js';
|
|
7
|
-
import { getRepoForkInfo, resolveDefaultBranch, } from '../../utils/github-repo-info.js';
|
|
8
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
9
|
-
/**
|
|
10
|
-
* Get the dev branch name for an issue
|
|
11
|
-
*/
|
|
12
|
-
function getDevBranchName(issueId) {
|
|
13
|
-
return `dev/${issueId}`;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Get the HEAD SHA of a branch
|
|
17
|
-
*/
|
|
18
|
-
function getBranchHeadSha(branchName) {
|
|
19
|
-
return execFileSync('git', ['rev-parse', branchName], {
|
|
20
|
-
encoding: 'utf-8',
|
|
21
|
-
}).trim();
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get diff stat between two refs
|
|
25
|
-
*/
|
|
26
|
-
function getDiffStat(baseRef, headRef) {
|
|
27
|
-
try {
|
|
28
|
-
return execFileSync('git', ['diff', '--stat', `${baseRef}...${headRef}`], {
|
|
29
|
-
encoding: 'utf-8',
|
|
30
|
-
}).trim();
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return '';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Map git diff --name-status letter to a readable change type
|
|
38
|
-
*/
|
|
39
|
-
function parseGitStatus(status) {
|
|
40
|
-
switch (status[0]) {
|
|
41
|
-
case 'A':
|
|
42
|
-
return 'added';
|
|
43
|
-
case 'D':
|
|
44
|
-
return 'deleted';
|
|
45
|
-
case 'R':
|
|
46
|
-
return 'renamed';
|
|
47
|
-
default:
|
|
48
|
-
return 'modified';
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Get list of changed files with their change types between two refs
|
|
53
|
-
*/
|
|
54
|
-
function getChangedFiles(baseRef, headRef) {
|
|
55
|
-
try {
|
|
56
|
-
const output = execFileSync('git', ['diff', '--name-status', `${baseRef}...${headRef}`], { encoding: 'utf-8' }).trim();
|
|
57
|
-
if (!output) {
|
|
58
|
-
return [];
|
|
59
|
-
}
|
|
60
|
-
return output
|
|
61
|
-
.split('\n')
|
|
62
|
-
.filter((line) => line.length > 0)
|
|
63
|
-
.map((line) => {
|
|
64
|
-
const [status, ...pathParts] = line.split('\t');
|
|
65
|
-
// For renames (R100\told\tnew), use the new path
|
|
66
|
-
const path = pathParts.length > 1 ? pathParts[1] : pathParts[0];
|
|
67
|
-
return { path, change_type: parseGitStatus(status) };
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
return [];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Check if a commit exists in the ancestry of a given ref.
|
|
76
|
-
* Returns false if the commit was orphaned (e.g. after a rebase).
|
|
77
|
-
*/
|
|
78
|
-
function isAncestor(commitSha, ref) {
|
|
79
|
-
try {
|
|
80
|
-
execFileSync('git', ['merge-base', '--is-ancestor', commitSha, ref], {
|
|
81
|
-
encoding: 'utf-8',
|
|
82
|
-
stdio: 'pipe',
|
|
83
|
-
});
|
|
84
|
-
return true;
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
return false;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Determine the common last_synced_commit from existing PRs
|
|
92
|
-
* Returns null if any PR hasn't been synced yet (first run)
|
|
93
|
-
*/
|
|
94
|
-
function getLastSyncedCommit(pullRequests) {
|
|
95
|
-
if (pullRequests.length === 0) {
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
const syncedCommits = pullRequests
|
|
99
|
-
.map((pr) => pr.last_synced_commit)
|
|
100
|
-
.filter((c) => c !== null);
|
|
101
|
-
// If not all PRs have been synced, this is a first-time execution
|
|
102
|
-
if (syncedCommits.length !== pullRequests.length) {
|
|
103
|
-
return null;
|
|
104
|
-
}
|
|
105
|
-
// All should be the same after a successful sync, use the first
|
|
106
|
-
return syncedCommits[0];
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Fetch context for PR execution phase
|
|
110
|
-
*/
|
|
111
|
-
// eslint-disable-next-line complexity -- assembles context from many data sources with fallback handling
|
|
112
|
-
export async function fetchPRExecutionContext(issueId, verbose) {
|
|
113
|
-
try {
|
|
114
|
-
if (verbose) {
|
|
115
|
-
logInfo(`Fetching PR execution context for issue: ${issueId}`);
|
|
116
|
-
}
|
|
117
|
-
const devBranchName = getDevBranchName(issueId);
|
|
118
|
-
// Fetch GitHub config and data in parallel (need token before remote branch check)
|
|
119
|
-
const [issue, pullRequests, githubConfig] = await Promise.all([
|
|
120
|
-
getIssue(issueId, verbose),
|
|
121
|
-
getPullRequests({ issueId, verbose }),
|
|
122
|
-
getGitHubConfig(issueId, verbose),
|
|
123
|
-
]);
|
|
124
|
-
// Detect fork status + default branch (used by the fast-forward step below)
|
|
125
|
-
let forkInfo = { isFork: false };
|
|
126
|
-
if (githubConfig.token && githubConfig.owner && githubConfig.repo) {
|
|
127
|
-
try {
|
|
128
|
-
forkInfo = await getRepoForkInfo(githubConfig.token, githubConfig.owner, githubConfig.repo);
|
|
129
|
-
if (verbose) {
|
|
130
|
-
logInfo(forkInfo.isFork
|
|
131
|
-
? `๐ Repository is a fork of ${forkInfo.upstream?.owner}/${forkInfo.upstream?.repo}`
|
|
132
|
-
: `๐ Repository is not a fork`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
catch (error) {
|
|
136
|
-
if (verbose) {
|
|
137
|
-
logError(`Failed to detect fork status: ${error instanceof Error ? error.message : String(error)}`);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
// Resolve the repo's default branch (e.g. main, master, develop). Falls back
|
|
142
|
-
// through GitHub API โ local symbolic-ref โ literal 'main'.
|
|
143
|
-
const defaultBranch = resolveDefaultBranch(forkInfo.defaultBranch);
|
|
144
|
-
// Fetch latest remote refs and fast-forward the local default branch.
|
|
145
|
-
// Use execFileSync (not execSync) so defaultBranch โ which can flow in from
|
|
146
|
-
// the GitHub API's default_branch field โ is never passed through a shell.
|
|
147
|
-
try {
|
|
148
|
-
const credArgs = buildCredentialArgs(githubConfig.token);
|
|
149
|
-
execFileSync('git', [...credArgs, 'fetch', 'origin'], {
|
|
150
|
-
encoding: 'utf-8',
|
|
151
|
-
stdio: 'pipe',
|
|
152
|
-
});
|
|
153
|
-
execFileSync('git', ['checkout', defaultBranch], {
|
|
154
|
-
encoding: 'utf-8',
|
|
155
|
-
stdio: 'pipe',
|
|
156
|
-
});
|
|
157
|
-
execFileSync('git', ['merge', '--ff-only', `origin/${defaultBranch}`], {
|
|
158
|
-
encoding: 'utf-8',
|
|
159
|
-
stdio: 'pipe',
|
|
160
|
-
});
|
|
161
|
-
if (verbose) {
|
|
162
|
-
logInfo(`โ
Local ${defaultBranch} synced with origin/${defaultBranch}`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
if (verbose) {
|
|
167
|
-
logInfo(`โ ๏ธ Could not sync ${defaultBranch} with origin: ${error instanceof Error ? error.message : String(error)}`);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
// Verify dev branch exists
|
|
171
|
-
const localExists = branchExists(devBranchName);
|
|
172
|
-
const remoteExists = !localExists && remoteBranchExists(devBranchName, githubConfig.token);
|
|
173
|
-
if (!localExists && !remoteExists) {
|
|
174
|
-
throw new Error(`Development branch '${devBranchName}' does not exist. ` +
|
|
175
|
-
`The issue must have code on the dev branch before PR execution.`);
|
|
176
|
-
}
|
|
177
|
-
// If branch only exists on remote, fetch it (using credential helper)
|
|
178
|
-
if (!localExists && remoteExists) {
|
|
179
|
-
if (verbose) {
|
|
180
|
-
logInfo(`Fetching remote branch ${devBranchName}...`);
|
|
181
|
-
}
|
|
182
|
-
const credArgs = buildCredentialArgs(githubConfig.token);
|
|
183
|
-
execFileSync('git', [
|
|
184
|
-
...credArgs,
|
|
185
|
-
'fetch',
|
|
186
|
-
'origin',
|
|
187
|
-
`${devBranchName}:refs/remotes/origin/${devBranchName}`,
|
|
188
|
-
], { encoding: 'utf-8', stdio: 'pipe' });
|
|
189
|
-
}
|
|
190
|
-
if (pullRequests.length === 0) {
|
|
191
|
-
throw new Error('No PR plan found. Run the pr-splitting phase first to create a PR plan.');
|
|
192
|
-
}
|
|
193
|
-
if (!githubConfig.configured) {
|
|
194
|
-
throw new Error(`GitHub is not configured. ${githubConfig.message || 'Please configure GitHub integration.'}`);
|
|
195
|
-
}
|
|
196
|
-
// Determine sync mode
|
|
197
|
-
const devRef = localExists ? devBranchName : `origin/${devBranchName}`;
|
|
198
|
-
const devBranchHeadSha = getBranchHeadSha(devRef);
|
|
199
|
-
let lastSyncedCommit = getLastSyncedCommit(pullRequests);
|
|
200
|
-
let isIncrementalSync = lastSyncedCommit !== null;
|
|
201
|
-
// If the branch was rebased, lastSyncedCommit is no longer in the history.
|
|
202
|
-
// Treat this as a full re-execution so downstream logic uses the correct
|
|
203
|
-
// prompt and skips incremental file-assignment against an invalid base.
|
|
204
|
-
if (isIncrementalSync &&
|
|
205
|
-
lastSyncedCommit &&
|
|
206
|
-
!isAncestor(lastSyncedCommit, devRef)) {
|
|
207
|
-
if (verbose) {
|
|
208
|
-
logInfo(`โ ๏ธ Last synced commit ${lastSyncedCommit} is no longer in branch history (likely rebased). Treating as full re-execution.`);
|
|
209
|
-
}
|
|
210
|
-
lastSyncedCommit = null;
|
|
211
|
-
isIncrementalSync = false;
|
|
212
|
-
}
|
|
213
|
-
// Get diff info: for incremental, diff from last sync; for first run, diff from default branch
|
|
214
|
-
const diffBase = isIncrementalSync && lastSyncedCommit ? lastSyncedCommit : defaultBranch;
|
|
215
|
-
const diffStat = getDiffStat(diffBase, devRef);
|
|
216
|
-
const changedFiles = getChangedFiles(diffBase, devRef);
|
|
217
|
-
if (verbose) {
|
|
218
|
-
logInfo(`โ
PR execution context fetched:`);
|
|
219
|
-
logInfo(` Issue: ${issue.name}`);
|
|
220
|
-
logInfo(` Dev Branch: ${devBranchName} (HEAD: ${devBranchHeadSha})`);
|
|
221
|
-
logInfo(` PR Records: ${pullRequests.length}`);
|
|
222
|
-
logInfo(` Mode: ${isIncrementalSync ? '๐ Incremental sync' : 'โจ First execution'}`);
|
|
223
|
-
logInfo(` Diff Base: ${diffBase}`);
|
|
224
|
-
logInfo(` Changed Files: ${changedFiles.length}`);
|
|
225
|
-
logInfo(` GitHub: ${githubConfig.configured ? 'Configured' : 'Not configured'}`);
|
|
226
|
-
}
|
|
227
|
-
return {
|
|
228
|
-
issue,
|
|
229
|
-
pullRequests,
|
|
230
|
-
devBranchName,
|
|
231
|
-
devBranchHeadSha,
|
|
232
|
-
githubConfig,
|
|
233
|
-
forkInfo,
|
|
234
|
-
defaultBranch,
|
|
235
|
-
isIncrementalSync,
|
|
236
|
-
lastSyncedCommit,
|
|
237
|
-
diffStat,
|
|
238
|
-
changedFiles,
|
|
239
|
-
};
|
|
240
|
-
}
|
|
241
|
-
catch (error) {
|
|
242
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
243
|
-
logError(`Failed to fetch PR execution context: ${errorMessage}`);
|
|
244
|
-
throw new Error(`Context fetch failed: ${errorMessage}`);
|
|
245
|
-
}
|
|
246
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File assignment for incremental sync.
|
|
3
|
-
*
|
|
4
|
-
* When new changes on the dev branch include files not covered by any
|
|
5
|
-
* existing PR's file list, this module asks an LLM to assign them to
|
|
6
|
-
* the most appropriate PR, then updates the PR records in the database.
|
|
7
|
-
*/
|
|
8
|
-
import { type PullRequest } from '../../services/pull-requests.js';
|
|
9
|
-
import type { ChangedFileInfo } from './context.js';
|
|
10
|
-
export interface FileAssignment {
|
|
11
|
-
file: string;
|
|
12
|
-
pr_id: string;
|
|
13
|
-
}
|
|
14
|
-
export interface FileAssignmentResult {
|
|
15
|
-
assignments: FileAssignment[];
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Find changed files that are not covered by any PR's file list.
|
|
19
|
-
*/
|
|
20
|
-
export declare function findUnassignedFiles(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[]): ChangedFileInfo[];
|
|
21
|
-
/**
|
|
22
|
-
* Update PR records in the database with newly assigned files.
|
|
23
|
-
* Exported for testing via dependency injection of the updater function.
|
|
24
|
-
*/
|
|
25
|
-
export declare function applyAssignments(assignments: FileAssignment[], unassignedFiles: ChangedFileInfo[], pullRequests: PullRequest[], updater?: (prId: string, updates: {
|
|
26
|
-
files: {
|
|
27
|
-
path: string;
|
|
28
|
-
change_type: string;
|
|
29
|
-
}[];
|
|
30
|
-
}, verbose?: boolean) => Promise<unknown>, verbose?: boolean): Promise<number>;
|
|
31
|
-
/**
|
|
32
|
-
* Remove files that were deleted on the dev branch from PR file lists.
|
|
33
|
-
* Returns the number of PRs updated.
|
|
34
|
-
*/
|
|
35
|
-
export declare function removeDeletedFilesFromPRs(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[], updater?: (prId: string, updates: {
|
|
36
|
-
files: {
|
|
37
|
-
path: string;
|
|
38
|
-
change_type: string;
|
|
39
|
-
}[];
|
|
40
|
-
}, verbose?: boolean) => Promise<unknown>, verbose?: boolean): Promise<number>;
|
|
41
|
-
/**
|
|
42
|
-
* Remove files from PR file lists that are no longer in the current diff.
|
|
43
|
-
* Used after rebase when the full diff against main may differ from what
|
|
44
|
-
* was previously recorded in PR file lists.
|
|
45
|
-
* Returns the number of PRs updated.
|
|
46
|
-
*/
|
|
47
|
-
export declare function removeStaleFilesFromPRs(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[], updater?: (prId: string, updates: {
|
|
48
|
-
files: {
|
|
49
|
-
path: string;
|
|
50
|
-
change_type: string;
|
|
51
|
-
}[];
|
|
52
|
-
}, verbose?: boolean) => Promise<unknown>, verbose?: boolean): Promise<number>;
|
|
53
|
-
/**
|
|
54
|
-
* Detect unassigned files and use LLM to assign them to existing PRs.
|
|
55
|
-
* Returns the number of files assigned, or 0 if none needed assignment.
|
|
56
|
-
*/
|
|
57
|
-
export declare function assignNewFilesToPRs(changedFiles: ChangedFileInfo[], pullRequests: PullRequest[], verbose?: boolean): Promise<number>;
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* File assignment for incremental sync.
|
|
3
|
-
*
|
|
4
|
-
* When new changes on the dev branch include files not covered by any
|
|
5
|
-
* existing PR's file list, this module asks an LLM to assign them to
|
|
6
|
-
* the most appropriate PR, then updates the PR records in the database.
|
|
7
|
-
*/
|
|
8
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
9
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
10
|
-
import { updatePullRequest, } from '../../services/pull-requests.js';
|
|
11
|
-
import { extractJsonFromResponse } from '../../utils/json-extractor.js';
|
|
12
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
13
|
-
/**
|
|
14
|
-
* Find changed files that are not covered by any PR's file list.
|
|
15
|
-
*/
|
|
16
|
-
export function findUnassignedFiles(changedFiles, pullRequests) {
|
|
17
|
-
const assignedPaths = new Set();
|
|
18
|
-
for (const pr of pullRequests) {
|
|
19
|
-
if (pr.files) {
|
|
20
|
-
for (const f of pr.files) {
|
|
21
|
-
assignedPaths.add(f.path);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return changedFiles.filter((f) => !assignedPaths.has(f.path));
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Build a prompt asking the LLM to assign unassigned files to PRs.
|
|
29
|
-
*/
|
|
30
|
-
function buildAssignmentPrompt(unassignedFiles, pullRequests) {
|
|
31
|
-
const prList = pullRequests
|
|
32
|
-
.map((pr) => {
|
|
33
|
-
const files = pr.files
|
|
34
|
-
? pr.files.map((f) => ` - ${f.path} (${f.change_type})`).join('\n')
|
|
35
|
-
: ' (no files)';
|
|
36
|
-
return `### PR ${pr.sequence}: ${pr.name} (id: ${pr.id})
|
|
37
|
-
- Description: ${pr.description || 'No description'}
|
|
38
|
-
- Files:
|
|
39
|
-
${files}`;
|
|
40
|
-
})
|
|
41
|
-
.join('\n\n');
|
|
42
|
-
const fileList = unassignedFiles
|
|
43
|
-
.map((f) => `- ${f.path} (${f.change_type})`)
|
|
44
|
-
.join('\n');
|
|
45
|
-
return `# Assign New Files to Existing PRs
|
|
46
|
-
|
|
47
|
-
The following files were changed on the dev branch but are not assigned to any existing PR.
|
|
48
|
-
Assign each file to the most appropriate PR based on the PR's purpose and existing file list.
|
|
49
|
-
|
|
50
|
-
## Unassigned Files (${unassignedFiles.length})
|
|
51
|
-
${fileList}
|
|
52
|
-
|
|
53
|
-
## Existing PRs
|
|
54
|
-
${prList}
|
|
55
|
-
|
|
56
|
-
## Instructions
|
|
57
|
-
For each unassigned file, decide which PR it belongs to based on:
|
|
58
|
-
1. Directory proximity (same package/module as existing PR files)
|
|
59
|
-
2. Logical cohesion (related functionality)
|
|
60
|
-
3. Dependency order (if file B imports from file A, they may belong together)
|
|
61
|
-
|
|
62
|
-
Return ONLY a JSON object:
|
|
63
|
-
|
|
64
|
-
\`\`\`json
|
|
65
|
-
{
|
|
66
|
-
"assignments": [
|
|
67
|
-
{
|
|
68
|
-
"file": "path/to/file.ts",
|
|
69
|
-
"pr_id": "uuid-of-target-pr"
|
|
70
|
-
}
|
|
71
|
-
]
|
|
72
|
-
}
|
|
73
|
-
\`\`\`
|
|
74
|
-
|
|
75
|
-
Every file in the unassigned list MUST appear exactly once in the assignments array.
|
|
76
|
-
Do NOT create new PRs โ assign all files to existing PRs only.`;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Call LLM to assign files, returning structured assignments.
|
|
80
|
-
*/
|
|
81
|
-
async function callLLMForAssignment(prompt, verbose) {
|
|
82
|
-
let responseText = '';
|
|
83
|
-
function* userMessage() {
|
|
84
|
-
yield {
|
|
85
|
-
type: 'user',
|
|
86
|
-
message: { role: 'user', content: prompt },
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
try {
|
|
90
|
-
for await (const message of query({
|
|
91
|
-
prompt: userMessage(),
|
|
92
|
-
options: {
|
|
93
|
-
model: DEFAULT_MODEL,
|
|
94
|
-
maxTurns: 5,
|
|
95
|
-
permissionMode: 'bypassPermissions',
|
|
96
|
-
},
|
|
97
|
-
})) {
|
|
98
|
-
if (message.type === 'assistant' && message.message?.content) {
|
|
99
|
-
for (const item of message.message.content) {
|
|
100
|
-
// eslint-disable-next-line max-depth
|
|
101
|
-
if (item.type === 'text') {
|
|
102
|
-
responseText += `${item.text}\n`;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
if (verbose) {
|
|
110
|
-
logError(`LLM query failed during file assignment: ${error instanceof Error ? error.message : String(error)}`);
|
|
111
|
-
}
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
const parsed = extractJsonFromResponse(responseText, '"assignments"');
|
|
115
|
-
if (!parsed || !Array.isArray(parsed.assignments)) {
|
|
116
|
-
if (verbose) {
|
|
117
|
-
logError('Failed to parse file assignment response from LLM');
|
|
118
|
-
}
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
return parsed;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Update PR records in the database with newly assigned files.
|
|
125
|
-
* Exported for testing via dependency injection of the updater function.
|
|
126
|
-
*/
|
|
127
|
-
export async function applyAssignments(assignments, unassignedFiles, pullRequests, updater = updatePullRequest, verbose) {
|
|
128
|
-
// Build a lookup from file path to its git change_type
|
|
129
|
-
const changeTypeByPath = new Map();
|
|
130
|
-
for (const f of unassignedFiles) {
|
|
131
|
-
changeTypeByPath.set(f.path, f.change_type);
|
|
132
|
-
}
|
|
133
|
-
// Group assignments by PR id
|
|
134
|
-
const byPR = new Map();
|
|
135
|
-
for (const a of assignments) {
|
|
136
|
-
const list = byPR.get(a.pr_id) || [];
|
|
137
|
-
list.push(a);
|
|
138
|
-
byPR.set(a.pr_id, list);
|
|
139
|
-
}
|
|
140
|
-
let updatedCount = 0;
|
|
141
|
-
for (const [prId, newFiles] of byPR) {
|
|
142
|
-
const pr = pullRequests.find((p) => p.id === prId);
|
|
143
|
-
if (!pr) {
|
|
144
|
-
if (verbose) {
|
|
145
|
-
logError(`Assignment references unknown PR id: ${prId}`);
|
|
146
|
-
}
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
const existingFiles = pr.files || [];
|
|
150
|
-
const existingPaths = new Set(existingFiles.map((f) => f.path));
|
|
151
|
-
const mergedFiles = [...existingFiles];
|
|
152
|
-
for (const nf of newFiles) {
|
|
153
|
-
if (!existingPaths.has(nf.file)) {
|
|
154
|
-
const changeType = changeTypeByPath.get(nf.file) || 'modified';
|
|
155
|
-
mergedFiles.push({ path: nf.file, change_type: changeType });
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
try {
|
|
159
|
-
await updater(prId, { files: mergedFiles }, verbose);
|
|
160
|
-
updatedCount++;
|
|
161
|
-
if (verbose) {
|
|
162
|
-
logInfo(` Updated PR "${pr.name}": +${newFiles.length} files (${newFiles.map((f) => f.file).join(', ')})`);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
logError(`Failed to update PR ${prId}: ${error instanceof Error ? error.message : String(error)}`);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
return updatedCount;
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Remove files that were deleted on the dev branch from PR file lists.
|
|
173
|
-
* Returns the number of PRs updated.
|
|
174
|
-
*/
|
|
175
|
-
export async function removeDeletedFilesFromPRs(changedFiles, pullRequests, updater = updatePullRequest, verbose) {
|
|
176
|
-
const deletedPaths = new Set(changedFiles.filter((f) => f.change_type === 'deleted').map((f) => f.path));
|
|
177
|
-
if (deletedPaths.size === 0) {
|
|
178
|
-
return 0;
|
|
179
|
-
}
|
|
180
|
-
let updatedCount = 0;
|
|
181
|
-
for (const pr of pullRequests) {
|
|
182
|
-
if (!pr.files || pr.files.length === 0) {
|
|
183
|
-
continue;
|
|
184
|
-
}
|
|
185
|
-
const filtered = pr.files.filter((f) => !deletedPaths.has(f.path));
|
|
186
|
-
if (filtered.length === pr.files.length) {
|
|
187
|
-
continue;
|
|
188
|
-
}
|
|
189
|
-
const removed = pr.files.length - filtered.length;
|
|
190
|
-
try {
|
|
191
|
-
await updater(pr.id, { files: filtered }, verbose);
|
|
192
|
-
updatedCount++;
|
|
193
|
-
if (verbose) {
|
|
194
|
-
logInfo(` Cleaned PR "${pr.name}": removed ${removed} deleted file(s)`);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
catch (error) {
|
|
198
|
-
logError(`Failed to clean PR ${pr.id}: ${error instanceof Error ? error.message : String(error)}`);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
if (verbose && updatedCount > 0) {
|
|
202
|
-
logInfo(`๐๏ธ Cleaned deleted files from ${updatedCount} PR(s)`);
|
|
203
|
-
}
|
|
204
|
-
return updatedCount;
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Remove files from PR file lists that are no longer in the current diff.
|
|
208
|
-
* Used after rebase when the full diff against main may differ from what
|
|
209
|
-
* was previously recorded in PR file lists.
|
|
210
|
-
* Returns the number of PRs updated.
|
|
211
|
-
*/
|
|
212
|
-
export async function removeStaleFilesFromPRs(changedFiles, pullRequests, updater = updatePullRequest, verbose) {
|
|
213
|
-
const currentPaths = new Set(changedFiles.map((f) => f.path));
|
|
214
|
-
let updatedCount = 0;
|
|
215
|
-
for (const pr of pullRequests) {
|
|
216
|
-
if (!pr.files || pr.files.length === 0) {
|
|
217
|
-
continue;
|
|
218
|
-
}
|
|
219
|
-
const filtered = pr.files.filter((f) => currentPaths.has(f.path));
|
|
220
|
-
if (filtered.length === pr.files.length) {
|
|
221
|
-
continue;
|
|
222
|
-
}
|
|
223
|
-
const removed = pr.files.length - filtered.length;
|
|
224
|
-
try {
|
|
225
|
-
await updater(pr.id, { files: filtered }, verbose);
|
|
226
|
-
updatedCount++;
|
|
227
|
-
if (verbose) {
|
|
228
|
-
logInfo(` Cleaned PR "${pr.name}": removed ${removed} stale file(s)`);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
logError(`Failed to clean PR ${pr.id}: ${error instanceof Error ? error.message : String(error)}`);
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
if (verbose && updatedCount > 0) {
|
|
236
|
-
logInfo(`๐งน Removed stale files from ${updatedCount} PR(s)`);
|
|
237
|
-
}
|
|
238
|
-
return updatedCount;
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Detect unassigned files and use LLM to assign them to existing PRs.
|
|
242
|
-
* Returns the number of files assigned, or 0 if none needed assignment.
|
|
243
|
-
*/
|
|
244
|
-
export async function assignNewFilesToPRs(changedFiles, pullRequests, verbose) {
|
|
245
|
-
const unassigned = findUnassignedFiles(changedFiles, pullRequests);
|
|
246
|
-
if (unassigned.length === 0) {
|
|
247
|
-
if (verbose) {
|
|
248
|
-
logInfo('All changed files are already assigned to PRs.');
|
|
249
|
-
}
|
|
250
|
-
return 0;
|
|
251
|
-
}
|
|
252
|
-
if (verbose) {
|
|
253
|
-
logInfo(`\n๐ ${unassigned.length} changed file(s) not assigned to any PR:`);
|
|
254
|
-
for (const f of unassigned) {
|
|
255
|
-
logInfo(` - ${f.path} (${f.change_type})`);
|
|
256
|
-
}
|
|
257
|
-
logInfo('๐ค Asking LLM to assign them...');
|
|
258
|
-
}
|
|
259
|
-
const prompt = buildAssignmentPrompt(unassigned, pullRequests);
|
|
260
|
-
const result = await callLLMForAssignment(prompt, verbose);
|
|
261
|
-
if (!result) {
|
|
262
|
-
logError('LLM file assignment failed. Proceeding with existing file lists.');
|
|
263
|
-
return 0;
|
|
264
|
-
}
|
|
265
|
-
// Validate: every unassigned file should appear in assignments
|
|
266
|
-
const assignedFiles = new Set(result.assignments.map((a) => a.file));
|
|
267
|
-
const missing = unassigned.filter((f) => !assignedFiles.has(f.path));
|
|
268
|
-
if (missing.length > 0 && verbose) {
|
|
269
|
-
logInfo(`โ ๏ธ LLM did not assign ${missing.length} file(s): ${missing.map((f) => f.path).join(', ')}`);
|
|
270
|
-
}
|
|
271
|
-
// Validate: all pr_ids reference existing PRs
|
|
272
|
-
const validPRIds = new Set(pullRequests.map((pr) => pr.id));
|
|
273
|
-
const validAssignments = result.assignments.filter((a) => {
|
|
274
|
-
if (!validPRIds.has(a.pr_id)) {
|
|
275
|
-
if (verbose) {
|
|
276
|
-
logError(`Assignment for ${a.file} references unknown PR: ${a.pr_id}`);
|
|
277
|
-
}
|
|
278
|
-
return false;
|
|
279
|
-
}
|
|
280
|
-
return true;
|
|
281
|
-
});
|
|
282
|
-
const updatedCount = await applyAssignments(validAssignments, unassigned, pullRequests, updatePullRequest, verbose);
|
|
283
|
-
if (verbose) {
|
|
284
|
-
logInfo(`โ
Assigned ${validAssignments.length} file(s) to ${updatedCount} PR(s)`);
|
|
285
|
-
}
|
|
286
|
-
return validAssignments.length;
|
|
287
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
2
|
-
export interface PRExecutionOptions {
|
|
3
|
-
issueId: string;
|
|
4
|
-
verbose?: boolean;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* PR Execution Phase: Create git branches, push code, and generate compare URLs
|
|
8
|
-
*
|
|
9
|
-
* Prerequisites: pr-splitting phase must have been run and human-approved.
|
|
10
|
-
* PR plan records must exist in the database.
|
|
11
|
-
*
|
|
12
|
-
* Supports incremental re-sync: if PR branches already exist and dev branch
|
|
13
|
-
* has new changes, only the new changes are synced to existing branches.
|
|
14
|
-
*
|
|
15
|
-
* GitHub PRs are created manually by the user via compare URLs in the UI.
|
|
16
|
-
*/
|
|
17
|
-
export declare const executeIssuePRs: (options: PRExecutionOptions, config: EdsgerConfig) => Promise<{
|
|
18
|
-
status: "success" | "error";
|
|
19
|
-
message?: string;
|
|
20
|
-
summary?: string;
|
|
21
|
-
[key: string]: any;
|
|
22
|
-
}>;
|