edsger 0.77.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +95 -210
- package/assets/LICENSE +21 -0
- package/assets/README.md +104 -0
- package/assets/benchmark/base.yaml +286 -0
- package/assets/benchmark/csharp.yaml +68 -0
- package/assets/benchmark/dart.yaml +70 -0
- package/assets/benchmark/go.yaml +71 -0
- package/assets/benchmark/java.yaml +68 -0
- package/assets/benchmark/python.yaml +72 -0
- package/assets/benchmark/typescript.yaml +71 -0
- package/assets/languages.yaml +35 -0
- package/assets/manifest.yaml +39 -0
- package/assets/review/base.yaml +111 -0
- package/assets/review/csharp.yaml +38 -0
- package/assets/review/dart.yaml +40 -0
- package/assets/review/go.yaml +40 -0
- package/assets/review/java.yaml +40 -0
- package/assets/review/python.yaml +41 -0
- package/assets/review/typescript.yaml +40 -0
- package/assets/schema/benchmark.schema.json +87 -0
- package/assets/schema/review.schema.json +73 -0
- package/assets/skills/benchmark/SKILL.md +66 -0
- package/assets/skills/pr-resolve/SKILL.md +58 -0
- package/assets/skills/pr-review/SKILL.md +66 -0
- package/dist/index.js +1339 -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,613 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Git Branch Manager
|
|
3
|
-
* Shared utilities for consistent git branch management across all phases
|
|
4
|
-
*/
|
|
5
|
-
import { execFileSync, execSync } from 'child_process';
|
|
6
|
-
import * as fs from 'fs';
|
|
7
|
-
import * as path from 'path';
|
|
8
|
-
import { buildCredentialArgs } from './git-push.js';
|
|
9
|
-
import { resolveDefaultBranch } from './github-repo-info.js';
|
|
10
|
-
import { logError, logInfo } from './logger.js';
|
|
11
|
-
/**
|
|
12
|
-
* Get current Git branch name
|
|
13
|
-
*/
|
|
14
|
-
export function getCurrentBranch() {
|
|
15
|
-
try {
|
|
16
|
-
return execSync('git branch --show-current', { encoding: 'utf-8' }).trim();
|
|
17
|
-
}
|
|
18
|
-
catch (error) {
|
|
19
|
-
throw new Error(`Failed to get current branch: ${error instanceof Error ? error.message : String(error)}`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Check if there are uncommitted changes in the working directory
|
|
24
|
-
*/
|
|
25
|
-
export function hasUncommittedChanges() {
|
|
26
|
-
try {
|
|
27
|
-
const status = execSync('git status --porcelain', { encoding: 'utf-8' });
|
|
28
|
-
return status.trim().length > 0;
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
throw new Error(`Failed to check git status: ${error instanceof Error ? error.message : String(error)}`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Get list of uncommitted files
|
|
36
|
-
*/
|
|
37
|
-
export function getUncommittedFiles() {
|
|
38
|
-
try {
|
|
39
|
-
const status = execSync('git status --porcelain', { encoding: 'utf-8' });
|
|
40
|
-
return status
|
|
41
|
-
.trim()
|
|
42
|
-
.split('\n')
|
|
43
|
-
.filter((line) => line.length > 0)
|
|
44
|
-
.map((line) => line.trim());
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
throw new Error(`Failed to get uncommitted files: ${error instanceof Error ? error.message : String(error)}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Reset uncommitted changes in the working directory
|
|
52
|
-
*/
|
|
53
|
-
export function resetUncommittedChanges(verbose) {
|
|
54
|
-
try {
|
|
55
|
-
if (verbose) {
|
|
56
|
-
logInfo(`🔄 Resetting uncommitted changes...`);
|
|
57
|
-
}
|
|
58
|
-
execSync('git reset --hard HEAD', { encoding: 'utf-8' });
|
|
59
|
-
execSync('git clean -fd', { encoding: 'utf-8' });
|
|
60
|
-
if (verbose) {
|
|
61
|
-
logInfo(`✅ Reset working directory to clean state`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
throw new Error(`Failed to reset uncommitted changes: ${error instanceof Error ? error.message : String(error)}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Check if rebase is in progress with conflicts
|
|
70
|
-
*/
|
|
71
|
-
export function isRebaseInProgress() {
|
|
72
|
-
try {
|
|
73
|
-
// Check for .git/rebase-merge or .git/rebase-apply directory
|
|
74
|
-
const gitDir = execSync('git rev-parse --git-dir', {
|
|
75
|
-
encoding: 'utf-8',
|
|
76
|
-
}).trim();
|
|
77
|
-
const rebaseMerge = path.join(gitDir, 'rebase-merge');
|
|
78
|
-
const rebaseApply = path.join(gitDir, 'rebase-apply');
|
|
79
|
-
return fs.existsSync(rebaseMerge) || fs.existsSync(rebaseApply);
|
|
80
|
-
}
|
|
81
|
-
catch (_error) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Get list of files with merge conflicts
|
|
87
|
-
*/
|
|
88
|
-
export function getConflictFiles() {
|
|
89
|
-
try {
|
|
90
|
-
const status = execSync('git diff --name-only --diff-filter=U', {
|
|
91
|
-
encoding: 'utf-8',
|
|
92
|
-
});
|
|
93
|
-
return status
|
|
94
|
-
.trim()
|
|
95
|
-
.split('\n')
|
|
96
|
-
.filter((line) => line.length > 0);
|
|
97
|
-
}
|
|
98
|
-
catch (_error) {
|
|
99
|
-
return [];
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Check if there are any merge conflicts
|
|
104
|
-
*/
|
|
105
|
-
export function hasConflicts() {
|
|
106
|
-
return getConflictFiles().length > 0;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Get detailed information about conflict files including their content
|
|
110
|
-
*/
|
|
111
|
-
export function getConflictFileInfos() {
|
|
112
|
-
const conflictFiles = getConflictFiles();
|
|
113
|
-
const infos = [];
|
|
114
|
-
for (const filePath of conflictFiles) {
|
|
115
|
-
try {
|
|
116
|
-
// Read the file with conflict markers
|
|
117
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
118
|
-
// Get our version (current branch)
|
|
119
|
-
let oursContent = '';
|
|
120
|
-
try {
|
|
121
|
-
oursContent = execSync(`git show :2:${filePath}`, {
|
|
122
|
-
encoding: 'utf-8',
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
catch (_e) {
|
|
126
|
-
// File might be new on our side
|
|
127
|
-
oursContent = '';
|
|
128
|
-
}
|
|
129
|
-
// Get their version (incoming branch)
|
|
130
|
-
let theirsContent = '';
|
|
131
|
-
try {
|
|
132
|
-
theirsContent = execSync(`git show :3:${filePath}`, {
|
|
133
|
-
encoding: 'utf-8',
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
catch (_e) {
|
|
137
|
-
// File might be new on their side
|
|
138
|
-
theirsContent = '';
|
|
139
|
-
}
|
|
140
|
-
infos.push({
|
|
141
|
-
filePath,
|
|
142
|
-
content,
|
|
143
|
-
oursContent,
|
|
144
|
-
theirsContent,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
catch (_error) {
|
|
148
|
-
// Skip files we can't read
|
|
149
|
-
continue;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return infos;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Write resolved content for a conflict file and stage it
|
|
156
|
-
*/
|
|
157
|
-
export function resolveConflictFile(filePath, resolvedContent, verbose) {
|
|
158
|
-
try {
|
|
159
|
-
if (verbose) {
|
|
160
|
-
logInfo(`📝 Writing resolved content for ${filePath}...`);
|
|
161
|
-
}
|
|
162
|
-
fs.writeFileSync(filePath, resolvedContent, 'utf-8');
|
|
163
|
-
execSync(`git add "${filePath}"`, { encoding: 'utf-8', stdio: 'pipe' });
|
|
164
|
-
if (verbose) {
|
|
165
|
-
logInfo(`✅ Resolved and staged ${filePath}`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
throw new Error(`Failed to resolve conflict in ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Continue rebase after conflicts are resolved
|
|
174
|
-
*/
|
|
175
|
-
export function continueRebase(verbose) {
|
|
176
|
-
try {
|
|
177
|
-
if (verbose) {
|
|
178
|
-
logInfo(`🔄 Continuing rebase...`);
|
|
179
|
-
}
|
|
180
|
-
// Use GIT_EDITOR=true to skip the commit message editor
|
|
181
|
-
execSync('GIT_EDITOR=true git rebase --continue', {
|
|
182
|
-
encoding: 'utf-8',
|
|
183
|
-
stdio: verbose ? 'inherit' : 'pipe',
|
|
184
|
-
});
|
|
185
|
-
if (verbose) {
|
|
186
|
-
logInfo(`✅ Rebase continued successfully`);
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
catch (error) {
|
|
190
|
-
throw new Error(`Failed to continue rebase: ${error instanceof Error ? error.message : String(error)}`);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Abort the current rebase
|
|
195
|
-
*/
|
|
196
|
-
export function abortRebase(verbose) {
|
|
197
|
-
try {
|
|
198
|
-
if (verbose) {
|
|
199
|
-
logInfo(`🔄 Aborting rebase...`);
|
|
200
|
-
}
|
|
201
|
-
execSync('git rebase --abort', { encoding: 'utf-8', stdio: 'pipe' });
|
|
202
|
-
if (verbose) {
|
|
203
|
-
logInfo(`✅ Rebase aborted`);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
catch (_error) {
|
|
207
|
-
// Ignore errors - rebase might not be in progress
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Check if a Git branch exists locally
|
|
212
|
-
*/
|
|
213
|
-
export function branchExists(branch) {
|
|
214
|
-
try {
|
|
215
|
-
execSync(`git rev-parse --verify ${branch}`, {
|
|
216
|
-
encoding: 'utf-8',
|
|
217
|
-
stdio: 'pipe',
|
|
218
|
-
});
|
|
219
|
-
return true;
|
|
220
|
-
}
|
|
221
|
-
catch (_error) {
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Check if a remote branch exists
|
|
227
|
-
*/
|
|
228
|
-
export function remoteBranchExists(branch, githubToken) {
|
|
229
|
-
try {
|
|
230
|
-
// Fetch remote refs first to ensure we have latest info
|
|
231
|
-
const credArgs = buildCredentialArgs(githubToken);
|
|
232
|
-
execFileSync('git', [...credArgs, 'fetch', 'origin', '--prune'], {
|
|
233
|
-
encoding: 'utf-8',
|
|
234
|
-
stdio: 'pipe',
|
|
235
|
-
});
|
|
236
|
-
execSync(`git rev-parse --verify origin/${branch}`, {
|
|
237
|
-
encoding: 'utf-8',
|
|
238
|
-
stdio: 'pipe',
|
|
239
|
-
});
|
|
240
|
-
return true;
|
|
241
|
-
}
|
|
242
|
-
catch (_error) {
|
|
243
|
-
return false;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Switch to a specific Git branch, creating it if it doesn't exist
|
|
248
|
-
*
|
|
249
|
-
* By default, if the branch doesn't exist locally, it will:
|
|
250
|
-
* 1. Fetch from origin to check if branch exists on remote
|
|
251
|
-
* 2. If found on remote, create a local tracking branch from it
|
|
252
|
-
* 3. If not found on remote, create a new branch from current HEAD
|
|
253
|
-
*
|
|
254
|
-
* This handles multi-clone scenarios where a branch may have been created
|
|
255
|
-
* and pushed from another local clone.
|
|
256
|
-
*
|
|
257
|
-
* @param branch - The branch name to switch to
|
|
258
|
-
* @param verbose - Whether to log verbose output
|
|
259
|
-
* @param options - Additional options for branch switching
|
|
260
|
-
*/
|
|
261
|
-
export function switchToBranch(branch, verbose, options) {
|
|
262
|
-
try {
|
|
263
|
-
if (verbose) {
|
|
264
|
-
logInfo(`🔄 Switching to branch ${branch}...`);
|
|
265
|
-
}
|
|
266
|
-
// Check if branch exists locally
|
|
267
|
-
const localExists = branchExists(branch);
|
|
268
|
-
if (localExists) {
|
|
269
|
-
// Branch exists locally, just switch to it
|
|
270
|
-
execSync(`git checkout ${branch}`, { encoding: 'utf-8', stdio: 'pipe' });
|
|
271
|
-
}
|
|
272
|
-
else if (options?.skipRemoteCheck) {
|
|
273
|
-
// Skip remote check, just create from current HEAD
|
|
274
|
-
if (verbose) {
|
|
275
|
-
logInfo(` Branch ${branch} doesn't exist, creating it...`);
|
|
276
|
-
}
|
|
277
|
-
execSync(`git checkout -b ${branch}`, {
|
|
278
|
-
encoding: 'utf-8',
|
|
279
|
-
stdio: 'pipe',
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
else {
|
|
283
|
-
// Default: Check if branch exists on remote before creating locally
|
|
284
|
-
// This handles multi-clone scenarios where branch was pushed from another clone
|
|
285
|
-
try {
|
|
286
|
-
// Fetch to get latest remote refs
|
|
287
|
-
const switchCredArgs = buildCredentialArgs(options?.githubToken);
|
|
288
|
-
execFileSync('git', [...switchCredArgs, 'fetch', 'origin'], {
|
|
289
|
-
encoding: 'utf-8',
|
|
290
|
-
stdio: 'pipe',
|
|
291
|
-
});
|
|
292
|
-
// Check if remote branch exists
|
|
293
|
-
execSync(`git rev-parse --verify origin/${branch}`, {
|
|
294
|
-
encoding: 'utf-8',
|
|
295
|
-
stdio: 'pipe',
|
|
296
|
-
});
|
|
297
|
-
// Remote branch exists, create local tracking branch from it
|
|
298
|
-
if (verbose) {
|
|
299
|
-
logInfo(` Branch ${branch} found on remote, creating local tracking branch...`);
|
|
300
|
-
}
|
|
301
|
-
execSync(`git checkout -b ${branch} --track origin/${branch}`, {
|
|
302
|
-
encoding: 'utf-8',
|
|
303
|
-
stdio: 'pipe',
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
catch (_e) {
|
|
307
|
-
// Remote branch doesn't exist, create new branch from current HEAD
|
|
308
|
-
if (verbose) {
|
|
309
|
-
logInfo(` Branch ${branch} doesn't exist locally or remotely, creating new branch...`);
|
|
310
|
-
}
|
|
311
|
-
execSync(`git checkout -b ${branch}`, {
|
|
312
|
-
encoding: 'utf-8',
|
|
313
|
-
stdio: 'pipe',
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
if (verbose) {
|
|
318
|
-
logInfo(`✅ Switched to ${branch} branch`);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
catch (error) {
|
|
322
|
-
throw new Error(`Failed to switch to ${branch} branch: ${error instanceof Error ? error.message : String(error)}`);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Pull latest changes from remote for a specific branch
|
|
327
|
-
*/
|
|
328
|
-
export function pullLatestFromBranch(branch, verbose, githubToken) {
|
|
329
|
-
try {
|
|
330
|
-
// Check for uncommitted changes and reset if found
|
|
331
|
-
if (hasUncommittedChanges()) {
|
|
332
|
-
if (verbose) {
|
|
333
|
-
logInfo(`⚠️ Found uncommitted changes. Resetting to clean state before pull...`);
|
|
334
|
-
}
|
|
335
|
-
resetUncommittedChanges(verbose);
|
|
336
|
-
}
|
|
337
|
-
if (verbose) {
|
|
338
|
-
logInfo(`📥 Pulling latest changes from origin/${branch}...`);
|
|
339
|
-
}
|
|
340
|
-
const credArgs = buildCredentialArgs(githubToken);
|
|
341
|
-
execFileSync('git', [...credArgs, 'pull', 'origin', branch, '--rebase'], {
|
|
342
|
-
encoding: 'utf-8',
|
|
343
|
-
stdio: verbose ? 'inherit' : 'pipe',
|
|
344
|
-
});
|
|
345
|
-
if (verbose) {
|
|
346
|
-
logInfo(`✅ Successfully pulled latest changes from origin/${branch}`);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
catch (error) {
|
|
350
|
-
throw new Error(`Failed to pull latest changes from ${branch}: ${error instanceof Error ? error.message : String(error)}`);
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
/**
|
|
354
|
-
* Switch to issue branch and rebase with main
|
|
355
|
-
* This should be called at the START of each phase
|
|
356
|
-
*
|
|
357
|
-
* @param issueBranch - The issue branch to switch to (e.g., "dev/issue-id")
|
|
358
|
-
* @param baseBranch - The base branch to rebase from (usually "main")
|
|
359
|
-
* @param verbose - Whether to log verbose output
|
|
360
|
-
* @returns Object containing the previous branch name
|
|
361
|
-
*/
|
|
362
|
-
// eslint-disable-next-line complexity -- git branch management with rebase, conflict handling, and fallback strategies
|
|
363
|
-
export function switchToIssueBranchAndRebase(issueBranch, baseBranch, verbose, githubToken) {
|
|
364
|
-
// eslint-disable-next-line no-param-reassign -- assigning default to optional param
|
|
365
|
-
baseBranch ??= resolveDefaultBranch();
|
|
366
|
-
const previousBranch = getCurrentBranch();
|
|
367
|
-
if (verbose) {
|
|
368
|
-
logInfo(`\n🔄 Preparing issue branch: ${issueBranch}`);
|
|
369
|
-
logInfo(` Current branch: ${previousBranch}`);
|
|
370
|
-
}
|
|
371
|
-
// If issue branch doesn't exist, we need to create it from base branch
|
|
372
|
-
if (!branchExists(issueBranch)) {
|
|
373
|
-
if (verbose) {
|
|
374
|
-
logInfo(` Issue branch ${issueBranch} doesn't exist, will create from ${baseBranch}`);
|
|
375
|
-
}
|
|
376
|
-
// First, ensure we're on the base branch to create issue branch from it
|
|
377
|
-
if (previousBranch !== baseBranch) {
|
|
378
|
-
if (verbose) {
|
|
379
|
-
logInfo(` Switching to ${baseBranch} first...`);
|
|
380
|
-
}
|
|
381
|
-
switchToBranch(baseBranch, verbose);
|
|
382
|
-
}
|
|
383
|
-
// Pull latest base branch before creating issue branch
|
|
384
|
-
try {
|
|
385
|
-
if (verbose) {
|
|
386
|
-
logInfo(` Pulling latest ${baseBranch}...`);
|
|
387
|
-
}
|
|
388
|
-
pullLatestFromBranch(baseBranch, verbose, githubToken);
|
|
389
|
-
}
|
|
390
|
-
catch (_error) {
|
|
391
|
-
if (verbose) {
|
|
392
|
-
logInfo(` ⚠️ Could not pull ${baseBranch}, will create branch from local ${baseBranch}`);
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
// Switch to issue branch (will create if doesn't exist)
|
|
397
|
-
// Default behavior now checks remote first (handles multi-clone scenarios)
|
|
398
|
-
if (getCurrentBranch() !== issueBranch) {
|
|
399
|
-
switchToBranch(issueBranch, verbose, { githubToken });
|
|
400
|
-
}
|
|
401
|
-
// Sync with remote issue branch if it exists and local branch needs updating
|
|
402
|
-
// This handles the case where local branch exists but is behind remote
|
|
403
|
-
try {
|
|
404
|
-
// Check for uncommitted changes and reset if found before any git operations
|
|
405
|
-
if (hasUncommittedChanges()) {
|
|
406
|
-
if (verbose) {
|
|
407
|
-
logInfo(`⚠️ Found uncommitted changes. Resetting to clean state before sync...`);
|
|
408
|
-
}
|
|
409
|
-
resetUncommittedChanges(verbose);
|
|
410
|
-
}
|
|
411
|
-
// Fetch to get latest remote state (may have been fetched in switchToBranch, but ensures fresh data)
|
|
412
|
-
const credArgs = buildCredentialArgs(githubToken);
|
|
413
|
-
execFileSync('git', [...credArgs, 'fetch', 'origin'], {
|
|
414
|
-
encoding: 'utf-8',
|
|
415
|
-
stdio: 'pipe',
|
|
416
|
-
});
|
|
417
|
-
// Check if remote issue branch exists
|
|
418
|
-
try {
|
|
419
|
-
execSync(`git rev-parse --verify origin/${issueBranch}`, {
|
|
420
|
-
encoding: 'utf-8',
|
|
421
|
-
stdio: 'pipe',
|
|
422
|
-
});
|
|
423
|
-
// Remote branch exists, check if we need to sync
|
|
424
|
-
// Get local and remote commit SHAs
|
|
425
|
-
const localSha = execSync(`git rev-parse ${issueBranch}`, {
|
|
426
|
-
encoding: 'utf-8',
|
|
427
|
-
stdio: 'pipe',
|
|
428
|
-
}).trim();
|
|
429
|
-
const remoteSha = execSync(`git rev-parse origin/${issueBranch}`, {
|
|
430
|
-
encoding: 'utf-8',
|
|
431
|
-
stdio: 'pipe',
|
|
432
|
-
}).trim();
|
|
433
|
-
if (localSha !== remoteSha) {
|
|
434
|
-
// Local and remote differ, reset to remote
|
|
435
|
-
if (verbose) {
|
|
436
|
-
logInfo(`📥 Syncing with remote issue branch origin/${issueBranch}...`);
|
|
437
|
-
logInfo(` Local: ${localSha.substring(0, 7)}`);
|
|
438
|
-
logInfo(` Remote: ${remoteSha.substring(0, 7)}`);
|
|
439
|
-
}
|
|
440
|
-
// Reset local branch to match remote branch
|
|
441
|
-
// This ensures we have all commits from the remote (e.g., from another machine)
|
|
442
|
-
execSync(`git reset --hard origin/${issueBranch}`, {
|
|
443
|
-
encoding: 'utf-8',
|
|
444
|
-
stdio: 'pipe',
|
|
445
|
-
});
|
|
446
|
-
if (verbose) {
|
|
447
|
-
logInfo(`✅ Synced local branch with origin/${issueBranch}`);
|
|
448
|
-
}
|
|
449
|
-
}
|
|
450
|
-
else if (verbose) {
|
|
451
|
-
logInfo(`✅ Local branch is up to date with origin/${issueBranch}`);
|
|
452
|
-
}
|
|
453
|
-
}
|
|
454
|
-
catch (_e) {
|
|
455
|
-
// Remote branch doesn't exist, that's fine - we'll push later
|
|
456
|
-
if (verbose) {
|
|
457
|
-
logInfo(` Remote branch origin/${issueBranch} doesn't exist yet, will create on push`);
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
}
|
|
461
|
-
catch (_error) {
|
|
462
|
-
if (verbose) {
|
|
463
|
-
logInfo(`⚠️ Could not sync with remote issue branch, continuing with local branch`);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
// Rebase issue branch with latest main
|
|
467
|
-
if (verbose) {
|
|
468
|
-
logInfo(`📥 Rebasing ${issueBranch} with origin/${baseBranch}...`);
|
|
469
|
-
}
|
|
470
|
-
try {
|
|
471
|
-
// Check for uncommitted changes and reset if found
|
|
472
|
-
if (hasUncommittedChanges()) {
|
|
473
|
-
if (verbose) {
|
|
474
|
-
logInfo(`⚠️ Found uncommitted changes. Resetting to clean state before rebase...`);
|
|
475
|
-
}
|
|
476
|
-
resetUncommittedChanges(verbose);
|
|
477
|
-
}
|
|
478
|
-
const rebaseCredArgs = buildCredentialArgs(githubToken);
|
|
479
|
-
execFileSync('git', [...rebaseCredArgs, 'pull', 'origin', baseBranch, '--rebase'], {
|
|
480
|
-
encoding: 'utf-8',
|
|
481
|
-
stdio: verbose ? 'inherit' : 'pipe',
|
|
482
|
-
});
|
|
483
|
-
if (verbose) {
|
|
484
|
-
logInfo(`✅ Successfully rebased ${issueBranch} with origin/${baseBranch}\n`);
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
catch (error) {
|
|
488
|
-
// If rebase fails, try to abort it to leave repo in clean state
|
|
489
|
-
try {
|
|
490
|
-
execSync('git rebase --abort', { encoding: 'utf-8', stdio: 'pipe' });
|
|
491
|
-
if (verbose) {
|
|
492
|
-
logError(`❌ Rebase failed and was aborted. Repository is in clean state.`);
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
catch (_abortError) {
|
|
496
|
-
// Rebase abort failed or wasn't needed, that's okay
|
|
497
|
-
}
|
|
498
|
-
throw new Error(`Failed to rebase ${issueBranch} with ${baseBranch}: ${error instanceof Error ? error.message : String(error)}\n` +
|
|
499
|
-
`This usually means there are conflicts between your issue branch and main branch.\n` +
|
|
500
|
-
`Please resolve conflicts manually and try again.`);
|
|
501
|
-
}
|
|
502
|
-
return { previousBranch };
|
|
503
|
-
}
|
|
504
|
-
/**
|
|
505
|
-
* Return to main branch after phase completion
|
|
506
|
-
* This should be called at the END of each phase
|
|
507
|
-
*/
|
|
508
|
-
export function returnToMainBranch(baseBranch, verbose) {
|
|
509
|
-
// eslint-disable-next-line no-param-reassign -- assigning default to optional param
|
|
510
|
-
baseBranch ??= resolveDefaultBranch();
|
|
511
|
-
const currentBranch = getCurrentBranch();
|
|
512
|
-
if (currentBranch === baseBranch) {
|
|
513
|
-
if (verbose) {
|
|
514
|
-
logInfo(`ℹ️ Already on ${baseBranch} branch`);
|
|
515
|
-
}
|
|
516
|
-
return;
|
|
517
|
-
}
|
|
518
|
-
if (verbose) {
|
|
519
|
-
logInfo(`\n🔄 Returning to ${baseBranch} branch...`);
|
|
520
|
-
logInfo(` Current branch: ${currentBranch}`);
|
|
521
|
-
}
|
|
522
|
-
// Check for uncommitted changes before switching
|
|
523
|
-
if (hasUncommittedChanges()) {
|
|
524
|
-
const uncommittedFiles = getUncommittedFiles();
|
|
525
|
-
if (verbose) {
|
|
526
|
-
logError(`⚠️ Warning: Uncommitted changes detected before returning to ${baseBranch}:`);
|
|
527
|
-
uncommittedFiles.forEach((file) => logError(` ${file}`));
|
|
528
|
-
logError(` Resetting uncommitted changes to allow branch switch.`);
|
|
529
|
-
}
|
|
530
|
-
// Reset uncommitted changes to allow clean branch switch
|
|
531
|
-
// The code should already be committed on the issue branch,
|
|
532
|
-
// so these changes are likely from post-commit operations
|
|
533
|
-
resetUncommittedChanges(verbose);
|
|
534
|
-
}
|
|
535
|
-
switchToBranch(baseBranch, verbose);
|
|
536
|
-
if (verbose) {
|
|
537
|
-
logInfo(`✅ Returned to ${baseBranch} branch\n`);
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
/**
|
|
541
|
-
* Full phase lifecycle: switch to issue branch, rebase with main, and return a cleanup function
|
|
542
|
-
* Usage:
|
|
543
|
-
* const cleanup = preparePhaseGitEnvironment(issueId, baseBranch, verbose)
|
|
544
|
-
* try {
|
|
545
|
-
* // ... phase logic ...
|
|
546
|
-
* } finally {
|
|
547
|
-
* cleanup()
|
|
548
|
-
* }
|
|
549
|
-
*
|
|
550
|
-
* IMPORTANT: If rebase fails, this function will throw an error AFTER ensuring the repo
|
|
551
|
-
* is in a clean state (rebase aborted). The caller should still call the cleanup function
|
|
552
|
-
* in a finally block to return to the main branch.
|
|
553
|
-
*
|
|
554
|
-
* @param issueId - The issue ID (will be used to construct branch name "dev/{issueId}")
|
|
555
|
-
* @param baseBranch - The base branch to rebase from (default: "main")
|
|
556
|
-
* @param verbose - Whether to log verbose output
|
|
557
|
-
* @returns Cleanup function that will return to main branch
|
|
558
|
-
*/
|
|
559
|
-
export function preparePhaseGitEnvironment(issueId, baseBranch, verbose) {
|
|
560
|
-
const issueBranch = `dev/${issueId}`;
|
|
561
|
-
return prepareCustomBranchGitEnvironment(issueBranch, baseBranch, verbose);
|
|
562
|
-
}
|
|
563
|
-
/**
|
|
564
|
-
* Full phase lifecycle with custom branch names for branch chaining support.
|
|
565
|
-
* This allows creating a issue branch from another issue branch (not just main).
|
|
566
|
-
*
|
|
567
|
-
* Usage:
|
|
568
|
-
* const cleanup = prepareCustomBranchGitEnvironment('feat/123/2-api', 'feat/123/1-database', verbose)
|
|
569
|
-
* try {
|
|
570
|
-
* // ... phase logic ...
|
|
571
|
-
* } finally {
|
|
572
|
-
* cleanup()
|
|
573
|
-
* }
|
|
574
|
-
*
|
|
575
|
-
* @param issueBranch - The issue branch to switch to (e.g., "feat/123/2-api")
|
|
576
|
-
* @param baseBranch - The base branch to rebase from (e.g., "main" or "feat/123/1-database")
|
|
577
|
-
* @param verbose - Whether to log verbose output
|
|
578
|
-
* @returns Cleanup function that will return to main branch
|
|
579
|
-
*/
|
|
580
|
-
export function prepareCustomBranchGitEnvironment(issueBranch, baseBranch, verbose) {
|
|
581
|
-
// Resolve once so cleanup and rebase agree on the same target branch.
|
|
582
|
-
const resolvedDefault = resolveDefaultBranch();
|
|
583
|
-
const resolvedBase = baseBranch ?? resolvedDefault;
|
|
584
|
-
// Create cleanup function BEFORE any operations that might fail
|
|
585
|
-
// This ensures cleanup can be called even if switchToIssueBranchAndRebase throws.
|
|
586
|
-
// We always return to the repo's default branch (e.g. main, master), not
|
|
587
|
-
// baseBranch — baseBranch may be an intermediate branch in a chained PR.
|
|
588
|
-
const cleanup = () => {
|
|
589
|
-
returnToMainBranch(resolvedDefault, verbose);
|
|
590
|
-
};
|
|
591
|
-
try {
|
|
592
|
-
// Switch to issue branch and rebase with base branch
|
|
593
|
-
switchToIssueBranchAndRebase(issueBranch, resolvedBase, verbose);
|
|
594
|
-
}
|
|
595
|
-
catch (error) {
|
|
596
|
-
// If setup fails, try to cleanup before re-throwing
|
|
597
|
-
try {
|
|
598
|
-
cleanup();
|
|
599
|
-
}
|
|
600
|
-
catch (cleanupError) {
|
|
601
|
-
// Cleanup failed, but we still want to throw the original error
|
|
602
|
-
if (verbose) {
|
|
603
|
-
logError(`⚠️ Cleanup failed after setup error: ${cleanupError}`);
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
// Re-throw the original error
|
|
607
|
-
throw error;
|
|
608
|
-
}
|
|
609
|
-
// Return cleanup function
|
|
610
|
-
return cleanup;
|
|
611
|
-
}
|
|
612
|
-
// Re-export async operations from separate file for backward compatibility
|
|
613
|
-
export { prepareCustomBranchGitEnvironmentAsync, preparePhaseGitEnvironmentAsync, switchToIssueBranchAndRebaseAsync, syncFeatBranchWithMain, } from './git-branch-manager-async.js';
|
package/dist/utils/git-push.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared git push utilities with GitHub App credential helper support.
|
|
3
|
-
*
|
|
4
|
-
* Uses `git -c credential.helper=...` to pass the token securely per-command,
|
|
5
|
-
* matching the pattern established in workspace-manager.ts for clone/fetch.
|
|
6
|
-
* Uses `execFileSync` instead of `execSync` to avoid shell metacharacter injection.
|
|
7
|
-
*/
|
|
8
|
-
export interface GitPushOptions {
|
|
9
|
-
branchName: string;
|
|
10
|
-
token?: string;
|
|
11
|
-
verbose?: boolean;
|
|
12
|
-
cwd?: string;
|
|
13
|
-
}
|
|
14
|
-
export interface GitPushResult {
|
|
15
|
-
success: boolean;
|
|
16
|
-
error?: string;
|
|
17
|
-
method?: 'push-u' | 'push' | 'force-with-lease';
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Build git args with optional credential helper prefix.
|
|
21
|
-
* When a token is provided, prepends `-c credential.helper=...` so git
|
|
22
|
-
* authenticates with the GitHub App installation token.
|
|
23
|
-
*/
|
|
24
|
-
export declare function buildCredentialArgs(token?: string): string[];
|
|
25
|
-
/**
|
|
26
|
-
* Push a branch to remote with three-level fallback:
|
|
27
|
-
* 1. git push -u origin <branch>
|
|
28
|
-
* 2. git push origin <branch>
|
|
29
|
-
* 3. git push --force-with-lease origin <branch>
|
|
30
|
-
*
|
|
31
|
-
* When `token` is provided, each command uses a credential helper for authentication.
|
|
32
|
-
*/
|
|
33
|
-
export declare function gitPush(options: GitPushOptions): GitPushResult;
|
|
34
|
-
/**
|
|
35
|
-
* Force push a branch using --force-with-lease.
|
|
36
|
-
* Used after rebase operations to update the remote branch.
|
|
37
|
-
*/
|
|
38
|
-
export declare function gitForcePush(options: GitPushOptions): GitPushResult;
|
|
39
|
-
/**
|
|
40
|
-
* Push the current branch to remote.
|
|
41
|
-
* Resolves the current branch name first, then delegates to gitPush.
|
|
42
|
-
*/
|
|
43
|
-
export declare function gitPushCurrentBranch(options: Omit<GitPushOptions, 'branchName'>): GitPushResult;
|