@downcity/agent 1.1.237 → 1.1.258

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (578) hide show
  1. package/README.md +21 -20
  2. package/bin/agent/{local/Agent.d.ts → Agent.d.ts} +37 -27
  3. package/bin/agent/Agent.d.ts.map +1 -0
  4. package/bin/agent/Agent.js +211 -0
  5. package/bin/agent/Agent.js.map +1 -0
  6. package/bin/agent/AgentContext.d.ts +64 -0
  7. package/bin/agent/AgentContext.d.ts.map +1 -0
  8. package/bin/agent/AgentContext.js +53 -0
  9. package/bin/agent/AgentContext.js.map +1 -0
  10. package/bin/agent/{local/AgentInstructions.d.ts → AgentInstructions.d.ts} +1 -6
  11. package/bin/agent/AgentInstructions.d.ts.map +1 -0
  12. package/bin/agent/{local/AgentInstructions.js → AgentInstructions.js} +1 -10
  13. package/bin/agent/AgentInstructions.js.map +1 -0
  14. package/bin/{model/CityModelAdapter.d.ts → agent/AgentModel.d.ts} +3 -3
  15. package/bin/agent/AgentModel.d.ts.map +1 -0
  16. package/bin/{model/CityModelAdapter.js → agent/AgentModel.js} +11 -4
  17. package/bin/agent/AgentModel.js.map +1 -0
  18. package/bin/agent/{local/services/AgentSessions.d.ts → AgentSessions.d.ts} +30 -40
  19. package/bin/agent/AgentSessions.d.ts.map +1 -0
  20. package/bin/agent/{local/services/AgentSessions.js → AgentSessions.js} +62 -79
  21. package/bin/agent/AgentSessions.js.map +1 -0
  22. package/bin/agent/AgentState.d.ts +64 -0
  23. package/bin/agent/AgentState.d.ts.map +1 -0
  24. package/bin/agent/AgentState.js +118 -0
  25. package/bin/agent/AgentState.js.map +1 -0
  26. package/bin/config/Paths.d.ts +0 -43
  27. package/bin/config/Paths.d.ts.map +1 -1
  28. package/bin/config/Paths.js +0 -79
  29. package/bin/config/Paths.js.map +1 -1
  30. package/bin/config/ProjectSetup.d.ts.map +1 -0
  31. package/bin/{agent/local → config}/ProjectSetup.js +1 -1
  32. package/bin/config/ProjectSetup.js.map +1 -0
  33. package/bin/executor/Executor.d.ts +20 -86
  34. package/bin/executor/Executor.d.ts.map +1 -1
  35. package/bin/executor/Executor.js +109 -260
  36. package/bin/executor/Executor.js.map +1 -1
  37. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +1 -1
  38. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +1 -1
  39. package/bin/executor/composer/system/default/SystemDomain.d.ts +1 -1
  40. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +1 -1
  41. package/bin/executor/composer/system/default/SystemDomain.js +4 -1
  42. package/bin/executor/composer/system/default/SystemDomain.js.map +1 -1
  43. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +1 -1
  44. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +1 -1
  45. package/bin/executor/composer/system/default/assets/core.prompt.js +1 -1
  46. package/bin/executor/composer/system/default/assets/core.prompt.js.map +1 -1
  47. package/bin/executor/core-engine/CoreEngineRunner.d.ts +7 -13
  48. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  49. package/bin/executor/core-engine/CoreEngineRunner.js +81 -34
  50. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  51. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +6 -12
  52. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  53. package/bin/executor/services/ExecutorRecoveryPolicy.js +20 -6
  54. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
  55. package/bin/executor/tools/file/ReadImageToolBridge.d.ts +21 -0
  56. package/bin/executor/tools/file/ReadImageToolBridge.d.ts.map +1 -0
  57. package/bin/executor/tools/file/ReadImageToolBridge.js +69 -0
  58. package/bin/executor/tools/file/ReadImageToolBridge.js.map +1 -0
  59. package/bin/executor/tools/plugin/PluginToolBridge.d.ts.map +1 -1
  60. package/bin/executor/tools/plugin/PluginToolBridge.js +6 -5
  61. package/bin/executor/tools/plugin/PluginToolBridge.js.map +1 -1
  62. package/bin/executor/tools/plugin/PluginToolDefinition.d.ts.map +1 -1
  63. package/bin/executor/tools/plugin/PluginToolDefinition.js +15 -2
  64. package/bin/executor/tools/plugin/PluginToolDefinition.js.map +1 -1
  65. package/bin/executor/types/SessionHistoryMeta.d.ts +0 -2
  66. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  67. package/bin/index.d.ts +17 -21
  68. package/bin/index.d.ts.map +1 -1
  69. package/bin/index.js +9 -11
  70. package/bin/index.js.map +1 -1
  71. package/bin/plugin/core/ActionScheduleExecutor.d.ts +1 -1
  72. package/bin/plugin/core/ActionScheduleExecutor.d.ts.map +1 -1
  73. package/bin/plugin/core/ActionScheduleRuntime.d.ts +1 -1
  74. package/bin/plugin/core/ActionScheduleRuntime.d.ts.map +1 -1
  75. package/bin/plugin/core/BasePlugin.d.ts +4 -3
  76. package/bin/plugin/core/BasePlugin.d.ts.map +1 -1
  77. package/bin/plugin/core/BasePlugin.js.map +1 -1
  78. package/bin/plugin/core/HookRegistry.d.ts +5 -8
  79. package/bin/plugin/core/HookRegistry.d.ts.map +1 -1
  80. package/bin/plugin/core/HookRegistry.js +12 -12
  81. package/bin/plugin/core/HookRegistry.js.map +1 -1
  82. package/bin/plugin/core/PluginActionFactory.d.ts +6 -3
  83. package/bin/plugin/core/PluginActionFactory.d.ts.map +1 -1
  84. package/bin/plugin/core/PluginActionFactory.js.map +1 -1
  85. package/bin/plugin/core/PluginActionRunner.d.ts +1 -1
  86. package/bin/plugin/core/PluginActionRunner.d.ts.map +1 -1
  87. package/bin/plugin/core/PluginCatalog.d.ts +1 -1
  88. package/bin/plugin/core/PluginCatalog.d.ts.map +1 -1
  89. package/bin/plugin/core/PluginHttpRoutes.d.ts +1 -1
  90. package/bin/plugin/core/PluginHttpRoutes.d.ts.map +1 -1
  91. package/bin/plugin/core/PluginLocalExecution.d.ts +4 -5
  92. package/bin/plugin/core/PluginLocalExecution.d.ts.map +1 -1
  93. package/bin/plugin/core/PluginLocalExecution.js +4 -12
  94. package/bin/plugin/core/PluginLocalExecution.js.map +1 -1
  95. package/bin/plugin/core/PluginRegistry.d.ts +16 -12
  96. package/bin/plugin/core/PluginRegistry.d.ts.map +1 -1
  97. package/bin/plugin/core/PluginRegistry.js +43 -22
  98. package/bin/plugin/core/PluginRegistry.js.map +1 -1
  99. package/bin/plugin/core/PluginStateController.d.ts +1 -1
  100. package/bin/plugin/core/PluginStateController.d.ts.map +1 -1
  101. package/bin/{agent/remote → remote}/RemoteAgent.d.ts +4 -4
  102. package/bin/remote/RemoteAgent.d.ts.map +1 -0
  103. package/bin/{agent/remote → remote}/RemoteAgent.js +3 -3
  104. package/bin/remote/RemoteAgent.js.map +1 -0
  105. package/bin/{agent/remote → remote}/RemoteSession.d.ts +9 -11
  106. package/bin/remote/RemoteSession.d.ts.map +1 -0
  107. package/bin/{agent/remote → remote}/RemoteSession.js +3 -33
  108. package/bin/remote/RemoteSession.js.map +1 -0
  109. package/bin/{agent/remote → remote}/RemoteTransport.d.ts +7 -9
  110. package/bin/remote/RemoteTransport.d.ts.map +1 -0
  111. package/bin/remote/RemoteTransport.js.map +1 -0
  112. package/bin/{agent/remote → remote}/TransportFactory.d.ts +1 -1
  113. package/bin/remote/TransportFactory.d.ts.map +1 -0
  114. package/bin/{agent/remote → remote}/TransportFactory.js +2 -2
  115. package/bin/remote/TransportFactory.js.map +1 -0
  116. package/bin/{agent/remote → remote}/transports/HttpRemoteAgentTransport.d.ts +8 -9
  117. package/bin/remote/transports/HttpRemoteAgentTransport.d.ts.map +1 -0
  118. package/bin/{agent/remote → remote}/transports/HttpRemoteAgentTransport.js +0 -13
  119. package/bin/remote/transports/HttpRemoteAgentTransport.js.map +1 -0
  120. package/bin/{rpc/Client.d.ts → remote/transports/RpcClient.d.ts} +15 -22
  121. package/bin/remote/transports/RpcClient.d.ts.map +1 -0
  122. package/bin/{rpc/Client.js → remote/transports/RpcClient.js} +2 -13
  123. package/bin/remote/transports/RpcClient.js.map +1 -0
  124. package/bin/{agent/remote → remote}/transports/RpcRemoteAgentTransport.d.ts +8 -9
  125. package/bin/remote/transports/RpcRemoteAgentTransport.d.ts.map +1 -0
  126. package/bin/{agent/remote → remote}/transports/RpcRemoteAgentTransport.js +1 -4
  127. package/bin/remote/transports/RpcRemoteAgentTransport.js.map +1 -0
  128. package/bin/session/DefaultSessionComposer.d.ts +18 -0
  129. package/bin/session/DefaultSessionComposer.d.ts.map +1 -0
  130. package/bin/session/DefaultSessionComposer.js +62 -0
  131. package/bin/session/DefaultSessionComposer.js.map +1 -0
  132. package/bin/session/Session.d.ts +44 -33
  133. package/bin/session/Session.d.ts.map +1 -1
  134. package/bin/session/Session.js +440 -274
  135. package/bin/session/Session.js.map +1 -1
  136. package/bin/session/SessionMessages.d.ts +117 -0
  137. package/bin/session/SessionMessages.d.ts.map +1 -0
  138. package/bin/session/{recorder/SessionRecorder.js → SessionMessages.js} +194 -284
  139. package/bin/session/SessionMessages.js.map +1 -0
  140. package/bin/session/SessionQueue.d.ts +34 -0
  141. package/bin/session/SessionQueue.d.ts.map +1 -0
  142. package/bin/session/SessionQueue.js +60 -0
  143. package/bin/session/SessionQueue.js.map +1 -0
  144. package/bin/session/SessionState.d.ts +70 -0
  145. package/bin/session/SessionState.d.ts.map +1 -0
  146. package/bin/session/SessionState.js +267 -0
  147. package/bin/session/SessionState.js.map +1 -0
  148. package/bin/session/SessionSystem.d.ts +15 -0
  149. package/bin/session/SessionSystem.d.ts.map +1 -0
  150. package/bin/session/SessionSystem.js +95 -0
  151. package/bin/session/SessionSystem.js.map +1 -0
  152. package/bin/session/SessionTurn.d.ts +84 -0
  153. package/bin/session/SessionTurn.d.ts.map +1 -0
  154. package/bin/session/SessionTurn.js +588 -0
  155. package/bin/session/SessionTurn.js.map +1 -0
  156. package/bin/session/approval/SessionApprovalBroker.d.ts +48 -0
  157. package/bin/session/approval/SessionApprovalBroker.d.ts.map +1 -0
  158. package/bin/session/approval/SessionApprovalBroker.js +126 -0
  159. package/bin/session/approval/SessionApprovalBroker.js.map +1 -0
  160. package/bin/session/browse/Browse.d.ts.map +1 -1
  161. package/bin/session/browse/Browse.js +1 -4
  162. package/bin/session/browse/Browse.js.map +1 -1
  163. package/bin/session/{recorder → messages}/JsonlSessionMessageStore.d.ts.map +1 -1
  164. package/bin/session/{recorder → messages}/JsonlSessionMessageStore.js.map +1 -1
  165. package/bin/session/messages/SessionAssistantMessageWriter.d.ts +62 -0
  166. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +1 -0
  167. package/bin/session/messages/SessionAssistantMessageWriter.js +287 -0
  168. package/bin/session/messages/SessionAssistantMessageWriter.js.map +1 -0
  169. package/bin/session/messages/SessionJsonValue.d.ts +10 -0
  170. package/bin/session/messages/SessionJsonValue.d.ts.map +1 -0
  171. package/bin/session/messages/SessionJsonValue.js +23 -0
  172. package/bin/session/messages/SessionJsonValue.js.map +1 -0
  173. package/bin/session/{recorder → messages}/SessionMessageCodec.d.ts +4 -1
  174. package/bin/session/messages/SessionMessageCodec.d.ts.map +1 -0
  175. package/bin/session/{recorder → messages}/SessionMessageCodec.js +33 -19
  176. package/bin/session/messages/SessionMessageCodec.js.map +1 -0
  177. package/bin/session/messages/SessionMessageCompaction.d.ts +22 -0
  178. package/bin/session/messages/SessionMessageCompaction.d.ts.map +1 -0
  179. package/bin/session/{recorder/SessionRecorderCompaction.js → messages/SessionMessageCompaction.js} +19 -51
  180. package/bin/session/messages/SessionMessageCompaction.js.map +1 -0
  181. package/bin/session/runtime/SessionEventHub.d.ts +1 -8
  182. package/bin/session/runtime/SessionEventHub.d.ts.map +1 -1
  183. package/bin/session/runtime/SessionEventHub.js +1 -6
  184. package/bin/session/runtime/SessionEventHub.js.map +1 -1
  185. package/bin/session/storage/Metadata.d.ts +23 -5
  186. package/bin/session/storage/Metadata.d.ts.map +1 -1
  187. package/bin/session/storage/Metadata.js +32 -29
  188. package/bin/session/storage/Metadata.js.map +1 -1
  189. package/bin/session/storage/RuntimeSessionPort.d.ts +5 -10
  190. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  191. package/bin/session/storage/RuntimeSessionPort.js +2 -4
  192. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  193. package/bin/types/agent/AgentOptions.d.ts +6 -35
  194. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  195. package/bin/types/agent/AgentState.d.ts +28 -0
  196. package/bin/types/agent/AgentState.d.ts.map +1 -0
  197. package/bin/types/agent/AgentState.js +9 -0
  198. package/bin/types/agent/AgentState.js.map +1 -0
  199. package/bin/types/agent/SessionActor.d.ts +0 -2
  200. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  201. package/bin/types/agent/SessionTypes.d.ts +5 -18
  202. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  203. package/bin/types/executor/SessionRunContext.d.ts +8 -2
  204. package/bin/types/executor/SessionRunContext.d.ts.map +1 -1
  205. package/bin/types/executor/SessionRunContext.js +1 -1
  206. package/bin/types/executor/SessionToolExecutionContext.d.ts +20 -0
  207. package/bin/types/executor/SessionToolExecutionContext.d.ts.map +1 -0
  208. package/bin/types/executor/SessionToolExecutionContext.js +10 -0
  209. package/bin/types/executor/SessionToolExecutionContext.js.map +1 -0
  210. package/bin/types/plugin/PluginAction.d.ts +10 -1
  211. package/bin/types/plugin/PluginAction.d.ts.map +1 -1
  212. package/bin/types/plugin/PluginCommand.d.ts +3 -11
  213. package/bin/types/plugin/PluginCommand.d.ts.map +1 -1
  214. package/bin/types/plugin/PluginConfig.d.ts +12 -0
  215. package/bin/types/plugin/PluginConfig.d.ts.map +1 -0
  216. package/bin/types/plugin/PluginConfig.js +5 -0
  217. package/bin/types/plugin/PluginConfig.js.map +1 -0
  218. package/bin/types/plugin/PluginDefinition.d.ts +10 -3
  219. package/bin/types/plugin/PluginDefinition.d.ts.map +1 -1
  220. package/bin/types/plugin/PluginHttp.d.ts +1 -1
  221. package/bin/types/plugin/PluginHttp.d.ts.map +1 -1
  222. package/bin/types/plugin/PluginRunContext.d.ts +26 -0
  223. package/bin/types/plugin/PluginRunContext.d.ts.map +1 -0
  224. package/bin/types/plugin/PluginRunContext.js +10 -0
  225. package/bin/types/plugin/PluginRunContext.js.map +1 -0
  226. package/bin/types/plugin/PluginRuntime.d.ts +9 -3
  227. package/bin/types/plugin/PluginRuntime.d.ts.map +1 -1
  228. package/bin/types/plugin/PluginToolRuntime.d.ts +11 -0
  229. package/bin/types/plugin/PluginToolRuntime.d.ts.map +1 -1
  230. package/bin/types/rpc/RpcProtocol.d.ts +1 -13
  231. package/bin/types/rpc/RpcProtocol.d.ts.map +1 -1
  232. package/bin/types/session/SessionApproval.d.ts +4 -38
  233. package/bin/types/session/SessionApproval.d.ts.map +1 -1
  234. package/bin/types/session/SessionApprovalBroker.d.ts +17 -0
  235. package/bin/types/session/SessionApprovalBroker.d.ts.map +1 -0
  236. package/bin/types/session/SessionApprovalBroker.js +7 -0
  237. package/bin/types/session/SessionApprovalBroker.js.map +1 -0
  238. package/bin/types/session/SessionComposer.d.ts +99 -0
  239. package/bin/types/session/SessionComposer.d.ts.map +1 -0
  240. package/bin/types/session/SessionComposer.js +8 -0
  241. package/bin/types/session/SessionComposer.js.map +1 -0
  242. package/bin/types/session/SessionLocalState.d.ts +6 -6
  243. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  244. package/bin/types/session/SessionLocalState.js +1 -1
  245. package/bin/types/session/SessionMessage.d.ts +3 -2
  246. package/bin/types/session/SessionMessage.d.ts.map +1 -1
  247. package/bin/types/session/SessionMessages.d.ts +115 -0
  248. package/bin/types/session/SessionMessages.d.ts.map +1 -0
  249. package/bin/types/session/SessionMessages.js +7 -0
  250. package/bin/types/session/SessionMessages.js.map +1 -0
  251. package/bin/types/session/SessionMutation.d.ts +1 -10
  252. package/bin/types/session/SessionMutation.d.ts.map +1 -1
  253. package/bin/types/session/SessionMutation.js.map +1 -1
  254. package/bin/types/session/SessionOptions.d.ts +8 -23
  255. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  256. package/bin/types/session/SessionPort.d.ts +72 -0
  257. package/bin/types/session/SessionPort.d.ts.map +1 -0
  258. package/bin/types/session/SessionPort.js +9 -0
  259. package/bin/types/session/SessionPort.js.map +1 -0
  260. package/bin/types/session/SessionQueue.d.ts +104 -0
  261. package/bin/types/session/SessionQueue.d.ts.map +1 -0
  262. package/bin/types/session/SessionQueue.js +7 -0
  263. package/bin/types/session/SessionQueue.js.map +1 -0
  264. package/bin/types/session/SessionState.d.ts +43 -0
  265. package/bin/types/session/SessionState.d.ts.map +1 -0
  266. package/bin/types/session/SessionState.js +7 -0
  267. package/bin/types/session/SessionState.js.map +1 -0
  268. package/bin/types/session/SessionSystem.d.ts +26 -0
  269. package/bin/types/session/SessionSystem.d.ts.map +1 -0
  270. package/bin/types/session/SessionSystem.js +7 -0
  271. package/bin/types/session/SessionSystem.js.map +1 -0
  272. package/bin/types/session/SessionTool.d.ts +23 -0
  273. package/bin/types/session/SessionTool.d.ts.map +1 -0
  274. package/bin/types/session/SessionTool.js +7 -0
  275. package/bin/types/session/SessionTool.js.map +1 -0
  276. package/bin/types/session/SessionTurn.d.ts +52 -0
  277. package/bin/types/session/SessionTurn.d.ts.map +1 -0
  278. package/bin/types/session/SessionTurn.js +7 -0
  279. package/bin/types/session/SessionTurn.js.map +1 -0
  280. package/package.json +3 -3
  281. package/scripts/agent-env.test.mjs +4 -18
  282. package/scripts/agent-ready.test.mjs +33 -2
  283. package/scripts/agent-session-maintenance.test.mjs +52 -0
  284. package/scripts/city-model-tool-loop.test.mjs +3 -4
  285. package/scripts/core-engine-context-compaction.test.mjs +5 -22
  286. package/scripts/image-plugin-job.test.mjs +4 -6
  287. package/scripts/plugin-tool-bridge.test.mjs +44 -36
  288. package/scripts/read-image-tool-bridge.test.mjs +71 -0
  289. package/scripts/remote-session-reconnect.test.mjs +1 -34
  290. package/scripts/session-compaction-prompts.test.mjs +1 -49
  291. package/scripts/session-composer.test.mjs +163 -0
  292. package/scripts/session-config-turn-boundary.test.mjs +2 -5
  293. package/scripts/session-list-title.test.mjs +3 -2
  294. package/scripts/session-messages-error.test.mjs +57 -0
  295. package/scripts/{session-recorder.test.mjs → session-messages.test.mjs} +131 -90
  296. package/scripts/session-queue.test.mjs +64 -0
  297. package/scripts/session-shell-approval.test.mjs +171 -0
  298. package/scripts/session-system-blocks.test.mjs +10 -10
  299. package/scripts/session-title-event.test.mjs +1 -0
  300. package/src/agent/Agent.ts +241 -0
  301. package/src/agent/AgentContext.ts +92 -0
  302. package/src/agent/{local/AgentInstructions.ts → AgentInstructions.ts} +0 -11
  303. package/src/{model/CityModelAdapter.ts → agent/AgentModel.ts} +10 -3
  304. package/src/agent/{local/services/AgentSessions.ts → AgentSessions.ts} +81 -110
  305. package/src/agent/AgentState.ts +151 -0
  306. package/src/config/Paths.ts +0 -91
  307. package/src/executor/Executor.ts +180 -386
  308. package/src/executor/README.md +29 -89
  309. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +1 -1
  310. package/src/executor/composer/system/default/SystemDomain.ts +4 -2
  311. package/src/executor/composer/system/default/assets/core.prompt.ts +1 -1
  312. package/src/executor/composer/system/default/assets/core.prompt.ts.txt +15 -2
  313. package/src/executor/core-engine/CoreEngineRunner.ts +95 -54
  314. package/src/executor/services/ExecutorRecoveryPolicy.ts +24 -19
  315. package/src/executor/tools/file/ReadImageToolBridge.ts +79 -0
  316. package/src/executor/tools/plugin/PluginToolBridge.ts +6 -8
  317. package/src/executor/tools/plugin/PluginToolDefinition.ts +23 -3
  318. package/src/executor/types/SessionHistoryMeta.ts +0 -2
  319. package/src/index.ts +34 -53
  320. package/src/plugin/core/ActionScheduleExecutor.ts +1 -1
  321. package/src/plugin/core/ActionScheduleRuntime.ts +1 -1
  322. package/src/plugin/core/BasePlugin.ts +7 -3
  323. package/src/plugin/core/HookRegistry.ts +15 -18
  324. package/src/plugin/core/PluginActionFactory.ts +9 -3
  325. package/src/plugin/core/PluginActionRunner.ts +1 -1
  326. package/src/plugin/core/PluginCatalog.ts +1 -1
  327. package/src/plugin/core/PluginHttpRoutes.ts +1 -1
  328. package/src/plugin/core/PluginLocalExecution.ts +11 -24
  329. package/src/plugin/core/PluginRegistry.ts +55 -32
  330. package/src/plugin/core/PluginStateController.ts +1 -1
  331. package/src/{agent/remote → remote}/RemoteAgent.ts +4 -4
  332. package/src/{agent/remote → remote}/RemoteSession.ts +2 -35
  333. package/src/{agent/remote → remote}/RemoteTransport.ts +0 -3
  334. package/src/{agent/remote → remote}/TransportFactory.ts +3 -3
  335. package/src/{agent/remote → remote}/transports/HttpRemoteAgentTransport.ts +1 -23
  336. package/src/{rpc/Client.ts → remote/transports/RpcClient.ts} +1 -19
  337. package/src/{agent/remote → remote}/transports/RpcRemoteAgentTransport.ts +2 -10
  338. package/src/session/DefaultSessionComposer.ts +79 -0
  339. package/src/session/Session.ts +496 -332
  340. package/src/session/{recorder/SessionRecorder.ts → SessionMessages.ts} +254 -428
  341. package/src/session/SessionQueue.ts +86 -0
  342. package/src/session/SessionState.ts +322 -0
  343. package/src/session/SessionSystem.ts +117 -0
  344. package/src/session/SessionTurn.ts +684 -0
  345. package/src/session/approval/SessionApprovalBroker.ts +164 -0
  346. package/src/session/browse/Browse.ts +1 -4
  347. package/src/session/messages/SessionAssistantMessageWriter.ts +345 -0
  348. package/src/session/messages/SessionJsonValue.ts +25 -0
  349. package/src/session/{recorder → messages}/SessionMessageCodec.ts +38 -20
  350. package/src/session/{recorder/SessionRecorderCompaction.ts → messages/SessionMessageCompaction.ts} +30 -69
  351. package/src/session/runtime/SessionEventHub.ts +1 -14
  352. package/src/session/storage/Metadata.ts +60 -34
  353. package/src/session/storage/RuntimeSessionPort.ts +7 -14
  354. package/src/types/agent/AgentOptions.ts +6 -38
  355. package/src/types/agent/AgentState.ts +33 -0
  356. package/src/types/agent/SessionActor.ts +0 -3
  357. package/src/types/agent/SessionTypes.ts +5 -18
  358. package/src/types/executor/SessionRunContext.ts +10 -2
  359. package/src/types/executor/SessionToolExecutionContext.ts +21 -0
  360. package/src/types/plugin/PluginAction.ts +10 -1
  361. package/src/types/plugin/PluginCommand.ts +3 -14
  362. package/src/types/plugin/PluginConfig.ts +13 -0
  363. package/src/types/plugin/PluginDefinition.ts +13 -6
  364. package/src/types/plugin/PluginHttp.ts +1 -1
  365. package/src/types/plugin/PluginRunContext.ts +31 -0
  366. package/src/types/plugin/PluginRuntime.ts +13 -6
  367. package/src/types/plugin/PluginToolRuntime.ts +13 -1
  368. package/src/types/rpc/RpcProtocol.ts +0 -14
  369. package/src/types/session/SessionApproval.ts +4 -43
  370. package/src/types/session/SessionApprovalBroker.ts +18 -0
  371. package/src/types/session/SessionComposer.ts +114 -0
  372. package/src/types/session/SessionLocalState.ts +6 -6
  373. package/src/types/session/SessionMessage.ts +3 -2
  374. package/src/types/session/SessionMessages.ts +127 -0
  375. package/src/types/session/SessionMutation.ts +0 -11
  376. package/src/types/session/SessionOptions.ts +8 -40
  377. package/src/types/session/SessionPort.ts +97 -0
  378. package/src/types/session/SessionQueue.ts +122 -0
  379. package/src/types/session/SessionState.ts +47 -0
  380. package/src/types/session/SessionSystem.ts +27 -0
  381. package/src/types/session/SessionTool.ts +25 -0
  382. package/src/types/session/SessionTurn.ts +56 -0
  383. package/tsconfig.tsbuildinfo +1 -1
  384. package/bin/agent/local/Agent.d.ts.map +0 -1
  385. package/bin/agent/local/Agent.js +0 -216
  386. package/bin/agent/local/Agent.js.map +0 -1
  387. package/bin/agent/local/AgentInstructions.d.ts.map +0 -1
  388. package/bin/agent/local/AgentInstructions.js.map +0 -1
  389. package/bin/agent/local/AgentPluginFactory.d.ts +0 -26
  390. package/bin/agent/local/AgentPluginFactory.d.ts.map +0 -1
  391. package/bin/agent/local/AgentPluginFactory.js +0 -33
  392. package/bin/agent/local/AgentPluginFactory.js.map +0 -1
  393. package/bin/agent/local/AgentRuntimeAssembly.d.ts +0 -10
  394. package/bin/agent/local/AgentRuntimeAssembly.d.ts.map +0 -1
  395. package/bin/agent/local/AgentRuntimeAssembly.js +0 -43
  396. package/bin/agent/local/AgentRuntimeAssembly.js.map +0 -1
  397. package/bin/agent/local/ProjectSetup.d.ts.map +0 -1
  398. package/bin/agent/local/ProjectSetup.js.map +0 -1
  399. package/bin/agent/local/services/AgentAssemblyService.d.ts +0 -105
  400. package/bin/agent/local/services/AgentAssemblyService.d.ts.map +0 -1
  401. package/bin/agent/local/services/AgentAssemblyService.js +0 -184
  402. package/bin/agent/local/services/AgentAssemblyService.js.map +0 -1
  403. package/bin/agent/local/services/AgentBackgroundService.d.ts +0 -55
  404. package/bin/agent/local/services/AgentBackgroundService.d.ts.map +0 -1
  405. package/bin/agent/local/services/AgentBackgroundService.js +0 -85
  406. package/bin/agent/local/services/AgentBackgroundService.js.map +0 -1
  407. package/bin/agent/local/services/AgentSessions.d.ts.map +0 -1
  408. package/bin/agent/local/services/AgentSessions.js.map +0 -1
  409. package/bin/agent/remote/RemoteAgent.d.ts.map +0 -1
  410. package/bin/agent/remote/RemoteAgent.js.map +0 -1
  411. package/bin/agent/remote/RemoteSession.d.ts.map +0 -1
  412. package/bin/agent/remote/RemoteSession.js.map +0 -1
  413. package/bin/agent/remote/RemoteTransport.d.ts.map +0 -1
  414. package/bin/agent/remote/RemoteTransport.js.map +0 -1
  415. package/bin/agent/remote/TransportFactory.d.ts.map +0 -1
  416. package/bin/agent/remote/TransportFactory.js.map +0 -1
  417. package/bin/agent/remote/transports/HttpRemoteAgentTransport.d.ts.map +0 -1
  418. package/bin/agent/remote/transports/HttpRemoteAgentTransport.js.map +0 -1
  419. package/bin/agent/remote/transports/RpcRemoteAgentTransport.d.ts.map +0 -1
  420. package/bin/agent/remote/transports/RpcRemoteAgentTransport.js.map +0 -1
  421. package/bin/executor/SessionRunScope.d.ts +0 -68
  422. package/bin/executor/SessionRunScope.d.ts.map +0 -1
  423. package/bin/executor/SessionRunScope.js +0 -96
  424. package/bin/executor/SessionRunScope.js.map +0 -1
  425. package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts +0 -74
  426. package/bin/executor/composer/compaction/SessionCompactionComposer.d.ts.map +0 -1
  427. package/bin/executor/composer/compaction/SessionCompactionComposer.js +0 -9
  428. package/bin/executor/composer/compaction/SessionCompactionComposer.js.map +0 -1
  429. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts +0 -27
  430. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.d.ts.map +0 -1
  431. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js +0 -39
  432. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.js.map +0 -1
  433. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.d.ts +0 -44
  434. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.d.ts.map +0 -1
  435. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.js +0 -218
  436. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.js.map +0 -1
  437. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.d.ts +0 -27
  438. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.d.ts.map +0 -1
  439. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.js +0 -181
  440. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.js.map +0 -1
  441. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts +0 -50
  442. package/bin/executor/composer/context/LocalSessionContextComposer.d.ts.map +0 -1
  443. package/bin/executor/composer/context/LocalSessionContextComposer.js +0 -108
  444. package/bin/executor/composer/context/LocalSessionContextComposer.js.map +0 -1
  445. package/bin/executor/composer/context/SessionContextComposer.d.ts +0 -67
  446. package/bin/executor/composer/context/SessionContextComposer.d.ts.map +0 -1
  447. package/bin/executor/composer/context/SessionContextComposer.js +0 -9
  448. package/bin/executor/composer/context/SessionContextComposer.js.map +0 -1
  449. package/bin/executor/composer/history/SessionHistoryComposer.d.ts +0 -54
  450. package/bin/executor/composer/history/SessionHistoryComposer.d.ts.map +0 -1
  451. package/bin/executor/composer/history/SessionHistoryComposer.js +0 -10
  452. package/bin/executor/composer/history/SessionHistoryComposer.js.map +0 -1
  453. package/bin/executor/composer/history/SessionHistoryWriter.d.ts +0 -46
  454. package/bin/executor/composer/history/SessionHistoryWriter.d.ts.map +0 -1
  455. package/bin/executor/composer/history/SessionHistoryWriter.js +0 -65
  456. package/bin/executor/composer/history/SessionHistoryWriter.js.map +0 -1
  457. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.d.ts +0 -35
  458. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.d.ts.map +0 -1
  459. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.js +0 -105
  460. package/bin/executor/composer/history/jsonl/JsonlSessionHistoryComposer.js.map +0 -1
  461. package/bin/executor/messages/AssistantResultPersistence.d.ts +0 -66
  462. package/bin/executor/messages/AssistantResultPersistence.d.ts.map +0 -1
  463. package/bin/executor/messages/AssistantResultPersistence.js +0 -44
  464. package/bin/executor/messages/AssistantResultPersistence.js.map +0 -1
  465. package/bin/executor/services/ExecutorInflightService.d.ts +0 -34
  466. package/bin/executor/services/ExecutorInflightService.d.ts.map +0 -1
  467. package/bin/executor/services/ExecutorInflightService.js +0 -73
  468. package/bin/executor/services/ExecutorInflightService.js.map +0 -1
  469. package/bin/executor/store/history/SessionHistoryStore.d.ts +0 -140
  470. package/bin/executor/store/history/SessionHistoryStore.d.ts.map +0 -1
  471. package/bin/executor/store/history/SessionHistoryStore.js +0 -10
  472. package/bin/executor/store/history/SessionHistoryStore.js.map +0 -1
  473. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts +0 -116
  474. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.d.ts.map +0 -1
  475. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js +0 -709
  476. package/bin/executor/store/history/jsonl/JsonlSessionHistoryStore.js.map +0 -1
  477. package/bin/executor/types/SessionHistoryPaths.d.ts +0 -34
  478. package/bin/executor/types/SessionHistoryPaths.d.ts.map +0 -1
  479. package/bin/executor/types/SessionHistoryPaths.js +0 -2
  480. package/bin/executor/types/SessionHistoryPaths.js.map +0 -1
  481. package/bin/model/CityModelAdapter.d.ts.map +0 -1
  482. package/bin/model/CityModelAdapter.js.map +0 -1
  483. package/bin/rpc/Client.d.ts.map +0 -1
  484. package/bin/rpc/Client.js.map +0 -1
  485. package/bin/session/SessionSystemBuilder.d.ts +0 -107
  486. package/bin/session/SessionSystemBuilder.d.ts.map +0 -1
  487. package/bin/session/SessionSystemBuilder.js +0 -148
  488. package/bin/session/SessionSystemBuilder.js.map +0 -1
  489. package/bin/session/recorder/SessionMessageCodec.d.ts.map +0 -1
  490. package/bin/session/recorder/SessionMessageCodec.js.map +0 -1
  491. package/bin/session/recorder/SessionRecorder.d.ts +0 -217
  492. package/bin/session/recorder/SessionRecorder.d.ts.map +0 -1
  493. package/bin/session/recorder/SessionRecorder.js.map +0 -1
  494. package/bin/session/recorder/SessionRecorderCompaction.d.ts +0 -18
  495. package/bin/session/recorder/SessionRecorderCompaction.d.ts.map +0 -1
  496. package/bin/session/recorder/SessionRecorderCompaction.js.map +0 -1
  497. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts +0 -66
  498. package/bin/session/recorder/SessionRecorderHistoryStore.d.ts.map +0 -1
  499. package/bin/session/recorder/SessionRecorderHistoryStore.js +0 -190
  500. package/bin/session/recorder/SessionRecorderHistoryStore.js.map +0 -1
  501. package/bin/session/runtime/SessionPromptRuntime.d.ts +0 -112
  502. package/bin/session/runtime/SessionPromptRuntime.d.ts.map +0 -1
  503. package/bin/session/runtime/SessionPromptRuntime.js +0 -357
  504. package/bin/session/runtime/SessionPromptRuntime.js.map +0 -1
  505. package/bin/session/services/SessionStateService.d.ts +0 -187
  506. package/bin/session/services/SessionStateService.d.ts.map +0 -1
  507. package/bin/session/services/SessionStateService.js +0 -467
  508. package/bin/session/services/SessionStateService.js.map +0 -1
  509. package/bin/session/services/SessionTurnService.d.ts +0 -90
  510. package/bin/session/services/SessionTurnService.d.ts.map +0 -1
  511. package/bin/session/services/SessionTurnService.js +0 -293
  512. package/bin/session/services/SessionTurnService.js.map +0 -1
  513. package/bin/session/services/SessionViewService.d.ts +0 -114
  514. package/bin/session/services/SessionViewService.d.ts.map +0 -1
  515. package/bin/session/services/SessionViewService.js +0 -204
  516. package/bin/session/services/SessionViewService.js.map +0 -1
  517. package/bin/session/storage/Persistence.d.ts +0 -73
  518. package/bin/session/storage/Persistence.d.ts.map +0 -1
  519. package/bin/session/storage/Persistence.js +0 -63
  520. package/bin/session/storage/Persistence.js.map +0 -1
  521. package/bin/types/agent/AgentRuntimeAssembly.d.ts +0 -72
  522. package/bin/types/agent/AgentRuntimeAssembly.d.ts.map +0 -1
  523. package/bin/types/agent/AgentRuntimeAssembly.js +0 -10
  524. package/bin/types/agent/AgentRuntimeAssembly.js.map +0 -1
  525. package/bin/types/runtime/agent/AgentContext.d.ts +0 -306
  526. package/bin/types/runtime/agent/AgentContext.d.ts.map +0 -1
  527. package/bin/types/runtime/agent/AgentContext.js +0 -128
  528. package/bin/types/runtime/agent/AgentContext.js.map +0 -1
  529. package/bin/types/session/SessionComposerOptions.d.ts +0 -90
  530. package/bin/types/session/SessionComposerOptions.d.ts.map +0 -1
  531. package/bin/types/session/SessionComposerOptions.js +0 -10
  532. package/bin/types/session/SessionComposerOptions.js.map +0 -1
  533. package/bin/types/session/SessionQueueCommand.d.ts +0 -68
  534. package/bin/types/session/SessionQueueCommand.d.ts.map +0 -1
  535. package/bin/types/session/SessionQueueCommand.js +0 -10
  536. package/bin/types/session/SessionQueueCommand.js.map +0 -1
  537. package/scripts/session-action-message.test.mjs +0 -410
  538. package/scripts/session-compaction-context-window.test.mjs +0 -96
  539. package/scripts/session-history-inflight.test.mjs +0 -146
  540. package/scripts/session-history-writer-error.test.mjs +0 -57
  541. package/scripts/session-prompt-runtime.test.mjs +0 -390
  542. package/src/agent/local/Agent.ts +0 -250
  543. package/src/agent/local/AgentPluginFactory.ts +0 -51
  544. package/src/agent/local/AgentRuntimeAssembly.ts +0 -65
  545. package/src/agent/local/services/AgentAssemblyService.ts +0 -307
  546. package/src/agent/local/services/AgentBackgroundService.ts +0 -115
  547. package/src/executor/SessionRunScope.ts +0 -122
  548. package/src/executor/composer/compaction/SessionCompactionComposer.ts +0 -84
  549. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionComposer.ts +0 -51
  550. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionExecutor.ts +0 -294
  551. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionFileOperations.ts +0 -197
  552. package/src/executor/composer/context/LocalSessionContextComposer.ts +0 -175
  553. package/src/executor/composer/context/SessionContextComposer.ts +0 -83
  554. package/src/executor/composer/history/SessionHistoryComposer.ts +0 -62
  555. package/src/executor/composer/history/SessionHistoryWriter.ts +0 -100
  556. package/src/executor/composer/history/jsonl/JsonlSessionHistoryComposer.ts +0 -133
  557. package/src/executor/messages/AssistantResultPersistence.ts +0 -106
  558. package/src/executor/services/ExecutorInflightService.ts +0 -95
  559. package/src/executor/store/history/SessionHistoryStore.ts +0 -172
  560. package/src/executor/store/history/jsonl/JsonlSessionHistoryStore.ts +0 -879
  561. package/src/executor/types/SessionHistoryPaths.ts +0 -38
  562. package/src/session/SessionSystemBuilder.ts +0 -262
  563. package/src/session/recorder/SessionRecorderHistoryStore.ts +0 -256
  564. package/src/session/runtime/SessionPromptRuntime.ts +0 -518
  565. package/src/session/services/SessionStateService.ts +0 -628
  566. package/src/session/services/SessionTurnService.ts +0 -368
  567. package/src/session/services/SessionViewService.ts +0 -335
  568. package/src/session/storage/Persistence.ts +0 -137
  569. package/src/types/agent/AgentRuntimeAssembly.ts +0 -74
  570. package/src/types/runtime/agent/AgentContext.ts +0 -387
  571. package/src/types/session/SessionComposerOptions.ts +0 -107
  572. package/src/types/session/SessionQueueCommand.ts +0 -78
  573. /package/bin/{agent/local → config}/ProjectSetup.d.ts +0 -0
  574. /package/bin/{agent/remote → remote}/RemoteTransport.js +0 -0
  575. /package/bin/session/{recorder → messages}/JsonlSessionMessageStore.d.ts +0 -0
  576. /package/bin/session/{recorder → messages}/JsonlSessionMessageStore.js +0 -0
  577. /package/src/{agent/local → config}/ProjectSetup.ts +0 -0
  578. /package/src/session/{recorder → messages}/JsonlSessionMessageStore.ts +0 -0
