@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,36 +1,36 @@
1
1
  /**
2
2
  * Session Composer 类型。
3
3
  *
4
- * Composer 是自定义 Session 的执行策略边界:它只读取 Session 的只读快照,
5
- * 负责组装模型输入和生成压缩计划,不持久化 Message、Metadata 或事件。
4
+ * Composer 是最终模型输入的唯一生成者:它组合运行快照、canonical history 与内部
5
+ * Context Policy;不拥有 Message、Turn 或数据库连接生命周期。
6
6
  */
7
- import type { ModelClient, ModelMessage } from "@downcity/type";
8
- import type { RuntimeTool as Tool } from "@downcity/type";
7
+ import type { ModelClient, ModelMessage, RuntimeTool as Tool } from "@downcity/type";
9
8
  import type { SessionSystemMessage } from "../../executor/types/SessionPrompts.js";
10
9
  import type { AgentSessionSystemBlock } from "../../types/agent/SessionTypes.js";
11
- import type { SessionContextSnapshot, SessionSegmentSummary } from "../../types/session/SessionSegment.js";
12
10
  import type { SessionHookContextBlock } from "@downcity/type";
13
11
  import type { ModelRequestFailureReporter } from "../../types/executor/ModelRequest.js";
12
+ import type { SessionStorage } from "../../types/store/SessionStorage.js";
13
+ import type { SessionContextRecoveryReason, SessionResolvedContextDiagnostics } from "../../types/session/SessionContextPolicy.js";
14
14
  /** Composer 可读取的 Session 身份快照。 */
15
15
  export interface SessionComposeIdentity {
16
16
  /** 当前 Agent 的稳定标识。 */
17
17
  agent_id: string;
18
18
  /** 当前 Session 的稳定标识。 */
19
19
  session_id: string;
20
- /** 当前 Agent 项目的绝对根目录。 */
20
+ /** 当前 Workspace 的绝对根目录。 */
21
21
  project_root: string;
22
- /** 当前 Session 的创建时间戳,单位为毫秒。 */
22
+ /** 当前 Session 的创建时间戳。 */
23
23
  created_at: number;
24
24
  /** 当前 Session 使用的参考时区。 */
25
25
  timezone: string;
26
26
  }
27
27
  /** Composer 可读取的当前 Step 生效状态。 */
