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,286 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* data-flow phase: clone the product's repo, ask Claude to map every data
|
|
3
|
-
* node (source / dataset / transform / sink / queue / model) and the
|
|
4
|
-
* connections between them into a structured DataFlowExtraction, then
|
|
5
|
-
* persist the result to diagrams / diagram_nodes / diagram_edges (rows tagged
|
|
6
|
-
* `type = 'data'`) via the Supabase SDK.
|
|
7
|
-
*
|
|
8
|
-
* Companion to screen-flow: same generation pattern (workspace clone +
|
|
9
|
-
* Claude Agent SDK + in-process MCP server), same storage tables, different
|
|
10
|
-
* domain.
|
|
11
|
-
*/
|
|
12
|
-
import { query } from '@anthropic-ai/claude-agent-sdk';
|
|
13
|
-
import { getRepositoryBasics } from '../../api/github.js';
|
|
14
|
-
import { DEFAULT_MODEL } from '../../constants.js';
|
|
15
|
-
import { getSupabase } from '../../supabase/client.js';
|
|
16
|
-
import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
17
|
-
import { cleanupIssueRepo } from '../../workspace/workspace-manager.js';
|
|
18
|
-
import { cloneDiagramRepos, describeRepoScope, } from '../diagram-shared/clone-repos.js';
|
|
19
|
-
import { fetchProductBasics } from '../find-shared/mcp.js';
|
|
20
|
-
import { createPromptGenerator, extractTextFromContent, tryExtractResult, } from '../pr-shared/agent-utils.js';
|
|
21
|
-
import { createDataFlowCaptureState, createDataFlowMcpServer, validateConsistency, } from './mcp-server.js';
|
|
22
|
-
import { createDataFlowSystemPrompt, createDataFlowUserPrompt, } from './prompts.js';
|
|
23
|
-
import { isDataFlowExtraction, } from './types.js';
|
|
24
|
-
const WORKSPACE_KEY = 'data-flow';
|
|
25
|
-
const MAX_TURNS = 150;
|
|
26
|
-
// Auto-layout: simple grid; users can drag afterwards and we persist positions.
|
|
27
|
-
const COLUMN_WIDTH = 320;
|
|
28
|
-
const ROW_HEIGHT = 220;
|
|
29
|
-
const COLUMNS = 4;
|
|
30
|
-
export async function runDataFlowPhase(options) {
|
|
31
|
-
const { productId, repoId, diagramId, guidance, verbose } = options;
|
|
32
|
-
const repoOnly = !productId && Boolean(repoId);
|
|
33
|
-
if (productId) {
|
|
34
|
-
logInfo(`Starting data-flow generation for product ${productId}`);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
logInfo(`Starting data-flow generation for repository ${repoId}`);
|
|
38
|
-
}
|
|
39
|
-
const supabase = getSupabase();
|
|
40
|
-
await markDiagramRunning(supabase, diagramId);
|
|
41
|
-
const repositoryIds = await getDiagramRepositoryIds(supabase, diagramId);
|
|
42
|
-
const cloneResult = await cloneDiagramRepos({
|
|
43
|
-
productId,
|
|
44
|
-
repoId,
|
|
45
|
-
repositoryIds,
|
|
46
|
-
workspaceKey: WORKSPACE_KEY,
|
|
47
|
-
verbose,
|
|
48
|
-
});
|
|
49
|
-
if (!cloneResult.ok) {
|
|
50
|
-
await markDiagramFailed(supabase, diagramId, cloneResult.message);
|
|
51
|
-
return { status: 'error', message: cloneResult.message };
|
|
52
|
-
}
|
|
53
|
-
const { projectDir, cleanupDir, repos } = cloneResult;
|
|
54
|
-
let succeeded = false;
|
|
55
|
-
try {
|
|
56
|
-
const product = repoOnly
|
|
57
|
-
? await resolveRepoBasics(repoId, repos)
|
|
58
|
-
: await fetchProductBasics(productId);
|
|
59
|
-
const systemPrompt = await createDataFlowSystemPrompt({
|
|
60
|
-
projectDir,
|
|
61
|
-
hasCodebase: true,
|
|
62
|
-
});
|
|
63
|
-
const repoScope = describeRepoScope(repos);
|
|
64
|
-
const userPrompt = createDataFlowUserPrompt({
|
|
65
|
-
productName: product.name,
|
|
66
|
-
productDescription: product.description,
|
|
67
|
-
guidance: [guidance, repoScope].filter(Boolean).join('\n\n') || undefined,
|
|
68
|
-
});
|
|
69
|
-
logInfo('Running Claude data-flow extraction...');
|
|
70
|
-
const captureState = createDataFlowCaptureState();
|
|
71
|
-
const mcpServer = createDataFlowMcpServer(captureState, {
|
|
72
|
-
onProgress: ({ phase, message }) => {
|
|
73
|
-
logInfo(`[${phase}] ${message}`);
|
|
74
|
-
},
|
|
75
|
-
});
|
|
76
|
-
let lastAssistantResponse = '';
|
|
77
|
-
let extraction = null;
|
|
78
|
-
for await (const message of query({
|
|
79
|
-
prompt: createPromptGenerator(userPrompt),
|
|
80
|
-
options: {
|
|
81
|
-
systemPrompt: {
|
|
82
|
-
type: 'preset',
|
|
83
|
-
preset: 'claude_code',
|
|
84
|
-
append: systemPrompt,
|
|
85
|
-
},
|
|
86
|
-
model: DEFAULT_MODEL,
|
|
87
|
-
maxTurns: MAX_TURNS,
|
|
88
|
-
permissionMode: 'bypassPermissions',
|
|
89
|
-
cwd: projectDir,
|
|
90
|
-
mcpServers: {
|
|
91
|
-
'data-flow': mcpServer,
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
})) {
|
|
95
|
-
const { assistantBuffer, extraction: nextExtraction } = processSdkMessage(message, lastAssistantResponse, captureState, verbose);
|
|
96
|
-
lastAssistantResponse = assistantBuffer;
|
|
97
|
-
if (nextExtraction) {
|
|
98
|
-
extraction = nextExtraction;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
if (!extraction) {
|
|
102
|
-
const msg = 'Data flow extraction failed: agent did not call submit_data_flow and no parseable data_flow block was found in the response';
|
|
103
|
-
await markDiagramFailed(supabase, diagramId, msg);
|
|
104
|
-
return { status: 'error', message: msg };
|
|
105
|
-
}
|
|
106
|
-
logInfo(`Extraction produced ${extraction.nodes.length} nodes / ${extraction.edges.length} connections`);
|
|
107
|
-
const { nodesCreated, edgesCreated } = await persistDiagram(supabase, diagramId, extraction);
|
|
108
|
-
await markDiagramSuccess(supabase, diagramId, extraction.summary);
|
|
109
|
-
succeeded = true;
|
|
110
|
-
logSuccess(`Data flow generated: ${nodesCreated} nodes, ${edgesCreated} connections`);
|
|
111
|
-
return {
|
|
112
|
-
status: 'success',
|
|
113
|
-
message: `Data flow generated (${nodesCreated} nodes, ${edgesCreated} connections)`,
|
|
114
|
-
nodesCreated,
|
|
115
|
-
edgesCreated,
|
|
116
|
-
summary: extraction.summary,
|
|
117
|
-
};
|
|
118
|
-
}
|
|
119
|
-
catch (error) {
|
|
120
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
121
|
-
logError(`Data flow failed: ${errorMessage}`);
|
|
122
|
-
await markDiagramFailed(supabase, diagramId, errorMessage);
|
|
123
|
-
return { status: 'error', message: errorMessage };
|
|
124
|
-
}
|
|
125
|
-
finally {
|
|
126
|
-
if (succeeded) {
|
|
127
|
-
cleanupIssueRepo(cleanupDir);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Build "product basics" for repo-only mode from the repositories row,
|
|
133
|
-
* falling back to the cloned repo's full name when the row has no name.
|
|
134
|
-
*/
|
|
135
|
-
async function resolveRepoBasics(repositoryId, repos) {
|
|
136
|
-
const basics = await getRepositoryBasics(repositoryId).catch(() => null);
|
|
137
|
-
return {
|
|
138
|
-
name: basics?.fullName ?? repos[0]?.fullName ?? repositoryId,
|
|
139
|
-
description: basics?.description ?? undefined,
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
/** Read the ordered repo set a diagram was scoped to (may be empty). */
|
|
143
|
-
async function getDiagramRepositoryIds(supabase, diagramId) {
|
|
144
|
-
const { data } = await supabase
|
|
145
|
-
.from('diagrams')
|
|
146
|
-
.select('repository_ids')
|
|
147
|
-
.eq('id', diagramId)
|
|
148
|
-
.single();
|
|
149
|
-
return (data?.repository_ids ?? []).filter(Boolean);
|
|
150
|
-
}
|
|
151
|
-
function processSdkMessage(
|
|
152
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
153
|
-
message, assistantBuffer, captureState, verbose) {
|
|
154
|
-
if (message.type === 'assistant') {
|
|
155
|
-
const next = assistantBuffer +
|
|
156
|
-
extractTextFromContent(message.message?.content ?? [], verbose);
|
|
157
|
-
return { assistantBuffer: next, extraction: null };
|
|
158
|
-
}
|
|
159
|
-
if (message.type === 'user' && verbose) {
|
|
160
|
-
const userContent = message.message?.content;
|
|
161
|
-
if (Array.isArray(userContent)) {
|
|
162
|
-
extractTextFromContent(userContent, verbose);
|
|
163
|
-
}
|
|
164
|
-
return { assistantBuffer, extraction: null };
|
|
165
|
-
}
|
|
166
|
-
if (message.type !== 'result') {
|
|
167
|
-
return { assistantBuffer, extraction: null };
|
|
168
|
-
}
|
|
169
|
-
if (captureState.captured) {
|
|
170
|
-
return { assistantBuffer, extraction: captureState.captured };
|
|
171
|
-
}
|
|
172
|
-
const fallback = tryFallbackParse(message, assistantBuffer);
|
|
173
|
-
if (fallback) {
|
|
174
|
-
logWarning('Agent emitted a fenced data_flow block instead of calling submit_data_flow; using the parsed text as a fallback.');
|
|
175
|
-
return { assistantBuffer, extraction: fallback };
|
|
176
|
-
}
|
|
177
|
-
if (message.subtype !== 'success') {
|
|
178
|
-
logError(`Extraction incomplete: ${message.subtype}`);
|
|
179
|
-
}
|
|
180
|
-
return { assistantBuffer, extraction: null };
|
|
181
|
-
}
|
|
182
|
-
function tryFallbackParse(resultMessage, assistantText) {
|
|
183
|
-
const responseText = resultMessage.subtype === 'success'
|
|
184
|
-
? resultMessage.result || assistantText
|
|
185
|
-
: assistantText;
|
|
186
|
-
const parsed = tryExtractResult(responseText, 'data_flow');
|
|
187
|
-
if (!isDataFlowExtraction(parsed)) {
|
|
188
|
-
return null;
|
|
189
|
-
}
|
|
190
|
-
const { error } = validateConsistency(parsed);
|
|
191
|
-
if (error) {
|
|
192
|
-
logWarning(`Fallback extraction failed consistency check: ${error}`);
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
return parsed;
|
|
196
|
-
}
|
|
197
|
-
// ============================================================================
|
|
198
|
-
// Persistence
|
|
199
|
-
// ============================================================================
|
|
200
|
-
async function markDiagramRunning(supabase, diagramId) {
|
|
201
|
-
const { error } = await supabase
|
|
202
|
-
.from('diagrams')
|
|
203
|
-
.update({ status: 'running', error: null })
|
|
204
|
-
.eq('id', diagramId);
|
|
205
|
-
if (error) {
|
|
206
|
-
logWarning(`Could not mark diagram as running: ${error.message}`);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
async function markDiagramFailed(supabase, diagramId, errorMessage) {
|
|
210
|
-
await supabase
|
|
211
|
-
.from('diagrams')
|
|
212
|
-
.update({
|
|
213
|
-
status: 'failed',
|
|
214
|
-
error: errorMessage,
|
|
215
|
-
completed_at: new Date().toISOString(),
|
|
216
|
-
})
|
|
217
|
-
.eq('id', diagramId);
|
|
218
|
-
}
|
|
219
|
-
async function markDiagramSuccess(supabase, diagramId, summary) {
|
|
220
|
-
await supabase
|
|
221
|
-
.from('diagrams')
|
|
222
|
-
.update({
|
|
223
|
-
status: 'success',
|
|
224
|
-
summary,
|
|
225
|
-
error: null,
|
|
226
|
-
completed_at: new Date().toISOString(),
|
|
227
|
-
})
|
|
228
|
-
.eq('id', diagramId);
|
|
229
|
-
}
|
|
230
|
-
async function persistDiagram(supabase, diagramId, extraction) {
|
|
231
|
-
await supabase.from('diagram_edges').delete().eq('diagram_id', diagramId);
|
|
232
|
-
await supabase.from('diagram_nodes').delete().eq('diagram_id', diagramId);
|
|
233
|
-
if (extraction.nodes.length === 0) {
|
|
234
|
-
return { nodesCreated: 0, edgesCreated: 0 };
|
|
235
|
-
}
|
|
236
|
-
const nodeRows = extraction.nodes.map((n, i) => buildNodeRow(diagramId, n, i));
|
|
237
|
-
const { data: insertedNodes, error: nodesError } = await supabase
|
|
238
|
-
.from('diagram_nodes')
|
|
239
|
-
.insert(nodeRows)
|
|
240
|
-
.select('id, slug');
|
|
241
|
-
if (nodesError) {
|
|
242
|
-
throw new Error(`Failed to insert nodes: ${nodesError.message}`);
|
|
243
|
-
}
|
|
244
|
-
const slugToId = new Map((insertedNodes ?? []).map((n) => [n.slug, n.id]));
|
|
245
|
-
const edgeRows = extraction.edges
|
|
246
|
-
.map((e) => buildEdgeRow(diagramId, e, slugToId))
|
|
247
|
-
.filter((e) => e !== null);
|
|
248
|
-
if (edgeRows.length > 0) {
|
|
249
|
-
const { error: edgesError } = await supabase
|
|
250
|
-
.from('diagram_edges')
|
|
251
|
-
.insert(edgeRows);
|
|
252
|
-
if (edgesError) {
|
|
253
|
-
throw new Error(`Failed to insert edges: ${edgesError.message}`);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
return {
|
|
257
|
-
nodesCreated: nodeRows.length,
|
|
258
|
-
edgesCreated: edgeRows.length,
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
|
-
function buildNodeRow(diagramId, node, index) {
|
|
262
|
-
return {
|
|
263
|
-
diagram_id: diagramId,
|
|
264
|
-
slug: node.slug,
|
|
265
|
-
name: node.name,
|
|
266
|
-
kind: node.kind,
|
|
267
|
-
schema: node,
|
|
268
|
-
position_x: (index % COLUMNS) * COLUMN_WIDTH,
|
|
269
|
-
position_y: Math.floor(index / COLUMNS) * ROW_HEIGHT,
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
function buildEdgeRow(diagramId, edge, slugToId) {
|
|
273
|
-
const fromId = slugToId.get(edge.fromSlug);
|
|
274
|
-
const toId = slugToId.get(edge.toSlug);
|
|
275
|
-
if (!fromId || !toId) {
|
|
276
|
-
return null;
|
|
277
|
-
}
|
|
278
|
-
return {
|
|
279
|
-
diagram_id: diagramId,
|
|
280
|
-
from_node_id: fromId,
|
|
281
|
-
to_node_id: toId,
|
|
282
|
-
label: edge.label ?? null,
|
|
283
|
-
source_anchor: edge.sourceFile ?? null,
|
|
284
|
-
kind: edge.kind,
|
|
285
|
-
};
|
|
286
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* In-process MCP server for the data-flow phase. Exposes a single tool —
|
|
3
|
-
* `submit_data_flow` — that the agent calls with the structured extraction,
|
|
4
|
-
* plus `record_progress` for streaming status messages.
|
|
5
|
-
*
|
|
6
|
-
* Mirrors the shape of phases/screen-flow/mcp-server.ts; see that file for
|
|
7
|
-
* the design rationale (zod schema + cross-field consistency + capture state).
|
|
8
|
-
*/
|
|
9
|
-
import { z } from 'zod';
|
|
10
|
-
import type { DataFlowExtraction } from './types.js';
|
|
11
|
-
export interface DataFlowCaptureState {
|
|
12
|
-
captured: DataFlowExtraction | null;
|
|
13
|
-
}
|
|
14
|
-
export declare function createDataFlowCaptureState(): DataFlowCaptureState;
|
|
15
|
-
export type DataFlowProgressSink = (event: {
|
|
16
|
-
phase: 'detection' | 'enumeration' | 'nodes' | 'edges' | 'submission';
|
|
17
|
-
message: string;
|
|
18
|
-
}) => void;
|
|
19
|
-
export declare function validateConsistency(extraction: DataFlowExtraction): {
|
|
20
|
-
error: string | null;
|
|
21
|
-
};
|
|
22
|
-
export declare function createSubmitDataFlowTool(state: DataFlowCaptureState): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
|
|
23
|
-
summary: z.ZodString;
|
|
24
|
-
nodes: z.ZodArray<z.ZodObject<{
|
|
25
|
-
slug: z.ZodString;
|
|
26
|
-
name: z.ZodString;
|
|
27
|
-
kind: z.ZodEnum<{
|
|
28
|
-
source: "source";
|
|
29
|
-
model: "model";
|
|
30
|
-
transform: "transform";
|
|
31
|
-
dataset: "dataset";
|
|
32
|
-
sink: "sink";
|
|
33
|
-
queue: "queue";
|
|
34
|
-
}>;
|
|
35
|
-
file: z.ZodOptional<z.ZodString>;
|
|
36
|
-
description: z.ZodOptional<z.ZodString>;
|
|
37
|
-
tech: z.ZodOptional<z.ZodString>;
|
|
38
|
-
schedule: z.ZodOptional<z.ZodString>;
|
|
39
|
-
inputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
40
|
-
name: z.ZodString;
|
|
41
|
-
type: z.ZodOptional<z.ZodString>;
|
|
42
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
-
description: z.ZodOptional<z.ZodString>;
|
|
44
|
-
}, z.core.$strip>>>;
|
|
45
|
-
outputs: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
46
|
-
name: z.ZodString;
|
|
47
|
-
type: z.ZodOptional<z.ZodString>;
|
|
48
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
-
description: z.ZodOptional<z.ZodString>;
|
|
50
|
-
}, z.core.$strip>>>;
|
|
51
|
-
sample: z.ZodOptional<z.ZodObject<{
|
|
52
|
-
columns: z.ZodArray<z.ZodString>;
|
|
53
|
-
rows: z.ZodArray<z.ZodArray<z.ZodString>>;
|
|
54
|
-
}, z.core.$strip>>;
|
|
55
|
-
stats: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
56
|
-
label: z.ZodString;
|
|
57
|
-
value: z.ZodString;
|
|
58
|
-
}, z.core.$strip>>>;
|
|
59
|
-
}, z.core.$strip>>;
|
|
60
|
-
edges: z.ZodArray<z.ZodObject<{
|
|
61
|
-
fromSlug: z.ZodString;
|
|
62
|
-
toSlug: z.ZodString;
|
|
63
|
-
kind: z.ZodEnum<{
|
|
64
|
-
data: "data";
|
|
65
|
-
event: "event";
|
|
66
|
-
control: "control";
|
|
67
|
-
derives: "derives";
|
|
68
|
-
}>;
|
|
69
|
-
label: z.ZodOptional<z.ZodString>;
|
|
70
|
-
sourceFile: z.ZodOptional<z.ZodString>;
|
|
71
|
-
}, z.core.$strip>>;
|
|
72
|
-
}>;
|
|
73
|
-
export declare function createRecordProgressTool(sink?: DataFlowProgressSink): import("@anthropic-ai/claude-agent-sdk").SdkMcpToolDefinition<{
|
|
74
|
-
phase: z.ZodEnum<{
|
|
75
|
-
nodes: "nodes";
|
|
76
|
-
edges: "edges";
|
|
77
|
-
detection: "detection";
|
|
78
|
-
enumeration: "enumeration";
|
|
79
|
-
submission: "submission";
|
|
80
|
-
}>;
|
|
81
|
-
message: z.ZodString;
|
|
82
|
-
}>;
|
|
83
|
-
export declare function createDataFlowMcpServer(state: DataFlowCaptureState, options?: {
|
|
84
|
-
onProgress?: DataFlowProgressSink;
|
|
85
|
-
}): import("@anthropic-ai/claude-agent-sdk").McpSdkServerConfigWithInstance;
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* In-process MCP server for the data-flow phase. Exposes a single tool —
|
|
3
|
-
* `submit_data_flow` — that the agent calls with the structured extraction,
|
|
4
|
-
* plus `record_progress` for streaming status messages.
|
|
5
|
-
*
|
|
6
|
-
* Mirrors the shape of phases/screen-flow/mcp-server.ts; see that file for
|
|
7
|
-
* the design rationale (zod schema + cross-field consistency + capture state).
|
|
8
|
-
*/
|
|
9
|
-
import { createSdkMcpServer, tool } from '@anthropic-ai/claude-agent-sdk';
|
|
10
|
-
import { z } from 'zod';
|
|
11
|
-
export function createDataFlowCaptureState() {
|
|
12
|
-
return { captured: null };
|
|
13
|
-
}
|
|
14
|
-
// ---------------------------------------------------------------------------
|
|
15
|
-
// Zod schemas (mirror types.ts)
|
|
16
|
-
// ---------------------------------------------------------------------------
|
|
17
|
-
const dataFieldSchema = z.object({
|
|
18
|
-
name: z.string().min(1),
|
|
19
|
-
type: z.string().optional(),
|
|
20
|
-
required: z.boolean().optional(),
|
|
21
|
-
description: z.string().optional(),
|
|
22
|
-
});
|
|
23
|
-
const dataSampleSchema = z.object({
|
|
24
|
-
columns: z.array(z.string()),
|
|
25
|
-
rows: z.array(z.array(z.string())),
|
|
26
|
-
});
|
|
27
|
-
const dataStatSchema = z.object({
|
|
28
|
-
label: z.string(),
|
|
29
|
-
value: z.string(),
|
|
30
|
-
});
|
|
31
|
-
const dataNodeSchema = z.object({
|
|
32
|
-
slug: z.string().min(1),
|
|
33
|
-
name: z.string().min(1),
|
|
34
|
-
kind: z.enum(['source', 'dataset', 'transform', 'sink', 'queue', 'model']),
|
|
35
|
-
file: z.string().optional(),
|
|
36
|
-
description: z.string().optional(),
|
|
37
|
-
tech: z.string().optional(),
|
|
38
|
-
schedule: z.string().optional(),
|
|
39
|
-
inputs: z.array(dataFieldSchema).optional(),
|
|
40
|
-
outputs: z.array(dataFieldSchema).optional(),
|
|
41
|
-
sample: dataSampleSchema.optional(),
|
|
42
|
-
stats: z.array(dataStatSchema).optional(),
|
|
43
|
-
});
|
|
44
|
-
const dataEdgeSchema = z.object({
|
|
45
|
-
fromSlug: z.string().min(1),
|
|
46
|
-
toSlug: z.string().min(1),
|
|
47
|
-
kind: z.enum(['data', 'event', 'control', 'derives']),
|
|
48
|
-
label: z.string().optional(),
|
|
49
|
-
sourceFile: z.string().optional(),
|
|
50
|
-
});
|
|
51
|
-
export function validateConsistency(extraction) {
|
|
52
|
-
const slugs = new Set();
|
|
53
|
-
for (const node of extraction.nodes) {
|
|
54
|
-
if (slugs.has(node.slug)) {
|
|
55
|
-
return {
|
|
56
|
-
error: `Duplicate node slug "${node.slug}". Each node.slug MUST be unique within the diagram. Re-call submit_data_flow with deduplicated nodes.`,
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
slugs.add(node.slug);
|
|
60
|
-
}
|
|
61
|
-
for (const edge of extraction.edges) {
|
|
62
|
-
if (!slugs.has(edge.fromSlug)) {
|
|
63
|
-
return {
|
|
64
|
-
error: `Edge fromSlug "${edge.fromSlug}" → "${edge.toSlug}" does not match any node slug. Either add the missing node or drop the edge, then re-call submit_data_flow.`,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
if (!slugs.has(edge.toSlug)) {
|
|
68
|
-
return {
|
|
69
|
-
error: `Edge fromSlug "${edge.fromSlug}" → toSlug "${edge.toSlug}" does not match any node slug. Either add the missing node or drop the edge, then re-call submit_data_flow.`,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
return { error: null };
|
|
74
|
-
}
|
|
75
|
-
export function createSubmitDataFlowTool(state) {
|
|
76
|
-
return tool('submit_data_flow', [
|
|
77
|
-
'Submit the final data flow extraction. Call this EXACTLY once,',
|
|
78
|
-
'when you have finished mapping every data node and connection. Pass',
|
|
79
|
-
'the full structured flow as the argument. After this call succeeds,',
|
|
80
|
-
'end your turn — do NOT also paste the same data as a fenced code',
|
|
81
|
-
'block. If validation fails, the error message tells you what to fix;',
|
|
82
|
-
'call the tool again with corrected data.',
|
|
83
|
-
].join(' '), {
|
|
84
|
-
summary: z
|
|
85
|
-
.string()
|
|
86
|
-
.min(1)
|
|
87
|
-
.describe('1-3 sentence narrative of what this system does with data and the primary pipelines.'),
|
|
88
|
-
nodes: z
|
|
89
|
-
.array(dataNodeSchema)
|
|
90
|
-
.describe('Every data node: source / dataset / transform / sink / queue / model. node.slug MUST be unique within the diagram.'),
|
|
91
|
-
edges: z
|
|
92
|
-
.array(dataEdgeSchema)
|
|
93
|
-
.describe('Connections. fromSlug = upstream, toSlug = downstream. Every fromSlug / toSlug MUST reference a slug present in nodes; drop edges whose endpoints you did not emit.'),
|
|
94
|
-
}, async (args) => {
|
|
95
|
-
const extraction = {
|
|
96
|
-
summary: args.summary,
|
|
97
|
-
nodes: args.nodes,
|
|
98
|
-
edges: args.edges,
|
|
99
|
-
};
|
|
100
|
-
const { error } = validateConsistency(extraction);
|
|
101
|
-
if (error) {
|
|
102
|
-
return {
|
|
103
|
-
content: [{ type: 'text', text: error }],
|
|
104
|
-
isError: true,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
state.captured = extraction;
|
|
108
|
-
return {
|
|
109
|
-
content: [
|
|
110
|
-
{
|
|
111
|
-
type: 'text',
|
|
112
|
-
text: `Captured ${extraction.nodes.length} data nodes / ${extraction.edges.length} connections. End your turn now.`,
|
|
113
|
-
},
|
|
114
|
-
],
|
|
115
|
-
};
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
export function createRecordProgressTool(sink) {
|
|
119
|
-
return tool('record_progress', 'Send a short status update to the user. Does not affect the extraction. Call it at each phase boundary so the user sees progress.', {
|
|
120
|
-
phase: z
|
|
121
|
-
.enum(['detection', 'enumeration', 'nodes', 'edges', 'submission'])
|
|
122
|
-
.describe('Which phase the message belongs to.'),
|
|
123
|
-
message: z.string().min(1).describe('Human-readable status update.'),
|
|
124
|
-
}, async (args) => {
|
|
125
|
-
sink?.({ phase: args.phase, message: args.message });
|
|
126
|
-
return {
|
|
127
|
-
content: [{ type: 'text', text: 'ok' }],
|
|
128
|
-
};
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
export function createDataFlowMcpServer(state, options) {
|
|
132
|
-
return createSdkMcpServer({
|
|
133
|
-
name: 'data-flow',
|
|
134
|
-
version: '1.0.0',
|
|
135
|
-
tools: [
|
|
136
|
-
createSubmitDataFlowTool(state),
|
|
137
|
-
createRecordProgressTool(options?.onProgress),
|
|
138
|
-
],
|
|
139
|
-
});
|
|
140
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompts for the data-flow phase. Loads the system prompt body from
|
|
3
|
-
* `skills/phase/data-flow/SKILL.md` (with optional project override) and
|
|
4
|
-
* appends the JSON output contract.
|
|
5
|
-
*/
|
|
6
|
-
export declare function createDataFlowSystemPrompt(options?: {
|
|
7
|
-
projectDir?: string;
|
|
8
|
-
hasCodebase?: boolean;
|
|
9
|
-
}): Promise<string>;
|
|
10
|
-
export declare function createDataFlowUserPrompt(args: {
|
|
11
|
-
productName: string;
|
|
12
|
-
productDescription?: string;
|
|
13
|
-
guidance?: string;
|
|
14
|
-
}): string;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Prompts for the data-flow phase. Loads the system prompt body from
|
|
3
|
-
* `skills/phase/data-flow/SKILL.md` (with optional project override) and
|
|
4
|
-
* appends the JSON output contract.
|
|
5
|
-
*/
|
|
6
|
-
import { processConditionals, resolveSkill, } from '../../services/skill-resolver.js';
|
|
7
|
-
import { OUTPUT_CONTRACTS } from '../output-contracts.js';
|
|
8
|
-
export async function createDataFlowSystemPrompt(options) {
|
|
9
|
-
const skill = await resolveSkill('phase/data-flow', {
|
|
10
|
-
projectDir: options?.projectDir,
|
|
11
|
-
});
|
|
12
|
-
if (!skill) {
|
|
13
|
-
throw new Error('Failed to load skill: phase/data-flow');
|
|
14
|
-
}
|
|
15
|
-
const prompt = processConditionals(skill.prompt, {
|
|
16
|
-
hasCodebase: options?.hasCodebase ?? true,
|
|
17
|
-
});
|
|
18
|
-
return `${prompt}
|
|
19
|
-
|
|
20
|
-
${OUTPUT_CONTRACTS['data-flow']}`;
|
|
21
|
-
}
|
|
22
|
-
export function createDataFlowUserPrompt(args) {
|
|
23
|
-
const guidanceBlock = args.guidance
|
|
24
|
-
? `\n\n**Human guidance for this run** (focus or exclude as instructed):\n${args.guidance}`
|
|
25
|
-
: '';
|
|
26
|
-
const descBlock = args.productDescription
|
|
27
|
-
? `\n**Product description**: ${args.productDescription}`
|
|
28
|
-
: '';
|
|
29
|
-
return `Map the data flow for **${args.productName}**.${descBlock}${guidanceBlock}
|
|
30
|
-
|
|
31
|
-
Start by detecting the stack (check package.json / pyproject.toml / go.mod / Cargo.toml / requirements.txt etc.), then look for: ETL/pipeline definitions, database migrations or schema files, queue/topic configs, model invocation sites, file ingest scripts. Read just enough source per node to fill in a useful DataNodeSchema — do not need to read everything.
|
|
32
|
-
|
|
33
|
-
Call \`mcp__data-flow__record_progress\` at each phase boundary so the user can see your progress (otherwise the CLI looks frozen).
|
|
34
|
-
|
|
35
|
-
When you are done, return the result by **calling the \`mcp__data-flow__submit_data_flow\` tool exactly once** with \`summary\`, \`nodes\`, and \`edges\` as arguments. Do not paste the JSON as a fenced text block — the tool call is the deliverable. If the tool returns an error, fix the issue it describes and call the tool again.`;
|
|
36
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Data Flow domain types.
|
|
3
|
-
*
|
|
4
|
-
* A DataNodeSchema is a structured description of one unit of data state or
|
|
5
|
-
* computation in a product — a source, dataset, transform, sink, queue, or
|
|
6
|
-
* model. The CLI extracts these from source code (pipeline definitions,
|
|
7
|
-
* schema files, queue handlers, etc.) and the desktop renders them with a
|
|
8
|
-
* unified <DataNodePreview> component.
|
|
9
|
-
*
|
|
10
|
-
* Companion to ScreenSchema: same flow-graph shape (nodes + edges with a
|
|
11
|
-
* shared `diagrams` table storing the JSONB schema), different domain. Data
|
|
12
|
-
* flow edges describe how data moves between nodes, not user navigation.
|
|
13
|
-
*/
|
|
14
|
-
export type DataNodeKind = 'source' | 'dataset' | 'transform' | 'sink' | 'queue' | 'model';
|
|
15
|
-
export interface DataField {
|
|
16
|
-
name: string;
|
|
17
|
-
type?: string;
|
|
18
|
-
required?: boolean;
|
|
19
|
-
description?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface DataSample {
|
|
22
|
-
columns: string[];
|
|
23
|
-
rows: string[][];
|
|
24
|
-
}
|
|
25
|
-
export interface DataStat {
|
|
26
|
-
label: string;
|
|
27
|
-
value: string;
|
|
28
|
-
}
|
|
29
|
-
export interface DataNodeSchema {
|
|
30
|
-
/** Stable slug within the flow (e.g. 'raw-events', 'enrich-user'). */
|
|
31
|
-
slug: string;
|
|
32
|
-
/** Human-readable name. */
|
|
33
|
-
name: string;
|
|
34
|
-
kind: DataNodeKind;
|
|
35
|
-
/** Source file path (jump anchor); for datasets, the schema/migration file. */
|
|
36
|
-
file?: string;
|
|
37
|
-
/** One-sentence description. */
|
|
38
|
-
description?: string;
|
|
39
|
-
/** Technology/format hint: 'postgres', 'parquet', 'kafka', 'openai-api', etc. */
|
|
40
|
-
tech?: string;
|
|
41
|
-
/** For transforms: 'cron 0 0 * * *', 'on-event', 'manual', 'continuous'. */
|
|
42
|
-
schedule?: string;
|
|
43
|
-
/** Schema of inputs the node consumes. */
|
|
44
|
-
inputs?: DataField[];
|
|
45
|
-
/** Schema of outputs the node produces. */
|
|
46
|
-
outputs?: DataField[];
|
|
47
|
-
/** Tiny realistic sample (≤ 4 rows) for datasets. */
|
|
48
|
-
sample?: DataSample;
|
|
49
|
-
/** Volume / latency hints — free-form key/value pairs. */
|
|
50
|
-
stats?: DataStat[];
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Edge kinds. Direction is always "data movement": fromSlug = upstream,
|
|
54
|
-
* toSlug = downstream. The kind describes the *nature* of the connection.
|
|
55
|
-
*/
|
|
56
|
-
export type DataEdgeKind = 'data' | 'event' | 'control' | 'derives';
|
|
57
|
-
export interface DataEdge {
|
|
58
|
-
fromSlug: string;
|
|
59
|
-
toSlug: string;
|
|
60
|
-
kind: DataEdgeKind;
|
|
61
|
-
/** Free-form descriptor: 'nightly batch', 'on user signup', 'embedding'. */
|
|
62
|
-
label?: string;
|
|
63
|
-
/** File containing the connection definition (when distinct from from-node's file). */
|
|
64
|
-
sourceFile?: string;
|
|
65
|
-
}
|
|
66
|
-
export interface DataFlowExtraction {
|
|
67
|
-
summary: string;
|
|
68
|
-
nodes: DataNodeSchema[];
|
|
69
|
-
edges: DataEdge[];
|
|
70
|
-
}
|
|
71
|
-
export declare function isDataFlowExtraction(value: unknown): value is DataFlowExtraction;
|