@@ -8,21 +8,14 @@
8
8
  */
9
9
 
10
10
  import type { Tool } from "ai";
11
+ import type { AgentModel } from "@/agent/AgentModel.js";
11
12
  import type { AgentSession } from "@/types/agent/SessionActor.js";
12
- import type { SessionPort } from "@/types/runtime/agent/AgentContext.js";
13
+ import type { SessionPort } from "@/types/session/SessionPort.js";
13
14
  import type { AgentSessionSystemBlock } from "@/types/agent/SessionTypes.js";
14
15
  import type { AgentPluginExecutionRuntime } from "@/types/plugin/PluginRuntime.js";
15
- import type { AgentSessionCommand } from "@/types/session/SessionQueueCommand.js";
16
- import type { SessionComposerOptions } from "@/types/session/SessionComposerOptions.js";
16
+ import type { AgentSessionCommand } from "@/types/session/SessionQueue.js";
17
+ import type { SessionComposer } from "@/types/session/SessionComposer.js";
17
18
  import type { Logger } from "@/utils/logger/Logger.js";
18
- import type { AgentModel } from "@/model/CityModelAdapter.js";
19
- import type {
20
- ResolveSessionApprovalInput,
21
- SessionApproval,
22
- SessionApprovalModeSnapshot,
23
- SessionApprovalResult,
24
- SetSessionApprovalModeInput,
25
- } from "@/types/session/SessionApproval.js";
26
19
 
