@downcity/agent 1.1.13 → 1.1.15

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 (545) hide show
  1. package/bin/config/Config.js +1 -1
  2. package/bin/config/Config.js.map +1 -1
  3. package/bin/config/Defaults.d.ts +13 -0
  4. package/bin/config/Defaults.d.ts.map +1 -0
  5. package/bin/config/{DowncityDefault.js → Defaults.js} +11 -1
  6. package/bin/config/Defaults.js.map +1 -0
  7. package/bin/{project/ProjectExecutionBinding.d.ts → config/ExecutionBinding.d.ts} +2 -2
  8. package/bin/config/ExecutionBinding.d.ts.map +1 -0
  9. package/bin/{project/ProjectExecutionBinding.js → config/ExecutionBinding.js} +2 -2
  10. package/bin/config/ExecutionBinding.js.map +1 -0
  11. package/bin/{runtime → core}/AgentContextTypes.d.ts +6 -6
  12. package/bin/core/AgentContextTypes.d.ts.map +1 -0
  13. package/bin/{runtime → core}/AgentContextTypes.js +2 -2
  14. package/bin/core/AgentContextTypes.js.map +1 -0
  15. package/bin/core/AgentCore.d.ts +87 -0
  16. package/bin/core/AgentCore.d.ts.map +1 -0
  17. package/bin/core/AgentCore.js +467 -0
  18. package/bin/core/AgentCore.js.map +1 -0
  19. package/bin/{runtime/AgentRuntimeTypes.d.ts → core/AgentCoreTypes.d.ts} +7 -7
  20. package/bin/core/AgentCoreTypes.d.ts.map +1 -0
  21. package/bin/core/AgentCoreTypes.js +10 -0
  22. package/bin/core/AgentCoreTypes.js.map +1 -0
  23. package/bin/host/daemon/ProjectSetup.d.ts.map +1 -1
  24. package/bin/host/daemon/ProjectSetup.js +1 -1
  25. package/bin/host/daemon/ProjectSetup.js.map +1 -1
  26. package/bin/host/runtime/PluginRuntime.d.ts +1 -1
  27. package/bin/host/runtime/PluginRuntime.d.ts.map +1 -1
  28. package/bin/index.d.ts +9 -11
  29. package/bin/index.d.ts.map +1 -1
  30. package/bin/index.js +5 -8
  31. package/bin/index.js.map +1 -1
  32. package/bin/model/CreateModel.js +1 -1
  33. package/bin/model/CreateModel.js.map +1 -1
  34. package/bin/plugin/builtins/asr/InboundAugment.d.ts +1 -1
  35. package/bin/plugin/builtins/asr/InboundAugment.d.ts.map +1 -1
  36. package/bin/plugin/builtins/auth/runtime/AuthorizationConfig.d.ts +1 -1
  37. package/bin/plugin/builtins/auth/runtime/AuthorizationConfig.d.ts.map +1 -1
  38. package/bin/plugin/builtins/auth/runtime/AuthorizationStore.d.ts +1 -1
  39. package/bin/plugin/builtins/auth/runtime/AuthorizationStore.d.ts.map +1 -1
  40. package/bin/plugin/builtins/voice/InboundAugment.d.ts +1 -1
  41. package/bin/plugin/builtins/voice/InboundAugment.d.ts.map +1 -1
  42. package/bin/plugin/builtins/workboard/runtime/Collector.d.ts +1 -1
  43. package/bin/plugin/builtins/workboard/runtime/Collector.d.ts.map +1 -1
  44. package/bin/plugin/builtins/workboard/runtime/Collector.js +1 -1
  45. package/bin/plugin/builtins/workboard/runtime/Collector.js.map +1 -1
  46. package/bin/plugin/builtins/workboard/runtime/Normalizer.d.ts +1 -1
  47. package/bin/plugin/builtins/workboard/runtime/Normalizer.d.ts.map +1 -1
  48. package/bin/plugin/builtins/workboard/runtime/Store.d.ts +1 -1
  49. package/bin/plugin/builtins/workboard/runtime/Store.d.ts.map +1 -1
  50. package/bin/plugin/core/Activation.d.ts +2 -2
  51. package/bin/plugin/core/Activation.d.ts.map +1 -1
  52. package/bin/plugin/core/HookRegistry.d.ts +1 -1
  53. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  54. package/bin/plugin/core/HttpRoutes.d.ts +1 -1
  55. package/bin/plugin/core/HttpRoutes.d.ts.map +1 -1
  56. package/bin/plugin/core/LocalExecution.d.ts.map +1 -1
  57. package/bin/plugin/core/LocalExecution.js +18 -20
  58. package/bin/plugin/core/LocalExecution.js.map +1 -1
  59. package/bin/plugin/core/PluginRegistry.d.ts +1 -1
  60. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  61. package/bin/plugin/types/Plugin.d.ts +1 -1
  62. package/bin/plugin/types/Plugin.d.ts.map +1 -1
  63. package/bin/project/AgentInitializer.js +2 -2
  64. package/bin/project/AgentInitializer.js.map +1 -1
  65. package/bin/sandbox/SandboxConfigResolver.d.ts +1 -1
  66. package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -1
  67. package/bin/sandbox/SandboxRunner.d.ts +1 -1
  68. package/bin/sandbox/SandboxRunner.d.ts.map +1 -1
  69. package/bin/sdk/Agent.d.ts +43 -27
  70. package/bin/sdk/Agent.d.ts.map +1 -1
  71. package/bin/sdk/Agent.js +143 -364
  72. package/bin/sdk/Agent.js.map +1 -1
  73. package/bin/sdk/AgentSdkTypes.d.ts +138 -0
  74. package/bin/sdk/AgentSdkTypes.d.ts.map +1 -1
  75. package/bin/sdk/RemoteAgent.d.ts +1 -1
  76. package/bin/sdk/RemoteAgent.js +1 -1
  77. package/bin/sdk/Session.d.ts +2 -2
  78. package/bin/sdk/Session.d.ts.map +1 -1
  79. package/bin/sdk/Session.js +11 -5
  80. package/bin/sdk/Session.js.map +1 -1
  81. package/bin/sdk/{SessionMetadata.d.ts → session/Metadata.d.ts} +2 -2
  82. package/bin/sdk/session/Metadata.d.ts.map +1 -0
  83. package/bin/sdk/{SessionMetadata.js → session/Metadata.js} +2 -2
  84. package/bin/sdk/session/Metadata.js.map +1 -0
  85. package/bin/sdk/{Paths.d.ts → session/Paths.d.ts} +1 -1
  86. package/bin/sdk/session/Paths.d.ts.map +1 -0
  87. package/bin/sdk/{Paths.js → session/Paths.js} +1 -1
  88. package/bin/sdk/session/Paths.js.map +1 -0
  89. package/bin/sdk/{SessionPersistence.d.ts → session/Persistence.d.ts} +3 -3
  90. package/bin/sdk/session/Persistence.d.ts.map +1 -0
  91. package/bin/sdk/{SessionPersistence.js → session/Persistence.js} +4 -4
  92. package/bin/sdk/session/Persistence.js.map +1 -0
  93. package/bin/sdk/{SessionServicePort.d.ts → session/ServicePort.d.ts} +2 -2
  94. package/bin/sdk/session/ServicePort.d.ts.map +1 -0
  95. package/bin/sdk/{SessionServicePort.js → session/ServicePort.js} +1 -1
  96. package/bin/sdk/session/ServicePort.js.map +1 -0
  97. package/bin/sdk/session/index.d.ts +12 -0
  98. package/bin/sdk/session/index.d.ts.map +1 -0
  99. package/bin/sdk/session/index.js +12 -0
  100. package/bin/sdk/session/index.js.map +1 -0
  101. package/bin/server/http/Server.d.ts +10 -1
  102. package/bin/server/http/Server.d.ts.map +1 -1
  103. package/bin/server/http/Server.js +41 -15
  104. package/bin/server/http/Server.js.map +1 -1
  105. package/bin/server/http/control/AuthControlService.d.ts +1 -1
  106. package/bin/server/http/control/AuthControlService.d.ts.map +1 -1
  107. package/bin/server/http/control/ControlAuthorizationRoutes.d.ts +1 -1
  108. package/bin/server/http/control/ControlAuthorizationRoutes.d.ts.map +1 -1
  109. package/bin/server/http/control/ControlRouter.d.ts +18 -2
  110. package/bin/server/http/control/ControlRouter.d.ts.map +1 -1
  111. package/bin/server/http/control/ControlRouter.js +10 -8
  112. package/bin/server/http/control/ControlRouter.js.map +1 -1
  113. package/bin/server/http/control/ExecuteBySession.d.ts +2 -2
  114. package/bin/server/http/control/ExecuteBySession.d.ts.map +1 -1
  115. package/bin/server/http/control/OverviewRoutes.d.ts.map +1 -1
  116. package/bin/server/http/control/OverviewRoutes.js +6 -2
  117. package/bin/server/http/control/OverviewRoutes.js.map +1 -1
  118. package/bin/server/http/control/SessionSummaryStore.d.ts +1 -1
  119. package/bin/server/http/control/SessionSummaryStore.d.ts.map +1 -1
  120. package/bin/server/http/control/types/ControlRoutes.d.ts +2 -2
  121. package/bin/server/http/control/types/ControlRoutes.d.ts.map +1 -1
  122. package/bin/server/http/execute/execute.d.ts +13 -2
  123. package/bin/server/http/execute/execute.d.ts.map +1 -1
  124. package/bin/server/http/execute/execute.js +73 -71
  125. package/bin/server/http/execute/execute.js.map +1 -1
  126. package/bin/server/http/plugins/plugins.d.ts +13 -2
  127. package/bin/server/http/plugins/plugins.d.ts.map +1 -1
  128. package/bin/server/http/plugins/plugins.js +42 -40
  129. package/bin/server/http/plugins/plugins.js.map +1 -1
  130. package/bin/server/http/services/services.d.ts +12 -8
  131. package/bin/server/http/services/services.d.ts.map +1 -1
  132. package/bin/server/http/services/services.js +57 -64
  133. package/bin/server/http/services/services.js.map +1 -1
  134. package/bin/server/http/static/static.d.ts +13 -2
  135. package/bin/server/http/static/static.d.ts.map +1 -1
  136. package/bin/server/http/static/static.js +81 -79
  137. package/bin/server/http/static/static.js.map +1 -1
  138. package/bin/server/rpc/Server.d.ts +5 -3
  139. package/bin/server/rpc/Server.d.ts.map +1 -1
  140. package/bin/server/rpc/Server.js +22 -12
  141. package/bin/server/rpc/Server.js.map +1 -1
  142. package/bin/service/builtins/BaseService.d.ts +2 -2
  143. package/bin/service/builtins/BaseService.d.ts.map +1 -1
  144. package/bin/service/builtins/chat/Action.d.ts +1 -1
  145. package/bin/service/builtins/chat/Action.d.ts.map +1 -1
  146. package/bin/service/builtins/chat/ChatService.d.ts +2 -2
  147. package/bin/service/builtins/chat/ChatService.d.ts.map +1 -1
  148. package/bin/service/builtins/chat/ChatServiceTypes.d.ts +1 -1
  149. package/bin/service/builtins/chat/ChatServiceTypes.d.ts.map +1 -1
  150. package/bin/service/builtins/chat/channels/BaseChatChannel.d.ts +1 -1
  151. package/bin/service/builtins/chat/channels/BaseChatChannel.d.ts.map +1 -1
  152. package/bin/service/builtins/chat/channels/BaseChatChannelQueue.d.ts +1 -1
  153. package/bin/service/builtins/chat/channels/BaseChatChannelQueue.d.ts.map +1 -1
  154. package/bin/service/builtins/chat/channels/BaseChatChannelSupport.d.ts +1 -1
  155. package/bin/service/builtins/chat/channels/BaseChatChannelSupport.d.ts.map +1 -1
  156. package/bin/service/builtins/chat/channels/feishu/Feishu.d.ts +1 -1
  157. package/bin/service/builtins/chat/channels/feishu/Feishu.d.ts.map +1 -1
  158. package/bin/service/builtins/chat/channels/feishu/FeishuMessageHandler.d.ts +1 -1
  159. package/bin/service/builtins/chat/channels/feishu/FeishuMessageHandler.d.ts.map +1 -1
  160. package/bin/service/builtins/chat/channels/feishu/FeishuPlatformClient.d.ts +1 -1
  161. package/bin/service/builtins/chat/channels/feishu/FeishuPlatformClient.d.ts.map +1 -1
  162. package/bin/service/builtins/chat/channels/qq/QQ.d.ts +1 -1
  163. package/bin/service/builtins/chat/channels/qq/QQ.d.ts.map +1 -1
  164. package/bin/service/builtins/chat/channels/qq/QQMessageHandler.d.ts +1 -1
  165. package/bin/service/builtins/chat/channels/qq/QQMessageHandler.d.ts.map +1 -1
  166. package/bin/service/builtins/chat/channels/qq/QQSupport.d.ts +1 -1
  167. package/bin/service/builtins/chat/channels/qq/QQSupport.d.ts.map +1 -1
  168. package/bin/service/builtins/chat/channels/telegram/Bot.d.ts +1 -1
  169. package/bin/service/builtins/chat/channels/telegram/Bot.d.ts.map +1 -1
  170. package/bin/service/builtins/chat/channels/telegram/TelegramMessageHandler.d.ts +1 -1
  171. package/bin/service/builtins/chat/channels/telegram/TelegramMessageHandler.d.ts.map +1 -1
  172. package/bin/service/builtins/chat/channels/telegram/TelegramPlatformClient.d.ts +1 -1
  173. package/bin/service/builtins/chat/channels/telegram/TelegramPlatformClient.d.ts.map +1 -1
  174. package/bin/service/builtins/chat/runtime/ChannelContextStore.d.ts +1 -1
  175. package/bin/service/builtins/chat/runtime/ChannelContextStore.d.ts.map +1 -1
  176. package/bin/service/builtins/chat/runtime/ChatActionExecution.d.ts +1 -1
  177. package/bin/service/builtins/chat/runtime/ChatActionExecution.d.ts.map +1 -1
  178. package/bin/service/builtins/chat/runtime/ChatActionInput.d.ts +3 -36
  179. package/bin/service/builtins/chat/runtime/ChatActionInput.d.ts.map +1 -1
  180. package/bin/service/builtins/chat/runtime/ChatActionInput.js +3 -118
  181. package/bin/service/builtins/chat/runtime/ChatActionInput.js.map +1 -1
  182. package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts +1 -1
  183. package/bin/service/builtins/chat/runtime/ChatChannelActions.d.ts.map +1 -1
  184. package/bin/service/builtins/chat/runtime/ChatChannelConfig.d.ts +1 -1
  185. package/bin/service/builtins/chat/runtime/ChatChannelConfig.d.ts.map +1 -1
  186. package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts +1 -1
  187. package/bin/service/builtins/chat/runtime/ChatChannelCore.d.ts.map +1 -1
  188. package/bin/service/builtins/chat/runtime/ChatChannelLifecycle.d.ts +1 -1
  189. package/bin/service/builtins/chat/runtime/ChatChannelLifecycle.d.ts.map +1 -1
  190. package/bin/service/builtins/chat/runtime/ChatHistoryStore.d.ts +1 -1
  191. package/bin/service/builtins/chat/runtime/ChatHistoryStore.d.ts.map +1 -1
  192. package/bin/service/builtins/chat/runtime/ChatIngressStore.d.ts +1 -1
  193. package/bin/service/builtins/chat/runtime/ChatIngressStore.d.ts.map +1 -1
  194. package/bin/service/builtins/chat/runtime/ChatMetaStore.d.ts +1 -1
  195. package/bin/service/builtins/chat/runtime/ChatMetaStore.d.ts.map +1 -1
  196. package/bin/service/builtins/chat/runtime/ChatQueueReplyDispatch.d.ts +1 -1
  197. package/bin/service/builtins/chat/runtime/ChatQueueReplyDispatch.d.ts.map +1 -1
  198. package/bin/service/builtins/chat/runtime/ChatQueueSessionBridge.d.ts +1 -1
  199. package/bin/service/builtins/chat/runtime/ChatQueueSessionBridge.d.ts.map +1 -1
  200. package/bin/service/builtins/chat/runtime/ChatQueueStore.d.ts +1 -1
  201. package/bin/service/builtins/chat/runtime/ChatQueueStore.d.ts.map +1 -1
  202. package/bin/service/builtins/chat/runtime/ChatQueueWorker.d.ts +1 -1
  203. package/bin/service/builtins/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
  204. package/bin/service/builtins/chat/runtime/ChatServiceActions.d.ts +1 -1
  205. package/bin/service/builtins/chat/runtime/ChatServiceActions.d.ts.map +1 -1
  206. package/bin/service/builtins/chat/runtime/ChatServiceActions.js +2 -109
  207. package/bin/service/builtins/chat/runtime/ChatServiceActions.js.map +1 -1
  208. package/bin/service/builtins/chat/runtime/ChatServiceSystem.d.ts +1 -1
  209. package/bin/service/builtins/chat/runtime/ChatServiceSystem.d.ts.map +1 -1
  210. package/bin/service/builtins/chat/runtime/ChatSessionDelete.d.ts +1 -1
  211. package/bin/service/builtins/chat/runtime/ChatSessionDelete.d.ts.map +1 -1
  212. package/bin/service/builtins/chat/runtime/ChatkeySend.d.ts +1 -1
  213. package/bin/service/builtins/chat/runtime/ChatkeySend.d.ts.map +1 -1
  214. package/bin/service/builtins/chat/runtime/EnqueueDispatch.d.ts +1 -1
  215. package/bin/service/builtins/chat/runtime/EnqueueDispatch.d.ts.map +1 -1
  216. package/bin/service/builtins/chat/runtime/InboundAugment.d.ts +1 -1
  217. package/bin/service/builtins/chat/runtime/InboundAugment.d.ts.map +1 -1
  218. package/bin/service/builtins/chat/runtime/PluginDispatch.d.ts +1 -1
  219. package/bin/service/builtins/chat/runtime/PluginDispatch.d.ts.map +1 -1
  220. package/bin/service/builtins/chat/runtime/ReplyDispatch.d.ts +1 -1
  221. package/bin/service/builtins/chat/runtime/ReplyDispatch.d.ts.map +1 -1
  222. package/bin/service/builtins/chat/runtime/SystemPrompt.d.ts +1 -1
  223. package/bin/service/builtins/chat/runtime/SystemPrompt.d.ts.map +1 -1
  224. package/bin/service/builtins/contact/Action.d.ts +2 -2
  225. package/bin/service/builtins/contact/Action.d.ts.map +1 -1
  226. package/bin/service/builtins/contact/Action.js +2 -58
  227. package/bin/service/builtins/contact/Action.js.map +1 -1
  228. package/bin/service/builtins/contact/ContactService.d.ts +1 -1
  229. package/bin/service/builtins/contact/ContactService.d.ts.map +1 -1
  230. package/bin/service/builtins/contact/runtime/ChatRuntime.d.ts +1 -1
  231. package/bin/service/builtins/contact/runtime/ChatRuntime.d.ts.map +1 -1
  232. package/bin/service/builtins/contact/runtime/ContactPayload.d.ts +0 -7
  233. package/bin/service/builtins/contact/runtime/ContactPayload.d.ts.map +1 -1
  234. package/bin/service/builtins/contact/runtime/ContactPayload.js +0 -9
  235. package/bin/service/builtins/contact/runtime/ContactPayload.js.map +1 -1
  236. package/bin/service/builtins/contact/runtime/RemoteClient.d.ts +1 -1
  237. package/bin/service/builtins/contact/runtime/RemoteClient.d.ts.map +1 -1
  238. package/bin/service/builtins/contact/runtime/RemoteClient.js +37 -19
  239. package/bin/service/builtins/contact/runtime/RemoteClient.js.map +1 -1
  240. package/bin/service/builtins/contact/runtime/ShareBundle.d.ts +1 -1
  241. package/bin/service/builtins/contact/runtime/ShareBundle.d.ts.map +1 -1
  242. package/bin/service/builtins/memory/Action.d.ts +1 -1
  243. package/bin/service/builtins/memory/Action.d.ts.map +1 -1
  244. package/bin/service/builtins/memory/MemoryService.d.ts +1 -1
  245. package/bin/service/builtins/memory/MemoryService.d.ts.map +1 -1
  246. package/bin/service/builtins/memory/MemoryService.js +0 -27
  247. package/bin/service/builtins/memory/MemoryService.js.map +1 -1
  248. package/bin/service/builtins/memory/runtime/Flush.d.ts +1 -1
  249. package/bin/service/builtins/memory/runtime/Flush.d.ts.map +1 -1
  250. package/bin/service/builtins/memory/runtime/Search.d.ts +1 -1
  251. package/bin/service/builtins/memory/runtime/Search.d.ts.map +1 -1
  252. package/bin/service/builtins/memory/runtime/Store.d.ts +1 -1
  253. package/bin/service/builtins/memory/runtime/Store.d.ts.map +1 -1
  254. package/bin/service/builtins/memory/runtime/SystemProvider.d.ts +1 -1
  255. package/bin/service/builtins/memory/runtime/SystemProvider.d.ts.map +1 -1
  256. package/bin/service/builtins/memory/runtime/Writer.d.ts +1 -1
  257. package/bin/service/builtins/memory/runtime/Writer.d.ts.map +1 -1
  258. package/bin/service/builtins/schedule/ScheduleService.d.ts +39 -0
  259. package/bin/service/builtins/schedule/ScheduleService.d.ts.map +1 -0
  260. package/bin/service/builtins/schedule/ScheduleService.js +106 -0
  261. package/bin/service/builtins/schedule/ScheduleService.js.map +1 -0
  262. package/bin/service/builtins/shell/ShellRuntimeTypes.d.ts +1 -1
  263. package/bin/service/builtins/shell/ShellRuntimeTypes.d.ts.map +1 -1
  264. package/bin/service/builtins/shell/ShellService.d.ts +2 -2
  265. package/bin/service/builtins/shell/ShellService.d.ts.map +1 -1
  266. package/bin/service/builtins/shell/runtime/ShellActionResponse.d.ts +1 -1
  267. package/bin/service/builtins/shell/runtime/ShellActionResponse.d.ts.map +1 -1
  268. package/bin/service/builtins/shell/runtime/ShellActionRuntime.d.ts +1 -1
  269. package/bin/service/builtins/shell/runtime/ShellActionRuntime.d.ts.map +1 -1
  270. package/bin/service/builtins/shell/runtime/ShellActionRuntimeSupport.d.ts +1 -1
  271. package/bin/service/builtins/shell/runtime/ShellActionRuntimeSupport.d.ts.map +1 -1
  272. package/bin/service/builtins/shell/runtime/ShellRuntimeEnvironment.d.ts +1 -1
  273. package/bin/service/builtins/shell/runtime/ShellRuntimeEnvironment.d.ts.map +1 -1
  274. package/bin/service/builtins/task/Action.d.ts +1 -1
  275. package/bin/service/builtins/task/Action.d.ts.map +1 -1
  276. package/bin/service/builtins/task/Scheduler.d.ts +1 -1
  277. package/bin/service/builtins/task/Scheduler.d.ts.map +1 -1
  278. package/bin/service/builtins/task/TaskService.d.ts +2 -2
  279. package/bin/service/builtins/task/TaskService.d.ts.map +1 -1
  280. package/bin/service/builtins/task/runtime/CronRuntime.d.ts +1 -1
  281. package/bin/service/builtins/task/runtime/CronRuntime.d.ts.map +1 -1
  282. package/bin/service/builtins/task/runtime/Runner.d.ts +1 -1
  283. package/bin/service/builtins/task/runtime/Runner.d.ts.map +1 -1
  284. package/bin/service/builtins/task/runtime/TaskActionExecution.d.ts +1 -1
  285. package/bin/service/builtins/task/runtime/TaskActionExecution.d.ts.map +1 -1
  286. package/bin/service/builtins/task/runtime/TaskActionInput.d.ts +2 -31
  287. package/bin/service/builtins/task/runtime/TaskActionInput.d.ts.map +1 -1
  288. package/bin/service/builtins/task/runtime/TaskActionInput.js +2 -141
  289. package/bin/service/builtins/task/runtime/TaskActionInput.js.map +1 -1
  290. package/bin/service/builtins/task/runtime/TaskRunChatDispatch.d.ts +1 -1
  291. package/bin/service/builtins/task/runtime/TaskRunChatDispatch.d.ts.map +1 -1
  292. package/bin/service/builtins/task/runtime/TaskRunnerRound.d.ts +1 -1
  293. package/bin/service/builtins/task/runtime/TaskRunnerRound.d.ts.map +1 -1
  294. package/bin/service/builtins/task/runtime/TaskRunnerScript.d.ts +1 -1
  295. package/bin/service/builtins/task/runtime/TaskRunnerScript.d.ts.map +1 -1
  296. package/bin/service/builtins/task/runtime/TaskRunnerSession.d.ts +1 -1
  297. package/bin/service/builtins/task/runtime/TaskRunnerSession.d.ts.map +1 -1
  298. package/bin/service/builtins/task/runtime/TaskServiceActions.d.ts +1 -1
  299. package/bin/service/builtins/task/runtime/TaskServiceActions.d.ts.map +1 -1
  300. package/bin/service/builtins/task/runtime/TaskServiceActions.js +2 -30
  301. package/bin/service/builtins/task/runtime/TaskServiceActions.js.map +1 -1
  302. package/bin/service/core/Manager.d.ts +0 -1
  303. package/bin/service/core/Manager.d.ts.map +1 -1
  304. package/bin/service/core/Manager.js +0 -1
  305. package/bin/service/core/Manager.js.map +1 -1
  306. package/bin/service/core/ServiceActionRunner.d.ts +1 -1
  307. package/bin/service/core/ServiceActionRunner.d.ts.map +1 -1
  308. package/bin/service/core/ServiceActionRunner.js +5 -3
  309. package/bin/service/core/ServiceActionRunner.js.map +1 -1
  310. package/bin/service/core/ServiceClassRegistry.d.ts +1 -1
  311. package/bin/service/core/ServiceClassRegistry.d.ts.map +1 -1
  312. package/bin/service/core/ServiceCommandRequest.d.ts +36 -0
  313. package/bin/service/core/ServiceCommandRequest.d.ts.map +1 -0
  314. package/bin/service/core/ServiceCommandRequest.js +53 -0
  315. package/bin/service/core/ServiceCommandRequest.js.map +1 -0
  316. package/bin/service/core/ServiceStateController.d.ts +20 -7
  317. package/bin/service/core/ServiceStateController.d.ts.map +1 -1
  318. package/bin/service/core/ServiceStateController.js +23 -20
  319. package/bin/service/core/ServiceStateController.js.map +1 -1
  320. package/bin/service/core/ServiceSystemProviders.d.ts +1 -1
  321. package/bin/service/core/ServiceSystemProviders.d.ts.map +1 -1
  322. package/bin/service/core/Services.d.ts +1 -1
  323. package/bin/service/core/Services.d.ts.map +1 -1
  324. package/bin/service/core/Services.js +2 -0
  325. package/bin/service/core/Services.js.map +1 -1
  326. package/bin/service/{schedule → core/schedule}/Executor.d.ts +2 -2
  327. package/bin/service/core/schedule/Executor.d.ts.map +1 -0
  328. package/bin/service/{schedule → core/schedule}/Executor.js +1 -1
  329. package/bin/service/core/schedule/Executor.js.map +1 -0
  330. package/bin/service/{schedule → core/schedule}/Store.d.ts +1 -1
  331. package/bin/service/core/schedule/Store.d.ts.map +1 -0
  332. package/bin/service/{schedule → core/schedule}/Store.js +2 -2
  333. package/bin/service/core/schedule/Store.js.map +1 -0
  334. package/bin/service/core/schedule/Time.d.ts.map +1 -0
  335. package/bin/service/core/schedule/Time.js.map +1 -0
  336. package/bin/service/types/Service.d.ts +2 -24
  337. package/bin/service/types/Service.d.ts.map +1 -1
  338. package/bin/service/types/Service.js +1 -1
  339. package/bin/session/composer/system/default/DefaultSessionSystemComposer.d.ts +1 -1
  340. package/bin/session/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  341. package/bin/session/composer/system/default/SystemDomain.d.ts +1 -1
  342. package/bin/session/composer/system/default/SystemDomain.d.ts.map +1 -1
  343. package/bin/session/tools/shell/ShellToolBridge.d.ts +1 -1
  344. package/bin/session/tools/shell/ShellToolBridge.d.ts.map +1 -1
  345. package/package.json +1 -1
  346. package/src/config/Config.ts +1 -1
  347. package/src/config/{DowncityDefault.ts → Defaults.ts} +11 -0
  348. package/src/{project/ProjectExecutionBinding.ts → config/ExecutionBinding.ts} +1 -1
  349. package/src/{runtime → core}/AgentContextTypes.ts +6 -7
  350. package/src/core/AgentCore.ts +527 -0
  351. package/src/{runtime/AgentRuntimeTypes.ts → core/AgentCoreTypes.ts} +6 -6
  352. package/src/host/daemon/ProjectSetup.ts +2 -3
  353. package/src/host/runtime/PluginRuntime.ts +1 -1
  354. package/src/index.ts +27 -24
  355. package/src/model/CreateModel.ts +1 -1
  356. package/src/plugin/builtins/asr/InboundAugment.ts +1 -1
  357. package/src/plugin/builtins/auth/runtime/AuthorizationConfig.ts +1 -1
  358. package/src/plugin/builtins/auth/runtime/AuthorizationStore.ts +1 -1
  359. package/src/plugin/builtins/voice/InboundAugment.ts +1 -1
  360. package/src/plugin/builtins/workboard/runtime/Collector.ts +2 -2
  361. package/src/plugin/builtins/workboard/runtime/Normalizer.ts +1 -1
  362. package/src/plugin/builtins/workboard/runtime/Store.ts +1 -1
  363. package/src/plugin/core/Activation.ts +2 -2
  364. package/src/plugin/core/HookRegistry.ts +1 -1
  365. package/src/plugin/core/HttpRoutes.ts +1 -1
  366. package/src/plugin/core/LocalExecution.ts +21 -20
  367. package/src/plugin/core/PluginRegistry.ts +1 -1
  368. package/src/plugin/types/Plugin.ts +1 -1
  369. package/src/project/AgentInitializer.ts +2 -2
  370. package/src/sandbox/SandboxConfigResolver.ts +1 -1
  371. package/src/sandbox/SandboxRunner.ts +1 -1
  372. package/src/sdk/Agent.ts +163 -391
  373. package/src/sdk/AgentSdkTypes.ts +158 -0
  374. package/src/sdk/RemoteAgent.ts +1 -1
  375. package/src/sdk/Session.ts +16 -6
  376. package/src/sdk/{SessionMetadata.ts → session/Metadata.ts} +1 -1
  377. package/src/sdk/{Paths.ts → session/Paths.ts} +1 -1
  378. package/src/sdk/{SessionPersistence.ts → session/Persistence.ts} +1 -1
  379. package/src/sdk/{SessionServicePort.ts → session/ServicePort.ts} +1 -1
  380. package/src/sdk/session/index.ts +34 -0
  381. package/src/server/http/Server.ts +63 -18
  382. package/src/server/http/control/AuthControlService.ts +1 -1
  383. package/src/server/http/control/ControlAuthorizationRoutes.ts +1 -1
  384. package/src/server/http/control/ControlRouter.ts +27 -11
  385. package/src/server/http/control/ExecuteBySession.ts +2 -2
  386. package/src/server/http/control/OverviewRoutes.ts +6 -2
  387. package/src/server/http/control/SessionSummaryStore.ts +1 -1
  388. package/src/server/http/control/types/ControlRoutes.ts +2 -2
  389. package/src/server/http/execute/execute.ts +107 -91
  390. package/src/server/http/plugins/plugins.ts +60 -44
  391. package/src/server/http/services/services.ts +68 -64
  392. package/src/server/http/static/static.ts +95 -79
  393. package/src/server/rpc/Server.ts +26 -15
  394. package/src/service/builtins/BaseService.ts +2 -2
  395. package/src/service/builtins/chat/Action.ts +1 -1
  396. package/src/service/builtins/chat/ChatService.ts +2 -2
  397. package/src/service/builtins/chat/ChatServiceTypes.ts +1 -1
  398. package/src/service/builtins/chat/channels/BaseChatChannel.ts +1 -1
  399. package/src/service/builtins/chat/channels/BaseChatChannelQueue.ts +1 -1
  400. package/src/service/builtins/chat/channels/BaseChatChannelSupport.ts +1 -1
  401. package/src/service/builtins/chat/channels/feishu/Feishu.ts +1 -1
  402. package/src/service/builtins/chat/channels/feishu/FeishuMessageHandler.ts +1 -1
  403. package/src/service/builtins/chat/channels/feishu/FeishuPlatformClient.ts +1 -1
  404. package/src/service/builtins/chat/channels/qq/QQ.ts +1 -1
  405. package/src/service/builtins/chat/channels/qq/QQMessageHandler.ts +1 -1
  406. package/src/service/builtins/chat/channels/qq/QQSupport.ts +1 -1
  407. package/src/service/builtins/chat/channels/telegram/Bot.ts +1 -1
  408. package/src/service/builtins/chat/channels/telegram/TelegramMessageHandler.ts +1 -1
  409. package/src/service/builtins/chat/channels/telegram/TelegramPlatformClient.ts +1 -1
  410. package/src/service/builtins/chat/runtime/ChannelContextStore.ts +1 -1
  411. package/src/service/builtins/chat/runtime/ChatActionExecution.ts +1 -1
  412. package/src/service/builtins/chat/runtime/ChatActionInput.ts +2 -158
  413. package/src/service/builtins/chat/runtime/ChatChannelActions.ts +1 -1
  414. package/src/service/builtins/chat/runtime/ChatChannelConfig.ts +1 -1
  415. package/src/service/builtins/chat/runtime/ChatChannelCore.ts +1 -1
  416. package/src/service/builtins/chat/runtime/ChatChannelLifecycle.ts +1 -1
  417. package/src/service/builtins/chat/runtime/ChatHistoryStore.ts +1 -1
  418. package/src/service/builtins/chat/runtime/ChatIngressStore.ts +1 -1
  419. package/src/service/builtins/chat/runtime/ChatMetaStore.ts +1 -1
  420. package/src/service/builtins/chat/runtime/ChatQueueReplyDispatch.ts +1 -1
  421. package/src/service/builtins/chat/runtime/ChatQueueSessionBridge.ts +1 -1
  422. package/src/service/builtins/chat/runtime/ChatQueueStore.ts +1 -1
  423. package/src/service/builtins/chat/runtime/ChatQueueWorker.ts +1 -1
  424. package/src/service/builtins/chat/runtime/ChatServiceActions.ts +1 -118
  425. package/src/service/builtins/chat/runtime/ChatServiceSystem.ts +1 -1
  426. package/src/service/builtins/chat/runtime/ChatSessionDelete.ts +1 -1
  427. package/src/service/builtins/chat/runtime/ChatkeySend.ts +1 -1
  428. package/src/service/builtins/chat/runtime/EnqueueDispatch.ts +1 -1
  429. package/src/service/builtins/chat/runtime/InboundAugment.ts +1 -1
  430. package/src/service/builtins/chat/runtime/PluginDispatch.ts +1 -1
  431. package/src/service/builtins/chat/runtime/ReplyDispatch.ts +1 -1
  432. package/src/service/builtins/chat/runtime/SystemPrompt.ts +1 -1
  433. package/src/service/builtins/contact/Action.ts +2 -59
  434. package/src/service/builtins/contact/ContactService.ts +2 -2
  435. package/src/service/builtins/contact/runtime/ChatRuntime.ts +1 -1
  436. package/src/service/builtins/contact/runtime/ContactPayload.ts +0 -12
  437. package/src/service/builtins/contact/runtime/RemoteClient.ts +40 -19
  438. package/src/service/builtins/contact/runtime/ShareBundle.ts +1 -1
  439. package/src/service/builtins/memory/Action.ts +1 -1
  440. package/src/service/builtins/memory/MemoryService.ts +1 -28
  441. package/src/service/builtins/memory/runtime/Flush.ts +1 -1
  442. package/src/service/builtins/memory/runtime/Search.ts +1 -1
  443. package/src/service/builtins/memory/runtime/Store.ts +1 -1
  444. package/src/service/builtins/memory/runtime/SystemProvider.ts +1 -1
  445. package/src/service/builtins/memory/runtime/Writer.ts +1 -1
  446. package/src/service/builtins/schedule/ScheduleService.ts +131 -0
  447. package/src/service/builtins/shell/ShellRuntimeTypes.ts +1 -1
  448. package/src/service/builtins/shell/ShellService.ts +2 -2
  449. package/src/service/builtins/shell/runtime/ShellActionResponse.ts +1 -1
  450. package/src/service/builtins/shell/runtime/ShellActionRuntime.ts +1 -1
  451. package/src/service/builtins/shell/runtime/ShellActionRuntimeSupport.ts +1 -1
  452. package/src/service/builtins/shell/runtime/ShellRuntimeEnvironment.ts +1 -1
  453. package/src/service/builtins/task/Action.ts +1 -1
  454. package/src/service/builtins/task/Scheduler.ts +1 -1
  455. package/src/service/builtins/task/TaskService.ts +2 -2
  456. package/src/service/builtins/task/runtime/CronRuntime.ts +1 -1
  457. package/src/service/builtins/task/runtime/Runner.ts +1 -1
  458. package/src/service/builtins/task/runtime/TaskActionExecution.ts +1 -1
  459. package/src/service/builtins/task/runtime/TaskActionInput.ts +3 -185
  460. package/src/service/builtins/task/runtime/TaskRunChatDispatch.ts +1 -1
  461. package/src/service/builtins/task/runtime/TaskRunnerRound.ts +1 -1
  462. package/src/service/builtins/task/runtime/TaskRunnerScript.ts +1 -1
  463. package/src/service/builtins/task/runtime/TaskRunnerSession.ts +1 -1
  464. package/src/service/builtins/task/runtime/TaskServiceActions.ts +1 -35
  465. package/src/service/core/Manager.ts +0 -1
  466. package/src/service/core/ServiceActionRunner.ts +6 -4
  467. package/src/service/core/ServiceClassRegistry.ts +1 -1
  468. package/src/service/core/ServiceCommandRequest.ts +93 -0
  469. package/src/service/core/ServiceStateController.ts +45 -20
  470. package/src/service/core/ServiceSystemProviders.ts +1 -1
  471. package/src/service/core/Services.ts +3 -1
  472. package/src/service/{schedule → core/schedule}/Executor.ts +2 -2
  473. package/src/service/{schedule → core/schedule}/Store.ts +4 -2
  474. package/src/service/types/Service.ts +2 -25
  475. package/src/session/composer/system/default/DefaultSessionSystemComposer.ts +1 -1
  476. package/src/session/composer/system/default/SystemDomain.ts +1 -1
  477. package/src/session/tools/shell/ShellToolBridge.ts +1 -1
  478. package/tsconfig.tsbuildinfo +1 -1
  479. package/bin/config/DowncityDefault.d.ts +0 -3
  480. package/bin/config/DowncityDefault.d.ts.map +0 -1
  481. package/bin/config/DowncityDefault.js.map +0 -1
  482. package/bin/project/ProjectExecutionBinding.d.ts.map +0 -1
  483. package/bin/project/ProjectExecutionBinding.js.map +0 -1
  484. package/bin/runtime/AgentContext.d.ts +0 -23
  485. package/bin/runtime/AgentContext.d.ts.map +0 -1
  486. package/bin/runtime/AgentContext.js +0 -149
  487. package/bin/runtime/AgentContext.js.map +0 -1
  488. package/bin/runtime/AgentContextTypes.d.ts.map +0 -1
  489. package/bin/runtime/AgentContextTypes.js.map +0 -1
  490. package/bin/runtime/AgentRuntime.d.ts +0 -37
  491. package/bin/runtime/AgentRuntime.d.ts.map +0 -1
  492. package/bin/runtime/AgentRuntime.js +0 -291
  493. package/bin/runtime/AgentRuntime.js.map +0 -1
  494. package/bin/runtime/AgentRuntimeState.d.ts +0 -42
  495. package/bin/runtime/AgentRuntimeState.d.ts.map +0 -1
  496. package/bin/runtime/AgentRuntimeState.js +0 -172
  497. package/bin/runtime/AgentRuntimeState.js.map +0 -1
  498. package/bin/runtime/AgentRuntimeTypes.d.ts.map +0 -1
  499. package/bin/runtime/AgentRuntimeTypes.js +0 -10
  500. package/bin/runtime/AgentRuntimeTypes.js.map +0 -1
  501. package/bin/sdk/HttpServer.d.ts +0 -40
  502. package/bin/sdk/HttpServer.d.ts.map +0 -1
  503. package/bin/sdk/HttpServer.js +0 -189
  504. package/bin/sdk/HttpServer.js.map +0 -1
  505. package/bin/sdk/Paths.d.ts.map +0 -1
  506. package/bin/sdk/Paths.js.map +0 -1
  507. package/bin/sdk/RpcServer.d.ts +0 -31
  508. package/bin/sdk/RpcServer.d.ts.map +0 -1
  509. package/bin/sdk/RpcServer.js +0 -207
  510. package/bin/sdk/RpcServer.js.map +0 -1
  511. package/bin/sdk/SessionMetadata.d.ts.map +0 -1
  512. package/bin/sdk/SessionMetadata.js.map +0 -1
  513. package/bin/sdk/SessionPersistence.d.ts.map +0 -1
  514. package/bin/sdk/SessionPersistence.js.map +0 -1
  515. package/bin/sdk/SessionServicePort.d.ts.map +0 -1
  516. package/bin/sdk/SessionServicePort.js.map +0 -1
  517. package/bin/service/core/ServiceActionApi.d.ts +0 -15
  518. package/bin/service/core/ServiceActionApi.d.ts.map +0 -1
  519. package/bin/service/core/ServiceActionApi.js +0 -234
  520. package/bin/service/core/ServiceActionApi.js.map +0 -1
  521. package/bin/service/core/ServiceManager.d.ts +0 -9
  522. package/bin/service/core/ServiceManager.d.ts.map +0 -1
  523. package/bin/service/core/ServiceManager.js +0 -9
  524. package/bin/service/core/ServiceManager.js.map +0 -1
  525. package/bin/service/schedule/Executor.d.ts.map +0 -1
  526. package/bin/service/schedule/Executor.js.map +0 -1
  527. package/bin/service/schedule/Runtime.d.ts +0 -17
  528. package/bin/service/schedule/Runtime.d.ts.map +0 -1
  529. package/bin/service/schedule/Runtime.js +0 -64
  530. package/bin/service/schedule/Runtime.js.map +0 -1
  531. package/bin/service/schedule/Store.d.ts.map +0 -1
  532. package/bin/service/schedule/Store.js.map +0 -1
  533. package/bin/service/schedule/Time.d.ts.map +0 -1
  534. package/bin/service/schedule/Time.js.map +0 -1
  535. package/src/runtime/AgentContext.ts +0 -182
  536. package/src/runtime/AgentRuntime.ts +0 -366
  537. package/src/runtime/AgentRuntimeState.ts +0 -213
  538. package/src/sdk/HttpServer.ts +0 -231
  539. package/src/sdk/RpcServer.ts +0 -244
  540. package/src/service/core/ServiceActionApi.ts +0 -304
  541. package/src/service/core/ServiceManager.ts +0 -20
  542. package/src/service/schedule/Runtime.ts +0 -78
  543. /package/bin/service/{schedule → core/schedule}/Time.d.ts +0 -0
  544. /package/bin/service/{schedule → core/schedule}/Time.js +0 -0
  545. /package/src/service/{schedule → core/schedule}/Time.ts +0 -0
