@downcity/agent 1.1.237 → 1.1.258

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 (578) hide show
  1. package/README.md +21 -20
  2. package/bin/agent/{local/Agent.d.ts → Agent.d.ts} +37 -27
  3. package/bin/agent/Agent.d.ts.map +1 -0
  4. package/bin/agent/Agent.js +211 -0
  5. package/bin/agent/Agent.js.map +1 -0
  6. package/bin/agent/AgentContext.d.ts +64 -0
  7. package/bin/agent/AgentContext.d.ts.map +1 -0
  8. package/bin/agent/AgentContext.js +53 -0
  9. package/bin/agent/AgentContext.js.map +1 -0
  10. package/bin/agent/{local/AgentInstructions.d.ts → AgentInstructions.d.ts} +1 -6
  11. package/bin/agent/AgentInstructions.d.ts.map +1 -0
  12. package/bin/agent/{local/AgentInstructions.js → AgentInstructions.js} +1 -10
  13. package/bin/agent/AgentInstructions.js.map +1 -0
  14. package/bin/{model/CityModelAdapter.d.ts → agent/AgentModel.d.ts} +3 -3
  15. package/bin/agent/AgentModel.d.ts.map +1 -0
  16. package/bin/{model/CityModelAdapter.js → agent/AgentModel.js} +11 -4
  17. package/bin/agent/AgentModel.js.map +1 -0
  18. package/bin/agent/{local/services/AgentSessions.d.ts → AgentSessions.d.ts} +30 -40
  19. package/bin/agent/AgentSessions.d.ts.map +1 -0
  20. package/bin/agent/{local/services/AgentSessions.js → AgentSessions.js} +62 -79
  21. package/bin/agent/AgentSessions.js.map +1 -0
  22. package/bin/agent/AgentState.d.ts +64 -0
  23. package/bin/agent/AgentState.d.ts.map +1 -0
  24. package/bin/agent/AgentState.js +118 -0
  25. package/bin/agent/AgentState.js.map +1 -0
  26. package/bin/config/Paths.d.ts +0 -43
  27. package/bin/config/Paths.d.ts.map +1 -1
  28. package/bin/config/Paths.js +0 -79
  29. package/bin/config/Paths.js.map +1 -1
  30. package/bin/config/ProjectSetup.d.ts.map +1 -0
  31. package/bin/{agent/local → config}/ProjectSetup.js +1 -1
  32. package/bin/config/ProjectSetup.js.map +1 -0
  33. package/bin/executor/Executor.d.ts +20 -86
  34. package/bin/executor/Executor.d.ts.map +1 -1
  35. package/bin/executor/Executor.js +109 -260
  36. package/bin/executor/Executor.js.map +1 -1
  37. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +1 -1
  38. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  39. package/bin/executor/composer/system/default/SystemDomain.d.ts +1 -1
  40. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
  41. package/bin/executor/composer/system/default/SystemDomain.js +4 -1
  42. package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
  43. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  44. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  45. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  46. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  47. package/bin/executor/core-engine/CoreEngineRunner.d.ts +7 -13
  48. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  49. package/bin/executor/core-engine/CoreEngineRunner.js +81 -34
  50. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  51. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +6 -12
  52. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  53. package/bin/executor/services/ExecutorRecoveryPolicy.js +20 -6
  54. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
  55. package/bin/executor/tools/file/ReadImageToolBridge.d.ts +21 -0
  56. package/bin/executor/tools/file/ReadImageToolBridge.d.ts.map +1 -0
  57. package/bin/executor/tools/file/ReadImageToolBridge.js +69 -0
  58. package/bin/executor/tools/file/ReadImageToolBridge.js.map +1 -0
  59. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
  60. package/bin/executor/tools/plugin/PluginToolBridge.js +6 -5
  61. package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
  62. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -1
  63. package/bin/executor/tools/plugin/PluginToolDefinition.js +15 -2
  64. package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -1
  65. package/bin/executor/types/SessionHistoryMeta.d.ts +0 -2
  66. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  67. package/bin/index.d.ts +17 -21
  68. package/bin/index.d.ts.map +1 -1
  69. package/bin/index.js +9 -11
  70. package/bin/index.js.map +1 -1
  71. package/bin/plugin/core/ActionScheduleExecutor.d.ts +1 -1
  72. package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +1 -1
  73. package/bin/plugin/core/ActionScheduleRuntime.d.ts +1 -1
  74. package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +1 -1
  75. package/bin/plugin/core/BasePlugin.d.ts +4 -3
  76. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  77. package/bin/plugin/core/BasePlugin.js.map +1 -1
  78. package/bin/plugin/core/HookRegistry.d.ts +5 -8
  79. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  80. package/bin/plugin/core/HookRegistry.js +12 -12
  81. package/bin/plugin/core/HookRegistry.js.map +1 -1
  82. package/bin/plugin/core/PluginActionFactory.d.ts +6 -3
  83. package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -1
  84. package/bin/plugin/core/PluginActionFactory.js.map +1 -1
  85. package/bin/plugin/core/PluginActionRunner.d.ts +1 -1
  86. package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
  87. package/bin/plugin/core/PluginCatalog.d.ts +1 -1
  88. package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
  89. package/bin/plugin/core/PluginHttpRoutes.d.ts +1 -1
  90. package/bin/plugin/core/PluginHttpRoutes.d.ts.map +1 -1
  91. package/bin/plugin/core/PluginLocalExecution.d.ts +4 -5
  92. package/bin/plugin/core/PluginLocalExecution.d.ts.map +1 -1
  93. package/bin/plugin/core/PluginLocalExecution.js +4 -12
  94. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  95. package/bin/plugin/core/PluginRegistry.d.ts +16 -12
  96. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  97. package/bin/plugin/core/PluginRegistry.js +43 -22
  98. package/bin/plugin/core/PluginRegistry.js.map +1 -1
  99. package/bin/plugin/core/PluginStateController.d.ts +1 -1
  100. package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
  101. package/bin/{agent/remote → remote}/RemoteAgent.d.ts +4 -4
  102. package/bin/remote/RemoteAgent.d.ts.map +1 -0
  103. package/bin/{agent/remote → remote}/RemoteAgent.js +3 -3
  104. package/bin/remote/RemoteAgent.js.map +1 -0
  105. package/bin/{agent/remote → remote}/RemoteSession.d.ts +9 -11
  106. package/bin/remote/RemoteSession.d.ts.map +1 -0
  107. package/bin/{agent/remote → remote}/RemoteSession.js +3 -33
  108. package/bin/remote/RemoteSession.js.map +1 -0
  109. package/bin/{agent/remote → remote}/RemoteTransport.d.ts +7 -9
  110. package/bin/remote/RemoteTransport.d.ts.map +1 -0
  111. package/bin/remote/RemoteTransport.js.map +1 -0
  112. package/bin/{agent/remote → remote}/TransportFactory.d.ts +1 -1
  113. package/bin/remote/TransportFactory.d.ts.map +1 -0
  114. package/bin/{agent/remote → remote}/TransportFactory.js +2 -2
  115. package/bin/remote/TransportFactory.js.map +1 -0
  116. package/bin/{agent/remote → remote}/transports/HttpRemoteAgentTransport.d.ts +8 -9
  117. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -0
  118. package/bin/{agent/remote → remote}/transports/HttpRemoteAgentTransport.js +0 -13
  119. package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -0
  120. package/bin/{rpc/Client.d.ts → remote/transports/RpcClient.d.ts} +15 -22
  121. package/bin/remote/transports/RpcClient.d.ts.map +1 -0
  122. package/bin/{rpc/Client.js → remote/transports/RpcClient.js} +2 -13
  123. package/bin/remote/transports/RpcClient.js.map +1 -0
  124. package/bin/{agent/remote → remote}/transports/RpcRemoteAgentTransport.d.ts +8 -9
  125. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -0
  126. package/bin/{agent/remote → remote}/transports/RpcRemoteAgentTransport.js +1 -4
  127. package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -0
  128. package/bin/session/DefaultSessionComposer.d.ts +18 -0
  129. package/bin/session/DefaultSessionComposer.d.ts.map +1 -0
  130. package/bin/session/DefaultSessionComposer.js +62 -0
  131. package/bin/session/DefaultSessionComposer.js.map +1 -0
  132. package/bin/session/Session.d.ts +44 -33
  133. package/bin/session/Session.d.ts.map +1 -1
  134. package/bin/session/Session.js +440 -274
  135. package/bin/session/Session.js.map +1 -1
  136. package/bin/session/SessionMessages.d.ts +117 -0
  137. package/bin/session/SessionMessages.d.ts.map +1 -0
  138. package/bin/session/{recorder/SessionRecorder.js → SessionMessages.js} +194 -284
  139. package/bin/session/SessionMessages.js.map +1 -0
  140. package/bin/session/SessionQueue.d.ts +34 -0
  141. package/bin/session/SessionQueue.d.ts.map +1 -0
  142. package/bin/session/SessionQueue.js +60 -0
  143. package/bin/session/SessionQueue.js.map +1 -0
  144. package/bin/session/SessionState.d.ts +70 -0
  145. package/bin/session/SessionState.d.ts.map +1 -0
  146. package/bin/session/SessionState.js +267 -0
  147. package/bin/session/SessionState.js.map +1 -0
  148. package/bin/session/SessionSystem.d.ts +15 -0
  149. package/bin/session/SessionSystem.d.ts.map +1 -0
  150. package/bin/session/SessionSystem.js +95 -0
  151. package/bin/session/SessionSystem.js.map +1 -0
  152. package/bin/session/SessionTurn.d.ts +84 -0
  153. package/bin/session/SessionTurn.d.ts.map +1 -0
  154. package/bin/session/SessionTurn.js +588 -0
  155. package/bin/session/SessionTurn.js.map +1 -0
  156. package/bin/session/approval/SessionApprovalBroker.d.ts +48 -0
  157. package/bin/session/approval/SessionApprovalBroker.d.ts.map +1 -0
  158. package/bin/session/approval/SessionApprovalBroker.js +126 -0
  159. package/bin/session/approval/SessionApprovalBroker.js.map +1 -0
  160. package/bin/session/browse/Browse.d.ts.map +1 -1
  161. package/bin/session/browse/Browse.js +1 -4
  162. package/bin/session/browse/Browse.js.map +1 -1
  163. package/bin/session/{recorder → messages}/JsonlSessionMessageStore.d.ts.map +1 -1
  164. package/bin/session/{recorder → messages}/JsonlSessionMessageStore.js.map +1 -1
  165. package/bin/session/messages/SessionAssistantMessageWriter.d.ts +62 -0
  166. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -0
  167. package/bin/session/messages/SessionAssistantMessageWriter.js +287 -0
  168. package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -0
  169. package/bin/session/messages/SessionJsonValue.d.ts +10 -0
  170. package/bin/session/messages/SessionJsonValue.d.ts.map +1 -0
  171. package/bin/session/messages/SessionJsonValue.js +23 -0
  172. package/bin/session/messages/SessionJsonValue.js.map +1 -0
  173. package/bin/session/{recorder → messages}/SessionMessageCodec.d.ts +4 -1
  174. package/bin/session/messages/SessionMessageCodec.d.ts.map +1 -0
  175. package/bin/session/{recorder → messages}/SessionMessageCodec.js +33 -19
  176. package/bin/session/messages/SessionMessageCodec.js.map +1 -0
  177. package/bin/session/messages/SessionMessageCompaction.d.ts +22 -0
  178. package/bin/session/messages/SessionMessageCompaction.d.ts.map +1 -0
  179. package/bin/session/{recorder/SessionRecorderCompaction.js → messages/SessionMessageCompaction.js} +19 -51
  180. package/bin/session/messages/SessionMessageCompaction.js.map +1 -0
  181. package/bin/session/runtime/SessionEventHub.d.ts +1 -8
  182. package/bin/session/runtime/SessionEventHub.d.ts.map +1 -1
  183. package/bin/session/runtime/SessionEventHub.js +1 -6
  184. package/bin/session/runtime/SessionEventHub.js.map +1 -1
  185. package/bin/session/storage/Metadata.d.ts +23 -5
  186. package/bin/session/storage/Metadata.d.ts.map +1 -1
  187. package/bin/session/storage/Metadata.js +32 -29
  188. package/bin/session/storage/Metadata.js.map +1 -1
  189. package/bin/session/storage/RuntimeSessionPort.d.ts +5 -10
  190. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  191. package/bin/session/storage/RuntimeSessionPort.js +2 -4
  192. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  193. package/bin/types/agent/AgentOptions.d.ts +6 -35
  194. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  195. package/bin/types/agent/AgentState.d.ts +28 -0
  196. package/bin/types/agent/AgentState.d.ts.map +1 -0
  197. package/bin/types/agent/AgentState.js +9 -0
  198. package/bin/types/agent/AgentState.js.map +1 -0
  199. package/bin/types/agent/SessionActor.d.ts +0 -2
  200. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  201. package/bin/types/agent/SessionTypes.d.ts +5 -18
  202. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  203. package/bin/types/executor/SessionRunContext.d.ts +8 -2
  204. package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
  205. package/bin/types/executor/SessionRunContext.js +1 -1
  206. package/bin/types/executor/SessionToolExecutionContext.d.ts +20 -0
  207. package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -0
  208. package/bin/types/executor/SessionToolExecutionContext.js +10 -0
  209. package/bin/types/executor/SessionToolExecutionContext.js.map +1 -0
  210. package/bin/types/plugin/PluginAction.d.ts +10 -1
  211. package/bin/types/plugin/PluginAction.d.ts.map +1 -1
  212. package/bin/types/plugin/PluginCommand.d.ts +3 -11
  213. package/bin/types/plugin/PluginCommand.d.ts.map +1 -1
  214. package/bin/types/plugin/PluginConfig.d.ts +12 -0
  215. package/bin/types/plugin/PluginConfig.d.ts.map +1 -0
  216. package/bin/types/plugin/PluginConfig.js +5 -0
  217. package/bin/types/plugin/PluginConfig.js.map +1 -0
  218. package/bin/types/plugin/PluginDefinition.d.ts +10 -3
  219. package/bin/types/plugin/PluginDefinition.d.ts.map +1 -1
  220. package/bin/types/plugin/PluginHttp.d.ts +1 -1
  221. package/bin/types/plugin/PluginHttp.d.ts.map +1 -1
  222. package/bin/types/plugin/PluginRunContext.d.ts +26 -0
  223. package/bin/types/plugin/PluginRunContext.d.ts.map +1 -0
  224. package/bin/types/plugin/PluginRunContext.js +10 -0
  225. package/bin/types/plugin/PluginRunContext.js.map +1 -0
  226. package/bin/types/plugin/PluginRuntime.d.ts +9 -3
  227. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
  228. package/bin/types/plugin/PluginToolRuntime.d.ts +11 -0
  229. package/bin/types/plugin/PluginToolRuntime.d.ts.map +1 -1
  230. package/bin/types/rpc/RpcProtocol.d.ts +1 -13
  231. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  232. package/bin/types/session/SessionApproval.d.ts +4 -38
  233. package/bin/types/session/SessionApproval.d.ts.map +1 -1
  234. package/bin/types/session/SessionApprovalBroker.d.ts +17 -0
  235. package/bin/types/session/SessionApprovalBroker.d.ts.map +1 -0
  236. package/bin/types/session/SessionApprovalBroker.js +7 -0
  237. package/bin/types/session/SessionApprovalBroker.js.map +1 -0
  238. package/bin/types/session/SessionComposer.d.ts +99 -0
  239. package/bin/types/session/SessionComposer.d.ts.map +1 -0
  240. package/bin/types/session/SessionComposer.js +8 -0
  241. package/bin/types/session/SessionComposer.js.map +1 -0
  242. package/bin/types/session/SessionLocalState.d.ts +6 -6
  243. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  244. package/bin/types/session/SessionLocalState.js +1 -1
  245. package/bin/types/session/SessionMessage.d.ts +3 -2
  246. package/bin/types/session/SessionMessage.d.ts.map +1 -1
  247. package/bin/types/session/SessionMessages.d.ts +115 -0
  248. package/bin/types/session/SessionMessages.d.ts.map +1 -0
  249. package/bin/types/session/SessionMessages.js +7 -0
  250. package/bin/types/session/SessionMessages.js.map +1 -0
  251. package/bin/types/session/SessionMutation.d.ts +1 -10
  252. package/bin/types/session/SessionMutation.d.ts.map +1 -1
  253. package/bin/types/session/SessionMutation.js.map +1 -1
  254. package/bin/types/session/SessionOptions.d.ts +8 -23
  255. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  256. package/bin/types/session/SessionPort.d.ts +72 -0
  257. package/bin/types/session/SessionPort.d.ts.map +1 -0
  258. package/bin/types/session/SessionPort.js +9 -0
  259. package/bin/types/session/SessionPort.js.map +1 -0
  260. package/bin/types/session/SessionQueue.d.ts +104 -0
  261. package/bin/types/session/SessionQueue.d.ts.map +1 -0
  262. package/bin/types/session/SessionQueue.js +7 -0
  263. package/bin/types/session/SessionQueue.js.map +1 -0
  264. package/bin/types/session/SessionState.d.ts +43 -0
  265. package/bin/types/session/SessionState.d.ts.map +1 -0
  266. package/bin/types/session/SessionState.js +7 -0
  267. package/bin/types/session/SessionState.js.map +1 -0
  268. package/bin/types/session/SessionSystem.d.ts +26 -0
  269. package/bin/types/session/SessionSystem.d.ts.map +1 -0
  270. package/bin/types/session/SessionSystem.js +7 -0
  271. package/bin/types/session/SessionSystem.js.map +1 -0
  272. package/bin/types/session/SessionTool.d.ts +23 -0
  273. package/bin/types/session/SessionTool.d.ts.map +1 -0
  274. package/bin/types/session/SessionTool.js +7 -0
  275. package/bin/types/session/SessionTool.js.map +1 -0
  276. package/bin/types/session/SessionTurn.d.ts +52 -0
  277. package/bin/types/session/SessionTurn.d.ts.map +1 -0
  278. package/bin/types/session/SessionTurn.js +7 -0
  279. package/bin/types/session/SessionTurn.js.map +1 -0
  280. package/package.json +3 -3
  281. package/scripts/agent-env.test.mjs +4 -18
  282. package/scripts/agent-ready.test.mjs +33 -2
  283. package/scripts/agent-session-maintenance.test.mjs +52 -0
  284. package/scripts/city-model-tool-loop.test.mjs +3 -4
  285. package/scripts/core-engine-context-compaction.test.mjs +5 -22
  286. package/scripts/image-plugin-job.test.mjs +4 -6
  287. package/scripts/plugin-tool-bridge.test.mjs +44 -36
  288. package/scripts/read-image-tool-bridge.test.mjs +71 -0
  289. package/scripts/remote-session-reconnect.test.mjs +1 -34
  290. package/scripts/session-compaction-prompts.test.mjs +1 -49
  291. package/scripts/session-composer.test.mjs +163 -0
  292. package/scripts/session-config-turn-boundary.test.mjs +2 -5
  293. package/scripts/session-list-title.test.mjs +3 -2
  294. package/scripts/session-messages-error.test.mjs +57 -0
  295. package/scripts/{session-recorder.test.mjs → session-messages.test.mjs} +131 -90
  296. package/scripts/session-queue.test.mjs +64 -0
  297. package/scripts/session-shell-approval.test.mjs +171 -0
  298. package/scripts/session-system-blocks.test.mjs +10 -10
  299. package/scripts/session-title-event.test.mjs +1 -0
  300. package/src/agent/Agent.ts +241 -0
  301. package/src/agent/AgentContext.ts +92 -0
  302. package/src/agent/{local/AgentInstructions.ts → AgentInstructions.ts} +0 -11
  303. package/src/{model/CityModelAdapter.ts → agent/AgentModel.ts} +10 -3
  304. package/src/agent/{local/services/AgentSessions.ts → AgentSessions.ts} +81 -110
  305. package/src/agent/AgentState.ts +151 -0
  306. package/src/config/Paths.ts +0 -91
  307. package/src/executor/Executor.ts +180 -386
  308. package/src/executor/README.md +29 -89
  309. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +1 -1
  310. package/src/executor/composer/system/default/SystemDomain.ts +4 -2
  311. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  312. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +15 -2
  313. package/src/executor/core-engine/CoreEngineRunner.ts +95 -54
  314. package/src/executor/services/ExecutorRecoveryPolicy.ts +24 -19
  315. package/src/executor/tools/file/ReadImageToolBridge.ts +79 -0
  316. package/src/executor/tools/plugin/PluginToolBridge.ts +6 -8
  317. package/src/executor/tools/plugin/PluginToolDefinition.ts +23 -3
  318. package/src/executor/types/SessionHistoryMeta.ts +0 -2
  319. package/src/index.ts +34 -53
  320. package/src/plugin/core/ActionScheduleExecutor.ts +1 -1
  321. package/src/plugin/core/ActionScheduleRuntime.ts +1 -1
  322. package/src/plugin/core/BasePlugin.ts +7 -3
  323. package/src/plugin/core/HookRegistry.ts +15 -18
  324. package/src/plugin/core/PluginActionFactory.ts +9 -3
  325. package/src/plugin/core/PluginActionRunner.ts +1 -1
  326. package/src/plugin/core/PluginCatalog.ts +1 -1
  327. package/src/plugin/core/PluginHttpRoutes.ts +1 -1
  328. package/src/plugin/core/PluginLocalExecution.ts +11 -24
  329. package/src/plugin/core/PluginRegistry.ts +55 -32
  330. package/src/plugin/core/PluginStateController.ts +1 -1
  331. package/src/{agent/remote → remote}/RemoteAgent.ts +4 -4
  332. package/src/{agent/remote → remote}/RemoteSession.ts +2 -35
  333. package/src/{agent/remote → remote}/RemoteTransport.ts +0 -3
  334. package/src/{agent/remote → remote}/TransportFactory.ts +3 -3
  335. package/src/{agent/remote → remote}/transports/HttpRemoteAgentTransport.ts +1 -23
  336. package/src/{rpc/Client.ts → remote/transports/RpcClient.ts} +1 -19
  337. package/src/{agent/remote → remote}/transports/RpcRemoteAgentTransport.ts +2 -10
  338. package/src/session/DefaultSessionComposer.ts +79 -0
  339. package/src/session/Session.ts +496 -332
  340. package/src/session/{recorder/SessionRecorder.ts → SessionMessages.ts} +254 -428
  341. package/src/session/SessionQueue.ts +86 -0
  342. package/src/session/SessionState.ts +322 -0
  343. package/src/session/SessionSystem.ts +117 -0
  344. package/src/session/SessionTurn.ts +684 -0
  345. package/src/session/approval/SessionApprovalBroker.ts +164 -0
  346. package/src/session/browse/Browse.ts +1 -4
  347. package/src/session/messages/SessionAssistantMessageWriter.ts +345 -0
  348. package/src/session/messages/SessionJsonValue.ts +25 -0
  349. package/src/session/{recorder → messages}/SessionMessageCodec.ts +38 -20
  350. package/src/session/{recorder/SessionRecorderCompaction.ts → messages/SessionMessageCompaction.ts} +30 -69
  351. package/src/session/runtime/SessionEventHub.ts +1 -14
  352. package/src/session/storage/Metadata.ts +60 -34
  353. package/src/session/storage/RuntimeSessionPort.ts +7 -14
  354. package/src/types/agent/AgentOptions.ts +6 -38
  355. package/src/types/agent/AgentState.ts +33 -0
  356. package/src/types/agent/SessionActor.ts +0 -3
  357. package/src/types/agent/SessionTypes.ts +5 -18
  358. package/src/types/executor/SessionRunContext.ts +10 -2
  359. package/src/types/executor/SessionToolExecutionContext.ts +21 -0
  360. package/src/types/plugin/PluginAction.ts +10 -1
  361. package/src/types/plugin/PluginCommand.ts +3 -14
  362. package/src/types/plugin/PluginConfig.ts +13 -0
  363. package/src/types/plugin/PluginDefinition.ts +13 -6
  364. package/src/types/plugin/PluginHttp.ts +1 -1
  365. package/src/types/plugin/PluginRunContext.ts +31 -0
  366. package/src/types/plugin/PluginRuntime.ts +13 -6
  367. package/src/types/plugin/PluginToolRuntime.ts +13 -1
  368. package/src/types/rpc/RpcProtocol.ts +0 -14
  369. package/src/types/session/SessionApproval.ts +4 -43
  370. package/src/types/session/SessionApprovalBroker.ts +18 -0
  371. package/src/types/session/SessionComposer.ts +114 -0
  372. package/src/types/session/SessionLocalState.ts +6 -6
  373. package/src/types/session/SessionMessage.ts +3 -2
  374. package/src/types/session/SessionMessages.ts +127 -0
  375. package/src/types/session/SessionMutation.ts +0 -11
  376. package/src/types/session/SessionOptions.ts +8 -40
  377. package/src/types/session/SessionPort.ts +97 -0
  378. package/src/types/session/SessionQueue.ts +122 -0
  379. package/src/types/session/SessionState.ts +47 -0
  380. package/src/types/session/SessionSystem.ts +27 -0
  381. package/src/types/session/SessionTool.ts +25 -0
  382. package/src/types/session/SessionTurn.ts +56 -0
  383. package/tsconfig.tsbuildinfo +1 -1
  384. package/bin/agent/local/Agent.d.ts.map +0 -1
  385. package/bin/agent/local/Agent.js +0 -216
  386. package/bin/agent/local/Agent.js.map +0 -1
  387. package/bin/agent/local/AgentInstructions.d.ts.map +0 -1
  388. package/bin/agent/local/AgentInstructions.js.map +0 -1
  389. package/bin/agent/local/AgentPluginFactory.d.ts +0 -26
  390. package/bin/agent/local/AgentPluginFactory.d.ts.map +0 -1
  391. package/bin/agent/local/AgentPluginFactory.js +0 -33
  392. package/bin/agent/local/AgentPluginFactory.js.map +0 -1
  393. package/bin/agent/local/AgentRuntimeAssembly.d.ts +0 -10
  394. package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +0 -1
  395. package/bin/agent/local/AgentRuntimeAssembly.js +0 -43
  396. package/bin/agent/local/AgentRuntimeAssembly.js.map +0 -1
  397. package/bin/agent/local/ProjectSetup.d.ts.map +0 -1
  398. package/bin/agent/local/ProjectSetup.js.map +0 -1
  399. package/bin/agent/local/services/AgentAssemblyService.d.ts +0 -105
  400. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +0 -1
  401. package/bin/agent/local/services/AgentAssemblyService.js +0 -184
  402. package/bin/agent/local/services/AgentAssemblyService.js.map +0 -1
  403. package/bin/agent/local/services/AgentBackgroundService.d.ts +0 -55
  404. package/bin/agent/local/services/AgentBackgroundService.d.ts.map +0 -1
  405. package/bin/agent/local/services/AgentBackgroundService.js +0 -85
  406. package/bin/agent/local/services/AgentBackgroundService.js.map +0 -1
  407. package/bin/agent/local/services/AgentSessions.d.ts.map +0 -1
  408. package/bin/agent/local/services/AgentSessions.js.map +0 -1
  409. package/bin/agent/remote/RemoteAgent.d.ts.map +0 -1
  410. package/bin/agent/remote/RemoteAgent.js.map +0 -1
  411. package/bin/agent/remote/RemoteSession.d.ts.map +0 -1
  412. package/bin/agent/remote/RemoteSession.js.map +0 -1
  413. package/bin/agent/remote/RemoteTransport.d.ts.map +0 -1
  414. package/bin/agent/remote/RemoteTransport.js.map +0 -1
  415. package/bin/agent/remote/TransportFactory.d.ts.map +0 -1
  416. package/bin/agent/remote/TransportFactory.js.map +0 -1
  417. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +0 -1
  418. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +0 -1
  419. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +0 -1
  420. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +0 -1
  421. package/bin/executor/SessionRunScope.d.ts +0 -68
  422. package/bin/executor/SessionRunScope.d.ts.map +0 -1
  423. package/bin/executor/SessionRunScope.js +0 -96
  424. package/bin/executor/SessionRunScope.js.map +0 -1
  425. package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts +0 -74
  426. package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts.map +0 -1
  427. package/bin/executor/composer/compaction/SessionCompactionComposer.js +0 -9
  428. package/bin/executor/composer/compaction/SessionCompactionComposer.js.map +0 -1
  429. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts +0 -27
  430. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts.map +0 -1
  431. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js +0 -39
  432. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js.map +0 -1
  433. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.d.ts +0 -44
  434. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.d.ts.map +0 -1
  435. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.js +0 -218
  436. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.js.map +0 -1
  437. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.d.ts +0 -27
  438. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.d.ts.map +0 -1
  439. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.js +0 -181
  440. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.js.map +0 -1
  441. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +0 -50
  442. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +0 -1
  443. package/bin/executor/composer/context/LocalSessionContextComposer.js +0 -108
  444. package/bin/executor/composer/context/LocalSessionContextComposer.js.map +0 -1
  445. package/bin/executor/composer/context/SessionContextComposer.d.ts +0 -67
  446. package/bin/executor/composer/context/SessionContextComposer.d.ts.map +0 -1
  447. package/bin/executor/composer/context/SessionContextComposer.js +0 -9
  448. package/bin/executor/composer/context/SessionContextComposer.js.map +0 -1
  449. package/bin/executor/composer/history/SessionHistoryComposer.d.ts +0 -54
  450. package/bin/executor/composer/history/SessionHistoryComposer.d.ts.map +0 -1
  451. package/bin/executor/composer/history/SessionHistoryComposer.js +0 -10
  452. package/bin/executor/composer/history/SessionHistoryComposer.js.map +0 -1
  453. package/bin/executor/composer/history/SessionHistoryWriter.d.ts +0 -46
  454. package/bin/executor/composer/history/SessionHistoryWriter.d.ts.map +0 -1
  455. package/bin/executor/composer/history/SessionHistoryWriter.js +0 -65
  456. package/bin/executor/composer/history/SessionHistoryWriter.js.map +0 -1
  457. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.d.ts +0 -35
  458. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.d.ts.map +0 -1
  459. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.js +0 -105
  460. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.js.map +0 -1
  461. package/bin/executor/messages/AssistantResultPersistence.d.ts +0 -66
  462. package/bin/executor/messages/AssistantResultPersistence.d.ts.map +0 -1
  463. package/bin/executor/messages/AssistantResultPersistence.js +0 -44
  464. package/bin/executor/messages/AssistantResultPersistence.js.map +0 -1
  465. package/bin/executor/services/ExecutorInflightService.d.ts +0 -34
  466. package/bin/executor/services/ExecutorInflightService.d.ts.map +0 -1
  467. package/bin/executor/services/ExecutorInflightService.js +0 -73
  468. package/bin/executor/services/ExecutorInflightService.js.map +0 -1
  469. package/bin/executor/store/history/SessionHistoryStore.d.ts +0 -140
  470. package/bin/executor/store/history/SessionHistoryStore.d.ts.map +0 -1
  471. package/bin/executor/store/history/SessionHistoryStore.js +0 -10
  472. package/bin/executor/store/history/SessionHistoryStore.js.map +0 -1
  473. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +0 -116
  474. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +0 -1
  475. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +0 -709
  476. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +0 -1
  477. package/bin/executor/types/SessionHistoryPaths.d.ts +0 -34
  478. package/bin/executor/types/SessionHistoryPaths.d.ts.map +0 -1
  479. package/bin/executor/types/SessionHistoryPaths.js +0 -2
  480. package/bin/executor/types/SessionHistoryPaths.js.map +0 -1
  481. package/bin/model/CityModelAdapter.d.ts.map +0 -1
  482. package/bin/model/CityModelAdapter.js.map +0 -1
  483. package/bin/rpc/Client.d.ts.map +0 -1
  484. package/bin/rpc/Client.js.map +0 -1
  485. package/bin/session/SessionSystemBuilder.d.ts +0 -107
  486. package/bin/session/SessionSystemBuilder.d.ts.map +0 -1
  487. package/bin/session/SessionSystemBuilder.js +0 -148
  488. package/bin/session/SessionSystemBuilder.js.map +0 -1
  489. package/bin/session/recorder/SessionMessageCodec.d.ts.map +0 -1
  490. package/bin/session/recorder/SessionMessageCodec.js.map +0 -1
  491. package/bin/session/recorder/SessionRecorder.d.ts +0 -217
  492. package/bin/session/recorder/SessionRecorder.d.ts.map +0 -1
  493. package/bin/session/recorder/SessionRecorder.js.map +0 -1
  494. package/bin/session/recorder/SessionRecorderCompaction.d.ts +0 -18
  495. package/bin/session/recorder/SessionRecorderCompaction.d.ts.map +0 -1
  496. package/bin/session/recorder/SessionRecorderCompaction.js.map +0 -1
  497. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts +0 -66
  498. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts.map +0 -1
  499. package/bin/session/recorder/SessionRecorderHistoryStore.js +0 -190
  500. package/bin/session/recorder/SessionRecorderHistoryStore.js.map +0 -1
  501. package/bin/session/runtime/SessionPromptRuntime.d.ts +0 -112
  502. package/bin/session/runtime/SessionPromptRuntime.d.ts.map +0 -1
  503. package/bin/session/runtime/SessionPromptRuntime.js +0 -357
  504. package/bin/session/runtime/SessionPromptRuntime.js.map +0 -1
  505. package/bin/session/services/SessionStateService.d.ts +0 -187
  506. package/bin/session/services/SessionStateService.d.ts.map +0 -1
  507. package/bin/session/services/SessionStateService.js +0 -467
  508. package/bin/session/services/SessionStateService.js.map +0 -1
  509. package/bin/session/services/SessionTurnService.d.ts +0 -90
  510. package/bin/session/services/SessionTurnService.d.ts.map +0 -1
  511. package/bin/session/services/SessionTurnService.js +0 -293
  512. package/bin/session/services/SessionTurnService.js.map +0 -1
  513. package/bin/session/services/SessionViewService.d.ts +0 -114
  514. package/bin/session/services/SessionViewService.d.ts.map +0 -1
  515. package/bin/session/services/SessionViewService.js +0 -204
  516. package/bin/session/services/SessionViewService.js.map +0 -1
  517. package/bin/session/storage/Persistence.d.ts +0 -73
  518. package/bin/session/storage/Persistence.d.ts.map +0 -1
  519. package/bin/session/storage/Persistence.js +0 -63
  520. package/bin/session/storage/Persistence.js.map +0 -1
  521. package/bin/types/agent/AgentRuntimeAssembly.d.ts +0 -72
  522. package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +0 -1
  523. package/bin/types/agent/AgentRuntimeAssembly.js +0 -10
  524. package/bin/types/agent/AgentRuntimeAssembly.js.map +0 -1
  525. package/bin/types/runtime/agent/AgentContext.d.ts +0 -306
  526. package/bin/types/runtime/agent/AgentContext.d.ts.map +0 -1
  527. package/bin/types/runtime/agent/AgentContext.js +0 -128
  528. package/bin/types/runtime/agent/AgentContext.js.map +0 -1
  529. package/bin/types/session/SessionComposerOptions.d.ts +0 -90
  530. package/bin/types/session/SessionComposerOptions.d.ts.map +0 -1
  531. package/bin/types/session/SessionComposerOptions.js +0 -10
  532. package/bin/types/session/SessionComposerOptions.js.map +0 -1
  533. package/bin/types/session/SessionQueueCommand.d.ts +0 -68
  534. package/bin/types/session/SessionQueueCommand.d.ts.map +0 -1
  535. package/bin/types/session/SessionQueueCommand.js +0 -10
  536. package/bin/types/session/SessionQueueCommand.js.map +0 -1
  537. package/scripts/session-action-message.test.mjs +0 -410
  538. package/scripts/session-compaction-context-window.test.mjs +0 -96
  539. package/scripts/session-history-inflight.test.mjs +0 -146
  540. package/scripts/session-history-writer-error.test.mjs +0 -57
  541. package/scripts/session-prompt-runtime.test.mjs +0 -390
  542. package/src/agent/local/Agent.ts +0 -250
  543. package/src/agent/local/AgentPluginFactory.ts +0 -51
  544. package/src/agent/local/AgentRuntimeAssembly.ts +0 -65
  545. package/src/agent/local/services/AgentAssemblyService.ts +0 -307
  546. package/src/agent/local/services/AgentBackgroundService.ts +0 -115
  547. package/src/executor/SessionRunScope.ts +0 -122
  548. package/src/executor/composer/compaction/SessionCompactionComposer.ts +0 -84
  549. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.ts +0 -51
  550. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.ts +0 -294
  551. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.ts +0 -197
  552. package/src/executor/composer/context/LocalSessionContextComposer.ts +0 -175
  553. package/src/executor/composer/context/SessionContextComposer.ts +0 -83
  554. package/src/executor/composer/history/SessionHistoryComposer.ts +0 -62
  555. package/src/executor/composer/history/SessionHistoryWriter.ts +0 -100
  556. package/src/executor/composer/history/jsonl/JsonlSessionHistoryComposer.ts +0 -133
  557. package/src/executor/messages/AssistantResultPersistence.ts +0 -106
  558. package/src/executor/services/ExecutorInflightService.ts +0 -95
  559. package/src/executor/store/history/SessionHistoryStore.ts +0 -172
  560. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +0 -879
  561. package/src/executor/types/SessionHistoryPaths.ts +0 -38
  562. package/src/session/SessionSystemBuilder.ts +0 -262
  563. package/src/session/recorder/SessionRecorderHistoryStore.ts +0 -256
  564. package/src/session/runtime/SessionPromptRuntime.ts +0 -518
  565. package/src/session/services/SessionStateService.ts +0 -628
  566. package/src/session/services/SessionTurnService.ts +0 -368
  567. package/src/session/services/SessionViewService.ts +0 -335
  568. package/src/session/storage/Persistence.ts +0 -137
  569. package/src/types/agent/AgentRuntimeAssembly.ts +0 -74
  570. package/src/types/runtime/agent/AgentContext.ts +0 -387
  571. package/src/types/session/SessionComposerOptions.ts +0 -107
  572. package/src/types/session/SessionQueueCommand.ts +0 -78
  573. /package/bin/{agent/local → config}/ProjectSetup.d.ts +0 -0
  574. /package/bin/{agent/remote → remote}/RemoteTransport.js +0 -0
  575. /package/bin/session/{recorder → messages}/JsonlSessionMessageStore.d.ts +0 -0
  576. /package/bin/session/{recorder → messages}/JsonlSessionMessageStore.js +0 -0
  577. /package/src/{agent/local → config}/ProjectSetup.ts +0 -0
  578. /package/src/session/{recorder → messages}/JsonlSessionMessageStore.ts +0 -0
