@downcity/agent 1.1.287 → 1.1.310

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 (1045) hide show
  1. package/README.md +23 -16
  2. package/bin/agent/Agent.d.ts +35 -45
  3. package/bin/agent/Agent.d.ts.map +1 -1
  4. package/bin/agent/Agent.js +131 -107
  5. package/bin/agent/Agent.js.map +1 -1
  6. package/bin/agent/AgentInstructions.d.ts +2 -2
  7. package/bin/agent/AgentInstructions.d.ts.map +1 -1
  8. package/bin/agent/AgentInstructions.js +2 -2
  9. package/bin/agent/AgentInstructions.js.map +1 -1
  10. package/bin/agent/AgentModel.d.ts +2 -2
  11. package/bin/agent/AgentModel.d.ts.map +1 -1
  12. package/bin/agent/AgentModel.js +2 -2
  13. package/bin/agent/AgentModel.js.map +1 -1
  14. package/bin/agent/AgentSessions.d.ts +11 -7
  15. package/bin/agent/AgentSessions.d.ts.map +1 -1
  16. package/bin/agent/AgentSessions.js +39 -97
  17. package/bin/agent/AgentSessions.js.map +1 -1
  18. package/bin/agent/AgentState.d.ts +2 -21
  19. package/bin/agent/AgentState.d.ts.map +1 -1
  20. package/bin/agent/AgentState.js +6 -50
  21. package/bin/agent/AgentState.js.map +1 -1
  22. package/bin/executor/Executor.d.ts +25 -55
  23. package/bin/executor/Executor.d.ts.map +1 -1
  24. package/bin/executor/Executor.js +93 -178
  25. package/bin/executor/Executor.js.map +1 -1
  26. package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -2
  27. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
  28. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +9 -9
  29. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  30. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +19 -19
  31. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +1 -1
  32. package/bin/executor/composer/system/default/PromptRenderer.d.ts +2 -2
  33. package/bin/executor/composer/system/default/PromptRenderer.d.ts.map +1 -1
  34. package/bin/executor/composer/system/default/PromptRenderer.js +3 -3
  35. package/bin/executor/composer/system/default/PromptRenderer.js.map +1 -1
  36. package/bin/executor/composer/system/default/SystemDomain.d.ts +27 -27
  37. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
  38. package/bin/executor/composer/system/default/SystemDomain.js +44 -44
  39. package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
  40. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  41. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  42. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  43. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  44. package/bin/executor/composer/system/default/variables/GeoContext.d.ts +1 -1
  45. package/bin/executor/composer/system/default/variables/GeoContext.d.ts.map +1 -1
  46. package/bin/executor/composer/system/default/variables/GeoContext.js +3 -3
  47. package/bin/executor/composer/system/default/variables/GeoContext.js.map +1 -1
  48. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts +2 -2
  49. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts.map +1 -1
  50. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts +4 -4
  51. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts.map +1 -1
  52. package/bin/executor/composer/system/default/variables/VariableReplacer.js +24 -24
  53. package/bin/executor/composer/system/default/variables/VariableReplacer.js.map +1 -1
  54. package/bin/executor/core-engine/CoreEngineError.d.ts +2 -2
  55. package/bin/executor/core-engine/CoreEngineError.d.ts.map +1 -1
  56. package/bin/executor/core-engine/CoreEngineError.js +2 -2
  57. package/bin/executor/core-engine/CoreEngineError.js.map +1 -1
  58. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts +2 -2
  59. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts.map +1 -1
  60. package/bin/executor/core-engine/CoreEngineLoopDecision.js +2 -2
  61. package/bin/executor/core-engine/CoreEngineLoopDecision.js.map +1 -1
  62. package/bin/executor/core-engine/CoreEngineMessageState.d.ts +2 -2
  63. package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +1 -1
  64. package/bin/executor/core-engine/CoreEngineMessageState.js +9 -9
  65. package/bin/executor/core-engine/CoreEngineMessageState.js.map +1 -1
  66. package/bin/executor/core-engine/CoreEngineRunner.d.ts +8 -8
  67. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  68. package/bin/executor/core-engine/CoreEngineRunner.js +94 -108
  69. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  70. package/bin/executor/core-engine/CoreEngineSignals.d.ts +10 -10
  71. package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +1 -1
  72. package/bin/executor/core-engine/CoreEngineSignals.js +19 -19
  73. package/bin/executor/core-engine/CoreEngineSignals.js.map +1 -1
  74. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +6 -6
  75. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +1 -1
  76. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +12 -12
  77. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +1 -1
  78. package/bin/executor/ids/resolveSessionId.d.ts +4 -4
  79. package/bin/executor/ids/resolveSessionId.d.ts.map +1 -1
  80. package/bin/executor/ids/resolveSessionId.js +4 -4
  81. package/bin/executor/ids/resolveSessionId.js.map +1 -1
  82. package/bin/executor/messages/ChatMessageMarkup.d.ts +10 -10
  83. package/bin/executor/messages/ChatMessageMarkup.d.ts.map +1 -1
  84. package/bin/executor/messages/ChatMessageMarkup.js +22 -22
  85. package/bin/executor/messages/ChatMessageMarkup.js.map +1 -1
  86. package/bin/executor/messages/ChatMessageMarkupTypes.d.ts +10 -10
  87. package/bin/executor/messages/ChatMessageMarkupTypes.d.ts.map +1 -1
  88. package/bin/executor/messages/SessionAttachmentMapper.d.ts +4 -4
  89. package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
  90. package/bin/executor/messages/SessionAttachmentMapper.js +12 -12
  91. package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
  92. package/bin/executor/messages/SessionMessageCodec.d.ts +5 -5
  93. package/bin/executor/messages/SessionMessageCodec.d.ts.map +1 -1
  94. package/bin/executor/messages/SessionMessageCodec.js +12 -22
  95. package/bin/executor/messages/SessionMessageCodec.js.map +1 -1
  96. package/bin/executor/messages/SessionMessageLog.d.ts +2 -2
  97. package/bin/executor/messages/SessionMessageLog.d.ts.map +1 -1
  98. package/bin/executor/messages/SessionMessageLog.js +3 -3
  99. package/bin/executor/messages/SessionMessageLog.js.map +1 -1
  100. package/bin/executor/messages/SessionStepEventMapper.d.ts +4 -4
  101. package/bin/executor/messages/SessionStepEventMapper.d.ts.map +1 -1
  102. package/bin/executor/messages/SessionStepEventMapper.js +7 -7
  103. package/bin/executor/messages/SessionStepEventMapper.js.map +1 -1
  104. package/bin/executor/messages/UIMessageTransformer.d.ts +3 -3
  105. package/bin/executor/messages/UIMessageTransformer.d.ts.map +1 -1
  106. package/bin/executor/messages/UIMessageTransformer.js +6 -6
  107. package/bin/executor/messages/UIMessageTransformer.js.map +1 -1
  108. package/bin/executor/messages/UserVisibleText.d.ts +2 -2
  109. package/bin/executor/messages/UserVisibleText.d.ts.map +1 -1
  110. package/bin/executor/messages/UserVisibleText.js +5 -5
  111. package/bin/executor/messages/UserVisibleText.js.map +1 -1
  112. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +15 -15
  113. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  114. package/bin/executor/services/ExecutorRecoveryPolicy.js +13 -12
  115. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
  116. package/bin/executor/types/SessionHistoryMeta.d.ts +10 -10
  117. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  118. package/bin/executor/types/SessionHistoryMeta.js +1 -1
  119. package/bin/executor/types/SessionRecords.d.ts +9 -9
  120. package/bin/executor/types/SessionRecords.d.ts.map +1 -1
  121. package/bin/executor/types/SessionRecords.js +4 -4
  122. package/bin/executor/types/SessionRecords.js.map +1 -1
  123. package/bin/index.d.ts +41 -55
  124. package/bin/index.d.ts.map +1 -1
  125. package/bin/index.js +24 -31
  126. package/bin/index.js.map +1 -1
  127. package/bin/plugin/core/ActionScheduleExecutor.d.ts +4 -4
  128. package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +1 -1
  129. package/bin/plugin/core/ActionScheduleExecutor.js +18 -20
  130. package/bin/plugin/core/ActionScheduleExecutor.js.map +1 -1
  131. package/bin/plugin/core/ActionScheduleRuntime.d.ts +2 -2
  132. package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +1 -1
  133. package/bin/plugin/core/ActionScheduleRuntime.js +6 -6
  134. package/bin/plugin/core/ActionScheduleRuntime.js.map +1 -1
  135. package/bin/plugin/core/ActionScheduleStore.d.ts +23 -22
  136. package/bin/plugin/core/ActionScheduleStore.d.ts.map +1 -1
  137. package/bin/plugin/core/ActionScheduleStore.js +120 -117
  138. package/bin/plugin/core/ActionScheduleStore.js.map +1 -1
  139. package/bin/plugin/core/ActionScheduleTime.d.ts +5 -5
  140. package/bin/plugin/core/ActionScheduleTime.d.ts.map +1 -1
  141. package/bin/plugin/core/ActionScheduleTime.js +6 -6
  142. package/bin/plugin/core/ActionScheduleTime.js.map +1 -1
  143. package/bin/plugin/core/BasePlugin.d.ts +6 -20
  144. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  145. package/bin/plugin/core/BasePlugin.js +0 -12
  146. package/bin/plugin/core/BasePlugin.js.map +1 -1
  147. package/bin/plugin/core/HookRegistry.d.ts +11 -11
  148. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  149. package/bin/plugin/core/HookRegistry.js +45 -45
  150. package/bin/plugin/core/HookRegistry.js.map +1 -1
  151. package/bin/plugin/core/PluginActionFactory.d.ts +18 -26
  152. package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -1
  153. package/bin/plugin/core/PluginActionFactory.js +5 -8
  154. package/bin/plugin/core/PluginActionFactory.js.map +1 -1
  155. package/bin/plugin/core/PluginActionRunner.d.ts +15 -33
  156. package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
  157. package/bin/plugin/core/PluginActionRunner.js +11 -147
  158. package/bin/plugin/core/PluginActionRunner.js.map +1 -1
  159. package/bin/plugin/core/PluginCatalog.d.ts +12 -12
  160. package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
  161. package/bin/plugin/core/PluginCatalog.js +18 -18
  162. package/bin/plugin/core/PluginCatalog.js.map +1 -1
  163. package/bin/plugin/core/PluginContext.d.ts +32 -0
  164. package/bin/plugin/core/PluginContext.d.ts.map +1 -0
  165. package/bin/plugin/core/PluginContext.js +26 -0
  166. package/bin/plugin/core/PluginContext.js.map +1 -0
  167. package/bin/plugin/core/PluginHttpRoutes.d.ts +5 -5
  168. package/bin/plugin/core/PluginHttpRoutes.d.ts.map +1 -1
  169. package/bin/plugin/core/PluginHttpRoutes.js +5 -5
  170. package/bin/plugin/core/PluginHttpRoutes.js.map +1 -1
  171. package/bin/plugin/core/PluginRegistry.d.ts +35 -24
  172. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  173. package/bin/plugin/core/PluginRegistry.js +99 -71
  174. package/bin/plugin/core/PluginRegistry.js.map +1 -1
  175. package/bin/plugin/core/PluginStateController.d.ts +5 -13
  176. package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
  177. package/bin/plugin/core/PluginStateController.js +2 -32
  178. package/bin/plugin/core/PluginStateController.js.map +1 -1
  179. package/bin/plugin/tool/PluginToolRuntime.d.ts +15 -0
  180. package/bin/plugin/tool/PluginToolRuntime.d.ts.map +1 -0
  181. package/bin/plugin/tool/PluginToolRuntime.js +105 -0
  182. package/bin/plugin/tool/PluginToolRuntime.js.map +1 -0
  183. package/bin/{executor/tools/plugin → plugin/tool}/PluginToolSchemas.d.ts +1 -1
  184. package/bin/plugin/tool/PluginToolSchemas.d.ts.map +1 -0
  185. package/bin/{executor/tools/plugin → plugin/tool}/PluginToolSchemas.js +1 -1
  186. package/bin/plugin/tool/PluginToolSchemas.js.map +1 -0
  187. package/bin/plugin/tool/PluginTools.d.ts +25 -0
  188. package/bin/plugin/tool/PluginTools.d.ts.map +1 -0
  189. package/bin/{executor/tools/plugin/PluginToolDefinition.js → plugin/tool/PluginTools.js} +19 -19
  190. package/bin/plugin/tool/PluginTools.js.map +1 -0
  191. package/bin/plugin/types/ActionSchedule.d.ts +10 -10
  192. package/bin/plugin/types/ActionSchedule.d.ts.map +1 -1
  193. package/bin/plugin/types/ActionSchedule.js +1 -1
  194. package/bin/plugin/types/PluginApi.d.ts +3 -3
  195. package/bin/plugin/types/PluginApi.d.ts.map +1 -1
  196. package/bin/remote/RemoteAgent.d.ts +1 -1
  197. package/bin/remote/RemoteAgent.d.ts.map +1 -1
  198. package/bin/remote/RemoteAgent.js +3 -3
  199. package/bin/remote/RemoteAgent.js.map +1 -1
  200. package/bin/remote/RemoteSession.d.ts +18 -12
  201. package/bin/remote/RemoteSession.d.ts.map +1 -1
  202. package/bin/remote/RemoteSession.js +87 -21
  203. package/bin/remote/RemoteSession.js.map +1 -1
  204. package/bin/remote/RemoteTransport.d.ts +13 -11
  205. package/bin/remote/RemoteTransport.d.ts.map +1 -1
  206. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts +9 -7
  207. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  208. package/bin/remote/transports/HttpRemoteAgentTransport.js +36 -39
  209. package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  210. package/bin/remote/transports/RpcClient.d.ts +14 -31
  211. package/bin/remote/transports/RpcClient.d.ts.map +1 -1
  212. package/bin/remote/transports/RpcClient.js +40 -66
  213. package/bin/remote/transports/RpcClient.js.map +1 -1
  214. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts +9 -7
  215. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
  216. package/bin/remote/transports/RpcRemoteAgentTransport.js +10 -10
  217. package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
  218. package/bin/session/DefaultSessionComposer.d.ts.map +1 -1
  219. package/bin/session/DefaultSessionComposer.js +2 -4
  220. package/bin/session/DefaultSessionComposer.js.map +1 -1
  221. package/bin/session/Session.d.ts +49 -31
  222. package/bin/session/Session.d.ts.map +1 -1
  223. package/bin/session/Session.js +303 -243
  224. package/bin/session/Session.js.map +1 -1
  225. package/bin/session/SessionCommand.d.ts +24 -0
  226. package/bin/session/SessionCommand.d.ts.map +1 -0
  227. package/bin/session/SessionCommand.js +35 -0
  228. package/bin/session/SessionCommand.js.map +1 -0
  229. package/bin/session/SessionLoop.d.ts +96 -0
  230. package/bin/session/SessionLoop.d.ts.map +1 -0
  231. package/bin/session/SessionLoop.js +554 -0
  232. package/bin/session/SessionLoop.js.map +1 -0
  233. package/bin/session/SessionMessages.d.ts +20 -16
  234. package/bin/session/SessionMessages.d.ts.map +1 -1
  235. package/bin/session/SessionMessages.js +102 -81
  236. package/bin/session/SessionMessages.js.map +1 -1
  237. package/bin/session/SessionQueue.d.ts +15 -25
  238. package/bin/session/SessionQueue.d.ts.map +1 -1
  239. package/bin/session/SessionQueue.js +31 -45
  240. package/bin/session/SessionQueue.js.map +1 -1
  241. package/bin/session/SessionState.d.ts +6 -6
  242. package/bin/session/SessionState.d.ts.map +1 -1
  243. package/bin/session/SessionState.js +45 -93
  244. package/bin/session/SessionState.js.map +1 -1
  245. package/bin/session/SessionSystem.js +7 -7
  246. package/bin/session/SessionSystem.js.map +1 -1
  247. package/bin/session/SessionTitle.d.ts +7 -12
  248. package/bin/session/SessionTitle.d.ts.map +1 -1
  249. package/bin/session/SessionTitle.js +15 -20
  250. package/bin/session/SessionTitle.js.map +1 -1
  251. package/bin/session/browse/Browse.d.ts +17 -26
  252. package/bin/session/browse/Browse.d.ts.map +1 -1
  253. package/bin/session/browse/Browse.js +106 -303
  254. package/bin/session/browse/Browse.js.map +1 -1
  255. package/bin/session/browse/SessionMessageTimeline.d.ts +13 -0
  256. package/bin/session/browse/SessionMessageTimeline.d.ts.map +1 -0
  257. package/bin/session/browse/SessionMessageTimeline.js +110 -0
  258. package/bin/session/browse/SessionMessageTimeline.js.map +1 -0
  259. package/bin/session/control/SessionInteractions.d.ts +39 -0
  260. package/bin/session/control/SessionInteractions.d.ts.map +1 -0
  261. package/bin/session/control/SessionInteractions.js +219 -0
  262. package/bin/session/control/SessionInteractions.js.map +1 -0
  263. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts +49 -0
  264. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +1 -0
  265. package/bin/session/execution/SessionAssistantOutputAdapter.js +117 -0
  266. package/bin/session/execution/SessionAssistantOutputAdapter.js.map +1 -0
  267. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts +28 -0
  268. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts.map +1 -0
  269. package/bin/session/execution/tools/SessionShellApprovalAdapter.js +75 -0
  270. package/bin/session/execution/tools/SessionShellApprovalAdapter.js.map +1 -0
  271. package/bin/session/messages/SessionAssistantMessageWriter.d.ts +6 -4
  272. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -1
  273. package/bin/session/messages/SessionAssistantMessageWriter.js +34 -18
  274. package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -1
  275. package/bin/session/messages/SessionJsonValue.d.ts +2 -2
  276. package/bin/session/messages/SessionJsonValue.d.ts.map +1 -1
  277. package/bin/session/messages/SessionJsonValue.js.map +1 -1
  278. package/bin/session/messages/SessionMessageCodec.d.ts.map +1 -1
  279. package/bin/session/messages/SessionMessageCodec.js +30 -84
  280. package/bin/session/messages/SessionMessageCodec.js.map +1 -1
  281. package/bin/session/messages/SessionMessageCompaction.js +2 -2
  282. package/bin/session/messages/SessionMessageCompaction.js.map +1 -1
  283. package/bin/session/messages/SessionMessageInteractionWriter.d.ts +51 -0
  284. package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +1 -0
  285. package/bin/session/messages/SessionMessageInteractionWriter.js +177 -0
  286. package/bin/session/messages/SessionMessageInteractionWriter.js.map +1 -0
  287. package/bin/session/preview/SessionMessagePreview.js +2 -2
  288. package/bin/session/preview/SessionMessagePreview.js.map +1 -1
  289. package/bin/session/runtime/SessionCompactOperation.d.ts +29 -0
  290. package/bin/session/runtime/SessionCompactOperation.d.ts.map +1 -0
  291. package/bin/session/runtime/SessionCompactOperation.js +66 -0
  292. package/bin/session/runtime/SessionCompactOperation.js.map +1 -0
  293. package/bin/session/runtime/SessionHistoryCompaction.d.ts +22 -0
  294. package/bin/session/runtime/SessionHistoryCompaction.d.ts.map +1 -0
  295. package/bin/session/runtime/SessionHistoryCompaction.js +31 -0
  296. package/bin/session/runtime/SessionHistoryCompaction.js.map +1 -0
  297. package/bin/session/runtime/SessionTurnContext.d.ts +26 -0
  298. package/bin/session/runtime/SessionTurnContext.d.ts.map +1 -0
  299. package/bin/session/runtime/SessionTurnContext.js +181 -0
  300. package/bin/session/runtime/SessionTurnContext.js.map +1 -0
  301. package/bin/session/storage/Metadata.d.ts +13 -70
  302. package/bin/session/storage/Metadata.d.ts.map +1 -1
  303. package/bin/session/storage/Metadata.js +31 -116
  304. package/bin/session/storage/Metadata.js.map +1 -1
  305. package/bin/session/storage/RuntimeSessionPort.d.ts +7 -7
  306. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  307. package/bin/session/storage/RuntimeSessionPort.js +7 -7
  308. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  309. package/bin/tools/ask/AskQuestionsTool.d.ts +39 -0
  310. package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -0
  311. package/bin/tools/ask/AskQuestionsTool.js +67 -0
  312. package/bin/tools/ask/AskQuestionsTool.js.map +1 -0
  313. package/bin/tools/ask/AskQuestionsToolSchemas.d.ts +29 -0
  314. package/bin/tools/ask/AskQuestionsToolSchemas.d.ts.map +1 -0
  315. package/bin/tools/ask/AskQuestionsToolSchemas.js +51 -0
  316. package/bin/tools/ask/AskQuestionsToolSchemas.js.map +1 -0
  317. package/bin/tools/index.d.ts +9 -0
  318. package/bin/tools/index.d.ts.map +1 -0
  319. package/bin/tools/index.js +8 -0
  320. package/bin/tools/index.js.map +1 -0
  321. package/bin/types/action/ActionResult.d.ts +26 -0
  322. package/bin/types/action/ActionResult.d.ts.map +1 -0
  323. package/bin/types/action/ActionResult.js +17 -0
  324. package/bin/types/action/ActionResult.js.map +1 -0
  325. package/bin/types/agent/AgentOptions.d.ts +13 -23
  326. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  327. package/bin/types/agent/AgentState.d.ts +4 -13
  328. package/bin/types/agent/AgentState.d.ts.map +1 -1
  329. package/bin/types/agent/AgentState.js +2 -2
  330. package/bin/types/agent/RemoteAgentPluginAction.d.ts +2 -2
  331. package/bin/types/agent/RemoteAgentPluginAction.d.ts.map +1 -1
  332. package/bin/types/agent/SessionActor.d.ts +16 -15
  333. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  334. package/bin/types/agent/SessionTypes.d.ts +69 -91
  335. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  336. package/bin/types/executor/SessionAssistantOutput.d.ts +34 -0
  337. package/bin/types/executor/SessionAssistantOutput.d.ts.map +1 -0
  338. package/bin/types/executor/SessionAssistantOutput.js +8 -0
  339. package/bin/types/executor/SessionAssistantOutput.js.map +1 -0
  340. package/bin/types/executor/SessionToolExecutionContext.d.ts +5 -5
  341. package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -1
  342. package/bin/types/executor/SessionToolExecutionContext.js +2 -2
  343. package/bin/types/executor/SessionTurnContext.d.ts +125 -0
  344. package/bin/types/executor/SessionTurnContext.d.ts.map +1 -0
  345. package/bin/types/executor/SessionTurnContext.js +10 -0
  346. package/bin/types/executor/SessionTurnContext.js.map +1 -0
  347. package/bin/types/plugin/PluginAction.d.ts +13 -10
  348. package/bin/types/plugin/PluginAction.d.ts.map +1 -1
  349. package/bin/types/plugin/PluginCommand.d.ts +8 -65
  350. package/bin/types/plugin/PluginCommand.d.ts.map +1 -1
  351. package/bin/types/plugin/PluginCommand.js +2 -4
  352. package/bin/types/plugin/PluginCommand.js.map +1 -1
  353. package/bin/types/plugin/PluginContext.d.ts +34 -0
  354. package/bin/types/plugin/PluginContext.d.ts.map +1 -0
  355. package/bin/types/plugin/PluginContext.js +9 -0
  356. package/bin/types/plugin/PluginContext.js.map +1 -0
  357. package/bin/types/plugin/PluginDefinition.d.ts +8 -28
  358. package/bin/types/plugin/PluginDefinition.d.ts.map +1 -1
  359. package/bin/types/plugin/PluginDefinition.js +1 -1
  360. package/bin/types/plugin/PluginExecutionContext.d.ts +29 -0
  361. package/bin/types/plugin/PluginExecutionContext.d.ts.map +1 -0
  362. package/bin/types/plugin/{PluginRunContext.js → PluginExecutionContext.js} +2 -2
  363. package/bin/types/plugin/PluginExecutionContext.js.map +1 -0
  364. package/bin/types/plugin/PluginHttp.d.ts +5 -5
  365. package/bin/types/plugin/PluginHttp.d.ts.map +1 -1
  366. package/bin/types/plugin/PluginRegistry.d.ts +21 -0
  367. package/bin/types/plugin/PluginRegistry.d.ts.map +1 -0
  368. package/bin/types/plugin/PluginRegistry.js +9 -0
  369. package/bin/types/plugin/PluginRegistry.js.map +1 -0
  370. package/bin/types/plugin/PluginRuntime.d.ts +28 -40
  371. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
  372. package/bin/types/plugin/PluginState.d.ts +0 -15
  373. package/bin/types/plugin/PluginState.d.ts.map +1 -1
  374. package/bin/types/plugin/PluginTool.d.ts +90 -0
  375. package/bin/types/plugin/PluginTool.d.ts.map +1 -0
  376. package/bin/types/plugin/PluginTool.js.map +1 -0
  377. package/bin/types/rpc/RpcProtocol.d.ts +50 -72
  378. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  379. package/bin/types/sdk/AgentSessionCompact.d.ts +31 -0
  380. package/bin/types/sdk/AgentSessionCompact.d.ts.map +1 -0
  381. package/bin/types/sdk/AgentSessionCompact.js +8 -0
  382. package/bin/types/sdk/AgentSessionCompact.js.map +1 -0
  383. package/bin/types/sdk/AgentSessionPrompt.d.ts +1 -1
  384. package/bin/types/sdk/AgentSessionPrompt.d.ts.map +1 -1
  385. package/bin/types/sdk/AgentSessionPrompt.js +1 -1
  386. package/bin/types/sdk/AgentSessionPrompt.js.map +1 -1
  387. package/bin/types/sdk/AgentSessionStop.d.ts +2 -2
  388. package/bin/types/sdk/AgentSessionStop.d.ts.map +1 -1
  389. package/bin/types/sdk/AgentSessionTurn.d.ts +3 -13
  390. package/bin/types/sdk/AgentSessionTurn.d.ts.map +1 -1
  391. package/bin/types/session/SessionCommand.d.ts +26 -0
  392. package/bin/types/session/SessionCommand.d.ts.map +1 -0
  393. package/bin/types/session/SessionCommand.js +7 -0
  394. package/bin/types/session/SessionCommand.js.map +1 -0
  395. package/bin/types/session/SessionComposer.d.ts +8 -4
  396. package/bin/types/session/SessionComposer.d.ts.map +1 -1
  397. package/bin/{executor/types/SessionRun.d.ts → types/session/SessionExecution.d.ts} +37 -33
  398. package/bin/types/session/SessionExecution.d.ts.map +1 -0
  399. package/bin/types/session/SessionExecution.js +10 -0
  400. package/bin/types/session/SessionExecution.js.map +1 -0
  401. package/bin/types/session/SessionInteraction.d.ts +165 -0
  402. package/bin/types/session/SessionInteraction.d.ts.map +1 -0
  403. package/bin/types/session/SessionInteraction.js +8 -0
  404. package/bin/types/session/SessionInteraction.js.map +1 -0
  405. package/bin/types/session/SessionInteractions.d.ts +17 -0
  406. package/bin/types/session/SessionInteractions.d.ts.map +1 -0
  407. package/bin/types/session/SessionInteractions.js +8 -0
  408. package/bin/types/session/SessionInteractions.js.map +1 -0
  409. package/bin/types/session/SessionLocalState.d.ts +1 -1
  410. package/bin/types/session/SessionLoop.d.ts +63 -0
  411. package/bin/types/session/SessionLoop.d.ts.map +1 -0
  412. package/bin/types/session/{SessionTurn.js → SessionLoop.js} +2 -2
  413. package/bin/types/session/SessionLoop.js.map +1 -0
  414. package/bin/types/session/SessionMessage.d.ts +37 -28
  415. package/bin/types/session/SessionMessage.d.ts.map +1 -1
  416. package/bin/types/session/SessionMessages.d.ts +2 -4
  417. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  418. package/bin/types/session/SessionMutation.d.ts +19 -1
  419. package/bin/types/session/SessionMutation.d.ts.map +1 -1
  420. package/bin/types/session/SessionMutation.js +1 -0
  421. package/bin/types/session/SessionMutation.js.map +1 -1
  422. package/bin/types/session/SessionOptions.d.ts +34 -20
  423. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  424. package/bin/types/session/SessionPort.d.ts +6 -19
  425. package/bin/types/session/SessionPort.d.ts.map +1 -1
  426. package/bin/types/session/SessionState.d.ts +3 -13
  427. package/bin/types/session/SessionState.d.ts.map +1 -1
  428. package/bin/types/store/AgentStore.d.ts +31 -0
  429. package/bin/types/store/AgentStore.d.ts.map +1 -0
  430. package/bin/types/store/AgentStore.js +9 -0
  431. package/bin/types/store/AgentStore.js.map +1 -0
  432. package/bin/types/store/LocalStore.d.ts +36 -0
  433. package/bin/types/store/LocalStore.d.ts.map +1 -0
  434. package/bin/types/store/LocalStore.js +9 -0
  435. package/bin/types/store/LocalStore.js.map +1 -0
  436. package/bin/types/store/SessionStore.d.ts +82 -0
  437. package/bin/types/store/SessionStore.d.ts.map +1 -0
  438. package/bin/types/store/SessionStore.js +9 -0
  439. package/bin/types/store/SessionStore.js.map +1 -0
  440. package/bin/types/tools/ask/AskQuestionsTool.d.ts +22 -0
  441. package/bin/types/tools/ask/AskQuestionsTool.d.ts.map +1 -0
  442. package/bin/types/tools/ask/AskQuestionsTool.js +8 -0
  443. package/bin/types/tools/ask/AskQuestionsTool.js.map +1 -0
  444. package/bin/types/workspace/FileSystem.d.ts +55 -0
  445. package/bin/types/workspace/FileSystem.d.ts.map +1 -0
  446. package/bin/types/workspace/FileSystem.js +9 -0
  447. package/bin/types/workspace/FileSystem.js.map +1 -0
  448. package/bin/types/workspace/FileTool.d.ts +181 -0
  449. package/bin/types/workspace/FileTool.d.ts.map +1 -0
  450. package/bin/types/workspace/FileTool.js +10 -0
  451. package/bin/types/workspace/FileTool.js.map +1 -0
  452. package/bin/types/workspace/SearchTool.d.ts +131 -0
  453. package/bin/types/workspace/SearchTool.d.ts.map +1 -0
  454. package/bin/types/workspace/SearchTool.js +10 -0
  455. package/bin/types/workspace/SearchTool.js.map +1 -0
  456. package/bin/types/workspace/Workspace.d.ts +24 -0
  457. package/bin/types/workspace/Workspace.d.ts.map +1 -0
  458. package/bin/types/workspace/Workspace.js +9 -0
  459. package/bin/types/workspace/Workspace.js.map +1 -0
  460. package/bin/types/workspace/WorkspaceEnv.d.ts +16 -0
  461. package/bin/types/workspace/WorkspaceEnv.d.ts.map +1 -0
  462. package/bin/types/workspace/WorkspaceEnv.js +9 -0
  463. package/bin/types/workspace/WorkspaceEnv.js.map +1 -0
  464. package/bin/types/workspace/WorkspaceTools.d.ts +20 -0
  465. package/bin/types/workspace/WorkspaceTools.d.ts.map +1 -0
  466. package/bin/types/workspace/WorkspaceTools.js +9 -0
  467. package/bin/types/workspace/WorkspaceTools.js.map +1 -0
  468. package/bin/utils/Id.d.ts +1 -1
  469. package/bin/utils/Id.d.ts.map +1 -1
  470. package/bin/utils/Id.js +1 -1
  471. package/bin/utils/Id.js.map +1 -1
  472. package/bin/utils/Template.d.ts +1 -1
  473. package/bin/utils/Template.d.ts.map +1 -1
  474. package/bin/utils/Template.js +1 -1
  475. package/bin/utils/Template.js.map +1 -1
  476. package/bin/utils/Time.d.ts +5 -5
  477. package/bin/utils/Time.d.ts.map +1 -1
  478. package/bin/utils/Time.js +5 -5
  479. package/bin/utils/Time.js.map +1 -1
  480. package/bin/utils/cli/CliOutput.d.ts +1 -1
  481. package/bin/utils/cli/CliOutput.d.ts.map +1 -1
  482. package/bin/utils/cli/CliOutput.js +6 -6
  483. package/bin/utils/cli/CliOutput.js.map +1 -1
  484. package/bin/utils/cli/PrettyStatus.d.ts +3 -3
  485. package/bin/utils/cli/PrettyStatus.d.ts.map +1 -1
  486. package/bin/utils/cli/PrettyStatus.js +4 -4
  487. package/bin/utils/cli/PrettyStatus.js.map +1 -1
  488. package/bin/utils/logger/FormatRequest.d.ts +2 -2
  489. package/bin/utils/logger/FormatRequest.d.ts.map +1 -1
  490. package/bin/utils/logger/FormatRequest.js +49 -49
  491. package/bin/utils/logger/FormatRequest.js.map +1 -1
  492. package/bin/utils/logger/FormatResponse.d.ts +1 -1
  493. package/bin/utils/logger/FormatResponse.d.ts.map +1 -1
  494. package/bin/utils/logger/FormatResponse.js +36 -36
  495. package/bin/utils/logger/FormatResponse.js.map +1 -1
  496. package/bin/utils/logger/FormatShared.d.ts +16 -16
  497. package/bin/utils/logger/FormatShared.d.ts.map +1 -1
  498. package/bin/utils/logger/FormatShared.js +28 -28
  499. package/bin/utils/logger/FormatShared.js.map +1 -1
  500. package/bin/utils/logger/Logger.d.ts +15 -12
  501. package/bin/utils/logger/Logger.d.ts.map +1 -1
  502. package/bin/utils/logger/Logger.js +28 -26
  503. package/bin/utils/logger/Logger.js.map +1 -1
  504. package/bin/utils/object/DeepMerge.d.ts +1 -1
  505. package/bin/utils/object/DeepMerge.d.ts.map +1 -1
  506. package/bin/utils/object/DeepMerge.js +5 -5
  507. package/bin/utils/object/DeepMerge.js.map +1 -1
  508. package/bin/utils/object/ObjectGuards.d.ts +1 -1
  509. package/bin/utils/object/ObjectGuards.d.ts.map +1 -1
  510. package/bin/utils/object/ObjectGuards.js +1 -1
  511. package/bin/utils/object/ObjectGuards.js.map +1 -1
  512. package/bin/utils/path/AncestorFiles.d.ts +1 -1
  513. package/bin/utils/path/AncestorFiles.d.ts.map +1 -1
  514. package/bin/utils/path/AncestorFiles.js +2 -2
  515. package/bin/utils/path/AncestorFiles.js.map +1 -1
  516. package/bin/utils/storage/index.d.ts +2 -2
  517. package/bin/utils/storage/index.d.ts.map +1 -1
  518. package/bin/utils/storage/index.js +2 -2
  519. package/bin/utils/storage/index.js.map +1 -1
  520. package/bin/utils/string/EscapeRegExp.d.ts +1 -1
  521. package/bin/utils/string/EscapeRegExp.d.ts.map +1 -1
  522. package/bin/utils/string/EscapeRegExp.js +1 -1
  523. package/bin/utils/string/EscapeRegExp.js.map +1 -1
  524. package/bin/workspace/LocalFileSystem.d.ts +44 -0
  525. package/bin/workspace/LocalFileSystem.d.ts.map +1 -0
  526. package/bin/workspace/LocalFileSystem.js +153 -0
  527. package/bin/workspace/LocalFileSystem.js.map +1 -0
  528. package/bin/workspace/Workspace.d.ts +52 -0
  529. package/bin/workspace/Workspace.d.ts.map +1 -0
  530. package/bin/workspace/Workspace.js +153 -0
  531. package/bin/workspace/Workspace.js.map +1 -0
  532. package/bin/workspace/WorkspaceEnv.d.ts +19 -0
  533. package/bin/workspace/WorkspaceEnv.d.ts.map +1 -0
  534. package/bin/workspace/WorkspaceEnv.js +50 -0
  535. package/bin/workspace/WorkspaceEnv.js.map +1 -0
  536. package/bin/workspace/WorkspacePaths.d.ts +67 -0
  537. package/bin/workspace/WorkspacePaths.d.ts.map +1 -0
  538. package/bin/workspace/WorkspacePaths.js +102 -0
  539. package/bin/workspace/WorkspacePaths.js.map +1 -0
  540. package/bin/workspace/file/FileActionRuntime.d.ts +14 -0
  541. package/bin/workspace/file/FileActionRuntime.d.ts.map +1 -0
  542. package/bin/workspace/file/FileActionRuntime.js +386 -0
  543. package/bin/workspace/file/FileActionRuntime.js.map +1 -0
  544. package/bin/workspace/file/FileAtomicWriter.d.ts +20 -0
  545. package/bin/workspace/file/FileAtomicWriter.d.ts.map +1 -0
  546. package/bin/workspace/file/FileAtomicWriter.js +50 -0
  547. package/bin/workspace/file/FileAtomicWriter.js.map +1 -0
  548. package/bin/workspace/file/FileEncoding.d.ts +34 -0
  549. package/bin/workspace/file/FileEncoding.d.ts.map +1 -0
  550. package/bin/workspace/file/FileEncoding.js +152 -0
  551. package/bin/workspace/file/FileEncoding.js.map +1 -0
  552. package/bin/workspace/file/FilePathPolicy.d.ts +26 -0
  553. package/bin/workspace/file/FilePathPolicy.d.ts.map +1 -0
  554. package/bin/workspace/file/FilePathPolicy.js +134 -0
  555. package/bin/workspace/file/FilePathPolicy.js.map +1 -0
  556. package/bin/workspace/file/FileToolError.d.ts +30 -0
  557. package/bin/workspace/file/FileToolError.d.ts.map +1 -0
  558. package/bin/workspace/file/FileToolError.js +78 -0
  559. package/bin/workspace/file/FileToolError.js.map +1 -0
  560. package/bin/workspace/search/SearchActionRuntime.d.ts +14 -0
  561. package/bin/workspace/search/SearchActionRuntime.d.ts.map +1 -0
  562. package/bin/workspace/search/SearchActionRuntime.js +359 -0
  563. package/bin/workspace/search/SearchActionRuntime.js.map +1 -0
  564. package/bin/workspace/search/SearchToolError.d.ts +26 -0
  565. package/bin/workspace/search/SearchToolError.d.ts.map +1 -0
  566. package/bin/workspace/search/SearchToolError.js +76 -0
  567. package/bin/workspace/search/SearchToolError.js.map +1 -0
  568. package/bin/{session/messages → workspace/store}/JsonlSessionMessageStore.d.ts +4 -31
  569. package/bin/workspace/store/JsonlSessionMessageStore.d.ts.map +1 -0
  570. package/bin/{session/messages → workspace/store}/JsonlSessionMessageStore.js +28 -63
  571. package/bin/workspace/store/JsonlSessionMessageStore.js.map +1 -0
  572. package/bin/workspace/store/LocalAgentStore.d.ts +43 -0
  573. package/bin/workspace/store/LocalAgentStore.d.ts.map +1 -0
  574. package/bin/workspace/store/LocalAgentStore.js +135 -0
  575. package/bin/workspace/store/LocalAgentStore.js.map +1 -0
  576. package/bin/workspace/store/LocalSessionStore.d.ts +38 -0
  577. package/bin/workspace/store/LocalSessionStore.d.ts.map +1 -0
  578. package/bin/workspace/store/LocalSessionStore.js +70 -0
  579. package/bin/workspace/store/LocalSessionStore.js.map +1 -0
  580. package/bin/workspace/store/LocalStorePaths.d.ts +81 -0
  581. package/bin/workspace/store/LocalStorePaths.d.ts.map +1 -0
  582. package/bin/workspace/store/LocalStorePaths.js +112 -0
  583. package/bin/workspace/store/LocalStorePaths.js.map +1 -0
  584. package/bin/workspace/store/SessionMessageStoreFactory.d.ts +12 -0
  585. package/bin/workspace/store/SessionMessageStoreFactory.d.ts.map +1 -0
  586. package/bin/workspace/store/SessionMessageStoreFactory.js +13 -0
  587. package/bin/workspace/store/SessionMessageStoreFactory.js.map +1 -0
  588. package/bin/workspace/tool/FileToolSchemas.d.ts +35 -0
  589. package/bin/workspace/tool/FileToolSchemas.d.ts.map +1 -0
  590. package/bin/workspace/tool/FileToolSchemas.js +73 -0
  591. package/bin/workspace/tool/FileToolSchemas.js.map +1 -0
  592. package/bin/workspace/tool/FileTools.d.ts +11 -0
  593. package/bin/workspace/tool/FileTools.d.ts.map +1 -0
  594. package/bin/workspace/tool/FileTools.js +61 -0
  595. package/bin/workspace/tool/FileTools.js.map +1 -0
  596. package/bin/workspace/tool/SearchToolSchemas.d.ts +24 -0
  597. package/bin/workspace/tool/SearchToolSchemas.d.ts.map +1 -0
  598. package/bin/workspace/tool/SearchToolSchemas.js +60 -0
  599. package/bin/workspace/tool/SearchToolSchemas.js.map +1 -0
  600. package/bin/workspace/tool/SearchTools.d.ts +11 -0
  601. package/bin/workspace/tool/SearchTools.d.ts.map +1 -0
  602. package/bin/workspace/tool/SearchTools.js +38 -0
  603. package/bin/workspace/tool/SearchTools.js.map +1 -0
  604. package/bin/workspace/tool/WorkspaceTools.d.ts +11 -0
  605. package/bin/workspace/tool/WorkspaceTools.d.ts.map +1 -0
  606. package/bin/workspace/tool/WorkspaceTools.js +22 -0
  607. package/bin/workspace/tool/WorkspaceTools.js.map +1 -0
  608. package/package.json +11 -6
  609. package/scripts/action-schedule-store.test.mjs +101 -0
  610. package/scripts/agent-env-shell-sandbox.test.mjs +9 -19
  611. package/scripts/agent-env.test.mjs +10 -39
  612. package/scripts/agent-ready.test.mjs +16 -11
  613. package/scripts/agent-session-maintenance.test.mjs +9 -7
  614. package/scripts/agent-store.test.mjs +83 -0
  615. package/scripts/city-model-tool-loop.test.mjs +48 -22
  616. package/scripts/core-engine-context-compaction.test.mjs +29 -26
  617. package/scripts/core-engine-ui-stream-collector.test.mjs +4 -4
  618. package/scripts/executor-failure-result.test.mjs +36 -33
  619. package/scripts/file-tools.test.mjs +282 -0
  620. package/scripts/image-plugin-job.test.mjs +43 -34
  621. package/scripts/logger-isolation.test.mjs +6 -6
  622. package/scripts/multi-agent-plugin-isolation.test.mjs +8 -8
  623. package/scripts/{plugin-tool-bridge.test.mjs → plugin-tools.test.mjs} +106 -102
  624. package/scripts/public-api-naming.test.mjs +108 -0
  625. package/scripts/remote-session-reconnect.test.mjs +78 -9
  626. package/scripts/search-tools.test.mjs +188 -0
  627. package/scripts/session-ask-question.test.mjs +216 -0
  628. package/scripts/session-compact-handle.test.mjs +117 -0
  629. package/scripts/session-composer.test.mjs +7 -5
  630. package/scripts/session-config-turn-boundary.test.mjs +177 -43
  631. package/scripts/session-list-title.test.mjs +23 -23
  632. package/scripts/session-message-timeline.test.mjs +65 -0
  633. package/scripts/session-messages-error.test.mjs +0 -1
  634. package/scripts/session-messages.test.mjs +305 -68
  635. package/scripts/session-queue.test.mjs +75 -40
  636. package/scripts/session-shell-approval.test.mjs +25 -22
  637. package/scripts/session-system-blocks.test.mjs +3 -3
  638. package/scripts/session-title-event.test.mjs +7 -7
  639. package/scripts/session-turn-context.test.mjs +99 -0
  640. package/scripts/session-turn-failure.test.mjs +158 -38
  641. package/scripts/workspace.test.mjs +146 -0
  642. package/src/agent/Agent.ts +159 -109
  643. package/src/agent/AgentInstructions.ts +2 -2
  644. package/src/agent/AgentModel.ts +2 -2
  645. package/src/agent/AgentSessions.ts +50 -148
  646. package/src/agent/AgentState.ts +8 -63
  647. package/src/executor/Executor.ts +120 -226
  648. package/src/executor/README.md +13 -11
  649. package/src/executor/composer/system/SessionSystemComposer.ts +2 -2
  650. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +24 -24
  651. package/src/executor/composer/system/default/PromptRenderer.ts +4 -4
  652. package/src/executor/composer/system/default/SystemDomain.ts +68 -68
  653. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  654. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +1 -1
  655. package/src/executor/composer/system/default/variables/GeoContext.ts +4 -4
  656. package/src/executor/composer/system/default/variables/PromptTypes.ts +2 -2
  657. package/src/executor/composer/system/default/variables/VariableReplacer.ts +30 -30
  658. package/src/executor/core-engine/CoreEngineError.ts +2 -2
  659. package/src/executor/core-engine/CoreEngineLoopDecision.ts +2 -2
  660. package/src/executor/core-engine/CoreEngineMessageState.ts +16 -16
  661. package/src/executor/core-engine/CoreEngineRunner.ts +124 -134
  662. package/src/executor/core-engine/CoreEngineSignals.ts +24 -24
  663. package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +18 -18
  664. package/src/executor/ids/resolveSessionId.ts +5 -5
  665. package/src/executor/messages/ChatMessageMarkup.ts +23 -23
  666. package/src/executor/messages/ChatMessageMarkupTypes.ts +10 -10
  667. package/src/executor/messages/SessionAttachmentMapper.ts +14 -14
  668. package/src/executor/messages/SessionMessageCodec.ts +17 -27
  669. package/src/executor/messages/SessionMessageLog.ts +3 -3
  670. package/src/executor/messages/SessionStepEventMapper.ts +9 -9
  671. package/src/executor/messages/UIMessageTransformer.ts +6 -6
  672. package/src/executor/messages/UserVisibleText.ts +6 -6
  673. package/src/executor/services/ExecutorRecoveryPolicy.ts +33 -32
  674. package/src/executor/types/SessionHistoryMeta.ts +10 -10
  675. package/src/executor/types/SessionRecords.ts +13 -13
  676. package/src/index.ts +108 -184
  677. package/src/plugin/core/ActionScheduleExecutor.ts +21 -23
  678. package/src/plugin/core/ActionScheduleRuntime.ts +8 -8
  679. package/src/plugin/core/ActionScheduleStore.ts +140 -128
  680. package/src/plugin/core/ActionScheduleTime.ts +6 -6
  681. package/src/plugin/core/BasePlugin.ts +6 -27
  682. package/src/plugin/core/HookRegistry.ts +56 -56
  683. package/src/plugin/core/PluginActionFactory.ts +20 -38
  684. package/src/plugin/core/PluginActionRunner.ts +21 -181
  685. package/src/plugin/core/PluginCatalog.ts +23 -23
  686. package/src/plugin/core/PluginContext.ts +52 -0
  687. package/src/plugin/core/PluginHttpRoutes.ts +8 -8
  688. package/src/plugin/core/PluginRegistry.ts +125 -88
  689. package/src/plugin/core/PluginStateController.ts +5 -47
  690. package/src/plugin/tool/PluginToolRuntime.ts +121 -0
  691. package/src/{executor/tools/plugin → plugin/tool}/PluginToolSchemas.ts +1 -1
  692. package/src/{executor/tools/plugin/PluginToolDefinition.ts → plugin/tool/PluginTools.ts} +25 -27
  693. package/src/plugin/types/ActionSchedule.ts +10 -10
  694. package/src/plugin/types/PluginApi.ts +3 -3
  695. package/src/remote/RemoteAgent.ts +3 -3
  696. package/src/remote/RemoteSession.ts +110 -28
  697. package/src/remote/RemoteTransport.ts +17 -20
  698. package/src/remote/transports/HttpRemoteAgentTransport.ts +59 -59
  699. package/src/remote/transports/RpcClient.ts +65 -106
  700. package/src/remote/transports/RpcRemoteAgentTransport.ts +21 -21
  701. package/src/session/DefaultSessionComposer.ts +2 -3
  702. package/src/session/Session.ts +352 -298
  703. package/src/session/SessionCommand.ts +42 -0
  704. package/src/session/SessionLoop.ts +661 -0
  705. package/src/session/SessionMessages.ts +141 -94
  706. package/src/session/SessionQueue.ts +31 -64
  707. package/src/session/SessionState.ts +48 -116
  708. package/src/session/SessionSystem.ts +7 -7
  709. package/src/session/SessionTitle.ts +24 -39
  710. package/src/session/browse/Browse.ts +160 -384
  711. package/src/session/browse/SessionMessageTimeline.ts +135 -0
  712. package/src/session/control/SessionInteractions.ts +290 -0
  713. package/src/session/execution/SessionAssistantOutputAdapter.ts +144 -0
  714. package/src/session/execution/tools/SessionShellApprovalAdapter.ts +94 -0
  715. package/src/session/messages/SessionAssistantMessageWriter.ts +33 -21
  716. package/src/session/messages/SessionJsonValue.ts +3 -3
  717. package/src/session/messages/SessionMessageCodec.ts +29 -84
  718. package/src/session/messages/SessionMessageCompaction.ts +2 -2
  719. package/src/session/messages/SessionMessageInteractionWriter.ts +277 -0
  720. package/src/session/preview/SessionMessagePreview.ts +2 -2
  721. package/src/session/runtime/SessionCompactOperation.ts +93 -0
  722. package/src/session/runtime/SessionHistoryCompaction.ts +45 -0
  723. package/src/session/runtime/SessionTurnContext.ts +222 -0
  724. package/src/session/storage/Metadata.ts +46 -195
  725. package/src/session/storage/RuntimeSessionPort.ts +13 -13
  726. package/src/tools/ask/AskQuestionsTool.ts +85 -0
  727. package/src/tools/ask/AskQuestionsToolSchemas.ts +55 -0
  728. package/src/tools/index.ts +12 -0
  729. package/src/types/action/ActionResult.ts +36 -0
  730. package/src/types/agent/AgentOptions.ts +13 -25
  731. package/src/types/agent/AgentState.ts +4 -15
  732. package/src/types/agent/RemoteAgentPluginAction.ts +2 -2
  733. package/src/types/agent/SessionActor.ts +21 -20
  734. package/src/types/agent/SessionTypes.ts +74 -94
  735. package/src/types/executor/SessionAssistantOutput.ts +35 -0
  736. package/src/types/executor/SessionToolExecutionContext.ts +5 -5
  737. package/src/types/executor/SessionTurnContext.ts +171 -0
  738. package/src/types/plugin/PluginAction.ts +13 -10
  739. package/src/types/plugin/PluginCommand.ts +8 -70
  740. package/src/types/plugin/PluginContext.ts +43 -0
  741. package/src/types/plugin/PluginDefinition.ts +8 -35
  742. package/src/types/plugin/PluginExecutionContext.ts +34 -0
  743. package/src/types/plugin/PluginHttp.ts +5 -5
  744. package/src/types/plugin/PluginRegistry.ts +25 -0
  745. package/src/types/plugin/PluginRuntime.ts +30 -43
  746. package/src/types/plugin/PluginState.ts +0 -17
  747. package/src/{executor/tools/plugin/types → types/plugin}/PluginTool.ts +42 -20
  748. package/src/types/rpc/RpcProtocol.ts +49 -74
  749. package/src/types/sdk/AgentSessionCompact.ts +36 -0
  750. package/src/types/sdk/AgentSessionPrompt.ts +1 -1
  751. package/src/types/sdk/AgentSessionStop.ts +2 -2
  752. package/src/types/sdk/AgentSessionTurn.ts +3 -15
  753. package/src/types/session/SessionCommand.ts +27 -0
  754. package/src/types/session/SessionComposer.ts +8 -4
  755. package/src/{executor/types/SessionRun.ts → types/session/SessionExecution.ts} +41 -34
  756. package/src/types/session/SessionInteraction.ts +209 -0
  757. package/src/types/session/SessionInteractions.ts +21 -0
  758. package/src/types/session/SessionLocalState.ts +1 -1
  759. package/src/types/session/SessionLoop.ts +72 -0
  760. package/src/types/session/SessionMessage.ts +43 -28
  761. package/src/types/session/SessionMessages.ts +2 -4
  762. package/src/types/session/SessionMutation.ts +21 -0
  763. package/src/types/session/SessionOptions.ts +38 -23
  764. package/src/types/session/SessionPort.ts +6 -24
  765. package/src/types/session/SessionState.ts +3 -16
  766. package/src/types/store/AgentStore.ts +52 -0
  767. package/src/types/store/LocalStore.ts +39 -0
  768. package/src/types/store/SessionStore.ts +105 -0
  769. package/src/types/tools/ask/AskQuestionsTool.ts +27 -0
  770. package/src/types/workspace/FileSystem.ts +76 -0
  771. package/src/types/workspace/FileTool.ts +225 -0
  772. package/src/types/workspace/SearchTool.ts +156 -0
  773. package/src/types/workspace/Workspace.ts +27 -0
  774. package/src/types/workspace/WorkspaceEnv.ts +19 -0
  775. package/src/types/workspace/WorkspaceTools.ts +23 -0
  776. package/src/utils/Id.ts +1 -1
  777. package/src/utils/Template.ts +1 -1
  778. package/src/utils/Time.ts +8 -8
  779. package/src/utils/cli/CliOutput.ts +7 -7
  780. package/src/utils/cli/PrettyStatus.ts +4 -4
  781. package/src/utils/logger/FormatRequest.ts +64 -64
  782. package/src/utils/logger/FormatResponse.ts +44 -44
  783. package/src/utils/logger/FormatShared.ts +28 -28
  784. package/src/utils/logger/Logger.ts +30 -26
  785. package/src/utils/object/DeepMerge.ts +5 -5
  786. package/src/utils/object/ObjectGuards.ts +1 -1
  787. package/src/utils/path/AncestorFiles.ts +3 -3
  788. package/src/utils/storage/index.ts +2 -2
  789. package/src/utils/string/EscapeRegExp.ts +1 -1
  790. package/src/workspace/LocalFileSystem.ts +209 -0
  791. package/src/workspace/Workspace.ts +180 -0
  792. package/src/workspace/WorkspaceEnv.ts +54 -0
  793. package/src/workspace/WorkspacePaths.ts +112 -0
  794. package/src/workspace/file/FileActionRuntime.ts +433 -0
  795. package/src/workspace/file/FileAtomicWriter.ts +61 -0
  796. package/src/workspace/file/FileEncoding.ts +175 -0
  797. package/src/workspace/file/FilePathPolicy.ts +162 -0
  798. package/src/workspace/file/FileToolError.ts +99 -0
  799. package/src/workspace/search/SearchActionRuntime.ts +438 -0
  800. package/src/workspace/search/SearchToolError.ts +94 -0
  801. package/src/{session/messages → workspace/store}/JsonlSessionMessageStore.ts +40 -91
  802. package/src/workspace/store/LocalAgentStore.ts +191 -0
  803. package/src/workspace/store/LocalSessionStore.ts +114 -0
  804. package/src/workspace/store/LocalStorePaths.ts +209 -0
  805. package/src/workspace/store/SessionMessageStoreFactory.ts +18 -0
  806. package/src/workspace/tool/FileToolSchemas.ts +77 -0
  807. package/src/workspace/tool/FileTools.ts +91 -0
  808. package/src/workspace/tool/SearchToolSchemas.ts +62 -0
  809. package/src/workspace/tool/SearchTools.ts +61 -0
  810. package/src/workspace/tool/WorkspaceTools.ts +31 -0
  811. package/tsconfig.tsbuildinfo +1 -1
  812. package/bin/agent/AgentContext.d.ts +0 -69
  813. package/bin/agent/AgentContext.d.ts.map +0 -1
  814. package/bin/agent/AgentContext.js +0 -56
  815. package/bin/agent/AgentContext.js.map +0 -1
  816. package/bin/config/AgentEnv.d.ts +0 -9
  817. package/bin/config/AgentEnv.d.ts.map +0 -1
  818. package/bin/config/AgentEnv.js +0 -48
  819. package/bin/config/AgentEnv.js.map +0 -1
  820. package/bin/config/AgentInitializer.d.ts +0 -31
  821. package/bin/config/AgentInitializer.d.ts.map +0 -1
  822. package/bin/config/AgentInitializer.js +0 -131
  823. package/bin/config/AgentInitializer.js.map +0 -1
  824. package/bin/config/EnvFile.d.ts +0 -31
  825. package/bin/config/EnvFile.d.ts.map +0 -1
  826. package/bin/config/EnvFile.js +0 -89
  827. package/bin/config/EnvFile.js.map +0 -1
  828. package/bin/config/ExecutionBinding.d.ts +0 -31
  829. package/bin/config/ExecutionBinding.d.ts.map +0 -1
  830. package/bin/config/ExecutionBinding.js +0 -46
  831. package/bin/config/ExecutionBinding.js.map +0 -1
  832. package/bin/config/Gitignore.d.ts +0 -21
  833. package/bin/config/Gitignore.d.ts.map +0 -1
  834. package/bin/config/Gitignore.js +0 -46
  835. package/bin/config/Gitignore.js.map +0 -1
  836. package/bin/config/Paths.d.ts +0 -122
  837. package/bin/config/Paths.d.ts.map +0 -1
  838. package/bin/config/Paths.js +0 -183
  839. package/bin/config/Paths.js.map +0 -1
  840. package/bin/config/PlatformPaths.d.ts +0 -31
  841. package/bin/config/PlatformPaths.d.ts.map +0 -1
  842. package/bin/config/PlatformPaths.js +0 -53
  843. package/bin/config/PlatformPaths.js.map +0 -1
  844. package/bin/config/ProjectSetup.d.ts +0 -11
  845. package/bin/config/ProjectSetup.d.ts.map +0 -1
  846. package/bin/config/ProjectSetup.js +0 -32
  847. package/bin/config/ProjectSetup.js.map +0 -1
  848. package/bin/executor/messages/AssistantFileResource.d.ts +0 -63
  849. package/bin/executor/messages/AssistantFileResource.d.ts.map +0 -1
  850. package/bin/executor/messages/AssistantFileResource.js +0 -352
  851. package/bin/executor/messages/AssistantFileResource.js.map +0 -1
  852. package/bin/executor/tools/file/ReadImageToolBridge.d.ts +0 -21
  853. package/bin/executor/tools/file/ReadImageToolBridge.d.ts.map +0 -1
  854. package/bin/executor/tools/file/ReadImageToolBridge.js +0 -69
  855. package/bin/executor/tools/file/ReadImageToolBridge.js.map +0 -1
  856. package/bin/executor/tools/plugin/PluginToolBridge.d.ts +0 -19
  857. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +0 -1
  858. package/bin/executor/tools/plugin/PluginToolBridge.js +0 -181
  859. package/bin/executor/tools/plugin/PluginToolBridge.js.map +0 -1
  860. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts +0 -25
  861. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +0 -1
  862. package/bin/executor/tools/plugin/PluginToolDefinition.js.map +0 -1
  863. package/bin/executor/tools/plugin/PluginToolSchemas.d.ts.map +0 -1
  864. package/bin/executor/tools/plugin/PluginToolSchemas.js.map +0 -1
  865. package/bin/executor/tools/plugin/types/PluginTool.d.ts +0 -76
  866. package/bin/executor/tools/plugin/types/PluginTool.d.ts.map +0 -1
  867. package/bin/executor/tools/plugin/types/PluginTool.js.map +0 -1
  868. package/bin/executor/types/SessionExecutor.d.ts +0 -26
  869. package/bin/executor/types/SessionExecutor.d.ts.map +0 -1
  870. package/bin/executor/types/SessionExecutor.js +0 -9
  871. package/bin/executor/types/SessionExecutor.js.map +0 -1
  872. package/bin/executor/types/SessionRun.d.ts.map +0 -1
  873. package/bin/executor/types/SessionRun.js +0 -10
  874. package/bin/executor/types/SessionRun.js.map +0 -1
  875. package/bin/plugin/core/PluginCommand.d.ts +0 -17
  876. package/bin/plugin/core/PluginCommand.d.ts.map +0 -1
  877. package/bin/plugin/core/PluginCommand.js +0 -189
  878. package/bin/plugin/core/PluginCommand.js.map +0 -1
  879. package/bin/plugin/core/PluginCommandRequest.d.ts +0 -36
  880. package/bin/plugin/core/PluginCommandRequest.d.ts.map +0 -1
  881. package/bin/plugin/core/PluginCommandRequest.js +0 -53
  882. package/bin/plugin/core/PluginCommandRequest.js.map +0 -1
  883. package/bin/plugin/core/PluginLocalExecution.d.ts +0 -45
  884. package/bin/plugin/core/PluginLocalExecution.d.ts.map +0 -1
  885. package/bin/plugin/core/PluginLocalExecution.js +0 -115
  886. package/bin/plugin/core/PluginLocalExecution.js.map +0 -1
  887. package/bin/session/SessionTurn.d.ts +0 -84
  888. package/bin/session/SessionTurn.d.ts.map +0 -1
  889. package/bin/session/SessionTurn.js +0 -579
  890. package/bin/session/SessionTurn.js.map +0 -1
  891. package/bin/session/approval/SessionApprovalBroker.d.ts +0 -48
  892. package/bin/session/approval/SessionApprovalBroker.d.ts.map +0 -1
  893. package/bin/session/approval/SessionApprovalBroker.js +0 -126
  894. package/bin/session/approval/SessionApprovalBroker.js.map +0 -1
  895. package/bin/session/messages/JsonlSessionMessageStore.d.ts.map +0 -1
  896. package/bin/session/messages/JsonlSessionMessageStore.js.map +0 -1
  897. package/bin/session/storage/Instruction.d.ts +0 -16
  898. package/bin/session/storage/Instruction.d.ts.map +0 -1
  899. package/bin/session/storage/Instruction.js +0 -48
  900. package/bin/session/storage/Instruction.js.map +0 -1
  901. package/bin/session/storage/Paths.d.ts +0 -81
  902. package/bin/session/storage/Paths.d.ts.map +0 -1
  903. package/bin/session/storage/Paths.js +0 -112
  904. package/bin/session/storage/Paths.js.map +0 -1
  905. package/bin/types/common/EnvFile.d.ts +0 -30
  906. package/bin/types/common/EnvFile.d.ts.map +0 -1
  907. package/bin/types/common/EnvFile.js +0 -10
  908. package/bin/types/common/EnvFile.js.map +0 -1
  909. package/bin/types/config/AgentProject.d.ts +0 -73
  910. package/bin/types/config/AgentProject.d.ts.map +0 -1
  911. package/bin/types/config/AgentProject.js +0 -9
  912. package/bin/types/config/AgentProject.js.map +0 -1
  913. package/bin/types/config/DowncityConfig.d.ts +0 -145
  914. package/bin/types/config/DowncityConfig.d.ts.map +0 -1
  915. package/bin/types/config/DowncityConfig.js +0 -2
  916. package/bin/types/config/DowncityConfig.js.map +0 -1
  917. package/bin/types/config/ExecutionBinding.d.ts +0 -26
  918. package/bin/types/config/ExecutionBinding.d.ts.map +0 -1
  919. package/bin/types/config/ExecutionBinding.js +0 -10
  920. package/bin/types/config/ExecutionBinding.js.map +0 -1
  921. package/bin/types/config/LlmConfig.d.ts +0 -100
  922. package/bin/types/config/LlmConfig.d.ts.map +0 -1
  923. package/bin/types/config/LlmConfig.js +0 -10
  924. package/bin/types/config/LlmConfig.js.map +0 -1
  925. package/bin/types/executor/SessionRunContext.d.ts +0 -155
  926. package/bin/types/executor/SessionRunContext.d.ts.map +0 -1
  927. package/bin/types/executor/SessionRunContext.js +0 -10
  928. package/bin/types/executor/SessionRunContext.js.map +0 -1
  929. package/bin/types/platform/Store.d.ts +0 -191
  930. package/bin/types/platform/Store.d.ts.map +0 -1
  931. package/bin/types/platform/Store.js +0 -9
  932. package/bin/types/platform/Store.js.map +0 -1
  933. package/bin/types/plugin/PluginConfig.d.ts +0 -12
  934. package/bin/types/plugin/PluginConfig.d.ts.map +0 -1
  935. package/bin/types/plugin/PluginConfig.js +0 -5
  936. package/bin/types/plugin/PluginConfig.js.map +0 -1
  937. package/bin/types/plugin/PluginControl.d.ts +0 -74
  938. package/bin/types/plugin/PluginControl.d.ts.map +0 -1
  939. package/bin/types/plugin/PluginControl.js +0 -9
  940. package/bin/types/plugin/PluginControl.js.map +0 -1
  941. package/bin/types/plugin/PluginRunContext.d.ts +0 -26
  942. package/bin/types/plugin/PluginRunContext.d.ts.map +0 -1
  943. package/bin/types/plugin/PluginRunContext.js.map +0 -1
  944. package/bin/types/plugin/PluginSetup.d.ts +0 -133
  945. package/bin/types/plugin/PluginSetup.d.ts.map +0 -1
  946. package/bin/types/plugin/PluginSetup.js +0 -9
  947. package/bin/types/plugin/PluginSetup.js.map +0 -1
  948. package/bin/types/plugin/PluginToolRuntime.d.ts +0 -86
  949. package/bin/types/plugin/PluginToolRuntime.d.ts.map +0 -1
  950. package/bin/types/plugin/PluginToolRuntime.js +0 -9
  951. package/bin/types/plugin/PluginToolRuntime.js.map +0 -1
  952. package/bin/types/runtime/auth/AuthPermission.d.ts +0 -49
  953. package/bin/types/runtime/auth/AuthPermission.d.ts.map +0 -1
  954. package/bin/types/runtime/auth/AuthPermission.js +0 -87
  955. package/bin/types/runtime/auth/AuthPermission.js.map +0 -1
  956. package/bin/types/runtime/auth/AuthRoute.d.ts +0 -29
  957. package/bin/types/runtime/auth/AuthRoute.d.ts.map +0 -1
  958. package/bin/types/runtime/auth/AuthRoute.js +0 -8
  959. package/bin/types/runtime/auth/AuthRoute.js.map +0 -1
  960. package/bin/types/runtime/auth/AuthToken.d.ts +0 -46
  961. package/bin/types/runtime/auth/AuthToken.d.ts.map +0 -1
  962. package/bin/types/runtime/auth/AuthToken.js +0 -9
  963. package/bin/types/runtime/auth/AuthToken.js.map +0 -1
  964. package/bin/types/runtime/auth/AuthTypes.d.ts +0 -227
  965. package/bin/types/runtime/auth/AuthTypes.d.ts.map +0 -1
  966. package/bin/types/runtime/auth/AuthTypes.js +0 -9
  967. package/bin/types/runtime/auth/AuthTypes.js.map +0 -1
  968. package/bin/types/runtime/http/InlineInstant.d.ts +0 -82
  969. package/bin/types/runtime/http/InlineInstant.d.ts.map +0 -1
  970. package/bin/types/runtime/http/InlineInstant.js +0 -10
  971. package/bin/types/runtime/http/InlineInstant.js.map +0 -1
  972. package/bin/types/runtime/platform/Platform.d.ts +0 -362
  973. package/bin/types/runtime/platform/Platform.d.ts.map +0 -1
  974. package/bin/types/runtime/platform/Platform.js +0 -10
  975. package/bin/types/runtime/platform/Platform.js.map +0 -1
  976. package/bin/types/runtime/platform/PlatformGateway.d.ts +0 -41
  977. package/bin/types/runtime/platform/PlatformGateway.d.ts.map +0 -1
  978. package/bin/types/runtime/platform/PlatformGateway.js +0 -2
  979. package/bin/types/runtime/platform/PlatformGateway.js.map +0 -1
  980. package/bin/types/session/SessionApproval.d.ts +0 -63
  981. package/bin/types/session/SessionApproval.d.ts.map +0 -1
  982. package/bin/types/session/SessionApproval.js +0 -7
  983. package/bin/types/session/SessionApproval.js.map +0 -1
  984. package/bin/types/session/SessionApprovalBroker.d.ts +0 -17
  985. package/bin/types/session/SessionApprovalBroker.d.ts.map +0 -1
  986. package/bin/types/session/SessionApprovalBroker.js +0 -7
  987. package/bin/types/session/SessionApprovalBroker.js.map +0 -1
  988. package/bin/types/session/SessionInstruction.d.ts +0 -22
  989. package/bin/types/session/SessionInstruction.d.ts.map +0 -1
  990. package/bin/types/session/SessionInstruction.js +0 -9
  991. package/bin/types/session/SessionInstruction.js.map +0 -1
  992. package/bin/types/session/SessionQueue.d.ts +0 -88
  993. package/bin/types/session/SessionQueue.d.ts.map +0 -1
  994. package/bin/types/session/SessionQueue.js +0 -7
  995. package/bin/types/session/SessionQueue.js.map +0 -1
  996. package/bin/types/session/SessionTurn.d.ts +0 -52
  997. package/bin/types/session/SessionTurn.d.ts.map +0 -1
  998. package/bin/types/session/SessionTurn.js.map +0 -1
  999. package/scripts/assistant-file-resource.test.mjs +0 -344
  1000. package/scripts/read-image-tool-bridge.test.mjs +0 -71
  1001. package/src/agent/AgentContext.ts +0 -98
  1002. package/src/config/AgentEnv.ts +0 -49
  1003. package/src/config/AgentInitializer.ts +0 -167
  1004. package/src/config/EnvFile.ts +0 -99
  1005. package/src/config/ExecutionBinding.ts +0 -50
  1006. package/src/config/Gitignore.ts +0 -52
  1007. package/src/config/Paths.ts +0 -241
  1008. package/src/config/PlatformPaths.ts +0 -57
  1009. package/src/config/ProjectSetup.ts +0 -44
  1010. package/src/executor/messages/AssistantFileResource.ts +0 -446
  1011. package/src/executor/tools/file/ReadImageToolBridge.ts +0 -79
  1012. package/src/executor/tools/plugin/PluginToolBridge.ts +0 -212
  1013. package/src/executor/types/SessionExecutor.ts +0 -34
  1014. package/src/plugin/core/PluginCommand.ts +0 -230
  1015. package/src/plugin/core/PluginCommandRequest.ts +0 -93
  1016. package/src/plugin/core/PluginLocalExecution.ts +0 -154
  1017. package/src/session/SessionTurn.ts +0 -669
  1018. package/src/session/approval/SessionApprovalBroker.ts +0 -164
  1019. package/src/session/storage/Instruction.ts +0 -72
  1020. package/src/session/storage/Paths.ts +0 -209
  1021. package/src/types/common/EnvFile.ts +0 -31
  1022. package/src/types/config/AgentProject.ts +0 -85
  1023. package/src/types/config/DowncityConfig.ts +0 -153
  1024. package/src/types/config/ExecutionBinding.ts +0 -27
  1025. package/src/types/config/LlmConfig.ts +0 -115
  1026. package/src/types/executor/SessionRunContext.ts +0 -191
  1027. package/src/types/platform/Store.ts +0 -197
  1028. package/src/types/plugin/PluginConfig.ts +0 -13
  1029. package/src/types/plugin/PluginControl.ts +0 -80
  1030. package/src/types/plugin/PluginRunContext.ts +0 -31
  1031. package/src/types/plugin/PluginSetup.ts +0 -138
  1032. package/src/types/plugin/PluginToolRuntime.ts +0 -98
  1033. package/src/types/runtime/auth/AuthPermission.ts +0 -120
  1034. package/src/types/runtime/auth/AuthRoute.ts +0 -31
  1035. package/src/types/runtime/auth/AuthToken.ts +0 -47
  1036. package/src/types/runtime/auth/AuthTypes.ts +0 -235
  1037. package/src/types/runtime/http/InlineInstant.ts +0 -96
  1038. package/src/types/runtime/platform/Platform.ts +0 -432
  1039. package/src/types/runtime/platform/PlatformGateway.ts +0 -46
  1040. package/src/types/session/SessionApproval.ts +0 -69
  1041. package/src/types/session/SessionApprovalBroker.ts +0 -18
  1042. package/src/types/session/SessionInstruction.ts +0 -24
  1043. package/src/types/session/SessionQueue.ts +0 -102
  1044. package/src/types/session/SessionTurn.ts +0 -56
  1045. /package/bin/{executor/tools/plugin/types → types/plugin}/PluginTool.js +0 -0
