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,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session workspace — clones a product's configured repositories into a single
|
|
3
|
-
* local "session directory", one subdirectory per repo.
|
|
4
|
-
*
|
|
5
|
-
* A chat session (an `ai_assistant` channel) is bound to a product, and a
|
|
6
|
-
* product can span several repositories. For the session agent's read-only
|
|
7
|
-
* tools (Read / Grep / Glob) to inspect the real code, we clone every in-scope
|
|
8
|
-
* repo into:
|
|
9
|
-
*
|
|
10
|
-
* <workspace>/sessions/<channelId>/<owner>_<repo>/
|
|
11
|
-
*
|
|
12
|
-
* and point the agent's cwd at the per-session directory. The clones are reused
|
|
13
|
-
* (and fetched) across turns of the same session rather than re-cloned each
|
|
14
|
-
* time, so follow-up turns are fast and always see the latest code.
|
|
15
|
-
*
|
|
16
|
-
* Repo resolution and the secure-token clone are shared with flow generation
|
|
17
|
-
* (`phases/diagram-shared/clone-repos.ts`).
|
|
18
|
-
*/
|
|
19
|
-
import { mkdirSync } from 'fs';
|
|
20
|
-
import { getGitHubConfigByProduct } from '../api/github.js';
|
|
21
|
-
import { resolveTargetRepos, safeDirName, } from '../phases/diagram-shared/clone-repos.js';
|
|
22
|
-
import { logInfo, logWarning } from '../utils/logger.js';
|
|
23
|
-
import { cloneIssueRepo, ensureWorkspaceDir, getIssueRepoPath, } from './workspace-manager.js';
|
|
24
|
-
const SESSIONS_DIR_NAME = 'sessions';
|
|
25
|
-
/**
|
|
26
|
-
* Clone (or refresh) every repository the session's product is scoped to into a
|
|
27
|
-
* single local session directory. Returns the directory to use as the agent's
|
|
28
|
-
* cwd plus the cloned repos, or `null` when no repo could be made available
|
|
29
|
-
* (no GitHub config, or every clone failed) so the caller can still run the
|
|
30
|
-
* agent without a codebase.
|
|
31
|
-
*/
|
|
32
|
-
export async function cloneSessionRepos(opts) {
|
|
33
|
-
const { channelId, productId, repositoryIds, verbose } = opts;
|
|
34
|
-
const gh = await getGitHubConfigByProduct(productId, verbose);
|
|
35
|
-
if (!gh.configured || !gh.token || !gh.owner || !gh.repo) {
|
|
36
|
-
logWarning(gh.message ||
|
|
37
|
-
'No GitHub repository configured for this product; the session agent will run without a codebase.');
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
// Resolve the in-scope repos (ordered), falling back to the product's
|
|
41
|
-
// primary repo when none were explicitly selected.
|
|
42
|
-
const targets = await resolveTargetRepos(productId, repositoryIds, {
|
|
43
|
-
owner: gh.owner,
|
|
44
|
-
repo: gh.repo,
|
|
45
|
-
});
|
|
46
|
-
const workspaceRoot = ensureWorkspaceDir();
|
|
47
|
-
const sessionDir = getIssueRepoPath(workspaceRoot, `${SESSIONS_DIR_NAME}/${safeDirName(channelId)}`);
|
|
48
|
-
// Ensure the per-session parent exists before cloning into subdirectories.
|
|
49
|
-
mkdirSync(sessionDir, { recursive: true });
|
|
50
|
-
const repos = [];
|
|
51
|
-
for (const target of targets) {
|
|
52
|
-
try {
|
|
53
|
-
// The product-level token (installation or user PAT/OAuth) is reused for
|
|
54
|
-
// every repo; if it can't access one, that clone fails and we skip it
|
|
55
|
-
// rather than aborting the whole session.
|
|
56
|
-
const { repoPath } = cloneIssueRepo(sessionDir, safeDirName(target.fullName), target.owner, target.repo, gh.token);
|
|
57
|
-
repos.push({
|
|
58
|
-
fullName: target.fullName,
|
|
59
|
-
owner: target.owner,
|
|
60
|
-
repo: target.repo,
|
|
61
|
-
dir: repoPath,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
logWarning(`Skipping ${target.fullName}: clone failed (${err instanceof Error ? err.message : String(err)})`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
if (repos.length === 0) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
logInfo(`Session ${channelId}: ${repos.length} repo(s) ready in ${sessionDir}`);
|
|
72
|
-
return { sessionDir, repos };
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Build a note for the agent's system prompt describing where each repo is
|
|
76
|
-
* checked out, so it points Read / Grep / Glob at the right subdirectory.
|
|
77
|
-
*/
|
|
78
|
-
export function describeSessionRepos(repos) {
|
|
79
|
-
if (repos.length === 0) {
|
|
80
|
-
return '';
|
|
81
|
-
}
|
|
82
|
-
const list = repos.map((r) => `- ${r.fullName} → subdirectory \`${safeDirName(r.fullName)}/\``);
|
|
83
|
-
return [
|
|
84
|
-
repos.length === 1
|
|
85
|
-
? 'The product code is checked out in your working directory:'
|
|
86
|
-
: `This product spans ${repos.length} repositories, each checked out as a subdirectory of your working directory:`,
|
|
87
|
-
...list,
|
|
88
|
-
'Use Read / Grep / Glob against these paths to inspect the actual code before answering.',
|
|
89
|
-
].join('\n');
|
|
90
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Manager - Manages the edsger working directory and issue repos
|
|
3
|
-
*
|
|
4
|
-
* Handles:
|
|
5
|
-
* - Detecting or creating the 'edsger' working directory
|
|
6
|
-
* - Cloning repos using GitHub App installation tokens
|
|
7
|
-
* - Using issue ID as directory name for cloned repos
|
|
8
|
-
* - Reusing existing cloned repos for the same issue
|
|
9
|
-
*/
|
|
10
|
-
export interface WorkspaceConfig {
|
|
11
|
-
/** Root workspace directory path */
|
|
12
|
-
rootDir: string;
|
|
13
|
-
}
|
|
14
|
-
export interface IssueRepo {
|
|
15
|
-
/** Path to the cloned repo directory */
|
|
16
|
-
repoPath: string;
|
|
17
|
-
/** Whether the repo was freshly cloned (vs reused) */
|
|
18
|
-
freshClone: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Determine the workspace root directory.
|
|
22
|
-
*
|
|
23
|
-
* Rules:
|
|
24
|
-
* - If current directory basename is 'edsger', use it as workspace root
|
|
25
|
-
* - Otherwise, create an 'edsger' subdirectory in the current directory
|
|
26
|
-
*/
|
|
27
|
-
export declare function getWorkspaceRoot(): string;
|
|
28
|
-
/**
|
|
29
|
-
* Ensure the workspace directory exists
|
|
30
|
-
*/
|
|
31
|
-
export declare function ensureWorkspaceDir(): string;
|
|
32
|
-
/**
|
|
33
|
-
* Get the directory path for an issue's repo clone
|
|
34
|
-
* Uses the issue ID as the directory name
|
|
35
|
-
*/
|
|
36
|
-
export declare function getIssueRepoPath(workspaceRoot: string, issueId: string): string;
|
|
37
|
-
/**
|
|
38
|
-
* Check if an issue's repo already exists locally
|
|
39
|
-
*/
|
|
40
|
-
export declare function issueRepoExists(workspaceRoot: string, issueId: string): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Clone a repository for an issue using GitHub App installation token
|
|
43
|
-
*
|
|
44
|
-
* Uses `git -c credential.helper` to pass the token securely
|
|
45
|
-
* instead of embedding it in the clone URL (which would be visible via `ps`).
|
|
46
|
-
*
|
|
47
|
-
* @param workspaceRoot - The workspace root directory
|
|
48
|
-
* @param issueId - The issue ID (used as directory name)
|
|
49
|
-
* @param owner - GitHub repo owner
|
|
50
|
-
* @param repo - GitHub repo name
|
|
51
|
-
* @param token - GitHub installation token
|
|
52
|
-
* @returns IssueRepo with the path and clone status
|
|
53
|
-
*/
|
|
54
|
-
export declare function cloneIssueRepo(workspaceRoot: string, issueId: string, owner: string, repo: string, token: string): IssueRepo;
|
|
55
|
-
/**
|
|
56
|
-
* Loose validator for a git ref name (tag or branch) coming from callers
|
|
57
|
-
* that pass data originating from external sources (GitHub API, AI output).
|
|
58
|
-
*
|
|
59
|
-
* Rules match `git check-ref-format` plus a length cap. Rejecting bad
|
|
60
|
-
* input early keeps it out of execFileSync argv.
|
|
61
|
-
*/
|
|
62
|
-
export declare function isSafeGitRef(ref: string): boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Sync a cloned issue repo to a specific git ref — a tag or a branch.
|
|
65
|
-
*
|
|
66
|
-
* Behaviour:
|
|
67
|
-
* - `git fetch origin --tags --prune` brings in new tags (release tags!) and
|
|
68
|
-
* drops deleted remote branches, using the installation-token credential
|
|
69
|
-
* helper so private repos keep working.
|
|
70
|
-
* - Before switching refs, `git reset --hard HEAD` + `git clean -fd` drops
|
|
71
|
-
* tracked-file edits and untracked files left by a prior run. We skip the
|
|
72
|
-
* `-x` flag so `.gitignore`d content (node_modules, target, dist) survives
|
|
73
|
-
* between runs — matches the convention in pull-request/creator.ts and
|
|
74
|
-
* avoids an expensive reinstall every sync.
|
|
75
|
-
* - For a tag, detached-HEAD checkout of that tag.
|
|
76
|
-
* - For a branch, `checkout -B <branch> origin/<branch>` — force-updates
|
|
77
|
-
* the local branch to the remote tip in one step, which also works on
|
|
78
|
-
* the first sync when the local branch doesn't exist yet.
|
|
79
|
-
*
|
|
80
|
-
* This workspace is edsger-managed; callers should not put local work here.
|
|
81
|
-
*/
|
|
82
|
-
export declare function syncRepoToRef(repoPath: string, ref: {
|
|
83
|
-
tag?: string;
|
|
84
|
-
branch?: string;
|
|
85
|
-
}, token: string): void;
|
|
86
|
-
/**
|
|
87
|
-
* Set up an issue's repo for work (install deps, etc.)
|
|
88
|
-
* This is called after cloning or reusing a repo
|
|
89
|
-
*/
|
|
90
|
-
export declare function setupIssueRepo(repoPath: string): void;
|
|
91
|
-
/**
|
|
92
|
-
* Remove a cloned repo workspace after a successful task. Matches the
|
|
93
|
-
* pr-resolve cleanup convention: best-effort, never throws — a missing dir
|
|
94
|
-
* or locked file shouldn't fail an otherwise-successful run. Callers are
|
|
95
|
-
* expected to skip cleanup on failure so the user can inspect partial state.
|
|
96
|
-
*
|
|
97
|
-
* No-ops when `repoPath` is undefined so callers can pass an optional path
|
|
98
|
-
* without an extra guard at every call site.
|
|
99
|
-
*/
|
|
100
|
-
export declare function cleanupIssueRepo(repoPath: string | undefined): void;
|
|
101
|
-
/**
|
|
102
|
-
* Update the remote token for an issue repo
|
|
103
|
-
* Used when the installation token has been refreshed
|
|
104
|
-
*/
|
|
105
|
-
export declare function updateRepoToken(repoPath: string, owner: string, repo: string, _token: string): void;
|
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Workspace Manager - Manages the edsger working directory and issue repos
|
|
3
|
-
*
|
|
4
|
-
* Handles:
|
|
5
|
-
* - Detecting or creating the 'edsger' working directory
|
|
6
|
-
* - Cloning repos using GitHub App installation tokens
|
|
7
|
-
* - Using issue ID as directory name for cloned repos
|
|
8
|
-
* - Reusing existing cloned repos for the same issue
|
|
9
|
-
*/
|
|
10
|
-
import { execFileSync, execSync } from 'child_process';
|
|
11
|
-
import { existsSync, mkdirSync, rmSync } from 'fs';
|
|
12
|
-
import { basename, join } from 'path';
|
|
13
|
-
import { buildCredentialArgs } from '../utils/git-push.js';
|
|
14
|
-
import { logError, logInfo, logSuccess, logWarning } from '../utils/logger.js';
|
|
15
|
-
const WORKSPACE_DIR_NAME = 'edsger';
|
|
16
|
-
/**
|
|
17
|
-
* Determine the workspace root directory.
|
|
18
|
-
*
|
|
19
|
-
* Rules:
|
|
20
|
-
* - If current directory basename is 'edsger', use it as workspace root
|
|
21
|
-
* - Otherwise, create an 'edsger' subdirectory in the current directory
|
|
22
|
-
*/
|
|
23
|
-
export function getWorkspaceRoot() {
|
|
24
|
-
const cwd = process.cwd();
|
|
25
|
-
const currentDirName = basename(cwd);
|
|
26
|
-
if (currentDirName === WORKSPACE_DIR_NAME) {
|
|
27
|
-
return cwd;
|
|
28
|
-
}
|
|
29
|
-
const workspaceDir = join(cwd, WORKSPACE_DIR_NAME);
|
|
30
|
-
return workspaceDir;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Ensure the workspace directory exists
|
|
34
|
-
*/
|
|
35
|
-
export function ensureWorkspaceDir() {
|
|
36
|
-
const workspaceRoot = getWorkspaceRoot();
|
|
37
|
-
if (!existsSync(workspaceRoot)) {
|
|
38
|
-
mkdirSync(workspaceRoot, { recursive: true });
|
|
39
|
-
logInfo(`Created workspace directory: ${workspaceRoot}`);
|
|
40
|
-
}
|
|
41
|
-
return workspaceRoot;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get the directory path for an issue's repo clone
|
|
45
|
-
* Uses the issue ID as the directory name
|
|
46
|
-
*/
|
|
47
|
-
export function getIssueRepoPath(workspaceRoot, issueId) {
|
|
48
|
-
return join(workspaceRoot, issueId);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Check if an issue's repo already exists locally
|
|
52
|
-
*/
|
|
53
|
-
export function issueRepoExists(workspaceRoot, issueId) {
|
|
54
|
-
const repoPath = getIssueRepoPath(workspaceRoot, issueId);
|
|
55
|
-
return existsSync(join(repoPath, '.git'));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Clone a repository for an issue using GitHub App installation token
|
|
59
|
-
*
|
|
60
|
-
* Uses `git -c credential.helper` to pass the token securely
|
|
61
|
-
* instead of embedding it in the clone URL (which would be visible via `ps`).
|
|
62
|
-
*
|
|
63
|
-
* @param workspaceRoot - The workspace root directory
|
|
64
|
-
* @param issueId - The issue ID (used as directory name)
|
|
65
|
-
* @param owner - GitHub repo owner
|
|
66
|
-
* @param repo - GitHub repo name
|
|
67
|
-
* @param token - GitHub installation token
|
|
68
|
-
* @returns IssueRepo with the path and clone status
|
|
69
|
-
*/
|
|
70
|
-
export function cloneIssueRepo(workspaceRoot, issueId, owner, repo, token) {
|
|
71
|
-
const repoPath = getIssueRepoPath(workspaceRoot, issueId);
|
|
72
|
-
const repoUrl = `https://github.com/${owner}/${repo}.git`;
|
|
73
|
-
// Use the shared credential helper builder. Passes the installation
|
|
74
|
-
// token via `git -c credential.helper=...` so it stays out of the
|
|
75
|
-
// remote URL and the process list.
|
|
76
|
-
const gitCredentialArgs = buildCredentialArgs(token);
|
|
77
|
-
// Check if already cloned
|
|
78
|
-
if (existsSync(join(repoPath, '.git'))) {
|
|
79
|
-
logInfo(`Reusing existing repo for issue ${issueId}`);
|
|
80
|
-
// Update the remote URL (without token) and fetch using credential helper
|
|
81
|
-
try {
|
|
82
|
-
execSync(`git remote set-url origin "${repoUrl}"`, {
|
|
83
|
-
cwd: repoPath,
|
|
84
|
-
stdio: 'pipe',
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
logWarning('Could not update remote URL');
|
|
89
|
-
}
|
|
90
|
-
// Fetch latest changes using credential helper
|
|
91
|
-
// Use execFileSync to avoid shell interpretation of credential helper metacharacters
|
|
92
|
-
try {
|
|
93
|
-
execFileSync('git', [...gitCredentialArgs, 'fetch', 'origin'], {
|
|
94
|
-
cwd: repoPath,
|
|
95
|
-
stdio: 'pipe',
|
|
96
|
-
});
|
|
97
|
-
logInfo('Fetched latest changes from remote');
|
|
98
|
-
}
|
|
99
|
-
catch {
|
|
100
|
-
logWarning('Could not fetch latest changes');
|
|
101
|
-
}
|
|
102
|
-
return { repoPath, freshClone: false };
|
|
103
|
-
}
|
|
104
|
-
// Clone fresh using credential helper
|
|
105
|
-
logInfo(`Cloning ${owner}/${repo} for issue ${issueId}...`);
|
|
106
|
-
// Use execFileSync to avoid shell interpretation of credential helper metacharacters
|
|
107
|
-
try {
|
|
108
|
-
execFileSync('git', [...gitCredentialArgs, 'clone', repoUrl, repoPath], {
|
|
109
|
-
stdio: 'pipe',
|
|
110
|
-
});
|
|
111
|
-
logSuccess(`Cloned ${owner}/${repo} to ${repoPath}`);
|
|
112
|
-
return { repoPath, freshClone: true };
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
logError(`Failed to clone repository: ${error instanceof Error ? error.message : String(error)}`);
|
|
116
|
-
throw error;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Loose validator for a git ref name (tag or branch) coming from callers
|
|
121
|
-
* that pass data originating from external sources (GitHub API, AI output).
|
|
122
|
-
*
|
|
123
|
-
* Rules match `git check-ref-format` plus a length cap. Rejecting bad
|
|
124
|
-
* input early keeps it out of execFileSync argv.
|
|
125
|
-
*/
|
|
126
|
-
export function isSafeGitRef(ref) {
|
|
127
|
-
if (typeof ref !== 'string') {
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
if (ref.length === 0 || ref.length > 100) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
if (/\s/.test(ref)) {
|
|
134
|
-
return false;
|
|
135
|
-
}
|
|
136
|
-
if (/^[-.]/.test(ref)) {
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
if (ref.includes('..') || ref.includes('@{')) {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
return /^[A-Za-z0-9._\-+/@]+$/.test(ref);
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Sync a cloned issue repo to a specific git ref — a tag or a branch.
|
|
146
|
-
*
|
|
147
|
-
* Behaviour:
|
|
148
|
-
* - `git fetch origin --tags --prune` brings in new tags (release tags!) and
|
|
149
|
-
* drops deleted remote branches, using the installation-token credential
|
|
150
|
-
* helper so private repos keep working.
|
|
151
|
-
* - Before switching refs, `git reset --hard HEAD` + `git clean -fd` drops
|
|
152
|
-
* tracked-file edits and untracked files left by a prior run. We skip the
|
|
153
|
-
* `-x` flag so `.gitignore`d content (node_modules, target, dist) survives
|
|
154
|
-
* between runs — matches the convention in pull-request/creator.ts and
|
|
155
|
-
* avoids an expensive reinstall every sync.
|
|
156
|
-
* - For a tag, detached-HEAD checkout of that tag.
|
|
157
|
-
* - For a branch, `checkout -B <branch> origin/<branch>` — force-updates
|
|
158
|
-
* the local branch to the remote tip in one step, which also works on
|
|
159
|
-
* the first sync when the local branch doesn't exist yet.
|
|
160
|
-
*
|
|
161
|
-
* This workspace is edsger-managed; callers should not put local work here.
|
|
162
|
-
*/
|
|
163
|
-
export function syncRepoToRef(repoPath, ref, token) {
|
|
164
|
-
if (!existsSync(join(repoPath, '.git'))) {
|
|
165
|
-
throw new Error(`Not a git repo: ${repoPath}`);
|
|
166
|
-
}
|
|
167
|
-
if (!ref.tag && !ref.branch) {
|
|
168
|
-
throw new Error('syncRepoToRef requires either tag or branch');
|
|
169
|
-
}
|
|
170
|
-
if (ref.tag && !isSafeGitRef(ref.tag)) {
|
|
171
|
-
throw new Error(`Unsafe tag ref: ${JSON.stringify(ref.tag)}`);
|
|
172
|
-
}
|
|
173
|
-
if (ref.branch && !isSafeGitRef(ref.branch)) {
|
|
174
|
-
throw new Error(`Unsafe branch ref: ${JSON.stringify(ref.branch)}`);
|
|
175
|
-
}
|
|
176
|
-
const creds = buildCredentialArgs(token);
|
|
177
|
-
// Timeouts so a hung proxy / credential prompt can't wedge the CLI
|
|
178
|
-
// forever. Network op gets more headroom than local ones.
|
|
179
|
-
const NET_TIMEOUT_MS = 120_000;
|
|
180
|
-
const LOCAL_TIMEOUT_MS = 30_000;
|
|
181
|
-
try {
|
|
182
|
-
execFileSync('git', [...creds, 'fetch', 'origin', '--tags', '--prune'], {
|
|
183
|
-
cwd: repoPath,
|
|
184
|
-
stdio: 'pipe',
|
|
185
|
-
timeout: NET_TIMEOUT_MS,
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
catch {
|
|
189
|
-
logWarning('git fetch failed during sync; working tree may be stale');
|
|
190
|
-
}
|
|
191
|
-
// Discard any residual state from a previous run before switching refs.
|
|
192
|
-
// Use `-fd` (not `-fdx`) to preserve .gitignore'd build output / deps.
|
|
193
|
-
try {
|
|
194
|
-
execFileSync('git', ['reset', '--hard', 'HEAD'], {
|
|
195
|
-
cwd: repoPath,
|
|
196
|
-
stdio: 'pipe',
|
|
197
|
-
timeout: LOCAL_TIMEOUT_MS,
|
|
198
|
-
});
|
|
199
|
-
execFileSync('git', ['clean', '-fd'], {
|
|
200
|
-
cwd: repoPath,
|
|
201
|
-
stdio: 'pipe',
|
|
202
|
-
timeout: LOCAL_TIMEOUT_MS,
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
catch {
|
|
206
|
-
// Non-fatal; subsequent checkout will surface any real issue.
|
|
207
|
-
}
|
|
208
|
-
try {
|
|
209
|
-
if (ref.tag) {
|
|
210
|
-
execFileSync('git', ['-c', 'advice.detachedHead=false', 'checkout', `refs/tags/${ref.tag}`], { cwd: repoPath, stdio: 'pipe', timeout: LOCAL_TIMEOUT_MS });
|
|
211
|
-
logInfo(`Checked out tag ${ref.tag}`);
|
|
212
|
-
}
|
|
213
|
-
else if (ref.branch) {
|
|
214
|
-
// Create-or-reset local branch to origin tip.
|
|
215
|
-
execFileSync('git', ['checkout', '-B', ref.branch, `origin/${ref.branch}`], { cwd: repoPath, stdio: 'pipe', timeout: LOCAL_TIMEOUT_MS });
|
|
216
|
-
logInfo(`Checked out branch ${ref.branch} at origin/${ref.branch}`);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
catch (error) {
|
|
220
|
-
throw new Error(`Failed to checkout ${ref.tag ?? ref.branch}: ${error instanceof Error ? error.message : String(error)}`);
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Set up an issue's repo for work (install deps, etc.)
|
|
225
|
-
* This is called after cloning or reusing a repo
|
|
226
|
-
*/
|
|
227
|
-
export function setupIssueRepo(repoPath) {
|
|
228
|
-
// Check for package.json and install deps if needed
|
|
229
|
-
if (existsSync(join(repoPath, 'package.json'))) {
|
|
230
|
-
try {
|
|
231
|
-
logInfo('Installing dependencies...');
|
|
232
|
-
execSync('npm install', {
|
|
233
|
-
cwd: repoPath,
|
|
234
|
-
stdio: 'pipe',
|
|
235
|
-
});
|
|
236
|
-
logSuccess('Dependencies installed');
|
|
237
|
-
}
|
|
238
|
-
catch {
|
|
239
|
-
logWarning('Could not install dependencies automatically');
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Remove a cloned repo workspace after a successful task. Matches the
|
|
245
|
-
* pr-resolve cleanup convention: best-effort, never throws — a missing dir
|
|
246
|
-
* or locked file shouldn't fail an otherwise-successful run. Callers are
|
|
247
|
-
* expected to skip cleanup on failure so the user can inspect partial state.
|
|
248
|
-
*
|
|
249
|
-
* No-ops when `repoPath` is undefined so callers can pass an optional path
|
|
250
|
-
* without an extra guard at every call site.
|
|
251
|
-
*/
|
|
252
|
-
export function cleanupIssueRepo(repoPath) {
|
|
253
|
-
if (!repoPath) {
|
|
254
|
-
return;
|
|
255
|
-
}
|
|
256
|
-
try {
|
|
257
|
-
rmSync(repoPath, { recursive: true, force: true });
|
|
258
|
-
logInfo(`Cleaned up workspace: ${repoPath}`);
|
|
259
|
-
}
|
|
260
|
-
catch {
|
|
261
|
-
// Best-effort.
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Update the remote token for an issue repo
|
|
266
|
-
* Used when the installation token has been refreshed
|
|
267
|
-
*/
|
|
268
|
-
export function updateRepoToken(repoPath, owner, repo, _token) {
|
|
269
|
-
// Set remote URL without token (credentials are provided per-operation via credential helper)
|
|
270
|
-
try {
|
|
271
|
-
const repoUrl = `https://github.com/${owner}/${repo}.git`;
|
|
272
|
-
execSync(`git remote set-url origin "${repoUrl}"`, {
|
|
273
|
-
cwd: repoPath,
|
|
274
|
-
stdio: 'pipe',
|
|
275
|
-
});
|
|
276
|
-
}
|
|
277
|
-
catch {
|
|
278
|
-
logWarning('Could not update remote URL');
|
|
279
|
-
}
|
|
280
|
-
}
|