@downcity/agent 1.1.73 → 1.1.79

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 (390) hide show
  1. package/README.md +26 -28
  2. package/bin/agent/{Agent.d.ts → local/Agent.d.ts} +8 -36
  3. package/bin/agent/local/Agent.d.ts.map +1 -0
  4. package/bin/agent/{Agent.js → local/Agent.js} +45 -200
  5. package/bin/agent/local/Agent.js.map +1 -0
  6. package/bin/agent/local/AgentInstructions.d.ts +22 -0
  7. package/bin/agent/local/AgentInstructions.d.ts.map +1 -0
  8. package/bin/agent/local/AgentInstructions.js +57 -0
  9. package/bin/agent/local/AgentInstructions.js.map +1 -0
  10. package/bin/agent/local/AgentPluginFactory.d.ts +29 -0
  11. package/bin/agent/local/AgentPluginFactory.d.ts.map +1 -0
  12. package/bin/agent/local/AgentPluginFactory.js +53 -0
  13. package/bin/agent/local/AgentPluginFactory.js.map +1 -0
  14. package/bin/{runtime/host/AgentHostRuntime.d.ts → agent/local/AgentRuntimeAssembly.d.ts} +2 -2
  15. package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +1 -0
  16. package/bin/{runtime/host/AgentHostRuntime.js → agent/local/AgentRuntimeAssembly.js} +2 -2
  17. package/bin/agent/local/AgentRuntimeAssembly.js.map +1 -0
  18. package/bin/agent/local/AgentRuntimeFactory.d.ts +72 -0
  19. package/bin/agent/local/AgentRuntimeFactory.d.ts.map +1 -0
  20. package/bin/agent/local/AgentRuntimeFactory.js +94 -0
  21. package/bin/agent/local/AgentRuntimeFactory.js.map +1 -0
  22. package/bin/{runtime/host → agent/local}/ProjectSetup.d.ts +1 -1
  23. package/bin/agent/local/ProjectSetup.d.ts.map +1 -0
  24. package/bin/{runtime/host → agent/local}/ProjectSetup.js +1 -1
  25. package/bin/agent/local/ProjectSetup.js.map +1 -0
  26. package/bin/agent/{RemoteAgent.d.ts → remote/RemoteAgent.d.ts} +3 -3
  27. package/bin/agent/remote/RemoteAgent.d.ts.map +1 -0
  28. package/bin/agent/remote/RemoteAgent.js +58 -0
  29. package/bin/agent/remote/RemoteAgent.js.map +1 -0
  30. package/bin/agent/remote/RemoteSession.d.ts +62 -0
  31. package/bin/agent/remote/RemoteSession.d.ts.map +1 -0
  32. package/bin/agent/remote/RemoteSession.js +225 -0
  33. package/bin/agent/remote/RemoteSession.js.map +1 -0
  34. package/bin/agent/remote/RemoteTransport.d.ts +52 -0
  35. package/bin/agent/remote/RemoteTransport.d.ts.map +1 -0
  36. package/bin/agent/remote/RemoteTransport.js +9 -0
  37. package/bin/agent/remote/RemoteTransport.js.map +1 -0
  38. package/bin/agent/remote/TransportFactory.d.ts +13 -0
  39. package/bin/agent/remote/TransportFactory.d.ts.map +1 -0
  40. package/bin/agent/remote/TransportFactory.js +22 -0
  41. package/bin/agent/remote/TransportFactory.js.map +1 -0
  42. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts +35 -0
  43. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -0
  44. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js +259 -0
  45. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +1 -0
  46. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts +34 -0
  47. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -0
  48. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js +66 -0
  49. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +1 -0
  50. package/bin/config/AgentInitializer.d.ts +1 -1
  51. package/bin/config/AgentInitializer.js +1 -1
  52. package/bin/executor/Executor.d.ts +4 -0
  53. package/bin/executor/Executor.d.ts.map +1 -1
  54. package/bin/executor/Executor.js +52 -35
  55. package/bin/executor/Executor.js.map +1 -1
  56. package/bin/executor/composer/history/SessionHistoryWriter.js +2 -2
  57. package/bin/executor/composer/history/SessionHistoryWriter.js.map +1 -1
  58. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  59. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  60. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  61. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  62. package/bin/executor/messages/AssistantResultPersistence.d.ts +3 -3
  63. package/bin/executor/messages/AssistantResultPersistence.d.ts.map +1 -1
  64. package/bin/executor/messages/AssistantResultPersistence.js +2 -6
  65. package/bin/executor/messages/AssistantResultPersistence.js.map +1 -1
  66. package/bin/executor/messages/SessionStepEventMapper.d.ts +7 -8
  67. package/bin/executor/messages/SessionStepEventMapper.d.ts.map +1 -1
  68. package/bin/executor/messages/SessionStepEventMapper.js +55 -86
  69. package/bin/executor/messages/SessionStepEventMapper.js.map +1 -1
  70. package/bin/executor/messages/UserVisibleText.d.ts +2 -10
  71. package/bin/executor/messages/UserVisibleText.d.ts.map +1 -1
  72. package/bin/executor/messages/UserVisibleText.js +3 -16
  73. package/bin/executor/messages/UserVisibleText.js.map +1 -1
  74. package/bin/executor/store/history/SessionHistoryStore.d.ts +12 -0
  75. package/bin/executor/store/history/SessionHistoryStore.d.ts.map +1 -1
  76. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +12 -0
  77. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +1 -1
  78. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +145 -8
  79. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
  80. package/bin/executor/tools/shell/ShellToolFormatting.d.ts +1 -10
  81. package/bin/executor/tools/shell/ShellToolFormatting.d.ts.map +1 -1
  82. package/bin/executor/tools/shell/ShellToolFormatting.js +1 -39
  83. package/bin/executor/tools/shell/ShellToolFormatting.js.map +1 -1
  84. package/bin/executor/types/SessionHistoryPaths.d.ts +4 -0
  85. package/bin/executor/types/SessionHistoryPaths.d.ts.map +1 -1
  86. package/bin/index.d.ts +5 -5
  87. package/bin/index.d.ts.map +1 -1
  88. package/bin/index.js +3 -3
  89. package/bin/index.js.map +1 -1
  90. package/bin/plugin/core/PluginCommandRequest.d.ts +1 -1
  91. package/bin/plugin/core/PluginCommandRequest.js +1 -1
  92. package/bin/plugin/core/PluginLocalExecution.js +1 -1
  93. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  94. package/bin/plugin/core/ProjectConfigStore.d.ts +3 -2
  95. package/bin/plugin/core/ProjectConfigStore.d.ts.map +1 -1
  96. package/bin/plugin/core/ProjectConfigStore.js +3 -4
  97. package/bin/plugin/core/ProjectConfigStore.js.map +1 -1
  98. package/bin/plugin/types/Plugin.d.ts +10 -842
  99. package/bin/plugin/types/Plugin.d.ts.map +1 -1
  100. package/bin/plugin/types/Plugin.js +3 -4
  101. package/bin/plugin/types/Plugin.js.map +1 -1
  102. package/bin/plugin/types/PluginApi.d.ts +1 -1
  103. package/bin/plugin/types/PluginApi.js +1 -1
  104. package/bin/plugin/types/PluginState.d.ts +1 -1
  105. package/bin/plugin/types/PluginState.d.ts.map +1 -1
  106. package/bin/rpc/Client.d.ts +2 -99
  107. package/bin/rpc/Client.d.ts.map +1 -1
  108. package/bin/rpc/Client.js +0 -46
  109. package/bin/rpc/Client.js.map +1 -1
  110. package/bin/rpc/Server.d.ts +5 -21
  111. package/bin/rpc/Server.d.ts.map +1 -1
  112. package/bin/rpc/Server.js +30 -315
  113. package/bin/rpc/Server.js.map +1 -1
  114. package/bin/rpc/server/InternalHandlers.d.ts +21 -0
  115. package/bin/rpc/server/InternalHandlers.d.ts.map +1 -0
  116. package/bin/rpc/server/InternalHandlers.js +190 -0
  117. package/bin/rpc/server/InternalHandlers.js.map +1 -0
  118. package/bin/rpc/server/RequestDispatcher.d.ts +27 -0
  119. package/bin/rpc/server/RequestDispatcher.d.ts.map +1 -0
  120. package/bin/rpc/server/RequestDispatcher.js +38 -0
  121. package/bin/rpc/server/RequestDispatcher.js.map +1 -0
  122. package/bin/rpc/server/SdkSessionHandlers.d.ts +25 -0
  123. package/bin/rpc/server/SdkSessionHandlers.d.ts.map +1 -0
  124. package/bin/rpc/server/SdkSessionHandlers.js +86 -0
  125. package/bin/rpc/server/SdkSessionHandlers.js.map +1 -0
  126. package/bin/rpc/server/ServerTypes.d.ts +59 -0
  127. package/bin/rpc/server/ServerTypes.d.ts.map +1 -0
  128. package/bin/rpc/server/ServerTypes.js +9 -0
  129. package/bin/rpc/server/ServerTypes.js.map +1 -0
  130. package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.d.ts +1 -1
  131. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +1 -0
  132. package/bin/sandbox/MacOsSeatbeltSandbox.js.map +1 -0
  133. package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.d.ts +2 -2
  134. package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -0
  135. package/bin/sandbox/SandboxConfigResolver.js.map +1 -0
  136. package/bin/{runtime/sandbox → sandbox}/SandboxRunner.d.ts +2 -2
  137. package/bin/sandbox/SandboxRunner.d.ts.map +1 -0
  138. package/bin/{runtime/sandbox → sandbox}/SandboxRunner.js +2 -2
  139. package/bin/sandbox/SandboxRunner.js.map +1 -0
  140. package/bin/sandbox/types/Sandbox.d.ts.map +1 -0
  141. package/bin/sandbox/types/Sandbox.js.map +1 -0
  142. package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.d.ts +2 -2
  143. package/bin/sandbox/types/SandboxRuntime.d.ts.map +1 -0
  144. package/bin/sandbox/types/SandboxRuntime.js.map +1 -0
  145. package/bin/session/Session.d.ts.map +1 -1
  146. package/bin/session/Session.js +2 -1
  147. package/bin/session/Session.js.map +1 -1
  148. package/bin/session/browse/Browse.d.ts +1 -1
  149. package/bin/session/browse/Browse.d.ts.map +1 -1
  150. package/bin/session/browse/Browse.js +28 -13
  151. package/bin/session/browse/Browse.js.map +1 -1
  152. package/bin/session/index.d.ts +1 -1
  153. package/bin/session/index.d.ts.map +1 -1
  154. package/bin/session/index.js +1 -1
  155. package/bin/session/index.js.map +1 -1
  156. package/bin/session/storage/Paths.d.ts +9 -0
  157. package/bin/session/storage/Paths.d.ts.map +1 -1
  158. package/bin/session/storage/Paths.js +11 -0
  159. package/bin/session/storage/Paths.js.map +1 -1
  160. package/bin/types/agent/AgentOptions.d.ts +134 -0
  161. package/bin/types/agent/AgentOptions.d.ts.map +1 -0
  162. package/bin/types/agent/AgentOptions.js +9 -0
  163. package/bin/types/agent/AgentOptions.js.map +1 -0
  164. package/bin/types/{runtime/host/AgentHost.d.ts → agent/AgentRuntimeAssembly.d.ts} +4 -4
  165. package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +1 -0
  166. package/bin/types/{runtime/host/AgentHost.js → agent/AgentRuntimeAssembly.js} +3 -3
  167. package/bin/types/agent/AgentRuntimeAssembly.js.map +1 -0
  168. package/bin/types/agent/AgentTypes.d.ts +8 -613
  169. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  170. package/bin/types/agent/AgentTypes.js +4 -4
  171. package/bin/types/agent/RemoteAgentOptions.d.ts +28 -0
  172. package/bin/types/agent/RemoteAgentOptions.d.ts.map +1 -0
  173. package/bin/types/agent/RemoteAgentOptions.js +9 -0
  174. package/bin/types/agent/RemoteAgentOptions.js.map +1 -0
  175. package/bin/types/agent/SessionActor.d.ts +60 -0
  176. package/bin/types/agent/SessionActor.d.ts.map +1 -0
  177. package/bin/types/agent/SessionActor.js +9 -0
  178. package/bin/types/agent/SessionActor.js.map +1 -0
  179. package/bin/types/agent/SessionTypes.d.ts +312 -0
  180. package/bin/types/agent/SessionTypes.d.ts.map +1 -0
  181. package/bin/types/agent/SessionTypes.js +9 -0
  182. package/bin/types/agent/SessionTypes.js.map +1 -0
  183. package/bin/types/config/DowncityConfig.d.ts +1 -1
  184. package/bin/types/config/DowncityConfig.d.ts.map +1 -1
  185. package/bin/types/{runtime/host → platform}/Store.d.ts +1 -1
  186. package/bin/types/platform/Store.d.ts.map +1 -0
  187. package/bin/types/{runtime/host → platform}/Store.js +1 -1
  188. package/bin/types/platform/Store.js.map +1 -0
  189. package/bin/types/plugin/PluginAction.d.ts +119 -0
  190. package/bin/types/plugin/PluginAction.d.ts.map +1 -0
  191. package/bin/types/plugin/PluginAction.js +9 -0
  192. package/bin/types/plugin/PluginAction.js.map +1 -0
  193. package/bin/types/plugin/PluginCommand.d.ts +80 -0
  194. package/bin/types/plugin/PluginCommand.d.ts.map +1 -0
  195. package/bin/types/plugin/PluginCommand.js +9 -0
  196. package/bin/types/plugin/PluginCommand.js.map +1 -0
  197. package/bin/types/plugin/PluginDefinition.d.ts +57 -0
  198. package/bin/types/plugin/PluginDefinition.d.ts.map +1 -0
  199. package/bin/types/plugin/PluginDefinition.js +9 -0
  200. package/bin/types/plugin/PluginDefinition.js.map +1 -0
  201. package/bin/types/plugin/PluginHttp.d.ts +34 -0
  202. package/bin/types/plugin/PluginHttp.d.ts.map +1 -0
  203. package/bin/types/plugin/PluginHttp.js +9 -0
  204. package/bin/types/plugin/PluginHttp.js.map +1 -0
  205. package/bin/types/plugin/PluginRuntime.d.ts +148 -0
  206. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -0
  207. package/bin/types/plugin/PluginRuntime.js +9 -0
  208. package/bin/types/plugin/PluginRuntime.js.map +1 -0
  209. package/bin/types/plugin/PluginSetup.d.ts +133 -0
  210. package/bin/types/plugin/PluginSetup.d.ts.map +1 -0
  211. package/bin/types/plugin/PluginSetup.js +9 -0
  212. package/bin/types/plugin/PluginSetup.js.map +1 -0
  213. package/bin/types/plugin/PluginState.d.ts +69 -0
  214. package/bin/types/plugin/PluginState.d.ts.map +1 -0
  215. package/bin/types/plugin/PluginState.js +9 -0
  216. package/bin/types/plugin/PluginState.js.map +1 -0
  217. package/bin/types/rpc/RpcProtocol.d.ts +323 -0
  218. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -0
  219. package/bin/types/rpc/RpcProtocol.js +10 -0
  220. package/bin/types/rpc/RpcProtocol.js.map +1 -0
  221. package/bin/types/runtime/agent/AgentContext.d.ts +1 -1
  222. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  223. package/bin/types/runtime/agent/AgentRuntime.d.ts +1 -1
  224. package/bin/types/runtime/agent/AgentRuntime.d.ts.map +1 -1
  225. package/bin/types/runtime/platform/Platform.d.ts +7 -7
  226. package/bin/types/runtime/platform/PlatformGateway.d.ts +1 -1
  227. package/bin/types/runtime/platform/PlatformGateway.js +1 -1
  228. package/package.json +2 -2
  229. package/scripts/session-history-inflight.test.mjs +146 -0
  230. package/src/agent/{Agent.ts → local/Agent.ts} +50 -228
  231. package/src/agent/local/AgentInstructions.ts +68 -0
  232. package/src/agent/local/AgentPluginFactory.ts +83 -0
  233. package/src/{runtime/host/AgentHostRuntime.ts → agent/local/AgentRuntimeAssembly.ts} +2 -2
  234. package/src/agent/local/AgentRuntimeFactory.ts +173 -0
  235. package/src/{runtime/host → agent/local}/ProjectSetup.ts +1 -1
  236. package/src/agent/remote/RemoteAgent.ts +76 -0
  237. package/src/agent/remote/RemoteSession.ts +287 -0
  238. package/src/agent/remote/RemoteTransport.ts +71 -0
  239. package/src/agent/remote/TransportFactory.ts +29 -0
  240. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +347 -0
  241. package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +107 -0
  242. package/src/config/AgentInitializer.ts +1 -1
  243. package/src/executor/Executor.ts +56 -37
  244. package/src/executor/composer/history/SessionHistoryWriter.ts +2 -2
  245. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  246. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +1 -1
  247. package/src/executor/messages/AssistantResultPersistence.ts +4 -12
  248. package/src/executor/messages/SessionStepEventMapper.ts +59 -101
  249. package/src/executor/messages/UserVisibleText.ts +3 -18
  250. package/src/executor/store/history/SessionHistoryStore.ts +15 -0
  251. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +164 -11
  252. package/src/executor/tools/shell/ShellToolFormatting.ts +1 -50
  253. package/src/executor/types/SessionHistoryPaths.ts +5 -0
  254. package/src/index.ts +5 -5
  255. package/src/plugin/core/PluginCommandRequest.ts +1 -1
  256. package/src/plugin/core/PluginLocalExecution.ts +1 -1
  257. package/src/plugin/core/ProjectConfigStore.ts +4 -4
  258. package/src/plugin/types/Plugin.ts +54 -913
  259. package/src/plugin/types/PluginApi.ts +1 -1
  260. package/src/plugin/types/PluginState.ts +1 -1
  261. package/src/rpc/Client.ts +16 -322
  262. package/src/rpc/Server.ts +39 -565
  263. package/src/rpc/server/InternalHandlers.ts +230 -0
  264. package/src/rpc/server/RequestDispatcher.ts +67 -0
  265. package/src/rpc/server/SdkSessionHandlers.ts +106 -0
  266. package/src/rpc/server/ServerTypes.ts +65 -0
  267. package/src/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.ts +1 -1
  268. package/src/{runtime/sandbox → sandbox}/SandboxConfigResolver.ts +1 -1
  269. package/src/{runtime/sandbox → sandbox}/SandboxRunner.ts +3 -3
  270. package/src/{runtime/sandbox → sandbox}/types/SandboxRuntime.ts +2 -2
  271. package/src/session/Session.ts +6 -0
  272. package/src/session/browse/Browse.ts +29 -10
  273. package/src/session/index.ts +1 -0
  274. package/src/session/storage/Paths.ts +19 -0
  275. package/src/types/agent/AgentOptions.ts +147 -0
  276. package/src/types/{runtime/host/AgentHost.ts → agent/AgentRuntimeAssembly.ts} +2 -2
  277. package/src/types/agent/AgentTypes.ts +37 -709
  278. package/src/types/agent/RemoteAgentOptions.ts +29 -0
  279. package/src/types/agent/SessionActor.ts +88 -0
  280. package/src/types/agent/SessionTypes.ts +334 -0
  281. package/src/types/config/DowncityConfig.ts +1 -1
  282. package/src/types/{runtime/host → platform}/Store.ts +1 -1
  283. package/src/types/plugin/PluginAction.ts +133 -0
  284. package/src/types/plugin/PluginCommand.ts +89 -0
  285. package/src/types/plugin/PluginDefinition.ts +74 -0
  286. package/src/types/plugin/PluginHttp.ts +36 -0
  287. package/src/types/plugin/PluginRuntime.ts +169 -0
  288. package/src/types/plugin/PluginSetup.ts +138 -0
  289. package/src/types/plugin/PluginState.ts +82 -0
  290. package/src/types/rpc/RpcProtocol.ts +361 -0
  291. package/src/types/runtime/agent/AgentContext.ts +1 -1
  292. package/src/types/runtime/agent/AgentRuntime.ts +1 -1
  293. package/src/types/runtime/platform/Platform.ts +7 -7
  294. package/src/types/runtime/platform/PlatformGateway.ts +1 -1
  295. package/tsconfig.tsbuildinfo +1 -1
  296. package/bin/agent/Agent.d.ts.map +0 -1
  297. package/bin/agent/Agent.js.map +0 -1
  298. package/bin/agent/RemoteAgent.d.ts.map +0 -1
  299. package/bin/agent/RemoteAgent.js +0 -585
  300. package/bin/agent/RemoteAgent.js.map +0 -1
  301. package/bin/runtime/auth/AuthEnv.d.ts +0 -36
  302. package/bin/runtime/auth/AuthEnv.d.ts.map +0 -1
  303. package/bin/runtime/auth/AuthEnv.js +0 -54
  304. package/bin/runtime/auth/AuthEnv.js.map +0 -1
  305. package/bin/runtime/auth/CliAuthStateStore.d.ts +0 -29
  306. package/bin/runtime/auth/CliAuthStateStore.d.ts.map +0 -1
  307. package/bin/runtime/auth/CliAuthStateStore.js +0 -26
  308. package/bin/runtime/auth/CliAuthStateStore.js.map +0 -1
  309. package/bin/runtime/control/AuthControlService.d.ts +0 -34
  310. package/bin/runtime/control/AuthControlService.d.ts.map +0 -1
  311. package/bin/runtime/control/AuthControlService.js +0 -129
  312. package/bin/runtime/control/AuthControlService.js.map +0 -1
  313. package/bin/runtime/control/CommonHelpers.d.ts +0 -36
  314. package/bin/runtime/control/CommonHelpers.d.ts.map +0 -1
  315. package/bin/runtime/control/CommonHelpers.js +0 -63
  316. package/bin/runtime/control/CommonHelpers.js.map +0 -1
  317. package/bin/runtime/control/ExecuteBySession.d.ts +0 -30
  318. package/bin/runtime/control/ExecuteBySession.d.ts.map +0 -1
  319. package/bin/runtime/control/ExecuteBySession.js +0 -41
  320. package/bin/runtime/control/ExecuteBySession.js.map +0 -1
  321. package/bin/runtime/control/ExecuteInput.d.ts +0 -18
  322. package/bin/runtime/control/ExecuteInput.d.ts.map +0 -1
  323. package/bin/runtime/control/ExecuteInput.js +0 -201
  324. package/bin/runtime/control/ExecuteInput.js.map +0 -1
  325. package/bin/runtime/control/Helpers.d.ts +0 -13
  326. package/bin/runtime/control/Helpers.d.ts.map +0 -1
  327. package/bin/runtime/control/Helpers.js +0 -13
  328. package/bin/runtime/control/Helpers.js.map +0 -1
  329. package/bin/runtime/control/MessageTimeline.d.ts +0 -22
  330. package/bin/runtime/control/MessageTimeline.d.ts.map +0 -1
  331. package/bin/runtime/control/MessageTimeline.js +0 -226
  332. package/bin/runtime/control/MessageTimeline.js.map +0 -1
  333. package/bin/runtime/control/SessionSummaryStore.d.ts +0 -20
  334. package/bin/runtime/control/SessionSummaryStore.d.ts.map +0 -1
  335. package/bin/runtime/control/SessionSummaryStore.js +0 -50
  336. package/bin/runtime/control/SessionSummaryStore.js.map +0 -1
  337. package/bin/runtime/control/TaskStore.d.ts +0 -33
  338. package/bin/runtime/control/TaskStore.d.ts.map +0 -1
  339. package/bin/runtime/control/TaskStore.js +0 -175
  340. package/bin/runtime/control/TaskStore.js.map +0 -1
  341. package/bin/runtime/control/types/AuthControl.d.ts +0 -30
  342. package/bin/runtime/control/types/AuthControl.d.ts.map +0 -1
  343. package/bin/runtime/control/types/AuthControl.js +0 -9
  344. package/bin/runtime/control/types/AuthControl.js.map +0 -1
  345. package/bin/runtime/control/types/ControlSessionExecute.d.ts +0 -85
  346. package/bin/runtime/control/types/ControlSessionExecute.d.ts.map +0 -1
  347. package/bin/runtime/control/types/ControlSessionExecute.js +0 -9
  348. package/bin/runtime/control/types/ControlSessionExecute.js.map +0 -1
  349. package/bin/runtime/control/types/ControlViewData.d.ts +0 -320
  350. package/bin/runtime/control/types/ControlViewData.d.ts.map +0 -1
  351. package/bin/runtime/control/types/ControlViewData.js +0 -9
  352. package/bin/runtime/control/types/ControlViewData.js.map +0 -1
  353. package/bin/runtime/host/AgentHostRuntime.d.ts.map +0 -1
  354. package/bin/runtime/host/AgentHostRuntime.js.map +0 -1
  355. package/bin/runtime/host/ProjectSetup.d.ts.map +0 -1
  356. package/bin/runtime/host/ProjectSetup.js.map +0 -1
  357. package/bin/runtime/sandbox/MacOsSeatbeltSandbox.d.ts.map +0 -1
  358. package/bin/runtime/sandbox/MacOsSeatbeltSandbox.js.map +0 -1
  359. package/bin/runtime/sandbox/SandboxConfigResolver.d.ts.map +0 -1
  360. package/bin/runtime/sandbox/SandboxConfigResolver.js.map +0 -1
  361. package/bin/runtime/sandbox/SandboxRunner.d.ts.map +0 -1
  362. package/bin/runtime/sandbox/SandboxRunner.js.map +0 -1
  363. package/bin/runtime/sandbox/types/Sandbox.d.ts.map +0 -1
  364. package/bin/runtime/sandbox/types/Sandbox.js.map +0 -1
  365. package/bin/runtime/sandbox/types/SandboxRuntime.d.ts.map +0 -1
  366. package/bin/runtime/sandbox/types/SandboxRuntime.js.map +0 -1
  367. package/bin/types/runtime/host/AgentHost.d.ts.map +0 -1
  368. package/bin/types/runtime/host/AgentHost.js.map +0 -1
  369. package/bin/types/runtime/host/Store.d.ts.map +0 -1
  370. package/bin/types/runtime/host/Store.js.map +0 -1
  371. package/src/agent/RemoteAgent.ts +0 -834
  372. package/src/runtime/auth/AuthEnv.ts +0 -62
  373. package/src/runtime/auth/CliAuthStateStore.ts +0 -46
  374. package/src/runtime/control/AuthControlService.ts +0 -169
  375. package/src/runtime/control/CommonHelpers.ts +0 -69
  376. package/src/runtime/control/ExecuteBySession.ts +0 -52
  377. package/src/runtime/control/ExecuteInput.ts +0 -236
  378. package/src/runtime/control/Helpers.ts +0 -22
  379. package/src/runtime/control/MessageTimeline.ts +0 -269
  380. package/src/runtime/control/SessionSummaryStore.ts +0 -72
  381. package/src/runtime/control/TaskStore.ts +0 -242
  382. package/src/runtime/control/types/AuthControl.ts +0 -34
  383. package/src/runtime/control/types/ControlSessionExecute.ts +0 -99
  384. package/src/runtime/control/types/ControlViewData.ts +0 -392
  385. /package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.js +0 -0
  386. /package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.js +0 -0
  387. /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.d.ts +0 -0
  388. /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.js +0 -0
  389. /package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.js +0 -0
  390. /package/src/{runtime/sandbox → sandbox}/types/Sandbox.ts +0 -0
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  - 本地 SDK:`Agent`、`Session`、`RemoteAgent`
8
8
  - 内部执行内核:history、system、tool loop、增量输出
