@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.
Files changed (463) hide show
  1. package/bin/{runtime → core}/AgentContextTypes.d.ts +6 -6
  2. package/bin/core/AgentContextTypes.d.ts.map +1 -0
  3. package/bin/{runtime → core}/AgentContextTypes.js +2 -2
  4. package/bin/core/AgentContextTypes.js.map +1 -0
  5. package/bin/core/AgentCore.d.ts +87 -0
  6. package/bin/core/AgentCore.d.ts.map +1 -0
  7. package/bin/core/AgentCore.js +467 -0
  8. package/bin/core/AgentCore.js.map +1 -0
  9. package/bin/{runtime/AgentRuntimeTypes.d.ts → core/AgentCoreTypes.d.ts} +7 -7
  10. package/bin/core/AgentCoreTypes.d.ts.map +1 -0
  11. package/bin/core/AgentCoreTypes.js +10 -0
  12. package/bin/core/AgentCoreTypes.js.map +1 -0
  13. package/bin/host/runtime/PluginRuntime.d.ts +1 -1
  14. package/bin/host/runtime/PluginRuntime.d.ts.map +1 -1
  15. package/bin/index.d.ts +6 -8
  16. package/bin/index.d.ts.map +1 -1
  17. package/bin/index.js +2 -5
  18. package/bin/index.js.map +1 -1
  19. package/bin/plugin/builtins/asr/InboundAugment.d.ts +1 -1
  20. package/bin/plugin/builtins/asr/InboundAugment.d.ts.map +1 -1
  21. package/bin/plugin/builtins/auth/runtime/AuthorizationConfig.d.ts +1 -1
  22. package/bin/plugin/builtins/auth/runtime/AuthorizationConfig.d.ts.map +1 -1
  23. package/bin/plugin/builtins/auth/runtime/AuthorizationStore.d.ts +1 -1
  24. package/bin/plugin/builtins/auth/runtime/AuthorizationStore.d.ts.map +1 -1
  25. package/bin/plugin/builtins/voice/InboundAugment.d.ts +1 -1
  26. package/bin/plugin/builtins/voice/InboundAugment.d.ts.map +1 -1
  27. package/bin/plugin/builtins/workboard/runtime/Collector.d.ts +1 -1
  28. package/bin/plugin/builtins/workboard/runtime/Collector.d.ts.map +1 -1
  29. package/bin/plugin/builtins/workboard/runtime/Collector.js +1 -1
  30. package/bin/plugin/builtins/workboard/runtime/Collector.js.map +1 -1
  31. package/bin/plugin/builtins/workboard/runtime/Normalizer.d.ts +1 -1
  32. package/bin/plugin/builtins/workboard/runtime/Normalizer.d.ts.map +1 -1
  33. package/bin/plugin/builtins/workboard/runtime/Store.d.ts +1 -1
  34. package/bin/plugin/builtins/workboard/runtime/Store.d.ts.map +1 -1
  35. package/bin/plugin/core/Activation.d.ts +2 -2
  36. package/bin/plugin/core/Activation.d.ts.map +1 -1
  37. package/bin/plugin/core/HookRegistry.d.ts +1 -1
  38. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  39. package/bin/plugin/core/HttpRoutes.d.ts +1 -1
  40. package/bin/plugin/core/HttpRoutes.d.ts.map +1 -1
  41. package/bin/plugin/core/LocalExecution.d.ts.map +1 -1
  42. package/bin/plugin/core/LocalExecution.js +18 -20
  43. package/bin/plugin/core/LocalExecution.js.map +1 -1
  44. package/bin/plugin/core/PluginRegistry.d.ts +1 -1
  45. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  46. package/bin/plugin/types/Plugin.d.ts +1 -1
  47. package/bin/plugin/types/Plugin.d.ts.map +1 -1
  48. package/bin/sandbox/SandboxConfigResolver.d.ts +1 -1
  49. package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -1
  50. package/bin/sandbox/SandboxRunner.d.ts +1 -1
  51. package/bin/sandbox/SandboxRunner.d.ts.map +1 -1
  52. package/bin/sdk/Agent.d.ts +25 -23
  53. package/bin/sdk/Agent.d.ts.map +1 -1
  54. package/bin/sdk/Agent.js +86 -365
  55. package/bin/sdk/Agent.js.map +1 -1
  56. package/bin/sdk/AgentSdkTypes.d.ts +138 -0
  57. package/bin/sdk/AgentSdkTypes.d.ts.map +1 -1
  58. package/bin/sdk/HttpServer.d.ts +9 -19
  59. package/bin/sdk/HttpServer.d.ts.map +1 -1
  60. package/bin/sdk/HttpServer.js +26 -156
  61. package/bin/sdk/HttpServer.js.map +1 -1
  62. package/bin/sdk/RpcServer.d.ts +9 -10
  63. package/bin/sdk/RpcServer.d.ts.map +1 -1
  64. package/bin/sdk/RpcServer.js +22 -178
  65. package/bin/sdk/RpcServer.js.map +1 -1
  66. package/bin/sdk/Session.d.ts +2 -2
  67. package/bin/sdk/Session.d.ts.map +1 -1
  68. package/bin/sdk/Session.js +7 -1
  69. package/bin/sdk/Session.js.map +1 -1
  70. package/bin/sdk/SessionServicePort.d.ts +1 -1
  71. package/bin/sdk/SessionServicePort.d.ts.map +1 -1
  72. package/bin/server/http/Server.d.ts +10 -1
  73. package/bin/server/http/Server.d.ts.map +1 -1
  74. package/bin/server/http/Server.js +41 -15
  75. package/bin/server/http/Server.js.map +1 -1
  76. package/bin/server/http/control/AuthControlService.d.ts +1 -1
  77. package/bin/server/http/control/AuthControlService.d.ts.map +1 -1
  78. package/bin/server/http/control/ControlAuthorizationRoutes.d.ts +1 -1
  79. package/bin/server/http/control/ControlAuthorizationRoutes.d.ts.map +1 -1
  80. package/bin/server/http/control/ControlRouter.d.ts +18 -2
  81. package/bin/server/http/control/ControlRouter.d.ts.map +1 -1
  82. package/bin/server/http/control/ControlRouter.js +10 -8
  83. package/bin/server/http/control/ControlRouter.js.map +1 -1
  84. package/bin/server/http/control/ExecuteBySession.d.ts +2 -2
  85. package/bin/server/http/control/ExecuteBySession.d.ts.map +1 -1
  86. package/bin/server/http/control/OverviewRoutes.d.ts.map +1 -1
  87. package/bin/server/http/control/OverviewRoutes.js +6 -2
  88. package/bin/server/http/control/OverviewRoutes.js.map +1 -1
  89. package/bin/server/http/control/SessionSummaryStore.d.ts +1 -1
  90. package/bin/server/http/control/SessionSummaryStore.d.ts.map +1 -1
  91. package/bin/server/http/control/types/ControlRoutes.d.ts +2 -2
  92. package/bin/server/http/control/types/ControlRoutes.d.ts.map +1 -1
  93. package/bin/server/http/execute/execute.d.ts +13 -2
  94. package/bin/server/http/execute/execute.d.ts.map +1 -1
  95. package/bin/server/http/execute/execute.js +73 -71
  96. package/bin/server/http/execute/execute.js.map +1 -1
  97. package/bin/server/http/plugins/plugins.d.ts +13 -2
  98. package/bin/server/http/plugins/plugins.d.ts.map +1 -1
  99. package/bin/server/http/plugins/plugins.js +42 -40
  100. package/bin/server/http/plugins/plugins.js.map +1 -1
  101. package/bin/server/http/services/services.d.ts +12 -8
  102. package/bin/server/http/services/services.d.ts.map +1 -1
  103. package/bin/server/http/services/services.js +57 -64
  104. package/bin/server/http/services/services.js.map +1 -1
  105. package/bin/server/http/static/static.d.ts +13 -2
  106. package/bin/server/http/static/static.d.ts.map +1 -1
  107. package/bin/server/http/static/static.js +81 -79
  108. package/bin/server/http/static/static.js.map +1 -1
  109. package/bin/server/rpc/Server.d.ts +5 -3
  110. package/bin/server/rpc/Server.d.ts.map +1 -1
  111. package/bin/server/rpc/Server.js +22 -12
  112. package/bin/server/rpc/Server.js.map +1 -1
  113. package/bin/service/builtins/BaseService.d.ts +2 -2
  114. package/bin/service/builtins/BaseService.d.ts.map +1 -1
  115. package/bin/service/builtins/chat/Action.d.ts +1 -1
  116. package/bin/service/builtins/chat/Action.d.ts.map +1 -1
  117. package/bin/service/builtins/chat/ChatService.d.ts +2 -2
  118. package/bin/service/builtins/chat/ChatService.d.ts.map +1 -1
  119. package/bin/service/builtins/chat/ChatServiceTypes.d.ts +1 -1
  120. package/bin/service/builtins/chat/ChatServiceTypes.d.ts.map +1 -1
  121. package/bin/service/builtins/chat/channels/BaseChatChannel.d.ts +1 -1
  122. package/bin/service/builtins/chat/channels/BaseChatChannel.d.ts.map +1 -1
  123. package/bin/service/builtins/chat/channels/BaseChatChannelQueue.d.ts +1 -1
  124. package/bin/service/builtins/chat/channels/BaseChatChannelQueue.d.ts.map +1 -1
  125. package/bin/service/builtins/chat/channels/BaseChatChannelSupport.d.ts +1 -1
  126. package/bin/service/builtins/chat/channels/BaseChatChannelSupport.d.ts.map +1 -1
  127. package/bin/service/builtins/chat/channels/feishu/Feishu.d.ts +1 -1
  128. package/bin/service/builtins/chat/channels/feishu/Feishu.d.ts.map +1 -1
  129. package/bin/service/builtins/chat/channels/feishu/FeishuMessageHandler.d.ts +1 -1
  130. package/bin/service/builtins/chat/channels/feishu/FeishuMessageHandler.d.ts.map +1 -1
  131. package/bin/service/builtins/chat/channels/feishu/FeishuPlatformClient.d.ts +1 -1
  132. package/bin/service/builtins/chat/channels/feishu/FeishuPlatformClient.d.ts.map +1 -1
  133. package/bin/service/builtins/chat/channels/qq/QQ.d.ts +1 -1
  134. package/bin/service/builtins/chat/channels/qq/QQ.d.ts.map +1 -1
  135. package/bin/service/builtins/chat/channels/qq/QQMessageHandler.d.ts +1 -1
  136. package/bin/service/builtins/chat/channels/qq/QQMessageHandler.d.ts.map +1 -1
  137. package/bin/service/builtins/chat/channels/qq/QQSupport.d.ts +1 -1
  138. package/bin/service/builtins/chat/channels/qq/QQSupport.d.ts.map +1 -1
  139. package/bin/service/builtins/chat/channels/telegram/Bot.d.ts +1 -1
  140. package/bin/service/builtins/chat/channels/telegram/Bot.d.ts.map +1 -1
  141. package/bin/service/builtins/chat/channels/telegram/TelegramMessageHandler.d.ts +1 -1
  142. package/bin/service/builtins/chat/channels/telegram/TelegramMessageHandler.d.ts.map +1 -1
  143. package/bin/service/builtins/chat/channels/telegram/TelegramPlatformClient.d.ts +1 -1
  144. package/bin/service/builtins/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
  145. package/bin/service/builtins/chat/runtime/ChannelContextStore.d.ts +1 -1
  146. package/bin/service/builtins/chat/runtime/ChannelContextStore.d.ts.map +1 -1
  147. package/bin/service/builtins/chat/runtime/ChatActionExecution.d.ts +1 -1
  148. package/bin/service/builtins/chat/runtime/ChatActionExecution.d.ts.map +1 -1
  149. package/bin/service/builtins/chat/runtime/ChatActionInput.d.ts +3 -36
  150. package/bin/service/builtins/chat/runtime/ChatActionInput.d.ts.map +1 -1
  151. package/bin/service/builtins/chat/runtime/ChatActionInput.js +3 -118
  152. package/bin/service/builtins/chat/runtime/ChatActionInput.js.map +1 -1
  153. package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts +1 -1
  154. package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts.map +1 -1
  155. package/bin/service/builtins/chat/runtime/ChatChannelConfig.d.ts +1 -1
  156. package/bin/service/builtins/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
  157. package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts +1 -1
  158. package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts.map +1 -1
  159. package/bin/service/builtins/chat/runtime/ChatChannelLifecycle.d.ts +1 -1
  160. package/bin/service/builtins/chat/runtime/ChatChannelLifecycle.d.ts.map +1 -1
  161. package/bin/service/builtins/chat/runtime/ChatHistoryStore.d.ts +1 -1
  162. package/bin/service/builtins/chat/runtime/ChatHistoryStore.d.ts.map +1 -1
  163. package/bin/service/builtins/chat/runtime/ChatIngressStore.d.ts +1 -1
  164. package/bin/service/builtins/chat/runtime/ChatIngressStore.d.ts.map +1 -1
  165. package/bin/service/builtins/chat/runtime/ChatMetaStore.d.ts +1 -1
  166. package/bin/service/builtins/chat/runtime/ChatMetaStore.d.ts.map +1 -1
  167. package/bin/service/builtins/chat/runtime/ChatQueueReplyDispatch.d.ts +1 -1
  168. package/bin/service/builtins/chat/runtime/ChatQueueReplyDispatch.d.ts.map +1 -1
  169. package/bin/service/builtins/chat/runtime/ChatQueueSessionBridge.d.ts +1 -1
  170. package/bin/service/builtins/chat/runtime/ChatQueueSessionBridge.d.ts.map +1 -1
  171. package/bin/service/builtins/chat/runtime/ChatQueueStore.d.ts +1 -1
  172. package/bin/service/builtins/chat/runtime/ChatQueueStore.d.ts.map +1 -1
  173. package/bin/service/builtins/chat/runtime/ChatQueueWorker.d.ts +1 -1
  174. package/bin/service/builtins/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
  175. package/bin/service/builtins/chat/runtime/ChatServiceActions.d.ts +1 -1
  176. package/bin/service/builtins/chat/runtime/ChatServiceActions.d.ts.map +1 -1
  177. package/bin/service/builtins/chat/runtime/ChatServiceActions.js +2 -109
  178. package/bin/service/builtins/chat/runtime/ChatServiceActions.js.map +1 -1
  179. package/bin/service/builtins/chat/runtime/ChatServiceSystem.d.ts +1 -1
  180. package/bin/service/builtins/chat/runtime/ChatServiceSystem.d.ts.map +1 -1
  181. package/bin/service/builtins/chat/runtime/ChatSessionDelete.d.ts +1 -1
  182. package/bin/service/builtins/chat/runtime/ChatSessionDelete.d.ts.map +1 -1
  183. package/bin/service/builtins/chat/runtime/ChatkeySend.d.ts +1 -1
  184. package/bin/service/builtins/chat/runtime/ChatkeySend.d.ts.map +1 -1
  185. package/bin/service/builtins/chat/runtime/EnqueueDispatch.d.ts +1 -1
  186. package/bin/service/builtins/chat/runtime/EnqueueDispatch.d.ts.map +1 -1
  187. package/bin/service/builtins/chat/runtime/InboundAugment.d.ts +1 -1
  188. package/bin/service/builtins/chat/runtime/InboundAugment.d.ts.map +1 -1
  189. package/bin/service/builtins/chat/runtime/PluginDispatch.d.ts +1 -1
  190. package/bin/service/builtins/chat/runtime/PluginDispatch.d.ts.map +1 -1
  191. package/bin/service/builtins/chat/runtime/ReplyDispatch.d.ts +1 -1
  192. package/bin/service/builtins/chat/runtime/ReplyDispatch.d.ts.map +1 -1
  193. package/bin/service/builtins/chat/runtime/SystemPrompt.d.ts +1 -1
  194. package/bin/service/builtins/chat/runtime/SystemPrompt.d.ts.map +1 -1
  195. package/bin/service/builtins/contact/Action.d.ts +2 -2
  196. package/bin/service/builtins/contact/Action.d.ts.map +1 -1
  197. package/bin/service/builtins/contact/Action.js +2 -58
  198. package/bin/service/builtins/contact/Action.js.map +1 -1
  199. package/bin/service/builtins/contact/ContactService.d.ts +1 -1
  200. package/bin/service/builtins/contact/ContactService.d.ts.map +1 -1
  201. package/bin/service/builtins/contact/runtime/ChatRuntime.d.ts +1 -1
  202. package/bin/service/builtins/contact/runtime/ChatRuntime.d.ts.map +1 -1
  203. package/bin/service/builtins/contact/runtime/ContactPayload.d.ts +0 -7
  204. package/bin/service/builtins/contact/runtime/ContactPayload.d.ts.map +1 -1
  205. package/bin/service/builtins/contact/runtime/ContactPayload.js +0 -9
  206. package/bin/service/builtins/contact/runtime/ContactPayload.js.map +1 -1
  207. package/bin/service/builtins/contact/runtime/RemoteClient.d.ts +1 -1
  208. package/bin/service/builtins/contact/runtime/RemoteClient.d.ts.map +1 -1
  209. package/bin/service/builtins/contact/runtime/RemoteClient.js +37 -19
  210. package/bin/service/builtins/contact/runtime/RemoteClient.js.map +1 -1
  211. package/bin/service/builtins/contact/runtime/ShareBundle.d.ts +1 -1
  212. package/bin/service/builtins/contact/runtime/ShareBundle.d.ts.map +1 -1
  213. package/bin/service/builtins/memory/Action.d.ts +1 -1
  214. package/bin/service/builtins/memory/Action.d.ts.map +1 -1
  215. package/bin/service/builtins/memory/MemoryService.d.ts +1 -1
  216. package/bin/service/builtins/memory/MemoryService.d.ts.map +1 -1
  217. package/bin/service/builtins/memory/MemoryService.js +0 -27
  218. package/bin/service/builtins/memory/MemoryService.js.map +1 -1
  219. package/bin/service/builtins/memory/runtime/Flush.d.ts +1 -1
  220. package/bin/service/builtins/memory/runtime/Flush.d.ts.map +1 -1
  221. package/bin/service/builtins/memory/runtime/Search.d.ts +1 -1
  222. package/bin/service/builtins/memory/runtime/Search.d.ts.map +1 -1
  223. package/bin/service/builtins/memory/runtime/Store.d.ts +1 -1
  224. package/bin/service/builtins/memory/runtime/Store.d.ts.map +1 -1
  225. package/bin/service/builtins/memory/runtime/SystemProvider.d.ts +1 -1
  226. package/bin/service/builtins/memory/runtime/SystemProvider.d.ts.map +1 -1
  227. package/bin/service/builtins/memory/runtime/Writer.d.ts +1 -1
  228. package/bin/service/builtins/memory/runtime/Writer.d.ts.map +1 -1
  229. package/bin/service/builtins/schedule/ScheduleService.d.ts +39 -0
  230. package/bin/service/builtins/schedule/ScheduleService.d.ts.map +1 -0
  231. package/bin/service/builtins/schedule/ScheduleService.js +106 -0
  232. package/bin/service/builtins/schedule/ScheduleService.js.map +1 -0
  233. package/bin/service/builtins/shell/ShellRuntimeTypes.d.ts +1 -1
  234. package/bin/service/builtins/shell/ShellRuntimeTypes.d.ts.map +1 -1
  235. package/bin/service/builtins/shell/ShellService.d.ts +2 -2
  236. package/bin/service/builtins/shell/ShellService.d.ts.map +1 -1
  237. package/bin/service/builtins/shell/runtime/ShellActionResponse.d.ts +1 -1
  238. package/bin/service/builtins/shell/runtime/ShellActionResponse.d.ts.map +1 -1
  239. package/bin/service/builtins/shell/runtime/ShellActionRuntime.d.ts +1 -1
  240. package/bin/service/builtins/shell/runtime/ShellActionRuntime.d.ts.map +1 -1
  241. package/bin/service/builtins/shell/runtime/ShellActionRuntimeSupport.d.ts +1 -1
  242. package/bin/service/builtins/shell/runtime/ShellActionRuntimeSupport.d.ts.map +1 -1
  243. package/bin/service/builtins/shell/runtime/ShellRuntimeEnvironment.d.ts +1 -1
  244. package/bin/service/builtins/shell/runtime/ShellRuntimeEnvironment.d.ts.map +1 -1
  245. package/bin/service/builtins/task/Action.d.ts +1 -1
  246. package/bin/service/builtins/task/Action.d.ts.map +1 -1
  247. package/bin/service/builtins/task/Scheduler.d.ts +1 -1
  248. package/bin/service/builtins/task/Scheduler.d.ts.map +1 -1
  249. package/bin/service/builtins/task/TaskService.d.ts +2 -2
  250. package/bin/service/builtins/task/TaskService.d.ts.map +1 -1
  251. package/bin/service/builtins/task/runtime/CronRuntime.d.ts +1 -1
  252. package/bin/service/builtins/task/runtime/CronRuntime.d.ts.map +1 -1
  253. package/bin/service/builtins/task/runtime/Runner.d.ts +1 -1
  254. package/bin/service/builtins/task/runtime/Runner.d.ts.map +1 -1
  255. package/bin/service/builtins/task/runtime/TaskActionExecution.d.ts +1 -1
  256. package/bin/service/builtins/task/runtime/TaskActionExecution.d.ts.map +1 -1
  257. package/bin/service/builtins/task/runtime/TaskActionInput.d.ts +2 -31
  258. package/bin/service/builtins/task/runtime/TaskActionInput.d.ts.map +1 -1
  259. package/bin/service/builtins/task/runtime/TaskActionInput.js +2 -141
  260. package/bin/service/builtins/task/runtime/TaskActionInput.js.map +1 -1
  261. package/bin/service/builtins/task/runtime/TaskRunChatDispatch.d.ts +1 -1
  262. package/bin/service/builtins/task/runtime/TaskRunChatDispatch.d.ts.map +1 -1
  263. package/bin/service/builtins/task/runtime/TaskRunnerRound.d.ts +1 -1
  264. package/bin/service/builtins/task/runtime/TaskRunnerRound.d.ts.map +1 -1
  265. package/bin/service/builtins/task/runtime/TaskRunnerScript.d.ts +1 -1
  266. package/bin/service/builtins/task/runtime/TaskRunnerScript.d.ts.map +1 -1
  267. package/bin/service/builtins/task/runtime/TaskRunnerSession.d.ts +1 -1
  268. package/bin/service/builtins/task/runtime/TaskRunnerSession.d.ts.map +1 -1
  269. package/bin/service/builtins/task/runtime/TaskServiceActions.d.ts +1 -1
  270. package/bin/service/builtins/task/runtime/TaskServiceActions.d.ts.map +1 -1
  271. package/bin/service/builtins/task/runtime/TaskServiceActions.js +2 -30
  272. package/bin/service/builtins/task/runtime/TaskServiceActions.js.map +1 -1
  273. package/bin/service/core/Manager.d.ts +0 -1
  274. package/bin/service/core/Manager.d.ts.map +1 -1
  275. package/bin/service/core/Manager.js +0 -1
  276. package/bin/service/core/Manager.js.map +1 -1
  277. package/bin/service/core/ServiceActionRunner.d.ts +1 -1
  278. package/bin/service/core/ServiceActionRunner.d.ts.map +1 -1
  279. package/bin/service/core/ServiceActionRunner.js +3 -1
  280. package/bin/service/core/ServiceActionRunner.js.map +1 -1
  281. package/bin/service/core/ServiceClassRegistry.d.ts +1 -1
  282. package/bin/service/core/ServiceClassRegistry.d.ts.map +1 -1
  283. package/bin/service/core/ServiceCommandRequest.d.ts +36 -0
  284. package/bin/service/core/ServiceCommandRequest.d.ts.map +1 -0
  285. package/bin/service/core/ServiceCommandRequest.js +53 -0
  286. package/bin/service/core/ServiceCommandRequest.js.map +1 -0
  287. package/bin/service/core/ServiceManager.d.ts +1 -1
  288. package/bin/service/core/ServiceManager.d.ts.map +1 -1
  289. package/bin/service/core/ServiceStateController.d.ts +20 -7
  290. package/bin/service/core/ServiceStateController.d.ts.map +1 -1
  291. package/bin/service/core/ServiceStateController.js +23 -20
  292. package/bin/service/core/ServiceStateController.js.map +1 -1
  293. package/bin/service/core/ServiceSystemProviders.d.ts +1 -1
  294. package/bin/service/core/ServiceSystemProviders.d.ts.map +1 -1
  295. package/bin/service/core/Services.d.ts +1 -1
  296. package/bin/service/core/Services.d.ts.map +1 -1
  297. package/bin/service/core/Services.js +2 -0
  298. package/bin/service/core/Services.js.map +1 -1
  299. package/bin/service/schedule/Executor.d.ts +1 -1
  300. package/bin/service/schedule/Executor.d.ts.map +1 -1
  301. package/bin/service/types/Service.d.ts +1 -23
  302. package/bin/service/types/Service.d.ts.map +1 -1
  303. package/bin/session/composer/system/default/DefaultSessionSystemComposer.d.ts +1 -1
  304. package/bin/session/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  305. package/bin/session/composer/system/default/SystemDomain.d.ts +1 -1
  306. package/bin/session/composer/system/default/SystemDomain.d.ts.map +1 -1
  307. package/bin/session/tools/shell/ShellToolBridge.d.ts +1 -1
  308. package/bin/session/tools/shell/ShellToolBridge.d.ts.map +1 -1
  309. package/package.json +1 -1
  310. package/src/{runtime → core}/AgentContextTypes.ts +6 -7
  311. package/src/core/AgentCore.ts +527 -0
  312. package/src/{runtime/AgentRuntimeTypes.ts → core/AgentCoreTypes.ts} +6 -6
  313. package/src/host/runtime/PluginRuntime.ts +1 -1
  314. package/src/index.ts +24 -21
  315. package/src/plugin/builtins/asr/InboundAugment.ts +1 -1
  316. package/src/plugin/builtins/auth/runtime/AuthorizationConfig.ts +1 -1
  317. package/src/plugin/builtins/auth/runtime/AuthorizationStore.ts +1 -1
  318. package/src/plugin/builtins/voice/InboundAugment.ts +1 -1
  319. package/src/plugin/builtins/workboard/runtime/Collector.ts +2 -2
  320. package/src/plugin/builtins/workboard/runtime/Normalizer.ts +1 -1
  321. package/src/plugin/builtins/workboard/runtime/Store.ts +1 -1
  322. package/src/plugin/core/Activation.ts +2 -2
  323. package/src/plugin/core/HookRegistry.ts +1 -1
  324. package/src/plugin/core/HttpRoutes.ts +1 -1
  325. package/src/plugin/core/LocalExecution.ts +21 -20
  326. package/src/plugin/core/PluginRegistry.ts +1 -1
  327. package/src/plugin/types/Plugin.ts +1 -1
  328. package/src/sandbox/SandboxConfigResolver.ts +1 -1
  329. package/src/sandbox/SandboxRunner.ts +1 -1
  330. package/src/sdk/Agent.ts +99 -393
  331. package/src/sdk/AgentSdkTypes.ts +158 -0
  332. package/src/sdk/HttpServer.ts +27 -192
  333. package/src/sdk/RpcServer.ts +24 -211
  334. package/src/sdk/Session.ts +12 -2
  335. package/src/sdk/SessionServicePort.ts +1 -1
  336. package/src/server/http/Server.ts +63 -18
  337. package/src/server/http/control/AuthControlService.ts +1 -1
  338. package/src/server/http/control/ControlAuthorizationRoutes.ts +1 -1
  339. package/src/server/http/control/ControlRouter.ts +27 -11
  340. package/src/server/http/control/ExecuteBySession.ts +2 -2
  341. package/src/server/http/control/OverviewRoutes.ts +6 -2
  342. package/src/server/http/control/SessionSummaryStore.ts +1 -1
  343. package/src/server/http/control/types/ControlRoutes.ts +2 -2
  344. package/src/server/http/execute/execute.ts +107 -91
  345. package/src/server/http/plugins/plugins.ts +60 -44
  346. package/src/server/http/services/services.ts +68 -64
  347. package/src/server/http/static/static.ts +95 -79
  348. package/src/server/rpc/Server.ts +26 -15
  349. package/src/service/builtins/BaseService.ts +2 -2
  350. package/src/service/builtins/chat/Action.ts +1 -1
  351. package/src/service/builtins/chat/ChatService.ts +2 -2
  352. package/src/service/builtins/chat/ChatServiceTypes.ts +1 -1
  353. package/src/service/builtins/chat/channels/BaseChatChannel.ts +1 -1
  354. package/src/service/builtins/chat/channels/BaseChatChannelQueue.ts +1 -1
  355. package/src/service/builtins/chat/channels/BaseChatChannelSupport.ts +1 -1
  356. package/src/service/builtins/chat/channels/feishu/Feishu.ts +1 -1
  357. package/src/service/builtins/chat/channels/feishu/FeishuMessageHandler.ts +1 -1
  358. package/src/service/builtins/chat/channels/feishu/FeishuPlatformClient.ts +1 -1
  359. package/src/service/builtins/chat/channels/qq/QQ.ts +1 -1
  360. package/src/service/builtins/chat/channels/qq/QQMessageHandler.ts +1 -1
  361. package/src/service/builtins/chat/channels/qq/QQSupport.ts +1 -1
  362. package/src/service/builtins/chat/channels/telegram/Bot.ts +1 -1
  363. package/src/service/builtins/chat/channels/telegram/TelegramMessageHandler.ts +1 -1
  364. package/src/service/builtins/chat/channels/telegram/TelegramPlatformClient.ts +1 -1
  365. package/src/service/builtins/chat/runtime/ChannelContextStore.ts +1 -1
  366. package/src/service/builtins/chat/runtime/ChatActionExecution.ts +1 -1
  367. package/src/service/builtins/chat/runtime/ChatActionInput.ts +2 -158
  368. package/src/service/builtins/chat/runtime/ChatChannelActions.ts +1 -1
  369. package/src/service/builtins/chat/runtime/ChatChannelConfig.ts +1 -1
  370. package/src/service/builtins/chat/runtime/ChatChannelCore.ts +1 -1
  371. package/src/service/builtins/chat/runtime/ChatChannelLifecycle.ts +1 -1
  372. package/src/service/builtins/chat/runtime/ChatHistoryStore.ts +1 -1
  373. package/src/service/builtins/chat/runtime/ChatIngressStore.ts +1 -1
  374. package/src/service/builtins/chat/runtime/ChatMetaStore.ts +1 -1
  375. package/src/service/builtins/chat/runtime/ChatQueueReplyDispatch.ts +1 -1
  376. package/src/service/builtins/chat/runtime/ChatQueueSessionBridge.ts +1 -1
  377. package/src/service/builtins/chat/runtime/ChatQueueStore.ts +1 -1
  378. package/src/service/builtins/chat/runtime/ChatQueueWorker.ts +1 -1
  379. package/src/service/builtins/chat/runtime/ChatServiceActions.ts +1 -118
  380. package/src/service/builtins/chat/runtime/ChatServiceSystem.ts +1 -1
  381. package/src/service/builtins/chat/runtime/ChatSessionDelete.ts +1 -1
  382. package/src/service/builtins/chat/runtime/ChatkeySend.ts +1 -1
  383. package/src/service/builtins/chat/runtime/EnqueueDispatch.ts +1 -1
  384. package/src/service/builtins/chat/runtime/InboundAugment.ts +1 -1
  385. package/src/service/builtins/chat/runtime/PluginDispatch.ts +1 -1
  386. package/src/service/builtins/chat/runtime/ReplyDispatch.ts +1 -1
  387. package/src/service/builtins/chat/runtime/SystemPrompt.ts +1 -1
  388. package/src/service/builtins/contact/Action.ts +2 -59
  389. package/src/service/builtins/contact/ContactService.ts +2 -2
  390. package/src/service/builtins/contact/runtime/ChatRuntime.ts +1 -1
  391. package/src/service/builtins/contact/runtime/ContactPayload.ts +0 -12
  392. package/src/service/builtins/contact/runtime/RemoteClient.ts +40 -19
  393. package/src/service/builtins/contact/runtime/ShareBundle.ts +1 -1
  394. package/src/service/builtins/memory/Action.ts +1 -1
  395. package/src/service/builtins/memory/MemoryService.ts +1 -28
  396. package/src/service/builtins/memory/runtime/Flush.ts +1 -1
  397. package/src/service/builtins/memory/runtime/Search.ts +1 -1
  398. package/src/service/builtins/memory/runtime/Store.ts +1 -1
  399. package/src/service/builtins/memory/runtime/SystemProvider.ts +1 -1
  400. package/src/service/builtins/memory/runtime/Writer.ts +1 -1
  401. package/src/service/builtins/schedule/ScheduleService.ts +131 -0
  402. package/src/service/builtins/shell/ShellRuntimeTypes.ts +1 -1
  403. package/src/service/builtins/shell/ShellService.ts +2 -2
  404. package/src/service/builtins/shell/runtime/ShellActionResponse.ts +1 -1
  405. package/src/service/builtins/shell/runtime/ShellActionRuntime.ts +1 -1
  406. package/src/service/builtins/shell/runtime/ShellActionRuntimeSupport.ts +1 -1
  407. package/src/service/builtins/shell/runtime/ShellRuntimeEnvironment.ts +1 -1
  408. package/src/service/builtins/task/Action.ts +1 -1
  409. package/src/service/builtins/task/Scheduler.ts +1 -1
  410. package/src/service/builtins/task/TaskService.ts +2 -2
  411. package/src/service/builtins/task/runtime/CronRuntime.ts +1 -1
  412. package/src/service/builtins/task/runtime/Runner.ts +1 -1
  413. package/src/service/builtins/task/runtime/TaskActionExecution.ts +1 -1
  414. package/src/service/builtins/task/runtime/TaskActionInput.ts +3 -185
  415. package/src/service/builtins/task/runtime/TaskRunChatDispatch.ts +1 -1
  416. package/src/service/builtins/task/runtime/TaskRunnerRound.ts +1 -1
  417. package/src/service/builtins/task/runtime/TaskRunnerScript.ts +1 -1
  418. package/src/service/builtins/task/runtime/TaskRunnerSession.ts +1 -1
  419. package/src/service/builtins/task/runtime/TaskServiceActions.ts +1 -35
  420. package/src/service/core/Manager.ts +0 -1
  421. package/src/service/core/ServiceActionRunner.ts +4 -2
  422. package/src/service/core/ServiceClassRegistry.ts +1 -1
  423. package/src/service/core/ServiceCommandRequest.ts +93 -0
  424. package/src/service/core/ServiceManager.ts +0 -1
  425. package/src/service/core/ServiceStateController.ts +45 -20
  426. package/src/service/core/ServiceSystemProviders.ts +1 -1
  427. package/src/service/core/Services.ts +3 -1
  428. package/src/service/schedule/Executor.ts +1 -1
  429. package/src/service/types/Service.ts +1 -24
  430. package/src/session/composer/system/default/DefaultSessionSystemComposer.ts +1 -1
  431. package/src/session/composer/system/default/SystemDomain.ts +1 -1
  432. package/src/session/tools/shell/ShellToolBridge.ts +1 -1
  433. package/tsconfig.tsbuildinfo +1 -1
  434. package/bin/runtime/AgentContext.d.ts +0 -23
  435. package/bin/runtime/AgentContext.d.ts.map +0 -1
  436. package/bin/runtime/AgentContext.js +0 -149
  437. package/bin/runtime/AgentContext.js.map +0 -1
  438. package/bin/runtime/AgentContextTypes.d.ts.map +0 -1
  439. package/bin/runtime/AgentContextTypes.js.map +0 -1
  440. package/bin/runtime/AgentRuntime.d.ts +0 -37
  441. package/bin/runtime/AgentRuntime.d.ts.map +0 -1
  442. package/bin/runtime/AgentRuntime.js +0 -291
  443. package/bin/runtime/AgentRuntime.js.map +0 -1
  444. package/bin/runtime/AgentRuntimeState.d.ts +0 -42
  445. package/bin/runtime/AgentRuntimeState.d.ts.map +0 -1
  446. package/bin/runtime/AgentRuntimeState.js +0 -172
  447. package/bin/runtime/AgentRuntimeState.js.map +0 -1
  448. package/bin/runtime/AgentRuntimeTypes.d.ts.map +0 -1
  449. package/bin/runtime/AgentRuntimeTypes.js +0 -10
  450. package/bin/runtime/AgentRuntimeTypes.js.map +0 -1
  451. package/bin/service/core/ServiceActionApi.d.ts +0 -15
  452. package/bin/service/core/ServiceActionApi.d.ts.map +0 -1
  453. package/bin/service/core/ServiceActionApi.js +0 -234
  454. package/bin/service/core/ServiceActionApi.js.map +0 -1
  455. package/bin/service/schedule/Runtime.d.ts +0 -17
  456. package/bin/service/schedule/Runtime.d.ts.map +0 -1
  457. package/bin/service/schedule/Runtime.js +0 -64
  458. package/bin/service/schedule/Runtime.js.map +0 -1
  459. package/src/runtime/AgentContext.ts +0 -182
  460. package/src/runtime/AgentRuntime.ts +0 -366
  461. package/src/runtime/AgentRuntimeState.ts +0 -213
  462. package/src/service/core/ServiceActionApi.ts +0 -304
  463. package/src/service/schedule/Runtime.ts +0 -78