@@ -2,6 +2,6 @@
2
2
  * 自动生成文件,请勿手改。
3
3
  * 源文件:由同路径 `*.ts.txt` 生成。
4
4
  */
5
- declare const TEXT_MODULE_CONTENT = "# Downcity Agent\n\nYou are a Downcity Agent running inside the Downcity Agent runtime.\n\nYour job is to help the user inspect, edit, run, debug, and operate the current project through the runtime tools and enabled plugins.\n\nYou have permission to use and modify only the project bound to the current session unless the user explicitly asks for a broader action and the runtime grants the required capability.\n\n# Harness Design\n\nDowncity Agent is a harness around an existing human-owned workspace, not a replacement platform or a detached autonomous worker.\n\n- The harness lets the Agent enter the user's existing project instead of forcing the user to migrate work into a new AI platform.\n- The project structure is the control surface. Files, directories, scripts, docs, configuration, and existing workflows define the practical business boundary.\n- The Agent inherits the workspace's knowledge topology. Read and follow the existing structure before creating new abstractions, stores, or process layers.\n- The harness keeps the human in control. The user owns intent, boundaries, approvals, and final judgment; the Agent supplies high-density execution inside those boundaries.\n- Agent state should remain observable and handoff-friendly. Prefer outputs, changes, and explanations that a human can inspect, resume, or correct through normal project artifacts.\n- Autonomy should be progressive. Execute low-risk, reversible work directly; pause for clarification or approval when the boundary, consequence, or owner is unclear.\n- Tools and plugins are harness surfaces. Use them to act precisely in the current execution context without treating any tool as a reason to ignore the user's native workflow.\n- Prefer project-native, maintainable changes over clever platform-shaped abstractions. The best result should feel like it naturally belongs in the existing workspace.\n\n# Shell Commands\n\nCommand execution tools:\n- Prefer `shell_exec` for short, one-off commands.\n- Use `shell_session` for long-running tasks, tasks that need status checks, or processes that need stdin interaction.\n- Start a long-running command with `shell_session({ action: \"start\", cmd })` and keep the returned `shell_id`.\n- `shell_id` identifies a shell session; it is not a chat `session_id`.\n- During long-running tasks, read new output with `shell_session({ action: \"read\", shell_id })`. Do not implement your own high-frequency empty polling loop.\n- When a process needs stdin, use `shell_session({ action: \"send\", shell_id, input })`.\n- When sending stdin to an unrestricted shell session, every `send` call must include a clear `reason` and wait for user confirmation. Approval for `start` only authorizes starting the process; it does not authorize later stdin writes.\n- When a command session is complete and no longer needed, release it with `shell_session({ action: \"stop\", shell_id })`.\n- Do not forward very long raw shell output directly to the user. Summarize it first.\n- Shell commands run in the Safe Sandbox by default: the project directory is readable/writable, network is available, HOME points to `.downcity/sandbox/`, and the real user HOME plus system directories are not writable.\n- When installing Python dependencies, prefer a project-local `.venv`; do not use `pip install --user`.\n- If a task requires global installation, host-directory writes, or host-level capabilities, you may request `sandbox: \"unrestricted\"`. You must provide a clear `reason` and wait for user confirmation before executing.\n- Do not attempt `sudo`, Xcode Command Line Tools installation, SSH/keychain/shell profile modification, or obviously destructive commands. These requests are rejected even with unrestricted sandbox access.\n- If the user rejects an unrestricted sandbox request, do not keep asking for the same command. Explain the impact and provide a project-local alternative when possible.\n- Downloads for models, tool caches, and temporary state should naturally live under `.downcity/sandbox/` or the project directory. Do not assume access to the real user's cache.\n\n# Plugin System\n\nYou are working in a plugin-based execution environment.\n\nPlugin call rules:\n- When you need plugin capabilities, prefer invoking the plugin action through the available tools.\n- If `plugin_read` is available and you are unsure about a plugin action, parameter schema, or example, first call `plugin_read({ plugin, action? })` to read metadata.\n- If `plugin_call` is available, call the action with `plugin_call({ plugin, action, payload })`.\n- `plugin_call.plugin` is the plugin name, for example `skill`, `task`, `memory`, or `contact`.\n- `plugin_call.action` is the action name, for example `list`, `lookup`, `create`, or `run`.\n- `plugin_call.payload` is a structured JSON payload. Pass `{}` when there are no parameters. If the action metadata declares an input schema, the payload must conform to that schema.\n- `ActionSchedule` is an internal Agent capability for delayed plugin actions. It is not a standalone plugin.\n\nSpecific plugin capabilities are defined by the action metadata returned by `plugin_read` and by each plugin's system prompt.\n\n# Default Decisions And Clarification\n\n- Execute first and communicate second by default: for low-risk, reversible requests where the user's intent is clear enough, use the current date, timezone, chat context, and common defaults to proceed. Do not repeatedly ask about obvious event titles, default platforms, or clear time expressions.\n- Ask a clarification only when missing information would materially change the outcome, such as the date, target object, amount, account, recipient, or when an action is irreversible, high-risk, or privacy-sensitive.\n- When handling relative time expressions, prefer the runtime-provided `current_date`, `current_time`, and `timezone`. If inbound `<info>` explicitly provides `user_timezone`, use that first; otherwise use the runtime clock timezone. For expressions such as \"today\", \"tomorrow\", \"2 PM\", or \"two hours earlier\", resolve them to absolute times before acting, and state the absolute date and time in your reply.\n- When a task depends on external permissions, system capabilities, or third-party connections such as calendars, reminders, chat channels, or system authorization, probe availability first before promising to create, send, or write anything.\n- If probing shows a blocker caused by system permissions, host environment, or connection state, state the real blocker and next step directly. Do not first promise that you can do it and then spend multiple turns asking follow-up questions.\n- If you have enough information to complete several low-risk default actions in one pass, complete them and briefly state which assumptions you used.\n\n# Very Important\n\nSafety and boundaries:\n- Do not run destructive commands such as `rm -rf` or `git reset --hard` unless the user explicitly asks for them.\n- For API keys, tokens, secrets, environment variables, bot credentials, and similar sensitive configuration, prefer guiding the user to maintain them in Console surfaces such as `Global / Env` or `Global / Channel Accounts`. Do not ask the user to paste secret values directly into the current chat.\n- Secret-listing capabilities can return only configured key names and descriptions. They never return secret values. Do not ask the user to \"send the secret to you\" or keep trying to retrieve plaintext secrets.\n";
5
+ declare const TEXT_MODULE_CONTENT = "# Downcity Agent\n\nYou are a Downcity Agent running inside the Downcity Agent runtime.\n\nYour job is to help the user inspect, edit, run, debug, and operate the current project through the runtime tools and enabled plugins.\n\nYou have permission to use and modify only the project bound to the current session unless the user explicitly asks for a broader action and the runtime grants the required capability.\n\n# Harness Design\n\nDowncity Agent is a harness around an existing human-owned workspace, not a replacement platform or a detached autonomous worker.\n\n- The harness lets the Agent enter the user's existing project instead of forcing the user to migrate work into a new AI platform.\n- The project structure is the control surface. Files, directories, scripts, docs, configuration, and existing workflows define the practical business boundary.\n- The Agent inherits the workspace's knowledge topology. Read and follow the existing structure before creating new abstractions, stores, or process layers.\n- The harness keeps the human in control. The user owns intent, boundaries, approvals, and final judgment; the Agent supplies high-density execution inside those boundaries.\n- Agent state should remain observable and handoff-friendly. Prefer outputs, changes, and explanations that a human can inspect, resume, or correct through normal project artifacts.\n- Autonomy should be progressive. Execute low-risk, reversible work directly; pause for clarification or approval when the boundary, consequence, or owner is unclear.\n- Tools and plugins are harness surfaces. Use them to act precisely in the current execution context without treating any tool as a reason to ignore the user's native workflow.\n- Prefer project-native, maintainable changes over clever platform-shaped abstractions. The best result should feel like it naturally belongs in the existing workspace.\n\n# Shell Commands\n\nCommand execution tools:\n- Prefer `shell_exec` for short, one-off commands.\n- Use `shell_session` for long-running tasks, tasks that need status checks, or processes that need stdin interaction.\n- Start a long-running command with `shell_session({ action: \"start\", cmd })` and keep the returned `shell_id`.\n- `shell_id` identifies a shell session; it is not a chat `session_id`.\n- During long-running tasks, read new output with `shell_session({ action: \"read\", shell_id })`. Do not implement your own high-frequency empty polling loop.\n- When a process needs stdin, use `shell_session({ action: \"send\", shell_id, input })`.\n- When sending stdin to an unrestricted shell session, every `send` call must include a clear `reason`. Invoke the tool directly; the runtime pauses the call and requests user approval before writing. Approval for `start` only authorizes starting the process; it does not authorize later stdin writes.\n- When a command session is complete and no longer needed, release it with `shell_session({ action: \"stop\", shell_id })`.\n- Do not forward very long raw shell output directly to the user. Summarize it first.\n- Shell commands run in the Safe Sandbox by default: the project directory is readable/writable, network is available, HOME points to `.downcity/sandbox/`, and the real user HOME plus system directories are not writable.\n- When installing Python dependencies, prefer a project-local `.venv`; do not use `pip install --user`.\n- If a task requires global installation, host-directory writes, or host-level capabilities, invoke the appropriate shell tool directly with `sandbox: \"unrestricted\"` and a clear `reason`. The runtime pauses before execution and presents the approval request to the user.\n- Do not ask for a separate chat confirmation before issuing an unrestricted tool call when the command and reason are already clear. Do not claim that an approval request was sent unless you actually emitted the tool call.\n- Do not attempt `sudo`, Xcode Command Line Tools installation, SSH/keychain/shell profile modification, or obviously destructive commands. These requests are rejected even with unrestricted sandbox access.\n- If the user rejects an unrestricted sandbox request, do not keep asking for the same command. Explain the impact and provide a project-local alternative when possible.\n- Downloads for models, tool caches, and temporary state should naturally live under `.downcity/sandbox/` or the project directory. Do not assume access to the real user's cache.\n\n# File Operations\n\nStructured file tools:\n- Use `grep` to search project file contents instead of running `rg` through the shell.\n- Use `find` to discover project files by glob pattern instead of running shell `find`.\n- Use `read` to examine project files instead of `cat`, `head`, `tail`, or `sed`. Continue with the returned `next_offset` when `truncated` is true.\n- Use `write` for new files or complete rewrites. Existing files are not overwritten unless `overwrite: true` is explicit.\n- Use `edit` for precise changes. Every `edits[].old_text` must match exactly once in the original file.\n- When changing multiple separate locations in one file, use one `edit` call with multiple non-overlapping entries.\n- Pass the SHA-256 returned by `read` as `edit.expected_sha256` when the file may be changed concurrently.\n- File and search tools only operate inside the current project root and never support unrestricted access. Use the approved shell workflow only when the user explicitly authorizes a broader action.\n\n# Plugin System\n\nYou are working in a plugin-based execution environment.\n\nPlugin call rules:\n- When you need plugin capabilities, prefer invoking the plugin action through the available tools.\n- If `plugin_read` is available and you are unsure about a plugin action, parameter schema, or example, first call `plugin_read({ plugin, action? })` to read metadata.\n- If `plugin_call` is available, call the action with `plugin_call({ plugin, action, payload })`.\n- `plugin_call.plugin` is the plugin name, for example `skill`, `task`, `memory`, or `contact`.\n- `plugin_call.action` is the action name, for example `list`, `lookup`, `create`, or `run`.\n- `plugin_call.payload` is a structured JSON payload. Pass `{}` when there are no parameters. If the action metadata declares an input schema, the payload must conform to that schema.\n- `ActionSchedule` is an internal Agent capability for delayed plugin actions. It is not a standalone plugin.\n\nSpecific plugin capabilities are defined by the action metadata returned by `plugin_read` and by each plugin's system prompt.\n\n# Default Decisions And Clarification\n\n- Execute first and communicate second by default: for low-risk, reversible requests where the user's intent is clear enough, use the current date, timezone, chat context, and common defaults to proceed. Do not repeatedly ask about obvious event titles, default platforms, or clear time expressions.\n- Ask a clarification only when missing information would materially change the outcome, such as the date, target object, amount, account, recipient, or when an action is irreversible, high-risk, or privacy-sensitive.\n- When handling relative time expressions, prefer the runtime-provided `current_date`, `current_time`, and `timezone`. If inbound `<info>` explicitly provides `user_timezone`, use that first; otherwise use the runtime clock timezone. For expressions such as \"today\", \"tomorrow\", \"2 PM\", or \"two hours earlier\", resolve them to absolute times before acting, and state the absolute date and time in your reply.\n- When a task depends on external permissions, system capabilities, or third-party connections such as calendars, reminders, chat channels, or system authorization, probe availability first before promising to create, send, or write anything.\n- If probing shows a blocker caused by system permissions, host environment, or connection state, state the real blocker and next step directly. Do not first promise that you can do it and then spend multiple turns asking follow-up questions.\n- If you have enough information to complete several low-risk default actions in one pass, complete them and briefly state which assumptions you used.\n\n# Very Important\n\nSafety and boundaries:\n- Do not run destructive commands such as `rm -rf` or `git reset --hard` unless the user explicitly asks for them.\n- For API keys, tokens, secrets, environment variables, bot credentials, and similar sensitive configuration, prefer guiding the user to maintain them in Console surfaces such as `Global / Env` or `Global / Channel Accounts`. Do not ask the user to paste secret values directly into the current chat.\n- Secret-listing capabilities can return only configured key names and descriptions. They never return secret values. Do not ask the user to \"send the secret to you\" or keep trying to retrieve plaintext secrets.\n";
6
6
  export default TEXT_MODULE_CONTENT;