27
20
  /**
28
21
  * Agent 可管理的本地 Session 实例。
@@ -102,39 +95,14 @@ export interface SessionOptions {
102
95
  */
103
96
  getManagedPluginSystemBlocks: () => Promise<AgentSessionSystemBlock[]>;
104
97
 
105
- /**
106
- * 读取当前 agent 显式注册 plugin 的 system blocks。
107
- */
108
- getPluginSystemBlocks: () => Promise<AgentSessionSystemBlock[]>;
109
-
110
98
  /**
111
99
  * 在执行前确保当前 session 已完成宿主侧默认配置。
112
100
  */
113
101
  ensureConfigured?: (session: AgentManagedSession) => Promise<void>;
114
102
 
115
- /** 按稳定模型 ID 解析当前 Session 的运行时模型。 */
116
- resolve_model?: (model_id: string) => Promise<AgentModel>;
117
-
118
- /** 列出当前 Session 的 pending 工具审批。 */
119
- list_approvals: (session_id: string) => Promise<SessionApproval[]>;
120
-
121
- /** 读取当前 Session 的工具审批模式。 */
122
- get_approval_mode: (session_id: string) => Promise<SessionApprovalModeSnapshot>;
103
+ /** 读取 Agent 当前持有的运行时模型实例。 */
104
+ getAgentModel: () => AgentModel | undefined;
123
105
 
