@downcity/agent 1.1.74 → 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 (373) hide show
  1. package/README.md +14 -17
  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/executor/Executor.d.ts +4 -0
  51. package/bin/executor/Executor.d.ts.map +1 -1
  52. package/bin/executor/Executor.js +52 -35
  53. package/bin/executor/Executor.js.map +1 -1
  54. package/bin/executor/composer/history/SessionHistoryWriter.js +2 -2
  55. package/bin/executor/composer/history/SessionHistoryWriter.js.map +1 -1
  56. package/bin/executor/messages/AssistantResultPersistence.d.ts +3 -3
  57. package/bin/executor/messages/AssistantResultPersistence.d.ts.map +1 -1
  58. package/bin/executor/messages/AssistantResultPersistence.js +2 -6
  59. package/bin/executor/messages/AssistantResultPersistence.js.map +1 -1
  60. package/bin/executor/messages/SessionStepEventMapper.d.ts +7 -8
  61. package/bin/executor/messages/SessionStepEventMapper.d.ts.map +1 -1
  62. package/bin/executor/messages/SessionStepEventMapper.js +55 -86
  63. package/bin/executor/messages/SessionStepEventMapper.js.map +1 -1
  64. package/bin/executor/messages/UserVisibleText.d.ts +2 -10
  65. package/bin/executor/messages/UserVisibleText.d.ts.map +1 -1
  66. package/bin/executor/messages/UserVisibleText.js +3 -16
  67. package/bin/executor/messages/UserVisibleText.js.map +1 -1
  68. package/bin/executor/store/history/SessionHistoryStore.d.ts +12 -0
  69. package/bin/executor/store/history/SessionHistoryStore.d.ts.map +1 -1
  70. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +12 -0
  71. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +1 -1
  72. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +145 -8
  73. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +1 -1
  74. package/bin/executor/tools/shell/ShellToolFormatting.d.ts +1 -10
  75. package/bin/executor/tools/shell/ShellToolFormatting.d.ts.map +1 -1
  76. package/bin/executor/tools/shell/ShellToolFormatting.js +1 -39
  77. package/bin/executor/tools/shell/ShellToolFormatting.js.map +1 -1
  78. package/bin/executor/types/SessionHistoryPaths.d.ts +4 -0
  79. package/bin/executor/types/SessionHistoryPaths.d.ts.map +1 -1
  80. package/bin/index.d.ts +5 -5
  81. package/bin/index.d.ts.map +1 -1
  82. package/bin/index.js +3 -3
  83. package/bin/index.js.map +1 -1
  84. package/bin/plugin/core/PluginCommandRequest.d.ts +1 -1
  85. package/bin/plugin/core/PluginCommandRequest.js +1 -1
  86. package/bin/plugin/core/PluginLocalExecution.js +1 -1
  87. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  88. package/bin/plugin/core/ProjectConfigStore.d.ts +3 -2
  89. package/bin/plugin/core/ProjectConfigStore.d.ts.map +1 -1
  90. package/bin/plugin/core/ProjectConfigStore.js +3 -4
  91. package/bin/plugin/core/ProjectConfigStore.js.map +1 -1
  92. package/bin/plugin/types/Plugin.d.ts +10 -842
  93. package/bin/plugin/types/Plugin.d.ts.map +1 -1
  94. package/bin/plugin/types/Plugin.js +3 -4
  95. package/bin/plugin/types/Plugin.js.map +1 -1
  96. package/bin/plugin/types/PluginState.d.ts +1 -1
  97. package/bin/plugin/types/PluginState.d.ts.map +1 -1
  98. package/bin/rpc/Client.d.ts +2 -99
  99. package/bin/rpc/Client.d.ts.map +1 -1
  100. package/bin/rpc/Client.js +0 -46
  101. package/bin/rpc/Client.js.map +1 -1
  102. package/bin/rpc/Server.d.ts +5 -21
  103. package/bin/rpc/Server.d.ts.map +1 -1
  104. package/bin/rpc/Server.js +30 -315
  105. package/bin/rpc/Server.js.map +1 -1
  106. package/bin/rpc/server/InternalHandlers.d.ts +21 -0
  107. package/bin/rpc/server/InternalHandlers.d.ts.map +1 -0
  108. package/bin/rpc/server/InternalHandlers.js +190 -0
  109. package/bin/rpc/server/InternalHandlers.js.map +1 -0
  110. package/bin/rpc/server/RequestDispatcher.d.ts +27 -0
  111. package/bin/rpc/server/RequestDispatcher.d.ts.map +1 -0
  112. package/bin/rpc/server/RequestDispatcher.js +38 -0
  113. package/bin/rpc/server/RequestDispatcher.js.map +1 -0
  114. package/bin/rpc/server/SdkSessionHandlers.d.ts +25 -0
  115. package/bin/rpc/server/SdkSessionHandlers.d.ts.map +1 -0
  116. package/bin/rpc/server/SdkSessionHandlers.js +86 -0
  117. package/bin/rpc/server/SdkSessionHandlers.js.map +1 -0
  118. package/bin/rpc/server/ServerTypes.d.ts +59 -0
  119. package/bin/rpc/server/ServerTypes.d.ts.map +1 -0
  120. package/bin/rpc/server/ServerTypes.js +9 -0
  121. package/bin/rpc/server/ServerTypes.js.map +1 -0
  122. package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.d.ts +1 -1
  123. package/bin/sandbox/MacOsSeatbeltSandbox.d.ts.map +1 -0
  124. package/bin/sandbox/MacOsSeatbeltSandbox.js.map +1 -0
  125. package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.d.ts +2 -2
  126. package/bin/sandbox/SandboxConfigResolver.d.ts.map +1 -0
  127. package/bin/sandbox/SandboxConfigResolver.js.map +1 -0
  128. package/bin/{runtime/sandbox → sandbox}/SandboxRunner.d.ts +2 -2
  129. package/bin/sandbox/SandboxRunner.d.ts.map +1 -0
  130. package/bin/{runtime/sandbox → sandbox}/SandboxRunner.js +2 -2
  131. package/bin/sandbox/SandboxRunner.js.map +1 -0
  132. package/bin/sandbox/types/Sandbox.d.ts.map +1 -0
  133. package/bin/sandbox/types/Sandbox.js.map +1 -0
  134. package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.d.ts +2 -2
  135. package/bin/sandbox/types/SandboxRuntime.d.ts.map +1 -0
  136. package/bin/sandbox/types/SandboxRuntime.js.map +1 -0
  137. package/bin/session/Session.d.ts.map +1 -1
  138. package/bin/session/Session.js +2 -1
  139. package/bin/session/Session.js.map +1 -1
  140. package/bin/session/browse/Browse.d.ts +1 -1
  141. package/bin/session/browse/Browse.d.ts.map +1 -1
  142. package/bin/session/browse/Browse.js +28 -13
  143. package/bin/session/browse/Browse.js.map +1 -1
  144. package/bin/session/index.d.ts +1 -1
  145. package/bin/session/index.d.ts.map +1 -1
  146. package/bin/session/index.js +1 -1
  147. package/bin/session/index.js.map +1 -1
  148. package/bin/session/storage/Paths.d.ts +9 -0
  149. package/bin/session/storage/Paths.d.ts.map +1 -1
  150. package/bin/session/storage/Paths.js +11 -0
  151. package/bin/session/storage/Paths.js.map +1 -1
  152. package/bin/types/agent/AgentOptions.d.ts +134 -0
  153. package/bin/types/agent/AgentOptions.d.ts.map +1 -0
  154. package/bin/types/agent/AgentOptions.js +9 -0
  155. package/bin/types/agent/AgentOptions.js.map +1 -0
  156. package/bin/types/{runtime/host/AgentHost.d.ts → agent/AgentRuntimeAssembly.d.ts} +4 -4
  157. package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +1 -0
  158. package/bin/types/{runtime/host/AgentHost.js → agent/AgentRuntimeAssembly.js} +3 -3
  159. package/bin/types/agent/AgentRuntimeAssembly.js.map +1 -0
  160. package/bin/types/agent/AgentTypes.d.ts +8 -613
  161. package/bin/types/agent/AgentTypes.d.ts.map +1 -1
  162. package/bin/types/agent/AgentTypes.js +4 -4
  163. package/bin/types/agent/RemoteAgentOptions.d.ts +28 -0
  164. package/bin/types/agent/RemoteAgentOptions.d.ts.map +1 -0
  165. package/bin/types/agent/RemoteAgentOptions.js +9 -0
  166. package/bin/types/agent/RemoteAgentOptions.js.map +1 -0
  167. package/bin/types/agent/SessionActor.d.ts +60 -0
  168. package/bin/types/agent/SessionActor.d.ts.map +1 -0
  169. package/bin/types/agent/SessionActor.js +9 -0
  170. package/bin/types/agent/SessionActor.js.map +1 -0
  171. package/bin/types/agent/SessionTypes.d.ts +312 -0
  172. package/bin/types/agent/SessionTypes.d.ts.map +1 -0
  173. package/bin/types/agent/SessionTypes.js +9 -0
  174. package/bin/types/agent/SessionTypes.js.map +1 -0
  175. package/bin/types/config/DowncityConfig.d.ts +1 -1
  176. package/bin/types/config/DowncityConfig.d.ts.map +1 -1
  177. package/bin/types/{runtime/host → platform}/Store.d.ts +1 -1
  178. package/bin/types/platform/Store.d.ts.map +1 -0
  179. package/bin/types/{runtime/host → platform}/Store.js +1 -1
  180. package/bin/types/platform/Store.js.map +1 -0
  181. package/bin/types/plugin/PluginAction.d.ts +119 -0
  182. package/bin/types/plugin/PluginAction.d.ts.map +1 -0
  183. package/bin/types/plugin/PluginAction.js +9 -0
  184. package/bin/types/plugin/PluginAction.js.map +1 -0
  185. package/bin/types/plugin/PluginCommand.d.ts +80 -0
  186. package/bin/types/plugin/PluginCommand.d.ts.map +1 -0
  187. package/bin/types/plugin/PluginCommand.js +9 -0
  188. package/bin/types/plugin/PluginCommand.js.map +1 -0
  189. package/bin/types/plugin/PluginDefinition.d.ts +57 -0
  190. package/bin/types/plugin/PluginDefinition.d.ts.map +1 -0
  191. package/bin/types/plugin/PluginDefinition.js +9 -0
  192. package/bin/types/plugin/PluginDefinition.js.map +1 -0
  193. package/bin/types/plugin/PluginHttp.d.ts +34 -0
  194. package/bin/types/plugin/PluginHttp.d.ts.map +1 -0
  195. package/bin/types/plugin/PluginHttp.js +9 -0
  196. package/bin/types/plugin/PluginHttp.js.map +1 -0
  197. package/bin/types/plugin/PluginRuntime.d.ts +148 -0
  198. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -0
  199. package/bin/types/plugin/PluginRuntime.js +9 -0
  200. package/bin/types/plugin/PluginRuntime.js.map +1 -0
  201. package/bin/types/plugin/PluginSetup.d.ts +133 -0
  202. package/bin/types/plugin/PluginSetup.d.ts.map +1 -0
  203. package/bin/types/plugin/PluginSetup.js +9 -0
  204. package/bin/types/plugin/PluginSetup.js.map +1 -0
  205. package/bin/types/plugin/PluginState.d.ts +69 -0
  206. package/bin/types/plugin/PluginState.d.ts.map +1 -0
  207. package/bin/types/plugin/PluginState.js +9 -0
  208. package/bin/types/plugin/PluginState.js.map +1 -0
  209. package/bin/types/rpc/RpcProtocol.d.ts +323 -0
  210. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -0
  211. package/bin/types/rpc/RpcProtocol.js +10 -0
  212. package/bin/types/rpc/RpcProtocol.js.map +1 -0
  213. package/bin/types/runtime/agent/AgentContext.d.ts +1 -1
  214. package/bin/types/runtime/agent/AgentContext.d.ts.map +1 -1
  215. package/bin/types/runtime/agent/AgentRuntime.d.ts +1 -1
  216. package/bin/types/runtime/agent/AgentRuntime.d.ts.map +1 -1
  217. package/package.json +2 -2
  218. package/scripts/session-history-inflight.test.mjs +146 -0
  219. package/src/agent/{Agent.ts → local/Agent.ts} +50 -228
  220. package/src/agent/local/AgentInstructions.ts +68 -0
  221. package/src/agent/local/AgentPluginFactory.ts +83 -0
  222. package/src/{runtime/host/AgentHostRuntime.ts → agent/local/AgentRuntimeAssembly.ts} +2 -2
  223. package/src/agent/local/AgentRuntimeFactory.ts +173 -0
  224. package/src/{runtime/host → agent/local}/ProjectSetup.ts +1 -1
  225. package/src/agent/remote/RemoteAgent.ts +76 -0
  226. package/src/agent/remote/RemoteSession.ts +287 -0
  227. package/src/agent/remote/RemoteTransport.ts +71 -0
  228. package/src/agent/remote/TransportFactory.ts +29 -0
  229. package/src/agent/remote/transports/HttpRemoteAgentTransport.ts +347 -0
  230. package/src/agent/remote/transports/RpcRemoteAgentTransport.ts +107 -0
  231. package/src/executor/Executor.ts +56 -37
  232. package/src/executor/composer/history/SessionHistoryWriter.ts +2 -2
  233. package/src/executor/messages/AssistantResultPersistence.ts +4 -12
  234. package/src/executor/messages/SessionStepEventMapper.ts +59 -101
  235. package/src/executor/messages/UserVisibleText.ts +3 -18
  236. package/src/executor/store/history/SessionHistoryStore.ts +15 -0
  237. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +164 -11
  238. package/src/executor/tools/shell/ShellToolFormatting.ts +1 -50
  239. package/src/executor/types/SessionHistoryPaths.ts +5 -0
  240. package/src/index.ts +5 -5
  241. package/src/plugin/core/PluginCommandRequest.ts +1 -1
  242. package/src/plugin/core/PluginLocalExecution.ts +1 -1
  243. package/src/plugin/core/ProjectConfigStore.ts +4 -4
  244. package/src/plugin/types/Plugin.ts +54 -913
  245. package/src/plugin/types/PluginState.ts +1 -1
  246. package/src/rpc/Client.ts +16 -322
  247. package/src/rpc/Server.ts +39 -565
  248. package/src/rpc/server/InternalHandlers.ts +230 -0
  249. package/src/rpc/server/RequestDispatcher.ts +67 -0
  250. package/src/rpc/server/SdkSessionHandlers.ts +106 -0
  251. package/src/rpc/server/ServerTypes.ts +65 -0
  252. package/src/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.ts +1 -1
  253. package/src/{runtime/sandbox → sandbox}/SandboxConfigResolver.ts +1 -1
  254. package/src/{runtime/sandbox → sandbox}/SandboxRunner.ts +3 -3
  255. package/src/{runtime/sandbox → sandbox}/types/SandboxRuntime.ts +2 -2
  256. package/src/session/Session.ts +6 -0
  257. package/src/session/browse/Browse.ts +29 -10
  258. package/src/session/index.ts +1 -0
  259. package/src/session/storage/Paths.ts +19 -0
  260. package/src/types/agent/AgentOptions.ts +147 -0
  261. package/src/types/{runtime/host/AgentHost.ts → agent/AgentRuntimeAssembly.ts} +2 -2
  262. package/src/types/agent/AgentTypes.ts +37 -709
  263. package/src/types/agent/RemoteAgentOptions.ts +29 -0
  264. package/src/types/agent/SessionActor.ts +88 -0
  265. package/src/types/agent/SessionTypes.ts +334 -0
  266. package/src/types/config/DowncityConfig.ts +1 -1
  267. package/src/types/{runtime/host → platform}/Store.ts +1 -1
  268. package/src/types/plugin/PluginAction.ts +133 -0
  269. package/src/types/plugin/PluginCommand.ts +89 -0
  270. package/src/types/plugin/PluginDefinition.ts +74 -0
  271. package/src/types/plugin/PluginHttp.ts +36 -0
  272. package/src/types/plugin/PluginRuntime.ts +169 -0
  273. package/src/types/plugin/PluginSetup.ts +138 -0
  274. package/src/types/plugin/PluginState.ts +82 -0
  275. package/src/types/rpc/RpcProtocol.ts +361 -0
  276. package/src/types/runtime/agent/AgentContext.ts +1 -1
  277. package/src/types/runtime/agent/AgentRuntime.ts +1 -1
  278. package/tsconfig.tsbuildinfo +1 -1
  279. package/bin/agent/Agent.d.ts.map +0 -1
  280. package/bin/agent/Agent.js.map +0 -1
  281. package/bin/agent/RemoteAgent.d.ts.map +0 -1
  282. package/bin/agent/RemoteAgent.js +0 -585
  283. package/bin/agent/RemoteAgent.js.map +0 -1
  284. package/bin/runtime/auth/AuthEnv.d.ts +0 -36
  285. package/bin/runtime/auth/AuthEnv.d.ts.map +0 -1
  286. package/bin/runtime/auth/AuthEnv.js +0 -54
  287. package/bin/runtime/auth/AuthEnv.js.map +0 -1
  288. package/bin/runtime/auth/CliAuthStateStore.d.ts +0 -29
  289. package/bin/runtime/auth/CliAuthStateStore.d.ts.map +0 -1
  290. package/bin/runtime/auth/CliAuthStateStore.js +0 -26
  291. package/bin/runtime/auth/CliAuthStateStore.js.map +0 -1
  292. package/bin/runtime/control/AuthControlService.d.ts +0 -34
  293. package/bin/runtime/control/AuthControlService.d.ts.map +0 -1
  294. package/bin/runtime/control/AuthControlService.js +0 -129
  295. package/bin/runtime/control/AuthControlService.js.map +0 -1
  296. package/bin/runtime/control/CommonHelpers.d.ts +0 -36
  297. package/bin/runtime/control/CommonHelpers.d.ts.map +0 -1
  298. package/bin/runtime/control/CommonHelpers.js +0 -63
  299. package/bin/runtime/control/CommonHelpers.js.map +0 -1
  300. package/bin/runtime/control/ExecuteBySession.d.ts +0 -30
  301. package/bin/runtime/control/ExecuteBySession.d.ts.map +0 -1
  302. package/bin/runtime/control/ExecuteBySession.js +0 -41
  303. package/bin/runtime/control/ExecuteBySession.js.map +0 -1
  304. package/bin/runtime/control/ExecuteInput.d.ts +0 -18
  305. package/bin/runtime/control/ExecuteInput.d.ts.map +0 -1
  306. package/bin/runtime/control/ExecuteInput.js +0 -201
  307. package/bin/runtime/control/ExecuteInput.js.map +0 -1
  308. package/bin/runtime/control/Helpers.d.ts +0 -13
  309. package/bin/runtime/control/Helpers.d.ts.map +0 -1
  310. package/bin/runtime/control/Helpers.js +0 -13
  311. package/bin/runtime/control/Helpers.js.map +0 -1
  312. package/bin/runtime/control/MessageTimeline.d.ts +0 -22
  313. package/bin/runtime/control/MessageTimeline.d.ts.map +0 -1
  314. package/bin/runtime/control/MessageTimeline.js +0 -226
  315. package/bin/runtime/control/MessageTimeline.js.map +0 -1
  316. package/bin/runtime/control/SessionSummaryStore.d.ts +0 -20
  317. package/bin/runtime/control/SessionSummaryStore.d.ts.map +0 -1
  318. package/bin/runtime/control/SessionSummaryStore.js +0 -50
  319. package/bin/runtime/control/SessionSummaryStore.js.map +0 -1
  320. package/bin/runtime/control/TaskStore.d.ts +0 -33
  321. package/bin/runtime/control/TaskStore.d.ts.map +0 -1
  322. package/bin/runtime/control/TaskStore.js +0 -175
  323. package/bin/runtime/control/TaskStore.js.map +0 -1
  324. package/bin/runtime/control/types/AuthControl.d.ts +0 -30
  325. package/bin/runtime/control/types/AuthControl.d.ts.map +0 -1
  326. package/bin/runtime/control/types/AuthControl.js +0 -9
  327. package/bin/runtime/control/types/AuthControl.js.map +0 -1
  328. package/bin/runtime/control/types/ControlSessionExecute.d.ts +0 -85
  329. package/bin/runtime/control/types/ControlSessionExecute.d.ts.map +0 -1
  330. package/bin/runtime/control/types/ControlSessionExecute.js +0 -9
  331. package/bin/runtime/control/types/ControlSessionExecute.js.map +0 -1
  332. package/bin/runtime/control/types/ControlViewData.d.ts +0 -320
  333. package/bin/runtime/control/types/ControlViewData.d.ts.map +0 -1
  334. package/bin/runtime/control/types/ControlViewData.js +0 -9
  335. package/bin/runtime/control/types/ControlViewData.js.map +0 -1
  336. package/bin/runtime/host/AgentHostRuntime.d.ts.map +0 -1
  337. package/bin/runtime/host/AgentHostRuntime.js.map +0 -1
  338. package/bin/runtime/host/ProjectSetup.d.ts.map +0 -1
  339. package/bin/runtime/host/ProjectSetup.js.map +0 -1
  340. package/bin/runtime/sandbox/MacOsSeatbeltSandbox.d.ts.map +0 -1
  341. package/bin/runtime/sandbox/MacOsSeatbeltSandbox.js.map +0 -1
  342. package/bin/runtime/sandbox/SandboxConfigResolver.d.ts.map +0 -1
  343. package/bin/runtime/sandbox/SandboxConfigResolver.js.map +0 -1
  344. package/bin/runtime/sandbox/SandboxRunner.d.ts.map +0 -1
  345. package/bin/runtime/sandbox/SandboxRunner.js.map +0 -1
  346. package/bin/runtime/sandbox/types/Sandbox.d.ts.map +0 -1
  347. package/bin/runtime/sandbox/types/Sandbox.js.map +0 -1
  348. package/bin/runtime/sandbox/types/SandboxRuntime.d.ts.map +0 -1
  349. package/bin/runtime/sandbox/types/SandboxRuntime.js.map +0 -1
  350. package/bin/types/runtime/host/AgentHost.d.ts.map +0 -1
  351. package/bin/types/runtime/host/AgentHost.js.map +0 -1
  352. package/bin/types/runtime/host/Store.d.ts.map +0 -1
  353. package/bin/types/runtime/host/Store.js.map +0 -1
  354. package/src/agent/RemoteAgent.ts +0 -834
  355. package/src/runtime/auth/AuthEnv.ts +0 -62
  356. package/src/runtime/auth/CliAuthStateStore.ts +0 -46
  357. package/src/runtime/control/AuthControlService.ts +0 -169
  358. package/src/runtime/control/CommonHelpers.ts +0 -69
  359. package/src/runtime/control/ExecuteBySession.ts +0 -52
  360. package/src/runtime/control/ExecuteInput.ts +0 -236
  361. package/src/runtime/control/Helpers.ts +0 -22
  362. package/src/runtime/control/MessageTimeline.ts +0 -269
  363. package/src/runtime/control/SessionSummaryStore.ts +0 -72
  364. package/src/runtime/control/TaskStore.ts +0 -242
  365. package/src/runtime/control/types/AuthControl.ts +0 -34
  366. package/src/runtime/control/types/ControlSessionExecute.ts +0 -99
  367. package/src/runtime/control/types/ControlViewData.ts +0 -392
  368. /package/bin/{runtime/sandbox → sandbox}/MacOsSeatbeltSandbox.js +0 -0
  369. /package/bin/{runtime/sandbox → sandbox}/SandboxConfigResolver.js +0 -0
  370. /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.d.ts +0 -0
  371. /package/bin/{runtime/sandbox → sandbox}/types/Sandbox.js +0 -0
  372. /package/bin/{runtime/sandbox → sandbox}/types/SandboxRuntime.js +0 -0
  373. /package/src/{runtime/sandbox → sandbox}/types/Sandbox.ts +0 -0