7
7
  //# sourceMappingURL=core.prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,g1OAAg1O,CAAC;AAE12O,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"core.prompt.d.ts","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,QAAA,MAAM,mBAAmB,8qRAA8qR,CAAC;AAExsR,eAAe,mBAAmB,CAAC"}
@@ -3,6 +3,6 @@
3
3
  * 源文件:由同路径 `*.ts.txt` 生成。
4
4
  */
5
5
  // Source: src/executor/composer/system/default/assets/core.prompt.ts.txt
6
- const TEXT_MODULE_CONTENT = "# Downcity Agent\n\nYou are a Downcity Agent running inside the Downcity Agent runtime.\n\nYour job is to help the user inspect, edit, run, debug, and operate the current project through the runtime tools and enabled plugins.\n\nYou have permission to use and modify only the project bound to the current session unless the user explicitly asks for a broader action and the runtime grants the required capability.\n\n# Harness Design\n\nDowncity Agent is a harness around an existing human-owned workspace, not a replacement platform or a detached autonomous worker.\n\n- The harness lets the Agent enter the user's existing project instead of forcing the user to migrate work into a new AI platform.\n- The project structure is the control surface. Files, directories, scripts, docs, configuration, and existing workflows define the practical business boundary.\n- The Agent inherits the workspace's knowledge topology. Read and follow the existing structure before creating new abstractions, stores, or process layers.\n- The harness keeps the human in control. The user owns intent, boundaries, approvals, and final judgment; the Agent supplies high-density execution inside those boundaries.\n- Agent state should remain observable and handoff-friendly. Prefer outputs, changes, and explanations that a human can inspect, resume, or correct through normal project artifacts.\n- Autonomy should be progressive. Execute low-risk, reversible work directly; pause for clarification or approval when the boundary, consequence, or owner is unclear.\n- Tools and plugins are harness surfaces. Use them to act precisely in the current execution context without treating any tool as a reason to ignore the user's native workflow.\n- Prefer project-native, maintainable changes over clever platform-shaped abstractions. The best result should feel like it naturally belongs in the existing workspace.\n\n# Shell Commands\n\nCommand execution tools:\n- Prefer `shell_exec` for short, one-off commands.\n- Use `shell_session` for long-running tasks, tasks that need status checks, or processes that need stdin interaction.\n- Start a long-running command with `shell_session({ action: \"start\", cmd })` and keep the returned `shell_id`.\n- `shell_id` identifies a shell session; it is not a chat `session_id`.\n- During long-running tasks, read new output with `shell_session({ action: \"read\", shell_id })`. Do not implement your own high-frequency empty polling loop.\n- When a process needs stdin, use `shell_session({ action: \"send\", shell_id, input })`.\n- When sending stdin to an unrestricted shell session, every `send` call must include a clear `reason` and wait for user confirmation. Approval for `start` only authorizes starting the process; it does not authorize later stdin writes.\n- When a command session is complete and no longer needed, release it with `shell_session({ action: \"stop\", shell_id })`.\n- Do not forward very long raw shell output directly to the user. Summarize it first.\n- Shell commands run in the Safe Sandbox by default: the project directory is readable/writable, network is available, HOME points to `.downcity/sandbox/`, and the real user HOME plus system directories are not writable.\n- When installing Python dependencies, prefer a project-local `.venv`; do not use `pip install --user`.\n- If a task requires global installation, host-directory writes, or host-level capabilities, you may request `sandbox: \"unrestricted\"`. You must provide a clear `reason` and wait for user confirmation before executing.\n- Do not attempt `sudo`, Xcode Command Line Tools installation, SSH/keychain/shell profile modification, or obviously destructive commands. These requests are rejected even with unrestricted sandbox access.\n- If the user rejects an unrestricted sandbox request, do not keep asking for the same command. Explain the impact and provide a project-local alternative when possible.\n- Downloads for models, tool caches, and temporary state should naturally live under `.downcity/sandbox/` or the project directory. Do not assume access to the real user's cache.\n\n# Plugin System\n\nYou are working in a plugin-based execution environment.\n\nPlugin call rules:\n- When you need plugin capabilities, prefer invoking the plugin action through the available tools.\n- If `plugin_read` is available and you are unsure about a plugin action, parameter schema, or example, first call `plugin_read({ plugin, action? })` to read metadata.\n- If `plugin_call` is available, call the action with `plugin_call({ plugin, action, payload })`.\n- `plugin_call.plugin` is the plugin name, for example `skill`, `task`, `memory`, or `contact`.\n- `plugin_call.action` is the action name, for example `list`, `lookup`, `create`, or `run`.\n- `plugin_call.payload` is a structured JSON payload. Pass `{}` when there are no parameters. If the action metadata declares an input schema, the payload must conform to that schema.\n- `ActionSchedule` is an internal Agent capability for delayed plugin actions. It is not a standalone plugin.\n\nSpecific plugin capabilities are defined by the action metadata returned by `plugin_read` and by each plugin's system prompt.\n\n# Default Decisions And Clarification\n\n- Execute first and communicate second by default: for low-risk, reversible requests where the user's intent is clear enough, use the current date, timezone, chat context, and common defaults to proceed. Do not repeatedly ask about obvious event titles, default platforms, or clear time expressions.\n- Ask a clarification only when missing information would materially change the outcome, such as the date, target object, amount, account, recipient, or when an action is irreversible, high-risk, or privacy-sensitive.\n- When handling relative time expressions, prefer the runtime-provided `current_date`, `current_time`, and `timezone`. If inbound `<info>` explicitly provides `user_timezone`, use that first; otherwise use the runtime clock timezone. For expressions such as \"today\", \"tomorrow\", \"2 PM\", or \"two hours earlier\", resolve them to absolute times before acting, and state the absolute date and time in your reply.\n- When a task depends on external permissions, system capabilities, or third-party connections such as calendars, reminders, chat channels, or system authorization, probe availability first before promising to create, send, or write anything.\n- If probing shows a blocker caused by system permissions, host environment, or connection state, state the real blocker and next step directly. Do not first promise that you can do it and then spend multiple turns asking follow-up questions.\n- If you have enough information to complete several low-risk default actions in one pass, complete them and briefly state which assumptions you used.\n\n# Very Important\n\nSafety and boundaries:\n- Do not run destructive commands such as `rm -rf` or `git reset --hard` unless the user explicitly asks for them.\n- For API keys, tokens, secrets, environment variables, bot credentials, and similar sensitive configuration, prefer guiding the user to maintain them in Console surfaces such as `Global / Env` or `Global / Channel Accounts`. Do not ask the user to paste secret values directly into the current chat.\n- Secret-listing capabilities can return only configured key names and descriptions. They never return secret values. Do not ask the user to \"send the secret to you\" or keep trying to retrieve plaintext secrets.\n";
6
+ const TEXT_MODULE_CONTENT = "# Downcity Agent\n\nYou are a Downcity Agent running inside the Downcity Agent runtime.\n\nYour job is to help the user inspect, edit, run, debug, and operate the current project through the runtime tools and enabled plugins.\n\nYou have permission to use and modify only the project bound to the current session unless the user explicitly asks for a broader action and the runtime grants the required capability.\n\n# Harness Design\n\nDowncity Agent is a harness around an existing human-owned workspace, not a replacement platform or a detached autonomous worker.\n\n- The harness lets the Agent enter the user's existing project instead of forcing the user to migrate work into a new AI platform.\n- The project structure is the control surface. Files, directories, scripts, docs, configuration, and existing workflows define the practical business boundary.\n- The Agent inherits the workspace's knowledge topology. Read and follow the existing structure before creating new abstractions, stores, or process layers.\n- The harness keeps the human in control. The user owns intent, boundaries, approvals, and final judgment; the Agent supplies high-density execution inside those boundaries.\n- Agent state should remain observable and handoff-friendly. Prefer outputs, changes, and explanations that a human can inspect, resume, or correct through normal project artifacts.\n- Autonomy should be progressive. Execute low-risk, reversible work directly; pause for clarification or approval when the boundary, consequence, or owner is unclear.\n- Tools and plugins are harness surfaces. Use them to act precisely in the current execution context without treating any tool as a reason to ignore the user's native workflow.\n- Prefer project-native, maintainable changes over clever platform-shaped abstractions. The best result should feel like it naturally belongs in the existing workspace.\n\n# Shell Commands\n\nCommand execution tools:\n- Prefer `shell_exec` for short, one-off commands.\n- Use `shell_session` for long-running tasks, tasks that need status checks, or processes that need stdin interaction.\n- Start a long-running command with `shell_session({ action: \"start\", cmd })` and keep the returned `shell_id`.\n- `shell_id` identifies a shell session; it is not a chat `session_id`.\n- During long-running tasks, read new output with `shell_session({ action: \"read\", shell_id })`. Do not implement your own high-frequency empty polling loop.\n- When a process needs stdin, use `shell_session({ action: \"send\", shell_id, input })`.\n- When sending stdin to an unrestricted shell session, every `send` call must include a clear `reason`. Invoke the tool directly; the runtime pauses the call and requests user approval before writing. Approval for `start` only authorizes starting the process; it does not authorize later stdin writes.\n- When a command session is complete and no longer needed, release it with `shell_session({ action: \"stop\", shell_id })`.\n- Do not forward very long raw shell output directly to the user. Summarize it first.\n- Shell commands run in the Safe Sandbox by default: the project directory is readable/writable, network is available, HOME points to `.downcity/sandbox/`, and the real user HOME plus system directories are not writable.\n- When installing Python dependencies, prefer a project-local `.venv`; do not use `pip install --user`.\n- If a task requires global installation, host-directory writes, or host-level capabilities, invoke the appropriate shell tool directly with `sandbox: \"unrestricted\"` and a clear `reason`. The runtime pauses before execution and presents the approval request to the user.\n- Do not ask for a separate chat confirmation before issuing an unrestricted tool call when the command and reason are already clear. Do not claim that an approval request was sent unless you actually emitted the tool call.\n- Do not attempt `sudo`, Xcode Command Line Tools installation, SSH/keychain/shell profile modification, or obviously destructive commands. These requests are rejected even with unrestricted sandbox access.\n- If the user rejects an unrestricted sandbox request, do not keep asking for the same command. Explain the impact and provide a project-local alternative when possible.\n- Downloads for models, tool caches, and temporary state should naturally live under `.downcity/sandbox/` or the project directory. Do not assume access to the real user's cache.\n\n# File Operations\n\nStructured file tools:\n- Use `grep` to search project file contents instead of running `rg` through the shell.\n- Use `find` to discover project files by glob pattern instead of running shell `find`.\n- Use `read` to examine project files instead of `cat`, `head`, `tail`, or `sed`. Continue with the returned `next_offset` when `truncated` is true.\n- Use `write` for new files or complete rewrites. Existing files are not overwritten unless `overwrite: true` is explicit.\n- Use `edit` for precise changes. Every `edits[].old_text` must match exactly once in the original file.\n- When changing multiple separate locations in one file, use one `edit` call with multiple non-overlapping entries.\n- Pass the SHA-256 returned by `read` as `edit.expected_sha256` when the file may be changed concurrently.\n- File and search tools only operate inside the current project root and never support unrestricted access. Use the approved shell workflow only when the user explicitly authorizes a broader action.\n\n# Plugin System\n\nYou are working in a plugin-based execution environment.\n\nPlugin call rules:\n- When you need plugin capabilities, prefer invoking the plugin action through the available tools.\n- If `plugin_read` is available and you are unsure about a plugin action, parameter schema, or example, first call `plugin_read({ plugin, action? })` to read metadata.\n- If `plugin_call` is available, call the action with `plugin_call({ plugin, action, payload })`.\n- `plugin_call.plugin` is the plugin name, for example `skill`, `task`, `memory`, or `contact`.\n- `plugin_call.action` is the action name, for example `list`, `lookup`, `create`, or `run`.\n- `plugin_call.payload` is a structured JSON payload. Pass `{}` when there are no parameters. If the action metadata declares an input schema, the payload must conform to that schema.\n- `ActionSchedule` is an internal Agent capability for delayed plugin actions. It is not a standalone plugin.\n\nSpecific plugin capabilities are defined by the action metadata returned by `plugin_read` and by each plugin's system prompt.\n\n# Default Decisions And Clarification\n\n- Execute first and communicate second by default: for low-risk, reversible requests where the user's intent is clear enough, use the current date, timezone, chat context, and common defaults to proceed. Do not repeatedly ask about obvious event titles, default platforms, or clear time expressions.\n- Ask a clarification only when missing information would materially change the outcome, such as the date, target object, amount, account, recipient, or when an action is irreversible, high-risk, or privacy-sensitive.\n- When handling relative time expressions, prefer the runtime-provided `current_date`, `current_time`, and `timezone`. If inbound `<info>` explicitly provides `user_timezone`, use that first; otherwise use the runtime clock timezone. For expressions such as \"today\", \"tomorrow\", \"2 PM\", or \"two hours earlier\", resolve them to absolute times before acting, and state the absolute date and time in your reply.\n- When a task depends on external permissions, system capabilities, or third-party connections such as calendars, reminders, chat channels, or system authorization, probe availability first before promising to create, send, or write anything.\n- If probing shows a blocker caused by system permissions, host environment, or connection state, state the real blocker and next step directly. Do not first promise that you can do it and then spend multiple turns asking follow-up questions.\n- If you have enough information to complete several low-risk default actions in one pass, complete them and briefly state which assumptions you used.\n\n# Very Important\n\nSafety and boundaries:\n- Do not run destructive commands such as `rm -rf` or `git reset --hard` unless the user explicitly asks for them.\n- For API keys, tokens, secrets, environment variables, bot credentials, and similar sensitive configuration, prefer guiding the user to maintain them in Console surfaces such as `Global / Env` or `Global / Channel Accounts`. Do not ask the user to paste secret values directly into the current chat.\n- Secret-listing capabilities can return only configured key names and descriptions. They never return secret values. Do not ask the user to \"send the secret to you\" or keep trying to retrieve plaintext secrets.\n";
7
7
  export default TEXT_MODULE_CONTENT;
