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,260 +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 { Octokit } from '@octokit/rest';
|
|
7
|
-
import { getReviewedBranch } from '../../services/branches.js';
|
|
8
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
9
|
-
import { fetchPRReviews, parsePullRequestUrl } from '../code-refine/context.js';
|
|
10
|
-
import { dismissReviews, fetchPRFileChanges, fetchUnresolvedReviewThreads, resolveReviewThreads, } from './github.js';
|
|
11
|
-
import { analyzeAllThreads } from './llm-analyzer.js';
|
|
12
|
-
// Re-export types for backward compatibility
|
|
13
|
-
export * from './types.js';
|
|
14
|
-
/**
|
|
15
|
-
* Verify and resolve PR review comments using GraphQL API and LLM analysis
|
|
16
|
-
*/
|
|
17
|
-
// eslint-disable-next-line complexity -- orchestration function with comment fetching, AI analysis, and resolution
|
|
18
|
-
export async function verifyAndResolveComments(options) {
|
|
19
|
-
const { issueId, githubToken, config, verbose } = options;
|
|
20
|
-
if (verbose) {
|
|
21
|
-
logInfo(`Starting code refine verification for issue ID: ${issueId}`);
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
// For multi-branch issues, find the branch that has been reviewed
|
|
25
|
-
// (status = 'reviewed' after code-review phase)
|
|
26
|
-
let currentBranch = null;
|
|
27
|
-
try {
|
|
28
|
-
currentBranch = await getReviewedBranch({ issueId, verbose });
|
|
29
|
-
if (currentBranch && verbose) {
|
|
30
|
-
logInfo(`📋 Found reviewed branch: ${currentBranch.name}`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
catch (_error) {
|
|
34
|
-
if (verbose) {
|
|
35
|
-
logInfo(`Note: Could not fetch issue branches`);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
// Get PR URL from branch
|
|
39
|
-
let pullRequestUrl = null;
|
|
40
|
-
if (currentBranch && currentBranch.pull_request_url) {
|
|
41
|
-
pullRequestUrl = currentBranch.pull_request_url;
|
|
42
|
-
if (verbose) {
|
|
43
|
-
logInfo(`📝 Using PR URL from branch: ${pullRequestUrl}`);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
if (!pullRequestUrl) {
|
|
47
|
-
throw new Error(`Issue ${issueId} does not have a pull request URL. Cannot perform verification.`);
|
|
48
|
-
}
|
|
49
|
-
// Parse PR URL
|
|
50
|
-
const prInfo = parsePullRequestUrl(pullRequestUrl);
|
|
51
|
-
if (!prInfo) {
|
|
52
|
-
throw new Error(`Invalid pull request URL: ${pullRequestUrl}. Expected format: https://github.com/owner/repo/pull/123`);
|
|
53
|
-
}
|
|
54
|
-
const { owner, repo, prNumber } = prInfo;
|
|
55
|
-
// Initialize Octokit with GitHub token (supports both REST and GraphQL)
|
|
56
|
-
const octokit = new Octokit({
|
|
57
|
-
auth: githubToken,
|
|
58
|
-
});
|
|
59
|
-
// Fetch unresolved review threads, reviews, and file changes
|
|
60
|
-
const [unresolvedThreads, reviews, fileChanges] = await Promise.all([
|
|
61
|
-
fetchUnresolvedReviewThreads(octokit, owner, repo, prNumber, verbose),
|
|
62
|
-
fetchPRReviews(octokit, owner, repo, prNumber, verbose),
|
|
63
|
-
fetchPRFileChanges(octokit, owner, repo, prNumber, verbose),
|
|
64
|
-
]);
|
|
65
|
-
// Check if there's anything to verify
|
|
66
|
-
if (reviews.length === 0 && unresolvedThreads.length === 0) {
|
|
67
|
-
if (verbose) {
|
|
68
|
-
logInfo('✅ No reviews or unresolved review threads found. Verification complete.');
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
status: 'success',
|
|
72
|
-
message: 'No reviews or review comments to verify',
|
|
73
|
-
data: {
|
|
74
|
-
issueId,
|
|
75
|
-
totalReviews: 0,
|
|
76
|
-
unresolvedReviews: 0,
|
|
77
|
-
totalComments: 0,
|
|
78
|
-
resolvedComments: 0,
|
|
79
|
-
unresolvedComments: 0,
|
|
80
|
-
},
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
// Use LLM to intelligently analyze unresolved threads
|
|
84
|
-
const threadAnalysisResults = await analyzeAllThreads(unresolvedThreads, fileChanges, config, verbose);
|
|
85
|
-
// Separate threads that LLM determined are addressed vs not addressed
|
|
86
|
-
const addressedThreads = threadAnalysisResults.filter((result) => result.analysis.isAddressed);
|
|
87
|
-
const trulyUnresolvedThreads = threadAnalysisResults.filter((result) => !result.analysis.isAddressed);
|
|
88
|
-
// Auto-resolve threads that LLM determined are addressed
|
|
89
|
-
let totalResolvedComments = 0;
|
|
90
|
-
if (addressedThreads.length > 0) {
|
|
91
|
-
if (verbose) {
|
|
92
|
-
logInfo(`✅ Auto-resolving ${addressedThreads.length} threads that have been addressed...`);
|
|
93
|
-
}
|
|
94
|
-
const resolvedCount = await resolveReviewThreads(octokit, addressedThreads.map((r) => r.thread), verbose);
|
|
95
|
-
totalResolvedComments = resolvedCount;
|
|
96
|
-
if (verbose) {
|
|
97
|
-
logInfo(`✅ Successfully resolved ${resolvedCount} threads`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Check reviews - they need to be dismissed if all comments are addressed
|
|
101
|
-
const changesRequestedReviews = reviews.filter((review) => review.state === 'CHANGES_REQUESTED');
|
|
102
|
-
if (verbose) {
|
|
103
|
-
logInfo(`📊 Review Threads: ${trulyUnresolvedThreads.length} still unresolved (after LLM analysis)`);
|
|
104
|
-
if (reviews.length > 0) {
|
|
105
|
-
logInfo(`📊 Reviews: ${changesRequestedReviews.length} requesting changes`);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// If all threads are truly resolved, dismiss the "CHANGES_REQUESTED" reviews
|
|
109
|
-
let dismissedReviewsCount = 0;
|
|
110
|
-
if (trulyUnresolvedThreads.length === 0 &&
|
|
111
|
-
changesRequestedReviews.length > 0) {
|
|
112
|
-
if (verbose) {
|
|
113
|
-
logInfo(`🔄 All comments addressed. Dismissing ${changesRequestedReviews.length} review(s) requesting changes...`);
|
|
114
|
-
}
|
|
115
|
-
dismissedReviewsCount = await dismissReviews(octokit, changesRequestedReviews, totalResolvedComments, verbose);
|
|
116
|
-
if (verbose) {
|
|
117
|
-
logInfo(`✅ Successfully dismissed ${dismissedReviewsCount} review(s)`);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
// If all threads are truly resolved (after LLM analysis) AND reviews are dismissed, success
|
|
121
|
-
const allReviewsDismissed = changesRequestedReviews.length === 0 ||
|
|
122
|
-
dismissedReviewsCount === changesRequestedReviews.length;
|
|
123
|
-
if (trulyUnresolvedThreads.length === 0 && allReviewsDismissed) {
|
|
124
|
-
if (verbose) {
|
|
125
|
-
logInfo('✅ All comments have been addressed! All review threads are resolved.');
|
|
126
|
-
}
|
|
127
|
-
let successMessage = 'All review comments have been addressed and resolved';
|
|
128
|
-
if (dismissedReviewsCount > 0) {
|
|
129
|
-
successMessage = `All reviews and review comments have been addressed. ${dismissedReviewsCount} review(s) dismissed.`;
|
|
130
|
-
}
|
|
131
|
-
else if (reviews.length > 0) {
|
|
132
|
-
successMessage =
|
|
133
|
-
'All reviews and review comments have been addressed and resolved';
|
|
134
|
-
}
|
|
135
|
-
return {
|
|
136
|
-
status: 'success',
|
|
137
|
-
message: successMessage,
|
|
138
|
-
data: {
|
|
139
|
-
issueId,
|
|
140
|
-
totalReviews: reviews.length,
|
|
141
|
-
unresolvedReviews: 0,
|
|
142
|
-
totalComments: unresolvedThreads.length,
|
|
143
|
-
resolvedComments: addressedThreads.length,
|
|
144
|
-
unresolvedComments: 0,
|
|
145
|
-
commentsMarkedResolved: addressedThreads.length,
|
|
146
|
-
dismissedReviews: dismissedReviewsCount,
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
// Verification failed - build detailed info with specific failure reasons from LLM analysis
|
|
151
|
-
// Calculate remaining reviews that weren't dismissed
|
|
152
|
-
const remainingReviewsCount = changesRequestedReviews.length - dismissedReviewsCount;
|
|
153
|
-
if (verbose) {
|
|
154
|
-
if (remainingReviewsCount > 0) {
|
|
155
|
-
logInfo(`⚠️ ${remainingReviewsCount} reviews still requesting changes (failed to dismiss)`);
|
|
156
|
-
changesRequestedReviews.forEach((review) => {
|
|
157
|
-
logInfo(` - Review ${review.id} by @${review.user.login}`);
|
|
158
|
-
if (review.body) {
|
|
159
|
-
logInfo(` ${review.body.substring(0, 100)}...`);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
if (trulyUnresolvedThreads.length > 0) {
|
|
164
|
-
logInfo(`⚠️ ${trulyUnresolvedThreads.length} review threads still need to be addressed`);
|
|
165
|
-
trulyUnresolvedThreads.forEach((result) => {
|
|
166
|
-
const firstComment = result.thread.comments.nodes[0];
|
|
167
|
-
if (firstComment) {
|
|
168
|
-
logInfo(` - Comment by @${firstComment.author.login}`);
|
|
169
|
-
logInfo(` File: ${firstComment.path}:${firstComment.line || '?'}`);
|
|
170
|
-
logInfo(` ${firstComment.body.substring(0, 100)}...`);
|
|
171
|
-
logInfo(` LLM Analysis: ${result.analysis.reason}`);
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
// Build targeted suggestions based on LLM analysis
|
|
177
|
-
const suggestions = [];
|
|
178
|
-
// Create specific suggestions for each truly unresolved comment (based on LLM analysis)
|
|
179
|
-
trulyUnresolvedThreads.forEach((result, index) => {
|
|
180
|
-
const firstComment = result.thread.comments.nodes[0];
|
|
181
|
-
if (firstComment) {
|
|
182
|
-
suggestions.push(`${index + 1}. [${firstComment.path}:${firstComment.line || '?'}] by @${firstComment.author.login}: ${result.analysis.reason}`);
|
|
183
|
-
}
|
|
184
|
-
});
|
|
185
|
-
// Add review-specific suggestions if any reviews failed to dismiss
|
|
186
|
-
if (remainingReviewsCount > 0) {
|
|
187
|
-
suggestions.push(`\n${remainingReviewsCount} review(s) requesting changes could not be automatically dismissed:`);
|
|
188
|
-
changesRequestedReviews.forEach((review) => {
|
|
189
|
-
suggestions.push(` - @${review.user.login}: ${review.body ? review.body.substring(0, 150) : 'No details provided'}${review.body && review.body.length > 150 ? '...' : ''}`);
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
// Build detailed unresolved info with LLM-analyzed failure reasons
|
|
193
|
-
const unresolvedCommentDetails = trulyUnresolvedThreads.map((result) => {
|
|
194
|
-
const firstComment = result.thread.comments.nodes[0];
|
|
195
|
-
return {
|
|
196
|
-
commentId: firstComment.id,
|
|
197
|
-
author: firstComment.author.login,
|
|
198
|
-
file: firstComment.path,
|
|
199
|
-
line: firstComment.line,
|
|
200
|
-
body: firstComment.body,
|
|
201
|
-
failureReason: result.analysis.reason, // Use LLM analysis result
|
|
202
|
-
url: firstComment.url,
|
|
203
|
-
};
|
|
204
|
-
});
|
|
205
|
-
const unresolvedReviewDetails = changesRequestedReviews.map((review) => ({
|
|
206
|
-
reviewId: review.id,
|
|
207
|
-
author: review.user.login,
|
|
208
|
-
state: review.state,
|
|
209
|
-
body: review.body,
|
|
210
|
-
submittedAt: review.submitted_at,
|
|
211
|
-
}));
|
|
212
|
-
let errorMessage = '';
|
|
213
|
-
if (remainingReviewsCount > 0 && trulyUnresolvedThreads.length > 0) {
|
|
214
|
-
errorMessage = `${remainingReviewsCount} reviews and ${trulyUnresolvedThreads.length} review threads still need to be addressed (based on LLM analysis)`;
|
|
215
|
-
}
|
|
216
|
-
else if (remainingReviewsCount > 0) {
|
|
217
|
-
errorMessage = `${remainingReviewsCount} reviews could not be dismissed`;
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
errorMessage = `${trulyUnresolvedThreads.length} review comments still need to be addressed (based on LLM analysis)`;
|
|
221
|
-
}
|
|
222
|
-
return {
|
|
223
|
-
status: 'error',
|
|
224
|
-
message: errorMessage,
|
|
225
|
-
data: {
|
|
226
|
-
issueId,
|
|
227
|
-
totalReviews: reviews.length,
|
|
228
|
-
unresolvedReviews: remainingReviewsCount,
|
|
229
|
-
totalComments: unresolvedThreads.length, // Original count before LLM analysis
|
|
230
|
-
resolvedComments: addressedThreads.length, // LLM determined these are addressed
|
|
231
|
-
unresolvedComments: trulyUnresolvedThreads.length, // LLM determined these still need work
|
|
232
|
-
commentsMarkedResolved: addressedThreads.length,
|
|
233
|
-
dismissedReviews: dismissedReviewsCount,
|
|
234
|
-
suggestions,
|
|
235
|
-
unresolvedReviewDetails,
|
|
236
|
-
unresolvedCommentDetails,
|
|
237
|
-
},
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
catch (error) {
|
|
241
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
242
|
-
logError(`Code refine verification failed: ${errorMessage}`);
|
|
243
|
-
return {
|
|
244
|
-
status: 'error',
|
|
245
|
-
message: `Verification failed: ${errorMessage}`,
|
|
246
|
-
data: {
|
|
247
|
-
issueId,
|
|
248
|
-
totalReviews: 0,
|
|
249
|
-
unresolvedReviews: 0,
|
|
250
|
-
totalComments: 0,
|
|
251
|
-
resolvedComments: 0,
|
|
252
|
-
unresolvedComments: 0,
|
|
253
|
-
suggestions: [
|
|
254
|
-
`Verification failed with error: ${errorMessage}`,
|
|
255
|
-
'Please check the error message and try again',
|
|
256
|
-
],
|
|
257
|
-
},
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LLM-based analysis for code review comment verification
|
|
3
|
-
* Uses Claude to intelligently determine if feedback has been addressed
|
|
4
|
-
*/
|
|
5
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
6
|
-
import { type PRFileChange, type ReviewThread } from './types.js';
|
|
7
|
-
export interface ThreadAnalysisResult {
|
|
8
|
-
isAddressed: boolean;
|
|
9
|
-
reason: string;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Analyze whether a review thread has been addressed by examining code changes
|
|
13
|
-
* Uses LLM to intelligently determine if the feedback was addressed
|
|
14
|
-
*/
|
|
15
|
-
export declare function analyzeThreadWithLLM(thread: ReviewThread, fileChange: PRFileChange | undefined, allFileChanges: PRFileChange[], config: EdsgerConfig, verbose?: boolean): Promise<ThreadAnalysisResult>;
|
|
16
|
-
/**
|
|
17
|
-
* Analyze all review threads in parallel using LLM
|
|
18
|
-
*/
|
|
19
|
-
export declare function analyzeAllThreads(threads: ReviewThread[], fileChanges: PRFileChange[], config: EdsgerConfig, verbose?: boolean): Promise<{
|
|
20
|
-
thread: ReviewThread;
|
|
21
|
-
analysis: ThreadAnalysisResult;
|
|
22
|
-
}[]>;
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LLM-based analysis for code review comment verification
|
|
3
|
-
* Uses Claude to intelligently determine if feedback has been addressed
|
|
4
|
-
*/
|
|
5
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
6
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
7
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
8
|
-
import { createThreadAnalysisPrompt } from './prompts.js';
|
|
9
|
-
/**
|
|
10
|
-
* Extract text from assistant message content
|
|
11
|
-
*/
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
function extractTextContent(content) {
|
|
14
|
-
let text = '';
|
|
15
|
-
for (const item of content) {
|
|
16
|
-
if (item.type === 'text') {
|
|
17
|
-
text += `${item.text}\n`;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return text;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Parse analysis response text into a result object
|
|
24
|
-
*/
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
-
function parseAnalysisResponse(responseText) {
|
|
27
|
-
// Try to extract JSON from response
|
|
28
|
-
const jsonMatch = responseText.match(/```json\s*\n([\s\S]*?)\n\s*```/);
|
|
29
|
-
if (jsonMatch) {
|
|
30
|
-
return JSON.parse(jsonMatch[1]);
|
|
31
|
-
}
|
|
32
|
-
// Try to parse directly
|
|
33
|
-
try {
|
|
34
|
-
return JSON.parse(responseText);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
// Fallback: look for isAddressed boolean in text
|
|
38
|
-
const isAddressedMatch = /isAddressed["']?\s*:\s*(true|false)/i.exec(responseText);
|
|
39
|
-
if (isAddressedMatch) {
|
|
40
|
-
return {
|
|
41
|
-
isAddressed: isAddressedMatch[1].toLowerCase() === 'true',
|
|
42
|
-
reason: responseText.split('\n').find((line) => line.trim()) ||
|
|
43
|
-
'Analysis completed',
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Analyze whether a review thread has been addressed by examining code changes
|
|
51
|
-
* Uses LLM to intelligently determine if the feedback was addressed
|
|
52
|
-
*/
|
|
53
|
-
export async function analyzeThreadWithLLM(thread, fileChange, allFileChanges, config, verbose) {
|
|
54
|
-
const firstComment = thread.comments.nodes[0];
|
|
55
|
-
if (!firstComment) {
|
|
56
|
-
return {
|
|
57
|
-
isAddressed: false,
|
|
58
|
-
reason: 'Comment thread exists but has no comments',
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
// If file was deleted, thread should be resolved as obsolete
|
|
62
|
-
if (fileChange?.status === 'removed') {
|
|
63
|
-
return {
|
|
64
|
-
isAddressed: true,
|
|
65
|
-
reason: 'File has been removed',
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
// Check if there are any file changes at all
|
|
69
|
-
const hasAnyChanges = allFileChanges.some((fc) => fc.patch);
|
|
70
|
-
if (!hasAnyChanges) {
|
|
71
|
-
return {
|
|
72
|
-
isAddressed: false,
|
|
73
|
-
reason: 'No code changes found in this PR',
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
try {
|
|
77
|
-
if (verbose) {
|
|
78
|
-
logInfo(`🤖 Using LLM to analyze if comment in ${firstComment.path}:${firstComment.line} has been addressed...`);
|
|
79
|
-
}
|
|
80
|
-
const analysisPrompt = createThreadAnalysisPrompt(thread, fileChange, allFileChanges, firstComment);
|
|
81
|
-
let lastResponse = '';
|
|
82
|
-
let analysisResult = null;
|
|
83
|
-
function* userMessage() {
|
|
84
|
-
yield {
|
|
85
|
-
type: 'user',
|
|
86
|
-
message: { role: 'user', content: analysisPrompt },
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
for await (const message of query({
|
|
90
|
-
prompt: userMessage(),
|
|
91
|
-
options: {
|
|
92
|
-
model: DEFAULT_MODEL,
|
|
93
|
-
maxTurns: 10,
|
|
94
|
-
permissionMode: 'bypassPermissions',
|
|
95
|
-
},
|
|
96
|
-
})) {
|
|
97
|
-
if (message.type === 'assistant') {
|
|
98
|
-
lastResponse += extractTextContent(message.message?.content ?? []);
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
if (message.type !== 'result') {
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
if (message.subtype === 'success') {
|
|
105
|
-
analysisResult = parseAnalysisResponse(message.result || lastResponse);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
if (analysisResult) {
|
|
109
|
-
if (verbose) {
|
|
110
|
-
logInfo(` ${analysisResult.isAddressed ? '✅' : '❌'} ${analysisResult.reason}`);
|
|
111
|
-
}
|
|
112
|
-
return analysisResult;
|
|
113
|
-
}
|
|
114
|
-
// Fallback if LLM analysis failed
|
|
115
|
-
return {
|
|
116
|
-
isAddressed: false,
|
|
117
|
-
reason: 'Unable to analyze - please review manually',
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
if (verbose) {
|
|
122
|
-
logError(`LLM analysis failed: ${error}`);
|
|
123
|
-
}
|
|
124
|
-
return {
|
|
125
|
-
isAddressed: false,
|
|
126
|
-
reason: 'Analysis failed - please review manually',
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Analyze all review threads in parallel using LLM
|
|
132
|
-
*/
|
|
133
|
-
export async function analyzeAllThreads(threads, fileChanges, config, verbose) {
|
|
134
|
-
if (verbose && threads.length > 0) {
|
|
135
|
-
logInfo(`🔍 Analyzing ${threads.length} unresolved threads with LLM...`);
|
|
136
|
-
}
|
|
137
|
-
const results = await Promise.all(threads.map(async (thread) => {
|
|
138
|
-
const firstComment = thread.comments.nodes[0];
|
|
139
|
-
const fileChange = fileChanges.find((fc) => fc.filename === firstComment?.path);
|
|
140
|
-
const analysis = await analyzeThreadWithLLM(thread, fileChange, fileChanges, config, verbose);
|
|
141
|
-
return {
|
|
142
|
-
thread,
|
|
143
|
-
analysis,
|
|
144
|
-
};
|
|
145
|
-
}));
|
|
146
|
-
if (verbose) {
|
|
147
|
-
const addressedCount = results.filter((r) => r.analysis.isAddressed).length;
|
|
148
|
-
const unresolvedCount = results.length - addressedCount;
|
|
149
|
-
logInfo(`📊 LLM Analysis: ${addressedCount} threads addressed, ${unresolvedCount} still need attention`);
|
|
150
|
-
}
|
|
151
|
-
return results;
|
|
152
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type PRFileChange, type ReviewThread } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create prompt for LLM to analyze if a comment thread has been addressed
|
|
4
|
-
*/
|
|
5
|
-
export declare function createThreadAnalysisPrompt(thread: ReviewThread, fileChange: PRFileChange | undefined, allFileChanges: PRFileChange[], firstComment: ReviewThread['comments']['nodes'][0]): string;
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create prompt for LLM to analyze if a comment thread has been addressed
|
|
3
|
-
*/
|
|
4
|
-
export function createThreadAnalysisPrompt(thread, fileChange, allFileChanges, firstComment) {
|
|
5
|
-
const allComments = thread.comments.nodes
|
|
6
|
-
.map((c, idx) => `Comment ${idx + 1} by @${c.author.login}:\n${c.body}`)
|
|
7
|
-
.join('\n\n');
|
|
8
|
-
// Build the code context section
|
|
9
|
-
let codeContext = '';
|
|
10
|
-
const commentFilePath = firstComment.path;
|
|
11
|
-
// Check if the comment's file was modified
|
|
12
|
-
const commentFileModified = fileChange && fileChange.patch;
|
|
13
|
-
if (commentFileModified) {
|
|
14
|
-
// Include diff for the comment's file
|
|
15
|
-
codeContext += `**Changes in ${commentFilePath} (where the comment was made):**
|
|
16
|
-
\`\`\`diff
|
|
17
|
-
${fileChange.patch}
|
|
18
|
-
\`\`\`
|
|
19
|
-
|
|
20
|
-
`;
|
|
21
|
-
// Include full file content for better context
|
|
22
|
-
if (fileChange.fullContent) {
|
|
23
|
-
const maxLength = 10000;
|
|
24
|
-
const content = fileChange.fullContent.length > maxLength
|
|
25
|
-
? `${fileChange.fullContent.substring(0, maxLength)}\n\n... (file truncated, showing first 10000 characters)`
|
|
26
|
-
: fileChange.fullContent;
|
|
27
|
-
codeContext += `**Complete File Content of ${commentFilePath} (After Changes):**
|
|
28
|
-
\`\`\`
|
|
29
|
-
${content}
|
|
30
|
-
\`\`\`
|
|
31
|
-
|
|
32
|
-
`;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
codeContext += `**Note:** The file where the comment was made (${commentFilePath}) was NOT modified in this PR.
|
|
37
|
-
This could be intentional - the comment may be requesting changes to a DIFFERENT file.
|
|
38
|
-
|
|
39
|
-
`;
|
|
40
|
-
}
|
|
41
|
-
// Include other file changes - important for cross-file requests
|
|
42
|
-
// (e.g., "add these variables to the env example file")
|
|
43
|
-
const otherChanges = allFileChanges.filter((fc) => fc.filename !== commentFilePath && fc.patch);
|
|
44
|
-
if (otherChanges.length > 0) {
|
|
45
|
-
codeContext += `**Other Files Changed in This PR:**\n`;
|
|
46
|
-
// Show summary of all changed files first
|
|
47
|
-
codeContext += `Changed files: ${otherChanges.map((fc) => fc.filename).join(', ')}\n\n`;
|
|
48
|
-
// Include diffs for potentially relevant files (env files, config files, etc.)
|
|
49
|
-
// and a sample of other changes
|
|
50
|
-
const relevantPatterns = [
|
|
51
|
-
/\.env/i,
|
|
52
|
-
/config/i,
|
|
53
|
-
/example/i,
|
|
54
|
-
/sample/i,
|
|
55
|
-
/template/i,
|
|
56
|
-
];
|
|
57
|
-
const relevantChanges = otherChanges.filter((fc) => relevantPatterns.some((pattern) => pattern.test(fc.filename)));
|
|
58
|
-
const otherSampleChanges = otherChanges
|
|
59
|
-
.filter((fc) => !relevantChanges.includes(fc))
|
|
60
|
-
.slice(0, 3); // Limit to avoid context overflow
|
|
61
|
-
const changesToShow = [...relevantChanges, ...otherSampleChanges];
|
|
62
|
-
for (const change of changesToShow) {
|
|
63
|
-
if (change.patch) {
|
|
64
|
-
codeContext += `**Changes in ${change.filename}:**
|
|
65
|
-
\`\`\`diff
|
|
66
|
-
${change.patch}
|
|
67
|
-
\`\`\`
|
|
68
|
-
|
|
69
|
-
`;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (otherChanges.length > changesToShow.length) {
|
|
73
|
-
codeContext += `(${otherChanges.length - changesToShow.length} additional files changed but not shown)\n\n`;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (!codeContext.includes('```')) {
|
|
77
|
-
codeContext = '(No code changes available)\n\n';
|
|
78
|
-
}
|
|
79
|
-
return `You are analyzing whether a code review comment has been addressed by subsequent code changes.
|
|
80
|
-
|
|
81
|
-
**Review Thread Information:**
|
|
82
|
-
- Comment Location: ${firstComment.path}:${firstComment.line || 'N/A'}
|
|
83
|
-
- Thread has ${thread.comments.totalCount} comment(s)
|
|
84
|
-
|
|
85
|
-
**Review Comments:**
|
|
86
|
-
${allComments}
|
|
87
|
-
|
|
88
|
-
${codeContext}
|
|
89
|
-
|
|
90
|
-
**Your Task:**
|
|
91
|
-
Analyze whether the code changes adequately address the feedback in the review comments.
|
|
92
|
-
|
|
93
|
-
**IMPORTANT - Cross-File Requests:**
|
|
94
|
-
- A comment on file A may request changes to file B (e.g., "add this to the env example file")
|
|
95
|
-
- The comment may use variable names (like "clientId") that differ from the actual environment variable names (like "SPOKE_CLIENT_ID")
|
|
96
|
-
- Focus on whether the **intent** of the feedback was addressed, regardless of which file was modified
|
|
97
|
-
- Check ALL changed files, not just the file where the comment was made
|
|
98
|
-
|
|
99
|
-
Consider:
|
|
100
|
-
1. Does the feedback request a specific code change? What is the **intent**?
|
|
101
|
-
2. Have those changes (or equivalent changes) been made in ANY file?
|
|
102
|
-
3. If the comment mentions adding something to a config/env file, check if those files were modified
|
|
103
|
-
4. Variable names in comments may not match actual implementation names
|
|
104
|
-
5. Focus on whether the underlying issue was addressed, not literal string matching
|
|
105
|
-
|
|
106
|
-
Return your analysis in this JSON format:
|
|
107
|
-
\`\`\`json
|
|
108
|
-
{
|
|
109
|
-
"isAddressed": true or false,
|
|
110
|
-
"reason": "Brief explanation of why you determined the feedback was or was not addressed"
|
|
111
|
-
}
|
|
112
|
-
\`\`\`
|
|
113
|
-
|
|
114
|
-
Example responses:
|
|
115
|
-
- {"isAddressed": true, "reason": "Null check added in the updated code"}
|
|
116
|
-
- {"isAddressed": false, "reason": "No relevant changes found to address the feedback"}
|
|
117
|
-
- {"isAddressed": true, "reason": "Requested changes made in the appropriate file"}
|
|
118
|
-
`;
|
|
119
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Type definitions for Code Refine Verification
|
|
3
|
-
*/
|
|
4
|
-
import { type EdsgerConfig } from '../../types/index.js';
|
|
5
|
-
export interface ReviewThreadComment {
|
|
6
|
-
id: string;
|
|
7
|
-
author: {
|
|
8
|
-
login: string;
|
|
9
|
-
};
|
|
10
|
-
body: string;
|
|
11
|
-
path: string;
|
|
12
|
-
line: number | null;
|
|
13
|
-
url: string;
|
|
14
|
-
}
|
|
15
|
-
export interface ReviewThread {
|
|
16
|
-
id: string;
|
|
17
|
-
isResolved: boolean;
|
|
18
|
-
isOutdated: boolean;
|
|
19
|
-
comments: {
|
|
20
|
-
totalCount: number;
|
|
21
|
-
pageInfo?: {
|
|
22
|
-
hasNextPage: boolean;
|
|
23
|
-
endCursor: string | null;
|
|
24
|
-
};
|
|
25
|
-
nodes: ReviewThreadComment[];
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
export interface PRFileChange {
|
|
29
|
-
filename: string;
|
|
30
|
-
status: 'added' | 'modified' | 'removed' | 'renamed';
|
|
31
|
-
additions: number;
|
|
32
|
-
deletions: number;
|
|
33
|
-
changes: number;
|
|
34
|
-
patch?: string;
|
|
35
|
-
fullContent?: string;
|
|
36
|
-
}
|
|
37
|
-
export interface CodeRefineVerificationOptions {
|
|
38
|
-
issueId: string;
|
|
39
|
-
githubToken: string;
|
|
40
|
-
config: EdsgerConfig;
|
|
41
|
-
verbose?: boolean;
|
|
42
|
-
}
|
|
43
|
-
export interface CodeRefineVerificationData {
|
|
44
|
-
issueId: string;
|
|
45
|
-
totalReviews: number;
|
|
46
|
-
unresolvedReviews: number;
|
|
47
|
-
totalComments: number;
|
|
48
|
-
resolvedComments: number;
|
|
49
|
-
unresolvedComments: number;
|
|
50
|
-
commentsMarkedResolved?: number;
|
|
51
|
-
dismissedReviews?: number;
|
|
52
|
-
suggestions?: string[];
|
|
53
|
-
unresolvedReviewDetails?: {
|
|
54
|
-
reviewId: number;
|
|
55
|
-
author: string;
|
|
56
|
-
state: string;
|
|
57
|
-
body: string | null;
|
|
58
|
-
submittedAt: string | null;
|
|
59
|
-
}[];
|
|
60
|
-
unresolvedCommentDetails?: {
|
|
61
|
-
commentId: string;
|
|
62
|
-
author: string;
|
|
63
|
-
file: string;
|
|
64
|
-
line: number | null;
|
|
65
|
-
body: string;
|
|
66
|
-
failureReason: string;
|
|
67
|
-
url: string;
|
|
68
|
-
}[];
|
|
69
|
-
}
|
|
70
|
-
export interface CodeRefineVerificationResult {
|
|
71
|
-
status: 'success' | 'error';
|
|
72
|
-
message: string;
|
|
73
|
-
data: CodeRefineVerificationData;
|
|
74
|
-
}
|