@@ -4,91 +4,95 @@
4
4
  * 职责说明:
5
5
  * 1. 提供 service 状态列表接口。
6
6
  * 2. 提供 service lifecycle 控制接口。
7
- * 3. 提供 service command 桥接,并挂载各 service 自身路由。
7
+ * 3. 提供统一 service command 桥接。
8
8
  */
9
9
 
10
10
  import { Hono } from "hono";
11
11
  import {
12
12
  controlServiceState,
13
13
  listServiceStates,
14
- registerAllServicesForServer,
15
14
  runServiceCommand,
16
15
  } from "@/service/core/Manager.js";
17
16
  import type { ServiceStateControlAction } from "@/service/core/Manager.js";
18
- import { getAgentContext } from "@/runtime/AgentRuntime.js";
17
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
18
+ import { parseServiceCommandRequestBody } from "@/service/core/ServiceCommandRequest.js";
19
19
 
20
20
  /**
21
- * Service 路由。
21
+ * Service 路由参数。
22
22
  */
23
- export const servicesRouter = new Hono();
24
- let serviceActionRoutesRegistered = false;
23
+ type ServicesRouterOptions = {
24
+ /**
25
+ * 读取当前 agent 执行上下文。
26
+ */
27
+ getAgentContext: () => AgentContext;
28
+ };
25
29
 