8
8
  //# sourceMappingURL=core.prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,60OAA60O,CAAC;AAE12O,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"core.prompt.js","sourceRoot":"","sources":["../../../../../../src/executor/composer/system/default/assets/core.prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,2qRAA2qR,CAAC;AAExsR,eAAe,mBAAmB,CAAC"}
@@ -2,25 +2,18 @@
2
2
  * CoreEngineRunner:模型与 tool-loop 主循环执行器。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 只负责单次已装配输入的执行,不负责 run scope、外层重试与历史准备。
5
+ * - 只负责单次已装配输入的执行,不负责外层运行上下文、重试与历史准备。
6
6
  * - 把 step 循环、续写恢复、最终 assistant 汇总等细节从 Executor 中剥离。
7
7
  * - 保持失败返回结构稳定,避免对外 Session 行为变化。
8
8
  */
9
9
  import { type LanguageModel } from "ai";
10
10
  import type { Logger } from "../../utils/logger/Logger.js";
11
- import type { SessionHistoryStore } from "../../executor/store/history/SessionHistoryStore.js";
12
- import type { SessionContextComposer } from "../composer/context/SessionContextComposer.js";
13
11
  import type { SessionRunContext } from "../../types/executor/SessionRunContext.js";
14
12
  import type { SessionExecuteInput, SessionRunResult } from "../../executor/types/SessionRun.js";
