edsger 0.77.0 → 0.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +95 -210
- package/assets/LICENSE +21 -0
- package/assets/README.md +104 -0
- package/assets/benchmark/base.yaml +286 -0
- package/assets/benchmark/csharp.yaml +68 -0
- package/assets/benchmark/dart.yaml +70 -0
- package/assets/benchmark/go.yaml +71 -0
- package/assets/benchmark/java.yaml +68 -0
- package/assets/benchmark/python.yaml +72 -0
- package/assets/benchmark/typescript.yaml +71 -0
- package/assets/languages.yaml +35 -0
- package/assets/manifest.yaml +39 -0
- package/assets/review/base.yaml +111 -0
- package/assets/review/csharp.yaml +38 -0
- package/assets/review/dart.yaml +40 -0
- package/assets/review/go.yaml +40 -0
- package/assets/review/java.yaml +40 -0
- package/assets/review/python.yaml +41 -0
- package/assets/review/typescript.yaml +40 -0
- package/assets/schema/benchmark.schema.json +87 -0
- package/assets/schema/review.schema.json +73 -0
- package/assets/skills/benchmark/SKILL.md +66 -0
- package/assets/skills/pr-resolve/SKILL.md +58 -0
- package/assets/skills/pr-review/SKILL.md +66 -0
- package/dist/index.js +1339 -1247
- package/dist/index.js.map +1 -0
- package/package.json +58 -53
- package/dist/api/adr.d.ts +0 -48
- package/dist/api/adr.js +0 -139
- package/dist/api/app-store-iap.d.ts +0 -60
- package/dist/api/app-store-iap.js +0 -145
- package/dist/api/app-store.d.ts +0 -93
- package/dist/api/app-store.js +0 -206
- package/dist/api/chat.d.ts +0 -72
- package/dist/api/chat.js +0 -272
- package/dist/api/cross-product.d.ts +0 -33
- package/dist/api/cross-product.js +0 -127
- package/dist/api/financing.d.ts +0 -47
- package/dist/api/financing.js +0 -37
- package/dist/api/github.d.ts +0 -86
- package/dist/api/github.js +0 -203
- package/dist/api/growth.d.ts +0 -81
- package/dist/api/growth.js +0 -75
- package/dist/api/intelligence-normalize.d.ts +0 -25
- package/dist/api/intelligence-normalize.js +0 -103
- package/dist/api/intelligence.d.ts +0 -187
- package/dist/api/intelligence.js +0 -402
- package/dist/api/issues/approval-checker.d.ts +0 -22
- package/dist/api/issues/approval-checker.js +0 -141
- package/dist/api/issues/batch-operations.d.ts +0 -17
- package/dist/api/issues/batch-operations.js +0 -100
- package/dist/api/issues/get-issue.d.ts +0 -5
- package/dist/api/issues/get-issue.js +0 -47
- package/dist/api/issues/index.d.ts +0 -8
- package/dist/api/issues/index.js +0 -10
- package/dist/api/issues/issue-utils.d.ts +0 -25
- package/dist/api/issues/issue-utils.js +0 -133
- package/dist/api/issues/status-updater.d.ts +0 -68
- package/dist/api/issues/status-updater.js +0 -190
- package/dist/api/issues/test-cases.d.ts +0 -29
- package/dist/api/issues/test-cases.js +0 -185
- package/dist/api/issues/update-issue.d.ts +0 -25
- package/dist/api/issues/update-issue.js +0 -127
- package/dist/api/issues/user-stories.d.ts +0 -21
- package/dist/api/issues/user-stories.js +0 -163
- package/dist/api/mcp-client.d.ts +0 -22
- package/dist/api/mcp-client.js +0 -75
- package/dist/api/products/test-cases.d.ts +0 -18
- package/dist/api/products/test-cases.js +0 -51
- package/dist/api/products.d.ts +0 -15
- package/dist/api/products.js +0 -45
- package/dist/api/release-test-cases.d.ts +0 -7
- package/dist/api/release-test-cases.js +0 -59
- package/dist/api/releases.d.ts +0 -41
- package/dist/api/releases.js +0 -117
- package/dist/api/run-sheets.d.ts +0 -22
- package/dist/api/run-sheets.js +0 -13
- package/dist/api/storage.d.ts +0 -13
- package/dist/api/storage.js +0 -29
- package/dist/api/tasks.d.ts +0 -26
- package/dist/api/tasks.js +0 -81
- package/dist/api/test-reports.d.ts +0 -9
- package/dist/api/test-reports.js +0 -43
- package/dist/api/user-psychology.d.ts +0 -101
- package/dist/api/user-psychology.js +0 -143
- package/dist/api/web-deploy.d.ts +0 -67
- package/dist/api/web-deploy.js +0 -199
- package/dist/auth/auth-store.d.ts +0 -98
- package/dist/auth/auth-store.js +0 -194
- package/dist/auth/env-store.d.ts +0 -41
- package/dist/auth/env-store.js +0 -127
- package/dist/auth/login.d.ts +0 -18
- package/dist/auth/login.js +0 -179
- package/dist/commands/adr/index.d.ts +0 -13
- package/dist/commands/adr/index.js +0 -31
- package/dist/commands/agent-workflow/chat-worker.d.ts +0 -16
- package/dist/commands/agent-workflow/chat-worker.js +0 -465
- package/dist/commands/agent-workflow/index.d.ts +0 -13
- package/dist/commands/agent-workflow/index.js +0 -107
- package/dist/commands/agent-workflow/issue-worker.d.ts +0 -14
- package/dist/commands/agent-workflow/issue-worker.js +0 -65
- package/dist/commands/agent-workflow/processor.d.ts +0 -95
- package/dist/commands/agent-workflow/processor.js +0 -519
- package/dist/commands/analyze-logs/index.d.ts +0 -7
- package/dist/commands/analyze-logs/index.js +0 -34
- package/dist/commands/api-docs/index.d.ts +0 -18
- package/dist/commands/api-docs/index.js +0 -41
- package/dist/commands/app-store/index.d.ts +0 -12
- package/dist/commands/app-store/index.js +0 -69
- package/dist/commands/architecture-diagram/index.d.ts +0 -8
- package/dist/commands/architecture-diagram/index.js +0 -10
- package/dist/commands/build/detect-project.d.ts +0 -52
- package/dist/commands/build/detect-project.js +0 -277
- package/dist/commands/build/index.d.ts +0 -66
- package/dist/commands/build/index.js +0 -544
- package/dist/commands/chat-serve/chat-server.d.ts +0 -114
- package/dist/commands/chat-serve/chat-server.js +0 -339
- package/dist/commands/chat-serve/index.d.ts +0 -20
- package/dist/commands/chat-serve/index.js +0 -58
- package/dist/commands/checklists/index.d.ts +0 -16
- package/dist/commands/checklists/index.js +0 -187
- package/dist/commands/checklists/tools.d.ts +0 -17
- package/dist/commands/checklists/tools.js +0 -19
- package/dist/commands/class-diagram/index.d.ts +0 -7
- package/dist/commands/class-diagram/index.js +0 -9
- package/dist/commands/code-review/index.d.ts +0 -2
- package/dist/commands/code-review/index.js +0 -37
- package/dist/commands/code-review/reviewer.d.ts +0 -3
- package/dist/commands/code-review/reviewer.js +0 -205
- package/dist/commands/config/index.d.ts +0 -16
- package/dist/commands/config/index.js +0 -60
- package/dist/commands/data-flow/index.d.ts +0 -19
- package/dist/commands/data-flow/index.js +0 -55
- package/dist/commands/diagram-shared/index.d.ts +0 -21
- package/dist/commands/diagram-shared/index.js +0 -37
- package/dist/commands/discover/index.d.ts +0 -14
- package/dist/commands/discover/index.js +0 -29
- package/dist/commands/er-diagram/index.d.ts +0 -19
- package/dist/commands/er-diagram/index.js +0 -55
- package/dist/commands/features/index.d.ts +0 -15
- package/dist/commands/features/index.js +0 -34
- package/dist/commands/financing-deck/index.d.ts +0 -8
- package/dist/commands/financing-deck/index.js +0 -66
- package/dist/commands/find-architecture/index.d.ts +0 -15
- package/dist/commands/find-architecture/index.js +0 -50
- package/dist/commands/find-bugs/index.d.ts +0 -13
- package/dist/commands/find-bugs/index.js +0 -48
- package/dist/commands/find-features/index.d.ts +0 -14
- package/dist/commands/find-features/index.js +0 -42
- package/dist/commands/find-smells/index.d.ts +0 -23
- package/dist/commands/find-smells/index.js +0 -74
- package/dist/commands/flowchart/index.d.ts +0 -8
- package/dist/commands/flowchart/index.js +0 -10
- package/dist/commands/growth-analysis/index.d.ts +0 -7
- package/dist/commands/growth-analysis/index.js +0 -89
- package/dist/commands/init/index.d.ts +0 -5
- package/dist/commands/init/index.js +0 -152
- package/dist/commands/init/prompts.d.ts +0 -9
- package/dist/commands/init/prompts.js +0 -128
- package/dist/commands/init/templates.d.ts +0 -9
- package/dist/commands/init/templates.js +0 -264
- package/dist/commands/intelligence/index.d.ts +0 -15
- package/dist/commands/intelligence/index.js +0 -138
- package/dist/commands/issue-analysis/index.d.ts +0 -5
- package/dist/commands/issue-analysis/index.js +0 -9
- package/dist/commands/pr-resolve/index.d.ts +0 -13
- package/dist/commands/pr-resolve/index.js +0 -50
- package/dist/commands/pr-review/index.d.ts +0 -12
- package/dist/commands/pr-review/index.js +0 -47
- package/dist/commands/product-techniques/index.d.ts +0 -15
- package/dist/commands/product-techniques/index.js +0 -37
- package/dist/commands/product-test-cases/index.d.ts +0 -12
- package/dist/commands/product-test-cases/index.js +0 -40
- package/dist/commands/quality-benchmark/index.d.ts +0 -45
- package/dist/commands/quality-benchmark/index.js +0 -247
- package/dist/commands/recipes/index.d.ts +0 -17
- package/dist/commands/recipes/index.js +0 -40
- package/dist/commands/refactor/refactor.d.ts +0 -2
- package/dist/commands/refactor/refactor.js +0 -134
- package/dist/commands/release-sync/index.d.ts +0 -5
- package/dist/commands/release-sync/index.js +0 -38
- package/dist/commands/run-sheet/index.d.ts +0 -6
- package/dist/commands/run-sheet/index.js +0 -48
- package/dist/commands/screen-flow/index.d.ts +0 -18
- package/dist/commands/screen-flow/index.js +0 -54
- package/dist/commands/sequence-diagram/index.d.ts +0 -19
- package/dist/commands/sequence-diagram/index.js +0 -55
- package/dist/commands/session-serve/index.d.ts +0 -32
- package/dist/commands/session-serve/index.js +0 -100
- package/dist/commands/session-turn/index.d.ts +0 -73
- package/dist/commands/session-turn/index.js +0 -254
- package/dist/commands/smoke-test/index.d.ts +0 -5
- package/dist/commands/smoke-test/index.js +0 -40
- package/dist/commands/state-diagram/index.d.ts +0 -7
- package/dist/commands/state-diagram/index.js +0 -9
- package/dist/commands/sync-aws/index.d.ts +0 -16
- package/dist/commands/sync-aws/index.js +0 -214
- package/dist/commands/sync-datadog/index.d.ts +0 -16
- package/dist/commands/sync-datadog/index.js +0 -236
- package/dist/commands/sync-github-issues/index.d.ts +0 -11
- package/dist/commands/sync-github-issues/index.js +0 -42
- package/dist/commands/sync-github-pull-requests/index.d.ts +0 -11
- package/dist/commands/sync-github-pull-requests/index.js +0 -42
- package/dist/commands/sync-org-repos/index.d.ts +0 -12
- package/dist/commands/sync-org-repos/index.js +0 -60
- package/dist/commands/sync-sentry-issues/index.d.ts +0 -14
- package/dist/commands/sync-sentry-issues/index.js +0 -73
- package/dist/commands/sync-terraform/index.d.ts +0 -16
- package/dist/commands/sync-terraform/index.js +0 -248
- package/dist/commands/task-worker/index.d.ts +0 -8
- package/dist/commands/task-worker/index.js +0 -34
- package/dist/commands/task-worker/processor.d.ts +0 -23
- package/dist/commands/task-worker/processor.js +0 -84
- package/dist/commands/technical-design/index.d.ts +0 -5
- package/dist/commands/technical-design/index.js +0 -9
- package/dist/commands/test-cases-analysis/index.d.ts +0 -5
- package/dist/commands/test-cases-analysis/index.js +0 -9
- package/dist/commands/user-psychology/index.d.ts +0 -7
- package/dist/commands/user-psychology/index.js +0 -51
- package/dist/commands/user-stories-analysis/index.d.ts +0 -5
- package/dist/commands/user-stories-analysis/index.js +0 -9
- package/dist/commands/workflow/config/phase-configs.d.ts +0 -5
- package/dist/commands/workflow/config/phase-configs.js +0 -132
- package/dist/commands/workflow/core/index.d.ts +0 -8
- package/dist/commands/workflow/core/index.js +0 -12
- package/dist/commands/workflow/core/issue-filter.d.ts +0 -16
- package/dist/commands/workflow/core/issue-filter.js +0 -47
- package/dist/commands/workflow/core/pipeline-evaluator.d.ts +0 -24
- package/dist/commands/workflow/core/pipeline-evaluator.js +0 -32
- package/dist/commands/workflow/core/state-manager.d.ts +0 -24
- package/dist/commands/workflow/core/state-manager.js +0 -42
- package/dist/commands/workflow/core/workflow-logger.d.ts +0 -23
- package/dist/commands/workflow/core/workflow-logger.js +0 -77
- package/dist/commands/workflow/executors/phase-executor.d.ts +0 -8
- package/dist/commands/workflow/executors/phase-executor.js +0 -338
- package/dist/commands/workflow/index.d.ts +0 -2
- package/dist/commands/workflow/index.js +0 -34
- package/dist/commands/workflow/issue-coordinator.d.ts +0 -18
- package/dist/commands/workflow/issue-coordinator.js +0 -161
- package/dist/commands/workflow/phase-orchestrator.d.ts +0 -26
- package/dist/commands/workflow/phase-orchestrator.js +0 -699
- package/dist/commands/workflow/processor.d.ts +0 -47
- package/dist/commands/workflow/processor.js +0 -149
- package/dist/config/issue-status.d.ts +0 -29
- package/dist/config/issue-status.js +0 -44
- package/dist/config.d.ts +0 -3
- package/dist/config.js +0 -79
- package/dist/constants.d.ts +0 -10
- package/dist/constants.js +0 -36
- package/dist/errors/index.d.ts +0 -68
- package/dist/errors/index.js +0 -129
- package/dist/index.d.ts +0 -4
- package/dist/phases/adr-generation/agent.d.ts +0 -6
- package/dist/phases/adr-generation/agent.js +0 -69
- package/dist/phases/adr-generation/index.d.ts +0 -15
- package/dist/phases/adr-generation/index.js +0 -66
- package/dist/phases/adr-generation/parse.d.ts +0 -12
- package/dist/phases/adr-generation/parse.js +0 -123
- package/dist/phases/adr-generation/prompts.d.ts +0 -8
- package/dist/phases/adr-generation/prompts.js +0 -35
- package/dist/phases/analyze-logs/agent.d.ts +0 -11
- package/dist/phases/analyze-logs/agent.js +0 -66
- package/dist/phases/analyze-logs/index.d.ts +0 -23
- package/dist/phases/analyze-logs/index.js +0 -152
- package/dist/phases/analyze-logs/prompts.d.ts +0 -3
- package/dist/phases/analyze-logs/prompts.js +0 -27
- package/dist/phases/api-docs/index.d.ts +0 -47
- package/dist/phases/api-docs/index.js +0 -254
- package/dist/phases/api-docs/mcp-server.d.ts +0 -25
- package/dist/phases/api-docs/mcp-server.js +0 -82
- package/dist/phases/api-docs/prompts.d.ts +0 -16
- package/dist/phases/api-docs/prompts.js +0 -65
- package/dist/phases/api-docs/types.d.ts +0 -22
- package/dist/phases/api-docs/types.js +0 -10
- package/dist/phases/app-store-generation/agent.d.ts +0 -2
- package/dist/phases/app-store-generation/agent.js +0 -177
- package/dist/phases/app-store-generation/assets/inter-latin-ext.woff2 +0 -0
- package/dist/phases/app-store-generation/assets/inter-latin.woff2 +0 -0
- package/dist/phases/app-store-generation/context.d.ts +0 -21
- package/dist/phases/app-store-generation/context.js +0 -78
- package/dist/phases/app-store-generation/index.d.ts +0 -20
- package/dist/phases/app-store-generation/index.js +0 -157
- package/dist/phases/app-store-generation/inter-font.d.ts +0 -20
- package/dist/phases/app-store-generation/inter-font.js +0 -49
- package/dist/phases/app-store-generation/prompts.d.ts +0 -43
- package/dist/phases/app-store-generation/prompts.js +0 -73
- package/dist/phases/app-store-generation/screenshot-composer.d.ts +0 -41
- package/dist/phases/app-store-generation/screenshot-composer.js +0 -516
- package/dist/phases/app-store-generation/uploader.d.ts +0 -19
- package/dist/phases/app-store-generation/uploader.js +0 -150
- package/dist/phases/architecture-diagram/index.d.ts +0 -15
- package/dist/phases/architecture-diagram/index.js +0 -51
- package/dist/phases/autonomous/index.d.ts +0 -32
- package/dist/phases/autonomous/index.js +0 -412
- package/dist/phases/autonomous/prompts.d.ts +0 -5
- package/dist/phases/autonomous/prompts.js +0 -31
- package/dist/phases/branch-planning/context.d.ts +0 -14
- package/dist/phases/branch-planning/context.js +0 -43
- package/dist/phases/branch-planning/index.d.ts +0 -25
- package/dist/phases/branch-planning/index.js +0 -404
- package/dist/phases/branch-planning/outcome.d.ts +0 -28
- package/dist/phases/branch-planning/outcome.js +0 -115
- package/dist/phases/branch-planning/prompts.d.ts +0 -41
- package/dist/phases/branch-planning/prompts.js +0 -157
- package/dist/phases/bug-fixing/analyzer.d.ts +0 -17
- package/dist/phases/bug-fixing/analyzer.js +0 -247
- package/dist/phases/bug-fixing/context-fetcher.d.ts +0 -22
- package/dist/phases/bug-fixing/context-fetcher.js +0 -137
- package/dist/phases/bug-fixing/index.d.ts +0 -7
- package/dist/phases/bug-fixing/index.js +0 -7
- package/dist/phases/bug-fixing/mcp-server.d.ts +0 -18
- package/dist/phases/bug-fixing/mcp-server.js +0 -19
- package/dist/phases/bug-fixing/prompts.d.ts +0 -2
- package/dist/phases/bug-fixing/prompts.js +0 -9
- package/dist/phases/chat-processor/context.d.ts +0 -38
- package/dist/phases/chat-processor/context.js +0 -91
- package/dist/phases/chat-processor/index.d.ts +0 -49
- package/dist/phases/chat-processor/index.js +0 -482
- package/dist/phases/chat-processor/product-context.d.ts +0 -36
- package/dist/phases/chat-processor/product-context.js +0 -113
- package/dist/phases/chat-processor/product-prompts.d.ts +0 -4
- package/dist/phases/chat-processor/product-prompts.js +0 -65
- package/dist/phases/chat-processor/product-tools.d.ts +0 -8
- package/dist/phases/chat-processor/product-tools.js +0 -11
- package/dist/phases/chat-processor/prompts.d.ts +0 -35
- package/dist/phases/chat-processor/prompts.js +0 -213
- package/dist/phases/chat-processor/tools.d.ts +0 -8
- package/dist/phases/chat-processor/tools.js +0 -11
- package/dist/phases/class-diagram/index.d.ts +0 -14
- package/dist/phases/class-diagram/index.js +0 -76
- package/dist/phases/code-implementation/branch-pr-creator.d.ts +0 -31
- package/dist/phases/code-implementation/branch-pr-creator.js +0 -172
- package/dist/phases/code-implementation/context.d.ts +0 -17
- package/dist/phases/code-implementation/context.js +0 -88
- package/dist/phases/code-implementation/index.d.ts +0 -33
- package/dist/phases/code-implementation/index.js +0 -926
- package/dist/phases/code-implementation/outcome.d.ts +0 -47
- package/dist/phases/code-implementation/outcome.js +0 -53
- package/dist/phases/code-implementation/prompts.d.ts +0 -8
- package/dist/phases/code-implementation/prompts.js +0 -166
- package/dist/phases/code-implementation-verification/agent.d.ts +0 -32
- package/dist/phases/code-implementation-verification/agent.js +0 -225
- package/dist/phases/code-implementation-verification/index.d.ts +0 -27
- package/dist/phases/code-implementation-verification/index.js +0 -121
- package/dist/phases/code-implementation-verification/prompts.d.ts +0 -10
- package/dist/phases/code-implementation-verification/prompts.js +0 -90
- package/dist/phases/code-refine/context.d.ts +0 -99
- package/dist/phases/code-refine/context.js +0 -457
- package/dist/phases/code-refine/index.d.ts +0 -59
- package/dist/phases/code-refine/index.js +0 -348
- package/dist/phases/code-refine/prompts.d.ts +0 -5
- package/dist/phases/code-refine/prompts.js +0 -162
- package/dist/phases/code-refine/refine-iteration.d.ts +0 -33
- package/dist/phases/code-refine/refine-iteration.js +0 -166
- package/dist/phases/code-refine/retry-handler.d.ts +0 -17
- package/dist/phases/code-refine/retry-handler.js +0 -87
- package/dist/phases/code-refine-verification/github.d.ts +0 -54
- package/dist/phases/code-refine-verification/github.js +0 -328
- package/dist/phases/code-refine-verification/index.d.ts +0 -11
- package/dist/phases/code-refine-verification/index.js +0 -260
- package/dist/phases/code-refine-verification/llm-analyzer.d.ts +0 -22
- package/dist/phases/code-refine-verification/llm-analyzer.js +0 -152
- package/dist/phases/code-refine-verification/prompts.d.ts +0 -5
- package/dist/phases/code-refine-verification/prompts.js +0 -119
- package/dist/phases/code-refine-verification/types.d.ts +0 -74
- package/dist/phases/code-refine-verification/types.js +0 -4
- package/dist/phases/code-review/context.d.ts +0 -96
- package/dist/phases/code-review/context.js +0 -278
- package/dist/phases/code-review/diff-utils.d.ts +0 -36
- package/dist/phases/code-review/diff-utils.js +0 -100
- package/dist/phases/code-review/index.d.ts +0 -40
- package/dist/phases/code-review/index.js +0 -627
- package/dist/phases/code-testing/analyzer.d.ts +0 -19
- package/dist/phases/code-testing/analyzer.js +0 -215
- package/dist/phases/code-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/code-testing/context-fetcher.js +0 -83
- package/dist/phases/code-testing/index.d.ts +0 -2
- package/dist/phases/code-testing/index.js +0 -2
- package/dist/phases/code-testing/prompts.d.ts +0 -3
- package/dist/phases/code-testing/prompts.js +0 -63
- package/dist/phases/data-flow/index.d.ts +0 -28
- package/dist/phases/data-flow/index.js +0 -286
- package/dist/phases/data-flow/mcp-server.d.ts +0 -85
- package/dist/phases/data-flow/mcp-server.js +0 -140
- package/dist/phases/data-flow/prompts.d.ts +0 -14
- package/dist/phases/data-flow/prompts.js +0 -36
- package/dist/phases/data-flow/types.d.ts +0 -71
- package/dist/phases/data-flow/types.js +0 -86
- package/dist/phases/diagram-shared/clone-repos.d.ts +0 -63
- package/dist/phases/diagram-shared/clone-repos.js +0 -153
- package/dist/phases/diagram-shared/generate.d.ts +0 -42
- package/dist/phases/diagram-shared/generate.js +0 -162
- package/dist/phases/diagram-shared/graph.d.ts +0 -62
- package/dist/phases/diagram-shared/graph.js +0 -169
- package/dist/phases/diagram-shared/mcp.d.ts +0 -35
- package/dist/phases/diagram-shared/mcp.js +0 -68
- package/dist/phases/diagram-shared/prompts.d.ts +0 -23
- package/dist/phases/diagram-shared/prompts.js +0 -35
- package/dist/phases/discover-services/index.d.ts +0 -29
- package/dist/phases/discover-services/index.js +0 -528
- package/dist/phases/er-diagram/index.d.ts +0 -28
- package/dist/phases/er-diagram/index.js +0 -290
- package/dist/phases/er-diagram/mcp-server.d.ts +0 -77
- package/dist/phases/er-diagram/mcp-server.js +0 -144
- package/dist/phases/er-diagram/prompts.d.ts +0 -14
- package/dist/phases/er-diagram/prompts.js +0 -36
- package/dist/phases/er-diagram/types.d.ts +0 -76
- package/dist/phases/er-diagram/types.js +0 -84
- package/dist/phases/features/index.d.ts +0 -65
- package/dist/phases/features/index.js +0 -292
- package/dist/phases/features/mcp-server.d.ts +0 -61
- package/dist/phases/features/mcp-server.js +0 -165
- package/dist/phases/features/prompts.d.ts +0 -32
- package/dist/phases/features/prompts.js +0 -92
- package/dist/phases/features/types.d.ts +0 -34
- package/dist/phases/features/types.js +0 -15
- package/dist/phases/financing-deck/agent.d.ts +0 -1
- package/dist/phases/financing-deck/agent.js +0 -96
- package/dist/phases/financing-deck/context.d.ts +0 -13
- package/dist/phases/financing-deck/context.js +0 -69
- package/dist/phases/financing-deck/index.d.ts +0 -15
- package/dist/phases/financing-deck/index.js +0 -89
- package/dist/phases/financing-deck/prompts.d.ts +0 -2
- package/dist/phases/financing-deck/prompts.js +0 -94
- package/dist/phases/find-architecture/index.d.ts +0 -47
- package/dist/phases/find-architecture/index.js +0 -268
- package/dist/phases/find-architecture/prompts.d.ts +0 -32
- package/dist/phases/find-architecture/prompts.js +0 -129
- package/dist/phases/find-architecture/state.d.ts +0 -21
- package/dist/phases/find-architecture/state.js +0 -17
- package/dist/phases/find-architecture/types.d.ts +0 -55
- package/dist/phases/find-architecture/types.js +0 -69
- package/dist/phases/find-bugs/index.d.ts +0 -33
- package/dist/phases/find-bugs/index.js +0 -238
- package/dist/phases/find-bugs/prompts.d.ts +0 -22
- package/dist/phases/find-bugs/prompts.js +0 -101
- package/dist/phases/find-bugs/state.d.ts +0 -19
- package/dist/phases/find-bugs/state.js +0 -13
- package/dist/phases/find-bugs/types.d.ts +0 -21
- package/dist/phases/find-bugs/types.js +0 -16
- package/dist/phases/find-features/index.d.ts +0 -40
- package/dist/phases/find-features/index.js +0 -328
- package/dist/phases/find-features/prompts.d.ts +0 -43
- package/dist/phases/find-features/prompts.js +0 -138
- package/dist/phases/find-features/state.d.ts +0 -25
- package/dist/phases/find-features/state.js +0 -22
- package/dist/phases/find-features/types.d.ts +0 -27
- package/dist/phases/find-features/types.js +0 -16
- package/dist/phases/find-shared/baseline.d.ts +0 -45
- package/dist/phases/find-shared/baseline.js +0 -56
- package/dist/phases/find-shared/custom-rules.d.ts +0 -39
- package/dist/phases/find-shared/custom-rules.js +0 -75
- package/dist/phases/find-shared/detect-context.d.ts +0 -40
- package/dist/phases/find-shared/detect-context.js +0 -247
- package/dist/phases/find-shared/git.d.ts +0 -24
- package/dist/phases/find-shared/git.js +0 -60
- package/dist/phases/find-shared/mcp.d.ts +0 -54
- package/dist/phases/find-shared/mcp.js +0 -127
- package/dist/phases/find-shared/rule-config.d.ts +0 -37
- package/dist/phases/find-shared/rule-config.js +0 -67
- package/dist/phases/find-shared/rule-packs.d.ts +0 -65
- package/dist/phases/find-shared/rule-packs.js +0 -124
- package/dist/phases/find-shared/scan-state.d.ts +0 -33
- package/dist/phases/find-shared/scan-state.js +0 -112
- package/dist/phases/find-shared/scoped-read.d.ts +0 -12
- package/dist/phases/find-shared/scoped-read.js +0 -33
- package/dist/phases/find-smells/index.d.ts +0 -50
- package/dist/phases/find-smells/index.js +0 -305
- package/dist/phases/find-smells/prompts.d.ts +0 -31
- package/dist/phases/find-smells/prompts.js +0 -130
- package/dist/phases/find-smells/state.d.ts +0 -21
- package/dist/phases/find-smells/state.js +0 -17
- package/dist/phases/find-smells/types.d.ts +0 -51
- package/dist/phases/find-smells/types.js +0 -64
- package/dist/phases/flow-shared/clone-repos.d.ts +0 -63
- package/dist/phases/flow-shared/clone-repos.js +0 -153
- package/dist/phases/flowchart/index.d.ts +0 -15
- package/dist/phases/flowchart/index.js +0 -50
- package/dist/phases/functional-testing/analyzer.d.ts +0 -46
- package/dist/phases/functional-testing/analyzer.js +0 -622
- package/dist/phases/functional-testing/context-fetcher.d.ts +0 -16
- package/dist/phases/functional-testing/context-fetcher.js +0 -83
- package/dist/phases/functional-testing/http-fallback.d.ts +0 -10
- package/dist/phases/functional-testing/http-fallback.js +0 -156
- package/dist/phases/functional-testing/index.d.ts +0 -4
- package/dist/phases/functional-testing/index.js +0 -4
- package/dist/phases/functional-testing/mcp-server.d.ts +0 -9
- package/dist/phases/functional-testing/mcp-server.js +0 -13
- package/dist/phases/functional-testing/prompts.d.ts +0 -2
- package/dist/phases/functional-testing/prompts.js +0 -58
- package/dist/phases/functional-testing/test-report-creator.d.ts +0 -68
- package/dist/phases/functional-testing/test-report-creator.js +0 -306
- package/dist/phases/functional-testing/test-retry-handler.d.ts +0 -16
- package/dist/phases/functional-testing/test-retry-handler.js +0 -70
- package/dist/phases/growth-analysis/agent.d.ts +0 -2
- package/dist/phases/growth-analysis/agent.js +0 -107
- package/dist/phases/growth-analysis/context.d.ts +0 -23
- package/dist/phases/growth-analysis/context.js +0 -137
- package/dist/phases/growth-analysis/index.d.ts +0 -32
- package/dist/phases/growth-analysis/index.js +0 -226
- package/dist/phases/growth-analysis/prompts.d.ts +0 -2
- package/dist/phases/growth-analysis/prompts.js +0 -45
- package/dist/phases/intelligence-analysis/agent.d.ts +0 -2
- package/dist/phases/intelligence-analysis/agent.js +0 -338
- package/dist/phases/intelligence-analysis/context.d.ts +0 -23
- package/dist/phases/intelligence-analysis/context.js +0 -142
- package/dist/phases/intelligence-analysis/index.d.ts +0 -58
- package/dist/phases/intelligence-analysis/index.js +0 -244
- package/dist/phases/intelligence-analysis/prompts.d.ts +0 -2
- package/dist/phases/intelligence-analysis/prompts.js +0 -62
- package/dist/phases/issue-analysis/agent.d.ts +0 -21
- package/dist/phases/issue-analysis/agent.js +0 -153
- package/dist/phases/issue-analysis/context.d.ts +0 -20
- package/dist/phases/issue-analysis/context.js +0 -93
- package/dist/phases/issue-analysis/index.d.ts +0 -8
- package/dist/phases/issue-analysis/index.js +0 -147
- package/dist/phases/issue-analysis/outcome.d.ts +0 -10
- package/dist/phases/issue-analysis/outcome.js +0 -42
- package/dist/phases/issue-analysis/prompts.d.ts +0 -8
- package/dist/phases/issue-analysis/prompts.js +0 -99
- package/dist/phases/issue-analysis-verification/agent.d.ts +0 -33
- package/dist/phases/issue-analysis-verification/agent.js +0 -124
- package/dist/phases/issue-analysis-verification/index.d.ts +0 -27
- package/dist/phases/issue-analysis-verification/index.js +0 -79
- package/dist/phases/issue-analysis-verification/prompts.d.ts +0 -9
- package/dist/phases/issue-analysis-verification/prompts.js +0 -75
- package/dist/phases/output-contracts.d.ts +0 -7
- package/dist/phases/output-contracts.js +0 -1201
- package/dist/phases/pr-execution/context.d.ts +0 -32
- package/dist/phases/pr-execution/context.js +0 -246
- package/dist/phases/pr-execution/file-assigner.d.ts +0 -57
- package/dist/phases/pr-execution/file-assigner.js +0 -287
- package/dist/phases/pr-execution/index.d.ts +0 -22
- package/dist/phases/pr-execution/index.js +0 -401
- package/dist/phases/pr-execution/outcome.d.ts +0 -24
- package/dist/phases/pr-execution/outcome.js +0 -34
- package/dist/phases/pr-execution/pr-executor.d.ts +0 -42
- package/dist/phases/pr-execution/pr-executor.js +0 -78
- package/dist/phases/pr-execution/prompts.d.ts +0 -27
- package/dist/phases/pr-execution/prompts.js +0 -131
- package/dist/phases/pr-resolve/checklist-learner.d.ts +0 -28
- package/dist/phases/pr-resolve/checklist-learner.js +0 -153
- package/dist/phases/pr-resolve/github-reply.d.ts +0 -16
- package/dist/phases/pr-resolve/github-reply.js +0 -75
- package/dist/phases/pr-resolve/index.d.ts +0 -33
- package/dist/phases/pr-resolve/index.js +0 -272
- package/dist/phases/pr-resolve/prompts.d.ts +0 -17
- package/dist/phases/pr-resolve/prompts.js +0 -107
- package/dist/phases/pr-resolve/types.d.ts +0 -18
- package/dist/phases/pr-resolve/types.js +0 -14
- package/dist/phases/pr-resolve/workspace.d.ts +0 -45
- package/dist/phases/pr-resolve/workspace.js +0 -174
- package/dist/phases/pr-review/index.d.ts +0 -27
- package/dist/phases/pr-review/index.js +0 -209
- package/dist/phases/pr-review/prompts.d.ts +0 -5
- package/dist/phases/pr-review/prompts.js +0 -87
- package/dist/phases/pr-shared/agent-utils.d.ts +0 -47
- package/dist/phases/pr-shared/agent-utils.js +0 -112
- package/dist/phases/pr-shared/context.d.ts +0 -24
- package/dist/phases/pr-shared/context.js +0 -78
- package/dist/phases/pr-shared/status.d.ts +0 -18
- package/dist/phases/pr-shared/status.js +0 -37
- package/dist/phases/pr-splitting/context.d.ts +0 -28
- package/dist/phases/pr-splitting/context.js +0 -182
- package/dist/phases/pr-splitting/import-dep-validator.d.ts +0 -67
- package/dist/phases/pr-splitting/import-dep-validator.js +0 -255
- package/dist/phases/pr-splitting/index.d.ts +0 -36
- package/dist/phases/pr-splitting/index.js +0 -413
- package/dist/phases/pr-splitting/outcome.d.ts +0 -24
- package/dist/phases/pr-splitting/outcome.js +0 -114
- package/dist/phases/pr-splitting/prompts.d.ts +0 -43
- package/dist/phases/pr-splitting/prompts.js +0 -154
- package/dist/phases/product-techniques/index.d.ts +0 -52
- package/dist/phases/product-techniques/index.js +0 -268
- package/dist/phases/product-techniques/mcp-server.d.ts +0 -41
- package/dist/phases/product-techniques/mcp-server.js +0 -96
- package/dist/phases/product-techniques/prompts.d.ts +0 -19
- package/dist/phases/product-techniques/prompts.js +0 -66
- package/dist/phases/product-techniques/types.d.ts +0 -13
- package/dist/phases/product-techniques/types.js +0 -13
- package/dist/phases/product-test-cases/index.d.ts +0 -25
- package/dist/phases/product-test-cases/index.js +0 -174
- package/dist/phases/product-test-cases/prompts.d.ts +0 -24
- package/dist/phases/product-test-cases/prompts.js +0 -80
- package/dist/phases/product-test-cases/types.d.ts +0 -17
- package/dist/phases/product-test-cases/types.js +0 -27
- package/dist/phases/pull-request/creator.d.ts +0 -30
- package/dist/phases/pull-request/creator.js +0 -319
- package/dist/phases/pull-request/handler.d.ts +0 -15
- package/dist/phases/pull-request/handler.js +0 -92
- package/dist/phases/quality-benchmark/gate.d.ts +0 -50
- package/dist/phases/quality-benchmark/gate.js +0 -91
- package/dist/phases/quality-benchmark/index.d.ts +0 -65
- package/dist/phases/quality-benchmark/index.js +0 -208
- package/dist/phases/quality-benchmark/mcp-server.d.ts +0 -46
- package/dist/phases/quality-benchmark/mcp-server.js +0 -252
- package/dist/phases/quality-benchmark/parsers.d.ts +0 -45
- package/dist/phases/quality-benchmark/parsers.js +0 -1311
- package/dist/phases/quality-benchmark/prompts.d.ts +0 -31
- package/dist/phases/quality-benchmark/prompts.js +0 -154
- package/dist/phases/quality-benchmark/rubric.md +0 -1211
- package/dist/phases/quality-benchmark/tool-catalog.d.ts +0 -33
- package/dist/phases/quality-benchmark/tool-catalog.js +0 -693
- package/dist/phases/quality-benchmark/tool-runner.d.ts +0 -69
- package/dist/phases/quality-benchmark/tool-runner.js +0 -399
- package/dist/phases/quality-benchmark/types.d.ts +0 -319
- package/dist/phases/quality-benchmark/types.js +0 -23
- package/dist/phases/quality-benchmark/workspace.d.ts +0 -31
- package/dist/phases/quality-benchmark/workspace.js +0 -110
- package/dist/phases/recipes/index.d.ts +0 -63
- package/dist/phases/recipes/index.js +0 -358
- package/dist/phases/recipes/mcp-server.d.ts +0 -66
- package/dist/phases/recipes/mcp-server.js +0 -229
- package/dist/phases/recipes/prompts.d.ts +0 -35
- package/dist/phases/recipes/prompts.js +0 -105
- package/dist/phases/recipes/types.d.ts +0 -42
- package/dist/phases/recipes/types.js +0 -16
- package/dist/phases/release-sync/github.d.ts +0 -66
- package/dist/phases/release-sync/github.js +0 -140
- package/dist/phases/release-sync/index.d.ts +0 -24
- package/dist/phases/release-sync/index.js +0 -156
- package/dist/phases/release-sync/snapshot.d.ts +0 -27
- package/dist/phases/release-sync/snapshot.js +0 -158
- package/dist/phases/run-sheet/agent.d.ts +0 -49
- package/dist/phases/run-sheet/agent.js +0 -156
- package/dist/phases/run-sheet/index.d.ts +0 -57
- package/dist/phases/run-sheet/index.js +0 -392
- package/dist/phases/screen-flow/index.d.ts +0 -26
- package/dist/phases/screen-flow/index.js +0 -349
- package/dist/phases/screen-flow/mcp-server.d.ts +0 -201
- package/dist/phases/screen-flow/mcp-server.js +0 -272
- package/dist/phases/screen-flow/prompts.d.ts +0 -19
- package/dist/phases/screen-flow/prompts.js +0 -43
- package/dist/phases/screen-flow/theme.d.ts +0 -19
- package/dist/phases/screen-flow/theme.js +0 -193
- package/dist/phases/screen-flow/types.d.ts +0 -137
- package/dist/phases/screen-flow/types.js +0 -81
- package/dist/phases/sequence-diagram/index.d.ts +0 -30
- package/dist/phases/sequence-diagram/index.js +0 -290
- package/dist/phases/sequence-diagram/mcp-server.d.ts +0 -64
- package/dist/phases/sequence-diagram/mcp-server.js +0 -134
- package/dist/phases/sequence-diagram/prompts.d.ts +0 -14
- package/dist/phases/sequence-diagram/prompts.js +0 -36
- package/dist/phases/sequence-diagram/types.d.ts +0 -52
- package/dist/phases/sequence-diagram/types.js +0 -93
- package/dist/phases/smoke-test/agent.d.ts +0 -12
- package/dist/phases/smoke-test/agent.js +0 -93
- package/dist/phases/smoke-test/index.d.ts +0 -22
- package/dist/phases/smoke-test/index.js +0 -241
- package/dist/phases/smoke-test/prompts.d.ts +0 -15
- package/dist/phases/smoke-test/prompts.js +0 -35
- package/dist/phases/state-diagram/index.d.ts +0 -15
- package/dist/phases/state-diagram/index.js +0 -53
- package/dist/phases/sync-github-issues/index.d.ts +0 -41
- package/dist/phases/sync-github-issues/index.js +0 -187
- package/dist/phases/sync-github-issues/state.d.ts +0 -26
- package/dist/phases/sync-github-issues/state.js +0 -18
- package/dist/phases/sync-github-issues/types.d.ts +0 -35
- package/dist/phases/sync-github-issues/types.js +0 -6
- package/dist/phases/sync-github-pull-requests/index.d.ts +0 -23
- package/dist/phases/sync-github-pull-requests/index.js +0 -210
- package/dist/phases/sync-github-pull-requests/state.d.ts +0 -24
- package/dist/phases/sync-github-pull-requests/state.js +0 -16
- package/dist/phases/sync-github-pull-requests/types.d.ts +0 -22
- package/dist/phases/sync-github-pull-requests/types.js +0 -1
- package/dist/phases/sync-org-repos/index.d.ts +0 -28
- package/dist/phases/sync-org-repos/index.js +0 -133
- package/dist/phases/sync-sentry-issues/index.d.ts +0 -29
- package/dist/phases/sync-sentry-issues/index.js +0 -153
- package/dist/phases/sync-sentry-issues/sentry-client.d.ts +0 -66
- package/dist/phases/sync-sentry-issues/sentry-client.js +0 -221
- package/dist/phases/sync-sentry-issues/state.d.ts +0 -23
- package/dist/phases/sync-sentry-issues/state.js +0 -18
- package/dist/phases/sync-sentry-issues/types.d.ts +0 -46
- package/dist/phases/sync-sentry-issues/types.js +0 -6
- package/dist/phases/sync-shared/mcp.d.ts +0 -81
- package/dist/phases/sync-shared/mcp.js +0 -111
- package/dist/phases/task/agent.d.ts +0 -10
- package/dist/phases/task/agent.js +0 -83
- package/dist/phases/task/context.d.ts +0 -16
- package/dist/phases/task/context.js +0 -50
- package/dist/phases/task/index.d.ts +0 -17
- package/dist/phases/task/index.js +0 -54
- package/dist/phases/task/prompts.d.ts +0 -9
- package/dist/phases/task/prompts.js +0 -21
- package/dist/phases/technical-design/context.d.ts +0 -12
- package/dist/phases/technical-design/context.js +0 -39
- package/dist/phases/technical-design/index.d.ts +0 -21
- package/dist/phases/technical-design/index.js +0 -456
- package/dist/phases/technical-design/outcome.d.ts +0 -25
- package/dist/phases/technical-design/outcome.js +0 -41
- package/dist/phases/technical-design/prompts.d.ts +0 -8
- package/dist/phases/technical-design/prompts.js +0 -210
- package/dist/phases/technical-design-verification/agent.d.ts +0 -53
- package/dist/phases/technical-design-verification/agent.js +0 -186
- package/dist/phases/technical-design-verification/index.d.ts +0 -38
- package/dist/phases/technical-design-verification/index.js +0 -152
- package/dist/phases/technical-design-verification/prompts.d.ts +0 -12
- package/dist/phases/technical-design-verification/prompts.js +0 -143
- package/dist/phases/test-cases-analysis/agent.d.ts +0 -9
- package/dist/phases/test-cases-analysis/agent.js +0 -105
- package/dist/phases/test-cases-analysis/context.d.ts +0 -15
- package/dist/phases/test-cases-analysis/context.js +0 -86
- package/dist/phases/test-cases-analysis/formatters.d.ts +0 -6
- package/dist/phases/test-cases-analysis/formatters.js +0 -35
- package/dist/phases/test-cases-analysis/index.d.ts +0 -9
- package/dist/phases/test-cases-analysis/index.js +0 -175
- package/dist/phases/test-cases-analysis/outcome.d.ts +0 -27
- package/dist/phases/test-cases-analysis/outcome.js +0 -146
- package/dist/phases/test-cases-analysis/prompts.d.ts +0 -7
- package/dist/phases/test-cases-analysis/prompts.js +0 -171
- package/dist/phases/user-psychology/agent.d.ts +0 -16
- package/dist/phases/user-psychology/agent.js +0 -105
- package/dist/phases/user-psychology/context.d.ts +0 -10
- package/dist/phases/user-psychology/context.js +0 -65
- package/dist/phases/user-psychology/index.d.ts +0 -18
- package/dist/phases/user-psychology/index.js +0 -96
- package/dist/phases/user-psychology/prompts.d.ts +0 -2
- package/dist/phases/user-psychology/prompts.js +0 -41
- package/dist/phases/user-stories-analysis/agent.d.ts +0 -9
- package/dist/phases/user-stories-analysis/agent.js +0 -105
- package/dist/phases/user-stories-analysis/context.d.ts +0 -15
- package/dist/phases/user-stories-analysis/context.js +0 -86
- package/dist/phases/user-stories-analysis/formatters.d.ts +0 -6
- package/dist/phases/user-stories-analysis/formatters.js +0 -32
- package/dist/phases/user-stories-analysis/index.d.ts +0 -9
- package/dist/phases/user-stories-analysis/index.js +0 -175
- package/dist/phases/user-stories-analysis/outcome.d.ts +0 -27
- package/dist/phases/user-stories-analysis/outcome.js +0 -146
- package/dist/phases/user-stories-analysis/prompts.d.ts +0 -7
- package/dist/phases/user-stories-analysis/prompts.js +0 -194
- package/dist/services/audit-logs.d.ts +0 -73
- package/dist/services/audit-logs.js +0 -174
- package/dist/services/branches.d.ts +0 -103
- package/dist/services/branches.js +0 -391
- package/dist/services/checklist.d.ts +0 -100
- package/dist/services/checklist.js +0 -259
- package/dist/services/coaching/coaching-agent.d.ts +0 -39
- package/dist/services/coaching/coaching-agent.js +0 -308
- package/dist/services/coaching/coaching-loop.d.ts +0 -62
- package/dist/services/coaching/coaching-loop.js +0 -265
- package/dist/services/coaching/index.d.ts +0 -8
- package/dist/services/coaching/index.js +0 -8
- package/dist/services/coaching/phase-coaching.d.ts +0 -47
- package/dist/services/coaching/phase-coaching.js +0 -60
- package/dist/services/coaching/self-rating.d.ts +0 -26
- package/dist/services/coaching/self-rating.js +0 -153
- package/dist/services/feedbacks.d.ts +0 -57
- package/dist/services/feedbacks.js +0 -264
- package/dist/services/phase-hooks/bindings-fetcher.d.ts +0 -21
- package/dist/services/phase-hooks/bindings-fetcher.js +0 -53
- package/dist/services/phase-hooks/hook-executor.d.ts +0 -36
- package/dist/services/phase-hooks/hook-executor.js +0 -167
- package/dist/services/phase-hooks/hook-logging.d.ts +0 -14
- package/dist/services/phase-hooks/hook-logging.js +0 -41
- package/dist/services/phase-hooks/hook-runner.d.ts +0 -19
- package/dist/services/phase-hooks/hook-runner.js +0 -83
- package/dist/services/phase-hooks/index.d.ts +0 -10
- package/dist/services/phase-hooks/index.js +0 -9
- package/dist/services/phase-hooks/plugin-loader.d.ts +0 -31
- package/dist/services/phase-hooks/plugin-loader.js +0 -207
- package/dist/services/phase-hooks/types.d.ts +0 -69
- package/dist/services/phase-hooks/types.js +0 -8
- package/dist/services/phase-ratings.d.ts +0 -70
- package/dist/services/phase-ratings.js +0 -143
- package/dist/services/product-logs.d.ts +0 -31
- package/dist/services/product-logs.js +0 -94
- package/dist/services/pull-requests.d.ts +0 -57
- package/dist/services/pull-requests.js +0 -186
- package/dist/services/quality-reports.d.ts +0 -45
- package/dist/services/quality-reports.js +0 -93
- package/dist/services/repo-config.d.ts +0 -17
- package/dist/services/repo-config.js +0 -50
- package/dist/services/skill-resolver.d.ts +0 -46
- package/dist/services/skill-resolver.js +0 -123
- package/dist/services/video/device-frames.d.ts +0 -34
- package/dist/services/video/device-frames.js +0 -513
- package/dist/services/video/index.d.ts +0 -66
- package/dist/services/video/index.js +0 -238
- package/dist/services/video/retry.d.ts +0 -20
- package/dist/services/video/retry.js +0 -76
- package/dist/services/video/screenshot-generator.d.ts +0 -69
- package/dist/services/video/screenshot-generator.js +0 -259
- package/dist/services/video/tts-generator.d.ts +0 -40
- package/dist/services/video/tts-generator.js +0 -121
- package/dist/services/video/video-assembler.d.ts +0 -45
- package/dist/services/video/video-assembler.js +0 -351
- package/dist/services/video/video-uploader.d.ts +0 -28
- package/dist/services/video/video-uploader.js +0 -108
- package/dist/skills/phase/adr-generation/SKILL.md +0 -51
- package/dist/skills/phase/analyze-logs/SKILL.md +0 -24
- package/dist/skills/phase/app-store-generation/SKILL.md +0 -60
- package/dist/skills/phase/architecture-diagram/SKILL.md +0 -41
- package/dist/skills/phase/autonomous/SKILL.md +0 -52
- package/dist/skills/phase/branch-planning/SKILL.md +0 -55
- package/dist/skills/phase/bug-fixing/SKILL.md +0 -47
- package/dist/skills/phase/class-diagram/SKILL.md +0 -44
- package/dist/skills/phase/code-implementation/SKILL.md +0 -68
- package/dist/skills/phase/code-implementation-verification/SKILL.md +0 -76
- package/dist/skills/phase/code-refine/SKILL.md +0 -62
- package/dist/skills/phase/code-testing/SKILL.md +0 -78
- package/dist/skills/phase/data-flow/SKILL.md +0 -82
- package/dist/skills/phase/er-diagram/SKILL.md +0 -71
- package/dist/skills/phase/flowchart/SKILL.md +0 -38
- package/dist/skills/phase/functional-testing/SKILL.md +0 -62
- package/dist/skills/phase/growth-analysis/SKILL.md +0 -97
- package/dist/skills/phase/incremental-sync/SKILL.md +0 -59
- package/dist/skills/phase/intelligence-analysis/SKILL.md +0 -52
- package/dist/skills/phase/issue-analysis/SKILL.md +0 -73
- package/dist/skills/phase/issue-analysis-verification/SKILL.md +0 -61
- package/dist/skills/phase/pr-execution/SKILL.md +0 -69
- package/dist/skills/phase/pr-splitting/SKILL.md +0 -78
- package/dist/skills/phase/screen-flow/SKILL.md +0 -78
- package/dist/skills/phase/sequence-diagram/SKILL.md +0 -67
- package/dist/skills/phase/smoke-test/SKILL.md +0 -80
- package/dist/skills/phase/state-diagram/SKILL.md +0 -38
- package/dist/skills/phase/task/SKILL.md +0 -19
- package/dist/skills/phase/technical-design/SKILL.md +0 -75
- package/dist/skills/phase/technical-design-verification/SKILL.md +0 -43
- package/dist/skills/phase/test-cases-analysis/SKILL.md +0 -88
- package/dist/skills/phase/user-psychology/SKILL.md +0 -135
- package/dist/skills/phase/user-stories-analysis/SKILL.md +0 -118
- package/dist/supabase/client.d.ts +0 -34
- package/dist/supabase/client.js +0 -123
- package/dist/system/session-manager.d.ts +0 -67
- package/dist/system/session-manager.js +0 -300
- package/dist/system/sleep-notification.d.ts +0 -15
- package/dist/system/sleep-notification.js +0 -108
- package/dist/system/sleep-prevention.d.ts +0 -20
- package/dist/system/sleep-prevention.js +0 -112
- package/dist/tools/bootstrap.d.ts +0 -45
- package/dist/tools/bootstrap.js +0 -50
- package/dist/types/external-sources.d.ts +0 -22
- package/dist/types/external-sources.js +0 -23
- package/dist/types/index.d.ts +0 -206
- package/dist/types/index.js +0 -1
- package/dist/types/issues.d.ts +0 -37
- package/dist/types/issues.js +0 -1
- package/dist/types/llm-responses.d.ts +0 -114
- package/dist/types/llm-responses.js +0 -9
- package/dist/types/pipeline.d.ts +0 -28
- package/dist/types/pipeline.js +0 -4
- package/dist/updater/auto-updater.d.ts +0 -39
- package/dist/updater/auto-updater.js +0 -134
- package/dist/utils/conflict-resolver.d.ts +0 -49
- package/dist/utils/conflict-resolver.js +0 -201
- package/dist/utils/formatters.d.ts +0 -42
- package/dist/utils/formatters.js +0 -166
- package/dist/utils/git-branch-manager-async.d.ts +0 -127
- package/dist/utils/git-branch-manager-async.js +0 -425
- package/dist/utils/git-branch-manager.d.ts +0 -160
- package/dist/utils/git-branch-manager.js +0 -613
- package/dist/utils/git-push.d.ts +0 -43
- package/dist/utils/git-push.js +0 -136
- package/dist/utils/github-repo-info.d.ts +0 -26
- package/dist/utils/github-repo-info.js +0 -45
- package/dist/utils/image-downloader.d.ts +0 -32
- package/dist/utils/image-downloader.js +0 -152
- package/dist/utils/issue-phase-cli.d.ts +0 -26
- package/dist/utils/issue-phase-cli.js +0 -44
- package/dist/utils/json-extract.d.ts +0 -6
- package/dist/utils/json-extract.js +0 -44
- package/dist/utils/json-extractor.d.ts +0 -27
- package/dist/utils/json-extractor.js +0 -102
- package/dist/utils/logger.d.ts +0 -35
- package/dist/utils/logger.js +0 -167
- package/dist/utils/pipeline-logger.d.ts +0 -8
- package/dist/utils/pipeline-logger.js +0 -38
- package/dist/utils/validation.d.ts +0 -68
- package/dist/utils/validation.js +0 -229
- package/dist/utils/workflow-utils.d.ts +0 -22
- package/dist/utils/workflow-utils.js +0 -48
- package/dist/workspace/session-workspace.d.ts +0 -43
- package/dist/workspace/session-workspace.js +0 -90
- package/dist/workspace/workspace-manager.d.ts +0 -105
- package/dist/workspace/workspace-manager.js +0 -280
|
@@ -1,259 +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 { mkdir, readFile } from 'fs/promises';
|
|
7
|
-
import { tmpdir } from 'os';
|
|
8
|
-
import { join } from 'path';
|
|
9
|
-
import { logError, logInfo, logWarning } from '../../utils/logger.js';
|
|
10
|
-
import { ensurePlaywright } from '../../utils/validation.js';
|
|
11
|
-
import { generateDeviceFrameHtml, } from './device-frames.js';
|
|
12
|
-
/**
|
|
13
|
-
* Dynamically load Playwright's chromium launcher.
|
|
14
|
-
* Returns null if Playwright is not installed.
|
|
15
|
-
*/
|
|
16
|
-
async function loadChromium() {
|
|
17
|
-
try {
|
|
18
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, no-new-func -- dynamic import to avoid bundler resolution of optional peer dependency
|
|
19
|
-
const pw = await Function('return import("playwright")')();
|
|
20
|
-
return pw.chromium;
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Check if Playwright is available
|
|
28
|
-
*/
|
|
29
|
-
export async function isPlaywrightAvailable() {
|
|
30
|
-
const chromium = await loadChromium();
|
|
31
|
-
return chromium !== null;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Get a unique temporary directory for a single video generation run.
|
|
35
|
-
* Each call returns a distinct path to avoid race conditions when
|
|
36
|
-
* multiple videos are generated concurrently for the same product.
|
|
37
|
-
*/
|
|
38
|
-
export function getVideoTempDir(productId) {
|
|
39
|
-
const uniqueId = `${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
40
|
-
return join(tmpdir(), 'edsger-growth-videos', productId, uniqueId);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Auto-detect device frame type based on viewport dimensions.
|
|
44
|
-
* Mobile aspect ratios get iPhone frame, desktop gets browser frame.
|
|
45
|
-
*/
|
|
46
|
-
function autoDetectDeviceFrame(width, height) {
|
|
47
|
-
const aspectRatio = width / height;
|
|
48
|
-
if (aspectRatio < 0.7) {
|
|
49
|
-
return 'iphone'; // portrait mobile
|
|
50
|
-
}
|
|
51
|
-
return 'browser'; // landscape desktop
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Wrap a screenshot PNG in a device frame by rendering the frame HTML with
|
|
55
|
-
* the screenshot embedded as a data URL, then capturing the result.
|
|
56
|
-
* Reuses a shared browser instance to avoid spawning a new process per scene.
|
|
57
|
-
*/
|
|
58
|
-
async function applyDeviceFrame(screenshotPath, scene, browser, verbose) {
|
|
59
|
-
const frameType = scene.deviceFrame ||
|
|
60
|
-
autoDetectDeviceFrame(scene.viewportWidth || 1280, scene.viewportHeight || 720);
|
|
61
|
-
if (frameType === 'none') {
|
|
62
|
-
return screenshotPath; // no framing requested
|
|
63
|
-
}
|
|
64
|
-
// Read the screenshot and convert to data URL
|
|
65
|
-
const screenshotBuffer = await readFile(screenshotPath);
|
|
66
|
-
const dataUrl = `data:image/png;base64,${screenshotBuffer.toString('base64')}`;
|
|
67
|
-
// Generate the frame HTML
|
|
68
|
-
const frameHtml = generateDeviceFrameHtml(dataUrl, frameType, {
|
|
69
|
-
background: scene.frameBackground,
|
|
70
|
-
browserUrl: scene.frameBrowserUrl,
|
|
71
|
-
shadow: true,
|
|
72
|
-
});
|
|
73
|
-
// Determine frame output dimensions
|
|
74
|
-
const frameWidth = frameType === 'iphone' ? 800 : 1600;
|
|
75
|
-
const frameHeight = frameType === 'iphone' ? 1200 : 1000;
|
|
76
|
-
// Reuse the shared browser — create a temporary context for this frame
|
|
77
|
-
const context = await browser.newContext({
|
|
78
|
-
viewport: { width: frameWidth, height: frameHeight },
|
|
79
|
-
deviceScaleFactor: 2,
|
|
80
|
-
});
|
|
81
|
-
try {
|
|
82
|
-
const page = await context.newPage();
|
|
83
|
-
await page.setContent(frameHtml, { waitUntil: 'load' });
|
|
84
|
-
await page.waitForTimeout(300);
|
|
85
|
-
const framedPath = screenshotPath.replace('.png', '-framed.png');
|
|
86
|
-
await page.screenshot({
|
|
87
|
-
path: framedPath,
|
|
88
|
-
fullPage: false,
|
|
89
|
-
type: 'png',
|
|
90
|
-
});
|
|
91
|
-
if (verbose) {
|
|
92
|
-
logInfo(` Applied ${frameType} device frame`);
|
|
93
|
-
}
|
|
94
|
-
return framedPath;
|
|
95
|
-
}
|
|
96
|
-
finally {
|
|
97
|
-
await context.close();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Capture screenshots for all scenes using Playwright.
|
|
102
|
-
* Requires Playwright to be installed: npm install playwright
|
|
103
|
-
*/
|
|
104
|
-
export async function captureScreenshots(scenes, options, verbose) {
|
|
105
|
-
await ensurePlaywright(isPlaywrightAvailable);
|
|
106
|
-
const chromium = await loadChromium();
|
|
107
|
-
if (!chromium) {
|
|
108
|
-
throw new Error('Failed to load chromium');
|
|
109
|
-
}
|
|
110
|
-
const { baseUrl, outputDir, viewportWidth = 1280, viewportHeight = 720, fullPage = false, } = options;
|
|
111
|
-
// Ensure output directory exists
|
|
112
|
-
await mkdir(outputDir, { recursive: true });
|
|
113
|
-
if (verbose) {
|
|
114
|
-
logInfo(`Capturing ${scenes.length} screenshots from ${baseUrl}`);
|
|
115
|
-
}
|
|
116
|
-
const browser = await chromium.launch({
|
|
117
|
-
headless: true,
|
|
118
|
-
args: ['--no-sandbox', '--disable-setuid-sandbox'],
|
|
119
|
-
});
|
|
120
|
-
const capturedScenes = [];
|
|
121
|
-
try {
|
|
122
|
-
const context = await browser.newContext({
|
|
123
|
-
viewport: {
|
|
124
|
-
width: viewportWidth,
|
|
125
|
-
height: viewportHeight,
|
|
126
|
-
},
|
|
127
|
-
deviceScaleFactor: 2, // Retina quality
|
|
128
|
-
});
|
|
129
|
-
const page = await context.newPage();
|
|
130
|
-
// Sort scenes by order
|
|
131
|
-
const sortedScenes = [...scenes].sort((a, b) => a.order - b.order);
|
|
132
|
-
for (const scene of sortedScenes) {
|
|
133
|
-
try {
|
|
134
|
-
const sceneViewport = {
|
|
135
|
-
width: scene.viewportWidth || viewportWidth,
|
|
136
|
-
height: scene.viewportHeight || viewportHeight,
|
|
137
|
-
};
|
|
138
|
-
await page.setViewportSize(sceneViewport);
|
|
139
|
-
const url = `${baseUrl}${scene.pagePath}`;
|
|
140
|
-
if (verbose) {
|
|
141
|
-
logInfo(`Scene ${scene.order}: Navigating to ${url}`);
|
|
142
|
-
}
|
|
143
|
-
await page.goto(url, {
|
|
144
|
-
waitUntil: 'networkidle',
|
|
145
|
-
timeout: 30000,
|
|
146
|
-
});
|
|
147
|
-
// Execute setup script if provided (for mock data injection)
|
|
148
|
-
if (scene.setupScript) {
|
|
149
|
-
logInfo(`Scene ${scene.order}: Executing setup script`);
|
|
150
|
-
await page.evaluate(scene.setupScript);
|
|
151
|
-
// Wait for any DOM updates after script execution
|
|
152
|
-
await page.waitForTimeout(500);
|
|
153
|
-
}
|
|
154
|
-
// Wait for specific selector if provided
|
|
155
|
-
if (scene.waitForSelector) {
|
|
156
|
-
await page.waitForSelector(scene.waitForSelector, {
|
|
157
|
-
timeout: 10000,
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
// Small delay for any animations to settle
|
|
161
|
-
await page.waitForTimeout(300);
|
|
162
|
-
// Capture screenshot
|
|
163
|
-
const rawPath = join(outputDir, `scene-${String(scene.order).padStart(3, '0')}.png`);
|
|
164
|
-
await page.screenshot({
|
|
165
|
-
path: rawPath,
|
|
166
|
-
fullPage,
|
|
167
|
-
type: 'png',
|
|
168
|
-
});
|
|
169
|
-
// Apply device frame (reuse the existing browser instance)
|
|
170
|
-
const screenshotPath = await applyDeviceFrame(rawPath, scene, browser, verbose);
|
|
171
|
-
capturedScenes.push({
|
|
172
|
-
...scene,
|
|
173
|
-
screenshotPath,
|
|
174
|
-
});
|
|
175
|
-
if (verbose) {
|
|
176
|
-
logInfo(`Scene ${scene.order}: Screenshot saved to ${screenshotPath}`);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
logError(`Failed to capture scene ${scene.order}: ${error instanceof Error ? error.message : String(error)}`);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
await context.close();
|
|
184
|
-
}
|
|
185
|
-
finally {
|
|
186
|
-
await browser.close();
|
|
187
|
-
}
|
|
188
|
-
if (capturedScenes.length === 0) {
|
|
189
|
-
throw new Error('No screenshots were captured successfully');
|
|
190
|
-
}
|
|
191
|
-
logInfo(`Captured ${capturedScenes.length}/${scenes.length} screenshots`);
|
|
192
|
-
return capturedScenes;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Generate screenshots using static HTML rendering (fallback when no running app).
|
|
196
|
-
* Creates screenshots from pre-built HTML templates with mock data.
|
|
197
|
-
*/
|
|
198
|
-
export async function captureStaticScreenshots(scenes, outputDir, htmlTemplates, verbose) {
|
|
199
|
-
await ensurePlaywright(isPlaywrightAvailable);
|
|
200
|
-
const chromium = await loadChromium();
|
|
201
|
-
if (!chromium) {
|
|
202
|
-
throw new Error('Failed to load chromium');
|
|
203
|
-
}
|
|
204
|
-
await mkdir(outputDir, { recursive: true });
|
|
205
|
-
if (verbose) {
|
|
206
|
-
logInfo(`Rendering ${scenes.length} static HTML scenes`);
|
|
207
|
-
}
|
|
208
|
-
const browser = await chromium.launch({
|
|
209
|
-
headless: true,
|
|
210
|
-
args: ['--no-sandbox', '--disable-setuid-sandbox'],
|
|
211
|
-
});
|
|
212
|
-
const capturedScenes = [];
|
|
213
|
-
try {
|
|
214
|
-
const context = await browser.newContext({
|
|
215
|
-
viewport: { width: 1280, height: 720 },
|
|
216
|
-
deviceScaleFactor: 2,
|
|
217
|
-
});
|
|
218
|
-
const page = await context.newPage();
|
|
219
|
-
const sortedScenes = [...scenes].sort((a, b) => a.order - b.order);
|
|
220
|
-
for (let i = 0; i < sortedScenes.length; i++) {
|
|
221
|
-
const scene = sortedScenes[i];
|
|
222
|
-
const html = htmlTemplates[i];
|
|
223
|
-
if (!html) {
|
|
224
|
-
logWarning(`No HTML template for scene ${scene.order}, skipping`);
|
|
225
|
-
continue;
|
|
226
|
-
}
|
|
227
|
-
try {
|
|
228
|
-
const viewport = {
|
|
229
|
-
width: scene.viewportWidth || 1280,
|
|
230
|
-
height: scene.viewportHeight || 720,
|
|
231
|
-
};
|
|
232
|
-
await page.setViewportSize(viewport);
|
|
233
|
-
await page.setContent(html, { waitUntil: 'networkidle' });
|
|
234
|
-
await page.waitForTimeout(500);
|
|
235
|
-
const rawPath = join(outputDir, `scene-${String(scene.order).padStart(3, '0')}.png`);
|
|
236
|
-
await page.screenshot({
|
|
237
|
-
path: rawPath,
|
|
238
|
-
fullPage: false,
|
|
239
|
-
type: 'png',
|
|
240
|
-
});
|
|
241
|
-
// Apply device frame (reuse the existing browser instance)
|
|
242
|
-
const screenshotPath = await applyDeviceFrame(rawPath, scene, browser, verbose);
|
|
243
|
-
capturedScenes.push({ ...scene, screenshotPath });
|
|
244
|
-
if (verbose) {
|
|
245
|
-
logInfo(`Scene ${scene.order}: Static screenshot saved`);
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
catch (error) {
|
|
249
|
-
logError(`Failed to render scene ${scene.order}: ${error instanceof Error ? error.message : String(error)}`);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
await context.close();
|
|
253
|
-
}
|
|
254
|
-
finally {
|
|
255
|
-
await browser.close();
|
|
256
|
-
}
|
|
257
|
-
logInfo(`Rendered ${capturedScenes.length}/${scenes.length} static screenshots`);
|
|
258
|
-
return capturedScenes;
|
|
259
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Text-to-Speech generator for growth video narration.
|
|
3
|
-
* Supports ElevenLabs (primary) and Deepgram (fallback) for professional voiceovers.
|
|
4
|
-
*/
|
|
5
|
-
export interface TTSOptions {
|
|
6
|
-
/** TTS provider to use */
|
|
7
|
-
provider: 'elevenlabs' | 'deepgram';
|
|
8
|
-
/** API key for the selected provider */
|
|
9
|
-
apiKey: string;
|
|
10
|
-
/** Voice ID or name */
|
|
11
|
-
voiceId?: string;
|
|
12
|
-
/** Output directory for audio files */
|
|
13
|
-
outputDir: string;
|
|
14
|
-
/** Language code (default: 'en') */
|
|
15
|
-
language?: string;
|
|
16
|
-
/** Speaking speed multiplier (default: 1.0) */
|
|
17
|
-
speed?: number;
|
|
18
|
-
}
|
|
19
|
-
export interface GeneratedAudio {
|
|
20
|
-
/** Scene order number */
|
|
21
|
-
sceneOrder: number;
|
|
22
|
-
/** Path to the generated audio file */
|
|
23
|
-
audioPath: string;
|
|
24
|
-
/** Approximate duration in seconds */
|
|
25
|
-
estimatedDuration: number;
|
|
26
|
-
/** The transcript that was spoken */
|
|
27
|
-
transcript: string;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Generate audio narration for a list of transcripts.
|
|
31
|
-
*/
|
|
32
|
-
export declare function generateNarration(transcripts: {
|
|
33
|
-
order: number;
|
|
34
|
-
text: string;
|
|
35
|
-
}[], options: TTSOptions, verbose?: boolean): Promise<GeneratedAudio[]>;
|
|
36
|
-
/**
|
|
37
|
-
* Determine actual audio duration using ffprobe (if available).
|
|
38
|
-
* Falls back to estimation if ffprobe is not installed.
|
|
39
|
-
*/
|
|
40
|
-
export declare function getAudioDuration(audioPath: string): Promise<number>;
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Text-to-Speech generator for growth video narration.
|
|
3
|
-
* Supports ElevenLabs (primary) and Deepgram (fallback) for professional voiceovers.
|
|
4
|
-
*/
|
|
5
|
-
import { mkdir, writeFile } from 'fs/promises';
|
|
6
|
-
import { join } from 'path';
|
|
7
|
-
import { logError, logInfo } from '../../utils/logger.js';
|
|
8
|
-
import { fetchWithRetry } from './retry.js';
|
|
9
|
-
// Default voice IDs for different providers
|
|
10
|
-
const DEFAULT_VOICES = {
|
|
11
|
-
elevenlabs: 'EXAVITQu4vr4xnSDxMaL', // "Sarah" - clear, professional female voice
|
|
12
|
-
deepgram: 'aura-asteria-en', // Professional English voice
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Generate audio narration for a list of transcripts.
|
|
16
|
-
*/
|
|
17
|
-
export async function generateNarration(transcripts, options, verbose) {
|
|
18
|
-
await mkdir(options.outputDir, { recursive: true });
|
|
19
|
-
const { provider, apiKey } = options;
|
|
20
|
-
if (!apiKey) {
|
|
21
|
-
throw new Error(`API key required for ${provider}. Set ${provider === 'elevenlabs' ? 'ELEVENLABS_API_KEY' : 'DEEPGRAM_API_KEY'} environment variable.`);
|
|
22
|
-
}
|
|
23
|
-
if (verbose) {
|
|
24
|
-
logInfo(`Generating ${transcripts.length} audio clips using ${provider}`);
|
|
25
|
-
}
|
|
26
|
-
const results = [];
|
|
27
|
-
for (const { order, text } of transcripts) {
|
|
28
|
-
try {
|
|
29
|
-
if (verbose) {
|
|
30
|
-
logInfo(`Generating audio for scene ${order} (${text.length} chars)`);
|
|
31
|
-
}
|
|
32
|
-
let audioBuffer;
|
|
33
|
-
if (provider === 'elevenlabs') {
|
|
34
|
-
audioBuffer = await generateElevenLabsAudio(text, options);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
audioBuffer = await generateDeepgramAudio(text, options);
|
|
38
|
-
}
|
|
39
|
-
const audioPath = join(options.outputDir, `narration-${String(order).padStart(3, '0')}.mp3`);
|
|
40
|
-
await writeFile(audioPath, audioBuffer);
|
|
41
|
-
// Estimate duration: ~150 words per minute for natural speech
|
|
42
|
-
const wordCount = text.split(/\s+/).length;
|
|
43
|
-
const estimatedDuration = (wordCount / 150) * 60;
|
|
44
|
-
results.push({
|
|
45
|
-
sceneOrder: order,
|
|
46
|
-
audioPath,
|
|
47
|
-
estimatedDuration,
|
|
48
|
-
transcript: text,
|
|
49
|
-
});
|
|
50
|
-
if (verbose) {
|
|
51
|
-
logInfo(`Scene ${order}: Audio saved (est. ${estimatedDuration.toFixed(1)}s)`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
logError(`Failed to generate audio for scene ${order}: ${error instanceof Error ? error.message : String(error)}`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
if (results.length === 0) {
|
|
59
|
-
throw new Error('No audio files were generated successfully');
|
|
60
|
-
}
|
|
61
|
-
logInfo(`Generated ${results.length}/${transcripts.length} audio clips`);
|
|
62
|
-
return results;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Generate audio using ElevenLabs API
|
|
66
|
-
*/
|
|
67
|
-
async function generateElevenLabsAudio(text, options) {
|
|
68
|
-
const voiceId = options.voiceId || DEFAULT_VOICES.elevenlabs;
|
|
69
|
-
const response = await fetchWithRetry(`https://api.elevenlabs.io/v1/text-to-speech/${voiceId}`, {
|
|
70
|
-
method: 'POST',
|
|
71
|
-
headers: {
|
|
72
|
-
'Content-Type': 'application/json',
|
|
73
|
-
'xi-api-key': options.apiKey,
|
|
74
|
-
},
|
|
75
|
-
body: JSON.stringify({
|
|
76
|
-
text,
|
|
77
|
-
model_id: 'eleven_multilingual_v2',
|
|
78
|
-
voice_settings: {
|
|
79
|
-
stability: 0.6,
|
|
80
|
-
similarity_boost: 0.85,
|
|
81
|
-
style: 0.3,
|
|
82
|
-
use_speaker_boost: true,
|
|
83
|
-
},
|
|
84
|
-
}),
|
|
85
|
-
}, { label: 'ElevenLabs TTS' });
|
|
86
|
-
const arrayBuffer = await response.arrayBuffer();
|
|
87
|
-
return Buffer.from(arrayBuffer);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Generate audio using Deepgram Aura TTS API
|
|
91
|
-
*/
|
|
92
|
-
async function generateDeepgramAudio(text, options) {
|
|
93
|
-
const voice = options.voiceId || DEFAULT_VOICES.deepgram;
|
|
94
|
-
const response = await fetchWithRetry(`https://api.deepgram.com/v1/speak?model=${voice}&encoding=mp3`, {
|
|
95
|
-
method: 'POST',
|
|
96
|
-
headers: {
|
|
97
|
-
'Content-Type': 'application/json',
|
|
98
|
-
Authorization: `Token ${options.apiKey}`,
|
|
99
|
-
},
|
|
100
|
-
body: JSON.stringify({ text }),
|
|
101
|
-
}, { label: 'Deepgram TTS' });
|
|
102
|
-
const arrayBuffer = await response.arrayBuffer();
|
|
103
|
-
return Buffer.from(arrayBuffer);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Determine actual audio duration using ffprobe (if available).
|
|
107
|
-
* Falls back to estimation if ffprobe is not installed.
|
|
108
|
-
*/
|
|
109
|
-
export async function getAudioDuration(audioPath) {
|
|
110
|
-
try {
|
|
111
|
-
const { execSync } = await import('child_process');
|
|
112
|
-
const output = execSync(`ffprobe -v quiet -show_entries format=duration -of csv=p=0 "${audioPath}"`, { encoding: 'utf-8' }).trim();
|
|
113
|
-
return parseFloat(output);
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
// Fallback: estimate from file size (~16kbps for compressed speech)
|
|
117
|
-
const { stat } = await import('fs/promises');
|
|
118
|
-
const stats = await stat(audioPath);
|
|
119
|
-
return stats.size / (16 * 1024); // rough estimate
|
|
120
|
-
}
|
|
121
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Video assembler that combines screenshots and audio narration into a video.
|
|
3
|
-
* Uses ffmpeg for professional-quality video output.
|
|
4
|
-
*/
|
|
5
|
-
import type { CapturedScene } from './screenshot-generator.js';
|
|
6
|
-
import { type GeneratedAudio } from './tts-generator.js';
|
|
7
|
-
export interface VideoAssemblyOptions {
|
|
8
|
-
/** Output file path for the final video */
|
|
9
|
-
outputPath: string;
|
|
10
|
-
/** Video resolution width */
|
|
11
|
-
width?: number;
|
|
12
|
-
/** Video resolution height */
|
|
13
|
-
height?: number;
|
|
14
|
-
/** Frames per second */
|
|
15
|
-
fps?: number;
|
|
16
|
-
/** Video codec (default: libx264) */
|
|
17
|
-
codec?: string;
|
|
18
|
-
/** Output format (default: mp4) */
|
|
19
|
-
format?: string;
|
|
20
|
-
/** Video quality preset (default: medium) */
|
|
21
|
-
preset?: 'ultrafast' | 'fast' | 'medium' | 'slow';
|
|
22
|
-
/** Add subtle pan/zoom effects (Ken Burns effect) */
|
|
23
|
-
enableKenBurns?: boolean;
|
|
24
|
-
/** Crossfade duration between scenes in seconds */
|
|
25
|
-
crossfadeDuration?: number;
|
|
26
|
-
}
|
|
27
|
-
export interface AssembledVideo {
|
|
28
|
-
/** Path to the output video file */
|
|
29
|
-
videoPath: string;
|
|
30
|
-
/** Total duration in seconds */
|
|
31
|
-
duration: number;
|
|
32
|
-
/** File size in bytes */
|
|
33
|
-
fileSize: number;
|
|
34
|
-
/** Number of scenes included */
|
|
35
|
-
sceneCount: number;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Check if ffmpeg is available on the system
|
|
39
|
-
*/
|
|
40
|
-
export declare function isFfmpegAvailable(): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Assemble a video from captured screenshots and audio narration.
|
|
43
|
-
* Each screenshot is displayed for the duration of its corresponding audio.
|
|
44
|
-
*/
|
|
45
|
-
export declare function assembleVideo(scenes: CapturedScene[], audioFiles: GeneratedAudio[], options: VideoAssemblyOptions, verbose?: boolean): Promise<AssembledVideo>;
|