@downcity/agent 1.1.13 → 1.1.14
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/bin/{runtime → core}/AgentContextTypes.d.ts +6 -6
- package/bin/core/AgentContextTypes.d.ts.map +1 -0
- package/bin/{runtime → core}/AgentContextTypes.js +2 -2
- package/bin/core/AgentContextTypes.js.map +1 -0
- package/bin/core/AgentCore.d.ts +87 -0
- package/bin/core/AgentCore.d.ts.map +1 -0
- package/bin/core/AgentCore.js +467 -0
- package/bin/core/AgentCore.js.map +1 -0
- package/bin/{runtime/AgentRuntimeTypes.d.ts → core/AgentCoreTypes.d.ts} +7 -7
- package/bin/core/AgentCoreTypes.d.ts.map +1 -0
- package/bin/core/AgentCoreTypes.js +10 -0
- package/bin/core/AgentCoreTypes.js.map +1 -0
- package/bin/host/runtime/PluginRuntime.d.ts +1 -1
- package/bin/host/runtime/PluginRuntime.d.ts.map +1 -1
- package/bin/index.d.ts +6 -8
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +2 -5
- package/bin/index.js.map +1 -1
- package/bin/plugin/builtins/asr/InboundAugment.d.ts +1 -1
- package/bin/plugin/builtins/asr/InboundAugment.d.ts.map +1 -1
- package/bin/plugin/builtins/auth/runtime/AuthorizationConfig.d.ts +1 -1
- package/bin/plugin/builtins/auth/runtime/AuthorizationConfig.d.ts.map +1 -1
- package/bin/plugin/builtins/auth/runtime/AuthorizationStore.d.ts +1 -1
- package/bin/plugin/builtins/auth/runtime/AuthorizationStore.d.ts.map +1 -1
- package/bin/plugin/builtins/voice/InboundAugment.d.ts +1 -1
- package/bin/plugin/builtins/voice/InboundAugment.d.ts.map +1 -1
- package/bin/plugin/builtins/workboard/runtime/Collector.d.ts +1 -1
- package/bin/plugin/builtins/workboard/runtime/Collector.d.ts.map +1 -1
- package/bin/plugin/builtins/workboard/runtime/Collector.js +1 -1
- package/bin/plugin/builtins/workboard/runtime/Collector.js.map +1 -1
- package/bin/plugin/builtins/workboard/runtime/Normalizer.d.ts +1 -1
- package/bin/plugin/builtins/workboard/runtime/Normalizer.d.ts.map +1 -1
- package/bin/plugin/builtins/workboard/runtime/Store.d.ts +1 -1
- package/bin/plugin/builtins/workboard/runtime/Store.d.ts.map +1 -1
- package/bin/plugin/core/Activation.d.ts +2 -2
- package/bin/plugin/core/Activation.d.ts.map +1 -1
- package/bin/plugin/core/HookRegistry.d.ts +1 -1
- package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
- package/bin/plugin/core/HttpRoutes.d.ts +1 -1
- package/bin/plugin/core/HttpRoutes.d.ts.map +1 -1
- package/bin/plugin/core/LocalExecution.d.ts.map +1 -1
- package/bin/plugin/core/LocalExecution.js +18 -20
- package/bin/plugin/core/LocalExecution.js.map +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts +1 -1
- package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
- package/bin/plugin/types/Plugin.d.ts +1 -1
- package/bin/plugin/types/Plugin.d.ts.map +1 -1
- package/bin/sandbox/SandboxConfigResolver.d.ts +1 -1
- package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -1
- package/bin/sandbox/SandboxRunner.d.ts +1 -1
- package/bin/sandbox/SandboxRunner.d.ts.map +1 -1
- package/bin/sdk/Agent.d.ts +25 -23
- package/bin/sdk/Agent.d.ts.map +1 -1
- package/bin/sdk/Agent.js +86 -365
- package/bin/sdk/Agent.js.map +1 -1
- package/bin/sdk/AgentSdkTypes.d.ts +138 -0
- package/bin/sdk/AgentSdkTypes.d.ts.map +1 -1
- package/bin/sdk/HttpServer.d.ts +9 -19
- package/bin/sdk/HttpServer.d.ts.map +1 -1
- package/bin/sdk/HttpServer.js +26 -156
- package/bin/sdk/HttpServer.js.map +1 -1
- package/bin/sdk/RpcServer.d.ts +9 -10
- package/bin/sdk/RpcServer.d.ts.map +1 -1
- package/bin/sdk/RpcServer.js +22 -178
- package/bin/sdk/RpcServer.js.map +1 -1
- package/bin/sdk/Session.d.ts +2 -2
- package/bin/sdk/Session.d.ts.map +1 -1
- package/bin/sdk/Session.js +7 -1
- package/bin/sdk/Session.js.map +1 -1
- package/bin/sdk/SessionServicePort.d.ts +1 -1
- package/bin/sdk/SessionServicePort.d.ts.map +1 -1
- package/bin/server/http/Server.d.ts +10 -1
- package/bin/server/http/Server.d.ts.map +1 -1
- package/bin/server/http/Server.js +41 -15
- package/bin/server/http/Server.js.map +1 -1
- package/bin/server/http/control/AuthControlService.d.ts +1 -1
- package/bin/server/http/control/AuthControlService.d.ts.map +1 -1
- package/bin/server/http/control/ControlAuthorizationRoutes.d.ts +1 -1
- package/bin/server/http/control/ControlAuthorizationRoutes.d.ts.map +1 -1
- package/bin/server/http/control/ControlRouter.d.ts +18 -2
- package/bin/server/http/control/ControlRouter.d.ts.map +1 -1
- package/bin/server/http/control/ControlRouter.js +10 -8
- package/bin/server/http/control/ControlRouter.js.map +1 -1
- package/bin/server/http/control/ExecuteBySession.d.ts +2 -2
- package/bin/server/http/control/ExecuteBySession.d.ts.map +1 -1
- package/bin/server/http/control/OverviewRoutes.d.ts.map +1 -1
- package/bin/server/http/control/OverviewRoutes.js +6 -2
- package/bin/server/http/control/OverviewRoutes.js.map +1 -1
- package/bin/server/http/control/SessionSummaryStore.d.ts +1 -1
- package/bin/server/http/control/SessionSummaryStore.d.ts.map +1 -1
- package/bin/server/http/control/types/ControlRoutes.d.ts +2 -2
- package/bin/server/http/control/types/ControlRoutes.d.ts.map +1 -1
- package/bin/server/http/execute/execute.d.ts +13 -2
- package/bin/server/http/execute/execute.d.ts.map +1 -1
- package/bin/server/http/execute/execute.js +73 -71
- package/bin/server/http/execute/execute.js.map +1 -1
- package/bin/server/http/plugins/plugins.d.ts +13 -2
- package/bin/server/http/plugins/plugins.d.ts.map +1 -1
- package/bin/server/http/plugins/plugins.js +42 -40
- package/bin/server/http/plugins/plugins.js.map +1 -1
- package/bin/server/http/services/services.d.ts +12 -8
- package/bin/server/http/services/services.d.ts.map +1 -1
- package/bin/server/http/services/services.js +57 -64
- package/bin/server/http/services/services.js.map +1 -1
- package/bin/server/http/static/static.d.ts +13 -2
- package/bin/server/http/static/static.d.ts.map +1 -1
- package/bin/server/http/static/static.js +81 -79
- package/bin/server/http/static/static.js.map +1 -1
- package/bin/server/rpc/Server.d.ts +5 -3
- package/bin/server/rpc/Server.d.ts.map +1 -1
- package/bin/server/rpc/Server.js +22 -12
- package/bin/server/rpc/Server.js.map +1 -1
- package/bin/service/builtins/BaseService.d.ts +2 -2
- package/bin/service/builtins/BaseService.d.ts.map +1 -1
- package/bin/service/builtins/chat/Action.d.ts +1 -1
- package/bin/service/builtins/chat/Action.d.ts.map +1 -1
- package/bin/service/builtins/chat/ChatService.d.ts +2 -2
- package/bin/service/builtins/chat/ChatService.d.ts.map +1 -1
- package/bin/service/builtins/chat/ChatServiceTypes.d.ts +1 -1
- package/bin/service/builtins/chat/ChatServiceTypes.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/BaseChatChannel.d.ts +1 -1
- package/bin/service/builtins/chat/channels/BaseChatChannel.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/BaseChatChannelQueue.d.ts +1 -1
- package/bin/service/builtins/chat/channels/BaseChatChannelQueue.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/BaseChatChannelSupport.d.ts +1 -1
- package/bin/service/builtins/chat/channels/BaseChatChannelSupport.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/feishu/Feishu.d.ts +1 -1
- package/bin/service/builtins/chat/channels/feishu/Feishu.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/feishu/FeishuMessageHandler.d.ts +1 -1
- package/bin/service/builtins/chat/channels/feishu/FeishuMessageHandler.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/feishu/FeishuPlatformClient.d.ts +1 -1
- package/bin/service/builtins/chat/channels/feishu/FeishuPlatformClient.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/qq/QQ.d.ts +1 -1
- package/bin/service/builtins/chat/channels/qq/QQ.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/qq/QQMessageHandler.d.ts +1 -1
- package/bin/service/builtins/chat/channels/qq/QQMessageHandler.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/qq/QQSupport.d.ts +1 -1
- package/bin/service/builtins/chat/channels/qq/QQSupport.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/telegram/Bot.d.ts +1 -1
- package/bin/service/builtins/chat/channels/telegram/Bot.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/telegram/TelegramMessageHandler.d.ts +1 -1
- package/bin/service/builtins/chat/channels/telegram/TelegramMessageHandler.d.ts.map +1 -1
- package/bin/service/builtins/chat/channels/telegram/TelegramPlatformClient.d.ts +1 -1
- package/bin/service/builtins/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChannelContextStore.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChannelContextStore.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatActionExecution.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatActionExecution.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatActionInput.d.ts +3 -36
- package/bin/service/builtins/chat/runtime/ChatActionInput.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatActionInput.js +3 -118
- package/bin/service/builtins/chat/runtime/ChatActionInput.js.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelConfig.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelLifecycle.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatChannelLifecycle.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatHistoryStore.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatHistoryStore.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatIngressStore.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatIngressStore.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatMetaStore.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatMetaStore.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueReplyDispatch.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueReplyDispatch.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueSessionBridge.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueSessionBridge.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueStore.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueStore.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueWorker.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatServiceActions.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatServiceActions.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatServiceActions.js +2 -109
- package/bin/service/builtins/chat/runtime/ChatServiceActions.js.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatServiceSystem.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatServiceSystem.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatSessionDelete.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatSessionDelete.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ChatkeySend.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ChatkeySend.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/EnqueueDispatch.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/EnqueueDispatch.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/InboundAugment.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/InboundAugment.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/PluginDispatch.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/PluginDispatch.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/ReplyDispatch.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/ReplyDispatch.d.ts.map +1 -1
- package/bin/service/builtins/chat/runtime/SystemPrompt.d.ts +1 -1
- package/bin/service/builtins/chat/runtime/SystemPrompt.d.ts.map +1 -1
- package/bin/service/builtins/contact/Action.d.ts +2 -2
- package/bin/service/builtins/contact/Action.d.ts.map +1 -1
- package/bin/service/builtins/contact/Action.js +2 -58
- package/bin/service/builtins/contact/Action.js.map +1 -1
- package/bin/service/builtins/contact/ContactService.d.ts +1 -1
- package/bin/service/builtins/contact/ContactService.d.ts.map +1 -1
- package/bin/service/builtins/contact/runtime/ChatRuntime.d.ts +1 -1
- package/bin/service/builtins/contact/runtime/ChatRuntime.d.ts.map +1 -1
- package/bin/service/builtins/contact/runtime/ContactPayload.d.ts +0 -7
- package/bin/service/builtins/contact/runtime/ContactPayload.d.ts.map +1 -1
- package/bin/service/builtins/contact/runtime/ContactPayload.js +0 -9
- package/bin/service/builtins/contact/runtime/ContactPayload.js.map +1 -1
- package/bin/service/builtins/contact/runtime/RemoteClient.d.ts +1 -1
- package/bin/service/builtins/contact/runtime/RemoteClient.d.ts.map +1 -1
- package/bin/service/builtins/contact/runtime/RemoteClient.js +37 -19
- package/bin/service/builtins/contact/runtime/RemoteClient.js.map +1 -1
- package/bin/service/builtins/contact/runtime/ShareBundle.d.ts +1 -1
- package/bin/service/builtins/contact/runtime/ShareBundle.d.ts.map +1 -1
- package/bin/service/builtins/memory/Action.d.ts +1 -1
- package/bin/service/builtins/memory/Action.d.ts.map +1 -1
- package/bin/service/builtins/memory/MemoryService.d.ts +1 -1
- package/bin/service/builtins/memory/MemoryService.d.ts.map +1 -1
- package/bin/service/builtins/memory/MemoryService.js +0 -27
- package/bin/service/builtins/memory/MemoryService.js.map +1 -1
- package/bin/service/builtins/memory/runtime/Flush.d.ts +1 -1
- package/bin/service/builtins/memory/runtime/Flush.d.ts.map +1 -1
- package/bin/service/builtins/memory/runtime/Search.d.ts +1 -1
- package/bin/service/builtins/memory/runtime/Search.d.ts.map +1 -1
- package/bin/service/builtins/memory/runtime/Store.d.ts +1 -1
- package/bin/service/builtins/memory/runtime/Store.d.ts.map +1 -1
- package/bin/service/builtins/memory/runtime/SystemProvider.d.ts +1 -1
- package/bin/service/builtins/memory/runtime/SystemProvider.d.ts.map +1 -1
- package/bin/service/builtins/memory/runtime/Writer.d.ts +1 -1
- package/bin/service/builtins/memory/runtime/Writer.d.ts.map +1 -1
- package/bin/service/builtins/schedule/ScheduleService.d.ts +39 -0
- package/bin/service/builtins/schedule/ScheduleService.d.ts.map +1 -0
- package/bin/service/builtins/schedule/ScheduleService.js +106 -0
- package/bin/service/builtins/schedule/ScheduleService.js.map +1 -0
- package/bin/service/builtins/shell/ShellRuntimeTypes.d.ts +1 -1
- package/bin/service/builtins/shell/ShellRuntimeTypes.d.ts.map +1 -1
- package/bin/service/builtins/shell/ShellService.d.ts +2 -2
- package/bin/service/builtins/shell/ShellService.d.ts.map +1 -1
- package/bin/service/builtins/shell/runtime/ShellActionResponse.d.ts +1 -1
- package/bin/service/builtins/shell/runtime/ShellActionResponse.d.ts.map +1 -1
- package/bin/service/builtins/shell/runtime/ShellActionRuntime.d.ts +1 -1
- package/bin/service/builtins/shell/runtime/ShellActionRuntime.d.ts.map +1 -1
- package/bin/service/builtins/shell/runtime/ShellActionRuntimeSupport.d.ts +1 -1
- package/bin/service/builtins/shell/runtime/ShellActionRuntimeSupport.d.ts.map +1 -1
- package/bin/service/builtins/shell/runtime/ShellRuntimeEnvironment.d.ts +1 -1
- package/bin/service/builtins/shell/runtime/ShellRuntimeEnvironment.d.ts.map +1 -1
- package/bin/service/builtins/task/Action.d.ts +1 -1
- package/bin/service/builtins/task/Action.d.ts.map +1 -1
- package/bin/service/builtins/task/Scheduler.d.ts +1 -1
- package/bin/service/builtins/task/Scheduler.d.ts.map +1 -1
- package/bin/service/builtins/task/TaskService.d.ts +2 -2
- package/bin/service/builtins/task/TaskService.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/CronRuntime.d.ts +1 -1
- package/bin/service/builtins/task/runtime/CronRuntime.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/Runner.d.ts +1 -1
- package/bin/service/builtins/task/runtime/Runner.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskActionExecution.d.ts +1 -1
- package/bin/service/builtins/task/runtime/TaskActionExecution.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskActionInput.d.ts +2 -31
- package/bin/service/builtins/task/runtime/TaskActionInput.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskActionInput.js +2 -141
- package/bin/service/builtins/task/runtime/TaskActionInput.js.map +1 -1
- package/bin/service/builtins/task/runtime/TaskRunChatDispatch.d.ts +1 -1
- package/bin/service/builtins/task/runtime/TaskRunChatDispatch.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskRunnerRound.d.ts +1 -1
- package/bin/service/builtins/task/runtime/TaskRunnerRound.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskRunnerScript.d.ts +1 -1
- package/bin/service/builtins/task/runtime/TaskRunnerScript.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskRunnerSession.d.ts +1 -1
- package/bin/service/builtins/task/runtime/TaskRunnerSession.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskServiceActions.d.ts +1 -1
- package/bin/service/builtins/task/runtime/TaskServiceActions.d.ts.map +1 -1
- package/bin/service/builtins/task/runtime/TaskServiceActions.js +2 -30
- package/bin/service/builtins/task/runtime/TaskServiceActions.js.map +1 -1
- package/bin/service/core/Manager.d.ts +0 -1
- package/bin/service/core/Manager.d.ts.map +1 -1
- package/bin/service/core/Manager.js +0 -1
- package/bin/service/core/Manager.js.map +1 -1
- package/bin/service/core/ServiceActionRunner.d.ts +1 -1
- package/bin/service/core/ServiceActionRunner.d.ts.map +1 -1
- package/bin/service/core/ServiceActionRunner.js +3 -1
- package/bin/service/core/ServiceActionRunner.js.map +1 -1
- package/bin/service/core/ServiceClassRegistry.d.ts +1 -1
- package/bin/service/core/ServiceClassRegistry.d.ts.map +1 -1
- package/bin/service/core/ServiceCommandRequest.d.ts +36 -0
- package/bin/service/core/ServiceCommandRequest.d.ts.map +1 -0
- package/bin/service/core/ServiceCommandRequest.js +53 -0
- package/bin/service/core/ServiceCommandRequest.js.map +1 -0
- package/bin/service/core/ServiceManager.d.ts +1 -1
- package/bin/service/core/ServiceManager.d.ts.map +1 -1
- package/bin/service/core/ServiceStateController.d.ts +20 -7
- package/bin/service/core/ServiceStateController.d.ts.map +1 -1
- package/bin/service/core/ServiceStateController.js +23 -20
- package/bin/service/core/ServiceStateController.js.map +1 -1
- package/bin/service/core/ServiceSystemProviders.d.ts +1 -1
- package/bin/service/core/ServiceSystemProviders.d.ts.map +1 -1
- package/bin/service/core/Services.d.ts +1 -1
- package/bin/service/core/Services.d.ts.map +1 -1
- package/bin/service/core/Services.js +2 -0
- package/bin/service/core/Services.js.map +1 -1
- package/bin/service/schedule/Executor.d.ts +1 -1
- package/bin/service/schedule/Executor.d.ts.map +1 -1
- package/bin/service/types/Service.d.ts +1 -23
- package/bin/service/types/Service.d.ts.map +1 -1
- package/bin/session/composer/system/default/DefaultSessionSystemComposer.d.ts +1 -1
- package/bin/session/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
- package/bin/session/composer/system/default/SystemDomain.d.ts +1 -1
- package/bin/session/composer/system/default/SystemDomain.d.ts.map +1 -1
- package/bin/session/tools/shell/ShellToolBridge.d.ts +1 -1
- package/bin/session/tools/shell/ShellToolBridge.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/{runtime → core}/AgentContextTypes.ts +6 -7
- package/src/core/AgentCore.ts +527 -0
- package/src/{runtime/AgentRuntimeTypes.ts → core/AgentCoreTypes.ts} +6 -6
- package/src/host/runtime/PluginRuntime.ts +1 -1
- package/src/index.ts +24 -21
- package/src/plugin/builtins/asr/InboundAugment.ts +1 -1
- package/src/plugin/builtins/auth/runtime/AuthorizationConfig.ts +1 -1
- package/src/plugin/builtins/auth/runtime/AuthorizationStore.ts +1 -1
- package/src/plugin/builtins/voice/InboundAugment.ts +1 -1
- package/src/plugin/builtins/workboard/runtime/Collector.ts +2 -2
- package/src/plugin/builtins/workboard/runtime/Normalizer.ts +1 -1
- package/src/plugin/builtins/workboard/runtime/Store.ts +1 -1
- package/src/plugin/core/Activation.ts +2 -2
- package/src/plugin/core/HookRegistry.ts +1 -1
- package/src/plugin/core/HttpRoutes.ts +1 -1
- package/src/plugin/core/LocalExecution.ts +21 -20
- package/src/plugin/core/PluginRegistry.ts +1 -1
- package/src/plugin/types/Plugin.ts +1 -1
- package/src/sandbox/SandboxConfigResolver.ts +1 -1
- package/src/sandbox/SandboxRunner.ts +1 -1
- package/src/sdk/Agent.ts +99 -393
- package/src/sdk/AgentSdkTypes.ts +158 -0
- package/src/sdk/HttpServer.ts +27 -192
- package/src/sdk/RpcServer.ts +24 -211
- package/src/sdk/Session.ts +12 -2
- package/src/sdk/SessionServicePort.ts +1 -1
- package/src/server/http/Server.ts +63 -18
- package/src/server/http/control/AuthControlService.ts +1 -1
- package/src/server/http/control/ControlAuthorizationRoutes.ts +1 -1
- package/src/server/http/control/ControlRouter.ts +27 -11
- package/src/server/http/control/ExecuteBySession.ts +2 -2
- package/src/server/http/control/OverviewRoutes.ts +6 -2
- package/src/server/http/control/SessionSummaryStore.ts +1 -1
- package/src/server/http/control/types/ControlRoutes.ts +2 -2
- package/src/server/http/execute/execute.ts +107 -91
- package/src/server/http/plugins/plugins.ts +60 -44
- package/src/server/http/services/services.ts +68 -64
- package/src/server/http/static/static.ts +95 -79
- package/src/server/rpc/Server.ts +26 -15
- package/src/service/builtins/BaseService.ts +2 -2
- package/src/service/builtins/chat/Action.ts +1 -1
- package/src/service/builtins/chat/ChatService.ts +2 -2
- package/src/service/builtins/chat/ChatServiceTypes.ts +1 -1
- package/src/service/builtins/chat/channels/BaseChatChannel.ts +1 -1
- package/src/service/builtins/chat/channels/BaseChatChannelQueue.ts +1 -1
- package/src/service/builtins/chat/channels/BaseChatChannelSupport.ts +1 -1
- package/src/service/builtins/chat/channels/feishu/Feishu.ts +1 -1
- package/src/service/builtins/chat/channels/feishu/FeishuMessageHandler.ts +1 -1
- package/src/service/builtins/chat/channels/feishu/FeishuPlatformClient.ts +1 -1
- package/src/service/builtins/chat/channels/qq/QQ.ts +1 -1
- package/src/service/builtins/chat/channels/qq/QQMessageHandler.ts +1 -1
- package/src/service/builtins/chat/channels/qq/QQSupport.ts +1 -1
- package/src/service/builtins/chat/channels/telegram/Bot.ts +1 -1
- package/src/service/builtins/chat/channels/telegram/TelegramMessageHandler.ts +1 -1
- package/src/service/builtins/chat/channels/telegram/TelegramPlatformClient.ts +1 -1
- package/src/service/builtins/chat/runtime/ChannelContextStore.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatActionExecution.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatActionInput.ts +2 -158
- package/src/service/builtins/chat/runtime/ChatChannelActions.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatChannelConfig.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatChannelCore.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatChannelLifecycle.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatHistoryStore.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatIngressStore.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatMetaStore.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatQueueReplyDispatch.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatQueueSessionBridge.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatQueueStore.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatQueueWorker.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatServiceActions.ts +1 -118
- package/src/service/builtins/chat/runtime/ChatServiceSystem.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatSessionDelete.ts +1 -1
- package/src/service/builtins/chat/runtime/ChatkeySend.ts +1 -1
- package/src/service/builtins/chat/runtime/EnqueueDispatch.ts +1 -1
- package/src/service/builtins/chat/runtime/InboundAugment.ts +1 -1
- package/src/service/builtins/chat/runtime/PluginDispatch.ts +1 -1
- package/src/service/builtins/chat/runtime/ReplyDispatch.ts +1 -1
- package/src/service/builtins/chat/runtime/SystemPrompt.ts +1 -1
- package/src/service/builtins/contact/Action.ts +2 -59
- package/src/service/builtins/contact/ContactService.ts +2 -2
- package/src/service/builtins/contact/runtime/ChatRuntime.ts +1 -1
- package/src/service/builtins/contact/runtime/ContactPayload.ts +0 -12
- package/src/service/builtins/contact/runtime/RemoteClient.ts +40 -19
- package/src/service/builtins/contact/runtime/ShareBundle.ts +1 -1
- package/src/service/builtins/memory/Action.ts +1 -1
- package/src/service/builtins/memory/MemoryService.ts +1 -28
- package/src/service/builtins/memory/runtime/Flush.ts +1 -1
- package/src/service/builtins/memory/runtime/Search.ts +1 -1
- package/src/service/builtins/memory/runtime/Store.ts +1 -1
- package/src/service/builtins/memory/runtime/SystemProvider.ts +1 -1
- package/src/service/builtins/memory/runtime/Writer.ts +1 -1
- package/src/service/builtins/schedule/ScheduleService.ts +131 -0
- package/src/service/builtins/shell/ShellRuntimeTypes.ts +1 -1
- package/src/service/builtins/shell/ShellService.ts +2 -2
- package/src/service/builtins/shell/runtime/ShellActionResponse.ts +1 -1
- package/src/service/builtins/shell/runtime/ShellActionRuntime.ts +1 -1
- package/src/service/builtins/shell/runtime/ShellActionRuntimeSupport.ts +1 -1
- package/src/service/builtins/shell/runtime/ShellRuntimeEnvironment.ts +1 -1
- package/src/service/builtins/task/Action.ts +1 -1
- package/src/service/builtins/task/Scheduler.ts +1 -1
- package/src/service/builtins/task/TaskService.ts +2 -2
- package/src/service/builtins/task/runtime/CronRuntime.ts +1 -1
- package/src/service/builtins/task/runtime/Runner.ts +1 -1
- package/src/service/builtins/task/runtime/TaskActionExecution.ts +1 -1
- package/src/service/builtins/task/runtime/TaskActionInput.ts +3 -185
- package/src/service/builtins/task/runtime/TaskRunChatDispatch.ts +1 -1
- package/src/service/builtins/task/runtime/TaskRunnerRound.ts +1 -1
- package/src/service/builtins/task/runtime/TaskRunnerScript.ts +1 -1
- package/src/service/builtins/task/runtime/TaskRunnerSession.ts +1 -1
- package/src/service/builtins/task/runtime/TaskServiceActions.ts +1 -35
- package/src/service/core/Manager.ts +0 -1
- package/src/service/core/ServiceActionRunner.ts +4 -2
- package/src/service/core/ServiceClassRegistry.ts +1 -1
- package/src/service/core/ServiceCommandRequest.ts +93 -0
- package/src/service/core/ServiceManager.ts +0 -1
- package/src/service/core/ServiceStateController.ts +45 -20
- package/src/service/core/ServiceSystemProviders.ts +1 -1
- package/src/service/core/Services.ts +3 -1
- package/src/service/schedule/Executor.ts +1 -1
- package/src/service/types/Service.ts +1 -24
- package/src/session/composer/system/default/DefaultSessionSystemComposer.ts +1 -1
- package/src/session/composer/system/default/SystemDomain.ts +1 -1
- package/src/session/tools/shell/ShellToolBridge.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/bin/runtime/AgentContext.d.ts +0 -23
- package/bin/runtime/AgentContext.d.ts.map +0 -1
- package/bin/runtime/AgentContext.js +0 -149
- package/bin/runtime/AgentContext.js.map +0 -1
- package/bin/runtime/AgentContextTypes.d.ts.map +0 -1
- package/bin/runtime/AgentContextTypes.js.map +0 -1
- package/bin/runtime/AgentRuntime.d.ts +0 -37
- package/bin/runtime/AgentRuntime.d.ts.map +0 -1
- package/bin/runtime/AgentRuntime.js +0 -291
- package/bin/runtime/AgentRuntime.js.map +0 -1
- package/bin/runtime/AgentRuntimeState.d.ts +0 -42
- package/bin/runtime/AgentRuntimeState.d.ts.map +0 -1
- package/bin/runtime/AgentRuntimeState.js +0 -172
- package/bin/runtime/AgentRuntimeState.js.map +0 -1
- package/bin/runtime/AgentRuntimeTypes.d.ts.map +0 -1
- package/bin/runtime/AgentRuntimeTypes.js +0 -10
- package/bin/runtime/AgentRuntimeTypes.js.map +0 -1
- package/bin/service/core/ServiceActionApi.d.ts +0 -15
- package/bin/service/core/ServiceActionApi.d.ts.map +0 -1
- package/bin/service/core/ServiceActionApi.js +0 -234
- package/bin/service/core/ServiceActionApi.js.map +0 -1
- package/bin/service/schedule/Runtime.d.ts +0 -17
- package/bin/service/schedule/Runtime.d.ts.map +0 -1
- package/bin/service/schedule/Runtime.js +0 -64
- package/bin/service/schedule/Runtime.js.map +0 -1
- package/src/runtime/AgentContext.ts +0 -182
- package/src/runtime/AgentRuntime.ts +0 -366
- package/src/runtime/AgentRuntimeState.ts +0 -213
- package/src/service/core/ServiceActionApi.ts +0 -304
- package/src/service/schedule/Runtime.ts +0 -78
package/src/sdk/AgentSdkTypes.ts
CHANGED
|
@@ -13,6 +13,9 @@ import type { JsonValue } from "@/types/common/Json.js";
|
|
|
13
13
|
import type { Plugin } from "@/plugin/types/Plugin.js";
|
|
14
14
|
import type { SessionMessageV1 } from "@/session/types/SessionMessages.js";
|
|
15
15
|
import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
|
|
16
|
+
import type { LocalRpcServerHandle } from "@/types/rpc/LocalRpc.js";
|
|
17
|
+
import type { ServerInstance } from "@/server/http/Server.js";
|
|
18
|
+
import type { Session } from "@/sdk/Session.js";
|
|
16
19
|
|
|
17
20
|
/**
|
|
18
21
|
* 本地 Agent 构造参数。
|
|
@@ -61,6 +64,15 @@ export interface AgentOptions {
|
|
|
61
64
|
*/
|
|
62
65
|
services?: BaseService[];
|
|
63
66
|
|
|
67
|
+
/**
|
|
68
|
+
* 是否自动装配全部内建 service。
|
|
69
|
+
*
|
|
70
|
+
* 关键点(中文)
|
|
71
|
+
* - 适合 city 这类宿主进程直接 `new Agent(...)` 的场景。
|
|
72
|
+
* - 未开启时,默认只使用显式传入的 `services`。
|
|
73
|
+
*/
|
|
74
|
+
useBuiltinServices?: boolean;
|
|
75
|
+
|
|
64
76
|
/**
|
|
65
77
|
* 当前 agent 显式注册的 plugin 定义集合。
|
|
66
78
|
*
|
|
@@ -71,6 +83,15 @@ export interface AgentOptions {
|
|
|
71
83
|
*/
|
|
72
84
|
plugins?: Plugin[];
|
|
73
85
|
|
|
86
|
+
/**
|
|
87
|
+
* 是否自动装配全部内建 plugin。
|
|
88
|
+
*
|
|
89
|
+
* 关键点(中文)
|
|
90
|
+
* - 适合 city 这类宿主进程直接 `new Agent(...)` 的场景。
|
|
91
|
+
* - 未开启时,默认只使用显式传入的 `plugins`。
|
|
92
|
+
*/
|
|
93
|
+
useBuiltinPlugins?: boolean;
|
|
94
|
+
|
|
74
95
|
/**
|
|
75
96
|
* 当前 agent 显式注入的平台能力集合。
|
|
76
97
|
*
|
|
@@ -79,6 +100,143 @@ export interface AgentOptions {
|
|
|
79
100
|
* - 推荐由宿主产品显式传入,避免 SDK 本地实例隐式依赖 city。
|
|
80
101
|
*/
|
|
81
102
|
platform?: AgentPlatformRuntime;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 在 session 初始化后执行的宿主配置钩子。
|
|
106
|
+
*
|
|
107
|
+
* 关键点(中文)
|
|
108
|
+
* - SDK 不负责默认模型策略,宿主可在这里统一为 session 注入 model 等运行配置。
|
|
109
|
+
* - 该钩子只在 session 首次创建时触发一次,适合做实例级默认装配。
|
|
110
|
+
*/
|
|
111
|
+
configureSession?: (session: Session) => Promise<void> | void;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Agent 启动参数。
|
|
116
|
+
*/
|
|
117
|
+
export interface AgentStartOptions {
|
|
118
|
+
/**
|
|
119
|
+
* 是否启动 HTTP 服务。
|
|
120
|
+
*
|
|
121
|
+
* 关键点(中文)
|
|
122
|
+
* - `false` 表示不启动。
|
|
123
|
+
* - 传对象时会按给定 host/port 启动。
|
|
124
|
+
* - 省略时默认不启动,避免 SDK 本地嵌入场景误开端口。
|
|
125
|
+
*/
|
|
126
|
+
http?: false | AgentHttpStartOptions;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* 是否启动本地 RPC 服务。
|
|
130
|
+
*
|
|
131
|
+
* 关键点(中文)
|
|
132
|
+
* - `true` 时启动主 local RPC server。
|
|
133
|
+
* - 省略或 `false` 时不启动。
|
|
134
|
+
*/
|
|
135
|
+
rpc?: boolean;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* 是否启动当前 agent 的 services。
|
|
139
|
+
*
|
|
140
|
+
* 关键点(中文)
|
|
141
|
+
* - 默认 `true`。
|
|
142
|
+
* - `false` 适合只需要 session 能力、不希望启动后台能力的嵌入场景。
|
|
143
|
+
*/
|
|
144
|
+
services?: boolean;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Agent 停止结果快照。
|
|
149
|
+
*/
|
|
150
|
+
export interface AgentStopResult {
|
|
151
|
+
/**
|
|
152
|
+
* 本次是否实际停止了 HTTP 服务。
|
|
153
|
+
*/
|
|
154
|
+
httpStopped: boolean;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* 本次是否实际停止了本地 RPC 服务。
|
|
158
|
+
*/
|
|
159
|
+
rpcStopped: boolean;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* 本次是否实际停止了 services。
|
|
163
|
+
*/
|
|
164
|
+
servicesStopped: boolean;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Agent 启动后的状态快照。
|
|
169
|
+
*/
|
|
170
|
+
export interface AgentStartResult {
|
|
171
|
+
/**
|
|
172
|
+
* 当前 agent 是否已启动 HTTP 服务。
|
|
173
|
+
*/
|
|
174
|
+
http?: AgentHttpBinding;
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* 当前 agent 是否已启动本地 RPC 服务。
|
|
178
|
+
*/
|
|
179
|
+
rpc?: AgentRpcBinding;
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* 当前 agent 是否已启动 services。
|
|
183
|
+
*/
|
|
184
|
+
servicesStarted: boolean;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Agent HTTP 启动参数。
|
|
189
|
+
*/
|
|
190
|
+
export interface AgentHttpStartOptions {
|
|
191
|
+
/**
|
|
192
|
+
* HTTP 监听主机。
|
|
193
|
+
*/
|
|
194
|
+
host?: string;
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* HTTP 监听端口。
|
|
198
|
+
*/
|
|
199
|
+
port?: number;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Agent HTTP 绑定信息。
|
|
204
|
+
*/
|
|
205
|
+
export interface AgentHttpBinding {
|
|
206
|
+
/**
|
|
207
|
+
* 对外访问地址。
|
|
208
|
+
*/
|
|
209
|
+
baseUrl: string;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* 当前 host。
|
|
213
|
+
*/
|
|
214
|
+
host: string;
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* 当前 port。
|
|
218
|
+
*/
|
|
219
|
+
port: number;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* HTTP server 句柄。
|
|
223
|
+
*/
|
|
224
|
+
server: ServerInstance;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Agent RPC 绑定信息。
|
|
229
|
+
*/
|
|
230
|
+
export interface AgentRpcBinding {
|
|
231
|
+
/**
|
|
232
|
+
* 当前本地 RPC endpoint。
|
|
233
|
+
*/
|
|
234
|
+
endpoint: string;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* 本地 RPC server 句柄。
|
|
238
|
+
*/
|
|
239
|
+
server: LocalRpcServerHandle;
|
|
82
240
|
}
|
|
83
241
|
|
|
84
242
|
/**
|
package/src/sdk/HttpServer.ts
CHANGED
|
@@ -2,34 +2,20 @@
|
|
|
2
2
|
* SDK HTTP Server。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
5
|
+
* - 这里承接单个 Agent 实例的主 HTTP server 生命周期。
|
|
6
|
+
* - 对外仍暴露 `RemoteAgent` 兼容的 SDK session API,同时保留完整 server 路由能力。
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import http from "node:http";
|
|
10
|
-
import { Hono } from "hono";
|
|
11
|
-
import { cors } from "hono/cors";
|
|
12
9
|
import type { Agent } from "@/sdk/Agent.js";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 监听主机。
|
|
17
|
-
*/
|
|
18
|
-
host?: string;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 监听端口。
|
|
22
|
-
*/
|
|
23
|
-
port?: number;
|
|
24
|
-
};
|
|
10
|
+
import type { AgentHttpBinding, AgentHttpStartOptions } from "@/sdk/AgentSdkTypes.js";
|
|
11
|
+
import { startServer } from "@/server/http/Server.js";
|
|
25
12
|
|
|
26
13
|
/**
|
|
27
14
|
* SDK HTTP Server 管理器。
|
|
28
15
|
*/
|
|
29
16
|
export class SdkAgentHttpServer {
|
|
30
17
|
private readonly agent: Agent;
|
|
31
|
-
private
|
|
32
|
-
private baseUrlValue: string | null = null;
|
|
18
|
+
private binding: AgentHttpBinding | null = null;
|
|
33
19
|
|
|
34
20
|
constructor(agent: Agent) {
|
|
35
21
|
this.agent = agent;
|
|
@@ -38,194 +24,43 @@ export class SdkAgentHttpServer {
|
|
|
38
24
|
/**
|
|
39
25
|
* 启动 HTTP Server。
|
|
40
26
|
*/
|
|
41
|
-
async start(options?:
|
|
42
|
-
if (this.
|
|
43
|
-
return
|
|
27
|
+
async start(options?: AgentHttpStartOptions): Promise<AgentHttpBinding> {
|
|
28
|
+
if (this.binding) {
|
|
29
|
+
return this.binding;
|
|
44
30
|
}
|
|
45
|
-
await this.agent.ensureServicesStarted();
|
|
46
31
|
const host = String(options?.host || "127.0.0.1").trim() || "127.0.0.1";
|
|
47
32
|
const port =
|
|
48
33
|
typeof options?.port === "number" && Number.isInteger(options.port)
|
|
49
34
|
? options.port
|
|
50
35
|
: 15314;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
cors({
|
|
56
|
-
origin: "*",
|
|
57
|
-
allowMethods: ["GET", "POST", "OPTIONS"],
|
|
58
|
-
allowHeaders: ["Content-Type"],
|
|
59
|
-
}),
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
app.get("/api/sdk/sessions", async (c) => {
|
|
63
|
-
return c.json({
|
|
64
|
-
success: true,
|
|
65
|
-
sessions: await this.agent.sessions(),
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
app.post("/api/sdk/sessions", async (c) => {
|
|
70
|
-
const body = await c.req.json().catch(() => ({}));
|
|
71
|
-
const session = await this.agent.session(
|
|
72
|
-
typeof body?.sessionId === "string" ? body.sessionId : undefined,
|
|
73
|
-
);
|
|
74
|
-
return c.json({
|
|
75
|
-
success: true,
|
|
76
|
-
session: await session.toMetadata(),
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
app.get("/api/sdk/sessions/:sessionId/messages", async (c) => {
|
|
81
|
-
const session = await this.agent.session(String(c.req.param("sessionId") || ""));
|
|
82
|
-
return c.json({
|
|
83
|
-
success: true,
|
|
84
|
-
sessionId: session.id,
|
|
85
|
-
messages: await session.history(),
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
app.get("/api/sdk/sessions/:sessionId/system", async (c) => {
|
|
90
|
-
const session = await this.agent.session(String(c.req.param("sessionId") || ""));
|
|
91
|
-
return c.json({
|
|
92
|
-
success: true,
|
|
93
|
-
sessionId: session.id,
|
|
94
|
-
system: await session.system(),
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
app.post("/api/sdk/sessions/:sessionId/run", async (c) => {
|
|
99
|
-
const session = await this.agent.session(String(c.req.param("sessionId") || ""));
|
|
100
|
-
const body = await c.req.json().catch(() => ({}));
|
|
101
|
-
const query = String(body?.query || "").trim();
|
|
102
|
-
if (!query) {
|
|
103
|
-
return c.json({ success: false, error: "query is required" }, 400);
|
|
104
|
-
}
|
|
105
|
-
const result = await session.run({ query });
|
|
106
|
-
return c.json({
|
|
107
|
-
success: true,
|
|
108
|
-
sessionId: session.id,
|
|
109
|
-
result,
|
|
110
|
-
});
|
|
36
|
+
const server = await startServer({
|
|
37
|
+
host,
|
|
38
|
+
port,
|
|
39
|
+
core: this.agent.core,
|
|
111
40
|
});
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
typeof body?.messageId === "string" ? body.messageId : undefined,
|
|
118
|
-
);
|
|
119
|
-
return c.json({
|
|
120
|
-
success: true,
|
|
121
|
-
session: await forked.toMetadata(),
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
app.post("/api/sdk/sessions/:sessionId/stream", async (c) => {
|
|
126
|
-
const session = await this.agent.session(String(c.req.param("sessionId") || ""));
|
|
127
|
-
const body = await c.req.json().catch(() => ({}));
|
|
128
|
-
const query = String(body?.query || "").trim();
|
|
129
|
-
if (!query) {
|
|
130
|
-
return c.json({ success: false, error: "query is required" }, 400);
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
const encoder = new TextEncoder();
|
|
134
|
-
const stream = new ReadableStream<Uint8Array>({
|
|
135
|
-
start: async (controller) => {
|
|
136
|
-
try {
|
|
137
|
-
for await (const event of session.stream({ query })) {
|
|
138
|
-
controller.enqueue(
|
|
139
|
-
encoder.encode(`${JSON.stringify(event)}\n`),
|
|
140
|
-
);
|
|
141
|
-
}
|
|
142
|
-
controller.close();
|
|
143
|
-
} catch (error) {
|
|
144
|
-
controller.enqueue(
|
|
145
|
-
encoder.encode(
|
|
146
|
-
`${JSON.stringify({
|
|
147
|
-
type: "error",
|
|
148
|
-
error: error instanceof Error ? error.message : String(error),
|
|
149
|
-
})}\n`,
|
|
150
|
-
),
|
|
151
|
-
);
|
|
152
|
-
controller.close();
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
return new Response(stream, {
|
|
158
|
-
headers: {
|
|
159
|
-
"Content-Type": "application/x-ndjson; charset=utf-8",
|
|
160
|
-
"Cache-Control": "no-cache, no-transform",
|
|
161
|
-
},
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
const server = http.createServer(async (req, res) => {
|
|
166
|
-
try {
|
|
167
|
-
const url = new URL(req.url || "/", `http://${host}:${port}`);
|
|
168
|
-
const method = req.method || "GET";
|
|
169
|
-
const bodyBuffer = await this.readRequestBody(req);
|
|
170
|
-
const request = new Request(url.toString(), {
|
|
171
|
-
method,
|
|
172
|
-
headers: new Headers(req.headers as Record<string, string>),
|
|
173
|
-
body: bodyBuffer.length > 0 ? bodyBuffer : undefined,
|
|
174
|
-
});
|
|
175
|
-
const response = await app.fetch(request);
|
|
176
|
-
res.statusCode = response.status;
|
|
177
|
-
response.headers.forEach((value, key) => {
|
|
178
|
-
res.setHeader(key, value);
|
|
179
|
-
});
|
|
180
|
-
if (!response.body) {
|
|
181
|
-
res.end();
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
184
|
-
const reader = response.body.getReader();
|
|
185
|
-
while (true) {
|
|
186
|
-
const { done, value } = await reader.read();
|
|
187
|
-
if (done) break;
|
|
188
|
-
if (value) res.write(Buffer.from(value));
|
|
189
|
-
}
|
|
190
|
-
res.end();
|
|
191
|
-
} catch (error) {
|
|
192
|
-
res.statusCode = 500;
|
|
193
|
-
res.end(String(error));
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
await new Promise<void>((resolve) => {
|
|
198
|
-
server.listen(port, host, () => resolve());
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
this.server = server;
|
|
202
|
-
this.baseUrlValue = `http://${host}:${port}`;
|
|
203
|
-
return {
|
|
204
|
-
baseUrl: this.baseUrlValue,
|
|
41
|
+
this.binding = {
|
|
42
|
+
baseUrl: `http://${host}:${port}`,
|
|
43
|
+
host,
|
|
44
|
+
port,
|
|
45
|
+
server,
|
|
205
46
|
};
|
|
47
|
+
return this.binding;
|
|
206
48
|
}
|
|
207
49
|
|
|
208
50
|
/**
|
|
209
51
|
* 停止 HTTP Server。
|
|
210
52
|
*/
|
|
211
53
|
async stop(): Promise<void> {
|
|
212
|
-
if (!this.
|
|
213
|
-
const current = this.
|
|
214
|
-
this.
|
|
215
|
-
|
|
216
|
-
await new Promise<void>((resolve) => {
|
|
217
|
-
current.close(() => resolve());
|
|
218
|
-
});
|
|
54
|
+
if (!this.binding) return;
|
|
55
|
+
const current = this.binding;
|
|
56
|
+
this.binding = null;
|
|
57
|
+
await current.server.stop();
|
|
219
58
|
}
|
|
220
59
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
req.on("data", (chunk) => chunks.push(Buffer.from(chunk)));
|
|
227
|
-
req.on("end", () => resolve(Buffer.concat(chunks)));
|
|
228
|
-
req.on("error", reject);
|
|
229
|
-
});
|
|
60
|
+
/**
|
|
61
|
+
* 返回当前是否已启动。
|
|
62
|
+
*/
|
|
63
|
+
isStarted(): boolean {
|
|
64
|
+
return this.binding !== null;
|
|
230
65
|
}
|
|
231
66
|
}
|
package/src/sdk/RpcServer.ts
CHANGED
|
@@ -2,28 +2,20 @@
|
|
|
2
2
|
* SDK 本地 RPC Server。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* -
|
|
6
|
-
* -
|
|
7
|
-
* - stream 仍建议优先走 HTTP NDJSON。
|
|
5
|
+
* - 这里承接单个 Agent 实例的主 local RPC server 生命周期。
|
|
6
|
+
* - 启动后暴露的是完整本机受信任 IPC 能力,而不是仅 SDK session 子集。
|
|
8
7
|
*/
|
|
9
8
|
|
|
10
|
-
import fs from "fs-extra";
|
|
11
|
-
import net, { type Server } from "node:net";
|
|
12
|
-
import path from "node:path";
|
|
13
9
|
import type { Agent } from "@/sdk/Agent.js";
|
|
14
|
-
import type {
|
|
15
|
-
|
|
16
|
-
LocalRpcResponse,
|
|
17
|
-
} from "@/types/rpc/LocalRpc.js";
|
|
18
|
-
import { getSdkAgentRpcEndpointPath } from "@/sdk/Paths.js";
|
|
10
|
+
import type { AgentRpcBinding } from "@/sdk/AgentSdkTypes.js";
|
|
11
|
+
import { startLocalRpcServer } from "@/server/rpc/Server.js";
|
|
19
12
|
|
|
20
13
|
/**
|
|
21
14
|
* SDK RPC Server 管理器。
|
|
22
15
|
*/
|
|
23
16
|
export class SdkAgentRpcServer {
|
|
24
17
|
private readonly agent: Agent;
|
|
25
|
-
private
|
|
26
|
-
private endpoint: string | null = null;
|
|
18
|
+
private binding: AgentRpcBinding | null = null;
|
|
27
19
|
|
|
28
20
|
constructor(agent: Agent) {
|
|
29
21
|
this.agent = agent;
|
|
@@ -32,213 +24,34 @@ export class SdkAgentRpcServer {
|
|
|
32
24
|
/**
|
|
33
25
|
* 启动本地 RPC server。
|
|
34
26
|
*/
|
|
35
|
-
async start(): Promise<
|
|
36
|
-
if (this.
|
|
37
|
-
return
|
|
27
|
+
async start(): Promise<AgentRpcBinding> {
|
|
28
|
+
if (this.binding) {
|
|
29
|
+
return this.binding;
|
|
38
30
|
}
|
|
39
|
-
await
|
|
40
|
-
|
|
41
|
-
const endpoint = getSdkAgentRpcEndpointPath(this.agent.path, this.agent.id);
|
|
42
|
-
await fs.ensureDir(path.dirname(endpoint));
|
|
43
|
-
await fs.remove(endpoint).catch(() => undefined);
|
|
44
|
-
|
|
45
|
-
const server = net.createServer((socket) => {
|
|
46
|
-
let buffered = "";
|
|
47
|
-
socket.setEncoding("utf8");
|
|
48
|
-
socket.on("data", (chunk) => {
|
|
49
|
-
buffered += String(chunk || "");
|
|
50
|
-
const newlineIndex = buffered.indexOf("\n");
|
|
51
|
-
if (newlineIndex < 0) return;
|
|
52
|
-
const raw = buffered.slice(0, newlineIndex).trim();
|
|
53
|
-
buffered = buffered.slice(newlineIndex + 1);
|
|
54
|
-
void this.respond(raw, socket);
|
|
55
|
-
});
|
|
31
|
+
const server = await startLocalRpcServer({
|
|
32
|
+
core: this.agent.core,
|
|
56
33
|
});
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
server
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
resolve();
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
this.server = server;
|
|
67
|
-
this.endpoint = endpoint;
|
|
68
|
-
return { endpoint };
|
|
34
|
+
this.binding = {
|
|
35
|
+
endpoint: server.endpoint,
|
|
36
|
+
server,
|
|
37
|
+
};
|
|
38
|
+
return this.binding;
|
|
69
39
|
}
|
|
70
40
|
|
|
71
41
|
/**
|
|
72
42
|
* 停止本地 RPC server。
|
|
73
43
|
*/
|
|
74
44
|
async stop(): Promise<void> {
|
|
75
|
-
if (!this.
|
|
76
|
-
const current = this.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.endpoint = null;
|
|
80
|
-
await new Promise<void>((resolve) => current.close(() => resolve()));
|
|
81
|
-
if (endpoint) {
|
|
82
|
-
await fs.remove(endpoint).catch(() => undefined);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
private async respond(raw: string, socket: net.Socket): Promise<void> {
|
|
87
|
-
let request: LocalRpcRequest | null = null;
|
|
88
|
-
try {
|
|
89
|
-
request = JSON.parse(raw) as LocalRpcRequest;
|
|
90
|
-
} catch {
|
|
91
|
-
socket.write(
|
|
92
|
-
`${JSON.stringify({
|
|
93
|
-
requestId: "unknown",
|
|
94
|
-
status: 400,
|
|
95
|
-
success: false,
|
|
96
|
-
error: "Invalid RPC JSON payload",
|
|
97
|
-
} satisfies LocalRpcResponse)}\n`,
|
|
98
|
-
);
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const response = await this.dispatch(request);
|
|
103
|
-
socket.write(`${JSON.stringify(response)}\n`);
|
|
45
|
+
if (!this.binding) return;
|
|
46
|
+
const current = this.binding;
|
|
47
|
+
this.binding = null;
|
|
48
|
+
await current.server.stop();
|
|
104
49
|
}
|
|
105
50
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
requestId,
|
|
112
|
-
status: 200,
|
|
113
|
-
success: true,
|
|
114
|
-
data: {
|
|
115
|
-
success: true,
|
|
116
|
-
sessions: await this.agent.sessions(),
|
|
117
|
-
} as unknown as LocalRpcResponse["data"],
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
if (request.method === "POST" && request.path === "/api/sdk/sessions") {
|
|
122
|
-
const body =
|
|
123
|
-
request.body && typeof request.body === "object" && !Array.isArray(request.body)
|
|
124
|
-
? request.body
|
|
125
|
-
: {};
|
|
126
|
-
const session = await this.agent.session(
|
|
127
|
-
typeof body.sessionId === "string" ? body.sessionId : undefined,
|
|
128
|
-
);
|
|
129
|
-
return {
|
|
130
|
-
requestId,
|
|
131
|
-
status: 200,
|
|
132
|
-
success: true,
|
|
133
|
-
data: {
|
|
134
|
-
success: true,
|
|
135
|
-
session: await session.toMetadata(),
|
|
136
|
-
} as unknown as LocalRpcResponse["data"],
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const runMatch = /^\/api\/sdk\/sessions\/([^/]+)\/run$/.exec(request.path);
|
|
141
|
-
if (request.method === "POST" && runMatch) {
|
|
142
|
-
const session = await this.agent.session(
|
|
143
|
-
decodeURIComponent(runMatch[1] || ""),
|
|
144
|
-
);
|
|
145
|
-
const body =
|
|
146
|
-
request.body && typeof request.body === "object" && !Array.isArray(request.body)
|
|
147
|
-
? request.body
|
|
148
|
-
: {};
|
|
149
|
-
const query = String(body.query || "").trim();
|
|
150
|
-
if (!query) {
|
|
151
|
-
return {
|
|
152
|
-
requestId,
|
|
153
|
-
status: 400,
|
|
154
|
-
success: false,
|
|
155
|
-
error: "query is required",
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
return {
|
|
159
|
-
requestId,
|
|
160
|
-
status: 200,
|
|
161
|
-
success: true,
|
|
162
|
-
data: {
|
|
163
|
-
success: true,
|
|
164
|
-
sessionId: session.id,
|
|
165
|
-
result: await session.run({ query }),
|
|
166
|
-
} as unknown as LocalRpcResponse["data"],
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
const forkMatch = /^\/api\/sdk\/sessions\/([^/]+)\/fork$/.exec(request.path);
|
|
171
|
-
if (request.method === "POST" && forkMatch) {
|
|
172
|
-
const session = await this.agent.session(
|
|
173
|
-
decodeURIComponent(forkMatch[1] || ""),
|
|
174
|
-
);
|
|
175
|
-
const body =
|
|
176
|
-
request.body && typeof request.body === "object" && !Array.isArray(request.body)
|
|
177
|
-
? request.body
|
|
178
|
-
: {};
|
|
179
|
-
const forked = await session.fork(
|
|
180
|
-
typeof body.messageId === "string" ? body.messageId : undefined,
|
|
181
|
-
);
|
|
182
|
-
return {
|
|
183
|
-
requestId,
|
|
184
|
-
status: 200,
|
|
185
|
-
success: true,
|
|
186
|
-
data: {
|
|
187
|
-
success: true,
|
|
188
|
-
session: await forked.toMetadata(),
|
|
189
|
-
} as unknown as LocalRpcResponse["data"],
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
const messagesMatch =
|
|
194
|
-
/^\/api\/sdk\/sessions\/([^/]+)\/messages$/.exec(request.path);
|
|
195
|
-
if (request.method === "GET" && messagesMatch) {
|
|
196
|
-
const session = await this.agent.session(
|
|
197
|
-
decodeURIComponent(messagesMatch[1] || ""),
|
|
198
|
-
);
|
|
199
|
-
return {
|
|
200
|
-
requestId,
|
|
201
|
-
status: 200,
|
|
202
|
-
success: true,
|
|
203
|
-
data: {
|
|
204
|
-
success: true,
|
|
205
|
-
sessionId: session.id,
|
|
206
|
-
messages: await session.history(),
|
|
207
|
-
} as unknown as LocalRpcResponse["data"],
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
const systemMatch =
|
|
212
|
-
/^\/api\/sdk\/sessions\/([^/]+)\/system$/.exec(request.path);
|
|
213
|
-
if (request.method === "GET" && systemMatch) {
|
|
214
|
-
const session = await this.agent.session(
|
|
215
|
-
decodeURIComponent(systemMatch[1] || ""),
|
|
216
|
-
);
|
|
217
|
-
return {
|
|
218
|
-
requestId,
|
|
219
|
-
status: 200,
|
|
220
|
-
success: true,
|
|
221
|
-
data: {
|
|
222
|
-
success: true,
|
|
223
|
-
sessionId: session.id,
|
|
224
|
-
system: await session.system(),
|
|
225
|
-
} as unknown as LocalRpcResponse["data"],
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
return {
|
|
230
|
-
requestId,
|
|
231
|
-
status: 404,
|
|
232
|
-
success: false,
|
|
233
|
-
error: `Unknown RPC path: ${request.method} ${request.path}`,
|
|
234
|
-
};
|
|
235
|
-
} catch (error) {
|
|
236
|
-
return {
|
|
237
|
-
requestId,
|
|
238
|
-
status: 500,
|
|
239
|
-
success: false,
|
|
240
|
-
error: error instanceof Error ? error.message : String(error),
|
|
241
|
-
};
|
|
242
|
-
}
|
|
51
|
+
/**
|
|
52
|
+
* 返回当前是否已启动。
|
|
53
|
+
*/
|
|
54
|
+
isStarted(): boolean {
|
|
55
|
+
return this.binding !== null;
|
|
243
56
|
}
|
|
244
57
|
}
|