edsger 0.77.0 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +95 -210
- package/assets/LICENSE +21 -0
- package/assets/README.md +104 -0
- package/assets/benchmark/base.yaml +286 -0
- package/assets/benchmark/csharp.yaml +68 -0
- package/assets/benchmark/dart.yaml +70 -0
- package/assets/benchmark/go.yaml +71 -0
- package/assets/benchmark/java.yaml +68 -0
- package/assets/benchmark/python.yaml +72 -0
- package/assets/benchmark/typescript.yaml +71 -0
- package/assets/languages.yaml +35 -0
- package/assets/manifest.yaml +39 -0
- package/assets/review/base.yaml +111 -0
- package/assets/review/csharp.yaml +38 -0
- package/assets/review/dart.yaml +40 -0
- package/assets/review/go.yaml +40 -0
- package/assets/review/java.yaml +40 -0
- package/assets/review/python.yaml +41 -0
- package/assets/review/typescript.yaml +40 -0
- package/assets/schema/benchmark.schema.json +87 -0
- package/assets/schema/review.schema.json +73 -0
- package/assets/skills/benchmark/SKILL.md +66 -0
- package/assets/skills/pr-resolve/SKILL.md +58 -0
- package/assets/skills/pr-review/SKILL.md +66 -0
- package/dist/index.js +1348 -1247
- package/dist/index.js.map +1 -0
- package/package.json +58 -53
- package/dist/api/adr.d.ts +0 -48
- package/dist/api/adr.js +0 -139
- package/dist/api/app-store-iap.d.ts +0 -60
- package/dist/api/app-store-iap.js +0 -145
- package/dist/api/app-store.d.ts +0 -93
- package/dist/api/app-store.js +0 -206
- package/dist/api/chat.d.ts +0 -72
- package/dist/api/chat.js +0 -272
- package/dist/api/cross-product.d.ts +0 -33
- package/dist/api/cross-product.js +0 -127
- package/dist/api/financing.d.ts +0 -47
- package/dist/api/financing.js +0 -37
- package/dist/api/github.d.ts +0 -86
- package/dist/api/github.js +0 -203
- package/dist/api/growth.d.ts +0 -81
- package/dist/api/growth.js +0 -75
- package/dist/api/intelligence-normalize.d.ts +0 -25
- package/dist/api/intelligence-normalize.js +0 -103
- package/dist/api/intelligence.d.ts +0 -187
- package/dist/api/intelligence.js +0 -402
- package/dist/api/issues/approval-checker.d.ts +0 -22
- package/dist/api/issues/approval-checker.js +0 -141
- package/dist/api/issues/batch-operations.d.ts +0 -17
- package/dist/api/issues/batch-operations.js +0 -100
- package/dist/api/issues/get-issue.d.ts +0 -5
- package/dist/api/issues/get-issue.js +0 -47
- package/dist/api/issues/index.d.ts +0 -8
- package/dist/api/issues/index.js +0 -10
- package/dist/api/issues/issue-utils.d.ts +0 -25
- package/dist/api/issues/issue-utils.js +0 -133
- package/dist/api/issues/status-updater.d.ts +0 -68
- package/dist/api/issues/status-updater.js +0 -190
- package/dist/api/issues/test-cases.d.ts +0 -29
- package/dist/api/issues/test-cases.js +0 -185
- package/dist/api/issues/update-issue.d.ts +0 -25
- package/dist/api/issues/update-issue.js +0 -127
- package/dist/api/issues/user-stories.d.ts +0 -21
- package/dist/api/issues/user-stories.js +0 -163
- package/dist/api/mcp-client.d.ts +0 -22
- package/dist/api/mcp-client.js +0 -75
- package/dist/api/products/test-cases.d.ts +0 -18
- package/dist/api/products/test-cases.js +0 -51
- package/dist/api/products.d.ts +0 -15
- package/dist/api/products.js +0 -45
- package/dist/api/release-test-cases.d.ts +0 -7
- package/dist/api/release-test-cases.js +0 -59
- package/dist/api/releases.d.ts +0 -41
- package/dist/api/releases.js +0 -117
- package/dist/api/run-sheets.d.ts +0 -22
- package/dist/api/run-sheets.js +0 -13
- package/dist/api/storage.d.ts +0 -13
- package/dist/api/storage.js +0 -29
- package/dist/api/tasks.d.ts +0 -26
- package/dist/api/tasks.js +0 -81
- package/dist/api/test-reports.d.ts +0 -9
- package/dist/api/test-reports.js +0 -43
- package/dist/api/user-psychology.d.ts +0 -101
- package/dist/api/user-psychology.js +0 -143
- package/dist/api/web-deploy.d.ts +0 -67
- package/dist/api/web-deploy.js +0 -199
- package/dist/auth/auth-store.d.ts +0 -98
- package/dist/auth/auth-store.js +0 -194
- package/dist/auth/env-store.d.ts +0 -41
- package/dist/auth/env-store.js +0 -127
- package/dist/auth/login.d.ts +0 -18
- package/dist/auth/login.js +0 -179
- package/dist/commands/adr/index.d.ts +0 -13
- package/dist/commands/adr/index.js +0 -31
- package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
- package/dist/commands/agent-workflow/chat-worker.js +0 -465
- package/dist/commands/agent-workflow/index.d.ts +0 -13
- package/dist/commands/agent-workflow/index.js +0 -107
- package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
- package/dist/commands/agent-workflow/issue-worker.js +0 -65
- package/dist/commands/agent-workflow/processor.d.ts +0 -95
- package/dist/commands/agent-workflow/processor.js +0 -519
- package/dist/commands/analyze-logs/index.d.ts +0 -7
- package/dist/commands/analyze-logs/index.js +0 -34
- package/dist/commands/api-docs/index.d.ts +0 -18
- package/dist/commands/api-docs/index.js +0 -41
- package/dist/commands/app-store/index.d.ts +0 -12
- package/dist/commands/app-store/index.js +0 -69
- package/dist/commands/architecture-diagram/index.d.ts +0 -8
- package/dist/commands/architecture-diagram/index.js +0 -10
- package/dist/commands/build/detect-project.d.ts +0 -52
- package/dist/commands/build/detect-project.js +0 -277
- package/dist/commands/build/index.d.ts +0 -66
- package/dist/commands/build/index.js +0 -544
- package/dist/commands/chat-serve/chat-server.d.ts +0 -114
- package/dist/commands/chat-serve/chat-server.js +0 -339
- package/dist/commands/chat-serve/index.d.ts +0 -20
- package/dist/commands/chat-serve/index.js +0 -58
- package/dist/commands/checklists/index.d.ts +0 -16
- package/dist/commands/checklists/index.js +0 -187
- package/dist/commands/checklists/tools.d.ts +0 -17
- package/dist/commands/checklists/tools.js +0 -19
- package/dist/commands/class-diagram/index.d.ts +0 -7
- package/dist/commands/class-diagram/index.js +0 -9
- package/dist/commands/code-review/index.d.ts +0 -2
- package/dist/commands/code-review/index.js +0 -37
- package/dist/commands/code-review/reviewer.d.ts +0 -3
- package/dist/commands/code-review/reviewer.js +0 -205
- package/dist/commands/config/index.d.ts +0 -16
- package/dist/commands/config/index.js +0 -60
- package/dist/commands/data-flow/index.d.ts +0 -19
- package/dist/commands/data-flow/index.js +0 -55
- package/dist/commands/diagram-shared/index.d.ts +0 -21
- package/dist/commands/diagram-shared/index.js +0 -37
- package/dist/commands/discover/index.d.ts +0 -14
- package/dist/commands/discover/index.js +0 -29
- package/dist/commands/er-diagram/index.d.ts +0 -19
- package/dist/commands/er-diagram/index.js +0 -55
- package/dist/commands/features/index.d.ts +0 -15
- package/dist/commands/features/index.js +0 -34
- package/dist/commands/financing-deck/index.d.ts +0 -8
- package/dist/commands/financing-deck/index.js +0 -66
- package/dist/commands/find-architecture/index.d.ts +0 -15
- package/dist/commands/find-architecture/index.js +0 -50
- package/dist/commands/find-bugs/index.d.ts +0 -13
- package/dist/commands/find-bugs/index.js +0 -48
- package/dist/commands/find-features/index.d.ts +0 -14
- package/dist/commands/find-features/index.js +0 -42
- package/dist/commands/find-smells/index.d.ts +0 -23
- package/dist/commands/find-smells/index.js +0 -74
- package/dist/commands/flowchart/index.d.ts +0 -8
- package/dist/commands/flowchart/index.js +0 -10
- package/dist/commands/growth-analysis/index.d.ts +0 -7
- package/dist/commands/growth-analysis/index.js +0 -89
- package/dist/commands/init/index.d.ts +0 -5
- package/dist/commands/init/index.js +0 -152
- package/dist/commands/init/prompts.d.ts +0 -9
- package/dist/commands/init/prompts.js +0 -128
- package/dist/commands/init/templates.d.ts +0 -9
- package/dist/commands/init/templates.js +0 -264
- package/dist/commands/intelligence/index.d.ts +0 -15
- package/dist/commands/intelligence/index.js +0 -138
- package/dist/commands/issue-analysis/index.d.ts +0 -5
- package/dist/commands/issue-analysis/index.js +0 -9
- package/dist/commands/pr-resolve/index.d.ts +0 -13
- package/dist/commands/pr-resolve/index.js +0 -50
- package/dist/commands/pr-review/index.d.ts +0 -12
- package/dist/commands/pr-review/index.js +0 -47
- package/dist/commands/product-techniques/index.d.ts +0 -15
- package/dist/commands/product-techniques/index.js +0 -37
- package/dist/commands/product-test-cases/index.d.ts +0 -12
- package/dist/commands/product-test-cases/index.js +0 -40
- package/dist/commands/quality-benchmark/index.d.ts +0 -45
- package/dist/commands/quality-benchmark/index.js +0 -247
- package/dist/commands/recipes/index.d.ts +0 -17
- package/dist/commands/recipes/index.js +0 -40
- package/dist/commands/refactor/refactor.d.ts +0 -2
- package/dist/commands/refactor/refactor.js +0 -134
- package/dist/commands/release-sync/index.d.ts +0 -5
- package/dist/commands/release-sync/index.js +0 -38
- package/dist/commands/run-sheet/index.d.ts +0 -6
- package/dist/commands/run-sheet/index.js +0 -48
- package/dist/commands/screen-flow/index.d.ts +0 -18
- package/dist/commands/screen-flow/index.js +0 -54
- package/dist/commands/sequence-diagram/index.d.ts +0 -19
- package/dist/commands/sequence-diagram/index.js +0 -55
- package/dist/commands/session-serve/index.d.ts +0 -32
- package/dist/commands/session-serve/index.js +0 -100
- package/dist/commands/session-turn/index.d.ts +0 -73
- package/dist/commands/session-turn/index.js +0 -254
- package/dist/commands/smoke-test/index.d.ts +0 -5
- package/dist/commands/smoke-test/index.js +0 -40
- package/dist/commands/state-diagram/index.d.ts +0 -7
- package/dist/commands/state-diagram/index.js +0 -9
- package/dist/commands/sync-aws/index.d.ts +0 -16
- package/dist/commands/sync-aws/index.js +0 -214
- package/dist/commands/sync-datadog/index.d.ts +0 -16
- package/dist/commands/sync-datadog/index.js +0 -236
- package/dist/commands/sync-github-issues/index.d.ts +0 -11
- package/dist/commands/sync-github-issues/index.js +0 -42
- package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
- package/dist/commands/sync-github-pull-requests/index.js +0 -42
- package/dist/commands/sync-org-repos/index.d.ts +0 -12
- package/dist/commands/sync-org-repos/index.js +0 -60
- package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
- package/dist/commands/sync-sentry-issues/index.js +0 -73
- package/dist/commands/sync-terraform/index.d.ts +0 -16
- package/dist/commands/sync-terraform/index.js +0 -248
- package/dist/commands/task-worker/index.d.ts +0 -8
- package/dist/commands/task-worker/index.js +0 -34
- package/dist/commands/task-worker/processor.d.ts +0 -23
- package/dist/commands/task-worker/processor.js +0 -84
- package/dist/commands/technical-design/index.d.ts +0 -5
- package/dist/commands/technical-design/index.js +0 -9
- package/dist/commands/test-cases-analysis/index.d.ts +0 -5
- package/dist/commands/test-cases-analysis/index.js +0 -9
- package/dist/commands/user-psychology/index.d.ts +0 -7
- package/dist/commands/user-psychology/index.js +0 -51
- package/dist/commands/user-stories-analysis/index.d.ts +0 -5
- package/dist/commands/user-stories-analysis/index.js +0 -9
- package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
- package/dist/commands/workflow/config/phase-configs.js +0 -132
- package/dist/commands/workflow/core/index.d.ts +0 -8
- package/dist/commands/workflow/core/index.js +0 -12
- package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
- package/dist/commands/workflow/core/issue-filter.js +0 -47
- package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
- package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
- package/dist/commands/workflow/core/state-manager.d.ts +0 -24
- package/dist/commands/workflow/core/state-manager.js +0 -42
- package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
- package/dist/commands/workflow/core/workflow-logger.js +0 -77
- package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
- package/dist/commands/workflow/executors/phase-executor.js +0 -338
- package/dist/commands/workflow/index.d.ts +0 -2
- package/dist/commands/workflow/index.js +0 -34
- package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
- package/dist/commands/workflow/issue-coordinator.js +0 -161
- package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
- package/dist/commands/workflow/phase-orchestrator.js +0 -699
- package/dist/commands/workflow/processor.d.ts +0 -47
- package/dist/commands/workflow/processor.js +0 -149
- package/dist/config/issue-status.d.ts +0 -29
- package/dist/config/issue-status.js +0 -44
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -79
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +0 -36
- package/dist/errors/index.d.ts +0 -68
- package/dist/errors/index.js +0 -129
- package/dist/index.d.ts +0 -4
- package/dist/phases/adr-generation/agent.d.ts +0 -6
- package/dist/phases/adr-generation/agent.js +0 -69
- package/dist/phases/adr-generation/index.d.ts +0 -15
- package/dist/phases/adr-generation/index.js +0 -66
- package/dist/phases/adr-generation/parse.d.ts +0 -12
- package/dist/phases/adr-generation/parse.js +0 -123
- package/dist/phases/adr-generation/prompts.d.ts +0 -8
- package/dist/phases/adr-generation/prompts.js +0 -35
- package/dist/phases/analyze-logs/agent.d.ts +0 -11
- package/dist/phases/analyze-logs/agent.js +0 -66
- package/dist/phases/analyze-logs/index.d.ts +0 -23
- package/dist/phases/analyze-logs/index.js +0 -152
- package/dist/phases/analyze-logs/prompts.d.ts +0 -3
- package/dist/phases/analyze-logs/prompts.js +0 -27
- package/dist/phases/api-docs/index.d.ts +0 -47
- package/dist/phases/api-docs/index.js +0 -254
- package/dist/phases/api-docs/mcp-server.d.ts +0 -25
- package/dist/phases/api-docs/mcp-server.js +0 -82
- package/dist/phases/api-docs/prompts.d.ts +0 -16
- package/dist/phases/api-docs/prompts.js +0 -65
- package/dist/phases/api-docs/types.d.ts +0 -22
- package/dist/phases/api-docs/types.js +0 -10
- package/dist/phases/app-store-generation/agent.d.ts +0 -2
- package/dist/phases/app-store-generation/agent.js +0 -177
- package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
- package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
- package/dist/phases/app-store-generation/context.d.ts +0 -21
- package/dist/phases/app-store-generation/context.js +0 -78
- package/dist/phases/app-store-generation/index.d.ts +0 -20
- package/dist/phases/app-store-generation/index.js +0 -157
- package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
- package/dist/phases/app-store-generation/inter-font.js +0 -49
- package/dist/phases/app-store-generation/prompts.d.ts +0 -43
- package/dist/phases/app-store-generation/prompts.js +0 -73
- package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
- package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
- package/dist/phases/app-store-generation/uploader.d.ts +0 -19
- package/dist/phases/app-store-generation/uploader.js +0 -150
- package/dist/phases/architecture-diagram/index.d.ts +0 -15
- package/dist/phases/architecture-diagram/index.js +0 -51
- package/dist/phases/autonomous/index.d.ts +0 -32
- package/dist/phases/autonomous/index.js +0 -412
- package/dist/phases/autonomous/prompts.d.ts +0 -5
- package/dist/phases/autonomous/prompts.js +0 -31
- package/dist/phases/branch-planning/context.d.ts +0 -14
- package/dist/phases/branch-planning/context.js +0 -43
- package/dist/phases/branch-planning/index.d.ts +0 -25
- package/dist/phases/branch-planning/index.js +0 -404
- package/dist/phases/branch-planning/outcome.d.ts +0 -28
- package/dist/phases/branch-planning/outcome.js +0 -115
- package/dist/phases/branch-planning/prompts.d.ts +0 -41
- package/dist/phases/branch-planning/prompts.js +0 -157
- package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
- package/dist/phases/bug-fixing/analyzer.js +0 -247
- package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
- package/dist/phases/bug-fixing/context-fetcher.js +0 -137
- package/dist/phases/bug-fixing/index.d.ts +0 -7
- package/dist/phases/bug-fixing/index.js +0 -7
- package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
- package/dist/phases/bug-fixing/mcp-server.js +0 -19
- package/dist/phases/bug-fixing/prompts.d.ts +0 -2
- package/dist/phases/bug-fixing/prompts.js +0 -9
- package/dist/phases/chat-processor/context.d.ts +0 -38
- package/dist/phases/chat-processor/context.js +0 -91
- package/dist/phases/chat-processor/index.d.ts +0 -49
- package/dist/phases/chat-processor/index.js +0 -482
- package/dist/phases/chat-processor/product-context.d.ts +0 -36
- package/dist/phases/chat-processor/product-context.js +0 -113
- package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
- package/dist/phases/chat-processor/product-prompts.js +0 -65
- package/dist/phases/chat-processor/product-tools.d.ts +0 -8
- package/dist/phases/chat-processor/product-tools.js +0 -11
- package/dist/phases/chat-processor/prompts.d.ts +0 -35
- package/dist/phases/chat-processor/prompts.js +0 -213
- package/dist/phases/chat-processor/tools.d.ts +0 -8
- package/dist/phases/chat-processor/tools.js +0 -11
- package/dist/phases/class-diagram/index.d.ts +0 -14
- package/dist/phases/class-diagram/index.js +0 -76
- package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
- package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
- package/dist/phases/code-implementation/context.d.ts +0 -17
- package/dist/phases/code-implementation/context.js +0 -88
- package/dist/phases/code-implementation/index.d.ts +0 -33
- package/dist/phases/code-implementation/index.js +0 -926
- package/dist/phases/code-implementation/outcome.d.ts +0 -47
- package/dist/phases/code-implementation/outcome.js +0 -53
- package/dist/phases/code-implementation/prompts.d.ts +0 -8
- package/dist/phases/code-implementation/prompts.js +0 -166
- package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
- package/dist/phases/code-implementation-verification/agent.js +0 -225
- package/dist/phases/code-implementation-verification/index.d.ts +0 -27
- package/dist/phases/code-implementation-verification/index.js +0 -121
- package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
- package/dist/phases/code-implementation-verification/prompts.js +0 -90
- package/dist/phases/code-refine/context.d.ts +0 -99
- package/dist/phases/code-refine/context.js +0 -457
- package/dist/phases/code-refine/index.d.ts +0 -59
- package/dist/phases/code-refine/index.js +0 -348
- package/dist/phases/code-refine/prompts.d.ts +0 -5
- package/dist/phases/code-refine/prompts.js +0 -162
- package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
- package/dist/phases/code-refine/refine-iteration.js +0 -166
- package/dist/phases/code-refine/retry-handler.d.ts +0 -17
- package/dist/phases/code-refine/retry-handler.js +0 -87
- package/dist/phases/code-refine-verification/github.d.ts +0 -54
- package/dist/phases/code-refine-verification/github.js +0 -328
- package/dist/phases/code-refine-verification/index.d.ts +0 -11
- package/dist/phases/code-refine-verification/index.js +0 -260
- package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
- package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
- package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
- package/dist/phases/code-refine-verification/prompts.js +0 -119
- package/dist/phases/code-refine-verification/types.d.ts +0 -74
- package/dist/phases/code-refine-verification/types.js +0 -4
- package/dist/phases/code-review/context.d.ts +0 -96
- package/dist/phases/code-review/context.js +0 -278
- package/dist/phases/code-review/diff-utils.d.ts +0 -36
- package/dist/phases/code-review/diff-utils.js +0 -100
- package/dist/phases/code-review/index.d.ts +0 -40
- package/dist/phases/code-review/index.js +0 -627
- package/dist/phases/code-testing/analyzer.d.ts +0 -19
- package/dist/phases/code-testing/analyzer.js +0 -215
- package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/code-testing/context-fetcher.js +0 -83
- package/dist/phases/code-testing/index.d.ts +0 -2
- package/dist/phases/code-testing/index.js +0 -2
- package/dist/phases/code-testing/prompts.d.ts +0 -3
- package/dist/phases/code-testing/prompts.js +0 -63
- package/dist/phases/data-flow/index.d.ts +0 -28
- package/dist/phases/data-flow/index.js +0 -286
- package/dist/phases/data-flow/mcp-server.d.ts +0 -85
- package/dist/phases/data-flow/mcp-server.js +0 -140
- package/dist/phases/data-flow/prompts.d.ts +0 -14
- package/dist/phases/data-flow/prompts.js +0 -36
- package/dist/phases/data-flow/types.d.ts +0 -71
- package/dist/phases/data-flow/types.js +0 -86
- package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
- package/dist/phases/diagram-shared/clone-repos.js +0 -153
- package/dist/phases/diagram-shared/generate.d.ts +0 -42
- package/dist/phases/diagram-shared/generate.js +0 -162
- package/dist/phases/diagram-shared/graph.d.ts +0 -62
- package/dist/phases/diagram-shared/graph.js +0 -169
- package/dist/phases/diagram-shared/mcp.d.ts +0 -35
- package/dist/phases/diagram-shared/mcp.js +0 -68
- package/dist/phases/diagram-shared/prompts.d.ts +0 -23
- package/dist/phases/diagram-shared/prompts.js +0 -35
- package/dist/phases/discover-services/index.d.ts +0 -29
- package/dist/phases/discover-services/index.js +0 -528
- package/dist/phases/er-diagram/index.d.ts +0 -28
- package/dist/phases/er-diagram/index.js +0 -290
- package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
- package/dist/phases/er-diagram/mcp-server.js +0 -144
- package/dist/phases/er-diagram/prompts.d.ts +0 -14
- package/dist/phases/er-diagram/prompts.js +0 -36
- package/dist/phases/er-diagram/types.d.ts +0 -76
- package/dist/phases/er-diagram/types.js +0 -84
- package/dist/phases/features/index.d.ts +0 -65
- package/dist/phases/features/index.js +0 -292
- package/dist/phases/features/mcp-server.d.ts +0 -61
- package/dist/phases/features/mcp-server.js +0 -165
- package/dist/phases/features/prompts.d.ts +0 -32
- package/dist/phases/features/prompts.js +0 -92
- package/dist/phases/features/types.d.ts +0 -34
- package/dist/phases/features/types.js +0 -15
- package/dist/phases/financing-deck/agent.d.ts +0 -1
- package/dist/phases/financing-deck/agent.js +0 -96
- package/dist/phases/financing-deck/context.d.ts +0 -13
- package/dist/phases/financing-deck/context.js +0 -69
- package/dist/phases/financing-deck/index.d.ts +0 -15
- package/dist/phases/financing-deck/index.js +0 -89
- package/dist/phases/financing-deck/prompts.d.ts +0 -2
- package/dist/phases/financing-deck/prompts.js +0 -94
- package/dist/phases/find-architecture/index.d.ts +0 -47
- package/dist/phases/find-architecture/index.js +0 -268
- package/dist/phases/find-architecture/prompts.d.ts +0 -32
- package/dist/phases/find-architecture/prompts.js +0 -129
- package/dist/phases/find-architecture/state.d.ts +0 -21
- package/dist/phases/find-architecture/state.js +0 -17
- package/dist/phases/find-architecture/types.d.ts +0 -55
- package/dist/phases/find-architecture/types.js +0 -69
- package/dist/phases/find-bugs/index.d.ts +0 -33
- package/dist/phases/find-bugs/index.js +0 -238
- package/dist/phases/find-bugs/prompts.d.ts +0 -22
- package/dist/phases/find-bugs/prompts.js +0 -101
- package/dist/phases/find-bugs/state.d.ts +0 -19
- package/dist/phases/find-bugs/state.js +0 -13
- package/dist/phases/find-bugs/types.d.ts +0 -21
- package/dist/phases/find-bugs/types.js +0 -16
- package/dist/phases/find-features/index.d.ts +0 -40
- package/dist/phases/find-features/index.js +0 -328
- package/dist/phases/find-features/prompts.d.ts +0 -43
- package/dist/phases/find-features/prompts.js +0 -138
- package/dist/phases/find-features/state.d.ts +0 -25
- package/dist/phases/find-features/state.js +0 -22
- package/dist/phases/find-features/types.d.ts +0 -27
- package/dist/phases/find-features/types.js +0 -16
- package/dist/phases/find-shared/baseline.d.ts +0 -45
- package/dist/phases/find-shared/baseline.js +0 -56
- package/dist/phases/find-shared/custom-rules.d.ts +0 -39
- package/dist/phases/find-shared/custom-rules.js +0 -75
- package/dist/phases/find-shared/detect-context.d.ts +0 -40
- package/dist/phases/find-shared/detect-context.js +0 -247
- package/dist/phases/find-shared/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -54
- package/dist/phases/find-shared/mcp.js +0 -127
- package/dist/phases/find-shared/rule-config.d.ts +0 -37
- package/dist/phases/find-shared/rule-config.js +0 -67
- package/dist/phases/find-shared/rule-packs.d.ts +0 -65
- package/dist/phases/find-shared/rule-packs.js +0 -124
- package/dist/phases/find-shared/scan-state.d.ts +0 -33
- package/dist/phases/find-shared/scan-state.js +0 -112
- package/dist/phases/find-shared/scoped-read.d.ts +0 -12
- package/dist/phases/find-shared/scoped-read.js +0 -33
- package/dist/phases/find-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -305
- package/dist/phases/find-smells/prompts.d.ts +0 -31
- package/dist/phases/find-smells/prompts.js +0 -130
- package/dist/phases/find-smells/state.d.ts +0 -21
- package/dist/phases/find-smells/state.js +0 -17
- package/dist/phases/find-smells/types.d.ts +0 -51
- package/dist/phases/find-smells/types.js +0 -64
- package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
- package/dist/phases/flow-shared/clone-repos.js +0 -153
- package/dist/phases/flowchart/index.d.ts +0 -15
- package/dist/phases/flowchart/index.js +0 -50
- package/dist/phases/functional-testing/analyzer.d.ts +0 -46
- package/dist/phases/functional-testing/analyzer.js +0 -622
- package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/functional-testing/context-fetcher.js +0 -83
- package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
- package/dist/phases/functional-testing/http-fallback.js +0 -156
- package/dist/phases/functional-testing/index.d.ts +0 -4
- package/dist/phases/functional-testing/index.js +0 -4
- package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
- package/dist/phases/functional-testing/mcp-server.js +0 -13
- package/dist/phases/functional-testing/prompts.d.ts +0 -2
- package/dist/phases/functional-testing/prompts.js +0 -58
- package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
- package/dist/phases/functional-testing/test-report-creator.js +0 -306
- package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
- package/dist/phases/functional-testing/test-retry-handler.js +0 -70
- package/dist/phases/growth-analysis/agent.d.ts +0 -2
- package/dist/phases/growth-analysis/agent.js +0 -107
- package/dist/phases/growth-analysis/context.d.ts +0 -23
- package/dist/phases/growth-analysis/context.js +0 -137
- package/dist/phases/growth-analysis/index.d.ts +0 -32
- package/dist/phases/growth-analysis/index.js +0 -226
- package/dist/phases/growth-analysis/prompts.d.ts +0 -2
- package/dist/phases/growth-analysis/prompts.js +0 -45
- package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
- package/dist/phases/intelligence-analysis/agent.js +0 -338
- package/dist/phases/intelligence-analysis/context.d.ts +0 -23
- package/dist/phases/intelligence-analysis/context.js +0 -142
- package/dist/phases/intelligence-analysis/index.d.ts +0 -58
- package/dist/phases/intelligence-analysis/index.js +0 -244
- package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
- package/dist/phases/intelligence-analysis/prompts.js +0 -62
- package/dist/phases/issue-analysis/agent.d.ts +0 -21
- package/dist/phases/issue-analysis/agent.js +0 -153
- package/dist/phases/issue-analysis/context.d.ts +0 -20
- package/dist/phases/issue-analysis/context.js +0 -93
- package/dist/phases/issue-analysis/index.d.ts +0 -8
- package/dist/phases/issue-analysis/index.js +0 -147
- package/dist/phases/issue-analysis/outcome.d.ts +0 -10
- package/dist/phases/issue-analysis/outcome.js +0 -42
- package/dist/phases/issue-analysis/prompts.d.ts +0 -8
- package/dist/phases/issue-analysis/prompts.js +0 -99
- package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
- package/dist/phases/issue-analysis-verification/agent.js +0 -124
- package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
- package/dist/phases/issue-analysis-verification/index.js +0 -79
- package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
- package/dist/phases/issue-analysis-verification/prompts.js +0 -75
- package/dist/phases/output-contracts.d.ts +0 -7
- package/dist/phases/output-contracts.js +0 -1201
- package/dist/phases/pr-execution/context.d.ts +0 -32
- package/dist/phases/pr-execution/context.js +0 -246
- package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
- package/dist/phases/pr-execution/file-assigner.js +0 -287
- package/dist/phases/pr-execution/index.d.ts +0 -22
- package/dist/phases/pr-execution/index.js +0 -401
- package/dist/phases/pr-execution/outcome.d.ts +0 -24
- package/dist/phases/pr-execution/outcome.js +0 -34
- package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
- package/dist/phases/pr-execution/pr-executor.js +0 -78
- package/dist/phases/pr-execution/prompts.d.ts +0 -27
- package/dist/phases/pr-execution/prompts.js +0 -131
- package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
- package/dist/phases/pr-resolve/checklist-learner.js +0 -153
- package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
- package/dist/phases/pr-resolve/github-reply.js +0 -75
- package/dist/phases/pr-resolve/index.d.ts +0 -33
- package/dist/phases/pr-resolve/index.js +0 -272
- package/dist/phases/pr-resolve/prompts.d.ts +0 -17
- package/dist/phases/pr-resolve/prompts.js +0 -107
- package/dist/phases/pr-resolve/types.d.ts +0 -18
- package/dist/phases/pr-resolve/types.js +0 -14
- package/dist/phases/pr-resolve/workspace.d.ts +0 -45
- package/dist/phases/pr-resolve/workspace.js +0 -174
- package/dist/phases/pr-review/index.d.ts +0 -27
- package/dist/phases/pr-review/index.js +0 -209
- package/dist/phases/pr-review/prompts.d.ts +0 -5
- package/dist/phases/pr-review/prompts.js +0 -87
- package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
- package/dist/phases/pr-shared/agent-utils.js +0 -112
- package/dist/phases/pr-shared/context.d.ts +0 -24
- package/dist/phases/pr-shared/context.js +0 -78
- package/dist/phases/pr-shared/status.d.ts +0 -18
- package/dist/phases/pr-shared/status.js +0 -37
- package/dist/phases/pr-splitting/context.d.ts +0 -28
- package/dist/phases/pr-splitting/context.js +0 -182
- package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
- package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
- package/dist/phases/pr-splitting/index.d.ts +0 -36
- package/dist/phases/pr-splitting/index.js +0 -413
- package/dist/phases/pr-splitting/outcome.d.ts +0 -24
- package/dist/phases/pr-splitting/outcome.js +0 -114
- package/dist/phases/pr-splitting/prompts.d.ts +0 -43
- package/dist/phases/pr-splitting/prompts.js +0 -154
- package/dist/phases/product-techniques/index.d.ts +0 -52
- package/dist/phases/product-techniques/index.js +0 -268
- package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
- package/dist/phases/product-techniques/mcp-server.js +0 -96
- package/dist/phases/product-techniques/prompts.d.ts +0 -19
- package/dist/phases/product-techniques/prompts.js +0 -66
- package/dist/phases/product-techniques/types.d.ts +0 -13
- package/dist/phases/product-techniques/types.js +0 -13
- package/dist/phases/product-test-cases/index.d.ts +0 -25
- package/dist/phases/product-test-cases/index.js +0 -174
- package/dist/phases/product-test-cases/prompts.d.ts +0 -24
- package/dist/phases/product-test-cases/prompts.js +0 -80
- package/dist/phases/product-test-cases/types.d.ts +0 -17
- package/dist/phases/product-test-cases/types.js +0 -27
- package/dist/phases/pull-request/creator.d.ts +0 -30
- package/dist/phases/pull-request/creator.js +0 -319
- package/dist/phases/pull-request/handler.d.ts +0 -15
- package/dist/phases/pull-request/handler.js +0 -92
- package/dist/phases/quality-benchmark/gate.d.ts +0 -50
- package/dist/phases/quality-benchmark/gate.js +0 -91
- package/dist/phases/quality-benchmark/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -208
- package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
- package/dist/phases/quality-benchmark/mcp-server.js +0 -252
- package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
- package/dist/phases/quality-benchmark/parsers.js +0 -1311
- package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
- package/dist/phases/quality-benchmark/prompts.js +0 -154
- package/dist/phases/quality-benchmark/rubric.md +0 -1211
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
- package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
- package/dist/phases/quality-benchmark/tool-runner.js +0 -399
- package/dist/phases/quality-benchmark/types.d.ts +0 -319
- package/dist/phases/quality-benchmark/types.js +0 -23
- package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
- package/dist/phases/quality-benchmark/workspace.js +0 -110
- package/dist/phases/recipes/index.d.ts +0 -63
- package/dist/phases/recipes/index.js +0 -358
- package/dist/phases/recipes/mcp-server.d.ts +0 -66
- package/dist/phases/recipes/mcp-server.js +0 -229
- package/dist/phases/recipes/prompts.d.ts +0 -35
- package/dist/phases/recipes/prompts.js +0 -105
- package/dist/phases/recipes/types.d.ts +0 -42
- package/dist/phases/recipes/types.js +0 -16
- package/dist/phases/release-sync/github.d.ts +0 -66
- package/dist/phases/release-sync/github.js +0 -140
- package/dist/phases/release-sync/index.d.ts +0 -24
- package/dist/phases/release-sync/index.js +0 -156
- package/dist/phases/release-sync/snapshot.d.ts +0 -27
- package/dist/phases/release-sync/snapshot.js +0 -158
- package/dist/phases/run-sheet/agent.d.ts +0 -49
- package/dist/phases/run-sheet/agent.js +0 -156
- package/dist/phases/run-sheet/index.d.ts +0 -57
- package/dist/phases/run-sheet/index.js +0 -392
- package/dist/phases/screen-flow/index.d.ts +0 -26
- package/dist/phases/screen-flow/index.js +0 -349
- package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
- package/dist/phases/screen-flow/mcp-server.js +0 -272
- package/dist/phases/screen-flow/prompts.d.ts +0 -19
- package/dist/phases/screen-flow/prompts.js +0 -43
- package/dist/phases/screen-flow/theme.d.ts +0 -19
- package/dist/phases/screen-flow/theme.js +0 -193
- package/dist/phases/screen-flow/types.d.ts +0 -137
- package/dist/phases/screen-flow/types.js +0 -81
- package/dist/phases/sequence-diagram/index.d.ts +0 -30
- package/dist/phases/sequence-diagram/index.js +0 -290
- package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
- package/dist/phases/sequence-diagram/mcp-server.js +0 -134
- package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
- package/dist/phases/sequence-diagram/prompts.js +0 -36
- package/dist/phases/sequence-diagram/types.d.ts +0 -52
- package/dist/phases/sequence-diagram/types.js +0 -93
- package/dist/phases/smoke-test/agent.d.ts +0 -12
- package/dist/phases/smoke-test/agent.js +0 -93
- package/dist/phases/smoke-test/index.d.ts +0 -22
- package/dist/phases/smoke-test/index.js +0 -241
- package/dist/phases/smoke-test/prompts.d.ts +0 -15
- package/dist/phases/smoke-test/prompts.js +0 -35
- package/dist/phases/state-diagram/index.d.ts +0 -15
- package/dist/phases/state-diagram/index.js +0 -53
- package/dist/phases/sync-github-issues/index.d.ts +0 -41
- package/dist/phases/sync-github-issues/index.js +0 -187
- package/dist/phases/sync-github-issues/state.d.ts +0 -26
- package/dist/phases/sync-github-issues/state.js +0 -18
- package/dist/phases/sync-github-issues/types.d.ts +0 -35
- package/dist/phases/sync-github-issues/types.js +0 -6
- package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
- package/dist/phases/sync-github-pull-requests/index.js +0 -210
- package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
- package/dist/phases/sync-github-pull-requests/state.js +0 -16
- package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
- package/dist/phases/sync-github-pull-requests/types.js +0 -1
- package/dist/phases/sync-org-repos/index.d.ts +0 -28
- package/dist/phases/sync-org-repos/index.js +0 -133
- package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
- package/dist/phases/sync-sentry-issues/index.js +0 -153
- package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
- package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
- package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
- package/dist/phases/sync-sentry-issues/state.js +0 -18
- package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
- package/dist/phases/sync-sentry-issues/types.js +0 -6
- package/dist/phases/sync-shared/mcp.d.ts +0 -81
- package/dist/phases/sync-shared/mcp.js +0 -111
- package/dist/phases/task/agent.d.ts +0 -10
- package/dist/phases/task/agent.js +0 -83
- package/dist/phases/task/context.d.ts +0 -16
- package/dist/phases/task/context.js +0 -50
- package/dist/phases/task/index.d.ts +0 -17
- package/dist/phases/task/index.js +0 -54
- package/dist/phases/task/prompts.d.ts +0 -9
- package/dist/phases/task/prompts.js +0 -21
- package/dist/phases/technical-design/context.d.ts +0 -12
- package/dist/phases/technical-design/context.js +0 -39
- package/dist/phases/technical-design/index.d.ts +0 -21
- package/dist/phases/technical-design/index.js +0 -456
- package/dist/phases/technical-design/outcome.d.ts +0 -25
- package/dist/phases/technical-design/outcome.js +0 -41
- package/dist/phases/technical-design/prompts.d.ts +0 -8
- package/dist/phases/technical-design/prompts.js +0 -210
- package/dist/phases/technical-design-verification/agent.d.ts +0 -53
- package/dist/phases/technical-design-verification/agent.js +0 -186
- package/dist/phases/technical-design-verification/index.d.ts +0 -38
- package/dist/phases/technical-design-verification/index.js +0 -152
- package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
- package/dist/phases/technical-design-verification/prompts.js +0 -143
- package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
- package/dist/phases/test-cases-analysis/agent.js +0 -105
- package/dist/phases/test-cases-analysis/context.d.ts +0 -15
- package/dist/phases/test-cases-analysis/context.js +0 -86
- package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
- package/dist/phases/test-cases-analysis/formatters.js +0 -35
- package/dist/phases/test-cases-analysis/index.d.ts +0 -9
- package/dist/phases/test-cases-analysis/index.js +0 -175
- package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
- package/dist/phases/test-cases-analysis/outcome.js +0 -146
- package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
- package/dist/phases/test-cases-analysis/prompts.js +0 -171
- package/dist/phases/user-psychology/agent.d.ts +0 -16
- package/dist/phases/user-psychology/agent.js +0 -105
- package/dist/phases/user-psychology/context.d.ts +0 -10
- package/dist/phases/user-psychology/context.js +0 -65
- package/dist/phases/user-psychology/index.d.ts +0 -18
- package/dist/phases/user-psychology/index.js +0 -96
- package/dist/phases/user-psychology/prompts.d.ts +0 -2
- package/dist/phases/user-psychology/prompts.js +0 -41
- package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
- package/dist/phases/user-stories-analysis/agent.js +0 -105
- package/dist/phases/user-stories-analysis/context.d.ts +0 -15
- package/dist/phases/user-stories-analysis/context.js +0 -86
- package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
- package/dist/phases/user-stories-analysis/formatters.js +0 -32
- package/dist/phases/user-stories-analysis/index.d.ts +0 -9
- package/dist/phases/user-stories-analysis/index.js +0 -175
- package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
- package/dist/phases/user-stories-analysis/outcome.js +0 -146
- package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
- package/dist/phases/user-stories-analysis/prompts.js +0 -194
- package/dist/services/audit-logs.d.ts +0 -73
- package/dist/services/audit-logs.js +0 -174
- package/dist/services/branches.d.ts +0 -103
- package/dist/services/branches.js +0 -391
- package/dist/services/checklist.d.ts +0 -100
- package/dist/services/checklist.js +0 -259
- package/dist/services/coaching/coaching-agent.d.ts +0 -39
- package/dist/services/coaching/coaching-agent.js +0 -308
- package/dist/services/coaching/coaching-loop.d.ts +0 -62
- package/dist/services/coaching/coaching-loop.js +0 -265
- package/dist/services/coaching/index.d.ts +0 -8
- package/dist/services/coaching/index.js +0 -8
- package/dist/services/coaching/phase-coaching.d.ts +0 -47
- package/dist/services/coaching/phase-coaching.js +0 -60
- package/dist/services/coaching/self-rating.d.ts +0 -26
- package/dist/services/coaching/self-rating.js +0 -153
- package/dist/services/feedbacks.d.ts +0 -57
- package/dist/services/feedbacks.js +0 -264
- package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
- package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
- package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
- package/dist/services/phase-hooks/hook-executor.js +0 -167
- package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
- package/dist/services/phase-hooks/hook-logging.js +0 -41
- package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
- package/dist/services/phase-hooks/hook-runner.js +0 -83
- package/dist/services/phase-hooks/index.d.ts +0 -10
- package/dist/services/phase-hooks/index.js +0 -9
- package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
- package/dist/services/phase-hooks/plugin-loader.js +0 -207
- package/dist/services/phase-hooks/types.d.ts +0 -69
- package/dist/services/phase-hooks/types.js +0 -8
- package/dist/services/phase-ratings.d.ts +0 -70
- package/dist/services/phase-ratings.js +0 -143
- package/dist/services/product-logs.d.ts +0 -31
- package/dist/services/product-logs.js +0 -94
- package/dist/services/pull-requests.d.ts +0 -57
- package/dist/services/pull-requests.js +0 -186
- package/dist/services/quality-reports.d.ts +0 -45
- package/dist/services/quality-reports.js +0 -93
- package/dist/services/repo-config.d.ts +0 -17
- package/dist/services/repo-config.js +0 -50
- package/dist/services/skill-resolver.d.ts +0 -46
- package/dist/services/skill-resolver.js +0 -123
- package/dist/services/video/device-frames.d.ts +0 -34
- package/dist/services/video/device-frames.js +0 -513
- package/dist/services/video/index.d.ts +0 -66
- package/dist/services/video/index.js +0 -238
- package/dist/services/video/retry.d.ts +0 -20
- package/dist/services/video/retry.js +0 -76
- package/dist/services/video/screenshot-generator.d.ts +0 -69
- package/dist/services/video/screenshot-generator.js +0 -259
- package/dist/services/video/tts-generator.d.ts +0 -40
- package/dist/services/video/tts-generator.js +0 -121
- package/dist/services/video/video-assembler.d.ts +0 -45
- package/dist/services/video/video-assembler.js +0 -351
- package/dist/services/video/video-uploader.d.ts +0 -28
- package/dist/services/video/video-uploader.js +0 -108
- package/dist/skills/phase/adr-generation/SKILL.md +0 -51
- package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
- package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
- package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
- package/dist/skills/phase/autonomous/SKILL.md +0 -52
- package/dist/skills/phase/branch-planning/SKILL.md +0 -55
- package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
- package/dist/skills/phase/class-diagram/SKILL.md +0 -44
- package/dist/skills/phase/code-implementation/SKILL.md +0 -68
- package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
- package/dist/skills/phase/code-refine/SKILL.md +0 -62
- package/dist/skills/phase/code-testing/SKILL.md +0 -78
- package/dist/skills/phase/data-flow/SKILL.md +0 -82
- package/dist/skills/phase/er-diagram/SKILL.md +0 -71
- package/dist/skills/phase/flowchart/SKILL.md +0 -38
- package/dist/skills/phase/functional-testing/SKILL.md +0 -62
- package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
- package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
- package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
- package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
- package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
- package/dist/skills/phase/pr-execution/SKILL.md +0 -69
- package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
- package/dist/skills/phase/screen-flow/SKILL.md +0 -78
- package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
- package/dist/skills/phase/smoke-test/SKILL.md +0 -80
- package/dist/skills/phase/state-diagram/SKILL.md +0 -38
- package/dist/skills/phase/task/SKILL.md +0 -19
- package/dist/skills/phase/technical-design/SKILL.md +0 -75
- package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
- package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
- package/dist/skills/phase/user-psychology/SKILL.md +0 -135
- package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
- package/dist/supabase/client.d.ts +0 -34
- package/dist/supabase/client.js +0 -123
- package/dist/system/session-manager.d.ts +0 -67
- package/dist/system/session-manager.js +0 -300
- package/dist/system/sleep-notification.d.ts +0 -15
- package/dist/system/sleep-notification.js +0 -108
- package/dist/system/sleep-prevention.d.ts +0 -20
- package/dist/system/sleep-prevention.js +0 -112
- package/dist/tools/bootstrap.d.ts +0 -45
- package/dist/tools/bootstrap.js +0 -50
- package/dist/types/external-sources.d.ts +0 -22
- package/dist/types/external-sources.js +0 -23
- package/dist/types/index.d.ts +0 -206
- package/dist/types/index.js +0 -1
- package/dist/types/issues.d.ts +0 -37
- package/dist/types/issues.js +0 -1
- package/dist/types/llm-responses.d.ts +0 -114
- package/dist/types/llm-responses.js +0 -9
- package/dist/types/pipeline.d.ts +0 -28
- package/dist/types/pipeline.js +0 -4
- package/dist/updater/auto-updater.d.ts +0 -39
- package/dist/updater/auto-updater.js +0 -134
- package/dist/utils/conflict-resolver.d.ts +0 -49
- package/dist/utils/conflict-resolver.js +0 -201
- package/dist/utils/formatters.d.ts +0 -42
- package/dist/utils/formatters.js +0 -166
- package/dist/utils/git-branch-manager-async.d.ts +0 -127
- package/dist/utils/git-branch-manager-async.js +0 -425
- package/dist/utils/git-branch-manager.d.ts +0 -160
- package/dist/utils/git-branch-manager.js +0 -613
- package/dist/utils/git-push.d.ts +0 -43
- package/dist/utils/git-push.js +0 -136
- package/dist/utils/github-repo-info.d.ts +0 -26
- package/dist/utils/github-repo-info.js +0 -45
- package/dist/utils/image-downloader.d.ts +0 -32
- package/dist/utils/image-downloader.js +0 -152
- package/dist/utils/issue-phase-cli.d.ts +0 -26
- package/dist/utils/issue-phase-cli.js +0 -44
- package/dist/utils/json-extract.d.ts +0 -6
- package/dist/utils/json-extract.js +0 -44
- package/dist/utils/json-extractor.d.ts +0 -27
- package/dist/utils/json-extractor.js +0 -102
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.js +0 -167
- package/dist/utils/pipeline-logger.d.ts +0 -8
- package/dist/utils/pipeline-logger.js +0 -38
- package/dist/utils/validation.d.ts +0 -68
- package/dist/utils/validation.js +0 -229
- package/dist/utils/workflow-utils.d.ts +0 -22
- package/dist/utils/workflow-utils.js +0 -48
- package/dist/workspace/session-workspace.d.ts +0 -43
- package/dist/workspace/session-workspace.js +0 -90
- package/dist/workspace/workspace-manager.d.ts +0 -105
- package/dist/workspace/workspace-manager.js +0 -280
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompts for the recipes phase.
|
|
3
|
-
*
|
|
4
|
-
* Agent's job: explore the cloned product repo and identify each non-trivial
|
|
5
|
-
* CAPABILITY the product implements ("AI video generation", "PDF export",
|
|
6
|
-
* "real-time presence", "Stripe subscription billing", etc.) and document
|
|
7
|
-
* HOW the capability is built — which services / tools / libraries are
|
|
8
|
-
* chained together. NOT a tech-stack inventory.
|
|
9
|
-
*
|
|
10
|
-
* The agent is fed the team's existing recipes (compact form: id + name +
|
|
11
|
-
* summary + services) and must, for each capability it identifies, pick one
|
|
12
|
-
* of:
|
|
13
|
-
* - link_recipe — existing recipe describes this capability correctly,
|
|
14
|
-
* just record this product uses it
|
|
15
|
-
* - update_recipe — existing recipe is close but the agent has better /
|
|
16
|
-
* more accurate info from this repo; overwrite
|
|
17
|
-
* - create_recipe — no existing recipe matches; new entry
|
|
18
|
-
* - unlink_recipe — this product was previously linked to a recipe that
|
|
19
|
-
* is no longer present in the repo
|
|
20
|
-
*
|
|
21
|
-
* Submission is via MCP tool calls only — no fenced JSON.
|
|
22
|
-
*/
|
|
23
|
-
export function createRecipesSystemPrompt() {
|
|
24
|
-
return `You are a senior staff engineer cataloguing the IMPLEMENTATION RECIPES a product uses.
|
|
25
|
-
|
|
26
|
-
The current working directory is a fresh clone of the product's repository. Use Glob/Grep/Read (and Bash for git/log when helpful) to explore it before writing.
|
|
27
|
-
|
|
28
|
-
## What is a "recipe"?
|
|
29
|
-
|
|
30
|
-
A recipe describes ONE non-trivial capability the product delivers, and HOW it is built: which services, libraries, tools, and techniques are chained together to make it work end-to-end.
|
|
31
|
-
|
|
32
|
-
Good recipe names: "AI video generation", "PDF export with custom fonts", "Real-time collaborative editing", "Stripe subscription billing with proration", "GitHub OAuth device flow".
|
|
33
|
-
Bad recipe names: "React frontend", "TypeScript", "Tailwind", "Authentication" (too vague).
|
|
34
|
-
|
|
35
|
-
A recipe is the WHAT + HOW pair. The WHAT is the user-facing capability. The HOW is the specific stack of services chained to deliver it. Two products can implement the same capability with the same stack — that is one recipe, linked from both products. Two products that implement "OCR" but one uses Tesseract and the other uses PaddleOCR are TWO different recipes (same capability name, different services).
|
|
36
|
-
|
|
37
|
-
## Output protocol
|
|
38
|
-
|
|
39
|
-
The MCP server exposes these tools — use them, do NOT paste content as fenced code:
|
|
40
|
-
|
|
41
|
-
1. \`get_recipe_detail({ recipe_id })\` — fetch the full content of an existing recipe when you need to decide whether to link, update, or create. The prompt only gives you names + summaries + services to keep your context small.
|
|
42
|
-
|
|
43
|
-
2. \`create_recipe({ name, summary, content, services, evidence })\` — register a brand-new recipe in the team library AND link this product to it.
|
|
44
|
-
|
|
45
|
-
3. \`update_recipe({ recipe_id, summary?, content?, services?, evidence })\` — overwrite an existing recipe with better information you discovered in this repo AND link this product to it. Use when the existing recipe is broadly correct but lacks detail / has outdated services / has a vague summary.
|
|
46
|
-
|
|
47
|
-
4. \`link_recipe({ recipe_id, evidence })\` — just link this product to an existing recipe that already describes the capability accurately. The recipe's content is not touched.
|
|
48
|
-
|
|
49
|
-
5. \`unlink_recipe({ recipe_id })\` — drop a previously-linked recipe that the agent has confirmed is NO LONGER present in this repo (capability was removed, or the previous scan was wrong). Only unlink things in the "Currently linked to this product" list.
|
|
50
|
-
|
|
51
|
-
Call exactly one of create / update / link for each capability you identify. Call unlink at the end for any previously-linked recipe you could not corroborate. When you are done with every capability and every unlink, end your turn — no summary message, no JSON dump.
|
|
52
|
-
|
|
53
|
-
## Rules
|
|
54
|
-
|
|
55
|
-
- \`services\` is a SORTED list of canonical service / tool / library names ("ElevenLabs", "ffmpeg", "Whisper", "Stripe", "Resend"). Sort alphabetically so equivalent recipes compare cleanly. Don't include language/framework names ("React", "Node") unless they're the actual differentiator.
|
|
56
|
-
- \`content\` is markdown. Aim for 200–800 words per recipe. Structure: a short intro sentence, then numbered steps describing the flow, then a "Files" subsection with relative paths (e.g. \`src/services/video/encoder.ts\`).
|
|
57
|
-
- \`evidence\` is one paragraph of plain text saying where in THIS product's repo the recipe shows up: file paths, key entry points. Used to help reviewers verify the link.
|
|
58
|
-
- Don't invent capabilities. If the repo is small or only does one thing, emit one recipe — don't pad.
|
|
59
|
-
- Prefer LINK over UPDATE over CREATE in that order. Reuse the team library aggressively; the whole point is cross-product visibility into the same recipe.
|
|
60
|
-
- When the same capability is implemented with a clearly different stack, that's a NEW recipe even if the name collides. Disambiguate the name (\"PDF export (Puppeteer)\" vs \"PDF export (pdf-lib)\") so the team can tell them apart.`;
|
|
61
|
-
}
|
|
62
|
-
export function createRecipesUserPrompt(ctx) {
|
|
63
|
-
const lines = [];
|
|
64
|
-
lines.push(`# Product: ${ctx.productName}`);
|
|
65
|
-
if (ctx.productDescription) {
|
|
66
|
-
lines.push('');
|
|
67
|
-
lines.push('## Description');
|
|
68
|
-
lines.push(ctx.productDescription);
|
|
69
|
-
}
|
|
70
|
-
if (ctx.guidance && ctx.guidance.trim()) {
|
|
71
|
-
lines.push('');
|
|
72
|
-
lines.push('## Reviewer guidance (focus or exclusions)');
|
|
73
|
-
lines.push(ctx.guidance.trim());
|
|
74
|
-
}
|
|
75
|
-
lines.push('');
|
|
76
|
-
lines.push('## Existing recipes in this team');
|
|
77
|
-
if (ctx.teamRecipes.length === 0) {
|
|
78
|
-
lines.push('(none — every recipe you identify will be a `create_recipe`.)');
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
lines.push('Prefer `link_recipe` / `update_recipe` over `create_recipe` when one of these matches the capability you found. Call `get_recipe_detail` if you need to see the full content before deciding.');
|
|
82
|
-
lines.push('');
|
|
83
|
-
for (const r of ctx.teamRecipes) {
|
|
84
|
-
const svc = r.services.length > 0 ? ` services=[${r.services.join(', ')}]` : '';
|
|
85
|
-
const sum = r.summary ? ` — ${r.summary}` : '';
|
|
86
|
-
lines.push(`- id=${r.id} "${r.name}"${svc}${sum}`);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
lines.push('');
|
|
90
|
-
lines.push('## Currently linked to this product');
|
|
91
|
-
if (ctx.existingLinks.length === 0) {
|
|
92
|
-
lines.push('(none)');
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
lines.push('If you confirm any of these is no longer present in the repo, call `unlink_recipe` with its id.');
|
|
96
|
-
lines.push('');
|
|
97
|
-
for (const l of ctx.existingLinks) {
|
|
98
|
-
lines.push(`- id=${l.recipeId} "${l.name}"`);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
lines.push('');
|
|
102
|
-
lines.push('## Task');
|
|
103
|
-
lines.push('Explore the cloned repository, identify every non-trivial capability the product delivers, and for each call exactly one of `create_recipe` / `update_recipe` / `link_recipe`. Then call `unlink_recipe` for any previously-linked recipe you could not corroborate. End your turn when done.');
|
|
104
|
-
return lines.join('\n');
|
|
105
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shapes the recipes MCP tools accept and return. The Zod schemas live in
|
|
3
|
-
* mcp-server.ts; these plain TS types are what the rest of the phase
|
|
4
|
-
* (orchestrator, persistence helpers, tests) consumes so they don't have
|
|
5
|
-
* to inflate Zod into their dependency graph.
|
|
6
|
-
*/
|
|
7
|
-
export interface RecipeSummary {
|
|
8
|
-
id: string;
|
|
9
|
-
name: string;
|
|
10
|
-
summary: string | null;
|
|
11
|
-
services: string[];
|
|
12
|
-
}
|
|
13
|
-
export interface RecipeDetail extends RecipeSummary {
|
|
14
|
-
content: string | null;
|
|
15
|
-
}
|
|
16
|
-
export interface CreateRecipeArgs {
|
|
17
|
-
name: string;
|
|
18
|
-
summary: string;
|
|
19
|
-
content: string;
|
|
20
|
-
services: string[];
|
|
21
|
-
evidence: string;
|
|
22
|
-
}
|
|
23
|
-
export interface UpdateRecipeArgs {
|
|
24
|
-
recipeId: string;
|
|
25
|
-
summary?: string;
|
|
26
|
-
content?: string;
|
|
27
|
-
services?: string[];
|
|
28
|
-
evidence: string;
|
|
29
|
-
}
|
|
30
|
-
export interface LinkRecipeArgs {
|
|
31
|
-
recipeId: string;
|
|
32
|
-
evidence: string;
|
|
33
|
-
}
|
|
34
|
-
export interface UnlinkRecipeArgs {
|
|
35
|
-
recipeId: string;
|
|
36
|
-
}
|
|
37
|
-
export declare const RECIPE_SUMMARY_MAX = 500;
|
|
38
|
-
export declare const RECIPE_CONTENT_MAX = 50000;
|
|
39
|
-
export declare const RECIPE_NAME_MAX = 200;
|
|
40
|
-
export declare const RECIPE_SERVICES_MAX = 20;
|
|
41
|
-
export declare const RECIPE_SERVICE_NAME_MAX = 80;
|
|
42
|
-
export declare const RECIPE_EVIDENCE_MAX = 4000;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shapes the recipes MCP tools accept and return. The Zod schemas live in
|
|
3
|
-
* mcp-server.ts; these plain TS types are what the rest of the phase
|
|
4
|
-
* (orchestrator, persistence helpers, tests) consumes so they don't have
|
|
5
|
-
* to inflate Zod into their dependency graph.
|
|
6
|
-
*/
|
|
7
|
-
// Defensive caps mirroring the DB CHECK constraints from
|
|
8
|
-
// 20260521000000_create_recipes.sql. Keeping the limits here lets the MCP
|
|
9
|
-
// tool reject oversized output with an actionable error message instead of
|
|
10
|
-
// getting a Postgres constraint violation.
|
|
11
|
-
export const RECIPE_SUMMARY_MAX = 500;
|
|
12
|
-
export const RECIPE_CONTENT_MAX = 50_000;
|
|
13
|
-
export const RECIPE_NAME_MAX = 200;
|
|
14
|
-
export const RECIPE_SERVICES_MAX = 20;
|
|
15
|
-
export const RECIPE_SERVICE_NAME_MAX = 80;
|
|
16
|
-
export const RECIPE_EVIDENCE_MAX = 4000;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub release helpers for smoke-test generation, implemented on top of
|
|
3
|
-
* @octokit/rest so we share retry / rate-limit / User-Agent behavior with the
|
|
4
|
-
* rest of the packages/edsger codebase.
|
|
5
|
-
*/
|
|
6
|
-
export interface GithubRelease {
|
|
7
|
-
id: number;
|
|
8
|
-
tag_name: string;
|
|
9
|
-
name: string | null;
|
|
10
|
-
body: string | null;
|
|
11
|
-
html_url: string;
|
|
12
|
-
published_at: string | null;
|
|
13
|
-
draft: boolean;
|
|
14
|
-
prerelease: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface CompareFile {
|
|
17
|
-
filename: string;
|
|
18
|
-
status: string;
|
|
19
|
-
additions: number;
|
|
20
|
-
deletions: number;
|
|
21
|
-
changes: number;
|
|
22
|
-
patch?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface CompareCommit {
|
|
25
|
-
sha: string;
|
|
26
|
-
html_url?: string;
|
|
27
|
-
commit: {
|
|
28
|
-
message: string;
|
|
29
|
-
author?: {
|
|
30
|
-
name?: string;
|
|
31
|
-
} | null;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
export interface CompareResponse {
|
|
35
|
-
total_commits: number;
|
|
36
|
-
files: CompareFile[];
|
|
37
|
-
commits: CompareCommit[];
|
|
38
|
-
}
|
|
39
|
-
export interface ReleasePair {
|
|
40
|
-
latest: GithubRelease;
|
|
41
|
-
previous: GithubRelease | null;
|
|
42
|
-
}
|
|
43
|
-
export declare function fetchLatestTwoReleases(owner: string, repo: string, token: string): Promise<ReleasePair>;
|
|
44
|
-
export declare function getDefaultBranchHead(owner: string, repo: string, token: string): Promise<{
|
|
45
|
-
branch: string;
|
|
46
|
-
sha: string;
|
|
47
|
-
}>;
|
|
48
|
-
export declare function fetchCompare(owner: string, repo: string, base: string, head: string, token: string): Promise<CompareResponse>;
|
|
49
|
-
/**
|
|
50
|
-
* Paginated commit list for base...head. Unlike `fetchCompare` (single
|
|
51
|
-
* page, capped at ~250 by GitHub), this loops pages until exhausted or
|
|
52
|
-
* the caller-specified cap is hit. We don't need file patches here —
|
|
53
|
-
* run-sheet just wants the commit list — so we ignore `data.files`.
|
|
54
|
-
*/
|
|
55
|
-
export declare function fetchAllCompareCommits(owner: string, repo: string, base: string, head: string, token: string, maxPages?: number): Promise<{
|
|
56
|
-
commits: CompareCommit[];
|
|
57
|
-
truncated: boolean;
|
|
58
|
-
totalCommits: number;
|
|
59
|
-
}>;
|
|
60
|
-
export declare function buildDiffDigest(compare: CompareResponse): string;
|
|
61
|
-
export declare function summariseStats(compare: CompareResponse): {
|
|
62
|
-
files_changed: number;
|
|
63
|
-
additions: number;
|
|
64
|
-
deletions: number;
|
|
65
|
-
total_commits: number;
|
|
66
|
-
};
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub release helpers for smoke-test generation, implemented on top of
|
|
3
|
-
* @octokit/rest so we share retry / rate-limit / User-Agent behavior with the
|
|
4
|
-
* rest of the packages/edsger codebase.
|
|
5
|
-
*/
|
|
6
|
-
import { Octokit } from '@octokit/rest';
|
|
7
|
-
const MAX_PATCH_CHARS = 60_000;
|
|
8
|
-
const MAX_COMMITS_INCLUDED = 40;
|
|
9
|
-
function octokit(token) {
|
|
10
|
-
return new Octokit({ auth: token, userAgent: 'edsger-cli' });
|
|
11
|
-
}
|
|
12
|
-
export async function fetchLatestTwoReleases(owner, repo, token) {
|
|
13
|
-
const gh = octokit(token);
|
|
14
|
-
const { data } = await gh.repos.listReleases({ owner, repo, per_page: 10 });
|
|
15
|
-
const real = data.filter((r) => !r.draft);
|
|
16
|
-
if (real.length === 0) {
|
|
17
|
-
throw new Error(`Repository ${owner}/${repo} has no releases yet. Publish one first.`);
|
|
18
|
-
}
|
|
19
|
-
return { latest: real[0], previous: real[1] ?? null };
|
|
20
|
-
}
|
|
21
|
-
export async function getDefaultBranchHead(owner, repo, token) {
|
|
22
|
-
const gh = octokit(token);
|
|
23
|
-
const { data: repoInfo } = await gh.repos.get({ owner, repo });
|
|
24
|
-
const branch = repoInfo.default_branch;
|
|
25
|
-
const { data: branchInfo } = await gh.repos.getBranch({
|
|
26
|
-
owner,
|
|
27
|
-
repo,
|
|
28
|
-
branch,
|
|
29
|
-
});
|
|
30
|
-
return { branch, sha: branchInfo.commit.sha };
|
|
31
|
-
}
|
|
32
|
-
export async function fetchCompare(owner, repo, base, head, token) {
|
|
33
|
-
const gh = octokit(token);
|
|
34
|
-
const { data } = await gh.repos.compareCommits({
|
|
35
|
-
owner,
|
|
36
|
-
repo,
|
|
37
|
-
base,
|
|
38
|
-
head,
|
|
39
|
-
});
|
|
40
|
-
// Octokit returns a richer shape; narrow to the subset we consume.
|
|
41
|
-
return {
|
|
42
|
-
total_commits: data.total_commits ?? 0,
|
|
43
|
-
files: (data.files ?? []).map((f) => ({
|
|
44
|
-
filename: f.filename,
|
|
45
|
-
status: f.status,
|
|
46
|
-
additions: f.additions ?? 0,
|
|
47
|
-
deletions: f.deletions ?? 0,
|
|
48
|
-
changes: f.changes ?? 0,
|
|
49
|
-
patch: f.patch,
|
|
50
|
-
})),
|
|
51
|
-
commits: (data.commits ?? []).map((c) => ({
|
|
52
|
-
sha: c.sha,
|
|
53
|
-
html_url: c.html_url ?? undefined,
|
|
54
|
-
commit: {
|
|
55
|
-
message: c.commit?.message ?? '',
|
|
56
|
-
author: c.commit?.author
|
|
57
|
-
? { name: c.commit.author.name ?? undefined }
|
|
58
|
-
: null,
|
|
59
|
-
},
|
|
60
|
-
})),
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Paginated commit list for base...head. Unlike `fetchCompare` (single
|
|
65
|
-
* page, capped at ~250 by GitHub), this loops pages until exhausted or
|
|
66
|
-
* the caller-specified cap is hit. We don't need file patches here —
|
|
67
|
-
* run-sheet just wants the commit list — so we ignore `data.files`.
|
|
68
|
-
*/
|
|
69
|
-
export async function fetchAllCompareCommits(owner, repo, base, head, token, maxPages = 8) {
|
|
70
|
-
const gh = octokit(token);
|
|
71
|
-
const perPage = 100;
|
|
72
|
-
const out = [];
|
|
73
|
-
let totalCommits = 0;
|
|
74
|
-
for (let page = 1; page <= maxPages; page++) {
|
|
75
|
-
const { data } = await gh.repos.compareCommits({
|
|
76
|
-
owner,
|
|
77
|
-
repo,
|
|
78
|
-
base,
|
|
79
|
-
head,
|
|
80
|
-
per_page: perPage,
|
|
81
|
-
page,
|
|
82
|
-
});
|
|
83
|
-
totalCommits = data.total_commits ?? totalCommits;
|
|
84
|
-
const batch = (data.commits ?? []).map((c) => ({
|
|
85
|
-
sha: c.sha,
|
|
86
|
-
html_url: c.html_url ?? undefined,
|
|
87
|
-
commit: {
|
|
88
|
-
message: c.commit?.message ?? '',
|
|
89
|
-
author: c.commit?.author
|
|
90
|
-
? { name: c.commit.author.name ?? undefined }
|
|
91
|
-
: null,
|
|
92
|
-
},
|
|
93
|
-
}));
|
|
94
|
-
out.push(...batch);
|
|
95
|
-
if (batch.length < perPage) {
|
|
96
|
-
return { commits: out, truncated: false, totalCommits };
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return { commits: out, truncated: out.length < totalCommits, totalCommits };
|
|
100
|
-
}
|
|
101
|
-
export function buildDiffDigest(compare) {
|
|
102
|
-
const lines = [];
|
|
103
|
-
lines.push(`Total commits: ${compare.total_commits}`);
|
|
104
|
-
lines.push('\n== Commits ==');
|
|
105
|
-
for (const c of compare.commits.slice(0, MAX_COMMITS_INCLUDED)) {
|
|
106
|
-
const subject = (c.commit.message || '').split('\n')[0].slice(0, 200);
|
|
107
|
-
lines.push(`- ${c.sha.slice(0, 7)} ${subject}`);
|
|
108
|
-
}
|
|
109
|
-
lines.push('\n== Files ==');
|
|
110
|
-
for (const f of compare.files) {
|
|
111
|
-
lines.push(`- ${f.status} ${f.filename} (+${f.additions}/-${f.deletions})`);
|
|
112
|
-
}
|
|
113
|
-
lines.push('\n== Patches (truncated) ==');
|
|
114
|
-
let budget = MAX_PATCH_CHARS;
|
|
115
|
-
for (const f of compare.files) {
|
|
116
|
-
if (budget <= 0 || !f.patch) {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
const header = `\n--- ${f.filename} ---\n`;
|
|
120
|
-
const piece = header + f.patch;
|
|
121
|
-
if (piece.length > budget) {
|
|
122
|
-
lines.push(piece.slice(0, budget));
|
|
123
|
-
lines.push('\n...[truncated]');
|
|
124
|
-
budget = 0;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
lines.push(piece);
|
|
128
|
-
budget -= piece.length;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return lines.join('\n');
|
|
132
|
-
}
|
|
133
|
-
export function summariseStats(compare) {
|
|
134
|
-
return {
|
|
135
|
-
files_changed: compare.files.length,
|
|
136
|
-
additions: compare.files.reduce((s, f) => s + f.additions, 0),
|
|
137
|
-
deletions: compare.files.reduce((s, f) => s + f.deletions, 0),
|
|
138
|
-
total_commits: compare.total_commits,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Release sync: reconcile the `releases` table with GitHub releases for a
|
|
3
|
-
* product. Writes a `pending` row for each release we discover (latest +
|
|
4
|
-
* previous + any unreleased snapshot version). Does NOT generate smoke-test
|
|
5
|
-
* cases — that is handled per-release by `phases/smoke-test` once the user
|
|
6
|
-
* opts in from the release detail page.
|
|
7
|
-
*/
|
|
8
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
9
|
-
export interface ReleaseSyncOptions {
|
|
10
|
-
productId: string;
|
|
11
|
-
verbose?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface ReleaseSyncResult {
|
|
14
|
-
status: 'success' | 'error';
|
|
15
|
-
productId: string;
|
|
16
|
-
summary: string;
|
|
17
|
-
/** Releases that were created or updated during this sync. */
|
|
18
|
-
syncedReleases?: {
|
|
19
|
-
id: string;
|
|
20
|
-
tag: string;
|
|
21
|
-
isSnapshot: boolean;
|
|
22
|
-
}[];
|
|
23
|
-
}
|
|
24
|
-
export declare function runReleaseSync(options: ReleaseSyncOptions, _config: EdsgerConfig): Promise<ReleaseSyncResult>;
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Release sync: reconcile the `releases` table with GitHub releases for a
|
|
3
|
-
* product. Writes a `pending` row for each release we discover (latest +
|
|
4
|
-
* previous + any unreleased snapshot version). Does NOT generate smoke-test
|
|
5
|
-
* cases — that is handled per-release by `phases/smoke-test` once the user
|
|
6
|
-
* opts in from the release detail page.
|
|
7
|
-
*/
|
|
8
|
-
import { getGitHubConfigByProduct } from '../../api/github.js';
|
|
9
|
-
import { getReleaseByTag, upsertRelease, } from '../../api/releases.js';
|
|
10
|
-
import { logInfo, logSuccess, logWarning } from '../../utils/logger.js';
|
|
11
|
-
import { cleanupIssueRepo, cloneIssueRepo, ensureWorkspaceDir, syncRepoToRef, } from '../../workspace/workspace-manager.js';
|
|
12
|
-
import { fetchLatestTwoReleases, getDefaultBranchHead, } from './github.js';
|
|
13
|
-
import { detectSnapshotVersion, isPlausibleSnapshotTag } from './snapshot.js';
|
|
14
|
-
/**
|
|
15
|
-
* Upsert a release row as `pending` only when it doesn't already exist.
|
|
16
|
-
* Preserves `ready` / `failed` / `generating` status on existing rows so
|
|
17
|
-
* repeated syncs don't clobber smoke-test progress.
|
|
18
|
-
*/
|
|
19
|
-
async function ensureReleaseRow(args, verbose) {
|
|
20
|
-
const existing = await getReleaseByTag(args.productId, args.tag, verbose);
|
|
21
|
-
if (existing) {
|
|
22
|
-
return { release: existing, created: false };
|
|
23
|
-
}
|
|
24
|
-
const release = await upsertRelease({
|
|
25
|
-
product_id: args.productId,
|
|
26
|
-
tag: args.tag,
|
|
27
|
-
name: args.githubRelease?.name ?? null,
|
|
28
|
-
body: args.githubRelease?.body ?? null,
|
|
29
|
-
url: args.githubRelease?.html_url ?? null,
|
|
30
|
-
published_at: args.githubRelease?.published_at ?? null,
|
|
31
|
-
previous_tag: args.previousTag,
|
|
32
|
-
previous_published_at: args.previousPublishedAt,
|
|
33
|
-
status: 'pending',
|
|
34
|
-
}, verbose);
|
|
35
|
-
return { release, created: true };
|
|
36
|
-
}
|
|
37
|
-
// eslint-disable-next-line complexity -- orchestration across GitHub + DB + snapshot
|
|
38
|
-
export async function runReleaseSync(options, _config) {
|
|
39
|
-
const { productId, verbose } = options;
|
|
40
|
-
if (verbose) {
|
|
41
|
-
logInfo(`Starting release sync for product: ${productId}`);
|
|
42
|
-
}
|
|
43
|
-
const gh = await getGitHubConfigByProduct(productId, verbose);
|
|
44
|
-
if (!gh.configured || !gh.token || !gh.owner || !gh.repo) {
|
|
45
|
-
return {
|
|
46
|
-
status: 'error',
|
|
47
|
-
productId,
|
|
48
|
-
summary: gh.message ||
|
|
49
|
-
'Product is not connected to a GitHub repository. Connect it in Product Settings.',
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
const releases = await fetchLatestTwoReleases(gh.owner, gh.repo, gh.token);
|
|
53
|
-
const { latest, previous } = releases;
|
|
54
|
-
if (verbose) {
|
|
55
|
-
logInfo(`Latest GitHub release: ${latest.tag_name}, previous: ${previous?.tag_name ?? '(none)'}`);
|
|
56
|
-
}
|
|
57
|
-
const synced = [];
|
|
58
|
-
// Always reflect the latest GitHub release.
|
|
59
|
-
const latestRow = await ensureReleaseRow({
|
|
60
|
-
productId,
|
|
61
|
-
tag: latest.tag_name,
|
|
62
|
-
previousTag: previous?.tag_name ?? null,
|
|
63
|
-
previousPublishedAt: previous?.published_at ?? null,
|
|
64
|
-
githubRelease: latest,
|
|
65
|
-
}, verbose);
|
|
66
|
-
synced.push({
|
|
67
|
-
id: latestRow.release.id,
|
|
68
|
-
tag: latestRow.release.tag,
|
|
69
|
-
isSnapshot: false,
|
|
70
|
-
});
|
|
71
|
-
if (latestRow.created) {
|
|
72
|
-
logInfo(`Synced release ${latest.tag_name}`);
|
|
73
|
-
}
|
|
74
|
-
// Reflect the previous GitHub release so the UI can show history, even
|
|
75
|
-
// if smoke-test was never run against it.
|
|
76
|
-
if (previous) {
|
|
77
|
-
const previousRow = await ensureReleaseRow({
|
|
78
|
-
productId,
|
|
79
|
-
tag: previous.tag_name,
|
|
80
|
-
previousTag: null,
|
|
81
|
-
previousPublishedAt: null,
|
|
82
|
-
githubRelease: previous,
|
|
83
|
-
}, verbose);
|
|
84
|
-
synced.push({
|
|
85
|
-
id: previousRow.release.id,
|
|
86
|
-
tag: previousRow.release.tag,
|
|
87
|
-
isSnapshot: false,
|
|
88
|
-
});
|
|
89
|
-
if (previousRow.created) {
|
|
90
|
-
logInfo(`Synced release ${previous.tag_name}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// Snapshot detection: clone the repo at the default branch tip and ask
|
|
94
|
-
// the agent whether there's an unreleased version ahead of `latest`.
|
|
95
|
-
let cwd;
|
|
96
|
-
let syncSucceeded = false;
|
|
97
|
-
try {
|
|
98
|
-
try {
|
|
99
|
-
const workspaceRoot = ensureWorkspaceDir();
|
|
100
|
-
const { repoPath } = cloneIssueRepo(workspaceRoot, `release-sync-${productId}`, gh.owner, gh.repo, gh.token);
|
|
101
|
-
cwd = repoPath;
|
|
102
|
-
}
|
|
103
|
-
catch (err) {
|
|
104
|
-
logWarning(`Could not clone repo for snapshot detection: ${err instanceof Error ? err.message : String(err)}`);
|
|
105
|
-
}
|
|
106
|
-
if (cwd) {
|
|
107
|
-
try {
|
|
108
|
-
const { branch } = await getDefaultBranchHead(gh.owner, gh.repo, gh.token);
|
|
109
|
-
syncRepoToRef(cwd, { branch }, gh.token);
|
|
110
|
-
const detection = await detectSnapshotVersion({
|
|
111
|
-
cwd,
|
|
112
|
-
latestReleaseTag: latest.tag_name,
|
|
113
|
-
config: _config,
|
|
114
|
-
verbose,
|
|
115
|
-
});
|
|
116
|
-
if (detection.snapshot_tag &&
|
|
117
|
-
isPlausibleSnapshotTag(detection.snapshot_tag, latest.tag_name)) {
|
|
118
|
-
const snapshotRow = await ensureReleaseRow({
|
|
119
|
-
productId,
|
|
120
|
-
tag: detection.snapshot_tag,
|
|
121
|
-
previousTag: latest.tag_name,
|
|
122
|
-
previousPublishedAt: latest.published_at ?? null,
|
|
123
|
-
githubRelease: null,
|
|
124
|
-
}, verbose);
|
|
125
|
-
synced.push({
|
|
126
|
-
id: snapshotRow.release.id,
|
|
127
|
-
tag: snapshotRow.release.tag,
|
|
128
|
-
isSnapshot: true,
|
|
129
|
-
});
|
|
130
|
-
if (snapshotRow.created) {
|
|
131
|
-
logInfo(`Detected unreleased snapshot ${detection.snapshot_tag} (${detection.source ?? 'unknown source'})`);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else if (verbose) {
|
|
135
|
-
logInfo(`No snapshot version ahead of ${latest.tag_name}`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch (err) {
|
|
139
|
-
logWarning(`Snapshot detection skipped: ${err instanceof Error ? err.message : String(err)}`);
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
logSuccess(`Synced ${synced.length} release${synced.length === 1 ? '' : 's'}`);
|
|
143
|
-
syncSucceeded = true;
|
|
144
|
-
return {
|
|
145
|
-
status: 'success',
|
|
146
|
-
productId,
|
|
147
|
-
summary: `Synced ${synced.length} release${synced.length === 1 ? '' : 's'} from GitHub`,
|
|
148
|
-
syncedReleases: synced,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
finally {
|
|
152
|
-
if (syncSucceeded) {
|
|
153
|
-
cleanupIssueRepo(cwd);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Snapshot detection: after the latest GitHub release already has a
|
|
3
|
-
* smoke-test plan, inspect the cloned repo for a yet-to-be-released
|
|
4
|
-
* "snapshot" version (next package.json version, an [Unreleased] entry
|
|
5
|
-
* in CHANGELOG, an unreleased git tag, etc.) so we can prepare the
|
|
6
|
-
* next smoke test before anyone cuts the tag on GitHub.
|
|
7
|
-
*/
|
|
8
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
9
|
-
export interface SnapshotDetection {
|
|
10
|
-
snapshot_tag: string | null;
|
|
11
|
-
source: string | null;
|
|
12
|
-
reasoning: string;
|
|
13
|
-
}
|
|
14
|
-
export declare function buildSnapshotDetectionPrompt(latestReleaseTag: string): string;
|
|
15
|
-
export declare function parseSnapshotDetection(raw: string): SnapshotDetection;
|
|
16
|
-
/**
|
|
17
|
-
* Very loose sanity check on a proposed snapshot tag. We reject tags
|
|
18
|
-
* that are obviously the same as the latest release or that contain
|
|
19
|
-
* characters that would break downstream git / GitHub API calls.
|
|
20
|
-
*/
|
|
21
|
-
export declare function isPlausibleSnapshotTag(candidate: string, latestReleaseTag: string): boolean;
|
|
22
|
-
export declare function detectSnapshotVersion(options: {
|
|
23
|
-
cwd: string;
|
|
24
|
-
latestReleaseTag: string;
|
|
25
|
-
config: EdsgerConfig;
|
|
26
|
-
verbose?: boolean;
|
|
27
|
-
}): Promise<SnapshotDetection>;
|