@downcity/agent 1.1.287 → 1.1.310
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 +23 -16
- package/bin/agent/Agent.d.ts +35 -45
- package/bin/agent/Agent.d.ts.map +1 -1
- package/bin/agent/Agent.js +131 -107
- package/bin/agent/Agent.js.map +1 -1
- package/bin/agent/AgentInstructions.d.ts +2 -2
- package/bin/agent/AgentInstructions.d.ts.map +1 -1
- package/bin/agent/AgentInstructions.js +2 -2
- package/bin/agent/AgentInstructions.js.map +1 -1
- package/bin/agent/AgentModel.d.ts +2 -2
- package/bin/agent/AgentModel.d.ts.map +1 -1
- package/bin/agent/AgentModel.js +2 -2
- package/bin/agent/AgentModel.js.map +1 -1
- package/bin/agent/AgentSessions.d.ts +11 -7
- package/bin/agent/AgentSessions.d.ts.map +1 -1
- package/bin/agent/AgentSessions.js +39 -97
- package/bin/agent/AgentSessions.js.map +1 -1
- package/bin/agent/AgentState.d.ts +2 -21
- package/bin/agent/AgentState.d.ts.map +1 -1
- package/bin/agent/AgentState.js +6 -50
- package/bin/agent/AgentState.js.map +1 -1
- package/bin/executor/Executor.d.ts +25 -55
- package/bin/executor/Executor.d.ts.map +1 -1
- package/bin/executor/Executor.js +93 -178
- package/bin/executor/Executor.js.map +1 -1
- package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -2
- package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +9 -9
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +19 -19
- package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
- package/bin/executor/composer/system/default/PromptRenderer.d.ts +2 -2
- package/bin/executor/composer/system/default/PromptRenderer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/PromptRenderer.js +3 -3
- package/bin/executor/composer/system/default/PromptRenderer.js.map +1 -1
- package/bin/executor/composer/system/default/SystemDomain.d.ts +27 -27
- package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
- package/bin/executor/composer/system/default/SystemDomain.js +44 -44
- 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/composer/system/default/variables/GeoContext.d.ts +1 -1
- package/bin/executor/composer/system/default/variables/GeoContext.d.ts.map +1 -1
- package/bin/executor/composer/system/default/variables/GeoContext.js +3 -3
- package/bin/executor/composer/system/default/variables/GeoContext.js.map +1 -1
- package/bin/executor/composer/system/default/variables/PromptTypes.d.ts +2 -2
- package/bin/executor/composer/system/default/variables/PromptTypes.d.ts.map +1 -1
- package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts +4 -4
- package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts.map +1 -1
- package/bin/executor/composer/system/default/variables/VariableReplacer.js +24 -24
- package/bin/executor/composer/system/default/variables/VariableReplacer.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineError.d.ts +2 -2
- package/bin/executor/core-engine/CoreEngineError.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineError.js +2 -2
- package/bin/executor/core-engine/CoreEngineError.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts +2 -2
- package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineLoopDecision.js +2 -2
- package/bin/executor/core-engine/CoreEngineLoopDecision.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineMessageState.d.ts +2 -2
- package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineMessageState.js +9 -9
- package/bin/executor/core-engine/CoreEngineMessageState.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.d.ts +8 -8
- package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineRunner.js +94 -108
- package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineSignals.d.ts +10 -10
- package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineSignals.js +19 -19
- package/bin/executor/core-engine/CoreEngineSignals.js.map +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +6 -6
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +12 -12
- package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
- package/bin/executor/ids/resolveSessionId.d.ts +4 -4
- package/bin/executor/ids/resolveSessionId.d.ts.map +1 -1
- package/bin/executor/ids/resolveSessionId.js +4 -4
- package/bin/executor/ids/resolveSessionId.js.map +1 -1
- package/bin/executor/messages/ChatMessageMarkup.d.ts +10 -10
- package/bin/executor/messages/ChatMessageMarkup.d.ts.map +1 -1
- package/bin/executor/messages/ChatMessageMarkup.js +22 -22
- package/bin/executor/messages/ChatMessageMarkup.js.map +1 -1
- package/bin/executor/messages/ChatMessageMarkupTypes.d.ts +10 -10
- package/bin/executor/messages/ChatMessageMarkupTypes.d.ts.map +1 -1
- package/bin/executor/messages/SessionAttachmentMapper.d.ts +4 -4
- package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
- package/bin/executor/messages/SessionAttachmentMapper.js +12 -12
- package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
- package/bin/executor/messages/SessionMessageCodec.d.ts +5 -5
- package/bin/executor/messages/SessionMessageCodec.d.ts.map +1 -1
- package/bin/executor/messages/SessionMessageCodec.js +12 -22
- package/bin/executor/messages/SessionMessageCodec.js.map +1 -1
- package/bin/executor/messages/SessionMessageLog.d.ts +2 -2
- package/bin/executor/messages/SessionMessageLog.d.ts.map +1 -1
- package/bin/executor/messages/SessionMessageLog.js +3 -3
- package/bin/executor/messages/SessionMessageLog.js.map +1 -1
- package/bin/executor/messages/SessionStepEventMapper.d.ts +4 -4
- package/bin/executor/messages/SessionStepEventMapper.d.ts.map +1 -1
- package/bin/executor/messages/SessionStepEventMapper.js +7 -7
- package/bin/executor/messages/SessionStepEventMapper.js.map +1 -1
- package/bin/executor/messages/UIMessageTransformer.d.ts +3 -3
- package/bin/executor/messages/UIMessageTransformer.d.ts.map +1 -1
- package/bin/executor/messages/UIMessageTransformer.js +6 -6
- package/bin/executor/messages/UIMessageTransformer.js.map +1 -1
- package/bin/executor/messages/UserVisibleText.d.ts +2 -2
- package/bin/executor/messages/UserVisibleText.d.ts.map +1 -1
- package/bin/executor/messages/UserVisibleText.js +5 -5
- package/bin/executor/messages/UserVisibleText.js.map +1 -1
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +15 -15
- package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
- package/bin/executor/services/ExecutorRecoveryPolicy.js +13 -12
- package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
- package/bin/executor/types/SessionHistoryMeta.d.ts +10 -10
- package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
- package/bin/executor/types/SessionHistoryMeta.js +1 -1
- package/bin/executor/types/SessionRecords.d.ts +9 -9
- package/bin/executor/types/SessionRecords.d.ts.map +1 -1
- package/bin/executor/types/SessionRecords.js +4 -4
- package/bin/executor/types/SessionRecords.js.map +1 -1
- package/bin/index.d.ts +41 -55
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +24 -31
- package/bin/index.js.map +1 -1
- package/bin/plugin/core/ActionScheduleExecutor.d.ts +4 -4
- package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +1 -1
- package/bin/plugin/core/ActionScheduleExecutor.js +18 -20
- package/bin/plugin/core/ActionScheduleExecutor.js.map +1 -1
- package/bin/plugin/core/ActionScheduleRuntime.d.ts +2 -2
- package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +1 -1
- package/bin/plugin/core/ActionScheduleRuntime.js +6 -6
- package/bin/plugin/core/ActionScheduleRuntime.js.map +1 -1
- package/bin/plugin/core/ActionScheduleStore.d.ts +23 -22
- package/bin/plugin/core/ActionScheduleStore.d.ts.map +1 -1
- package/bin/plugin/core/ActionScheduleStore.js +120 -117
- package/bin/plugin/core/ActionScheduleStore.js.map +1 -1
- package/bin/plugin/core/ActionScheduleTime.d.ts +5 -5
- package/bin/plugin/core/ActionScheduleTime.d.ts.map +1 -1
- package/bin/plugin/core/ActionScheduleTime.js +6 -6
- package/bin/plugin/core/ActionScheduleTime.js.map +1 -1
- package/bin/plugin/core/BasePlugin.d.ts +6 -20
- package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
- package/bin/plugin/core/BasePlugin.js +0 -12
- package/bin/plugin/core/BasePlugin.js.map +1 -1
- package/bin/plugin/core/HookRegistry.d.ts +11 -11
- package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
- package/bin/plugin/core/HookRegistry.js +45 -45
- package/bin/plugin/core/HookRegistry.js.map +1 -1
- package/bin/plugin/core/PluginActionFactory.d.ts +18 -26
- package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -1
- package/bin/plugin/core/PluginActionFactory.js +5 -8
- package/bin/plugin/core/PluginActionFactory.js.map +1 -1
- package/bin/plugin/core/PluginActionRunner.d.ts +15 -33
- package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
- package/bin/plugin/core/PluginActionRunner.js +11 -147
- package/bin/plugin/core/PluginActionRunner.js.map +1 -1
- package/bin/plugin/core/PluginCatalog.d.ts +12 -12
- package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
- package/bin/plugin/core/PluginCatalog.js +18 -18
- package/bin/plugin/core/PluginCatalog.js.map +1 -1
- package/bin/plugin/core/PluginContext.d.ts +32 -0
- package/bin/plugin/core/PluginContext.d.ts.map +1 -0
- package/bin/plugin/core/PluginContext.js +26 -0
- package/bin/plugin/core/PluginContext.js.map +1 -0
- package/bin/plugin/core/PluginHttpRoutes.d.ts +5 -5
- package/bin/plugin/core/PluginHttpRoutes.d.ts.map +1 -1
- package/bin/plugin/core/PluginHttpRoutes.js +5 -5
- package/bin/plugin/core/PluginHttpRoutes.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +35 -24
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/core/PluginRegistry.js +99 -71
- package/bin/plugin/core/PluginRegistry.js.map +1 -1
- package/bin/plugin/core/PluginStateController.d.ts +5 -13
- package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
- package/bin/plugin/core/PluginStateController.js +2 -32
- package/bin/plugin/core/PluginStateController.js.map +1 -1
- package/bin/plugin/tool/PluginToolRuntime.d.ts +15 -0
- package/bin/plugin/tool/PluginToolRuntime.d.ts.map +1 -0
- package/bin/plugin/tool/PluginToolRuntime.js +105 -0
- package/bin/plugin/tool/PluginToolRuntime.js.map +1 -0
- package/bin/{executor/tools/plugin → plugin/tool}/PluginToolSchemas.d.ts +1 -1
- package/bin/plugin/tool/PluginToolSchemas.d.ts.map +1 -0
- package/bin/{executor/tools/plugin → plugin/tool}/PluginToolSchemas.js +1 -1
- package/bin/plugin/tool/PluginToolSchemas.js.map +1 -0
- package/bin/plugin/tool/PluginTools.d.ts +25 -0
- package/bin/plugin/tool/PluginTools.d.ts.map +1 -0
- package/bin/{executor/tools/plugin/PluginToolDefinition.js → plugin/tool/PluginTools.js} +19 -19
- package/bin/plugin/tool/PluginTools.js.map +1 -0
- package/bin/plugin/types/ActionSchedule.d.ts +10 -10
- package/bin/plugin/types/ActionSchedule.d.ts.map +1 -1
- package/bin/plugin/types/ActionSchedule.js +1 -1
- package/bin/plugin/types/PluginApi.d.ts +3 -3
- package/bin/plugin/types/PluginApi.d.ts.map +1 -1
- package/bin/remote/RemoteAgent.d.ts +1 -1
- package/bin/remote/RemoteAgent.d.ts.map +1 -1
- package/bin/remote/RemoteAgent.js +3 -3
- package/bin/remote/RemoteAgent.js.map +1 -1
- package/bin/remote/RemoteSession.d.ts +18 -12
- package/bin/remote/RemoteSession.d.ts.map +1 -1
- package/bin/remote/RemoteSession.js +87 -21
- package/bin/remote/RemoteSession.js.map +1 -1
- package/bin/remote/RemoteTransport.d.ts +13 -11
- package/bin/remote/RemoteTransport.d.ts.map +1 -1
- package/bin/remote/transports/HttpRemoteAgentTransport.d.ts +9 -7
- package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
- package/bin/remote/transports/HttpRemoteAgentTransport.js +36 -39
- package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
- package/bin/remote/transports/RpcClient.d.ts +14 -31
- package/bin/remote/transports/RpcClient.d.ts.map +1 -1
- package/bin/remote/transports/RpcClient.js +40 -66
- package/bin/remote/transports/RpcClient.js.map +1 -1
- package/bin/remote/transports/RpcRemoteAgentTransport.d.ts +9 -7
- package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
- package/bin/remote/transports/RpcRemoteAgentTransport.js +10 -10
- package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
- package/bin/session/DefaultSessionComposer.d.ts.map +1 -1
- package/bin/session/DefaultSessionComposer.js +2 -4
- package/bin/session/DefaultSessionComposer.js.map +1 -1
- package/bin/session/Session.d.ts +49 -31
- package/bin/session/Session.d.ts.map +1 -1
- package/bin/session/Session.js +303 -243
- package/bin/session/Session.js.map +1 -1
- package/bin/session/SessionCommand.d.ts +24 -0
- package/bin/session/SessionCommand.d.ts.map +1 -0
- package/bin/session/SessionCommand.js +35 -0
- package/bin/session/SessionCommand.js.map +1 -0
- package/bin/session/SessionLoop.d.ts +96 -0
- package/bin/session/SessionLoop.d.ts.map +1 -0
- package/bin/session/SessionLoop.js +554 -0
- package/bin/session/SessionLoop.js.map +1 -0
- package/bin/session/SessionMessages.d.ts +20 -16
- package/bin/session/SessionMessages.d.ts.map +1 -1
- package/bin/session/SessionMessages.js +102 -81
- package/bin/session/SessionMessages.js.map +1 -1
- package/bin/session/SessionQueue.d.ts +15 -25
- package/bin/session/SessionQueue.d.ts.map +1 -1
- package/bin/session/SessionQueue.js +31 -45
- package/bin/session/SessionQueue.js.map +1 -1
- package/bin/session/SessionState.d.ts +6 -6
- package/bin/session/SessionState.d.ts.map +1 -1
- package/bin/session/SessionState.js +45 -93
- package/bin/session/SessionState.js.map +1 -1
- package/bin/session/SessionSystem.js +7 -7
- package/bin/session/SessionSystem.js.map +1 -1
- package/bin/session/SessionTitle.d.ts +7 -12
- package/bin/session/SessionTitle.d.ts.map +1 -1
- package/bin/session/SessionTitle.js +15 -20
- package/bin/session/SessionTitle.js.map +1 -1
- package/bin/session/browse/Browse.d.ts +17 -26
- package/bin/session/browse/Browse.d.ts.map +1 -1
- package/bin/session/browse/Browse.js +106 -303
- package/bin/session/browse/Browse.js.map +1 -1
- package/bin/session/browse/SessionMessageTimeline.d.ts +13 -0
- package/bin/session/browse/SessionMessageTimeline.d.ts.map +1 -0
- package/bin/session/browse/SessionMessageTimeline.js +110 -0
- package/bin/session/browse/SessionMessageTimeline.js.map +1 -0
- package/bin/session/control/SessionInteractions.d.ts +39 -0
- package/bin/session/control/SessionInteractions.d.ts.map +1 -0
- package/bin/session/control/SessionInteractions.js +219 -0
- package/bin/session/control/SessionInteractions.js.map +1 -0
- package/bin/session/execution/SessionAssistantOutputAdapter.d.ts +49 -0
- package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +1 -0
- package/bin/session/execution/SessionAssistantOutputAdapter.js +117 -0
- package/bin/session/execution/SessionAssistantOutputAdapter.js.map +1 -0
- package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts +28 -0
- package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts.map +1 -0
- package/bin/session/execution/tools/SessionShellApprovalAdapter.js +75 -0
- package/bin/session/execution/tools/SessionShellApprovalAdapter.js.map +1 -0
- package/bin/session/messages/SessionAssistantMessageWriter.d.ts +6 -4
- package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -1
- package/bin/session/messages/SessionAssistantMessageWriter.js +34 -18
- package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -1
- package/bin/session/messages/SessionJsonValue.d.ts +2 -2
- package/bin/session/messages/SessionJsonValue.d.ts.map +1 -1
- package/bin/session/messages/SessionJsonValue.js.map +1 -1
- package/bin/session/messages/SessionMessageCodec.d.ts.map +1 -1
- package/bin/session/messages/SessionMessageCodec.js +30 -84
- package/bin/session/messages/SessionMessageCodec.js.map +1 -1
- package/bin/session/messages/SessionMessageCompaction.js +2 -2
- package/bin/session/messages/SessionMessageCompaction.js.map +1 -1
- package/bin/session/messages/SessionMessageInteractionWriter.d.ts +51 -0
- package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +1 -0
- package/bin/session/messages/SessionMessageInteractionWriter.js +177 -0
- package/bin/session/messages/SessionMessageInteractionWriter.js.map +1 -0
- package/bin/session/preview/SessionMessagePreview.js +2 -2
- package/bin/session/preview/SessionMessagePreview.js.map +1 -1
- package/bin/session/runtime/SessionCompactOperation.d.ts +29 -0
- package/bin/session/runtime/SessionCompactOperation.d.ts.map +1 -0
- package/bin/session/runtime/SessionCompactOperation.js +66 -0
- package/bin/session/runtime/SessionCompactOperation.js.map +1 -0
- package/bin/session/runtime/SessionHistoryCompaction.d.ts +22 -0
- package/bin/session/runtime/SessionHistoryCompaction.d.ts.map +1 -0
- package/bin/session/runtime/SessionHistoryCompaction.js +31 -0
- package/bin/session/runtime/SessionHistoryCompaction.js.map +1 -0
- package/bin/session/runtime/SessionTurnContext.d.ts +26 -0
- package/bin/session/runtime/SessionTurnContext.d.ts.map +1 -0
- package/bin/session/runtime/SessionTurnContext.js +181 -0
- package/bin/session/runtime/SessionTurnContext.js.map +1 -0
- package/bin/session/storage/Metadata.d.ts +13 -70
- package/bin/session/storage/Metadata.d.ts.map +1 -1
- package/bin/session/storage/Metadata.js +31 -116
- package/bin/session/storage/Metadata.js.map +1 -1
- package/bin/session/storage/RuntimeSessionPort.d.ts +7 -7
- package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
- package/bin/session/storage/RuntimeSessionPort.js +7 -7
- package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
- package/bin/tools/ask/AskQuestionsTool.d.ts +39 -0
- package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -0
- package/bin/tools/ask/AskQuestionsTool.js +67 -0
- package/bin/tools/ask/AskQuestionsTool.js.map +1 -0
- package/bin/tools/ask/AskQuestionsToolSchemas.d.ts +29 -0
- package/bin/tools/ask/AskQuestionsToolSchemas.d.ts.map +1 -0
- package/bin/tools/ask/AskQuestionsToolSchemas.js +51 -0
- package/bin/tools/ask/AskQuestionsToolSchemas.js.map +1 -0
- package/bin/tools/index.d.ts +9 -0
- package/bin/tools/index.d.ts.map +1 -0
- package/bin/tools/index.js +8 -0
- package/bin/tools/index.js.map +1 -0
- package/bin/types/action/ActionResult.d.ts +26 -0
- package/bin/types/action/ActionResult.d.ts.map +1 -0
- package/bin/types/action/ActionResult.js +17 -0
- package/bin/types/action/ActionResult.js.map +1 -0
- package/bin/types/agent/AgentOptions.d.ts +13 -23
- package/bin/types/agent/AgentOptions.d.ts.map +1 -1
- package/bin/types/agent/AgentState.d.ts +4 -13
- package/bin/types/agent/AgentState.d.ts.map +1 -1
- package/bin/types/agent/AgentState.js +2 -2
- package/bin/types/agent/RemoteAgentPluginAction.d.ts +2 -2
- package/bin/types/agent/RemoteAgentPluginAction.d.ts.map +1 -1
- package/bin/types/agent/SessionActor.d.ts +16 -15
- package/bin/types/agent/SessionActor.d.ts.map +1 -1
- package/bin/types/agent/SessionTypes.d.ts +69 -91
- package/bin/types/agent/SessionTypes.d.ts.map +1 -1
- package/bin/types/executor/SessionAssistantOutput.d.ts +34 -0
- package/bin/types/executor/SessionAssistantOutput.d.ts.map +1 -0
- package/bin/types/executor/SessionAssistantOutput.js +8 -0
- package/bin/types/executor/SessionAssistantOutput.js.map +1 -0
- package/bin/types/executor/SessionToolExecutionContext.d.ts +5 -5
- package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -1
- package/bin/types/executor/SessionToolExecutionContext.js +2 -2
- package/bin/types/executor/SessionTurnContext.d.ts +125 -0
- package/bin/types/executor/SessionTurnContext.d.ts.map +1 -0
- package/bin/types/executor/SessionTurnContext.js +10 -0
- package/bin/types/executor/SessionTurnContext.js.map +1 -0
- package/bin/types/plugin/PluginAction.d.ts +13 -10
- package/bin/types/plugin/PluginAction.d.ts.map +1 -1
- package/bin/types/plugin/PluginCommand.d.ts +8 -65
- package/bin/types/plugin/PluginCommand.d.ts.map +1 -1
- package/bin/types/plugin/PluginCommand.js +2 -4
- package/bin/types/plugin/PluginCommand.js.map +1 -1
- package/bin/types/plugin/PluginContext.d.ts +34 -0
- package/bin/types/plugin/PluginContext.d.ts.map +1 -0
- package/bin/types/plugin/PluginContext.js +9 -0
- package/bin/types/plugin/PluginContext.js.map +1 -0
- package/bin/types/plugin/PluginDefinition.d.ts +8 -28
- package/bin/types/plugin/PluginDefinition.d.ts.map +1 -1
- package/bin/types/plugin/PluginDefinition.js +1 -1
- package/bin/types/plugin/PluginExecutionContext.d.ts +29 -0
- package/bin/types/plugin/PluginExecutionContext.d.ts.map +1 -0
- package/bin/types/plugin/{PluginRunContext.js → PluginExecutionContext.js} +2 -2
- package/bin/types/plugin/PluginExecutionContext.js.map +1 -0
- package/bin/types/plugin/PluginHttp.d.ts +5 -5
- package/bin/types/plugin/PluginHttp.d.ts.map +1 -1
- package/bin/types/plugin/PluginRegistry.d.ts +21 -0
- package/bin/types/plugin/PluginRegistry.d.ts.map +1 -0
- package/bin/types/plugin/PluginRegistry.js +9 -0
- package/bin/types/plugin/PluginRegistry.js.map +1 -0
- package/bin/types/plugin/PluginRuntime.d.ts +28 -40
- package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
- package/bin/types/plugin/PluginState.d.ts +0 -15
- package/bin/types/plugin/PluginState.d.ts.map +1 -1
- package/bin/types/plugin/PluginTool.d.ts +90 -0
- package/bin/types/plugin/PluginTool.d.ts.map +1 -0
- package/bin/types/plugin/PluginTool.js.map +1 -0
- package/bin/types/rpc/RpcProtocol.d.ts +50 -72
- package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
- package/bin/types/sdk/AgentSessionCompact.d.ts +31 -0
- package/bin/types/sdk/AgentSessionCompact.d.ts.map +1 -0
- package/bin/types/sdk/AgentSessionCompact.js +8 -0
- package/bin/types/sdk/AgentSessionCompact.js.map +1 -0
- package/bin/types/sdk/AgentSessionPrompt.d.ts +1 -1
- package/bin/types/sdk/AgentSessionPrompt.d.ts.map +1 -1
- package/bin/types/sdk/AgentSessionPrompt.js +1 -1
- package/bin/types/sdk/AgentSessionPrompt.js.map +1 -1
- package/bin/types/sdk/AgentSessionStop.d.ts +2 -2
- package/bin/types/sdk/AgentSessionStop.d.ts.map +1 -1
- package/bin/types/sdk/AgentSessionTurn.d.ts +3 -13
- package/bin/types/sdk/AgentSessionTurn.d.ts.map +1 -1
- package/bin/types/session/SessionCommand.d.ts +26 -0
- package/bin/types/session/SessionCommand.d.ts.map +1 -0
- package/bin/types/session/SessionCommand.js +7 -0
- package/bin/types/session/SessionCommand.js.map +1 -0
- package/bin/types/session/SessionComposer.d.ts +8 -4
- package/bin/types/session/SessionComposer.d.ts.map +1 -1
- package/bin/{executor/types/SessionRun.d.ts → types/session/SessionExecution.d.ts} +37 -33
- package/bin/types/session/SessionExecution.d.ts.map +1 -0
- package/bin/types/session/SessionExecution.js +10 -0
- package/bin/types/session/SessionExecution.js.map +1 -0
- package/bin/types/session/SessionInteraction.d.ts +165 -0
- package/bin/types/session/SessionInteraction.d.ts.map +1 -0
- package/bin/types/session/SessionInteraction.js +8 -0
- package/bin/types/session/SessionInteraction.js.map +1 -0
- package/bin/types/session/SessionInteractions.d.ts +17 -0
- package/bin/types/session/SessionInteractions.d.ts.map +1 -0
- package/bin/types/session/SessionInteractions.js +8 -0
- package/bin/types/session/SessionInteractions.js.map +1 -0
- package/bin/types/session/SessionLocalState.d.ts +1 -1
- package/bin/types/session/SessionLoop.d.ts +63 -0
- package/bin/types/session/SessionLoop.d.ts.map +1 -0
- package/bin/types/session/{SessionTurn.js → SessionLoop.js} +2 -2
- package/bin/types/session/SessionLoop.js.map +1 -0
- package/bin/types/session/SessionMessage.d.ts +37 -28
- package/bin/types/session/SessionMessage.d.ts.map +1 -1
- package/bin/types/session/SessionMessages.d.ts +2 -4
- package/bin/types/session/SessionMessages.d.ts.map +1 -1
- package/bin/types/session/SessionMutation.d.ts +19 -1
- package/bin/types/session/SessionMutation.d.ts.map +1 -1
- package/bin/types/session/SessionMutation.js +1 -0
- package/bin/types/session/SessionMutation.js.map +1 -1
- package/bin/types/session/SessionOptions.d.ts +34 -20
- package/bin/types/session/SessionOptions.d.ts.map +1 -1
- package/bin/types/session/SessionPort.d.ts +6 -19
- package/bin/types/session/SessionPort.d.ts.map +1 -1
- package/bin/types/session/SessionState.d.ts +3 -13
- package/bin/types/session/SessionState.d.ts.map +1 -1
- package/bin/types/store/AgentStore.d.ts +31 -0
- package/bin/types/store/AgentStore.d.ts.map +1 -0
- package/bin/types/store/AgentStore.js +9 -0
- package/bin/types/store/AgentStore.js.map +1 -0
- package/bin/types/store/LocalStore.d.ts +36 -0
- package/bin/types/store/LocalStore.d.ts.map +1 -0
- package/bin/types/store/LocalStore.js +9 -0
- package/bin/types/store/LocalStore.js.map +1 -0
- package/bin/types/store/SessionStore.d.ts +82 -0
- package/bin/types/store/SessionStore.d.ts.map +1 -0
- package/bin/types/store/SessionStore.js +9 -0
- package/bin/types/store/SessionStore.js.map +1 -0
- package/bin/types/tools/ask/AskQuestionsTool.d.ts +22 -0
- package/bin/types/tools/ask/AskQuestionsTool.d.ts.map +1 -0
- package/bin/types/tools/ask/AskQuestionsTool.js +8 -0
- package/bin/types/tools/ask/AskQuestionsTool.js.map +1 -0
- package/bin/types/workspace/FileSystem.d.ts +55 -0
- package/bin/types/workspace/FileSystem.d.ts.map +1 -0
- package/bin/types/workspace/FileSystem.js +9 -0
- package/bin/types/workspace/FileSystem.js.map +1 -0
- package/bin/types/workspace/FileTool.d.ts +181 -0
- package/bin/types/workspace/FileTool.d.ts.map +1 -0
- package/bin/types/workspace/FileTool.js +10 -0
- package/bin/types/workspace/FileTool.js.map +1 -0
- package/bin/types/workspace/SearchTool.d.ts +131 -0
- package/bin/types/workspace/SearchTool.d.ts.map +1 -0
- package/bin/types/workspace/SearchTool.js +10 -0
- package/bin/types/workspace/SearchTool.js.map +1 -0
- package/bin/types/workspace/Workspace.d.ts +24 -0
- package/bin/types/workspace/Workspace.d.ts.map +1 -0
- package/bin/types/workspace/Workspace.js +9 -0
- package/bin/types/workspace/Workspace.js.map +1 -0
- package/bin/types/workspace/WorkspaceEnv.d.ts +16 -0
- package/bin/types/workspace/WorkspaceEnv.d.ts.map +1 -0
- package/bin/types/workspace/WorkspaceEnv.js +9 -0
- package/bin/types/workspace/WorkspaceEnv.js.map +1 -0
- package/bin/types/workspace/WorkspaceTools.d.ts +20 -0
- package/bin/types/workspace/WorkspaceTools.d.ts.map +1 -0
- package/bin/types/workspace/WorkspaceTools.js +9 -0
- package/bin/types/workspace/WorkspaceTools.js.map +1 -0
- package/bin/utils/Id.d.ts +1 -1
- package/bin/utils/Id.d.ts.map +1 -1
- package/bin/utils/Id.js +1 -1
- package/bin/utils/Id.js.map +1 -1
- package/bin/utils/Template.d.ts +1 -1
- package/bin/utils/Template.d.ts.map +1 -1
- package/bin/utils/Template.js +1 -1
- package/bin/utils/Template.js.map +1 -1
- package/bin/utils/Time.d.ts +5 -5
- package/bin/utils/Time.d.ts.map +1 -1
- package/bin/utils/Time.js +5 -5
- package/bin/utils/Time.js.map +1 -1
- package/bin/utils/cli/CliOutput.d.ts +1 -1
- package/bin/utils/cli/CliOutput.d.ts.map +1 -1
- package/bin/utils/cli/CliOutput.js +6 -6
- package/bin/utils/cli/CliOutput.js.map +1 -1
- package/bin/utils/cli/PrettyStatus.d.ts +3 -3
- package/bin/utils/cli/PrettyStatus.d.ts.map +1 -1
- package/bin/utils/cli/PrettyStatus.js +4 -4
- package/bin/utils/cli/PrettyStatus.js.map +1 -1
- package/bin/utils/logger/FormatRequest.d.ts +2 -2
- package/bin/utils/logger/FormatRequest.d.ts.map +1 -1
- package/bin/utils/logger/FormatRequest.js +49 -49
- package/bin/utils/logger/FormatRequest.js.map +1 -1
- package/bin/utils/logger/FormatResponse.d.ts +1 -1
- package/bin/utils/logger/FormatResponse.d.ts.map +1 -1
- package/bin/utils/logger/FormatResponse.js +36 -36
- package/bin/utils/logger/FormatResponse.js.map +1 -1
- package/bin/utils/logger/FormatShared.d.ts +16 -16
- package/bin/utils/logger/FormatShared.d.ts.map +1 -1
- package/bin/utils/logger/FormatShared.js +28 -28
- package/bin/utils/logger/FormatShared.js.map +1 -1
- package/bin/utils/logger/Logger.d.ts +15 -12
- package/bin/utils/logger/Logger.d.ts.map +1 -1
- package/bin/utils/logger/Logger.js +28 -26
- package/bin/utils/logger/Logger.js.map +1 -1
- package/bin/utils/object/DeepMerge.d.ts +1 -1
- package/bin/utils/object/DeepMerge.d.ts.map +1 -1
- package/bin/utils/object/DeepMerge.js +5 -5
- package/bin/utils/object/DeepMerge.js.map +1 -1
- package/bin/utils/object/ObjectGuards.d.ts +1 -1
- package/bin/utils/object/ObjectGuards.d.ts.map +1 -1
- package/bin/utils/object/ObjectGuards.js +1 -1
- package/bin/utils/object/ObjectGuards.js.map +1 -1
- package/bin/utils/path/AncestorFiles.d.ts +1 -1
- package/bin/utils/path/AncestorFiles.d.ts.map +1 -1
- package/bin/utils/path/AncestorFiles.js +2 -2
- package/bin/utils/path/AncestorFiles.js.map +1 -1
- package/bin/utils/storage/index.d.ts +2 -2
- package/bin/utils/storage/index.d.ts.map +1 -1
- package/bin/utils/storage/index.js +2 -2
- package/bin/utils/storage/index.js.map +1 -1
- package/bin/utils/string/EscapeRegExp.d.ts +1 -1
- package/bin/utils/string/EscapeRegExp.d.ts.map +1 -1
- package/bin/utils/string/EscapeRegExp.js +1 -1
- package/bin/utils/string/EscapeRegExp.js.map +1 -1
- package/bin/workspace/LocalFileSystem.d.ts +44 -0
- package/bin/workspace/LocalFileSystem.d.ts.map +1 -0
- package/bin/workspace/LocalFileSystem.js +153 -0
- package/bin/workspace/LocalFileSystem.js.map +1 -0
- package/bin/workspace/Workspace.d.ts +52 -0
- package/bin/workspace/Workspace.d.ts.map +1 -0
- package/bin/workspace/Workspace.js +153 -0
- package/bin/workspace/Workspace.js.map +1 -0
- package/bin/workspace/WorkspaceEnv.d.ts +19 -0
- package/bin/workspace/WorkspaceEnv.d.ts.map +1 -0
- package/bin/workspace/WorkspaceEnv.js +50 -0
- package/bin/workspace/WorkspaceEnv.js.map +1 -0
- package/bin/workspace/WorkspacePaths.d.ts +67 -0
- package/bin/workspace/WorkspacePaths.d.ts.map +1 -0
- package/bin/workspace/WorkspacePaths.js +102 -0
- package/bin/workspace/WorkspacePaths.js.map +1 -0
- package/bin/workspace/file/FileActionRuntime.d.ts +14 -0
- package/bin/workspace/file/FileActionRuntime.d.ts.map +1 -0
- package/bin/workspace/file/FileActionRuntime.js +386 -0
- package/bin/workspace/file/FileActionRuntime.js.map +1 -0
- package/bin/workspace/file/FileAtomicWriter.d.ts +20 -0
- package/bin/workspace/file/FileAtomicWriter.d.ts.map +1 -0
- package/bin/workspace/file/FileAtomicWriter.js +50 -0
- package/bin/workspace/file/FileAtomicWriter.js.map +1 -0
- package/bin/workspace/file/FileEncoding.d.ts +34 -0
- package/bin/workspace/file/FileEncoding.d.ts.map +1 -0
- package/bin/workspace/file/FileEncoding.js +152 -0
- package/bin/workspace/file/FileEncoding.js.map +1 -0
- package/bin/workspace/file/FilePathPolicy.d.ts +26 -0
- package/bin/workspace/file/FilePathPolicy.d.ts.map +1 -0
- package/bin/workspace/file/FilePathPolicy.js +134 -0
- package/bin/workspace/file/FilePathPolicy.js.map +1 -0
- package/bin/workspace/file/FileToolError.d.ts +30 -0
- package/bin/workspace/file/FileToolError.d.ts.map +1 -0
- package/bin/workspace/file/FileToolError.js +78 -0
- package/bin/workspace/file/FileToolError.js.map +1 -0
- package/bin/workspace/search/SearchActionRuntime.d.ts +14 -0
- package/bin/workspace/search/SearchActionRuntime.d.ts.map +1 -0
- package/bin/workspace/search/SearchActionRuntime.js +359 -0
- package/bin/workspace/search/SearchActionRuntime.js.map +1 -0
- package/bin/workspace/search/SearchToolError.d.ts +26 -0
- package/bin/workspace/search/SearchToolError.d.ts.map +1 -0
- package/bin/workspace/search/SearchToolError.js +76 -0
- package/bin/workspace/search/SearchToolError.js.map +1 -0
- package/bin/{session/messages → workspace/store}/JsonlSessionMessageStore.d.ts +4 -31
- package/bin/workspace/store/JsonlSessionMessageStore.d.ts.map +1 -0
- package/bin/{session/messages → workspace/store}/JsonlSessionMessageStore.js +28 -63
- package/bin/workspace/store/JsonlSessionMessageStore.js.map +1 -0
- package/bin/workspace/store/LocalAgentStore.d.ts +43 -0
- package/bin/workspace/store/LocalAgentStore.d.ts.map +1 -0
- package/bin/workspace/store/LocalAgentStore.js +135 -0
- package/bin/workspace/store/LocalAgentStore.js.map +1 -0
- package/bin/workspace/store/LocalSessionStore.d.ts +38 -0
- package/bin/workspace/store/LocalSessionStore.d.ts.map +1 -0
- package/bin/workspace/store/LocalSessionStore.js +70 -0
- package/bin/workspace/store/LocalSessionStore.js.map +1 -0
- package/bin/workspace/store/LocalStorePaths.d.ts +81 -0
- package/bin/workspace/store/LocalStorePaths.d.ts.map +1 -0
- package/bin/workspace/store/LocalStorePaths.js +112 -0
- package/bin/workspace/store/LocalStorePaths.js.map +1 -0
- package/bin/workspace/store/SessionMessageStoreFactory.d.ts +12 -0
- package/bin/workspace/store/SessionMessageStoreFactory.d.ts.map +1 -0
- package/bin/workspace/store/SessionMessageStoreFactory.js +13 -0
- package/bin/workspace/store/SessionMessageStoreFactory.js.map +1 -0
- package/bin/workspace/tool/FileToolSchemas.d.ts +35 -0
- package/bin/workspace/tool/FileToolSchemas.d.ts.map +1 -0
- package/bin/workspace/tool/FileToolSchemas.js +73 -0
- package/bin/workspace/tool/FileToolSchemas.js.map +1 -0
- package/bin/workspace/tool/FileTools.d.ts +11 -0
- package/bin/workspace/tool/FileTools.d.ts.map +1 -0
- package/bin/workspace/tool/FileTools.js +61 -0
- package/bin/workspace/tool/FileTools.js.map +1 -0
- package/bin/workspace/tool/SearchToolSchemas.d.ts +24 -0
- package/bin/workspace/tool/SearchToolSchemas.d.ts.map +1 -0
- package/bin/workspace/tool/SearchToolSchemas.js +60 -0
- package/bin/workspace/tool/SearchToolSchemas.js.map +1 -0
- package/bin/workspace/tool/SearchTools.d.ts +11 -0
- package/bin/workspace/tool/SearchTools.d.ts.map +1 -0
- package/bin/workspace/tool/SearchTools.js +38 -0
- package/bin/workspace/tool/SearchTools.js.map +1 -0
- package/bin/workspace/tool/WorkspaceTools.d.ts +11 -0
- package/bin/workspace/tool/WorkspaceTools.d.ts.map +1 -0
- package/bin/workspace/tool/WorkspaceTools.js +22 -0
- package/bin/workspace/tool/WorkspaceTools.js.map +1 -0
- package/package.json +11 -6
- package/scripts/action-schedule-store.test.mjs +101 -0
- package/scripts/agent-env-shell-sandbox.test.mjs +9 -19
- package/scripts/agent-env.test.mjs +10 -39
- package/scripts/agent-ready.test.mjs +16 -11
- package/scripts/agent-session-maintenance.test.mjs +9 -7
- package/scripts/agent-store.test.mjs +83 -0
- package/scripts/city-model-tool-loop.test.mjs +48 -22
- package/scripts/core-engine-context-compaction.test.mjs +29 -26
- package/scripts/core-engine-ui-stream-collector.test.mjs +4 -4
- package/scripts/executor-failure-result.test.mjs +36 -33
- package/scripts/file-tools.test.mjs +282 -0
- package/scripts/image-plugin-job.test.mjs +43 -34
- package/scripts/logger-isolation.test.mjs +6 -6
- package/scripts/multi-agent-plugin-isolation.test.mjs +8 -8
- package/scripts/{plugin-tool-bridge.test.mjs → plugin-tools.test.mjs} +106 -102
- package/scripts/public-api-naming.test.mjs +108 -0
- package/scripts/remote-session-reconnect.test.mjs +78 -9
- package/scripts/search-tools.test.mjs +188 -0
- package/scripts/session-ask-question.test.mjs +216 -0
- package/scripts/session-compact-handle.test.mjs +117 -0
- package/scripts/session-composer.test.mjs +7 -5
- package/scripts/session-config-turn-boundary.test.mjs +177 -43
- package/scripts/session-list-title.test.mjs +23 -23
- package/scripts/session-message-timeline.test.mjs +65 -0
- package/scripts/session-messages-error.test.mjs +0 -1
- package/scripts/session-messages.test.mjs +305 -68
- package/scripts/session-queue.test.mjs +75 -40
- package/scripts/session-shell-approval.test.mjs +25 -22
- package/scripts/session-system-blocks.test.mjs +3 -3
- package/scripts/session-title-event.test.mjs +7 -7
- package/scripts/session-turn-context.test.mjs +99 -0
- package/scripts/session-turn-failure.test.mjs +158 -38
- package/scripts/workspace.test.mjs +146 -0
- package/src/agent/Agent.ts +159 -109
- package/src/agent/AgentInstructions.ts +2 -2
- package/src/agent/AgentModel.ts +2 -2
- package/src/agent/AgentSessions.ts +50 -148
- package/src/agent/AgentState.ts +8 -63
- package/src/executor/Executor.ts +120 -226
- package/src/executor/README.md +13 -11
- package/src/executor/composer/system/SessionSystemComposer.ts +2 -2
- package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +24 -24
- package/src/executor/composer/system/default/PromptRenderer.ts +4 -4
- package/src/executor/composer/system/default/SystemDomain.ts +68 -68
- package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
- package/src/executor/composer/system/default/assets/core.prompt.ts.txt +1 -1
- package/src/executor/composer/system/default/variables/GeoContext.ts +4 -4
- package/src/executor/composer/system/default/variables/PromptTypes.ts +2 -2
- package/src/executor/composer/system/default/variables/VariableReplacer.ts +30 -30
- package/src/executor/core-engine/CoreEngineError.ts +2 -2
- package/src/executor/core-engine/CoreEngineLoopDecision.ts +2 -2
- package/src/executor/core-engine/CoreEngineMessageState.ts +16 -16
- package/src/executor/core-engine/CoreEngineRunner.ts +124 -134
- package/src/executor/core-engine/CoreEngineSignals.ts +24 -24
- package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +18 -18
- package/src/executor/ids/resolveSessionId.ts +5 -5
- package/src/executor/messages/ChatMessageMarkup.ts +23 -23
- package/src/executor/messages/ChatMessageMarkupTypes.ts +10 -10
- package/src/executor/messages/SessionAttachmentMapper.ts +14 -14
- package/src/executor/messages/SessionMessageCodec.ts +17 -27
- package/src/executor/messages/SessionMessageLog.ts +3 -3
- package/src/executor/messages/SessionStepEventMapper.ts +9 -9
- package/src/executor/messages/UIMessageTransformer.ts +6 -6
- package/src/executor/messages/UserVisibleText.ts +6 -6
- package/src/executor/services/ExecutorRecoveryPolicy.ts +33 -32
- package/src/executor/types/SessionHistoryMeta.ts +10 -10
- package/src/executor/types/SessionRecords.ts +13 -13
- package/src/index.ts +108 -184
- package/src/plugin/core/ActionScheduleExecutor.ts +21 -23
- package/src/plugin/core/ActionScheduleRuntime.ts +8 -8
- package/src/plugin/core/ActionScheduleStore.ts +140 -128
- package/src/plugin/core/ActionScheduleTime.ts +6 -6
- package/src/plugin/core/BasePlugin.ts +6 -27
- package/src/plugin/core/HookRegistry.ts +56 -56
- package/src/plugin/core/PluginActionFactory.ts +20 -38
- package/src/plugin/core/PluginActionRunner.ts +21 -181
- package/src/plugin/core/PluginCatalog.ts +23 -23
- package/src/plugin/core/PluginContext.ts +52 -0
- package/src/plugin/core/PluginHttpRoutes.ts +8 -8
- package/src/plugin/core/PluginRegistry.ts +125 -88
- package/src/plugin/core/PluginStateController.ts +5 -47
- package/src/plugin/tool/PluginToolRuntime.ts +121 -0
- package/src/{executor/tools/plugin → plugin/tool}/PluginToolSchemas.ts +1 -1
- package/src/{executor/tools/plugin/PluginToolDefinition.ts → plugin/tool/PluginTools.ts} +25 -27
- package/src/plugin/types/ActionSchedule.ts +10 -10
- package/src/plugin/types/PluginApi.ts +3 -3
- package/src/remote/RemoteAgent.ts +3 -3
- package/src/remote/RemoteSession.ts +110 -28
- package/src/remote/RemoteTransport.ts +17 -20
- package/src/remote/transports/HttpRemoteAgentTransport.ts +59 -59
- package/src/remote/transports/RpcClient.ts +65 -106
- package/src/remote/transports/RpcRemoteAgentTransport.ts +21 -21
- package/src/session/DefaultSessionComposer.ts +2 -3
- package/src/session/Session.ts +352 -298
- package/src/session/SessionCommand.ts +42 -0
- package/src/session/SessionLoop.ts +661 -0
- package/src/session/SessionMessages.ts +141 -94
- package/src/session/SessionQueue.ts +31 -64
- package/src/session/SessionState.ts +48 -116
- package/src/session/SessionSystem.ts +7 -7
- package/src/session/SessionTitle.ts +24 -39
- package/src/session/browse/Browse.ts +160 -384
- package/src/session/browse/SessionMessageTimeline.ts +135 -0
- package/src/session/control/SessionInteractions.ts +290 -0
- package/src/session/execution/SessionAssistantOutputAdapter.ts +144 -0
- package/src/session/execution/tools/SessionShellApprovalAdapter.ts +94 -0
- package/src/session/messages/SessionAssistantMessageWriter.ts +33 -21
- package/src/session/messages/SessionJsonValue.ts +3 -3
- package/src/session/messages/SessionMessageCodec.ts +29 -84
- package/src/session/messages/SessionMessageCompaction.ts +2 -2
- package/src/session/messages/SessionMessageInteractionWriter.ts +277 -0
- package/src/session/preview/SessionMessagePreview.ts +2 -2
- package/src/session/runtime/SessionCompactOperation.ts +93 -0
- package/src/session/runtime/SessionHistoryCompaction.ts +45 -0
- package/src/session/runtime/SessionTurnContext.ts +222 -0
- package/src/session/storage/Metadata.ts +46 -195
- package/src/session/storage/RuntimeSessionPort.ts +13 -13
- package/src/tools/ask/AskQuestionsTool.ts +85 -0
- package/src/tools/ask/AskQuestionsToolSchemas.ts +55 -0
- package/src/tools/index.ts +12 -0
- package/src/types/action/ActionResult.ts +36 -0
- package/src/types/agent/AgentOptions.ts +13 -25
- package/src/types/agent/AgentState.ts +4 -15
- package/src/types/agent/RemoteAgentPluginAction.ts +2 -2
- package/src/types/agent/SessionActor.ts +21 -20
- package/src/types/agent/SessionTypes.ts +74 -94
- package/src/types/executor/SessionAssistantOutput.ts +35 -0
- package/src/types/executor/SessionToolExecutionContext.ts +5 -5
- package/src/types/executor/SessionTurnContext.ts +171 -0
- package/src/types/plugin/PluginAction.ts +13 -10
- package/src/types/plugin/PluginCommand.ts +8 -70
- package/src/types/plugin/PluginContext.ts +43 -0
- package/src/types/plugin/PluginDefinition.ts +8 -35
- package/src/types/plugin/PluginExecutionContext.ts +34 -0
- package/src/types/plugin/PluginHttp.ts +5 -5
- package/src/types/plugin/PluginRegistry.ts +25 -0
- package/src/types/plugin/PluginRuntime.ts +30 -43
- package/src/types/plugin/PluginState.ts +0 -17
- package/src/{executor/tools/plugin/types → types/plugin}/PluginTool.ts +42 -20
- package/src/types/rpc/RpcProtocol.ts +49 -74
- package/src/types/sdk/AgentSessionCompact.ts +36 -0
- package/src/types/sdk/AgentSessionPrompt.ts +1 -1
- package/src/types/sdk/AgentSessionStop.ts +2 -2
- package/src/types/sdk/AgentSessionTurn.ts +3 -15
- package/src/types/session/SessionCommand.ts +27 -0
- package/src/types/session/SessionComposer.ts +8 -4
- package/src/{executor/types/SessionRun.ts → types/session/SessionExecution.ts} +41 -34
- package/src/types/session/SessionInteraction.ts +209 -0
- package/src/types/session/SessionInteractions.ts +21 -0
- package/src/types/session/SessionLocalState.ts +1 -1
- package/src/types/session/SessionLoop.ts +72 -0
- package/src/types/session/SessionMessage.ts +43 -28
- package/src/types/session/SessionMessages.ts +2 -4
- package/src/types/session/SessionMutation.ts +21 -0
- package/src/types/session/SessionOptions.ts +38 -23
- package/src/types/session/SessionPort.ts +6 -24
- package/src/types/session/SessionState.ts +3 -16
- package/src/types/store/AgentStore.ts +52 -0
- package/src/types/store/LocalStore.ts +39 -0
- package/src/types/store/SessionStore.ts +105 -0
- package/src/types/tools/ask/AskQuestionsTool.ts +27 -0
- package/src/types/workspace/FileSystem.ts +76 -0
- package/src/types/workspace/FileTool.ts +225 -0
- package/src/types/workspace/SearchTool.ts +156 -0
- package/src/types/workspace/Workspace.ts +27 -0
- package/src/types/workspace/WorkspaceEnv.ts +19 -0
- package/src/types/workspace/WorkspaceTools.ts +23 -0
- package/src/utils/Id.ts +1 -1
- package/src/utils/Template.ts +1 -1
- package/src/utils/Time.ts +8 -8
- package/src/utils/cli/CliOutput.ts +7 -7
- package/src/utils/cli/PrettyStatus.ts +4 -4
- package/src/utils/logger/FormatRequest.ts +64 -64
- package/src/utils/logger/FormatResponse.ts +44 -44
- package/src/utils/logger/FormatShared.ts +28 -28
- package/src/utils/logger/Logger.ts +30 -26
- package/src/utils/object/DeepMerge.ts +5 -5
- package/src/utils/object/ObjectGuards.ts +1 -1
- package/src/utils/path/AncestorFiles.ts +3 -3
- package/src/utils/storage/index.ts +2 -2
- package/src/utils/string/EscapeRegExp.ts +1 -1
- package/src/workspace/LocalFileSystem.ts +209 -0
- package/src/workspace/Workspace.ts +180 -0
- package/src/workspace/WorkspaceEnv.ts +54 -0
- package/src/workspace/WorkspacePaths.ts +112 -0
- package/src/workspace/file/FileActionRuntime.ts +433 -0
- package/src/workspace/file/FileAtomicWriter.ts +61 -0
- package/src/workspace/file/FileEncoding.ts +175 -0
- package/src/workspace/file/FilePathPolicy.ts +162 -0
- package/src/workspace/file/FileToolError.ts +99 -0
- package/src/workspace/search/SearchActionRuntime.ts +438 -0
- package/src/workspace/search/SearchToolError.ts +94 -0
- package/src/{session/messages → workspace/store}/JsonlSessionMessageStore.ts +40 -91
- package/src/workspace/store/LocalAgentStore.ts +191 -0
- package/src/workspace/store/LocalSessionStore.ts +114 -0
- package/src/workspace/store/LocalStorePaths.ts +209 -0
- package/src/workspace/store/SessionMessageStoreFactory.ts +18 -0
- package/src/workspace/tool/FileToolSchemas.ts +77 -0
- package/src/workspace/tool/FileTools.ts +91 -0
- package/src/workspace/tool/SearchToolSchemas.ts +62 -0
- package/src/workspace/tool/SearchTools.ts +61 -0
- package/src/workspace/tool/WorkspaceTools.ts +31 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/agent/AgentContext.d.ts +0 -69
- package/bin/agent/AgentContext.d.ts.map +0 -1
- package/bin/agent/AgentContext.js +0 -56
- package/bin/agent/AgentContext.js.map +0 -1
- package/bin/config/AgentEnv.d.ts +0 -9
- package/bin/config/AgentEnv.d.ts.map +0 -1
- package/bin/config/AgentEnv.js +0 -48
- package/bin/config/AgentEnv.js.map +0 -1
- package/bin/config/AgentInitializer.d.ts +0 -31
- package/bin/config/AgentInitializer.d.ts.map +0 -1
- package/bin/config/AgentInitializer.js +0 -131
- package/bin/config/AgentInitializer.js.map +0 -1
- package/bin/config/EnvFile.d.ts +0 -31
- package/bin/config/EnvFile.d.ts.map +0 -1
- package/bin/config/EnvFile.js +0 -89
- package/bin/config/EnvFile.js.map +0 -1
- package/bin/config/ExecutionBinding.d.ts +0 -31
- package/bin/config/ExecutionBinding.d.ts.map +0 -1
- package/bin/config/ExecutionBinding.js +0 -46
- package/bin/config/ExecutionBinding.js.map +0 -1
- package/bin/config/Gitignore.d.ts +0 -21
- package/bin/config/Gitignore.d.ts.map +0 -1
- package/bin/config/Gitignore.js +0 -46
- package/bin/config/Gitignore.js.map +0 -1
- package/bin/config/Paths.d.ts +0 -122
- package/bin/config/Paths.d.ts.map +0 -1
- package/bin/config/Paths.js +0 -183
- package/bin/config/Paths.js.map +0 -1
- package/bin/config/PlatformPaths.d.ts +0 -31
- package/bin/config/PlatformPaths.d.ts.map +0 -1
- package/bin/config/PlatformPaths.js +0 -53
- package/bin/config/PlatformPaths.js.map +0 -1
- package/bin/config/ProjectSetup.d.ts +0 -11
- package/bin/config/ProjectSetup.d.ts.map +0 -1
- package/bin/config/ProjectSetup.js +0 -32
- package/bin/config/ProjectSetup.js.map +0 -1
- package/bin/executor/messages/AssistantFileResource.d.ts +0 -63
- package/bin/executor/messages/AssistantFileResource.d.ts.map +0 -1
- package/bin/executor/messages/AssistantFileResource.js +0 -352
- package/bin/executor/messages/AssistantFileResource.js.map +0 -1
- package/bin/executor/tools/file/ReadImageToolBridge.d.ts +0 -21
- package/bin/executor/tools/file/ReadImageToolBridge.d.ts.map +0 -1
- package/bin/executor/tools/file/ReadImageToolBridge.js +0 -69
- package/bin/executor/tools/file/ReadImageToolBridge.js.map +0 -1
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts +0 -19
- package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +0 -1
- package/bin/executor/tools/plugin/PluginToolBridge.js +0 -181
- package/bin/executor/tools/plugin/PluginToolBridge.js.map +0 -1
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +0 -25
- package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +0 -1
- package/bin/executor/tools/plugin/PluginToolDefinition.js.map +0 -1
- package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +0 -1
- package/bin/executor/tools/plugin/PluginToolSchemas.js.map +0 -1
- package/bin/executor/tools/plugin/types/PluginTool.d.ts +0 -76
- package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +0 -1
- package/bin/executor/tools/plugin/types/PluginTool.js.map +0 -1
- package/bin/executor/types/SessionExecutor.d.ts +0 -26
- package/bin/executor/types/SessionExecutor.d.ts.map +0 -1
- package/bin/executor/types/SessionExecutor.js +0 -9
- package/bin/executor/types/SessionExecutor.js.map +0 -1
- package/bin/executor/types/SessionRun.d.ts.map +0 -1
- package/bin/executor/types/SessionRun.js +0 -10
- package/bin/executor/types/SessionRun.js.map +0 -1
- package/bin/plugin/core/PluginCommand.d.ts +0 -17
- package/bin/plugin/core/PluginCommand.d.ts.map +0 -1
- package/bin/plugin/core/PluginCommand.js +0 -189
- package/bin/plugin/core/PluginCommand.js.map +0 -1
- package/bin/plugin/core/PluginCommandRequest.d.ts +0 -36
- package/bin/plugin/core/PluginCommandRequest.d.ts.map +0 -1
- package/bin/plugin/core/PluginCommandRequest.js +0 -53
- package/bin/plugin/core/PluginCommandRequest.js.map +0 -1
- package/bin/plugin/core/PluginLocalExecution.d.ts +0 -45
- package/bin/plugin/core/PluginLocalExecution.d.ts.map +0 -1
- package/bin/plugin/core/PluginLocalExecution.js +0 -115
- package/bin/plugin/core/PluginLocalExecution.js.map +0 -1
- package/bin/session/SessionTurn.d.ts +0 -84
- package/bin/session/SessionTurn.d.ts.map +0 -1
- package/bin/session/SessionTurn.js +0 -579
- package/bin/session/SessionTurn.js.map +0 -1
- package/bin/session/approval/SessionApprovalBroker.d.ts +0 -48
- package/bin/session/approval/SessionApprovalBroker.d.ts.map +0 -1
- package/bin/session/approval/SessionApprovalBroker.js +0 -126
- package/bin/session/approval/SessionApprovalBroker.js.map +0 -1
- package/bin/session/messages/JsonlSessionMessageStore.d.ts.map +0 -1
- package/bin/session/messages/JsonlSessionMessageStore.js.map +0 -1
- package/bin/session/storage/Instruction.d.ts +0 -16
- package/bin/session/storage/Instruction.d.ts.map +0 -1
- package/bin/session/storage/Instruction.js +0 -48
- package/bin/session/storage/Instruction.js.map +0 -1
- package/bin/session/storage/Paths.d.ts +0 -81
- package/bin/session/storage/Paths.d.ts.map +0 -1
- package/bin/session/storage/Paths.js +0 -112
- package/bin/session/storage/Paths.js.map +0 -1
- package/bin/types/common/EnvFile.d.ts +0 -30
- package/bin/types/common/EnvFile.d.ts.map +0 -1
- package/bin/types/common/EnvFile.js +0 -10
- package/bin/types/common/EnvFile.js.map +0 -1
- package/bin/types/config/AgentProject.d.ts +0 -73
- package/bin/types/config/AgentProject.d.ts.map +0 -1
- package/bin/types/config/AgentProject.js +0 -9
- package/bin/types/config/AgentProject.js.map +0 -1
- package/bin/types/config/DowncityConfig.d.ts +0 -145
- package/bin/types/config/DowncityConfig.d.ts.map +0 -1
- package/bin/types/config/DowncityConfig.js +0 -2
- package/bin/types/config/DowncityConfig.js.map +0 -1
- package/bin/types/config/ExecutionBinding.d.ts +0 -26
- package/bin/types/config/ExecutionBinding.d.ts.map +0 -1
- package/bin/types/config/ExecutionBinding.js +0 -10
- package/bin/types/config/ExecutionBinding.js.map +0 -1
- package/bin/types/config/LlmConfig.d.ts +0 -100
- package/bin/types/config/LlmConfig.d.ts.map +0 -1
- package/bin/types/config/LlmConfig.js +0 -10
- package/bin/types/config/LlmConfig.js.map +0 -1
- package/bin/types/executor/SessionRunContext.d.ts +0 -155
- package/bin/types/executor/SessionRunContext.d.ts.map +0 -1
- package/bin/types/executor/SessionRunContext.js +0 -10
- package/bin/types/executor/SessionRunContext.js.map +0 -1
- package/bin/types/platform/Store.d.ts +0 -191
- package/bin/types/platform/Store.d.ts.map +0 -1
- package/bin/types/platform/Store.js +0 -9
- package/bin/types/platform/Store.js.map +0 -1
- package/bin/types/plugin/PluginConfig.d.ts +0 -12
- package/bin/types/plugin/PluginConfig.d.ts.map +0 -1
- package/bin/types/plugin/PluginConfig.js +0 -5
- package/bin/types/plugin/PluginConfig.js.map +0 -1
- package/bin/types/plugin/PluginControl.d.ts +0 -74
- package/bin/types/plugin/PluginControl.d.ts.map +0 -1
- package/bin/types/plugin/PluginControl.js +0 -9
- package/bin/types/plugin/PluginControl.js.map +0 -1
- package/bin/types/plugin/PluginRunContext.d.ts +0 -26
- package/bin/types/plugin/PluginRunContext.d.ts.map +0 -1
- package/bin/types/plugin/PluginRunContext.js.map +0 -1
- package/bin/types/plugin/PluginSetup.d.ts +0 -133
- package/bin/types/plugin/PluginSetup.d.ts.map +0 -1
- package/bin/types/plugin/PluginSetup.js +0 -9
- package/bin/types/plugin/PluginSetup.js.map +0 -1
- package/bin/types/plugin/PluginToolRuntime.d.ts +0 -86
- package/bin/types/plugin/PluginToolRuntime.d.ts.map +0 -1
- package/bin/types/plugin/PluginToolRuntime.js +0 -9
- package/bin/types/plugin/PluginToolRuntime.js.map +0 -1
- package/bin/types/runtime/auth/AuthPermission.d.ts +0 -49
- package/bin/types/runtime/auth/AuthPermission.d.ts.map +0 -1
- package/bin/types/runtime/auth/AuthPermission.js +0 -87
- package/bin/types/runtime/auth/AuthPermission.js.map +0 -1
- package/bin/types/runtime/auth/AuthRoute.d.ts +0 -29
- package/bin/types/runtime/auth/AuthRoute.d.ts.map +0 -1
- package/bin/types/runtime/auth/AuthRoute.js +0 -8
- package/bin/types/runtime/auth/AuthRoute.js.map +0 -1
- package/bin/types/runtime/auth/AuthToken.d.ts +0 -46
- package/bin/types/runtime/auth/AuthToken.d.ts.map +0 -1
- package/bin/types/runtime/auth/AuthToken.js +0 -9
- package/bin/types/runtime/auth/AuthToken.js.map +0 -1
- package/bin/types/runtime/auth/AuthTypes.d.ts +0 -227
- package/bin/types/runtime/auth/AuthTypes.d.ts.map +0 -1
- package/bin/types/runtime/auth/AuthTypes.js +0 -9
- package/bin/types/runtime/auth/AuthTypes.js.map +0 -1
- package/bin/types/runtime/http/InlineInstant.d.ts +0 -82
- package/bin/types/runtime/http/InlineInstant.d.ts.map +0 -1
- package/bin/types/runtime/http/InlineInstant.js +0 -10
- package/bin/types/runtime/http/InlineInstant.js.map +0 -1
- package/bin/types/runtime/platform/Platform.d.ts +0 -362
- package/bin/types/runtime/platform/Platform.d.ts.map +0 -1
- package/bin/types/runtime/platform/Platform.js +0 -10
- package/bin/types/runtime/platform/Platform.js.map +0 -1
- package/bin/types/runtime/platform/PlatformGateway.d.ts +0 -41
- package/bin/types/runtime/platform/PlatformGateway.d.ts.map +0 -1
- package/bin/types/runtime/platform/PlatformGateway.js +0 -2
- package/bin/types/runtime/platform/PlatformGateway.js.map +0 -1
- package/bin/types/session/SessionApproval.d.ts +0 -63
- package/bin/types/session/SessionApproval.d.ts.map +0 -1
- package/bin/types/session/SessionApproval.js +0 -7
- package/bin/types/session/SessionApproval.js.map +0 -1
- package/bin/types/session/SessionApprovalBroker.d.ts +0 -17
- package/bin/types/session/SessionApprovalBroker.d.ts.map +0 -1
- package/bin/types/session/SessionApprovalBroker.js +0 -7
- package/bin/types/session/SessionApprovalBroker.js.map +0 -1
- package/bin/types/session/SessionInstruction.d.ts +0 -22
- package/bin/types/session/SessionInstruction.d.ts.map +0 -1
- package/bin/types/session/SessionInstruction.js +0 -9
- package/bin/types/session/SessionInstruction.js.map +0 -1
- package/bin/types/session/SessionQueue.d.ts +0 -88
- package/bin/types/session/SessionQueue.d.ts.map +0 -1
- package/bin/types/session/SessionQueue.js +0 -7
- package/bin/types/session/SessionQueue.js.map +0 -1
- package/bin/types/session/SessionTurn.d.ts +0 -52
- package/bin/types/session/SessionTurn.d.ts.map +0 -1
- package/bin/types/session/SessionTurn.js.map +0 -1
- package/scripts/assistant-file-resource.test.mjs +0 -344
- package/scripts/read-image-tool-bridge.test.mjs +0 -71
- package/src/agent/AgentContext.ts +0 -98
- package/src/config/AgentEnv.ts +0 -49
- package/src/config/AgentInitializer.ts +0 -167
- package/src/config/EnvFile.ts +0 -99
- package/src/config/ExecutionBinding.ts +0 -50
- package/src/config/Gitignore.ts +0 -52
- package/src/config/Paths.ts +0 -241
- package/src/config/PlatformPaths.ts +0 -57
- package/src/config/ProjectSetup.ts +0 -44
- package/src/executor/messages/AssistantFileResource.ts +0 -446
- package/src/executor/tools/file/ReadImageToolBridge.ts +0 -79
- package/src/executor/tools/plugin/PluginToolBridge.ts +0 -212
- package/src/executor/types/SessionExecutor.ts +0 -34
- package/src/plugin/core/PluginCommand.ts +0 -230
- package/src/plugin/core/PluginCommandRequest.ts +0 -93
- package/src/plugin/core/PluginLocalExecution.ts +0 -154
- package/src/session/SessionTurn.ts +0 -669
- package/src/session/approval/SessionApprovalBroker.ts +0 -164
- package/src/session/storage/Instruction.ts +0 -72
- package/src/session/storage/Paths.ts +0 -209
- package/src/types/common/EnvFile.ts +0 -31
- package/src/types/config/AgentProject.ts +0 -85
- package/src/types/config/DowncityConfig.ts +0 -153
- package/src/types/config/ExecutionBinding.ts +0 -27
- package/src/types/config/LlmConfig.ts +0 -115
- package/src/types/executor/SessionRunContext.ts +0 -191
- package/src/types/platform/Store.ts +0 -197
- package/src/types/plugin/PluginConfig.ts +0 -13
- package/src/types/plugin/PluginControl.ts +0 -80
- package/src/types/plugin/PluginRunContext.ts +0 -31
- package/src/types/plugin/PluginSetup.ts +0 -138
- package/src/types/plugin/PluginToolRuntime.ts +0 -98
- package/src/types/runtime/auth/AuthPermission.ts +0 -120
- package/src/types/runtime/auth/AuthRoute.ts +0 -31
- package/src/types/runtime/auth/AuthToken.ts +0 -47
- package/src/types/runtime/auth/AuthTypes.ts +0 -235
- package/src/types/runtime/http/InlineInstant.ts +0 -96
- package/src/types/runtime/platform/Platform.ts +0 -432
- package/src/types/runtime/platform/PlatformGateway.ts +0 -46
- package/src/types/session/SessionApproval.ts +0 -69
- package/src/types/session/SessionApprovalBroker.ts +0 -18
- package/src/types/session/SessionInstruction.ts +0 -24
- package/src/types/session/SessionQueue.ts +0 -102
- package/src/types/session/SessionTurn.ts +0 -56
- /package/bin/{executor/tools/plugin/types → types/plugin}/PluginTool.js +0 -0
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
* SDK Session 元数据辅助。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - 统一负责 `.downcity/agents/<
|
|
5
|
+
* - 统一负责 `.downcity/agents/<agent_id>/sessions/<session_id>/messages/meta.json` 的规范化读取。
|
|
6
6
|
* - 仅处理轻量配置摘要与索引信息,不负责消息 JSONL 的读写。
|
|
7
7
|
*/
|
|
8
|
-
import fs from "fs-extra";
|
|
9
|
-
import { inferAgentModelLabel, } from "../../agent/AgentModel.js";
|
|
10
|
-
import { getSdkAgentSessionMetaPath } from "../../session/storage/Paths.js";
|
|
11
8
|
function normalizeModelLabel(input) {
|
|
12
9
|
const label = typeof input === "string" ? input.trim() : "";
|
|
13
10
|
return label || undefined;
|
|
@@ -15,14 +12,14 @@ function normalizeModelLabel(input) {
|
|
|
15
12
|
/**
|
|
16
13
|
* 归一化 session 标题。
|
|
17
14
|
*/
|
|
18
|
-
export function
|
|
15
|
+
export function normalize_session_title(input) {
|
|
19
16
|
const title = typeof input === "string" ? input.trim() : "";
|
|
20
17
|
return title || undefined;
|
|
21
18
|
}
|
|
22
19
|
/**
|
|
23
20
|
* 读取当前系统时区。
|
|
24
21
|
*/
|
|
25
|
-
export function
|
|
22
|
+
export function resolve_system_timezone() {
|
|
26
23
|
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
27
24
|
return typeof timezone === "string" && timezone.trim()
|
|
28
25
|
? timezone.trim()
|
|
@@ -46,23 +43,6 @@ function normalize_history_bytes(input) {
|
|
|
46
43
|
? input
|
|
47
44
|
: undefined;
|
|
48
45
|
}
|
|
49
|
-
/**
|
|
50
|
-
* 从模型实例推导轻量可读标签。
|
|
51
|
-
*/
|
|
52
|
-
export function inferModelLabel(model) {
|
|
53
|
-
return inferAgentModelLabel(model);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* 读取当前 session 的 meta.json。
|
|
57
|
-
*/
|
|
58
|
-
export async function readSessionMetadata(input) {
|
|
59
|
-
const filePath = getSdkAgentSessionMetaPath(input.projectRoot, input.agentId, input.sessionId);
|
|
60
|
-
return await readSessionMetadataFromPath({
|
|
61
|
-
filePath,
|
|
62
|
-
sessionId: input.sessionId,
|
|
63
|
-
agentId: input.agentId,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
46
|
/**
|
|
67
47
|
* 从指定路径读取 session meta.json。
|
|
68
48
|
*
|
|
@@ -70,108 +50,43 @@ export async function readSessionMetadata(input) {
|
|
|
70
50
|
* - 供归档 session 等需要脱离默认 `sessions/` 目录的场景复用。
|
|
71
51
|
* - 路径本身不做校验,调用方需保证可访问。
|
|
72
52
|
*/
|
|
73
|
-
export async function
|
|
53
|
+
export async function read_session_metadata_from_path(input) {
|
|
74
54
|
try {
|
|
75
|
-
const raw = (await
|
|
76
|
-
return
|
|
77
|
-
v: 1,
|
|
78
|
-
sessionId: input.sessionId,
|
|
79
|
-
agentId: input.agentId,
|
|
80
|
-
createdAt: typeof raw.createdAt === "number" && Number.isFinite(raw.createdAt)
|
|
81
|
-
? raw.createdAt
|
|
82
|
-
: Date.now(),
|
|
83
|
-
timezone: normalizeTimezone(raw.timezone) || resolveSystemTimezone(),
|
|
84
|
-
updatedAt: typeof raw.updatedAt === "number" && Number.isFinite(raw.updatedAt)
|
|
85
|
-
? raw.updatedAt
|
|
86
|
-
: 0,
|
|
87
|
-
...(normalizeSessionTitle(raw.title)
|
|
88
|
-
? { title: normalizeSessionTitle(raw.title) }
|
|
89
|
-
: {}),
|
|
90
|
-
...(normalizeModelLabel(raw.modelLabel)
|
|
91
|
-
? { modelLabel: normalizeModelLabel(raw.modelLabel) }
|
|
92
|
-
: {}),
|
|
93
|
-
...(normalize_message_count(raw.messageCount) !== undefined
|
|
94
|
-
? { messageCount: normalize_message_count(raw.messageCount) }
|
|
95
|
-
: {}),
|
|
96
|
-
...(normalize_preview_text(raw.previewText)
|
|
97
|
-
? { previewText: normalize_preview_text(raw.previewText) }
|
|
98
|
-
: {}),
|
|
99
|
-
...(normalize_history_bytes(raw.historyBytes) !== undefined
|
|
100
|
-
? { historyBytes: normalize_history_bytes(raw.historyBytes) }
|
|
101
|
-
: {}),
|
|
102
|
-
};
|
|
55
|
+
const raw = JSON.parse((await input.files.read_file(input.filePath)).toString("utf8"));
|
|
56
|
+
return normalize_session_metadata(raw, input.session_id, input.agent_id);
|
|
103
57
|
}
|
|
104
58
|
catch {
|
|
105
|
-
return {
|
|
106
|
-
v: 1,
|
|
107
|
-
sessionId: input.sessionId,
|
|
108
|
-
agentId: input.agentId,
|
|
109
|
-
createdAt: Date.now(),
|
|
110
|
-
timezone: resolveSystemTimezone(),
|
|
111
|
-
updatedAt: 0,
|
|
112
|
-
};
|
|
59
|
+
return normalize_session_metadata({}, input.session_id, input.agent_id);
|
|
113
60
|
}
|
|
114
61
|
}
|
|
115
|
-
/**
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
...current,
|
|
131
|
-
agentId: input.agentId,
|
|
132
|
-
createdAt: typeof current.createdAt === "number" ? current.createdAt : Date.now(),
|
|
133
|
-
timezone: normalizeTimezone(current.timezone) || resolveSystemTimezone(),
|
|
134
|
-
updatedAt: Date.now(),
|
|
135
|
-
...(modelLabel
|
|
136
|
-
? {
|
|
137
|
-
modelLabel,
|
|
138
|
-
}
|
|
62
|
+
/** 将未知 Metadata 内容规范化为当前 Session 的稳定结构。 */
|
|
63
|
+
export function normalize_session_metadata(raw, session_id, agent_id) {
|
|
64
|
+
return {
|
|
65
|
+
v: 1,
|
|
66
|
+
session_id: session_id,
|
|
67
|
+
agent_id: agent_id,
|
|
68
|
+
created_at: typeof raw.created_at === "number" && Number.isFinite(raw.created_at)
|
|
69
|
+
? raw.created_at
|
|
70
|
+
: Date.now(),
|
|
71
|
+
timezone: normalizeTimezone(raw.timezone) || resolve_system_timezone(),
|
|
72
|
+
updated_at: typeof raw.updated_at === "number" && Number.isFinite(raw.updated_at)
|
|
73
|
+
? raw.updated_at
|
|
74
|
+
: 0,
|
|
75
|
+
...(normalize_session_title(raw.title)
|
|
76
|
+
? { title: normalize_session_title(raw.title) }
|
|
139
77
|
: {}),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
return next;
|
|
146
|
-
}
|
|
147
|
-
/** 根据 canonical Message 统计刷新当前 Session metadata。 */
|
|
148
|
-
export async function touchSessionMetadata(params) {
|
|
149
|
-
const current = await readSessionMetadata({
|
|
150
|
-
projectRoot: params.projectRoot,
|
|
151
|
-
agentId: params.agentId,
|
|
152
|
-
sessionId: params.sessionId,
|
|
153
|
-
});
|
|
154
|
-
const next = {
|
|
155
|
-
...current,
|
|
156
|
-
agentId: params.agentId,
|
|
157
|
-
createdAt: typeof current.createdAt === "number" ? current.createdAt : Date.now(),
|
|
158
|
-
updatedAt: Date.now(),
|
|
159
|
-
...(params.sessionConfig.modelLabel
|
|
160
|
-
? { modelLabel: params.sessionConfig.modelLabel }
|
|
78
|
+
...(normalizeModelLabel(raw.model_label)
|
|
79
|
+
? { model_label: normalizeModelLabel(raw.model_label) }
|
|
80
|
+
: {}),
|
|
81
|
+
...(normalize_message_count(raw.message_count) !== undefined
|
|
82
|
+
? { message_count: normalize_message_count(raw.message_count) }
|
|
161
83
|
: {}),
|
|
162
|
-
...(
|
|
163
|
-
? {
|
|
84
|
+
...(normalize_preview_text(raw.preview_text)
|
|
85
|
+
? { preview_text: normalize_preview_text(raw.preview_text) }
|
|
164
86
|
: {}),
|
|
165
|
-
...(
|
|
166
|
-
? { historyBytes:
|
|
87
|
+
...(normalize_history_bytes(raw.historyBytes) !== undefined
|
|
88
|
+
? { historyBytes: normalize_history_bytes(raw.historyBytes) }
|
|
167
89
|
: {}),
|
|
168
|
-
...(params.preview_text ? { previewText: params.preview_text } : {}),
|
|
169
90
|
};
|
|
170
|
-
await writeSessionMetadata({
|
|
171
|
-
projectRoot: params.projectRoot,
|
|
172
|
-
agentId: params.agentId,
|
|
173
|
-
sessionId: params.sessionId,
|
|
174
|
-
meta: next,
|
|
175
|
-
});
|
|
176
91
|
}
|
|
177
92
|
//# sourceMappingURL=Metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/session/storage/Metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/session/storage/Metadata.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAClE,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;QACpD,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjB,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,OAAO,QAAQ,IAAI,SAAS,CAAC;AAC/B,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QACvE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,YAAY,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,OAAO,YAAY,IAAI,SAAS,CAAC;AACnC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QACvE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,KASrD;IACC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC9B,CAAC;QACnC,OAAO,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,0BAA0B,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,0BAA0B,CACxC,GAAkC,EAClC,UAAkB,EAClB,QAAgB;IAEhB,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EACR,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;YACnE,CAAC,CAAC,GAAG,CAAC,UAAU;YAChB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QAChB,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,uBAAuB,EAAE;QACtE,UAAU,EACR,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;YACnE,CAAC,CAAC,GAAG,CAAC,UAAU;YAChB,CAAC,CAAC,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,EAAE,KAAK,EAAE,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC;YACtC,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACvD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,SAAS;YAC1D,CAAC,CAAC,EAAE,aAAa,EAAE,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC/D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,EAAE,YAAY,EAAE,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS;YACzD,CAAC,CAAC,EAAE,YAAY,EAAE,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -15,15 +15,15 @@ import type { AgentSessionTurnHandle } from "../../types/sdk/AgentSessionTurn.js
|
|
|
15
15
|
*/
|
|
16
16
|
export interface CreateRuntimeSessionPortParams {
|
|
17
17
|
/**
|
|
18
|
-
* 当前
|
|
18
|
+
* 当前 session_id。
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
session_id: string;
|
|
21
21
|
/** 获取当前 Session 优先解析后的运行时模型实例。 */
|
|
22
|
-
|
|
22
|
+
get_model: SessionPort["get_model"];
|
|
23
23
|
/**
|
|
24
24
|
* 读取当前 session 底层执行端口。
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
get_executor: SessionPort["get_executor"];
|
|
27
27
|
/**
|
|
28
28
|
* 追加一条新的 session prompt。
|
|
29
29
|
*/
|
|
@@ -47,16 +47,16 @@ export interface CreateRuntimeSessionPortParams {
|
|
|
47
47
|
/**
|
|
48
48
|
* 返回当前 session 是否正在执行。
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
is_executing: () => boolean;
|
|
51
51
|
/** 读取当前 Session 的只读上下文快照。 */
|
|
52
52
|
context: SessionPort["context"];
|
|
53
53
|
/**
|
|
54
54
|
* 在执行前确保当前 session 已完成初始化与宿主级配置。
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
ensure_ready_for_execution: () => Promise<void>;
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* 创建供 plugin runtime 使用的 session 端口。
|
|
60
60
|
*/
|
|
61
|
-
export declare function
|
|
61
|
+
export declare function create_runtime_session_port(params: CreateRuntimeSessionPortParams): SessionPort;
|
|
62
62
|
//# sourceMappingURL=RuntimeSessionPort.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeSessionPort.d.ts","sourceRoot":"","sources":["../../../src/session/storage/RuntimeSessionPort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"RuntimeSessionPort.d.ts","sourceRoot":"","sources":["../../../src/session/storage/RuntimeSessionPort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACpC;;OAEG;IACH,YAAY,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5E;;OAEG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5C;;OAEG;IACH,SAAS,EAAE,CACT,UAAU,EAAE,yBAAyB,KAClC,0BAA0B,CAAC;IAChC;;OAEG;IACH,mBAAmB,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACxD;;OAEG;IACH,wBAAwB,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAClE;;OAEG;IACH,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC;;OAEG;IACH,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,8BAA8B,GACrC,WAAW,CAyBb"}
|
|
@@ -8,18 +8,18 @@
|
|
|
8
8
|
/**
|
|
9
9
|
* 创建供 plugin runtime 使用的 session 端口。
|
|
10
10
|
*/
|
|
11
|
-
export function
|
|
11
|
+
export function create_runtime_session_port(params) {
|
|
12
12
|
return {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
session_id: params.session_id,
|
|
14
|
+
get_model: () => params.get_model(),
|
|
15
|
+
get_executor: () => params.get_executor(),
|
|
16
16
|
context: async () => await params.context(),
|
|
17
17
|
prompt: async (input) => {
|
|
18
|
-
await params.
|
|
18
|
+
await params.ensure_ready_for_execution();
|
|
19
19
|
return await params.prompt(input);
|
|
20
20
|
},
|
|
21
21
|
stop: async () => {
|
|
22
|
-
await params.
|
|
22
|
+
await params.ensure_ready_for_execution();
|
|
23
23
|
return await params.stop();
|
|
24
24
|
},
|
|
25
25
|
subscribe: (subscriber) => {
|
|
@@ -31,7 +31,7 @@ export function createRuntimeSessionPort(params) {
|
|
|
31
31
|
append_assistant_message: async (messageParams) => {
|
|
32
32
|
await params.append_assistant_message(messageParams);
|
|
33
33
|
},
|
|
34
|
-
|
|
34
|
+
is_executing: () => params.is_executing(),
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
//# sourceMappingURL=RuntimeSessionPort.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuntimeSessionPort.js","sourceRoot":"","sources":["../../../src/session/storage/RuntimeSessionPort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2DH;;GAEG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"RuntimeSessionPort.js","sourceRoot":"","sources":["../../../src/session/storage/RuntimeSessionPort.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2DH;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAsC;IAEtC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;QACnC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QACzC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE;QAC3C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,MAAM,CAAC,0BAA0B,EAAE,CAAC;YAC1C,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,MAAM,CAAC,0BAA0B,EAAE,CAAC;YAC1C,OAAO,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE;YACxB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QACD,mBAAmB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAC3C,MAAM,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QACD,wBAAwB,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;YAChD,MAAM,MAAM,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC;QACD,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ask_question 可选 Tool。
|
|
3
|
+
*
|
|
4
|
+
* 该 Tool 只负责把模型的结构化 Tool Call 映射到当前 Session 的 Question
|
|
5
|
+
* Interaction。Session 是交互状态和生命周期的唯一拥有者;Tool 等待 Session 返回终态,
|
|
6
|
+
* 再把用户答案作为 Tool Result 交回同一 Turn 的后续模型 Step。
|
|
7
|
+
*/
|
|
8
|
+
import type { AskQuestionsToolOutput } from "../../types/tools/ask/AskQuestionsTool.js";
|
|
9
|
+
import type { ActionResult } from "../../types/action/ActionResult.js";
|
|
10
|
+
/**
|
|
11
|
+
* 由调用方显式注册、按当前 Session Turn 上下文执行的提问 Tool。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* new Agent({
|
|
16
|
+
* tools: {
|
|
17
|
+
* ask_question: AskQuestionsTool,
|
|
18
|
+
* },
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const AskQuestionsTool: import("ai").Tool<{
|
|
23
|
+
title: string;
|
|
24
|
+
questions: ({
|
|
25
|
+
question_id: string;
|
|
26
|
+
prompt: string;
|
|
27
|
+
response_type: "text";
|
|
28
|
+
} | {
|
|
29
|
+
question_id: string;
|
|
30
|
+
prompt: string;
|
|
31
|
+
response_type: "single_select" | "multi_select";
|
|
32
|
+
options: {
|
|
33
|
+
value: string;
|
|
34
|
+
label: string;
|
|
35
|
+
description?: string | undefined;
|
|
36
|
+
}[];
|
|
37
|
+
})[];
|
|
38
|
+
}, ActionResult<AskQuestionsToolOutput>>;
|
|
39
|
+
//# sourceMappingURL=AskQuestionsTool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskQuestionsTool.d.ts","sourceRoot":"","sources":["../../../src/tools/ask/AskQuestionsTool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAEV,sBAAsB,EACvB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;wCAsD3B,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ask_question 可选 Tool。
|
|
3
|
+
*
|
|
4
|
+
* 该 Tool 只负责把模型的结构化 Tool Call 映射到当前 Session 的 Question
|
|
5
|
+
* Interaction。Session 是交互状态和生命周期的唯一拥有者;Tool 等待 Session 返回终态,
|
|
6
|
+
* 再把用户答案作为 Tool Result 交回同一 Turn 的后续模型 Step。
|
|
7
|
+
*/
|
|
8
|
+
import { tool } from "ai";
|
|
9
|
+
import { ask_questions_input_schema } from "./AskQuestionsToolSchemas.js";
|
|
10
|
+
import { generate_id } from "../../utils/Id.js";
|
|
11
|
+
/**
|
|
12
|
+
* 由调用方显式注册、按当前 Session Turn 上下文执行的提问 Tool。
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* new Agent({
|
|
17
|
+
* tools: {
|
|
18
|
+
* ask_question: AskQuestionsTool,
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export const AskQuestionsTool = tool({
|
|
24
|
+
description: "Ask the user one or more questions when missing information would materially change the outcome. The call waits for every answer, then returns them so you can continue the same task. Do not use it for information that can be inferred safely.",
|
|
25
|
+
inputSchema: ask_questions_input_schema,
|
|
26
|
+
execute: async (input, execution_options) => {
|
|
27
|
+
const execution_context = execution_options.experimental_context;
|
|
28
|
+
const turn_context = execution_context?.session_turn_context;
|
|
29
|
+
const interaction_port = turn_context?.interactions;
|
|
30
|
+
const turn_id = String(turn_context?.session.turn_id || "").trim();
|
|
31
|
+
const tool_call_id = String(execution_options.toolCallId || "").trim();
|
|
32
|
+
if (!interaction_port || !turn_id || !tool_call_id) {
|
|
33
|
+
throw new Error("ask_question requires an active Session tool execution context");
|
|
34
|
+
}
|
|
35
|
+
const handle = await interaction_port.request({
|
|
36
|
+
interaction_id: `interaction:${generate_id()}`,
|
|
37
|
+
turn_id,
|
|
38
|
+
kind: "question",
|
|
39
|
+
source: {
|
|
40
|
+
type: "tool",
|
|
41
|
+
tool_call_id,
|
|
42
|
+
tool_name: "ask_question",
|
|
43
|
+
},
|
|
44
|
+
title: input.title,
|
|
45
|
+
questions: input.questions,
|
|
46
|
+
created_at: Date.now(),
|
|
47
|
+
});
|
|
48
|
+
const result = await handle.result;
|
|
49
|
+
if (result.status === "cancelled") {
|
|
50
|
+
throw new Error(`ask_question was cancelled: ${result.reason}`);
|
|
51
|
+
}
|
|
52
|
+
if (result.status === "expired") {
|
|
53
|
+
throw new Error("ask_question expired before the user responded");
|
|
54
|
+
}
|
|
55
|
+
if (result.response.kind !== "question") {
|
|
56
|
+
throw new Error("ask_question received an incompatible Interaction response");
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
output: {
|
|
60
|
+
status: "resolved",
|
|
61
|
+
answers: result.response.answers,
|
|
62
|
+
},
|
|
63
|
+
messages: [],
|
|
64
|
+
};
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=AskQuestionsTool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskQuestionsTool.js","sourceRoot":"","sources":["../../../src/tools/ask/AskQuestionsTool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAA6B,MAAM,IAAI,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAM1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC;IACnC,WAAW,EACT,mPAAmP;IACrP,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,KAAK,EACZ,KAA4B,EAC5B,iBAAuC,EACQ,EAAE;QACjD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,oBAE/B,CAAC;QACd,MAAM,YAAY,GAAG,iBAAiB,EAAE,oBAAoB,CAAC;QAC7D,MAAM,gBAAgB,GAAG,YAAY,EAAE,YAAY,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC;YAC5C,cAAc,EAAE,eAAe,WAAW,EAAE,EAAE;YAC9C,OAAO;YACP,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,YAAY;gBACZ,SAAS,EAAE,cAAc;aAC1B;YACD,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;SACvB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QACD,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO;aACjC;YACD,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ask_question Tool 输入 Schema。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文):文本问题不接受候选项;单选和多选问题必须提供至少一个候选项,
|
|
5
|
+
* 从模型输入边界消除无法渲染或无法校验的 Question Interaction。
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/** ask_question Tool 的运行时输入校验 Schema。 */
|
|
9
|
+
export declare const ask_questions_input_schema: z.ZodObject<{
|
|
10
|
+
title: z.ZodString;
|
|
11
|
+
questions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
12
|
+
question_id: z.ZodString;
|
|
13
|
+
prompt: z.ZodString;
|
|
14
|
+
response_type: z.ZodLiteral<"text">;
|
|
15
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
16
|
+
question_id: z.ZodString;
|
|
17
|
+
prompt: z.ZodString;
|
|
18
|
+
response_type: z.ZodEnum<{
|
|
19
|
+
single_select: "single_select";
|
|
20
|
+
multi_select: "multi_select";
|
|
21
|
+
}>;
|
|
22
|
+
options: z.ZodArray<z.ZodObject<{
|
|
23
|
+
value: z.ZodString;
|
|
24
|
+
label: z.ZodString;
|
|
25
|
+
description: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, z.core.$strict>>;
|
|
27
|
+
}, z.core.$strict>], "response_type">>;
|
|
28
|
+
}, z.core.$strict>;
|
|
29
|
+
//# sourceMappingURL=AskQuestionsToolSchemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskQuestionsToolSchemas.d.ts","sourceRoot":"","sources":["../../../src/tools/ask/AskQuestionsToolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkCxB,yCAAyC;AACzC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;kBAY5B,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ask_question Tool 输入 Schema。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文):文本问题不接受候选项;单选和多选问题必须提供至少一个候选项,
|
|
5
|
+
* 从模型输入边界消除无法渲染或无法校验的 Question Interaction。
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
const option_schema = z
|
|
9
|
+
.object({
|
|
10
|
+
value: z.string().trim().min(1)
|
|
11
|
+
.describe("Stable option value returned in the answer."),
|
|
12
|
+
label: z.string().trim().min(1).describe("User-visible option label."),
|
|
13
|
+
description: z.string().trim().min(1).optional()
|
|
14
|
+
.describe("Optional explanation of this option."),
|
|
15
|
+
})
|
|
16
|
+
.strict();
|
|
17
|
+
const text_question_schema = z
|
|
18
|
+
.object({
|
|
19
|
+
question_id: z.string().trim().min(1)
|
|
20
|
+
.describe("Stable question identifier unique within this request."),
|
|
21
|
+
prompt: z.string().trim().min(1)
|
|
22
|
+
.describe("Complete question shown to the user."),
|
|
23
|
+
response_type: z.literal("text"),
|
|
24
|
+
})
|
|
25
|
+
.strict();
|
|
26
|
+
const select_question_schema = z
|
|
27
|
+
.object({
|
|
28
|
+
question_id: z.string().trim().min(1)
|
|
29
|
+
.describe("Stable question identifier unique within this request."),
|
|
30
|
+
prompt: z.string().trim().min(1)
|
|
31
|
+
.describe("Complete question shown to the user."),
|
|
32
|
+
response_type: z.enum(["single_select", "multi_select"]),
|
|
33
|
+
options: z.array(option_schema).min(1)
|
|
34
|
+
.describe("Allowed values presented to the user."),
|
|
35
|
+
})
|
|
36
|
+
.strict();
|
|
37
|
+
/** ask_question Tool 的运行时输入校验 Schema。 */
|
|
38
|
+
export const ask_questions_input_schema = z
|
|
39
|
+
.object({
|
|
40
|
+
title: z.string().trim().min(1)
|
|
41
|
+
.describe("Short title for the question card."),
|
|
42
|
+
questions: z
|
|
43
|
+
.array(z.discriminatedUnion("response_type", [
|
|
44
|
+
text_question_schema,
|
|
45
|
+
select_question_schema,
|
|
46
|
+
]))
|
|
47
|
+
.min(1)
|
|
48
|
+
.describe("Questions that all require an answer before execution resumes."),
|
|
49
|
+
})
|
|
50
|
+
.strict();
|
|
51
|
+
//# sourceMappingURL=AskQuestionsToolSchemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskQuestionsToolSchemas.js","sourceRoot":"","sources":["../../../src/tools/ask/AskQuestionsToolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5B,QAAQ,CAAC,6CAA6C,CAAC;IAC1D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IACtE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC7C,QAAQ,CAAC,sCAAsC,CAAC;CACpD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC,QAAQ,CAAC,wDAAwD,CAAC;IACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B,QAAQ,CAAC,sCAAsC,CAAC;IACnD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAClC,QAAQ,CAAC,wDAAwD,CAAC;IACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B,QAAQ,CAAC,sCAAsC,CAAC;IACnD,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SACnC,QAAQ,CAAC,uCAAuC,CAAC;CACrD,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,yCAAyC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5B,QAAQ,CAAC,oCAAoC,CAAC;IACjD,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,eAAe,EAAE;QAC3C,oBAAoB;QACpB,sBAAsB;KACvB,CAAC,CAAC;SACF,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,gEAAgE,CAAC;CAC9E,CAAC;KACD,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @downcity/agent/tools — 可选 Agent Tool 的公开入口。
|
|
3
|
+
*
|
|
4
|
+
* 这里导出的 Tool 不会由 Agent 自动注册。调用方按产品需要选择 Tool,并通过
|
|
5
|
+
* `AgentOptions.tools` 显式完成组合。
|
|
6
|
+
*/
|
|
7
|
+
export { AskQuestionsTool } from "./ask/AskQuestionsTool.js";
|
|
8
|
+
export type { AskQuestionsToolInput, AskQuestionsToolOutput, } from "../types/tools/ask/AskQuestionsTool.js";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,YAAY,EACV,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action 与 Session Tool 共用的执行结果协议。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - `output` 是标准 Tool Result,原样交给 AI SDK 和 canonical Tool Part。
|
|
6
|
+
* - `messages` 是执行后写入 Session 的真实 User / Assistant Message 内容。
|
|
7
|
+
* - Message Parts 直接复用 AI SDK UIMessage 协议,不再建立文件、图片或 Plugin 专用桥接。
|
|
8
|
+
*/
|
|
9
|
+
import type { UIMessage } from "ai";
|
|
10
|
+
/** Action 执行后产生的一条 Session 消息。 */
|
|
11
|
+
export interface ActionResultMessage {
|
|
12
|
+
/** 消息归属;User 消息在下一 Step 生效,Assistant Parts 写入当前回复。 */
|
|
13
|
+
role: "user" | "assistant";
|
|
14
|
+
/** 应写入对应 Session Message 的标准 UI Parts。 */
|
|
15
|
+
parts: UIMessage["parts"];
|
|
16
|
+
}
|
|
17
|
+
/** Action 或 Tool 内部实现返回的统一结果。 */
|
|
18
|
+
export interface ActionResult<TOutput = unknown> {
|
|
19
|
+
/** 返回给调用方、AI SDK 与 canonical Tool Part 的标准执行输出。 */
|
|
20
|
+
output: TOutput;
|
|
21
|
+
/** 执行产生的真实 Session 消息;没有附加消息时传入空数组。 */
|
|
22
|
+
messages: ActionResultMessage[];
|
|
23
|
+
}
|
|
24
|
+
/** 判断未知 Tool 输出是否使用统一 ActionResult 协议。 */
|
|
25
|
+
export declare function is_action_result(value: unknown): value is ActionResult;
|
|
26
|
+
//# sourceMappingURL=ActionResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionResult.d.ts","sourceRoot":"","sources":["../../../src/types/action/ActionResult.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,kCAAkC;AAClC,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAE3B,0CAA0C;IAC1C,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CAC3B;AAED,iCAAiC;AACjC,MAAM,WAAW,YAAY,CAAC,OAAO,GAAG,OAAO;IAC7C,mDAAmD;IACnD,MAAM,EAAE,OAAO,CAAC;IAEhB,uCAAuC;IACvC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAKtE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action 与 Session Tool 共用的执行结果协议。
|
|
3
|
+
*
|
|
4
|
+
* 关键点(中文)
|
|
5
|
+
* - `output` 是标准 Tool Result,原样交给 AI SDK 和 canonical Tool Part。
|
|
6
|
+
* - `messages` 是执行后写入 Session 的真实 User / Assistant Message 内容。
|
|
7
|
+
* - Message Parts 直接复用 AI SDK UIMessage 协议,不再建立文件、图片或 Plugin 专用桥接。
|
|
8
|
+
*/
|
|
9
|
+
/** 判断未知 Tool 输出是否使用统一 ActionResult 协议。 */
|
|
10
|
+
export function is_action_result(value) {
|
|
11
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
12
|
+
return false;
|
|
13
|
+
const record = value;
|
|
14
|
+
return Object.prototype.hasOwnProperty.call(record, "output") &&
|
|
15
|
+
Array.isArray(record.messages);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ActionResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionResult.js","sourceRoot":"","sources":["../../../src/types/action/ActionResult.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC3D,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|