@@ -8,73 +8,48 @@
8
8
  * - 这里不持有运行态状态;执行状态等动态信息通过调用参数显式注入。
9
9
  */
10
10
 
11
- import fs from "fs-extra";
12
11
  import path from "node:path";
13
- import {
14
- getToolName,
15
- isTextUIPart,
16
- isToolUIPart,
17
- type UIMessagePart,
18
- } from "ai";
19
12
  import type {
20
13
  AgentListSessionsInput,
21
- AgentSessionRecordsInput,
22
- AgentSessionRecordsPage,
23
- AgentSessionRecordsView,
24
14
  AgentSessionInfo,
25
15
  AgentSessionSummary,
26
16
  AgentSessionSummaryPage,
27
- AgentSessionTimelineEvent,
28
17
  } from "@/types/agent/SessionTypes.js";
29
18
  import type {
30
- SessionActionRecordV1,
31
19
  SessionRecordV1,
32
20
  SessionMetadataV1,
33
- SessionMessageRecordV1,
34
- } from "@/executor/types/SessionRecords.js";
35
- import {
36
- is_session_action_record,
37
- is_session_message_record,
38
21
  } from "@/executor/types/SessionRecords.js";
22
+ import { is_session_message_record } from "@/executor/types/SessionRecords.js";
39
23
  import type { SessionHistoryMetaV1 } from "@/executor/types/SessionHistoryMeta.js";
