@downcity/agent 1.1.430 → 1.1.437

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 (488) hide show
  1. package/README.md +13 -11
  2. package/bin/agent/Agent.d.ts +3 -3
  3. package/bin/agent/Agent.d.ts.map +1 -1
  4. package/bin/agent/Agent.js +38 -8
  5. package/bin/agent/Agent.js.map +1 -1
  6. package/bin/agent/AgentInstructions.js +2 -2
  7. package/bin/agent/AgentInstructions.js.map +1 -1
  8. package/bin/agent/AgentMemoryStorage.d.ts.map +1 -1
  9. package/bin/agent/AgentMemoryStorage.js +1 -0
  10. package/bin/agent/AgentMemoryStorage.js.map +1 -1
  11. package/bin/agent/AgentSessions.d.ts +5 -1
  12. package/bin/agent/AgentSessions.d.ts.map +1 -1
  13. package/bin/agent/AgentSessions.js +17 -9
  14. package/bin/agent/AgentSessions.js.map +1 -1
  15. package/bin/executor/Executor.d.ts +9 -27
  16. package/bin/executor/Executor.d.ts.map +1 -1
  17. package/bin/executor/Executor.js +32 -127
  18. package/bin/executor/Executor.js.map +1 -1
  19. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts +0 -4
  20. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts.map +1 -1
  21. package/bin/executor/composer/system/default/SystemPromptAssets.js +0 -5
  22. package/bin/executor/composer/system/default/SystemPromptAssets.js.map +1 -1
  23. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts +3 -9
  24. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts.map +1 -1
  25. package/bin/executor/core-engine/CoreEngineContextCompaction.js +4 -130
  26. package/bin/executor/core-engine/CoreEngineContextCompaction.js.map +1 -1
  27. package/bin/executor/core-engine/CoreEngineRunner.d.ts +3 -30
  28. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +1 -1
  29. package/bin/executor/core-engine/CoreEngineRunner.js +38 -194
  30. package/bin/executor/core-engine/CoreEngineRunner.js.map +1 -1
  31. package/bin/executor/core-engine/CoreEngineSignals.d.ts +6 -6
  32. package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +1 -1
  33. package/bin/executor/core-engine/CoreEngineSignals.js +1 -1
  34. package/bin/executor/core-engine/CoreEngineSignals.js.map +1 -1
  35. package/bin/executor/messages/SessionAttachmentMapper.d.ts +2 -2
  36. package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +1 -1
  37. package/bin/executor/messages/SessionAttachmentMapper.js.map +1 -1
  38. package/bin/executor/messages/SessionMessageLog.d.ts +3 -3
  39. package/bin/executor/messages/SessionMessageLog.d.ts.map +1 -1
  40. package/bin/executor/messages/SessionMessageLog.js.map +1 -1
  41. package/bin/executor/messages/SessionModelMessages.d.ts +0 -3
  42. package/bin/executor/messages/SessionModelMessages.d.ts.map +1 -1
  43. package/bin/executor/messages/SessionModelMessages.js +80 -97
  44. package/bin/executor/messages/SessionModelMessages.js.map +1 -1
  45. package/bin/executor/model/ModelStepRunner.d.ts +2 -6
  46. package/bin/executor/model/ModelStepRunner.d.ts.map +1 -1
  47. package/bin/executor/model/ModelStepRunner.js +0 -28
  48. package/bin/executor/model/ModelStepRunner.js.map +1 -1
  49. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +7 -64
  50. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +1 -1
  51. package/bin/executor/services/ExecutorRecoveryPolicy.js +29 -45
  52. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +1 -1
  53. package/bin/executor/types/SessionHistoryMeta.d.ts +1 -3
  54. package/bin/executor/types/SessionHistoryMeta.d.ts.map +1 -1
  55. package/bin/executor/types/SessionHistoryMeta.js +1 -1
  56. package/bin/index.d.ts +9 -13
  57. package/bin/index.d.ts.map +1 -1
  58. package/bin/index.js +2 -4
  59. package/bin/index.js.map +1 -1
  60. package/bin/session/DefaultSessionComposer.d.ts +13 -7
  61. package/bin/session/DefaultSessionComposer.d.ts.map +1 -1
  62. package/bin/session/DefaultSessionComposer.js +26 -21
  63. package/bin/session/DefaultSessionComposer.js.map +1 -1
  64. package/bin/session/Session.d.ts +12 -19
  65. package/bin/session/Session.d.ts.map +1 -1
  66. package/bin/session/Session.js +70 -202
  67. package/bin/session/Session.js.map +1 -1
  68. package/bin/session/SessionComposition.d.ts +0 -2
  69. package/bin/session/SessionComposition.d.ts.map +1 -1
  70. package/bin/session/SessionComposition.js +30 -54
  71. package/bin/session/SessionComposition.js.map +1 -1
  72. package/bin/session/SessionLoop.d.ts +17 -16
  73. package/bin/session/SessionLoop.d.ts.map +1 -1
  74. package/bin/session/SessionLoop.js +217 -320
  75. package/bin/session/SessionLoop.js.map +1 -1
  76. package/bin/session/SessionMessages.d.ts +52 -44
  77. package/bin/session/SessionMessages.d.ts.map +1 -1
  78. package/bin/session/SessionMessages.js +285 -187
  79. package/bin/session/SessionMessages.js.map +1 -1
  80. package/bin/session/SessionQueue.d.ts +1 -1
  81. package/bin/session/SessionQueue.d.ts.map +1 -1
  82. package/bin/session/SessionQueue.js +2 -1
  83. package/bin/session/SessionQueue.js.map +1 -1
  84. package/bin/session/SessionState.d.ts +3 -7
  85. package/bin/session/SessionState.d.ts.map +1 -1
  86. package/bin/session/SessionState.js +50 -89
  87. package/bin/session/SessionState.js.map +1 -1
  88. package/bin/session/SessionSystem.d.ts +5 -1
  89. package/bin/session/SessionSystem.d.ts.map +1 -1
  90. package/bin/session/SessionSystem.js +40 -0
  91. package/bin/session/SessionSystem.js.map +1 -1
  92. package/bin/session/SessionTitle.d.ts +3 -3
  93. package/bin/session/SessionTitle.d.ts.map +1 -1
  94. package/bin/session/SessionTitle.js +2 -2
  95. package/bin/session/browse/Browse.d.ts +32 -46
  96. package/bin/session/browse/Browse.d.ts.map +1 -1
  97. package/bin/session/browse/Browse.js +104 -360
  98. package/bin/session/browse/Browse.js.map +1 -1
  99. package/bin/session/browse/SessionMessageTimeline.d.ts.map +1 -1
  100. package/bin/session/browse/SessionMessageTimeline.js +61 -37
  101. package/bin/session/browse/SessionMessageTimeline.js.map +1 -1
  102. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts +35 -0
  103. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts.map +1 -0
  104. package/bin/session/composer/policies/AdaptivePartContextPolicy.js +256 -0
  105. package/bin/session/composer/policies/AdaptivePartContextPolicy.js.map +1 -0
  106. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts +24 -0
  107. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts.map +1 -0
  108. package/bin/session/composer/policies/FullHistoryContextPolicy.js +31 -0
  109. package/bin/session/composer/policies/FullHistoryContextPolicy.js.map +1 -0
  110. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts +16 -0
  111. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts.map +1 -0
  112. package/bin/session/composer/policies/SessionSummaryPrompts.js +32 -0
  113. package/bin/session/composer/policies/SessionSummaryPrompts.js.map +1 -0
  114. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts +15 -4
  115. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +1 -1
  116. package/bin/session/execution/SessionAssistantOutputAdapter.js +7 -3
  117. package/bin/session/execution/SessionAssistantOutputAdapter.js.map +1 -1
  118. package/bin/session/messages/{SessionActionMessageWriter.d.ts → SessionAgentActionPartWriter.d.ts} +7 -7
  119. package/bin/session/messages/SessionAgentActionPartWriter.d.ts.map +1 -0
  120. package/bin/session/messages/{SessionActionMessageWriter.js → SessionAgentActionPartWriter.js} +7 -7
  121. package/bin/session/messages/SessionAgentActionPartWriter.js.map +1 -0
  122. package/bin/session/messages/SessionAgentContent.d.ts +10 -0
  123. package/bin/session/messages/SessionAgentContent.d.ts.map +1 -0
  124. package/bin/session/messages/SessionAgentContent.js +44 -0
  125. package/bin/session/messages/SessionAgentContent.js.map +1 -0
  126. package/bin/session/messages/SessionAgentMessageState.d.ts +50 -0
  127. package/bin/session/messages/SessionAgentMessageState.d.ts.map +1 -0
  128. package/bin/session/messages/SessionAgentMessageState.js +283 -0
  129. package/bin/session/messages/SessionAgentMessageState.js.map +1 -0
  130. package/bin/session/messages/{SessionAssistantMessageWriter.d.ts → SessionAgentMessageWriter.d.ts} +22 -8
  131. package/bin/session/messages/SessionAgentMessageWriter.d.ts.map +1 -0
  132. package/bin/session/messages/{SessionAssistantMessageWriter.js → SessionAgentMessageWriter.js} +54 -42
  133. package/bin/session/messages/SessionAgentMessageWriter.js.map +1 -0
  134. package/bin/session/messages/SessionForkMessageFiles.d.ts +11 -0
  135. package/bin/session/messages/SessionForkMessageFiles.d.ts.map +1 -1
  136. package/bin/session/messages/SessionForkMessageFiles.js +8 -2
  137. package/bin/session/messages/SessionForkMessageFiles.js.map +1 -1
  138. package/bin/session/messages/SessionMessageInteractionWriter.d.ts +6 -6
  139. package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +1 -1
  140. package/bin/session/messages/SessionMessageInteractionWriter.js +4 -4
  141. package/bin/session/messages/SessionMessageInteractionWriter.js.map +1 -1
  142. package/bin/session/messages/SessionMessageText.d.ts +3 -3
  143. package/bin/session/messages/SessionMessageText.d.ts.map +1 -1
  144. package/bin/session/messages/SessionMessageText.js +0 -2
  145. package/bin/session/messages/SessionMessageText.js.map +1 -1
  146. package/bin/session/messages/SessionTurnFileDiffData.d.ts +3 -3
  147. package/bin/session/messages/SessionTurnFileDiffData.d.ts.map +1 -1
  148. package/bin/session/messages/SessionTurnFileDiffData.js.map +1 -1
  149. package/bin/session/messages/SessionUserMessage.d.ts +3 -3
  150. package/bin/session/messages/SessionUserMessage.d.ts.map +1 -1
  151. package/bin/session/messages/SessionUserMessage.js +6 -3
  152. package/bin/session/messages/SessionUserMessage.js.map +1 -1
  153. package/bin/session/preview/SessionMessagePreview.d.ts.map +1 -1
  154. package/bin/session/preview/SessionMessagePreview.js +25 -9
  155. package/bin/session/preview/SessionMessagePreview.js.map +1 -1
  156. package/bin/session/runtime/SessionTurnCompletion.d.ts +15 -0
  157. package/bin/session/runtime/SessionTurnCompletion.d.ts.map +1 -0
  158. package/bin/session/runtime/SessionTurnCompletion.js +126 -0
  159. package/bin/session/runtime/SessionTurnCompletion.js.map +1 -0
  160. package/bin/session/runtime/SessionTurnContext.d.ts.map +1 -1
  161. package/bin/session/runtime/SessionTurnContext.js +14 -19
  162. package/bin/session/runtime/SessionTurnContext.js.map +1 -1
  163. package/bin/session/runtime/SessionTurnFileDiff.d.ts +12 -0
  164. package/bin/session/runtime/SessionTurnFileDiff.d.ts.map +1 -0
  165. package/bin/session/runtime/SessionTurnFileDiff.js +71 -0
  166. package/bin/session/runtime/SessionTurnFileDiff.js.map +1 -0
  167. package/bin/session/storage/LocalSessionDataStore.d.ts +6 -41
  168. package/bin/session/storage/LocalSessionDataStore.d.ts.map +1 -1
  169. package/bin/session/storage/LocalSessionDataStore.js +19 -101
  170. package/bin/session/storage/LocalSessionDataStore.js.map +1 -1
  171. package/bin/session/storage/LocalSessionStore.d.ts +13 -5
  172. package/bin/session/storage/LocalSessionStore.d.ts.map +1 -1
  173. package/bin/session/storage/LocalSessionStore.js +153 -30
  174. package/bin/session/storage/LocalSessionStore.js.map +1 -1
  175. package/bin/session/storage/LocalStorePaths.d.ts +4 -16
  176. package/bin/session/storage/LocalStorePaths.d.ts.map +1 -1
  177. package/bin/session/storage/LocalStorePaths.js +7 -31
  178. package/bin/session/storage/LocalStorePaths.js.map +1 -1
  179. package/bin/session/storage/Metadata.d.ts +4 -4
  180. package/bin/session/storage/Metadata.d.ts.map +1 -1
  181. package/bin/session/storage/Metadata.js +3 -11
  182. package/bin/session/storage/Metadata.js.map +1 -1
  183. package/bin/session/storage/RuntimeSessionPort.d.ts +4 -4
  184. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  185. package/bin/session/storage/RuntimeSessionPort.js +3 -3
  186. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  187. package/bin/session/storage/SessionStorageCodec.d.ts +59 -0
  188. package/bin/session/storage/SessionStorageCodec.d.ts.map +1 -0
  189. package/bin/session/storage/SessionStorageCodec.js +331 -0
  190. package/bin/session/storage/SessionStorageCodec.js.map +1 -0
  191. package/bin/session/storage/SessionStorageSchema.d.ts +11 -0
  192. package/bin/session/storage/SessionStorageSchema.d.ts.map +1 -0
  193. package/bin/session/storage/SessionStorageSchema.js +131 -0
  194. package/bin/session/storage/SessionStorageSchema.js.map +1 -0
  195. package/bin/session/storage/SqliteSessionStorage.d.ts +120 -0
  196. package/bin/session/storage/SqliteSessionStorage.d.ts.map +1 -0
  197. package/bin/session/storage/SqliteSessionStorage.js +581 -0
  198. package/bin/session/storage/SqliteSessionStorage.js.map +1 -0
  199. package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  200. package/bin/tools/ask/AskQuestionsTool.js +3 -1
  201. package/bin/tools/ask/AskQuestionsTool.js.map +1 -1
  202. package/bin/types/action/ActionResult.d.ts +9 -9
  203. package/bin/types/action/ActionResult.d.ts.map +1 -1
  204. package/bin/types/action/ActionResult.js +1 -1
  205. package/bin/types/agent/AgentOptions.d.ts +10 -0
  206. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  207. package/bin/types/agent/AgentStorage.d.ts +3 -1
  208. package/bin/types/agent/AgentStorage.d.ts.map +1 -1
  209. package/bin/types/agent/SessionActor.d.ts +0 -9
  210. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  211. package/bin/types/agent/SessionTypes.d.ts +5 -5
  212. package/bin/types/agent/SessionTypes.d.ts.map +1 -1
  213. package/bin/types/executor/SessionAssistantOutput.d.ts +15 -4
  214. package/bin/types/executor/SessionAssistantOutput.d.ts.map +1 -1
  215. package/bin/types/executor/SessionTurnContext.d.ts +17 -19
  216. package/bin/types/executor/SessionTurnContext.d.ts.map +1 -1
  217. package/bin/types/sdk/AgentSessionAction.d.ts +1 -1
  218. package/bin/types/sdk/AgentSessionAction.js +1 -1
  219. package/bin/types/sdk/AgentSessionPrompt.d.ts +14 -5
  220. package/bin/types/sdk/AgentSessionPrompt.d.ts.map +1 -1
  221. package/bin/types/sdk/AgentSessionPrompt.js +1 -1
  222. package/bin/types/sdk/AgentSessionPrompt.js.map +1 -1
  223. package/bin/types/session/AdaptivePartContextPolicy.d.ts +31 -0
  224. package/bin/types/session/AdaptivePartContextPolicy.d.ts.map +1 -0
  225. package/bin/types/session/AdaptivePartContextPolicy.js +7 -0
  226. package/bin/types/session/AdaptivePartContextPolicy.js.map +1 -0
  227. package/bin/types/session/{SessionAssistantMessageState.d.ts → SessionAgentMessageState.d.ts} +7 -7
  228. package/bin/types/session/SessionAgentMessageState.d.ts.map +1 -0
  229. package/bin/types/session/{SessionAssistantMessageState.js → SessionAgentMessageState.js} +1 -1
  230. package/bin/types/session/SessionAgentMessageState.js.map +1 -0
  231. package/bin/types/session/SessionCommand.d.ts +19 -7
  232. package/bin/types/session/SessionCommand.d.ts.map +1 -1
  233. package/bin/types/session/SessionComposer.d.ts +43 -43
  234. package/bin/types/session/SessionComposer.d.ts.map +1 -1
  235. package/bin/types/session/SessionComposer.js +2 -2
  236. package/bin/types/session/SessionComposition.d.ts +2 -5
  237. package/bin/types/session/SessionComposition.d.ts.map +1 -1
  238. package/bin/types/session/SessionContextPolicy.d.ts +70 -0
  239. package/bin/types/session/SessionContextPolicy.d.ts.map +1 -0
  240. package/bin/types/session/SessionContextPolicy.js +8 -0
  241. package/bin/types/session/SessionContextPolicy.js.map +1 -0
  242. package/bin/types/session/SessionExecution.d.ts +5 -32
  243. package/bin/types/session/SessionExecution.d.ts.map +1 -1
  244. package/bin/types/session/SessionLoop.d.ts +3 -5
  245. package/bin/types/session/SessionLoop.d.ts.map +1 -1
  246. package/bin/types/session/SessionMessages.d.ts +18 -28
  247. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  248. package/bin/types/session/SessionOptions.d.ts +5 -5
  249. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  250. package/bin/types/session/SessionPort.d.ts +8 -9
  251. package/bin/types/session/SessionPort.d.ts.map +1 -1
  252. package/bin/types/session/SessionState.d.ts +2 -5
  253. package/bin/types/session/SessionState.d.ts.map +1 -1
  254. package/bin/types/session/SessionSystem.d.ts +14 -0
  255. package/bin/types/session/SessionSystem.d.ts.map +1 -1
  256. package/bin/types/session/SessionTool.d.ts +2 -2
  257. package/bin/types/session/SessionTool.d.ts.map +1 -1
  258. package/bin/types/session/SessionTurnCompletion.d.ts +23 -0
  259. package/bin/types/session/SessionTurnCompletion.d.ts.map +1 -0
  260. package/bin/types/session/SessionTurnCompletion.js +8 -0
  261. package/bin/types/session/SessionTurnCompletion.js.map +1 -0
  262. package/bin/types/session/SessionTurnFileDiff.d.ts +42 -0
  263. package/bin/types/session/SessionTurnFileDiff.d.ts.map +1 -0
  264. package/bin/types/session/SessionTurnFileDiff.js +8 -0
  265. package/bin/types/session/SessionTurnFileDiff.js.map +1 -0
  266. package/bin/types/store/LocalStore.d.ts +6 -13
  267. package/bin/types/store/LocalStore.d.ts.map +1 -1
  268. package/bin/types/store/LocalStore.js +1 -1
  269. package/bin/types/store/SessionStorage.d.ts +103 -0
  270. package/bin/types/store/SessionStorage.d.ts.map +1 -0
  271. package/bin/types/store/SessionStorage.js +8 -0
  272. package/bin/types/store/SessionStorage.js.map +1 -0
  273. package/bin/types/store/SessionStore.d.ts +5 -3
  274. package/bin/types/store/SessionStore.d.ts.map +1 -1
  275. package/package.json +2 -2
  276. package/scripts/core-engine-context-compaction.test.mjs +96 -219
  277. package/scripts/core-engine-model-stream.test.mjs +2 -4
  278. package/scripts/executor-failure-result.test.mjs +14 -17
  279. package/scripts/session-agent-message-part-order.test.mjs +63 -0
  280. package/scripts/session-initialization.test.mjs +141 -0
  281. package/scripts/session-message-timeline.test.mjs +5 -6
  282. package/scripts/session-messages-error-part.test.mjs +175 -0
  283. package/scripts/session-messages-error.test.mjs +47 -6
  284. package/scripts/session-prompt-idempotency.test.mjs +91 -0
  285. package/scripts/session-queue.test.mjs +13 -12
  286. package/scripts/session-storage-sqlite.test.mjs +209 -0
  287. package/scripts/session-turn-context.test.mjs +21 -33
  288. package/src/agent/Agent.ts +48 -12
  289. package/src/agent/AgentInstructions.ts +2 -2
  290. package/src/agent/AgentMemoryStorage.ts +1 -0
  291. package/src/agent/AgentSessions.ts +31 -12
  292. package/src/executor/Executor.ts +47 -184
  293. package/src/executor/README.md +12 -13
  294. package/src/executor/composer/system/default/SystemPromptAssets.ts +0 -6
  295. package/src/executor/core-engine/CoreEngineContextCompaction.ts +3 -135
  296. package/src/executor/core-engine/CoreEngineRunner.ts +51 -273
  297. package/src/executor/core-engine/CoreEngineSignals.ts +9 -9
  298. package/src/executor/messages/SessionAttachmentMapper.ts +4 -4
  299. package/src/executor/messages/SessionMessageLog.ts +3 -3
  300. package/src/executor/messages/SessionModelMessages.ts +85 -103
  301. package/src/executor/model/ModelStepRunner.ts +9 -41
  302. package/src/executor/services/ExecutorRecoveryPolicy.ts +34 -127
  303. package/src/executor/types/SessionHistoryMeta.ts +1 -3
  304. package/src/index.ts +39 -47
  305. package/src/session/DefaultSessionComposer.ts +33 -30
  306. package/src/session/Session.ts +96 -227
  307. package/src/session/SessionComposition.ts +28 -65
  308. package/src/session/SessionLoop.ts +267 -370
  309. package/src/session/SessionMessages.ts +363 -242
  310. package/src/session/SessionQueue.ts +3 -2
  311. package/src/session/SessionState.ts +55 -101
  312. package/src/session/SessionSystem.ts +51 -1
  313. package/src/session/SessionTitle.ts +4 -4
  314. package/src/session/browse/Browse.ts +182 -468
  315. package/src/session/browse/SessionMessageTimeline.ts +63 -38
  316. package/src/session/composer/policies/AdaptivePartContextPolicy.ts +307 -0
  317. package/src/session/composer/policies/FullHistoryContextPolicy.ts +36 -0
  318. package/src/session/composer/policies/SessionSummaryPrompts.ts +42 -0
  319. package/src/session/execution/SessionAssistantOutputAdapter.ts +25 -11
  320. package/src/session/messages/{SessionActionMessageWriter.ts → SessionAgentActionPartWriter.ts} +8 -8
  321. package/src/session/messages/SessionAgentContent.ts +56 -0
  322. package/src/session/messages/SessionAgentMessageState.ts +378 -0
  323. package/src/session/messages/{SessionAssistantMessageWriter.ts → SessionAgentMessageWriter.ts} +89 -60
  324. package/src/session/messages/SessionForkMessageFiles.ts +25 -1
  325. package/src/session/messages/SessionMessageInteractionWriter.ts +19 -19
  326. package/src/session/messages/SessionMessageText.ts +3 -4
  327. package/src/session/messages/SessionTurnFileDiffData.ts +3 -3
  328. package/src/session/messages/SessionUserMessage.ts +10 -7
  329. package/src/session/preview/SessionMessagePreview.ts +26 -9
  330. package/src/session/runtime/SessionTurnCompletion.ts +159 -0
  331. package/src/session/runtime/SessionTurnContext.ts +20 -21
  332. package/src/session/runtime/SessionTurnFileDiff.ts +105 -0
  333. package/src/session/storage/LocalSessionDataStore.ts +27 -176
  334. package/src/session/storage/LocalSessionStore.ts +170 -38
  335. package/src/session/storage/LocalStorePaths.ts +14 -86
  336. package/src/session/storage/Metadata.ts +4 -13
  337. package/src/session/storage/RuntimeSessionPort.ts +7 -7
  338. package/src/session/storage/SessionStorageCodec.ts +465 -0
  339. package/src/session/storage/SessionStorageSchema.ts +132 -0
  340. package/src/session/storage/SqliteSessionStorage.ts +776 -0
  341. package/src/tools/ask/AskQuestionsTool.ts +3 -1
  342. package/src/types/action/ActionResult.ts +10 -10
  343. package/src/types/agent/AgentOptions.ts +11 -0
  344. package/src/types/agent/AgentStorage.ts +3 -1
  345. package/src/types/agent/SessionActor.ts +0 -10
  346. package/src/types/agent/SessionTypes.ts +5 -5
  347. package/src/types/executor/SessionAssistantOutput.ts +15 -4
  348. package/src/types/executor/SessionTurnContext.ts +25 -22
  349. package/src/types/sdk/AgentSessionAction.ts +1 -1
  350. package/src/types/sdk/AgentSessionPrompt.ts +15 -5
  351. package/src/types/session/AdaptivePartContextPolicy.ts +37 -0
  352. package/src/types/session/{SessionAssistantMessageState.ts → SessionAgentMessageState.ts} +6 -6
  353. package/src/types/session/SessionCommand.ts +21 -7
  354. package/src/types/session/SessionComposer.ts +48 -48
  355. package/src/types/session/SessionComposition.ts +2 -5
  356. package/src/types/session/SessionContextPolicy.ts +77 -0
  357. package/src/types/session/SessionExecution.ts +11 -36
  358. package/src/types/session/SessionLoop.ts +3 -8
  359. package/src/types/session/SessionMessages.ts +19 -29
  360. package/src/types/session/SessionOptions.ts +5 -5
  361. package/src/types/session/SessionPort.ts +10 -10
  362. package/src/types/session/SessionState.ts +2 -5
  363. package/src/types/session/SessionSystem.ts +19 -0
  364. package/src/types/session/SessionTool.ts +2 -2
  365. package/src/types/session/SessionTurnCompletion.ts +24 -0
  366. package/src/types/session/SessionTurnFileDiff.ts +44 -0
  367. package/src/types/store/LocalStore.ts +6 -14
  368. package/src/types/store/SessionStorage.ts +121 -0
  369. package/src/types/store/SessionStore.ts +6 -3
  370. package/tsconfig.tsbuildinfo +1 -1
  371. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.d.ts +0 -45
  372. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.d.ts.map +0 -1
  373. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js +0 -144
  374. package/bin/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.js.map +0 -1
  375. package/bin/executor/composer/system/SessionSystemComposer.d.ts +0 -23
  376. package/bin/executor/composer/system/SessionSystemComposer.d.ts.map +0 -1
  377. package/bin/executor/composer/system/SessionSystemComposer.js +0 -9
  378. package/bin/executor/composer/system/SessionSystemComposer.js.map +0 -1
  379. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts +0 -43
  380. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.d.ts.map +0 -1
  381. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js +0 -42
  382. package/bin/executor/composer/system/default/DefaultSessionSystemComposer.js.map +0 -1
  383. package/bin/executor/composer/system/default/PromptRenderer.d.ts +0 -35
  384. package/bin/executor/composer/system/default/PromptRenderer.d.ts.map +0 -1
  385. package/bin/executor/composer/system/default/PromptRenderer.js +0 -23
  386. package/bin/executor/composer/system/default/PromptRenderer.js.map +0 -1
  387. package/bin/executor/composer/system/default/SystemDomain.d.ts +0 -151
  388. package/bin/executor/composer/system/default/SystemDomain.d.ts.map +0 -1
  389. package/bin/executor/composer/system/default/SystemDomain.js +0 -162
  390. package/bin/executor/composer/system/default/SystemDomain.js.map +0 -1
  391. package/bin/executor/composer/system/default/assets/task.prompt.d.ts +0 -7
  392. package/bin/executor/composer/system/default/assets/task.prompt.d.ts.map +0 -1
  393. package/bin/executor/composer/system/default/assets/task.prompt.js +0 -8
  394. package/bin/executor/composer/system/default/assets/task.prompt.js.map +0 -1
  395. package/bin/executor/composer/system/default/variables/GeoContext.d.ts +0 -14
  396. package/bin/executor/composer/system/default/variables/GeoContext.d.ts.map +0 -1
  397. package/bin/executor/composer/system/default/variables/GeoContext.js +0 -150
  398. package/bin/executor/composer/system/default/variables/GeoContext.js.map +0 -1
  399. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts +0 -36
  400. package/bin/executor/composer/system/default/variables/PromptTypes.d.ts.map +0 -1
  401. package/bin/executor/composer/system/default/variables/PromptTypes.js +0 -9
  402. package/bin/executor/composer/system/default/variables/PromptTypes.js.map +0 -1
  403. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts +0 -61
  404. package/bin/executor/composer/system/default/variables/VariableReplacer.d.ts.map +0 -1
  405. package/bin/executor/composer/system/default/variables/VariableReplacer.js +0 -93
  406. package/bin/executor/composer/system/default/variables/VariableReplacer.js.map +0 -1
  407. package/bin/executor/core-engine/CoreEngineMessageState.d.ts +0 -63
  408. package/bin/executor/core-engine/CoreEngineMessageState.d.ts.map +0 -1
  409. package/bin/executor/core-engine/CoreEngineMessageState.js +0 -81
  410. package/bin/executor/core-engine/CoreEngineMessageState.js.map +0 -1
  411. package/bin/session/SessionCommand.d.ts +0 -24
  412. package/bin/session/SessionCommand.d.ts.map +0 -1
  413. package/bin/session/SessionCommand.js +0 -35
  414. package/bin/session/SessionCommand.js.map +0 -1
  415. package/bin/session/messages/SessionActionMessageWriter.d.ts.map +0 -1
  416. package/bin/session/messages/SessionActionMessageWriter.js.map +0 -1
  417. package/bin/session/messages/SessionAssistantMessageState.d.ts +0 -49
  418. package/bin/session/messages/SessionAssistantMessageState.d.ts.map +0 -1
  419. package/bin/session/messages/SessionAssistantMessageState.js +0 -296
  420. package/bin/session/messages/SessionAssistantMessageState.js.map +0 -1
  421. package/bin/session/messages/SessionAssistantMessageWriter.d.ts.map +0 -1
  422. package/bin/session/messages/SessionAssistantMessageWriter.js.map +0 -1
  423. package/bin/session/messages/SessionMessageCompaction.d.ts +0 -29
  424. package/bin/session/messages/SessionMessageCompaction.d.ts.map +0 -1
  425. package/bin/session/messages/SessionMessageCompaction.js +0 -128
  426. package/bin/session/messages/SessionMessageCompaction.js.map +0 -1
  427. package/bin/session/runtime/SessionCompactOperation.d.ts +0 -29
  428. package/bin/session/runtime/SessionCompactOperation.d.ts.map +0 -1
  429. package/bin/session/runtime/SessionCompactOperation.js +0 -66
  430. package/bin/session/runtime/SessionCompactOperation.js.map +0 -1
  431. package/bin/session/runtime/SessionHistoryCompaction.d.ts +0 -22
  432. package/bin/session/runtime/SessionHistoryCompaction.d.ts.map +0 -1
  433. package/bin/session/runtime/SessionHistoryCompaction.js +0 -31
  434. package/bin/session/runtime/SessionHistoryCompaction.js.map +0 -1
  435. package/bin/session/storage/JsonlSessionMessageStore.d.ts +0 -77
  436. package/bin/session/storage/JsonlSessionMessageStore.d.ts.map +0 -1
  437. package/bin/session/storage/JsonlSessionMessageStore.js +0 -419
  438. package/bin/session/storage/JsonlSessionMessageStore.js.map +0 -1
  439. package/bin/session/storage/SessionMessageStoreFactory.d.ts +0 -12
  440. package/bin/session/storage/SessionMessageStoreFactory.d.ts.map +0 -1
  441. package/bin/session/storage/SessionMessageStoreFactory.js +0 -13
  442. package/bin/session/storage/SessionMessageStoreFactory.js.map +0 -1
  443. package/bin/types/common/Template.d.ts +0 -9
  444. package/bin/types/common/Template.d.ts.map +0 -1
  445. package/bin/types/common/Template.js +0 -9
  446. package/bin/types/common/Template.js.map +0 -1
  447. package/bin/types/sdk/AgentSessionCompact.d.ts +0 -30
  448. package/bin/types/sdk/AgentSessionCompact.d.ts.map +0 -1
  449. package/bin/types/sdk/AgentSessionCompact.js +0 -8
  450. package/bin/types/sdk/AgentSessionCompact.js.map +0 -1
  451. package/bin/types/session/SessionAssistantMessageState.d.ts.map +0 -1
  452. package/bin/types/session/SessionAssistantMessageState.js.map +0 -1
  453. package/bin/types/session/SessionSegment.d.ts +0 -57
  454. package/bin/types/session/SessionSegment.d.ts.map +0 -1
  455. package/bin/types/session/SessionSegment.js +0 -8
  456. package/bin/types/session/SessionSegment.js.map +0 -1
  457. package/bin/types/store/SessionDataStore.d.ts +0 -88
  458. package/bin/types/store/SessionDataStore.d.ts.map +0 -1
  459. package/bin/types/store/SessionDataStore.js +0 -9
  460. package/bin/types/store/SessionDataStore.js.map +0 -1
  461. package/bin/utils/Template.d.ts +0 -17
  462. package/bin/utils/Template.d.ts.map +0 -1
  463. package/bin/utils/Template.js +0 -24
  464. package/bin/utils/Template.js.map +0 -1
  465. package/scripts/session-compaction-prompts.test.mjs +0 -49
  466. package/src/executor/composer/compaction/jsonl/JsonlSessionCompactionPrompts.ts +0 -162
  467. package/src/executor/composer/system/SessionSystemComposer.ts +0 -25
  468. package/src/executor/composer/system/default/DefaultSessionSystemComposer.ts +0 -76
  469. package/src/executor/composer/system/default/PromptRenderer.ts +0 -52
  470. package/src/executor/composer/system/default/SystemDomain.ts +0 -301
  471. package/src/executor/composer/system/default/assets/task.prompt.ts +0 -9
  472. package/src/executor/composer/system/default/assets/task.prompt.ts.txt +0 -33
  473. package/src/executor/composer/system/default/variables/GeoContext.ts +0 -180
  474. package/src/executor/composer/system/default/variables/PromptTypes.ts +0 -37
  475. package/src/executor/composer/system/default/variables/VariableReplacer.ts +0 -154
  476. package/src/executor/core-engine/CoreEngineMessageState.ts +0 -117
  477. package/src/session/SessionCommand.ts +0 -42
  478. package/src/session/messages/SessionAssistantMessageState.ts +0 -392
  479. package/src/session/messages/SessionMessageCompaction.ts +0 -160
  480. package/src/session/runtime/SessionCompactOperation.ts +0 -93
  481. package/src/session/runtime/SessionHistoryCompaction.ts +0 -45
  482. package/src/session/storage/JsonlSessionMessageStore.ts +0 -513
  483. package/src/session/storage/SessionMessageStoreFactory.ts +0 -18
  484. package/src/types/common/Template.ts +0 -9
  485. package/src/types/sdk/AgentSessionCompact.ts +0 -32
  486. package/src/types/session/SessionSegment.ts +0 -62
  487. package/src/types/store/SessionDataStore.ts +0 -113
  488. package/src/utils/Template.ts +0 -28
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAOzD,OAAO,KAAK,EAEV,0BAA0B,EAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAE5C,KAAK,eAAe,GAAG;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAE1B,oCAAoC;IACpC,iBAAiB,EAAE,CACjB,YAAY,EAAE,kBAAkB,GAAG,SAAS,EAC5C,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,sCAAsC;IACtC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;IAEtE,yCAAyC;IACzC,eAAe,EAAE,qBAAqB,CAAC;IAEvC;;OAEG;IACH,SAAS,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,kBAAkB,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,qBAAa,QAAS,YAAW,eAAe;IAC9C;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAA2C;IAClF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmB;IAEtD,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,eAAe;IA2BpC;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,kBAAkB,CAAC;KAClC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA6CvC;;OAEG;YACW,qBAAqB;IA0BnC;;OAEG;YACW,sBAAsB;IAuBpC;;;;;;OAMG;YACW,mBAAmB;IAuBjC,qCAAqC;YACvB,YAAY;IA8B1B;;OAEG;YACW,oBAAoB;IAOlC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IA+HlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAO/B"}
1
+ {"version":3,"file":"Executor.d.ts","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAIV,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAGjF,OAAO,KAAK,EAEV,0BAA0B,EAC3B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,KAAK,eAAe,GAAG;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,iCAAiC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAE1B,oCAAoC;IACpC,iBAAiB,EAAE,CACjB,YAAY,EAAE,kBAAkB,EAChC,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAElC,+BAA+B;IAC/B,eAAe,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5E,sCAAsC;IACtC,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;IAEtE;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,kBAAkB,CAAC;CACtC,CAAC;AAEF;;GAEG;AACH,qBAAa,QAAS,YAAW,eAAe;IAC9C;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAA2C;IAClF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+B;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAmB;IAEtD,OAAO,CAAC,SAAS,CAAS;gBAEd,OAAO,EAAE,eAAe;IA6BpC;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,EAAE;QACpB,YAAY,EAAE,kBAAkB,CAAC;KAClC,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAuBvC;;;;;;OAMG;YACW,kBAAkB;IAqBhC,qCAAqC;YACvB,YAAY;IA+B1B;;OAEG;YACW,oBAAoB;IAOlC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;CAiFnC"}
@@ -9,8 +9,6 @@
9
9
  import { CoreEngineRunner } from "./core-engine/CoreEngineRunner.js";