@@ -0,0 +1,527 @@
1
+ /**
2
+ * AgentCore:单个 Agent 实例的运行内核。
3
+ *
4
+ * 关键点(中文)
5
+ * - 一个 `AgentCore` 只服务一个 agent 实例,不依赖进程级 singleton runtime。
6
+ * - SDK `Agent`、实例绑定式 HTTP server、实例绑定式 local RPC 都应基于它工作。
7
+ * - 宿主若需要统一 session 默认配置,应通过 `configureSession` 注入,而不是把策略写死在 SDK 中。
8
+ */
9
+
10
+ import fs from "fs-extra";
11
+ import { nanoid } from "nanoid";
12
+ import type { Tool } from "ai";
13
+ import { Logger } from "@/utils/logger/Logger.js";
14
+ import type { BaseService } from "@/service/builtins/BaseService.js";
15
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
16
+ import type { AgentRuntime } from "@/core/AgentCoreTypes.js";
17
+ import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
18
+ import type { JsonValue } from "@/types/common/Json.js";
19
+ import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
20
+ import type {
21
+ Plugin,
22
+ PluginAvailability,
23
+ PluginPort,
24
+ PluginView,
25
+ } from "@/plugin/types/Plugin.js";
26
+ import type {
27
+ AgentOptions,
28
+ AgentSessionMetadata,
29
+ AgentSessionSystemBlock,
30
+ } from "@/sdk/AgentSdkTypes.js";
31
+ import { Session } from "@/sdk/Session.js";
32
+ import { DEFAULT_SHIP_PROMPTS } from "@session/composer/system/default/SystemDomain.js";
33
+ import { getSdkAgentSessionsRootDirPath } from "@/sdk/session/index.js";
34
+ import {
35
+ createAgentPathRuntime,
36
+ createAgentPluginConfigRuntime,
37
+ } from "@/host/runtime/AgentHostRuntime.js";
38
+ import { loadDowncityConfig } from "@/config/Config.js";
39
+ import { appendExecSessionMessage } from "@/service/builtins/chat/runtime/ChatIngressStore.js";
40
+ import { readChatMetaBySessionId } from "@/service/builtins/chat/runtime/ChatMetaStore.js";
41
+ import { resolveChatQueueStore } from "@/service/builtins/chat/runtime/ChatQueueStore.js";
42
+ import { HookRegistry } from "@/plugin/core/HookRegistry.js";
43
+ import { PluginRegistry } from "@/plugin/core/PluginRegistry.js";
44
+ import { isPluginEnabled } from "@/plugin/core/Activation.js";
45
+ import { PLUGINS } from "@/plugin/core/Plugins.js";
46
+ import { createRegisteredServiceInstances } from "@/service/core/ServiceClassRegistry.js";
47
+ import { setShellToolRuntime } from "@session/tools/shell/ShellToolDefinition.js";
48
+
49
+ const EMPTY_SDK_PLATFORM: AgentPlatformRuntime = {
50
+ getGlobalEnv: () => ({}),
51
+ getAgentEnv: () => ({}),
52
+ listModels: () => [],
53
+ listProviders: async () => [],
54
+ getModel: () => null,
55
+ getChannelAccount: () => null,
56
+ readChatAuthorizationConfig: () => ({
57
+ roles: {},
58
+ channels: {},
59
+ }),
60
+ writeChatAuthorizationConfig: async (_projectRoot, nextConfig) => nextConfig,
61
+ setChatAuthorizationUserRole: async () => ({
62
+ roles: {},
63
+ channels: {},
64
+ }),
65
+ isPluginEnabled: (pluginName) => pluginName === "auth",
66
+ };
67
+
68
+ function createFallbackSdkConfig(agentId: string): DowncityConfig {
69
+ return {
70
+ name: agentId,
71
+ version: "0.0.0",
72
+ } as DowncityConfig;
73
+ }
74
+
75
+ function normalizeInstructionInput(input: string | string[] | undefined): string[] {
76
+ const items = Array.isArray(input) ? input : typeof input === "string" ? [input] : [];
77
+ return items
78
+ .map((item) => String(item || "").trim())
79
+ .filter((item) => item.length > 0);
80
+ }
81
+
82
+ function createCoreInstructionContent(projectRoot: string): string {
83
+ const currentYear = String(new Date().getFullYear());
84
+ return DEFAULT_SHIP_PROMPTS
85
+ .replaceAll("{{project_path}}", projectRoot)
86
+ .replaceAll("{{project_root}}", projectRoot)
87
+ .replaceAll("{{current_year}}", currentYear);
88
+ }
89
+
90
+ function createInstructionSystemBlocks(
91
+ instruction: string[],
92
+ projectRoot: string,
93
+ ): AgentSessionSystemBlock[] {
94
+ if (instruction.length === 0) {
95
+ return [
96
+ {
97
+ source: "core",
98
+ name: "default",
99
+ content: createCoreInstructionContent(projectRoot),
100
+ },
101
+ ];
102
+ }
103
+ return instruction.map((content, index) => ({
104
+ source: "instruction" as const,
105
+ name: instruction.length === 1 ? "agent" : `agent:${index + 1}`,
106
+ content,
107
+ }));
108
+ }
109
+
110
+ /**
111
+ * SDK / server 共用的实例级 Agent 内核。
112
+ */
113
+ export class AgentCore {
114
+ readonly id: string;
115
+ readonly path: string;
116
+ readonly tools: Record<string, Tool>;
117
+ readonly services: Map<string, BaseService>;
118
+ readonly plugins: PluginPort;
119
+
120
+ private readonly logger: Logger;
121
+ private readonly sessionsById = new Map<string, Session>();
122
+ private readonly runtime: AgentRuntime;
123
+ private readonly serviceContext: AgentContext;
124
+ private readonly pluginRegistry: PluginRegistry;
125
+ private readonly pluginSystemProviders: Plugin[];
126
+ private readonly config: DowncityConfig;
127
+ private readonly platform: AgentPlatformRuntime;
128
+ private readonly env: Record<string, string>;
129
+ private readonly globalEnv: Record<string, string>;
130
+ private readonly configureSessionHook?: AgentOptions["configureSession"];
131
+ private instruction: string[];
132
+ private servicesStartPromise: Promise<void> | null = null;
133
+ private configuredSessionIds = new Set<string>();
134
+
135
+ constructor(options: AgentOptions) {
136
+ this.id = String(options.id || "").trim();
137
+ this.path = String(options.path || "").trim();
138
+ this.tools = options.tools && typeof options.tools === "object"
139
+ ? { ...options.tools }
140
+ : {};
141
+ if (!this.id) {
142
+ throw new Error("Agent requires a non-empty id");
143
+ }
144
+ if (!this.path) {
145
+ throw new Error("Agent requires a non-empty path");
146
+ }
147
+
148
+ this.logger = new Logger();
149
+ this.logger.bindProjectRoot(this.path);
150
+ this.platform = options.platform || EMPTY_SDK_PLATFORM;
151
+ this.globalEnv = this.platform.getGlobalEnv?.() || {};
152
+ this.env = this.platform.getAgentEnv?.(this.path) || {};
153
+ this.instruction = normalizeInstructionInput(options.instruction);
154
+ this.configureSessionHook = options.configureSession;
155
+ this.config = this.loadConfig();
156
+ this.services = new Map<string, BaseService>();
157
+ this.runtime = this.createRuntime();
158
+ this.registerServices({
159
+ explicitServices: options.services || [],
160
+ useBuiltinServices: options.useBuiltinServices === true,
161
+ });
162
+ this.pluginSystemProviders = this.resolvePlugins({
163
+ explicitPlugins: options.plugins,
164
+ useBuiltinPlugins: options.useBuiltinPlugins === true,
165
+ });
166
+ this.pluginRegistry = this.createPluginRegistry(this.pluginSystemProviders);
167
+ this.plugins = this.createPluginPort();
168
+ this.serviceContext = this.createServiceContext();
169
+ setShellToolRuntime(this.serviceContext.invoke);
170
+ }
171
+
172
+ /**
173
+ * 返回实例级 runtime 视图。
174
+ */
175
+ getRuntime(): AgentRuntime {
176
+ return this.runtime;
177
+ }
178
+
179
+ /**
180
+ * 返回实例级执行上下文。
181
+ */
182
+ getContext(): AgentContext {
183
+ return this.serviceContext;
184
+ }
185
+
186
+ /**
187
+ * 返回当前项目根目录解析后的配置快照。
188
+ */
189
+ getConfig(): DowncityConfig {
190
+ return this.config;
191
+ }
192
+
193
+ /**
194
+ * 返回统一日志器。
195
+ */
196
+ getLogger(): Logger {
197
+ return this.logger;
198
+ }
199
+
200
+ /**
201
+ * 获取或创建一个 session。
202
+ */
203
+ async session(sessionId?: string): Promise<Session> {
204
+ const session = this.getOrCreateSession(sessionId);
205
+ await session.initialize();
206
+ await this.configureSession(session);
207
+ return session;
208
+ }
209
+
210
+ /**
211
+ * 列出当前 agent 的全部 session 元数据。
212
+ */
213
+ async sessions(): Promise<AgentSessionMetadata[]> {
214
+ const rootDir = getSdkAgentSessionsRootDirPath(this.path, this.id);
215
+ if (!(await fs.pathExists(rootDir))) return [];
216
+ const entries = await fs.readdir(rootDir, { withFileTypes: true });
217
+ const items: AgentSessionMetadata[] = [];
218
+ for (const entry of entries) {
219
+ if (!entry.isDirectory()) continue;
220
+ let sessionId = "";
221
+ try {
222
+ sessionId = decodeURIComponent(entry.name);
223
+ } catch {
224
+ sessionId = entry.name;
225
+ }
226
+ if (!sessionId) continue;
227
+ const session = await this.session(sessionId);
228
+ items.push(await session.toMetadata());
229
+ }
230
+ items.sort((a, b) => (b.updatedAt || 0) - (a.updatedAt || 0));
231
+ return items;
232
+ }
233
+
234
+ /**
235
+ * 确保显式注入的 services 已启动。
236
+ */
237
+ async ensureServicesStarted(): Promise<void> {
238
+ if (this.servicesStartPromise) {
239
+ await this.servicesStartPromise;
240
+ return;
241
+ }
242
+ this.servicesStartPromise = (async () => {
243
+ for (const service of this.services.values()) {
244
+ await service.lifecycle?.start?.(this.serviceContext);
245
+ }
246
+ })();
247
+ await this.servicesStartPromise;
248
+ }
249
+
250
+ /**
251
+ * 更新当前 Agent 的静态基础指令。
252
+ */
253
+ setInstruction(input: string | string[]): void {
254
+ this.instruction = normalizeInstructionInput(input);
255
+ }
256
+
257
+ private loadConfig(): DowncityConfig {
258
+ try {
259
+ return loadDowncityConfig(this.path, {
260
+ projectEnv: this.env,
261
+ agentEnv: this.env,
262
+ globalEnv: this.globalEnv,
263
+ });
264
+ } catch {
265
+ return createFallbackSdkConfig(this.id);
266
+ }
267
+ }
268
+
269
+ private registerServices(input: {
270
+ explicitServices: BaseService[];
271
+ useBuiltinServices: boolean;
272
+ }): void {
273
+ const explicitServices = input.explicitServices;
274
+ const builtinServices = input.useBuiltinServices
275
+ ? [...createRegisteredServiceInstances(this.runtime).values()]
276
+ : [];
277
+ for (const service of [...builtinServices, ...explicitServices]) {
278
+ const name = String(service?.name || "").trim();
279
+ if (!name) {
280
+ throw new Error("Agent received a service without a valid name");
281
+ }
282
+ if (this.services.has(name)) {
283
+ throw new Error(`Duplicate service registration: ${name}`);
284
+ }
285
+ service.bindAgent(this.runtime);
286
+ this.services.set(name, service);
287
+ }
288
+ }
289
+
290
+ private resolvePlugins(input: {
291
+ explicitPlugins?: Plugin[];
292
+ useBuiltinPlugins: boolean;
293
+ }): Plugin[] {
294
+ const plugins = input.useBuiltinPlugins ? [...PLUGINS] : [];
295
+ if (Array.isArray(input.explicitPlugins)) {
296
+ plugins.push(...input.explicitPlugins);
297
+ }
298
+ return plugins;
299
+ }
300
+
301
+ private createPluginRegistry(input: Plugin[]): PluginRegistry {
302
+ let pluginRegistryRef: PluginRegistry | null = null;
303
+ const hookRegistry = new HookRegistry({
304
+ contextResolver: () => this.serviceContext,
305
+ pluginEnabledChecker: (pluginName) => {
306
+ const plugin = pluginRegistryRef?.get(pluginName);
307
+ return plugin ? isPluginEnabled({ plugin, context: this.serviceContext }) : false;
308
+ },
309
+ });
310
+ const registry = new PluginRegistry({
311
+ contextResolver: () => this.serviceContext,
312
+ hookRegistry,
313
+ });
314
+ pluginRegistryRef = registry;
315
+
316
+ for (const plugin of input) {
317
+ registry.register(plugin);
318
+ }
319
+ return registry;
320
+ }
321
+
322
+ private createPluginPort(): PluginPort {
323
+ return {
324
+ list: (): PluginView[] => this.pluginRegistry.list(),
325
+ availability: async (pluginName: string): Promise<PluginAvailability> =>
326
+ await this.pluginRegistry.availability(pluginName),
327
+ runAction: async (params) => await this.pluginRegistry.runAction(params),
328
+ pipeline: async <T>(pointName: string, value: T): Promise<T> =>
329
+ await this.pluginRegistry.pipeline(pointName, value),
330
+ guard: async <T>(pointName: string, value: T): Promise<void> => {
331
+ await this.pluginRegistry.guard(pointName, value);
332
+ },
333
+ effect: async <T>(pointName: string, value: T): Promise<void> => {
334
+ await this.pluginRegistry.effect(pointName, value);
335
+ },
336
+ resolve: async <TInput, TOutput>(
337
+ pointName: string,
338
+ value: TInput,
339
+ ): Promise<TOutput> =>
340
+ await this.pluginRegistry.resolve<TInput, TOutput>(pointName, value),
341
+ };
342
+ }
343
+
344
+ private loadInstructionSystemBlocks(): AgentSessionSystemBlock[] {
345
+ return createInstructionSystemBlocks(this.instruction, this.path);
346
+ }
347
+
348
+ private async loadPluginSystemBlocks(): Promise<AgentSessionSystemBlock[]> {
349
+ const out: AgentSessionSystemBlock[] = [];
350
+ for (const plugin of this.pluginSystemProviders) {
351
+ if (typeof plugin.system !== "function") continue;
352
+ try {
353
+ if (!isPluginEnabled({ plugin, context: this.serviceContext })) continue;
354
+ if (typeof plugin.availability === "function") {
355
+ const availability = await plugin.availability(this.serviceContext);
356
+ if (!availability.available) continue;
357
+ }
358
+ const text = String(await plugin.system(this.serviceContext)).trim();
359
+ if (!text) continue;
360
+ out.push({
361
+ source: "plugin",
362
+ name: plugin.name,
363
+ content: text,
364
+ });
365
+ } catch {
366
+ // 单个 plugin system 失败不应阻断 SDK session 主链路。
367
+ }
368
+ }
369
+ return out;
370
+ }
371
+
372
+ private async loadServiceSystemBlocks(): Promise<AgentSessionSystemBlock[]> {
373
+ const out: AgentSessionSystemBlock[] = [];
374
+ for (const service of this.services.values()) {
375
+ if (typeof service.system !== "function") continue;
376
+ try {
377
+ const text = String(await service.system(this.serviceContext)).trim();
378
+ if (!text) continue;
379
+ out.push({
380
+ source: "service",
381
+ name: service.name,
382
+ content: text,
383
+ });
384
+ } catch {
385
+ // 单个 service system 失败不应阻断 SDK session 主链路。
386
+ }
387
+ }
388
+ return out;
389
+ }
390
+
391
+ private createRuntime(): AgentRuntime {
392
+ const runtime = {
393
+ cwd: this.path,
394
+ rootPath: this.path,
395
+ logger: this.logger,
396
+ config: this.config,
397
+ env: this.env,
398
+ globalEnv: this.globalEnv,
399
+ systems: this.instruction,
400
+ paths: createAgentPathRuntime(this.path),
401
+ pluginConfig: createAgentPluginConfigRuntime(this.path),
402
+ platform: this.platform,
403
+ model: undefined,
404
+ getSession: (sessionId: string) => {
405
+ return this.getOrCreateSession(sessionId).getServicePort() as never;
406
+ },
407
+ listExecutingSessionIds: () =>
408
+ [...this.sessionsById.values()]
409
+ .filter((session) => session.isExecuting())
410
+ .map((session) => session.id),
411
+ getExecutingSessionCount: () =>
412
+ [...this.sessionsById.values()].filter((session) => session.isExecuting()).length,
413
+ services: this.services,
414
+ } satisfies Omit<AgentRuntime, "getSession"> & {
415
+ getSession(sessionId: string): never;
416
+ };
417
+ return runtime as unknown as AgentRuntime;
418
+ }
419
+
420
+ private createServiceContext(): AgentContext {
421
+ let context!: AgentContext;
422
+ context = {
423
+ agent: this.runtime,
424
+ cwd: this.path,
425
+ rootPath: this.path,
426
+ logger: this.logger,
427
+ config: this.config,
428
+ env: this.env,
429
+ globalEnv: this.globalEnv,
430
+ systems: this.instruction,
431
+ paths: this.runtime.paths,
432
+ pluginConfig: this.runtime.pluginConfig,
433
+ platform: this.platform,
434
+ session: {
435
+ get: (sessionId) => this.getOrCreateSession(sessionId).getServicePort(),
436
+ listExecutingSessionIds: () => this.runtime.listExecutingSessionIds(),
437
+ getExecutingSessionCount: () => this.runtime.getExecutingSessionCount(),
438
+ },
439
+ invoke: {
440
+ invoke: async (params: {
441
+ service: string;
442
+ action: string;
443
+ payload?: JsonValue;
444
+ }) => {
445
+ const serviceName = String(params.service || "").trim();
446
+ const actionName = String(params.action || "").trim();
447
+ const service = this.services.get(serviceName);
448
+ if (!service) {
449
+ return {
450
+ success: false,
451
+ error: `Unknown service: ${serviceName}`,
452
+ };
453
+ }
454
+ const action = service.actions[actionName];
455
+ if (!action) {
456
+ return {
457
+ success: false,
458
+ error: `Unknown action: ${serviceName}.${actionName}`,
459
+ };
460
+ }
461
+ const result = await action.execute({
462
+ context,
463
+ payload: params.payload ?? null,
464
+ serviceName,
465
+ actionName,
466
+ });
467
+ if (!result.success) {
468
+ return {
469
+ success: false,
470
+ ...(result.error ? { error: result.error } : {}),
471
+ };
472
+ }
473
+ return {
474
+ success: true,
475
+ ...(result.data !== undefined ? { data: result.data } : {}),
476
+ };
477
+ },
478
+ },
479
+ chat: {
480
+ readMetaBySessionId: async (sessionId: string) => {
481
+ return await readChatMetaBySessionId({
482
+ context,
483
+ sessionId,
484
+ });
485
+ },
486
+ appendExecSessionMessage: async (params) => {
487
+ await appendExecSessionMessage({
488
+ context,
489
+ sessionId: params.sessionId,
490
+ text: params.text,
491
+ extra: params.extra,
492
+ });
493
+ },
494
+ enqueue: (params) => resolveChatQueueStore(context).enqueue(params),
495
+ },
496
+ plugins: this.plugins,
497
+ };
498
+ return context;
499
+ }
500
+
501
+ private getOrCreateSession(sessionId?: string): Session {
502
+ const resolvedSessionId =
503
+ String(sessionId || "").trim() || `session-${Date.now()}-${nanoid(8)}`;
504
+ const cached = this.sessionsById.get(resolvedSessionId);
505
+ if (cached) return cached;
506
+
507
+ const created = new Session({
508
+ agentId: this.id,
509
+ projectRoot: this.path,
510
+ sessionId: resolvedSessionId,
511
+ tools: this.tools,
512
+ logger: this.logger,
513
+ getInstructionSystemBlocks: () => this.loadInstructionSystemBlocks(),
514
+ getServiceSystemBlocks: () => this.loadServiceSystemBlocks(),
515
+ getPluginSystemBlocks: () => this.loadPluginSystemBlocks(),
516
+ });
517
+ this.sessionsById.set(resolvedSessionId, created);
518
+ return created;
519
+ }
520
+
521
+ private async configureSession(session: Session): Promise<void> {
522
+ if (!this.configureSessionHook) return;
523
+ if (this.configuredSessionIds.has(session.id)) return;
524
+ await this.configureSessionHook(session);
525
+ this.configuredSessionIds.add(session.id);
526
+ }
527
+ }
@@ -1,10 +1,10 @@
1
1
  /**
2
- * AgentRuntime 类型定义。
2
+ * AgentCore 运行时类型定义。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 这里表达的是“当前 agent 进程的长期运行状态”。
6
- * - 它不是抽象 host,也不是一次执行上下文。
7
- * - Session / Service / Plugin 这些长期对象都应从这里挂出。
5
+ * - 这里表达的是单个 `AgentCore` 实例持有的长期运行状态。
6
+ * - 它不再依赖 `runtime/*` 兼容层,而是作为实例级主类型来源。
7
+ * - Session / Service / Plugin 这些长期对象都从这里挂出。
8
8
  */