40
24
  import { resolve_session_message_preview } from "@/session/preview/SessionMessagePreview.js";
41
- import { getSdkAgentSessionMessagesPath } from "@/session/storage/Paths.js";
42
- import { getSdkAgentSessionMetaPath } from "@/session/storage/Paths.js";
43
- import { getSdkAgentSessionsRootDirPath } from "@/session/storage/Paths.js";
44
- import { getSdkAgentArchivedSessionsDirPath } from "@/session/storage/Paths.js";
45
- import { getSdkAgentArchivedSessionMessagesPath } from "@/session/storage/Paths.js";
46
- import { getSdkAgentArchivedSessionMetaPath } from "@/session/storage/Paths.js";
47
- import { readSessionMetadataFromPath } from "@/session/storage/Metadata.js";
25
+ import {
26
+ get_sdk_agent_archived_session_messages_path,
27
+ get_sdk_agent_archived_session_meta_path,
28
+ get_sdk_agent_archived_sessions_dir_path,
29
+ get_sdk_agent_session_messages_path,
30
+ get_sdk_agent_session_meta_path,
31
+ get_sdk_agent_sessions_root_dir_path,
32
+ } from "@/workspace/store/LocalStorePaths.js";
33
+ import { read_session_metadata_from_path } from "@/session/storage/Metadata.js";
48
34
  import { to_executor_ui_message } from "@/session/messages/SessionMessageCodec.js";