10
10
  import { ExecutorRecoveryPolicy } from "./services/ExecutorRecoveryPolicy.js";
11
11
  import { is_action_result } from "../types/action/ActionResult.js";
12
- import { generate_id } from "../utils/Id.js";
13
- import { normalize_session_context_content, normalize_session_context_tag, } from "../session/messages/SessionUserContext.js";
14
12
  /**
15
13
  * Executor 单实例实现。
16
14
  */
@@ -21,9 +19,8 @@ export class Executor {
21
19
  session_id;
22
20
  composer;
23
21
  get_compose_input;
22
+ recover_context;
24
23
  apply_system_snapshot;
25
- compact_history;
26
- get_model;
27
24
  get_hooks;
28
25
  logger;
29
26
  recovery_policy;
@@ -37,20 +34,21 @@ export class Executor {
37
34
  this.session_id = session_id;
38
35
  this.composer = options.composer;
39
36
  this.get_compose_input = options.get_compose_input;
37
+ this.recover_context = options.recover_context;
40
38
  this.apply_system_snapshot = options.apply_system_snapshot;
41
- this.compact_history = options.compact_history;
42
- this.get_model = options.get_model;
43
39
  this.get_hooks = options.get_hooks;
44
40
  this.logger = options.logger;
45
41
  this.recovery_policy = new ExecutorRecoveryPolicy({
46
42
  session_id: this.session_id,
47
- should_compact: (error) => this.composer.should_compact(error),
43
+ recover_context: async (error) => is_provider_context_limit_error(error)
44
+ ? await this.recover_context("provider_context_limit")
45
+ : false,
48
46
  logger: this.logger,
49
47
  });
50
48
  this.core_engine_runner = new CoreEngineRunner({
51
49
  session_id: this.session_id,
52
50
  logger: this.logger,
53
- should_compact_on_error: (error) => this.composer.should_compact(error),
51
+ should_compact_on_error: (error) => is_provider_context_limit_error(error),
54
52
  });
55
53
  }
56
54
  /**
@@ -72,107 +70,62 @@ export class Executor {
72
70
  // 否则 step 回调、scope 与执行器状态都会互相污染。
73
71
  throw new Error("Executor.execute does not support concurrent execution");
74
72
  }
75
- const query = String(params.query || "").trim();
76
73
  const turn_context = params.turn_context;
77
74
  this.executing = true;
78
- this.recovery_policy.reset_execution_state();
79
75
  try {
80
76
  const result = await this.recovery_policy.execute_with_retry({
81
- query,
82
- model: this.resolve_model_or_throw(),
83
- turn_context,
84
- prepare_execute_input: async ({ query: next_query, model, turn_context: next_turn_context, retry_count, }) => await this.prepare_execute_input(next_query, model, next_turn_context, retry_count),
85
- execute_prepared_input: async ({ execute_input, model, turn_context: next_turn_context, }) => await this.execute_prepared_input(execute_input, model, next_turn_context),
77
+ execute_turn: async (retry_count) => await this.core_engine_runner.execute({
78
+ turn_context,
79
+ resolve_step_input: async () => await this.resolve_step_input(turn_context, retry_count),
80
+ }),
86
81
  });
87
82
  return result;
88
83
  }
89
84
  finally {
90
- this.recovery_policy.reset_execution_state();
91
85
  this.executing = false;
92
86
  }
93
87
  }
94
88
  /**
95
- * 调用 Composer 组装当前轮执行输入。
96
- */
97
- async prepare_execute_input(query, _model, turn_context, retry_count) {
98
- if (retry_count > 0) {
99
- await this.logger.log("info", "[agent] compacting", {
100
- retryCount: retry_count,
101
- });
102
- await this.compact_history({
103
- turn_id: turn_context.session.turn_id,
104
- });
105
- }
106
- const step = await this.compose_step(turn_context, retry_count, true);
107
- return {
108
- query,
109
- system: step.input.system,
110
- messages: step.input.messages,
111
- ...(step.compose_input.history.summary?.summary_id
112
- ? { history_summary_id: step.compose_input.history.summary.summary_id }
113
- : {}),
114
- tools: step.input.tools,
115
- };
116
- }
117
- /**
118
- * 执行一次已装配完成的 Step 输入。
119
- */
120
- async execute_prepared_input(input, model, turn_context) {
121
- return await this.core_engine_runner.execute({
122
- execute_input: input,
123
- model,
124
- turn_context,
125
- resolve_step_inputs: async () => await this.resolve_step_inputs(turn_context),
126
- reload_history: async () => {
127
- const step = await this.compose_step(turn_context, 0, false);
128
- return {
129
- messages: step.input.messages,
130
- ...(step.compose_input.history.summary?.summary_id
131
- ? { summary_id: step.compose_input.history.summary.summary_id }
132
- : {}),
133
- };
134
- },
135
- });
136
- }
137
- /**
138
- * 解析下一 Session step 实际使用的运行配置。
89
+ * 为下一 Provider Step 生成唯一一份完整输入。
139
90
  *
140
91
  * 关键点(中文)
141
92
  * - 调用方必须先提交 Session 统一输入队列,再调用本方法。
142
93
  * - 每次调用只读取一次 model、system 与 tools,并把它们传给同一个模型 step。
143
94
  */
144
- async resolve_step_inputs(turn_context) {
145
- const composed = await this.compose_step(turn_context, 0, true);
95
+ async resolve_step_input(turn_context, retry_count) {
96
+ const composed = await this.compose_step(turn_context, retry_count);
146
97
  return {
147
98
  model: composed.model,
148
99
  system: composed.input.system,
100
+ messages: composed.input.messages,
149
101
  tools: this.bind_turn_context_to_tools(composed.input.tools, turn_context),
150
- ...(composed.compose_input.state.model_context_window !== undefined
102
+ ...(composed.context_window !== undefined
151
103
  ? {
152
- context_window: composed.compose_input.state.model_context_window,
104
+ context_window: composed.context_window,
153
105
  }
154
106
  : {}),
155
107
  };
156
108
  }
157
109
  /** 读取只读 Session 快照并交给统一 Composer。 */
158
- async compose_step(turn_context, retry_count, refresh_plugins) {
159
- if (refresh_plugins && turn_context)
160
- await this.refresh_step_runtime(turn_context);
110
+ async compose_step(turn_context, retry_count) {
111
+ await this.refresh_step_runtime(turn_context);
161
112
  const compose_input = await this.get_compose_input(turn_context, retry_count);
162
113
  const model = compose_input.state.model;
163
114
  if (!model)
164
115
  throw new Error("requires a configured model.");
165
- turn_context?.step.commit({
116
+ turn_context.step.commit({
166
117
  workspace_env: compose_input.state.env,
167
118
  agent_systems: compose_input.state.systems,
168
119
  });
169
120
  const raw_input = await this.composer.compose(compose_input);
170
121
  return {
171
- compose_input,
172
122
  input: this.apply_system_snapshot
173
123
  ? this.apply_system_snapshot(raw_input)
174
124
  : raw_input,
175
125
  model,
126
+ ...(compose_input.state.model_context_window !== undefined
127
+ ? { context_window: compose_input.state.model_context_window }
128
+ : {}),
176
129
  };
177
130
  }
178
131
  /**
@@ -255,57 +208,11 @@ export class Executor {
255
208
  turn_context.effects.append(output.effects);
256
209
  }
257
210
  for (const message of output.messages) {
258
- if (message.role === "assistant") {
211
+ if (message.role === "agent") {
259
212
  turn_context.output.enqueue_assistant_parts(message.parts);
260
213
  continue;
261
214
  }
262
- const now = Date.now();
263
- turn_context.input.inject_user_message({
264
- message_id: `runtime-user:${turn_context.session.session_id}:${generate_id()}`,
265
- session_id: turn_context.session.session_id,
266
- turn_id: turn_context.session.turn_id,
267
- sequence: 0,
268
- revision: 1,
269
- visibility: "internal",
270
- created_at: now,
271
- updated_at: now,
272
- type: "user",
273
- input_type: "steer",
274
- parts: message.parts.map((part, index) => {
275
- if (part.type === "text") {
276
- return {
277
- part_id: `runtime-text:${index + 1}`,
278
- type: "text",
279
- text: part.text,
280
- state: "done",
281
- };
282
- }
283
- if (part.type === "context") {
284
- return {
285
- part_id: `runtime-context:${index + 1}`,
286
- type: "context",
287
- tag: normalize_session_context_tag(part.tag),
288
- context: normalize_session_context_content(part.context),
289
- };
290
- }
291
- if (part.type === "file") {
292
- return {
293
- part_id: `runtime-file:${index + 1}`,
294
- type: "file",
295
- media_type: part.media_type,
296
- url: part.url,
297
- ...(part.filename ? { filename: part.filename } : {}),
298
- };
299
- }
300
- return {
301
- part_id: `runtime-data:${index + 1}`,
302
- type: "data",
303
- data_type: part.data_type,
304
- data: part.data,
305
- ...(part.data_id ? { data_id: part.data_id } : {}),
306
- };
307
- }),
308
- });
215
+ await turn_context.input.append_internal(message.parts);
309
216
  }
310
217
  return output.output;
311
218
  },
@@ -313,15 +220,13 @@ export class Executor {
313
220
  }
314
221
  return wrapped;
315
222
  }
316
- /**
317
- * 读取当前 session 模型。
318
- */
319
- resolve_model_or_throw() {
320
- const model = this.get_model();
321
- if (!model) {
322
- throw new Error("requires a configured model.");
323
- }
324
- return model;
325
- }
223
+ }
224
+ /** Core Engine 的单 Step 内恢复仍需同步识别 Provider 上下文错误。 */
225
+ function is_provider_context_limit_error(error) {
226
+ const message = String(error ?? "").toLowerCase();
227
+ return message.includes("context_length") ||
228
+ message.includes("too long") ||
229
+ message.includes("maximum context") ||
230
+ message.includes("context window");
326
231
  }
327
232
  //# sourceMappingURL=Executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Executor.js","sourceRoot":"","sources":["../../src/executor/Executor.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,4 @@
9
9
  * 默认 core system prompt。
10
10
  */
11
11
  export declare const CORE_SYSTEM_PROMPT: string;
12
- /**
13
- * task 模式专用 system prompt。
14
- */
15
- export declare const TASK_SYSTEM_PROMPT: string;
16
12
  //# sourceMappingURL=SystemPromptAssets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemPromptAssets.d.ts","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/SystemPromptAssets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAA8B,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAA8B,CAAC"}
1
+ {"version":3,"file":"SystemPromptAssets.d.ts","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/SystemPromptAssets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAA8B,CAAC"}
@@ -6,13 +6,8 @@
6
6
  * - 这里负责统一做 `trim()`,保证运行时行为稳定。
7
7
  */
8
8
  import coreSystemPromptText from "../../../composer/system/default/assets/core.prompt.js";
9
- import taskSystemPromptText from "../../../composer/system/default/assets/task.prompt.js";
10
9
  /**
11
10
  * 默认 core system prompt。
12
11
  */
13
12
  export const CORE_SYSTEM_PROMPT = coreSystemPromptText.trim();
14
- /**
15
- * task 模式专用 system prompt。
16
- */
17
- export const TASK_SYSTEM_PROMPT = taskSystemPromptText.trim();
18
13
  //# sourceMappingURL=SystemPromptAssets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SystemPromptAssets.js","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/SystemPromptAssets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,oBAAoB,MAAM,yDAAyD,CAAC;AAC3F,OAAO,oBAAoB,MAAM,yDAAyD,CAAC;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC;AAE9D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"SystemPromptAssets.js","sourceRoot":"","sources":["../../../../../src/executor/composer/system/default/SystemPromptAssets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,oBAAoB,MAAM,yDAAyD,CAAC;AAE3F;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,EAAE,CAAC"}
@@ -1,21 +1,15 @@
1
1
  /**
2
2
  * CoreEngine Downcity 模型上下文压缩模块。
3
3
  *
4
- * 压缩基于标准 ModelMessage,保留 system、最新 user 及其后的完整工具事务。
4
+ * 本模块只判断真实 Provider usage 是否达到恢复阈值;具体选择、摘要和持久化全部
5
+ * 归属于 SessionComposer 的 Context Policy。
5
6
  */
6
- import type { ModelMessage } from "@downcity/type";
7
7
  /** usage 达到模型上下文窗口 95% 时安排下一 step 压缩。 */
8
8
  export declare const MODEL_CONTEXT_COMPACTION_TRIGGER_RATIO = 0.95;
9
- /** 压缩后的真实 usage 需要回落到模型上下文窗口 50% 以内。 */
10
- export declare const MODEL_CONTEXT_COMPACTION_TARGET_RATIO = 0.5;
11
9
  /** 读取 Provider usage 中的实际总 token。 */
12
10
  export declare function resolve_model_usage_tokens(usage: unknown): number | null;
13
11
  /** 计算真实 usage 占当前模型上下文窗口的比例。 */
14
12
  export declare function resolve_model_usage_ratio(usage: unknown, context_window: number | undefined): number | null;
15
13
  /** 判断一次真实 usage 是否要求下一 step 继续压缩。 */
16
- export declare function should_compact_after_usage(usage_ratio: number | null, validating_compaction: boolean): boolean;
17
- /** 对当前模型消息做一次确定性深度压缩。 */
18
- export declare function deep_compact_model_messages(messages: ModelMessage[], compact_depth?: number): ModelMessage[];
19
- /** 对文本做确定性的 head/tail 折叠。 */
20
- export declare function fold_compacted_text(text: string, max_chars: number): string;
14
+ export declare function should_compact_after_usage(usage_ratio: number | null): boolean;
21
15
  //# sourceMappingURL=CoreEngineContextCompaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineContextCompaction.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEjE,yCAAyC;AACzC,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAC3D,wCAAwC;AACxC,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAQzD,qCAAqC;AACrC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASxE;AAED,gCAAgC;AAChC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAIf;AAED,qCAAqC;AACrC,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAKT;AAED,yBAAyB;AACzB,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,YAAY,EAAE,EACxB,aAAa,SAAI,GAChB,YAAY,EAAE,CA+BhB;AAED,6BAA6B;AAC7B,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAQ3E"}
1
+ {"version":3,"file":"CoreEngineContextCompaction.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yCAAyC;AACzC,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAE3D,qCAAqC;AACrC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CASxE;AAED,gCAAgC;AAChC,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAIf;AAED,qCAAqC;AACrC,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAGT"}
@@ -1,18 +1,11 @@
1
1
  /**
2
2
  * CoreEngine Downcity 模型上下文压缩模块。
3
3
  *
4
- * 压缩基于标准 ModelMessage,保留 system、最新 user 及其后的完整工具事务。
4
+ * 本模块只判断真实 Provider usage 是否达到恢复阈值;具体选择、摘要和持久化全部
5
+ * 归属于 SessionComposer 的 Context Policy。
5
6
  */
6
7
  /** usage 达到模型上下文窗口 95% 时安排下一 step 压缩。 */
7
8
  export const MODEL_CONTEXT_COMPACTION_TRIGGER_RATIO = 0.95;
8
- /** 压缩后的真实 usage 需要回落到模型上下文窗口 50% 以内。 */
9
- export const MODEL_CONTEXT_COMPACTION_TARGET_RATIO = 0.5;
10
- /** 历史 checkpoint 的基础最大字符数。 */
11
- const INITIAL_HISTORY_CHECKPOINT_CHARS = 24_000;
12
- /** 单条保留消息的基础字符预算。 */
13
- const INITIAL_RETAINED_MESSAGE_CHARS = 16_000;
14
- /** 折叠后至少保留的字符数。 */
15
- const MIN_FOLDED_PART_CHARS = 64;
16
9
  /** 读取 Provider usage 中的实际总 token。 */
17
10
  export function resolve_model_usage_tokens(usage) {
18
11
  if (!usage || typeof usage !== "object")
@@ -35,129 +28,10 @@ export function resolve_model_usage_ratio(usage, context_window) {
35
28
  return used_tokens === null ? null : used_tokens / Number(context_window);
36
29
  }
37
30
  /** 判断一次真实 usage 是否要求下一 step 继续压缩。 */
38
- export function should_compact_after_usage(usage_ratio, validating_compaction) {
31
+ export function should_compact_after_usage(usage_ratio) {
39
32
  if (usage_ratio === null || !Number.isFinite(usage_ratio))
40
33
  return false;
41
- return validating_compaction
42
- ? usage_ratio > MODEL_CONTEXT_COMPACTION_TARGET_RATIO
43
- : usage_ratio >= MODEL_CONTEXT_COMPACTION_TRIGGER_RATIO;
44
- }
45
- /** 对当前模型消息做一次确定性深度压缩。 */
46
- export function deep_compact_model_messages(messages, compact_depth = 0) {
47
- if (!Array.isArray(messages) || messages.length === 0)
48
- return [];
49
- const depth = Math.max(0, Math.min(8, Math.floor(compact_depth)));
50
- const last_user_index = find_last_user_index(messages);
51
- if (depth === 0) {
52
- const limit = resolve_depth_budget(INITIAL_RETAINED_MESSAGE_CHARS, depth);
53
- return messages.flatMap((message, index) => {
54
- const compacted = compact_message(message, limit, index >= last_user_index);
55
- return compacted ? [compacted] : [];
56
- });
57
- }
58
- const system_messages = messages.filter((message) => message.role === "system");
59
- const retained_start = last_user_index >= 0 ? last_user_index : Math.max(0, messages.length - 2);
60
- const history = messages.filter((message, index) => message.role !== "system" && index < retained_start);
61
- const retained = messages.filter((message, index) => message.role !== "system" && index >= retained_start);
62
- const checkpoint = build_checkpoint(history, resolve_depth_budget(INITIAL_HISTORY_CHECKPOINT_CHARS, depth));
63
- const limit = resolve_depth_budget(INITIAL_RETAINED_MESSAGE_CHARS, depth);
64
- return [
65
- ...system_messages.flatMap((message) => {
66
- const compacted = compact_message(message, limit, false);
67
- return compacted ? [compacted] : [];
68
- }),
69
- ...(checkpoint ? [{ role: "assistant", content: [{ type: "text", text: checkpoint }] }] : []),
70
- ...retained.flatMap((message) => {
71
- const compacted = compact_message(message, limit, true);
72
- return compacted ? [compacted] : [];
73
- }),
74
- ];
75
- }
76
- /** 对文本做确定性的 head/tail 折叠。 */
77
- export function fold_compacted_text(text, max_chars) {
78
- const value = String(text || "");
79
- const limit = Math.max(MIN_FOLDED_PART_CHARS, Math.floor(max_chars));
80
- if (value.length <= limit)
81
- return value;
82
- const marker = `\n...[compacted ${String(value.length - limit)} chars]...\n`;
83
- const available = Math.max(0, limit - marker.length);
84
- const head = Math.ceil(available / 2);
85
- return `${value.slice(0, head)}${marker}${value.slice(-(available - head))}`;
86
- }
87
- /** 压缩单条消息中的高体积内容。 */
88
- function compact_message(message, max_chars, keep_tools) {
89
- const part_limit = Math.max(MIN_FOLDED_PART_CHARS, Math.floor(max_chars / Math.max(1, message.content.length)));
90
- const content = message.content.flatMap((part) => {
91
- // 推理过程不属于压缩后仍需保留的稳定事实。
92
- if (part.type === "reasoning")
93
- return [];
94
- if (part.type === "text") {
95
- return [{ ...part, text: fold_compacted_text(part.text, part_limit) }];
96
- }
97
- if (part.type === "tool_call" && !keep_tools)
98
- return [];
99
- if (part.type === "tool_result") {
100
- if (!keep_tools)
101
- return [];
102
- return [{
103
- ...part,
104
- content: part.content.map((result_part) => {
105
- if (result_part.type === "text") {
106
- return {
107
- ...result_part,
108
- text: fold_compacted_text(result_part.text, part_limit),
109
- };
110
- }
111
- if (result_part.type !== "json")
112
- return result_part;
113
- const serialized = JSON.stringify(result_part.value);
114
- if (serialized.length <= part_limit)
115
- return result_part;
116
- return {
117
- type: "json",
118
- value: {
119
- compacted: true,
120
- preview: fold_compacted_text(serialized, part_limit),
121
- },
122
- };
123
- }),
124
- }];
125
- }
126
- return [part];
127
- });
128
- if (content.length === 0)
129
- return undefined;
130
- return { ...message, content };
131
- }
132
- /** 生成历史 checkpoint 文本。 */
133
- function build_checkpoint(messages, max_chars) {
134
- const text = messages.map((message) => {
135
- const content = message.content.map((part) => {
136
- if (part.type === "text")
137
- return part.text;
138
- if (part.type === "reasoning")
139
- return "";
140
- if (part.type === "file")
141
- return `[file ${part.media_type}${part.filename ? ` ${part.filename}` : ""}]`;
142
- if (part.type === "tool_call")
143
- return `[tool_call ${part.tool_name}]`;
144
- return `[tool_result ${part.tool_name} ${part.outcome}]`;
145
- }).join("\n");
146
- return `${message.role}: ${content}`;
147
- }).join("\n\n");
148
- return text ? `Earlier conversation checkpoint:\n${fold_compacted_text(text, max_chars)}` : "";
149
- }
150
- /** 查找最新用户消息索引。 */
151
- function find_last_user_index(messages) {
152
- for (let index = messages.length - 1; index >= 0; index -= 1) {
153
- if (messages[index]?.role === "user")
154
- return index;
155
- }
156
- return -1;
157
- }
158
- /** 按压缩深度计算当前字符预算。 */
159
- function resolve_depth_budget(initial_budget, depth) {
160
- return Math.max(MIN_FOLDED_PART_CHARS, Math.floor(initial_budget / (2 ** depth)));
34
+ return usage_ratio >= MODEL_CONTEXT_COMPACTION_TRIGGER_RATIO;
161
35
  }
162
36
  /** 读取非负数字。 */
163
37
  function read_non_negative_number(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineContextCompaction.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreEngineContextCompaction.js","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineContextCompaction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D,qCAAqC;AACrC,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACzF,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IAC/C,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;IACzF,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5F,IAAI,YAAY,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,yBAAyB,CACvC,KAAc,EACd,cAAkC;IAElC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACtF,MAAM,WAAW,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACtD,OAAO,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,0BAA0B,CACxC,WAA0B;IAE1B,IAAI,WAAW,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,WAAW,IAAI,sCAAsC,CAAC;AAC/D,CAAC;AAED,cAAc;AACd,SAAS,wBAAwB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1F,CAAC"}
@@ -2,11 +2,10 @@
2
2
  * CoreEngineRunner:模型与 tool-loop 主循环执行器。
3
3
  *
4
4
  * 关键点(中文)
5
- * - 只负责单次已装配输入的执行,不负责外层运行上下文、重试与历史准备。
6
- * - step 循环、续写恢复、最终 assistant 汇总等细节从 Executor 中剥离。
5
+ * - 每个 Provider Step 都通过回调取得 Composer 生成的完整输入。
6
+ * - 只负责 step 循环、续写恢复与最终 assistant 汇总,不持有历史副本。
7
7
  * - 保持失败返回结构稳定,避免对外 Session 行为变化。
8
8
  */
9
- import type { ModelClient, ModelMessage } from "@downcity/type";
10
9
  import type { Logger } from "../../utils/logger/Logger.js";
11
10
  import type { SessionTurnContext } from "../../types/executor/SessionTurnContext.js";
12
11
  import type { SessionStepExecutionInput, SessionTurnExecutionResult } from "../../types/session/SessionExecution.js";
@@ -23,14 +22,6 @@ interface CoreEngineRunnerOptions {
23
22
  should_compact_on_error: (error: unknown) => boolean;
24
23
  }
25
24
  interface CoreEngineTurnInput {
26
- /**
27
- * 已装配好的执行输入。
28
- */
29
- execute_input: SessionStepExecutionInput;
30
- /**
31
- * 当前轮模型实例。
32
- */
33
- model: ModelClient;
34
25
  /**
35
26
  * 当前显式运行上下文。
36
27
  */
@@ -38,23 +29,7 @@ interface CoreEngineTurnInput {
38
29
  /**
39
30
  * 在统一输入队列提交后解析当前 Session step 的 effective 配置。
40
31
  */
41
- resolve_step_inputs: () => Promise<{
42
- /** 当前 Session step 使用的模型。 */
43
- model: ModelClient;
44
- /** 当前 Session step 使用的 system messages。 */
45
- system: SessionStepExecutionInput["system"];
46
- /** 当前 Session step 使用的工具集合。 */
47
- tools: SessionStepExecutionInput["tools"];
48
- /** 当前 Session step 模型支持的总上下文窗口长度。 */
49
- context_window?: number;
50
- }>;
51
- /** 持久化 compact 后重新读取 Composer 生成的模型历史与 Summary 身份。 */
52
- reload_history: () => Promise<{
53
- /** Composer 重新生成的标准模型消息。 */
54
- messages: ModelMessage[];
55
- /** 当前模型历史包含的最新持久化 Summary 标识。 */
56
- summary_id?: string;
57
- }>;
32
+ resolve_step_input: () => Promise<SessionStepExecutionInput>;
58
33
  }
59
34
  /**
60
35
  * 模型与 tool-loop 主循环执行器。
@@ -63,8 +38,6 @@ export declare class CoreEngineRunner {
63
38
  private readonly session_id;
64
39
  private readonly logger;
65
40
  private readonly should_compact_on_error;
66
- /** 最近一次已经通过真实 usage 验收的持久化 Summary 标识。 */
67
- private validated_compaction_summary_id;
68
41
  constructor(options: CoreEngineRunnerOptions);
69
42
  /**
70
43
  * 执行一次已装配完成的模型/tool-loop 运行。
@@ -1 +1 @@
1
- {"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAkChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,qCAAqC,CAAC;AAY7C,UAAU,uBAAuB;IAC/B,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,mBAAmB;IAC3B;;OAEG;IACH,aAAa,EAAE,yBAAyB,CAAC;IAEzC;;OAEG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,YAAY,EAAE,kBAAkB,CAAC;IAEjC;;OAEG;IACH,mBAAmB,EAAE,MAAM,OAAO,CAAC;QACjC,6BAA6B;QAC7B,KAAK,EAAE,WAAW,CAAC;QACnB,2CAA2C;QAC3C,MAAM,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC;QAC5C,+BAA+B;QAC/B,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC1C,qCAAqC;QACrC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,CAAC;IAEH,sDAAsD;IACtD,cAAc,EAAE,MAAM,OAAO,CAAC;QAC5B,4BAA4B;QAC5B,QAAQ,EAAE,YAAY,EAAE,CAAC;QACzB,iCAAiC;QACjC,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;IAE7F,0CAA0C;IAC1C,OAAO,CAAC,+BAA+B,CAAM;gBAEjC,OAAO,EAAE,uBAAuB;IAS5C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAma/E"}
1
+ {"version":3,"file":"CoreEngineRunner.d.ts","sourceRoot":"","sources":["../../../src/executor/core-engine/CoreEngineRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgCH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,qCAAqC,CAAC;AAO7C,UAAU,uBAAuB;IAC/B,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,uBAAuB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACtD;AAED,UAAU,mBAAmB;IAC3B;;OAEG;IACH,YAAY,EAAE,kBAAkB,CAAC;IAEjC;;OAEG;IACH,kBAAkB,EAAE,MAAM,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAqD;gBAEjF,OAAO,EAAE,uBAAuB;IAS5C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,0BAA0B,CAAC;CA4S/E"}