9
9
 
10
10
  import type { LanguageModel } from "ai";
@@ -19,7 +19,7 @@ import type { BaseService } from "@/service/builtins/BaseService.js";
19
19
  import type { Executor } from "@session/Executor.js";
20
20
 
21
21
  /**
22
- * AgentRuntime 启动早期的基础状态。
22
+ * AgentCore 启动早期的基础状态。
23
23
  */
24
24
  export interface AgentRuntimeBase {
25
25
  /**
@@ -65,7 +65,7 @@ export interface AgentRuntimeBase {
65
65
  }
66
66
 
67
67
  /**
68
- * Agent 进程完整运行状态。
68
+ * AgentCore 完整运行状态。
69
69
  */
70
70
  export interface AgentRuntime extends AgentRuntimeBase {
71
71
  /**
@@ -9,11 +9,10 @@
9
9
  import fs from "fs-extra";
10
10
  import path from "node:path";
11
11
  import { loadDowncityConfig } from "@/config/Config.js";
12
- import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
13
12
  import {
14
- readProjectExecutionBinding,
15
13
  readProjectPrimaryModelId,
16
- } from "@/project/ProjectExecutionBinding.js";
14
+ } from "@/config/ExecutionBinding.js";
15
+ import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
17
16
  import {
18
17
  getCacheDirPath,
19
18
  getLogsDirPath,
@@ -7,7 +7,7 @@
7
7
  * - agent runtime 仅作为 context provider 注册方,不再成为 plugin manager 的宿主。
8
8
  */
9
9
 
10
- import type { AgentContext } from "@/runtime/AgentContextTypes.js";
10
+ import type { AgentContext } from "@/core/AgentContextTypes.js";
11
11
 
12
12
  type AgentContextResolver = () => AgentContext;
13
13
 
package/src/index.ts CHANGED
@@ -11,8 +11,15 @@
11
11
  export { Agent } from "./sdk/Agent.js";
12
12
  export { Session } from "./sdk/Session.js";
13
13
  export { RemoteAgent } from "./sdk/RemoteAgent.js";
14
+ export { AgentCore } from "./core/AgentCore.js";
14
15
  export type {
15
16
  AgentOptions,
17
+ AgentHttpBinding,
18
+ AgentHttpStartOptions,
19
+ AgentRpcBinding,
20
+ AgentStartOptions,
21
+ AgentStartResult,
22
+ AgentStopResult,
16
23
  RemoteAgentOptions,
17
24
  AgentSessionConfigSnapshot,
18
25
  AgentSessionForkInput,
@@ -26,6 +33,19 @@ export type {
26
33
  AgentSessionSystemSessionInfo,
27
34
  AgentSessionSystemSnapshot,
28
35
  } from "./sdk/AgentSdkTypes.js";
36
+ export type {
37
+ AgentRuntime as AgentCoreRuntime,
38
+ AgentRuntimeBase as AgentCoreRuntimeBase,
39
+ } from "./core/AgentCoreTypes.js";
40
+ export type {
41
+ AgentContext as AgentContext,
42
+ AgentContext as AgentCoreContext,
43
+ ChatRuntimePort,
44
+ InvokeServicePort,
45
+ SessionCollectionPort,
46
+ SessionPort,
47
+ StructuredConfig,
48
+ } from "./core/AgentContextTypes.js";
29
49
 
30
50
  // 服务与插件作者 API
31
51
  export { BaseService } from "./service/builtins/BaseService.js";
@@ -46,21 +66,6 @@ export { asrPlugin } from "./plugin/builtins/asr/Plugin.js";
46
66
  export { ttsPlugin } from "./plugin/builtins/tts/Plugin.js";
47
67
  export { workboardPlugin } from "./plugin/builtins/workboard/Plugin.js";
48
68
 
49
- // Agent 运行时集成
50
- export {
51
- getAgentContext,
52
- getAgentRuntime,
53
- getAgentRuntimeBase,
54
- initAgentRuntime,
55
- requireAgentModel,
56
- setAgentRuntime,
57
- setAgentRuntimeBase,
58
- stopAgentHotReload,
59
- } from "./runtime/AgentRuntime.js";
60
- export { createAgentContext } from "./runtime/AgentContext.js";
61
- export type { AgentRuntime, AgentRuntimeBase } from "./runtime/AgentRuntimeState.js";
62
- export type { AgentContext } from "./runtime/AgentContextTypes.js";
63
-
64
69
  // Session 与即时执行集成
65
70
  export { Executor } from "./session/Executor.js";
66
71
  export {
@@ -71,7 +76,10 @@ export { JsonlSessionHistoryComposer } from "./session/composer/history/jsonl/Js
71
76
  export { JsonlSessionCompactionComposer } from "./session/composer/compaction/jsonl/JsonlSessionCompactionComposer.js";
72
77
  export { SessionSystemComposer } from "./session/composer/system/SessionSystemComposer.js";
73
78
  export { transformPromptsIntoSystemMessages } from "./session/composer/system/default/PromptRenderer.js";
74
- export { loadStaticSystemPrompts } from "./session/composer/system/default/StaticPromptCatalog.js";
79
+ export {
80
+ loadStaticSystemPrompts,
81
+ StaticPromptCatalog,
82
+ } from "./session/composer/system/default/StaticPromptCatalog.js";
75
83
 
76
84
  // Agent server 与 transport 集成
77
85
  export { startServer } from "./server/http/Server.js";
@@ -84,12 +92,8 @@ export {
84
92
  startAllServices,
85
93
  stopAllServices,
86
94
  } from "./service/core/Manager.js";
87
- export {
88
- startServiceScheduleRuntime,
89
- stopServiceScheduleRuntime,
90
- } from "./service/schedule/Runtime.js";
91
- export { ServiceScheduleStore } from "./service/schedule/Store.js";
92
- export { parseScheduledRunAtMsOrThrow } from "./service/schedule/Time.js";
95
+ export { ServiceScheduleStore } from "./service/core/schedule/Store.js";
96
+ export { parseScheduledRunAtMsOrThrow } from "./service/core/schedule/Time.js";
93
97
  export {
94
98
  pickLastSuccessfulChatSendText,
95
99
  resolveAssistantMessageForPersistence,
@@ -126,7 +130,7 @@ export {
126
130
  ensureRuntimeExecutionBindingReady,
127
131
  ensureRuntimeProjectReady,
128
132
  } from "./host/daemon/ProjectSetup.js";
129
- export { assertProjectExecutionTarget } from "./project/ProjectExecutionBinding.js";
133
+ export { assertProjectExecutionTarget } from "./config/ExecutionBinding.js";
130
134
 
131
135
  // 日志
132
136
  export { getLogger, logger, type Logger } from "./utils/logger/Logger.js";
@@ -247,7 +251,6 @@ export type {
247
251
  export type {
248
252
  Service,
249
253
  ServiceAction,
250
- ServiceActionApi,
251
254
  ServiceActionCommand,
252
255
  ServiceActionCommandInput,
253
256
  ServiceActionResult,
@@ -21,7 +21,7 @@ import { createLlmLoggingFetch } from "@/utils/logger/Fetch.js";
21
21
  import { getLogger } from "@/utils/logger/Logger.js";
22
22
  import type { DowncityConfig } from "@/types/config/DowncityConfig.js";
23
23
  import type { LlmProviderType } from "@/types/config/LlmConfig.js";
24
- import { readProjectExecutionBinding } from "@/project/ProjectExecutionBinding.js";
24
+ import { readProjectExecutionBinding } from "@/config/ExecutionBinding.js";
25
25
  import type { AgentPlatformRuntime } from "@/types/host/AgentHost.js";
26
26
 
27
27
  type ModelLogContext = {