edsger 0.77.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +95 -210
- package/assets/LICENSE +21 -0
- package/assets/README.md +104 -0
- package/assets/benchmark/base.yaml +286 -0
- package/assets/benchmark/csharp.yaml +68 -0
- package/assets/benchmark/dart.yaml +70 -0
- package/assets/benchmark/go.yaml +71 -0
- package/assets/benchmark/java.yaml +68 -0
- package/assets/benchmark/python.yaml +72 -0
- package/assets/benchmark/typescript.yaml +71 -0
- package/assets/languages.yaml +35 -0
- package/assets/manifest.yaml +39 -0
- package/assets/review/base.yaml +111 -0
- package/assets/review/csharp.yaml +38 -0
- package/assets/review/dart.yaml +40 -0
- package/assets/review/go.yaml +40 -0
- package/assets/review/java.yaml +40 -0
- package/assets/review/python.yaml +41 -0
- package/assets/review/typescript.yaml +40 -0
- package/assets/schema/benchmark.schema.json +87 -0
- package/assets/schema/review.schema.json +73 -0
- package/assets/skills/benchmark/SKILL.md +66 -0
- package/assets/skills/pr-resolve/SKILL.md +58 -0
- package/assets/skills/pr-review/SKILL.md +66 -0
- package/dist/index.js +1339 -1247
- package/dist/index.js.map +1 -0
- package/package.json +58 -53
- package/dist/api/adr.d.ts +0 -48
- package/dist/api/adr.js +0 -139
- package/dist/api/app-store-iap.d.ts +0 -60
- package/dist/api/app-store-iap.js +0 -145
- package/dist/api/app-store.d.ts +0 -93
- package/dist/api/app-store.js +0 -206
- package/dist/api/chat.d.ts +0 -72
- package/dist/api/chat.js +0 -272
- package/dist/api/cross-product.d.ts +0 -33
- package/dist/api/cross-product.js +0 -127
- package/dist/api/financing.d.ts +0 -47
- package/dist/api/financing.js +0 -37
- package/dist/api/github.d.ts +0 -86
- package/dist/api/github.js +0 -203
- package/dist/api/growth.d.ts +0 -81
- package/dist/api/growth.js +0 -75
- package/dist/api/intelligence-normalize.d.ts +0 -25
- package/dist/api/intelligence-normalize.js +0 -103
- package/dist/api/intelligence.d.ts +0 -187
- package/dist/api/intelligence.js +0 -402
- package/dist/api/issues/approval-checker.d.ts +0 -22
- package/dist/api/issues/approval-checker.js +0 -141
- package/dist/api/issues/batch-operations.d.ts +0 -17
- package/dist/api/issues/batch-operations.js +0 -100
- package/dist/api/issues/get-issue.d.ts +0 -5
- package/dist/api/issues/get-issue.js +0 -47
- package/dist/api/issues/index.d.ts +0 -8
- package/dist/api/issues/index.js +0 -10
- package/dist/api/issues/issue-utils.d.ts +0 -25
- package/dist/api/issues/issue-utils.js +0 -133
- package/dist/api/issues/status-updater.d.ts +0 -68
- package/dist/api/issues/status-updater.js +0 -190
- package/dist/api/issues/test-cases.d.ts +0 -29
- package/dist/api/issues/test-cases.js +0 -185
- package/dist/api/issues/update-issue.d.ts +0 -25
- package/dist/api/issues/update-issue.js +0 -127
- package/dist/api/issues/user-stories.d.ts +0 -21
- package/dist/api/issues/user-stories.js +0 -163
- package/dist/api/mcp-client.d.ts +0 -22
- package/dist/api/mcp-client.js +0 -75
- package/dist/api/products/test-cases.d.ts +0 -18
- package/dist/api/products/test-cases.js +0 -51
- package/dist/api/products.d.ts +0 -15
- package/dist/api/products.js +0 -45
- package/dist/api/release-test-cases.d.ts +0 -7
- package/dist/api/release-test-cases.js +0 -59
- package/dist/api/releases.d.ts +0 -41
- package/dist/api/releases.js +0 -117
- package/dist/api/run-sheets.d.ts +0 -22
- package/dist/api/run-sheets.js +0 -13
- package/dist/api/storage.d.ts +0 -13
- package/dist/api/storage.js +0 -29
- package/dist/api/tasks.d.ts +0 -26
- package/dist/api/tasks.js +0 -81
- package/dist/api/test-reports.d.ts +0 -9
- package/dist/api/test-reports.js +0 -43
- package/dist/api/user-psychology.d.ts +0 -101
- package/dist/api/user-psychology.js +0 -143
- package/dist/api/web-deploy.d.ts +0 -67
- package/dist/api/web-deploy.js +0 -199
- package/dist/auth/auth-store.d.ts +0 -98
- package/dist/auth/auth-store.js +0 -194
- package/dist/auth/env-store.d.ts +0 -41
- package/dist/auth/env-store.js +0 -127
- package/dist/auth/login.d.ts +0 -18
- package/dist/auth/login.js +0 -179
- package/dist/commands/adr/index.d.ts +0 -13
- package/dist/commands/adr/index.js +0 -31
- package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
- package/dist/commands/agent-workflow/chat-worker.js +0 -465
- package/dist/commands/agent-workflow/index.d.ts +0 -13
- package/dist/commands/agent-workflow/index.js +0 -107
- package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
- package/dist/commands/agent-workflow/issue-worker.js +0 -65
- package/dist/commands/agent-workflow/processor.d.ts +0 -95
- package/dist/commands/agent-workflow/processor.js +0 -519
- package/dist/commands/analyze-logs/index.d.ts +0 -7
- package/dist/commands/analyze-logs/index.js +0 -34
- package/dist/commands/api-docs/index.d.ts +0 -18
- package/dist/commands/api-docs/index.js +0 -41
- package/dist/commands/app-store/index.d.ts +0 -12
- package/dist/commands/app-store/index.js +0 -69
- package/dist/commands/architecture-diagram/index.d.ts +0 -8
- package/dist/commands/architecture-diagram/index.js +0 -10
- package/dist/commands/build/detect-project.d.ts +0 -52
- package/dist/commands/build/detect-project.js +0 -277
- package/dist/commands/build/index.d.ts +0 -66
- package/dist/commands/build/index.js +0 -544
- package/dist/commands/chat-serve/chat-server.d.ts +0 -114
- package/dist/commands/chat-serve/chat-server.js +0 -339
- package/dist/commands/chat-serve/index.d.ts +0 -20
- package/dist/commands/chat-serve/index.js +0 -58
- package/dist/commands/checklists/index.d.ts +0 -16
- package/dist/commands/checklists/index.js +0 -187
- package/dist/commands/checklists/tools.d.ts +0 -17
- package/dist/commands/checklists/tools.js +0 -19
- package/dist/commands/class-diagram/index.d.ts +0 -7
- package/dist/commands/class-diagram/index.js +0 -9
- package/dist/commands/code-review/index.d.ts +0 -2
- package/dist/commands/code-review/index.js +0 -37
- package/dist/commands/code-review/reviewer.d.ts +0 -3
- package/dist/commands/code-review/reviewer.js +0 -205
- package/dist/commands/config/index.d.ts +0 -16
- package/dist/commands/config/index.js +0 -60
- package/dist/commands/data-flow/index.d.ts +0 -19
- package/dist/commands/data-flow/index.js +0 -55
- package/dist/commands/diagram-shared/index.d.ts +0 -21
- package/dist/commands/diagram-shared/index.js +0 -37
- package/dist/commands/discover/index.d.ts +0 -14
- package/dist/commands/discover/index.js +0 -29
- package/dist/commands/er-diagram/index.d.ts +0 -19
- package/dist/commands/er-diagram/index.js +0 -55
- package/dist/commands/features/index.d.ts +0 -15
- package/dist/commands/features/index.js +0 -34
- package/dist/commands/financing-deck/index.d.ts +0 -8
- package/dist/commands/financing-deck/index.js +0 -66
- package/dist/commands/find-architecture/index.d.ts +0 -15
- package/dist/commands/find-architecture/index.js +0 -50
- package/dist/commands/find-bugs/index.d.ts +0 -13
- package/dist/commands/find-bugs/index.js +0 -48
- package/dist/commands/find-features/index.d.ts +0 -14
- package/dist/commands/find-features/index.js +0 -42
- package/dist/commands/find-smells/index.d.ts +0 -23
- package/dist/commands/find-smells/index.js +0 -74
- package/dist/commands/flowchart/index.d.ts +0 -8
- package/dist/commands/flowchart/index.js +0 -10
- package/dist/commands/growth-analysis/index.d.ts +0 -7
- package/dist/commands/growth-analysis/index.js +0 -89
- package/dist/commands/init/index.d.ts +0 -5
- package/dist/commands/init/index.js +0 -152
- package/dist/commands/init/prompts.d.ts +0 -9
- package/dist/commands/init/prompts.js +0 -128
- package/dist/commands/init/templates.d.ts +0 -9
- package/dist/commands/init/templates.js +0 -264
- package/dist/commands/intelligence/index.d.ts +0 -15
- package/dist/commands/intelligence/index.js +0 -138
- package/dist/commands/issue-analysis/index.d.ts +0 -5
- package/dist/commands/issue-analysis/index.js +0 -9
- package/dist/commands/pr-resolve/index.d.ts +0 -13
- package/dist/commands/pr-resolve/index.js +0 -50
- package/dist/commands/pr-review/index.d.ts +0 -12
- package/dist/commands/pr-review/index.js +0 -47
- package/dist/commands/product-techniques/index.d.ts +0 -15
- package/dist/commands/product-techniques/index.js +0 -37
- package/dist/commands/product-test-cases/index.d.ts +0 -12
- package/dist/commands/product-test-cases/index.js +0 -40
- package/dist/commands/quality-benchmark/index.d.ts +0 -45
- package/dist/commands/quality-benchmark/index.js +0 -247
- package/dist/commands/recipes/index.d.ts +0 -17
- package/dist/commands/recipes/index.js +0 -40
- package/dist/commands/refactor/refactor.d.ts +0 -2
- package/dist/commands/refactor/refactor.js +0 -134
- package/dist/commands/release-sync/index.d.ts +0 -5
- package/dist/commands/release-sync/index.js +0 -38
- package/dist/commands/run-sheet/index.d.ts +0 -6
- package/dist/commands/run-sheet/index.js +0 -48
- package/dist/commands/screen-flow/index.d.ts +0 -18
- package/dist/commands/screen-flow/index.js +0 -54
- package/dist/commands/sequence-diagram/index.d.ts +0 -19
- package/dist/commands/sequence-diagram/index.js +0 -55
- package/dist/commands/session-serve/index.d.ts +0 -32
- package/dist/commands/session-serve/index.js +0 -100
- package/dist/commands/session-turn/index.d.ts +0 -73
- package/dist/commands/session-turn/index.js +0 -254
- package/dist/commands/smoke-test/index.d.ts +0 -5
- package/dist/commands/smoke-test/index.js +0 -40
- package/dist/commands/state-diagram/index.d.ts +0 -7
- package/dist/commands/state-diagram/index.js +0 -9
- package/dist/commands/sync-aws/index.d.ts +0 -16
- package/dist/commands/sync-aws/index.js +0 -214
- package/dist/commands/sync-datadog/index.d.ts +0 -16
- package/dist/commands/sync-datadog/index.js +0 -236
- package/dist/commands/sync-github-issues/index.d.ts +0 -11
- package/dist/commands/sync-github-issues/index.js +0 -42
- package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
- package/dist/commands/sync-github-pull-requests/index.js +0 -42
- package/dist/commands/sync-org-repos/index.d.ts +0 -12
- package/dist/commands/sync-org-repos/index.js +0 -60
- package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
- package/dist/commands/sync-sentry-issues/index.js +0 -73
- package/dist/commands/sync-terraform/index.d.ts +0 -16
- package/dist/commands/sync-terraform/index.js +0 -248
- package/dist/commands/task-worker/index.d.ts +0 -8
- package/dist/commands/task-worker/index.js +0 -34
- package/dist/commands/task-worker/processor.d.ts +0 -23
- package/dist/commands/task-worker/processor.js +0 -84
- package/dist/commands/technical-design/index.d.ts +0 -5
- package/dist/commands/technical-design/index.js +0 -9
- package/dist/commands/test-cases-analysis/index.d.ts +0 -5
- package/dist/commands/test-cases-analysis/index.js +0 -9
- package/dist/commands/user-psychology/index.d.ts +0 -7
- package/dist/commands/user-psychology/index.js +0 -51
- package/dist/commands/user-stories-analysis/index.d.ts +0 -5
- package/dist/commands/user-stories-analysis/index.js +0 -9
- package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
- package/dist/commands/workflow/config/phase-configs.js +0 -132
- package/dist/commands/workflow/core/index.d.ts +0 -8
- package/dist/commands/workflow/core/index.js +0 -12
- package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
- package/dist/commands/workflow/core/issue-filter.js +0 -47
- package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
- package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
- package/dist/commands/workflow/core/state-manager.d.ts +0 -24
- package/dist/commands/workflow/core/state-manager.js +0 -42
- package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
- package/dist/commands/workflow/core/workflow-logger.js +0 -77
- package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
- package/dist/commands/workflow/executors/phase-executor.js +0 -338
- package/dist/commands/workflow/index.d.ts +0 -2
- package/dist/commands/workflow/index.js +0 -34
- package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
- package/dist/commands/workflow/issue-coordinator.js +0 -161
- package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
- package/dist/commands/workflow/phase-orchestrator.js +0 -699
- package/dist/commands/workflow/processor.d.ts +0 -47
- package/dist/commands/workflow/processor.js +0 -149
- package/dist/config/issue-status.d.ts +0 -29
- package/dist/config/issue-status.js +0 -44
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -79
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +0 -36
- package/dist/errors/index.d.ts +0 -68
- package/dist/errors/index.js +0 -129
- package/dist/index.d.ts +0 -4
- package/dist/phases/adr-generation/agent.d.ts +0 -6
- package/dist/phases/adr-generation/agent.js +0 -69
- package/dist/phases/adr-generation/index.d.ts +0 -15
- package/dist/phases/adr-generation/index.js +0 -66
- package/dist/phases/adr-generation/parse.d.ts +0 -12
- package/dist/phases/adr-generation/parse.js +0 -123
- package/dist/phases/adr-generation/prompts.d.ts +0 -8
- package/dist/phases/adr-generation/prompts.js +0 -35
- package/dist/phases/analyze-logs/agent.d.ts +0 -11
- package/dist/phases/analyze-logs/agent.js +0 -66
- package/dist/phases/analyze-logs/index.d.ts +0 -23
- package/dist/phases/analyze-logs/index.js +0 -152
- package/dist/phases/analyze-logs/prompts.d.ts +0 -3
- package/dist/phases/analyze-logs/prompts.js +0 -27
- package/dist/phases/api-docs/index.d.ts +0 -47
- package/dist/phases/api-docs/index.js +0 -254
- package/dist/phases/api-docs/mcp-server.d.ts +0 -25
- package/dist/phases/api-docs/mcp-server.js +0 -82
- package/dist/phases/api-docs/prompts.d.ts +0 -16
- package/dist/phases/api-docs/prompts.js +0 -65
- package/dist/phases/api-docs/types.d.ts +0 -22
- package/dist/phases/api-docs/types.js +0 -10
- package/dist/phases/app-store-generation/agent.d.ts +0 -2
- package/dist/phases/app-store-generation/agent.js +0 -177
- package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
- package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
- package/dist/phases/app-store-generation/context.d.ts +0 -21
- package/dist/phases/app-store-generation/context.js +0 -78
- package/dist/phases/app-store-generation/index.d.ts +0 -20
- package/dist/phases/app-store-generation/index.js +0 -157
- package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
- package/dist/phases/app-store-generation/inter-font.js +0 -49
- package/dist/phases/app-store-generation/prompts.d.ts +0 -43
- package/dist/phases/app-store-generation/prompts.js +0 -73
- package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
- package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
- package/dist/phases/app-store-generation/uploader.d.ts +0 -19
- package/dist/phases/app-store-generation/uploader.js +0 -150
- package/dist/phases/architecture-diagram/index.d.ts +0 -15
- package/dist/phases/architecture-diagram/index.js +0 -51
- package/dist/phases/autonomous/index.d.ts +0 -32
- package/dist/phases/autonomous/index.js +0 -412
- package/dist/phases/autonomous/prompts.d.ts +0 -5
- package/dist/phases/autonomous/prompts.js +0 -31
- package/dist/phases/branch-planning/context.d.ts +0 -14
- package/dist/phases/branch-planning/context.js +0 -43
- package/dist/phases/branch-planning/index.d.ts +0 -25
- package/dist/phases/branch-planning/index.js +0 -404
- package/dist/phases/branch-planning/outcome.d.ts +0 -28
- package/dist/phases/branch-planning/outcome.js +0 -115
- package/dist/phases/branch-planning/prompts.d.ts +0 -41
- package/dist/phases/branch-planning/prompts.js +0 -157
- package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
- package/dist/phases/bug-fixing/analyzer.js +0 -247
- package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
- package/dist/phases/bug-fixing/context-fetcher.js +0 -137
- package/dist/phases/bug-fixing/index.d.ts +0 -7
- package/dist/phases/bug-fixing/index.js +0 -7
- package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
- package/dist/phases/bug-fixing/mcp-server.js +0 -19
- package/dist/phases/bug-fixing/prompts.d.ts +0 -2
- package/dist/phases/bug-fixing/prompts.js +0 -9
- package/dist/phases/chat-processor/context.d.ts +0 -38
- package/dist/phases/chat-processor/context.js +0 -91
- package/dist/phases/chat-processor/index.d.ts +0 -49
- package/dist/phases/chat-processor/index.js +0 -482
- package/dist/phases/chat-processor/product-context.d.ts +0 -36
- package/dist/phases/chat-processor/product-context.js +0 -113
- package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
- package/dist/phases/chat-processor/product-prompts.js +0 -65
- package/dist/phases/chat-processor/product-tools.d.ts +0 -8
- package/dist/phases/chat-processor/product-tools.js +0 -11
- package/dist/phases/chat-processor/prompts.d.ts +0 -35
- package/dist/phases/chat-processor/prompts.js +0 -213
- package/dist/phases/chat-processor/tools.d.ts +0 -8
- package/dist/phases/chat-processor/tools.js +0 -11
- package/dist/phases/class-diagram/index.d.ts +0 -14
- package/dist/phases/class-diagram/index.js +0 -76
- package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
- package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
- package/dist/phases/code-implementation/context.d.ts +0 -17
- package/dist/phases/code-implementation/context.js +0 -88
- package/dist/phases/code-implementation/index.d.ts +0 -33
- package/dist/phases/code-implementation/index.js +0 -926
- package/dist/phases/code-implementation/outcome.d.ts +0 -47
- package/dist/phases/code-implementation/outcome.js +0 -53
- package/dist/phases/code-implementation/prompts.d.ts +0 -8
- package/dist/phases/code-implementation/prompts.js +0 -166
- package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
- package/dist/phases/code-implementation-verification/agent.js +0 -225
- package/dist/phases/code-implementation-verification/index.d.ts +0 -27
- package/dist/phases/code-implementation-verification/index.js +0 -121
- package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
- package/dist/phases/code-implementation-verification/prompts.js +0 -90
- package/dist/phases/code-refine/context.d.ts +0 -99
- package/dist/phases/code-refine/context.js +0 -457
- package/dist/phases/code-refine/index.d.ts +0 -59
- package/dist/phases/code-refine/index.js +0 -348
- package/dist/phases/code-refine/prompts.d.ts +0 -5
- package/dist/phases/code-refine/prompts.js +0 -162
- package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
- package/dist/phases/code-refine/refine-iteration.js +0 -166
- package/dist/phases/code-refine/retry-handler.d.ts +0 -17
- package/dist/phases/code-refine/retry-handler.js +0 -87
- package/dist/phases/code-refine-verification/github.d.ts +0 -54
- package/dist/phases/code-refine-verification/github.js +0 -328
- package/dist/phases/code-refine-verification/index.d.ts +0 -11
- package/dist/phases/code-refine-verification/index.js +0 -260
- package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
- package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
- package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
- package/dist/phases/code-refine-verification/prompts.js +0 -119
- package/dist/phases/code-refine-verification/types.d.ts +0 -74
- package/dist/phases/code-refine-verification/types.js +0 -4
- package/dist/phases/code-review/context.d.ts +0 -96
- package/dist/phases/code-review/context.js +0 -278
- package/dist/phases/code-review/diff-utils.d.ts +0 -36
- package/dist/phases/code-review/diff-utils.js +0 -100
- package/dist/phases/code-review/index.d.ts +0 -40
- package/dist/phases/code-review/index.js +0 -627
- package/dist/phases/code-testing/analyzer.d.ts +0 -19
- package/dist/phases/code-testing/analyzer.js +0 -215
- package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/code-testing/context-fetcher.js +0 -83
- package/dist/phases/code-testing/index.d.ts +0 -2
- package/dist/phases/code-testing/index.js +0 -2
- package/dist/phases/code-testing/prompts.d.ts +0 -3
- package/dist/phases/code-testing/prompts.js +0 -63
- package/dist/phases/data-flow/index.d.ts +0 -28
- package/dist/phases/data-flow/index.js +0 -286
- package/dist/phases/data-flow/mcp-server.d.ts +0 -85
- package/dist/phases/data-flow/mcp-server.js +0 -140
- package/dist/phases/data-flow/prompts.d.ts +0 -14
- package/dist/phases/data-flow/prompts.js +0 -36
- package/dist/phases/data-flow/types.d.ts +0 -71
- package/dist/phases/data-flow/types.js +0 -86
- package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
- package/dist/phases/diagram-shared/clone-repos.js +0 -153
- package/dist/phases/diagram-shared/generate.d.ts +0 -42
- package/dist/phases/diagram-shared/generate.js +0 -162
- package/dist/phases/diagram-shared/graph.d.ts +0 -62
- package/dist/phases/diagram-shared/graph.js +0 -169
- package/dist/phases/diagram-shared/mcp.d.ts +0 -35
- package/dist/phases/diagram-shared/mcp.js +0 -68
- package/dist/phases/diagram-shared/prompts.d.ts +0 -23
- package/dist/phases/diagram-shared/prompts.js +0 -35
- package/dist/phases/discover-services/index.d.ts +0 -29
- package/dist/phases/discover-services/index.js +0 -528
- package/dist/phases/er-diagram/index.d.ts +0 -28
- package/dist/phases/er-diagram/index.js +0 -290
- package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
- package/dist/phases/er-diagram/mcp-server.js +0 -144
- package/dist/phases/er-diagram/prompts.d.ts +0 -14
- package/dist/phases/er-diagram/prompts.js +0 -36
- package/dist/phases/er-diagram/types.d.ts +0 -76
- package/dist/phases/er-diagram/types.js +0 -84
- package/dist/phases/features/index.d.ts +0 -65
- package/dist/phases/features/index.js +0 -292
- package/dist/phases/features/mcp-server.d.ts +0 -61
- package/dist/phases/features/mcp-server.js +0 -165
- package/dist/phases/features/prompts.d.ts +0 -32
- package/dist/phases/features/prompts.js +0 -92
- package/dist/phases/features/types.d.ts +0 -34
- package/dist/phases/features/types.js +0 -15
- package/dist/phases/financing-deck/agent.d.ts +0 -1
- package/dist/phases/financing-deck/agent.js +0 -96
- package/dist/phases/financing-deck/context.d.ts +0 -13
- package/dist/phases/financing-deck/context.js +0 -69
- package/dist/phases/financing-deck/index.d.ts +0 -15
- package/dist/phases/financing-deck/index.js +0 -89
- package/dist/phases/financing-deck/prompts.d.ts +0 -2
- package/dist/phases/financing-deck/prompts.js +0 -94
- package/dist/phases/find-architecture/index.d.ts +0 -47
- package/dist/phases/find-architecture/index.js +0 -268
- package/dist/phases/find-architecture/prompts.d.ts +0 -32
- package/dist/phases/find-architecture/prompts.js +0 -129
- package/dist/phases/find-architecture/state.d.ts +0 -21
- package/dist/phases/find-architecture/state.js +0 -17
- package/dist/phases/find-architecture/types.d.ts +0 -55
- package/dist/phases/find-architecture/types.js +0 -69
- package/dist/phases/find-bugs/index.d.ts +0 -33
- package/dist/phases/find-bugs/index.js +0 -238
- package/dist/phases/find-bugs/prompts.d.ts +0 -22
- package/dist/phases/find-bugs/prompts.js +0 -101
- package/dist/phases/find-bugs/state.d.ts +0 -19
- package/dist/phases/find-bugs/state.js +0 -13
- package/dist/phases/find-bugs/types.d.ts +0 -21
- package/dist/phases/find-bugs/types.js +0 -16
- package/dist/phases/find-features/index.d.ts +0 -40
- package/dist/phases/find-features/index.js +0 -328
- package/dist/phases/find-features/prompts.d.ts +0 -43
- package/dist/phases/find-features/prompts.js +0 -138
- package/dist/phases/find-features/state.d.ts +0 -25
- package/dist/phases/find-features/state.js +0 -22
- package/dist/phases/find-features/types.d.ts +0 -27
- package/dist/phases/find-features/types.js +0 -16
- package/dist/phases/find-shared/baseline.d.ts +0 -45
- package/dist/phases/find-shared/baseline.js +0 -56
- package/dist/phases/find-shared/custom-rules.d.ts +0 -39
- package/dist/phases/find-shared/custom-rules.js +0 -75
- package/dist/phases/find-shared/detect-context.d.ts +0 -40
- package/dist/phases/find-shared/detect-context.js +0 -247
- package/dist/phases/find-shared/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -54
- package/dist/phases/find-shared/mcp.js +0 -127
- package/dist/phases/find-shared/rule-config.d.ts +0 -37
- package/dist/phases/find-shared/rule-config.js +0 -67
- package/dist/phases/find-shared/rule-packs.d.ts +0 -65
- package/dist/phases/find-shared/rule-packs.js +0 -124
- package/dist/phases/find-shared/scan-state.d.ts +0 -33
- package/dist/phases/find-shared/scan-state.js +0 -112
- package/dist/phases/find-shared/scoped-read.d.ts +0 -12
- package/dist/phases/find-shared/scoped-read.js +0 -33
- package/dist/phases/find-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -305
- package/dist/phases/find-smells/prompts.d.ts +0 -31
- package/dist/phases/find-smells/prompts.js +0 -130
- package/dist/phases/find-smells/state.d.ts +0 -21
- package/dist/phases/find-smells/state.js +0 -17
- package/dist/phases/find-smells/types.d.ts +0 -51
- package/dist/phases/find-smells/types.js +0 -64
- package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
- package/dist/phases/flow-shared/clone-repos.js +0 -153
- package/dist/phases/flowchart/index.d.ts +0 -15
- package/dist/phases/flowchart/index.js +0 -50
- package/dist/phases/functional-testing/analyzer.d.ts +0 -46
- package/dist/phases/functional-testing/analyzer.js +0 -622
- package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/functional-testing/context-fetcher.js +0 -83
- package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
- package/dist/phases/functional-testing/http-fallback.js +0 -156
- package/dist/phases/functional-testing/index.d.ts +0 -4
- package/dist/phases/functional-testing/index.js +0 -4
- package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
- package/dist/phases/functional-testing/mcp-server.js +0 -13
- package/dist/phases/functional-testing/prompts.d.ts +0 -2
- package/dist/phases/functional-testing/prompts.js +0 -58
- package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
- package/dist/phases/functional-testing/test-report-creator.js +0 -306
- package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
- package/dist/phases/functional-testing/test-retry-handler.js +0 -70
- package/dist/phases/growth-analysis/agent.d.ts +0 -2
- package/dist/phases/growth-analysis/agent.js +0 -107
- package/dist/phases/growth-analysis/context.d.ts +0 -23
- package/dist/phases/growth-analysis/context.js +0 -137
- package/dist/phases/growth-analysis/index.d.ts +0 -32
- package/dist/phases/growth-analysis/index.js +0 -226
- package/dist/phases/growth-analysis/prompts.d.ts +0 -2
- package/dist/phases/growth-analysis/prompts.js +0 -45
- package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
- package/dist/phases/intelligence-analysis/agent.js +0 -338
- package/dist/phases/intelligence-analysis/context.d.ts +0 -23
- package/dist/phases/intelligence-analysis/context.js +0 -142
- package/dist/phases/intelligence-analysis/index.d.ts +0 -58
- package/dist/phases/intelligence-analysis/index.js +0 -244
- package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
- package/dist/phases/intelligence-analysis/prompts.js +0 -62
- package/dist/phases/issue-analysis/agent.d.ts +0 -21
- package/dist/phases/issue-analysis/agent.js +0 -153
- package/dist/phases/issue-analysis/context.d.ts +0 -20
- package/dist/phases/issue-analysis/context.js +0 -93
- package/dist/phases/issue-analysis/index.d.ts +0 -8
- package/dist/phases/issue-analysis/index.js +0 -147
- package/dist/phases/issue-analysis/outcome.d.ts +0 -10
- package/dist/phases/issue-analysis/outcome.js +0 -42
- package/dist/phases/issue-analysis/prompts.d.ts +0 -8
- package/dist/phases/issue-analysis/prompts.js +0 -99
- package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
- package/dist/phases/issue-analysis-verification/agent.js +0 -124
- package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
- package/dist/phases/issue-analysis-verification/index.js +0 -79
- package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
- package/dist/phases/issue-analysis-verification/prompts.js +0 -75
- package/dist/phases/output-contracts.d.ts +0 -7
- package/dist/phases/output-contracts.js +0 -1201
- package/dist/phases/pr-execution/context.d.ts +0 -32
- package/dist/phases/pr-execution/context.js +0 -246
- package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
- package/dist/phases/pr-execution/file-assigner.js +0 -287
- package/dist/phases/pr-execution/index.d.ts +0 -22
- package/dist/phases/pr-execution/index.js +0 -401
- package/dist/phases/pr-execution/outcome.d.ts +0 -24
- package/dist/phases/pr-execution/outcome.js +0 -34
- package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
- package/dist/phases/pr-execution/pr-executor.js +0 -78
- package/dist/phases/pr-execution/prompts.d.ts +0 -27
- package/dist/phases/pr-execution/prompts.js +0 -131
- package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
- package/dist/phases/pr-resolve/checklist-learner.js +0 -153
- package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
- package/dist/phases/pr-resolve/github-reply.js +0 -75
- package/dist/phases/pr-resolve/index.d.ts +0 -33
- package/dist/phases/pr-resolve/index.js +0 -272
- package/dist/phases/pr-resolve/prompts.d.ts +0 -17
- package/dist/phases/pr-resolve/prompts.js +0 -107
- package/dist/phases/pr-resolve/types.d.ts +0 -18
- package/dist/phases/pr-resolve/types.js +0 -14
- package/dist/phases/pr-resolve/workspace.d.ts +0 -45
- package/dist/phases/pr-resolve/workspace.js +0 -174
- package/dist/phases/pr-review/index.d.ts +0 -27
- package/dist/phases/pr-review/index.js +0 -209
- package/dist/phases/pr-review/prompts.d.ts +0 -5
- package/dist/phases/pr-review/prompts.js +0 -87
- package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
- package/dist/phases/pr-shared/agent-utils.js +0 -112
- package/dist/phases/pr-shared/context.d.ts +0 -24
- package/dist/phases/pr-shared/context.js +0 -78
- package/dist/phases/pr-shared/status.d.ts +0 -18
- package/dist/phases/pr-shared/status.js +0 -37
- package/dist/phases/pr-splitting/context.d.ts +0 -28
- package/dist/phases/pr-splitting/context.js +0 -182
- package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
- package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
- package/dist/phases/pr-splitting/index.d.ts +0 -36
- package/dist/phases/pr-splitting/index.js +0 -413
- package/dist/phases/pr-splitting/outcome.d.ts +0 -24
- package/dist/phases/pr-splitting/outcome.js +0 -114
- package/dist/phases/pr-splitting/prompts.d.ts +0 -43
- package/dist/phases/pr-splitting/prompts.js +0 -154
- package/dist/phases/product-techniques/index.d.ts +0 -52
- package/dist/phases/product-techniques/index.js +0 -268
- package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
- package/dist/phases/product-techniques/mcp-server.js +0 -96
- package/dist/phases/product-techniques/prompts.d.ts +0 -19
- package/dist/phases/product-techniques/prompts.js +0 -66
- package/dist/phases/product-techniques/types.d.ts +0 -13
- package/dist/phases/product-techniques/types.js +0 -13
- package/dist/phases/product-test-cases/index.d.ts +0 -25
- package/dist/phases/product-test-cases/index.js +0 -174
- package/dist/phases/product-test-cases/prompts.d.ts +0 -24
- package/dist/phases/product-test-cases/prompts.js +0 -80
- package/dist/phases/product-test-cases/types.d.ts +0 -17
- package/dist/phases/product-test-cases/types.js +0 -27
- package/dist/phases/pull-request/creator.d.ts +0 -30
- package/dist/phases/pull-request/creator.js +0 -319
- package/dist/phases/pull-request/handler.d.ts +0 -15
- package/dist/phases/pull-request/handler.js +0 -92
- package/dist/phases/quality-benchmark/gate.d.ts +0 -50
- package/dist/phases/quality-benchmark/gate.js +0 -91
- package/dist/phases/quality-benchmark/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -208
- package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
- package/dist/phases/quality-benchmark/mcp-server.js +0 -252
- package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
- package/dist/phases/quality-benchmark/parsers.js +0 -1311
- package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
- package/dist/phases/quality-benchmark/prompts.js +0 -154
- package/dist/phases/quality-benchmark/rubric.md +0 -1211
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
- package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
- package/dist/phases/quality-benchmark/tool-runner.js +0 -399
- package/dist/phases/quality-benchmark/types.d.ts +0 -319
- package/dist/phases/quality-benchmark/types.js +0 -23
- package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
- package/dist/phases/quality-benchmark/workspace.js +0 -110
- package/dist/phases/recipes/index.d.ts +0 -63
- package/dist/phases/recipes/index.js +0 -358
- package/dist/phases/recipes/mcp-server.d.ts +0 -66
- package/dist/phases/recipes/mcp-server.js +0 -229
- package/dist/phases/recipes/prompts.d.ts +0 -35
- package/dist/phases/recipes/prompts.js +0 -105
- package/dist/phases/recipes/types.d.ts +0 -42
- package/dist/phases/recipes/types.js +0 -16
- package/dist/phases/release-sync/github.d.ts +0 -66
- package/dist/phases/release-sync/github.js +0 -140
- package/dist/phases/release-sync/index.d.ts +0 -24
- package/dist/phases/release-sync/index.js +0 -156
- package/dist/phases/release-sync/snapshot.d.ts +0 -27
- package/dist/phases/release-sync/snapshot.js +0 -158
- package/dist/phases/run-sheet/agent.d.ts +0 -49
- package/dist/phases/run-sheet/agent.js +0 -156
- package/dist/phases/run-sheet/index.d.ts +0 -57
- package/dist/phases/run-sheet/index.js +0 -392
- package/dist/phases/screen-flow/index.d.ts +0 -26
- package/dist/phases/screen-flow/index.js +0 -349
- package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
- package/dist/phases/screen-flow/mcp-server.js +0 -272
- package/dist/phases/screen-flow/prompts.d.ts +0 -19
- package/dist/phases/screen-flow/prompts.js +0 -43
- package/dist/phases/screen-flow/theme.d.ts +0 -19
- package/dist/phases/screen-flow/theme.js +0 -193
- package/dist/phases/screen-flow/types.d.ts +0 -137
- package/dist/phases/screen-flow/types.js +0 -81
- package/dist/phases/sequence-diagram/index.d.ts +0 -30
- package/dist/phases/sequence-diagram/index.js +0 -290
- package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
- package/dist/phases/sequence-diagram/mcp-server.js +0 -134
- package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
- package/dist/phases/sequence-diagram/prompts.js +0 -36
- package/dist/phases/sequence-diagram/types.d.ts +0 -52
- package/dist/phases/sequence-diagram/types.js +0 -93
- package/dist/phases/smoke-test/agent.d.ts +0 -12
- package/dist/phases/smoke-test/agent.js +0 -93
- package/dist/phases/smoke-test/index.d.ts +0 -22
- package/dist/phases/smoke-test/index.js +0 -241
- package/dist/phases/smoke-test/prompts.d.ts +0 -15
- package/dist/phases/smoke-test/prompts.js +0 -35
- package/dist/phases/state-diagram/index.d.ts +0 -15
- package/dist/phases/state-diagram/index.js +0 -53
- package/dist/phases/sync-github-issues/index.d.ts +0 -41
- package/dist/phases/sync-github-issues/index.js +0 -187
- package/dist/phases/sync-github-issues/state.d.ts +0 -26
- package/dist/phases/sync-github-issues/state.js +0 -18
- package/dist/phases/sync-github-issues/types.d.ts +0 -35
- package/dist/phases/sync-github-issues/types.js +0 -6
- package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
- package/dist/phases/sync-github-pull-requests/index.js +0 -210
- package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
- package/dist/phases/sync-github-pull-requests/state.js +0 -16
- package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
- package/dist/phases/sync-github-pull-requests/types.js +0 -1
- package/dist/phases/sync-org-repos/index.d.ts +0 -28
- package/dist/phases/sync-org-repos/index.js +0 -133
- package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
- package/dist/phases/sync-sentry-issues/index.js +0 -153
- package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
- package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
- package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
- package/dist/phases/sync-sentry-issues/state.js +0 -18
- package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
- package/dist/phases/sync-sentry-issues/types.js +0 -6
- package/dist/phases/sync-shared/mcp.d.ts +0 -81
- package/dist/phases/sync-shared/mcp.js +0 -111
- package/dist/phases/task/agent.d.ts +0 -10
- package/dist/phases/task/agent.js +0 -83
- package/dist/phases/task/context.d.ts +0 -16
- package/dist/phases/task/context.js +0 -50
- package/dist/phases/task/index.d.ts +0 -17
- package/dist/phases/task/index.js +0 -54
- package/dist/phases/task/prompts.d.ts +0 -9
- package/dist/phases/task/prompts.js +0 -21
- package/dist/phases/technical-design/context.d.ts +0 -12
- package/dist/phases/technical-design/context.js +0 -39
- package/dist/phases/technical-design/index.d.ts +0 -21
- package/dist/phases/technical-design/index.js +0 -456
- package/dist/phases/technical-design/outcome.d.ts +0 -25
- package/dist/phases/technical-design/outcome.js +0 -41
- package/dist/phases/technical-design/prompts.d.ts +0 -8
- package/dist/phases/technical-design/prompts.js +0 -210
- package/dist/phases/technical-design-verification/agent.d.ts +0 -53
- package/dist/phases/technical-design-verification/agent.js +0 -186
- package/dist/phases/technical-design-verification/index.d.ts +0 -38
- package/dist/phases/technical-design-verification/index.js +0 -152
- package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
- package/dist/phases/technical-design-verification/prompts.js +0 -143
- package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
- package/dist/phases/test-cases-analysis/agent.js +0 -105
- package/dist/phases/test-cases-analysis/context.d.ts +0 -15
- package/dist/phases/test-cases-analysis/context.js +0 -86
- package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
- package/dist/phases/test-cases-analysis/formatters.js +0 -35
- package/dist/phases/test-cases-analysis/index.d.ts +0 -9
- package/dist/phases/test-cases-analysis/index.js +0 -175
- package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
- package/dist/phases/test-cases-analysis/outcome.js +0 -146
- package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
- package/dist/phases/test-cases-analysis/prompts.js +0 -171
- package/dist/phases/user-psychology/agent.d.ts +0 -16
- package/dist/phases/user-psychology/agent.js +0 -105
- package/dist/phases/user-psychology/context.d.ts +0 -10
- package/dist/phases/user-psychology/context.js +0 -65
- package/dist/phases/user-psychology/index.d.ts +0 -18
- package/dist/phases/user-psychology/index.js +0 -96
- package/dist/phases/user-psychology/prompts.d.ts +0 -2
- package/dist/phases/user-psychology/prompts.js +0 -41
- package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
- package/dist/phases/user-stories-analysis/agent.js +0 -105
- package/dist/phases/user-stories-analysis/context.d.ts +0 -15
- package/dist/phases/user-stories-analysis/context.js +0 -86
- package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
- package/dist/phases/user-stories-analysis/formatters.js +0 -32
- package/dist/phases/user-stories-analysis/index.d.ts +0 -9
- package/dist/phases/user-stories-analysis/index.js +0 -175
- package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
- package/dist/phases/user-stories-analysis/outcome.js +0 -146
- package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
- package/dist/phases/user-stories-analysis/prompts.js +0 -194
- package/dist/services/audit-logs.d.ts +0 -73
- package/dist/services/audit-logs.js +0 -174
- package/dist/services/branches.d.ts +0 -103
- package/dist/services/branches.js +0 -391
- package/dist/services/checklist.d.ts +0 -100
- package/dist/services/checklist.js +0 -259
- package/dist/services/coaching/coaching-agent.d.ts +0 -39
- package/dist/services/coaching/coaching-agent.js +0 -308
- package/dist/services/coaching/coaching-loop.d.ts +0 -62
- package/dist/services/coaching/coaching-loop.js +0 -265
- package/dist/services/coaching/index.d.ts +0 -8
- package/dist/services/coaching/index.js +0 -8
- package/dist/services/coaching/phase-coaching.d.ts +0 -47
- package/dist/services/coaching/phase-coaching.js +0 -60
- package/dist/services/coaching/self-rating.d.ts +0 -26
- package/dist/services/coaching/self-rating.js +0 -153
- package/dist/services/feedbacks.d.ts +0 -57
- package/dist/services/feedbacks.js +0 -264
- package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
- package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
- package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
- package/dist/services/phase-hooks/hook-executor.js +0 -167
- package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
- package/dist/services/phase-hooks/hook-logging.js +0 -41
- package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
- package/dist/services/phase-hooks/hook-runner.js +0 -83
- package/dist/services/phase-hooks/index.d.ts +0 -10
- package/dist/services/phase-hooks/index.js +0 -9
- package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
- package/dist/services/phase-hooks/plugin-loader.js +0 -207
- package/dist/services/phase-hooks/types.d.ts +0 -69
- package/dist/services/phase-hooks/types.js +0 -8
- package/dist/services/phase-ratings.d.ts +0 -70
- package/dist/services/phase-ratings.js +0 -143
- package/dist/services/product-logs.d.ts +0 -31
- package/dist/services/product-logs.js +0 -94
- package/dist/services/pull-requests.d.ts +0 -57
- package/dist/services/pull-requests.js +0 -186
- package/dist/services/quality-reports.d.ts +0 -45
- package/dist/services/quality-reports.js +0 -93
- package/dist/services/repo-config.d.ts +0 -17
- package/dist/services/repo-config.js +0 -50
- package/dist/services/skill-resolver.d.ts +0 -46
- package/dist/services/skill-resolver.js +0 -123
- package/dist/services/video/device-frames.d.ts +0 -34
- package/dist/services/video/device-frames.js +0 -513
- package/dist/services/video/index.d.ts +0 -66
- package/dist/services/video/index.js +0 -238
- package/dist/services/video/retry.d.ts +0 -20
- package/dist/services/video/retry.js +0 -76
- package/dist/services/video/screenshot-generator.d.ts +0 -69
- package/dist/services/video/screenshot-generator.js +0 -259
- package/dist/services/video/tts-generator.d.ts +0 -40
- package/dist/services/video/tts-generator.js +0 -121
- package/dist/services/video/video-assembler.d.ts +0 -45
- package/dist/services/video/video-assembler.js +0 -351
- package/dist/services/video/video-uploader.d.ts +0 -28
- package/dist/services/video/video-uploader.js +0 -108
- package/dist/skills/phase/adr-generation/SKILL.md +0 -51
- package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
- package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
- package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
- package/dist/skills/phase/autonomous/SKILL.md +0 -52
- package/dist/skills/phase/branch-planning/SKILL.md +0 -55
- package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
- package/dist/skills/phase/class-diagram/SKILL.md +0 -44
- package/dist/skills/phase/code-implementation/SKILL.md +0 -68
- package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
- package/dist/skills/phase/code-refine/SKILL.md +0 -62
- package/dist/skills/phase/code-testing/SKILL.md +0 -78
- package/dist/skills/phase/data-flow/SKILL.md +0 -82
- package/dist/skills/phase/er-diagram/SKILL.md +0 -71
- package/dist/skills/phase/flowchart/SKILL.md +0 -38
- package/dist/skills/phase/functional-testing/SKILL.md +0 -62
- package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
- package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
- package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
- package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
- package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
- package/dist/skills/phase/pr-execution/SKILL.md +0 -69
- package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
- package/dist/skills/phase/screen-flow/SKILL.md +0 -78
- package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
- package/dist/skills/phase/smoke-test/SKILL.md +0 -80
- package/dist/skills/phase/state-diagram/SKILL.md +0 -38
- package/dist/skills/phase/task/SKILL.md +0 -19
- package/dist/skills/phase/technical-design/SKILL.md +0 -75
- package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
- package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
- package/dist/skills/phase/user-psychology/SKILL.md +0 -135
- package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
- package/dist/supabase/client.d.ts +0 -34
- package/dist/supabase/client.js +0 -123
- package/dist/system/session-manager.d.ts +0 -67
- package/dist/system/session-manager.js +0 -300
- package/dist/system/sleep-notification.d.ts +0 -15
- package/dist/system/sleep-notification.js +0 -108
- package/dist/system/sleep-prevention.d.ts +0 -20
- package/dist/system/sleep-prevention.js +0 -112
- package/dist/tools/bootstrap.d.ts +0 -45
- package/dist/tools/bootstrap.js +0 -50
- package/dist/types/external-sources.d.ts +0 -22
- package/dist/types/external-sources.js +0 -23
- package/dist/types/index.d.ts +0 -206
- package/dist/types/index.js +0 -1
- package/dist/types/issues.d.ts +0 -37
- package/dist/types/issues.js +0 -1
- package/dist/types/llm-responses.d.ts +0 -114
- package/dist/types/llm-responses.js +0 -9
- package/dist/types/pipeline.d.ts +0 -28
- package/dist/types/pipeline.js +0 -4
- package/dist/updater/auto-updater.d.ts +0 -39
- package/dist/updater/auto-updater.js +0 -134
- package/dist/utils/conflict-resolver.d.ts +0 -49
- package/dist/utils/conflict-resolver.js +0 -201
- package/dist/utils/formatters.d.ts +0 -42
- package/dist/utils/formatters.js +0 -166
- package/dist/utils/git-branch-manager-async.d.ts +0 -127
- package/dist/utils/git-branch-manager-async.js +0 -425
- package/dist/utils/git-branch-manager.d.ts +0 -160
- package/dist/utils/git-branch-manager.js +0 -613
- package/dist/utils/git-push.d.ts +0 -43
- package/dist/utils/git-push.js +0 -136
- package/dist/utils/github-repo-info.d.ts +0 -26
- package/dist/utils/github-repo-info.js +0 -45
- package/dist/utils/image-downloader.d.ts +0 -32
- package/dist/utils/image-downloader.js +0 -152
- package/dist/utils/issue-phase-cli.d.ts +0 -26
- package/dist/utils/issue-phase-cli.js +0 -44
- package/dist/utils/json-extract.d.ts +0 -6
- package/dist/utils/json-extract.js +0 -44
- package/dist/utils/json-extractor.d.ts +0 -27
- package/dist/utils/json-extractor.js +0 -102
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.js +0 -167
- package/dist/utils/pipeline-logger.d.ts +0 -8
- package/dist/utils/pipeline-logger.js +0 -38
- package/dist/utils/validation.d.ts +0 -68
- package/dist/utils/validation.js +0 -229
- package/dist/utils/workflow-utils.d.ts +0 -22
- package/dist/utils/workflow-utils.js +0 -48
- package/dist/workspace/session-workspace.d.ts +0 -43
- package/dist/workspace/session-workspace.js +0 -90
- package/dist/workspace/workspace-manager.d.ts +0 -105
- package/dist/workspace/workspace-manager.js +0 -280
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface AdrGenerationOptions {
|
|
2
|
-
adrId: string;
|
|
3
|
-
verbose?: boolean;
|
|
4
|
-
}
|
|
5
|
-
export interface AdrGenerationResult {
|
|
6
|
-
status: 'success' | 'error';
|
|
7
|
-
optionCount: number;
|
|
8
|
-
error?: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Generate decision options for a draft ADR: gather context, run the agent,
|
|
12
|
-
* persist the resulting options, and flip the ADR to `proposed`/`ready` for the
|
|
13
|
-
* human to choose. The draft row is created by the desktop app beforehand.
|
|
14
|
-
*/
|
|
15
|
-
export declare function generateAdr(options: AdrGenerationOptions): Promise<AdrGenerationResult>;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { getAdr, loadAdrContext, markGenerationFailed, markGenerationReady, saveAdrOptions, } from '../../api/adr.js';
|
|
2
|
-
import { getGitHubConfigByProduct, getGitHubConfigByRepository, } from '../../api/github.js';
|
|
3
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
4
|
-
import { cleanupIssueRepo, cloneIssueRepo, ensureWorkspaceDir, } from '../../workspace/workspace-manager.js';
|
|
5
|
-
import { executeAdrQuery } from './agent.js';
|
|
6
|
-
import { buildAdrUserPrompt, createAdrSystemPrompt } from './prompts.js';
|
|
7
|
-
/** Best-effort clone of the relevant repo so the agent can read the codebase. */
|
|
8
|
-
async function tryCloneRepo(adr, verbose) {
|
|
9
|
-
try {
|
|
10
|
-
const gh = adr.product_id
|
|
11
|
-
? await getGitHubConfigByProduct(adr.product_id, verbose)
|
|
12
|
-
: await getGitHubConfigByRepository(adr.repository_id, verbose);
|
|
13
|
-
if (gh.configured && gh.token && gh.owner && gh.repo) {
|
|
14
|
-
const workspaceRoot = ensureWorkspaceDir();
|
|
15
|
-
const { repoPath } = cloneIssueRepo(workspaceRoot, `adr-${adr.id}`, gh.owner, gh.repo, gh.token);
|
|
16
|
-
logInfo(`Repository cloned to: ${repoPath}`);
|
|
17
|
-
return repoPath;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
catch (error) {
|
|
21
|
-
logInfo(`Could not clone repo (continuing without codebase): ${error instanceof Error ? error.message : String(error)}`);
|
|
22
|
-
}
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Generate decision options for a draft ADR: gather context, run the agent,
|
|
27
|
-
* persist the resulting options, and flip the ADR to `proposed`/`ready` for the
|
|
28
|
-
* human to choose. The draft row is created by the desktop app beforehand.
|
|
29
|
-
*/
|
|
30
|
-
export async function generateAdr(options) {
|
|
31
|
-
const { adrId, verbose } = options;
|
|
32
|
-
let repoCwd;
|
|
33
|
-
try {
|
|
34
|
-
const adr = await getAdr(adrId);
|
|
35
|
-
logInfo(`Generating decision options for: ${adr.title}`);
|
|
36
|
-
const context = await loadAdrContext(adr);
|
|
37
|
-
repoCwd = await tryCloneRepo(adr, verbose);
|
|
38
|
-
const systemPrompt = await createAdrSystemPrompt(Boolean(repoCwd));
|
|
39
|
-
const userPrompt = buildAdrUserPrompt(adr, context);
|
|
40
|
-
const generated = await executeAdrQuery(userPrompt, systemPrompt, verbose, repoCwd);
|
|
41
|
-
if (!generated || generated.length === 0) {
|
|
42
|
-
const message = 'The agent did not return any decision options.';
|
|
43
|
-
await markGenerationFailed(adrId, message);
|
|
44
|
-
return { status: 'error', optionCount: 0, error: message };
|
|
45
|
-
}
|
|
46
|
-
await saveAdrOptions(adrId, generated);
|
|
47
|
-
await markGenerationReady(adrId);
|
|
48
|
-
logSuccess(`Generated ${generated.length} decision options.`);
|
|
49
|
-
for (const o of generated) {
|
|
50
|
-
logInfo(` ${o.is_recommended ? '★' : '•'} ${o.title}`);
|
|
51
|
-
}
|
|
52
|
-
logInfo('\nReview and choose one in the Desktop app → ADR tab');
|
|
53
|
-
return { status: 'success', optionCount: generated.length };
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
57
|
-
logError(`ADR generation failed: ${message}`);
|
|
58
|
-
await markGenerationFailed(adrId, message);
|
|
59
|
-
return { status: 'error', optionCount: 0, error: message };
|
|
60
|
-
}
|
|
61
|
-
finally {
|
|
62
|
-
if (repoCwd) {
|
|
63
|
-
cleanupIssueRepo(repoCwd);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type AdrOptionInput } from '../../api/adr.js';
|
|
2
|
-
/**
|
|
3
|
-
* Pure parsing/normalization helpers for the ADR agent response. Kept separate
|
|
4
|
-
* from agent.ts (which owns the SDK query loop) so they can be unit-tested
|
|
5
|
-
* without spinning up the model.
|
|
6
|
-
*/
|
|
7
|
-
/** Index of the matching closer for the opener at `start`, respecting strings. */
|
|
8
|
-
export declare function findMatchingClose(text: string, start: number): number;
|
|
9
|
-
export declare function extractJSON(text: string): any | null;
|
|
10
|
-
export declare function asStringArray(value: unknown): string[];
|
|
11
|
-
/** Coerce the parsed JSON into validated option inputs. */
|
|
12
|
-
export declare function normalizeOptions(parsed: unknown): AdrOptionInput[];
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure parsing/normalization helpers for the ADR agent response. Kept separate
|
|
3
|
-
* from agent.ts (which owns the SDK query loop) so they can be unit-tested
|
|
4
|
-
* without spinning up the model.
|
|
5
|
-
*/
|
|
6
|
-
/** Index of the matching closer for the opener at `start`, respecting strings. */
|
|
7
|
-
export function findMatchingClose(text, start) {
|
|
8
|
-
const opener = text[start];
|
|
9
|
-
const closer = opener === '{' ? '}' : ']';
|
|
10
|
-
let depth = 0;
|
|
11
|
-
let inString = false;
|
|
12
|
-
let escape = false;
|
|
13
|
-
for (let i = start; i < text.length; i++) {
|
|
14
|
-
const ch = text[i];
|
|
15
|
-
if (escape) {
|
|
16
|
-
escape = false;
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
if (ch === '\\' && inString) {
|
|
20
|
-
escape = true;
|
|
21
|
-
continue;
|
|
22
|
-
}
|
|
23
|
-
if (ch === '"') {
|
|
24
|
-
inString = !inString;
|
|
25
|
-
continue;
|
|
26
|
-
}
|
|
27
|
-
if (inString) {
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
if (ch === opener) {
|
|
31
|
-
depth++;
|
|
32
|
-
}
|
|
33
|
-
else if (ch === closer) {
|
|
34
|
-
depth--;
|
|
35
|
-
if (depth === 0) {
|
|
36
|
-
return i;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return -1;
|
|
41
|
-
}
|
|
42
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
-
export function extractJSON(text) {
|
|
44
|
-
// Largest ```json block first.
|
|
45
|
-
const jsonBlocks = [...text.matchAll(/```json\s*\n([\s\S]*?)\n\s*```/g)];
|
|
46
|
-
if (jsonBlocks.length > 0) {
|
|
47
|
-
const largest = jsonBlocks.reduce((a, b) => a[1].length >= b[1].length ? a : b);
|
|
48
|
-
try {
|
|
49
|
-
return JSON.parse(largest[1]);
|
|
50
|
-
}
|
|
51
|
-
catch {
|
|
52
|
-
/* fall through */
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
// Generic code block.
|
|
56
|
-
const codeBlock = text.match(/```\s*\n([\s\S]*?)\n\s*```/);
|
|
57
|
-
if (codeBlock) {
|
|
58
|
-
try {
|
|
59
|
-
return JSON.parse(codeBlock[1]);
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
/* fall through */
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
// Balanced { ... } scan.
|
|
66
|
-
for (let i = 0; i < text.length; i++) {
|
|
67
|
-
if (text[i] === '{') {
|
|
68
|
-
const end = findMatchingClose(text, i);
|
|
69
|
-
if (end !== -1) {
|
|
70
|
-
try {
|
|
71
|
-
return JSON.parse(text.slice(i, end + 1));
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
i = end;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
try {
|
|
80
|
-
return JSON.parse(text);
|
|
81
|
-
}
|
|
82
|
-
catch {
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
export function asStringArray(value) {
|
|
87
|
-
if (!Array.isArray(value)) {
|
|
88
|
-
return [];
|
|
89
|
-
}
|
|
90
|
-
return value
|
|
91
|
-
.map((v) => (typeof v === 'string' ? v : String(v)))
|
|
92
|
-
.map((s) => s.trim())
|
|
93
|
-
.filter(Boolean);
|
|
94
|
-
}
|
|
95
|
-
/** Coerce the parsed JSON into validated option inputs. */
|
|
96
|
-
export function normalizeOptions(parsed) {
|
|
97
|
-
const root = parsed;
|
|
98
|
-
const rawOptions = Array.isArray(root?.options)
|
|
99
|
-
? root?.options
|
|
100
|
-
: Array.isArray(parsed)
|
|
101
|
-
? parsed
|
|
102
|
-
: [];
|
|
103
|
-
const options = [];
|
|
104
|
-
for (const raw of rawOptions ?? []) {
|
|
105
|
-
const o = raw;
|
|
106
|
-
const title = typeof o.title === 'string' ? o.title.trim() : '';
|
|
107
|
-
if (!title) {
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
options.push({
|
|
111
|
-
title,
|
|
112
|
-
summary: typeof o.summary === 'string' ? o.summary.trim() : undefined,
|
|
113
|
-
pros: asStringArray(o.pros),
|
|
114
|
-
cons: asStringArray(o.cons),
|
|
115
|
-
is_recommended: o.is_recommended === true,
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
// Guarantee exactly one recommended option when any exist.
|
|
119
|
-
if (options.length > 0 && !options.some((o) => o.is_recommended)) {
|
|
120
|
-
options[0].is_recommended = true;
|
|
121
|
-
}
|
|
122
|
-
return options;
|
|
123
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type AdrContext, type AdrRow } from '../../api/adr.js';
|
|
2
|
-
/**
|
|
3
|
-
* Build the ADR agent's system prompt from the bundled (and user-overridable)
|
|
4
|
-
* `phase/adr-generation` SKILL.md. Conditional blocks are toggled by whether a
|
|
5
|
-
* codebase is available in the working directory.
|
|
6
|
-
*/
|
|
7
|
-
export declare function createAdrSystemPrompt(hasCodebase: boolean, projectDir?: string): Promise<string>;
|
|
8
|
-
export declare function buildAdrUserPrompt(adr: AdrRow, context: AdrContext): string;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { processConditionals, resolveSkill, } from '../../services/skill-resolver.js';
|
|
2
|
-
/**
|
|
3
|
-
* Build the ADR agent's system prompt from the bundled (and user-overridable)
|
|
4
|
-
* `phase/adr-generation` SKILL.md. Conditional blocks are toggled by whether a
|
|
5
|
-
* codebase is available in the working directory.
|
|
6
|
-
*/
|
|
7
|
-
export async function createAdrSystemPrompt(hasCodebase, projectDir) {
|
|
8
|
-
const skill = await resolveSkill('phase/adr-generation', { projectDir });
|
|
9
|
-
if (!skill) {
|
|
10
|
-
throw new Error('Failed to load skill: phase/adr-generation');
|
|
11
|
-
}
|
|
12
|
-
return processConditionals(skill.prompt, { hasCodebase });
|
|
13
|
-
}
|
|
14
|
-
export function buildAdrUserPrompt(adr, context) {
|
|
15
|
-
const lines = [];
|
|
16
|
-
lines.push(`# Decision to make\n${adr.title}`);
|
|
17
|
-
if (adr.generation_prompt && adr.generation_prompt !== adr.title) {
|
|
18
|
-
lines.push(`\n## Direction from the human\n${adr.generation_prompt}`);
|
|
19
|
-
}
|
|
20
|
-
if (adr.context) {
|
|
21
|
-
lines.push(`\n## Additional context\n${adr.context}`);
|
|
22
|
-
}
|
|
23
|
-
lines.push(`\n## ${context.scope === 'product' ? 'Product' : 'Repository'}\n${context.name}${context.description ? `\n${context.description}` : ''}`);
|
|
24
|
-
if (context.repos.length > 0) {
|
|
25
|
-
lines.push(`\n## Linked repositories\n${context.repos.join('\n')}`);
|
|
26
|
-
}
|
|
27
|
-
if (context.issues.length > 0) {
|
|
28
|
-
lines.push(`\n## Recent issues (for situational awareness)\n${context.issues
|
|
29
|
-
.slice(0, 25)
|
|
30
|
-
.map((i) => `- ${i}`)
|
|
31
|
-
.join('\n')}`);
|
|
32
|
-
}
|
|
33
|
-
lines.push(`\nProduce the options JSON per the output contract. Investigate before answering.`);
|
|
34
|
-
return lines.join('\n');
|
|
35
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface AnalyzedFeedback {
|
|
2
|
-
category: 'bug' | 'feature_request' | 'improvement' | 'question' | 'other';
|
|
3
|
-
title: string;
|
|
4
|
-
description: string;
|
|
5
|
-
priority: 'low' | 'medium' | 'high' | 'critical';
|
|
6
|
-
}
|
|
7
|
-
export interface AnalysisResult {
|
|
8
|
-
summary: string;
|
|
9
|
-
feedbacks: AnalyzedFeedback[];
|
|
10
|
-
}
|
|
11
|
-
export declare function executeLogAnalysis(userPrompt: string, systemPrompt: string, verbose?: boolean): Promise<AnalysisResult | null>;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
2
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
3
|
-
import { logDebug, logError, logInfo } from '../../utils/logger.js';
|
|
4
|
-
function userMessage(content) {
|
|
5
|
-
return {
|
|
6
|
-
type: 'user',
|
|
7
|
-
message: { role: 'user', content },
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
// eslint-disable-next-line @typescript-eslint/require-await -- async generator required by SDK interface
|
|
11
|
-
async function* prompt(text) {
|
|
12
|
-
yield userMessage(text);
|
|
13
|
-
}
|
|
14
|
-
function parseAnalysisResult(responseText) {
|
|
15
|
-
try {
|
|
16
|
-
const jsonBlockMatch = responseText.match(/```json\s*\n([\s\S]*?)\n\s*```/);
|
|
17
|
-
const jsonText = jsonBlockMatch ? jsonBlockMatch[1] : responseText;
|
|
18
|
-
const parsed = JSON.parse(jsonText);
|
|
19
|
-
if (parsed &&
|
|
20
|
-
typeof parsed.summary === 'string' &&
|
|
21
|
-
Array.isArray(parsed.feedbacks)) {
|
|
22
|
-
return parsed;
|
|
23
|
-
}
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
return null;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export async function executeLogAnalysis(userPrompt, systemPrompt, verbose) {
|
|
31
|
-
let lastAssistantResponse = '';
|
|
32
|
-
let result = null;
|
|
33
|
-
for await (const message of query({
|
|
34
|
-
prompt: prompt(userPrompt),
|
|
35
|
-
options: {
|
|
36
|
-
systemPrompt: {
|
|
37
|
-
type: 'preset',
|
|
38
|
-
preset: 'claude_code',
|
|
39
|
-
append: systemPrompt,
|
|
40
|
-
},
|
|
41
|
-
model: DEFAULT_MODEL,
|
|
42
|
-
maxTurns: 10,
|
|
43
|
-
permissionMode: 'bypassPermissions',
|
|
44
|
-
},
|
|
45
|
-
})) {
|
|
46
|
-
if (message.type === 'assistant' && message.message?.content) {
|
|
47
|
-
for (const content of message.message.content) {
|
|
48
|
-
if (content.type === 'text') {
|
|
49
|
-
lastAssistantResponse += `${content.text}\n`;
|
|
50
|
-
logDebug(content.text, verbose);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (message.type === 'result') {
|
|
55
|
-
const responseText = ('result' in message ? message.result : '') || lastAssistantResponse;
|
|
56
|
-
result = parseAnalysisResult(responseText);
|
|
57
|
-
if (!result) {
|
|
58
|
-
logError('Failed to parse log analysis result');
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
logInfo(`Analysis complete: ${result.feedbacks.length} feedback items found`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return result;
|
|
66
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analyze Logs Phase
|
|
3
|
-
*
|
|
4
|
-
* Fetches unanalyzed product logs grouped by user, runs AI analysis on each
|
|
5
|
-
* user's session logs (only if the latest log is >1 hour old), and creates
|
|
6
|
-
* product_user_feedbacks for any issues or improvement suggestions found.
|
|
7
|
-
*/
|
|
8
|
-
export interface AnalyzeLogsOptions {
|
|
9
|
-
productId: string;
|
|
10
|
-
verbose?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface AnalyzeLogsResult {
|
|
13
|
-
status: 'success' | 'error';
|
|
14
|
-
groupsProcessed: number;
|
|
15
|
-
feedbacksCreated: number;
|
|
16
|
-
logsAnalyzed: number;
|
|
17
|
-
summary: string;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Run log analysis for a product.
|
|
21
|
-
* Processes each user's pending logs through AI and creates feedback.
|
|
22
|
-
*/
|
|
23
|
-
export declare function analyzeLogs(options: AnalyzeLogsOptions): Promise<AnalyzeLogsResult>;
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Analyze Logs Phase
|
|
3
|
-
*
|
|
4
|
-
* Fetches unanalyzed product logs grouped by user, runs AI analysis on each
|
|
5
|
-
* user's session logs (only if the latest log is >1 hour old), and creates
|
|
6
|
-
* product_user_feedbacks for any issues or improvement suggestions found.
|
|
7
|
-
*/
|
|
8
|
-
import { callMcpEndpoint } from '../../api/mcp-client.js';
|
|
9
|
-
import { getProduct } from '../../api/products.js';
|
|
10
|
-
import { getPendingLogsByUser, markLogsAnalyzed, } from '../../services/product-logs.js';
|
|
11
|
-
import { getSupabase, hasSupabaseSession } from '../../supabase/client.js';
|
|
12
|
-
import { logError, logInfo, logSuccess } from '../../utils/logger.js';
|
|
13
|
-
import { executeLogAnalysis } from './agent.js';
|
|
14
|
-
import { createAnalyzeLogsSystemPrompt, createAnalyzeLogsUserPrompt, } from './prompts.js';
|
|
15
|
-
/**
|
|
16
|
-
* Run log analysis for a product.
|
|
17
|
-
* Processes each user's pending logs through AI and creates feedback.
|
|
18
|
-
*/
|
|
19
|
-
export async function analyzeLogs(options) {
|
|
20
|
-
const { productId, verbose } = options;
|
|
21
|
-
// 1. Get product info for context
|
|
22
|
-
let productName = productId;
|
|
23
|
-
try {
|
|
24
|
-
// Use the shared product wrapper — it tries the user-JWT SDK path first
|
|
25
|
-
// and falls back to the resources/read MCP path when the row isn't
|
|
26
|
-
// directly accessible (e.g. slug lookup).
|
|
27
|
-
const product = (await getProduct(productId));
|
|
28
|
-
if (product?.name) {
|
|
29
|
-
productName = product.name;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// Continue with product ID as name
|
|
34
|
-
}
|
|
35
|
-
// 2. Fetch pending logs grouped by user
|
|
36
|
-
logInfo(`Fetching pending logs for product: ${productName}`);
|
|
37
|
-
const groups = await getPendingLogsByUser(productId, verbose);
|
|
38
|
-
if (groups.length === 0) {
|
|
39
|
-
logInfo('No pending log groups to analyze');
|
|
40
|
-
return {
|
|
41
|
-
status: 'success',
|
|
42
|
-
groupsProcessed: 0,
|
|
43
|
-
feedbacksCreated: 0,
|
|
44
|
-
logsAnalyzed: 0,
|
|
45
|
-
summary: 'No pending logs to analyze',
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
logInfo(`Found ${groups.length} user log group(s) to analyze`);
|
|
49
|
-
// 3. Filter: only process groups where latest log is >1 hour old
|
|
50
|
-
const oneHourAgo = new Date(Date.now() - 60 * 60 * 1000).toISOString();
|
|
51
|
-
const readyGroups = groups.filter((group) => group.latestLogAt < oneHourAgo);
|
|
52
|
-
if (readyGroups.length === 0) {
|
|
53
|
-
logInfo('All user sessions are still active (latest log within 1 hour). Skipping.');
|
|
54
|
-
return {
|
|
55
|
-
status: 'success',
|
|
56
|
-
groupsProcessed: 0,
|
|
57
|
-
feedbacksCreated: 0,
|
|
58
|
-
logsAnalyzed: 0,
|
|
59
|
-
summary: 'All sessions still active, nothing to analyze yet',
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
logInfo(`${readyGroups.length} group(s) ready for analysis (inactive >1 hour)`);
|
|
63
|
-
const systemPrompt = await createAnalyzeLogsSystemPrompt();
|
|
64
|
-
let totalFeedbacks = 0;
|
|
65
|
-
let totalLogs = 0;
|
|
66
|
-
// 4. Process each user group
|
|
67
|
-
for (const group of readyGroups) {
|
|
68
|
-
const userLabel = group.userId || 'anonymous';
|
|
69
|
-
logInfo(`Analyzing ${group.logs.length} logs for user: ${userLabel}`);
|
|
70
|
-
const userPrompt = createAnalyzeLogsUserPrompt(productName, group.userId, group.logs);
|
|
71
|
-
try {
|
|
72
|
-
const result = await executeLogAnalysis(userPrompt, systemPrompt, verbose);
|
|
73
|
-
if (result && result.feedbacks.length > 0) {
|
|
74
|
-
// 5. Create feedback entries
|
|
75
|
-
await createFeedbacksFromAnalysis(productId, group, result, verbose);
|
|
76
|
-
totalFeedbacks += result.feedbacks.length;
|
|
77
|
-
}
|
|
78
|
-
else if (result) {
|
|
79
|
-
logInfo(`No issues found for user ${userLabel}: ${result.summary}`);
|
|
80
|
-
}
|
|
81
|
-
// 6. Mark logs as analyzed
|
|
82
|
-
const logIds = group.logs.map((l) => l.id);
|
|
83
|
-
await markLogsAnalyzed(logIds, verbose);
|
|
84
|
-
totalLogs += logIds.length;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
logError(`Failed to analyze logs for user ${userLabel}: ${error instanceof Error ? error.message : String(error)}`);
|
|
88
|
-
// Continue with next group
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
logSuccess(`Analysis complete: ${readyGroups.length} groups, ${totalFeedbacks} feedbacks created, ${totalLogs} logs processed`);
|
|
92
|
-
return {
|
|
93
|
-
status: 'success',
|
|
94
|
-
groupsProcessed: readyGroups.length,
|
|
95
|
-
feedbacksCreated: totalFeedbacks,
|
|
96
|
-
logsAnalyzed: totalLogs,
|
|
97
|
-
summary: `Processed ${readyGroups.length} user groups, created ${totalFeedbacks} feedback items`,
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Create product_user_feedbacks from AI analysis results
|
|
102
|
-
*/
|
|
103
|
-
async function createFeedbacksFromAnalysis(productId, group, result, verbose) {
|
|
104
|
-
for (const feedback of result.feedbacks) {
|
|
105
|
-
try {
|
|
106
|
-
const payload = {
|
|
107
|
-
product_id: productId,
|
|
108
|
-
category: feedback.category,
|
|
109
|
-
title: feedback.title,
|
|
110
|
-
description: feedback.description,
|
|
111
|
-
priority: feedback.priority,
|
|
112
|
-
reporter_name: group.userId
|
|
113
|
-
? `AI Analysis (user: ${group.userId})`
|
|
114
|
-
: 'AI Analysis (anonymous user)',
|
|
115
|
-
metadata: {
|
|
116
|
-
source: 'log_analysis',
|
|
117
|
-
user_id: group.userId,
|
|
118
|
-
log_count: group.logs.length,
|
|
119
|
-
analysis_summary: result.summary,
|
|
120
|
-
time_range: {
|
|
121
|
-
from: group.logs[0]?.created_at,
|
|
122
|
-
to: group.logs[group.logs.length - 1]?.created_at,
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
let usedSdk = false;
|
|
127
|
-
if (hasSupabaseSession()) {
|
|
128
|
-
try {
|
|
129
|
-
const { error } = await getSupabase()
|
|
130
|
-
.from('product_user_feedbacks')
|
|
131
|
-
.insert({ ...payload, status: 'new' });
|
|
132
|
-
if (error) {
|
|
133
|
-
throw new Error(error.message);
|
|
134
|
-
}
|
|
135
|
-
usedSdk = true;
|
|
136
|
-
}
|
|
137
|
-
catch {
|
|
138
|
-
// Fall through to MCP
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
if (!usedSdk) {
|
|
142
|
-
await callMcpEndpoint('product_user_feedbacks/create', payload);
|
|
143
|
-
}
|
|
144
|
-
if (verbose) {
|
|
145
|
-
logInfo(`Created feedback: [${feedback.category}] ${feedback.title}`);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
logError(`Failed to create feedback "${feedback.title}": ${error instanceof Error ? error.message : String(error)}`);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { type ProductLog } from '../../services/product-logs.js';
|
|
2
|
-
export declare function createAnalyzeLogsSystemPrompt(projectDir?: string): Promise<string>;
|
|
3
|
-
export declare function createAnalyzeLogsUserPrompt(productName: string, userId: string | null, logs: ProductLog[]): string;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { resolveSkill } from '../../services/skill-resolver.js';
|
|
2
|
-
import { OUTPUT_CONTRACTS } from '../output-contracts.js';
|
|
3
|
-
export async function createAnalyzeLogsSystemPrompt(projectDir) {
|
|
4
|
-
const skill = await resolveSkill('phase/analyze-logs', { projectDir });
|
|
5
|
-
if (!skill) {
|
|
6
|
-
throw new Error('Failed to load skill: phase/analyze-logs');
|
|
7
|
-
}
|
|
8
|
-
return `${skill.prompt}\n\n${OUTPUT_CONTRACTS['analyze-logs']}`;
|
|
9
|
-
}
|
|
10
|
-
export function createAnalyzeLogsUserPrompt(productName, userId, logs) {
|
|
11
|
-
const logsText = logs
|
|
12
|
-
.map((log) => `[${log.created_at}] [${log.log_type}] ${log.message}${Object.keys(log.metadata).length > 0
|
|
13
|
-
? ` | metadata: ${JSON.stringify(log.metadata)}`
|
|
14
|
-
: ''}`)
|
|
15
|
-
.join('\n');
|
|
16
|
-
return `Analyze the following user interaction logs for product "${productName}".
|
|
17
|
-
|
|
18
|
-
User ID: ${userId || 'anonymous'}
|
|
19
|
-
Total logs: ${logs.length}
|
|
20
|
-
Time range: ${logs[0]?.created_at} to ${logs[logs.length - 1]?.created_at}
|
|
21
|
-
|
|
22
|
-
--- BEGIN LOGS ---
|
|
23
|
-
${logsText}
|
|
24
|
-
--- END LOGS ---
|
|
25
|
-
|
|
26
|
-
Analyze these logs and identify any issues, bugs, or product improvement opportunities. Return your analysis as the JSON format specified in your instructions.`;
|
|
27
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API docs phase: clone the repository, ask Claude to work out the API surface
|
|
3
|
-
* it exposes, and persist a generated API reference (Markdown + an optional
|
|
4
|
-
* OpenAPI document) onto the pending api_doc_runs row.
|
|
5
|
-
*
|
|
6
|
-
* Production-grade behaviours (mirrors the recipes phase):
|
|
7
|
-
*
|
|
8
|
-
* - Heartbeat: `last_heartbeat_at` on the api_doc_runs row is refreshed on
|
|
9
|
-
* every assistant message so the reader can detect stalled / crashed runs
|
|
10
|
-
* (see desktop-app/.../services/db/api-doc-runs.ts for the lazy reaper).
|
|
11
|
-
* - Cancellation-safe writes: markRunning / persistAndSucceed / markFailed
|
|
12
|
-
* only touch rows whose status is in {pending, running}. If the user
|
|
13
|
-
* clicked Stop and the row is now 'cancelled', the final write no-ops.
|
|
14
|
-
* - Capture-then-persist: the agent submits the reference via a single
|
|
15
|
-
* `submit_api_docs` MCP tool; the artifact is written in one atomic update
|
|
16
|
-
* alongside the success flip, so a run never leaves a half-written doc.
|
|
17
|
-
*/
|
|
18
|
-
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
19
|
-
import type { ApiDocsArtifact } from './types.js';
|
|
20
|
-
export interface ApiDocsPhaseOptions {
|
|
21
|
-
/** Product-scoped run. Mutually exclusive with `repoId`. */
|
|
22
|
-
productId?: string;
|
|
23
|
-
/** Repo-only run: a single repositories row, no product context. */
|
|
24
|
-
repoId?: string;
|
|
25
|
-
runId: string;
|
|
26
|
-
guidance?: string;
|
|
27
|
-
verbose?: boolean;
|
|
28
|
-
}
|
|
29
|
-
export interface ApiDocsPhaseResult {
|
|
30
|
-
status: 'success' | 'error' | 'cancelled';
|
|
31
|
-
message: string;
|
|
32
|
-
}
|
|
33
|
-
export declare function runApiDocsPhase(options: ApiDocsPhaseOptions): Promise<ApiDocsPhaseResult>;
|
|
34
|
-
/**
|
|
35
|
-
* Claim the row by flipping `pending` → `running`. Returns true on success and
|
|
36
|
-
* false when the row has already moved on (e.g. user cancelled before the CLI
|
|
37
|
-
* started). Bounded by the status filter so we can't resurrect a 'cancelled'
|
|
38
|
-
* row.
|
|
39
|
-
*/
|
|
40
|
-
export declare function markRunning(supabase: SupabaseClient, runId: string): Promise<boolean>;
|
|
41
|
-
export declare function heartbeat(supabase: SupabaseClient, runId: string): Promise<void>;
|
|
42
|
-
export declare function markFailed(supabase: SupabaseClient, runId: string, errorMessage: string): Promise<boolean>;
|
|
43
|
-
/**
|
|
44
|
-
* Write the captured artifact AND flip the row to success in one update,
|
|
45
|
-
* bounded by the {pending, running} status filter so a cancelled run no-ops.
|
|
46
|
-
*/
|
|
47
|
-
export declare function persistAndSucceed(supabase: SupabaseClient, runId: string, artifact: ApiDocsArtifact): Promise<boolean>;
|