@coralai/sps-cli 0.63.5 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README-CN.md +2 -0
- package/README.md +2 -0
- package/dist/commands/agentCommand.d.ts.map +1 -1
- package/dist/commands/agentCommand.js +4 -3
- package/dist/commands/agentCommand.js.map +1 -1
- package/dist/commands/agentRenderer.js +3 -3
- package/dist/commands/agentRenderer.js.map +1 -1
- package/dist/commands/cardDashboard.d.ts.map +1 -1
- package/dist/commands/cardDashboard.js +2 -2
- package/dist/commands/cardDashboard.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +0 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +15 -15
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/openaiAgent.d.ts +3 -0
- package/dist/commands/openaiAgent.d.ts.map +1 -0
- package/dist/commands/openaiAgent.js +81 -0
- package/dist/commands/openaiAgent.js.map +1 -0
- package/dist/commands/pipelineRunner.js.map +1 -1
- package/dist/commands/pipelineTick.js +1 -1
- package/dist/commands/pipelineTick.js.map +1 -1
- package/dist/commands/projectInit.d.ts +11 -1
- package/dist/commands/projectInit.d.ts.map +1 -1
- package/dist/commands/projectInit.js +38 -7
- package/dist/commands/projectInit.js.map +1 -1
- package/dist/commands/prune.d.ts +6 -0
- package/dist/commands/prune.d.ts.map +1 -0
- package/dist/commands/prune.js +87 -0
- package/dist/commands/prune.js.map +1 -0
- package/dist/commands/qaTick.js +1 -1
- package/dist/commands/qaTick.js.map +1 -1
- package/dist/commands/reset.d.ts.map +1 -1
- package/dist/commands/reset.js +3 -2
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +8 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/skillCommand.d.ts.map +1 -1
- package/dist/commands/skillCommand.js +2 -3
- package/dist/commands/skillCommand.js.map +1 -1
- package/dist/commands/status.js +2 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/stop.js +3 -3
- package/dist/commands/stop.js.map +1 -1
- package/dist/commands/tick.d.ts.map +1 -1
- package/dist/commands/tick.js +5 -2
- package/dist/commands/tick.js.map +1 -1
- package/dist/commands/workerDashboard.d.ts.map +1 -1
- package/dist/commands/workerDashboard.js +27 -26
- package/dist/commands/workerDashboard.js.map +1 -1
- package/dist/commands/workerLaunch.js +1 -1
- package/dist/commands/workerLaunch.js.map +1 -1
- package/dist/console/routes/chat.d.ts +18 -1
- package/dist/console/routes/chat.d.ts.map +1 -1
- package/dist/console/routes/chat.js +529 -40
- package/dist/console/routes/chat.js.map +1 -1
- package/dist/console/routes/fs.d.ts.map +1 -1
- package/dist/console/routes/fs.js +2 -1
- package/dist/console/routes/fs.js.map +1 -1
- package/dist/console/routes/logs.d.ts.map +1 -1
- package/dist/console/routes/logs.js +17 -5
- package/dist/console/routes/logs.js.map +1 -1
- package/dist/console/routes/projects.d.ts.map +1 -1
- package/dist/console/routes/projects.js +11 -2
- package/dist/console/routes/projects.js.map +1 -1
- package/dist/console/routes/workers.js +3 -3
- package/dist/console/routes/workers.js.map +1 -1
- package/dist/console-assets/assets/{ShowcasePage-BWHyDQhw.js → ShowcasePage-DFRO5bAO.js} +1 -1
- package/dist/console-assets/assets/{index-rQ_2k-G9.css → index-DZ28qAcd.css} +1 -1
- package/dist/console-assets/assets/{index-DH_TQHY4.js → index-De5GjRjY.js} +220 -215
- package/dist/console-assets/index.html +2 -2
- package/dist/core/agents/AgentBackend.d.ts +2 -2
- package/dist/core/agents/AgentBackend.d.ts.map +1 -1
- package/dist/core/agents/AgentBackend.js.map +1 -1
- package/dist/core/agents/DaemonBackend.d.ts +12 -2
- package/dist/core/agents/DaemonBackend.d.ts.map +1 -1
- package/dist/core/agents/DaemonBackend.js +68 -20
- package/dist/core/agents/DaemonBackend.js.map +1 -1
- package/dist/core/agents/resolveBackend.d.ts +4 -1
- package/dist/core/agents/resolveBackend.d.ts.map +1 -1
- package/dist/core/agents/resolveBackend.js +31 -1
- package/dist/core/agents/resolveBackend.js.map +1 -1
- package/dist/core/config.d.ts +5 -8
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +3 -9
- package/dist/core/config.js.map +1 -1
- package/dist/core/intel/agentsConfig.d.ts +9 -0
- package/dist/core/intel/agentsConfig.d.ts.map +1 -1
- package/dist/core/intel/agentsConfig.js +42 -0
- package/dist/core/intel/agentsConfig.js.map +1 -1
- package/dist/core/intel/types.d.ts +1 -0
- package/dist/core/intel/types.d.ts.map +1 -1
- package/dist/core/markerFile.d.ts.map +1 -1
- package/dist/core/markerFile.js +2 -2
- package/dist/core/markerFile.js.map +1 -1
- package/dist/core/openaiWorkerLog.d.ts +7 -0
- package/dist/core/openaiWorkerLog.d.ts.map +1 -0
- package/dist/core/openaiWorkerLog.js +98 -0
- package/dist/core/openaiWorkerLog.js.map +1 -0
- package/dist/core/paths.d.ts +1 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +9 -7
- package/dist/core/paths.js.map +1 -1
- package/dist/core/pipelineConfig.js +7 -7
- package/dist/core/pipelineConfig.js.map +1 -1
- package/dist/core/pipelineSession.d.ts +3 -1
- package/dist/core/pipelineSession.d.ts.map +1 -1
- package/dist/core/pipelineSession.js +8 -2
- package/dist/core/pipelineSession.js.map +1 -1
- package/dist/core/processInspect.d.ts +5 -0
- package/dist/core/processInspect.d.ts.map +1 -1
- package/dist/core/processInspect.js +41 -11
- package/dist/core/processInspect.js.map +1 -1
- package/dist/core/projectPipelineAdapter.d.ts.map +1 -1
- package/dist/core/projectPipelineAdapter.js +4 -4
- package/dist/core/projectPipelineAdapter.js.map +1 -1
- package/dist/core/runtimeSnapshot.d.ts +2 -2
- package/dist/core/runtimeSnapshot.d.ts.map +1 -1
- package/dist/core/runtimeSnapshot.js +2 -2
- package/dist/core/runtimeSnapshot.js.map +1 -1
- package/dist/core/runtimeStore.d.ts +12 -12
- package/dist/core/runtimeStore.d.ts.map +1 -1
- package/dist/core/runtimeStore.js +16 -16
- package/dist/core/runtimeStore.js.map +1 -1
- package/dist/core/runtimeTypes.d.ts +109 -24
- package/dist/core/runtimeTypes.d.ts.map +1 -1
- package/dist/core/runtimeTypes.js +1 -1
- package/dist/core/sessionCleanup.d.ts +1 -1
- package/dist/core/sessionCleanup.d.ts.map +1 -1
- package/dist/core/sessionCleanup.js +2 -2
- package/dist/core/sessionCleanup.js.map +1 -1
- package/dist/core/sessionContext.d.ts +2 -2
- package/dist/core/sessionContext.d.ts.map +1 -1
- package/dist/core/sessionContext.js +1 -1
- package/dist/core/sessionContext.js.map +1 -1
- package/dist/core/sessionLiveness.d.ts +7 -6
- package/dist/core/sessionLiveness.d.ts.map +1 -1
- package/dist/core/sessionLiveness.js +3 -4
- package/dist/core/sessionLiveness.js.map +1 -1
- package/dist/core/state.d.ts +13 -12
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +9 -1
- package/dist/core/state.js.map +1 -1
- package/dist/core/workerRuntimeSummary.js +2 -2
- package/dist/core/workerRuntimeSummary.js.map +1 -1
- package/dist/core/workspacePaths.d.ts +22 -0
- package/dist/core/workspacePaths.d.ts.map +1 -0
- package/dist/core/workspacePaths.js +73 -0
- package/dist/core/workspacePaths.js.map +1 -0
- package/dist/daemon/daemonClient.d.ts +19 -22
- package/dist/daemon/daemonClient.d.ts.map +1 -1
- package/dist/daemon/daemonClient.js +82 -2
- package/dist/daemon/daemonClient.js.map +1 -1
- package/dist/daemon/sessionDaemon.d.ts +52 -7
- package/dist/daemon/sessionDaemon.d.ts.map +1 -1
- package/dist/daemon/sessionDaemon.js +40 -24
- package/dist/daemon/sessionDaemon.js.map +1 -1
- package/dist/engines/EventHandler.js +1 -1
- package/dist/engines/EventHandler.js.map +1 -1
- package/dist/engines/MonitorEngine.d.ts +2 -2
- package/dist/engines/MonitorEngine.d.ts.map +1 -1
- package/dist/engines/MonitorEngine.js +15 -17
- package/dist/engines/MonitorEngine.js.map +1 -1
- package/dist/engines/StageEngine.d.ts +5 -3
- package/dist/engines/StageEngine.d.ts.map +1 -1
- package/dist/engines/StageEngine.js +33 -18
- package/dist/engines/StageEngine.js.map +1 -1
- package/dist/main.js +21 -1
- package/dist/main.js.map +1 -1
- package/dist/manager/makeBackendFactory.d.ts +11 -4
- package/dist/manager/makeBackendFactory.d.ts.map +1 -1
- package/dist/manager/makeBackendFactory.js +28 -15
- package/dist/manager/makeBackendFactory.js.map +1 -1
- package/dist/manager/runtime-coordinator.js.map +1 -1
- package/dist/manager/supervisor.d.ts +7 -7
- package/dist/manager/supervisor.d.ts.map +1 -1
- package/dist/manager/supervisor.js +7 -7
- package/dist/manager/supervisor.js.map +1 -1
- package/dist/manager/worker-manager-impl.d.ts +4 -4
- package/dist/manager/worker-manager-impl.d.ts.map +1 -1
- package/dist/manager/worker-manager-impl.js +56 -24
- package/dist/manager/worker-manager-impl.js.map +1 -1
- package/dist/manager/worker-manager.d.ts +6 -6
- package/dist/manager/worker-manager.d.ts.map +1 -1
- package/dist/openai-agent/agentFactory.d.ts +10 -0
- package/dist/openai-agent/agentFactory.d.ts.map +1 -0
- package/dist/openai-agent/agentFactory.js +26 -0
- package/dist/openai-agent/agentFactory.js.map +1 -0
- package/dist/openai-agent/eventMap.d.ts +11 -0
- package/dist/openai-agent/eventMap.d.ts.map +1 -0
- package/dist/openai-agent/eventMap.js +191 -0
- package/dist/openai-agent/eventMap.js.map +1 -0
- package/dist/openai-agent/hooks.d.ts +13 -0
- package/dist/openai-agent/hooks.d.ts.map +1 -0
- package/dist/openai-agent/hooks.js +63 -0
- package/dist/openai-agent/hooks.js.map +1 -0
- package/dist/openai-agent/instructions.d.ts +3 -0
- package/dist/openai-agent/instructions.d.ts.map +1 -0
- package/dist/openai-agent/instructions.js +63 -0
- package/dist/openai-agent/instructions.js.map +1 -0
- package/dist/openai-agent/interactions/broker.d.ts +23 -0
- package/dist/openai-agent/interactions/broker.d.ts.map +1 -0
- package/dist/openai-agent/interactions/broker.js +316 -0
- package/dist/openai-agent/interactions/broker.js.map +1 -0
- package/dist/openai-agent/mcp/managedMcp.d.ts +31 -0
- package/dist/openai-agent/mcp/managedMcp.d.ts.map +1 -0
- package/dist/openai-agent/mcp/managedMcp.js +95 -0
- package/dist/openai-agent/mcp/managedMcp.js.map +1 -0
- package/dist/openai-agent/protocolWriter.d.ts +29 -0
- package/dist/openai-agent/protocolWriter.d.ts.map +1 -0
- package/dist/openai-agent/protocolWriter.js +74 -0
- package/dist/openai-agent/protocolWriter.js.map +1 -0
- package/dist/openai-agent/providerCapabilities.d.ts +31 -0
- package/dist/openai-agent/providerCapabilities.d.ts.map +1 -0
- package/dist/openai-agent/providerCapabilities.js +49 -0
- package/dist/openai-agent/providerCapabilities.js.map +1 -0
- package/dist/openai-agent/providerFactory.d.ts +18 -0
- package/dist/openai-agent/providerFactory.d.ts.map +1 -0
- package/dist/openai-agent/providerFactory.js +38 -0
- package/dist/openai-agent/providerFactory.js.map +1 -0
- package/dist/openai-agent/request.d.ts +22 -0
- package/dist/openai-agent/request.d.ts.map +1 -0
- package/dist/openai-agent/request.js +89 -0
- package/dist/openai-agent/request.js.map +1 -0
- package/dist/openai-agent/runWorker.d.ts +25 -0
- package/dist/openai-agent/runWorker.d.ts.map +1 -0
- package/dist/openai-agent/runWorker.js +635 -0
- package/dist/openai-agent/runWorker.js.map +1 -0
- package/dist/openai-agent/sandbox/execution.d.ts +36 -0
- package/dist/openai-agent/sandbox/execution.d.ts.map +1 -0
- package/dist/openai-agent/sandbox/execution.js +239 -0
- package/dist/openai-agent/sandbox/execution.js.map +1 -0
- package/dist/openai-agent/sandbox/productionDocker.d.ts +17 -0
- package/dist/openai-agent/sandbox/productionDocker.d.ts.map +1 -0
- package/dist/openai-agent/sandbox/productionDocker.js +76 -0
- package/dist/openai-agent/sandbox/productionDocker.js.map +1 -0
- package/dist/openai-agent/sdkContract.d.ts +18 -0
- package/dist/openai-agent/sdkContract.d.ts.map +1 -0
- package/dist/openai-agent/sdkContract.js +2 -0
- package/dist/openai-agent/sdkContract.js.map +1 -0
- package/dist/openai-agent/storage/atomic.d.ts +10 -0
- package/dist/openai-agent/storage/atomic.d.ts.map +1 -0
- package/dist/openai-agent/storage/atomic.js +112 -0
- package/dist/openai-agent/storage/atomic.js.map +1 -0
- package/dist/openai-agent/storage/checkpoint.d.ts +38 -0
- package/dist/openai-agent/storage/checkpoint.d.ts.map +1 -0
- package/dist/openai-agent/storage/checkpoint.js +141 -0
- package/dist/openai-agent/storage/checkpoint.js.map +1 -0
- package/dist/openai-agent/storage/errors.d.ts +8 -0
- package/dist/openai-agent/storage/errors.d.ts.map +1 -0
- package/dist/openai-agent/storage/errors.js +11 -0
- package/dist/openai-agent/storage/errors.js.map +1 -0
- package/dist/openai-agent/storage/index.d.ts +12 -0
- package/dist/openai-agent/storage/index.d.ts.map +1 -0
- package/dist/openai-agent/storage/index.js +12 -0
- package/dist/openai-agent/storage/index.js.map +1 -0
- package/dist/openai-agent/storage/interaction.d.ts +45 -0
- package/dist/openai-agent/storage/interaction.d.ts.map +1 -0
- package/dist/openai-agent/storage/interaction.js +372 -0
- package/dist/openai-agent/storage/interaction.js.map +1 -0
- package/dist/openai-agent/storage/lock.d.ts +13 -0
- package/dist/openai-agent/storage/lock.d.ts.map +1 -0
- package/dist/openai-agent/storage/lock.js +95 -0
- package/dist/openai-agent/storage/lock.js.map +1 -0
- package/dist/openai-agent/storage/metrics.d.ts +34 -0
- package/dist/openai-agent/storage/metrics.d.ts.map +1 -0
- package/dist/openai-agent/storage/metrics.js +74 -0
- package/dist/openai-agent/storage/metrics.js.map +1 -0
- package/dist/openai-agent/storage/output.d.ts +22 -0
- package/dist/openai-agent/storage/output.d.ts.map +1 -0
- package/dist/openai-agent/storage/output.js +175 -0
- package/dist/openai-agent/storage/output.js.map +1 -0
- package/dist/openai-agent/storage/session.d.ts +38 -0
- package/dist/openai-agent/storage/session.d.ts.map +1 -0
- package/dist/openai-agent/storage/session.js +216 -0
- package/dist/openai-agent/storage/session.js.map +1 -0
- package/dist/openai-agent/storage/toolLedger.d.ts +64 -0
- package/dist/openai-agent/storage/toolLedger.d.ts.map +1 -0
- package/dist/openai-agent/storage/toolLedger.js +281 -0
- package/dist/openai-agent/storage/toolLedger.js.map +1 -0
- package/dist/openai-agent/storage/workerStorage.d.ts +21 -0
- package/dist/openai-agent/storage/workerStorage.d.ts.map +1 -0
- package/dist/openai-agent/storage/workerStorage.js +38 -0
- package/dist/openai-agent/storage/workerStorage.js.map +1 -0
- package/dist/openai-agent/storage/workspace.d.ts +17 -0
- package/dist/openai-agent/storage/workspace.d.ts.map +1 -0
- package/dist/openai-agent/storage/workspace.js +67 -0
- package/dist/openai-agent/storage/workspace.js.map +1 -0
- package/dist/openai-agent/testHelpers.d.ts +9 -0
- package/dist/openai-agent/testHelpers.d.ts.map +1 -0
- package/dist/openai-agent/testHelpers.js +35 -0
- package/dist/openai-agent/testHelpers.js.map +1 -0
- package/dist/openai-agent/tools/ledgerTools.d.ts +12 -0
- package/dist/openai-agent/tools/ledgerTools.d.ts.map +1 -0
- package/dist/openai-agent/tools/ledgerTools.js +151 -0
- package/dist/openai-agent/tools/ledgerTools.js.map +1 -0
- package/dist/providers/MarkdownTaskBackend.d.ts.map +1 -1
- package/dist/providers/MarkdownTaskBackend.js +2 -2
- package/dist/providers/MarkdownTaskBackend.js.map +1 -1
- package/dist/providers/RuntimeSessionRuntime.d.ts +35 -15
- package/dist/providers/RuntimeSessionRuntime.d.ts.map +1 -1
- package/dist/providers/RuntimeSessionRuntime.js +239 -22
- package/dist/providers/RuntimeSessionRuntime.js.map +1 -1
- package/dist/providers/llm/chatTools.d.ts.map +1 -1
- package/dist/providers/llm/chatTools.js +3 -3
- package/dist/providers/llm/chatTools.js.map +1 -1
- package/dist/providers/llm/codexAuth.d.ts +6 -1
- package/dist/providers/llm/codexAuth.d.ts.map +1 -1
- package/dist/providers/llm/codexAuth.js +45 -9
- package/dist/providers/llm/codexAuth.js.map +1 -1
- package/dist/providers/llm/codexModel.d.ts +4 -1
- package/dist/providers/llm/codexModel.d.ts.map +1 -1
- package/dist/providers/llm/codexModel.js +13 -3
- package/dist/providers/llm/codexModel.js.map +1 -1
- package/dist/providers/llm/localSubscription.d.ts +1 -1
- package/dist/providers/llm/localSubscription.d.ts.map +1 -1
- package/dist/providers/llm/localSubscription.js +2 -2
- package/dist/providers/llm/localSubscription.js.map +1 -1
- package/dist/providers/runtimeEventMap.d.ts +54 -5
- package/dist/providers/runtimeEventMap.d.ts.map +1 -1
- package/dist/providers/runtimeEventMap.js +110 -11
- package/dist/providers/runtimeEventMap.js.map +1 -1
- package/dist/runtime/agentd/client.d.ts +29 -0
- package/dist/runtime/agentd/client.d.ts.map +1 -0
- package/dist/runtime/agentd/client.js +131 -0
- package/dist/runtime/agentd/client.js.map +1 -0
- package/dist/runtime/agentd/main.d.ts +10 -0
- package/dist/runtime/agentd/main.d.ts.map +1 -0
- package/dist/runtime/agentd/main.js +49 -0
- package/dist/runtime/agentd/main.js.map +1 -0
- package/dist/runtime/agentd/protocol.d.ts +74 -0
- package/dist/runtime/agentd/protocol.d.ts.map +1 -0
- package/dist/runtime/agentd/protocol.js +21 -0
- package/dist/runtime/agentd/protocol.js.map +1 -0
- package/dist/runtime/agentd/server.d.ts +15 -0
- package/dist/runtime/agentd/server.d.ts.map +1 -0
- package/dist/runtime/agentd/server.js +116 -0
- package/dist/runtime/agentd/server.js.map +1 -0
- package/dist/runtime/backends/claude/ClaudeBackend.d.ts +155 -0
- package/dist/runtime/backends/claude/ClaudeBackend.d.ts.map +1 -0
- package/dist/runtime/backends/claude/ClaudeBackend.js +398 -0
- package/dist/runtime/backends/claude/ClaudeBackend.js.map +1 -0
- package/dist/runtime/backends/claude/ClaudeSessions.d.ts +23 -0
- package/dist/runtime/backends/claude/ClaudeSessions.d.ts.map +1 -0
- package/dist/runtime/backends/claude/ClaudeSessions.js +45 -0
- package/dist/runtime/backends/claude/ClaudeSessions.js.map +1 -0
- package/dist/runtime/backends/claude/inprocTools.d.ts +17 -0
- package/dist/runtime/backends/claude/inprocTools.d.ts.map +1 -0
- package/dist/runtime/backends/claude/inprocTools.js +14 -0
- package/dist/runtime/backends/claude/inprocTools.js.map +1 -0
- package/dist/runtime/backends/process/ExternalProcessBackend.d.ts +83 -0
- package/dist/runtime/backends/process/ExternalProcessBackend.d.ts.map +1 -0
- package/dist/runtime/backends/process/ExternalProcessBackend.js +642 -0
- package/dist/runtime/backends/process/ExternalProcessBackend.js.map +1 -0
- package/dist/runtime/contract/AgentBackend.d.ts +199 -0
- package/dist/runtime/contract/AgentBackend.d.ts.map +1 -0
- package/dist/runtime/contract/AgentBackend.js +2 -0
- package/dist/runtime/contract/AgentBackend.js.map +1 -0
- package/dist/runtime/contract/events.d.ts +96 -0
- package/dist/runtime/contract/events.d.ts.map +1 -0
- package/dist/runtime/contract/events.js +2 -0
- package/dist/runtime/contract/events.js.map +1 -0
- package/dist/runtime/contract/index.d.ts +13 -0
- package/dist/runtime/contract/index.d.ts.map +1 -0
- package/dist/runtime/contract/index.js +2 -0
- package/dist/runtime/contract/index.js.map +1 -0
- package/dist/runtime/contract/lifecycle.d.ts +26 -0
- package/dist/runtime/contract/lifecycle.d.ts.map +1 -0
- package/dist/runtime/contract/lifecycle.js +6 -0
- package/dist/runtime/contract/lifecycle.js.map +1 -0
- package/dist/runtime/contract/processProtocol.d.ts +263 -0
- package/dist/runtime/contract/processProtocol.d.ts.map +1 -0
- package/dist/runtime/contract/processProtocol.js +779 -0
- package/dist/runtime/contract/processProtocol.js.map +1 -0
- package/dist/runtime/contract/service.d.ts +85 -0
- package/dist/runtime/contract/service.d.ts.map +1 -0
- package/dist/runtime/contract/service.js +2 -0
- package/dist/runtime/contract/service.js.map +1 -0
- package/dist/runtime/contract/versioning.d.ts +44 -0
- package/dist/runtime/contract/versioning.d.ts.map +1 -0
- package/dist/runtime/contract/versioning.js +10 -0
- package/dist/runtime/contract/versioning.js.map +1 -0
- package/dist/runtime/index.d.ts +21 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +26 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/runtime.d.ts +21 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.js +34 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/service/AgentRuntime.d.ts +60 -0
- package/dist/runtime/service/AgentRuntime.d.ts.map +1 -0
- package/dist/runtime/service/AgentRuntime.js +396 -0
- package/dist/runtime/service/AgentRuntime.js.map +1 -0
- package/dist/runtime/service/FileRecordStore.d.ts +12 -0
- package/dist/runtime/service/FileRecordStore.d.ts.map +1 -0
- package/dist/runtime/service/FileRecordStore.js +48 -0
- package/dist/runtime/service/FileRecordStore.js.map +1 -0
- package/dist/runtime/service/backendFactory.d.ts +8 -0
- package/dist/runtime/service/backendFactory.d.ts.map +1 -0
- package/dist/runtime/service/backendFactory.js +20 -0
- package/dist/runtime/service/backendFactory.js.map +1 -0
- package/dist/runtime/stub/NoopBackend.d.ts +29 -0
- package/dist/runtime/stub/NoopBackend.d.ts.map +1 -0
- package/dist/runtime/stub/NoopBackend.js +56 -0
- package/dist/runtime/stub/NoopBackend.js.map +1 -0
- package/dist/runtime/stub/NoopService.d.ts +23 -0
- package/dist/runtime/stub/NoopService.d.ts.map +1 -0
- package/dist/runtime/stub/NoopService.js +136 -0
- package/dist/runtime/stub/NoopService.js.map +1 -0
- package/dist/runtime/stub/index.d.ts +8 -0
- package/dist/runtime/stub/index.d.ts.map +1 -0
- package/dist/runtime/stub/index.js +8 -0
- package/dist/runtime/stub/index.js.map +1 -0
- package/dist/runtime/versioning/VersionManager.d.ts +31 -0
- package/dist/runtime/versioning/VersionManager.d.ts.map +1 -0
- package/dist/runtime/versioning/VersionManager.js +142 -0
- package/dist/runtime/versioning/VersionManager.js.map +1 -0
- package/dist/services/ChatService.d.ts +11 -0
- package/dist/services/ChatService.d.ts.map +1 -1
- package/dist/services/ChatService.js +35 -5
- package/dist/services/ChatService.js.map +1 -1
- package/dist/services/LogService.d.ts +10 -4
- package/dist/services/LogService.d.ts.map +1 -1
- package/dist/services/LogService.js +26 -5
- package/dist/services/LogService.js.map +1 -1
- package/dist/services/ProjectService.d.ts +27 -0
- package/dist/services/ProjectService.d.ts.map +1 -1
- package/dist/services/ProjectService.js +74 -14
- package/dist/services/ProjectService.js.map +1 -1
- package/dist/services/WorkerService.d.ts +1 -0
- package/dist/services/WorkerService.d.ts.map +1 -1
- package/dist/services/WorkerService.js +72 -0
- package/dist/services/WorkerService.js.map +1 -1
- package/dist/services/executors.d.ts +1 -0
- package/dist/services/executors.d.ts.map +1 -1
- package/dist/services/executors.js +9 -1
- package/dist/services/executors.js.map +1 -1
- package/dist/services/promptPreview.d.ts.map +1 -1
- package/dist/services/promptPreview.js +4 -3
- package/dist/services/promptPreview.js.map +1 -1
- package/dist/shared/runtimePaths.d.ts +4 -0
- package/dist/shared/runtimePaths.d.ts.map +1 -1
- package/dist/shared/runtimePaths.js +8 -0
- package/dist/shared/runtimePaths.js.map +1 -1
- package/dist/shared/runtimeSchemas.d.ts +6 -2
- package/dist/shared/runtimeSchemas.d.ts.map +1 -1
- package/dist/shared/runtimeSchemas.js +3 -2
- package/dist/shared/runtimeSchemas.js.map +1 -1
- package/docs/openai-daemon-agent.md +144 -0
- package/package.json +15 -9
- package/project-template/.claude/hooks/openai/on-start.sh +6 -0
- package/project-template/.claude/hooks/openai/on-stop.sh +6 -0
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
/** 保活模式的输入流控制器:把多轮 dispatch 的用户消息喂进同一个开着的 query。 */
|
|
2
|
+
class InputController {
|
|
3
|
+
queue = [];
|
|
4
|
+
resolve = null;
|
|
5
|
+
closed = false;
|
|
6
|
+
push(msg) {
|
|
7
|
+
if (this.resolve) {
|
|
8
|
+
const r = this.resolve;
|
|
9
|
+
this.resolve = null;
|
|
10
|
+
r({ value: msg, done: false });
|
|
11
|
+
}
|
|
12
|
+
else
|
|
13
|
+
this.queue.push(msg);
|
|
14
|
+
}
|
|
15
|
+
close() {
|
|
16
|
+
this.closed = true;
|
|
17
|
+
if (this.resolve) {
|
|
18
|
+
const r = this.resolve;
|
|
19
|
+
this.resolve = null;
|
|
20
|
+
r({ value: undefined, done: true });
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
iterable() {
|
|
24
|
+
const self = this;
|
|
25
|
+
return {
|
|
26
|
+
[Symbol.asyncIterator]() {
|
|
27
|
+
return {
|
|
28
|
+
next() {
|
|
29
|
+
const head = self.queue.shift();
|
|
30
|
+
if (head !== undefined)
|
|
31
|
+
return Promise.resolve({ value: head, done: false });
|
|
32
|
+
if (self.closed)
|
|
33
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
34
|
+
return new Promise((res) => {
|
|
35
|
+
self.resolve = res;
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const MODE_MAP = {
|
|
44
|
+
default: 'default',
|
|
45
|
+
acceptEdits: 'acceptEdits',
|
|
46
|
+
bypass: 'bypassPermissions',
|
|
47
|
+
plan: 'plan',
|
|
48
|
+
};
|
|
49
|
+
export class ClaudeBackend {
|
|
50
|
+
cfg;
|
|
51
|
+
sdk;
|
|
52
|
+
kind = 'claude';
|
|
53
|
+
sessionId;
|
|
54
|
+
current;
|
|
55
|
+
abort;
|
|
56
|
+
state = 'idle';
|
|
57
|
+
cancelled = false;
|
|
58
|
+
/** 最近一次 system.init(含 model/tools/mcp_servers/slash_commands/...);供无在飞 Query 时回退查询。 */
|
|
59
|
+
lastInit;
|
|
60
|
+
/** 保活模式:开着的输入流 + 是否已启动持续输出循环。 */
|
|
61
|
+
input;
|
|
62
|
+
loopStarted = false;
|
|
63
|
+
listeners = new Set();
|
|
64
|
+
constructor(cfg, sdk) {
|
|
65
|
+
this.cfg = cfg;
|
|
66
|
+
this.sdk = sdk;
|
|
67
|
+
}
|
|
68
|
+
subscribe(listener) {
|
|
69
|
+
this.listeners.add(listener);
|
|
70
|
+
return () => {
|
|
71
|
+
this.listeners.delete(listener);
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
emit(ev) {
|
|
75
|
+
for (const l of this.listeners) {
|
|
76
|
+
try {
|
|
77
|
+
l(ev);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
/* listener 异常不阻塞 */
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
async ensure() {
|
|
85
|
+
const resumeId = this.cfg.resumeSessionId;
|
|
86
|
+
if (!resumeId) {
|
|
87
|
+
// fresh:claude 的真 session_id 要到首轮 init 才有;此处不预热,id 经 session 事件交付。
|
|
88
|
+
return { sessionId: this.sessionId ?? '', resumed: false };
|
|
89
|
+
}
|
|
90
|
+
if (this.sdk.getSessionInfo) {
|
|
91
|
+
const info = await this.sdk.getSessionInfo(resumeId);
|
|
92
|
+
if (info === undefined) {
|
|
93
|
+
// 确定性:查无此会话 → 不 resume,消费者据此重放历史。
|
|
94
|
+
this.sessionId = undefined;
|
|
95
|
+
return { sessionId: '', resumed: false, resumeFailed: 'not_found' };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
this.sessionId = resumeId;
|
|
99
|
+
return { sessionId: resumeId, resumed: true };
|
|
100
|
+
}
|
|
101
|
+
async dispatch(prompt) {
|
|
102
|
+
if (this.cfg.claude?.persistent)
|
|
103
|
+
return this.dispatchPersistent(prompt);
|
|
104
|
+
this.state = 'running';
|
|
105
|
+
this.cancelled = false;
|
|
106
|
+
this.abort = new AbortController();
|
|
107
|
+
const q = this.sdk.query({ prompt, options: this.buildOptions() });
|
|
108
|
+
this.current = q;
|
|
109
|
+
void (async () => {
|
|
110
|
+
try {
|
|
111
|
+
for await (const m of q)
|
|
112
|
+
this.translate(m);
|
|
113
|
+
}
|
|
114
|
+
catch (err) {
|
|
115
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
116
|
+
const lost = /session[_ ]?lost|session not found/i.test(message);
|
|
117
|
+
// 运行期 resume 失效(对应 R1 的 'session_lost'):recoverable,消费者重放历史后重起。
|
|
118
|
+
this.emit({ kind: 'error', message, recoverable: lost });
|
|
119
|
+
this.emit({ kind: 'result', status: 'failed', text: message, stopReason: lost ? 'error' : 'error' });
|
|
120
|
+
this.state = 'failed';
|
|
121
|
+
}
|
|
122
|
+
finally {
|
|
123
|
+
this.current = undefined;
|
|
124
|
+
}
|
|
125
|
+
})();
|
|
126
|
+
}
|
|
127
|
+
/** 保活模式:首轮建一个流式 query(常驻子进程),后续 dispatch 把消息喂进同一个流。 */
|
|
128
|
+
dispatchPersistent(prompt) {
|
|
129
|
+
this.state = 'running';
|
|
130
|
+
this.cancelled = false;
|
|
131
|
+
if (!this.loopStarted) {
|
|
132
|
+
this.loopStarted = true;
|
|
133
|
+
this.input = new InputController();
|
|
134
|
+
this.abort = new AbortController();
|
|
135
|
+
const q = this.sdk.query({ prompt: this.input.iterable(), options: this.buildOptions() });
|
|
136
|
+
this.current = q;
|
|
137
|
+
void (async () => {
|
|
138
|
+
try {
|
|
139
|
+
for await (const m of q)
|
|
140
|
+
this.translate(m); // 一直跑,跨多轮
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
144
|
+
const lost = /session[_ ]?lost|session not found/i.test(message);
|
|
145
|
+
this.emit({ kind: 'error', message, recoverable: lost });
|
|
146
|
+
this.emit({ kind: 'result', status: 'failed', text: message, stopReason: 'error' });
|
|
147
|
+
this.state = 'failed';
|
|
148
|
+
}
|
|
149
|
+
finally {
|
|
150
|
+
this.current = undefined;
|
|
151
|
+
this.loopStarted = false; // 流结束(stop 或出错)→ 可重建
|
|
152
|
+
}
|
|
153
|
+
})();
|
|
154
|
+
}
|
|
155
|
+
// 喂这一轮的用户消息(SDKUserMessage);SDK 会驱动同一进程跑一个 turn。
|
|
156
|
+
this.input.push({ type: 'user', message: { role: 'user', content: prompt }, parent_tool_use_id: null });
|
|
157
|
+
}
|
|
158
|
+
/** SDKMessage → 状态 + WorkerOutputEvent(全量映射)。 */
|
|
159
|
+
translate(m) {
|
|
160
|
+
if (m.type === 'system' && m.subtype === 'init' && m.session_id) {
|
|
161
|
+
this.sessionId = m.session_id; // durable resume 锚
|
|
162
|
+
this.lastInit = m; // 缓存初始化信息
|
|
163
|
+
this.emit({ kind: 'session', sessionId: m.session_id });
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
if (m.type === 'assistant' && Array.isArray(m.message?.content)) {
|
|
167
|
+
for (const b of m.message.content) {
|
|
168
|
+
if (b.type === 'text' && b.text)
|
|
169
|
+
this.emit({ kind: 'text', text: b.text });
|
|
170
|
+
else if (b.type === 'thinking' && b.thinking)
|
|
171
|
+
this.emit({ kind: 'thinking', text: b.thinking });
|
|
172
|
+
else if (b.type === 'tool_use' && b.id && b.name) {
|
|
173
|
+
this.emit({ kind: 'tool_use', id: b.id, title: b.name, toolName: b.name, input: b.input });
|
|
174
|
+
this.emit({ kind: 'tool_update', id: b.id, status: 'running' });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (m.type === 'user' && Array.isArray(m.message?.content)) {
|
|
180
|
+
// 工具结果回包 → tool_update 收尾。
|
|
181
|
+
for (const b of m.message.content) {
|
|
182
|
+
if (b.type === 'tool_result' && b.tool_use_id) {
|
|
183
|
+
this.emit({ kind: 'tool_update', id: b.tool_use_id, status: b.is_error ? 'failed' : 'completed' });
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
if (m.type === 'result') {
|
|
189
|
+
const ok = m.subtype === 'success' && !m.is_error;
|
|
190
|
+
const usage = {
|
|
191
|
+
inputTokens: m.usage?.input_tokens,
|
|
192
|
+
outputTokens: m.usage?.output_tokens,
|
|
193
|
+
costUsd: m.total_cost_usd,
|
|
194
|
+
byModel: this.mapModelUsage(m.modelUsage),
|
|
195
|
+
};
|
|
196
|
+
const stopReason = this.cancelled ? 'cancelled' : (m.stop_reason ?? undefined);
|
|
197
|
+
this.emit({ kind: 'result', status: ok ? 'completed' : 'failed', text: m.result ?? '', usage, stopReason });
|
|
198
|
+
this.state = this.cancelled ? 'cancelled' : ok ? 'completed' : 'failed'; // 权威完成判定(result.subtype)
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
// 无损逃生舱:未归一的消息类型(stream_event / 各 system 子类型 / 限流·退避·refusal 等)原样透出。
|
|
202
|
+
this.emit({ kind: 'raw', backend: 'claude', type: m.type, message: m });
|
|
203
|
+
}
|
|
204
|
+
mapModelUsage(mu) {
|
|
205
|
+
if (!mu)
|
|
206
|
+
return undefined;
|
|
207
|
+
const out = {};
|
|
208
|
+
for (const [model, u] of Object.entries(mu)) {
|
|
209
|
+
if (u)
|
|
210
|
+
out[model] = { inputTokens: u.inputTokens, outputTokens: u.outputTokens };
|
|
211
|
+
}
|
|
212
|
+
return Object.keys(out).length ? out : undefined;
|
|
213
|
+
}
|
|
214
|
+
/** SessionConfig → claude query options(全字段落地)。 */
|
|
215
|
+
buildOptions() {
|
|
216
|
+
const c = this.cfg;
|
|
217
|
+
const opts = {
|
|
218
|
+
cwd: c.cwd,
|
|
219
|
+
systemPrompt: { type: 'preset', preset: 'claude_code' },
|
|
220
|
+
abortController: this.abort,
|
|
221
|
+
};
|
|
222
|
+
if (c.model)
|
|
223
|
+
opts.model = c.model;
|
|
224
|
+
if (this.sessionId)
|
|
225
|
+
opts.resume = this.sessionId; // resume 透传(ensure 已校验)
|
|
226
|
+
if (c.additionalDirectories)
|
|
227
|
+
opts.additionalDirectories = c.additionalDirectories;
|
|
228
|
+
if (c.settingSources)
|
|
229
|
+
opts.settingSources = c.settingSources; // gameforge 零改动命门('local')
|
|
230
|
+
if (c.env)
|
|
231
|
+
opts.env = c.env;
|
|
232
|
+
if (c.mcpServers?.length)
|
|
233
|
+
opts.mcpServers = this.mapMcp(c.mcpServers);
|
|
234
|
+
const perm = c.permission;
|
|
235
|
+
const mode = MODE_MAP[perm?.mode ?? 'default'];
|
|
236
|
+
opts.permissionMode = mode;
|
|
237
|
+
if (mode === 'bypassPermissions')
|
|
238
|
+
opts.allowDangerouslySkipPermissions = true; // SDK 要求
|
|
239
|
+
if (perm?.allowTools)
|
|
240
|
+
opts.allowedTools = perm.allowTools;
|
|
241
|
+
if (perm?.decide) {
|
|
242
|
+
const decide = perm.decide;
|
|
243
|
+
opts.canUseTool = async (toolName, input) => {
|
|
244
|
+
const r = await decide(toolName, input);
|
|
245
|
+
return r.allow
|
|
246
|
+
? { behavior: 'allow', updatedInput: input }
|
|
247
|
+
: { behavior: 'deny', message: r.reason ?? 'denied by policy (cwd/tenant boundary)' };
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
const t = c.tuning;
|
|
251
|
+
if (t?.maxThinkingTokens != null)
|
|
252
|
+
opts.maxThinkingTokens = t.maxThinkingTokens;
|
|
253
|
+
if (t?.maxTurns != null)
|
|
254
|
+
opts.maxTurns = t.maxTurns;
|
|
255
|
+
if (t?.includePartialMessages)
|
|
256
|
+
opts.includePartialMessages = true;
|
|
257
|
+
if (t?.fallbackModel)
|
|
258
|
+
opts.fallbackModel = t.fallbackModel;
|
|
259
|
+
// claude 专属扩展(差异不抹平):hooks / 子代理 / 自定义二进制 / stderr / 逃生舱。
|
|
260
|
+
const x = c.claude;
|
|
261
|
+
if (x?.hooks !== undefined)
|
|
262
|
+
opts.hooks = x.hooks;
|
|
263
|
+
if (x?.agents)
|
|
264
|
+
opts.agents = x.agents;
|
|
265
|
+
if (x?.pathToClaudeCodeExecutable)
|
|
266
|
+
opts.pathToClaudeCodeExecutable = x.pathToClaudeCodeExecutable;
|
|
267
|
+
if (x?.stderr)
|
|
268
|
+
opts.stderr = x.stderr;
|
|
269
|
+
if (x?.extraOptions)
|
|
270
|
+
Object.assign(opts, x.extraOptions); // 逃生舱覆盖于归一字段之上
|
|
271
|
+
return opts;
|
|
272
|
+
}
|
|
273
|
+
// ── 运行时控制(claude 专属;ACP 给不了。无在飞 query 时静默 no-op)──
|
|
274
|
+
/** 运行时切模型(下一个/当前轮生效,取决于 SDK)。 */
|
|
275
|
+
async setModel(model) {
|
|
276
|
+
await this.current?.setModel?.(model);
|
|
277
|
+
}
|
|
278
|
+
/** 运行时改思考预算。 */
|
|
279
|
+
async setMaxThinkingTokens(n) {
|
|
280
|
+
await this.current?.setMaxThinkingTokens?.(n);
|
|
281
|
+
}
|
|
282
|
+
/** 运行时改权限模式(中立值映射到 SDK)。 */
|
|
283
|
+
async setPermissionMode(mode) {
|
|
284
|
+
await this.current?.setPermissionMode?.(MODE_MAP[mode ?? 'default']);
|
|
285
|
+
}
|
|
286
|
+
/** 单 MCP server 的权限模式覆盖。 */
|
|
287
|
+
async setMcpPermissionModeOverride(serverName, mode) {
|
|
288
|
+
return this.current?.setMcpPermissionModeOverride?.(serverName, mode);
|
|
289
|
+
}
|
|
290
|
+
/** 运行时套用 flag settings。 */
|
|
291
|
+
async applyFlagSettings(settings) {
|
|
292
|
+
return this.current?.applyFlagSettings?.(settings);
|
|
293
|
+
}
|
|
294
|
+
/** 初始化结果(模型/工具/MCP 状态等);无在飞 Query 时回退到最近一次 system.init。 */
|
|
295
|
+
async initializationResult() {
|
|
296
|
+
return (await this.current?.initializationResult?.()) ?? this.lastInit;
|
|
297
|
+
}
|
|
298
|
+
/** 重新初始化(重载配置)。 */
|
|
299
|
+
async reinitialize() {
|
|
300
|
+
return this.current?.reinitialize?.();
|
|
301
|
+
}
|
|
302
|
+
/** 当前支持的斜杠命令;无在飞 Query 时回退到 init 里的 slash_commands。 */
|
|
303
|
+
async supportedCommands() {
|
|
304
|
+
const live = await this.current?.supportedCommands?.();
|
|
305
|
+
if (live)
|
|
306
|
+
return live;
|
|
307
|
+
const sc = this.lastInit?.['slash_commands'];
|
|
308
|
+
return Array.isArray(sc) ? sc : [];
|
|
309
|
+
}
|
|
310
|
+
/** 当前可用模型。 */
|
|
311
|
+
async supportedModels() {
|
|
312
|
+
return (await this.current?.supportedModels?.()) ?? [];
|
|
313
|
+
}
|
|
314
|
+
/** 当前可用子代理(回退到 init 的 agents)。 */
|
|
315
|
+
async supportedAgents() {
|
|
316
|
+
const live = await this.current?.supportedAgents?.();
|
|
317
|
+
if (live)
|
|
318
|
+
return live;
|
|
319
|
+
const a = this.lastInit?.['agents'];
|
|
320
|
+
return Array.isArray(a) ? a : [];
|
|
321
|
+
}
|
|
322
|
+
/** MCP server 连接状态(回退到 init 的 mcp_servers)。 */
|
|
323
|
+
async mcpServerStatus() {
|
|
324
|
+
return (await this.current?.mcpServerStatus?.()) ?? this.lastInit?.['mcp_servers'];
|
|
325
|
+
}
|
|
326
|
+
/** 账户信息。 */
|
|
327
|
+
async accountInfo() {
|
|
328
|
+
return this.current?.accountInfo?.();
|
|
329
|
+
}
|
|
330
|
+
/** 重连指定 MCP server。 */
|
|
331
|
+
async reconnectMcpServer(serverName) {
|
|
332
|
+
return this.current?.reconnectMcpServer?.(serverName);
|
|
333
|
+
}
|
|
334
|
+
/** 启/停指定 MCP server。 */
|
|
335
|
+
async toggleMcpServer(serverName, enabled) {
|
|
336
|
+
return this.current?.toggleMcpServer?.(serverName, enabled);
|
|
337
|
+
}
|
|
338
|
+
/** 运行时整体替换 MCP servers。 */
|
|
339
|
+
async setMcpServers(servers) {
|
|
340
|
+
return this.current?.setMcpServers?.(servers);
|
|
341
|
+
}
|
|
342
|
+
/** 回退文件到某条用户消息时的状态(checkpointing)。 */
|
|
343
|
+
async rewindFiles(userMessageId, options) {
|
|
344
|
+
return this.current?.rewindFiles?.(userMessageId, options);
|
|
345
|
+
}
|
|
346
|
+
/** 停止某个后台任务。 */
|
|
347
|
+
async stopTask(taskId) {
|
|
348
|
+
return this.current?.stopTask?.(taskId);
|
|
349
|
+
}
|
|
350
|
+
/** 流式多轮输入(streaming input mode)。 */
|
|
351
|
+
async streamInput(stream) {
|
|
352
|
+
return this.current?.streamInput?.(stream);
|
|
353
|
+
}
|
|
354
|
+
/** 关闭并终止底层进程(等同更彻底的 stop)。 */
|
|
355
|
+
closeQuery() {
|
|
356
|
+
this.current?.close?.();
|
|
357
|
+
this.current = undefined;
|
|
358
|
+
}
|
|
359
|
+
/** 当前在飞的 Query 句柄(无则 undefined)—— 触达任何未显式封装的方法。 */
|
|
360
|
+
query() {
|
|
361
|
+
return this.current;
|
|
362
|
+
}
|
|
363
|
+
/** 注入的完整 SDK 模块 —— 触达会话管理(listSessions/forkSession/…)/ createSdkMcpServer / tool / 任何顶层导出。 */
|
|
364
|
+
raw() {
|
|
365
|
+
return this.sdk;
|
|
366
|
+
}
|
|
367
|
+
mapMcp(specs) {
|
|
368
|
+
const out = {};
|
|
369
|
+
for (const s of specs) {
|
|
370
|
+
if (s.transport === 'inproc')
|
|
371
|
+
out[s.name] = s.instance; // createSdkMcpServer 实例,直接透传
|
|
372
|
+
else if (s.transport === 'stdio')
|
|
373
|
+
out[s.name] = { type: 'stdio', command: s.command, args: s.args ?? [] };
|
|
374
|
+
else
|
|
375
|
+
out[s.name] = { type: s.transport, url: s.url }; // http | sse
|
|
376
|
+
}
|
|
377
|
+
return out;
|
|
378
|
+
}
|
|
379
|
+
async runState() {
|
|
380
|
+
return this.state;
|
|
381
|
+
}
|
|
382
|
+
/** 中断本轮、保活会话(可续)。 */
|
|
383
|
+
async cancel() {
|
|
384
|
+
this.cancelled = true;
|
|
385
|
+
await this.current?.interrupt().catch(() => { });
|
|
386
|
+
this.state = 'cancelled';
|
|
387
|
+
}
|
|
388
|
+
/** 收尾:关输入流(保活模式→结束流→子进程退出)+ abort + 复位。 */
|
|
389
|
+
async stop(_reason) {
|
|
390
|
+
this.input?.close(); // 保活:结束流,常驻进程随之退出
|
|
391
|
+
this.input = undefined;
|
|
392
|
+
this.loopStarted = false;
|
|
393
|
+
this.abort?.abort();
|
|
394
|
+
this.current = undefined;
|
|
395
|
+
this.state = 'idle';
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
//# sourceMappingURL=ClaudeBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeBackend.js","sourceRoot":"","sources":["../../../../src/runtime/backends/claude/ClaudeBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module backends/claude/ClaudeSessions
|
|
3
|
+
* claude 会话管理门面(对照官方 Sessions API):list / fork / delete / rename / tag /
|
|
4
|
+
* getInfo / getMessages / foldSummary / importToStore / 子代理消息。SDK 注入,不静态 import。
|
|
5
|
+
* 给消费者一个稳定的会话管理面;底层函数缺失(老版本)则抛清晰错误。
|
|
6
|
+
*/
|
|
7
|
+
import type { ClaudeSdkModule } from './ClaudeBackend.js';
|
|
8
|
+
export declare class ClaudeSessions {
|
|
9
|
+
private readonly sdk;
|
|
10
|
+
constructor(sdk: ClaudeSdkModule);
|
|
11
|
+
getInfo(sessionId: string, options?: unknown): Promise<unknown | undefined>;
|
|
12
|
+
getMessages(sessionId: string, options?: unknown): Promise<unknown[]>;
|
|
13
|
+
list(options?: unknown): Promise<unknown[]>;
|
|
14
|
+
fork(sessionId: string, options?: unknown): Promise<unknown>;
|
|
15
|
+
delete(sessionId: string, options?: unknown): Promise<unknown>;
|
|
16
|
+
rename(sessionId: string, title: string, options?: unknown): Promise<unknown>;
|
|
17
|
+
tag(...args: unknown[]): Promise<unknown>;
|
|
18
|
+
foldSummary(...args: unknown[]): Promise<unknown>;
|
|
19
|
+
importToStore(...args: unknown[]): Promise<unknown>;
|
|
20
|
+
listSubagents(options?: unknown): Promise<unknown[]>;
|
|
21
|
+
getSubagentMessages(...args: unknown[]): Promise<unknown[]>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=ClaudeSessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeSessions.d.ts","sourceRoot":"","sources":["../../../../src/runtime/backends/claude/ClaudeSessions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAO1D,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,eAAe;IAEjD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAG3E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAGrE,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAG3C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAG5D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAG9D,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAG7E,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAGzC,WAAW,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAGjD,aAAa,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAGnD,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAGpD,mBAAmB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAG5D"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
const need = (fn, name) => {
|
|
2
|
+
if (!fn)
|
|
3
|
+
throw new Error(`ClaudeSessions: 注入的 SDK 不含 ${name}(版本不支持)`);
|
|
4
|
+
return fn;
|
|
5
|
+
};
|
|
6
|
+
export class ClaudeSessions {
|
|
7
|
+
sdk;
|
|
8
|
+
constructor(sdk) {
|
|
9
|
+
this.sdk = sdk;
|
|
10
|
+
}
|
|
11
|
+
getInfo(sessionId, options) {
|
|
12
|
+
return need(this.sdk.getSessionInfo, 'getSessionInfo')(sessionId, options);
|
|
13
|
+
}
|
|
14
|
+
getMessages(sessionId, options) {
|
|
15
|
+
return need(this.sdk.getSessionMessages, 'getSessionMessages')(sessionId, options);
|
|
16
|
+
}
|
|
17
|
+
list(options) {
|
|
18
|
+
return need(this.sdk.listSessions, 'listSessions')(options);
|
|
19
|
+
}
|
|
20
|
+
fork(sessionId, options) {
|
|
21
|
+
return need(this.sdk.forkSession, 'forkSession')(sessionId, options);
|
|
22
|
+
}
|
|
23
|
+
delete(sessionId, options) {
|
|
24
|
+
return need(this.sdk.deleteSession, 'deleteSession')(sessionId, options);
|
|
25
|
+
}
|
|
26
|
+
rename(sessionId, title, options) {
|
|
27
|
+
return need(this.sdk.renameSession, 'renameSession')(sessionId, title, options);
|
|
28
|
+
}
|
|
29
|
+
tag(...args) {
|
|
30
|
+
return need(this.sdk.tagSession, 'tagSession')(...args);
|
|
31
|
+
}
|
|
32
|
+
foldSummary(...args) {
|
|
33
|
+
return need(this.sdk.foldSessionSummary, 'foldSessionSummary')(...args);
|
|
34
|
+
}
|
|
35
|
+
importToStore(...args) {
|
|
36
|
+
return need(this.sdk.importSessionToStore, 'importSessionToStore')(...args);
|
|
37
|
+
}
|
|
38
|
+
listSubagents(options) {
|
|
39
|
+
return need(this.sdk.listSubagents, 'listSubagents')(options);
|
|
40
|
+
}
|
|
41
|
+
getSubagentMessages(...args) {
|
|
42
|
+
return need(this.sdk.getSubagentMessages, 'getSubagentMessages')(...args);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=ClaudeSessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeSessions.js","sourceRoot":"","sources":["../../../../src/runtime/backends/claude/ClaudeSessions.ts"],"names":[],"mappings":"AAQA,MAAM,IAAI,GAAG,CAAI,EAAiB,EAAE,IAAY,EAAK,EAAE;IACrD,IAAI,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,SAAS,CAAC,CAAC;IACtE,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,GAAoB;QAApB,QAAG,GAAH,GAAG,CAAiB;IAAG,CAAC;IAErD,OAAO,CAAC,SAAiB,EAAE,OAAiB;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IACD,WAAW,CAAC,SAAiB,EAAE,OAAiB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,OAAiB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,SAAiB,EAAE,OAAiB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,CAAC,SAAiB,EAAE,OAAiB;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,CAAC,SAAiB,EAAE,KAAa,EAAE,OAAiB;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IACD,GAAG,CAAC,GAAG,IAAe;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC;IACD,WAAW,CAAC,GAAG,IAAe;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,aAAa,CAAC,GAAG,IAAe;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9E,CAAC;IACD,aAAa,CAAC,OAAiB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,mBAAmB,CAAC,GAAG,IAAe;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5E,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module backends/claude/inprocTools
|
|
3
|
+
* claude 专属:把进程内 JS 函数封成 `McpSpec`(transport='inproc'),挂进 `SessionConfig.mcpServers`。
|
|
4
|
+
* 用 SDK 的 `createSdkMcpServer` + `tool()`(ACP 给不了的能力)。SDK 注入,不静态 import。
|
|
5
|
+
*
|
|
6
|
+
* const sps = createInprocMcpServer(sdk, 'sps', [
|
|
7
|
+
* defineTool(sdk, 'add_memory', 'desc', schema, async (args) => ({ content: [{ type:'text', text:'ok' }] })),
|
|
8
|
+
* ]);
|
|
9
|
+
* // → mcpServers: [sps]
|
|
10
|
+
*/
|
|
11
|
+
import type { ClaudeSdkModule } from './ClaudeBackend.js';
|
|
12
|
+
import type { McpSpec } from '../../contract/AgentBackend.js';
|
|
13
|
+
/** 定义一个进程内函数工具(透传到 SDK `tool()`)。 */
|
|
14
|
+
export declare function defineTool(sdk: ClaudeSdkModule, name: string, description: string, inputSchema: unknown, handler: (args: unknown) => Promise<unknown>): unknown;
|
|
15
|
+
/** 把若干工具封成进程内 MCP server,返回可直接放进 mcpServers 的 McpSpec。 */
|
|
16
|
+
export declare function createInprocMcpServer(sdk: ClaudeSdkModule, name: string, tools: unknown[], version?: string): McpSpec;
|
|
17
|
+
//# sourceMappingURL=inprocTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inprocTools.d.ts","sourceRoot":"","sources":["../../../../src/runtime/backends/claude/inprocTools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,qCAAqC;AACrC,wBAAgB,UAAU,CACxB,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAC3C,OAAO,CAGT;AAED,0DAA0D;AAC1D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,SAAU,GAAG,OAAO,CAItH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** 定义一个进程内函数工具(透传到 SDK `tool()`)。 */
|
|
2
|
+
export function defineTool(sdk, name, description, inputSchema, handler) {
|
|
3
|
+
if (!sdk.tool)
|
|
4
|
+
throw new Error('inprocTools: 注入的 SDK 不含 tool()(需 claude-agent-sdk)');
|
|
5
|
+
return sdk.tool(name, description, inputSchema, handler);
|
|
6
|
+
}
|
|
7
|
+
/** 把若干工具封成进程内 MCP server,返回可直接放进 mcpServers 的 McpSpec。 */
|
|
8
|
+
export function createInprocMcpServer(sdk, name, tools, version = '1.0.0') {
|
|
9
|
+
if (!sdk.createSdkMcpServer)
|
|
10
|
+
throw new Error('inprocTools: 注入的 SDK 不含 createSdkMcpServer(需 claude-agent-sdk)');
|
|
11
|
+
const instance = sdk.createSdkMcpServer({ name, version, tools });
|
|
12
|
+
return { name, transport: 'inproc', instance };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=inprocTools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inprocTools.js","sourceRoot":"","sources":["../../../../src/runtime/backends/claude/inprocTools.ts"],"names":[],"mappings":"AAaA,qCAAqC;AACrC,MAAM,UAAU,UAAU,CACxB,GAAoB,EACpB,IAAY,EACZ,WAAmB,EACnB,WAAoB,EACpB,OAA4C;IAE5C,IAAI,CAAC,GAAG,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACrF,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,qBAAqB,CAAC,GAAoB,EAAE,IAAY,EAAE,KAAgB,EAAE,OAAO,GAAG,OAAO;IAC3G,IAAI,CAAC,GAAG,CAAC,kBAAkB;QAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAC/G,MAAM,QAAQ,GAAG,GAAG,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { AgentLivenessMetrics, AgentBackend, ResumeFailureReason, SessionConfig } from '../../contract/AgentBackend.js';
|
|
2
|
+
import type { RunState, StopReason } from '../../contract/lifecycle.js';
|
|
3
|
+
import type { WorkerOutputListener } from '../../contract/events.js';
|
|
4
|
+
import { type AgentProcessEventV1, type JsonValue } from '../../contract/processProtocol.js';
|
|
5
|
+
export type ExternalProcessFailureKind = 'spawn' | 'protocol' | 'worker' | 'lost';
|
|
6
|
+
export interface ExternalProcessRunInfo {
|
|
7
|
+
pid: number | null;
|
|
8
|
+
runId: string | null;
|
|
9
|
+
turnId: string | null;
|
|
10
|
+
state: RunState;
|
|
11
|
+
lastSequence: number;
|
|
12
|
+
lastOutputAt: string | null;
|
|
13
|
+
terminal: AgentProcessEventV1 | null;
|
|
14
|
+
failureKind: ExternalProcessFailureKind | null;
|
|
15
|
+
}
|
|
16
|
+
export declare class ExternalProcessBackend implements AgentBackend {
|
|
17
|
+
private readonly config;
|
|
18
|
+
readonly kind = "openai-process";
|
|
19
|
+
private readonly spec;
|
|
20
|
+
private readonly listeners;
|
|
21
|
+
private child;
|
|
22
|
+
private sessionId;
|
|
23
|
+
private sessionDir;
|
|
24
|
+
private ensured;
|
|
25
|
+
private state;
|
|
26
|
+
private runId;
|
|
27
|
+
private turnId;
|
|
28
|
+
private lastSequence;
|
|
29
|
+
private lastOutputAt;
|
|
30
|
+
private terminal;
|
|
31
|
+
private failureKind;
|
|
32
|
+
private decoder;
|
|
33
|
+
private exitDeferred;
|
|
34
|
+
private sawTextDelta;
|
|
35
|
+
private livenessState;
|
|
36
|
+
private dispatchRequestedAtMs;
|
|
37
|
+
private cancelRequestedAtMs;
|
|
38
|
+
constructor(config: SessionConfig);
|
|
39
|
+
get pid(): number | null;
|
|
40
|
+
get liveness(): AgentLivenessMetrics;
|
|
41
|
+
get runInfo(): ExternalProcessRunInfo;
|
|
42
|
+
subscribe(listener: WorkerOutputListener): () => void;
|
|
43
|
+
ensure(): Promise<{
|
|
44
|
+
sessionId: string;
|
|
45
|
+
resumed: boolean;
|
|
46
|
+
resumeFailed?: ResumeFailureReason;
|
|
47
|
+
}>;
|
|
48
|
+
dispatch(prompt: string): Promise<void>;
|
|
49
|
+
resumeInteraction(interactionId: string, answer: JsonValue): Promise<void>;
|
|
50
|
+
restoreInterruptedRun(state: {
|
|
51
|
+
sessionId: string;
|
|
52
|
+
runId: string;
|
|
53
|
+
turnId: string;
|
|
54
|
+
lastSequence: number;
|
|
55
|
+
}): void;
|
|
56
|
+
recoverRun(state: {
|
|
57
|
+
sessionId: string;
|
|
58
|
+
runId: string;
|
|
59
|
+
turnId: string;
|
|
60
|
+
lastSequence: number;
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
private spawnCommand;
|
|
63
|
+
runState(): Promise<RunState>;
|
|
64
|
+
cancel(): Promise<void>;
|
|
65
|
+
stop(_reason?: StopReason): Promise<void>;
|
|
66
|
+
waitForExit(): Promise<void>;
|
|
67
|
+
private validateTrustedConfig;
|
|
68
|
+
private validateExecutableAndCwd;
|
|
69
|
+
private buildStartCommand;
|
|
70
|
+
private buildChildEnv;
|
|
71
|
+
private handleStdout;
|
|
72
|
+
private handleProcessEvent;
|
|
73
|
+
private acceptTerminal;
|
|
74
|
+
private handleProtocolFailure;
|
|
75
|
+
private handleSpawnFailure;
|
|
76
|
+
private handleClose;
|
|
77
|
+
private emitRunState;
|
|
78
|
+
private emit;
|
|
79
|
+
private resetRunLiveness;
|
|
80
|
+
private createId;
|
|
81
|
+
private waitForCurrentExit;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=ExternalProcessBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExternalProcessBackend.d.ts","sourceRoot":"","sources":["../../../../src/runtime/backends/process/ExternalProcessBackend.ts"],"names":[],"mappings":"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"}
|