@downcity/agent 1.1.430 → 1.1.438

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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionStorageCodec.js","sourceRoot":"","sources":["../../../src/session/storage/SessionStorageCodec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Session SQLite 核心 schema。
3
+ *
4
+ * 这里只定义所有 Composer 共享的 canonical 表和持久化约束;任何摘要、索引或
5
+ * 检索表都由具体 Context Policy 在自己的 namespace 中创建。
6
+ */
7
+ /** 当前 Session SQLite schema 版本。 */
8
+ export declare const SESSION_STORAGE_SCHEMA_VERSION = 3;
9
+ /** 创建 Session canonical 表、索引与角色约束。 */
10
+ export declare const SESSION_STORAGE_SCHEMA_SQL = "\nPRAGMA foreign_keys = ON;\n\nCREATE TABLE IF NOT EXISTS session_state (\n singleton_id INTEGER PRIMARY KEY CHECK (singleton_id = 1),\n session_id TEXT NOT NULL UNIQUE,\n agent_id TEXT NOT NULL,\n workspace_id TEXT,\n origin TEXT NOT NULL CHECK (json_valid(origin)),\n timezone TEXT NOT NULL,\n title TEXT,\n model_label TEXT,\n approval_mode TEXT CHECK (\n approval_mode IS NULL OR approval_mode IN ('ask', 'always-allow')\n ),\n system_snapshot TEXT,\n message_count INTEGER NOT NULL DEFAULT 0 CHECK (message_count >= 0),\n preview_text TEXT,\n revision INTEGER NOT NULL DEFAULT 1 CHECK (revision >= 1),\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n);\n\nCREATE TABLE IF NOT EXISTS messages (\n message_id TEXT PRIMARY KEY,\n turn_id TEXT,\n sequence INTEGER NOT NULL UNIQUE CHECK (sequence >= 1),\n revision INTEGER NOT NULL DEFAULT 1 CHECK (revision >= 1),\n role TEXT NOT NULL CHECK (role IN ('user', 'agent')),\n state TEXT CHECK (\n state IS NULL OR state IN ('streaming', 'done')\n ),\n visibility TEXT NOT NULL CHECK (visibility IN ('visible', 'internal')),\n origin_session_id TEXT,\n origin_message_id TEXT,\n origin_turn_id TEXT,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n CHECK (\n (role = 'user' AND state IS NULL) OR\n (role = 'agent' AND state IS NOT NULL)\n )\n);\n\nCREATE TABLE IF NOT EXISTS message_parts (\n part_id TEXT PRIMARY KEY,\n message_id TEXT NOT NULL REFERENCES messages(message_id) ON DELETE CASCADE,\n sequence INTEGER NOT NULL CHECK (sequence >= 1),\n step_id TEXT,\n type TEXT NOT NULL CHECK (\n type IN (\n 'text', 'context', 'reasoning', 'tool', 'interaction',\n 'file', 'data', 'action', 'error'\n )\n ),\n content TEXT NOT NULL CHECK (json_valid(content)),\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL,\n UNIQUE(message_id, sequence)\n);\n\nCREATE INDEX IF NOT EXISTS messages_turn_sequence_index\nON messages(turn_id, sequence);\n\nCREATE INDEX IF NOT EXISTS messages_visibility_sequence_index\nON messages(visibility, sequence);\n\nCREATE INDEX IF NOT EXISTS message_parts_message_sequence_index\nON message_parts(message_id, sequence);\n\nCREATE INDEX IF NOT EXISTS message_parts_step_index\nON message_parts(step_id, message_id, sequence);\n\nCREATE INDEX IF NOT EXISTS message_parts_type_index\nON message_parts(type, message_id);\n\nCREATE TRIGGER IF NOT EXISTS messages_role_immutable\nBEFORE UPDATE OF role ON messages\nWHEN OLD.role <> NEW.role\nBEGIN\n SELECT RAISE(ABORT, 'message role is immutable');\nEND;\n\nCREATE TRIGGER IF NOT EXISTS message_parts_validate_role_insert\nBEFORE INSERT ON message_parts\nWHEN NOT (\n (\n (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'user'\n AND NEW.type IN ('text', 'context', 'file', 'data')\n ) OR\n (\n (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'agent'\n AND NEW.type IN (\n 'text', 'reasoning', 'tool', 'interaction',\n 'file', 'data', 'action', 'error'\n )\n )\n)\nBEGIN\n SELECT RAISE(ABORT, 'message part type is incompatible with message role');\nEND;\n\nCREATE TRIGGER IF NOT EXISTS message_parts_validate_role_update\nBEFORE UPDATE OF message_id, type ON message_parts\nWHEN NOT (\n (\n (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'user'\n AND NEW.type IN ('text', 'context', 'file', 'data')\n ) OR\n (\n (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'agent'\n AND NEW.type IN (\n 'text', 'reasoning', 'tool', 'interaction',\n 'file', 'data', 'action', 'error'\n )\n )\n)\nBEGIN\n SELECT RAISE(ABORT, 'message part type is incompatible with message role');\nEND;\n";
11
+ //# sourceMappingURL=SessionStorageSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionStorageSchema.d.ts","sourceRoot":"","sources":["../../../src/session/storage/SessionStorageSchema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mCAAmC;AACnC,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,sCAAsC;AACtC,eAAO,MAAM,0BAA0B,mpHAwHtC,CAAC"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Session SQLite 核心 schema。
3
+ *
4
+ * 这里只定义所有 Composer 共享的 canonical 表和持久化约束;任何摘要、索引或
5
+ * 检索表都由具体 Context Policy 在自己的 namespace 中创建。
6
+ */
7
+ /** 当前 Session SQLite schema 版本。 */
8
+ export const SESSION_STORAGE_SCHEMA_VERSION = 3;
9
+ /** 创建 Session canonical 表、索引与角色约束。 */
10
+ export const SESSION_STORAGE_SCHEMA_SQL = `
11
+ PRAGMA foreign_keys = ON;
12
+
13
+ CREATE TABLE IF NOT EXISTS session_state (
14
+ singleton_id INTEGER PRIMARY KEY CHECK (singleton_id = 1),
15
+ session_id TEXT NOT NULL UNIQUE,
16
+ agent_id TEXT NOT NULL,
17
+ workspace_id TEXT,
18
+ origin TEXT NOT NULL CHECK (json_valid(origin)),
19
+ timezone TEXT NOT NULL,
20
+ title TEXT,
21
+ model_label TEXT,
22
+ approval_mode TEXT CHECK (
23
+ approval_mode IS NULL OR approval_mode IN ('ask', 'always-allow')
24
+ ),
25
+ system_snapshot TEXT,
26
+ message_count INTEGER NOT NULL DEFAULT 0 CHECK (message_count >= 0),
27
+ preview_text TEXT,
28
+ revision INTEGER NOT NULL DEFAULT 1 CHECK (revision >= 1),
29
+ created_at INTEGER NOT NULL,
30
+ updated_at INTEGER NOT NULL
31
+ );
32
+
33
+ CREATE TABLE IF NOT EXISTS messages (
34
+ message_id TEXT PRIMARY KEY,
35
+ turn_id TEXT,
36
+ sequence INTEGER NOT NULL UNIQUE CHECK (sequence >= 1),
37
+ revision INTEGER NOT NULL DEFAULT 1 CHECK (revision >= 1),
38
+ role TEXT NOT NULL CHECK (role IN ('user', 'agent')),
39
+ state TEXT CHECK (
40
+ state IS NULL OR state IN ('streaming', 'done')
41
+ ),
42
+ visibility TEXT NOT NULL CHECK (visibility IN ('visible', 'internal')),
43
+ origin_session_id TEXT,
44
+ origin_message_id TEXT,
45
+ origin_turn_id TEXT,
46
+ created_at INTEGER NOT NULL,
47
+ updated_at INTEGER NOT NULL,
48
+ CHECK (
49
+ (role = 'user' AND state IS NULL) OR
50
+ (role = 'agent' AND state IS NOT NULL)
51
+ )
52
+ );
53
+
54
+ CREATE TABLE IF NOT EXISTS message_parts (
55
+ part_id TEXT PRIMARY KEY,
56
+ message_id TEXT NOT NULL REFERENCES messages(message_id) ON DELETE CASCADE,
57
+ sequence INTEGER NOT NULL CHECK (sequence >= 1),
58
+ step_id TEXT,
59
+ type TEXT NOT NULL CHECK (
60
+ type IN (
61
+ 'text', 'context', 'reasoning', 'tool', 'interaction',
62
+ 'file', 'data', 'action', 'error'
63
+ )
64
+ ),
65
+ content TEXT NOT NULL CHECK (json_valid(content)),
66
+ created_at INTEGER NOT NULL,
67
+ updated_at INTEGER NOT NULL,
68
+ UNIQUE(message_id, sequence)
69
+ );
70
+
71
+ CREATE INDEX IF NOT EXISTS messages_turn_sequence_index
72
+ ON messages(turn_id, sequence);
73
+
74
+ CREATE INDEX IF NOT EXISTS messages_visibility_sequence_index
75
+ ON messages(visibility, sequence);
76
+
77
+ CREATE INDEX IF NOT EXISTS message_parts_message_sequence_index
78
+ ON message_parts(message_id, sequence);
79
+
80
+ CREATE INDEX IF NOT EXISTS message_parts_step_index
81
+ ON message_parts(step_id, message_id, sequence);
82
+
83
+ CREATE INDEX IF NOT EXISTS message_parts_type_index
84
+ ON message_parts(type, message_id);
85
+
86
+ CREATE TRIGGER IF NOT EXISTS messages_role_immutable
87
+ BEFORE UPDATE OF role ON messages
88
+ WHEN OLD.role <> NEW.role
89
+ BEGIN
90
+ SELECT RAISE(ABORT, 'message role is immutable');
91
+ END;
92
+
93
+ CREATE TRIGGER IF NOT EXISTS message_parts_validate_role_insert
94
+ BEFORE INSERT ON message_parts
95
+ WHEN NOT (
96
+ (
97
+ (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'user'
98
+ AND NEW.type IN ('text', 'context', 'file', 'data')
99
+ ) OR
100
+ (
101
+ (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'agent'
102
+ AND NEW.type IN (
103
+ 'text', 'reasoning', 'tool', 'interaction',
104
+ 'file', 'data', 'action', 'error'
105
+ )
106
+ )
107
+ )
108
+ BEGIN
109
+ SELECT RAISE(ABORT, 'message part type is incompatible with message role');
110
+ END;
111
+
112
+ CREATE TRIGGER IF NOT EXISTS message_parts_validate_role_update
113
+ BEFORE UPDATE OF message_id, type ON message_parts
114
+ WHEN NOT (
115
+ (
116
+ (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'user'
117
+ AND NEW.type IN ('text', 'context', 'file', 'data')
118
+ ) OR
119
+ (
120
+ (SELECT role FROM messages WHERE message_id = NEW.message_id) = 'agent'
121
+ AND NEW.type IN (
122
+ 'text', 'reasoning', 'tool', 'interaction',
123
+ 'file', 'data', 'action', 'error'
124
+ )
125
+ )
126
+ )
127
+ BEGIN
128
+ SELECT RAISE(ABORT, 'message part type is incompatible with message role');
129
+ END;
130
+ `;
131
+ //# sourceMappingURL=SessionStorageSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionStorageSchema.js","sourceRoot":"","sources":["../../../src/session/storage/SessionStorageSchema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mCAAmC;AACnC,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,sCAAsC;AACtC,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwHzC,CAAC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * 单个 Session 的 SQLite 持久化实现。
3
+ *
4
+ * 本模块拥有数据库连接和事务;Message 领域只接收聚合对象,不感知 messages 与
5
+ * message_parts 的关系结构。Composer 只能通过带 namespace 的派生存储操作自己的表。
6
+ */
7
+ import type { SessionAgentMessage, SessionMessage, SessionOrigin, SessionUserMessage } from "@downcity/type";
8
+ import type { FileSystem, StorageDatabaseLocation } from "@downcity/type";
9
+ import type { SessionHistoryMeta } from "../../executor/types/SessionHistoryMeta.js";
10
+ import type { SessionComposerStorage, SessionMessageCreateState, SessionMessageStorageStats, SessionMessageUpdate, SessionStorage } from "../../types/store/SessionStorage.js";
11
+ import type { SessionAttachmentStore } from "../../types/store/SessionAttachmentStore.js";
12
+ /** SQLite SessionStorage 构造参数。 */
13
+ export interface SqliteSessionStorageOptions {
14
+ /** 当前 Session 的稳定标识。 */
15
+ session_id: string;
16
+ /** 当前 Session 所属 Agent。 */
17
+ agent_id: string;
18
+ /** 当前 Session 绑定的 Workspace。 */
19
+ workspace_id?: string;
20
+ /** 当前 Session 的不可变来源。 */
21
+ origin: SessionOrigin;
22
+ /** 数据库文件路径;内存模式只用于诊断和附件目录定位。 */
23
+ database_path: string;
24
+ /** 使用本地文件或进程内数据库。 */
25
+ database_location: StorageDatabaseLocation;
26
+ /** 当前 Agent 私有文件能力。 */
27
+ files: FileSystem;
28
+ /** 当前 Session 的附件存储。 */
29
+ attachments: SessionAttachmentStore;
30
+ }
31
+ /** 单个 Session 的 SQLite 存储。 */
32
+ export declare class SqliteSessionStorage implements SessionStorage {
33
+ readonly session_id: string;
34
+ readonly origin: SessionOrigin;
35
+ readonly attachments: SessionAttachmentStore;
36
+ private readonly agent_id;
37
+ private readonly workspace_id?;
38
+ private readonly database_path;
39
+ private readonly database_location;
40
+ private readonly files;
41
+ private database;
42
+ private initialize_promise;
43
+ private disposed;
44
+ constructor(options: SqliteSessionStorageOptions);
45
+ /** 初始化数据库 schema 并校验 Session 身份。 */
46
+ initialize(): Promise<void>;
47
+ /** 读取当前 Session metadata 投影。 */
48
+ read_metadata(): Promise<SessionHistoryMeta>;
49
+ /** 原子覆盖 configured metadata,同时保持数据库身份不变量。 */
50
+ write_metadata(metadata: SessionHistoryMeta): Promise<void>;
51
+ /** 判断是否存在显式 system snapshot。 */
52
+ has_instruction(): Promise<boolean>;
53
+ /** 读取显式 system snapshot。 */
54
+ read_instruction(): Promise<string | null>;
55
+ /** 原子写入显式 system snapshot。 */
56
+ write_instruction(instruction: string): Promise<void>;
57
+ /** 读取全部 Message 聚合。 */
58
+ list_messages(): Promise<SessionMessage[]>;
59
+ /** 读取指定 Message 聚合。 */
60
+ read_message(message_id: string): Promise<SessionMessage | null>;
61
+ /** 只读取标题生成所需的最早一条 User Message。 */
62
+ read_first_user_message(): Promise<SessionUserMessage | null>;
63
+ /** 分配全局 sequence 并创建完整 Message 聚合。 */
64
+ create_message(build_message: (state: SessionMessageCreateState) => SessionMessage): Promise<SessionMessage>;
65
+ /** 原子更新 Message envelope,并只写入调用方声明变化的 Part。 */
66
+ update_message(input: SessionMessageUpdate): Promise<void>;
67
+ /** 按 Message sequence 向前分页并返回升序聚合。 */
68
+ list_message_page(input?: {
69
+ before_sequence?: number;
70
+ limit?: number;
71
+ include_internal?: boolean;
72
+ }): Promise<SessionMessage[]>;
73
+ /** 只读取上次进程中断后需要收口的 Agent Message。 */
74
+ list_recoverable_agent_messages(): Promise<SessionAgentMessage[]>;
75
+ /** 读取指定 Turn 或整个 Session 的最后一条 Agent Message。 */
76
+ read_latest_agent_message(turn_id?: string): Promise<SessionAgentMessage | null>;
77
+ /** 读取当前 Message 数量、数据库大小与最新 Message。 */
78
+ message_stats(): Promise<SessionMessageStorageStats>;
79
+ /** 清空 Message;外键负责同步删除 Part 与正确关联的派生数据。 */
80
+ clear_messages(): Promise<void>;
81
+ /** 创建只允许当前 namespace 派生表的 Composer 存储。 */
82
+ composer_storage(namespace: string): SessionComposerStorage;
83
+ /** 关闭 SQLite 连接。 */
84
+ dispose(): Promise<void>;
85
+ /** 执行一次完整初始化。 */
86
+ private initialize_storage;
87
+ /** 创建或验证 Session 唯一状态行。 */
88
+ private initialize_identity_unsafe;
89
+ /** 批量读取 Message rows 对应的所有 Parts 并组装聚合。 */
90
+ private read_aggregates;
91
+ /** 插入 Message envelope 与全部 Parts。 */
92
+ private insert_message_unsafe;
93
+ /** 使用 revision 乐观锁更新 Message envelope。 */
94
+ private update_message_envelope_unsafe;
95
+ /** 插入或替换单个明确变化的 Part,不扫描同 Message 的其他 Part。 */
96
+ private upsert_part_unsafe;
97
+ /** 插入一个领域 Part。 */
98
+ private insert_part_unsafe;
99
+ /** 插入已经编码的 Part row。 */
100
+ private insert_part_row_unsafe;
101
+ /** 以当前已知 Message 增量维护列表投影,不反查完整历史。 */
102
+ private update_message_projection_unsafe;
103
+ /** 校验新 Message 身份、顺序和 Part 结构。 */
104
+ private validate_new_message;
105
+ /** 只读取 envelope,校验定向更新没有改变聚合身份。 */
106
+ private validate_message_update_unsafe;
107
+ /** 校验 Part identity、类型和连续顺序。 */
108
+ private validate_parts;
109
+ /** 在当前连接上执行短同步事务。 */
110
+ private run_transaction;
111
+ /** 执行带参数 SQL。 */
112
+ private run_statement;
113
+ /** 读取一条带参数 SQL。 */
114
+ private get_statement;
115
+ /** 读取多条带参数 SQL。 */
116
+ private all_statement;
117
+ /** 返回已经初始化且尚未释放的数据库连接。 */
118
+ private require_database;
119
+ }
120
+ //# sourceMappingURL=SqliteSessionStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqliteSessionStorage.d.ts","sourceRoot":"","sources":["../../../src/session/storage/SqliteSessionStorage.ts"],"names":[],"mappings":"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"}