9
9
  - Plugin 框架:hook、action、内建插件
10
- - 运行时实现:HTTP server、sandbox、host
10
+ - 运行时实现:RPC runtime、sandbox、host
11
11
 
12
12
  `downcity` 负责多 Agent 管理、控制面网关、平台 CLI、共享模型目录接入与 daemon 进程管理;`@downcity/agent` 只负责单 Agent 的执行面。
13
13
 
@@ -15,14 +15,14 @@
15
15
 
16
16
  - 面向单个 Agent 项目的执行面
17
17
  - 对外通过 `@downcity/agent` 根入口暴露公共 API
18
- - 负责 session SDK、executor 内核、plugin、sandbox、HTTP server、SDK 本地 Agent
18
+ - 负责 session SDK、executor 内核、plugin、sandbox、RPC runtime、SDK 本地 Agent
19
19
  - 不负责多 Agent registry、control plane daemon、console UI 聚合和平台级编排
20
20
 
21
21
  ## 与其他包的边界
22
22
 
23
23
  - `@downcity/agent`
24
24
  - 单 Agent runtime
25
- - 单 Agent HTTP server
25
+ - 单 Agent RPC runtime
26
26
  - session SDK、executor 内核、plugin 框架、sandbox
27
27
  - 本地 SDK facade
