moflo 4.8.16 → 4.8.19
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/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/core/coder.md +265 -265
- package/.claude/agents/core/planner.md +167 -167
- package/.claude/agents/core/researcher.md +189 -189
- package/.claude/agents/core/reviewer.md +325 -325
- package/.claude/agents/core/tester.md +318 -318
- package/.claude/agents/database-specialist.yaml +21 -21
- package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
- package/.claude/agents/dual-mode/codex-worker.md +211 -211
- package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
- package/.claude/agents/github/code-review-swarm.md +537 -537
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +318 -318
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +190 -190
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +366 -366
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +634 -634
- package/.claude/agents/goal/code-goal-planner.md +445 -445
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
- package/.claude/agents/hive-mind/scout-explorer.md +241 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
- package/.claude/agents/hive-mind/worker-specialist.md +216 -216
- package/.claude/agents/index.yaml +17 -17
- package/.claude/agents/neural/safla-neural.md +73 -73
- package/.claude/agents/project-coordinator.yaml +15 -15
- package/.claude/agents/python-specialist.yaml +21 -21
- package/.claude/agents/reasoning/goal-planner.md +72 -72
- package/.claude/agents/security-auditor.yaml +20 -20
- package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
- package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
- package/.claude/agents/swarm/mesh-coordinator.md +391 -391
- package/.claude/agents/templates/migration-plan.md +745 -745
- package/.claude/agents/typescript-specialist.yaml +21 -21
- package/.claude/checkpoints/1767754460.json +8 -8
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/release-manager.md +337 -337
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/sync-coordinator.md +300 -300
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/guidance/moflo-bootstrap.md +126 -126
- package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
- package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
- package/.claude/guidance/shipped/memory-strategy.md +204 -204
- package/.claude/guidance/shipped/moflo.md +608 -608
- package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
- package/.claude/helpers/intelligence.cjs +207 -207
- package/.claude/helpers/statusline.cjs +851 -851
- package/.claude/skills/fl/SKILL.md +583 -583
- package/.claude/skills/flo/SKILL.md +583 -583
- package/.claude/skills/github-code-review/SKILL.md +1140 -1140
- package/.claude/skills/github-multi-repo/SKILL.md +874 -874
- package/.claude/skills/github-project-management/SKILL.md +1277 -1277
- package/.claude/skills/github-release-management/SKILL.md +1081 -1081
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/performance-analysis/SKILL.md +563 -563
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
- package/.claude/skills/swarm-advanced/SKILL.md +973 -973
- package/LICENSE +21 -21
- package/README.md +685 -685
- package/bin/cli.js +0 -0
- package/bin/gate-hook.mjs +50 -50
- package/bin/gate.cjs +138 -138
- package/bin/generate-code-map.mjs +91 -12
- package/bin/hook-handler.cjs +83 -83
- package/bin/hooks.mjs +656 -656
- package/bin/index-guidance.mjs +892 -892
- package/bin/index-tests.mjs +709 -709
- package/bin/lib/process-manager.mjs +243 -243
- package/bin/lib/registry-cleanup.cjs +41 -41
- package/bin/prompt-hook.mjs +72 -72
- package/bin/semantic-search.mjs +472 -472
- package/bin/session-start-launcher.mjs +238 -226
- package/bin/setup-project.mjs +250 -250
- package/package.json +123 -121
- package/src/@claude-flow/cli/README.md +452 -452
- package/src/@claude-flow/cli/bin/cli.js +180 -175
- package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
- package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
- package/src/@claude-flow/cli/dist/src/commands/doctor.js +1091 -1091
- package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
- package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
- package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
- package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
- package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
- package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
- package/src/@claude-flow/cli/dist/src/config/moflo-config.js +91 -91
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
- package/src/@claude-flow/cli/dist/src/init/executor.js +485 -453
- package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
- package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
- package/src/@claude-flow/cli/dist/src/init/moflo-init.js +848 -839
- package/src/@claude-flow/cli/dist/src/init/settings-generator.js +6 -2
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +786 -786
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
- package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
- package/src/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +6 -0
- package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
- package/src/@claude-flow/cli/package.json +1 -1
- package/src/@claude-flow/guidance/README.md +1195 -1195
- package/src/@claude-flow/guidance/dist/adversarial.d.ts +284 -0
- package/src/@claude-flow/guidance/dist/adversarial.js +572 -0
- package/src/@claude-flow/guidance/dist/analyzer.d.ts +530 -0
- package/src/@claude-flow/guidance/dist/analyzer.js +2518 -0
- package/src/@claude-flow/guidance/dist/artifacts.d.ts +283 -0
- package/src/@claude-flow/guidance/dist/artifacts.js +356 -0
- package/src/@claude-flow/guidance/dist/authority.d.ts +290 -0
- package/src/@claude-flow/guidance/dist/authority.js +558 -0
- package/src/@claude-flow/guidance/dist/capabilities.d.ts +209 -0
- package/src/@claude-flow/guidance/dist/capabilities.js +485 -0
- package/src/@claude-flow/guidance/dist/coherence.d.ts +233 -0
- package/src/@claude-flow/guidance/dist/coherence.js +372 -0
- package/src/@claude-flow/guidance/dist/compiler.d.ts +87 -0
- package/src/@claude-flow/guidance/dist/compiler.js +419 -0
- package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +225 -0
- package/src/@claude-flow/guidance/dist/conformance-kit.js +629 -0
- package/src/@claude-flow/guidance/dist/continue-gate.d.ts +214 -0
- package/src/@claude-flow/guidance/dist/continue-gate.js +353 -0
- package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +17 -0
- package/src/@claude-flow/guidance/dist/crypto-utils.js +24 -0
- package/src/@claude-flow/guidance/dist/evolution.d.ts +282 -0
- package/src/@claude-flow/guidance/dist/evolution.js +500 -0
- package/src/@claude-flow/guidance/dist/gates.d.ts +79 -0
- package/src/@claude-flow/guidance/dist/gates.js +302 -0
- package/src/@claude-flow/guidance/dist/gateway.d.ts +206 -0
- package/src/@claude-flow/guidance/dist/gateway.js +452 -0
- package/src/@claude-flow/guidance/dist/generators.d.ts +153 -0
- package/src/@claude-flow/guidance/dist/generators.js +682 -0
- package/src/@claude-flow/guidance/dist/headless.d.ts +177 -0
- package/src/@claude-flow/guidance/dist/headless.js +342 -0
- package/src/@claude-flow/guidance/dist/hooks.d.ts +109 -0
- package/src/@claude-flow/guidance/dist/hooks.js +347 -0
- package/src/@claude-flow/guidance/dist/index.d.ts +205 -0
- package/src/@claude-flow/guidance/dist/index.js +321 -0
- package/src/@claude-flow/guidance/dist/ledger.d.ts +162 -0
- package/src/@claude-flow/guidance/dist/ledger.js +375 -0
- package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +289 -0
- package/src/@claude-flow/guidance/dist/manifest-validator.js +838 -0
- package/src/@claude-flow/guidance/dist/memory-gate.d.ts +222 -0
- package/src/@claude-flow/guidance/dist/memory-gate.js +382 -0
- package/src/@claude-flow/guidance/dist/meta-governance.d.ts +265 -0
- package/src/@claude-flow/guidance/dist/meta-governance.js +348 -0
- package/src/@claude-flow/guidance/dist/optimizer.d.ts +104 -0
- package/src/@claude-flow/guidance/dist/optimizer.js +329 -0
- package/src/@claude-flow/guidance/dist/persistence.d.ts +189 -0
- package/src/@claude-flow/guidance/dist/persistence.js +464 -0
- package/src/@claude-flow/guidance/dist/proof.d.ts +185 -0
- package/src/@claude-flow/guidance/dist/proof.js +238 -0
- package/src/@claude-flow/guidance/dist/retriever.d.ts +116 -0
- package/src/@claude-flow/guidance/dist/retriever.js +394 -0
- package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +370 -0
- package/src/@claude-flow/guidance/dist/ruvbot-integration.js +738 -0
- package/src/@claude-flow/guidance/dist/temporal.d.ts +426 -0
- package/src/@claude-flow/guidance/dist/temporal.js +658 -0
- package/src/@claude-flow/guidance/dist/trust.d.ts +283 -0
- package/src/@claude-flow/guidance/dist/trust.js +473 -0
- package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +276 -0
- package/src/@claude-flow/guidance/dist/truth-anchors.js +488 -0
- package/src/@claude-flow/guidance/dist/types.d.ts +378 -0
- package/src/@claude-flow/guidance/dist/types.js +10 -0
- package/src/@claude-flow/guidance/dist/uncertainty.d.ts +372 -0
- package/src/@claude-flow/guidance/dist/uncertainty.js +619 -0
- package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +48 -0
- package/src/@claude-flow/guidance/dist/wasm-kernel.js +158 -0
- package/src/@claude-flow/guidance/package.json +198 -198
- package/src/@claude-flow/memory/README.md +587 -587
- package/src/@claude-flow/memory/package.json +44 -44
- package/src/@claude-flow/shared/README.md +323 -323
- package/src/README.md +493 -493
- package/.claude/settings.local.json +0 -18
- package/.claude/workflow-state.json +0 -9
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +0 -197
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +0 -584
- package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +0 -131
- package/src/@claude-flow/memory/dist/agent-memory-scope.js +0 -223
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +0 -8
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +0 -463
- package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +0 -165
- package/src/@claude-flow/memory/dist/agentdb-adapter.js +0 -806
- package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +0 -214
- package/src/@claude-flow/memory/dist/agentdb-backend.js +0 -844
- package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +0 -7
- package/src/@claude-flow/memory/dist/agentdb-backend.test.js +0 -258
- package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +0 -65
- package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +0 -129
- package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +0 -48
- package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +0 -72
- package/src/@claude-flow/memory/dist/application/index.d.ts +0 -12
- package/src/@claude-flow/memory/dist/application/index.js +0 -15
- package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +0 -72
- package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +0 -143
- package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +0 -121
- package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +0 -190
- package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +0 -226
- package/src/@claude-flow/memory/dist/auto-memory-bridge.js +0 -709
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +0 -8
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +0 -754
- package/src/@claude-flow/memory/dist/benchmark.test.d.ts +0 -2
- package/src/@claude-flow/memory/dist/benchmark.test.js +0 -277
- package/src/@claude-flow/memory/dist/cache-manager.d.ts +0 -134
- package/src/@claude-flow/memory/dist/cache-manager.js +0 -407
- package/src/@claude-flow/memory/dist/controller-registry.d.ts +0 -216
- package/src/@claude-flow/memory/dist/controller-registry.js +0 -893
- package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +0 -14
- package/src/@claude-flow/memory/dist/controller-registry.test.js +0 -636
- package/src/@claude-flow/memory/dist/database-provider.d.ts +0 -87
- package/src/@claude-flow/memory/dist/database-provider.js +0 -375
- package/src/@claude-flow/memory/dist/database-provider.test.d.ts +0 -7
- package/src/@claude-flow/memory/dist/database-provider.test.js +0 -285
- package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +0 -143
- package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +0 -226
- package/src/@claude-flow/memory/dist/domain/index.d.ts +0 -11
- package/src/@claude-flow/memory/dist/domain/index.js +0 -12
- package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +0 -102
- package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +0 -11
- package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +0 -105
- package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +0 -297
- package/src/@claude-flow/memory/dist/hnsw-index.d.ts +0 -111
- package/src/@claude-flow/memory/dist/hnsw-index.js +0 -781
- package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +0 -23
- package/src/@claude-flow/memory/dist/hnsw-lite.js +0 -168
- package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +0 -245
- package/src/@claude-flow/memory/dist/hybrid-backend.js +0 -569
- package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +0 -8
- package/src/@claude-flow/memory/dist/hybrid-backend.test.js +0 -320
- package/src/@claude-flow/memory/dist/index.d.ts +0 -207
- package/src/@claude-flow/memory/dist/index.js +0 -361
- package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +0 -17
- package/src/@claude-flow/memory/dist/infrastructure/index.js +0 -16
- package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +0 -66
- package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +0 -409
- package/src/@claude-flow/memory/dist/learning-bridge.d.ts +0 -137
- package/src/@claude-flow/memory/dist/learning-bridge.js +0 -335
- package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +0 -8
- package/src/@claude-flow/memory/dist/learning-bridge.test.js +0 -578
- package/src/@claude-flow/memory/dist/memory-graph.d.ts +0 -100
- package/src/@claude-flow/memory/dist/memory-graph.js +0 -333
- package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +0 -8
- package/src/@claude-flow/memory/dist/memory-graph.test.js +0 -609
- package/src/@claude-flow/memory/dist/migration.d.ts +0 -68
- package/src/@claude-flow/memory/dist/migration.js +0 -513
- package/src/@claude-flow/memory/dist/persistent-sona.d.ts +0 -144
- package/src/@claude-flow/memory/dist/persistent-sona.js +0 -332
- package/src/@claude-flow/memory/dist/query-builder.d.ts +0 -211
- package/src/@claude-flow/memory/dist/query-builder.js +0 -438
- package/src/@claude-flow/memory/dist/rvf-backend.d.ts +0 -51
- package/src/@claude-flow/memory/dist/rvf-backend.js +0 -481
- package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +0 -139
- package/src/@claude-flow/memory/dist/rvf-learning-store.js +0 -295
- package/src/@claude-flow/memory/dist/rvf-migration.d.ts +0 -45
- package/src/@claude-flow/memory/dist/rvf-migration.js +0 -234
- package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +0 -121
- package/src/@claude-flow/memory/dist/sqlite-backend.js +0 -572
- package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +0 -128
- package/src/@claude-flow/memory/dist/sqljs-backend.js +0 -601
- package/src/@claude-flow/memory/dist/types.d.ts +0 -484
- package/src/@claude-flow/memory/dist/types.js +0 -58
- package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +0 -41
- package/src/@claude-flow/shared/dist/core/config/defaults.js +0 -186
- package/src/@claude-flow/shared/dist/core/config/index.d.ts +0 -8
- package/src/@claude-flow/shared/dist/core/config/index.js +0 -12
- package/src/@claude-flow/shared/dist/core/config/loader.d.ts +0 -45
- package/src/@claude-flow/shared/dist/core/config/loader.js +0 -222
- package/src/@claude-flow/shared/dist/core/config/schema.d.ts +0 -1134
- package/src/@claude-flow/shared/dist/core/config/schema.js +0 -158
- package/src/@claude-flow/shared/dist/core/config/validator.d.ts +0 -92
- package/src/@claude-flow/shared/dist/core/config/validator.js +0 -147
- package/src/@claude-flow/shared/dist/core/event-bus.d.ts +0 -31
- package/src/@claude-flow/shared/dist/core/event-bus.js +0 -197
- package/src/@claude-flow/shared/dist/core/index.d.ts +0 -15
- package/src/@claude-flow/shared/dist/core/index.js +0 -19
- package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +0 -200
- package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +0 -6
- package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +0 -310
- package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +0 -7
- package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +0 -224
- package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +0 -46
- package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +0 -10
- package/src/@claude-flow/shared/dist/core/interfaces/index.js +0 -15
- package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +0 -298
- package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +0 -7
- package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +0 -185
- package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +0 -6
- package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +0 -35
- package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +0 -101
- package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +0 -60
- package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +0 -166
- package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +0 -46
- package/src/@claude-flow/shared/dist/core/orchestrator/index.js +0 -64
- package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +0 -56
- package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +0 -195
- package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +0 -83
- package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +0 -193
- package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +0 -49
- package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +0 -253
- package/src/@claude-flow/shared/dist/events/domain-events.d.ts +0 -282
- package/src/@claude-flow/shared/dist/events/domain-events.js +0 -165
- package/src/@claude-flow/shared/dist/events/event-store.d.ts +0 -126
- package/src/@claude-flow/shared/dist/events/event-store.js +0 -416
- package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +0 -8
- package/src/@claude-flow/shared/dist/events/event-store.test.js +0 -293
- package/src/@claude-flow/shared/dist/events/example-usage.d.ts +0 -10
- package/src/@claude-flow/shared/dist/events/example-usage.js +0 -193
- package/src/@claude-flow/shared/dist/events/index.d.ts +0 -21
- package/src/@claude-flow/shared/dist/events/index.js +0 -22
- package/src/@claude-flow/shared/dist/events/projections.d.ts +0 -177
- package/src/@claude-flow/shared/dist/events/projections.js +0 -421
- package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +0 -82
- package/src/@claude-flow/shared/dist/events/rvf-event-log.js +0 -340
- package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +0 -101
- package/src/@claude-flow/shared/dist/events/state-reconstructor.js +0 -263
- package/src/@claude-flow/shared/dist/events.d.ts +0 -80
- package/src/@claude-flow/shared/dist/events.js +0 -249
- package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +0 -42
- package/src/@claude-flow/shared/dist/hooks/example-usage.js +0 -351
- package/src/@claude-flow/shared/dist/hooks/executor.d.ts +0 -100
- package/src/@claude-flow/shared/dist/hooks/executor.js +0 -264
- package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +0 -9
- package/src/@claude-flow/shared/dist/hooks/hooks.test.js +0 -322
- package/src/@claude-flow/shared/dist/hooks/index.d.ts +0 -52
- package/src/@claude-flow/shared/dist/hooks/index.js +0 -51
- package/src/@claude-flow/shared/dist/hooks/registry.d.ts +0 -133
- package/src/@claude-flow/shared/dist/hooks/registry.js +0 -277
- package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +0 -105
- package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +0 -481
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +0 -144
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +0 -328
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +0 -158
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +0 -450
- package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +0 -17
- package/src/@claude-flow/shared/dist/hooks/safety/index.js +0 -17
- package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +0 -234
- package/src/@claude-flow/shared/dist/hooks/session-hooks.js +0 -334
- package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +0 -163
- package/src/@claude-flow/shared/dist/hooks/task-hooks.js +0 -326
- package/src/@claude-flow/shared/dist/hooks/types.d.ts +0 -267
- package/src/@claude-flow/shared/dist/hooks/types.js +0 -62
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +0 -9
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +0 -93
- package/src/@claude-flow/shared/dist/index.d.ts +0 -20
- package/src/@claude-flow/shared/dist/index.js +0 -50
- package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +0 -98
- package/src/@claude-flow/shared/dist/mcp/connection-pool.js +0 -364
- package/src/@claude-flow/shared/dist/mcp/index.d.ts +0 -69
- package/src/@claude-flow/shared/dist/mcp/index.js +0 -84
- package/src/@claude-flow/shared/dist/mcp/server.d.ts +0 -166
- package/src/@claude-flow/shared/dist/mcp/server.js +0 -593
- package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +0 -136
- package/src/@claude-flow/shared/dist/mcp/session-manager.js +0 -335
- package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +0 -178
- package/src/@claude-flow/shared/dist/mcp/tool-registry.js +0 -439
- package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +0 -104
- package/src/@claude-flow/shared/dist/mcp/transport/http.js +0 -476
- package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +0 -102
- package/src/@claude-flow/shared/dist/mcp/transport/index.js +0 -238
- package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +0 -104
- package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +0 -263
- package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +0 -133
- package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +0 -396
- package/src/@claude-flow/shared/dist/mcp/types.d.ts +0 -438
- package/src/@claude-flow/shared/dist/mcp/types.js +0 -54
- package/src/@claude-flow/shared/dist/plugin-interface.d.ts +0 -544
- package/src/@claude-flow/shared/dist/plugin-interface.js +0 -23
- package/src/@claude-flow/shared/dist/plugin-loader.d.ts +0 -139
- package/src/@claude-flow/shared/dist/plugin-loader.js +0 -434
- package/src/@claude-flow/shared/dist/plugin-registry.d.ts +0 -183
- package/src/@claude-flow/shared/dist/plugin-registry.js +0 -457
- package/src/@claude-flow/shared/dist/plugins/index.d.ts +0 -10
- package/src/@claude-flow/shared/dist/plugins/index.js +0 -10
- package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +0 -106
- package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +0 -241
- package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +0 -10
- package/src/@claude-flow/shared/dist/plugins/official/index.js +0 -10
- package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +0 -121
- package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +0 -355
- package/src/@claude-flow/shared/dist/plugins/types.d.ts +0 -93
- package/src/@claude-flow/shared/dist/plugins/types.js +0 -9
- package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +0 -105
- package/src/@claude-flow/shared/dist/resilience/bulkhead.js +0 -206
- package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +0 -132
- package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +0 -233
- package/src/@claude-flow/shared/dist/resilience/index.d.ts +0 -19
- package/src/@claude-flow/shared/dist/resilience/index.js +0 -19
- package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +0 -168
- package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +0 -314
- package/src/@claude-flow/shared/dist/resilience/retry.d.ts +0 -91
- package/src/@claude-flow/shared/dist/resilience/retry.js +0 -159
- package/src/@claude-flow/shared/dist/security/index.d.ts +0 -10
- package/src/@claude-flow/shared/dist/security/index.js +0 -12
- package/src/@claude-flow/shared/dist/security/input-validation.d.ts +0 -73
- package/src/@claude-flow/shared/dist/security/input-validation.js +0 -201
- package/src/@claude-flow/shared/dist/security/secure-random.d.ts +0 -92
- package/src/@claude-flow/shared/dist/security/secure-random.js +0 -142
- package/src/@claude-flow/shared/dist/services/index.d.ts +0 -7
- package/src/@claude-flow/shared/dist/services/index.js +0 -7
- package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +0 -124
- package/src/@claude-flow/shared/dist/services/v3-progress.service.js +0 -402
- package/src/@claude-flow/shared/dist/types/agent.types.d.ts +0 -137
- package/src/@claude-flow/shared/dist/types/agent.types.js +0 -6
- package/src/@claude-flow/shared/dist/types/index.d.ts +0 -11
- package/src/@claude-flow/shared/dist/types/index.js +0 -17
- package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +0 -266
- package/src/@claude-flow/shared/dist/types/mcp.types.js +0 -7
- package/src/@claude-flow/shared/dist/types/memory.types.d.ts +0 -236
- package/src/@claude-flow/shared/dist/types/memory.types.js +0 -7
- package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +0 -186
- package/src/@claude-flow/shared/dist/types/swarm.types.js +0 -65
- package/src/@claude-flow/shared/dist/types/task.types.d.ts +0 -178
- package/src/@claude-flow/shared/dist/types/task.types.js +0 -32
- package/src/@claude-flow/shared/dist/types.d.ts +0 -197
- package/src/@claude-flow/shared/dist/types.js +0 -21
- package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +0 -69
- package/src/@claude-flow/shared/dist/utils/secure-logger.js +0 -208
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* V3 MCP Transport Factory
|
|
3
|
-
*
|
|
4
|
-
* Central factory for creating transport instances:
|
|
5
|
-
* - Unified transport creation API
|
|
6
|
-
* - Transport type validation
|
|
7
|
-
* - Configuration defaults
|
|
8
|
-
* - Multi-transport support
|
|
9
|
-
*
|
|
10
|
-
* Supported transports:
|
|
11
|
-
* - stdio: Standard I/O (default for CLI)
|
|
12
|
-
* - http: HTTP/REST with WebSocket upgrade
|
|
13
|
-
* - websocket: Standalone WebSocket
|
|
14
|
-
* - in-process: Direct function calls (fastest)
|
|
15
|
-
*/
|
|
16
|
-
import { createStdioTransport } from './stdio.js';
|
|
17
|
-
import { createHttpTransport } from './http.js';
|
|
18
|
-
import { createWebSocketTransport } from './websocket.js';
|
|
19
|
-
// Re-export transport classes (values)
|
|
20
|
-
export { StdioTransport } from './stdio.js';
|
|
21
|
-
export { HttpTransport } from './http.js';
|
|
22
|
-
export { WebSocketTransport } from './websocket.js';
|
|
23
|
-
/**
|
|
24
|
-
* Create a transport instance based on type
|
|
25
|
-
*/
|
|
26
|
-
export function createTransport(type, logger, config) {
|
|
27
|
-
switch (type) {
|
|
28
|
-
case 'stdio':
|
|
29
|
-
return createStdioTransport(logger, config);
|
|
30
|
-
case 'http':
|
|
31
|
-
if (!config || !('host' in config) || !('port' in config)) {
|
|
32
|
-
throw new Error('HTTP transport requires host and port configuration');
|
|
33
|
-
}
|
|
34
|
-
return createHttpTransport(logger, {
|
|
35
|
-
host: config.host,
|
|
36
|
-
port: config.port,
|
|
37
|
-
...config,
|
|
38
|
-
});
|
|
39
|
-
case 'websocket':
|
|
40
|
-
if (!config || !('host' in config) || !('port' in config)) {
|
|
41
|
-
throw new Error('WebSocket transport requires host and port configuration');
|
|
42
|
-
}
|
|
43
|
-
return createWebSocketTransport(logger, {
|
|
44
|
-
host: config.host,
|
|
45
|
-
port: config.port,
|
|
46
|
-
...config,
|
|
47
|
-
});
|
|
48
|
-
case 'in-process':
|
|
49
|
-
// In-process transport is handled directly by the server
|
|
50
|
-
// Return a no-op transport wrapper
|
|
51
|
-
return createInProcessTransport(logger);
|
|
52
|
-
default:
|
|
53
|
-
throw new Error(`Unknown transport type: ${type}`);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* In-process transport (no-op wrapper)
|
|
58
|
-
*
|
|
59
|
-
* Used when tools are executed directly without network transport
|
|
60
|
-
*/
|
|
61
|
-
class InProcessTransport {
|
|
62
|
-
logger;
|
|
63
|
-
type = 'in-process';
|
|
64
|
-
constructor(logger) {
|
|
65
|
-
this.logger = logger;
|
|
66
|
-
}
|
|
67
|
-
async start() {
|
|
68
|
-
this.logger.debug('In-process transport started');
|
|
69
|
-
}
|
|
70
|
-
async stop() {
|
|
71
|
-
this.logger.debug('In-process transport stopped');
|
|
72
|
-
}
|
|
73
|
-
onRequest() {
|
|
74
|
-
// No-op - requests are handled directly
|
|
75
|
-
}
|
|
76
|
-
onNotification() {
|
|
77
|
-
// No-op - notifications are handled directly
|
|
78
|
-
}
|
|
79
|
-
async getHealthStatus() {
|
|
80
|
-
return {
|
|
81
|
-
healthy: true,
|
|
82
|
-
metrics: {
|
|
83
|
-
latency: 0,
|
|
84
|
-
connections: 1,
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Create in-process transport
|
|
91
|
-
*/
|
|
92
|
-
export function createInProcessTransport(logger) {
|
|
93
|
-
return new InProcessTransport(logger);
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Transport manager for multi-transport scenarios
|
|
97
|
-
*/
|
|
98
|
-
export class TransportManager {
|
|
99
|
-
logger;
|
|
100
|
-
transports = new Map();
|
|
101
|
-
running = false;
|
|
102
|
-
constructor(logger) {
|
|
103
|
-
this.logger = logger;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Add a transport
|
|
107
|
-
*/
|
|
108
|
-
addTransport(name, transport) {
|
|
109
|
-
if (this.transports.has(name)) {
|
|
110
|
-
throw new Error(`Transport "${name}" already exists`);
|
|
111
|
-
}
|
|
112
|
-
this.transports.set(name, transport);
|
|
113
|
-
this.logger.debug('Transport added', { name, type: transport.type });
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Remove a transport
|
|
117
|
-
*/
|
|
118
|
-
async removeTransport(name) {
|
|
119
|
-
const transport = this.transports.get(name);
|
|
120
|
-
if (!transport) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
await transport.stop();
|
|
124
|
-
this.transports.delete(name);
|
|
125
|
-
this.logger.debug('Transport removed', { name });
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Get a transport by name
|
|
130
|
-
*/
|
|
131
|
-
getTransport(name) {
|
|
132
|
-
return this.transports.get(name);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Get all transport names
|
|
136
|
-
*/
|
|
137
|
-
getTransportNames() {
|
|
138
|
-
return Array.from(this.transports.keys());
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Start all transports
|
|
142
|
-
*/
|
|
143
|
-
async startAll() {
|
|
144
|
-
if (this.running) {
|
|
145
|
-
throw new Error('TransportManager already running');
|
|
146
|
-
}
|
|
147
|
-
this.logger.info('Starting all transports', { count: this.transports.size });
|
|
148
|
-
const startPromises = Array.from(this.transports.entries()).map(async ([name, transport]) => {
|
|
149
|
-
try {
|
|
150
|
-
await transport.start();
|
|
151
|
-
this.logger.info('Transport started', { name, type: transport.type });
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
this.logger.error('Failed to start transport', { name, error });
|
|
155
|
-
throw error;
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
await Promise.all(startPromises);
|
|
159
|
-
this.running = true;
|
|
160
|
-
this.logger.info('All transports started');
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Stop all transports
|
|
164
|
-
*/
|
|
165
|
-
async stopAll() {
|
|
166
|
-
if (!this.running) {
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
this.logger.info('Stopping all transports');
|
|
170
|
-
const stopPromises = Array.from(this.transports.entries()).map(async ([name, transport]) => {
|
|
171
|
-
try {
|
|
172
|
-
await transport.stop();
|
|
173
|
-
this.logger.info('Transport stopped', { name });
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
this.logger.error('Error stopping transport', { name, error });
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
await Promise.all(stopPromises);
|
|
180
|
-
this.running = false;
|
|
181
|
-
this.logger.info('All transports stopped');
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Get health status of all transports
|
|
185
|
-
*/
|
|
186
|
-
async getHealthStatus() {
|
|
187
|
-
const results = {};
|
|
188
|
-
for (const [name, transport] of this.transports) {
|
|
189
|
-
try {
|
|
190
|
-
const status = await transport.getHealthStatus();
|
|
191
|
-
results[name] = { healthy: status.healthy, error: status.error };
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
results[name] = {
|
|
195
|
-
healthy: false,
|
|
196
|
-
error: error instanceof Error ? error.message : 'Unknown error',
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
return results;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Check if any transport is running
|
|
204
|
-
*/
|
|
205
|
-
isRunning() {
|
|
206
|
-
return this.running;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Create a transport manager
|
|
211
|
-
*/
|
|
212
|
-
export function createTransportManager(logger) {
|
|
213
|
-
return new TransportManager(logger);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Default transport configurations
|
|
217
|
-
*/
|
|
218
|
-
export const DEFAULT_TRANSPORT_CONFIGS = {
|
|
219
|
-
stdio: {},
|
|
220
|
-
http: {
|
|
221
|
-
host: 'localhost',
|
|
222
|
-
port: 3000,
|
|
223
|
-
corsEnabled: true,
|
|
224
|
-
corsOrigins: ['*'],
|
|
225
|
-
maxRequestSize: '10mb',
|
|
226
|
-
requestTimeout: 30000,
|
|
227
|
-
},
|
|
228
|
-
websocket: {
|
|
229
|
-
host: 'localhost',
|
|
230
|
-
port: 3001,
|
|
231
|
-
path: '/ws',
|
|
232
|
-
maxConnections: 100,
|
|
233
|
-
heartbeatInterval: 30000,
|
|
234
|
-
heartbeatTimeout: 10000,
|
|
235
|
-
maxMessageSize: 10 * 1024 * 1024,
|
|
236
|
-
},
|
|
237
|
-
};
|
|
238
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* V3 MCP Stdio Transport
|
|
3
|
-
*
|
|
4
|
-
* Standard I/O transport for MCP communication:
|
|
5
|
-
* - Optimized JSON parsing with streaming
|
|
6
|
-
* - Buffer management for large messages
|
|
7
|
-
* - Graceful shutdown handling
|
|
8
|
-
*
|
|
9
|
-
* Performance Targets:
|
|
10
|
-
* - Message parsing: <5ms
|
|
11
|
-
* - Response sending: <2ms
|
|
12
|
-
*/
|
|
13
|
-
import { EventEmitter } from 'events';
|
|
14
|
-
import { ITransport, TransportType, MCPNotification, RequestHandler, NotificationHandler, TransportHealthStatus, ILogger } from '../types.js';
|
|
15
|
-
/**
|
|
16
|
-
* Stdio Transport Configuration
|
|
17
|
-
*/
|
|
18
|
-
export interface StdioTransportConfig {
|
|
19
|
-
inputStream?: NodeJS.ReadableStream;
|
|
20
|
-
outputStream?: NodeJS.WritableStream;
|
|
21
|
-
maxMessageSize?: number;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Stdio Transport Implementation
|
|
25
|
-
*
|
|
26
|
-
* Uses readline for efficient line-by-line processing of JSON-RPC messages
|
|
27
|
-
*/
|
|
28
|
-
export declare class StdioTransport extends EventEmitter implements ITransport {
|
|
29
|
-
private readonly logger;
|
|
30
|
-
readonly type: TransportType;
|
|
31
|
-
private requestHandler?;
|
|
32
|
-
private notificationHandler?;
|
|
33
|
-
private rl?;
|
|
34
|
-
private running;
|
|
35
|
-
private messageBuffer;
|
|
36
|
-
private messagesReceived;
|
|
37
|
-
private messagesSent;
|
|
38
|
-
private errors;
|
|
39
|
-
private readonly inputStream;
|
|
40
|
-
private readonly outputStream;
|
|
41
|
-
private readonly maxMessageSize;
|
|
42
|
-
constructor(logger: ILogger, config?: StdioTransportConfig);
|
|
43
|
-
/**
|
|
44
|
-
* Start the transport
|
|
45
|
-
*/
|
|
46
|
-
start(): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Stop the transport
|
|
49
|
-
*/
|
|
50
|
-
stop(): Promise<void>;
|
|
51
|
-
/**
|
|
52
|
-
* Register request handler
|
|
53
|
-
*/
|
|
54
|
-
onRequest(handler: RequestHandler): void;
|
|
55
|
-
/**
|
|
56
|
-
* Register notification handler
|
|
57
|
-
*/
|
|
58
|
-
onNotification(handler: NotificationHandler): void;
|
|
59
|
-
/**
|
|
60
|
-
* Get health status
|
|
61
|
-
*/
|
|
62
|
-
getHealthStatus(): Promise<TransportHealthStatus>;
|
|
63
|
-
/**
|
|
64
|
-
* Handle incoming line
|
|
65
|
-
*/
|
|
66
|
-
private handleLine;
|
|
67
|
-
/**
|
|
68
|
-
* Handle MCP request
|
|
69
|
-
*/
|
|
70
|
-
private handleRequest;
|
|
71
|
-
/**
|
|
72
|
-
* Handle MCP notification
|
|
73
|
-
*/
|
|
74
|
-
private handleNotification;
|
|
75
|
-
/**
|
|
76
|
-
* Send response to stdout
|
|
77
|
-
*/
|
|
78
|
-
private sendResponse;
|
|
79
|
-
/**
|
|
80
|
-
* Send error response
|
|
81
|
-
*/
|
|
82
|
-
private sendError;
|
|
83
|
-
/**
|
|
84
|
-
* Send notification to stdout
|
|
85
|
-
*/
|
|
86
|
-
sendNotification(notification: MCPNotification): Promise<void>;
|
|
87
|
-
/**
|
|
88
|
-
* Write to output stream
|
|
89
|
-
*/
|
|
90
|
-
private write;
|
|
91
|
-
/**
|
|
92
|
-
* Handle stream close
|
|
93
|
-
*/
|
|
94
|
-
private handleClose;
|
|
95
|
-
/**
|
|
96
|
-
* Handle stream error
|
|
97
|
-
*/
|
|
98
|
-
private handleError;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Create stdio transport
|
|
102
|
-
*/
|
|
103
|
-
export declare function createStdioTransport(logger: ILogger, config?: StdioTransportConfig): StdioTransport;
|
|
104
|
-
//# sourceMappingURL=stdio.d.ts.map
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* V3 MCP Stdio Transport
|
|
3
|
-
*
|
|
4
|
-
* Standard I/O transport for MCP communication:
|
|
5
|
-
* - Optimized JSON parsing with streaming
|
|
6
|
-
* - Buffer management for large messages
|
|
7
|
-
* - Graceful shutdown handling
|
|
8
|
-
*
|
|
9
|
-
* Performance Targets:
|
|
10
|
-
* - Message parsing: <5ms
|
|
11
|
-
* - Response sending: <2ms
|
|
12
|
-
*/
|
|
13
|
-
import { EventEmitter } from 'events';
|
|
14
|
-
import * as readline from 'readline';
|
|
15
|
-
/**
|
|
16
|
-
* Stdio Transport Implementation
|
|
17
|
-
*
|
|
18
|
-
* Uses readline for efficient line-by-line processing of JSON-RPC messages
|
|
19
|
-
*/
|
|
20
|
-
export class StdioTransport extends EventEmitter {
|
|
21
|
-
logger;
|
|
22
|
-
type = 'stdio';
|
|
23
|
-
requestHandler;
|
|
24
|
-
notificationHandler;
|
|
25
|
-
rl;
|
|
26
|
-
running = false;
|
|
27
|
-
messageBuffer = '';
|
|
28
|
-
// Statistics
|
|
29
|
-
messagesReceived = 0;
|
|
30
|
-
messagesSent = 0;
|
|
31
|
-
errors = 0;
|
|
32
|
-
inputStream;
|
|
33
|
-
outputStream;
|
|
34
|
-
maxMessageSize;
|
|
35
|
-
constructor(logger, config = {}) {
|
|
36
|
-
super();
|
|
37
|
-
this.logger = logger;
|
|
38
|
-
this.inputStream = config.inputStream || process.stdin;
|
|
39
|
-
this.outputStream = config.outputStream || process.stdout;
|
|
40
|
-
this.maxMessageSize = config.maxMessageSize || 10 * 1024 * 1024; // 10MB default
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Start the transport
|
|
44
|
-
*/
|
|
45
|
-
async start() {
|
|
46
|
-
if (this.running) {
|
|
47
|
-
throw new Error('Stdio transport already running');
|
|
48
|
-
}
|
|
49
|
-
this.logger.info('Starting stdio transport');
|
|
50
|
-
// Create readline interface for efficient line processing
|
|
51
|
-
this.rl = readline.createInterface({
|
|
52
|
-
input: this.inputStream,
|
|
53
|
-
crlfDelay: Infinity,
|
|
54
|
-
});
|
|
55
|
-
// Handle incoming lines
|
|
56
|
-
this.rl.on('line', (line) => {
|
|
57
|
-
this.handleLine(line);
|
|
58
|
-
});
|
|
59
|
-
// Handle close
|
|
60
|
-
this.rl.on('close', () => {
|
|
61
|
-
this.handleClose();
|
|
62
|
-
});
|
|
63
|
-
// Handle errors on input stream
|
|
64
|
-
this.inputStream.on('error', (error) => {
|
|
65
|
-
this.handleError(error);
|
|
66
|
-
});
|
|
67
|
-
this.running = true;
|
|
68
|
-
this.logger.info('Stdio transport started');
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Stop the transport
|
|
72
|
-
*/
|
|
73
|
-
async stop() {
|
|
74
|
-
if (!this.running) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
this.logger.info('Stopping stdio transport');
|
|
78
|
-
this.running = false;
|
|
79
|
-
if (this.rl) {
|
|
80
|
-
this.rl.close();
|
|
81
|
-
this.rl = undefined;
|
|
82
|
-
}
|
|
83
|
-
this.logger.info('Stdio transport stopped');
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Register request handler
|
|
87
|
-
*/
|
|
88
|
-
onRequest(handler) {
|
|
89
|
-
this.requestHandler = handler;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Register notification handler
|
|
93
|
-
*/
|
|
94
|
-
onNotification(handler) {
|
|
95
|
-
this.notificationHandler = handler;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get health status
|
|
99
|
-
*/
|
|
100
|
-
async getHealthStatus() {
|
|
101
|
-
return {
|
|
102
|
-
healthy: this.running,
|
|
103
|
-
metrics: {
|
|
104
|
-
messagesReceived: this.messagesReceived,
|
|
105
|
-
messagesSent: this.messagesSent,
|
|
106
|
-
errors: this.errors,
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Handle incoming line
|
|
112
|
-
*/
|
|
113
|
-
async handleLine(line) {
|
|
114
|
-
if (!line.trim()) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
// Check message size
|
|
118
|
-
if (line.length > this.maxMessageSize) {
|
|
119
|
-
this.logger.error('Message exceeds maximum size', {
|
|
120
|
-
size: line.length,
|
|
121
|
-
max: this.maxMessageSize,
|
|
122
|
-
});
|
|
123
|
-
this.errors++;
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
try {
|
|
127
|
-
const message = JSON.parse(line);
|
|
128
|
-
this.messagesReceived++;
|
|
129
|
-
// Validate JSON-RPC format
|
|
130
|
-
if (message.jsonrpc !== '2.0') {
|
|
131
|
-
this.logger.warn('Invalid JSON-RPC version', { received: message.jsonrpc });
|
|
132
|
-
await this.sendError(message.id, -32600, 'Invalid JSON-RPC version');
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
if (!message.method) {
|
|
136
|
-
this.logger.warn('Missing method in request');
|
|
137
|
-
await this.sendError(message.id, -32600, 'Missing method');
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
// Determine if this is a request or notification
|
|
141
|
-
if (message.id !== undefined) {
|
|
142
|
-
// Request - needs response
|
|
143
|
-
await this.handleRequest(message);
|
|
144
|
-
}
|
|
145
|
-
else {
|
|
146
|
-
// Notification - no response needed
|
|
147
|
-
await this.handleNotification(message);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
this.errors++;
|
|
152
|
-
this.logger.error('Failed to parse message', { error, line: line.substring(0, 100) });
|
|
153
|
-
await this.sendError(null, -32700, 'Parse error');
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Handle MCP request
|
|
158
|
-
*/
|
|
159
|
-
async handleRequest(request) {
|
|
160
|
-
if (!this.requestHandler) {
|
|
161
|
-
this.logger.warn('No request handler registered');
|
|
162
|
-
await this.sendError(request.id, -32603, 'No request handler');
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
try {
|
|
166
|
-
const startTime = performance.now();
|
|
167
|
-
const response = await this.requestHandler(request);
|
|
168
|
-
const duration = performance.now() - startTime;
|
|
169
|
-
this.logger.debug('Request processed', {
|
|
170
|
-
method: request.method,
|
|
171
|
-
duration: `${duration.toFixed(2)}ms`,
|
|
172
|
-
});
|
|
173
|
-
await this.sendResponse(response);
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
this.logger.error('Request handler error', { method: request.method, error });
|
|
177
|
-
await this.sendError(request.id, -32603, error instanceof Error ? error.message : 'Internal error');
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Handle MCP notification
|
|
182
|
-
*/
|
|
183
|
-
async handleNotification(notification) {
|
|
184
|
-
if (!this.notificationHandler) {
|
|
185
|
-
this.logger.debug('Notification received but no handler', { method: notification.method });
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
try {
|
|
189
|
-
await this.notificationHandler(notification);
|
|
190
|
-
}
|
|
191
|
-
catch (error) {
|
|
192
|
-
this.logger.error('Notification handler error', { method: notification.method, error });
|
|
193
|
-
// Notifications don't send error responses
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Send response to stdout
|
|
198
|
-
*/
|
|
199
|
-
async sendResponse(response) {
|
|
200
|
-
const json = JSON.stringify(response);
|
|
201
|
-
await this.write(json);
|
|
202
|
-
this.messagesSent++;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Send error response
|
|
206
|
-
*/
|
|
207
|
-
async sendError(id, code, message) {
|
|
208
|
-
const response = {
|
|
209
|
-
jsonrpc: '2.0',
|
|
210
|
-
id,
|
|
211
|
-
error: { code, message },
|
|
212
|
-
};
|
|
213
|
-
await this.sendResponse(response);
|
|
214
|
-
this.errors++;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Send notification to stdout
|
|
218
|
-
*/
|
|
219
|
-
async sendNotification(notification) {
|
|
220
|
-
const json = JSON.stringify(notification);
|
|
221
|
-
await this.write(json);
|
|
222
|
-
this.messagesSent++;
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Write to output stream
|
|
226
|
-
*/
|
|
227
|
-
write(data) {
|
|
228
|
-
return new Promise((resolve, reject) => {
|
|
229
|
-
this.outputStream.write(data + '\n', (error) => {
|
|
230
|
-
if (error) {
|
|
231
|
-
this.errors++;
|
|
232
|
-
reject(error);
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
resolve();
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Handle stream close
|
|
242
|
-
*/
|
|
243
|
-
handleClose() {
|
|
244
|
-
this.logger.info('Stdio stream closed');
|
|
245
|
-
this.running = false;
|
|
246
|
-
this.emit('close');
|
|
247
|
-
}
|
|
248
|
-
/**
|
|
249
|
-
* Handle stream error
|
|
250
|
-
*/
|
|
251
|
-
handleError(error) {
|
|
252
|
-
this.logger.error('Stdio stream error', error);
|
|
253
|
-
this.errors++;
|
|
254
|
-
this.emit('error', error);
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Create stdio transport
|
|
259
|
-
*/
|
|
260
|
-
export function createStdioTransport(logger, config = {}) {
|
|
261
|
-
return new StdioTransport(logger, config);
|
|
262
|
-
}
|
|
263
|
-
//# sourceMappingURL=stdio.js.map
|