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,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Growth video generation pipeline.
|
|
3
|
-
* Orchestrates screenshot capture, TTS narration, video assembly, and upload.
|
|
4
|
-
*/
|
|
5
|
-
import { type VideoScene } from './screenshot-generator.js';
|
|
6
|
-
export interface VideoGenerationPlan {
|
|
7
|
-
/** Whether this content suggestion should have a video */
|
|
8
|
-
shouldGenerateVideo: boolean;
|
|
9
|
-
/** Reason for the video decision */
|
|
10
|
-
videoReason: string;
|
|
11
|
-
/** Scenes for the video (if shouldGenerateVideo is true) */
|
|
12
|
-
scenes: VideoScene[];
|
|
13
|
-
/** HTML templates for static rendering (when no live app available) */
|
|
14
|
-
htmlTemplates?: string[];
|
|
15
|
-
}
|
|
16
|
-
export interface GrowthVideoResult {
|
|
17
|
-
/** Whether video was successfully generated */
|
|
18
|
-
success: boolean;
|
|
19
|
-
/** Video URL (from Supabase Storage) */
|
|
20
|
-
videoUrl?: string;
|
|
21
|
-
/** Local backup path */
|
|
22
|
-
localPath?: string;
|
|
23
|
-
/** Video duration in seconds */
|
|
24
|
-
duration?: number;
|
|
25
|
-
/** Number of scenes */
|
|
26
|
-
sceneCount?: number;
|
|
27
|
-
/** File size in bytes */
|
|
28
|
-
fileSize?: number;
|
|
29
|
-
/** Error message if generation failed */
|
|
30
|
-
error?: string;
|
|
31
|
-
}
|
|
32
|
-
export interface VideoGenerationOptions {
|
|
33
|
-
productId: string;
|
|
34
|
-
analysisId: string;
|
|
35
|
-
/** TTS provider preference */
|
|
36
|
-
ttsProvider?: 'elevenlabs' | 'deepgram';
|
|
37
|
-
/** ElevenLabs API key (or from env) */
|
|
38
|
-
elevenlabsApiKey?: string;
|
|
39
|
-
/** Deepgram API key (or from env) */
|
|
40
|
-
deepgramApiKey?: string;
|
|
41
|
-
/** Voice ID for TTS */
|
|
42
|
-
voiceId?: string;
|
|
43
|
-
/** Base URL if a live app is running */
|
|
44
|
-
baseUrl?: string;
|
|
45
|
-
verbose?: boolean;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Check system dependencies for video generation.
|
|
49
|
-
* Auto-installs Playwright if missing. Returns a list of still-missing dependencies.
|
|
50
|
-
*/
|
|
51
|
-
export declare function checkVideoDependencies(): Promise<string[]>;
|
|
52
|
-
/**
|
|
53
|
-
* Generate a growth video from a video generation plan.
|
|
54
|
-
*
|
|
55
|
-
* Pipeline:
|
|
56
|
-
* 1. Capture screenshots (from live app or static HTML)
|
|
57
|
-
* 2. Generate TTS narration for each scene's transcript
|
|
58
|
-
* 3. Assemble video from screenshots + audio
|
|
59
|
-
* 4. Upload to Supabase Storage + save local backup
|
|
60
|
-
* 5. Return video URL and metadata
|
|
61
|
-
*/
|
|
62
|
-
export declare function generateGrowthVideo(plan: VideoGenerationPlan, options: VideoGenerationOptions): Promise<GrowthVideoResult>;
|
|
63
|
-
export type { CapturedScene, VideoScene } from './screenshot-generator.js';
|
|
64
|
-
export type { GeneratedAudio } from './tts-generator.js';
|
|
65
|
-
export type { AssembledVideo } from './video-assembler.js';
|
|
66
|
-
export type { VideoUploadResult } from './video-uploader.js';
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Growth video generation pipeline.
|
|
3
|
-
* Orchestrates screenshot capture, TTS narration, video assembly, and upload.
|
|
4
|
-
*/
|
|
5
|
-
import { mkdir, rm } from 'fs/promises';
|
|
6
|
-
import { join } from 'path';
|
|
7
|
-
import { logError, logInfo, logSuccess, logWarning, } from '../../utils/logger.js';
|
|
8
|
-
import { ensureFFmpeg, ensurePlaywright } from '../../utils/validation.js';
|
|
9
|
-
import { captureStaticScreenshots, getVideoTempDir, isPlaywrightAvailable, } from './screenshot-generator.js';
|
|
10
|
-
import { generateNarration } from './tts-generator.js';
|
|
11
|
-
import { assembleVideo, isFfmpegAvailable } from './video-assembler.js';
|
|
12
|
-
import { saveVideoMetadata, uploadGrowthVideo } from './video-uploader.js';
|
|
13
|
-
/**
|
|
14
|
-
* Check system dependencies for video generation.
|
|
15
|
-
* Auto-installs Playwright if missing. Returns a list of still-missing dependencies.
|
|
16
|
-
*/
|
|
17
|
-
export async function checkVideoDependencies() {
|
|
18
|
-
const missing = [];
|
|
19
|
-
try {
|
|
20
|
-
ensureFFmpeg(isFfmpegAvailable);
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
missing.push('ffmpeg (auto-install failed — install manually: brew install ffmpeg / apt install ffmpeg)');
|
|
24
|
-
}
|
|
25
|
-
try {
|
|
26
|
-
await ensurePlaywright(isPlaywrightAvailable);
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
missing.push('playwright (auto-install failed — run: npm install playwright && npx playwright install chromium)');
|
|
30
|
-
}
|
|
31
|
-
return missing;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Resolve TTS configuration from options and environment variables.
|
|
35
|
-
*/
|
|
36
|
-
function resolveTTSConfig(options) {
|
|
37
|
-
// Try ElevenLabs first
|
|
38
|
-
const elevenlabsKey = options.elevenlabsApiKey || process.env.ELEVENLABS_API_KEY;
|
|
39
|
-
if (elevenlabsKey) {
|
|
40
|
-
return {
|
|
41
|
-
provider: 'elevenlabs',
|
|
42
|
-
apiKey: elevenlabsKey,
|
|
43
|
-
voiceId: options.voiceId,
|
|
44
|
-
outputDir: '', // will be set later
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
// Try Deepgram as fallback
|
|
48
|
-
const deepgramKey = options.deepgramApiKey || process.env.DEEPGRAM_API_KEY;
|
|
49
|
-
if (deepgramKey) {
|
|
50
|
-
return {
|
|
51
|
-
provider: 'deepgram',
|
|
52
|
-
apiKey: deepgramKey,
|
|
53
|
-
voiceId: options.voiceId,
|
|
54
|
-
outputDir: '', // will be set later
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Generate a growth video from a video generation plan.
|
|
61
|
-
*
|
|
62
|
-
* Pipeline:
|
|
63
|
-
* 1. Capture screenshots (from live app or static HTML)
|
|
64
|
-
* 2. Generate TTS narration for each scene's transcript
|
|
65
|
-
* 3. Assemble video from screenshots + audio
|
|
66
|
-
* 4. Upload to Supabase Storage + save local backup
|
|
67
|
-
* 5. Return video URL and metadata
|
|
68
|
-
*/
|
|
69
|
-
export async function generateGrowthVideo(plan, options) {
|
|
70
|
-
const { productId, analysisId, verbose } = options;
|
|
71
|
-
if (!plan.shouldGenerateVideo || plan.scenes.length === 0) {
|
|
72
|
-
return {
|
|
73
|
-
success: false,
|
|
74
|
-
error: 'No video generation requested',
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
logInfo(`Starting video generation for product ${productId}`);
|
|
78
|
-
// Check dependencies
|
|
79
|
-
const missing = await checkVideoDependencies();
|
|
80
|
-
if (missing.length > 0) {
|
|
81
|
-
const errorMsg = `Missing dependencies:\n${missing.map((m) => ` - ${m}`).join('\n')}`;
|
|
82
|
-
logError(errorMsg);
|
|
83
|
-
return { success: false, error: errorMsg };
|
|
84
|
-
}
|
|
85
|
-
// Check TTS configuration
|
|
86
|
-
const ttsConfig = resolveTTSConfig(options);
|
|
87
|
-
if (!ttsConfig) {
|
|
88
|
-
const errorMsg = 'No TTS API key configured. Set ELEVENLABS_API_KEY or DEEPGRAM_API_KEY environment variable.';
|
|
89
|
-
logError(errorMsg);
|
|
90
|
-
return { success: false, error: errorMsg };
|
|
91
|
-
}
|
|
92
|
-
// Set up working directories
|
|
93
|
-
const workDir = getVideoTempDir(productId);
|
|
94
|
-
const screenshotDir = join(workDir, 'screenshots');
|
|
95
|
-
const audioDir = join(workDir, 'audio');
|
|
96
|
-
const outputDir = join(workDir, 'output');
|
|
97
|
-
await mkdir(outputDir, { recursive: true });
|
|
98
|
-
try {
|
|
99
|
-
// Step 1: Capture screenshots
|
|
100
|
-
logInfo('Step 1/4: Capturing screenshots...');
|
|
101
|
-
let capturedScenes;
|
|
102
|
-
if (plan.htmlTemplates && plan.htmlTemplates.length > 0) {
|
|
103
|
-
// Validate and sanitize AI-generated HTML templates
|
|
104
|
-
const validatedTemplates = validateHtmlTemplates(plan.htmlTemplates, plan.scenes);
|
|
105
|
-
capturedScenes = await captureStaticScreenshots(plan.scenes, screenshotDir, validatedTemplates, verbose);
|
|
106
|
-
}
|
|
107
|
-
else if (options.baseUrl) {
|
|
108
|
-
// Use live application
|
|
109
|
-
const { captureScreenshots } = await import('./screenshot-generator.js');
|
|
110
|
-
capturedScenes = await captureScreenshots(plan.scenes, {
|
|
111
|
-
baseUrl: options.baseUrl,
|
|
112
|
-
outputDir: screenshotDir,
|
|
113
|
-
}, verbose);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
// Fallback: use static HTML templates (must be provided by AI)
|
|
117
|
-
return {
|
|
118
|
-
success: false,
|
|
119
|
-
error: 'No base URL or HTML templates provided for screenshots',
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
// Step 2: Generate TTS narration
|
|
123
|
-
logInfo('Step 2/4: Generating narration...');
|
|
124
|
-
ttsConfig.outputDir = audioDir;
|
|
125
|
-
const transcripts = capturedScenes.map((scene) => ({
|
|
126
|
-
order: scene.order,
|
|
127
|
-
text: scene.transcript,
|
|
128
|
-
}));
|
|
129
|
-
const audioFiles = await generateNarration(transcripts, ttsConfig, verbose);
|
|
130
|
-
// Step 3: Assemble video
|
|
131
|
-
logInfo('Step 3/4: Assembling video...');
|
|
132
|
-
const outputPath = join(outputDir, `growth-${productId}.mp4`);
|
|
133
|
-
const assembledVideo = await assembleVideo(capturedScenes, audioFiles, { outputPath }, verbose);
|
|
134
|
-
// Step 4: Upload and save
|
|
135
|
-
logInfo('Step 4/4: Uploading video...');
|
|
136
|
-
const uploadResult = await uploadGrowthVideo(assembledVideo.videoPath, productId, analysisId, verbose);
|
|
137
|
-
// Save metadata only if upload succeeded (has a public URL)
|
|
138
|
-
if (uploadResult.publicUrl) {
|
|
139
|
-
await saveVideoMetadata(analysisId, {
|
|
140
|
-
video_url: uploadResult.publicUrl,
|
|
141
|
-
video_storage_path: uploadResult.storagePath,
|
|
142
|
-
video_local_path: uploadResult.localPath,
|
|
143
|
-
video_duration: assembledVideo.duration,
|
|
144
|
-
video_file_size: assembledVideo.fileSize,
|
|
145
|
-
video_scene_count: assembledVideo.sceneCount,
|
|
146
|
-
}, verbose);
|
|
147
|
-
}
|
|
148
|
-
logSuccess('Video generation completed successfully!');
|
|
149
|
-
return {
|
|
150
|
-
success: true,
|
|
151
|
-
videoUrl: uploadResult.publicUrl,
|
|
152
|
-
localPath: uploadResult.localPath,
|
|
153
|
-
duration: assembledVideo.duration,
|
|
154
|
-
sceneCount: assembledVideo.sceneCount,
|
|
155
|
-
fileSize: assembledVideo.fileSize,
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
160
|
-
logError(`Video generation failed: ${errorMsg}`);
|
|
161
|
-
return { success: false, error: errorMsg };
|
|
162
|
-
}
|
|
163
|
-
finally {
|
|
164
|
-
// Clean up temp working directory (screenshots, audio, intermediate files)
|
|
165
|
-
try {
|
|
166
|
-
await rm(workDir, { recursive: true, force: true });
|
|
167
|
-
if (verbose) {
|
|
168
|
-
logInfo(`Cleaned up temp directory: ${workDir}`);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
catch {
|
|
172
|
-
logWarning(`Could not clean up temp directory: ${workDir}`);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Validate AI-generated HTML templates and return sanitized versions.
|
|
178
|
-
* Replaces invalid or empty templates with a styled fallback error page.
|
|
179
|
-
*/
|
|
180
|
-
function validateHtmlTemplates(templates, scenes) {
|
|
181
|
-
return templates.map((html, i) => {
|
|
182
|
-
const scene = scenes[i];
|
|
183
|
-
const sceneLabel = scene
|
|
184
|
-
? `Scene ${scene.order}: ${scene.description}`
|
|
185
|
-
: `Scene ${i + 1}`;
|
|
186
|
-
// Check minimum viable HTML
|
|
187
|
-
if (!html || html.trim().length < 50) {
|
|
188
|
-
logWarning(`Invalid HTML template for ${sceneLabel} (too short), using fallback`);
|
|
189
|
-
return generateFallbackHtml(sceneLabel);
|
|
190
|
-
}
|
|
191
|
-
// Check for basic HTML structure
|
|
192
|
-
const lower = html.toLowerCase();
|
|
193
|
-
if (!lower.includes('<html') &&
|
|
194
|
-
!lower.includes('<body') &&
|
|
195
|
-
!lower.includes('<div')) {
|
|
196
|
-
logWarning(`Invalid HTML template for ${sceneLabel} (no HTML structure), using fallback`);
|
|
197
|
-
return generateFallbackHtml(sceneLabel);
|
|
198
|
-
}
|
|
199
|
-
// Wrap partial HTML (missing <html>/<body>) in a full document
|
|
200
|
-
if (!lower.includes('<html')) {
|
|
201
|
-
const wrapped = `<!DOCTYPE html><html><head><meta charset="utf-8"><style>body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;}</style></head><body>${html}</body></html>`;
|
|
202
|
-
return wrapped;
|
|
203
|
-
}
|
|
204
|
-
return html;
|
|
205
|
-
});
|
|
206
|
-
}
|
|
207
|
-
/**
|
|
208
|
-
* Escape a string for safe embedding in HTML content.
|
|
209
|
-
*/
|
|
210
|
-
function escapeHtml(str) {
|
|
211
|
-
return str
|
|
212
|
-
.replace(/&/g, '&')
|
|
213
|
-
.replace(/</g, '<')
|
|
214
|
-
.replace(/>/g, '>')
|
|
215
|
-
.replace(/"/g, '"')
|
|
216
|
-
.replace(/'/g, ''');
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* Generate a styled fallback HTML page when a template is invalid.
|
|
220
|
-
*/
|
|
221
|
-
function generateFallbackHtml(sceneLabel) {
|
|
222
|
-
const safeLabel = escapeHtml(sceneLabel);
|
|
223
|
-
return `<!DOCTYPE html>
|
|
224
|
-
<html><head><meta charset="utf-8"><style>
|
|
225
|
-
body { margin: 0; display: flex; align-items: center; justify-content: center;
|
|
226
|
-
min-height: 100vh; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
227
|
-
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; color: #fff; }
|
|
228
|
-
.card { background: rgba(255,255,255,0.15); backdrop-filter: blur(10px);
|
|
229
|
-
border-radius: 16px; padding: 48px; text-align: center; max-width: 500px; }
|
|
230
|
-
h2 { font-size: 24px; margin: 0 0 12px; }
|
|
231
|
-
p { font-size: 16px; opacity: 0.85; margin: 0; }
|
|
232
|
-
</style></head><body>
|
|
233
|
-
<div class="card">
|
|
234
|
-
<h2>${safeLabel}</h2>
|
|
235
|
-
<p>Content preview</p>
|
|
236
|
-
</div>
|
|
237
|
-
</body></html>`;
|
|
238
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared retry utility for network requests in the video pipeline.
|
|
3
|
-
* Uses exponential backoff with jitter for resilient API calls.
|
|
4
|
-
*/
|
|
5
|
-
export interface RetryOptions {
|
|
6
|
-
/** Max number of retry attempts (default: 3) */
|
|
7
|
-
maxRetries?: number;
|
|
8
|
-
/** Base delay in ms for exponential backoff (default: 1000) */
|
|
9
|
-
baseDelayMs?: number;
|
|
10
|
-
/** HTTP status codes that should trigger a retry (default: 429, 500, 502, 503, 504) */
|
|
11
|
-
retryableStatuses?: number[];
|
|
12
|
-
/** Label for log messages */
|
|
13
|
-
label?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Fetch with automatic retry on transient failures.
|
|
17
|
-
* Retries on network errors and retryable HTTP status codes
|
|
18
|
-
* using exponential backoff with jitter.
|
|
19
|
-
*/
|
|
20
|
-
export declare function fetchWithRetry(url: string, init: RequestInit, options?: RetryOptions): Promise<Response>;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared retry utility for network requests in the video pipeline.
|
|
3
|
-
* Uses exponential backoff with jitter for resilient API calls.
|
|
4
|
-
*/
|
|
5
|
-
import { logWarning } from '../../utils/logger.js';
|
|
6
|
-
const DEFAULT_RETRYABLE_STATUSES = [429, 500, 502, 503, 504];
|
|
7
|
-
/**
|
|
8
|
-
* Fetch with automatic retry on transient failures.
|
|
9
|
-
* Retries on network errors and retryable HTTP status codes
|
|
10
|
-
* using exponential backoff with jitter.
|
|
11
|
-
*/
|
|
12
|
-
export async function fetchWithRetry(url, init, options = {}) {
|
|
13
|
-
const { maxRetries = 3, baseDelayMs = 1000, retryableStatuses = DEFAULT_RETRYABLE_STATUSES, label = 'fetch', } = options;
|
|
14
|
-
let lastError;
|
|
15
|
-
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
16
|
-
try {
|
|
17
|
-
const response = await fetch(url, init);
|
|
18
|
-
if (response.ok) {
|
|
19
|
-
return response;
|
|
20
|
-
}
|
|
21
|
-
// Check if the status is retryable
|
|
22
|
-
if (retryableStatuses.includes(response.status) && attempt < maxRetries) {
|
|
23
|
-
const delay = calculateBackoff(attempt, baseDelayMs);
|
|
24
|
-
logWarning(`${label}: HTTP ${response.status}, retrying in ${(delay / 1000).toFixed(1)}s (attempt ${attempt + 1}/${maxRetries})`);
|
|
25
|
-
await sleep(delay);
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
// Non-retryable error status — throw immediately
|
|
29
|
-
const errorText = await response.text();
|
|
30
|
-
throw new Error(`${label} failed (${response.status}): ${errorText}`);
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
// Network errors (ECONNRESET, ETIMEDOUT, etc.) are retryable
|
|
34
|
-
if (error instanceof TypeError ||
|
|
35
|
-
(error instanceof Error && isNetworkError(error))) {
|
|
36
|
-
lastError = error instanceof Error ? error : new Error(String(error));
|
|
37
|
-
if (attempt < maxRetries) {
|
|
38
|
-
const delay = calculateBackoff(attempt, baseDelayMs);
|
|
39
|
-
logWarning(`${label}: Network error, retrying in ${(delay / 1000).toFixed(1)}s (attempt ${attempt + 1}/${maxRetries}): ${lastError.message}`);
|
|
40
|
-
await sleep(delay);
|
|
41
|
-
continue;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
// Non-retryable error or max retries exhausted
|
|
45
|
-
throw error;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
throw lastError || new Error(`${label}: All ${maxRetries} retries exhausted`);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Calculate exponential backoff delay with jitter.
|
|
52
|
-
*/
|
|
53
|
-
function calculateBackoff(attempt, baseDelayMs) {
|
|
54
|
-
const exponentialDelay = baseDelayMs * Math.pow(2, attempt);
|
|
55
|
-
// Add random jitter (0-50% of delay) to avoid thundering herd
|
|
56
|
-
const jitter = exponentialDelay * Math.random() * 0.5;
|
|
57
|
-
return exponentialDelay + jitter;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Check if an error is a transient network error worth retrying.
|
|
61
|
-
*/
|
|
62
|
-
function isNetworkError(error) {
|
|
63
|
-
const message = error.message.toLowerCase();
|
|
64
|
-
return (message.includes('econnreset') ||
|
|
65
|
-
message.includes('etimedout') ||
|
|
66
|
-
message.includes('econnrefused') ||
|
|
67
|
-
message.includes('epipe') ||
|
|
68
|
-
message.includes('network') ||
|
|
69
|
-
message.includes('socket') ||
|
|
70
|
-
message.includes('abort'));
|
|
71
|
-
}
|
|
72
|
-
function sleep(ms) {
|
|
73
|
-
return new Promise((resolve) => {
|
|
74
|
-
setTimeout(resolve, ms);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Screenshot generator for growth video content.
|
|
3
|
-
* Uses Playwright to capture screenshots of the product's web application
|
|
4
|
-
* with mock data injected for realistic demo scenarios.
|
|
5
|
-
*/
|
|
6
|
-
import { type DeviceFrameType } from './device-frames.js';
|
|
7
|
-
export type { DeviceFrameType } from './device-frames.js';
|
|
8
|
-
export interface VideoScene {
|
|
9
|
-
/** Scene number for ordering */
|
|
10
|
-
order: number;
|
|
11
|
-
/** Page URL path to navigate to (e.g., "/dashboard", "/settings") */
|
|
12
|
-
pagePath: string;
|
|
13
|
-
/** Description of what the screenshot should show */
|
|
14
|
-
description: string;
|
|
15
|
-
/** Transcript/narration text for this scene */
|
|
16
|
-
transcript: string;
|
|
17
|
-
/** Duration in seconds this scene should be shown */
|
|
18
|
-
duration: number;
|
|
19
|
-
/** Optional: JavaScript to execute before screenshot (e.g., to inject mock data) */
|
|
20
|
-
setupScript?: string;
|
|
21
|
-
/** Optional: CSS selector to wait for before capturing */
|
|
22
|
-
waitForSelector?: string;
|
|
23
|
-
/** Optional: viewport width override */
|
|
24
|
-
viewportWidth?: number;
|
|
25
|
-
/** Optional: viewport height override */
|
|
26
|
-
viewportHeight?: number;
|
|
27
|
-
/** Device frame to wrap screenshot in (macbook, iphone, browser, none). Default: auto-detect */
|
|
28
|
-
deviceFrame?: DeviceFrameType;
|
|
29
|
-
/** Background color/gradient behind the device frame */
|
|
30
|
-
frameBackground?: string;
|
|
31
|
-
/** URL to show in browser address bar (browser frame only) */
|
|
32
|
-
frameBrowserUrl?: string;
|
|
33
|
-
}
|
|
34
|
-
export interface CapturedScene extends VideoScene {
|
|
35
|
-
/** Local file path to the captured screenshot */
|
|
36
|
-
screenshotPath: string;
|
|
37
|
-
}
|
|
38
|
-
export interface ScreenshotOptions {
|
|
39
|
-
/** Base URL of the running application */
|
|
40
|
-
baseUrl: string;
|
|
41
|
-
/** Directory to save screenshots */
|
|
42
|
-
outputDir: string;
|
|
43
|
-
/** Default viewport width */
|
|
44
|
-
viewportWidth?: number;
|
|
45
|
-
/** Default viewport height */
|
|
46
|
-
viewportHeight?: number;
|
|
47
|
-
/** Whether to capture full page or just viewport */
|
|
48
|
-
fullPage?: boolean;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Check if Playwright is available
|
|
52
|
-
*/
|
|
53
|
-
export declare function isPlaywrightAvailable(): Promise<boolean>;
|
|
54
|
-
/**
|
|
55
|
-
* Get a unique temporary directory for a single video generation run.
|
|
56
|
-
* Each call returns a distinct path to avoid race conditions when
|
|
57
|
-
* multiple videos are generated concurrently for the same product.
|
|
58
|
-
*/
|
|
59
|
-
export declare function getVideoTempDir(productId: string): string;
|
|
60
|
-
/**
|
|
61
|
-
* Capture screenshots for all scenes using Playwright.
|
|
62
|
-
* Requires Playwright to be installed: npm install playwright
|
|
63
|
-
*/
|
|
64
|
-
export declare function captureScreenshots(scenes: VideoScene[], options: ScreenshotOptions, verbose?: boolean): Promise<CapturedScene[]>;
|
|
65
|
-
/**
|
|
66
|
-
* Generate screenshots using static HTML rendering (fallback when no running app).
|
|
67
|
-
* Creates screenshots from pre-built HTML templates with mock data.
|
|
68
|
-
*/
|
|
69
|
-
export declare function captureStaticScreenshots(scenes: VideoScene[], outputDir: string, htmlTemplates: string[], verbose?: boolean): Promise<CapturedScene[]>;
|