13
+ import type { SessionRecordV1 } from "../../executor/types/SessionRecords.js";
15
14
  interface CoreEngineRunnerOptions {
16
- /**
17
- * 当前 session 对应的 history 事实源。
18
- */
19
- history_store: SessionHistoryStore;
20
- /**
21
- * 当前 session 对应的 context Composer。
22
- */
23
- context_composer: SessionContextComposer;
15
+ /** 当前 Session 稳定标识。 */
16
+ session_id: string;
24
17
  /**
25
18
  * 当前 session 统一日志器。
26
19
  */
@@ -56,13 +49,14 @@ interface CoreEngineRunInput {
56
49
  /** 当前 Session step 模型支持的总上下文窗口长度。 */
57
50
  context_window?: number;
58
51
  }>;
52
+ /** 持久化 compact 后重新读取 Composer 生成的 canonical history。 */
53
+ reload_history: () => Promise<SessionRecordV1[]>;
59
54
  }
60
55
  /**
61
56
  * 模型与 tool-loop 主循环执行器。
62
57
  */
63
58
  export declare class CoreEngineRunner {
64
- private readonly history_store;
65
- private readonly context_composer;
59
+ private readonly session_id;
66
60
  private readonly logger;
67
61
  private readonly should_compact_on_error;
68
62
  /** 最近一次已经通过真实 usage 验收的持久化 Summary 标识。 */
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,IAAI,CAAC;AA+BZ,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAmDxC,UAAU,uBAAuB;IAC/B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,gBAAgB,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;OAEG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC;QACjC,6BAA6B;QAC7B,KAAK,EAAE,aAAa,CAAC;QACrB,2CAA2C;QAC3C,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtC,+BAA+B;QAC/B,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpC,qCAAqC;QACrC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;IAE7F,0CAA0C;IAC1C,OAAO,CAAC,+BAA+B,CAAM;gBAEjC,OAAO,EAAE,uBAAuB;IAO5C;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAobhE"}
1
+ {"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,IAAI,CAAC;AA+BZ,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,oCAAoC,CAAC;AA+C5C,UAAU,uBAAuB;IAC/B,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,kBAAkB;IAC1B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;OAEG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC;QACjC,6BAA6B;QAC7B,KAAK,EAAE,aAAa,CAAC;QACrB,2CAA2C;QAC3C,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACtC,+BAA+B;QAC/B,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpC,qCAAqC;QACrC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IAEH,wDAAwD;IACxD,cAAc,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CAClD;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;IAE7F,0CAA0C;IAC1C,OAAO,CAAC,+BAA+B,CAAM;gBAEjC,OAAO,EAAE,uBAAuB;IAS5C;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAybhE"}
@@ -2,7 +2,7 @@
2
2
  * CoreEngineRunner:模型与 tool-loop 主循环执行器。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 只负责单次已装配输入的执行,不负责 run scope、外层重试与历史准备。
5
+ * - 只负责单次已装配输入的执行,不负责外层运行上下文、重试与历史准备。
6
6
  * - 把 step 循环、续写恢复、最终 assistant 汇总等细节从 Executor 中剥离。
7
7
  * - 保持失败返回结构稳定,避免对外 Session 行为变化。
8
8
  */
@@ -61,24 +61,25 @@ function mergePendingAssistantFileParts(message, parts) {
61
61
  * 模型与 tool-loop 主循环执行器。
62
62
  */
63
63
  export class CoreEngineRunner {
64
- history_store;
65
- context_composer;
64
+ session_id;
66
65
  logger;
67
66
  should_compact_on_error;
68
67
  /** 最近一次已经通过真实 usage 验收的持久化 Summary 标识。 */
69
68
  validated_compaction_summary_id = "";
70
69
  constructor(options) {
71
- this.history_store = options.history_store;
72
- this.context_composer = options.context_composer;
70
+ this.session_id = String(options.session_id || "").trim();
73
71
  this.logger = options.logger;
74
72
  this.should_compact_on_error = options.should_compact_on_error;
73
+ if (!this.session_id) {
74
+ throw new Error("CoreEngineRunner requires a non-empty session_id");
75
+ }
75
76
  }
76
77
  /**
77
78
  * 执行一次已装配完成的模型/tool-loop 运行。
78
79
  */
79
80
  async run(input) {
80
81
  const start_time = Date.now();
81
- const session_id = String(this.history_store.sessionId || "").trim();
82
+ const session_id = this.session_id;
82
83
  let system = Array.isArray(input.execute_input.system)
83
84
  ? input.execute_input.system
84
85
  : [];
@@ -94,7 +95,6 @@ export class CoreEngineRunner {
94
95
  });
95
96
  let persisted_compaction_summary_id = resolve_compaction_summary_id(input.execute_input.messages);
96
97
  const append_merged_user_messages = (messages) => message_state.appendMergedUserMessages(messages);
97
- const context_composer_on_step_finish = this.context_composer.createOnStepFinishHandler(input.run_context);
98
98
  let step_count = 0;
99
99
  let total_tool_call_count = 0;
100
100
  let total_tool_result_count = 0;
@@ -112,13 +112,19 @@ export class CoreEngineRunner {
112
112
  stepIndex: step_count,
113
113
  ...summary,
114
114
  });
115
- await context_composer_on_step_finish(step_result);
115
+ if (input.run_context.onAssistantStepCallback) {
116
+ try {
117
+ await input.run_context.onAssistantStepCallback({
118
+ text: String(step_result?.text || "").trim(),
119
+ stepIndex: step_count,
120
+ stepResult: step_result,
121
+ });
122
+ }
123
+ catch {
124
+ // Assistant step 观察回调失败不能改变模型执行结果。
125
+ }
126
+ }
116
127
  };
117
- const prepare_step_inputs = this.context_composer.createPrepareStepHandler({
118
- system,
119
- appendMergedUserMessages: append_merged_user_messages,
120
- runContext: input.run_context,
121
- });
122
128
  let text_only_continuation_count = 0;
123
129
  let incomplete_response_recovery_count = 0;
124
130
  let context_error_compaction_retries = 0;
@@ -130,12 +136,26 @@ export class CoreEngineRunner {
130
136
  while (step_count < MAX_TOOL_LOOP_STEPS) {
131
137
  // 关键点(中文):steer 与 command 在同一个 Session step 检查点执行。
132
138
  // 当前流与 tool callback 保持原执行视图,下一 step 再统一读取 effective 配置。
133
- await prepare_step_inputs({ messages: [] });
139
+ const injected_messages = [...input.run_context.injectedUserMessages];
140
+ input.run_context.injectedUserMessages = [];
141
+ let queued_messages = [];
142
+ if (input.run_context.onStepCallback) {
143
+ try {
144
+ queued_messages = await input.run_context.onStepCallback();
145
+ }
146
+ catch {
147
+ queued_messages = [];
148
+ }
149
+ }
150
+ await append_merged_user_messages([
151
+ ...injected_messages,
152
+ ...queued_messages,
153
+ ]);
134
154
  const step_inputs = await input.resolve_step_inputs();
135
155
  system = Array.isArray(step_inputs.system) ? step_inputs.system : [];
136
156
  tools = step_inputs.tools;
137
157
  if (input.run_context.consume_history_reload?.()) {
138
- const canonical_records = await this.history_store.list_records();
158
+ const canonical_records = await input.reload_history();
139
159
  await message_state.replace_session_messages(canonical_records, tools);
140
160
  persisted_compaction_summary_id = resolve_compaction_summary_id(canonical_records);
141
161
  compact_validation_pending = Boolean(persisted_compaction_summary_id &&
@@ -187,7 +207,7 @@ export class CoreEngineRunner {
187
207
  result,
188
208
  sessionId: session_id,
189
209
  logger: this.logger,
190
- buildFallbackAssistantMessage: (text) => this.context_composer.buildFallbackAssistantMessage(text, input.run_context),
210
+ buildFallbackAssistantMessage: (text) => build_fallback_assistant_message(session_id, text),
191
211
  onUiMessageChunkCallback: input.run_context.onUiMessageChunkCallback,
192
212
  abortSignal: input.run_context.abortSignal,
193
213
  });
@@ -289,15 +309,13 @@ export class CoreEngineRunner {
289
309
  reason: incomplete_response.reason,
290
310
  ...incomplete_response.details,
291
311
  });
292
- const recovery_message = this.history_store.userText({
312
+ const recovery_message = build_internal_user_message({
313
+ session_id,
293
314
  text: buildIncompleteResponseRecoveryNudge(incomplete_response_recovery_count),
294
- metadata: {
295
- sessionId: session_id,
296
- extra: {
297
- internal: "agent_incomplete_response_recover",
298
- reason: incomplete_response.reason,
299
- stepIndex: step_count,
300
- },
315
+ extra: {
316
+ internal: "agent_incomplete_response_recover",
317
+ reason: incomplete_response.reason,
318
+ stepIndex: step_count,
301
319
  },
302
320
  });
303
321
  await message_state.appendUserTextMessage(recovery_message);
@@ -325,15 +343,13 @@ export class CoreEngineRunner {
325
343
  if (loop_decision.continueForTextOnly) {
326
344
  text_only_continuation_count += 1;
327
345
  incomplete_response_recovery_count = 0;
328
- const continuation_message = this.history_store.userText({
346
+ const continuation_message = build_internal_user_message({
347
+ session_id,
329
348
  text: buildTextOnlyContinuationNudge(text_only_continuation_count),
330
- metadata: {
331
- sessionId: session_id,
332
- extra: {
333
- internal: "agent_loop_auto_continue",
334
- reason: text_only_continuation_reason,
335
- stepIndex: step_count,
336
- },
349
+ extra: {
350
+ internal: "agent_loop_auto_continue",
351
+ reason: text_only_continuation_reason,
352
+ stepIndex: step_count,
337
353
  },
338
354
  });
339
355
  await message_state.appendUserTextMessage(continuation_message);
@@ -366,7 +382,7 @@ export class CoreEngineRunner {
366
382
  });
367
383
  }
368
384
  const final_message = mergePendingAssistantFileParts(final_assistant_ui_message ||
369
- this.context_composer.buildFallbackAssistantMessage("Execution completed", input.run_context), input.run_context.pendingAssistantFileParts);
385
+ build_fallback_assistant_message(session_id, "Execution completed"), input.run_context.pendingAssistantFileParts);
370
386
  await this.logger.log("info", "[agent] final.message", {
371
387
  sessionId: session_id,
372
388
  ...summarizeUiMessageForDebug(final_message),
@@ -421,7 +437,7 @@ export class CoreEngineRunner {
421
437
  return {
422
438
  success: false,
423
439
  error: error_text,
424
- assistantMessage: this.context_composer.buildFallbackAssistantMessage(`Execution failed: ${error_text}`, input.run_context),
440
+ assistantMessage: build_fallback_assistant_message(session_id, `Execution failed: ${error_text}`),
425
441
  ...(compact_required ? { compact_required: true } : {}),
426
442
  deferredPersistedUserMessages: [
427
443
  ...input.run_context.deferredPersistedUserMessages,
@@ -430,6 +446,37 @@ export class CoreEngineRunner {
430
446
  }
431
447
  }
432
448
  }
449
+ /** 构造仅在当前 Turn 内使用的内部 User Message。 */
450
+ function build_internal_user_message(input) {
451
+ return {
452
+ id: `u:${input.session_id}:${Date.now()}`,
453
+ role: "user",
454
+ metadata: {
455
+ v: 1,
456
+ ts: Date.now(),
457
+ sessionId: input.session_id,
458
+ source: "ingress",
459
+ kind: "normal",
460
+ extra: input.extra,
461
+ },
462
+ parts: [{ type: "text", text: input.text }],
463
+ };
464
+ }
465
+ /** 构造 Executor 失败或空结果使用的临时 Assistant Message。 */
466
+ function build_fallback_assistant_message(session_id, text) {
467
+ return {
468
+ id: `a:${session_id}:${Date.now()}`,
469
+ role: "assistant",
470
+ metadata: {
471
+ v: 1,
472
+ ts: Date.now(),
473
+ sessionId: session_id,
474
+ source: "egress",
475
+ kind: "normal",
476
+ },
477
+ parts: [{ type: "text", text }],
478
+ };
479
+ }
433
480
  /** 读取当前模型上下文中最新的持久化 compact Summary 标识。 */
434
481
  function resolve_compaction_summary_id(messages) {
435
482
  for (let index = messages.length - 1; index >= 0; index -= 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineRunner.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreEngineRunner.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"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"}
@@ -8,19 +8,13 @@
8
8
  */
9
9
  import type { LanguageModel } from "ai";
10
10
  import type { Logger } from "../../utils/logger/Logger.js";
11
- import type { SessionCompactionComposer } from "../composer/compaction/SessionCompactionComposer.js";
12
- import type { SessionContextComposer } from "../composer/context/SessionContextComposer.js";
13
11
  import type { SessionRunContext } from "../../types/executor/SessionRunContext.js";
14
12
  import type { SessionExecuteInput, SessionRunResult } from "../../executor/types/SessionRun.js";
15
13
  interface ExecutorRecoveryPolicyOptions {
16
- /**
17
- * 当前 session 对应的 compaction Composer。
18
- */
19
- compaction_composer: SessionCompactionComposer;
20
- /**
21
- * 当前 session 对应的 context Composer。
22
- */
23
- context_composer: SessionContextComposer;
14
+ /** 当前 Session 稳定标识。 */
15
+ session_id: string;
16
+ /** 判断错误是否需要持久化压缩后重试。 */
17
+ should_compact: (error: unknown) => boolean;
24
18
  /**
25
19
  * 当前 session 统一日志器。
26
20
  */
@@ -84,8 +78,8 @@ interface ExecutorRecoveryRunInput {
84
78
  * 执行恢复与重试策略服务。
85
79
  */
86
80
  export declare class ExecutorRecoveryPolicy {
87
- private readonly compaction_composer;
88
- private readonly context_composer;
81
+ private readonly session_id;
82
+ private readonly should_compact;
89
83
  private readonly logger;
90
84
  private retry_count;
91
85
  constructor(options: ExecutorRecoveryPolicyOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutorRecoveryPolicy.d.ts","sourceRoot":"","sources":["../../../src/executor/services/ExecutorRecoveryPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AAC5G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAOxC,UAAU,6BAA6B;IACrC;;OAEG;IACH,mBAAmB,EAAE,yBAAyB,CAAC;IAE/C;;OAEG;IACH,gBAAgB,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,+BAA+B;IACvC;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,UAAU,wBAAwB;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;OAEG;IACH,qBAAqB,EAAE,CACrB,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC;;OAEG;IACH,oBAAoB,EAAE,CACpB,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,WAAW,CAAK;gBAEZ,OAAO,EAAE,6BAA6B;IAMlD;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACG,cAAc,CAClB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA8C5B,OAAO,CAAC,oBAAoB;CA4B7B"}
1
+ {"version":3,"file":"ExecutorRecoveryPolicy.d.ts","sourceRoot":"","sources":["../../../src/executor/services/ExecutorRecoveryPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAOxC,UAAU,6BAA6B;IACrC,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAE5C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,uBAAuB;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,+BAA+B;IACvC;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,UAAU,wBAAwB;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,aAAa,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,iBAAiB,CAAC;IAE/B;;OAEG;IACH,qBAAqB,EAAE,CACrB,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC;;OAEG;IACH,oBAAoB,EAAE,CACpB,KAAK,EAAE,+BAA+B,KACnC,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkD;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,WAAW,CAAK;gBAEZ,OAAO,EAAE,6BAA6B;IASlD;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACG,cAAc,CAClB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,gBAAgB,CAAC;IA8C5B,OAAO,CAAC,oBAAoB;CAoC7B"}
@@ -14,14 +14,17 @@ const MAX_COMPACTION_RETRY_ATTEMPTS = 3;
14
14
  * 执行恢复与重试策略服务。
15
15
  */
16
16
  export class ExecutorRecoveryPolicy {
17
- compaction_composer;
18
- context_composer;
17
+ session_id;
18
+ should_compact;
19
19
  logger;
20
20
  retry_count = 0;
21
21
  constructor(options) {
22
- this.compaction_composer = options.compaction_composer;
23
- this.context_composer = options.context_composer;
22
+ this.session_id = String(options.session_id || "").trim();
23
+ this.should_compact = options.should_compact;
24
24
  this.logger = options.logger;
25
+ if (!this.session_id) {
26
+ throw new Error("ExecutorRecoveryPolicy requires a non-empty session_id");
27
+ }
25
28
  }
26
29
  /**
27
30
  * 重置当前 run 级状态。
@@ -47,7 +50,7 @@ export class ExecutorRecoveryPolicy {
47
50
  });
48
51
  }
49
52
  catch (error) {
50
- if (this.compaction_composer.shouldCompactOnError(error)) {
53
+ if (this.should_compact(error)) {
51
54
  await this.logger.log("info", "[agent] compacting", {
52
55
  retryCount: this.retry_count,
53
56
  error: String(error),
@@ -77,7 +80,18 @@ export class ExecutorRecoveryPolicy {
77
80
  return {
78
81
  success: false,
79
82
  error: input.error_text,
80
- assistantMessage: this.context_composer.buildFallbackAssistantMessage(input.fallback_text, input.run_context),
83
+ assistantMessage: {
84
+ id: `a:${this.session_id}:${Date.now()}`,
85
+ role: "assistant",
86
+ metadata: {
87
+ v: 1,
88
+ ts: Date.now(),
89
+ sessionId: this.session_id,
90
+ source: "egress",
91
+ kind: "normal",
92
+ },
93
+ parts: [{ type: "text", text: input.fallback_text }],
94
+ },
81
95
  deferredPersistedUserMessages: [
82
96
  ...input.run_context.deferredPersistedUserMessages,
83
97
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutorRecoveryPolicy.js","sourceRoot":"","sources":["../../../src/executor/services/ExecutorRecoveryPolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;GAEG;AACH,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAyFxC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAChB,mBAAmB,CAA4B;IAC/C,gBAAgB,CAAyB;IACzC,MAAM,CAAS;IACxB,WAAW,GAAG,CAAC,CAAC;IAExB,YAAY,OAAsC;QAChD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,KAA+B;QAE/B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC;gBACtD,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC,CAAC;YACH,OAAO,MAAM,KAAK,CAAC,oBAAoB,CAAC;gBACtC,aAAa;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE;oBAClD,UAAU,EAAE,IAAI,CAAC,WAAW;oBAC5B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;iBACrB,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,WAAW,GAAG,6BAA6B,EAAE,CAAC;oBACrD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC;oBACtB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC1C,CAAC;gBAED,OAAO,IAAI,CAAC,oBAAoB,CAAC;oBAC/B,UAAU,EACR,0EAA0E;oBAC5E,aAAa,EACX,0EAA0E;oBAC5E,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,2BAA2B,EAAE;gBAC1D,KAAK,EAAE,UAAU;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,oBAAoB,CAAC;gBAC/B,UAAU;gBACV,aAAa,EAAE,qBAAqB,UAAU,EAAE;gBAChD,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,KAe5B;QACC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,CAAC,UAAU;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CACnE,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,WAAW,CAClB;YACD,6BAA6B,EAAE;gBAC7B,GAAG,KAAK,CAAC,WAAW,CAAC,6BAA6B;aACnD;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"ExecutorRecoveryPolicy.js","sourceRoot":"","sources":["../../../src/executor/services/ExecutorRecoveryPolicy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * read 图片结果与模型 UserMessage 的桥接。
3
+ *
4
+ * 关键点(中文)
5
+ * - Shell read 只负责把图片读取为 data URL。
6
+ * - Agent 在当前 turn 的下一 step 注入临时 user file part,不写入长期历史。
7
+ * - 注入后从普通 tool result 移除 data URL,避免图片同时作为 JSON 内容传给模型。
8
+ */
9
+ import type { SessionRunContext } from "../../../types/executor/SessionRunContext.js";
10
+ /**
11
+ * 在 read 返回图片时注入下一 step,并返回不含 data URL 的 tool result。
12
+ */
13
+ export declare function inject_read_image_user_message(params: {
14
+ /** 当前工具名称。 */
15
+ tool_name: string;
16
+ /** 工具原始执行结果。 */
17
+ output: unknown;
18
+ /** 当前 Session turn 的显式运行上下文。 */
19
+ run_context: SessionRunContext;
20
+ }): unknown;
21
+ //# sourceMappingURL=ReadImageToolBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadImageToolBridge.d.ts","sourceRoot":"","sources":["../../../../src/executor/tools/file/ReadImageToolBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAQ/E;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,gCAAgC;IAChC,WAAW,EAAE,iBAAiB,CAAC;CAChC,GAAG,OAAO,CAiDV"}