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,182 +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 { getProduct } from '../../api/products.js';
|
|
5
|
-
import { getBranches } from '../../services/branches.js';
|
|
6
|
-
import { getPullRequests, } from '../../services/pull-requests.js';
|
|
7
|
-
import { branchExists, remoteBranchExists, } from '../../utils/git-branch-manager.js';
|
|
8
|
-
import { buildCredentialArgs } from '../../utils/git-push.js';
|
|
9
|
-
import { getRepoForkInfo, resolveDefaultBranch, } from '../../utils/github-repo-info.js';
|
|
10
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
11
|
-
/**
|
|
12
|
-
* Get the dev branch name for an issue
|
|
13
|
-
*/
|
|
14
|
-
function getDevBranchName(issueId) {
|
|
15
|
-
return `dev/${issueId}`;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Get the HEAD SHA of a branch
|
|
19
|
-
*/
|
|
20
|
-
function getBranchHeadSha(branchName) {
|
|
21
|
-
return execFileSync('git', ['rev-parse', branchName], {
|
|
22
|
-
encoding: 'utf-8',
|
|
23
|
-
}).trim();
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Get diff stat between two refs
|
|
27
|
-
*/
|
|
28
|
-
function getDiffStat(baseRef, headRef) {
|
|
29
|
-
try {
|
|
30
|
-
return execFileSync('git', ['diff', '--stat', `${baseRef}...${headRef}`], {
|
|
31
|
-
encoding: 'utf-8',
|
|
32
|
-
}).trim();
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
return '';
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Get list of changed files between two refs
|
|
40
|
-
*/
|
|
41
|
-
function getChangedFiles(baseRef, headRef) {
|
|
42
|
-
try {
|
|
43
|
-
const output = execFileSync('git', ['diff', '--name-only', `${baseRef}...${headRef}`], { encoding: 'utf-8' }).trim();
|
|
44
|
-
if (!output) {
|
|
45
|
-
return [];
|
|
46
|
-
}
|
|
47
|
-
return output.split('\n').filter((f) => f.length > 0);
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return [];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Determine the diff base ref for incremental re-runs
|
|
55
|
-
* If existing PRs have last_synced_commit, use the earliest one
|
|
56
|
-
* Otherwise use origin/<defaultBranch> (remote-tracking ref, always up-to-date after fetch)
|
|
57
|
-
*/
|
|
58
|
-
function determineDiffBaseRef(existingPRs, defaultBranchRef, replaceExisting) {
|
|
59
|
-
if (replaceExisting || existingPRs.length === 0) {
|
|
60
|
-
return defaultBranchRef;
|
|
61
|
-
}
|
|
62
|
-
// Find the minimum last_synced_commit (earliest sync point)
|
|
63
|
-
const syncedCommits = existingPRs
|
|
64
|
-
.map((pr) => pr.last_synced_commit)
|
|
65
|
-
.filter((c) => c !== null);
|
|
66
|
-
if (syncedCommits.length === 0) {
|
|
67
|
-
return defaultBranchRef;
|
|
68
|
-
}
|
|
69
|
-
// All PRs should have been synced to the same commit
|
|
70
|
-
// Use the first one (they should all be equal after a successful sync)
|
|
71
|
-
return syncedCommits[0];
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Fetch all context information needed for PR splitting
|
|
75
|
-
*/
|
|
76
|
-
// eslint-disable-next-line complexity -- assembles context from many data sources with fallback handling
|
|
77
|
-
export async function fetchPRSplittingContext(issueId, verbose, replaceExisting) {
|
|
78
|
-
try {
|
|
79
|
-
if (verbose) {
|
|
80
|
-
logInfo(`Fetching PR splitting context for issue: ${issueId}`);
|
|
81
|
-
}
|
|
82
|
-
const devBranchName = getDevBranchName(issueId);
|
|
83
|
-
// Fetch database data and GitHub config in parallel (need token before remote branch check)
|
|
84
|
-
const [issue, existingBranches, existingPullRequests, githubConfig] = await Promise.all([
|
|
85
|
-
getIssue(issueId, verbose),
|
|
86
|
-
getBranches({ issueId, verbose }).catch(() => []),
|
|
87
|
-
getPullRequests({ issueId, verbose }).catch(() => []),
|
|
88
|
-
getGitHubConfig(issueId, verbose),
|
|
89
|
-
]);
|
|
90
|
-
// Fetch latest remote refs (updates origin/main and all remote-tracking branches)
|
|
91
|
-
try {
|
|
92
|
-
const credArgs = buildCredentialArgs(githubConfig.token);
|
|
93
|
-
execFileSync('git', [...credArgs, 'fetch', 'origin'], {
|
|
94
|
-
encoding: 'utf-8',
|
|
95
|
-
stdio: 'pipe',
|
|
96
|
-
});
|
|
97
|
-
if (verbose) {
|
|
98
|
-
logInfo('✅ Fetched latest remote refs');
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
if (verbose) {
|
|
103
|
-
logInfo(`⚠️ Could not fetch from origin: ${error instanceof Error ? error.message : String(error)}`);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// Verify dev branch exists
|
|
107
|
-
const localExists = branchExists(devBranchName);
|
|
108
|
-
const remoteExists = !localExists && remoteBranchExists(devBranchName, githubConfig.token);
|
|
109
|
-
if (!localExists && !remoteExists) {
|
|
110
|
-
throw new Error(`Development branch '${devBranchName}' does not exist. ` +
|
|
111
|
-
`The issue must have code on the dev branch before PR splitting.`);
|
|
112
|
-
}
|
|
113
|
-
const product = await getProduct(issue.product_id, verbose);
|
|
114
|
-
// Detect fork status
|
|
115
|
-
let forkInfo = { isFork: false };
|
|
116
|
-
if (githubConfig.configured &&
|
|
117
|
-
githubConfig.token &&
|
|
118
|
-
githubConfig.owner &&
|
|
119
|
-
githubConfig.repo) {
|
|
120
|
-
try {
|
|
121
|
-
forkInfo = await getRepoForkInfo(githubConfig.token, githubConfig.owner, githubConfig.repo);
|
|
122
|
-
if (verbose) {
|
|
123
|
-
logInfo(forkInfo.isFork
|
|
124
|
-
? `📌 Repository is a fork of ${forkInfo.upstream?.owner}/${forkInfo.upstream?.repo}`
|
|
125
|
-
: `📌 Repository is not a fork`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
if (verbose) {
|
|
130
|
-
logError(`Failed to detect fork status: ${error instanceof Error ? error.message : String(error)}`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// Resolve the repo's default branch (handles non-main defaults and forks).
|
|
135
|
-
// Prefer the GitHub API value (already fetched in forkInfo above); fall back
|
|
136
|
-
// to the local symbolic-ref, then to literal 'main'.
|
|
137
|
-
const defaultBranch = resolveDefaultBranch(forkInfo.defaultBranch);
|
|
138
|
-
const defaultBranchRef = `origin/${defaultBranch}`;
|
|
139
|
-
// Determine diff range
|
|
140
|
-
const devRef = localExists ? devBranchName : `origin/${devBranchName}`;
|
|
141
|
-
const baseRef = determineDiffBaseRef(existingPullRequests, defaultBranchRef, replaceExisting);
|
|
142
|
-
const devBranchHeadSha = getBranchHeadSha(devRef);
|
|
143
|
-
// Check if there are new changes since last sync
|
|
144
|
-
if (baseRef !== defaultBranchRef && baseRef === devBranchHeadSha) {
|
|
145
|
-
if (verbose) {
|
|
146
|
-
logInfo(`No new changes since last sync (HEAD: ${devBranchHeadSha})`);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
// Get diff information
|
|
150
|
-
const diffStat = getDiffStat(baseRef, devRef);
|
|
151
|
-
const changedFiles = getChangedFiles(baseRef, devRef);
|
|
152
|
-
if (verbose) {
|
|
153
|
-
logInfo(`✅ PR splitting context fetched successfully:`);
|
|
154
|
-
logInfo(` Issue: ${issue.name}`);
|
|
155
|
-
logInfo(` Product: ${product.name}`);
|
|
156
|
-
logInfo(` Dev Branch: ${devBranchName}`);
|
|
157
|
-
logInfo(` Dev Branch HEAD: ${devBranchHeadSha}`);
|
|
158
|
-
logInfo(` Diff Base: ${baseRef}`);
|
|
159
|
-
logInfo(` Changed Files: ${changedFiles.length}`);
|
|
160
|
-
logInfo(` Existing Branches: ${existingBranches.length}`);
|
|
161
|
-
logInfo(` Existing Pull Requests: ${existingPullRequests.length}`);
|
|
162
|
-
logInfo(` GitHub: ${githubConfig.configured ? 'Configured' : 'Not configured'}`);
|
|
163
|
-
}
|
|
164
|
-
return {
|
|
165
|
-
issue,
|
|
166
|
-
product,
|
|
167
|
-
existing_branches: existingBranches,
|
|
168
|
-
existing_pull_requests: existingPullRequests,
|
|
169
|
-
diffStat,
|
|
170
|
-
changedFiles,
|
|
171
|
-
devBranchName,
|
|
172
|
-
devBranchHeadSha,
|
|
173
|
-
githubConfig,
|
|
174
|
-
forkInfo,
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
catch (error) {
|
|
178
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
179
|
-
logError(`Failed to fetch PR splitting context: ${errorMessage}`);
|
|
180
|
-
throw new Error(`Context fetch failed: ${errorMessage}`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Import dependency validator for PR splitting
|
|
3
|
-
*
|
|
4
|
-
* After the AI produces a PR split plan, this module analyzes import
|
|
5
|
-
* dependencies between changed files and auto-fixes ordering violations
|
|
6
|
-
* by moving dependency files to earlier PRs in the stack.
|
|
7
|
-
*/
|
|
8
|
-
import { type PlannedPullRequest } from './index.js';
|
|
9
|
-
/** A record of a file moved between PRs during auto-fix */
|
|
10
|
-
export interface MovedFile {
|
|
11
|
-
file: string;
|
|
12
|
-
fromPR: string;
|
|
13
|
-
toPR: string;
|
|
14
|
-
reason: string;
|
|
15
|
-
}
|
|
16
|
-
/** Result of the validation + auto-fix pass */
|
|
17
|
-
export interface ImportValidationResult {
|
|
18
|
-
/** Whether any files were moved between PRs */
|
|
19
|
-
modified: boolean;
|
|
20
|
-
/** The (potentially reordered) PR list */
|
|
21
|
-
pullRequests: PlannedPullRequest[];
|
|
22
|
-
/** Human-readable log of what was moved */
|
|
23
|
-
movedFiles: MovedFile[];
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Main entry point: validate and auto-fix import dependency ordering
|
|
27
|
-
* across a planned PR stack.
|
|
28
|
-
*/
|
|
29
|
-
export declare function validateAndFixImportDependencies(pullRequests: PlannedPullRequest[], changedFiles: string[], devBranchRef: string, verbose?: boolean): ImportValidationResult;
|
|
30
|
-
/**
|
|
31
|
-
* Read a file's contents from a git ref without checkout.
|
|
32
|
-
* Returns empty string if file doesn't exist at that ref.
|
|
33
|
-
*/
|
|
34
|
-
export declare function readFileAtRef(ref: string, filePath: string): string;
|
|
35
|
-
/**
|
|
36
|
-
* Parse all relative import/export specifiers from TypeScript/JavaScript source.
|
|
37
|
-
* Returns deduplicated relative specifier strings (e.g., './utils', '../types').
|
|
38
|
-
*/
|
|
39
|
-
export declare function parseImportSpecifiers(sourceCode: string): string[];
|
|
40
|
-
/**
|
|
41
|
-
* Resolve a relative import specifier to one of the changed files.
|
|
42
|
-
* Handles extension resolution (.ts, .tsx, .js, .jsx) and /index variants.
|
|
43
|
-
* Also handles .js→.ts mapping (ESM convention where imports use .js extension
|
|
44
|
-
* but actual source files are .ts).
|
|
45
|
-
* Returns the matched changed-file path or null.
|
|
46
|
-
*/
|
|
47
|
-
export declare function resolveImportToChangedFile(specifier: string, importingFilePath: string, changedFilesSet: Set<string>): string | null;
|
|
48
|
-
/**
|
|
49
|
-
* Build a dependency graph: for each changed file, which other changed files it imports.
|
|
50
|
-
*/
|
|
51
|
-
export declare function buildDependencyGraph(changedFiles: string[], devBranchRef: string): Map<string, Set<string>>;
|
|
52
|
-
/**
|
|
53
|
-
* Compute transitive closure: given a file, return all files it transitively depends on.
|
|
54
|
-
* Handles cycles without infinite loops.
|
|
55
|
-
*/
|
|
56
|
-
export declare function getTransitiveDependencies(file: string, graph: Map<string, Set<string>>): Set<string>;
|
|
57
|
-
/**
|
|
58
|
-
* Given PRs sorted by sequence and a dependency graph, detect violations
|
|
59
|
-
* and auto-fix by moving files to earlier PRs.
|
|
60
|
-
*
|
|
61
|
-
* A violation occurs when file A (in PR N) imports from file B (in PR M, M > N).
|
|
62
|
-
* Fix: move B to PR N so it's available when PR N's branch is created.
|
|
63
|
-
*/
|
|
64
|
-
export declare function autoFixPROrdering(pullRequests: PlannedPullRequest[], dependencyGraph: Map<string, Set<string>>): {
|
|
65
|
-
pullRequests: PlannedPullRequest[];
|
|
66
|
-
movedFiles: MovedFile[];
|
|
67
|
-
};
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Import dependency validator for PR splitting
|
|
3
|
-
*
|
|
4
|
-
* After the AI produces a PR split plan, this module analyzes import
|
|
5
|
-
* dependencies between changed files and auto-fixes ordering violations
|
|
6
|
-
* by moving dependency files to earlier PRs in the stack.
|
|
7
|
-
*/
|
|
8
|
-
import { execFileSync } from 'child_process';
|
|
9
|
-
import { dirname, join, normalize } from 'path';
|
|
10
|
-
import { logInfo, logWarning } from '../../utils/logger.js';
|
|
11
|
-
/**
|
|
12
|
-
* Main entry point: validate and auto-fix import dependency ordering
|
|
13
|
-
* across a planned PR stack.
|
|
14
|
-
*/
|
|
15
|
-
export function validateAndFixImportDependencies(pullRequests, changedFiles, devBranchRef, verbose) {
|
|
16
|
-
const graph = buildDependencyGraph(changedFiles, devBranchRef);
|
|
17
|
-
const { pullRequests: fixed, movedFiles } = autoFixPROrdering(pullRequests, graph);
|
|
18
|
-
if (verbose && movedFiles.length > 0) {
|
|
19
|
-
logInfo(`\n🔧 Import dependency auto-fix: moved ${movedFiles.length} file(s)`);
|
|
20
|
-
for (const move of movedFiles) {
|
|
21
|
-
logInfo(` ${move.file}: "${move.fromPR}" → "${move.toPR}"`);
|
|
22
|
-
logInfo(` Reason: ${move.reason}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return {
|
|
26
|
-
modified: movedFiles.length > 0,
|
|
27
|
-
pullRequests: fixed,
|
|
28
|
-
movedFiles,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Read a file's contents from a git ref without checkout.
|
|
33
|
-
* Returns empty string if file doesn't exist at that ref.
|
|
34
|
-
*/
|
|
35
|
-
export function readFileAtRef(ref, filePath) {
|
|
36
|
-
try {
|
|
37
|
-
return execFileSync('git', ['show', `${ref}:${filePath}`], {
|
|
38
|
-
encoding: 'utf-8',
|
|
39
|
-
stdio: ['pipe', 'pipe', 'pipe'],
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
catch {
|
|
43
|
-
return '';
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
const PARSABLE_EXTENSIONS = /\.(ts|tsx|js|jsx|mts|mjs|cts|cjs)$/;
|
|
47
|
-
/**
|
|
48
|
-
* Parse all relative import/export specifiers from TypeScript/JavaScript source.
|
|
49
|
-
* Returns deduplicated relative specifier strings (e.g., './utils', '../types').
|
|
50
|
-
*/
|
|
51
|
-
export function parseImportSpecifiers(sourceCode) {
|
|
52
|
-
const specifiers = [];
|
|
53
|
-
// 1. Static imports/exports with `from` clause:
|
|
54
|
-
// import { X } from './path'
|
|
55
|
-
// import X from './path'
|
|
56
|
-
// import * as X from './path'
|
|
57
|
-
// import type { X } from './path'
|
|
58
|
-
// export { X } from './path'
|
|
59
|
-
// export * from './path'
|
|
60
|
-
const fromPattern = /(?:import|export)\s[\s\S]*?\bfrom\s*['"]([^'"]+)['"]/g;
|
|
61
|
-
let match;
|
|
62
|
-
while ((match = fromPattern.exec(sourceCode)) !== null) {
|
|
63
|
-
specifiers.push(match[1]);
|
|
64
|
-
}
|
|
65
|
-
// 2. Side-effect imports: import './polyfill'
|
|
66
|
-
// Must use line-start anchor to avoid matching "import X from '...'"
|
|
67
|
-
const sideEffectPattern = /^\s*import\s+['"]([^'"]+)['"]/gm;
|
|
68
|
-
while ((match = sideEffectPattern.exec(sourceCode)) !== null) {
|
|
69
|
-
specifiers.push(match[1]);
|
|
70
|
-
}
|
|
71
|
-
// 3. Dynamic imports: import('./path')
|
|
72
|
-
const dynamicPattern = /\bimport\(\s*['"]([^'"]+)['"]\s*\)/g;
|
|
73
|
-
while ((match = dynamicPattern.exec(sourceCode)) !== null) {
|
|
74
|
-
specifiers.push(match[1]);
|
|
75
|
-
}
|
|
76
|
-
// Deduplicate and filter to relative imports only
|
|
77
|
-
return [...new Set(specifiers)].filter((s) => s.startsWith('./') || s.startsWith('../'));
|
|
78
|
-
}
|
|
79
|
-
/** Extensions to try when resolving imports (order matters) */
|
|
80
|
-
const EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx'];
|
|
81
|
-
const INDEX_SUFFIXES = EXTENSIONS.map((ext) => `/index${ext}`);
|
|
82
|
-
/**
|
|
83
|
-
* Resolve a relative import specifier to one of the changed files.
|
|
84
|
-
* Handles extension resolution (.ts, .tsx, .js, .jsx) and /index variants.
|
|
85
|
-
* Also handles .js→.ts mapping (ESM convention where imports use .js extension
|
|
86
|
-
* but actual source files are .ts).
|
|
87
|
-
* Returns the matched changed-file path or null.
|
|
88
|
-
*/
|
|
89
|
-
export function resolveImportToChangedFile(specifier, importingFilePath, changedFilesSet) {
|
|
90
|
-
const importingDir = dirname(importingFilePath);
|
|
91
|
-
const resolved = normalize(join(importingDir, specifier));
|
|
92
|
-
// 1. Exact match (specifier already has extension)
|
|
93
|
-
if (changedFilesSet.has(resolved)) {
|
|
94
|
-
return resolved;
|
|
95
|
-
}
|
|
96
|
-
// 2. Try appending extensions: ./utils → ./utils.ts, ./utils.tsx, etc.
|
|
97
|
-
for (const ext of EXTENSIONS) {
|
|
98
|
-
const candidate = resolved + ext;
|
|
99
|
-
if (changedFilesSet.has(candidate)) {
|
|
100
|
-
return candidate;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
// 3. Try as directory with index file: ./types → ./types/index.ts, etc.
|
|
104
|
-
for (const suffix of INDEX_SUFFIXES) {
|
|
105
|
-
const candidate = resolved + suffix;
|
|
106
|
-
if (changedFilesSet.has(candidate)) {
|
|
107
|
-
return candidate;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
// 4. Handle .js/.jsx extension in specifier (ESM convention:
|
|
111
|
-
// `import from './utils.js'` actually resolves to utils.ts at compile time)
|
|
112
|
-
if (/\.jsx?$/.test(resolved)) {
|
|
113
|
-
const withoutExt = resolved.replace(/\.jsx?$/, '');
|
|
114
|
-
for (const ext of EXTENSIONS) {
|
|
115
|
-
const candidate = withoutExt + ext;
|
|
116
|
-
if (changedFilesSet.has(candidate)) {
|
|
117
|
-
return candidate;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Build a dependency graph: for each changed file, which other changed files it imports.
|
|
125
|
-
*/
|
|
126
|
-
export function buildDependencyGraph(changedFiles, devBranchRef) {
|
|
127
|
-
const changedFilesSet = new Set(changedFiles);
|
|
128
|
-
const graph = new Map();
|
|
129
|
-
for (const filePath of changedFiles) {
|
|
130
|
-
const deps = new Set();
|
|
131
|
-
graph.set(filePath, deps);
|
|
132
|
-
if (!PARSABLE_EXTENSIONS.test(filePath)) {
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
const content = readFileAtRef(devBranchRef, filePath);
|
|
136
|
-
if (!content) {
|
|
137
|
-
continue;
|
|
138
|
-
}
|
|
139
|
-
const specifiers = parseImportSpecifiers(content);
|
|
140
|
-
for (const specifier of specifiers) {
|
|
141
|
-
const resolved = resolveImportToChangedFile(specifier, filePath, changedFilesSet);
|
|
142
|
-
if (resolved && resolved !== filePath) {
|
|
143
|
-
deps.add(resolved);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return graph;
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Compute transitive closure: given a file, return all files it transitively depends on.
|
|
151
|
-
* Handles cycles without infinite loops.
|
|
152
|
-
*/
|
|
153
|
-
export function getTransitiveDependencies(file, graph) {
|
|
154
|
-
const result = new Set();
|
|
155
|
-
const stack = [file];
|
|
156
|
-
while (stack.length > 0) {
|
|
157
|
-
const current = stack.pop();
|
|
158
|
-
if (current === undefined) {
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
const deps = graph.get(current);
|
|
162
|
-
if (!deps) {
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
for (const dep of deps) {
|
|
166
|
-
if (!result.has(dep)) {
|
|
167
|
-
result.add(dep);
|
|
168
|
-
stack.push(dep);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
return result;
|
|
173
|
-
}
|
|
174
|
-
const MAX_FIX_ITERATIONS = 100;
|
|
175
|
-
function moveDepToEarlierPR(options) {
|
|
176
|
-
const { dep, prIdx, sorted, fileToPRIndex, movedFiles, reason } = options;
|
|
177
|
-
const depPRIdx = fileToPRIndex.get(dep);
|
|
178
|
-
if (depPRIdx === undefined || depPRIdx <= prIdx) {
|
|
179
|
-
return false;
|
|
180
|
-
}
|
|
181
|
-
const sourcePR = sorted[depPRIdx];
|
|
182
|
-
const targetPR = sorted[prIdx];
|
|
183
|
-
const depFileEntry = sourcePR.files?.find((f) => f.path === dep);
|
|
184
|
-
if (!depFileEntry) {
|
|
185
|
-
return false;
|
|
186
|
-
}
|
|
187
|
-
sourcePR.files = sourcePR.files?.filter((f) => f.path !== dep) ?? [];
|
|
188
|
-
if (!targetPR.files) {
|
|
189
|
-
targetPR.files = [];
|
|
190
|
-
}
|
|
191
|
-
targetPR.files.push(depFileEntry);
|
|
192
|
-
fileToPRIndex.set(dep, prIdx);
|
|
193
|
-
movedFiles.push({
|
|
194
|
-
file: dep,
|
|
195
|
-
fromPR: `PR #${sourcePR.sequence} (${sourcePR.name})`,
|
|
196
|
-
toPR: `PR #${targetPR.sequence} (${targetPR.name})`,
|
|
197
|
-
reason,
|
|
198
|
-
});
|
|
199
|
-
return true;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Given PRs sorted by sequence and a dependency graph, detect violations
|
|
203
|
-
* and auto-fix by moving files to earlier PRs.
|
|
204
|
-
*
|
|
205
|
-
* A violation occurs when file A (in PR N) imports from file B (in PR M, M > N).
|
|
206
|
-
* Fix: move B to PR N so it's available when PR N's branch is created.
|
|
207
|
-
*/
|
|
208
|
-
export function autoFixPROrdering(pullRequests, dependencyGraph) {
|
|
209
|
-
const sorted = [...pullRequests].sort((a, b) => a.sequence - b.sequence);
|
|
210
|
-
const movedFiles = [];
|
|
211
|
-
// Deep-clone files arrays so we don't mutate the original
|
|
212
|
-
for (const pr of sorted) {
|
|
213
|
-
pr.files = pr.files ? [...pr.files] : [];
|
|
214
|
-
}
|
|
215
|
-
// Build mutable file → PR index mapping (0-based, lower = earlier)
|
|
216
|
-
const fileToPRIndex = new Map();
|
|
217
|
-
for (let i = 0; i < sorted.length; i++) {
|
|
218
|
-
for (const file of sorted[i].files ?? []) {
|
|
219
|
-
fileToPRIndex.set(file.path, i);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
// Fixed-point loop: keep moving files until no more violations
|
|
223
|
-
let changed = true;
|
|
224
|
-
let iterations = 0;
|
|
225
|
-
while (changed && iterations < MAX_FIX_ITERATIONS) {
|
|
226
|
-
changed = false;
|
|
227
|
-
iterations++;
|
|
228
|
-
for (let prIdx = 0; prIdx < sorted.length; prIdx++) {
|
|
229
|
-
for (const file of sorted[prIdx].files ?? []) {
|
|
230
|
-
const transitiveDeps = getTransitiveDependencies(file.path, dependencyGraph);
|
|
231
|
-
for (const dep of transitiveDeps) {
|
|
232
|
-
const moved = moveDepToEarlierPR({
|
|
233
|
-
dep,
|
|
234
|
-
prIdx,
|
|
235
|
-
sorted,
|
|
236
|
-
fileToPRIndex,
|
|
237
|
-
movedFiles,
|
|
238
|
-
reason: `imported by ${file.path}`,
|
|
239
|
-
});
|
|
240
|
-
// eslint-disable-next-line max-depth
|
|
241
|
-
if (moved) {
|
|
242
|
-
changed = true;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
// Warn about empty PRs
|
|
249
|
-
for (const pr of sorted) {
|
|
250
|
-
if (!pr.files || pr.files.length === 0) {
|
|
251
|
-
logWarning(`PR "${pr.name}" (seq ${pr.sequence}) has no files after import dependency auto-fix`);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
return { pullRequests: sorted, movedFiles };
|
|
255
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
2
|
-
export interface PRSplittingOptions {
|
|
3
|
-
issueId: string;
|
|
4
|
-
verbose?: boolean;
|
|
5
|
-
replaceExisting?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface PlannedPullRequest {
|
|
8
|
-
sequence: number;
|
|
9
|
-
name: string;
|
|
10
|
-
description: string;
|
|
11
|
-
branch_name?: string;
|
|
12
|
-
depends_on_branch_name?: string | null;
|
|
13
|
-
files?: {
|
|
14
|
-
path: string;
|
|
15
|
-
change_type: string;
|
|
16
|
-
}[];
|
|
17
|
-
scope?: string[];
|
|
18
|
-
acceptance_criteria?: string[];
|
|
19
|
-
}
|
|
20
|
-
export interface PRSplittingResult {
|
|
21
|
-
issueId: string;
|
|
22
|
-
pullRequests: PlannedPullRequest[];
|
|
23
|
-
status: 'success' | 'error';
|
|
24
|
-
summary: string;
|
|
25
|
-
rationale?: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* PR Splitting Phase: Analyze diff and create PR split plan
|
|
29
|
-
*
|
|
30
|
-
* This phase analyzes the actual code diff between dev/{issueId} and main,
|
|
31
|
-
* then uses AI to produce a PR split plan saved to the database.
|
|
32
|
-
* Human review is expected before running the pr-execution phase.
|
|
33
|
-
*/
|
|
34
|
-
export declare const splitIssueIntoPRs: (options: PRSplittingOptions, config: EdsgerConfig) => Promise<PRSplittingResult>;
|
|
35
|
-
export type { PRSplittingContext } from './context.js';
|
|
36
|
-
export { fetchPRSplittingContext } from './context.js';
|