124
- /** 更新当前 Session 的工具审批模式。 */
125
- set_approval_mode: (
126
- session_id: string,
127
- input: SetSessionApprovalModeInput,
128
- ) => Promise<SessionApprovalModeSnapshot>;
129
-
130
- /** 处理当前 Session 的 pending 工具审批。 */
131
- resolve_approval: (
132
- session_id: string,
133
- input: ResolveSessionApprovalInput,
134
- ) => Promise<SessionApprovalResult>;
135
-
136
- /**
137
- * 当前 session 的 Composer 覆盖项。
138
- */
139
- composers?: SessionComposerOptions;
106
+ /** 当前 Session 使用的统一执行策略;省略时使用默认 Composer。 */
107
+ composer?: SessionComposer;
140
108
  }
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Session runtime 端口类型。
3
+ *
4
+ * 职责说明(中文)
5
+ * - 定义 Plugin、transport 与 Agent 内部运行时访问单个 Session 的稳定协议。
6
+ * - 不暴露具体 Session class,也不包含 Session 集合管理能力。
7
+ */
8
+
9
+ import type { LanguageModel } from "ai";
10
+ import type {
11
+ SessionMetadataV1,
12
+ SessionRecordV1,
13
+ } from "@/executor/types/SessionRecords.js";
14
+ import type {
15
+ SessionRunInput,
16
+ SessionRunResult,
17
+ } from "@/executor/types/SessionRun.js";
18
+ import type { AgentSessionPromptInput } from "@/types/sdk/AgentSessionPrompt.js";
19
+ import type { AgentSessionStopResult } from "@/types/sdk/AgentSessionStop.js";
20
+ import type { AgentSessionTurnHandle } from "@/types/sdk/AgentSessionTurn.js";
21
+ import type {
22
+ SessionMutationSubscriber,
23
+ SessionMutationUnsubscribe,
24
+ } from "@/types/session/SessionMutation.js";
25
+ import type { SessionContextSnapshot } from "@/types/session/SessionSegment.js";
26
+
27
+ /**
28
+ * 单个 Session 执行端口。
29
+ */
30
+ export interface SessionExecutorPort {
31
+ /** 执行一次 Session run。 */
32
+ run(params: SessionRunInput): Promise<SessionRunResult>;
33
+
34
+ /**
35
+ * 请求取消当前正在执行的 turn。
36
+ *
37
+ * @returns `true` 表示已发出取消请求;`false` 表示当前没有可取消的执行。
38
+ */
39
+ stop(): boolean;
40
+ }
41
+
42
+ /**
43
+ * 单个 Session 实例端口。
44
+ */
45
+ export interface SessionPort {
46
+ /** 当前 Session 稳定标识。 */
47
+ readonly sessionId: string;
48
+
49
+ /** 获取当前 Session 优先解析后的运行时模型实例。 */
50
+ getModel(): LanguageModel | undefined;
51
+
52
+ /** 获取当前 Session 的执行端口。 */
53
+ getExecutor(): SessionExecutorPort;
54
+
55
+ /** 读取当前 Session 的累计 Summary 与 Active Message 快照。 */
56
+ context(): Promise<SessionContextSnapshot>;
57
+
58
+ /** 向当前 Session actor 追加一条新的 prompt。 */
59
+ prompt(input: AgentSessionPromptInput): Promise<AgentSessionTurnHandle>;
60
+
61
+ /** 停止当前 turn,并取消尚未被吸收的排队 prompt。 */
62
+ stop(): Promise<AgentSessionStopResult>;
63
+
64
+ /** 订阅当前 Session 后续产生的 future 事件。 */
65
+ subscribe(subscriber: SessionMutationSubscriber): SessionMutationUnsubscribe;
66
+
67
+ /**
68
+ * 追加一条 user 消息。
69
+ */
70
+ append_user_message(params: {
71
+ /** 已构造好的完整消息。 */
72
+ message?: SessionRecordV1 | null;
73
+
74
+ /** 未传入完整消息时使用的兜底文本。 */
75
+ text?: string;
76
+
77
+ /** 当前消息附加元数据。 */
78
+ extra?: SessionMetadataV1["extra"];
79
+ }): Promise<void>;
80
+
81
+ /**
82
+ * 追加一条 assistant 消息。
83
+ */
84
+ append_assistant_message(params: {
85
+ /** 已构造好的完整消息。 */
86
+ message?: SessionRecordV1 | null;
87
+
88
+ /** 未传入完整消息时使用的兜底文本。 */
89
+ fallbackText?: string;
90
+
91
+ /** 当前消息附加元数据。 */
92
+ extra?: SessionMetadataV1["extra"];
93
+ }): Promise<void>;
94
+
95
+ /** 返回当前 Session 是否正在执行。 */
96
+ isExecuting(): boolean;
97
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Session 输入队列类型。
3
+ *
4
+ * 队列只保存明确的输入事实,不保存可执行闭包。SessionTurn 是这些输入的唯一解释者。
5
+ */
6
+
7
+ import type { AgentSessionConfigSnapshot, AgentSessionSystemBlock } from "@/types/agent/SessionTypes.js";
8
+ import type { AgentPluginExecutionRuntime } from "@/types/plugin/PluginRuntime.js";
9
+ import type { AgentSessionPromptInput } from "@/types/sdk/AgentSessionPrompt.js";
10
+ import type { AgentSessionTurnHandle } from "@/types/sdk/AgentSessionTurn.js";
11
+
12
+ /** Session 模型配置在 Step 检查点生效的命令。 */
13
+ export interface SessionModelQueueCommand {
14
+ /** 命令种类固定为 Session 模型更新。 */
15
+ type: "session_model";
16
+ /** 当前命令的稳定唯一标识。 */
17
+ command_id: string;
18
+ /** 等待提交为 effective state 的完整 Session 配置。 */
19
+ config: AgentSessionConfigSnapshot;
20
+ /** 配置生效后需要写入的可选 Action 标识。 */
21
+ action_id?: string;
22
+ /** 配置生效后需要写入的可选 Action 标题。 */
23
+ action_title?: string;
24
+ }
25
+
26
+ /** Agent instruction 在 Session Step 检查点生效的命令。 */
27
+ export interface SessionInstructionQueueCommand {
28
+ /** 命令种类固定为 Agent instruction 更新。 */
29
+ type: "agent_instruction";
30
+ /** 当前命令的稳定唯一标识。 */
31
+ command_id: string;
32
+ /** 下一 Step 使用的完整 instruction blocks。 */
33
+ instruction_blocks: AgentSessionSystemBlock[];
34
+ }
35
+
36
+ /** Agent env 在 Session Step 检查点生效的命令。 */
37
+ export interface SessionEnvQueueCommand {
38
+ /** 命令种类固定为 Agent env 更新。 */
39
+ type: "agent_env";
40
+ /** 当前命令的稳定唯一标识。 */
41
+ command_id: string;
42
+ /** 下一 Step 使用的完整环境变量快照。 */
43
+ env: Record<string, string>;
44
+ }
45
+
46
+ /** Agent Plugin 视图在 Session Step 检查点生效的命令。 */
47
+ export interface SessionPluginsQueueCommand {
48
+ /** 命令种类固定为 Agent Plugin 更新。 */
49
+ type: "agent_plugins";
50
+ /** 当前命令的稳定唯一标识。 */
51
+ command_id: string;
52
+ /** 当前 Plugin 修改的用户可读标题。 */
53
+ title: string;
54
+ /** 下一 Step 使用的 Plugin 执行视图。 */
55
+ plugins: AgentPluginExecutionRuntime;
56
+ }
57
+
58
+ /** 显式持久化历史压缩命令。 */
59
+ export interface SessionCompactQueueCommand {
60
+ /** 命令种类固定为 compact。 */
61
+ type: "compact";
62
+ /** 当前命令的稳定唯一标识。 */
63
+ command_id: string;
64
+ }
65
+
66
+ /** Session FIFO 中允许出现的领域命令。 */
67
+ export type SessionQueueCommand =
68
+ | SessionModelQueueCommand
69
+ | SessionInstructionQueueCommand
70
+ | SessionEnvQueueCommand
71
+ | SessionPluginsQueueCommand
72
+ | SessionCompactQueueCommand;
73
+
74
+ /** Agent configured state 广播给既有 Session 的输入。 */
75
+ export type AgentSessionCommand =
76
+ | {
77
+ /** 当前修改固定为 instruction。 */
78
+ type: "instruction";
79
+ /** 当前命令唯一标识。 */
80
+ command_id: string;
81
+ /** 下一 Session Step 使用的 instruction blocks。 */
82
+ instruction_blocks: AgentSessionSystemBlock[];
83
+ }
84
+ | {
85
+ /** 当前修改固定为 env。 */
86
+ type: "env";
87
+ /** 当前命令唯一标识。 */
88
+ command_id: string;
89
+ /** 下一 Session Step 使用的完整 Agent env。 */
90
+ env: Record<string, string>;
91
+ }
92
+ | {
93
+ /** 当前修改固定为 plugins。 */
94
+ type: "plugins";
95
+ /** 当前命令唯一标识。 */
96
+ command_id: string;
97
+ /** 当前 Plugin 修改的用户可读标题。 */
98
+ title: string;
99
+ /** 下一 Session Step 使用的 Plugin 执行视图。 */
100
+ plugins: AgentPluginExecutionRuntime;
101
+ };
102
+
103
+ /** Promise 的显式兑现控制器。 */
104
+ export interface SessionQueueDeferred<T> {
105
+ /** 调用方等待的 Promise。 */
106
+ promise: Promise<T>;
107
+ /** 成功兑现 Promise。 */
108
+ resolve: (value: T) => void;
109
+ }
110
+
111
+ /** FIFO 中等待创建或并入 Turn 的 Prompt。 */
112
+ export interface SessionQueuedPrompt {
113
+ /** 队列项种类固定为 prompt。 */
114
+ type: "prompt";
115
+ /** 当前 Prompt 的结构化输入。 */
116
+ input: AgentSessionPromptInput;
117
+ /** 等待 SessionTurn 返回 Turn Handle 的控制器。 */
118
+ deferred_handle: SessionQueueDeferred<AgentSessionTurnHandle>;
119
+ }
120
+
121
+ /** Session FIFO 中的全部输入类型。 */
122
+ export type SessionQueueItem = SessionQueuedPrompt | SessionQueueCommand;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * SessionState 构造与配置变更类型。
3
+ *
4
+ * 这些类型只描述 Session 配置和 Metadata 状态,不承载 Message 行为。
5
+ */
6
+
7
+ import type { LanguageModel } from "ai";
8
+ import type { SessionMessages } from "@/session/SessionMessages.js";
9
+ import type { AgentSessionConfigSnapshot } from "@/types/agent/SessionTypes.js";
10
+ import type { SessionLocalState } from "@/types/session/SessionLocalState.js";
11
+ import type { SessionMutation } from "@/types/session/SessionMutation.js";
12
+ import type { SessionQueueCommand } from "@/types/session/SessionQueue.js";
13
+ import type { Logger } from "@/utils/logger/Logger.js";
14
+
15
+ /** SessionState 构造参数。 */
16
+ export interface SessionStateOptions {
17
+ /** 当前 Agent 的稳定标识。 */
18
+ agent_id: string;
19
+ /** 当前项目的绝对根目录。 */
20
+ project_root: string;
21
+ /** 当前 Session 的稳定标识。 */
22
+ session_id: string;
23
+ /** 当前 Session 的 canonical Message 入口。 */
24
+ messages: SessionMessages;
25
+ /** 当前 Session 的可变内存状态。 */
26
+ state: SessionLocalState;
27
+ /** 当前 Session 的运行日志器。 */
28
+ logger: Logger;
29
+ /** 在执行前补齐宿主级配置的异步钩子。 */
30
+ ensure_configured_hook?: () => Promise<void>;
31
+ /** 按 Session 优先、Agent 兜底规则读取当前模型。 */
32
+ get_model: () => LanguageModel | undefined;
33
+ /** 发布 Session Mutation 的函数。 */
34
+ publish_event: (mutation: SessionMutation) => void;
35
+ }
36
+
37
+ /** Session 配置写入选项。 */
38
+ export interface SessionSetOptions {
39
+ /** 是否为本次配置变化生成 Model Switching Action。 */
40
+ emit_action?: boolean;
41
+ }
42
+
43
+ /** Session 配置成功写入后的队列提交结果。 */
44
+ export interface SessionConfiguredCommandResult {
45
+ /** 等待在下一 Session Step 检查点执行的 Command。 */
46
+ command?: SessionQueueCommand;
47
+ }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Session System Block 组装类型。
3
+ *
4
+ * 该类型只描述默认 Composer 组装 system block 所需的只读输入。
5
+ */
6
+
7
+ import type { AgentSessionSystemBlock } from "@/types/agent/SessionTypes.js";
8
+
9
+ /** 默认 Session System Block 的组装参数。 */
10
+ export interface BuildSessionSystemBlocksInput {
11
+ /** 当前 Agent 的稳定标识。 */
12
+ agent_id: string;
13
+ /** 当前 Agent 绑定的项目绝对根目录。 */
14
+ project_root: string;
15
+ /** 当前 Session 的稳定标识。 */
16
+ session_id: string;
17
+ /** 当前 Session 首次创建时间,单位为毫秒。 */
18
+ created_at: number;
19
+ /** 当前 Session 初始化时解析到的系统时区。 */
20
+ timezone: string;
21
+ /** 读取当前调用方传入的 Instruction System Block。 */
22
+ get_instruction_system_blocks: () => AgentSessionSystemBlock[];
23
+ /** 读取当前显式注入的受托管 Plugin System Block。 */
24
+ get_managed_plugin_system_blocks: () => Promise<AgentSessionSystemBlock[]>;
25
+ /** 读取当前显式注册 Plugin 的 System Block。 */
26
+ get_plugin_system_blocks: () => Promise<AgentSessionSystemBlock[]>;
27
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Session Tool Message 类型。
3
+ *
4
+ * 这些类型描述 Tool 生命周期协调器与 Recorder 之间的稳定边界。
5
+ */
6
+
7
+ import type { SessionAssistantToolPart } from "@/types/session/SessionMessage.js";
8
+
9
+ /** 当前流式 Assistant 中的 Tool Part 定位结果。 */
10
+ export interface SessionStreamingToolLocation {
11
+ /** Tool Part 所属 Assistant Message。 */
12
+ message_id: string;
13
+ /** 当前 Tool Part 完整快照。 */
14
+ part: SessionAssistantToolPart;
15
+ }
16
+
17
+ /** Executor 在调用 Tool 实现前提交的完整输入。 */
18
+ export interface SessionToolInputReady {
19
+ /** 当前 Tool Call 标识。 */
20
+ tool_call_id: string;
21
+ /** 当前 Tool 注册名称。 */
22
+ tool_name: string;
23
+ /** 已完成解析的 Tool 输入。 */
24
+ input: unknown;
25
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * SessionTurn 构造参数与内部运行态类型。
3
+ *
4
+ * 这些类型描述 Turn 编排所依赖的领域对象,不实现任何调度行为。
5
+ */
6
+
7
+ import type { Executor } from "@/executor/Executor.js";
8
+ import type { SessionApprovalBroker } from "@/session/approval/SessionApprovalBroker.js";
9
+ import type { SessionEventHub } from "@/session/runtime/SessionEventHub.js";
10
+ import type { SessionMessages } from "@/session/SessionMessages.js";
11
+ import type { SessionState } from "@/session/SessionState.js";
12
+ import type { AgentSessionTurnResult } from "@/types/sdk/AgentSessionTurn.js";
13
+ import type { SessionQueueCommand } from "@/types/session/SessionQueue.js";
14
+
15
+ /** Promise 延迟控制器。 */
16
+ export interface SessionDeferred<T> {
17
+ /** 等待兑现的 Promise。 */
18
+ promise: Promise<T>;
19
+ /** 兑现 Promise 的函数。 */
20
+ resolve: (value: T) => void;
21
+ }
22
+
23
+ /** 当前活跃 Turn 的内存状态。 */
24
+ export interface ActiveSessionTurnState {
25
+ /** 当前 Turn 的稳定标识。 */
26
+ turn_id: string;
27
+ /** 当前 Turn 的最终结果快照。 */
28
+ result: AgentSessionTurnResult | null;
29
+ /** 当前 Turn 完成状态的延迟控制器。 */
30
+ deferred_finished: SessionDeferred<AgentSessionTurnResult>;
31
+ /** 当前 Turn 的取消控制器。 */
32
+ abort_controller: AbortController;
33
+ }
34
+
35
+ /** SessionTurn 构造参数。 */
36
+ export interface SessionTurnOptions {
37
+ /** 当前 Session 的稳定标识。 */
38
+ session_id: string;
39
+ /** 当前项目的绝对根目录。 */
40
+ project_root: string;
41
+ /** 当前 Session 的模型执行器。 */
42
+ executor: Executor;
43
+ /** 当前 Session 的配置与 Metadata 状态。 */
44
+ state: SessionState;
45
+ /** 当前 Session 的 canonical Message 入口。 */
46
+ messages: SessionMessages;
47
+ /** 当前 Session 的 Mutation 总线。 */
48
+ events: SessionEventHub;
49
+ /** 当前 Session 的 Tool 审批入口。 */
50
+ approvals: SessionApprovalBroker;
51
+ /** 在 Step 检查点提交 Session 或 Agent 状态 Command。 */
52
+ apply_command: (
53
+ command: Exclude<SessionQueueCommand, { type: "compact" }>,
54
+ turn_id: string,
55
+ ) => Promise<void>;
56
+ }