28
28
  - `downcity`
@@ -50,17 +50,18 @@ packages/agent
50
50
  ```text
51
51
  src/
52
52
  ├── index.ts # 包公开入口,集中导出外部可依赖的 API 与协议类型
53
+ ├── agent/ # Agent SDK 入口,按 local / remote 拆分本地与远程实现
54
+ │ ├── local/ # 本地 Agent facade 与实例装配中心
55
+ │ └── remote/ # RemoteAgent facade、RemoteSession 与 HTTP/RPC transport
53
56
  ├── config/ # 配置与项目初始化,负责 downcity.json、默认配置、execution binding 与脚手架
54
57
  │ └── project/ # Agent 项目初始化与项目初始化类型
55
- ├── core/ # 单 Agent 运行时装配中心,负责 AgentCore / AgentContext
56
58
  ├── executor/ # 内部执行内核,负责历史、system、tool loop、增量输出与消息持久化
57
59
  ├── plugin/ # 插件系统,负责插件注册、hook、action、内建插件与插件类型
58
- ├── runtime/ # 运行时实现细节层,统一收纳 host / sandbox / server / transport
59
- ├── host/ # 宿主注入能力与 daemon 协议
60
- │ ├── sandbox/ # 命令沙箱与沙箱协议
61
- │ └── server/ # HTTP 服务端实现
62
- ├── sdk/ # 本地 SDK facade,提供 Agent / RemoteAgent / Session 等高层 API
63
- │ └── session/ # SDK session 的 metadata、落盘路径、持久化与 runtime 端口适配
60
+ ├── rpc/ # Agent 本机 RPC runtime,对外 HTTP gateway Town 提供
61
+ ├── runtime/ # 运行时实现细节层,统一收纳 host / sandbox / control 等内部能力
62
+ │ ├── host/ # 宿主注入能力协议
63
+ │ └── sandbox/ # 命令沙箱与沙箱协议
64
+ ├── session/ # SDK session actor、metadata、落盘路径、持久化与 runtime 端口适配
64
65
  ├── types/ # 跨模块共享协议类型,集中放置 common / config / runtime 等稳定契约
65
66
  └── utils/ # 低层工具,负责 CLI、日志、存储与模板辅助
66
67
  ```
