maestro-flow 0.3.1 → 0.3.3
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/.claude/CLAUDE.md +2 -2
- package/.claude/agents/cli-explore-agent.md +1 -1
- package/.claude/agents/team-worker.md +237 -237
- package/.claude/commands/maestro-coordinate.md +65 -65
- package/.claude/commands/maestro-link-coordinate.md +71 -71
- package/.claude/commands/maestro-overlay.md +178 -122
- package/.claude/commands/manage-issue-execute.md +73 -73
- package/.claude/skills/team-coordinate/SKILL.md +266 -266
- package/.claude/skills/team-lifecycle-v4/SKILL.md +209 -209
- package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +94 -94
- package/.claude/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -62
- package/.claude/skills/team-lifecycle-v4/roles/planner/role.md +85 -85
- package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +95 -95
- package/.claude/skills/team-quality-assurance/SKILL.md +147 -147
- package/.claude/skills/team-quality-assurance/roles/scout/role.md +75 -75
- package/.claude/skills/team-review/SKILL.md +147 -147
- package/.claude/skills/team-review/roles/reviewer/role.md +68 -68
- package/.claude/skills/team-review/roles/scanner/role.md +79 -79
- package/.claude/skills/team-tech-debt/SKILL.md +128 -128
- package/.claude/skills/team-tech-debt/roles/executor/role.md +76 -76
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +90 -90
- package/.claude/skills/team-tech-debt/roles/validator/role.md +78 -78
- package/.claude/skills/team-testing/SKILL.md +143 -143
- package/.claude/skills/team-testing/roles/executor/role.md +99 -99
- package/.claude/skills/team-testing/roles/generator/role.md +98 -98
- package/.codex/skills/maestro-coordinate/SKILL.md +4 -5
- package/.codex/skills/manage-issue-analyze/SKILL.md +3 -3
- package/.codex/skills/manage-issue-execute/SKILL.md +4 -4
- package/.codex/skills/manage-issue-plan/SKILL.md +2 -2
- package/.codex/skills/team-coordinate/SKILL.md +7 -7
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-lifecycle-v4/SKILL.md +2 -2
- package/.codex/skills/team-lifecycle-v4/instructions/agent-instruction.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +1 -1
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +2 -2
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +1 -1
- package/.codex/skills/team-quality-assurance/SKILL.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +2 -2
- package/.codex/skills/team-review/SKILL.md +2 -2
- package/.codex/skills/team-review/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-review/roles/reviewer/role.md +1 -1
- package/.codex/skills/team-review/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/SKILL.md +2 -2
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/executor/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +1 -1
- package/.codex/skills/team-tech-debt/roles/validator/role.md +1 -1
- package/.codex/skills/team-testing/SKILL.md +2 -2
- package/.codex/skills/team-testing/roles/coordinator/role.md +2 -2
- package/.codex/skills/team-testing/roles/executor/role.md +1 -1
- package/.codex/skills/team-testing/roles/generator/role.md +1 -1
- package/README.md +31 -2
- package/README.zh-CN.md +23 -1
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +6 -15
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/delegate.d.ts.map +1 -1
- package/dist/src/commands/delegate.js +77 -1
- package/dist/src/commands/delegate.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +15 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +29 -2
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install-backend.d.ts +15 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +67 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.d.ts +6 -4
- package/dist/src/commands/install-ui/BackupConfig.d.ts.map +1 -1
- package/dist/src/commands/install-ui/BackupConfig.js +39 -12
- package/dist/src/commands/install-ui/BackupConfig.js.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.d.ts.map +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js +1 -1
- package/dist/src/commands/install-ui/ConfigPanel.js.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +3 -0
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallConfirm.js +5 -1
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallExecution.js +30 -5
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallFlow.js +31 -6
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.d.ts +5 -0
- package/dist/src/commands/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallHub.js +24 -0
- package/dist/src/commands/install-ui/InstallHub.js.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/commands/install-ui/InstallResult.js +1 -1
- package/dist/src/commands/install-ui/InstallResult.js.map +1 -1
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts +9 -0
- package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js +13 -0
- package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -0
- package/dist/src/commands/install-ui/index.d.ts +1 -1
- package/dist/src/commands/install-ui/index.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.d.ts +6 -0
- package/dist/src/commands/install-ui/types.d.ts.map +1 -1
- package/dist/src/commands/install-ui/types.js +3 -0
- package/dist/src/commands/install-ui/types.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +6 -1
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/launcher.js +1 -1
- package/dist/src/commands/launcher.js.map +1 -1
- package/dist/src/commands/overlay-ui/OverlayList.d.ts +35 -0
- package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -0
- package/dist/src/commands/overlay-ui/OverlayList.js +143 -0
- package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -0
- package/dist/src/commands/overlay-ui/index.d.ts +2 -0
- package/dist/src/commands/overlay-ui/index.d.ts.map +1 -0
- package/dist/src/commands/overlay-ui/index.js +188 -0
- package/dist/src/commands/overlay-ui/index.js.map +1 -0
- package/dist/src/commands/overlay.d.ts.map +1 -1
- package/dist/src/commands/overlay.js +124 -60
- package/dist/src/commands/overlay.js.map +1 -1
- package/dist/src/commands/team.d.ts +10 -0
- package/dist/src/commands/team.d.ts.map +1 -1
- package/dist/src/commands/team.js +436 -42
- package/dist/src/commands/team.js.map +1 -1
- package/dist/src/core/manifest.d.ts.map +1 -1
- package/dist/src/core/manifest.js +58 -0
- package/dist/src/core/manifest.js.map +1 -1
- package/dist/src/core/overlay/applier.d.ts +36 -1
- package/dist/src/core/overlay/applier.d.ts.map +1 -1
- package/dist/src/core/overlay/applier.js +109 -1
- package/dist/src/core/overlay/applier.js.map +1 -1
- package/dist/src/hooks/delegate-monitor.js +1 -1
- package/dist/src/hooks/delegate-monitor.js.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js +17 -1
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -1
- package/dist/src/hooks/spec-injector.d.ts +2 -1
- package/dist/src/hooks/spec-injector.d.ts.map +1 -1
- package/dist/src/hooks/spec-injector.js +19 -2
- package/dist/src/hooks/spec-injector.js.map +1 -1
- package/dist/src/hooks/team-monitor.d.ts.map +1 -1
- package/dist/src/hooks/team-monitor.js +17 -0
- package/dist/src/hooks/team-monitor.js.map +1 -1
- package/dist/src/i18n/locales/en.d.ts.map +1 -1
- package/dist/src/i18n/locales/en.js +25 -1
- package/dist/src/i18n/locales/en.js.map +1 -1
- package/dist/src/i18n/locales/zh.d.ts.map +1 -1
- package/dist/src/i18n/locales/zh.js +25 -1
- package/dist/src/i18n/locales/zh.js.map +1 -1
- package/dist/src/i18n/types.d.ts +22 -0
- package/dist/src/i18n/types.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
- package/dist/src/mcp/delegate-channel-relay.js +2 -7
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
- package/dist/src/tools/namespace-guard.d.ts +37 -0
- package/dist/src/tools/namespace-guard.d.ts.map +1 -0
- package/dist/src/tools/namespace-guard.js +126 -0
- package/dist/src/tools/namespace-guard.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +17 -1
- package/dist/src/tools/spec-loader.d.ts.map +1 -1
- package/dist/src/tools/spec-loader.js +71 -13
- package/dist/src/tools/spec-loader.js.map +1 -1
- package/dist/src/tools/team-members.d.ts +16 -0
- package/dist/src/tools/team-members.d.ts.map +1 -1
- package/dist/src/tools/team-members.js +31 -0
- package/dist/src/tools/team-members.js.map +1 -1
- package/package.json +1 -1
- package/workflows/delegate-usage.md +330 -0
- package/dist/agents/cli-agent-runner.d.ts +0 -131
- package/dist/agents/cli-agent-runner.d.ts.map +0 -1
- package/dist/agents/cli-agent-runner.js +0 -688
- package/dist/agents/cli-agent-runner.js.map +0 -1
- package/dist/agents/cli-history-store.d.ts +0 -63
- package/dist/agents/cli-history-store.d.ts.map +0 -1
- package/dist/agents/cli-history-store.js +0 -242
- package/dist/agents/cli-history-store.js.map +0 -1
- package/dist/agents/dashboard-bridge.d.ts +0 -39
- package/dist/agents/dashboard-bridge.d.ts.map +0 -1
- package/dist/agents/dashboard-bridge.js +0 -76
- package/dist/agents/dashboard-bridge.js.map +0 -1
- package/dist/agents/parallel-cli-runner.d.ts +0 -46
- package/dist/agents/parallel-cli-runner.d.ts.map +0 -1
- package/dist/agents/parallel-cli-runner.js +0 -277
- package/dist/agents/parallel-cli-runner.js.map +0 -1
- package/dist/agents/terminal-adapter.d.ts +0 -94
- package/dist/agents/terminal-adapter.d.ts.map +0 -1
- package/dist/agents/terminal-adapter.js +0 -132
- package/dist/agents/terminal-adapter.js.map +0 -1
- package/dist/agents/terminal-backend.d.ts +0 -53
- package/dist/agents/terminal-backend.d.ts.map +0 -1
- package/dist/agents/terminal-backend.js +0 -286
- package/dist/agents/terminal-backend.js.map +0 -1
- package/dist/async/delegate-broker-client.d.ts +0 -22
- package/dist/async/delegate-broker-client.d.ts.map +0 -1
- package/dist/async/delegate-broker-client.js +0 -47
- package/dist/async/delegate-broker-client.js.map +0 -1
- package/dist/async/delegate-broker.d.ts +0 -180
- package/dist/async/delegate-broker.d.ts.map +0 -1
- package/dist/async/delegate-broker.js +0 -1040
- package/dist/async/delegate-broker.js.map +0 -1
- package/dist/async/delegate-control.d.ts +0 -37
- package/dist/async/delegate-control.d.ts.map +0 -1
- package/dist/async/delegate-control.js +0 -155
- package/dist/async/delegate-control.js.map +0 -1
- package/dist/async/index.d.ts +0 -3
- package/dist/async/index.d.ts.map +0 -1
- package/dist/async/index.js +0 -3
- package/dist/async/index.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -40
- package/dist/cli.js.map +0 -1
- package/dist/commands/cli.d.ts +0 -3
- package/dist/commands/cli.d.ts.map +0 -1
- package/dist/commands/cli.js +0 -262
- package/dist/commands/cli.js.map +0 -1
- package/dist/commands/coordinate.d.ts +0 -3
- package/dist/commands/coordinate.d.ts.map +0 -1
- package/dist/commands/coordinate.js +0 -275
- package/dist/commands/coordinate.js.map +0 -1
- package/dist/commands/delegate.d.ts +0 -37
- package/dist/commands/delegate.d.ts.map +0 -1
- package/dist/commands/delegate.js +0 -470
- package/dist/commands/delegate.js.map +0 -1
- package/dist/commands/ext.d.ts +0 -3
- package/dist/commands/ext.d.ts.map +0 -1
- package/dist/commands/ext.js +0 -28
- package/dist/commands/ext.js.map +0 -1
- package/dist/commands/hooks.d.ts +0 -3
- package/dist/commands/hooks.d.ts.map +0 -1
- package/dist/commands/hooks.js +0 -126
- package/dist/commands/hooks.js.map +0 -1
- package/dist/commands/install.d.ts +0 -3
- package/dist/commands/install.d.ts.map +0 -1
- package/dist/commands/install.js +0 -621
- package/dist/commands/install.js.map +0 -1
- package/dist/commands/launcher.d.ts +0 -3
- package/dist/commands/launcher.d.ts.map +0 -1
- package/dist/commands/launcher.js +0 -635
- package/dist/commands/launcher.js.map +0 -1
- package/dist/commands/link-coordinate.d.ts +0 -3
- package/dist/commands/link-coordinate.d.ts.map +0 -1
- package/dist/commands/link-coordinate.js +0 -225
- package/dist/commands/link-coordinate.js.map +0 -1
- package/dist/commands/msg.d.ts +0 -3
- package/dist/commands/msg.d.ts.map +0 -1
- package/dist/commands/msg.js +0 -110
- package/dist/commands/msg.js.map +0 -1
- package/dist/commands/overlay.d.ts +0 -3
- package/dist/commands/overlay.d.ts.map +0 -1
- package/dist/commands/overlay.js +0 -243
- package/dist/commands/overlay.js.map +0 -1
- package/dist/commands/run.d.ts +0 -3
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js +0 -15
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/serve.d.ts +0 -3
- package/dist/commands/serve.d.ts.map +0 -1
- package/dist/commands/serve.js +0 -16
- package/dist/commands/serve.js.map +0 -1
- package/dist/commands/spec.d.ts +0 -8
- package/dist/commands/spec.d.ts.map +0 -1
- package/dist/commands/spec.js +0 -147
- package/dist/commands/spec.js.map +0 -1
- package/dist/commands/stop.d.ts +0 -3
- package/dist/commands/stop.d.ts.map +0 -1
- package/dist/commands/stop.js +0 -218
- package/dist/commands/stop.js.map +0 -1
- package/dist/commands/tool.d.ts +0 -3
- package/dist/commands/tool.d.ts.map +0 -1
- package/dist/commands/tool.js +0 -29
- package/dist/commands/tool.js.map +0 -1
- package/dist/commands/uninstall.d.ts +0 -3
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js +0 -77
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/commands/view.d.ts +0 -3
- package/dist/commands/view.d.ts.map +0 -1
- package/dist/commands/view.js +0 -337
- package/dist/commands/view.js.map +0 -1
- package/dist/config/cli-tools-config.d.ts +0 -26
- package/dist/config/cli-tools-config.d.ts.map +0 -1
- package/dist/config/cli-tools-config.js +0 -49
- package/dist/config/cli-tools-config.js.map +0 -1
- package/dist/config/cli-tools-config.test.d.ts +0 -2
- package/dist/config/cli-tools-config.test.d.ts.map +0 -1
- package/dist/config/cli-tools-config.test.js +0 -59
- package/dist/config/cli-tools-config.test.js.map +0 -1
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -27
- package/dist/config/index.js.map +0 -1
- package/dist/config/paths.d.ts +0 -15
- package/dist/config/paths.d.ts.map +0 -1
- package/dist/config/paths.js +0 -27
- package/dist/config/paths.js.map +0 -1
- package/dist/config/template-discovery.d.ts +0 -32
- package/dist/config/template-discovery.d.ts.map +0 -1
- package/dist/config/template-discovery.js +0 -128
- package/dist/config/template-discovery.js.map +0 -1
- package/dist/coordinator/cli-executor.d.ts +0 -22
- package/dist/coordinator/cli-executor.d.ts.map +0 -1
- package/dist/coordinator/cli-executor.js +0 -49
- package/dist/coordinator/cli-executor.js.map +0 -1
- package/dist/coordinator/expr-evaluator.d.ts +0 -11
- package/dist/coordinator/expr-evaluator.d.ts.map +0 -1
- package/dist/coordinator/expr-evaluator.js +0 -351
- package/dist/coordinator/expr-evaluator.js.map +0 -1
- package/dist/coordinator/graph-loader.d.ts +0 -16
- package/dist/coordinator/graph-loader.d.ts.map +0 -1
- package/dist/coordinator/graph-loader.js +0 -190
- package/dist/coordinator/graph-loader.js.map +0 -1
- package/dist/coordinator/graph-types.d.ts +0 -304
- package/dist/coordinator/graph-types.d.ts.map +0 -1
- package/dist/coordinator/graph-types.js +0 -6
- package/dist/coordinator/graph-types.js.map +0 -1
- package/dist/coordinator/graph-walker.d.ts +0 -51
- package/dist/coordinator/graph-walker.d.ts.map +0 -1
- package/dist/coordinator/graph-walker.js +0 -666
- package/dist/coordinator/graph-walker.js.map +0 -1
- package/dist/coordinator/index.d.ts +0 -13
- package/dist/coordinator/index.d.ts.map +0 -1
- package/dist/coordinator/index.js +0 -14
- package/dist/coordinator/index.js.map +0 -1
- package/dist/coordinator/intent-router.d.ts +0 -11
- package/dist/coordinator/intent-router.d.ts.map +0 -1
- package/dist/coordinator/intent-router.js +0 -65
- package/dist/coordinator/intent-router.js.map +0 -1
- package/dist/coordinator/link-session.d.ts +0 -29
- package/dist/coordinator/link-session.d.ts.map +0 -1
- package/dist/coordinator/link-session.js +0 -192
- package/dist/coordinator/link-session.js.map +0 -1
- package/dist/coordinator/link-walker.d.ts +0 -56
- package/dist/coordinator/link-walker.d.ts.map +0 -1
- package/dist/coordinator/link-walker.js +0 -548
- package/dist/coordinator/link-walker.js.map +0 -1
- package/dist/coordinator/output-parser.d.ts +0 -5
- package/dist/coordinator/output-parser.d.ts.map +0 -1
- package/dist/coordinator/output-parser.js +0 -114
- package/dist/coordinator/output-parser.js.map +0 -1
- package/dist/coordinator/parallel-executor.d.ts +0 -24
- package/dist/coordinator/parallel-executor.d.ts.map +0 -1
- package/dist/coordinator/parallel-executor.js +0 -43
- package/dist/coordinator/parallel-executor.js.map +0 -1
- package/dist/coordinator/prompt-assembler.d.ts +0 -15
- package/dist/coordinator/prompt-assembler.d.ts.map +0 -1
- package/dist/coordinator/prompt-assembler.js +0 -228
- package/dist/coordinator/prompt-assembler.js.map +0 -1
- package/dist/coordinator/step-analyzer.d.ts +0 -8
- package/dist/coordinator/step-analyzer.d.ts.map +0 -1
- package/dist/coordinator/step-analyzer.js +0 -82
- package/dist/coordinator/step-analyzer.js.map +0 -1
- package/dist/core/extension-loader.d.ts +0 -11
- package/dist/core/extension-loader.d.ts.map +0 -1
- package/dist/core/extension-loader.js +0 -54
- package/dist/core/extension-loader.js.map +0 -1
- package/dist/core/manifest.d.ts +0 -24
- package/dist/core/manifest.d.ts.map +0 -1
- package/dist/core/manifest.js +0 -139
- package/dist/core/manifest.js.map +0 -1
- package/dist/core/mcp-tool-registry.integration.test.d.ts +0 -2
- package/dist/core/mcp-tool-registry.integration.test.d.ts.map +0 -1
- package/dist/core/mcp-tool-registry.integration.test.js +0 -220
- package/dist/core/mcp-tool-registry.integration.test.js.map +0 -1
- package/dist/core/overlay/applier.d.ts +0 -73
- package/dist/core/overlay/applier.d.ts.map +0 -1
- package/dist/core/overlay/applier.js +0 -248
- package/dist/core/overlay/applier.js.map +0 -1
- package/dist/core/overlay/loader.d.ts +0 -26
- package/dist/core/overlay/loader.d.ts.map +0 -1
- package/dist/core/overlay/loader.js +0 -199
- package/dist/core/overlay/loader.js.map +0 -1
- package/dist/core/overlay/patcher.d.ts +0 -26
- package/dist/core/overlay/patcher.d.ts.map +0 -1
- package/dist/core/overlay/patcher.js +0 -212
- package/dist/core/overlay/patcher.js.map +0 -1
- package/dist/core/overlay/section-parser.d.ts +0 -25
- package/dist/core/overlay/section-parser.d.ts.map +0 -1
- package/dist/core/overlay/section-parser.js +0 -99
- package/dist/core/overlay/section-parser.js.map +0 -1
- package/dist/core/overlay/types.d.ts +0 -51
- package/dist/core/overlay/types.d.ts.map +0 -1
- package/dist/core/overlay/types.js +0 -15
- package/dist/core/overlay/types.js.map +0 -1
- package/dist/core/tool-registry.d.ts +0 -10
- package/dist/core/tool-registry.d.ts.map +0 -1
- package/dist/core/tool-registry.js +0 -29
- package/dist/core/tool-registry.js.map +0 -1
- package/dist/core/tool-registry.test.d.ts +0 -2
- package/dist/core/tool-registry.test.d.ts.map +0 -1
- package/dist/core/tool-registry.test.js +0 -78
- package/dist/core/tool-registry.test.js.map +0 -1
- package/dist/db/connection-pool.d.ts +0 -21
- package/dist/db/connection-pool.d.ts.map +0 -1
- package/dist/db/connection-pool.js +0 -53
- package/dist/db/connection-pool.js.map +0 -1
- package/dist/db/index.d.ts +0 -6
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/index.js +0 -9
- package/dist/db/index.js.map +0 -1
- package/dist/db/schema/core/index.d.ts +0 -5
- package/dist/db/schema/core/index.d.ts.map +0 -1
- package/dist/db/schema/core/index.js +0 -5
- package/dist/db/schema/core/index.js.map +0 -1
- package/dist/db/schema/core/organizations.d.ts +0 -244
- package/dist/db/schema/core/organizations.d.ts.map +0 -1
- package/dist/db/schema/core/organizations.js +0 -44
- package/dist/db/schema/core/organizations.js.map +0 -1
- package/dist/db/schema/core/permissions.d.ts +0 -158
- package/dist/db/schema/core/permissions.d.ts.map +0 -1
- package/dist/db/schema/core/permissions.js +0 -62
- package/dist/db/schema/core/permissions.js.map +0 -1
- package/dist/db/schema/core/refresh-tokens.d.ts +0 -147
- package/dist/db/schema/core/refresh-tokens.d.ts.map +0 -1
- package/dist/db/schema/core/refresh-tokens.js +0 -22
- package/dist/db/schema/core/refresh-tokens.js.map +0 -1
- package/dist/db/schema/core/users.d.ts +0 -178
- package/dist/db/schema/core/users.d.ts.map +0 -1
- package/dist/db/schema/core/users.js +0 -14
- package/dist/db/schema/core/users.js.map +0 -1
- package/dist/db/tenant-migrator.d.ts +0 -11
- package/dist/db/tenant-migrator.d.ts.map +0 -1
- package/dist/db/tenant-migrator.js +0 -74
- package/dist/db/tenant-migrator.js.map +0 -1
- package/dist/db/tenant-schema.d.ts +0 -290
- package/dist/db/tenant-schema.d.ts.map +0 -1
- package/dist/db/tenant-schema.js +0 -32
- package/dist/db/tenant-schema.js.map +0 -1
- package/dist/hooks/constants.d.ts +0 -40
- package/dist/hooks/constants.d.ts.map +0 -1
- package/dist/hooks/constants.js +0 -53
- package/dist/hooks/constants.js.map +0 -1
- package/dist/hooks/context-monitor.d.ts +0 -33
- package/dist/hooks/context-monitor.d.ts.map +0 -1
- package/dist/hooks/context-monitor.js +0 -117
- package/dist/hooks/context-monitor.js.map +0 -1
- package/dist/hooks/delegate-monitor.d.ts +0 -24
- package/dist/hooks/delegate-monitor.d.ts.map +0 -1
- package/dist/hooks/delegate-monitor.js +0 -76
- package/dist/hooks/delegate-monitor.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -4
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -4
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/statusline.d.ts +0 -29
- package/dist/hooks/statusline.d.ts.map +0 -1
- package/dist/hooks/statusline.js +0 -134
- package/dist/hooks/statusline.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -6
- package/dist/index.js.map +0 -1
- package/dist/mcp/delegate-channel-relay.d.ts +0 -51
- package/dist/mcp/delegate-channel-relay.d.ts.map +0 -1
- package/dist/mcp/delegate-channel-relay.js +0 -307
- package/dist/mcp/delegate-channel-relay.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -6
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -64
- package/dist/mcp/server.js.map +0 -1
- package/dist/middleware/auth.d.ts +0 -13
- package/dist/middleware/auth.d.ts.map +0 -1
- package/dist/middleware/auth.js +0 -27
- package/dist/middleware/auth.js.map +0 -1
- package/dist/middleware/permission.d.ts +0 -9
- package/dist/middleware/permission.d.ts.map +0 -1
- package/dist/middleware/permission.js +0 -19
- package/dist/middleware/permission.js.map +0 -1
- package/dist/middleware/rate-limit.d.ts +0 -9
- package/dist/middleware/rate-limit.d.ts.map +0 -1
- package/dist/middleware/rate-limit.js +0 -40
- package/dist/middleware/rate-limit.js.map +0 -1
- package/dist/middleware/tenant.d.ts +0 -17
- package/dist/middleware/tenant.d.ts.map +0 -1
- package/dist/middleware/tenant.js +0 -57
- package/dist/middleware/tenant.js.map +0 -1
- package/dist/middleware/validation.d.ts +0 -40
- package/dist/middleware/validation.d.ts.map +0 -1
- package/dist/middleware/validation.js +0 -51
- package/dist/middleware/validation.js.map +0 -1
- package/dist/routes/auth.d.ts +0 -3
- package/dist/routes/auth.d.ts.map +0 -1
- package/dist/routes/auth.js +0 -77
- package/dist/routes/auth.js.map +0 -1
- package/dist/routes/members.d.ts +0 -4
- package/dist/routes/members.d.ts.map +0 -1
- package/dist/routes/members.js +0 -114
- package/dist/routes/members.js.map +0 -1
- package/dist/routes/organizations.d.ts +0 -5
- package/dist/routes/organizations.d.ts.map +0 -1
- package/dist/routes/organizations.js +0 -97
- package/dist/routes/organizations.js.map +0 -1
- package/dist/services/auth.service.d.ts +0 -24
- package/dist/services/auth.service.d.ts.map +0 -1
- package/dist/services/auth.service.js +0 -70
- package/dist/services/auth.service.js.map +0 -1
- package/dist/services/password.service.d.ts +0 -3
- package/dist/services/password.service.d.ts.map +0 -1
- package/dist/services/password.service.js +0 -18
- package/dist/services/password.service.js.map +0 -1
- package/dist/services/rbac.service.d.ts +0 -7
- package/dist/services/rbac.service.d.ts.map +0 -1
- package/dist/services/rbac.service.js +0 -36
- package/dist/services/rbac.service.js.map +0 -1
- package/dist/services/token.service.d.ts +0 -18
- package/dist/services/token.service.d.ts.map +0 -1
- package/dist/services/token.service.js +0 -86
- package/dist/services/token.service.js.map +0 -1
- package/dist/tools/core-memory.d.ts +0 -12
- package/dist/tools/core-memory.d.ts.map +0 -1
- package/dist/tools/core-memory.js +0 -276
- package/dist/tools/core-memory.js.map +0 -1
- package/dist/tools/edit-file.d.ts +0 -25
- package/dist/tools/edit-file.d.ts.map +0 -1
- package/dist/tools/edit-file.js +0 -462
- package/dist/tools/edit-file.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -536
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/read-file.d.ts +0 -13
- package/dist/tools/read-file.d.ts.map +0 -1
- package/dist/tools/read-file.js +0 -91
- package/dist/tools/read-file.js.map +0 -1
- package/dist/tools/read-many-files.d.ts +0 -15
- package/dist/tools/read-many-files.d.ts.map +0 -1
- package/dist/tools/read-many-files.js +0 -187
- package/dist/tools/read-many-files.js.map +0 -1
- package/dist/tools/spec-index-builder.d.ts +0 -58
- package/dist/tools/spec-index-builder.d.ts.map +0 -1
- package/dist/tools/spec-index-builder.js +0 -211
- package/dist/tools/spec-index-builder.js.map +0 -1
- package/dist/tools/spec-init.d.ts +0 -17
- package/dist/tools/spec-init.d.ts.map +0 -1
- package/dist/tools/spec-init.js +0 -215
- package/dist/tools/spec-init.js.map +0 -1
- package/dist/tools/spec-keyword-extractor.d.ts +0 -24
- package/dist/tools/spec-keyword-extractor.d.ts.map +0 -1
- package/dist/tools/spec-keyword-extractor.js +0 -84
- package/dist/tools/spec-keyword-extractor.js.map +0 -1
- package/dist/tools/spec-keyword-extractor.test.d.ts +0 -2
- package/dist/tools/spec-keyword-extractor.test.d.ts.map +0 -1
- package/dist/tools/spec-keyword-extractor.test.js +0 -99
- package/dist/tools/spec-keyword-extractor.test.js.map +0 -1
- package/dist/tools/spec-loader.d.ts +0 -15
- package/dist/tools/spec-loader.d.ts.map +0 -1
- package/dist/tools/spec-loader.js +0 -93
- package/dist/tools/spec-loader.js.map +0 -1
- package/dist/tools/team-msg.d.ts +0 -52
- package/dist/tools/team-msg.d.ts.map +0 -1
- package/dist/tools/team-msg.js +0 -449
- package/dist/tools/team-msg.js.map +0 -1
- package/dist/tools/write-file.d.ts +0 -19
- package/dist/tools/write-file.d.ts.map +0 -1
- package/dist/tools/write-file.js +0 -165
- package/dist/tools/write-file.js.map +0 -1
- package/dist/types/index.d.ts +0 -47
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.js.map +0 -1
- package/dist/types/tool-schema.d.ts +0 -37
- package/dist/types/tool-schema.d.ts.map +0 -1
- package/dist/types/tool-schema.js +0 -24
- package/dist/types/tool-schema.js.map +0 -1
- package/dist/utils/file-reader.d.ts +0 -74
- package/dist/utils/file-reader.d.ts.map +0 -1
- package/dist/utils/file-reader.js +0 -217
- package/dist/utils/file-reader.js.map +0 -1
- package/dist/utils/path-validator.d.ts +0 -52
- package/dist/utils/path-validator.d.ts.map +0 -1
- package/dist/utils/path-validator.js +0 -151
- package/dist/utils/path-validator.js.map +0 -1
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
// ---------------------------------------------------------------------------
|
|
2
|
-
// Graph Coordinator — Output Parser
|
|
3
|
-
// Extracts structured data from agent raw output text.
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
const RESULT_MARKER = '--- COORDINATE RESULT ---';
|
|
6
|
-
const FIELD_PATTERNS = {
|
|
7
|
-
status: /^STATUS:\s*(.+)/i,
|
|
8
|
-
phase: /^PHASE:\s*(.+)/i,
|
|
9
|
-
verification_status: /^VERIFICATION_STATUS:\s*(.+)/i,
|
|
10
|
-
review_verdict: /^REVIEW_VERDICT:\s*(.+)/i,
|
|
11
|
-
uat_status: /^UAT_STATUS:\s*(.+)/i,
|
|
12
|
-
artifacts: /^ARTIFACTS:\s*(.+)/i,
|
|
13
|
-
summary: /^SUMMARY:\s*(.+)/i,
|
|
14
|
-
};
|
|
15
|
-
function makeFailureResult(summary) {
|
|
16
|
-
return {
|
|
17
|
-
structured: {
|
|
18
|
-
status: 'FAILURE',
|
|
19
|
-
phase: null,
|
|
20
|
-
verification_status: null,
|
|
21
|
-
review_verdict: null,
|
|
22
|
-
uat_status: null,
|
|
23
|
-
artifacts: [],
|
|
24
|
-
summary,
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function parseResultBlock(block) {
|
|
29
|
-
const lines = block.split('\n');
|
|
30
|
-
const raw = {};
|
|
31
|
-
for (const line of lines) {
|
|
32
|
-
const trimmed = line.trim();
|
|
33
|
-
for (const [field, pattern] of Object.entries(FIELD_PATTERNS)) {
|
|
34
|
-
const m = trimmed.match(pattern);
|
|
35
|
-
if (m) {
|
|
36
|
-
raw[field] = m[1].trim();
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const status = raw.status?.toUpperCase() === 'SUCCESS' ? 'SUCCESS' : 'FAILURE';
|
|
41
|
-
const phaseRaw = raw.phase;
|
|
42
|
-
const phase = phaseRaw && phaseRaw.toLowerCase() !== 'none' ? phaseRaw : null;
|
|
43
|
-
const verificationStatus = raw.verification_status || null;
|
|
44
|
-
const reviewVerdict = raw.review_verdict || null;
|
|
45
|
-
const uatStatus = raw.uat_status || null;
|
|
46
|
-
const artifactsRaw = raw.artifacts;
|
|
47
|
-
let artifacts = [];
|
|
48
|
-
if (artifactsRaw && artifactsRaw.toLowerCase() !== 'none') {
|
|
49
|
-
artifacts = artifactsRaw.split(',').map(s => s.trim()).filter(Boolean);
|
|
50
|
-
}
|
|
51
|
-
const summary = raw.summary || '';
|
|
52
|
-
return {
|
|
53
|
-
status,
|
|
54
|
-
phase,
|
|
55
|
-
verification_status: verificationStatus,
|
|
56
|
-
review_verdict: reviewVerdict,
|
|
57
|
-
uat_status: uatStatus,
|
|
58
|
-
artifacts,
|
|
59
|
-
summary,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function applyExtractRules(rawOutput, extract, structured) {
|
|
63
|
-
for (const rule of Object.values(extract)) {
|
|
64
|
-
switch (rule.strategy) {
|
|
65
|
-
case 'regex': {
|
|
66
|
-
const m = rawOutput.match(new RegExp(rule.pattern));
|
|
67
|
-
if (m && m[1] !== undefined) {
|
|
68
|
-
structured[rule.target] = m[1];
|
|
69
|
-
}
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
72
|
-
case 'line_match': {
|
|
73
|
-
for (const line of rawOutput.split('\n')) {
|
|
74
|
-
const trimmed = line.trim();
|
|
75
|
-
if (trimmed.startsWith(rule.pattern)) {
|
|
76
|
-
structured[rule.target] = trimmed.slice(rule.pattern.length).trim();
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
case 'json_path':
|
|
83
|
-
// Reserved for future implementation
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export class DefaultOutputParser {
|
|
89
|
-
parse(rawOutput, node) {
|
|
90
|
-
if (!rawOutput || rawOutput.trim() === '') {
|
|
91
|
-
return makeFailureResult('Empty output');
|
|
92
|
-
}
|
|
93
|
-
// Find the LAST COORDINATE RESULT block
|
|
94
|
-
const lastIdx = rawOutput.lastIndexOf(RESULT_MARKER);
|
|
95
|
-
if (lastIdx !== -1) {
|
|
96
|
-
const blockText = rawOutput.slice(lastIdx + RESULT_MARKER.length);
|
|
97
|
-
const structured = parseResultBlock(blockText);
|
|
98
|
-
if (node.extract) {
|
|
99
|
-
applyExtractRules(rawOutput, node.extract, structured);
|
|
100
|
-
}
|
|
101
|
-
return { structured };
|
|
102
|
-
}
|
|
103
|
-
// No RESULT block — this is the contract the prompt assembler mandates,
|
|
104
|
-
// so its absence is a protocol failure. Never infer SUCCESS from free-form
|
|
105
|
-
// output: a silent-success fallback hides real failures and breaks decision
|
|
106
|
-
// nodes that branch on verification_status / review_verdict.
|
|
107
|
-
const result = makeFailureResult('No COORDINATE RESULT block found');
|
|
108
|
-
if (node.extract) {
|
|
109
|
-
applyExtractRules(rawOutput, node.extract, result.structured);
|
|
110
|
-
}
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=output-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output-parser.js","sourceRoot":"","sources":["../../src/coordinator/output-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { AgentType } from './graph-types.js';
|
|
2
|
-
import type { ParallelCliRunner } from '../agents/parallel-cli-runner.js';
|
|
3
|
-
export interface BranchTask {
|
|
4
|
-
branchId: string;
|
|
5
|
-
nodeId: string;
|
|
6
|
-
prompt: string;
|
|
7
|
-
workDir: string;
|
|
8
|
-
agentType: AgentType;
|
|
9
|
-
}
|
|
10
|
-
export interface BranchResult {
|
|
11
|
-
branchId: string;
|
|
12
|
-
success: boolean;
|
|
13
|
-
output: string;
|
|
14
|
-
durationMs: number;
|
|
15
|
-
}
|
|
16
|
-
export interface ParallelCommandExecutor {
|
|
17
|
-
executeBranches(branches: BranchTask[], joinStrategy: 'all' | 'any' | 'majority', signal?: AbortSignal): Promise<BranchResult[]>;
|
|
18
|
-
}
|
|
19
|
-
export declare class DefaultParallelExecutor implements ParallelCommandExecutor {
|
|
20
|
-
private readonly runner;
|
|
21
|
-
constructor(runner: ParallelCliRunner);
|
|
22
|
-
executeBranches(branches: BranchTask[], joinStrategy: 'all' | 'any' | 'majority', signal?: AbortSignal): Promise<BranchResult[]>;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=parallel-executor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-executor.d.ts","sourceRoot":"","sources":["../../src/coordinator/parallel-executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAM1E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,CACb,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,EACxC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAC5B;AAkBD,qBAAa,uBAAwB,YAAW,uBAAuB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEhD,eAAe,CACnB,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,EACxC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;CAqB3B"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
// ---------------------------------------------------------------------------
|
|
2
|
-
// Parallel Executor — Bridge between GraphWalker fork/join and ParallelCliRunner.
|
|
3
|
-
// Wraps ParallelCliRunner.runAll() behind a GraphWalker-friendly interface.
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
// ---------------------------------------------------------------------------
|
|
6
|
-
// AgentType -> tool name mapping (reverse of parallel-cli-runner)
|
|
7
|
-
// ---------------------------------------------------------------------------
|
|
8
|
-
const AGENT_TYPE_TO_TOOL = {
|
|
9
|
-
gemini: 'gemini',
|
|
10
|
-
qwen: 'qwen',
|
|
11
|
-
codex: 'codex',
|
|
12
|
-
'claude-code': 'claude',
|
|
13
|
-
opencode: 'opencode',
|
|
14
|
-
};
|
|
15
|
-
// ---------------------------------------------------------------------------
|
|
16
|
-
// DefaultParallelExecutor
|
|
17
|
-
// ---------------------------------------------------------------------------
|
|
18
|
-
export class DefaultParallelExecutor {
|
|
19
|
-
runner;
|
|
20
|
-
constructor(runner) {
|
|
21
|
-
this.runner = runner;
|
|
22
|
-
}
|
|
23
|
-
async executeBranches(branches, joinStrategy, signal) {
|
|
24
|
-
const tasks = branches.map((b) => ({
|
|
25
|
-
id: b.branchId,
|
|
26
|
-
prompt: b.prompt,
|
|
27
|
-
tool: AGENT_TYPE_TO_TOOL[b.agentType] ?? 'gemini',
|
|
28
|
-
workDir: b.workDir,
|
|
29
|
-
mode: 'write',
|
|
30
|
-
}));
|
|
31
|
-
const { results } = await this.runner.runAll(tasks, {
|
|
32
|
-
joinStrategy,
|
|
33
|
-
signal,
|
|
34
|
-
});
|
|
35
|
-
return results.map((r) => ({
|
|
36
|
-
branchId: r.id,
|
|
37
|
-
success: r.success,
|
|
38
|
-
output: r.output,
|
|
39
|
-
durationMs: r.durationMs,
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=parallel-executor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-executor.js","sourceRoot":"","sources":["../../src/coordinator/parallel-executor.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kFAAkF;AAClF,4EAA4E;AAC5E,8EAA8E;AAgC9E,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAE9E,MAAM,kBAAkB,GAA2B;IACjD,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,QAAQ;IACvB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,KAAK,CAAC,eAAe,CACnB,QAAsB,EACtB,YAAwC,EACxC,MAAoB;QAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,QAAQ;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ;YACjD,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,OAAgB;SACvB,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YAClD,YAAY;YACZ,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,QAAQ,EAAE,CAAC,CAAC,EAAE;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { AssembleRequest, CommandNode, ProjectSnapshot, PromptAssembler, WalkerContext } from './graph-types.js';
|
|
2
|
-
export declare class DefaultPromptAssembler implements PromptAssembler {
|
|
3
|
-
private readonly workflowRoot;
|
|
4
|
-
private readonly templateDir;
|
|
5
|
-
constructor(workflowRoot: string, templateDir: string);
|
|
6
|
-
assemble(req: AssembleRequest): Promise<string>;
|
|
7
|
-
resolveArgs(args: string, ctx: WalkerContext): string;
|
|
8
|
-
private resolveKey;
|
|
9
|
-
buildCommand(node: CommandNode, resolvedArgs: string, autoMode: boolean): string;
|
|
10
|
-
buildPreviousContext(req: AssembleRequest): string;
|
|
11
|
-
buildStateSnapshot(project: ProjectSnapshot): string;
|
|
12
|
-
private loadTemplate;
|
|
13
|
-
renderTemplate(template: string, vars: Record<string, string>): string;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=prompt-assembler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembler.d.ts","sourceRoot":"","sources":["../../src/coordinator/prompt-assembler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,kBAAkB,CAAC;AA2C1B,qBAAa,sBAAuB,YAAW,eAAe;IAE1D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM;IAGhC,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BrD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM;IAOrD,OAAO,CAAC,UAAU;IA0BlB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAShF,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAsDlD,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;YAgCtC,YAAY;IAS1B,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAkBvE"}
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
// Graph Coordinator — Prompt Assembler
|
|
2
|
-
// 6-phase pipeline: resolve args → build command → inject context →
|
|
3
|
-
// inject state → apply template → auto directive.
|
|
4
|
-
import { readFile } from 'node:fs/promises';
|
|
5
|
-
import { join } from 'node:path';
|
|
6
|
-
// Built-in default template (used when file template not found)
|
|
7
|
-
const DEFAULT_TEMPLATE = `# Coordinate Step {{STEP_N}} — {{GRAPH_NAME}}
|
|
8
|
-
|
|
9
|
-
## Command
|
|
10
|
-
{{COMMAND}}
|
|
11
|
-
|
|
12
|
-
{{#AUTO_DIRECTIVE}}
|
|
13
|
-
**Mode:** {{AUTO_DIRECTIVE}}
|
|
14
|
-
{{/AUTO_DIRECTIVE}}
|
|
15
|
-
|
|
16
|
-
{{#PREVIOUS_CONTEXT}}
|
|
17
|
-
## Context from Previous Step
|
|
18
|
-
{{PREVIOUS_CONTEXT}}
|
|
19
|
-
{{/PREVIOUS_CONTEXT}}
|
|
20
|
-
|
|
21
|
-
{{#STATE_SNAPSHOT}}
|
|
22
|
-
## Current State
|
|
23
|
-
{{STATE_SNAPSHOT}}
|
|
24
|
-
{{/STATE_SNAPSHOT}}
|
|
25
|
-
|
|
26
|
-
{{#INTENT}}
|
|
27
|
-
## Original Intent
|
|
28
|
-
{{INTENT}}
|
|
29
|
-
{{/INTENT}}
|
|
30
|
-
|
|
31
|
-
## Return Format
|
|
32
|
-
|
|
33
|
-
Output MUST end with this exact block:
|
|
34
|
-
|
|
35
|
-
\`\`\`
|
|
36
|
-
--- COORDINATE RESULT ---
|
|
37
|
-
STATUS: <SUCCESS or FAILURE>
|
|
38
|
-
PHASE: <number, or "none">
|
|
39
|
-
VERIFICATION_STATUS: <passed or failed or pending, if applicable>
|
|
40
|
-
REVIEW_VERDICT: <PASS or WARN or BLOCK, if applicable>
|
|
41
|
-
UAT_STATUS: <passed or failed or pending, if applicable>
|
|
42
|
-
ARTIFACTS: <comma-separated file paths, or "none">
|
|
43
|
-
SUMMARY: <one-line what was accomplished>
|
|
44
|
-
\`\`\`
|
|
45
|
-
`;
|
|
46
|
-
export class DefaultPromptAssembler {
|
|
47
|
-
workflowRoot;
|
|
48
|
-
templateDir;
|
|
49
|
-
constructor(workflowRoot, templateDir) {
|
|
50
|
-
this.workflowRoot = workflowRoot;
|
|
51
|
-
this.templateDir = templateDir;
|
|
52
|
-
}
|
|
53
|
-
async assemble(req) {
|
|
54
|
-
const { node, context: ctx, graph, auto_mode } = req;
|
|
55
|
-
const resolvedArgs = this.resolveArgs(node.args ?? '', ctx);
|
|
56
|
-
const command = this.buildCommand(node, resolvedArgs, auto_mode);
|
|
57
|
-
const previousContext = this.buildPreviousContext(req);
|
|
58
|
-
const stateSnapshot = this.buildStateSnapshot(ctx.project);
|
|
59
|
-
const autoDirective = auto_mode
|
|
60
|
-
? 'Auto-confirm all prompts. No interactive questions. Skip clarifications.'
|
|
61
|
-
: '';
|
|
62
|
-
const vars = {
|
|
63
|
-
COMMAND: command,
|
|
64
|
-
STEP_N: `${req.command_index}/${req.command_total}`,
|
|
65
|
-
GRAPH_NAME: graph.name,
|
|
66
|
-
GRAPH_ID: graph.id,
|
|
67
|
-
NODE_ID: req.node_id,
|
|
68
|
-
PREVIOUS_CONTEXT: previousContext,
|
|
69
|
-
STATE_SNAPSHOT: stateSnapshot,
|
|
70
|
-
AUTO_DIRECTIVE: autoDirective,
|
|
71
|
-
INTENT: ctx.inputs['intent'] ?? '',
|
|
72
|
-
};
|
|
73
|
-
const template = await this.loadTemplate();
|
|
74
|
-
return this.renderTemplate(template, vars);
|
|
75
|
-
}
|
|
76
|
-
// -- Phase 1: Resolve Args --
|
|
77
|
-
resolveArgs(args, ctx) {
|
|
78
|
-
return args.replace(/\{([^}]+)\}/g, (_match, key) => {
|
|
79
|
-
const value = this.resolveKey(key.trim(), ctx);
|
|
80
|
-
return value !== undefined ? String(value) : `{${key}}`;
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
resolveKey(key, ctx) {
|
|
84
|
-
// {var.xxx} or {var.xxx.yyy} — dig into ctx.var
|
|
85
|
-
if (key.startsWith('var.')) {
|
|
86
|
-
return dig(ctx.var, key.slice(4).split('.'));
|
|
87
|
-
}
|
|
88
|
-
// {word} — try ctx.inputs first, then ctx.var
|
|
89
|
-
if (!key.includes('.')) {
|
|
90
|
-
if (key in ctx.inputs)
|
|
91
|
-
return ctx.inputs[key];
|
|
92
|
-
if (key in ctx.var)
|
|
93
|
-
return ctx.var[key];
|
|
94
|
-
return undefined;
|
|
95
|
-
}
|
|
96
|
-
// {word.path} — try inputs[word] then var[word]
|
|
97
|
-
const [first, ...rest] = key.split('.');
|
|
98
|
-
if (first in ctx.inputs) {
|
|
99
|
-
const root = ctx.inputs[first];
|
|
100
|
-
return rest.length > 0 ? dig(root, rest) : root;
|
|
101
|
-
}
|
|
102
|
-
if (first in ctx.var) {
|
|
103
|
-
const root = ctx.var[first];
|
|
104
|
-
return rest.length > 0 ? dig(root, rest) : root;
|
|
105
|
-
}
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
// -- Phase 2: Build Command Block --
|
|
109
|
-
buildCommand(node, resolvedArgs, autoMode) {
|
|
110
|
-
const parts = [`/${node.cmd}`];
|
|
111
|
-
if (resolvedArgs)
|
|
112
|
-
parts.push(resolvedArgs);
|
|
113
|
-
if (autoMode && node.auto_flag)
|
|
114
|
-
parts.push(node.auto_flag);
|
|
115
|
-
return parts.join(' ').trim();
|
|
116
|
-
}
|
|
117
|
-
// -- Phase 3: Inject Previous Context --
|
|
118
|
-
buildPreviousContext(req) {
|
|
119
|
-
const sections = [];
|
|
120
|
-
const ctx = req.context;
|
|
121
|
-
// 3a: Previous command
|
|
122
|
-
if (req.previous_command) {
|
|
123
|
-
const pc = req.previous_command;
|
|
124
|
-
let section = `### Previous Step: ${pc.cmd} (${pc.outcome})`;
|
|
125
|
-
if (pc.summary)
|
|
126
|
-
section += `\n${pc.summary}`;
|
|
127
|
-
sections.push(section);
|
|
128
|
-
}
|
|
129
|
-
// 3b: Previous result
|
|
130
|
-
if (ctx.result) {
|
|
131
|
-
const lines = ['### Previous Result'];
|
|
132
|
-
const r = ctx.result;
|
|
133
|
-
if (r['status'])
|
|
134
|
-
lines.push(`- **Status:** ${r['status']}`);
|
|
135
|
-
if (r['phase'])
|
|
136
|
-
lines.push(`- **Phase:** ${r['phase']}`);
|
|
137
|
-
if (r['artifacts'])
|
|
138
|
-
lines.push(`- **Artifacts:** ${r['artifacts']}`);
|
|
139
|
-
if (r['summary'])
|
|
140
|
-
lines.push(`- **Summary:** ${r['summary']}`);
|
|
141
|
-
sections.push(lines.join('\n'));
|
|
142
|
-
}
|
|
143
|
-
// 3c: Analysis hints
|
|
144
|
-
if (ctx.analysis) {
|
|
145
|
-
const a = ctx.analysis;
|
|
146
|
-
const hints = a['next_step_hints'];
|
|
147
|
-
const lines = ['### Analysis Hints'];
|
|
148
|
-
if (hints) {
|
|
149
|
-
if (hints['prompt_additions']) {
|
|
150
|
-
lines.push(String(hints['prompt_additions']));
|
|
151
|
-
}
|
|
152
|
-
if (Array.isArray(hints['cautions']) && hints['cautions'].length > 0) {
|
|
153
|
-
lines.push(`**Cautions:** ${hints['cautions'].join('; ')}`);
|
|
154
|
-
}
|
|
155
|
-
if (hints['context_to_carry']) {
|
|
156
|
-
lines.push(String(hints['context_to_carry']));
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
const score = a['quality_score'];
|
|
160
|
-
if (score !== undefined && score !== null) {
|
|
161
|
-
lines.push(`Previous step quality: ${score}/100`);
|
|
162
|
-
}
|
|
163
|
-
if (lines.length > 1)
|
|
164
|
-
sections.push(lines.join('\n'));
|
|
165
|
-
}
|
|
166
|
-
return sections.join('\n\n');
|
|
167
|
-
}
|
|
168
|
-
// -- Phase 4: Inject State Snapshot --
|
|
169
|
-
buildStateSnapshot(project) {
|
|
170
|
-
if (!project.initialized)
|
|
171
|
-
return 'Project not initialized.';
|
|
172
|
-
const lines = [];
|
|
173
|
-
lines.push(`Phase ${project.current_phase} | Status: ${project.phase_status}`);
|
|
174
|
-
lines.push(`Progress: ${project.phases_completed}/${project.phases_total} phases`);
|
|
175
|
-
if (project.execution.tasks_total > 0) {
|
|
176
|
-
lines.push(`Tasks: ${project.execution.tasks_completed}/${project.execution.tasks_total}`);
|
|
177
|
-
}
|
|
178
|
-
if (project.verification_status !== 'pending') {
|
|
179
|
-
lines.push(`Verification: ${project.verification_status}`);
|
|
180
|
-
}
|
|
181
|
-
if (project.review_verdict !== null) {
|
|
182
|
-
lines.push(`Review: ${project.review_verdict}`);
|
|
183
|
-
}
|
|
184
|
-
if (project.uat_status !== 'pending') {
|
|
185
|
-
lines.push(`UAT: ${project.uat_status}`);
|
|
186
|
-
}
|
|
187
|
-
const artifactList = Object.entries(project.artifacts)
|
|
188
|
-
.filter(([, v]) => v)
|
|
189
|
-
.map(([k]) => k);
|
|
190
|
-
if (artifactList.length > 0) {
|
|
191
|
-
lines.push(`Artifacts: ${artifactList.join(', ')}`);
|
|
192
|
-
}
|
|
193
|
-
return lines.join('\n');
|
|
194
|
-
}
|
|
195
|
-
// -- Phase 5: Apply Template --
|
|
196
|
-
async loadTemplate() {
|
|
197
|
-
const templatePath = join(this.templateDir, 'coordinate-step-v2.md');
|
|
198
|
-
try {
|
|
199
|
-
return await readFile(templatePath, 'utf-8');
|
|
200
|
-
}
|
|
201
|
-
catch {
|
|
202
|
-
return DEFAULT_TEMPLATE;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
renderTemplate(template, vars) {
|
|
206
|
-
// Conditional blocks: {{#FIELD}}...content...{{/FIELD}}
|
|
207
|
-
let result = template.replace(/\{\{#(\w+)\}\}([\s\S]*?)\{\{\/\1\}\}/g, (_match, field, content) => {
|
|
208
|
-
return vars[field] ? content : '';
|
|
209
|
-
});
|
|
210
|
-
// Simple variable replacement: {{VAR}}
|
|
211
|
-
result = result.replace(/\{\{(\w+)\}\}/g, (_match, key) => {
|
|
212
|
-
return vars[key] ?? '';
|
|
213
|
-
});
|
|
214
|
-
// Clean up excess blank lines (more than 2 consecutive)
|
|
215
|
-
result = result.replace(/\n{3,}/g, '\n\n');
|
|
216
|
-
return result.trim() + '\n';
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
function dig(obj, path) {
|
|
220
|
-
let cur = obj;
|
|
221
|
-
for (const seg of path) {
|
|
222
|
-
if (cur == null || typeof cur !== 'object')
|
|
223
|
-
return undefined;
|
|
224
|
-
cur = cur[seg];
|
|
225
|
-
}
|
|
226
|
-
return cur;
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=prompt-assembler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../../src/coordinator/prompt-assembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { AnalysisResult, AssembleRequest, CommandNode, StepAnalyzer, WalkerContext } from './graph-types.js';
|
|
2
|
-
import type { SpawnFn } from './cli-executor.js';
|
|
3
|
-
export declare class GeminiStepAnalyzer implements StepAnalyzer {
|
|
4
|
-
private readonly spawnFn;
|
|
5
|
-
constructor(spawnFn: SpawnFn);
|
|
6
|
-
analyze(node: CommandNode, rawOutput: string, _ctx: WalkerContext, prevCmd?: AssembleRequest['previous_command']): Promise<AnalysisResult>;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=step-analyzer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"step-analyzer.d.ts","sourceRoot":"","sources":["../../src/coordinator/step-analyzer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAUjD,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAEvC,OAAO,CACX,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAC5C,OAAO,CAAC,cAAc,CAAC;CA6C3B"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
// ---------------------------------------------------------------------------
|
|
2
|
-
// Step Analyzer — Optional quality analysis via gemini after each command step.
|
|
3
|
-
// Never throws; analysis failure returns a safe default result.
|
|
4
|
-
// ---------------------------------------------------------------------------
|
|
5
|
-
const MAX_OUTPUT_CHARS = 4000;
|
|
6
|
-
const DEFAULT_RESULT = {
|
|
7
|
-
quality_score: 50,
|
|
8
|
-
issues: ['Analysis parsing failed'],
|
|
9
|
-
next_step_hints: {},
|
|
10
|
-
};
|
|
11
|
-
export class GeminiStepAnalyzer {
|
|
12
|
-
spawnFn;
|
|
13
|
-
constructor(spawnFn) {
|
|
14
|
-
this.spawnFn = spawnFn;
|
|
15
|
-
}
|
|
16
|
-
async analyze(node, rawOutput, _ctx, prevCmd) {
|
|
17
|
-
const outputTail = rawOutput.length > MAX_OUTPUT_CHARS
|
|
18
|
-
? rawOutput.slice(-MAX_OUTPUT_CHARS)
|
|
19
|
-
: rawOutput;
|
|
20
|
-
const prevLine = prevCmd
|
|
21
|
-
? `Previous step: ${prevCmd.cmd} (${prevCmd.outcome})`
|
|
22
|
-
: 'Previous step: none';
|
|
23
|
-
const prompt = [
|
|
24
|
-
'Analyze the following maestro command output.',
|
|
25
|
-
'',
|
|
26
|
-
`Command: ${node.cmd}${node.args ? ' ' + node.args : ''}`,
|
|
27
|
-
prevLine,
|
|
28
|
-
'',
|
|
29
|
-
'Output (last 4000 chars):',
|
|
30
|
-
outputTail,
|
|
31
|
-
'',
|
|
32
|
-
'Return a JSON block with this exact format:',
|
|
33
|
-
'```json',
|
|
34
|
-
'{',
|
|
35
|
-
' "quality_score": <0-100>,',
|
|
36
|
-
' "issues": ["issue1", "issue2"],',
|
|
37
|
-
' "next_step_hints": {',
|
|
38
|
-
' "prompt_additions": "suggestions for next step",',
|
|
39
|
-
' "cautions": ["caution1"],',
|
|
40
|
-
' "context_to_carry": "key context"',
|
|
41
|
-
' }',
|
|
42
|
-
'}',
|
|
43
|
-
'```',
|
|
44
|
-
].join('\n');
|
|
45
|
-
try {
|
|
46
|
-
const result = await this.spawnFn({
|
|
47
|
-
type: 'gemini',
|
|
48
|
-
prompt,
|
|
49
|
-
workDir: process.cwd(),
|
|
50
|
-
approvalMode: 'suggest',
|
|
51
|
-
});
|
|
52
|
-
return parseAnalysis(result.output);
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
return { ...DEFAULT_RESULT };
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// ---------------------------------------------------------------------------
|
|
60
|
-
// JSON extraction from gemini output
|
|
61
|
-
// ---------------------------------------------------------------------------
|
|
62
|
-
function parseAnalysis(output) {
|
|
63
|
-
const match = output.match(/```json\s*([\s\S]*?)```/);
|
|
64
|
-
if (!match)
|
|
65
|
-
return { ...DEFAULT_RESULT };
|
|
66
|
-
try {
|
|
67
|
-
const parsed = JSON.parse(match[1].trim());
|
|
68
|
-
if (typeof parsed.quality_score !== 'number' ||
|
|
69
|
-
!Array.isArray(parsed.issues)) {
|
|
70
|
-
return { ...DEFAULT_RESULT };
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
quality_score: parsed.quality_score,
|
|
74
|
-
issues: parsed.issues,
|
|
75
|
-
next_step_hints: (parsed.next_step_hints ?? {}),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
return { ...DEFAULT_RESULT };
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
//# sourceMappingURL=step-analyzer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"step-analyzer.js","sourceRoot":"","sources":["../../src/coordinator/step-analyzer.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,gEAAgE;AAChE,8EAA8E;AAW9E,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,cAAc,GAAmB;IACrC,aAAa,EAAE,EAAE;IACjB,MAAM,EAAE,CAAC,yBAAyB,CAAC;IACnC,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEjD,KAAK,CAAC,OAAO,CACX,IAAiB,EACjB,SAAiB,EACjB,IAAmB,EACnB,OAA6C;QAE7C,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,gBAAgB;YACpD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,kBAAkB,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,OAAO,GAAG;YACtD,CAAC,CAAC,qBAAqB,CAAC;QAE1B,MAAM,MAAM,GAAG;YACb,+CAA+C;YAC/C,EAAE;YACF,YAAY,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACzD,QAAQ;YACR,EAAE;YACF,2BAA2B;YAC3B,UAAU;YACV,EAAE;YACF,6CAA6C;YAC7C,SAAS;YACT,GAAG;YACH,6BAA6B;YAC7B,mCAAmC;YACnC,wBAAwB;YACxB,sDAAsD;YACtD,+BAA+B;YAC/B,uCAAuC;YACvC,KAAK;YACL,GAAG;YACH,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBAChC,IAAI,EAAE,QAAQ;gBACd,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,YAAY,EAAE,SAAS;aACxB,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;QAEtE,IACE,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;YACxC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,CAAC;YACD,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAkB;YACjC,eAAe,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAsC;SACrF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ToolRegistry } from './tool-registry.js';
|
|
2
|
-
export declare class ExtensionLoader {
|
|
3
|
-
private registry;
|
|
4
|
-
private loaded;
|
|
5
|
-
constructor(registry: ToolRegistry);
|
|
6
|
-
loadFromDir(dir: string): Promise<void>;
|
|
7
|
-
loadExtension(extPath: string): Promise<void>;
|
|
8
|
-
unloadAll(): Promise<void>;
|
|
9
|
-
listLoaded(): string[];
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=extension-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-loader.d.ts","sourceRoot":"","sources":["../../src/core/extension-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,MAAM,CAAgC;gBAE1B,QAAQ,EAAE,YAAY;IAEpC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAShC,UAAU,IAAI,MAAM,EAAE;CAGvB"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { readdirSync, existsSync } from 'node:fs';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
export class ExtensionLoader {
|
|
4
|
-
registry;
|
|
5
|
-
loaded = new Map();
|
|
6
|
-
constructor(registry) {
|
|
7
|
-
this.registry = registry;
|
|
8
|
-
}
|
|
9
|
-
async loadFromDir(dir) {
|
|
10
|
-
if (!existsSync(dir))
|
|
11
|
-
return;
|
|
12
|
-
const entries = readdirSync(dir, { withFileTypes: true });
|
|
13
|
-
for (const entry of entries) {
|
|
14
|
-
if (!entry.isDirectory())
|
|
15
|
-
continue;
|
|
16
|
-
const extPath = join(dir, entry.name);
|
|
17
|
-
await this.loadExtension(extPath);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
async loadExtension(extPath) {
|
|
21
|
-
const entryFile = join(extPath, 'index.js');
|
|
22
|
-
if (!existsSync(entryFile)) {
|
|
23
|
-
console.warn(`Extension at ${extPath} missing index.js, skipping`);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
const mod = await import(`file://${entryFile}`);
|
|
28
|
-
const ext = mod.default ?? mod;
|
|
29
|
-
const ctx = {
|
|
30
|
-
registerTool: (tool) => this.registry.register(tool),
|
|
31
|
-
config: {},
|
|
32
|
-
log: (msg) => console.log(`[ext:${ext.name}] ${msg}`),
|
|
33
|
-
};
|
|
34
|
-
await ext.activate(ctx);
|
|
35
|
-
this.loaded.set(ext.name, ext);
|
|
36
|
-
console.log(`Loaded extension: ${ext.name}@${ext.version}`);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
console.error(`Failed to load extension at ${extPath}:`, err);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
async unloadAll() {
|
|
43
|
-
for (const [name, ext] of this.loaded) {
|
|
44
|
-
if (ext.deactivate) {
|
|
45
|
-
await ext.deactivate();
|
|
46
|
-
}
|
|
47
|
-
this.loaded.delete(name);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
listLoaded() {
|
|
51
|
-
return Array.from(this.loaded.keys());
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=extension-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension-loader.js","sourceRoot":"","sources":["../../src/core/extension-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,OAAO,eAAe;IAGN;IAFZ,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE9C,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,6BAA6B,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;YAChD,MAAM,GAAG,GAAc,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;YAE1C,MAAM,GAAG,GAAqB;gBAC5B,YAAY,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1D,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;aAC9D,CAAC;YAEF,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
|