26
- servicesRouter.get("/api/services/list", (c) => {
27
- return c.json({
28
- success: true,
29
- services: listServiceStates(),
30
+ /**
31
+ * 创建 service 路由。
32
+ */
33
+ export function createServicesRouter(
34
+ options: ServicesRouterOptions,
35
+ ): Hono {
36
+ const router = new Hono();
37
+
38
+ router.get("/api/services/list", (c) => {
39
+ const context = options.getAgentContext();
40
+ return c.json({
41
+ success: true,
42
+ services: listServiceStates({ context }),
43
+ });
30
44
  });
31
- });
32
45
 
33
- servicesRouter.post("/api/services/control", async (c) => {
34
- const body = await c.req.json().catch(() => null);
35
- const serviceName = String(body?.serviceName || "").trim();
36
- const action = String(body?.action || "")
37
- .trim()
38
- .toLowerCase();
46
+ router.post("/api/services/control", async (c) => {
47
+ const body = await c.req.json().catch(() => null);
48
+ const serviceName = String(body?.serviceName || "").trim();
49
+ const action = String(body?.action || "")
50
+ .trim()
51
+ .toLowerCase();
39
52
 
40
- if (!serviceName) {
41
- return c.json({ success: false, error: "serviceName is required" }, 400);
42
- }
43
- if (!action) {
44
- return c.json({ success: false, error: "action is required" }, 400);
45
- }
46
- if (!["start", "stop", "restart", "status"].includes(action)) {
47
- return c.json({ success: false, error: "invalid action" }, 400);
48
- }
53
+ if (!serviceName) {
54
+ return c.json({ success: false, error: "serviceName is required" }, 400);
55
+ }
56
+ if (!action) {
57
+ return c.json({ success: false, error: "action is required" }, 400);
58
+ }
59
+ if (!["start", "stop", "restart", "status"].includes(action)) {
60
+ return c.json({ success: false, error: "invalid action" }, 400);
61
+ }
49
62
 
50
- const result = await controlServiceState({
51
- serviceName,
52
- action: action as ServiceStateControlAction,
53
- context: getAgentContext(),
63
+ const result = await controlServiceState({
64
+ serviceName,
65
+ action: action as ServiceStateControlAction,
66
+ context: options.getAgentContext(),
67
+ });
68
+ return c.json(result, result.success ? 200 : 400);
54
69
  });
55
- return c.json(result, result.success ? 200 : 400);
56
- });
57
70
 
58
- servicesRouter.post("/api/services/command", async (c) => {
59
- const body = await c.req.json().catch(() => null);
60
- const serviceName = String(body?.serviceName || "").trim();
61
- const command = String(body?.command || "").trim();
62
- const schedule =
63
- body?.schedule && typeof body.schedule === "object" && !Array.isArray(body.schedule)
64
- ? body.schedule
65
- : undefined;
71
+ router.post("/api/services/command", async (c) => {
72
+ const body = await c.req.json().catch(() => null);
73
+ let requestBody;
74
+ try {
75
+ requestBody = parseServiceCommandRequestBody(body);
76
+ } catch (error) {
77
+ return c.json({ success: false, error: String(error) }, 400);
78
+ }
66
79
 
67
- if (!serviceName) {
68
- return c.json({ success: false, error: "serviceName is required" }, 400);
69
- }
70
- if (!command) {
71
- return c.json({ success: false, error: "command is required" }, 400);
72
- }
80
+ if (!requestBody.serviceName) {
81
+ return c.json({ success: false, error: "serviceName is required" }, 400);
82
+ }
83
+ if (!requestBody.command) {
84
+ return c.json({ success: false, error: "command is required" }, 400);
85
+ }
73
86
 
74
- const result = await runServiceCommand({
75
- serviceName,
76
- command,
77
- payload: body?.payload,
78
- schedule,
79
- context: getAgentContext(),
87
+ const result = await runServiceCommand({
88
+ serviceName: requestBody.serviceName,
89
+ command: requestBody.command,
90
+ payload: requestBody.payload,
91
+ schedule: requestBody.schedule,
92
+ context: options.getAgentContext(),
93
+ });
94
+ return c.json(result, result.success ? 200 : 400);
80
95
  });
81
- return c.json(result, result.success ? 200 : 400);
82
- });
83
96
 
84
- /**
85
- * 确保 service action API 路由只注册一次。
86
- *
87
- * 关键点(中文)
88
- * - 延迟到 server 启动阶段再注册,避免 `city agent create` 等无需执行上下文的命令在 import 时触发初始化错误。
89
- */
90
- export function ensureServiceActionRoutesRegistered(): void {
91
- if (serviceActionRoutesRegistered) return;
92
- registerAllServicesForServer(servicesRouter, getAgentContext());
93
- serviceActionRoutesRegistered = true;
97
+ return router;
94
98
  }
@@ -11,94 +11,110 @@ import { Hono } from "hono";
11
11
  import fs from "fs-extra";
12
12
  import path from "path";
13
13
  import { getDowncityPublicDirPath } from "@/config/Paths.js";
14
- import { getAgentRuntime } from "@/runtime/AgentRuntime.js";
14
+ import type { AgentRuntime } from "@/core/AgentCoreTypes.js";
15
15
 
16
16
  /**
17
- * 静态资源路由。
17
+ * 静态资源路由参数。
18
18
  */
19
- export const staticRouter = new Hono();
19
+ type StaticRouterOptions = {
20
+ /**
21
+ * 读取当前 agent runtime。
22
+ */
23
+ getAgentRuntime: () => AgentRuntime;
24
+ };
20
25
 
21
- staticRouter.get("/", async (c) => {
22
- const indexPath = path.join(getAgentRuntime().rootPath, "public", "index.html");
23
- if (await fs.pathExists(indexPath)) {
24
- const content = await fs.readFile(indexPath, "utf-8");
25
- return c.body(content, 200, {
26
- "Content-Type": "text/html; charset=utf-8",
27
- "Cache-Control": "no-cache",
28
- });
29
- }
30
- return c.text("Downcity Agent Server", 200);
31
- });
26
+ /**
27
+ * 创建静态资源路由。
28
+ */
29
+ export function createStaticRouter(
30
+ options: StaticRouterOptions,
31
+ ): Hono {
32
+ const router = new Hono();
32
33
 
33
- staticRouter.get("/styles.css", async (c) => {
34
- const cssPath = path.join(getAgentRuntime().rootPath, "public", "styles.css");
35
- if (await fs.pathExists(cssPath)) {
36
- const content = await fs.readFile(cssPath, "utf-8");
37
- return c.body(content, 200, {
38
- "Content-Type": "text/css; charset=utf-8",
39
- "Cache-Control": "no-cache",
40
- });
41
- }
42
- return c.text("Not Found", 404);
43
- });
34
+ router.get("/", async (c) => {
35
+ const indexPath = path.join(options.getAgentRuntime().rootPath, "public", "index.html");
36
+ if (await fs.pathExists(indexPath)) {
37
+ const content = await fs.readFile(indexPath, "utf-8");
38
+ return c.body(content, 200, {
39
+ "Content-Type": "text/html; charset=utf-8",
40
+ "Cache-Control": "no-cache",
41
+ });
42
+ }
43
+ return c.text("Downcity Agent Server", 200);
44
+ });
44
45
 
45
- staticRouter.get("/app.js", async (c) => {
46
- const jsPath = path.join(getAgentRuntime().rootPath, "public", "app.js");
47
- if (await fs.pathExists(jsPath)) {
48
- const content = await fs.readFile(jsPath, "utf-8");
49
- return c.body(content, 200, {
50
- "Content-Type": "application/javascript; charset=utf-8",
51
- "Cache-Control": "no-cache",
52
- });
53
- }
54
- return c.text("Not Found", 404);
55
- });
46
+ router.get("/styles.css", async (c) => {
47
+ const cssPath = path.join(options.getAgentRuntime().rootPath, "public", "styles.css");
48
+ if (await fs.pathExists(cssPath)) {
49
+ const content = await fs.readFile(cssPath, "utf-8");
50
+ return c.body(content, 200, {
51
+ "Content-Type": "text/css; charset=utf-8",
52
+ "Cache-Control": "no-cache",
53
+ });
54
+ }
55
+ return c.text("Not Found", 404);
56
+ });
56
57
 
57
- staticRouter.get("/downcity/public/*", async (c) => {
58
- const root = getDowncityPublicDirPath(getAgentRuntime().rootPath);
59
- const prefix = "/downcity/public/";
60
- const requestPath = c.req.path;
61
- const rel = requestPath.startsWith(prefix)
62
- ? requestPath.slice(prefix.length)
63
- : "";
64
- if (!rel) return c.text("Not Found", 404);
58
+ router.get("/app.js", async (c) => {
59
+ const jsPath = path.join(options.getAgentRuntime().rootPath, "public", "app.js");
60
+ if (await fs.pathExists(jsPath)) {
61
+ const content = await fs.readFile(jsPath, "utf-8");
62
+ return c.body(content, 200, {
63
+ "Content-Type": "application/javascript; charset=utf-8",
64
+ "Cache-Control": "no-cache",
65
+ });
66
+ }
67
+ return c.text("Not Found", 404);
68
+ });
65
69
 
66
- const full = path.resolve(root, rel);
67
- const rootResolved = path.resolve(root);
68
- if (full !== rootResolved && !full.startsWith(rootResolved + path.sep)) {
69
- return c.text("Forbidden", 403);
70
- }
70
+ router.get("/downcity/public/*", async (c) => {
71
+ const root = getDowncityPublicDirPath(options.getAgentRuntime().rootPath);
72
+ const prefix = "/downcity/public/";
73
+ const requestPath = c.req.path;
74
+ const rel = requestPath.startsWith(prefix)
75
+ ? requestPath.slice(prefix.length)
76
+ : "";
77
+ if (!rel) return c.text("Not Found", 404);
71
78
 
72
- try {
73
- const stat = await fs.stat(full);
74
- if (!stat.isFile()) return c.text("Not Found", 404);
75
- } catch {
76
- return c.text("Not Found", 404);
77
- }
79
+ const full = path.resolve(root, rel);
80
+ const rootResolved = path.resolve(root);
81
+ if (full !== rootResolved && !full.startsWith(rootResolved + path.sep)) {
82
+ return c.text("Forbidden", 403);
83
+ }
78
84
 
79
- const ext = path.extname(full).toLowerCase();
80
- const contentType =
81
- ext === ".html"
82
- ? "text/html; charset=utf-8"
83
- : ext === ".css"
84
- ? "text/css; charset=utf-8"
85
- : ext === ".js"
86
- ? "application/javascript; charset=utf-8"
87
- : ext === ".json"
88
- ? "application/json; charset=utf-8"
89
- : ext === ".txt" || ext === ".md"
90
- ? "text/plain; charset=utf-8"
91
- : ext === ".pdf"
92
- ? "application/pdf"
93
- : ext === ".png"
94
- ? "image/png"
95
- : ext === ".jpg" || ext === ".jpeg"
96
- ? "image/jpeg"
97
- : "application/octet-stream";
85
+ try {
86
+ const stat = await fs.stat(full);
87
+ if (!stat.isFile()) return c.text("Not Found", 404);
88
+ } catch {
89
+ return c.text("Not Found", 404);
90
+ }
98
91
 
99
- const buf = await fs.readFile(full);
100
- return c.body(buf, 200, {
101
- "Content-Type": contentType,
102
- "Cache-Control": "no-cache",
92
+ const ext = path.extname(full).toLowerCase();
93
+ const contentType =
94
+ ext === ".html"
95
+ ? "text/html; charset=utf-8"
96
+ : ext === ".css"
97
+ ? "text/css; charset=utf-8"
98
+ : ext === ".js"
99
+ ? "application/javascript; charset=utf-8"
100
+ : ext === ".json"
101
+ ? "application/json; charset=utf-8"
102
+ : ext === ".txt" || ext === ".md"
103
+ ? "text/plain; charset=utf-8"
104
+ : ext === ".pdf"
105
+ ? "application/pdf"
106
+ : ext === ".png"
107
+ ? "image/png"
108
+ : ext === ".jpg" || ext === ".jpeg"
109
+ ? "image/jpeg"
110
+ : "application/octet-stream";
111
+
112
+ const buf = await fs.readFile(full);
113
+ return c.body(buf, 200, {
114
+ "Content-Type": contentType,
115
+ "Cache-Control": "no-cache",
116
+ });
103
117
  });
104
- });
118
+
119
+ return router;
120
+ }
@@ -9,8 +9,9 @@
9
9
  import fs from "fs-extra";
10
10
  import net, { type Server } from "node:net";
11
11
  import path from "node:path";
12
- import type { AgentRuntime } from "@/runtime/AgentRuntimeTypes.js";
13
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
12
+ import type { AgentRuntime } from "@/core/AgentCoreTypes.js";
13
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
14
+ import type { AgentCore } from "@/core/AgentCore.js";
14
15
  import type { JsonValue } from "@/types/common/Json.js";
15
16
  import type { LocalRpcRequest, LocalRpcResponse, LocalRpcServerHandle } from "@/types/rpc/LocalRpc.js";
16
17
  import type { ControlSessionExecuteRequestBody } from "@/server/http/control/types/ControlSessionExecute.js";
@@ -27,6 +28,7 @@ import type {
27
28
  } from "@/service/types/Services.js";
28
29
  import { listServiceStates, controlServiceState } from "@/service/core/ServiceStateController.js";
29
30
  import { runServiceCommand } from "@/service/core/ServiceActionRunner.js";
31
+ import { parseServiceCommandRequestBody } from "@/service/core/ServiceCommandRequest.js";
30
32
  import { executeBySessionId } from "@/server/http/control/ExecuteBySession.js";
31
33
  import { getLocalRpcEndpoint } from "@/transport/rpc/Paths.js";
32
34
 
@@ -106,17 +108,20 @@ async function handleServiceCommand(params: {
106
108
  body: JsonValue | undefined;
107
109
  context: AgentContext;
108
110
  }): Promise<LocalRpcResponse> {
109
- const body = isObjectRecord(params.body) ? params.body : {};
110
- const serviceName = String(body.serviceName || "").trim();
111
- const command = String(body.command || "").trim();
112
- if (!serviceName || !command) {
111
+ let body;
112
+ try {
113
+ body = parseServiceCommandRequestBody(params.body);
114
+ } catch (error) {
115
+ return createErrorResponse(params.requestId, 400, String(error));
116
+ }
117
+ if (!body.serviceName || !body.command) {
113
118
  return createErrorResponse(params.requestId, 400, "serviceName and command are required");
114
119
  }
115
120
  const result = await runServiceCommand({
116
- serviceName,
117
- command,
118
- payload: (body.payload ?? {}) as JsonValue,
119
- ...(body.schedule !== undefined ? { schedule: body.schedule as JsonValue } : {}),
121
+ serviceName: body.serviceName,
122
+ command: body.command,
123
+ payload: body.payload,
124
+ schedule: body.schedule,
120
125
  context: params.context,
121
126
  });
122
127
  const payload: ServiceCommandResponse = {
@@ -249,7 +254,7 @@ async function dispatchRequest(params: {
249
254
  if (request.method === "GET" && request.path === "/api/services/list") {
250
255
  const payload: ServiceListResponse = {
251
256
  success: true,
252
- services: listServiceStates(),
257
+ services: listServiceStates({ context: params.context }),
253
258
  };
254
259
  return createSuccessResponse(request.requestId, payload as unknown as JsonValue);
255
260
  }
@@ -363,17 +368,23 @@ function bindConnectionHandler(params: {
363
368
  * 启动本地 RPC server。
364
369
  */
365
370
  export async function startLocalRpcServer(params: {
366
- context: AgentContext;
371
+ context?: AgentContext;
367
372
  runtime?: AgentRuntime;
373
+ core?: Pick<AgentCore, "getContext" | "getRuntime">;
368
374
  }): Promise<LocalRpcServerHandle> {
369
- const endpoint = getLocalRpcEndpoint(params.context.rootPath);
375
+ const context = params.context || params.core?.getContext();
376
+ if (!context) {
377
+ throw new Error("startLocalRpcServer requires a context or core");
378
+ }
379
+ const runtime = params.runtime || params.core?.getRuntime();
380
+ const endpoint = getLocalRpcEndpoint(context.rootPath);
370
381
  await ensureEndpointReady(endpoint);
371
382
 
372
383
  const server = net.createServer();
373
384
  bindConnectionHandler({
374
385
  server,
375
- context: params.context,
376
- runtime: params.runtime,
386
+ context,
387
+ runtime,
377
388
  });
378
389
 
379
390
  await new Promise<void>((resolve, reject) => {
@@ -6,13 +6,13 @@
6
6
  * - 各 service 的长期状态应归属于实例本身,而不是模块级单例。
7
7
  */
8
8
 
9
- import type { AgentRuntime } from "@/runtime/AgentRuntimeTypes.js";
9
+ import type { AgentRuntime } from "@/core/AgentCoreTypes.js";
10
10
  import type {
11
11
  Service,
12
12
  ServiceActions,
13
13
  ServiceLifecycle,
14
14
  } from "@/service/types/Service.js";
15
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
15
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
16
16
  import type { ServiceStateRecord } from "@/service/types/ServiceState.js";
17
17
 
18
18
  /**
@@ -6,7 +6,7 @@
6
6
  * - 通过 SessionRunScope(ALS)读取当前请求上下文
7
7
  */
8
8
 
9
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
9
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
10
10
  import { getSessionRunScope } from "@session/SessionRunScope.js";
11
11
  import {
12
12
  sendActionByChatKey,
@@ -8,10 +8,10 @@
8
8
  * - action 注册表已经拆到独立模块,当前文件只保留实例骨架。
9
9
  */
10
10
 
11
- import type { AgentRuntime } from "@/runtime/AgentRuntimeTypes.js";
11
+ import type { AgentRuntime } from "@/core/AgentCoreTypes.js";
12
12
  import { BaseService } from "@/service/builtins/BaseService.js";
13
13
  import type { ServiceActions } from "@/service/types/Service.js";
14
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
14
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
15
15
  import type { ChatChannelState } from "@/service/builtins/chat/types/ChatRuntime.js";
16
16
  import type { StoredChannelAccount } from "@/types/host/Store.js";
17
17
  import type { ChatQueueWorkerConfig } from "@/service/builtins/chat/types/ChatQueueWorker.js";
@@ -7,7 +7,7 @@
7
7
  * - 若未显式注入,则 ChatService 仍可回退到现有 `downcity.json + PlatformStore` 读取路径。
8
8
  */
9
9
 
10
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
10
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
11
11
  import type { ChatQueueWorkerConfig } from "@/service/builtins/chat/types/ChatQueueWorker.js";
12
12
  import type { StoredChannelAccount } from "@/types/host/Store.js";
13
13
  import type { ChatChannelName } from "@/service/builtins/chat/types/ChannelStatus.js";
@@ -15,7 +15,7 @@ import type {
15
15
  ChatDispatcher,
16
16
  } from "@/service/builtins/chat/types/ChatDispatcher.js";
17
17
  import type { Logger } from "@/utils/logger/Logger.js";
18
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
18
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
19
19
  import { resolveChatQueueStore } from "@/service/builtins/chat/runtime/ChatQueue.js";
20
20
  import { deleteChatSessionById } from "@/service/builtins/chat/runtime/ChatSessionDelete.js";
21
21
  import {
@@ -15,7 +15,7 @@ import {
15
15
  prepareChatEnqueue,
16
16
  } from "@/service/builtins/chat/runtime/EnqueueDispatch.js";
17
17
  import type { ChatDispatchChannel } from "@/service/builtins/chat/types/ChatDispatcher.js";
18
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
18
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
19
19
  import type { JsonObject } from "@/types/common/Json.js";
20
20
  import type { IncomingChatMessage } from "./BaseChatChannel.js";
21
21
  import {
@@ -8,7 +8,7 @@
8
8
 
9
9
  import type { ChatDispatchChannel } from "@/service/builtins/chat/types/ChatDispatcher.js";
10
10
  import type { Logger } from "@/utils/logger/Logger.js";
11
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
11
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
12
12
  import type { JsonObject, JsonValue } from "@/types/common/Json.js";
13
13
  import {
14
14
  resolveSessionIdByChatTarget,
@@ -14,7 +14,7 @@ import type {
14
14
  ChannelChatKeyParams,
15
15
  ChannelSendTextParams,
16
16
  } from "@/service/builtins/chat/channels/BaseChatChannel.js";
17
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
17
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
18
18
  import type { JsonObject } from "@/types/common/Json.js";
19
19
  import type { ChatChannelTestResult } from "@/service/builtins/chat/types/ChannelStatus.js";
20
20
  import type { ParsedFeishuAttachmentCommand } from "@/service/builtins/chat/types/FeishuAttachment.js";
@@ -9,7 +9,7 @@
9
9
 
10
10
  import path from "path";
11
11
  import type { Logger } from "@/utils/logger/Logger.js";
12
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
12
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
13
13
  import type {
14
14
  IncomingAuthorizationParams,
15
15
  IncomingAuthorizationResult,
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  import * as Lark from "@larksuiteoapi/node-sdk";
11
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
11
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
12
12
  import type {
13
13
  FeishuConfig,
14
14
  FeishuDownloadedAttachment,
@@ -28,7 +28,7 @@ import type {
28
28
  ChannelChatKeyParams,
29
29
  ChannelSendTextParams,
30
30
  } from "@/service/builtins/chat/channels/BaseChatChannel.js";
31
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
31
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
32
32
  import type { JsonObject } from "@/types/common/Json.js";
33
33
  import type { ChatChannelTestResult } from "@/service/builtins/chat/types/ChannelStatus.js";
34
34
  import type { QQConfig, QQMessageData } from "@/service/builtins/chat/channels/qq/types/QqChannel.js";
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
  import type { Logger } from "@/utils/logger/Logger.js";
11
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
11
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
12
12
  import type {
13
13
  ChannelChatKeyParams,
14
14
  IncomingAuthorizationParams,
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { buildChatInboundText, augmentChatInboundInput } from "@/service/builtins/chat/runtime/InboundAugment.js";
10
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
10
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
11
11
  import type { JsonObject } from "@/types/common/Json.js";
12
12
  import type { QQMessageData, QQReadyUser } from "@/service/builtins/chat/channels/qq/types/QqChannel.js";
13
13
  import type { QqIncomingAttachment } from "@/service/builtins/chat/types/QqVoice.js";
@@ -22,7 +22,7 @@ import {
22
22
  type TelegramUpdate,
23
23
  type TelegramUser,
24
24
  } from "./Shared.js";
25
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
25
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
26
26
  import type { JsonObject } from "@/types/common/Json.js";
27
27
  import type { ChatChannelTestResult } from "@/service/builtins/chat/types/ChannelStatus.js";
28
28
  import {
@@ -9,7 +9,7 @@
9
9
 
10
10
  import path from "path";
11
11
  import type { Logger } from "@/utils/logger/Logger.js";
12
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
12
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
13
13
  import type { JsonObject } from "@/types/common/Json.js";
14
14
  import type {
15
15
  IncomingAuthorizationParams,
@@ -7,7 +7,7 @@
7
7
  * - `TelegramBot` 只保留入站授权、命令分发、消息入队等业务编排。
8
8
  */
9
9
 
10
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
10
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
11
11
  import type { ChatChannelTestResult } from "@/service/builtins/chat/types/ChannelStatus.js";
12
12
  import { TelegramApiClient } from "./ApiClient.js";
13
13
  import { TelegramStateStore } from "./StateStore.js";
@@ -9,7 +9,7 @@
9
9
 
10
10
  import fs from "fs-extra";
11
11
  import { generateId } from "@/utils/Id.js";
12
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
12
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
13
13
  import type {
14
14
  ChannelContextMetaFileV1,
15
15
  ChannelContextRouteV1,
@@ -9,7 +9,7 @@
9
9
 
10
10
  import path from "node:path";
11
11
  import type { JsonObject } from "@/types/common/Json.js";
12
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
12
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
13
13
  import type {
14
14
  ChatDeleteActionPayload,
15
15
  ChatHistoryActionPayload,