@@ -72,16 +73,12 @@ src/
72
73
  - `project/` 收口 agent 项目脚手架与初始化结果类型
73
74
  - 负责 `downcity.json`、项目 env、`.downcity/*` 路径规则与 execution binding
74
75
 
75
- - `src/core/`
76
- - Agent 装配中心
77
- - `AgentCore` 负责把 config、session SDK、executor、plugin、runtime 组装成一个实例级执行内核
78
- - `AgentContext` 提供统一能力面,供 session / executor / plugin 复用
79
-
80
- - `src/sdk/`
81
- - 本地 SDK facade
82
- - 包括 `Agent`、`RemoteAgent`、`Session` 与 `sdk/session/*`
83
- - `Agent.ts` 通过 `start()/stop()` 统一收口长期运行生命周期
84
- - `sdk/session/*` 负责 SDK session metadata、落盘路径、持久化与 runtime 端口适配
76
+ - `src/agent/`
77
+ - SDK facade
78
+ - `local/Agent.ts` 负责本地 Agent 实例装配、plugin/session/RPC 生命周期
79
+ - `remote/RemoteAgent.ts` 负责远程 Agent 客户端入口
80
+ - `remote/RemoteSession.ts` 负责远程 session actor 与 turn lifecycle
81
+ - `remote/transports/*` 负责 HTTP/RPC transport 适配
85
82
 