package/README.md CHANGED
@@ -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
60
  ├── rpc/ # Agent 本机 RPC runtime,对外 HTTP gateway 由 Town 提供
59
61
  ├── runtime/ # 运行时实现细节层,统一收纳 host / sandbox / control 等内部能力
60
62
  │ ├── host/ # 宿主注入能力协议
61
63
  │ └── sandbox/ # 命令沙箱与沙箱协议
62
- ├── sdk/ # 本地 SDK facade,提供 Agent / RemoteAgent / Session 等高层 API
63
- │ └── session/ # SDK session 的 metadata、落盘路径、持久化与 runtime 端口适配
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
  - 内部执行内核
@@ -120,13 +117,13 @@ src/
120
117
  `@downcity/agent` 的核心是一条单 Agent 执行链:
121
118
 
122
119
  ```text
123
- 入口协议 -> AgentCore -> AgentContext -> Session SDK / Executor / Plugin -> Runtime 子系统 -> History / Reply
120
+ 入口协议 -> Agent facade -> AgentContext -> Session / Executor / Plugin -> Runtime 子系统 -> History / Reply
124
121
  ```
125
122
 
126
123
  其中:
127
124
 
128
- - `sdk` 是用户 API 面
129
- - `core` 是实例级装配中心
130
- - `session SDK / executor / plugin` 是三大核心分层
125
+ - `agent/local` 与 `agent/remote` 是用户 API 面
126
+ - `Agent` facade 是实例级装配中心
127
+ - `session / executor / plugin` 是三大核心分层
131
128
  - `runtime` 是 control / sandbox / host 这类实现细节的统一容器