49
35
  import type { SessionMessage } from "@/types/session/SessionMessage.js";
50
-
51
- type AnyUiPart = UIMessagePart<Record<string, never>, Record<string, never>>;
52
-
53
- type ToolPartCompatShape = {
54
- type?: unknown;
55
- state?: unknown;
56
- input?: unknown;
57
- output?: unknown;
58
- errorText?: unknown;
59
- error?: unknown;
60
- approval?: { reason?: unknown } | null;
61
- };
36
+ import type { FileSystem } from "@/types/workspace/FileSystem.js";
62
37
 
63
38
  type SessionBrowseBaseInput = {
64
39
  /**
65
40
  * 当前项目根目录。
66
41
  */
67
- projectRoot: string;
42
+ project_root: string;
68
43
 
69
44
  /**
70
- * 当前 agentId
45
+ * 当前 agent_id
71
46
  */
72
- agentId: string;
47
+ agent_id: string;
73
48
 
74
49
  /**
75
- * 当前 sessionId
50
+ * 当前 session_id
76
51
  */
77
- sessionId: string;
52
+ session_id: string;
78
53
 
79
54
  /**
80
55
  * 当前 session 已读取到的 metadata。
@@ -133,190 +108,16 @@ function encodeCursor(offset: number): string | undefined {
133
108
  return String(Math.floor(offset));
134
109
  }
135
110
 
136
- function stringifyForDisplay(input: unknown, maxChars = 2400): string {
137
- if (input === undefined) return "";
138
- if (input === null) return "null";
139
- if (typeof input === "string") {
140
- const value = input.trim();
141
- if (!value) return "";
142
- try {
143
- const parsed = JSON.parse(value);
144
- return truncateText(JSON.stringify(parsed, null, 2), maxChars);
145
- } catch {
146
- return truncateText(value, maxChars);
147
- }
148
- }
149
- if (typeof input === "number" || typeof input === "boolean") {
150
- return truncateText(String(input), maxChars);
151
- }
152
- try {
153
- return truncateText(JSON.stringify(input, null, 2), maxChars);
154
- } catch {
155
- return truncateText(String(input), maxChars);
156
- }
157
- }
158
-
159
- function resolveToolName(part: ToolPartCompatShape, aiToolName?: string): string {
160
- const fromAi = String(aiToolName || "").trim();
161
- if (fromAi) return fromAi;
162
- const rawType = typeof part.type === "string" ? part.type.trim() : "";
163
- if (rawType.startsWith("tool-")) return rawType.slice("tool-".length);
164
- return "unknown_tool";
165
- }
166
-
167
- function extractToolCallInput(part: ToolPartCompatShape): unknown {
168
- return part.input ?? undefined;
169
- }
170
-
171
- function extractToolResultOutput(part: ToolPartCompatShape): unknown {
172
- const state = typeof part.state === "string" ? part.state.trim() : "";
173
- if (state === "output-available") return part.output;
174
- if (state === "output-error") {
175
- return { error: part.errorText ?? part.error ?? "tool_error" };
176
- }
177
- if (state === "output-denied") {
178
- return {
179
- error: "tool_denied",
180
- reason: part.approval?.reason ?? "",
181
- };
182
- }
183
- return undefined;
184
- }
185
-
186
- function toTimelineEvent(params: {
187
- message: SessionMessageRecordV1;
188
- role: AgentSessionTimelineEvent["role"];
189
- text: string;
190
- sequence: number;
191
- toolName?: string;
192
- }): AgentSessionTimelineEvent {
193
- const metadata = (params.message.metadata || null) as SessionMetadataV1 | null;
194
- return {
195
- id: `${String(params.message.id || "")}:${params.sequence}`,
196
- role: params.role,
197
- ...(typeof metadata?.ts === "number" ? { ts: metadata.ts } : {}),
198
- ...(typeof metadata?.kind === "string" ? { kind: metadata.kind } : {}),
199
- ...(typeof metadata?.source === "string" ? { source: metadata.source } : {}),
200
- text: params.text,
201
- ...(params.toolName ? { toolName: params.toolName } : {}),
202
- };
203
- }
204
-
205
- function toActionTimelineEvent(
206
- message: SessionActionRecordV1,
207
- ): AgentSessionTimelineEvent {
208
- const metadata = message.metadata || null;
209
- return {
210
- id: `${String(message.id || "")}:0`,
211
- role: "action",
212
- ...(typeof metadata?.ts === "number" ? { ts: metadata.ts } : {}),
213
- text: resolve_session_message_preview(message),
214
- actionTitle: message.title,
215
- ...(message.description ? { actionDescription: message.description } : {}),
216
- actionState: message.state,
217
- };
218
- }
219
-
220
- /**
221
- * 把单条 session message 展平成时间线事件。
222
- */
223
- export function toSessionTimelineEvents(
224
- message: SessionRecordV1,
225
- ): AgentSessionTimelineEvent[] {
226
- if (is_session_action_record(message)) {
227
- return [toActionTimelineEvent(message)];
228
- }
229
-
230
- if (!is_session_message_record(message)) return [];
231
- if (message.role !== "assistant") {
232
- return [
233
- toTimelineEvent({
234
- message,
235
- role: message.role === "user" ? "user" : "assistant",
236
- text: resolve_session_message_preview(message),
237
- sequence: 0,
238
- }),
239
- ];
240
- }
241
-
242
- const parts = Array.isArray(message.parts)
243
- ? (message.parts as AnyUiPart[])
244
- : [];
245
- const events: AgentSessionTimelineEvent[] = [];
246
- let sequence = 0;
247
-
248
- for (const part of parts) {
249
- if (!part || typeof part !== "object") continue;
250
- const partObject = part as ToolPartCompatShape;
251
-
252
- if (isTextUIPart(part)) {
253
- const text = String(part.text || "").trim();
254
- if (!text) continue;
255
- events.push(
256
- toTimelineEvent({
257
- message,
258
- role: "assistant",
259
- text,
260
- sequence,
261
- }),
262
- );
263
- sequence += 1;
264
- continue;
265
- }
266
-
267
- if (isToolUIPart(part)) {
268
- const toolName = resolveToolName(partObject, String(getToolName(part) || ""));
269
- const inputText = stringifyForDisplay(extractToolCallInput(partObject));
270
- events.push(
271
- toTimelineEvent({
272
- message,
273
- role: "tool-call",
274
- text: inputText || "(empty)",
275
- sequence,
276
- toolName,
277
- }),
278
- );
279
- sequence += 1;
280
-
281
- const output = extractToolResultOutput(partObject);
282
- if (output !== undefined) {
283
- events.push(
284
- toTimelineEvent({
285
- message,
286
- role: "tool-result",
287
- text: stringifyForDisplay(output) || "(empty)",
288
- sequence,
289
- toolName,
290
- }),
291
- );
292
- sequence += 1;
293
- }
294
- }
295
- }
296
-
297
- if (events.length === 0) {
298
- events.push(
299
- toTimelineEvent({
300
- message,
301
- role: "assistant",
302
- text: resolve_session_message_preview(message),
303
- sequence: 0,
304
- }),
305
- );
306
- }
307
-
308
- return events;
309
- }
310
-
311
111
  /**
312
112
  * 读取指定 JSONL 消息文件。
313
113
  */
314
- export async function loadSessionMessagesFromPath(
114
+ export async function load_session_messages_from_path(
315
115
  filePath: string,
116
+ files: FileSystem,
316
117
  ): Promise<SessionRecordV1[]> {
317
118
  const messages_by_id = new Map<string, SessionMessage>();
318
- if (await fs.pathExists(filePath)) {
319
- const raw = await fs.readFile(filePath, "utf-8");
119
+ if (await files.path_exists(filePath)) {
120
+ const raw = (await files.read_file(filePath)).toString("utf8");
320
121
  const lines = raw.split("\n").filter(Boolean);
321
122
  for (const line of lines) {
322
123
  try {
@@ -333,9 +134,11 @@ export async function loadSessionMessagesFromPath(
333
134
  }
334
135
 
335
136
  const inflight_path = path.join(path.dirname(filePath), "assistant_message.json");
336
- if (await fs.pathExists(inflight_path)) {
137
+ if (await files.path_exists(inflight_path)) {
337
138
  try {
338
- const message = (await fs.readJson(inflight_path)) as SessionMessage;
139
+ const message = JSON.parse(
140
+ (await files.read_file(inflight_path)).toString("utf8"),
141
+ ) as SessionMessage;
339
142
  if (is_canonical_session_message(message) && message.type === "assistant") {
340
143
  messages_by_id.set(message.message_id, message);
341
144
  }
@@ -377,8 +180,8 @@ function project_canonical_message_record(message: SessionMessage): SessionRecor
377
180
  metadata: {
378
181
  v: 1,
379
182
  ts: message.updated_at,
380
- sessionId: message.session_id,
381
- ...(message.turn_id ? { turnId: message.turn_id } : {}),
183
+ session_id: message.session_id,
184
+ ...(message.turn_id ? { turn_id: message.turn_id } : {}),
382
185
  },
383
186
  }];
384
187
  }
@@ -398,18 +201,18 @@ function filterUserVisibleHistoryMessages(
398
201
  /**
399
202
  * 基于 metadata + messages 构建 SDK session 详情。
400
203
  */
401
- export function buildSessionInfo(
204
+ export function build_session_info(
402
205
  input: SessionBrowseBaseInput,
403
206
  ): AgentSessionInfo {
404
207
  const messages = input.messages;
405
- const previewText = messages && messages.length > 0
208
+ const preview_text = messages && messages.length > 0
406
209
  ? truncateText(
407
210
  resolve_session_message_preview(messages[messages.length - 1]),
408
211
  180,
409
212
  )
410
- : input.metadata.previewText;
411
- const message_count = typeof input.metadata.messageCount === "number"
412
- ? input.metadata.messageCount
213
+ : input.metadata.preview_text;
214
+ const message_count = typeof input.metadata.message_count === "number"
215
+ ? input.metadata.message_count
413
216
  : messages
414
217
  ? filterUserVisibleHistoryMessages(messages).length
415
218
  : 0;
@@ -418,19 +221,19 @@ export function buildSessionInfo(
418
221
  ? input.metadata.title.trim()
419
222
  : undefined;
420
223
  return {
421
- agentId: input.agentId,
422
- sessionId: input.sessionId,
224
+ agent_id: input.agent_id,
225
+ session_id: input.session_id,
423
226
  ...(title ? { title } : {}),
424
- ...(previewText ? { previewText } : {}),
425
- messageCount: message_count,
426
- ...(typeof input.metadata.createdAt === "number"
427
- ? { createdAt: input.metadata.createdAt }
227
+ ...(preview_text ? { preview_text } : {}),
228
+ message_count: message_count,
229
+ ...(typeof input.metadata.created_at === "number"
230
+ ? { created_at: input.metadata.created_at }
428
231
  : {}),
429
- ...(typeof input.metadata.updatedAt === "number"
430
- ? { updatedAt: input.metadata.updatedAt }
232
+ ...(typeof input.metadata.updated_at === "number"
233
+ ? { updated_at: input.metadata.updated_at }
431
234
  : {}),
432
- ...(input.metadata.modelLabel
433
- ? { modelLabel: input.metadata.modelLabel }
235
+ ...(input.metadata.model_label
236
+ ? { model_label: input.metadata.model_label }
434
237
  : {}),
435
238
  ...(typeof input.metadata.timezone === "string" && input.metadata.timezone.trim()
436
239
  ? { timezone: input.metadata.timezone.trim() }
@@ -455,38 +258,46 @@ async function resolve_session_summary_metadata(input: {
455
258
  metaPath: string;
456
259
  /** 是否强制刷新摘要。 */
457
260
  refresh: boolean;
261
+ /** 当前 Workspace 的统一文件能力。 */
262
+ files: FileSystem;
458
263
  }): Promise<SessionHistoryMetaV1> {
459
- const storage_stats = await resolve_session_disk_stats(input.messagesPath);
264
+ const storage_stats = await resolve_session_disk_stats(
265
+ input.messagesPath,
266
+ input.files,
267
+ );
460
268
  const history_bytes = storage_stats.history_bytes;
461
269
  const inflight_path = path.join(path.dirname(input.messagesPath), "assistant_message.json");
462
- const has_inflight = await fs.pathExists(inflight_path);
270
+ const has_inflight = await input.files.path_exists(inflight_path);
463
271
  if (
464
272
  !input.refresh &&
465
273
  !has_inflight &&
466
- typeof input.metadata.messageCount === "number" &&
274
+ typeof input.metadata.message_count === "number" &&
467
275
  input.metadata.historyBytes === history_bytes
468
276
  ) {
469
277
  return input.metadata;
470
278
  }
471
- const messages = await loadSessionMessagesFromPath(input.messagesPath);
279
+ const messages = await load_session_messages_from_path(
280
+ input.messagesPath,
281
+ input.files,
282
+ );
472
283
  const last_message = messages[messages.length - 1];
473
284
  const preview_text = last_message
474
285
  ? truncateText(resolve_session_message_preview(last_message), 180)
475
286
  : "";
476
- const { previewText: _previous_preview, ...metadata_without_preview } = input.metadata;
287
+ const { preview_text: _previous_preview, ...metadata_without_preview } = input.metadata;
477
288
  void _previous_preview;
478
289
  const next_metadata: SessionHistoryMetaV1 = {
479
290
  ...metadata_without_preview,
480
- messageCount: storage_stats.message_count,
291
+ message_count: storage_stats.message_count,
481
292
  historyBytes: history_bytes,
482
- ...(preview_text || input.metadata.previewText
483
- ? { previewText: preview_text || input.metadata.previewText }
293
+ ...(preview_text || input.metadata.preview_text
294
+ ? { preview_text: preview_text || input.metadata.preview_text }
484
295
  : {}),
485
296
  };
486
- const temp_path = `${input.metaPath}.${process.pid}.${Date.now()}.tmp`;
487
- await fs.ensureDir(path.dirname(input.metaPath));
488
- await fs.writeJson(temp_path, next_metadata, { spaces: 2 });
489
- await fs.move(temp_path, input.metaPath, { overwrite: true });
297
+ await input.files.write_file_atomically(
298
+ input.metaPath,
299
+ `${JSON.stringify(next_metadata, null, 2)}\n`,
300
+ );
490
301
  return next_metadata;
491
302
  }
492
303
 
@@ -497,13 +308,16 @@ async function resolve_session_summary_metadata(input: {
497
308
  * - Segment 的结束 sequence 直接来自文件名,不解析历史正文。
498
309
  * - Active 需要逐行读取,以同时覆盖 revision 行与运行中 Assistant sequence。
499
310
  */
500
- async function resolve_session_disk_stats(messages_path: string) {
311
+ async function resolve_session_disk_stats(
312
+ messages_path: string,
313
+ files: FileSystem,
314
+ ) {
501
315
  const messages_dir_path = path.dirname(messages_path);
502
316
  const segments_dir_path = path.join(messages_dir_path, "segments");
503
- const segment_entries = await fs.readdir(segments_dir_path, { withFileTypes: true })
317
+ const segment_entries = await files.read_directory(segments_dir_path)
504
318
  .catch(() => []);
505
319
  const segment_files = segment_entries.flatMap((entry) => {
506
- if (!entry.isFile()) return [];
320
+ if (!entry.is_file) return [];
507
321
  const match = /^(\d+)-(\d+)\.jsonl$/.exec(entry.name);
508
322
  if (!match) return [];
509
323
  return [{
@@ -511,7 +325,9 @@ async function resolve_session_disk_stats(messages_path: string) {
511
325
  end_sequence: Number(match[2]),
512
326
  }];
513
327
  });
514
- const active_raw = await fs.readFile(messages_path, "utf8").catch(() => "");
328
+ const active_raw = await files.read_file(messages_path)
329
+ .then((value) => value.toString("utf8"))
330
+ .catch(() => "");
515
331
  let latest_active_sequence = 0;
516
332
  for (const line of active_raw.split("\n")) {
517
333
  if (!line.trim()) continue;
@@ -526,7 +342,9 @@ async function resolve_session_disk_stats(messages_path: string) {
526
342
  }
527
343
  const inflight_path = path.join(messages_dir_path, "assistant_message.json");
528
344
  try {
529
- const inflight = await fs.readJson(inflight_path) as Partial<SessionMessage>;
345
+ const inflight = JSON.parse(
346
+ (await files.read_file(inflight_path)).toString("utf8"),
347
+ ) as Partial<SessionMessage>;
530
348
  if (Number.isInteger(inflight.sequence)) {
531
349
  latest_active_sequence = Math.max(latest_active_sequence, Number(inflight.sequence));
532
350
  }
@@ -534,8 +352,7 @@ async function resolve_session_disk_stats(messages_path: string) {
534
352
  // 草稿不存在或损坏时只统计已完成历史。
535
353
  }
536
354
  const segment_sizes = await Promise.all(
537
- segment_files.map(({ file_path }) => fs.stat(file_path)
538
- .then((file_stat) => file_stat.size)
355
+ segment_files.map(({ file_path }) => files.file_size(file_path)
539
356
  .catch(() => 0)),
540
357
  );
541
358
  const latest_segment_sequence = segment_files.reduce(
@@ -549,130 +366,86 @@ async function resolve_session_disk_stats(messages_path: string) {
549
366
  };
550
367
  }
551
368
 
552
- /**
553
- * 基于完整消息列表构建 session records 分页结果。
554
- */
555
- export function buildSessionRecordsPage(params: {
556
- session: AgentSessionInfo;
557
- messages: SessionRecordV1[];
558
- input?: AgentSessionRecordsInput;
559
- }): AgentSessionRecordsPage {
560
- const view: AgentSessionRecordsView = params.input?.view || "message";
561
- const order = params.input?.order || "asc";
562
- const limit = normalizeLimit(params.input?.limit, 50, 500);
563
- const cursor = normalizeCursor(params.input?.cursor);
564
- const visibleMessages = filterUserVisibleHistoryMessages(params.messages);
565
-
566
- if (view === "timeline") {
567
- const allEvents = visibleMessages.flatMap((message) => toSessionTimelineEvents(message));
568
- const orderedEvents = order === "desc" ? [...allEvents].reverse() : allEvents;
569
- const pageItems = orderedEvents.slice(cursor, cursor + limit);
570
- const nextOffset = cursor + pageItems.length;
571
- return {
572
- session: params.session,
573
- view,
574
- items: pageItems,
575
- total: orderedEvents.length,
576
- ...(nextOffset < orderedEvents.length
577
- ? { next_cursor: encodeCursor(nextOffset) }
578
- : {}),
579
- has_more: nextOffset < orderedEvents.length,
580
- };
581
- }
582
-
583
- const orderedMessages =
584
- order === "desc" ? [...visibleMessages].reverse() : [...visibleMessages];
585
- const pageItems = orderedMessages.slice(cursor, cursor + limit);
586
- const nextOffset = cursor + pageItems.length;
587
- return {
588
- session: params.session,
589
- view,
590
- items: pageItems,
591
- total: orderedMessages.length,
592
- ...(nextOffset < orderedMessages.length
593
- ? { next_cursor: encodeCursor(nextOffset) }
594
- : {}),
595
- has_more: nextOffset < orderedMessages.length,
596
- };
597
- }
598
-
599
369
  /**
600
370
  * 列出指定 agent 的 session 摘要页。
601
371
  */
602
- export async function listAgentSessionSummaryPage(params: {
603
- projectRoot: string;
604
- agentId: string;
372
+ export async function list_agent_session_summary_page(params: {
373
+ project_root: string;
374
+ agent_id: string;
605
375
  input?: AgentListSessionsInput;
606
376
  executingSessionIds?: Set<string>;
377
+ files: FileSystem;
607
378
  }): Promise<AgentSessionSummaryPage> {
608
379
  const limit = normalizeLimit(params.input?.limit, 50, 500);
609
380
  const cursor = normalizeCursor(params.input?.cursor);
610
381
  const query = String(params.input?.query || "").trim().toLowerCase();
611
- const sessionsRoot = getSdkAgentSessionsRootDirPath(
612
- params.projectRoot,
613
- params.agentId,
382
+ const sessionsRoot = get_sdk_agent_sessions_root_dir_path(
383
+ params.project_root,
384
+ params.agent_id,
614
385
  );
615
386
 
616
- if (!(await fs.pathExists(sessionsRoot))) {
387
+ if (!(await params.files.path_exists(sessionsRoot))) {
617
388
  return {
618
389
  items: [],
619
390
  total: 0,
620
- hasMore: false,
391
+ has_more: false,
621
392
  };
622
393
  }
623
394
 
624
- const entries = await fs.readdir(sessionsRoot, { withFileTypes: true });
395
+ const entries = await params.files.read_directory(sessionsRoot);
625
396
  const summaries: AgentSessionSummary[] = [];
626
397
 
627
398
  for (const entry of entries) {
628
- if (!entry.isDirectory()) continue;
629
- const sessionId = decodeMaybe(entry.name);
630
- if (!sessionId) continue;
631
- const meta_path = getSdkAgentSessionMetaPath(
632
- params.projectRoot,
633
- params.agentId,
634
- sessionId,
399
+ if (!entry.is_directory) continue;
400
+ const session_id = decodeMaybe(entry.name);
401
+ if (!session_id) continue;
402
+ const meta_path = get_sdk_agent_session_meta_path(
403
+ params.project_root,
404
+ params.agent_id,
405
+ session_id,
635
406
  );
636
- const messages_path = getSdkAgentSessionMessagesPath(
637
- params.projectRoot,
638
- params.agentId,
639
- sessionId,
407
+ const messages_path = get_sdk_agent_session_messages_path(
408
+ params.project_root,
409
+ params.agent_id,
410
+ session_id,
640
411
  );
641
- const persisted_metadata = await readSessionMetadataFromPath({
412
+ const persisted_metadata = await read_session_metadata_from_path({
642
413
  filePath: meta_path,
643
- sessionId,
644
- agentId: params.agentId,
414
+ session_id,
415
+ agent_id: params.agent_id,
416
+ files: params.files,
645
417
  });
646
418
  const metadata = await resolve_session_summary_metadata({
647
419
  metadata: persisted_metadata,
648
420
  messagesPath: messages_path,
649
421
  metaPath: meta_path,
650
- refresh: params.executingSessionIds?.has(sessionId) === true,
422
+ refresh: params.executingSessionIds?.has(session_id) === true,
423
+ files: params.files,
651
424
  });
652
- const info = buildSessionInfo({
653
- projectRoot: params.projectRoot,
654
- agentId: params.agentId,
655
- sessionId,
425
+ const info = build_session_info({
426
+ project_root: params.project_root,
427
+ agent_id: params.agent_id,
428
+ session_id,
656
429
  metadata,
657
- executing: params.executingSessionIds?.has(sessionId),
430
+ executing: params.executingSessionIds?.has(session_id),
658
431
  });
659
432
  const summary: AgentSessionSummary = {
660
- agentId: info.agentId,
661
- sessionId: info.sessionId,
433
+ agent_id: info.agent_id,
434
+ session_id: info.session_id,
662
435
  ...(info.title ? { title: info.title } : {}),
663
- ...(info.previewText ? { previewText: info.previewText } : {}),
664
- messageCount: info.messageCount,
665
- ...(typeof info.createdAt === "number" ? { createdAt: info.createdAt } : {}),
666
- ...(typeof info.updatedAt === "number" ? { updatedAt: info.updatedAt } : {}),
667
- ...(info.modelLabel ? { modelLabel: info.modelLabel } : {}),
436
+ ...(info.preview_text ? { preview_text: info.preview_text } : {}),
437
+ message_count: info.message_count,
438
+ ...(typeof info.created_at === "number" ? { created_at: info.created_at } : {}),
439
+ ...(typeof info.updated_at === "number" ? { updated_at: info.updated_at } : {}),
440
+ ...(info.model_label ? { model_label: info.model_label } : {}),
668
441
  ...(info.executing ? { executing: true } : {}),
669
442
  };
670
443
 
671
444
  if (query) {
672
445
  const haystack = [
673
- summary.sessionId,
446
+ summary.session_id,
674
447
  summary.title || "",
675
- summary.previewText || "",
448
+ summary.preview_text || "",
676
449
  ]
677
450
  .join("\n")
678
451
  .toLowerCase();
@@ -682,7 +455,7 @@ export async function listAgentSessionSummaryPage(params: {
682
455
  summaries.push(summary);
683
456
  }
684
457
 
685
- summaries.sort((left, right) => (right.updatedAt || 0) - (left.updatedAt || 0));
458
+ summaries.sort((left, right) => (right.updated_at || 0) - (left.updated_at || 0));
686
459
 
687
460
  const items = summaries.slice(cursor, cursor + limit);
688
461
  const nextOffset = cursor + items.length;
@@ -690,88 +463,91 @@ export async function listAgentSessionSummaryPage(params: {
690
463
  items,
691
464
  total: summaries.length,
692
465
  ...(nextOffset < summaries.length
693
- ? { nextCursor: encodeCursor(nextOffset) }
466
+ ? { next_cursor: encodeCursor(nextOffset) }
694
467
  : {}),
695
- hasMore: nextOffset < summaries.length,
468
+ has_more: nextOffset < summaries.length,
696
469
  };
697
470
  }
698
471
 
699
472
  /**
700
473
  * 列出指定 agent 的已归档 session 摘要页。
701
474
  */
702
- export async function listArchivedAgentSessionSummaryPage(params: {
703
- projectRoot: string;
704
- agentId: string;
475
+ export async function list_archived_agent_session_summary_page(params: {
476
+ project_root: string;
477
+ agent_id: string;
705
478
  input?: AgentListSessionsInput;
479
+ files: FileSystem;
706
480
  }): Promise<AgentSessionSummaryPage> {
707
481
  const limit = normalizeLimit(params.input?.limit, 50, 500);
708
482
  const cursor = normalizeCursor(params.input?.cursor);
709
483
  const query = String(params.input?.query || "").trim().toLowerCase();
710
- const archivedRoot = getSdkAgentArchivedSessionsDirPath(
711
- params.projectRoot,
712
- params.agentId,
484
+ const archivedRoot = get_sdk_agent_archived_sessions_dir_path(
485
+ params.project_root,
486
+ params.agent_id,
713
487
  );
714
488
 
715
- if (!(await fs.pathExists(archivedRoot))) {
489
+ if (!(await params.files.path_exists(archivedRoot))) {
716
490
  return {
717
491
  items: [],
718
492
  total: 0,
719
- hasMore: false,
493
+ has_more: false,
720
494
  };
721
495
  }
722
496
 
723
- const entries = await fs.readdir(archivedRoot, { withFileTypes: true });
497
+ const entries = await params.files.read_directory(archivedRoot);
724
498
  const summaries: AgentSessionSummary[] = [];
725
499
 
726
500
  for (const entry of entries) {
727
- if (!entry.isDirectory()) continue;
728
- const sessionId = decodeMaybe(entry.name);
729
- if (!sessionId) continue;
730
- const meta_path = getSdkAgentArchivedSessionMetaPath(
731
- params.projectRoot,
732
- params.agentId,
733
- sessionId,
501
+ if (!entry.is_directory) continue;
502
+ const session_id = decodeMaybe(entry.name);
503
+ if (!session_id) continue;
504
+ const meta_path = get_sdk_agent_archived_session_meta_path(
505
+ params.project_root,
506
+ params.agent_id,
507
+ session_id,
734
508
  );
735
- const messages_path = getSdkAgentArchivedSessionMessagesPath(
736
- params.projectRoot,
737
- params.agentId,
738
- sessionId,
509
+ const messages_path = get_sdk_agent_archived_session_messages_path(
510
+ params.project_root,
511
+ params.agent_id,
512
+ session_id,
739
513
  );
740
- const persisted_metadata = await readSessionMetadataFromPath({
514
+ const persisted_metadata = await read_session_metadata_from_path({
741
515
  filePath: meta_path,
742
- sessionId,
743
- agentId: params.agentId,
516
+ session_id,
517
+ agent_id: params.agent_id,
518
+ files: params.files,
744
519
  });
745
520
  const metadata = await resolve_session_summary_metadata({
746
521
  metadata: persisted_metadata,
747
522
  messagesPath: messages_path,
748
523
  metaPath: meta_path,
749
524
  refresh: false,
525
+ files: params.files,
750
526
  });
751
527
  // 关键点(中文):归档 session 不再生成新 title,仅读取归档目录内已有 meta。
752
- const info = buildSessionInfo({
753
- projectRoot: params.projectRoot,
754
- agentId: params.agentId,
755
- sessionId,
528
+ const info = build_session_info({
529
+ project_root: params.project_root,
530
+ agent_id: params.agent_id,
531
+ session_id,
756
532
  metadata,
757
533
  executing: false,
758
534
  });
759
535
  const summary: AgentSessionSummary = {
760
- agentId: info.agentId,
761
- sessionId: info.sessionId,
536
+ agent_id: info.agent_id,
537
+ session_id: info.session_id,
762
538
  ...(info.title ? { title: info.title } : {}),
763
- ...(info.previewText ? { previewText: info.previewText } : {}),
764
- messageCount: info.messageCount,
765
- ...(typeof info.createdAt === "number" ? { createdAt: info.createdAt } : {}),
766
- ...(typeof info.updatedAt === "number" ? { updatedAt: info.updatedAt } : {}),
767
- ...(info.modelLabel ? { modelLabel: info.modelLabel } : {}),
539
+ ...(info.preview_text ? { preview_text: info.preview_text } : {}),
540
+ message_count: info.message_count,
541
+ ...(typeof info.created_at === "number" ? { created_at: info.created_at } : {}),
542
+ ...(typeof info.updated_at === "number" ? { updated_at: info.updated_at } : {}),
543
+ ...(info.model_label ? { model_label: info.model_label } : {}),
768
544
  };
769
545
 
770
546
  if (query) {
771
547
  const haystack = [
772
- summary.sessionId,
548
+ summary.session_id,
773
549
  summary.title || "",
774
- summary.previewText || "",
550
+ summary.preview_text || "",
775
551
  ]
776
552
  .join("\n")
777
553
  .toLowerCase();
@@ -781,7 +557,7 @@ export async function listArchivedAgentSessionSummaryPage(params: {
781
557
  summaries.push(summary);
782
558
  }
783
559
 
784
- summaries.sort((left, right) => (right.updatedAt || 0) - (left.updatedAt || 0));
560
+ summaries.sort((left, right) => (right.updated_at || 0) - (left.updated_at || 0));
785
561
 
786
562
  const items = summaries.slice(cursor, cursor + limit);
787
563
  const nextOffset = cursor + items.length;
@@ -789,8 +565,8 @@ export async function listArchivedAgentSessionSummaryPage(params: {
789
565
  items,
790
566
  total: summaries.length,
791
567
  ...(nextOffset < summaries.length
792
- ? { nextCursor: encodeCursor(nextOffset) }
568
+ ? { next_cursor: encodeCursor(nextOffset) }
793
569
  : {}),
794
- hasMore: nextOffset < summaries.length,
570
+ has_more: nextOffset < summaries.length,
795
571
  };
796
572
  }