86
83
  - `src/executor/`
87
84
  - 内部执行内核
@@ -98,9 +95,10 @@ src/
98
95
 
99
96
  - `src/runtime/`
100
97
  - 单 Agent 的运行时实现细节层
101
- - `host/` 放宿主注入能力与 daemon 协议
98
+ - `host/` 放宿主注入能力协议
102
99
  - `sandbox/` 放命令执行隔离与沙箱协议
103
- - `server/` 放 HTTP 服务端实现
100
+ - `control/` 放 runtime 控制面内部协议与处理器
101
+ - `src/rpc/` 放 Agent 本机 RPC runtime;HTTP gateway 由 Town CLI 基于 RPC 转发提供
104
102
  - 模型实例解析不在 `agent` 包内完成,而由宿主先创建 `LanguageModel`,再通过 `new Agent({ model })` 或 `session.set({ model })` 注入
105
103
  - `model` 也可以接收 City City 返回的 `CityModel`,Agent 会在内部适配成 AI SDK `LanguageModel`
106
104
 
@@ -108,7 +106,7 @@ src/
108
106
  - 跨模块、跨包共享协议类型
109
107
  - `common/` 放 JSON、模板等无领域依赖的基础类型
110
108
  - `config/` 放 `downcity.json`、LLM、execution binding、plugin 配置、start options 等配置契约
111
- - `runtime/` 放 auth、daemon、host、http、platform 等运行时与控制面共享协议
109
+ - `runtime/` 放 auth、agent、host、platform 等运行时与控制面共享协议
112
110
  - 领域内部类型仍保留在对应领域目录,例如 `plugin/types/`、`executor/types/`
113
111
 
114
112
  - `src/utils/`
@@ -119,13 +117,13 @@ src/
119
117
  `@downcity/agent` 的核心是一条单 Agent 执行链:
120
118
 
121
119
  ```text
122
- 入口协议 -> AgentCore -> AgentContext -> Session SDK / Executor / Plugin -> Runtime 子系统 -> History / Reply
120
+ 入口协议 -> Agent facade -> AgentContext -> Session / Executor / Plugin -> Runtime 子系统 -> History / Reply
123
121
  ```
124
122
 
125
123
  其中:
126
124
 
127
- - `sdk` 是用户 API 面
128
- - `core` 是实例级装配中心
129
- - `session SDK / executor / plugin` 是三大核心分层
130
- - `runtime` 是 server / transport / sandbox / host 这类实现细节的统一容器
125
+ - `agent/local` 与 `agent/remote` 是用户 API 面
126
+ - `Agent` facade 是实例级装配中心
127
+ - `session / executor / plugin` 是三大核心分层
128
+ - `runtime` 是 control / sandbox / host 这类实现细节的统一容器
131
129
  - `types / utils` 提供横向公共支撑
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Agent 本地入口与实例装配中心。
2
+ * Agent local:本地入口与实例装配中心。
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - 对外暴露 `Agent` 这一唯一的本地实例类。
@@ -11,12 +11,12 @@
11
11
  * - 这里不直接实现 session 执行细节,而是继续复用 `Session` / `Executor` 体系。
