@downcity/agent 1.1.237 → 1.1.258
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/README.md +21 -20
- package/bin/agent/{local/Agent.d.ts → Agent.d.ts} +37 -27
- package/bin/agent/Agent.d.ts.map +1 -0
- package/bin/agent/Agent.js +211 -0
- package/bin/agent/Agent.js.map +1 -0
- package/bin/agent/AgentContext.d.ts +64 -0
- package/bin/agent/AgentContext.d.ts.map +1 -0
- package/bin/agent/AgentContext.js +53 -0
- package/bin/agent/AgentContext.js.map +1 -0
- package/bin/agent/{local/AgentInstructions.d.ts → AgentInstructions.d.ts} +1 -6
- package/bin/agent/AgentInstructions.d.ts.map +1 -0
- package/bin/agent/{local/AgentInstructions.js → AgentInstructions.js} +1 -10
- package/bin/agent/AgentInstructions.js.map +1 -0
- package/bin/{model/CityModelAdapter.d.ts → agent/AgentModel.d.ts} +3 -3
- package/bin/agent/AgentModel.d.ts.map +1 -0
- package/bin/{model/CityModelAdapter.js → agent/AgentModel.js} +11 -4
- package/bin/agent/AgentModel.js.map +1 -0
- package/bin/agent/{local/services/AgentSessions.d.ts → AgentSessions.d.ts} +30 -40
- package/bin/agent/AgentSessions.d.ts.map +1 -0
- package/bin/agent/{local/services/AgentSessions.js → AgentSessions.js} +62 -79
- package/bin/agent/AgentSessions.js.map +1 -0
- package/bin/agent/AgentState.d.ts +64 -0
- package/bin/agent/AgentState.d.ts.map +1 -0
- package/bin/agent/AgentState.js +118 -0
- package/bin/agent/AgentState.js.map +1 -0
- package/bin/config/Paths.d.ts +0 -43
- package/bin/config/Paths.d.ts.map +1 -1
- package/bin/config/Paths.js +0 -79
- package/bin/config/Paths.js.map +1 -1
- package/bin/config/ProjectSetup.d.ts.map +1 -0
- package/bin/{agent/local → config}/ProjectSetup.js +1 -1
- package/bin/config/ProjectSetup.js.map +1 -0
- package/bin/executor/Executor.d.ts +20 -86
- package/bin/executor/Executor.d.ts.map +1 -1
- package/bin/executor/Executor.js +109 -260
- package/bin/executor/Executor.js.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/SystemDomain.d.ts +1 -1
- package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
- package/bin/executor/composer/system/default/SystemDomain.js +4 -1
- package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
- package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts +7 -13
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.js +81 -34
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +6 -12
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
- package/bin/executor/services/ExecutorRecoveryPolicy.js +20 -6
- package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
- package/bin/executor/tools/file/ReadImageToolBridge.d.ts +21 -0
- package/bin/executor/tools/file/ReadImageToolBridge.d.ts.map +1 -0
- package/bin/executor/tools/file/ReadImageToolBridge.js +69 -0
- package/bin/executor/tools/file/ReadImageToolBridge.js.map +1 -0
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js +6 -5
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -1
- package/bin/executor/tools/plugin/PluginToolDefinition.js +15 -2
- package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -1
- package/bin/executor/types/SessionHistoryMeta.d.ts +0 -2
- package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
- package/bin/index.d.ts +17 -21
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +9 -11
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/ActionScheduleExecutor.d.ts +1 -1
- package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +1 -1
- package/bin/plugin/core/ActionScheduleRuntime.d.ts +1 -1
- package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.d.ts +4 -3
- package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.js.map +1 -1
- package/bin/plugin/core/HookRegistry.d.ts +5 -8
- package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
- package/bin/plugin/core/HookRegistry.js +12 -12
- package/bin/plugin/core/HookRegistry.js.map +1 -1
- package/bin/plugin/core/PluginActionFactory.d.ts +6 -3
- package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -1
- package/bin/plugin/core/PluginActionFactory.js.map +1 -1
- package/bin/plugin/core/PluginActionRunner.d.ts +1 -1
- package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
- package/bin/plugin/core/PluginCatalog.d.ts +1 -1
- package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
- package/bin/plugin/core/PluginHttpRoutes.d.ts +1 -1
- package/bin/plugin/core/PluginHttpRoutes.d.ts.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.d.ts +4 -5
- package/bin/plugin/core/PluginLocalExecution.d.ts.map +1 -1
- package/bin/plugin/core/PluginLocalExecution.js +4 -12
- package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +16 -12
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/core/PluginRegistry.js +43 -22
- package/bin/plugin/core/PluginRegistry.js.map +1 -1
- package/bin/plugin/core/PluginStateController.d.ts +1 -1
- package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
- package/bin/{agent/remote → remote}/RemoteAgent.d.ts +4 -4
- package/bin/remote/RemoteAgent.d.ts.map +1 -0
- package/bin/{agent/remote → remote}/RemoteAgent.js +3 -3
- package/bin/remote/RemoteAgent.js.map +1 -0
- package/bin/{agent/remote → remote}/RemoteSession.d.ts +9 -11
- package/bin/remote/RemoteSession.d.ts.map +1 -0
- package/bin/{agent/remote → remote}/RemoteSession.js +3 -33
- package/bin/remote/RemoteSession.js.map +1 -0
- package/bin/{agent/remote → remote}/RemoteTransport.d.ts +7 -9
- package/bin/remote/RemoteTransport.d.ts.map +1 -0
- package/bin/remote/RemoteTransport.js.map +1 -0
- package/bin/{agent/remote → remote}/TransportFactory.d.ts +1 -1
- package/bin/remote/TransportFactory.d.ts.map +1 -0
- package/bin/{agent/remote → remote}/TransportFactory.js +2 -2
- package/bin/remote/TransportFactory.js.map +1 -0
- package/bin/{agent/remote → remote}/transports/HttpRemoteAgentTransport.d.ts +8 -9
- package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -0
- package/bin/{agent/remote → remote}/transports/HttpRemoteAgentTransport.js +0 -13
- package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -0
- package/bin/{rpc/Client.d.ts → remote/transports/RpcClient.d.ts} +15 -22
- package/bin/remote/transports/RpcClient.d.ts.map +1 -0
- package/bin/{rpc/Client.js → remote/transports/RpcClient.js} +2 -13
- package/bin/remote/transports/RpcClient.js.map +1 -0
- package/bin/{agent/remote → remote}/transports/RpcRemoteAgentTransport.d.ts +8 -9
- package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -0
- package/bin/{agent/remote → remote}/transports/RpcRemoteAgentTransport.js +1 -4
- package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -0
- package/bin/session/DefaultSessionComposer.d.ts +18 -0
- package/bin/session/DefaultSessionComposer.d.ts.map +1 -0
- package/bin/session/DefaultSessionComposer.js +62 -0
- package/bin/session/DefaultSessionComposer.js.map +1 -0
- package/bin/session/Session.d.ts +44 -33
- package/bin/session/Session.d.ts.map +1 -1
- package/bin/session/Session.js +440 -274
- package/bin/session/Session.js.map +1 -1
- package/bin/session/SessionMessages.d.ts +117 -0
- package/bin/session/SessionMessages.d.ts.map +1 -0
- package/bin/session/{recorder/SessionRecorder.js → SessionMessages.js} +194 -284
- package/bin/session/SessionMessages.js.map +1 -0
- package/bin/session/SessionQueue.d.ts +34 -0
- package/bin/session/SessionQueue.d.ts.map +1 -0
- package/bin/session/SessionQueue.js +60 -0
- package/bin/session/SessionQueue.js.map +1 -0
- package/bin/session/SessionState.d.ts +70 -0
- package/bin/session/SessionState.d.ts.map +1 -0
- package/bin/session/SessionState.js +267 -0
- package/bin/session/SessionState.js.map +1 -0
- package/bin/session/SessionSystem.d.ts +15 -0
- package/bin/session/SessionSystem.d.ts.map +1 -0
- package/bin/session/SessionSystem.js +95 -0
- package/bin/session/SessionSystem.js.map +1 -0
- package/bin/session/SessionTurn.d.ts +84 -0
- package/bin/session/SessionTurn.d.ts.map +1 -0
- package/bin/session/SessionTurn.js +588 -0
- package/bin/session/SessionTurn.js.map +1 -0
- package/bin/session/approval/SessionApprovalBroker.d.ts +48 -0
- package/bin/session/approval/SessionApprovalBroker.d.ts.map +1 -0
- package/bin/session/approval/SessionApprovalBroker.js +126 -0
- package/bin/session/approval/SessionApprovalBroker.js.map +1 -0
- package/bin/session/browse/Browse.d.ts.map +1 -1
- package/bin/session/browse/Browse.js +1 -4
- package/bin/session/browse/Browse.js.map +1 -1
- package/bin/session/{recorder → messages}/JsonlSessionMessageStore.d.ts.map +1 -1
- package/bin/session/{recorder → messages}/JsonlSessionMessageStore.js.map +1 -1
- package/bin/session/messages/SessionAssistantMessageWriter.d.ts +62 -0
- package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -0
- package/bin/session/messages/SessionAssistantMessageWriter.js +287 -0
- package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -0
- package/bin/session/messages/SessionJsonValue.d.ts +10 -0
- package/bin/session/messages/SessionJsonValue.d.ts.map +1 -0
- package/bin/session/messages/SessionJsonValue.js +23 -0
- package/bin/session/messages/SessionJsonValue.js.map +1 -0
- package/bin/session/{recorder → messages}/SessionMessageCodec.d.ts +4 -1
- package/bin/session/messages/SessionMessageCodec.d.ts.map +1 -0
- package/bin/session/{recorder → messages}/SessionMessageCodec.js +33 -19
- package/bin/session/messages/SessionMessageCodec.js.map +1 -0
- package/bin/session/messages/SessionMessageCompaction.d.ts +22 -0
- package/bin/session/messages/SessionMessageCompaction.d.ts.map +1 -0
- package/bin/session/{recorder/SessionRecorderCompaction.js → messages/SessionMessageCompaction.js} +19 -51
- package/bin/session/messages/SessionMessageCompaction.js.map +1 -0
- package/bin/session/runtime/SessionEventHub.d.ts +1 -8
- package/bin/session/runtime/SessionEventHub.d.ts.map +1 -1
- package/bin/session/runtime/SessionEventHub.js +1 -6
- package/bin/session/runtime/SessionEventHub.js.map +1 -1
- package/bin/session/storage/Metadata.d.ts +23 -5
- package/bin/session/storage/Metadata.d.ts.map +1 -1
- package/bin/session/storage/Metadata.js +32 -29
- package/bin/session/storage/Metadata.js.map +1 -1
- package/bin/session/storage/RuntimeSessionPort.d.ts +5 -10
- package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
- package/bin/session/storage/RuntimeSessionPort.js +2 -4
- package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
- package/bin/types/agent/AgentOptions.d.ts +6 -35
- package/bin/types/agent/AgentOptions.d.ts.map +1 -1
- package/bin/types/agent/AgentState.d.ts +28 -0
- package/bin/types/agent/AgentState.d.ts.map +1 -0
- package/bin/types/agent/AgentState.js +9 -0
- package/bin/types/agent/AgentState.js.map +1 -0
- package/bin/types/agent/SessionActor.d.ts +0 -2
- package/bin/types/agent/SessionActor.d.ts.map +1 -1
- package/bin/types/agent/SessionTypes.d.ts +5 -18
- package/bin/types/agent/SessionTypes.d.ts.map +1 -1
- package/bin/types/executor/SessionRunContext.d.ts +8 -2
- package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
- package/bin/types/executor/SessionRunContext.js +1 -1
- package/bin/types/executor/SessionToolExecutionContext.d.ts +20 -0
- package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -0
- package/bin/types/executor/SessionToolExecutionContext.js +10 -0
- package/bin/types/executor/SessionToolExecutionContext.js.map +1 -0
- package/bin/types/plugin/PluginAction.d.ts +10 -1
- package/bin/types/plugin/PluginAction.d.ts.map +1 -1
- package/bin/types/plugin/PluginCommand.d.ts +3 -11
- package/bin/types/plugin/PluginCommand.d.ts.map +1 -1
- package/bin/types/plugin/PluginConfig.d.ts +12 -0
- package/bin/types/plugin/PluginConfig.d.ts.map +1 -0
- package/bin/types/plugin/PluginConfig.js +5 -0
- package/bin/types/plugin/PluginConfig.js.map +1 -0
- package/bin/types/plugin/PluginDefinition.d.ts +10 -3
- package/bin/types/plugin/PluginDefinition.d.ts.map +1 -1
- package/bin/types/plugin/PluginHttp.d.ts +1 -1
- package/bin/types/plugin/PluginHttp.d.ts.map +1 -1
- package/bin/types/plugin/PluginRunContext.d.ts +26 -0
- package/bin/types/plugin/PluginRunContext.d.ts.map +1 -0
- package/bin/types/plugin/PluginRunContext.js +10 -0
- package/bin/types/plugin/PluginRunContext.js.map +1 -0
- package/bin/types/plugin/PluginRuntime.d.ts +9 -3
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
- package/bin/types/plugin/PluginToolRuntime.d.ts +11 -0
- package/bin/types/plugin/PluginToolRuntime.d.ts.map +1 -1
- package/bin/types/rpc/RpcProtocol.d.ts +1 -13
- package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
- package/bin/types/session/SessionApproval.d.ts +4 -38
- package/bin/types/session/SessionApproval.d.ts.map +1 -1
- package/bin/types/session/SessionApprovalBroker.d.ts +17 -0
- package/bin/types/session/SessionApprovalBroker.d.ts.map +1 -0
- package/bin/types/session/SessionApprovalBroker.js +7 -0
- package/bin/types/session/SessionApprovalBroker.js.map +1 -0
- package/bin/types/session/SessionComposer.d.ts +99 -0
- package/bin/types/session/SessionComposer.d.ts.map +1 -0
- package/bin/types/session/SessionComposer.js +8 -0
- package/bin/types/session/SessionComposer.js.map +1 -0
- package/bin/types/session/SessionLocalState.d.ts +6 -6
- package/bin/types/session/SessionLocalState.d.ts.map +1 -1
- package/bin/types/session/SessionLocalState.js +1 -1
- package/bin/types/session/SessionMessage.d.ts +3 -2
- package/bin/types/session/SessionMessage.d.ts.map +1 -1
- package/bin/types/session/SessionMessages.d.ts +115 -0
- package/bin/types/session/SessionMessages.d.ts.map +1 -0
- package/bin/types/session/SessionMessages.js +7 -0
- package/bin/types/session/SessionMessages.js.map +1 -0
- package/bin/types/session/SessionMutation.d.ts +1 -10
- package/bin/types/session/SessionMutation.d.ts.map +1 -1
- package/bin/types/session/SessionMutation.js.map +1 -1
- package/bin/types/session/SessionOptions.d.ts +8 -23
- package/bin/types/session/SessionOptions.d.ts.map +1 -1
- package/bin/types/session/SessionPort.d.ts +72 -0
- package/bin/types/session/SessionPort.d.ts.map +1 -0
- package/bin/types/session/SessionPort.js +9 -0
- package/bin/types/session/SessionPort.js.map +1 -0
- package/bin/types/session/SessionQueue.d.ts +104 -0
- package/bin/types/session/SessionQueue.d.ts.map +1 -0
- package/bin/types/session/SessionQueue.js +7 -0
- package/bin/types/session/SessionQueue.js.map +1 -0
- package/bin/types/session/SessionState.d.ts +43 -0
- package/bin/types/session/SessionState.d.ts.map +1 -0
- package/bin/types/session/SessionState.js +7 -0
- package/bin/types/session/SessionState.js.map +1 -0
- package/bin/types/session/SessionSystem.d.ts +26 -0
- package/bin/types/session/SessionSystem.d.ts.map +1 -0
- package/bin/types/session/SessionSystem.js +7 -0
- package/bin/types/session/SessionSystem.js.map +1 -0
- package/bin/types/session/SessionTool.d.ts +23 -0
- package/bin/types/session/SessionTool.d.ts.map +1 -0
- package/bin/types/session/SessionTool.js +7 -0
- package/bin/types/session/SessionTool.js.map +1 -0
- package/bin/types/session/SessionTurn.d.ts +52 -0
- package/bin/types/session/SessionTurn.d.ts.map +1 -0
- package/bin/types/session/SessionTurn.js +7 -0
- package/bin/types/session/SessionTurn.js.map +1 -0
- package/package.json +3 -3
- package/scripts/agent-env.test.mjs +4 -18
- package/scripts/agent-ready.test.mjs +33 -2
- package/scripts/agent-session-maintenance.test.mjs +52 -0
- package/scripts/city-model-tool-loop.test.mjs +3 -4
- package/scripts/core-engine-context-compaction.test.mjs +5 -22
- package/scripts/image-plugin-job.test.mjs +4 -6
- package/scripts/plugin-tool-bridge.test.mjs +44 -36
- package/scripts/read-image-tool-bridge.test.mjs +71 -0
- package/scripts/remote-session-reconnect.test.mjs +1 -34
- package/scripts/session-compaction-prompts.test.mjs +1 -49
- package/scripts/session-composer.test.mjs +163 -0
- package/scripts/session-config-turn-boundary.test.mjs +2 -5
- package/scripts/session-list-title.test.mjs +3 -2
- package/scripts/session-messages-error.test.mjs +57 -0
- package/scripts/{session-recorder.test.mjs → session-messages.test.mjs} +131 -90
- package/scripts/session-queue.test.mjs +64 -0
- package/scripts/session-shell-approval.test.mjs +171 -0
- package/scripts/session-system-blocks.test.mjs +10 -10
- package/scripts/session-title-event.test.mjs +1 -0
- package/src/agent/Agent.ts +241 -0
- package/src/agent/AgentContext.ts +92 -0
- package/src/agent/{local/AgentInstructions.ts → AgentInstructions.ts} +0 -11
- package/src/{model/CityModelAdapter.ts → agent/AgentModel.ts} +10 -3
- package/src/agent/{local/services/AgentSessions.ts → AgentSessions.ts} +81 -110
- package/src/agent/AgentState.ts +151 -0
- package/src/config/Paths.ts +0 -91
- package/src/executor/Executor.ts +180 -386
- package/src/executor/README.md +29 -89
- package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +1 -1
- package/src/executor/composer/system/default/SystemDomain.ts +4 -2
- package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/core.prompt.ts.txt +15 -2
- package/src/executor/core-engine/CoreEngineRunner.ts +95 -54
- package/src/executor/services/ExecutorRecoveryPolicy.ts +24 -19
- package/src/executor/tools/file/ReadImageToolBridge.ts +79 -0
- package/src/executor/tools/plugin/PluginToolBridge.ts +6 -8
- package/src/executor/tools/plugin/PluginToolDefinition.ts +23 -3
- package/src/executor/types/SessionHistoryMeta.ts +0 -2
- package/src/index.ts +34 -53
- package/src/plugin/core/ActionScheduleExecutor.ts +1 -1
- package/src/plugin/core/ActionScheduleRuntime.ts +1 -1
- package/src/plugin/core/BasePlugin.ts +7 -3
- package/src/plugin/core/HookRegistry.ts +15 -18
- package/src/plugin/core/PluginActionFactory.ts +9 -3
- package/src/plugin/core/PluginActionRunner.ts +1 -1
- package/src/plugin/core/PluginCatalog.ts +1 -1
- package/src/plugin/core/PluginHttpRoutes.ts +1 -1
- package/src/plugin/core/PluginLocalExecution.ts +11 -24
- package/src/plugin/core/PluginRegistry.ts +55 -32
- package/src/plugin/core/PluginStateController.ts +1 -1
- package/src/{agent/remote → remote}/RemoteAgent.ts +4 -4
- package/src/{agent/remote → remote}/RemoteSession.ts +2 -35
- package/src/{agent/remote → remote}/RemoteTransport.ts +0 -3
- package/src/{agent/remote → remote}/TransportFactory.ts +3 -3
- package/src/{agent/remote → remote}/transports/HttpRemoteAgentTransport.ts +1 -23
- package/src/{rpc/Client.ts → remote/transports/RpcClient.ts} +1 -19
- package/src/{agent/remote → remote}/transports/RpcRemoteAgentTransport.ts +2 -10
- package/src/session/DefaultSessionComposer.ts +79 -0
- package/src/session/Session.ts +496 -332
- package/src/session/{recorder/SessionRecorder.ts → SessionMessages.ts} +254 -428
- package/src/session/SessionQueue.ts +86 -0
- package/src/session/SessionState.ts +322 -0
- package/src/session/SessionSystem.ts +117 -0
- package/src/session/SessionTurn.ts +684 -0
- package/src/session/approval/SessionApprovalBroker.ts +164 -0
- package/src/session/browse/Browse.ts +1 -4
- package/src/session/messages/SessionAssistantMessageWriter.ts +345 -0
- package/src/session/messages/SessionJsonValue.ts +25 -0
- package/src/session/{recorder → messages}/SessionMessageCodec.ts +38 -20
- package/src/session/{recorder/SessionRecorderCompaction.ts → messages/SessionMessageCompaction.ts} +30 -69
- package/src/session/runtime/SessionEventHub.ts +1 -14
- package/src/session/storage/Metadata.ts +60 -34
- package/src/session/storage/RuntimeSessionPort.ts +7 -14
- package/src/types/agent/AgentOptions.ts +6 -38
- package/src/types/agent/AgentState.ts +33 -0
- package/src/types/agent/SessionActor.ts +0 -3
- package/src/types/agent/SessionTypes.ts +5 -18
- package/src/types/executor/SessionRunContext.ts +10 -2
- package/src/types/executor/SessionToolExecutionContext.ts +21 -0
- package/src/types/plugin/PluginAction.ts +10 -1
- package/src/types/plugin/PluginCommand.ts +3 -14
- package/src/types/plugin/PluginConfig.ts +13 -0
- package/src/types/plugin/PluginDefinition.ts +13 -6
- package/src/types/plugin/PluginHttp.ts +1 -1
- package/src/types/plugin/PluginRunContext.ts +31 -0
- package/src/types/plugin/PluginRuntime.ts +13 -6
- package/src/types/plugin/PluginToolRuntime.ts +13 -1
- package/src/types/rpc/RpcProtocol.ts +0 -14
- package/src/types/session/SessionApproval.ts +4 -43
- package/src/types/session/SessionApprovalBroker.ts +18 -0
- package/src/types/session/SessionComposer.ts +114 -0
- package/src/types/session/SessionLocalState.ts +6 -6
- package/src/types/session/SessionMessage.ts +3 -2
- package/src/types/session/SessionMessages.ts +127 -0
- package/src/types/session/SessionMutation.ts +0 -11
- package/src/types/session/SessionOptions.ts +8 -40
- package/src/types/session/SessionPort.ts +97 -0
- package/src/types/session/SessionQueue.ts +122 -0
- package/src/types/session/SessionState.ts +47 -0
- package/src/types/session/SessionSystem.ts +27 -0
- package/src/types/session/SessionTool.ts +25 -0
- package/src/types/session/SessionTurn.ts +56 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/agent/local/Agent.d.ts.map +0 -1
- package/bin/agent/local/Agent.js +0 -216
- package/bin/agent/local/Agent.js.map +0 -1
- package/bin/agent/local/AgentInstructions.d.ts.map +0 -1
- package/bin/agent/local/AgentInstructions.js.map +0 -1
- package/bin/agent/local/AgentPluginFactory.d.ts +0 -26
- package/bin/agent/local/AgentPluginFactory.d.ts.map +0 -1
- package/bin/agent/local/AgentPluginFactory.js +0 -33
- package/bin/agent/local/AgentPluginFactory.js.map +0 -1
- package/bin/agent/local/AgentRuntimeAssembly.d.ts +0 -10
- package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +0 -1
- package/bin/agent/local/AgentRuntimeAssembly.js +0 -43
- package/bin/agent/local/AgentRuntimeAssembly.js.map +0 -1
- package/bin/agent/local/ProjectSetup.d.ts.map +0 -1
- package/bin/agent/local/ProjectSetup.js.map +0 -1
- package/bin/agent/local/services/AgentAssemblyService.d.ts +0 -105
- package/bin/agent/local/services/AgentAssemblyService.d.ts.map +0 -1
- package/bin/agent/local/services/AgentAssemblyService.js +0 -184
- package/bin/agent/local/services/AgentAssemblyService.js.map +0 -1
- package/bin/agent/local/services/AgentBackgroundService.d.ts +0 -55
- package/bin/agent/local/services/AgentBackgroundService.d.ts.map +0 -1
- package/bin/agent/local/services/AgentBackgroundService.js +0 -85
- package/bin/agent/local/services/AgentBackgroundService.js.map +0 -1
- package/bin/agent/local/services/AgentSessions.d.ts.map +0 -1
- package/bin/agent/local/services/AgentSessions.js.map +0 -1
- package/bin/agent/remote/RemoteAgent.d.ts.map +0 -1
- package/bin/agent/remote/RemoteAgent.js.map +0 -1
- package/bin/agent/remote/RemoteSession.d.ts.map +0 -1
- package/bin/agent/remote/RemoteSession.js.map +0 -1
- package/bin/agent/remote/RemoteTransport.d.ts.map +0 -1
- package/bin/agent/remote/RemoteTransport.js.map +0 -1
- package/bin/agent/remote/TransportFactory.d.ts.map +0 -1
- package/bin/agent/remote/TransportFactory.js.map +0 -1
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +0 -1
- package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +0 -1
- package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +0 -1
- package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +0 -1
- package/bin/executor/SessionRunScope.d.ts +0 -68
- package/bin/executor/SessionRunScope.d.ts.map +0 -1
- package/bin/executor/SessionRunScope.js +0 -96
- package/bin/executor/SessionRunScope.js.map +0 -1
- package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts +0 -74
- package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts.map +0 -1
- package/bin/executor/composer/compaction/SessionCompactionComposer.js +0 -9
- package/bin/executor/composer/compaction/SessionCompactionComposer.js.map +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts +0 -27
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts.map +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js +0 -39
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js.map +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.d.ts +0 -44
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.d.ts.map +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.js +0 -218
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.js.map +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.d.ts +0 -27
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.d.ts.map +0 -1
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.js +0 -181
- package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.js.map +0 -1
- package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +0 -50
- package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +0 -1
- package/bin/executor/composer/context/LocalSessionContextComposer.js +0 -108
- package/bin/executor/composer/context/LocalSessionContextComposer.js.map +0 -1
- package/bin/executor/composer/context/SessionContextComposer.d.ts +0 -67
- package/bin/executor/composer/context/SessionContextComposer.d.ts.map +0 -1
- package/bin/executor/composer/context/SessionContextComposer.js +0 -9
- package/bin/executor/composer/context/SessionContextComposer.js.map +0 -1
- package/bin/executor/composer/history/SessionHistoryComposer.d.ts +0 -54
- package/bin/executor/composer/history/SessionHistoryComposer.d.ts.map +0 -1
- package/bin/executor/composer/history/SessionHistoryComposer.js +0 -10
- package/bin/executor/composer/history/SessionHistoryComposer.js.map +0 -1
- package/bin/executor/composer/history/SessionHistoryWriter.d.ts +0 -46
- package/bin/executor/composer/history/SessionHistoryWriter.d.ts.map +0 -1
- package/bin/executor/composer/history/SessionHistoryWriter.js +0 -65
- package/bin/executor/composer/history/SessionHistoryWriter.js.map +0 -1
- package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.d.ts +0 -35
- package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.d.ts.map +0 -1
- package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.js +0 -105
- package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.js.map +0 -1
- package/bin/executor/messages/AssistantResultPersistence.d.ts +0 -66
- package/bin/executor/messages/AssistantResultPersistence.d.ts.map +0 -1
- package/bin/executor/messages/AssistantResultPersistence.js +0 -44
- package/bin/executor/messages/AssistantResultPersistence.js.map +0 -1
- package/bin/executor/services/ExecutorInflightService.d.ts +0 -34
- package/bin/executor/services/ExecutorInflightService.d.ts.map +0 -1
- package/bin/executor/services/ExecutorInflightService.js +0 -73
- package/bin/executor/services/ExecutorInflightService.js.map +0 -1
- package/bin/executor/store/history/SessionHistoryStore.d.ts +0 -140
- package/bin/executor/store/history/SessionHistoryStore.d.ts.map +0 -1
- package/bin/executor/store/history/SessionHistoryStore.js +0 -10
- package/bin/executor/store/history/SessionHistoryStore.js.map +0 -1
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +0 -116
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +0 -1
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +0 -709
- package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +0 -1
- package/bin/executor/types/SessionHistoryPaths.d.ts +0 -34
- package/bin/executor/types/SessionHistoryPaths.d.ts.map +0 -1
- package/bin/executor/types/SessionHistoryPaths.js +0 -2
- package/bin/executor/types/SessionHistoryPaths.js.map +0 -1
- package/bin/model/CityModelAdapter.d.ts.map +0 -1
- package/bin/model/CityModelAdapter.js.map +0 -1
- package/bin/rpc/Client.d.ts.map +0 -1
- package/bin/rpc/Client.js.map +0 -1
- package/bin/session/SessionSystemBuilder.d.ts +0 -107
- package/bin/session/SessionSystemBuilder.d.ts.map +0 -1
- package/bin/session/SessionSystemBuilder.js +0 -148
- package/bin/session/SessionSystemBuilder.js.map +0 -1
- package/bin/session/recorder/SessionMessageCodec.d.ts.map +0 -1
- package/bin/session/recorder/SessionMessageCodec.js.map +0 -1
- package/bin/session/recorder/SessionRecorder.d.ts +0 -217
- package/bin/session/recorder/SessionRecorder.d.ts.map +0 -1
- package/bin/session/recorder/SessionRecorder.js.map +0 -1
- package/bin/session/recorder/SessionRecorderCompaction.d.ts +0 -18
- package/bin/session/recorder/SessionRecorderCompaction.d.ts.map +0 -1
- package/bin/session/recorder/SessionRecorderCompaction.js.map +0 -1
- package/bin/session/recorder/SessionRecorderHistoryStore.d.ts +0 -66
- package/bin/session/recorder/SessionRecorderHistoryStore.d.ts.map +0 -1
- package/bin/session/recorder/SessionRecorderHistoryStore.js +0 -190
- package/bin/session/recorder/SessionRecorderHistoryStore.js.map +0 -1
- package/bin/session/runtime/SessionPromptRuntime.d.ts +0 -112
- package/bin/session/runtime/SessionPromptRuntime.d.ts.map +0 -1
- package/bin/session/runtime/SessionPromptRuntime.js +0 -357
- package/bin/session/runtime/SessionPromptRuntime.js.map +0 -1
- package/bin/session/services/SessionStateService.d.ts +0 -187
- package/bin/session/services/SessionStateService.d.ts.map +0 -1
- package/bin/session/services/SessionStateService.js +0 -467
- package/bin/session/services/SessionStateService.js.map +0 -1
- package/bin/session/services/SessionTurnService.d.ts +0 -90
- package/bin/session/services/SessionTurnService.d.ts.map +0 -1
- package/bin/session/services/SessionTurnService.js +0 -293
- package/bin/session/services/SessionTurnService.js.map +0 -1
- package/bin/session/services/SessionViewService.d.ts +0 -114
- package/bin/session/services/SessionViewService.d.ts.map +0 -1
- package/bin/session/services/SessionViewService.js +0 -204
- package/bin/session/services/SessionViewService.js.map +0 -1
- package/bin/session/storage/Persistence.d.ts +0 -73
- package/bin/session/storage/Persistence.d.ts.map +0 -1
- package/bin/session/storage/Persistence.js +0 -63
- package/bin/session/storage/Persistence.js.map +0 -1
- package/bin/types/agent/AgentRuntimeAssembly.d.ts +0 -72
- package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +0 -1
- package/bin/types/agent/AgentRuntimeAssembly.js +0 -10
- package/bin/types/agent/AgentRuntimeAssembly.js.map +0 -1
- package/bin/types/runtime/agent/AgentContext.d.ts +0 -306
- package/bin/types/runtime/agent/AgentContext.d.ts.map +0 -1
- package/bin/types/runtime/agent/AgentContext.js +0 -128
- package/bin/types/runtime/agent/AgentContext.js.map +0 -1
- package/bin/types/session/SessionComposerOptions.d.ts +0 -90
- package/bin/types/session/SessionComposerOptions.d.ts.map +0 -1
- package/bin/types/session/SessionComposerOptions.js +0 -10
- package/bin/types/session/SessionComposerOptions.js.map +0 -1
- package/bin/types/session/SessionQueueCommand.d.ts +0 -68
- package/bin/types/session/SessionQueueCommand.d.ts.map +0 -1
- package/bin/types/session/SessionQueueCommand.js +0 -10
- package/bin/types/session/SessionQueueCommand.js.map +0 -1
- package/scripts/session-action-message.test.mjs +0 -410
- package/scripts/session-compaction-context-window.test.mjs +0 -96
- package/scripts/session-history-inflight.test.mjs +0 -146
- package/scripts/session-history-writer-error.test.mjs +0 -57
- package/scripts/session-prompt-runtime.test.mjs +0 -390
- package/src/agent/local/Agent.ts +0 -250
- package/src/agent/local/AgentPluginFactory.ts +0 -51
- package/src/agent/local/AgentRuntimeAssembly.ts +0 -65
- package/src/agent/local/services/AgentAssemblyService.ts +0 -307
- package/src/agent/local/services/AgentBackgroundService.ts +0 -115
- package/src/executor/SessionRunScope.ts +0 -122
- package/src/executor/composer/compaction/SessionCompactionComposer.ts +0 -84
- package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.ts +0 -51
- package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.ts +0 -294
- package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.ts +0 -197
- package/src/executor/composer/context/LocalSessionContextComposer.ts +0 -175
- package/src/executor/composer/context/SessionContextComposer.ts +0 -83
- package/src/executor/composer/history/SessionHistoryComposer.ts +0 -62
- package/src/executor/composer/history/SessionHistoryWriter.ts +0 -100
- package/src/executor/composer/history/jsonl/JsonlSessionHistoryComposer.ts +0 -133
- package/src/executor/messages/AssistantResultPersistence.ts +0 -106
- package/src/executor/services/ExecutorInflightService.ts +0 -95
- package/src/executor/store/history/SessionHistoryStore.ts +0 -172
- package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +0 -879
- package/src/executor/types/SessionHistoryPaths.ts +0 -38
- package/src/session/SessionSystemBuilder.ts +0 -262
- package/src/session/recorder/SessionRecorderHistoryStore.ts +0 -256
- package/src/session/runtime/SessionPromptRuntime.ts +0 -518
- package/src/session/services/SessionStateService.ts +0 -628
- package/src/session/services/SessionTurnService.ts +0 -368
- package/src/session/services/SessionViewService.ts +0 -335
- package/src/session/storage/Persistence.ts +0 -137
- package/src/types/agent/AgentRuntimeAssembly.ts +0 -74
- package/src/types/runtime/agent/AgentContext.ts +0 -387
- package/src/types/session/SessionComposerOptions.ts +0 -107
- package/src/types/session/SessionQueueCommand.ts +0 -78
- /package/bin/{agent/local → config}/ProjectSetup.d.ts +0 -0
- /package/bin/{agent/remote → remote}/RemoteTransport.js +0 -0
- /package/bin/session/{recorder → messages}/JsonlSessionMessageStore.d.ts +0 -0
- /package/bin/session/{recorder → messages}/JsonlSessionMessageStore.js +0 -0
- /package/src/{agent/local → config}/ProjectSetup.ts +0 -0
- /package/src/session/{recorder → messages}/JsonlSessionMessageStore.ts +0 -0
|
@@ -8,21 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
import type { Tool } from "ai";
|
|
11
|
+
import type { AgentModel } from "@/agent/AgentModel.js";
|
|
11
12
|
import type { AgentSession } from "@/types/agent/SessionActor.js";
|
|
12
|
-
import type { SessionPort } from "@/types/
|
|
13
|
+
import type { SessionPort } from "@/types/session/SessionPort.js";
|
|
13
14
|
import type { AgentSessionSystemBlock } from "@/types/agent/SessionTypes.js";
|
|
14
15
|
import type { AgentPluginExecutionRuntime } from "@/types/plugin/PluginRuntime.js";
|
|
15
|
-
import type { AgentSessionCommand } from "@/types/session/
|
|
16
|
-
import type {
|
|
16
|
+
import type { AgentSessionCommand } from "@/types/session/SessionQueue.js";
|
|
17
|
+
import type { SessionComposer } from "@/types/session/SessionComposer.js";
|
|
17
18
|
import type { Logger } from "@/utils/logger/Logger.js";
|
|
18
|
-
import type { AgentModel } from "@/model/CityModelAdapter.js";
|
|
19
|
-
import type {
|
|
20
|
-
ResolveSessionApprovalInput,
|
|
21
|
-
SessionApproval,
|
|
22
|
-
SessionApprovalModeSnapshot,
|
|
23
|
-
SessionApprovalResult,
|
|
24
|
-
SetSessionApprovalModeInput,
|
|
25
|
-
} from "@/types/session/SessionApproval.js";
|
|
26
19
|
|
|
27
20
|
/**
|
|
28
21
|
* Agent 可管理的本地 Session 实例。
|
|
@@ -102,39 +95,14 @@ export interface SessionOptions {
|
|
|
102
95
|
*/
|
|
103
96
|
getManagedPluginSystemBlocks: () => Promise<AgentSessionSystemBlock[]>;
|
|
104
97
|
|
|
105
|
-
/**
|
|
106
|
-
* 读取当前 agent 显式注册 plugin 的 system blocks。
|
|
107
|
-
*/
|
|
108
|
-
getPluginSystemBlocks: () => Promise<AgentSessionSystemBlock[]>;
|
|
109
|
-
|
|
110
98
|
/**
|
|
111
99
|
* 在执行前确保当前 session 已完成宿主侧默认配置。
|
|
112
100
|
*/
|
|
113
101
|
ensureConfigured?: (session: AgentManagedSession) => Promise<void>;
|
|
114
102
|
|
|
115
|
-
/**
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
/** 列出当前 Session 的 pending 工具审批。 */
|
|
119
|
-
list_approvals: (session_id: string) => Promise<SessionApproval[]>;
|
|
120
|
-
|
|
121
|
-
/** 读取当前 Session 的工具审批模式。 */
|
|
122
|
-
get_approval_mode: (session_id: string) => Promise<SessionApprovalModeSnapshot>;
|
|
103
|
+
/** 读取 Agent 当前持有的运行时模型实例。 */
|
|
104
|
+
getAgentModel: () => AgentModel | undefined;
|
|
123
105
|
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
session_id: string,
|
|
127
|
-
input: SetSessionApprovalModeInput,
|
|
128
|
-
) => Promise<SessionApprovalModeSnapshot>;
|
|
129
|
-
|
|
130
|
-
/** 处理当前 Session 的 pending 工具审批。 */
|
|
131
|
-
resolve_approval: (
|
|
132
|
-
session_id: string,
|
|
133
|
-
input: ResolveSessionApprovalInput,
|
|
134
|
-
) => Promise<SessionApprovalResult>;
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* 当前 session 的 Composer 覆盖项。
|
|
138
|
-
*/
|
|
139
|
-
composers?: SessionComposerOptions;
|
|
106
|
+
/** 当前 Session 使用的统一执行策略;省略时使用默认 Composer。 */
|
|
107
|
+
composer?: SessionComposer;
|
|
140
108
|
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session runtime 端口类型。
|
|
3
|
+
*
|
|
4
|
+
* 职责说明(中文)
|
|
5
|
+
* - 定义 Plugin、transport 与 Agent 内部运行时访问单个 Session 的稳定协议。
|
|
6
|
+
* - 不暴露具体 Session class,也不包含 Session 集合管理能力。
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { LanguageModel } from "ai";
|
|
10
|
+
import type {
|
|
11
|
+
SessionMetadataV1,
|
|
12
|
+
SessionRecordV1,
|
|
13
|
+
} from "@/executor/types/SessionRecords.js";
|
|
14
|
+
import type {
|
|
15
|
+
SessionRunInput,
|
|
16
|
+
SessionRunResult,
|
|
17
|
+
} from "@/executor/types/SessionRun.js";
|
|
18
|
+
import type { AgentSessionPromptInput } from "@/types/sdk/AgentSessionPrompt.js";
|
|
19
|
+
import type { AgentSessionStopResult } from "@/types/sdk/AgentSessionStop.js";
|
|
20
|
+
import type { AgentSessionTurnHandle } from "@/types/sdk/AgentSessionTurn.js";
|
|
21
|
+
import type {
|
|
22
|
+
SessionMutationSubscriber,
|
|
23
|
+
SessionMutationUnsubscribe,
|
|
24
|
+
} from "@/types/session/SessionMutation.js";
|
|
25
|
+
import type { SessionContextSnapshot } from "@/types/session/SessionSegment.js";
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 单个 Session 执行端口。
|
|
29
|
+
*/
|
|
30
|
+
export interface SessionExecutorPort {
|
|
31
|
+
/** 执行一次 Session run。 */
|
|
32
|
+
run(params: SessionRunInput): Promise<SessionRunResult>;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 请求取消当前正在执行的 turn。
|
|
36
|
+
*
|
|
37
|
+
* @returns `true` 表示已发出取消请求;`false` 表示当前没有可取消的执行。
|
|
38
|
+
*/
|
|
39
|
+
stop(): boolean;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 单个 Session 实例端口。
|
|
44
|
+
*/
|
|
45
|
+
export interface SessionPort {
|
|
46
|
+
/** 当前 Session 稳定标识。 */
|
|
47
|
+
readonly sessionId: string;
|
|
48
|
+
|
|
49
|
+
/** 获取当前 Session 优先解析后的运行时模型实例。 */
|
|
50
|
+
getModel(): LanguageModel | undefined;
|
|
51
|
+
|
|
52
|
+
/** 获取当前 Session 的执行端口。 */
|
|
53
|
+
getExecutor(): SessionExecutorPort;
|
|
54
|
+
|
|
55
|
+
/** 读取当前 Session 的累计 Summary 与 Active Message 快照。 */
|
|
56
|
+
context(): Promise<SessionContextSnapshot>;
|
|
57
|
+
|
|
58
|
+
/** 向当前 Session actor 追加一条新的 prompt。 */
|
|
59
|
+
prompt(input: AgentSessionPromptInput): Promise<AgentSessionTurnHandle>;
|
|
60
|
+
|
|
61
|
+
/** 停止当前 turn,并取消尚未被吸收的排队 prompt。 */
|
|
62
|
+
stop(): Promise<AgentSessionStopResult>;
|
|
63
|
+
|
|
64
|
+
/** 订阅当前 Session 后续产生的 future 事件。 */
|
|
65
|
+
subscribe(subscriber: SessionMutationSubscriber): SessionMutationUnsubscribe;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* 追加一条 user 消息。
|
|
69
|
+
*/
|
|
70
|
+
append_user_message(params: {
|
|
71
|
+
/** 已构造好的完整消息。 */
|
|
72
|
+
message?: SessionRecordV1 | null;
|
|
73
|
+
|
|
74
|
+
/** 未传入完整消息时使用的兜底文本。 */
|
|
75
|
+
text?: string;
|
|
76
|
+
|
|
77
|
+
/** 当前消息附加元数据。 */
|
|
78
|
+
extra?: SessionMetadataV1["extra"];
|
|
79
|
+
}): Promise<void>;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* 追加一条 assistant 消息。
|
|
83
|
+
*/
|
|
84
|
+
append_assistant_message(params: {
|
|
85
|
+
/** 已构造好的完整消息。 */
|
|
86
|
+
message?: SessionRecordV1 | null;
|
|
87
|
+
|
|
88
|
+
/** 未传入完整消息时使用的兜底文本。 */
|
|
89
|
+
fallbackText?: string;
|
|
90
|
+
|
|
91
|
+
/** 当前消息附加元数据。 */
|
|
92
|
+
extra?: SessionMetadataV1["extra"];
|
|
93
|
+
}): Promise<void>;
|
|
94
|
+
|
|
95
|
+
/** 返回当前 Session 是否正在执行。 */
|
|
96
|
+
isExecuting(): boolean;
|
|
97
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session 输入队列类型。
|
|
3
|
+
*
|
|
4
|
+
* 队列只保存明确的输入事实,不保存可执行闭包。SessionTurn 是这些输入的唯一解释者。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { AgentSessionConfigSnapshot, AgentSessionSystemBlock } from "@/types/agent/SessionTypes.js";
|
|
8
|
+
import type { AgentPluginExecutionRuntime } from "@/types/plugin/PluginRuntime.js";
|
|
9
|
+
import type { AgentSessionPromptInput } from "@/types/sdk/AgentSessionPrompt.js";
|
|
10
|
+
import type { AgentSessionTurnHandle } from "@/types/sdk/AgentSessionTurn.js";
|
|
11
|
+
|
|
12
|
+
/** Session 模型配置在 Step 检查点生效的命令。 */
|
|
13
|
+
export interface SessionModelQueueCommand {
|
|
14
|
+
/** 命令种类固定为 Session 模型更新。 */
|
|
15
|
+
type: "session_model";
|
|
16
|
+
/** 当前命令的稳定唯一标识。 */
|
|
17
|
+
command_id: string;
|
|
18
|
+
/** 等待提交为 effective state 的完整 Session 配置。 */
|
|
19
|
+
config: AgentSessionConfigSnapshot;
|
|
20
|
+
/** 配置生效后需要写入的可选 Action 标识。 */
|
|
21
|
+
action_id?: string;
|
|
22
|
+
/** 配置生效后需要写入的可选 Action 标题。 */
|
|
23
|
+
action_title?: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** Agent instruction 在 Session Step 检查点生效的命令。 */
|
|
27
|
+
export interface SessionInstructionQueueCommand {
|
|
28
|
+
/** 命令种类固定为 Agent instruction 更新。 */
|
|
29
|
+
type: "agent_instruction";
|
|
30
|
+
/** 当前命令的稳定唯一标识。 */
|
|
31
|
+
command_id: string;
|
|
32
|
+
/** 下一 Step 使用的完整 instruction blocks。 */
|
|
33
|
+
instruction_blocks: AgentSessionSystemBlock[];
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Agent env 在 Session Step 检查点生效的命令。 */
|
|
37
|
+
export interface SessionEnvQueueCommand {
|
|
38
|
+
/** 命令种类固定为 Agent env 更新。 */
|
|
39
|
+
type: "agent_env";
|
|
40
|
+
/** 当前命令的稳定唯一标识。 */
|
|
41
|
+
command_id: string;
|
|
42
|
+
/** 下一 Step 使用的完整环境变量快照。 */
|
|
43
|
+
env: Record<string, string>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** Agent Plugin 视图在 Session Step 检查点生效的命令。 */
|
|
47
|
+
export interface SessionPluginsQueueCommand {
|
|
48
|
+
/** 命令种类固定为 Agent Plugin 更新。 */
|
|
49
|
+
type: "agent_plugins";
|
|
50
|
+
/** 当前命令的稳定唯一标识。 */
|
|
51
|
+
command_id: string;
|
|
52
|
+
/** 当前 Plugin 修改的用户可读标题。 */
|
|
53
|
+
title: string;
|
|
54
|
+
/** 下一 Step 使用的 Plugin 执行视图。 */
|
|
55
|
+
plugins: AgentPluginExecutionRuntime;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/** 显式持久化历史压缩命令。 */
|
|
59
|
+
export interface SessionCompactQueueCommand {
|
|
60
|
+
/** 命令种类固定为 compact。 */
|
|
61
|
+
type: "compact";
|
|
62
|
+
/** 当前命令的稳定唯一标识。 */
|
|
63
|
+
command_id: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** Session FIFO 中允许出现的领域命令。 */
|
|
67
|
+
export type SessionQueueCommand =
|
|
68
|
+
| SessionModelQueueCommand
|
|
69
|
+
| SessionInstructionQueueCommand
|
|
70
|
+
| SessionEnvQueueCommand
|
|
71
|
+
| SessionPluginsQueueCommand
|
|
72
|
+
| SessionCompactQueueCommand;
|
|
73
|
+
|
|
74
|
+
/** Agent configured state 广播给既有 Session 的输入。 */
|
|
75
|
+
export type AgentSessionCommand =
|
|
76
|
+
| {
|
|
77
|
+
/** 当前修改固定为 instruction。 */
|
|
78
|
+
type: "instruction";
|
|
79
|
+
/** 当前命令唯一标识。 */
|
|
80
|
+
command_id: string;
|
|
81
|
+
/** 下一 Session Step 使用的 instruction blocks。 */
|
|
82
|
+
instruction_blocks: AgentSessionSystemBlock[];
|
|
83
|
+
}
|
|
84
|
+
| {
|
|
85
|
+
/** 当前修改固定为 env。 */
|
|
86
|
+
type: "env";
|
|
87
|
+
/** 当前命令唯一标识。 */
|
|
88
|
+
command_id: string;
|
|
89
|
+
/** 下一 Session Step 使用的完整 Agent env。 */
|
|
90
|
+
env: Record<string, string>;
|
|
91
|
+
}
|
|
92
|
+
| {
|
|
93
|
+
/** 当前修改固定为 plugins。 */
|
|
94
|
+
type: "plugins";
|
|
95
|
+
/** 当前命令唯一标识。 */
|
|
96
|
+
command_id: string;
|
|
97
|
+
/** 当前 Plugin 修改的用户可读标题。 */
|
|
98
|
+
title: string;
|
|
99
|
+
/** 下一 Session Step 使用的 Plugin 执行视图。 */
|
|
100
|
+
plugins: AgentPluginExecutionRuntime;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
/** Promise 的显式兑现控制器。 */
|
|
104
|
+
export interface SessionQueueDeferred<T> {
|
|
105
|
+
/** 调用方等待的 Promise。 */
|
|
106
|
+
promise: Promise<T>;
|
|
107
|
+
/** 成功兑现 Promise。 */
|
|
108
|
+
resolve: (value: T) => void;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/** FIFO 中等待创建或并入 Turn 的 Prompt。 */
|
|
112
|
+
export interface SessionQueuedPrompt {
|
|
113
|
+
/** 队列项种类固定为 prompt。 */
|
|
114
|
+
type: "prompt";
|
|
115
|
+
/** 当前 Prompt 的结构化输入。 */
|
|
116
|
+
input: AgentSessionPromptInput;
|
|
117
|
+
/** 等待 SessionTurn 返回 Turn Handle 的控制器。 */
|
|
118
|
+
deferred_handle: SessionQueueDeferred<AgentSessionTurnHandle>;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/** Session FIFO 中的全部输入类型。 */
|
|
122
|
+
export type SessionQueueItem = SessionQueuedPrompt | SessionQueueCommand;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionState 构造与配置变更类型。
|
|
3
|
+
*
|
|
4
|
+
* 这些类型只描述 Session 配置和 Metadata 状态,不承载 Message 行为。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { LanguageModel } from "ai";
|
|
8
|
+
import type { SessionMessages } from "@/session/SessionMessages.js";
|
|
9
|
+
import type { AgentSessionConfigSnapshot } from "@/types/agent/SessionTypes.js";
|
|
10
|
+
import type { SessionLocalState } from "@/types/session/SessionLocalState.js";
|
|
11
|
+
import type { SessionMutation } from "@/types/session/SessionMutation.js";
|
|
12
|
+
import type { SessionQueueCommand } from "@/types/session/SessionQueue.js";
|
|
13
|
+
import type { Logger } from "@/utils/logger/Logger.js";
|
|
14
|
+
|
|
15
|
+
/** SessionState 构造参数。 */
|
|
16
|
+
export interface SessionStateOptions {
|
|
17
|
+
/** 当前 Agent 的稳定标识。 */
|
|
18
|
+
agent_id: string;
|
|
19
|
+
/** 当前项目的绝对根目录。 */
|
|
20
|
+
project_root: string;
|
|
21
|
+
/** 当前 Session 的稳定标识。 */
|
|
22
|
+
session_id: string;
|
|
23
|
+
/** 当前 Session 的 canonical Message 入口。 */
|
|
24
|
+
messages: SessionMessages;
|
|
25
|
+
/** 当前 Session 的可变内存状态。 */
|
|
26
|
+
state: SessionLocalState;
|
|
27
|
+
/** 当前 Session 的运行日志器。 */
|
|
28
|
+
logger: Logger;
|
|
29
|
+
/** 在执行前补齐宿主级配置的异步钩子。 */
|
|
30
|
+
ensure_configured_hook?: () => Promise<void>;
|
|
31
|
+
/** 按 Session 优先、Agent 兜底规则读取当前模型。 */
|
|
32
|
+
get_model: () => LanguageModel | undefined;
|
|
33
|
+
/** 发布 Session Mutation 的函数。 */
|
|
34
|
+
publish_event: (mutation: SessionMutation) => void;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Session 配置写入选项。 */
|
|
38
|
+
export interface SessionSetOptions {
|
|
39
|
+
/** 是否为本次配置变化生成 Model Switching Action。 */
|
|
40
|
+
emit_action?: boolean;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/** Session 配置成功写入后的队列提交结果。 */
|
|
44
|
+
export interface SessionConfiguredCommandResult {
|
|
45
|
+
/** 等待在下一 Session Step 检查点执行的 Command。 */
|
|
46
|
+
command?: SessionQueueCommand;
|
|
47
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session System Block 组装类型。
|
|
3
|
+
*
|
|
4
|
+
* 该类型只描述默认 Composer 组装 system block 所需的只读输入。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { AgentSessionSystemBlock } from "@/types/agent/SessionTypes.js";
|
|
8
|
+
|
|
9
|
+
/** 默认 Session System Block 的组装参数。 */
|
|
10
|
+
export interface BuildSessionSystemBlocksInput {
|
|
11
|
+
/** 当前 Agent 的稳定标识。 */
|
|
12
|
+
agent_id: string;
|
|
13
|
+
/** 当前 Agent 绑定的项目绝对根目录。 */
|
|
14
|
+
project_root: string;
|
|
15
|
+
/** 当前 Session 的稳定标识。 */
|
|
16
|
+
session_id: string;
|
|
17
|
+
/** 当前 Session 首次创建时间,单位为毫秒。 */
|
|
18
|
+
created_at: number;
|
|
19
|
+
/** 当前 Session 初始化时解析到的系统时区。 */
|
|
20
|
+
timezone: string;
|
|
21
|
+
/** 读取当前调用方传入的 Instruction System Block。 */
|
|
22
|
+
get_instruction_system_blocks: () => AgentSessionSystemBlock[];
|
|
23
|
+
/** 读取当前显式注入的受托管 Plugin System Block。 */
|
|
24
|
+
get_managed_plugin_system_blocks: () => Promise<AgentSessionSystemBlock[]>;
|
|
25
|
+
/** 读取当前显式注册 Plugin 的 System Block。 */
|
|
26
|
+
get_plugin_system_blocks: () => Promise<AgentSessionSystemBlock[]>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Tool Message 类型。
|
|
3
|
+
*
|
|
4
|
+
* 这些类型描述 Tool 生命周期协调器与 Recorder 之间的稳定边界。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { SessionAssistantToolPart } from "@/types/session/SessionMessage.js";
|
|
8
|
+
|
|
9
|
+
/** 当前流式 Assistant 中的 Tool Part 定位结果。 */
|
|
10
|
+
export interface SessionStreamingToolLocation {
|
|
11
|
+
/** Tool Part 所属 Assistant Message。 */
|
|
12
|
+
message_id: string;
|
|
13
|
+
/** 当前 Tool Part 完整快照。 */
|
|
14
|
+
part: SessionAssistantToolPart;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** Executor 在调用 Tool 实现前提交的完整输入。 */
|
|
18
|
+
export interface SessionToolInputReady {
|
|
19
|
+
/** 当前 Tool Call 标识。 */
|
|
20
|
+
tool_call_id: string;
|
|
21
|
+
/** 当前 Tool 注册名称。 */
|
|
22
|
+
tool_name: string;
|
|
23
|
+
/** 已完成解析的 Tool 输入。 */
|
|
24
|
+
input: unknown;
|
|
25
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SessionTurn 构造参数与内部运行态类型。
|
|
3
|
+
*
|
|
4
|
+
* 这些类型描述 Turn 编排所依赖的领域对象,不实现任何调度行为。
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Executor } from "@/executor/Executor.js";
|
|
8
|
+
import type { SessionApprovalBroker } from "@/session/approval/SessionApprovalBroker.js";
|
|
9
|
+
import type { SessionEventHub } from "@/session/runtime/SessionEventHub.js";
|
|
10
|
+
import type { SessionMessages } from "@/session/SessionMessages.js";
|
|
11
|
+
import type { SessionState } from "@/session/SessionState.js";
|
|
12
|
+
import type { AgentSessionTurnResult } from "@/types/sdk/AgentSessionTurn.js";
|
|
13
|
+
import type { SessionQueueCommand } from "@/types/session/SessionQueue.js";
|
|
14
|
+
|
|
15
|
+
/** Promise 延迟控制器。 */
|
|
16
|
+
export interface SessionDeferred<T> {
|
|
17
|
+
/** 等待兑现的 Promise。 */
|
|
18
|
+
promise: Promise<T>;
|
|
19
|
+
/** 兑现 Promise 的函数。 */
|
|
20
|
+
resolve: (value: T) => void;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** 当前活跃 Turn 的内存状态。 */
|
|
24
|
+
export interface ActiveSessionTurnState {
|
|
25
|
+
/** 当前 Turn 的稳定标识。 */
|
|
26
|
+
turn_id: string;
|
|
27
|
+
/** 当前 Turn 的最终结果快照。 */
|
|
28
|
+
result: AgentSessionTurnResult | null;
|
|
29
|
+
/** 当前 Turn 完成状态的延迟控制器。 */
|
|
30
|
+
deferred_finished: SessionDeferred<AgentSessionTurnResult>;
|
|
31
|
+
/** 当前 Turn 的取消控制器。 */
|
|
32
|
+
abort_controller: AbortController;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** SessionTurn 构造参数。 */
|
|
36
|
+
export interface SessionTurnOptions {
|
|
37
|
+
/** 当前 Session 的稳定标识。 */
|
|
38
|
+
session_id: string;
|
|
39
|
+
/** 当前项目的绝对根目录。 */
|
|
40
|
+
project_root: string;
|
|
41
|
+
/** 当前 Session 的模型执行器。 */
|
|
42
|
+
executor: Executor;
|
|
43
|
+
/** 当前 Session 的配置与 Metadata 状态。 */
|
|
44
|
+
state: SessionState;
|
|
45
|
+
/** 当前 Session 的 canonical Message 入口。 */
|
|
46
|
+
messages: SessionMessages;
|
|
47
|
+
/** 当前 Session 的 Mutation 总线。 */
|
|
48
|
+
events: SessionEventHub;
|
|
49
|
+
/** 当前 Session 的 Tool 审批入口。 */
|
|
50
|
+
approvals: SessionApprovalBroker;
|
|
51
|
+
/** 在 Step 检查点提交 Session 或 Agent 状态 Command。 */
|
|
52
|
+
apply_command: (
|
|
53
|
+
command: Exclude<SessionQueueCommand, { type: "compact" }>,
|
|
54
|
+
turn_id: string,
|
|
55
|
+
) => Promise<void>;
|
|
56
|
+
}
|