28
28
  export interface SessionComposeState {
29
- /** 当前 Step 使用的模型实例;只读查询允许为空。 */
29
+ /** 当前 Step 使用的模型实例。 */
30
30
  model?: ModelClient;
31
- /** 当前模型声明的上下文窗口,单位为 token。 */
31
+ /** 当前模型声明的上下文窗口。 */
32
32
  model_context_window?: number;
33
- /** 当前 Step 生效的 Agent 环境变量快照。 */
33
+ /** 当前 Step 生效的 Workspace 环境变量。 */
34
34
  env: Readonly<Record<string, string>>;
35
35
  /** 当前 Step 生效的 Agent instruction 文本。 */
36
36
  systems: readonly string[];
@@ -38,71 +38,71 @@ export interface SessionComposeState {
38
38
  tools: Readonly<Record<string, Tool>>;
39
39
  /** 当前 Step 生效的 instruction system blocks。 */
40
40
  instruction_system_blocks: readonly AgentSessionSystemBlock[];
41
- /** 当前 Session 由宿主注入的受托管 Plugin system blocks。 */
41
+ /** 宿主注入的受托管 Plugin system blocks。 */
42
42
  managed_plugin_system_blocks: readonly AgentSessionSystemBlock[];
43
43
  /** 当前 Step 捕获的 Plugin system blocks。 */
44
44
  plugin_system_blocks: readonly AgentSessionSystemBlock[];
45
- /** 当前 Turn 首次解析后复用、只进入模型输入副本的 Plugin 动态上下文。 */
45
+ /** 当前 Turn 冻结的 Plugin 动态上下文。 */
46
46
  plugin_context_blocks: readonly SessionHookContextBlock[];
47
47
  }
48
48
  /** Composer 可读取的当前 Turn 快照。 */
49
49
  export interface SessionComposeTurn {
50
- /** 当前 Turn 标识;只读查询场景允许为空。 */
50
+ /** 当前 Turn 标识;只读查询时允许为空。 */
51
51
  turn_id?: string;
52
- /** 当前执行因上下文超限而进行的重试次数。 */
52
+ /** 当前执行已进行的上下文恢复次数。 */
53
53
  retry_count: number;
54
54
  }
55
+ /** Composer 初始化输入。 */
56
+ export interface SessionComposerInitializeInput {
57
+ /** 当前 Session 的统一持久化边界。 */
58
+ storage: SessionStorage;
59
+ }
55
60
  /** 单次模型输入组装参数。 */
56
61
  export interface SessionComposeInput {
57
62
  /** 当前 Session 身份快照。 */
58
63
  session: SessionComposeIdentity;
59
64
  /** 当前 Step 已生效的运行状态。 */
60
65
  state: SessionComposeState;
61
- /** 当前 Session 的累计 Summary 与 Active Message 快照。 */
62
- history: Readonly<SessionContextSnapshot>;
66
+ /** 当前 Session 的统一持久化边界。 */
67
+ storage: SessionStorage;
63
68
  /** 当前 Turn 快照。 */
64
69
  turn: SessionComposeTurn;
65
70
  }
71
+ /** 上下文超限后的恢复输入。 */
72
+ export interface SessionContextRecoveryInput {
73
+ /** 当前 Session 身份快照。 */
74
+ session: SessionComposeIdentity;
75
+ /** 当前 Session 使用的模型。 */
76
+ model?: ModelClient;
77
+ /** 当前 Session 的统一持久化边界。 */
78
+ storage: SessionStorage;
79
+ /** 触发当前恢复的稳定领域原因。 */
80
+ reason: SessionContextRecoveryReason;
81
+ /** 模型请求逐次失败的可选观测入口。 */
82
+ on_model_request_failure?: ModelRequestFailureReporter;
83
+ }
66
84
  /** Composer 为一次模型 Step 生成的完整输入。 */
67
85
  export interface SessionStepInput {
68
86
  /** 当前 Step 的 system messages。 */
69
87
  system: SessionSystemMessage[];
70
- /** 当前 Step 的可解释 system block;自定义 Composer 可以省略。 */
88
+ /** 当前 Step 的可解释 system blocks。 */
71
89
  system_blocks?: AgentSessionSystemBlock[];
72
90
  /** 当前 Step 已转换完成的标准模型消息。 */
73
91
  messages: ModelMessage[];
74
92
  /** 当前 Step 可调用的工具集合。 */
75
93
  tools: Record<string, Tool>;
94
+ /** 本次上下文策略诊断。 */
95
+ context_diagnostics?: SessionResolvedContextDiagnostics;
76
96
  }
77
- /** 持久化上下文压缩所需的最小只读输入。 */
78
- export interface SessionCompactionInput {
79
- /** 当前 Session 的稳定身份快照。 */
80
- session: SessionComposeIdentity;
81
- /** 当前 Session 实际使用的模型;只读或未配置场景允许为空。 */
82
- model?: ModelClient;
83
- /** 当前 Session 的累计 Summary 与 Active Message 快照。 */
84
- history: Readonly<SessionContextSnapshot>;
85
- /** 可选的模型请求逐次失败通知入口。 */
86
- on_model_request_failure?: ModelRequestFailureReporter;
87
- }
88
- /** Composer 生成、等待 SessionMessages 提交的压缩计划。 */
89
- export interface SessionCompactionPlan {
90
- /** Active 中最后一条需要移入 Segment 的 Message sequence。 */
91
- through_sequence: number;
92
- /** 新 Segment 使用的累计 Summary。 */
93
- summary: SessionSegmentSummary;
94
- /** 当前计划覆盖到的最后一条 Message 标识。 */
95
- boundary_message_id: string;
96
- }
97
- /** Session 级可替换执行策略。 */
97
+ /** Session 级可替换 Composer。 */
98
98
  export interface SessionComposer {
99
99
  /** Composer 的稳定可读名称。 */
100
100
  readonly name: string;
101
- /** 组装一次模型 Step 使用的 system、history 与 tools。 */
101
+ /** 初始化 Composer 及其内部 Policy。 */
102
+ initialize(input: SessionComposerInitializeInput): Promise<void>;
103
+ /** 组装一次模型 Step 使用的最终输入。 */
102
104
  compose(input: SessionComposeInput): Promise<SessionStepInput>;
103
- /** 根据只读历史生成压缩计划;无需压缩时返回空。 */
104
- compact(input: SessionCompactionInput): Promise<SessionCompactionPlan | null>;
105
- /** 判断给定错误是否应在持久化压缩后重试。 */
106
- should_compact(error: unknown): boolean;
105
+ /** 尝试推进上下文派生状态;有效推进时返回 true。 */
106
+ recover_context(input: SessionContextRecoveryInput): Promise<boolean>;
107
107
  }
108
108
  //# sourceMappingURL=SessionComposer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionComposer.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionComposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionComposer.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionComposer.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Session Composer 类型。
3
3
  *
4
- * Composer 是自定义 Session 的执行策略边界:它只读取 Session 的只读快照,
5
- * 负责组装模型输入和生成压缩计划,不持久化 Message、Metadata 或事件。
4
+ * Composer 是最终模型输入的唯一生成者:它组合运行快照、canonical history 与内部
5
+ * Context Policy;不拥有 Message、Turn 或数据库连接生命周期。
6
6
  */
7
7
  export {};
8
8
  //# sourceMappingURL=SessionComposer.js.map
@@ -7,8 +7,7 @@
7
7
  import type { ModelClient, RuntimeTool as Tool } from "@downcity/type";
8
8
  import type { AgentSessionSystemBlock } from "../../types/agent/SessionTypes.js";
9
9
  import type { SessionOrigin } from "@downcity/type";
10
- import type { SessionDataStore } from "../../types/store/SessionDataStore.js";
11
- import type { SessionMessages } from "../../session/SessionMessages.js";
10
+ import type { SessionStorage } from "../../types/store/SessionStorage.js";
12
11
  import type { SessionHookRuntime } from "@downcity/type";
13
12
  import type { SessionComposer } from "../../types/session/SessionComposer.js";
14
13
  import type { Logger } from "../../utils/logger/Logger.js";
@@ -23,9 +22,7 @@ export interface SessionCompositionOptions {
23
22
  /** 当前 Session 使用的 Workspace 绝对根目录。 */
24
23
  workspace_path: string;
25
24
  /** 当前 Session 的领域持久化视图。 */
26
- store: SessionDataStore;
27
- /** canonical Message 唯一事实源。 */
28
- messages: SessionMessages;
25
+ store: SessionStorage;
29
26
  /** 当前 Session 使用的统一 Composer。 */
30
27
  composer: SessionComposer;
31
28
  /** 在每个 Step 检查点读取当前可用 Tool 集合。 */
@@ -1 +1 @@
1
- {"version":3,"file":"SessionComposition.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionComposition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,+BAA+B;AAC/B,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,cAAc,EAAE,aAAa,CAAC;IAC9B,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,KAAK,EAAE,gBAAgB,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,kCAAkC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,mDAAmD;IACnD,yBAAyB,EAAE,uBAAuB,EAAE,CAAC;IACrD,0DAA0D;IAC1D,6BAA6B,EAAE,MAAM,uBAAuB,EAAE,CAAC;IAC/D,sCAAsC;IACtC,SAAS,EAAE,MAAM,kBAAkB,CAAC;IACpC,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,yCAAyC;IACzC,gCAAgC,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC3E,4BAA4B;IAC5B,SAAS,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IACzC,sBAAsB;IACtB,wBAAwB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACnD,2BAA2B;IAC3B,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"SessionComposition.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionComposition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,+BAA+B;AAC/B,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,cAAc,EAAE,aAAa,CAAC;IAC9B,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,KAAK,EAAE,cAAc,CAAC;IACtB,iCAAiC;IACjC,QAAQ,EAAE,eAAe,CAAC;IAC1B,kCAAkC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,mDAAmD;IACnD,yBAAyB,EAAE,uBAAuB,EAAE,CAAC;IACrD,0DAA0D;IAC1D,6BAA6B,EAAE,MAAM,uBAAuB,EAAE,CAAC;IAC/D,sCAAsC;IACtC,SAAS,EAAE,MAAM,kBAAkB,CAAC;IACpC,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,yCAAyC;IACzC,gCAAgC,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC3E,4BAA4B;IAC5B,SAAS,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IACzC,sBAAsB;IACtB,wBAAwB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACnD,2BAA2B;IAC3B,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,YAAY,EAAE,MAAM,MAAM,CAAC;IAC3B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Session Composer 的上下文策略协议。
3
+ *
4
+ * Policy 只读取 canonical Message,并在自己的命名空间维护可删除、可重建的派生数据;
5
+ * 它不修改 Session Message、State 或 Turn 生命周期。
6
+ */
7
+ import type { ModelClient, ModelMessage, SessionSystemBlock } from "@downcity/type";
8
+ import type { ModelRequestFailureReporter } from "../../types/executor/ModelRequest.js";
9
+ import type { SessionComposerStorage } from "../../types/store/SessionStorage.js";
10
+ /** Composer 可以处理的上下文恢复原因。 */
11
+ export type SessionContextRecoveryReason =
12
+ /** Provider 明确拒绝超出上下文窗口的请求。 */
13
+ "provider_context_limit"
14
+ /** Provider usage 已达到主动压缩阈值。 */
15
+ | "usage_pressure";
16
+ /** Policy 初始化输入。 */
17
+ export interface SessionContextPolicyInitializeInput {
18
+ /** 当前 Policy 已限定命名空间的派生存储。 */
19
+ storage: SessionComposerStorage;
20
+ }
21
+ /** Policy 正常解析上下文的输入。 */
22
+ export interface SessionContextPolicyInput {
23
+ /** 当前 Policy 已限定命名空间的派生存储。 */
24
+ storage: SessionComposerStorage;
25
+ /** 解析文件 Part 时使用的 Workspace 根目录。 */
26
+ project_root: string;
27
+ }
28
+ /** 上下文恢复输入。 */
29
+ export interface SessionContextPolicyRecoveryInput extends SessionContextPolicyInput {
30
+ /** 触发当前恢复的稳定领域原因。 */
31
+ reason: SessionContextRecoveryReason;
32
+ /** 用于生成派生摘要的当前模型。 */
33
+ model?: ModelClient;
34
+ /** 模型请求逐次失败的可选观测入口。 */
35
+ on_model_request_failure?: ModelRequestFailureReporter;
36
+ }
37
+ /** Policy 对本次模型上下文的只读诊断。 */
38
+ export interface SessionResolvedContextDiagnostics {
39
+ /** 生成当前上下文的 Policy 名称。 */
40
+ policy_name: string;
41
+ /** 当前上下文覆盖到的最新 canonical Message sequence。 */
42
+ through_sequence?: number;
43
+ /** 当前派生边界在 Message 内覆盖到的 Part sequence。 */
44
+ through_part_sequence?: number;
45
+ /** 当前上下文是否使用了派生摘要或检索结果。 */
46
+ derived: boolean;
47
+ /** 当前使用的可选派生记录标识。 */
48
+ derivation_id?: string;
49
+ }
50
+ /** Policy 已确定顺序的最终模型历史。 */
51
+ export interface SessionResolvedContext {
52
+ /** 送入模型的标准历史消息。 */
53
+ messages: ModelMessage[];
54
+ /** 由 Policy 生成、且不伪装成普通历史消息的显式 system 上下文。 */
55
+ system_blocks?: SessionSystemBlock[];
56
+ /** 不进入 canonical history 的策略诊断。 */
57
+ diagnostics: SessionResolvedContextDiagnostics;
58
+ }
59
+ /** Session Composer 内部可替换的上下文策略。 */
60
+ export interface SessionContextPolicy {
61
+ /** Policy 稳定名称,同时作为派生表命名空间。 */
62
+ readonly name: string;
63
+ /** 初始化当前 Policy 的派生 schema。 */
64
+ initialize(input: SessionContextPolicyInitializeInput): Promise<void>;
65
+ /** 从 canonical history 与派生数据生成模型历史。 */
66
+ resolve(input: SessionContextPolicyInput): Promise<SessionResolvedContext>;
67
+ /** 模型上下文失败后尝试推进派生状态;发生有效变化时返回 true。 */
68
+ recover(input: SessionContextPolicyRecoveryInput): Promise<boolean>;
69
+ }
70
+ //# sourceMappingURL=SessionContextPolicy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionContextPolicy.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionContextPolicy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E,6BAA6B;AAC7B,MAAM,MAAM,4BAA4B;AACtC,+BAA+B;AAC7B,wBAAwB;AAC1B,gCAAgC;GAC9B,gBAAgB,CAAC;AAErB,oBAAoB;AACpB,MAAM,WAAW,mCAAmC;IAClD,8BAA8B;IAC9B,OAAO,EAAE,sBAAsB,CAAC;CACjC;AAED,yBAAyB;AACzB,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,OAAO,EAAE,sBAAsB,CAAC;IAChC,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAe;AACf,MAAM,WAAW,iCAAkC,SAAQ,yBAAyB;IAClF,qBAAqB;IACrB,MAAM,EAAE,4BAA4B,CAAC;IACrC,qBAAqB;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,uBAAuB;IACvB,wBAAwB,CAAC,EAAE,2BAA2B,CAAC;CACxD;AAED,4BAA4B;AAC5B,MAAM,WAAW,iCAAiC;IAChD,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2BAA2B;AAC3B,MAAM,WAAW,sBAAsB;IACrC,mBAAmB;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACrC,mCAAmC;IACnC,WAAW,EAAE,iCAAiC,CAAC;CAChD;AAED,oCAAoC;AACpC,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,UAAU,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,uCAAuC;IACvC,OAAO,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC3E,uCAAuC;IACvC,OAAO,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Session Composer 的上下文策略协议。
3
+ *
4
+ * Policy 只读取 canonical Message,并在自己的命名空间维护可删除、可重建的派生数据;
5
+ * 它不修改 Session Message、State 或 Turn 生命周期。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=SessionContextPolicy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionContextPolicy.js","sourceRoot":"","sources":["../../../src/types/session/SessionContextPolicy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -6,8 +6,7 @@
6
6
  * - `SessionStepExecutionInput` 表示 Executor 通过 Composer 装配后的 Step 输入。
7
7
  * - 输出只返回执行结果;Assistant Message 通过显式输出端口写入唯一事实源。
8
8
  */
9
- import type { ModelMessage, RuntimeTool as Tool } from "@downcity/type";
10
- import type { SessionUserMessage } from "@downcity/type";
9
+ import type { ModelClient, ModelMessage, RuntimeTool as Tool } from "@downcity/type";
11
10
  import type { SessionSystemMessage } from "../../executor/types/SessionPrompts.js";
12
11
  import type { SessionTurnContext } from "../../types/executor/SessionTurnContext.js";
13
12
  /**
@@ -24,14 +23,6 @@ export interface SessionTurnExecutionResult {
24
23
  * 失败时的错误信息(成功时为空)。
25
24
  */
26
25
  error?: string;
27
- /**
28
- * 本轮执行结束后待写入长期历史的 user 消息。
29
- *
30
- * 关键点(中文)
31
- * - 这些消息通常由 tool 运行时在执行过程中动态注入。
32
- * - 为保证消息顺序稳定,统一在 assistant 结果落盘后再由外层 Session 持久化。
33
- */
34
- deferred_persisted_user_messages?: SessionUserMessage[];
35
26
  /**
36
27
  * 本轮结束后是否需要把已完成的 canonical 历史持久化压缩。
37
28
  *
@@ -45,10 +36,6 @@ export interface SessionTurnExecutionResult {
45
36
  * Session Turn 执行入口输入。
46
37
  */
47
38
  export interface SessionTurnExecutionInput {
48
- /**
49
- * 本轮用户输入查询文本。
50
- */
51
- query: string;
52
39
  /**
53
40
  * 本轮唯一的显式 Turn 上下文。
54
41
  *
@@ -62,38 +49,24 @@ export interface SessionTurnExecutionInput {
62
49
  * Executor 通过 Composer 装配后的中间运行态。
63
50
  */
64
51
  export interface SessionStepExecutionInput {
65
- /**
66
- * 当前轮用户查询文本。
67
- */
68
- query: string;
52
+ /** 当前 Step 使用的模型实例。 */
53
+ model: ModelClient;
69
54
  /**
70
55
  * 当前轮 system messages。
71
56
  */
72
57
  system: SessionSystemMessage[];
73
58
  /** 当前轮标准模型消息历史。 */
74
59
  messages: ModelMessage[];
75
- /** 当前模型历史所包含的最新持久化 Summary 标识。 */
76
- history_summary_id?: string;
77
60
  /**
78
61
  * 当前轮可用工具集合。
79
62
  */
80
63
  tools: Record<string, Tool>;
64
+ /** 当前模型支持的上下文窗口长度。 */
65
+ context_window?: number;
81
66
  }
82
67
  /** 单个 Session 的统一 Turn 执行协议。 */
83
68
  export interface SessionExecutor {
84
69
  /** 执行一个已经由 SessionLoop 创建上下文的 Turn。 */
85
70
  execute(input: SessionTurnExecutionInput): Promise<SessionTurnExecutionResult>;
86
71
  }
87
- /** Session 领域执行一次持久化历史压缩的统一回调。 */
88
- export type SessionCompactHistory = (input: {
89
- /** 触发压缩的 Turn 标识;非 Turn 维护操作允许为空。 */
90
- turn_id?: string;
91
- }) => Promise<{
92
- /** 是否生成并成功提交了压缩计划。 */
93
- compacted: boolean;
94
- /** 没有压缩时的稳定原因。 */
95
- reason?: string;
96
- /** 压缩失败时的具体错误文本。 */
97
- error?: string;
98
- }>;
99
72
  //# sourceMappingURL=SessionExecution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionExecution.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionExecution.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,gCAAgC,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAExD;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAE/B,mBAAmB;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB,kCAAkC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CAC7B;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,OAAO,CACL,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACxC;AAED,kCAAkC;AAClC,MAAM,MAAM,qBAAqB,GAAG,CAAC,KAAK,EAAE;IAC1C,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,KAAK,OAAO,CAAC;IACZ,sBAAsB;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"SessionExecution.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionExecution.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,WAAW,IAAI,IAAI,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,uBAAuB;IACvB,KAAK,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAE/B,mBAAmB;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5B,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAEzB;AAED,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,OAAO,CACL,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAAC;CACxC"}
@@ -9,7 +9,7 @@ import type { SessionMessages } from "../../session/SessionMessages.js";
9
9
  import type { SessionState } from "../../session/SessionState.js";
10
10
  import type { AgentSessionTurnResult } from "../../types/sdk/AgentSessionTurn.js";
11
11
  import type { SessionInteractionLifecycle, SessionInteractionPort } from "@downcity/type";
12
- import type { SessionCompactHistory, SessionExecutor } from "../../types/session/SessionExecution.js";
12
+ import type { SessionExecutor } from "../../types/session/SessionExecution.js";
13
13
  import type { SessionQueue } from "../../session/SessionQueue.js";
14
14
  import type { Logger } from "../../utils/logger/Logger.js";
15
15
  import type { SessionTurnContext } from "../../types/executor/SessionTurnContext.js";
@@ -31,8 +31,6 @@ export interface ActiveSessionTurnState {
31
31
  deferred_finished: SessionDeferred<AgentSessionTurnResult>;
32
32
  /** 当前 Turn 进入执行阶段后拥有的唯一上下文。 */
33
33
  turn_context: SessionTurnContext | null;
34
- /** 下一 Step 是否需要重新读取 canonical history。 */
35
- history_reload_requested: boolean;
36
34
  /** 当前 Turn 是否已经接收并持久化首条 Prompt。 */
37
35
  prompt_started: boolean;
38
36
  }
@@ -46,8 +44,8 @@ export interface SessionLoopOptions {
46
44
  workspace_path: string;
47
45
  /** 当前 Session 的模型执行器。 */
48
46
  executor: SessionExecutor;
49
- /** Session 领域提供的 canonical 历史压缩入口。 */
50
- compact_history: SessionCompactHistory;
47
+ /** Turn 结束后按需维护 Composer 派生上下文。 */
48
+ maintain_context: () => Promise<void>;
51
49
  /** 当前 Session 的配置与 Metadata 状态。 */
52
50
  state: SessionState;
53
51
  /** 当前 Session 的 canonical Message 入口。 */
@@ -1 +1 @@
1
- {"version":3,"file":"SessionLoop.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionLoop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,qBAAqB;AACrB,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED,uBAAuB;AACvB,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,0BAA0B;IAC1B,iBAAiB,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC3D,+BAA+B;IAC/B,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,0CAA0C;IAC1C,wBAAwB,EAAE,OAAO,CAAC;IAClC,mCAAmC;IACnC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAwB;AACxB,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,EAAE,aAAa,CAAC;IAC9B,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,wCAAwC;IACxC,eAAe,EAAE,qBAAqB,CAAC;IACvC,mCAAmC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,yCAAyC;IACzC,QAAQ,EAAE,eAAe,CAAC;IAC1B,gCAAgC;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,6BAA6B;IAC7B,YAAY,EAAE,2BAA2B,GAAG,sBAAsB,CAAC;IACnE,2BAA2B;IAC3B,sBAAsB,EAAE,oBAAoB,CAAC;CAC9C"}
1
+ {"version":3,"file":"SessionLoop.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionLoop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,qBAAqB;AACrB,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,qBAAqB;IACrB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;CAC7B;AAED,uBAAuB;AACvB,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,0BAA0B;IAC1B,iBAAiB,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC3D,+BAA+B;IAC/B,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,mCAAmC;IACnC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAwB;AACxB,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,cAAc,EAAE,aAAa,CAAC;IAC9B,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,QAAQ,EAAE,eAAe,CAAC;IAC1B,mCAAmC;IACnC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mCAAmC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,yCAAyC;IACzC,QAAQ,EAAE,eAAe,CAAC;IAC1B,gCAAgC;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,6BAA6B;IAC7B,YAAY,EAAE,2BAA2B,GAAG,sBAAsB,CAAC;IACnE,2BAA2B;IAC3B,sBAAsB,EAAE,oBAAoB,CAAC;CAC9C"}
@@ -4,18 +4,18 @@
4
4
  * 这些类型只描述 canonical Message 领域入口的参数,不包含持久化行为。
5
5
  */
6
6
  import type { JsonObject } from "@downcity/type";
7
- import type { SessionMessageStore } from "../../types/store/SessionDataStore.js";
7
+ import type { SessionStorage } from "../../types/store/SessionStorage.js";
8
8
  import type { SessionAttachmentStore } from "../../types/store/SessionAttachmentStore.js";
9
9
  import type { AgentSessionPromptInput } from "../../types/sdk/AgentSessionPrompt.js";
10
- import type { SessionAssistantResultPart, SessionPromptPart } from "@downcity/type";
11
- import type { SessionAssistantMessagePart, SessionUserMessagePart } from "@downcity/type";
10
+ import type { SessionAgentContent, SessionUserContent } from "@downcity/type";
11
+ import type { SessionAgentMessagePart, SessionUserMessagePart } from "@downcity/type";
12
12
  import type { SessionMutation } from "@downcity/type";
13
13
  /** SessionMessages 构造参数。 */
14
14
  export interface SessionMessagesOptions {
15
15
  /** 当前 Session 标识。 */
16
16
  session_id: string;
17
17
  /** Message 快照持久化 Store。 */
18
- store: SessionMessageStore;
18
+ store: SessionStorage;
19
19
  /** 当前 Session 的附件持久化能力。 */
20
20
  attachment_store: SessionAttachmentStore;
21
21
  /** 持久化成功后的实时 Mutation 发布函数。 */
@@ -25,8 +25,6 @@ export interface SessionMessagesOptions {
25
25
  export interface AppendSessionUserMessageInput {
26
26
  /** 当前输入所属 Turn。 */
27
27
  turn_id: string;
28
- /** 当前输入是普通 Prompt 还是 Steering 输入。 */
29
- input_type: "prompt" | "steer";
30
28
  /** User 结构化 Part。 */
31
29
  parts: SessionUserMessagePart[];
32
30
  /** 可选的稳定 Message 标识。 */
@@ -35,33 +33,25 @@ export interface AppendSessionUserMessageInput {
35
33
  visibility?: "visible" | "internal";
36
34
  }
37
35
  /** Assistant Message 创建参数。 */
38
- export interface OpenSessionAssistantMessageInput {
36
+ export interface OpenSessionAgentMessageInput {
39
37
  /** 当前 Assistant 所属 Turn。 */
40
38
  turn_id: string;
41
- /** 当前 Assistant 是普通回复还是压缩 Summary。 */
42
- kind?: "normal" | "summary";
43
39
  /** 当前 Message 的默认展示范围。 */
44
40
  visibility?: "visible" | "internal";
45
41
  /** 可选的稳定 Message 标识。 */
46
42
  message_id?: string;
47
- /** Summary 已覆盖到的来源 Message 标识。 */
48
- summary_through_message_id?: string;
49
43
  }
50
44
  /** 已完成 Assistant Message 的直接写入参数。 */
51
- export interface AppendCompletedAssistantMessageInput {
45
+ export interface AppendCompletedAgentMessageInput {
52
46
  /** 当前 Assistant 所属 Turn。 */
53
47
  turn_id?: string;
54
48
  /** Assistant 完整结构化 Part。 */
55
- parts: SessionAssistantMessagePart[];
56
- /** 当前 Assistant 是普通回复还是压缩 Summary。 */
57
- kind?: "normal" | "summary";
49
+ parts: SessionAgentMessagePart[];
58
50
  /** 当前 Message 的默认展示范围。 */
59
51
  visibility?: "visible" | "internal";
60
- /** Summary 已覆盖到的来源 Message 标识。 */
61
- summary_through_message_id?: string;
62
52
  }
63
- /** Action Message 创建参数。 */
64
- export interface OpenSessionActionMessageInput {
53
+ /** Action Part 及其所属 Agent Message 的创建参数。 */
54
+ export interface OpenSessionAgentActionPartInput {
65
55
  /** 可选的稳定 Message 标识,用于更新同一个 Action 生命周期。 */
66
56
  message_id?: string;
67
57
  /** 当前 Action 所属 Turn。 */
@@ -77,8 +67,8 @@ export interface OpenSessionActionMessageInput {
77
67
  /** Action 创建或更新后是否发布对应 Session Mutation。 */
78
68
  publish_mutation?: boolean;
79
69
  }
80
- /** 完成 Action Message 时允许覆盖的内容。 */
81
- export interface CompleteSessionActionMessageInput {
70
+ /** 完成 Action Part 时允许覆盖的内容。 */
71
+ export interface CompleteSessionAgentActionPartInput {
82
72
  /** 完成时覆盖的可选标题。 */
83
73
  title?: string;
84
74
  /** 完成时覆盖的可选描述。 */
@@ -86,8 +76,8 @@ export interface CompleteSessionActionMessageInput {
86
76
  /** 完成时写入的可选结构化数据。 */
87
77
  data?: JsonObject;
88
78
  }
89
- /** Error Message 创建参数。 */
90
- export interface AppendSessionErrorMessageInput {
79
+ /** Error Part 归入所属 Turn Agent Message 的参数。 */
80
+ export interface AppendSessionAgentErrorPartInput {
91
81
  /** 当前错误影响 Session 还是单个 Turn。 */
92
82
  scope: "session" | "turn";
93
83
  /** 当前错误所属 Turn。 */
@@ -102,14 +92,14 @@ export interface AppendSessionErrorMessageInput {
102
92
  /** 公开 Session API 追加 User Message 的输入。 */
103
93
  export interface AppendExternalSessionUserMessageInput {
104
94
  /** 可选的结构化 User 内容。 */
105
- parts?: SessionPromptPart[];
95
+ parts?: SessionUserContent[];
106
96
  /** 未提供结构化内容时使用的纯文本。 */
107
97
  text?: string;
108
98
  }
109
99
  /** 公开 Session API 追加 Assistant Message 的输入。 */
110
- export interface AppendExternalSessionAssistantMessageInput {
100
+ export interface AppendExternalSessionAgentMessageInput {
111
101
  /** 可选的结构化 Assistant 内容。 */
112
- parts?: SessionAssistantResultPart[];
102
+ parts?: SessionAgentContent[];
113
103
  /** 未提供结构化内容时使用的纯文本。 */
114
104
  text?: string;
115
105
  }
@@ -121,7 +111,7 @@ export interface AppendSessionPromptMessageInput {
121
111
  prompt: AgentSessionPromptInput;
122
112
  /** 当前输入所属 Turn。 */
123
113
  turn_id: string;
124
- /** 当前输入是普通 Prompt 还是 Steering 输入。 */
125
- input_type: "prompt" | "steer";
114
+ /** 幂等 Prompt 使用的稳定 User Message ID。 */
115
+ message_id?: string;
126
116
  }
127
117
  //# sourceMappingURL=SessionMessages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMessages.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMessages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionMessages.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionMessages.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import type { AgentSessionSystemBlock } from "../../types/agent/SessionTypes.js"
13
13
  import type { SessionHookRuntime } from "@downcity/type";
14
14
  import type { SessionComposer } from "../../types/session/SessionComposer.js";
15
15
  import type { Logger } from "../../utils/logger/Logger.js";
16
- import type { SessionDataStore } from "../../types/store/SessionDataStore.js";
16
+ import type { SessionStorage } from "../../types/store/SessionStorage.js";
17
17
  import type { SessionOrigin } from "@downcity/type";
18
18
  /**
19
19
  * Agent 可管理的本地 Session 实例。
@@ -49,9 +49,9 @@ export interface SessionOptions {
49
49
  /** 当前 Session 的创建来源与物理存储分区。 */
50
50
  origin: SessionOrigin;
51
51
  /** 当前 Session 独享的领域持久化视图。 */
52
- store: SessionDataStore;
52
+ store: SessionStorage;
53
53
  /** 为 fork 创建另一个 Session 的领域持久化视图。 */
54
- get_session_store: (session_id: string) => SessionDataStore;
54
+ create_session_store: (session_id: string) => SessionStorage;
55
55
  /**
56
56
  * 将 fork 创建的子 Session 交回 AgentSessions 登记。
57
57
  *
@@ -103,7 +103,7 @@ export interface SessionOptions {
103
103
  ensure_configured?: (session: AgentManagedSession) => Promise<void>;
104
104
  /** 读取 Agent 当前持有的运行时模型实例。 */
105
105
  get_agent_model: () => ModelClient | undefined;
106
- /** 当前 Session 使用的统一执行策略;省略时使用默认 Composer */
107
- composer?: SessionComposer;
106
+ /** 为当前 Session 及其 fork 子 Session 创建独立 Composer 的工厂。 */
107
+ create_composer?: () => SessionComposer;
108
108
  }
109
109
  //# sourceMappingURL=SessionOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionOptions.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,gBAAgB,IAAI,WAAW,CAAC;IAEhC,+BAA+B;IAC/B,wBAAwB,CAAC,IAAI,IAAI,CAAC;IAElC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC;CAEzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IAEvB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,MAAM,EAAE,aAAa,CAAC;IAEtB,6BAA6B;IAC7B,KAAK,EAAE,gBAAgB,CAAC;IAExB,qCAAqC;IACrC,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAE5D;;;;;;OAMG;IACH,uBAAuB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,yBAAyB,EAAE,uBAAuB,EAAE,CAAC;IAErD;;;;;;OAMG;IACH,6BAA6B,EAAE,MAAM,uBAAuB,EAAE,CAAC;IAE/D;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,SAAS,EAAE,MAAM,kBAAkB,CAAC;IAEpC,gDAAgD;IAChD,gCAAgC,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE3E;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,6BAA6B;IAC7B,eAAe,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAE/C,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B"}
1
+ {"version":3,"file":"SessionOptions.d.ts","sourceRoot":"","sources":["../../../src/types/session/SessionOptions.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,gBAAgB,IAAI,WAAW,CAAC;IAEhC,+BAA+B;IAC/B,wBAAwB,CAAC,IAAI,IAAI,CAAC;IAElC;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC;CAEzB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IAEvB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,MAAM,EAAE,aAAa,CAAC;IAEtB,6BAA6B;IAC7B,KAAK,EAAE,cAAc,CAAC;IAEtB,qCAAqC;IACrC,oBAAoB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,cAAc,CAAC;IAE7D;;;;;;OAMG;IACH,uBAAuB,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,kCAAkC;IAClC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAEtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,yBAAyB,EAAE,uBAAuB,EAAE,CAAC;IAErD;;;;;;OAMG;IACH,6BAA6B,EAAE,MAAM,uBAAuB,EAAE,CAAC;IAE/D;;;;;OAKG;IACH,iBAAiB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,SAAS,EAAE,MAAM,kBAAkB,CAAC;IAEpC,gDAAgD;IAChD,gCAAgC,EAAE,MAAM,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE3E;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE,6BAA6B;IAC7B,eAAe,EAAE,MAAM,WAAW,GAAG,SAAS,CAAC;IAE/C,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,eAAe,CAAC;CACzC"}