@downcity/agent 1.1.337 → 1.1.399

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 (990) hide show
  1. package/README.md +31 -15
  2. package/bin/agent/Agent.d.ts +42 -91
  3. package/bin/agent/Agent.d.ts.map +1 -1
  4. package/bin/agent/Agent.js +115 -200
  5. package/bin/agent/Agent.js.map +1 -1
  6. package/bin/agent/AgentModel.d.ts +8 -8
  7. package/bin/agent/AgentModel.d.ts.map +1 -1
  8. package/bin/agent/AgentModel.js +5 -5
  9. package/bin/agent/AgentModel.js.map +1 -1
  10. package/bin/agent/AgentSessions.d.ts +42 -28
  11. package/bin/agent/AgentSessions.d.ts.map +1 -1
  12. package/bin/agent/AgentSessions.js +80 -44
  13. package/bin/agent/AgentSessions.js.map +1 -1
  14. package/bin/agent/WorkspaceEntry.d.ts +82 -0
  15. package/bin/agent/WorkspaceEntry.d.ts.map +1 -0
  16. package/bin/agent/WorkspaceEntry.js +246 -0
  17. package/bin/agent/WorkspaceEntry.js.map +1 -0
  18. package/bin/agent/index.d.ts +5 -0
  19. package/bin/agent/index.d.ts.map +1 -0
  20. package/bin/agent/index.js +5 -0
  21. package/bin/agent/index.js.map +1 -0
  22. package/bin/city/host/CityHostRegistry.d.ts +44 -0
  23. package/bin/city/host/CityHostRegistry.d.ts.map +1 -0
  24. package/bin/city/host/CityHostRegistry.js +225 -0
  25. package/bin/city/host/CityHostRegistry.js.map +1 -0
  26. package/bin/city/index.d.ts +22 -0
  27. package/bin/city/index.d.ts.map +1 -0
  28. package/bin/city/index.js +10 -0
  29. package/bin/city/index.js.map +1 -0
  30. package/bin/city/runtime/City.d.ts +99 -0
  31. package/bin/city/runtime/City.d.ts.map +1 -0
  32. package/bin/city/runtime/City.js +376 -0
  33. package/bin/city/runtime/City.js.map +1 -0
  34. package/bin/city/transport/SerializedTransport.d.ts +30 -0
  35. package/bin/city/transport/SerializedTransport.d.ts.map +1 -0
  36. package/bin/city/transport/SerializedTransport.js +57 -0
  37. package/bin/city/transport/SerializedTransport.js.map +1 -0
  38. package/bin/city/transport/http/AgentHTTP.d.ts +66 -0
  39. package/bin/city/transport/http/AgentHTTP.d.ts.map +1 -0
  40. package/bin/city/transport/http/AgentHTTP.js +142 -0
  41. package/bin/city/transport/http/AgentHTTP.js.map +1 -0
  42. package/bin/city/transport/http/CityHTTP.d.ts +44 -0
  43. package/bin/city/transport/http/CityHTTP.d.ts.map +1 -0
  44. package/bin/city/transport/http/CityHTTP.js +171 -0
  45. package/bin/city/transport/http/CityHTTP.js.map +1 -0
  46. package/bin/city/transport/http/NodeHttpAdapter.d.ts +27 -0
  47. package/bin/city/transport/http/NodeHttpAdapter.d.ts.map +1 -0
  48. package/bin/city/transport/http/NodeHttpAdapter.js +57 -0
  49. package/bin/city/transport/http/NodeHttpAdapter.js.map +1 -0
  50. package/bin/city/transport/http/routes/RuntimeRoutes.d.ts +15 -0
  51. package/bin/city/transport/http/routes/RuntimeRoutes.d.ts.map +1 -0
  52. package/bin/city/transport/http/routes/RuntimeRoutes.js +38 -0
  53. package/bin/city/transport/http/routes/RuntimeRoutes.js.map +1 -0
  54. package/bin/city/transport/http/routes/SessionRoutes.d.ts +17 -0
  55. package/bin/city/transport/http/routes/SessionRoutes.d.ts.map +1 -0
  56. package/bin/city/transport/http/routes/SessionRoutes.js +417 -0
  57. package/bin/city/transport/http/routes/SessionRoutes.js.map +1 -0
  58. package/bin/city/transport/rpc/AgentRPC.d.ts +47 -0
  59. package/bin/city/transport/rpc/AgentRPC.d.ts.map +1 -0
  60. package/bin/city/transport/rpc/AgentRPC.js +89 -0
  61. package/bin/city/transport/rpc/AgentRPC.js.map +1 -0
  62. package/bin/city/transport/rpc/CityRPC.d.ts +26 -0
  63. package/bin/city/transport/rpc/CityRPC.d.ts.map +1 -0
  64. package/bin/city/transport/rpc/CityRPC.js +110 -0
  65. package/bin/city/transport/rpc/CityRPC.js.map +1 -0
  66. package/bin/city/transport/rpc/RpcServer.d.ts +30 -0
  67. package/bin/city/transport/rpc/RpcServer.d.ts.map +1 -0
  68. package/bin/city/transport/rpc/RpcServer.js +125 -0
  69. package/bin/city/transport/rpc/RpcServer.js.map +1 -0
  70. package/bin/city/transport/rpc/server/InternalHandlers.d.ts +22 -0
  71. package/bin/city/transport/rpc/server/InternalHandlers.d.ts.map +1 -0
  72. package/bin/city/transport/rpc/server/InternalHandlers.js +196 -0
  73. package/bin/city/transport/rpc/server/InternalHandlers.js.map +1 -0
  74. package/bin/city/transport/rpc/server/RequestDispatcher.d.ts +27 -0
  75. package/bin/city/transport/rpc/server/RequestDispatcher.d.ts.map +1 -0
  76. package/bin/city/transport/rpc/server/RequestDispatcher.js +38 -0
  77. package/bin/city/transport/rpc/server/RequestDispatcher.js.map +1 -0
  78. package/bin/city/transport/rpc/server/SdkSessionHandlers.d.ts +25 -0
  79. package/bin/city/transport/rpc/server/SdkSessionHandlers.d.ts.map +1 -0
  80. package/bin/city/transport/rpc/server/SdkSessionHandlers.js +146 -0
  81. package/bin/city/transport/rpc/server/SdkSessionHandlers.js.map +1 -0
  82. package/bin/city/transport/rpc/server/ServerTypes.d.ts +94 -0
  83. package/bin/city/transport/rpc/server/ServerTypes.d.ts.map +1 -0
  84. package/bin/city/transport/rpc/server/ServerTypes.js +9 -0
  85. package/bin/city/transport/rpc/server/ServerTypes.js.map +1 -0
  86. package/bin/city/transport/session/RemoteSessionConfig.d.ts +15 -0
  87. package/bin/city/transport/session/RemoteSessionConfig.d.ts.map +1 -0
  88. package/bin/city/transport/session/RemoteSessionConfig.js +23 -0
  89. package/bin/city/transport/session/RemoteSessionConfig.js.map +1 -0
  90. package/bin/city/transport/types/AgentHttpBinding.d.ts +24 -0
  91. package/bin/city/transport/types/AgentHttpBinding.d.ts.map +1 -0
  92. package/bin/city/transport/types/AgentHttpBinding.js +5 -0
  93. package/bin/city/transport/types/AgentHttpBinding.js.map +1 -0
  94. package/bin/city/transport/types/AgentHttpRuntime.d.ts +12 -0
  95. package/bin/city/transport/types/AgentHttpRuntime.d.ts.map +1 -0
  96. package/bin/city/transport/types/AgentHttpRuntime.js +7 -0
  97. package/bin/city/transport/types/AgentHttpRuntime.js.map +1 -0
  98. package/bin/city/transport/types/AgentRpcBinding.d.ts +27 -0
  99. package/bin/city/transport/types/AgentRpcBinding.d.ts.map +1 -0
  100. package/bin/city/transport/types/AgentRpcBinding.js +8 -0
  101. package/bin/city/transport/types/AgentRpcBinding.js.map +1 -0
  102. package/bin/city/transport/types/AgentRpcRuntime.d.ts +18 -0
  103. package/bin/city/transport/types/AgentRpcRuntime.d.ts.map +1 -0
  104. package/bin/city/transport/types/AgentRpcRuntime.js +7 -0
  105. package/bin/city/transport/types/AgentRpcRuntime.js.map +1 -0
  106. package/bin/city/transport/types/AgentSessionModelResolver.d.ts +11 -0
  107. package/bin/city/transport/types/AgentSessionModelResolver.d.ts.map +1 -0
  108. package/bin/city/transport/types/AgentSessionModelResolver.js +7 -0
  109. package/bin/city/transport/types/AgentSessionModelResolver.js.map +1 -0
  110. package/bin/city/transport/types/CityHttpRuntime.d.ts +36 -0
  111. package/bin/city/transport/types/CityHttpRuntime.d.ts.map +1 -0
  112. package/bin/city/transport/types/CityHttpRuntime.js +8 -0
  113. package/bin/city/transport/types/CityHttpRuntime.js.map +1 -0
  114. package/bin/city/transport/types/CityRpcRuntime.d.ts +17 -0
  115. package/bin/city/transport/types/CityRpcRuntime.d.ts.map +1 -0
  116. package/bin/city/transport/types/CityRpcRuntime.js +8 -0
  117. package/bin/city/transport/types/CityRpcRuntime.js.map +1 -0
  118. package/bin/city/transport/types/RpcProtocol.d.ts +24 -0
  119. package/bin/city/transport/types/RpcProtocol.d.ts.map +1 -0
  120. package/bin/city/transport/types/RpcProtocol.js +9 -0
  121. package/bin/city/transport/types/RpcProtocol.js.map +1 -0
  122. package/bin/city/types/City.d.ts +84 -0
  123. package/bin/city/types/City.d.ts.map +1 -0
  124. package/bin/city/types/City.js +7 -0
  125. package/bin/city/types/City.js.map +1 -0
  126. package/bin/city/types/PluginHostContext.d.ts +31 -0
  127. package/bin/city/types/PluginHostContext.d.ts.map +1 -0
  128. package/bin/city/types/PluginHostContext.js +11 -0
  129. package/bin/city/types/PluginHostContext.js.map +1 -0
  130. package/bin/city/types/SerializedTransport.d.ts +16 -0
  131. package/bin/city/types/SerializedTransport.d.ts.map +1 -0
  132. package/bin/city/types/SerializedTransport.js +3 -0
  133. package/bin/city/types/SerializedTransport.js.map +1 -0
  134. package/bin/executor/Executor.d.ts +4 -4
  135. package/bin/executor/Executor.d.ts.map +1 -1
  136. package/bin/executor/Executor.js +90 -34
  137. package/bin/executor/Executor.js.map +1 -1
  138. package/bin/executor/composer/system/SessionSystemComposer.d.ts +2 -2
  139. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +1 -1
  140. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +3 -3
  141. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +1 -1
  142. package/bin/executor/composer/system/default/PromptRenderer.d.ts +3 -3
  143. package/bin/executor/composer/system/default/PromptRenderer.d.ts.map +1 -1
  144. package/bin/executor/composer/system/default/PromptRenderer.js +1 -1
  145. package/bin/executor/composer/system/default/SystemDomain.d.ts +3 -3
  146. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
  147. package/bin/executor/composer/system/default/SystemDomain.js +3 -3
  148. package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
  149. package/bin/executor/composer/system/default/SystemPromptAssets.js +2 -2
  150. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  151. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  152. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  153. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  154. package/bin/executor/composer/system/default/variables/GeoContext.d.ts +1 -1
  155. package/bin/executor/composer/system/default/variables/VariableReplacer.js +1 -1
  156. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts +6 -23
  157. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts.map +1 -1
  158. package/bin/executor/core-engine/CoreEngineContextCompaction.js +112 -344
  159. package/bin/executor/core-engine/CoreEngineContextCompaction.js.map +1 -1
  160. package/bin/executor/core-engine/CoreEngineError.d.ts +1 -1
  161. package/bin/executor/core-engine/CoreEngineError.js +1 -1
  162. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts +2 -3
  163. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts.map +1 -1
  164. package/bin/executor/core-engine/CoreEngineLoopDecision.js +1 -15
  165. package/bin/executor/core-engine/CoreEngineLoopDecision.js.map +1 -1
  166. package/bin/executor/core-engine/CoreEngineMessageState.d.ts +16 -39
  167. package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +1 -1
  168. package/bin/executor/core-engine/CoreEngineMessageState.js +25 -60
  169. package/bin/executor/core-engine/CoreEngineMessageState.js.map +1 -1
  170. package/bin/executor/core-engine/CoreEngineRunner.d.ts +10 -6
  171. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  172. package/bin/executor/core-engine/CoreEngineRunner.js +146 -234
  173. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  174. package/bin/executor/core-engine/CoreEngineSignals.d.ts +20 -58
  175. package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +1 -1
  176. package/bin/executor/core-engine/CoreEngineSignals.js +84 -304
  177. package/bin/executor/core-engine/CoreEngineSignals.js.map +1 -1
  178. package/bin/executor/messages/SessionAttachmentMapper.d.ts +6 -37
  179. package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
  180. package/bin/executor/messages/SessionAttachmentMapper.js +12 -243
  181. package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
  182. package/bin/executor/messages/SessionMessageLog.d.ts +7 -14
  183. package/bin/executor/messages/SessionMessageLog.d.ts.map +1 -1
  184. package/bin/executor/messages/SessionMessageLog.js +11 -26
  185. package/bin/executor/messages/SessionMessageLog.js.map +1 -1
  186. package/bin/executor/messages/SessionModelMessages.d.ts +14 -0
  187. package/bin/executor/messages/SessionModelMessages.d.ts.map +1 -0
  188. package/bin/executor/messages/SessionModelMessages.js +187 -0
  189. package/bin/executor/messages/SessionModelMessages.js.map +1 -0
  190. package/bin/executor/model/ModelGenerate.d.ts +22 -0
  191. package/bin/executor/model/ModelGenerate.d.ts.map +1 -0
  192. package/bin/executor/model/ModelGenerate.js +54 -0
  193. package/bin/executor/model/ModelGenerate.js.map +1 -0
  194. package/bin/executor/model/ModelStepRunner.d.ts +70 -0
  195. package/bin/executor/model/ModelStepRunner.d.ts.map +1 -0
  196. package/bin/executor/model/ModelStepRunner.js +284 -0
  197. package/bin/executor/model/ModelStepRunner.js.map +1 -0
  198. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +4 -4
  199. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  200. package/bin/executor/types/SessionHistoryMeta.d.ts +7 -2
  201. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  202. package/bin/executor/types/SessionHistoryMeta.js +1 -1
  203. package/bin/executor/types/SessionLoop.d.ts +1 -21
  204. package/bin/executor/types/SessionLoop.d.ts.map +1 -1
  205. package/bin/executor/types/SessionPrompts.d.ts +8 -7
  206. package/bin/executor/types/SessionPrompts.d.ts.map +1 -1
  207. package/bin/executor/types/SessionPrompts.js +1 -2
  208. package/bin/executor/types/SessionPrompts.js.map +1 -1
  209. package/bin/group/Group.d.ts +20 -0
  210. package/bin/group/Group.d.ts.map +1 -0
  211. package/bin/group/Group.js +42 -0
  212. package/bin/group/Group.js.map +1 -0
  213. package/bin/group/GroupSession.d.ts +103 -0
  214. package/bin/group/GroupSession.d.ts.map +1 -0
  215. package/bin/group/GroupSession.js +666 -0
  216. package/bin/group/GroupSession.js.map +1 -0
  217. package/bin/group/GroupSessions.d.ts +21 -0
  218. package/bin/group/GroupSessions.d.ts.map +1 -0
  219. package/bin/group/GroupSessions.js +89 -0
  220. package/bin/group/GroupSessions.js.map +1 -0
  221. package/bin/group/index.d.ts +9 -0
  222. package/bin/group/index.d.ts.map +1 -0
  223. package/bin/group/index.js +6 -0
  224. package/bin/group/index.js.map +1 -0
  225. package/bin/index.d.ts +29 -21
  226. package/bin/index.d.ts.map +1 -1
  227. package/bin/index.js +7 -9
  228. package/bin/index.js.map +1 -1
  229. package/bin/internal/AgentRuntime.d.ts +43 -0
  230. package/bin/internal/AgentRuntime.d.ts.map +1 -0
  231. package/bin/internal/AgentRuntime.js +179 -0
  232. package/bin/internal/AgentRuntime.js.map +1 -0
  233. package/bin/internal/GroupRuntime.d.ts +17 -0
  234. package/bin/internal/GroupRuntime.d.ts.map +1 -0
  235. package/bin/internal/GroupRuntime.js +66 -0
  236. package/bin/internal/GroupRuntime.js.map +1 -0
  237. package/bin/internal/index.d.ts +8 -0
  238. package/bin/internal/index.d.ts.map +1 -0
  239. package/bin/internal/index.js +8 -0
  240. package/bin/internal/index.js.map +1 -0
  241. package/bin/plugin/core/ActionScheduleExecutor.d.ts +3 -2
  242. package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +1 -1
  243. package/bin/plugin/core/ActionScheduleExecutor.js +14 -3
  244. package/bin/plugin/core/ActionScheduleExecutor.js.map +1 -1
  245. package/bin/plugin/core/ActionScheduleRuntime.d.ts +3 -1
  246. package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +1 -1
  247. package/bin/plugin/core/ActionScheduleRuntime.js +9 -8
  248. package/bin/plugin/core/ActionScheduleRuntime.js.map +1 -1
  249. package/bin/plugin/core/ActionScheduleStore.d.ts +7 -3
  250. package/bin/plugin/core/ActionScheduleStore.d.ts.map +1 -1
  251. package/bin/plugin/core/ActionScheduleStore.js +32 -9
  252. package/bin/plugin/core/ActionScheduleStore.js.map +1 -1
  253. package/bin/plugin/core/HookRegistry.d.ts +4 -6
  254. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  255. package/bin/plugin/core/HookRegistry.js +8 -14
  256. package/bin/plugin/core/HookRegistry.js.map +1 -1
  257. package/bin/plugin/core/PluginActionExecution.d.ts +33 -0
  258. package/bin/plugin/core/PluginActionExecution.d.ts.map +1 -0
  259. package/bin/plugin/core/PluginActionExecution.js +168 -0
  260. package/bin/plugin/core/PluginActionExecution.js.map +1 -0
  261. package/bin/plugin/core/PluginActionFactory.d.ts +6 -3
  262. package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -1
  263. package/bin/plugin/core/PluginActionFactory.js +3 -0
  264. package/bin/plugin/core/PluginActionFactory.js.map +1 -1
  265. package/bin/plugin/core/PluginContext.d.ts +14 -4
  266. package/bin/plugin/core/PluginContext.d.ts.map +1 -1
  267. package/bin/plugin/core/PluginContext.js +11 -2
  268. package/bin/plugin/core/PluginContext.js.map +1 -1
  269. package/bin/plugin/core/PluginHttpRoutes.d.ts +1 -1
  270. package/bin/plugin/core/PluginHttpRoutes.d.ts.map +1 -1
  271. package/bin/plugin/core/PluginHttpRoutes.js +1 -1
  272. package/bin/plugin/core/PluginHttpRoutes.js.map +1 -1
  273. package/bin/plugin/core/PluginRegistry.d.ts +41 -26
  274. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  275. package/bin/plugin/core/PluginRegistry.js +125 -107
  276. package/bin/plugin/core/PluginRegistry.js.map +1 -1
  277. package/bin/plugin/tool/PluginToolRuntime.d.ts.map +1 -1
  278. package/bin/plugin/tool/PluginToolRuntime.js +4 -1
  279. package/bin/plugin/tool/PluginToolRuntime.js.map +1 -1
  280. package/bin/plugin/tool/PluginToolSchemas.d.ts +22 -2
  281. package/bin/plugin/tool/PluginToolSchemas.d.ts.map +1 -1
  282. package/bin/plugin/tool/PluginToolSchemas.js +3 -4
  283. package/bin/plugin/tool/PluginToolSchemas.js.map +1 -1
  284. package/bin/plugin/tool/PluginTools.d.ts +5 -8
  285. package/bin/plugin/tool/PluginTools.d.ts.map +1 -1
  286. package/bin/plugin/tool/PluginTools.js +9 -8
  287. package/bin/plugin/tool/PluginTools.js.map +1 -1
  288. package/bin/plugin/types/ActionSchedule.d.ts +6 -0
  289. package/bin/plugin/types/ActionSchedule.d.ts.map +1 -1
  290. package/bin/remote/RemoteAgent.js +2 -2
  291. package/bin/remote/RemoteSession.d.ts +1 -1
  292. package/bin/remote/TransportFactory.d.ts +1 -1
  293. package/bin/remote/TransportFactory.js +2 -2
  294. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts +1 -1
  295. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -1
  296. package/bin/remote/transports/HttpRemoteAgentTransport.js +3 -3
  297. package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -1
  298. package/bin/remote/transports/RpcClient.d.ts +1 -0
  299. package/bin/remote/transports/RpcClient.d.ts.map +1 -1
  300. package/bin/remote/transports/RpcClient.js +16 -0
  301. package/bin/remote/transports/RpcClient.js.map +1 -1
  302. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts +1 -1
  303. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -1
  304. package/bin/remote/transports/RpcRemoteAgentTransport.js +2 -1
  305. package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -1
  306. package/bin/session/DefaultSessionComposer.js +4 -4
  307. package/bin/session/DefaultSessionComposer.js.map +1 -1
  308. package/bin/session/Session.d.ts +9 -3
  309. package/bin/session/Session.d.ts.map +1 -1
  310. package/bin/session/Session.js +85 -55
  311. package/bin/session/Session.js.map +1 -1
  312. package/bin/session/SessionLoop.d.ts.map +1 -1
  313. package/bin/session/SessionLoop.js +23 -25
  314. package/bin/session/SessionLoop.js.map +1 -1
  315. package/bin/session/SessionMessages.d.ts +9 -11
  316. package/bin/session/SessionMessages.d.ts.map +1 -1
  317. package/bin/session/SessionMessages.js +56 -104
  318. package/bin/session/SessionMessages.js.map +1 -1
  319. package/bin/session/SessionQueue.d.ts +1 -1
  320. package/bin/session/SessionState.d.ts +3 -0
  321. package/bin/session/SessionState.d.ts.map +1 -1
  322. package/bin/session/SessionState.js +42 -12
  323. package/bin/session/SessionState.js.map +1 -1
  324. package/bin/session/SessionTitle.d.ts +6 -6
  325. package/bin/session/SessionTitle.d.ts.map +1 -1
  326. package/bin/session/SessionTitle.js +11 -39
  327. package/bin/session/SessionTitle.js.map +1 -1
  328. package/bin/session/browse/Browse.d.ts +6 -4
  329. package/bin/session/browse/Browse.d.ts.map +1 -1
  330. package/bin/session/browse/Browse.js +25 -43
  331. package/bin/session/browse/Browse.js.map +1 -1
  332. package/bin/session/control/SessionInteractions.d.ts +2 -2
  333. package/bin/session/control/SessionInteractions.d.ts.map +1 -1
  334. package/bin/session/control/SessionInteractions.js +68 -32
  335. package/bin/session/control/SessionInteractions.js.map +1 -1
  336. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts +20 -17
  337. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +1 -1
  338. package/bin/session/execution/SessionAssistantOutputAdapter.js +35 -35
  339. package/bin/session/execution/SessionAssistantOutputAdapter.js.map +1 -1
  340. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts +2 -2
  341. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts.map +1 -1
  342. package/bin/session/execution/tools/SessionShellApprovalAdapter.js +20 -8
  343. package/bin/session/execution/tools/SessionShellApprovalAdapter.js.map +1 -1
  344. package/bin/session/messages/SessionAssistantMessageWriter.d.ts +42 -48
  345. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -1
  346. package/bin/session/messages/SessionAssistantMessageWriter.js +225 -543
  347. package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -1
  348. package/bin/session/messages/SessionJsonValue.d.ts +0 -10
  349. package/bin/session/messages/SessionJsonValue.d.ts.map +1 -1
  350. package/bin/session/messages/SessionJsonValue.js +0 -23
  351. package/bin/session/messages/SessionJsonValue.js.map +1 -1
  352. package/bin/session/messages/SessionMessageCompaction.d.ts +7 -3
  353. package/bin/session/messages/SessionMessageCompaction.d.ts.map +1 -1
  354. package/bin/session/messages/SessionMessageCompaction.js +69 -91
  355. package/bin/session/messages/SessionMessageCompaction.js.map +1 -1
  356. package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +1 -1
  357. package/bin/session/messages/SessionMessageInteractionWriter.js +22 -21
  358. package/bin/session/messages/SessionMessageInteractionWriter.js.map +1 -1
  359. package/bin/session/messages/SessionMessageText.d.ts +25 -0
  360. package/bin/session/messages/SessionMessageText.d.ts.map +1 -0
  361. package/bin/session/messages/SessionMessageText.js +52 -0
  362. package/bin/session/messages/SessionMessageText.js.map +1 -0
  363. package/bin/session/preview/SessionMessagePreview.d.ts +3 -3
  364. package/bin/session/preview/SessionMessagePreview.d.ts.map +1 -1
  365. package/bin/session/preview/SessionMessagePreview.js +10 -30
  366. package/bin/session/preview/SessionMessagePreview.js.map +1 -1
  367. package/bin/session/runtime/SessionTurnContext.d.ts.map +1 -1
  368. package/bin/session/runtime/SessionTurnContext.js +4 -2
  369. package/bin/session/runtime/SessionTurnContext.js.map +1 -1
  370. package/bin/session/storage/Metadata.d.ts +5 -3
  371. package/bin/session/storage/Metadata.d.ts.map +1 -1
  372. package/bin/session/storage/Metadata.js +26 -7
  373. package/bin/session/storage/Metadata.js.map +1 -1
  374. package/bin/tools/ask/AskQuestionsTool.d.ts +2 -16
  375. package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  376. package/bin/tools/ask/AskQuestionsTool.js +21 -17
  377. package/bin/tools/ask/AskQuestionsTool.js.map +1 -1
  378. package/bin/types/action/ActionResult.d.ts +15 -10
  379. package/bin/types/action/ActionResult.d.ts.map +1 -1
  380. package/bin/types/action/ActionResult.js +2 -2
  381. package/bin/types/action/ActionResult.js.map +1 -1
  382. package/bin/types/agent/AgentOptions.d.ts +7 -14
  383. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  384. package/bin/types/agent/AgentSessionCollection.d.ts +42 -0
  385. package/bin/types/agent/AgentSessionCollection.d.ts.map +1 -0
  386. package/bin/types/agent/AgentSessionCollection.js +7 -0
  387. package/bin/types/agent/AgentSessionCollection.js.map +1 -0
  388. package/bin/types/agent/AgentStorage.d.ts +18 -0
  389. package/bin/types/agent/AgentStorage.d.ts.map +1 -0
  390. package/bin/types/agent/AgentStorage.js +8 -0
  391. package/bin/types/agent/AgentStorage.js.map +1 -0
  392. package/bin/types/agent/RemoteAgentOptions.d.ts +1 -1
  393. package/bin/types/agent/RemoteAgentPluginAction.d.ts +2 -2
  394. package/bin/types/agent/SessionActor.d.ts +15 -8
  395. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  396. package/bin/types/agent/SessionTypes.d.ts +39 -12
  397. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  398. package/bin/types/agent/WorkspaceEntryOptions.d.ts +16 -0
  399. package/bin/types/agent/WorkspaceEntryOptions.d.ts.map +1 -0
  400. package/bin/types/agent/WorkspaceEntryOptions.js +8 -0
  401. package/bin/types/agent/WorkspaceEntryOptions.js.map +1 -0
  402. package/bin/types/executor/SessionAssistantOutput.d.ts +19 -17
  403. package/bin/types/executor/SessionAssistantOutput.d.ts.map +1 -1
  404. package/bin/types/executor/SessionAssistantOutput.js +2 -3
  405. package/bin/types/executor/SessionAssistantOutput.js.map +1 -1
  406. package/bin/types/executor/SessionToolExecutionContext.d.ts +8 -5
  407. package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -1
  408. package/bin/types/executor/SessionToolExecutionContext.js +1 -1
  409. package/bin/types/executor/SessionTurnContext.d.ts +16 -16
  410. package/bin/types/executor/SessionTurnContext.d.ts.map +1 -1
  411. package/bin/types/group/DispatchStrategy.d.ts +62 -0
  412. package/bin/types/group/DispatchStrategy.d.ts.map +1 -0
  413. package/bin/types/group/DispatchStrategy.js +93 -0
  414. package/bin/types/group/DispatchStrategy.js.map +1 -0
  415. package/bin/types/group/Group.d.ts +61 -0
  416. package/bin/types/group/Group.d.ts.map +1 -0
  417. package/bin/types/group/Group.js +3 -0
  418. package/bin/types/group/Group.js.map +1 -0
  419. package/bin/types/group/GroupSession.d.ts +149 -0
  420. package/bin/types/group/GroupSession.d.ts.map +1 -0
  421. package/bin/types/group/GroupSession.js +3 -0
  422. package/bin/types/group/GroupSession.js.map +1 -0
  423. package/bin/types/group/GroupSessionStore.d.ts +77 -0
  424. package/bin/types/group/GroupSessionStore.d.ts.map +1 -0
  425. package/bin/types/group/GroupSessionStore.js +3 -0
  426. package/bin/types/group/GroupSessionStore.js.map +1 -0
  427. package/bin/types/plugin/AgentPluginContext.d.ts +25 -0
  428. package/bin/types/plugin/AgentPluginContext.d.ts.map +1 -0
  429. package/bin/types/plugin/AgentPluginContext.js +10 -0
  430. package/bin/types/plugin/AgentPluginContext.js.map +1 -0
  431. package/bin/types/plugin/PluginAction.d.ts +10 -8
  432. package/bin/types/plugin/PluginAction.d.ts.map +1 -1
  433. package/bin/types/plugin/PluginActionExecution.d.ts +31 -0
  434. package/bin/types/plugin/PluginActionExecution.d.ts.map +1 -0
  435. package/bin/types/plugin/PluginActionExecution.js +10 -0
  436. package/bin/types/plugin/PluginActionExecution.js.map +1 -0
  437. package/bin/types/plugin/PluginCommand.d.ts +5 -5
  438. package/bin/types/plugin/PluginCommand.d.ts.map +1 -1
  439. package/bin/types/plugin/PluginContext.d.ts +19 -8
  440. package/bin/types/plugin/PluginContext.d.ts.map +1 -1
  441. package/bin/types/plugin/PluginContext.js +1 -1
  442. package/bin/types/plugin/PluginDefinition.d.ts +6 -6
  443. package/bin/types/plugin/PluginExecutionContext.d.ts +4 -10
  444. package/bin/types/plugin/PluginExecutionContext.d.ts.map +1 -1
  445. package/bin/types/plugin/PluginExecutionContext.js +3 -5
  446. package/bin/types/plugin/PluginExecutionContext.js.map +1 -1
  447. package/bin/types/plugin/PluginHttp.d.ts +1 -1
  448. package/bin/types/plugin/PluginRuntime.d.ts +13 -8
  449. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
  450. package/bin/types/plugin/PluginServices.d.ts +10 -0
  451. package/bin/types/plugin/PluginServices.d.ts.map +1 -0
  452. package/bin/types/plugin/PluginServices.js +3 -0
  453. package/bin/types/plugin/PluginServices.js.map +1 -0
  454. package/bin/types/plugin/PluginState.d.ts +3 -3
  455. package/bin/types/plugin/PluginState.d.ts.map +1 -1
  456. package/bin/types/plugin/PluginState.js +1 -1
  457. package/bin/types/plugin/PluginTool.d.ts +6 -4
  458. package/bin/types/plugin/PluginTool.d.ts.map +1 -1
  459. package/bin/types/rpc/RpcProtocol.d.ts +30 -8
  460. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  461. package/bin/types/sdk/AgentSessionAction.d.ts +6 -7
  462. package/bin/types/sdk/AgentSessionAction.d.ts.map +1 -1
  463. package/bin/types/sdk/AgentSessionAction.js +2 -3
  464. package/bin/types/sdk/AgentSessionAction.js.map +1 -1
  465. package/bin/types/sdk/AgentSessionPrompt.d.ts +7 -7
  466. package/bin/types/sdk/AgentSessionPrompt.d.ts.map +1 -1
  467. package/bin/types/sdk/AgentSessionPrompt.js +1 -4
  468. package/bin/types/sdk/AgentSessionPrompt.js.map +1 -1
  469. package/bin/types/session/SessionAction.d.ts +39 -0
  470. package/bin/types/session/SessionAction.d.ts.map +1 -0
  471. package/bin/types/session/SessionAction.js +8 -0
  472. package/bin/types/session/SessionAction.js.map +1 -0
  473. package/bin/types/session/SessionComposer.d.ts +10 -11
  474. package/bin/types/session/SessionComposer.d.ts.map +1 -1
  475. package/bin/types/session/SessionContent.d.ts +41 -0
  476. package/bin/types/session/SessionContent.d.ts.map +1 -0
  477. package/bin/types/session/SessionContent.js +8 -0
  478. package/bin/types/session/SessionContent.js.map +1 -0
  479. package/bin/types/session/SessionExecution.d.ts +9 -68
  480. package/bin/types/session/SessionExecution.d.ts.map +1 -1
  481. package/bin/types/session/SessionInteraction.d.ts +92 -58
  482. package/bin/types/session/SessionInteraction.d.ts.map +1 -1
  483. package/bin/types/session/SessionInteraction.js +11 -4
  484. package/bin/types/session/SessionInteraction.js.map +1 -1
  485. package/bin/types/session/SessionInteractions.d.ts +1 -1
  486. package/bin/types/session/SessionLocalState.d.ts +2 -2
  487. package/bin/types/session/SessionLoop.d.ts +5 -5
  488. package/bin/types/session/SessionLoop.d.ts.map +1 -1
  489. package/bin/types/session/SessionMessage.d.ts +27 -87
  490. package/bin/types/session/SessionMessage.d.ts.map +1 -1
  491. package/bin/types/session/SessionMessages.d.ts +14 -14
  492. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  493. package/bin/types/session/SessionMutation.d.ts +17 -4
  494. package/bin/types/session/SessionMutation.d.ts.map +1 -1
  495. package/bin/types/session/SessionMutation.js.map +1 -1
  496. package/bin/types/session/SessionOptions.d.ts +14 -9
  497. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  498. package/bin/types/session/SessionOrigin.d.ts +19 -0
  499. package/bin/types/session/SessionOrigin.d.ts.map +1 -0
  500. package/bin/types/session/SessionOrigin.js +8 -0
  501. package/bin/types/session/SessionOrigin.js.map +1 -0
  502. package/bin/types/session/SessionPort.d.ts +16 -20
  503. package/bin/types/session/SessionPort.d.ts.map +1 -1
  504. package/bin/types/session/SessionSegment.d.ts +1 -1
  505. package/bin/types/session/SessionState.d.ts +9 -6
  506. package/bin/types/session/SessionState.d.ts.map +1 -1
  507. package/bin/types/session/SessionSystem.d.ts +1 -1
  508. package/bin/types/session/SessionTool.d.ts +12 -1
  509. package/bin/types/session/SessionTool.d.ts.map +1 -1
  510. package/bin/types/store/LocalStore.d.ts +19 -11
  511. package/bin/types/store/LocalStore.d.ts.map +1 -1
  512. package/bin/types/store/LocalStore.js +2 -2
  513. package/bin/types/store/SessionAttachmentStore.d.ts +4 -4
  514. package/bin/types/store/SessionAttachmentStore.js +3 -3
  515. package/bin/types/store/SessionDataStore.d.ts +85 -0
  516. package/bin/types/store/SessionDataStore.d.ts.map +1 -0
  517. package/bin/types/store/SessionDataStore.js +9 -0
  518. package/bin/types/store/SessionDataStore.js.map +1 -0
  519. package/bin/types/store/SessionStore.d.ts +24 -78
  520. package/bin/types/store/SessionStore.d.ts.map +1 -1
  521. package/bin/types/store/SessionStore.js +3 -3
  522. package/bin/types/tools/ToolActionExecutionContext.d.ts +30 -0
  523. package/bin/types/tools/ToolActionExecutionContext.d.ts.map +1 -0
  524. package/bin/types/tools/ToolActionExecutionContext.js +8 -0
  525. package/bin/types/tools/ToolActionExecutionContext.js.map +1 -0
  526. package/bin/types/tools/ask/AskQuestionsTool.d.ts +1 -1
  527. package/bin/utils/logger/Logger.d.ts +21 -9
  528. package/bin/utils/logger/Logger.d.ts.map +1 -1
  529. package/bin/utils/logger/Logger.js +18 -9
  530. package/bin/utils/logger/Logger.js.map +1 -1
  531. package/bin/workspace/WorkspacePaths.d.ts +3 -54
  532. package/bin/workspace/WorkspacePaths.d.ts.map +1 -1
  533. package/bin/workspace/WorkspacePaths.js +7 -74
  534. package/bin/workspace/WorkspacePaths.js.map +1 -1
  535. package/bin/workspace/store/JsonlSessionMessageStore.d.ts +1 -1
  536. package/bin/workspace/store/JsonlSessionMessageStore.d.ts.map +1 -1
  537. package/bin/workspace/store/LocalGroupSessionDataStore.d.ts +46 -0
  538. package/bin/workspace/store/LocalGroupSessionDataStore.d.ts.map +1 -0
  539. package/bin/workspace/store/LocalGroupSessionDataStore.js +197 -0
  540. package/bin/workspace/store/LocalGroupSessionDataStore.js.map +1 -0
  541. package/bin/workspace/store/LocalGroupSessionStore.d.ts +22 -0
  542. package/bin/workspace/store/LocalGroupSessionStore.d.ts.map +1 -0
  543. package/bin/workspace/store/LocalGroupSessionStore.js +75 -0
  544. package/bin/workspace/store/LocalGroupSessionStore.js.map +1 -0
  545. package/bin/workspace/store/LocalSessionAttachmentStore.d.ts +2 -2
  546. package/bin/workspace/store/LocalSessionAttachmentStore.d.ts.map +1 -1
  547. package/bin/workspace/store/LocalSessionAttachmentStore.js +2 -2
  548. package/bin/workspace/store/LocalSessionAttachmentStore.js.map +1 -1
  549. package/bin/workspace/store/LocalSessionDataStore.d.ts +45 -0
  550. package/bin/workspace/store/LocalSessionDataStore.d.ts.map +1 -0
  551. package/bin/workspace/store/LocalSessionDataStore.js +100 -0
  552. package/bin/workspace/store/LocalSessionDataStore.js.map +1 -0
  553. package/bin/workspace/store/LocalSessionStore.d.ts +38 -28
  554. package/bin/workspace/store/LocalSessionStore.d.ts.map +1 -1
  555. package/bin/workspace/store/LocalSessionStore.js +151 -51
  556. package/bin/workspace/store/LocalSessionStore.js.map +1 -1
  557. package/bin/workspace/store/LocalStorePaths.d.ts +31 -83
  558. package/bin/workspace/store/LocalStorePaths.d.ts.map +1 -1
  559. package/bin/workspace/store/LocalStorePaths.js +43 -101
  560. package/bin/workspace/store/LocalStorePaths.js.map +1 -1
  561. package/bin/workspace/store/SessionMessageStoreFactory.d.ts +1 -1
  562. package/bin/workspace/store/SessionMessageStoreFactory.d.ts.map +1 -1
  563. package/bin/workspace/store/SessionMessageStoreFactory.js +1 -1
  564. package/city-test/agent-http.test.mjs +326 -0
  565. package/city-test/city-container.test.mjs +156 -0
  566. package/city-test/city-host-registry.test.mjs +68 -0
  567. package/city-test/city-transport.test.mjs +282 -0
  568. package/city-test/group.test.mjs +739 -0
  569. package/city-test/session-model.test.mjs +169 -0
  570. package/city-test/transport-lifecycle.test.mjs +164 -0
  571. package/package.json +30 -17
  572. package/scripts/ModelClientMock.mjs +165 -0
  573. package/scripts/action-schedule-store.test.mjs +81 -11
  574. package/scripts/agent-compiler.mjs +10 -6
  575. package/scripts/agent-env-shell-sandbox.test.mjs +10 -10
  576. package/scripts/agent-env.test.mjs +6 -8
  577. package/scripts/agent-multi-workspace.test.mjs +213 -0
  578. package/scripts/agent-ready.test.mjs +71 -16
  579. package/scripts/agent-session-maintenance.test.mjs +15 -28
  580. package/scripts/agent-store.test.mjs +121 -22
  581. package/scripts/city-model-tool-loop.test.mjs +66 -195
  582. package/scripts/core-engine-context-compaction.test.mjs +65 -113
  583. package/scripts/core-engine-model-stream.test.mjs +87 -0
  584. package/scripts/executor-failure-result.test.mjs +13 -29
  585. package/scripts/file-tools.test.mjs +6 -6
  586. package/scripts/image-plugin-job.test.mjs +77 -40
  587. package/scripts/logger-isolation.test.mjs +2 -2
  588. package/scripts/multi-agent-plugin-isolation.test.mjs +11 -9
  589. package/scripts/plugin-tools.test.mjs +153 -18
  590. package/scripts/public-api-naming.test.mjs +0 -1
  591. package/scripts/rewrite-build-aliases.mjs +49 -0
  592. package/scripts/rpc-url-routing.test.mjs +29 -0
  593. package/scripts/search-tools.test.mjs +4 -4
  594. package/scripts/session-ask-question.test.mjs +23 -21
  595. package/scripts/session-attachments.test.mjs +11 -9
  596. package/scripts/session-compact-handle.test.mjs +6 -5
  597. package/scripts/session-composer.test.mjs +61 -18
  598. package/scripts/session-config-turn-boundary.test.mjs +132 -92
  599. package/scripts/session-dynamic-interaction.test.mjs +75 -0
  600. package/scripts/session-fork.test.mjs +35 -0
  601. package/scripts/session-list-title.test.mjs +14 -56
  602. package/scripts/session-messages.test.mjs +306 -1681
  603. package/scripts/session-shell-approval.test.mjs +16 -13
  604. package/scripts/session-system-blocks.test.mjs +1 -1
  605. package/scripts/session-title-event.test.mjs +38 -24
  606. package/scripts/session-tool-approval.test.mjs +17 -15
  607. package/scripts/session-turn-context.test.mjs +31 -28
  608. package/scripts/session-turn-failure.test.mjs +112 -110
  609. package/scripts/verify-build-aliases.mjs +32 -0
  610. package/scripts/workspace.test.mjs +146 -32
  611. package/src/agent/Agent.ts +138 -238
  612. package/src/agent/AgentModel.ts +9 -9
  613. package/src/agent/AgentSessions.ts +116 -65
  614. package/src/agent/WorkspaceEntry.ts +309 -0
  615. package/src/agent/index.ts +4 -0
  616. package/src/city/host/CityHostRegistry.ts +260 -0
  617. package/src/city/index.ts +49 -0
  618. package/src/city/runtime/City.ts +425 -0
  619. package/src/city/transport/SerializedTransport.ts +65 -0
  620. package/src/city/transport/http/AgentHTTP.ts +176 -0
  621. package/src/city/transport/http/CityHTTP.ts +196 -0
  622. package/src/city/transport/http/NodeHttpAdapter.ts +75 -0
  623. package/src/city/transport/http/routes/RuntimeRoutes.ts +51 -0
  624. package/src/city/transport/http/routes/SessionRoutes.ts +497 -0
  625. package/src/city/transport/rpc/AgentRPC.ts +111 -0
  626. package/src/city/transport/rpc/CityRPC.ts +138 -0
  627. package/src/city/transport/rpc/RpcServer.ts +158 -0
  628. package/src/city/transport/rpc/server/InternalHandlers.ts +223 -0
  629. package/src/city/transport/rpc/server/RequestDispatcher.ts +67 -0
  630. package/src/city/transport/rpc/server/SdkSessionHandlers.ts +166 -0
  631. package/src/city/transport/rpc/server/ServerTypes.ts +103 -0
  632. package/src/city/transport/session/RemoteSessionConfig.ts +34 -0
  633. package/src/city/transport/types/AgentHttpBinding.ts +25 -0
  634. package/src/city/transport/types/AgentHttpRuntime.ts +13 -0
  635. package/src/city/transport/types/AgentRpcBinding.ts +28 -0
  636. package/src/city/transport/types/AgentRpcRuntime.ts +20 -0
  637. package/src/city/transport/types/AgentSessionModelResolver.ts +13 -0
  638. package/src/city/transport/types/CityHttpRuntime.ts +45 -0
  639. package/src/city/transport/types/CityRpcRuntime.ts +27 -0
  640. package/src/city/transport/types/RpcProtocol.ts +32 -0
  641. package/src/city/types/City.ts +99 -0
  642. package/src/city/types/PluginHostContext.ts +40 -0
  643. package/src/city/types/SerializedTransport.ts +19 -0
  644. package/src/executor/Executor.ts +101 -43
  645. package/src/executor/README.md +11 -8
  646. package/src/executor/composer/system/SessionSystemComposer.ts +2 -2
  647. package/src/executor/composer/system/default/PromptRenderer.ts +2 -2
  648. package/src/executor/composer/system/default/SystemDomain.ts +5 -5
  649. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  650. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +4 -12
  651. package/src/executor/core-engine/CoreEngineContextCompaction.ts +113 -427
  652. package/src/executor/core-engine/CoreEngineError.ts +1 -1
  653. package/src/executor/core-engine/CoreEngineLoopDecision.ts +1 -18
  654. package/src/executor/core-engine/CoreEngineMessageState.ts +32 -101
  655. package/src/executor/core-engine/CoreEngineRunner.ts +179 -281
  656. package/src/executor/core-engine/CoreEngineSignals.ts +98 -346
  657. package/src/executor/messages/SessionAttachmentMapper.ts +15 -273
  658. package/src/executor/messages/SessionMessageLog.ts +12 -25
  659. package/src/executor/messages/SessionModelMessages.ts +223 -0
  660. package/src/executor/model/ModelGenerate.ts +71 -0
  661. package/src/executor/model/ModelStepRunner.ts +381 -0
  662. package/src/executor/services/ExecutorRecoveryPolicy.ts +4 -4
  663. package/src/executor/types/SessionHistoryMeta.ts +8 -2
  664. package/src/executor/types/SessionLoop.ts +0 -26
  665. package/src/executor/types/SessionPrompts.ts +8 -8
  666. package/src/group/Group.ts +45 -0
  667. package/src/group/GroupSession.ts +728 -0
  668. package/src/group/GroupSessions.ts +104 -0
  669. package/src/group/index.ts +29 -0
  670. package/src/index.ts +110 -60
  671. package/src/internal/AgentRuntime.ts +229 -0
  672. package/src/internal/GroupRuntime.ts +89 -0
  673. package/src/internal/index.ts +33 -0
  674. package/src/plugin/core/ActionScheduleExecutor.ts +17 -5
  675. package/src/plugin/core/ActionScheduleRuntime.ts +16 -6
  676. package/src/plugin/core/ActionScheduleStore.ts +43 -12
  677. package/src/plugin/core/HookRegistry.ts +24 -14
  678. package/src/plugin/core/PluginActionExecution.ts +230 -0
  679. package/src/plugin/core/PluginActionFactory.ts +9 -3
  680. package/src/plugin/core/PluginContext.ts +25 -6
  681. package/src/plugin/core/PluginHttpRoutes.ts +2 -2
  682. package/src/plugin/core/PluginRegistry.ts +193 -107
  683. package/src/plugin/tool/PluginToolRuntime.ts +4 -1
  684. package/src/plugin/tool/PluginToolSchemas.ts +3 -4
  685. package/src/plugin/tool/PluginTools.ts +12 -8
  686. package/src/plugin/types/ActionSchedule.ts +6 -0
  687. package/src/remote/transports/HttpRemoteAgentTransport.ts +3 -3
  688. package/src/remote/transports/RpcClient.ts +17 -0
  689. package/src/remote/transports/RpcRemoteAgentTransport.ts +1 -0
  690. package/src/session/DefaultSessionComposer.ts +3 -3
  691. package/src/session/Session.ts +79 -43
  692. package/src/session/SessionLoop.ts +27 -34
  693. package/src/session/SessionMessages.ts +63 -121
  694. package/src/session/SessionState.ts +46 -21
  695. package/src/session/SessionTitle.ts +23 -40
  696. package/src/session/browse/Browse.ts +35 -63
  697. package/src/session/control/SessionInteractions.ts +72 -51
  698. package/src/session/execution/SessionAssistantOutputAdapter.ts +44 -45
  699. package/src/session/execution/tools/SessionShellApprovalAdapter.ts +20 -9
  700. package/src/session/messages/SessionAssistantMessageWriter.ts +259 -637
  701. package/src/session/messages/SessionJsonValue.ts +0 -23
  702. package/src/session/messages/SessionMessageCompaction.ts +78 -103
  703. package/src/session/messages/SessionMessageInteractionWriter.ts +22 -22
  704. package/src/session/messages/SessionMessageText.ts +73 -0
  705. package/src/session/preview/SessionMessagePreview.ts +15 -45
  706. package/src/session/runtime/SessionTurnContext.ts +11 -9
  707. package/src/session/storage/Metadata.ts +38 -9
  708. package/src/tools/ask/AskQuestionsTool.ts +28 -17
  709. package/src/types/action/ActionResult.ts +20 -11
  710. package/src/types/agent/AgentOptions.ts +6 -13
  711. package/src/types/agent/AgentSessionCollection.ts +61 -0
  712. package/src/types/agent/AgentStorage.ts +19 -0
  713. package/src/types/agent/RemoteAgentOptions.ts +1 -1
  714. package/src/types/agent/SessionActor.ts +9 -0
  715. package/src/types/agent/SessionTypes.ts +41 -12
  716. package/src/types/agent/WorkspaceEntryOptions.ts +18 -0
  717. package/src/types/executor/SessionAssistantOutput.ts +22 -17
  718. package/src/types/executor/SessionToolExecutionContext.ts +9 -4
  719. package/src/types/executor/SessionTurnContext.ts +11 -11
  720. package/src/types/group/DispatchStrategy.ts +165 -0
  721. package/src/types/group/Group.ts +64 -0
  722. package/src/types/group/GroupSession.ts +154 -0
  723. package/src/types/group/GroupSessionStore.ts +82 -0
  724. package/src/types/plugin/AgentPluginContext.ts +30 -0
  725. package/src/types/plugin/PluginAction.ts +7 -5
  726. package/src/types/plugin/PluginActionExecution.ts +36 -0
  727. package/src/types/plugin/PluginCommand.ts +5 -5
  728. package/src/types/plugin/PluginContext.ts +23 -7
  729. package/src/types/plugin/PluginExecutionContext.ts +6 -11
  730. package/src/types/plugin/PluginRuntime.ts +5 -0
  731. package/src/types/plugin/PluginServices.ts +11 -0
  732. package/src/types/plugin/PluginState.ts +2 -2
  733. package/src/types/plugin/PluginTool.ts +4 -1
  734. package/src/types/rpc/RpcProtocol.ts +24 -2
  735. package/src/types/sdk/AgentSessionAction.ts +8 -9
  736. package/src/types/sdk/AgentSessionPrompt.ts +8 -11
  737. package/src/types/session/SessionAction.ts +41 -0
  738. package/src/types/session/SessionComposer.ts +8 -13
  739. package/src/types/session/SessionContent.ts +52 -0
  740. package/src/types/session/SessionExecution.ts +9 -88
  741. package/src/types/session/SessionInteraction.ts +106 -73
  742. package/src/types/session/SessionLoop.ts +1 -1
  743. package/src/types/session/SessionMessage.ts +27 -94
  744. package/src/types/session/SessionMessages.ts +12 -9
  745. package/src/types/session/SessionMutation.ts +17 -2
  746. package/src/types/session/SessionOptions.ts +11 -4
  747. package/src/types/session/SessionOrigin.ts +21 -0
  748. package/src/types/session/SessionPort.ts +12 -20
  749. package/src/types/session/SessionState.ts +7 -4
  750. package/src/types/session/SessionTool.ts +12 -0
  751. package/src/types/store/LocalStore.ts +19 -11
  752. package/src/types/store/SessionAttachmentStore.ts +4 -4
  753. package/src/types/store/SessionDataStore.ts +109 -0
  754. package/src/types/store/SessionStore.ts +37 -94
  755. package/src/types/tools/ToolActionExecutionContext.ts +32 -0
  756. package/src/utils/logger/Logger.ts +33 -12
  757. package/src/workspace/WorkspacePaths.ts +7 -82
  758. package/src/workspace/store/JsonlSessionMessageStore.ts +2 -2
  759. package/src/workspace/store/LocalGroupSessionDataStore.ts +232 -0
  760. package/src/workspace/store/LocalGroupSessionStore.ts +90 -0
  761. package/src/workspace/store/LocalSessionAttachmentStore.ts +3 -3
  762. package/src/workspace/store/LocalSessionDataStore.ts +169 -0
  763. package/src/workspace/store/LocalSessionStore.ts +202 -86
  764. package/src/workspace/store/LocalStorePaths.ts +65 -147
  765. package/src/workspace/store/SessionMessageStoreFactory.ts +1 -1
  766. package/tsconfig.json +2 -1
  767. package/tsconfig.tsbuildinfo +1 -1
  768. package/LICENSE +0 -183
  769. package/bin/agent/AgentState.d.ts +0 -45
  770. package/bin/agent/AgentState.d.ts.map +0 -1
  771. package/bin/agent/AgentState.js +0 -74
  772. package/bin/agent/AgentState.js.map +0 -1
  773. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts +0 -48
  774. package/bin/executor/core-engine/CoreEngineUiStreamCollector.d.ts.map +0 -1
  775. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js +0 -92
  776. package/bin/executor/core-engine/CoreEngineUiStreamCollector.js.map +0 -1
  777. package/bin/executor/messages/SessionMessageCodec.d.ts +0 -29
  778. package/bin/executor/messages/SessionMessageCodec.d.ts.map +0 -1
  779. package/bin/executor/messages/SessionMessageCodec.js +0 -75
  780. package/bin/executor/messages/SessionMessageCodec.js.map +0 -1
  781. package/bin/executor/messages/SessionStepEventMapper.d.ts +0 -19
  782. package/bin/executor/messages/SessionStepEventMapper.d.ts.map +0 -1
  783. package/bin/executor/messages/SessionStepEventMapper.js +0 -177
  784. package/bin/executor/messages/SessionStepEventMapper.js.map +0 -1
  785. package/bin/executor/messages/UIMessageTransformer.d.ts +0 -29
  786. package/bin/executor/messages/UIMessageTransformer.d.ts.map +0 -1
  787. package/bin/executor/messages/UIMessageTransformer.js +0 -114
  788. package/bin/executor/messages/UIMessageTransformer.js.map +0 -1
  789. package/bin/executor/messages/UserVisibleText.d.ts +0 -26
  790. package/bin/executor/messages/UserVisibleText.d.ts.map +0 -1
  791. package/bin/executor/messages/UserVisibleText.js +0 -65
  792. package/bin/executor/messages/UserVisibleText.js.map +0 -1
  793. package/bin/executor/types/SessionRecords.d.ts +0 -162
  794. package/bin/executor/types/SessionRecords.d.ts.map +0 -1
  795. package/bin/executor/types/SessionRecords.js +0 -51
  796. package/bin/executor/types/SessionRecords.js.map +0 -1
  797. package/bin/plugin/core/PluginActionRunner.d.ts +0 -24
  798. package/bin/plugin/core/PluginActionRunner.d.ts.map +0 -1
  799. package/bin/plugin/core/PluginActionRunner.js +0 -19
  800. package/bin/plugin/core/PluginActionRunner.js.map +0 -1
  801. package/bin/session/messages/SessionMessageCodec.d.ts +0 -23
  802. package/bin/session/messages/SessionMessageCodec.d.ts.map +0 -1
  803. package/bin/session/messages/SessionMessageCodec.js +0 -455
  804. package/bin/session/messages/SessionMessageCodec.js.map +0 -1
  805. package/bin/types/agent/AgentState.d.ts +0 -19
  806. package/bin/types/agent/AgentState.d.ts.map +0 -1
  807. package/bin/types/agent/AgentState.js +0 -9
  808. package/bin/types/agent/AgentState.js.map +0 -1
  809. package/bin/types/store/AgentStore.d.ts +0 -31
  810. package/bin/types/store/AgentStore.d.ts.map +0 -1
  811. package/bin/types/store/AgentStore.js +0 -9
  812. package/bin/types/store/AgentStore.js.map +0 -1
  813. package/bin/types/workspace/FileSystem.d.ts +0 -55
  814. package/bin/types/workspace/FileSystem.d.ts.map +0 -1
  815. package/bin/types/workspace/FileSystem.js +0 -9
  816. package/bin/types/workspace/FileSystem.js.map +0 -1
  817. package/bin/types/workspace/FileTool.d.ts +0 -181
  818. package/bin/types/workspace/FileTool.d.ts.map +0 -1
  819. package/bin/types/workspace/FileTool.js +0 -10
  820. package/bin/types/workspace/FileTool.js.map +0 -1
  821. package/bin/types/workspace/SearchTool.d.ts +0 -131
  822. package/bin/types/workspace/SearchTool.d.ts.map +0 -1
  823. package/bin/types/workspace/SearchTool.js +0 -10
  824. package/bin/types/workspace/SearchTool.js.map +0 -1
  825. package/bin/types/workspace/Workspace.d.ts +0 -24
  826. package/bin/types/workspace/Workspace.d.ts.map +0 -1
  827. package/bin/types/workspace/Workspace.js +0 -9
  828. package/bin/types/workspace/Workspace.js.map +0 -1
  829. package/bin/types/workspace/WorkspaceEnv.d.ts +0 -16
  830. package/bin/types/workspace/WorkspaceEnv.d.ts.map +0 -1
  831. package/bin/types/workspace/WorkspaceEnv.js +0 -9
  832. package/bin/types/workspace/WorkspaceEnv.js.map +0 -1
  833. package/bin/types/workspace/WorkspaceTools.d.ts +0 -20
  834. package/bin/types/workspace/WorkspaceTools.d.ts.map +0 -1
  835. package/bin/types/workspace/WorkspaceTools.js +0 -9
  836. package/bin/types/workspace/WorkspaceTools.js.map +0 -1
  837. package/bin/utils/cli/CliOutput.d.ts +0 -14
  838. package/bin/utils/cli/CliOutput.d.ts.map +0 -1
  839. package/bin/utils/cli/CliOutput.js +0 -98
  840. package/bin/utils/cli/CliOutput.js.map +0 -1
  841. package/bin/utils/cli/PrettyStatus.d.ts +0 -25
  842. package/bin/utils/cli/PrettyStatus.d.ts.map +0 -1
  843. package/bin/utils/cli/PrettyStatus.js +0 -77
  844. package/bin/utils/cli/PrettyStatus.js.map +0 -1
  845. package/bin/utils/logger/FormatRequest.d.ts +0 -29
  846. package/bin/utils/logger/FormatRequest.d.ts.map +0 -1
  847. package/bin/utils/logger/FormatRequest.js +0 -309
  848. package/bin/utils/logger/FormatRequest.js.map +0 -1
  849. package/bin/utils/logger/FormatResponse.d.ts +0 -46
  850. package/bin/utils/logger/FormatResponse.d.ts.map +0 -1
  851. package/bin/utils/logger/FormatResponse.js +0 -186
  852. package/bin/utils/logger/FormatResponse.js.map +0 -1
  853. package/bin/utils/logger/FormatShared.d.ts +0 -33
  854. package/bin/utils/logger/FormatShared.d.ts.map +0 -1
  855. package/bin/utils/logger/FormatShared.js +0 -215
  856. package/bin/utils/logger/FormatShared.js.map +0 -1
  857. package/bin/utils/object/DeepMerge.d.ts +0 -18
  858. package/bin/utils/object/DeepMerge.d.ts.map +0 -1
  859. package/bin/utils/object/DeepMerge.js +0 -37
  860. package/bin/utils/object/DeepMerge.js.map +0 -1
  861. package/bin/utils/object/ObjectGuards.d.ts +0 -17
  862. package/bin/utils/object/ObjectGuards.d.ts.map +0 -1
  863. package/bin/utils/object/ObjectGuards.js +0 -19
  864. package/bin/utils/object/ObjectGuards.js.map +0 -1
  865. package/bin/utils/path/AncestorFiles.d.ts +0 -17
  866. package/bin/utils/path/AncestorFiles.d.ts.map +0 -1
  867. package/bin/utils/path/AncestorFiles.js +0 -36
  868. package/bin/utils/path/AncestorFiles.js.map +0 -1
  869. package/bin/utils/storage/index.d.ts +0 -4
  870. package/bin/utils/storage/index.d.ts.map +0 -1
  871. package/bin/utils/storage/index.js +0 -17
  872. package/bin/utils/storage/index.js.map +0 -1
  873. package/bin/utils/string/EscapeRegExp.d.ts +0 -17
  874. package/bin/utils/string/EscapeRegExp.d.ts.map +0 -1
  875. package/bin/utils/string/EscapeRegExp.js +0 -19
  876. package/bin/utils/string/EscapeRegExp.js.map +0 -1
  877. package/bin/workspace/LocalFileSystem.d.ts +0 -44
  878. package/bin/workspace/LocalFileSystem.d.ts.map +0 -1
  879. package/bin/workspace/LocalFileSystem.js +0 -153
  880. package/bin/workspace/LocalFileSystem.js.map +0 -1
  881. package/bin/workspace/Workspace.d.ts +0 -53
  882. package/bin/workspace/Workspace.d.ts.map +0 -1
  883. package/bin/workspace/Workspace.js +0 -151
  884. package/bin/workspace/Workspace.js.map +0 -1
  885. package/bin/workspace/WorkspaceBase.d.ts +0 -41
  886. package/bin/workspace/WorkspaceBase.d.ts.map +0 -1
  887. package/bin/workspace/WorkspaceBase.js +0 -19
  888. package/bin/workspace/WorkspaceBase.js.map +0 -1
  889. package/bin/workspace/WorkspaceEnv.d.ts +0 -19
  890. package/bin/workspace/WorkspaceEnv.d.ts.map +0 -1
  891. package/bin/workspace/WorkspaceEnv.js +0 -50
  892. package/bin/workspace/WorkspaceEnv.js.map +0 -1
  893. package/bin/workspace/file/FileActionRuntime.d.ts +0 -14
  894. package/bin/workspace/file/FileActionRuntime.d.ts.map +0 -1
  895. package/bin/workspace/file/FileActionRuntime.js +0 -386
  896. package/bin/workspace/file/FileActionRuntime.js.map +0 -1
  897. package/bin/workspace/file/FileAtomicWriter.d.ts +0 -20
  898. package/bin/workspace/file/FileAtomicWriter.d.ts.map +0 -1
  899. package/bin/workspace/file/FileAtomicWriter.js +0 -50
  900. package/bin/workspace/file/FileAtomicWriter.js.map +0 -1
  901. package/bin/workspace/file/FileEncoding.d.ts +0 -34
  902. package/bin/workspace/file/FileEncoding.d.ts.map +0 -1
  903. package/bin/workspace/file/FileEncoding.js +0 -152
  904. package/bin/workspace/file/FileEncoding.js.map +0 -1
  905. package/bin/workspace/file/FilePathPolicy.d.ts +0 -26
  906. package/bin/workspace/file/FilePathPolicy.d.ts.map +0 -1
  907. package/bin/workspace/file/FilePathPolicy.js +0 -134
  908. package/bin/workspace/file/FilePathPolicy.js.map +0 -1
  909. package/bin/workspace/file/FileToolError.d.ts +0 -30
  910. package/bin/workspace/file/FileToolError.d.ts.map +0 -1
  911. package/bin/workspace/file/FileToolError.js +0 -78
  912. package/bin/workspace/file/FileToolError.js.map +0 -1
  913. package/bin/workspace/search/SearchActionRuntime.d.ts +0 -14
  914. package/bin/workspace/search/SearchActionRuntime.d.ts.map +0 -1
  915. package/bin/workspace/search/SearchActionRuntime.js +0 -359
  916. package/bin/workspace/search/SearchActionRuntime.js.map +0 -1
  917. package/bin/workspace/search/SearchToolError.d.ts +0 -26
  918. package/bin/workspace/search/SearchToolError.d.ts.map +0 -1
  919. package/bin/workspace/search/SearchToolError.js +0 -76
  920. package/bin/workspace/search/SearchToolError.js.map +0 -1
  921. package/bin/workspace/store/LocalAgentStore.d.ts +0 -43
  922. package/bin/workspace/store/LocalAgentStore.d.ts.map +0 -1
  923. package/bin/workspace/store/LocalAgentStore.js +0 -135
  924. package/bin/workspace/store/LocalAgentStore.js.map +0 -1
  925. package/bin/workspace/tool/FileToolSchemas.d.ts +0 -35
  926. package/bin/workspace/tool/FileToolSchemas.d.ts.map +0 -1
  927. package/bin/workspace/tool/FileToolSchemas.js +0 -73
  928. package/bin/workspace/tool/FileToolSchemas.js.map +0 -1
  929. package/bin/workspace/tool/FileTools.d.ts +0 -11
  930. package/bin/workspace/tool/FileTools.d.ts.map +0 -1
  931. package/bin/workspace/tool/FileTools.js +0 -61
  932. package/bin/workspace/tool/FileTools.js.map +0 -1
  933. package/bin/workspace/tool/SearchToolSchemas.d.ts +0 -24
  934. package/bin/workspace/tool/SearchToolSchemas.d.ts.map +0 -1
  935. package/bin/workspace/tool/SearchToolSchemas.js +0 -60
  936. package/bin/workspace/tool/SearchToolSchemas.js.map +0 -1
  937. package/bin/workspace/tool/SearchTools.d.ts +0 -11
  938. package/bin/workspace/tool/SearchTools.d.ts.map +0 -1
  939. package/bin/workspace/tool/SearchTools.js +0 -38
  940. package/bin/workspace/tool/SearchTools.js.map +0 -1
  941. package/bin/workspace/tool/WorkspaceTools.d.ts +0 -11
  942. package/bin/workspace/tool/WorkspaceTools.d.ts.map +0 -1
  943. package/bin/workspace/tool/WorkspaceTools.js +0 -22
  944. package/bin/workspace/tool/WorkspaceTools.js.map +0 -1
  945. package/scripts/core-engine-ui-stream-collector.test.mjs +0 -38
  946. package/scripts/openai-responses-continuation.test.mjs +0 -78
  947. package/src/agent/AgentState.ts +0 -96
  948. package/src/executor/core-engine/CoreEngineUiStreamCollector.ts +0 -136
  949. package/src/executor/messages/SessionMessageCodec.ts +0 -106
  950. package/src/executor/messages/SessionStepEventMapper.ts +0 -191
  951. package/src/executor/messages/UIMessageTransformer.ts +0 -152
  952. package/src/executor/messages/UserVisibleText.ts +0 -75
  953. package/src/executor/types/SessionRecords.ts +0 -217
  954. package/src/plugin/core/PluginActionRunner.ts +0 -36
  955. package/src/session/messages/SessionMessageCodec.ts +0 -495
  956. package/src/types/agent/AgentState.ts +0 -22
  957. package/src/types/store/AgentStore.ts +0 -52
  958. package/src/types/workspace/FileSystem.ts +0 -76
  959. package/src/types/workspace/FileTool.ts +0 -225
  960. package/src/types/workspace/SearchTool.ts +0 -156
  961. package/src/types/workspace/Workspace.ts +0 -27
  962. package/src/types/workspace/WorkspaceEnv.ts +0 -19
  963. package/src/types/workspace/WorkspaceTools.ts +0 -23
  964. package/src/utils/cli/CliOutput.ts +0 -128
  965. package/src/utils/cli/PrettyStatus.ts +0 -94
  966. package/src/utils/logger/FormatRequest.ts +0 -455
  967. package/src/utils/logger/FormatResponse.ts +0 -265
  968. package/src/utils/logger/FormatShared.ts +0 -258
  969. package/src/utils/object/DeepMerge.ts +0 -40
  970. package/src/utils/object/ObjectGuards.ts +0 -19
  971. package/src/utils/path/AncestorFiles.ts +0 -40
  972. package/src/utils/storage/index.ts +0 -19
  973. package/src/utils/string/EscapeRegExp.ts +0 -19
  974. package/src/workspace/LocalFileSystem.ts +0 -209
  975. package/src/workspace/Workspace.ts +0 -178
  976. package/src/workspace/WorkspaceBase.ts +0 -62
  977. package/src/workspace/WorkspaceEnv.ts +0 -54
  978. package/src/workspace/file/FileActionRuntime.ts +0 -433
  979. package/src/workspace/file/FileAtomicWriter.ts +0 -61
  980. package/src/workspace/file/FileEncoding.ts +0 -175
  981. package/src/workspace/file/FilePathPolicy.ts +0 -162
  982. package/src/workspace/file/FileToolError.ts +0 -99
  983. package/src/workspace/search/SearchActionRuntime.ts +0 -438
  984. package/src/workspace/search/SearchToolError.ts +0 -94
  985. package/src/workspace/store/LocalAgentStore.ts +0 -191
  986. package/src/workspace/tool/FileToolSchemas.ts +0 -77
  987. package/src/workspace/tool/FileTools.ts +0 -91
  988. package/src/workspace/tool/SearchToolSchemas.ts +0 -62
  989. package/src/workspace/tool/SearchTools.ts +0 -61
  990. package/src/workspace/tool/WorkspaceTools.ts +0 -31