12
12
  */
13
13
  import type { Tool } from "ai";
14
- import type { AgentContext } from "../types/runtime/agent/AgentContext.js";
15
- import type { AgentRuntime } from "../types/runtime/agent/AgentRuntime.js";
16
- import type { DowncityConfig } from "../types/config/DowncityConfig.js";
17
- import type { PluginPort } from "../plugin/types/Plugin.js";
18
- import type { AgentSession, AgentCreateSessionInput, AgentListSessionsInput, AgentOptions, AgentStartOptions, AgentStartResult, AgentStopResult, AgentSessionCollection, AgentSessionSummaryPage } from "../types/agent/AgentTypes.js";
19
- import { Logger } from "../utils/logger/Logger.js";
14
+ import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
15
+ import type { AgentRuntime } from "../../types/runtime/agent/AgentRuntime.js";
16
+ import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
17
+ import type { PluginPort } from "../../plugin/types/Plugin.js";
18
+ import type { AgentSession, AgentCreateSessionInput, AgentListSessionsInput, AgentOptions, AgentStartOptions, AgentStartResult, AgentStopResult, AgentSessionCollection, AgentSessionSummaryPage } from "../../types/agent/AgentTypes.js";
19
+ import { Logger } from "../../utils/logger/Logger.js";
20
20
  /**
21
21
  * SDK 本地 Agent。
22
22
  */