132
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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Agent plugin 装配工厂。
3
+ *
4
+ * 关键点(中文)
5
+ * - 这里只负责把 plugin 实例装配成 registry 与对外 port。
6
+ * - Agent 仍然持有长期状态;这里不创建新的运行时层级。
7
+ */
8
+ import { HookRegistry } from "../../plugin/core/HookRegistry.js";
9
+ import { PluginRegistry } from "../../plugin/core/PluginRegistry.js";
10
+ import { isPluginEnabled } from "../../plugin/core/Activation.js";
11
+ /**
12
+ * 创建 plugin 注册表。
13
+ */
14
+ export function createAgentPluginRegistry(options) {
15
+ let plugin_registry_ref = null;
16
+ const hook_registry = new HookRegistry({
17
+ contextResolver: options.get_context,
18
+ pluginEnabledChecker: (plugin_name) => {
19
+ const plugin = plugin_registry_ref?.get(plugin_name);
20
+ return plugin
21
+ ? isPluginEnabled({ plugin, context: options.get_context() })
22
+ : false;
23
+ },
24
+ });
25
+ const registry = new PluginRegistry({
26
+ contextResolver: options.get_context,
27
+ hookRegistry: hook_registry,
28
+ });
29
+ plugin_registry_ref = registry;
30
+ for (const plugin of options.plugins) {
31
+ registry.register(plugin);
32
+ }
33
+ return registry;
34
+ }
35
+ /**
36
+ * 创建对外暴露的 plugin 调用门面。
37
+ */
38
+ export function createAgentPluginPort(plugin_registry) {
39
+ return {
40
+ list: () => plugin_registry.list(),
41
+ availability: async (plugin_name) => await plugin_registry.availability(plugin_name),
42
+ runAction: async (params) => await plugin_registry.runAction(params),
43
+ pipeline: async (point_name, value) => await plugin_registry.pipeline(point_name, value),
44
+ guard: async (point_name, value) => {
45
+ await plugin_registry.guard(point_name, value);
46
+ },
47
+ effect: async (point_name, value) => {
48
+ await plugin_registry.effect(point_name, value);
49
+ },
50
+ resolve: async (point_name, value) => await plugin_registry.resolve(point_name, value),
51
+ };
52
+ }
53
+ //# sourceMappingURL=AgentPluginFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentPluginFactory.js","sourceRoot":"","sources":["../../../src/agent/local/AgentPluginFactory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAY9D;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAyC;IAEzC,IAAI,mBAAmB,GAA0B,IAAI,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,YAAY,CAAC;QACrC,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,mBAAmB,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACrD,OAAO,MAAM;gBACX,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC7D,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,eAAe,EAAE,OAAO,CAAC,WAAW;QACpC,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IACH,mBAAmB,GAAG,QAAQ,CAAC;IAE/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,eAA+B;IAE/B,OAAO;QACL,IAAI,EAAE,GAAiB,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;QAChD,YAAY,EAAE,KAAK,EAAE,WAAmB,EAA+B,EAAE,CACvE,MAAM,eAAe,CAAC,YAAY,CAAC,WAAW,CAAC;QACjD,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC;QACpE,QAAQ,EAAE,KAAK,EAAK,UAAkB,EAAE,KAAQ,EAAc,EAAE,CAC9D,MAAM,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;QACnD,KAAK,EAAE,KAAK,EAAK,UAAkB,EAAE,KAAQ,EAAiB,EAAE;YAC9D,MAAM,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,EAAE,KAAK,EAAK,UAAkB,EAAE,KAAQ,EAAiB,EAAE;YAC/D,MAAM,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,EAAE,KAAK,EACZ,UAAkB,EAClB,KAAa,EACK,EAAE,CACpB,MAAM,eAAe,CAAC,OAAO,CAAkB,UAAU,EAAE,KAAK,CAAC;KACpE,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AgentPathRuntime, AgentPluginConfigRuntime } from "../../types/runtime/host/AgentHost.js";
1
+ import type { AgentPathRuntime, AgentPluginConfigRuntime } from "../../types/agent/AgentRuntimeAssembly.js";
2
2
  /**
3
3
  * 创建当前项目的路径能力集合。
4
4
  */
@@ -7,4 +7,4 @@ export declare function createAgentPathRuntime(projectRoot: string, agentIdInput
7
7
  * 创建 plugin 配置持久化能力集合。
8
8
  */
9
9
  export declare function createAgentPluginConfigRuntime(projectRoot: string): AgentPluginConfigRuntime;
10
- //# sourceMappingURL=AgentHostRuntime.d.ts.map
10
+ //# sourceMappingURL=AgentRuntimeAssembly.d.ts.map