edsger 0.76.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 -1218
- 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/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 -40
- package/dist/commands/quality-benchmark/index.js +0 -219
- 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/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 -261
- package/dist/phases/find-architecture/prompts.d.ts +0 -31
- package/dist/phases/find-architecture/prompts.js +0 -128
- 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 -236
- 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/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -48
- package/dist/phases/find-shared/mcp.js +0 -125
- 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-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -298
- package/dist/phases/find-smells/prompts.d.ts +0 -30
- package/dist/phases/find-smells/prompts.js +0 -129
- 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/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -194
- 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 -22
- package/dist/phases/quality-benchmark/parsers.js +0 -1101
- 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 -1174
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -636
- 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 -312
- 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,166 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code Refine Iteration
|
|
3
|
-
* Executes a single refine iteration using Claude Code SDK
|
|
4
|
-
*/
|
|
5
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
6
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
7
|
-
import { formatFeedbacksForContext, getFeedbacksForPhase, } from '../../services/feedbacks.js';
|
|
8
|
-
import { extractJsonFromResponse } from '../../utils/json-extractor.js';
|
|
9
|
-
import { logDebug, logError, logInfo } from '../../utils/logger.js';
|
|
10
|
-
import { fetchCodeRefineContext } from './context.js';
|
|
11
|
-
import { createCodeRefinePrompt, createSystemPrompt } from './prompts.js';
|
|
12
|
-
function userMessage(content) {
|
|
13
|
-
return {
|
|
14
|
-
type: 'user',
|
|
15
|
-
message: { role: 'user', content },
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
async function* prompt(refinePrompt) {
|
|
19
|
-
yield userMessage(refinePrompt);
|
|
20
|
-
await new Promise((res) => {
|
|
21
|
-
setTimeout(res, 10000);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
// eslint-disable-next-line complexity -- agent loop with message processing and result extraction
|
|
25
|
-
export async function executeRefineIteration(opts) {
|
|
26
|
-
const { issueId, githubToken, config: _config, pullRequestUrl, currentBranch, verificationFailureContext, checklistContext, verbose, } = opts;
|
|
27
|
-
// Fetch code refine context (PR reviews and comments)
|
|
28
|
-
const context = await fetchCodeRefineContext(issueId, githubToken, verbose, pullRequestUrl);
|
|
29
|
-
// Fetch additional feedbacks for code-refine phase
|
|
30
|
-
let feedbacksInfo;
|
|
31
|
-
try {
|
|
32
|
-
const feedbacksContext = await getFeedbacksForPhase({ issueId, verbose }, 'code_refine', currentBranch?.id);
|
|
33
|
-
if (feedbacksContext.feedbacks.length > 0) {
|
|
34
|
-
feedbacksInfo = await formatFeedbacksForContext(feedbacksContext);
|
|
35
|
-
if (verbose) {
|
|
36
|
-
logInfo(`Added ${feedbacksContext.feedbacks.length} human feedbacks to code refine context${currentBranch ? ` (including branch-specific for "${currentBranch.name}")` : ''}`);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
if (verbose) {
|
|
42
|
-
logInfo(`Note: Could not fetch feedbacks (${error instanceof Error ? error.message : String(error)})`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
// Create prompt for code refine
|
|
46
|
-
const systemPrompt = await createSystemPrompt(checklistContext);
|
|
47
|
-
const refinePrompt = createCodeRefinePrompt(issueId, context, feedbacksInfo, verificationFailureContext, checklistContext);
|
|
48
|
-
let lastAssistantResponse = '';
|
|
49
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
|
-
let structuredRefineResult = null;
|
|
51
|
-
let executionSessionId = '';
|
|
52
|
-
if (verbose) {
|
|
53
|
-
logInfo('Starting Claude Code query for code refine...');
|
|
54
|
-
}
|
|
55
|
-
// Use Claude Code SDK to refine the code
|
|
56
|
-
for await (const message of query({
|
|
57
|
-
prompt: prompt(refinePrompt),
|
|
58
|
-
options: {
|
|
59
|
-
systemPrompt: {
|
|
60
|
-
type: 'preset',
|
|
61
|
-
preset: 'claude_code',
|
|
62
|
-
append: systemPrompt,
|
|
63
|
-
},
|
|
64
|
-
model: DEFAULT_MODEL,
|
|
65
|
-
maxTurns: 2000,
|
|
66
|
-
permissionMode: 'bypassPermissions',
|
|
67
|
-
},
|
|
68
|
-
})) {
|
|
69
|
-
if (verbose) {
|
|
70
|
-
logInfo(`Received message type: ${message.type}`);
|
|
71
|
-
}
|
|
72
|
-
// Stream the code refine process
|
|
73
|
-
if (message.type === 'assistant') {
|
|
74
|
-
for (const content of message.message?.content ?? []) {
|
|
75
|
-
if (content.type === 'text') {
|
|
76
|
-
lastAssistantResponse += `${content.text}\n`;
|
|
77
|
-
logDebug(`๐ง ${content.text}`, verbose);
|
|
78
|
-
}
|
|
79
|
-
else if (content.type === 'tool_use') {
|
|
80
|
-
const input = (content.input ?? {});
|
|
81
|
-
logDebug(`๐ ๏ธ ${content.name}: ${input.description ?? 'Running...'}`, verbose);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
if (message.type === 'result') {
|
|
87
|
-
executionSessionId = message.session_id || executionSessionId;
|
|
88
|
-
if (message.subtype === 'success') {
|
|
89
|
-
logInfo('\n๐ ๏ธ Code refine completed, parsing results...');
|
|
90
|
-
try {
|
|
91
|
-
const responseText = message.result || lastAssistantResponse;
|
|
92
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
93
|
-
let jsonResult = null;
|
|
94
|
-
const jsonBlockMatch = responseText.match(/```json\s*\n([\s\S]*?)\n\s*```/);
|
|
95
|
-
if (jsonBlockMatch) {
|
|
96
|
-
jsonResult = JSON.parse(jsonBlockMatch[1]);
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
jsonResult = JSON.parse(responseText);
|
|
100
|
-
}
|
|
101
|
-
if (jsonResult && jsonResult.refine_result) {
|
|
102
|
-
structuredRefineResult = jsonResult.refine_result;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
throw new Error('Invalid JSON structure');
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
logError(`Failed to parse structured refine result: ${error}`);
|
|
110
|
-
structuredRefineResult = parseCodeRefineResponse(message.result || lastAssistantResponse);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
logError(`\nโ ๏ธ Code refine incomplete: ${message.subtype}`);
|
|
115
|
-
if (message.subtype === 'error_max_turns') {
|
|
116
|
-
logError('๐ก Try simplifying the changes or reducing scope');
|
|
117
|
-
}
|
|
118
|
-
if (lastAssistantResponse) {
|
|
119
|
-
const fallbackJson = extractJsonFromResponse(lastAssistantResponse, '"refine_result"');
|
|
120
|
-
if (fallbackJson?.refine_result) {
|
|
121
|
-
structuredRefineResult =
|
|
122
|
-
fallbackJson.refine_result;
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
structuredRefineResult = parseCodeRefineResponse(lastAssistantResponse);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
if (structuredRefineResult) {
|
|
132
|
-
return {
|
|
133
|
-
status: 'success',
|
|
134
|
-
summary: structuredRefineResult.summary,
|
|
135
|
-
files_modified: structuredRefineResult.files_modified,
|
|
136
|
-
commits_created: structuredRefineResult.commits_created,
|
|
137
|
-
checklist_item_results: structuredRefineResult.checklist_item_results,
|
|
138
|
-
execution_session_id: executionSessionId || undefined,
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
status: 'error',
|
|
143
|
-
message: 'Code refine failed or incomplete',
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
147
|
-
function parseCodeRefineResponse(response) {
|
|
148
|
-
const summaryMatch = response.match(/## Refine Summary\n([\s\S]*?)(?=\n##|\n\n|$)/);
|
|
149
|
-
const summary = summaryMatch
|
|
150
|
-
? summaryMatch[1].trim()
|
|
151
|
-
: 'Code refined based on PR feedback';
|
|
152
|
-
const filesMatch = response.match(/## Files Modified\n([\s\S]*?)(?=\n##|\n\n|$)/);
|
|
153
|
-
let filesModified = [];
|
|
154
|
-
if (filesMatch) {
|
|
155
|
-
filesModified = filesMatch[1]
|
|
156
|
-
.split('\n')
|
|
157
|
-
.filter((line) => line.trim().startsWith('-'))
|
|
158
|
-
.map((line) => line.replace(/^-\s*/, '').trim());
|
|
159
|
-
}
|
|
160
|
-
return {
|
|
161
|
-
summary,
|
|
162
|
-
files_modified: filesModified,
|
|
163
|
-
commits_created: 1,
|
|
164
|
-
feedback_addressed: [],
|
|
165
|
-
};
|
|
166
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code refine retry handler for pipeline execution
|
|
3
|
-
* Handles verification failures and retries code refine with suggestions
|
|
4
|
-
*/
|
|
5
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
6
|
-
import { type PipelinePhaseOptions, type PipelineResult } from '../../types/pipeline.js';
|
|
7
|
-
export declare const MAX_REFINE_ATTEMPTS = 10;
|
|
8
|
-
export interface CodeRefineRetryOptions {
|
|
9
|
-
options: PipelinePhaseOptions;
|
|
10
|
-
config: EdsgerConfig;
|
|
11
|
-
results: PipelineResult[];
|
|
12
|
-
verbose?: boolean;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Handle code refine verification failures with automatic retry
|
|
16
|
-
*/
|
|
17
|
-
export declare function handleCodeRefineWithRetry({ options, config, results, verbose, }: CodeRefineRetryOptions): Promise<PipelineResult>;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code refine retry handler for pipeline execution
|
|
3
|
-
* Handles verification failures and retries code refine with suggestions
|
|
4
|
-
*/
|
|
5
|
-
import { updateIssueStatusForPhase } from '../../api/issues/index.js';
|
|
6
|
-
import { runCodeRefinePhase, runCodeRefineVerificationPhase, } from '../../commands/workflow/executors/phase-executor.js';
|
|
7
|
-
import { logDebug, logInfo, logRaw } from '../../utils/logger.js';
|
|
8
|
-
import { logPhaseResult } from '../../utils/pipeline-logger.js';
|
|
9
|
-
export const MAX_REFINE_ATTEMPTS = 10;
|
|
10
|
-
/**
|
|
11
|
-
* Handle code refine verification failures with automatic retry
|
|
12
|
-
*/
|
|
13
|
-
// eslint-disable-next-line complexity -- retry loop with multiple outcome branches
|
|
14
|
-
export async function handleCodeRefineWithRetry({ options, config, results, verbose, }) {
|
|
15
|
-
let verificationResult;
|
|
16
|
-
let refineAttempt = 0;
|
|
17
|
-
let verificationFailureContext;
|
|
18
|
-
do {
|
|
19
|
-
// 1. Run code refine phase (with verification context if this is a retry)
|
|
20
|
-
const enhancedOptions = verificationFailureContext
|
|
21
|
-
? { ...options, verificationFailureContext }
|
|
22
|
-
: options;
|
|
23
|
-
const codeRefineResult = await runCodeRefinePhase(enhancedOptions, config);
|
|
24
|
-
results.push(logPhaseResult(codeRefineResult, verbose));
|
|
25
|
-
// If code refine failed, stop immediately
|
|
26
|
-
if (codeRefineResult.status === 'error') {
|
|
27
|
-
logDebug(`Code refine failed: ${codeRefineResult.message}. Cannot proceed to verification.`, verbose);
|
|
28
|
-
return codeRefineResult;
|
|
29
|
-
}
|
|
30
|
-
// 2. Run code refine verification
|
|
31
|
-
verificationResult = await runCodeRefineVerificationPhase(options, config);
|
|
32
|
-
results.push(logPhaseResult(verificationResult, verbose));
|
|
33
|
-
// If verification passed, we're done
|
|
34
|
-
if (verificationResult.status === 'success') {
|
|
35
|
-
logDebug('Code refine verification passed. All PR comments have been addressed.', verbose);
|
|
36
|
-
break;
|
|
37
|
-
}
|
|
38
|
-
// Verification failed - check if we should retry
|
|
39
|
-
if (refineAttempt < MAX_REFINE_ATTEMPTS) {
|
|
40
|
-
refineAttempt++;
|
|
41
|
-
logDebug(`Code refine verification failed. Retrying... (Attempt ${refineAttempt}/${MAX_REFINE_ATTEMPTS})`, verbose);
|
|
42
|
-
// Extract verification failure details
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
-
const verificationData = verificationResult.data;
|
|
45
|
-
const _unresolvedComments = verificationData?.unresolvedComments ||
|
|
46
|
-
verificationData?.unresolved_comments ||
|
|
47
|
-
0;
|
|
48
|
-
const suggestions = verificationData?.suggestions || [];
|
|
49
|
-
const unresolvedCommentDetails = verificationData?.unresolvedCommentDetails ||
|
|
50
|
-
verificationData?.unresolved_comment_details ||
|
|
51
|
-
[];
|
|
52
|
-
const unresolvedReviewDetails = verificationData?.unresolvedReviewDetails ||
|
|
53
|
-
verificationData?.unresolved_review_details;
|
|
54
|
-
// Prepare verification failure context for next code-refine attempt
|
|
55
|
-
verificationFailureContext = {
|
|
56
|
-
attempt: refineAttempt + 1, // Next attempt number
|
|
57
|
-
suggestions,
|
|
58
|
-
unresolvedCommentDetails,
|
|
59
|
-
unresolvedReviewDetails,
|
|
60
|
-
};
|
|
61
|
-
// Note: phase-executor already logged phase_failed event, so we don't log it again here
|
|
62
|
-
// to avoid duplicate audit logs
|
|
63
|
-
if (verbose && suggestions.length > 0) {
|
|
64
|
-
logRaw('');
|
|
65
|
-
logInfo('Suggestions for next iteration:');
|
|
66
|
-
suggestions.forEach((suggestion) => {
|
|
67
|
-
logRaw(` ${suggestion}`);
|
|
68
|
-
});
|
|
69
|
-
logRaw('');
|
|
70
|
-
}
|
|
71
|
-
// Remove the failed verification result - we'll add the new one after retry
|
|
72
|
-
results.pop();
|
|
73
|
-
// Update status to indicate we're retrying code refine
|
|
74
|
-
await updateIssueStatusForPhase(options.issueId, 'code-refine', verbose);
|
|
75
|
-
// Also remove the code refine result so it can be retried
|
|
76
|
-
results.pop();
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
// Max attempts reached
|
|
80
|
-
logDebug(`Maximum refine attempts (${MAX_REFINE_ATTEMPTS}) reached. Verification still failing.`, verbose);
|
|
81
|
-
// Note: phase-executor already logged phase_failed event with all details
|
|
82
|
-
// No need to log again here to avoid duplicates
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
} while (refineAttempt <= MAX_REFINE_ATTEMPTS);
|
|
86
|
-
return verificationResult;
|
|
87
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub API operations for Code Refine Verification
|
|
3
|
-
* Handles file fetching, review threads, and resolution
|
|
4
|
-
*/
|
|
5
|
-
import { type Octokit } from '@octokit/rest';
|
|
6
|
-
import { type PRReview } from '../code-refine/context.js';
|
|
7
|
-
import { type PRFileChange, type ReviewThread } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Fetch complete file content from a specific ref (branch/commit)
|
|
10
|
-
*/
|
|
11
|
-
export interface FetchFileContentOptions {
|
|
12
|
-
octokit: Octokit;
|
|
13
|
-
owner: string;
|
|
14
|
-
repo: string;
|
|
15
|
-
ref: string;
|
|
16
|
-
path: string;
|
|
17
|
-
verbose?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function fetchFileContent(opts: FetchFileContentOptions): Promise<string | undefined>;
|
|
20
|
-
/**
|
|
21
|
-
* Fetch PR file changes (diff information and full content)
|
|
22
|
-
*/
|
|
23
|
-
export declare function fetchPRFileChanges(octokit: Octokit, owner: string, repo: string, prNumber: number, verbose?: boolean): Promise<PRFileChange[]>;
|
|
24
|
-
export interface GraphQLClient {
|
|
25
|
-
graphql: <ResponseData>(query: string, variables?: Record<string, unknown>) => Promise<ResponseData>;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Page through every `reviewThreads` connection, following `pageInfo.endCursor`
|
|
29
|
-
* until GitHub reports `hasNextPage: false`. Exported for tests.
|
|
30
|
-
*/
|
|
31
|
-
export declare function fetchAllReviewThreads(octokit: GraphQLClient, owner: string, repo: string, prNumber: number, verbose?: boolean): Promise<ReviewThread[]>;
|
|
32
|
-
/**
|
|
33
|
-
* Fetch unresolved review threads using GitHub GraphQL API
|
|
34
|
-
* This provides accurate resolution status unlike REST API
|
|
35
|
-
*/
|
|
36
|
-
export declare function fetchUnresolvedReviewThreads(octokit: Octokit, owner: string, repo: string, prNumber: number, verbose?: boolean): Promise<ReviewThread[]>;
|
|
37
|
-
/**
|
|
38
|
-
* For any thread whose `comments` connection was truncated (>100 comments),
|
|
39
|
-
* page through the remaining comments and append them to the thread in place.
|
|
40
|
-
* Each thread is hydrated concurrently; the per-thread loop is still
|
|
41
|
-
* sequential because each page depends on the previous cursor. Exported for
|
|
42
|
-
* tests.
|
|
43
|
-
*/
|
|
44
|
-
export declare function hydrateThreadComments(octokit: GraphQLClient, threads: ReviewThread[], verbose?: boolean): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* Mark review threads as resolved using GraphQL API
|
|
47
|
-
*/
|
|
48
|
-
export declare function resolveReviewThreads(octokit: Octokit, threads: ReviewThread[], verbose?: boolean): Promise<number>;
|
|
49
|
-
/**
|
|
50
|
-
* Dismiss pull request reviews using GraphQL API
|
|
51
|
-
* This is used to automatically dismiss "CHANGES_REQUESTED" reviews
|
|
52
|
-
* after all feedback has been addressed by code refine
|
|
53
|
-
*/
|
|
54
|
-
export declare function dismissReviews(octokit: Octokit, reviews: PRReview[], resolvedCommentsCount: number, verbose?: boolean): Promise<number>;
|
|
@@ -1,328 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitHub API operations for Code Refine Verification
|
|
3
|
-
* Handles file fetching, review threads, and resolution
|
|
4
|
-
*/
|
|
5
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
6
|
-
export async function fetchFileContent(opts) {
|
|
7
|
-
const { octokit, owner, repo, ref, path, verbose } = opts;
|
|
8
|
-
try {
|
|
9
|
-
const { data } = await octokit.repos.getContent({
|
|
10
|
-
owner,
|
|
11
|
-
repo,
|
|
12
|
-
ref,
|
|
13
|
-
path,
|
|
14
|
-
});
|
|
15
|
-
// Handle file content (not directory)
|
|
16
|
-
if ('content' in data && !Array.isArray(data)) {
|
|
17
|
-
// Content is base64 encoded
|
|
18
|
-
return Buffer.from(data.content, 'base64').toString('utf-8');
|
|
19
|
-
}
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
if (verbose) {
|
|
24
|
-
logError(`Failed to fetch content for ${path} at ref ${ref}: ${error}`);
|
|
25
|
-
}
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Fetch PR file changes (diff information and full content)
|
|
31
|
-
*/
|
|
32
|
-
export async function fetchPRFileChanges(octokit, owner, repo, prNumber, verbose) {
|
|
33
|
-
try {
|
|
34
|
-
if (verbose) {
|
|
35
|
-
logInfo('๐ Fetching PR file changes and content...');
|
|
36
|
-
}
|
|
37
|
-
// Get PR details to get the head ref
|
|
38
|
-
const { data: pr } = await octokit.pulls.get({
|
|
39
|
-
owner,
|
|
40
|
-
repo,
|
|
41
|
-
pull_number: prNumber,
|
|
42
|
-
});
|
|
43
|
-
const headRef = pr.head.sha;
|
|
44
|
-
// Get list of changed files
|
|
45
|
-
const { data: files } = await octokit.pulls.listFiles({
|
|
46
|
-
owner,
|
|
47
|
-
repo,
|
|
48
|
-
pull_number: prNumber,
|
|
49
|
-
per_page: 100,
|
|
50
|
-
});
|
|
51
|
-
if (verbose) {
|
|
52
|
-
logInfo(`โ
Found ${files.length} changed files`);
|
|
53
|
-
logInfo(`๐ฅ Fetching full content for changed files from ${headRef.substring(0, 7)}...`);
|
|
54
|
-
}
|
|
55
|
-
// Fetch full content for each file in parallel
|
|
56
|
-
const fileChanges = await Promise.all(files.map(async (file) => {
|
|
57
|
-
let fullContent;
|
|
58
|
-
// Only fetch content for files that were not deleted
|
|
59
|
-
if (file.status !== 'removed') {
|
|
60
|
-
fullContent = await fetchFileContent({
|
|
61
|
-
octokit,
|
|
62
|
-
owner,
|
|
63
|
-
repo,
|
|
64
|
-
ref: headRef,
|
|
65
|
-
path: file.filename,
|
|
66
|
-
verbose,
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
filename: file.filename,
|
|
71
|
-
status: file.status,
|
|
72
|
-
additions: file.additions,
|
|
73
|
-
deletions: file.deletions,
|
|
74
|
-
changes: file.changes,
|
|
75
|
-
patch: file.patch,
|
|
76
|
-
fullContent,
|
|
77
|
-
};
|
|
78
|
-
}));
|
|
79
|
-
if (verbose) {
|
|
80
|
-
const filesWithContent = fileChanges.filter((f) => f.fullContent).length;
|
|
81
|
-
logInfo(`โ
Retrieved full content for ${filesWithContent}/${fileChanges.length} files`);
|
|
82
|
-
}
|
|
83
|
-
return fileChanges;
|
|
84
|
-
}
|
|
85
|
-
catch (error) {
|
|
86
|
-
logError(`Failed to fetch PR file changes: ${error}`);
|
|
87
|
-
return [];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
const REVIEW_THREADS_QUERY = `
|
|
91
|
-
query($owner: String!, $repo: String!, $prNumber: Int!, $threadCursor: String) {
|
|
92
|
-
repository(owner: $owner, name: $repo) {
|
|
93
|
-
pullRequest(number: $prNumber) {
|
|
94
|
-
reviewThreads(first: 100, after: $threadCursor) {
|
|
95
|
-
pageInfo {
|
|
96
|
-
hasNextPage
|
|
97
|
-
endCursor
|
|
98
|
-
}
|
|
99
|
-
nodes {
|
|
100
|
-
id
|
|
101
|
-
isResolved
|
|
102
|
-
isOutdated
|
|
103
|
-
comments(first: 100) {
|
|
104
|
-
totalCount
|
|
105
|
-
pageInfo {
|
|
106
|
-
hasNextPage
|
|
107
|
-
endCursor
|
|
108
|
-
}
|
|
109
|
-
nodes {
|
|
110
|
-
id
|
|
111
|
-
author {
|
|
112
|
-
login
|
|
113
|
-
}
|
|
114
|
-
body
|
|
115
|
-
path
|
|
116
|
-
line
|
|
117
|
-
url
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
`;
|
|
126
|
-
const THREAD_COMMENTS_QUERY = `
|
|
127
|
-
query($threadId: ID!, $cursor: String) {
|
|
128
|
-
node(id: $threadId) {
|
|
129
|
-
... on PullRequestReviewThread {
|
|
130
|
-
comments(first: 100, after: $cursor) {
|
|
131
|
-
pageInfo {
|
|
132
|
-
hasNextPage
|
|
133
|
-
endCursor
|
|
134
|
-
}
|
|
135
|
-
nodes {
|
|
136
|
-
id
|
|
137
|
-
author {
|
|
138
|
-
login
|
|
139
|
-
}
|
|
140
|
-
body
|
|
141
|
-
path
|
|
142
|
-
line
|
|
143
|
-
url
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
`;
|
|
150
|
-
/**
|
|
151
|
-
* Page through every `reviewThreads` connection, following `pageInfo.endCursor`
|
|
152
|
-
* until GitHub reports `hasNextPage: false`. Exported for tests.
|
|
153
|
-
*/
|
|
154
|
-
export async function fetchAllReviewThreads(octokit, owner, repo, prNumber, verbose) {
|
|
155
|
-
const allThreads = [];
|
|
156
|
-
let threadCursor = null;
|
|
157
|
-
let threadPage = 0;
|
|
158
|
-
while (true) {
|
|
159
|
-
threadPage += 1;
|
|
160
|
-
const result = await octokit.graphql(REVIEW_THREADS_QUERY, {
|
|
161
|
-
owner,
|
|
162
|
-
repo,
|
|
163
|
-
prNumber,
|
|
164
|
-
threadCursor,
|
|
165
|
-
});
|
|
166
|
-
const page = result.repository?.pullRequest?.reviewThreads;
|
|
167
|
-
const pageThreads = page?.nodes ?? [];
|
|
168
|
-
allThreads.push(...pageThreads);
|
|
169
|
-
if (verbose) {
|
|
170
|
-
logInfo(` ยท page ${threadPage}: fetched ${pageThreads.length} thread(s) (total so far: ${allThreads.length})`);
|
|
171
|
-
}
|
|
172
|
-
const pageInfo = page?.pageInfo;
|
|
173
|
-
if (!pageInfo?.hasNextPage || !pageInfo.endCursor) {
|
|
174
|
-
break;
|
|
175
|
-
}
|
|
176
|
-
threadCursor = pageInfo.endCursor;
|
|
177
|
-
}
|
|
178
|
-
return allThreads;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Fetch unresolved review threads using GitHub GraphQL API
|
|
182
|
-
* This provides accurate resolution status unlike REST API
|
|
183
|
-
*/
|
|
184
|
-
export async function fetchUnresolvedReviewThreads(octokit, owner, repo, prNumber, verbose) {
|
|
185
|
-
try {
|
|
186
|
-
if (verbose) {
|
|
187
|
-
logInfo('๐ Fetching review threads via GraphQL API...');
|
|
188
|
-
}
|
|
189
|
-
const allThreads = await fetchAllReviewThreads(octokit, owner, repo, prNumber, verbose);
|
|
190
|
-
// Fill in any threads whose comments were truncated at 100
|
|
191
|
-
await hydrateThreadComments(octokit, allThreads, verbose);
|
|
192
|
-
// Filter for truly unresolved threads
|
|
193
|
-
// - Exclude resolved threads (isResolved = true)
|
|
194
|
-
// - Exclude outdated threads (isOutdated = true) - these mean code has changed, should auto-resolve
|
|
195
|
-
const unresolvedThreads = allThreads.filter((thread) => !thread.isResolved && !thread.isOutdated);
|
|
196
|
-
// Separate outdated threads that should be auto-resolved
|
|
197
|
-
const outdatedThreads = allThreads.filter((thread) => !thread.isResolved && thread.isOutdated);
|
|
198
|
-
if (verbose) {
|
|
199
|
-
logInfo(`๐ Found ${unresolvedThreads.length} unresolved review threads (out of ${allThreads.length} total)`);
|
|
200
|
-
if (outdatedThreads.length > 0) {
|
|
201
|
-
logInfo(`๐ Found ${outdatedThreads.length} outdated threads (code changed, will auto-resolve)`);
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
// Auto-resolve outdated threads
|
|
205
|
-
if (outdatedThreads.length > 0) {
|
|
206
|
-
const markedCount = await resolveReviewThreads(octokit, outdatedThreads, verbose);
|
|
207
|
-
if (verbose) {
|
|
208
|
-
logInfo(`โ
Auto-resolved ${markedCount} outdated threads`);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return unresolvedThreads;
|
|
212
|
-
}
|
|
213
|
-
catch (error) {
|
|
214
|
-
logError(`Failed to fetch review threads via GraphQL: ${error}`);
|
|
215
|
-
// Fallback to empty array if GraphQL fails
|
|
216
|
-
return [];
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* For any thread whose `comments` connection was truncated (>100 comments),
|
|
221
|
-
* page through the remaining comments and append them to the thread in place.
|
|
222
|
-
* Each thread is hydrated concurrently; the per-thread loop is still
|
|
223
|
-
* sequential because each page depends on the previous cursor. Exported for
|
|
224
|
-
* tests.
|
|
225
|
-
*/
|
|
226
|
-
export async function hydrateThreadComments(octokit, threads, verbose) {
|
|
227
|
-
await Promise.all(threads.map((thread) => hydrateOneThreadComments(octokit, thread, verbose)));
|
|
228
|
-
}
|
|
229
|
-
async function hydrateOneThreadComments(octokit, thread, verbose) {
|
|
230
|
-
let { pageInfo } = thread.comments;
|
|
231
|
-
let cursor = pageInfo?.endCursor ?? null;
|
|
232
|
-
while (pageInfo?.hasNextPage && cursor) {
|
|
233
|
-
const result = await octokit.graphql(THREAD_COMMENTS_QUERY, {
|
|
234
|
-
threadId: thread.id,
|
|
235
|
-
cursor,
|
|
236
|
-
});
|
|
237
|
-
const page = result.node?.comments;
|
|
238
|
-
const pageComments = page?.nodes ?? [];
|
|
239
|
-
thread.comments.nodes.push(...pageComments);
|
|
240
|
-
if (verbose) {
|
|
241
|
-
logInfo(` ยท thread ${thread.id}: fetched ${pageComments.length} extra comment(s)`);
|
|
242
|
-
}
|
|
243
|
-
pageInfo = page?.pageInfo;
|
|
244
|
-
cursor = pageInfo?.endCursor ?? null;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Mark review threads as resolved using GraphQL API
|
|
249
|
-
*/
|
|
250
|
-
export async function resolveReviewThreads(octokit, threads, verbose) {
|
|
251
|
-
let markedCount = 0;
|
|
252
|
-
for (const thread of threads) {
|
|
253
|
-
try {
|
|
254
|
-
if (verbose) {
|
|
255
|
-
logInfo(`โ
Marking thread ${thread.id} as resolved...`);
|
|
256
|
-
}
|
|
257
|
-
const mutation = `
|
|
258
|
-
mutation($threadId: ID!) {
|
|
259
|
-
resolveReviewThread(input: {threadId: $threadId}) {
|
|
260
|
-
thread {
|
|
261
|
-
id
|
|
262
|
-
isResolved
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
`;
|
|
267
|
-
await octokit.graphql(mutation, {
|
|
268
|
-
threadId: thread.id,
|
|
269
|
-
});
|
|
270
|
-
markedCount++;
|
|
271
|
-
if (verbose) {
|
|
272
|
-
logInfo(`โ
Thread ${thread.id} marked as resolved`);
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
catch (error) {
|
|
276
|
-
if (verbose) {
|
|
277
|
-
logError(`Failed to resolve thread ${thread.id}: ${error}`);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
return markedCount;
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Dismiss pull request reviews using GraphQL API
|
|
285
|
-
* This is used to automatically dismiss "CHANGES_REQUESTED" reviews
|
|
286
|
-
* after all feedback has been addressed by code refine
|
|
287
|
-
*/
|
|
288
|
-
export async function dismissReviews(octokit, reviews, resolvedCommentsCount, verbose) {
|
|
289
|
-
let dismissedCount = 0;
|
|
290
|
-
for (const review of reviews) {
|
|
291
|
-
try {
|
|
292
|
-
if (verbose) {
|
|
293
|
-
logInfo(`๐ Dismissing review ${review.id} by @${review.user.login}...`);
|
|
294
|
-
}
|
|
295
|
-
// Build dismiss message explaining what was resolved
|
|
296
|
-
const message = `All feedback has been addressed by automated code refine.\n\n` +
|
|
297
|
-
`โ
Resolved ${resolvedCommentsCount} review comment(s).\n\n` +
|
|
298
|
-
`Please re-review if you disagree with any changes.`;
|
|
299
|
-
const mutation = `
|
|
300
|
-
mutation($pullRequestReviewId: ID!, $message: String!) {
|
|
301
|
-
dismissPullRequestReview(input: {
|
|
302
|
-
pullRequestReviewId: $pullRequestReviewId
|
|
303
|
-
message: $message
|
|
304
|
-
}) {
|
|
305
|
-
pullRequestReview {
|
|
306
|
-
id
|
|
307
|
-
state
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
`;
|
|
312
|
-
await octokit.graphql(mutation, {
|
|
313
|
-
pullRequestReviewId: review.node_id,
|
|
314
|
-
message,
|
|
315
|
-
});
|
|
316
|
-
dismissedCount++;
|
|
317
|
-
if (verbose) {
|
|
318
|
-
logInfo(`โ
Dismissed review ${review.id} by @${review.user.login}`);
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
catch (error) {
|
|
322
|
-
if (verbose) {
|
|
323
|
-
logError(`Failed to dismiss review ${review.id} by @${review.user.login}: ${error}`);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
return dismissedCount;
|
|
328
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Code Refine Verification
|
|
3
|
-
* Verifies that all PR review comments have been addressed and resolves them
|
|
4
|
-
* Uses GitHub GraphQL API to accurately detect unresolved review threads
|
|
5
|
-
*/
|
|
6
|
-
import { type CodeRefineVerificationOptions, type CodeRefineVerificationResult } from './types.js';
|
|
7
|
-
export * from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Verify and resolve PR review comments using GraphQL API and LLM analysis
|
|
10
|
-
*/
|
|
11
|
-
export declare function verifyAndResolveComments(options: CodeRefineVerificationOptions): Promise<CodeRefineVerificationResult>;
|