@@ -98,7 +98,7 @@ export declare class Agent {
98
98
  * 返回当前 agent runtime。
99
99
  *
100
100
  * 关键点(中文)
101
- * - 供宿主在 agent 外部装配 transport(例如 city HTTP gateway)时复用。
101
+ * - 供宿主在 agent 外部装配 transport(例如 Town HTTP gateway)时复用。
102
102
  * - 不暴露启动语义,只暴露运行时访问口。
103
103
  */
104
104
  getRuntime(): AgentRuntime;
@@ -163,18 +163,6 @@ export declare class Agent {
163
163
  * - 所有 plugin 在注册前都会绑定到当前实例 runtime。
164
164
  */
165
165
  private registerPlugins;
166
- /**
167
- * 创建 plugin 注册表。
168
- *
169
- * 关键点(中文)
170
- * - registry 本身不直接持有静态上下文,而是通过 resolver 延迟读取当前 `agentContext`。
171
- * - 这样 hook 调度与 availability 判断都能复用同一份上下文视图。
172
- */
173
- private createPluginRegistry;
174
- /**
175
- * 创建对外暴露的 plugin 调用门面。
176
- */
177
- private createPluginPort;
178
166
  /**
179
167
  * 读取当前 agent 静态 instruction blocks。
180
168
  */
@@ -187,22 +175,6 @@ export declare class Agent {
187
175
  * - 这里只加载当前启用且可用的 plugin system 文本。
188
176
  */
189
177
  private loadPluginSystemBlocks;
190
- /**
191
- * 创建实例级 runtime 视图。
192
- *
193
- * 关键点(中文)
194
- * - runtime 描述的是当前 agent 实例持有的长期状态。
195
- * - 其他 server / plugin / transport 都通过这个视图读取统一状态。
196
- */
197
- private createRuntime;
198
- /**
199
- * 创建统一执行上下文。
200
- *
201
- * 关键点(中文)
202
- * - `AgentContext` 是执行期能力视图,不是状态实体本身。
203
- * - plugin runtime、chat runtime、shell tool 都通过这里消费能力。
204
- */
205
- private createAgentContext;
206
178
  /**
207
179
  * 获取或创建一个本地 Session 实例。
208
180
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Agent.d.ts","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Agent 本地入口与实例装配中心。
2
+ * Agent local:本地入口与实例装配中心。
3
3
  *
4
4
  * 职责说明(中文)
5
5
  * - 对外暴露 `Agent` 这一唯一的本地实例类。
@@ -12,58 +12,18 @@
12
12
  */
13
13
  import fs from "fs-extra";
14
14
  import { nanoid } from "nanoid";
15
- import { Logger } from "../utils/logger/Logger.js";
16
- import { Session } from "../session/Session.js";
17
- import { DEFAULT_SHIP_PROMPTS } from "../executor/composer/system/default/SystemDomain.js";
18
- import { getSdkAgentSessionDirPath, listAgentSessionSummaryPage, } from "../session/index.js";
19
- import { createAgentPathRuntime, createAgentPluginConfigRuntime, } from "../runtime/host/AgentHostRuntime.js";
20
- import { loadDowncityConfig, resolveAgentEnv } from "../config/Config.js";
21
- import { HookRegistry } from "../plugin/core/HookRegistry.js";
22
- import { PluginRegistry } from "../plugin/core/PluginRegistry.js";
23
- import { isPluginEnabled } from "../plugin/core/Activation.js";
24
- import { setShellToolRuntime } from "../executor/tools/shell/ShellToolDefinition.js";
25
- import { startAllPlugins, stopAllPlugins } from "../plugin/core/Manager.js";
26
- import { startActionScheduleRuntime } from "../plugin/core/ActionScheduleRuntime.js";
27
- import { startRpcServer } from "../rpc/Server.js";
28
- function createFallbackSdkConfig(agentId) {
29
- return {
30
- id: agentId,
31
- version: "0.0.0",
32
- };
33
- }
34
- function normalizeInstructionInput(input) {
35
- const items = Array.isArray(input)
36
- ? input
37
- : typeof input === "string"
38
- ? [input]
39
- : [];
40
- return items
41
- .map((item) => String(item || "").trim())
42
- .filter((item) => item.length > 0);
43
- }
44
- function createCoreInstructionContent(projectRoot) {
45
- const currentYear = String(new Date().getFullYear());
46
- return DEFAULT_SHIP_PROMPTS
47
- .replaceAll("{{project_path}}", projectRoot)
48
- .replaceAll("{{project_root}}", projectRoot)
49
- .replaceAll("{{current_year}}", currentYear);
50
- }
51
- function createInstructionSystemBlocks(instruction, projectRoot) {
52
- if (instruction.length === 0) {
53
- return [
54
- {
55
- source: "core",
56
- name: "default",
57
- content: createCoreInstructionContent(projectRoot),
58
- },
59
- ];
60
- }
61
- return instruction.map((content, index) => ({
62
- source: "instruction",
63
- name: instruction.length === 1 ? "agent" : `agent:${index + 1}`,
64
- content,
65
- }));
66
- }
15
+ import { Logger } from "../../utils/logger/Logger.js";
16
+ import { Session } from "../../session/Session.js";
17
+ import { getSdkAgentSessionDirPath, listAgentSessionSummaryPage, } from "../../session/index.js";
18
+ import { loadDowncityConfig, resolveAgentEnv } from "../../config/Config.js";
19
+ import { isPluginEnabled } from "../../plugin/core/Activation.js";
20
+ import { setShellToolRuntime } from "../../executor/tools/shell/ShellToolDefinition.js";
21
+ import { startAllPlugins, stopAllPlugins } from "../../plugin/core/Manager.js";
22
+ import { startActionScheduleRuntime } from "../../plugin/core/ActionScheduleRuntime.js";
23
+ import { startRpcServer } from "../../rpc/Server.js";
24
+ import { createFallbackSdkConfig, createInstructionSystemBlocks, normalizeInstructionInput, } from "../../agent/local/AgentInstructions.js";
25
+ import { createAgentPluginPort, createAgentPluginRegistry, } from "../../agent/local/AgentPluginFactory.js";
26
+ import { createAgentContext, createAgentRuntime, } from "../../agent/local/AgentRuntimeFactory.js";
67
27
  /**
68
28
  * SDK 本地 Agent。
69
29
  */
@@ -107,13 +67,38 @@ export class Agent {
107
67
  this.defaultModel = options.model;
108
68
  this.config = this.loadConfig();
109
69
  this.pluginInstances = new Map();
110
- this.runtime = this.createRuntime();
70
+ this.runtime = createAgentRuntime({
71
+ agent_id: this.id,
72
+ project_root: this.path,
73
+ logger: this.logger,
74
+ config: this.config,
75
+ env: this.env,
76
+ systems: this.instruction,
77
+ plugin_instances: this.pluginInstances,
78
+ get_session_port: (session_id) => this.getOrCreateSession(session_id).getRuntimePort(),
79
+ list_cached_sessions: () => [...this.sessionsById.values()],
80
+ });
111
81
  this.registerPlugins(options.plugins || []);
112
- this.pluginRegistry = this.createPluginRegistry([
113
- ...this.pluginInstances.values(),
114
- ]);
115
- this.plugins = this.createPluginPort();
116
- this.agentContext = this.createAgentContext();
82
+ this.pluginRegistry = createAgentPluginRegistry({
83
+ plugins: [...this.pluginInstances.values()],
84
+ get_context: () => this.agentContext,
85
+ });
86
+ this.plugins = createAgentPluginPort(this.pluginRegistry);
87
+ this.agentContext = createAgentContext({
88
+ runtime: this.runtime,
89
+ project_root: this.path,
90
+ logger: this.logger,
91
+ config: this.config,
92
+ env: this.env,
93
+ systems: this.instruction,
94
+ plugin_instances: this.pluginInstances,
95
+ plugins: this.plugins,
96
+ get_session_port: (session_id) => this.getOrCreateSession(session_id).getRuntimePort(),
97
+ resolve_session_model: async (session_id) => {
98
+ const session = await this.getSession(session_id);
99
+ return session.config.model;
100
+ },
101
+ });
117
102
  setShellToolRuntime(this.agentContext.invoke);
118
103
  this.sessionCollection = {
119
104
  createSession: async (input) => await this.createSession(input),
@@ -255,7 +240,7 @@ export class Agent {
255
240
  * 返回当前 agent runtime。
256
241
  *
257
242
  * 关键点(中文)
258
- * - 供宿主在 agent 外部装配 transport(例如 city HTTP gateway)时复用。
243
+ * - 供宿主在 agent 外部装配 transport(例如 Town HTTP gateway)时复用。
259
244
  * - 不暴露启动语义,只暴露运行时访问口。
260
245
  */
261
246
  getRuntime() {
@@ -397,52 +382,6 @@ export class Agent {
397
382
  this.pluginInstances.set(name, plugin);
398
383
  }
399
384
  }
400
- /**
401
- * 创建 plugin 注册表。
402
- *
403
- * 关键点(中文)
404
- * - registry 本身不直接持有静态上下文,而是通过 resolver 延迟读取当前 `agentContext`。
405
- * - 这样 hook 调度与 availability 判断都能复用同一份上下文视图。
406
- */
407
- createPluginRegistry(input) {
408
- let pluginRegistryRef = null;
409
- const hookRegistry = new HookRegistry({
410
- contextResolver: () => this.agentContext,
411
- pluginEnabledChecker: (pluginName) => {
412
- const plugin = pluginRegistryRef?.get(pluginName);
413
- return plugin
414
- ? isPluginEnabled({ plugin, context: this.agentContext })
415
- : false;
416
- },
417
- });
418
- const registry = new PluginRegistry({
419
- contextResolver: () => this.agentContext,
420
- hookRegistry,
421
- });
422
- pluginRegistryRef = registry;
423
- for (const plugin of input) {
424
- registry.register(plugin);
425
- }
426
- return registry;
427
- }
428
- /**
429
- * 创建对外暴露的 plugin 调用门面。
430
- */
431
- createPluginPort() {
432
- return {
433
- list: () => this.pluginRegistry.list(),
434
- availability: async (pluginName) => await this.pluginRegistry.availability(pluginName),
435
- runAction: async (params) => await this.pluginRegistry.runAction(params),
436
- pipeline: async (pointName, value) => await this.pluginRegistry.pipeline(pointName, value),
437
- guard: async (pointName, value) => {
438
- await this.pluginRegistry.guard(pointName, value);
439
- },
440
- effect: async (pointName, value) => {
441
- await this.pluginRegistry.effect(pointName, value);
442
- },
443
- resolve: async (pointName, value) => await this.pluginRegistry.resolve(pointName, value),
444
- };
445
- }
446
385
  /**
447
386
  * 读取当前 agent 静态 instruction blocks。
448
387
  */
@@ -484,100 +423,6 @@ export class Agent {
484
423
  }
485
424
  return out;
486
425
  }
487
- /**
488
- * 创建实例级 runtime 视图。
489
- *
490
- * 关键点(中文)
491
- * - runtime 描述的是当前 agent 实例持有的长期状态。
492
- * - 其他 server / plugin / transport 都通过这个视图读取统一状态。
493
- */
494
- createRuntime() {
495
- const runtime = {
496
- cwd: this.path,
497
- rootPath: this.path,
498
- logger: this.logger,
499
- config: this.config,
500
- env: this.env,
501
- systems: this.instruction,
502
- paths: createAgentPathRuntime(this.path, this.id),
503
- pluginConfig: createAgentPluginConfigRuntime(this.path),
504
- getSession: (sessionId) => this.getOrCreateSession(sessionId).getRuntimePort(),
505
- listExecutingSessionIds: () => [...this.sessionsById.values()]
506
- .filter((session) => session.isExecuting())
507
- .map((session) => session.id),
508
- getExecutingSessionCount: () => [...this.sessionsById.values()].filter((session) => session.isExecuting()).length,
509
- pluginInstances: this.pluginInstances,
510
- };
511
- return runtime;
512
- }
513
- /**
514
- * 创建统一执行上下文。
515
- *
516
- * 关键点(中文)
517
- * - `AgentContext` 是执行期能力视图,不是状态实体本身。
518
- * - plugin runtime、chat runtime、shell tool 都通过这里消费能力。
519
- */
520
- createAgentContext() {
521
- let context;
522
- context = {
523
- agent: this.runtime,
524
- cwd: this.path,
525
- rootPath: this.path,
526
- logger: this.logger,
527
- config: this.config,
528
- env: this.env,
529
- systems: this.instruction,
530
- paths: this.runtime.paths,
531
- pluginConfig: this.runtime.pluginConfig,
532
- session: {
533
- get: (sessionId) => this.getOrCreateSession(sessionId).getRuntimePort(),
534
- listExecutingSessionIds: () => this.runtime.listExecutingSessionIds(),
535
- getExecutingSessionCount: () => this.runtime.getExecutingSessionCount(),
536
- resolveModel: async (sessionId) => {
537
- const session = await this.getSession(sessionId);
538
- return session.config.model;
539
- },
540
- },
541
- invoke: {
542
- invoke: async (params) => {
543
- const pluginName = String(params.plugin || "").trim();
544
- const actionName = String(params.action || "").trim();
545
- const plugin = this.pluginInstances.get(pluginName);
546
- if (!plugin) {
547
- return {
548
- success: false,
549
- error: `Unknown plugin: ${pluginName}`,
550
- };
551
- }
552
- const action = plugin.actions[actionName];
553
- if (!action) {
554
- return {
555
- success: false,
556
- error: `Unknown action: ${pluginName}.${actionName}`,
557
- };
558
- }
559
- const result = await action.execute({
560
- context,
561
- payload: params.payload ?? null,
562
- pluginName,
563
- actionName,
564
- });
565
- if (!result.success) {
566
- return {
567
- success: false,
568
- ...(result.error ? { error: result.error } : {}),
569
- };
570
- }
571
- return {
572
- success: true,
573
- ...(result.data !== undefined ? { data: result.data } : {}),
574
- };
575
- },
576
- },
577
- plugins: this.plugins,
578
- };
579
- return context;
580
- }
581
426
  /**
582
427
  * 获取或创建一个本地 Session 实例。
583
428
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Agent.js","sourceRoot":"","sources":["../../../src/agent/local/Agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Agent instruction 组装工具。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只处理静态 instruction 与默认 core prompt。
6
+ * - 不读取 session、plugin 或 runtime 状态,保持为纯函数。
7
+ */
8
+ import type { DowncityConfig } from "../../types/config/DowncityConfig.js";
9
+ import type { AgentSessionSystemBlock } from "../../types/agent/AgentTypes.js";
10
+ /**
11
+ * 创建 SDK 场景的最小 fallback 配置。
12
+ */
13
+ export declare function createFallbackSdkConfig(agent_id: string): DowncityConfig;
14
+ /**
15
+ * 归一化调用方传入的静态 instruction。
16
+ */
17
+ export declare function normalizeInstructionInput(input: string | string[] | undefined): string[];
18
+ /**
19
+ * 构造进入 session system prompt 的 instruction block。
20
+ */
21
+ export declare function createInstructionSystemBlocks(instruction: string[], project_root: string): AgentSessionSystemBlock[];
22
+ //# sourceMappingURL=AgentInstructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentInstructions.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG3E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAKxE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GACnC,MAAM,EAAE,CASV;AAUD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,GACnB,uBAAuB,EAAE,CAe3B"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Agent instruction 组装工具。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只处理静态 instruction 与默认 core prompt。
6
+ * - 不读取 session、plugin 或 runtime 状态,保持为纯函数。
7
+ */
8
+ import { DEFAULT_SHIP_PROMPTS } from "../../executor/composer/system/default/SystemDomain.js";
9
+ /**
10
+ * 创建 SDK 场景的最小 fallback 配置。
11
+ */
12
+ export function createFallbackSdkConfig(agent_id) {
13
+ return {
14
+ id: agent_id,
15
+ version: "0.0.0",
16
+ };
17
+ }
18
+ /**
19
+ * 归一化调用方传入的静态 instruction。
20
+ */
21
+ export function normalizeInstructionInput(input) {
22
+ const items = Array.isArray(input)
23
+ ? input
24
+ : typeof input === "string"
25
+ ? [input]
26
+ : [];
27
+ return items
28
+ .map((item) => String(item || "").trim())
29
+ .filter((item) => item.length > 0);
30
+ }
31
+ function createCoreInstructionContent(project_root) {
32
+ const current_year = String(new Date().getFullYear());
33
+ return DEFAULT_SHIP_PROMPTS
34
+ .replaceAll("{{project_path}}", project_root)
35
+ .replaceAll("{{project_root}}", project_root)
36
+ .replaceAll("{{current_year}}", current_year);
37
+ }
38
+ /**
39
+ * 构造进入 session system prompt 的 instruction block。
40
+ */
41
+ export function createInstructionSystemBlocks(instruction, project_root) {
42
+ if (instruction.length === 0) {
43
+ return [
44
+ {
45
+ source: "core",
46
+ name: "default",
47
+ content: createCoreInstructionContent(project_root),
48
+ },
49
+ ];
50
+ }
51
+ return instruction.map((content, index) => ({
52
+ source: "instruction",
53
+ name: instruction.length === 1 ? "agent" : `agent:${index + 1}`,
54
+ content,
55
+ }));
56
+ }
57
+ //# sourceMappingURL=AgentInstructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentInstructions.js","sourceRoot":"","sources":["../../../src/agent/local/AgentInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAC;AAEzF;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,OAAO,EAAE,OAAO;KACC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAoC;IAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,CAAC,CAAC,KAAK,CAAC;YACT,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACxC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,4BAA4B,CAAC,YAAoB;IACxD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,OAAO,oBAAoB;SACxB,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC5C,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC;SAC5C,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,WAAqB,EACrB,YAAoB;IAEpB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,4BAA4B,CAAC,YAAY,CAAC;aACpD;SACF,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,EAAE,aAAsB;QAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,EAAE;QAC/D,OAAO;KACR,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Agent plugin 装配工厂。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只负责把 plugin 实例装配成 registry 与对外 port。
6
+ * - Agent 仍然持有长期状态;这里不创建新的运行时层级。
7
+ */
8
+ import type { BasePlugin } from "../../plugin/core/BasePlugin.js";
9
+ import type { AgentContext } from "../../types/runtime/agent/AgentContext.js";
10
+ import type { PluginPort } from "../../plugin/types/Plugin.js";
11
+ import { PluginRegistry } from "../../plugin/core/PluginRegistry.js";
12
+ /**
13
+ * 创建 plugin registry 的参数。
14
+ */
15
+ export interface CreateAgentPluginRegistryOptions {
16
+ /** 当前 agent 显式注册的 plugin 实例。 */
17
+ plugins: BasePlugin[];
18
+ /** 延迟读取当前 AgentContext。 */
19
+ get_context: () => AgentContext;
20
+ }
21
+ /**
22
+ * 创建 plugin 注册表。
23
+ */
24
+ export declare function createAgentPluginRegistry(options: CreateAgentPluginRegistryOptions): PluginRegistry;
25
+ /**
26
+ * 创建对外暴露的 plugin 调用门面。
27
+ */
28
+ export declare function createAgentPluginPort(plugin_registry: PluginRegistry): PluginPort;
29
+ //# sourceMappingURL=AgentPluginFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPluginFactory.d.ts","sourceRoot":"","sources":["../../../src/agent/local/AgentPluginFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGjE;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,gCAAgC;IAChC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,2BAA2B;IAC3B,WAAW,EAAE,MAAM,YAAY,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gCAAgC,GACxC,cAAc,CAqBhB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,cAAc,GAC9B,UAAU,CAoBZ"}