@@ -1,135 +0,0 @@
1
- /**
2
- * LocalAgentStore:Workspace 内本地 Agent 领域数据入口。
3
- *
4
- * 职责说明(中文)
5
- * - 统一管理 Session 创建判断、删除、列表、归档与清理。
6
- * - 缓存稳定的 LocalSessionStore,避免同一 Session 重复创建 Message Store。
7
- * - 当前阶段沿用既有本地目录布局;调用方和 Session 不感知该约定。
8
- */
9
- import { LocalSessionStore } from "../../workspace/store/LocalSessionStore.js";
10
- import { get_sdk_agent_archived_session_dir_path, get_sdk_agent_archived_sessions_dir_path, get_sdk_agent_session_dir_path, get_sdk_agent_session_messages_dir_path, } from "../../workspace/store/LocalStorePaths.js";
11
- import { list_archived_agent_session_summary_page, list_agent_session_summary_page, } from "../../session/browse/Browse.js";
12
- /** 解码目录中经过 URL 编码的 Session 标识。 */
13
- function decode_session_id(input) {
14
- try {
15
- return decodeURIComponent(input);
16
- }
17
- catch {
18
- return input;
19
- }
20
- }
21
- /** 默认本地 Agent Store。 */
22
- export class LocalAgentStore {
23
- /** 当前 Store 与 WorkspaceTools 共用的 Workspace 文件能力。 */
24
- files;
25
- /** 当前 Agent 的稳定标识。 */
26
- agent_id;
27
- /** 已创建的 Session Store 缓存。 */
28
- sessions = new Map();
29
- constructor(options) {
30
- this.files = options.files;
31
- this.agent_id = options.agent_id;
32
- }
33
- /** 返回指定 Session 的稳定持久化视图。 */
34
- session(session_id) {
35
- const resolved_session_id = String(session_id || "").trim();
36
- if (!resolved_session_id) {
37
- throw new Error("AgentStore.session requires a non-empty session_id");
38
- }
39
- const cached = this.sessions.get(resolved_session_id);
40
- if (cached)
41
- return cached;
42
- const created = new LocalSessionStore({
43
- files: this.files,
44
- agent_id: this.agent_id,
45
- session_id: resolved_session_id,
46
- });
47
- this.sessions.set(resolved_session_id, created);
48
- return created;
49
- }
50
- /** 判断活动 Session 是否存在。 */
51
- async has_session(session_id) {
52
- return await this.files.path_exists(this.session_path(session_id));
53
- }
54
- /** 永久删除活动 Session。 */
55
- async remove_session(session_id) {
56
- const session_path = this.session_path(session_id);
57
- const existed = await this.files.path_exists(session_path);
58
- if (existed)
59
- await this.files.remove_path(session_path);
60
- this.sessions.delete(session_id);
61
- return existed;
62
- }
63
- /** 清空活动 Session Message 数据。 */
64
- async clear_session_messages(session_id) {
65
- const messages_path = get_sdk_agent_session_messages_dir_path(this.files.root_path, this.agent_id, session_id);
66
- const existed = await this.files.path_exists(messages_path);
67
- if (existed)
68
- await this.files.remove_path(messages_path);
69
- this.sessions.delete(session_id);
70
- return existed;
71
- }
72
- /** 返回活动 Session 摘要页。 */
73
- async list_sessions(input, executing_session_ids) {
74
- return await list_agent_session_summary_page({
75
- project_root: this.files.root_path,
76
- agent_id: this.agent_id,
77
- input,
78
- executingSessionIds: new Set(executing_session_ids),
79
- files: this.files,
80
- });
81
- }
82
- /** 将活动 Session 迁入归档区。 */
83
- async archive_session(session_id) {
84
- const source_path = this.session_path(session_id);
85
- if (!(await this.files.path_exists(source_path))) {
86
- throw new Error(`Session "${session_id}" not found`);
87
- }
88
- const target_path = get_sdk_agent_archived_session_dir_path(this.files.root_path, this.agent_id, session_id);
89
- if (await this.files.path_exists(target_path)) {
90
- throw new Error(`Archived session "${session_id}" already exists`);
91
- }
92
- await this.files.ensure_directory(get_sdk_agent_archived_sessions_dir_path(this.files.root_path, this.agent_id));
93
- await this.files.move_path(source_path, target_path);
94
- this.sessions.delete(session_id);
95
- return {
96
- session_id: session_id,
97
- archived_at: Date.now(),
98
- };
99
- }
100
- /** 返回归档 Session 摘要页。 */
101
- async list_archived_sessions(input) {
102
- return await list_archived_agent_session_summary_page({
103
- project_root: this.files.root_path,
104
- agent_id: this.agent_id,
105
- input,
106
- files: this.files,
107
- });
108
- }
109
- /** 永久删除全部归档 Session。 */
110
- async clean_archive() {
111
- const archive_path = get_sdk_agent_archived_sessions_dir_path(this.files.root_path, this.agent_id);
112
- if (!(await this.files.path_exists(archive_path))) {
113
- return { removed_session_ids: [] };
114
- }
115
- const entries = await this.files.read_directory(archive_path);
116
- const removed_session_ids = [];
117
- for (const entry of entries) {
118
- if (!entry.is_directory)
119
- continue;
120
- const session_id = decode_session_id(entry.name);
121
- if (!session_id)
122
- continue;
123
- await this.files.remove_path(get_sdk_agent_archived_session_dir_path(this.files.root_path, this.agent_id, session_id));
124
- removed_session_ids.push(session_id);
125
- }
126
- return { removed_session_ids: removed_session_ids };
127
- }
128
- /** 本地 JSONL Store 当前没有常驻句柄。 */
129
- async dispose() { }
130
- /** 返回活动 Session 物理目录,仅供本地实现内部使用。 */
131
- session_path(session_id) {
132
- return get_sdk_agent_session_dir_path(this.files.root_path, this.agent_id, session_id);
133
- }
134
- }
135
- //# sourceMappingURL=LocalAgentStore.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocalAgentStore.js","sourceRoot":"","sources":["../../../src/workspace/store/LocalAgentStore.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * 文件工具输入 schema。
3
- *
4
- * 关键点(中文)
5
- * - schema 只描述模型可调用协议,不混入路径与文件系统逻辑。
6
- * - 参数名统一采用 snake_case,与现有 Shell tools 保持一致。
7
- */
8
- import { z } from "zod";
9
- /** read 工具输入 schema。 */
10
- export declare const read_file_tool_input_schema: z.ZodObject<{
11
- file_path: z.ZodString;
12
- offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
13
- limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
14
- }, z.core.$strip>;
15
- /** write 工具输入 schema。 */
16
- export declare const write_file_tool_input_schema: z.ZodObject<{
17
- file_path: z.ZodString;
18
- content: z.ZodString;
19
- overwrite: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
20
- }, z.core.$strip>;
21
- /** 单项 edit 输入 schema。 */
22
- export declare const file_edit_operation_schema: z.ZodObject<{
23
- old_text: z.ZodString;
24
- new_text: z.ZodString;
25
- }, z.core.$strip>;
26
- /** edit 工具输入 schema。 */
27
- export declare const edit_file_tool_input_schema: z.ZodObject<{
28
- file_path: z.ZodString;
29
- edits: z.ZodArray<z.ZodObject<{
30
- old_text: z.ZodString;
31
- new_text: z.ZodString;
32
- }, z.core.$strip>>;
33
- expected_sha256: z.ZodOptional<z.ZodString>;
34
- }, z.core.$strip>;
35
- //# sourceMappingURL=FileToolSchemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileToolSchemas.d.ts","sourceRoot":"","sources":["../../../src/workspace/tool/FileToolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAwB;AACxB,eAAO,MAAM,2BAA2B;;;;iBAoBtC,CAAC;AAEH,yBAAyB;AACzB,eAAO,MAAM,4BAA4B;;;;iBAWvC,CAAC;AAEH,yBAAyB;AACzB,eAAO,MAAM,0BAA0B;;;iBAUrC,CAAC;AAEH,wBAAwB;AACxB,eAAO,MAAM,2BAA2B;;;;;;;iBAetC,CAAC"}
@@ -1,73 +0,0 @@
1
- /**
2
- * 文件工具输入 schema。
3
- *
4
- * 关键点(中文)
5
- * - schema 只描述模型可调用协议,不混入路径与文件系统逻辑。
6
- * - 参数名统一采用 snake_case,与现有 Shell tools 保持一致。
7
- */
8
- import { z } from "zod";
9
- /** read 工具输入 schema。 */
10
- export const read_file_tool_input_schema = z.object({
11
- file_path: z
12
- .string()
13
- .min(1)
14
- .describe("Project-relative or absolute file path. Paths outside the project root are rejected."),
15
- offset: z
16
- .number()
17
- .int()
18
- .min(0)
19
- .optional()
20
- .default(0)
21
- .describe("Zero-based line offset. Defaults to 0."),
22
- limit: z
23
- .number()
24
- .int()
25
- .min(1)
26
- .max(2000)
27
- .optional()
28
- .default(500)
29
- .describe("Maximum lines to return. Defaults to 500 and cannot exceed 2000."),
30
- });
31
- /** write 工具输入 schema。 */
32
- export const write_file_tool_input_schema = z.object({
33
- file_path: z
34
- .string()
35
- .min(1)
36
- .describe("Project-relative or absolute file path. Paths outside the project root are rejected."),
37
- content: z.string().describe("Complete UTF-8 text content to write."),
38
- overwrite: z
39
- .boolean()
40
- .optional()
41
- .default(false)
42
- .describe("Whether an existing file may be atomically replaced. Defaults to false."),
43
- });
44
- /** 单项 edit 输入 schema。 */
45
- export const file_edit_operation_schema = z.object({
46
- old_text: z
47
- .string()
48
- .min(1)
49
- .max(10000)
50
- .describe("Exact text that must occur exactly once in the original file."),
51
- new_text: z
52
- .string()
53
- .max(50000)
54
- .describe("Replacement text for the unique old_text match."),
55
- });
56
- /** edit 工具输入 schema。 */
57
- export const edit_file_tool_input_schema = z.object({
58
- file_path: z
59
- .string()
60
- .min(1)
61
- .describe("Project-relative or absolute file path. Paths outside the project root are rejected."),
62
- edits: z
63
- .array(file_edit_operation_schema)
64
- .min(1)
65
- .max(10)
66
- .describe("One to ten non-overlapping exact replacements applied atomically."),
67
- expected_sha256: z
68
- .string()
69
- .regex(/^[a-fA-F0-9]{64}$/)
70
- .optional()
71
- .describe("Optional SHA-256 returned by read. The edit is rejected if the file changed."),
72
- });
73
- //# sourceMappingURL=FileToolSchemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileToolSchemas.js","sourceRoot":"","sources":["../../../src/workspace/tool/FileToolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAwB;AACxB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sFAAsF,CAAC;IACnG,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,CAAC,wCAAwC,CAAC;IACrD,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sFAAsF,CAAC;IACnG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACrE,SAAS,EAAE,CAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,yEAAyE,CAAC;CACvF,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,KAAK,CAAC;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,KAAK,CAAC;SACV,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,sFAAsF,CAAC;IACnG,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,0BAA0B,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,mEAAmE,CAAC;IAChF,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,KAAK,CAAC,mBAAmB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;CAC5F,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * 文件 AI SDK tools。
3
- *
4
- * 关键点(中文)
5
- * - 模型看到独立的 read/write/edit 工具,不需要构造 shell 命令。
6
- * - 工具只负责 schema 与 action 转发,文件语义由 FileActionRuntime 统一实现。
7
- */
8
- import type { FileToolRunner, FileToolSet } from "../../types/workspace/FileTool.js";
9
- /** 创建 Workspace 持有的结构化文件工具。 */
10
- export declare function create_file_tools(runner: FileToolRunner): FileToolSet;
11
- //# sourceMappingURL=FileTools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileTools.d.ts","sourceRoot":"","sources":["../../../src/workspace/tool/FileTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAGV,cAAc,EACd,WAAW,EAKZ,MAAM,+BAA+B,CAAC;AAOvC,+BAA+B;AAC/B,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,WAAW,CA8DrE"}
@@ -1,61 +0,0 @@
1
- /**
2
- * 文件 AI SDK tools。
3
- *
4
- * 关键点(中文)
5
- * - 模型看到独立的 read/write/edit 工具,不需要构造 shell 命令。
6
- * - 工具只负责 schema 与 action 转发,文件语义由 FileActionRuntime 统一实现。
7
- */
8
- import path from "node:path";
9
- import { tool } from "ai";
10
- import { edit_file_tool_input_schema, read_file_tool_input_schema, write_file_tool_input_schema, } from "../../workspace/tool/FileToolSchemas.js";
11
- /** 创建 Workspace 持有的结构化文件工具。 */
12
- export function create_file_tools(runner) {
13
- const read = tool({
14
- description: "Read a project file instead of using cat or sed. For a chat attachment, use the file part's url (the .downcity/... storage path) as path; filename is only the user's display name and is not a project path. Images and PDFs are attached to the next model step as local file parts. Text output is limited to 500 lines and 256KB by default; use offset and limit to continue. Other binary files return metadata only.",
15
- inputSchema: read_file_tool_input_schema,
16
- execute: async (input) => {
17
- const output = await runner.run_file_action({
18
- action: "read",
19
- input,
20
- });
21
- const messages = [];
22
- if (output.success &&
23
- (output.type === "image" || output.mime_type === "application/pdf")) {
24
- messages.push({
25
- role: "user",
26
- parts: [{
27
- type: "file",
28
- url: output.file_path,
29
- mediaType: output.mime_type || "application/octet-stream",
30
- filename: path.basename(output.file_path),
31
- }],
32
- });
33
- }
34
- return { output, messages };
35
- },
36
- });
37
- const write = tool({
38
- description: "Create a new UTF-8 text file or atomically replace an existing file when overwrite=true. Parent directories are created automatically. Use edit for partial changes.",
39
- inputSchema: write_file_tool_input_schema,
40
- execute: async (input) => {
41
- const output = await runner.run_file_action({
42
- action: "write",
43
- input,
44
- });
45
- return { output, messages: [] };
46
- },
47
- });
48
- const edit = tool({
49
- description: "Atomically edit one text file using exact replacements. Every edits[].old_text must match exactly once in the original file, and edit regions must not overlap. Combine separate changes to one file in a single call.",
50
- inputSchema: edit_file_tool_input_schema,
51
- execute: async (input) => {
52
- const output = await runner.run_file_action({
53
- action: "edit",
54
- input,
55
- });
56
- return { output, messages: [] };
57
- },
58
- });
59
- return { read, write, edit };
60
- }
61
- //# sourceMappingURL=FileTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileTools.js","sourceRoot":"","sources":["../../../src/workspace/tool/FileTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAY1B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,qCAAqC,CAAC;AAE7C,+BAA+B;AAC/B,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC;QAChB,WAAW,EACT,6ZAA6Z;QAC/Z,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,KAAK,EACZ,KAAwB,EACmB,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;gBAC1C,MAAM,EAAE,MAAM;gBACd,KAAK;aACN,CAAuB,CAAC;YACzB,MAAM,QAAQ,GAAiD,EAAE,CAAC;YAClE,IACE,MAAM,CAAC,OAAO;gBACd,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,CAAC,EACnE,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,CAAC;4BACN,IAAI,EAAE,MAAM;4BACZ,GAAG,EAAE,MAAM,CAAC,SAAS;4BACrB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,0BAA0B;4BACzD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;yBAC1C,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9B,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,CAAC;QACjB,WAAW,EACT,sKAAsK;QACxK,WAAW,EAAE,4BAA4B;QACzC,OAAO,EAAE,KAAK,EACZ,KAAyB,EACmB,EAAE;YAC9C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;gBAC1C,MAAM,EAAE,OAAO;gBACf,KAAK;aACN,CAAwB,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC;QAChB,WAAW,EACT,wNAAwN;QAC1N,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,KAAK,EACZ,KAAwB,EACmB,EAAE;YAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;gBAC1C,MAAM,EAAE,MAAM;gBACd,KAAK;aACN,CAAuB,CAAC;YACzB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * 搜索工具输入 schema。
3
- *
4
- * 关键点(中文)
5
- * - schema 只描述模型可调用协议,路径校验与搜索逻辑由运行时负责。
6
- * - 参数名统一采用 snake_case,与其他 Shell tools 保持一致。
7
- */
8
- import { z } from "zod";
9
- /** grep 工具输入 schema。 */
10
- export declare const grep_tool_input_schema: z.ZodObject<{
11
- query: z.ZodString;
12
- path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
13
- glob: z.ZodOptional<z.ZodArray<z.ZodString>>;
14
- case_sensitive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15
- literal: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
16
- max_results: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
17
- }, z.core.$strip>;
18
- /** find 工具输入 schema。 */
19
- export declare const find_tool_input_schema: z.ZodObject<{
20
- pattern: z.ZodString;
21
- path: z.ZodDefault<z.ZodOptional<z.ZodString>>;
22
- max_results: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
23
- }, z.core.$strip>;
24
- //# sourceMappingURL=SearchToolSchemas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchToolSchemas.d.ts","sourceRoot":"","sources":["../../../src/workspace/tool/SearchToolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAwB;AACxB,eAAO,MAAM,sBAAsB;;;;;;;iBA+BjC,CAAC;AAEH,wBAAwB;AACxB,eAAO,MAAM,sBAAsB;;;;iBAgBjC,CAAC"}
@@ -1,60 +0,0 @@
1
- /**
2
- * 搜索工具输入 schema。
3
- *
4
- * 关键点(中文)
5
- * - schema 只描述模型可调用协议,路径校验与搜索逻辑由运行时负责。
6
- * - 参数名统一采用 snake_case,与其他 Shell tools 保持一致。
7
- */
8
- import { z } from "zod";
9
- /** grep 工具输入 schema。 */
10
- export const grep_tool_input_schema = z.object({
11
- query: z.string().min(1).describe("Literal text or ripgrep regular expression to search for."),
12
- path: z
13
- .string()
14
- .min(1)
15
- .optional()
16
- .default(".")
17
- .describe("Project-relative or absolute file/directory path. Defaults to the project root."),
18
- glob: z
19
- .array(z.string().min(1))
20
- .max(20)
21
- .optional()
22
- .describe("Optional ripgrep glob patterns used to include or exclude candidate files."),
23
- case_sensitive: z
24
- .boolean()
25
- .optional()
26
- .default(false)
27
- .describe("Whether matching is case-sensitive. Defaults to false."),
28
- literal: z
29
- .boolean()
30
- .optional()
31
- .default(true)
32
- .describe("Treat query as literal text. Set false to use ripgrep regular expressions."),
33
- max_results: z
34
- .number()
35
- .int()
36
- .min(1)
37
- .max(2000)
38
- .optional()
39
- .default(200)
40
- .describe("Maximum matches to return. Defaults to 200 and cannot exceed 2000."),
41
- });
42
- /** find 工具输入 schema。 */
43
- export const find_tool_input_schema = z.object({
44
- pattern: z.string().min(1).describe("POSIX glob pattern used to discover files."),
45
- path: z
46
- .string()
47
- .min(1)
48
- .optional()
49
- .default(".")
50
- .describe("Project-relative or absolute directory to search. Defaults to the project root."),
51
- max_results: z
52
- .number()
53
- .int()
54
- .min(1)
55
- .max(2000)
56
- .optional()
57
- .default(200)
58
- .describe("Maximum files to return. Defaults to 200 and cannot exceed 2000."),
59
- });
60
- //# sourceMappingURL=SearchToolSchemas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchToolSchemas.js","sourceRoot":"","sources":["../../../src/workspace/tool/SearchToolSchemas.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,wBAAwB;AACxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAC9F,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,4EAA4E,CAAC;IACzF,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,wDAAwD,CAAC;IACrE,OAAO,EAAE,CAAC;SACP,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,4EAA4E,CAAC;IACzF,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,oEAAoE,CAAC;CAClF,CAAC,CAAC;AAEH,wBAAwB;AACxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACjF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,OAAO,CAAC,GAAG,CAAC;SACZ,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * 项目搜索 AI SDK tools。
3
- *
4
- * 关键点(中文)
5
- * - 模型通过独立的 `grep` / `find` 工具搜索内容和发现文件。
6
- * - 工具只负责 schema、abort signal 与 action 转发,搜索语义由运行时实现。
7
- */
8
- import type { SearchToolRunner, SearchToolSet } from "../../types/workspace/SearchTool.js";
9
- /** 创建 Workspace 持有的结构化搜索工具。 */
10
- export declare function create_search_tools(runner: SearchToolRunner): SearchToolSet;
11
- //# sourceMappingURL=SearchTools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchTools.d.ts","sourceRoot":"","sources":["../../../src/workspace/tool/SearchTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAKV,gBAAgB,EAChB,aAAa,EACd,MAAM,iCAAiC,CAAC;AAMzC,+BAA+B;AAC/B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAoC3E"}
@@ -1,38 +0,0 @@
1
- /**
2
- * 项目搜索 AI SDK tools。
3
- *
4
- * 关键点(中文)
5
- * - 模型通过独立的 `grep` / `find` 工具搜索内容和发现文件。
6
- * - 工具只负责 schema、abort signal 与 action 转发,搜索语义由运行时实现。
7
- */
8
- import { tool } from "ai";
9
- import { find_tool_input_schema, grep_tool_input_schema, } from "../../workspace/tool/SearchToolSchemas.js";
10
- /** 创建 Workspace 持有的结构化搜索工具。 */
11
- export function create_search_tools(runner) {
12
- const grep = tool({
13
- description: "Search project file contents with ripgrep instead of running rg through the shell. Returns structured file, line, column, and matched text data; respects ignore files by default.",
14
- inputSchema: grep_tool_input_schema,
15
- execute: async (input, options) => {
16
- const output = await runner.run_search_action({
17
- action: "grep",
18
- input,
19
- abort_signal: options.abortSignal,
20
- });
21
- return { output, messages: [] };
22
- },
23
- });
24
- const find = tool({
25
- description: "Find project files with a POSIX glob pattern instead of running shell find. Respects .gitignore, includes dotfiles, and does not follow symbolic links.",
26
- inputSchema: find_tool_input_schema,
27
- execute: async (input, options) => {
28
- const output = await runner.run_search_action({
29
- action: "find",
30
- input,
31
- abort_signal: options.abortSignal,
32
- });
33
- return { output, messages: [] };
34
- },
35
- });
36
- return { grep, find };
37
- }
38
- //# sourceMappingURL=SearchTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SearchTools.js","sourceRoot":"","sources":["../../../src/workspace/tool/SearchTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAA6B,MAAM,IAAI,CAAC;AAUrD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,uCAAuC,CAAC;AAE/C,+BAA+B;AAC/B,MAAM,UAAU,mBAAmB,CAAC,MAAwB;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC;QAChB,WAAW,EACT,oLAAoL;QACtL,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,KAAK,EACZ,KAAoB,EACpB,OAA6B,EACU,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;gBAC5C,MAAM,EAAE,MAAM;gBACd,KAAK;gBACL,YAAY,EAAE,OAAO,CAAC,WAAW;aAClC,CAAmB,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,CAAC;QAChB,WAAW,EACT,yJAAyJ;QAC3J,WAAW,EAAE,sBAAsB;QACnC,OAAO,EAAE,KAAK,EACZ,KAAoB,EACpB,OAA6B,EACU,EAAE;YACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC;gBAC5C,MAAM,EAAE,MAAM;gBACd,KAAK;gBACL,YAAY,EAAE,OAAO,CAAC,WAAW;aAClC,CAAmB,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Workspace Tools 组合模块。
3
- *
4
- * 职责说明(中文)
5
- * - 统一创建当前 Workspace 的文件、搜索与可选 Shell 工具。
6
- * - 这里只组合 Workspace 资源,不注册 Plugin Tool 或调用方自定义 Tool。
7
- */
8
- import type { CreateWorkspaceToolsOptions, WorkspaceTools } from "../../types/workspace/WorkspaceTools.js";
9
- /** 创建当前 Workspace 的完整模型工具集合。 */
10
- export declare function create_workspace_tools(options: CreateWorkspaceToolsOptions): WorkspaceTools;
11
- //# sourceMappingURL=WorkspaceTools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceTools.d.ts","sourceRoot":"","sources":["../../../src/workspace/tool/WorkspaceTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,2BAA2B,EAC3B,cAAc,EACf,MAAM,qCAAqC,CAAC;AAE7C,gCAAgC;AAChC,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,2BAA2B,GACnC,cAAc,CAYhB"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Workspace Tools 组合模块。
3
- *
4
- * 职责说明(中文)
5
- * - 统一创建当前 Workspace 的文件、搜索与可选 Shell 工具。
6
- * - 这里只组合 Workspace 资源,不注册 Plugin Tool 或调用方自定义 Tool。
7
- */
8
- import { create_file_tools } from "../../workspace/tool/FileTools.js";
9
- import { create_search_tools } from "../../workspace/tool/SearchTools.js";
10
- /** 创建当前 Workspace 的完整模型工具集合。 */
11
- export function create_workspace_tools(options) {
12
- return {
13
- ...create_file_tools({
14
- run_file_action: async (request) => await options.files.run_file_action(request),
15
- }),
16
- ...create_search_tools({
17
- run_search_action: async (request) => await options.files.run_search_action(request),
18
- }),
19
- ...(options.shell?.tools || {}),
20
- };
21
- }
22
- //# sourceMappingURL=WorkspaceTools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceTools.js","sourceRoot":"","sources":["../../../src/workspace/tool/WorkspaceTools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAMtE,gCAAgC;AAChC,MAAM,UAAU,sBAAsB,CACpC,OAAoC;IAEpC,OAAO;QACL,GAAG,iBAAiB,CAAC;YACnB,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACjC,MAAM,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC;SAC/C,CAAC;QACF,GAAG,mBAAmB,CAAC;YACrB,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CACnC,MAAM,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC;SACjD,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * @file 验证 UI stream 收敛时 canonical message 回调失败会终止执行。
3
- */
4
-
5
- import assert from "node:assert/strict";
6
- import test from "node:test";
7
-
8
- import { collect_final_assistant_message_from_ui_stream } from "../bin/executor/core-engine/CoreEngineUiStreamCollector.js";
9
-
10
- test("canonical message chunk 写入失败时拒绝继续完成 turn", async () => {
11
- const abort_controller = new AbortController();
12
- abort_controller.abort();
13
- const result = {
14
- toUIMessageStream: () => ({
15
- async *[Symbol.asyncIterator]() {
16
- yield { type: "text-delta", id: "text-1", delta: "partial" };
17
- },
18
- }),
19
- };
20
-
21
- await assert.rejects(
22
- collect_final_assistant_message_from_ui_stream({
23
- result,
24
- session_id: "callback-failure-test",
25
- abortSignal: abort_controller.signal,
26
- logger: { log: async () => {} },
27
- buildFallbackAssistantMessage: (text) => ({
28
- id: "assistant-1",
29
- role: "assistant",
30
- parts: [{ type: "text", text }],
31
- }),
32
- on_ui_message_chunk_callback: async () => {
33
- throw new Error("canonical write failed");
34
- },
35
- }),
36
- /canonical write failed/,
37
- );
38
- });