@downcity/agent 1.1.438 → 1.1.446

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 (702) hide show
  1. package/README.md +25 -18
  2. package/bin/agent/Agent.d.ts +44 -20
  3. package/bin/agent/Agent.d.ts.map +1 -1
  4. package/bin/agent/Agent.js +114 -69
  5. package/bin/agent/Agent.js.map +1 -1
  6. package/bin/agent/AgentInstructions.d.ts +18 -4
  7. package/bin/agent/AgentInstructions.d.ts.map +1 -1
  8. package/bin/agent/AgentInstructions.js +33 -14
  9. package/bin/agent/AgentInstructions.js.map +1 -1
  10. package/bin/agent/AgentMemoryStorage.d.ts +1 -1
  11. package/bin/agent/AgentMemoryStorage.d.ts.map +1 -1
  12. package/bin/agent/AgentMemoryStorage.js.map +1 -1
  13. package/bin/agent/AgentSessions.d.ts +29 -16
  14. package/bin/agent/AgentSessions.d.ts.map +1 -1
  15. package/bin/agent/AgentSessions.js +42 -22
  16. package/bin/agent/AgentSessions.js.map +1 -1
  17. package/bin/group/Group.d.ts +13 -12
  18. package/bin/group/Group.d.ts.map +1 -1
  19. package/bin/group/Group.js +24 -23
  20. package/bin/group/Group.js.map +1 -1
  21. package/bin/group/GroupSession.d.ts.map +1 -1
  22. package/bin/group/GroupSession.js +13 -9
  23. package/bin/group/GroupSession.js.map +1 -1
  24. package/bin/group/GroupSessions.d.ts +27 -2
  25. package/bin/group/GroupSessions.d.ts.map +1 -1
  26. package/bin/group/GroupSessions.js +68 -21
  27. package/bin/group/GroupSessions.js.map +1 -1
  28. package/bin/group/storage/LocalGroupSessionDataStore.d.ts +8 -0
  29. package/bin/group/storage/LocalGroupSessionDataStore.d.ts.map +1 -1
  30. package/bin/group/storage/LocalGroupSessionDataStore.js +1 -1
  31. package/bin/group/storage/LocalGroupSessionDataStore.js.map +1 -1
  32. package/bin/group/storage/LocalGroupSessionStore.d.ts +64 -5
  33. package/bin/group/storage/LocalGroupSessionStore.d.ts.map +1 -1
  34. package/bin/group/storage/LocalGroupSessionStore.js +114 -23
  35. package/bin/group/storage/LocalGroupSessionStore.js.map +1 -1
  36. package/bin/index.d.ts +25 -30
  37. package/bin/index.d.ts.map +1 -1
  38. package/bin/index.js +14 -14
  39. package/bin/index.js.map +1 -1
  40. package/bin/{executor/model → model}/ModelGenerate.d.ts +1 -1
  41. package/bin/model/ModelGenerate.d.ts.map +1 -0
  42. package/bin/model/ModelGenerate.js.map +1 -0
  43. package/bin/{executor/model → model}/ModelRequestRunner.d.ts +1 -1
  44. package/bin/model/ModelRequestRunner.d.ts.map +1 -0
  45. package/bin/model/ModelRequestRunner.js.map +1 -0
  46. package/bin/{executor/model → model}/ModelStepRunner.d.ts +6 -7
  47. package/bin/model/ModelStepRunner.d.ts.map +1 -0
  48. package/bin/{executor/model → model}/ModelStepRunner.js +16 -10
  49. package/bin/model/ModelStepRunner.js.map +1 -0
  50. package/bin/model/ModelStreamConsumer.d.ts.map +1 -0
  51. package/bin/model/ModelStreamConsumer.js.map +1 -0
  52. package/bin/model/ModelStreamFailure.d.ts.map +1 -0
  53. package/bin/model/ModelStreamFailure.js.map +1 -0
  54. package/bin/model/ToolInputValidation.d.ts +28 -0
  55. package/bin/model/ToolInputValidation.d.ts.map +1 -0
  56. package/bin/model/ToolInputValidation.js +37 -0
  57. package/bin/model/ToolInputValidation.js.map +1 -0
  58. package/bin/model/messages/ChatMessageMarkup.d.ts.map +1 -0
  59. package/bin/model/messages/ChatMessageMarkup.js.map +1 -0
  60. package/bin/{executor → model}/messages/ChatMessageMarkupTypes.d.ts +1 -1
  61. package/bin/model/messages/ChatMessageMarkupTypes.d.ts.map +1 -0
  62. package/bin/{executor → model}/messages/ChatMessageMarkupTypes.js +1 -1
  63. package/bin/model/messages/ChatMessageMarkupTypes.js.map +1 -0
  64. package/bin/model/messages/SessionAttachmentMapper.d.ts.map +1 -0
  65. package/bin/model/messages/SessionAttachmentMapper.js.map +1 -0
  66. package/bin/model/messages/SessionMessageLog.d.ts.map +1 -0
  67. package/bin/model/messages/SessionMessageLog.js.map +1 -0
  68. package/bin/model/messages/SessionModelMessages.d.ts.map +1 -0
  69. package/bin/{executor → model}/messages/SessionModelMessages.js +0 -1
  70. package/bin/model/messages/SessionModelMessages.js.map +1 -0
  71. package/bin/model/prompts/SystemPromptAssets.d.ts.map +1 -0
  72. package/bin/{executor/composer/system/default → model/prompts}/SystemPromptAssets.js +1 -1
  73. package/bin/model/prompts/SystemPromptAssets.js.map +1 -0
  74. package/bin/model/prompts/assets/core.prompt.d.ts +7 -0
  75. package/bin/model/prompts/assets/core.prompt.d.ts.map +1 -0
  76. package/bin/model/prompts/assets/core.prompt.js +8 -0
  77. package/bin/model/prompts/assets/core.prompt.js.map +1 -0
  78. package/bin/session/Session.d.ts +29 -17
  79. package/bin/session/Session.d.ts.map +1 -1
  80. package/bin/session/Session.js +161 -134
  81. package/bin/session/Session.js.map +1 -1
  82. package/bin/session/input/SessionHookRunner.d.ts +52 -0
  83. package/bin/session/input/SessionHookRunner.d.ts.map +1 -0
  84. package/bin/session/input/SessionHookRunner.js +51 -0
  85. package/bin/session/input/SessionHookRunner.js.map +1 -0
  86. package/bin/session/input/SessionSystem.d.ts +26 -0
  87. package/bin/session/input/SessionSystem.d.ts.map +1 -0
  88. package/bin/session/{SessionSystem.js → input/SessionSystem.js} +27 -23
  89. package/bin/session/input/SessionSystem.js.map +1 -0
  90. package/bin/session/input/StepInput.d.ts +77 -0
  91. package/bin/session/input/StepInput.d.ts.map +1 -0
  92. package/bin/session/input/StepInput.js +429 -0
  93. package/bin/session/input/StepInput.js.map +1 -0
  94. package/bin/session/input/composer/AdaptiveContextCheckpoint.d.ts +33 -0
  95. package/bin/session/input/composer/AdaptiveContextCheckpoint.d.ts.map +1 -0
  96. package/bin/session/input/composer/AdaptiveContextCheckpoint.js +83 -0
  97. package/bin/session/input/composer/AdaptiveContextCheckpoint.js.map +1 -0
  98. package/bin/session/input/composer/AdaptiveContextParts.d.ts +26 -0
  99. package/bin/session/input/composer/AdaptiveContextParts.d.ts.map +1 -0
  100. package/bin/session/input/composer/AdaptiveContextParts.js +124 -0
  101. package/bin/session/input/composer/AdaptiveContextParts.js.map +1 -0
  102. package/bin/session/input/composer/ComposerAssembly.d.ts +21 -0
  103. package/bin/session/input/composer/ComposerAssembly.d.ts.map +1 -0
  104. package/bin/session/input/composer/ComposerAssembly.js +64 -0
  105. package/bin/session/input/composer/ComposerAssembly.js.map +1 -0
  106. package/bin/session/{composer/policies/SessionSummaryPrompts.d.ts → input/composer/ContextSummaryPrompts.d.ts} +5 -3
  107. package/bin/session/input/composer/ContextSummaryPrompts.d.ts.map +1 -0
  108. package/bin/session/{composer/policies/SessionSummaryPrompts.js → input/composer/ContextSummaryPrompts.js} +5 -3
  109. package/bin/session/input/composer/ContextSummaryPrompts.js.map +1 -0
  110. package/bin/session/input/composer/DefaultSessionComposer.d.ts +24 -0
  111. package/bin/session/input/composer/DefaultSessionComposer.d.ts.map +1 -0
  112. package/bin/session/input/composer/DefaultSessionComposer.js +108 -0
  113. package/bin/session/input/composer/DefaultSessionComposer.js.map +1 -0
  114. package/bin/session/input/composer/FullHistorySessionComposer.d.ts +19 -0
  115. package/bin/session/input/composer/FullHistorySessionComposer.d.ts.map +1 -0
  116. package/bin/session/input/composer/FullHistorySessionComposer.js +36 -0
  117. package/bin/session/input/composer/FullHistorySessionComposer.js.map +1 -0
  118. package/bin/session/{SessionLoop.d.ts → loop/SessionLoop.d.ts} +34 -7
  119. package/bin/session/loop/SessionLoop.d.ts.map +1 -0
  120. package/bin/session/{SessionLoop.js → loop/SessionLoop.js} +79 -16
  121. package/bin/session/loop/SessionLoop.js.map +1 -0
  122. package/bin/session/{SessionQueue.d.ts → loop/SessionQueue.d.ts} +9 -1
  123. package/bin/session/loop/SessionQueue.d.ts.map +1 -0
  124. package/bin/session/{SessionQueue.js → loop/SessionQueue.js} +19 -0
  125. package/bin/session/loop/SessionQueue.js.map +1 -0
  126. package/bin/session/{SessionState.d.ts → loop/SessionState.d.ts} +4 -5
  127. package/bin/session/loop/SessionState.d.ts.map +1 -0
  128. package/bin/session/{SessionState.js → loop/SessionState.js} +6 -25
  129. package/bin/session/loop/SessionState.js.map +1 -0
  130. package/bin/session/{SessionTitle.d.ts → loop/SessionTitle.d.ts} +4 -4
  131. package/bin/session/loop/SessionTitle.d.ts.map +1 -0
  132. package/bin/session/{SessionTitle.js → loop/SessionTitle.js} +3 -3
  133. package/bin/session/loop/SessionTitle.js.map +1 -0
  134. package/bin/session/loop/SessionTitleTask.d.ts.map +1 -0
  135. package/bin/session/loop/SessionTitleTask.js.map +1 -0
  136. package/bin/session/{runtime → loop}/SessionTurnCompletion.d.ts +7 -0
  137. package/bin/session/loop/SessionTurnCompletion.d.ts.map +1 -0
  138. package/bin/session/{runtime → loop}/SessionTurnCompletion.js +25 -6
  139. package/bin/session/loop/SessionTurnCompletion.js.map +1 -0
  140. package/bin/session/loop/SessionTurnContext.d.ts +12 -0
  141. package/bin/session/loop/SessionTurnContext.d.ts.map +1 -0
  142. package/bin/session/{runtime → loop}/SessionTurnContext.js +14 -67
  143. package/bin/session/loop/SessionTurnContext.js.map +1 -0
  144. package/bin/session/loop/SessionTurnFileDiff.d.ts.map +1 -0
  145. package/bin/session/{runtime → loop}/SessionTurnFileDiff.js +1 -1
  146. package/bin/session/loop/SessionTurnFileDiff.js.map +1 -0
  147. package/bin/session/{messages → loop}/SessionTurnFileDiffBuilder.d.ts +3 -3
  148. package/bin/session/loop/SessionTurnFileDiffBuilder.d.ts.map +1 -0
  149. package/bin/session/loop/SessionTurnFileDiffBuilder.js.map +1 -0
  150. package/bin/session/messages/ApprovalInteraction.d.ts +30 -0
  151. package/bin/session/messages/ApprovalInteraction.d.ts.map +1 -0
  152. package/bin/session/messages/ApprovalInteraction.js +61 -0
  153. package/bin/session/messages/ApprovalInteraction.js.map +1 -0
  154. package/bin/session/messages/SessionAgentMessageState.d.ts +47 -18
  155. package/bin/session/messages/SessionAgentMessageState.d.ts.map +1 -1
  156. package/bin/session/messages/SessionAgentMessageState.js +224 -86
  157. package/bin/session/messages/SessionAgentMessageState.js.map +1 -1
  158. package/bin/session/messages/SessionAgentMessageWriter.d.ts +15 -4
  159. package/bin/session/messages/SessionAgentMessageWriter.d.ts.map +1 -1
  160. package/bin/session/messages/SessionAgentMessageWriter.js +57 -37
  161. package/bin/session/messages/SessionAgentMessageWriter.js.map +1 -1
  162. package/bin/session/messages/SessionAgentParts.d.ts +14 -0
  163. package/bin/session/messages/SessionAgentParts.d.ts.map +1 -0
  164. package/bin/session/messages/SessionAgentParts.js +20 -0
  165. package/bin/session/messages/SessionAgentParts.js.map +1 -0
  166. package/bin/session/{execution → messages}/SessionAssistantOutputAdapter.d.ts +2 -2
  167. package/bin/session/messages/SessionAssistantOutputAdapter.d.ts.map +1 -0
  168. package/bin/session/messages/SessionAssistantOutputAdapter.js.map +1 -0
  169. package/bin/session/messages/SessionEventHub.d.ts.map +1 -0
  170. package/bin/session/messages/SessionEventHub.js.map +1 -0
  171. package/bin/session/messages/SessionInteractions.d.ts +57 -0
  172. package/bin/session/messages/SessionInteractions.d.ts.map +1 -0
  173. package/bin/session/messages/SessionInteractions.js +178 -0
  174. package/bin/session/messages/SessionInteractions.js.map +1 -0
  175. package/bin/session/messages/SessionJsonValue.d.ts +1 -3
  176. package/bin/session/messages/SessionJsonValue.d.ts.map +1 -1
  177. package/bin/session/messages/SessionJsonValue.js +0 -19
  178. package/bin/session/messages/SessionJsonValue.js.map +1 -1
  179. package/bin/session/messages/SessionMessageCache.d.ts +55 -0
  180. package/bin/session/messages/SessionMessageCache.d.ts.map +1 -0
  181. package/bin/session/messages/SessionMessageCache.js +133 -0
  182. package/bin/session/messages/SessionMessageCache.js.map +1 -0
  183. package/bin/session/messages/SessionMessageState.d.ts +17 -0
  184. package/bin/session/messages/SessionMessageState.d.ts.map +1 -0
  185. package/bin/session/messages/SessionMessageState.js +34 -0
  186. package/bin/session/messages/SessionMessageState.js.map +1 -0
  187. package/bin/session/messages/SessionMessageTimeline.d.ts.map +1 -0
  188. package/bin/session/{browse → messages}/SessionMessageTimeline.js +0 -1
  189. package/bin/session/messages/SessionMessageTimeline.js.map +1 -0
  190. package/bin/session/{SessionMessages.d.ts → messages/SessionMessages.d.ts} +35 -43
  191. package/bin/session/messages/SessionMessages.d.ts.map +1 -0
  192. package/bin/session/{SessionMessages.js → messages/SessionMessages.js} +178 -196
  193. package/bin/session/messages/SessionMessages.js.map +1 -0
  194. package/bin/session/messages/SessionModelRequestWarning.d.ts.map +1 -0
  195. package/bin/session/messages/SessionModelRequestWarning.js.map +1 -0
  196. package/bin/session/messages/SessionMutationFactory.d.ts +26 -0
  197. package/bin/session/messages/SessionMutationFactory.d.ts.map +1 -0
  198. package/bin/session/messages/SessionMutationFactory.js +38 -0
  199. package/bin/session/messages/SessionMutationFactory.js.map +1 -0
  200. package/bin/session/messages/SessionUserMessage.d.ts +5 -7
  201. package/bin/session/messages/SessionUserMessage.d.ts.map +1 -1
  202. package/bin/session/messages/SessionUserMessage.js +5 -28
  203. package/bin/session/messages/SessionUserMessage.js.map +1 -1
  204. package/bin/{executor/core-engine/CoreEngineSignals.d.ts → session/runner/AssistantParts.d.ts} +4 -9
  205. package/bin/session/runner/AssistantParts.d.ts.map +1 -0
  206. package/bin/{executor/core-engine/CoreEngineSignals.js → session/runner/AssistantParts.js} +4 -17
  207. package/bin/session/runner/AssistantParts.js.map +1 -0
  208. package/bin/session/runner/ContextPressure.d.ts +15 -0
  209. package/bin/session/runner/ContextPressure.d.ts.map +1 -0
  210. package/bin/{executor/core-engine/CoreEngineContextCompaction.js → session/runner/ContextPressure.js} +11 -11
  211. package/bin/session/runner/ContextPressure.js.map +1 -0
  212. package/bin/session/runner/ContextRetry.d.ts +39 -0
  213. package/bin/session/runner/ContextRetry.d.ts.map +1 -0
  214. package/bin/{executor/services/ExecutorRecoveryPolicy.js → session/runner/ContextRetry.js} +19 -19
  215. package/bin/session/runner/ContextRetry.js.map +1 -0
  216. package/bin/{executor/core-engine/CoreEngineError.d.ts → session/runner/ModelFailure.d.ts} +4 -4
  217. package/bin/session/runner/ModelFailure.d.ts.map +1 -0
  218. package/bin/{executor/core-engine/CoreEngineError.js → session/runner/ModelFailure.js} +4 -4
  219. package/bin/session/runner/ModelFailure.js.map +1 -0
  220. package/bin/session/runner/SessionExecutor.d.ts +108 -0
  221. package/bin/session/runner/SessionExecutor.d.ts.map +1 -0
  222. package/bin/session/runner/SessionExecutor.js +430 -0
  223. package/bin/session/runner/SessionExecutor.js.map +1 -0
  224. package/bin/session/runner/ToolLoopDecision.d.ts +60 -0
  225. package/bin/session/runner/ToolLoopDecision.d.ts.map +1 -0
  226. package/bin/{executor/core-engine/CoreEngineLoopDecision.js → session/runner/ToolLoopDecision.js} +5 -5
  227. package/bin/session/runner/ToolLoopDecision.js.map +1 -0
  228. package/bin/session/runner/ToolLoopLimits.d.ts +30 -0
  229. package/bin/session/runner/ToolLoopLimits.d.ts.map +1 -0
  230. package/bin/session/runner/ToolLoopLimits.js +46 -0
  231. package/bin/session/runner/ToolLoopLimits.js.map +1 -0
  232. package/bin/session/{browse → storage}/Browse.d.ts +1 -1
  233. package/bin/session/storage/Browse.d.ts.map +1 -0
  234. package/bin/session/{browse → storage}/Browse.js +1 -1
  235. package/bin/session/storage/Browse.js.map +1 -0
  236. package/bin/session/storage/LocalSessionStore.js +1 -1
  237. package/bin/session/storage/LocalSessionStore.js.map +1 -1
  238. package/bin/session/storage/LocalStorePaths.d.ts +0 -2
  239. package/bin/session/storage/LocalStorePaths.d.ts.map +1 -1
  240. package/bin/session/storage/LocalStorePaths.js +1 -1
  241. package/bin/session/storage/LocalStorePaths.js.map +1 -1
  242. package/bin/session/storage/Metadata.d.ts +1 -23
  243. package/bin/session/storage/Metadata.d.ts.map +1 -1
  244. package/bin/session/storage/Metadata.js +0 -18
  245. package/bin/session/storage/Metadata.js.map +1 -1
  246. package/bin/session/storage/RuntimeSessionPort.d.ts +0 -4
  247. package/bin/session/storage/RuntimeSessionPort.d.ts.map +1 -1
  248. package/bin/session/storage/RuntimeSessionPort.js +0 -1
  249. package/bin/session/storage/RuntimeSessionPort.js.map +1 -1
  250. package/bin/session/{preview → storage}/SessionMessagePreview.d.ts.map +1 -1
  251. package/bin/session/{preview → storage}/SessionMessagePreview.js +0 -1
  252. package/bin/session/{preview → storage}/SessionMessagePreview.js.map +1 -1
  253. package/bin/session/storage/SessionStorageCodec.d.ts.map +1 -1
  254. package/bin/session/storage/SessionStorageCodec.js +36 -18
  255. package/bin/session/storage/SessionStorageCodec.js.map +1 -1
  256. package/bin/session/storage/SessionStorageSchema.d.ts +1 -1
  257. package/bin/session/storage/SessionStorageSchema.js +1 -1
  258. package/bin/session/storage/SqliteSessionStorage.d.ts +6 -4
  259. package/bin/session/storage/SqliteSessionStorage.d.ts.map +1 -1
  260. package/bin/session/storage/SqliteSessionStorage.js +21 -18
  261. package/bin/session/storage/SqliteSessionStorage.js.map +1 -1
  262. package/bin/tools/ask/AskQuestionAnswers.d.ts +20 -0
  263. package/bin/tools/ask/AskQuestionAnswers.d.ts.map +1 -0
  264. package/bin/tools/ask/AskQuestionAnswers.js +99 -0
  265. package/bin/tools/ask/AskQuestionAnswers.js.map +1 -0
  266. package/bin/tools/ask/AskQuestionsTool.d.ts +5 -2
  267. package/bin/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  268. package/bin/tools/ask/AskQuestionsTool.js +23 -31
  269. package/bin/tools/ask/AskQuestionsTool.js.map +1 -1
  270. package/bin/tools/ask/AskQuestionsToolSchemas.d.ts +1 -1
  271. package/bin/types/agent/AgentOptions.d.ts +16 -8
  272. package/bin/types/agent/AgentOptions.d.ts.map +1 -1
  273. package/bin/types/agent/AgentSessionCollection.d.ts +8 -0
  274. package/bin/types/agent/AgentSessionCollection.d.ts.map +1 -1
  275. package/bin/types/agent/SessionActor.d.ts +3 -3
  276. package/bin/types/agent/SessionActor.d.ts.map +1 -1
  277. package/bin/types/group/DispatchStrategy.js +1 -1
  278. package/bin/types/group/DispatchStrategy.js.map +1 -1
  279. package/bin/types/group/GroupSession.d.ts +41 -1
  280. package/bin/types/group/GroupSession.d.ts.map +1 -1
  281. package/bin/types/group/GroupSessionStore.d.ts +30 -3
  282. package/bin/types/group/GroupSessionStore.d.ts.map +1 -1
  283. package/bin/types/model/ModelRequest.d.ts.map +1 -0
  284. package/bin/types/model/ModelRequest.js.map +1 -0
  285. package/bin/types/sdk/AgentSessionAction.d.ts +1 -9
  286. package/bin/types/sdk/AgentSessionAction.d.ts.map +1 -1
  287. package/bin/types/session/{AdaptivePartContextPolicy.d.ts → ContextCheckpoint.d.ts} +10 -9
  288. package/bin/types/session/ContextCheckpoint.d.ts.map +1 -0
  289. package/bin/types/session/ContextCheckpoint.js +8 -0
  290. package/bin/types/session/ContextCheckpoint.js.map +1 -0
  291. package/bin/types/session/SessionAgentMessageState.d.ts +6 -10
  292. package/bin/types/session/SessionAgentMessageState.d.ts.map +1 -1
  293. package/bin/types/session/SessionAgentMessageState.js +3 -2
  294. package/bin/types/session/SessionAgentMessageState.js.map +1 -1
  295. package/bin/types/session/SessionComposer.d.ts +65 -36
  296. package/bin/types/session/SessionComposer.d.ts.map +1 -1
  297. package/bin/types/session/SessionComposer.js +7 -2
  298. package/bin/types/session/SessionComposer.js.map +1 -1
  299. package/bin/types/session/SessionExecution.d.ts +15 -11
  300. package/bin/types/session/SessionExecution.d.ts.map +1 -1
  301. package/bin/types/session/SessionExecution.js +1 -1
  302. package/bin/types/session/SessionInteractions.d.ts +0 -2
  303. package/bin/types/session/SessionInteractions.d.ts.map +1 -1
  304. package/bin/types/session/SessionLocalState.d.ts +0 -4
  305. package/bin/types/session/SessionLocalState.d.ts.map +1 -1
  306. package/bin/types/session/SessionLoop.d.ts +33 -12
  307. package/bin/types/session/SessionLoop.d.ts.map +1 -1
  308. package/bin/types/session/SessionMessages.d.ts +3 -29
  309. package/bin/types/session/SessionMessages.d.ts.map +1 -1
  310. package/bin/types/session/SessionOptions.d.ts +16 -13
  311. package/bin/types/session/SessionOptions.d.ts.map +1 -1
  312. package/bin/types/session/SessionPort.d.ts +0 -3
  313. package/bin/types/session/SessionPort.d.ts.map +1 -1
  314. package/bin/types/session/SessionState.d.ts +0 -1
  315. package/bin/types/session/SessionState.d.ts.map +1 -1
  316. package/bin/types/session/SessionSystem.d.ts +10 -12
  317. package/bin/types/session/SessionSystem.d.ts.map +1 -1
  318. package/bin/types/session/SessionTool.d.ts +2 -2
  319. package/bin/types/session/SessionTool.d.ts.map +1 -1
  320. package/bin/types/session/SessionTurnCompletion.d.ts +12 -2
  321. package/bin/types/session/SessionTurnCompletion.d.ts.map +1 -1
  322. package/bin/types/session/SessionTurnFileDiff.d.ts +4 -4
  323. package/bin/types/session/SessionTurnFileDiff.d.ts.map +1 -1
  324. package/bin/types/session/{SessionComposition.d.ts → StepInput.d.ts} +17 -15
  325. package/bin/types/session/StepInput.d.ts.map +1 -0
  326. package/bin/types/session/StepInput.js +8 -0
  327. package/bin/types/session/StepInput.js.map +1 -0
  328. package/bin/types/store/SessionHistoryMeta.d.ts.map +1 -0
  329. package/bin/types/store/SessionHistoryMeta.js.map +1 -0
  330. package/bin/types/store/SessionStorage.d.ts +17 -12
  331. package/bin/types/store/SessionStorage.d.ts.map +1 -1
  332. package/bin/types/tool/BoundAgentTool.d.ts +36 -0
  333. package/bin/types/tool/BoundAgentTool.d.ts.map +1 -0
  334. package/bin/types/tool/BoundAgentTool.js +13 -0
  335. package/bin/types/tool/BoundAgentTool.js.map +1 -0
  336. package/bin/types/tools/ask/AskQuestionsTool.d.ts +9 -13
  337. package/bin/types/tools/ask/AskQuestionsTool.d.ts.map +1 -1
  338. package/bin/types/tools/ask/AskQuestionsTool.js +3 -2
  339. package/bin/types/tools/ask/AskQuestionsTool.js.map +1 -1
  340. package/bin/types/turn/SessionAssistantOutput.d.ts.map +1 -0
  341. package/bin/types/turn/SessionAssistantOutput.js.map +1 -0
  342. package/bin/types/{executor → turn}/SessionTurnContext.d.ts +10 -28
  343. package/bin/types/turn/SessionTurnContext.d.ts.map +1 -0
  344. package/bin/types/turn/SessionTurnContext.js.map +1 -0
  345. package/bin/{executor/ids/resolveSessionId.d.ts → utils/ResolveSessionId.d.ts} +1 -1
  346. package/bin/utils/ResolveSessionId.d.ts.map +1 -0
  347. package/bin/{executor/ids/resolveSessionId.js → utils/ResolveSessionId.js} +1 -1
  348. package/bin/utils/ResolveSessionId.js.map +1 -0
  349. package/bin/utils/Time.d.ts +5 -8
  350. package/bin/utils/Time.d.ts.map +1 -1
  351. package/bin/utils/Time.js +5 -54
  352. package/bin/utils/Time.js.map +1 -1
  353. package/package.json +2 -2
  354. package/scripts/ask-question-answers.test.mjs +132 -0
  355. package/scripts/group-session-archive.test.mjs +193 -0
  356. package/scripts/{core-engine-model-stream.test.mjs → model-step-runner.test.mjs} +97 -4
  357. package/scripts/rewrite-build-aliases.mjs +3 -4
  358. package/scripts/session-action-part.test.mjs +172 -0
  359. package/scripts/session-agent-message-part-order.test.mjs +13 -7
  360. package/scripts/{core-engine-context-compaction.test.mjs → session-executor-context-pressure.test.mjs} +40 -32
  361. package/scripts/{executor-failure-result.test.mjs → session-executor-failure-result.test.mjs} +17 -14
  362. package/scripts/session-executor-max-steps.test.mjs +143 -0
  363. package/scripts/session-initialization.test.mjs +3 -4
  364. package/scripts/session-interaction-migration.test.mjs +145 -0
  365. package/scripts/session-interaction-mutation.test.mjs +202 -0
  366. package/scripts/session-messages-error-part.test.mjs +1 -1
  367. package/scripts/session-messages-error.test.mjs +1 -1
  368. package/scripts/session-prompt-idempotency.test.mjs +4 -2
  369. package/scripts/session-queue.test.mjs +21 -1
  370. package/scripts/session-storage-sqlite.test.mjs +3 -3
  371. package/scripts/session-system-blocks.test.mjs +61 -39
  372. package/scripts/session-turn-context.test.mjs +37 -40
  373. package/scripts/verify-build-aliases.mjs +1 -1
  374. package/src/agent/Agent.ts +137 -80
  375. package/src/agent/AgentInstructions.ts +48 -15
  376. package/src/agent/AgentMemoryStorage.ts +1 -1
  377. package/src/agent/AgentSessions.ts +60 -38
  378. package/src/group/Group.ts +27 -24
  379. package/src/group/GroupSession.ts +12 -8
  380. package/src/group/GroupSessions.ts +79 -20
  381. package/src/group/storage/LocalGroupSessionDataStore.ts +9 -1
  382. package/src/group/storage/LocalGroupSessionStore.ts +138 -28
  383. package/src/index.ts +35 -52
  384. package/src/{executor/model → model}/ModelGenerate.ts +3 -3
  385. package/src/{executor/model → model}/ModelRequestRunner.ts +2 -2
  386. package/src/{executor/model → model}/ModelStepRunner.ts +22 -19
  387. package/src/{executor/model → model}/ModelStreamConsumer.ts +1 -1
  388. package/src/model/README.md +117 -0
  389. package/src/model/ToolInputValidation.ts +58 -0
  390. package/src/{executor → model}/messages/ChatMessageMarkupTypes.ts +1 -1
  391. package/src/{executor → model}/messages/SessionModelMessages.ts +0 -1
  392. package/src/{executor/composer/system/default → model/prompts}/SystemPromptAssets.ts +1 -1
  393. package/src/model/prompts/assets/core.prompt.ts +9 -0
  394. package/src/{executor/composer/system/default → model/prompts}/assets/core.prompt.ts.txt +26 -25
  395. package/src/session/Session.ts +185 -151
  396. package/src/session/input/SessionHookRunner.ts +100 -0
  397. package/src/session/{SessionSystem.ts → input/SessionSystem.ts} +31 -29
  398. package/src/session/input/StepInput.ts +507 -0
  399. package/src/session/input/composer/AdaptiveContextCheckpoint.ts +115 -0
  400. package/src/session/input/composer/AdaptiveContextParts.ts +166 -0
  401. package/src/session/input/composer/ComposerAssembly.ts +81 -0
  402. package/src/session/{composer/policies/SessionSummaryPrompts.ts → input/composer/ContextSummaryPrompts.ts} +5 -2
  403. package/src/session/input/composer/DefaultSessionComposer.ts +147 -0
  404. package/src/session/input/composer/FullHistorySessionComposer.ts +55 -0
  405. package/src/session/loop/README.md +28 -0
  406. package/src/session/{SessionLoop.ts → loop/SessionLoop.ts} +100 -24
  407. package/src/session/{SessionQueue.ts → loop/SessionQueue.ts} +18 -0
  408. package/src/session/{SessionState.ts → loop/SessionState.ts} +4 -21
  409. package/src/session/{SessionTitle.ts → loop/SessionTitle.ts} +3 -3
  410. package/src/session/{runtime → loop}/SessionTurnCompletion.ts +27 -8
  411. package/src/session/{runtime → loop}/SessionTurnContext.ts +19 -93
  412. package/src/session/{runtime → loop}/SessionTurnFileDiff.ts +1 -1
  413. package/src/session/{messages → loop}/SessionTurnFileDiffBuilder.ts +4 -4
  414. package/src/session/messages/ApprovalInteraction.ts +77 -0
  415. package/src/session/messages/README.md +27 -0
  416. package/src/session/messages/SessionAgentMessageState.ts +324 -113
  417. package/src/session/messages/SessionAgentMessageWriter.ts +82 -45
  418. package/src/session/messages/SessionAgentParts.ts +39 -0
  419. package/src/session/{execution → messages}/SessionAssistantOutputAdapter.ts +2 -2
  420. package/src/session/messages/SessionInteractions.ts +227 -0
  421. package/src/session/messages/SessionJsonValue.ts +1 -18
  422. package/src/session/messages/SessionMessageCache.ts +171 -0
  423. package/src/session/messages/SessionMessageState.ts +42 -0
  424. package/src/session/{browse → messages}/SessionMessageTimeline.ts +0 -1
  425. package/src/session/{SessionMessages.ts → messages/SessionMessages.ts} +225 -284
  426. package/src/session/messages/SessionMutationFactory.ts +58 -0
  427. package/src/session/messages/SessionUserMessage.ts +7 -32
  428. package/src/{executor/core-engine/CoreEngineSignals.ts → session/runner/AssistantParts.ts} +3 -21
  429. package/src/{executor/core-engine/CoreEngineContextCompaction.ts → session/runner/ContextPressure.ts} +10 -10
  430. package/src/{executor/services/ExecutorRecoveryPolicy.ts → session/runner/ContextRetry.ts} +25 -25
  431. package/src/{executor/core-engine/CoreEngineError.ts → session/runner/ModelFailure.ts} +3 -3
  432. package/src/session/runner/SessionExecutor.ts +633 -0
  433. package/src/session/runner/ToolLoopDecision.ts +98 -0
  434. package/src/session/runner/ToolLoopLimits.ts +53 -0
  435. package/src/session/{browse → storage}/Browse.ts +2 -2
  436. package/src/session/storage/LocalSessionStore.ts +1 -1
  437. package/src/session/storage/LocalStorePaths.ts +1 -1
  438. package/src/session/storage/Metadata.ts +1 -44
  439. package/src/session/storage/RuntimeSessionPort.ts +0 -5
  440. package/src/session/{preview → storage}/SessionMessagePreview.ts +0 -1
  441. package/src/session/storage/SessionStorageCodec.ts +54 -28
  442. package/src/session/storage/SessionStorageSchema.ts +1 -1
  443. package/src/session/storage/SqliteSessionStorage.ts +29 -22
  444. package/src/tools/ask/AskQuestionAnswers.ts +125 -0
  445. package/src/tools/ask/AskQuestionsTool.ts +32 -37
  446. package/src/types/agent/AgentOptions.ts +17 -8
  447. package/src/types/agent/AgentSessionCollection.ts +9 -0
  448. package/src/types/agent/SessionActor.ts +3 -4
  449. package/src/types/group/DispatchStrategy.ts +1 -1
  450. package/src/types/group/GroupSession.ts +44 -1
  451. package/src/types/group/GroupSessionStore.ts +30 -3
  452. package/src/types/sdk/AgentSessionAction.ts +1 -14
  453. package/src/types/session/{AdaptivePartContextPolicy.ts → ContextCheckpoint.ts} +9 -8
  454. package/src/types/session/SessionAgentMessageState.ts +6 -16
  455. package/src/types/session/SessionComposer.ts +67 -39
  456. package/src/types/session/SessionExecution.ts +15 -13
  457. package/src/types/session/SessionInteractions.ts +0 -2
  458. package/src/types/session/SessionLocalState.ts +0 -5
  459. package/src/types/session/SessionLoop.ts +37 -12
  460. package/src/types/session/SessionMessages.ts +3 -34
  461. package/src/types/session/SessionOptions.ts +18 -13
  462. package/src/types/session/SessionPort.ts +0 -4
  463. package/src/types/session/SessionState.ts +0 -1
  464. package/src/types/session/SessionSystem.ts +10 -16
  465. package/src/types/session/SessionTool.ts +2 -2
  466. package/src/types/session/SessionTurnCompletion.ts +12 -2
  467. package/src/types/session/SessionTurnFileDiff.ts +4 -4
  468. package/src/types/session/{SessionComposition.ts → StepInput.ts} +22 -14
  469. package/src/types/store/SessionStorage.ts +17 -12
  470. package/src/types/tool/BoundAgentTool.ts +38 -0
  471. package/src/types/tools/ask/AskQuestionsTool.ts +11 -13
  472. package/src/types/{executor → turn}/SessionTurnContext.ts +8 -34
  473. package/src/utils/Time.ts +12 -64
  474. package/tsconfig.json +1 -2
  475. package/tsconfig.tsbuildinfo +1 -1
  476. package/bin/executor/Executor.d.ts +0 -92
  477. package/bin/executor/Executor.d.ts.map +0 -1
  478. package/bin/executor/Executor.js +0 -232
  479. package/bin/executor/Executor.js.map +0 -1
  480. package/bin/executor/composer/system/default/SystemPromptAssets.d.ts.map +0 -1
  481. package/bin/executor/composer/system/default/SystemPromptAssets.js.map +0 -1
  482. package/bin/executor/composer/system/default/assets/core.prompt.d.ts +0 -7
  483. package/bin/executor/composer/system/default/assets/core.prompt.d.ts.map +0 -1
  484. package/bin/executor/composer/system/default/assets/core.prompt.js +0 -8
  485. package/bin/executor/composer/system/default/assets/core.prompt.js.map +0 -1
  486. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts +0 -15
  487. package/bin/executor/core-engine/CoreEngineContextCompaction.d.ts.map +0 -1
  488. package/bin/executor/core-engine/CoreEngineContextCompaction.js.map +0 -1
  489. package/bin/executor/core-engine/CoreEngineError.d.ts.map +0 -1
  490. package/bin/executor/core-engine/CoreEngineError.js.map +0 -1
  491. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts +0 -26
  492. package/bin/executor/core-engine/CoreEngineLoopDecision.d.ts.map +0 -1
  493. package/bin/executor/core-engine/CoreEngineLoopDecision.js.map +0 -1
  494. package/bin/executor/core-engine/CoreEngineRunner.d.ts +0 -48
  495. package/bin/executor/core-engine/CoreEngineRunner.d.ts.map +0 -1
  496. package/bin/executor/core-engine/CoreEngineRunner.js +0 -343
  497. package/bin/executor/core-engine/CoreEngineRunner.js.map +0 -1
  498. package/bin/executor/core-engine/CoreEngineSignals.d.ts.map +0 -1
  499. package/bin/executor/core-engine/CoreEngineSignals.js.map +0 -1
  500. package/bin/executor/ids/resolveSessionId.d.ts.map +0 -1
  501. package/bin/executor/ids/resolveSessionId.js.map +0 -1
  502. package/bin/executor/messages/ChatMessageMarkup.d.ts.map +0 -1
  503. package/bin/executor/messages/ChatMessageMarkup.js.map +0 -1
  504. package/bin/executor/messages/ChatMessageMarkupTypes.d.ts.map +0 -1
  505. package/bin/executor/messages/ChatMessageMarkupTypes.js.map +0 -1
  506. package/bin/executor/messages/SessionAttachmentMapper.d.ts.map +0 -1
  507. package/bin/executor/messages/SessionAttachmentMapper.js.map +0 -1
  508. package/bin/executor/messages/SessionMessageLog.d.ts.map +0 -1
  509. package/bin/executor/messages/SessionMessageLog.js.map +0 -1
  510. package/bin/executor/messages/SessionModelMessages.d.ts.map +0 -1
  511. package/bin/executor/messages/SessionModelMessages.js.map +0 -1
  512. package/bin/executor/model/ModelGenerate.d.ts.map +0 -1
  513. package/bin/executor/model/ModelGenerate.js.map +0 -1
  514. package/bin/executor/model/ModelRequestRunner.d.ts.map +0 -1
  515. package/bin/executor/model/ModelRequestRunner.js.map +0 -1
  516. package/bin/executor/model/ModelStepRunner.d.ts.map +0 -1
  517. package/bin/executor/model/ModelStepRunner.js.map +0 -1
  518. package/bin/executor/model/ModelStreamConsumer.d.ts.map +0 -1
  519. package/bin/executor/model/ModelStreamConsumer.js.map +0 -1
  520. package/bin/executor/model/ModelStreamFailure.d.ts.map +0 -1
  521. package/bin/executor/model/ModelStreamFailure.js.map +0 -1
  522. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts +0 -39
  523. package/bin/executor/services/ExecutorRecoveryPolicy.d.ts.map +0 -1
  524. package/bin/executor/services/ExecutorRecoveryPolicy.js.map +0 -1
  525. package/bin/executor/types/SessionHistoryMeta.d.ts.map +0 -1
  526. package/bin/executor/types/SessionHistoryMeta.js.map +0 -1
  527. package/bin/executor/types/SessionLoop.d.ts +0 -59
  528. package/bin/executor/types/SessionLoop.d.ts.map +0 -1
  529. package/bin/executor/types/SessionLoop.js +0 -9
  530. package/bin/executor/types/SessionLoop.js.map +0 -1
  531. package/bin/executor/types/SessionPrompts.d.ts +0 -14
  532. package/bin/executor/types/SessionPrompts.d.ts.map +0 -1
  533. package/bin/executor/types/SessionPrompts.js +0 -8
  534. package/bin/executor/types/SessionPrompts.js.map +0 -1
  535. package/bin/session/DefaultSessionComposer.d.ts +0 -24
  536. package/bin/session/DefaultSessionComposer.d.ts.map +0 -1
  537. package/bin/session/DefaultSessionComposer.js +0 -99
  538. package/bin/session/DefaultSessionComposer.js.map +0 -1
  539. package/bin/session/SessionComposition.d.ts +0 -49
  540. package/bin/session/SessionComposition.d.ts.map +0 -1
  541. package/bin/session/SessionComposition.js +0 -309
  542. package/bin/session/SessionComposition.js.map +0 -1
  543. package/bin/session/SessionHookPoints.d.ts +0 -15
  544. package/bin/session/SessionHookPoints.d.ts.map +0 -1
  545. package/bin/session/SessionHookPoints.js +0 -15
  546. package/bin/session/SessionHookPoints.js.map +0 -1
  547. package/bin/session/SessionHooks.d.ts +0 -38
  548. package/bin/session/SessionHooks.d.ts.map +0 -1
  549. package/bin/session/SessionHooks.js +0 -71
  550. package/bin/session/SessionHooks.js.map +0 -1
  551. package/bin/session/SessionLoop.d.ts.map +0 -1
  552. package/bin/session/SessionLoop.js.map +0 -1
  553. package/bin/session/SessionMessages.d.ts.map +0 -1
  554. package/bin/session/SessionMessages.js.map +0 -1
  555. package/bin/session/SessionQueue.d.ts.map +0 -1
  556. package/bin/session/SessionQueue.js.map +0 -1
  557. package/bin/session/SessionState.d.ts.map +0 -1
  558. package/bin/session/SessionState.js.map +0 -1
  559. package/bin/session/SessionSystem.d.ts +0 -19
  560. package/bin/session/SessionSystem.d.ts.map +0 -1
  561. package/bin/session/SessionSystem.js.map +0 -1
  562. package/bin/session/SessionTitle.d.ts.map +0 -1
  563. package/bin/session/SessionTitle.js.map +0 -1
  564. package/bin/session/browse/Browse.d.ts.map +0 -1
  565. package/bin/session/browse/Browse.js.map +0 -1
  566. package/bin/session/browse/SessionMessageTimeline.d.ts.map +0 -1
  567. package/bin/session/browse/SessionMessageTimeline.js.map +0 -1
  568. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts +0 -35
  569. package/bin/session/composer/policies/AdaptivePartContextPolicy.d.ts.map +0 -1
  570. package/bin/session/composer/policies/AdaptivePartContextPolicy.js +0 -256
  571. package/bin/session/composer/policies/AdaptivePartContextPolicy.js.map +0 -1
  572. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts +0 -24
  573. package/bin/session/composer/policies/FullHistoryContextPolicy.d.ts.map +0 -1
  574. package/bin/session/composer/policies/FullHistoryContextPolicy.js +0 -31
  575. package/bin/session/composer/policies/FullHistoryContextPolicy.js.map +0 -1
  576. package/bin/session/composer/policies/SessionSummaryPrompts.d.ts.map +0 -1
  577. package/bin/session/composer/policies/SessionSummaryPrompts.js.map +0 -1
  578. package/bin/session/control/SessionInteractions.d.ts +0 -39
  579. package/bin/session/control/SessionInteractions.d.ts.map +0 -1
  580. package/bin/session/control/SessionInteractions.js +0 -255
  581. package/bin/session/control/SessionInteractions.js.map +0 -1
  582. package/bin/session/execution/SessionAssistantOutputAdapter.d.ts.map +0 -1
  583. package/bin/session/execution/SessionAssistantOutputAdapter.js.map +0 -1
  584. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts +0 -28
  585. package/bin/session/execution/tools/SessionShellApprovalAdapter.d.ts.map +0 -1
  586. package/bin/session/execution/tools/SessionShellApprovalAdapter.js +0 -87
  587. package/bin/session/execution/tools/SessionShellApprovalAdapter.js.map +0 -1
  588. package/bin/session/messages/SessionAgentActionPartWriter.d.ts +0 -22
  589. package/bin/session/messages/SessionAgentActionPartWriter.d.ts.map +0 -1
  590. package/bin/session/messages/SessionAgentActionPartWriter.js +0 -36
  591. package/bin/session/messages/SessionAgentActionPartWriter.js.map +0 -1
  592. package/bin/session/messages/SessionMessageInteractionWriter.d.ts +0 -46
  593. package/bin/session/messages/SessionMessageInteractionWriter.d.ts.map +0 -1
  594. package/bin/session/messages/SessionMessageInteractionWriter.js +0 -183
  595. package/bin/session/messages/SessionMessageInteractionWriter.js.map +0 -1
  596. package/bin/session/messages/SessionTurnFileDiffBuilder.d.ts.map +0 -1
  597. package/bin/session/messages/SessionTurnFileDiffBuilder.js.map +0 -1
  598. package/bin/session/runtime/SessionEventHub.d.ts.map +0 -1
  599. package/bin/session/runtime/SessionEventHub.js.map +0 -1
  600. package/bin/session/runtime/SessionModelRequestWarning.d.ts.map +0 -1
  601. package/bin/session/runtime/SessionModelRequestWarning.js.map +0 -1
  602. package/bin/session/runtime/SessionTitleTask.d.ts.map +0 -1
  603. package/bin/session/runtime/SessionTitleTask.js.map +0 -1
  604. package/bin/session/runtime/SessionTurnCompletion.d.ts.map +0 -1
  605. package/bin/session/runtime/SessionTurnCompletion.js.map +0 -1
  606. package/bin/session/runtime/SessionTurnContext.d.ts +0 -29
  607. package/bin/session/runtime/SessionTurnContext.d.ts.map +0 -1
  608. package/bin/session/runtime/SessionTurnContext.js.map +0 -1
  609. package/bin/session/runtime/SessionTurnFileDiff.d.ts.map +0 -1
  610. package/bin/session/runtime/SessionTurnFileDiff.js.map +0 -1
  611. package/bin/types/action/ActionResult.d.ts +0 -35
  612. package/bin/types/action/ActionResult.d.ts.map +0 -1
  613. package/bin/types/action/ActionResult.js +0 -18
  614. package/bin/types/action/ActionResult.js.map +0 -1
  615. package/bin/types/executor/ModelRequest.d.ts.map +0 -1
  616. package/bin/types/executor/ModelRequest.js.map +0 -1
  617. package/bin/types/executor/SessionAssistantOutput.d.ts.map +0 -1
  618. package/bin/types/executor/SessionAssistantOutput.js.map +0 -1
  619. package/bin/types/executor/SessionToolExecutionContext.d.ts +0 -23
  620. package/bin/types/executor/SessionToolExecutionContext.d.ts.map +0 -1
  621. package/bin/types/executor/SessionToolExecutionContext.js +0 -10
  622. package/bin/types/executor/SessionToolExecutionContext.js.map +0 -1
  623. package/bin/types/executor/SessionTurnContext.d.ts.map +0 -1
  624. package/bin/types/executor/SessionTurnContext.js.map +0 -1
  625. package/bin/types/session/AdaptivePartContextPolicy.d.ts.map +0 -1
  626. package/bin/types/session/AdaptivePartContextPolicy.js +0 -7
  627. package/bin/types/session/AdaptivePartContextPolicy.js.map +0 -1
  628. package/bin/types/session/SessionComposition.d.ts.map +0 -1
  629. package/bin/types/session/SessionComposition.js +0 -8
  630. package/bin/types/session/SessionComposition.js.map +0 -1
  631. package/bin/types/session/SessionContextPolicy.d.ts +0 -70
  632. package/bin/types/session/SessionContextPolicy.d.ts.map +0 -1
  633. package/bin/types/session/SessionContextPolicy.js +0 -8
  634. package/bin/types/session/SessionContextPolicy.js.map +0 -1
  635. package/bin/types/tools/ToolActionExecutionContext.d.ts +0 -30
  636. package/bin/types/tools/ToolActionExecutionContext.d.ts.map +0 -1
  637. package/bin/types/tools/ToolActionExecutionContext.js +0 -8
  638. package/bin/types/tools/ToolActionExecutionContext.js.map +0 -1
  639. package/src/executor/Executor.ts +0 -319
  640. package/src/executor/README.md +0 -92
  641. package/src/executor/composer/system/default/assets/core.prompt.ts +0 -9
  642. package/src/executor/core-engine/CoreEngineLoopDecision.ts +0 -63
  643. package/src/executor/core-engine/CoreEngineRunner.ts +0 -458
  644. package/src/executor/types/SessionLoop.ts +0 -69
  645. package/src/executor/types/SessionPrompts.ts +0 -14
  646. package/src/session/DefaultSessionComposer.ts +0 -123
  647. package/src/session/SessionComposition.ts +0 -370
  648. package/src/session/SessionHookPoints.ts +0 -17
  649. package/src/session/SessionHooks.ts +0 -85
  650. package/src/session/composer/policies/AdaptivePartContextPolicy.ts +0 -307
  651. package/src/session/composer/policies/FullHistoryContextPolicy.ts +0 -36
  652. package/src/session/control/SessionInteractions.ts +0 -311
  653. package/src/session/execution/tools/SessionShellApprovalAdapter.ts +0 -105
  654. package/src/session/messages/SessionAgentActionPartWriter.ts +0 -54
  655. package/src/session/messages/SessionMessageInteractionWriter.ts +0 -279
  656. package/src/types/action/ActionResult.ts +0 -50
  657. package/src/types/executor/SessionToolExecutionContext.ts +0 -26
  658. package/src/types/session/SessionContextPolicy.ts +0 -77
  659. package/src/types/tools/ToolActionExecutionContext.ts +0 -32
  660. /package/bin/{executor/model → model}/ModelGenerate.js +0 -0
  661. /package/bin/{executor/model → model}/ModelRequestRunner.js +0 -0
  662. /package/bin/{executor/model → model}/ModelStreamConsumer.d.ts +0 -0
  663. /package/bin/{executor/model → model}/ModelStreamConsumer.js +0 -0
  664. /package/bin/{executor/model → model}/ModelStreamFailure.d.ts +0 -0
  665. /package/bin/{executor/model → model}/ModelStreamFailure.js +0 -0
  666. /package/bin/{executor → model}/messages/ChatMessageMarkup.d.ts +0 -0
  667. /package/bin/{executor → model}/messages/ChatMessageMarkup.js +0 -0
  668. /package/bin/{executor → model}/messages/SessionAttachmentMapper.d.ts +0 -0
  669. /package/bin/{executor → model}/messages/SessionAttachmentMapper.js +0 -0
  670. /package/bin/{executor → model}/messages/SessionMessageLog.d.ts +0 -0
  671. /package/bin/{executor → model}/messages/SessionMessageLog.js +0 -0
  672. /package/bin/{executor → model}/messages/SessionModelMessages.d.ts +0 -0
  673. /package/bin/{executor/composer/system/default → model/prompts}/SystemPromptAssets.d.ts +0 -0
  674. /package/bin/session/{runtime → loop}/SessionTitleTask.d.ts +0 -0
  675. /package/bin/session/{runtime → loop}/SessionTitleTask.js +0 -0
  676. /package/bin/session/{runtime → loop}/SessionTurnFileDiff.d.ts +0 -0
  677. /package/bin/session/{messages → loop}/SessionTurnFileDiffBuilder.js +0 -0
  678. /package/bin/session/{execution → messages}/SessionAssistantOutputAdapter.js +0 -0
  679. /package/bin/session/{runtime → messages}/SessionEventHub.d.ts +0 -0
  680. /package/bin/session/{runtime → messages}/SessionEventHub.js +0 -0
  681. /package/bin/session/{browse → messages}/SessionMessageTimeline.d.ts +0 -0
  682. /package/bin/session/{runtime → messages}/SessionModelRequestWarning.d.ts +0 -0
  683. /package/bin/session/{runtime → messages}/SessionModelRequestWarning.js +0 -0
  684. /package/bin/session/{preview → storage}/SessionMessagePreview.d.ts +0 -0
  685. /package/bin/types/{executor → model}/ModelRequest.d.ts +0 -0
  686. /package/bin/types/{executor → model}/ModelRequest.js +0 -0
  687. /package/bin/{executor/types → types/store}/SessionHistoryMeta.d.ts +0 -0
  688. /package/bin/{executor/types → types/store}/SessionHistoryMeta.js +0 -0
  689. /package/bin/types/{executor → turn}/SessionAssistantOutput.d.ts +0 -0
  690. /package/bin/types/{executor → turn}/SessionAssistantOutput.js +0 -0
  691. /package/bin/types/{executor → turn}/SessionTurnContext.js +0 -0
  692. /package/src/{executor/model → model}/ModelStreamFailure.ts +0 -0
  693. /package/src/{executor → model}/messages/ChatMessageMarkup.ts +0 -0
  694. /package/src/{executor → model}/messages/SessionAttachmentMapper.ts +0 -0
  695. /package/src/{executor → model}/messages/SessionMessageLog.ts +0 -0
  696. /package/src/session/{runtime → loop}/SessionTitleTask.ts +0 -0
  697. /package/src/session/{runtime → messages}/SessionEventHub.ts +0 -0
  698. /package/src/session/{runtime → messages}/SessionModelRequestWarning.ts +0 -0
  699. /package/src/types/{executor → model}/ModelRequest.ts +0 -0
  700. /package/src/{executor/types → types/store}/SessionHistoryMeta.ts +0 -0
  701. /package/src/types/{executor → turn}/SessionAssistantOutput.ts +0 -0
  702. /package/src/{executor/ids/resolveSessionId.ts → utils/ResolveSessionId.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SessionJsonValue.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5D,+BAA+B;AAC/B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAc/D;AAED,iDAAiD;AACjD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAQ7E"}
1
+ {"version":3,"file":"SessionJsonValue.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,+BAA+B;AAC/B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAc/D"}
@@ -20,23 +20,4 @@ export function to_session_json_value(input) {
20
20
  return String(input);
21
21
  }
22
22
  }
23
- /** 把任意运行时输入转换为可持久化 JSON 对象,非对象输入返回 undefined。 */
24
- export function to_session_json_object(input) {
25
- if (!is_plain_object(input))
26
- return undefined;
27
- try {
28
- const value = JSON.parse(JSON.stringify(input));
29
- return is_plain_object(value) ? value : undefined;
30
- }
31
- catch {
32
- return undefined;
33
- }
34
- }
35
- /** 判断未知值是否为普通对象。 */
36
- function is_plain_object(input) {
37
- if (!input || typeof input !== "object" || Array.isArray(input))
38
- return false;
39
- const prototype = Object.getPrototypeOf(input);
40
- return prototype === Object.prototype || prototype === null;
41
- }
42
23
  //# sourceMappingURL=SessionJsonValue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionJsonValue.js","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+BAA+B;AAC/B,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAY,CAAC;QAC3D,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"SessionJsonValue.js","sourceRoot":"","sources":["../../../src/session/messages/SessionJsonValue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+BAA+B;AAC/B,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAc,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Session Message 内存缓存与实时 Mutation 发布边界。
3
+ *
4
+ * 缓存只保留「被未收口 writer 持有」的 Agent Message;终态历史始终读取 Store。
5
+ * 本模块同时拥有对外发布形状的唯一判断——调用方只提交完整快照,由这里决定发整条
6
+ * Message 还是只发发生变化的 Part。
7
+ *
8
+ * 抽出它的原因是打破 SessionMessages 与 Agent Message 运行时之间的双向依赖:
9
+ * 两者都只单向依赖本模块,不再需要互相回指的闭包。
10
+ */
11
+ import type { SessionMessage, SessionMutation } from "@downcity/type";
12
+ /** SessionMessageCache 构造参数。 */
13
+ export interface SessionMessageCacheOptions {
14
+ /** 当前缓存所属 Session 标识。 */
15
+ session_id: string;
16
+ /** 订阅方接收实时 Mutation 的发布函数。 */
17
+ publish: (mutation: SessionMutation) => void;
18
+ }
19
+ /** 一个 Session 的内存 Message 缓存与 Mutation 发布边界。 */
20
+ export declare class SessionMessageCache {
21
+ private readonly session_id;
22
+ private readonly publish;
23
+ private readonly messages_by_id;
24
+ /** 当前被未收口 writer 持有的 Message;同一时刻至多一条。 */
25
+ private held_id;
26
+ constructor(options: SessionMessageCacheOptions);
27
+ /** 读取一条已缓存的 Message。 */
28
+ get(message_id: string): SessionMessage | undefined;
29
+ /** 返回当前缓存中的全部 Message。 */
30
+ all(): Iterable<SessionMessage>;
31
+ /** 登记当前正在写入的 Message。 */
32
+ set_held(message_id: string): void;
33
+ /** 释放指定 Message 的持有关系;不匹配时忽略。 */
34
+ release_held(message_id: string): void;
35
+ /** 指定 Message 是否仍被未收口的 writer 持有。 */
36
+ is_held(message_id: string): boolean;
37
+ /** 返回当前被未收口 writer 持有的 Message 标识。 */
38
+ held_message_id(): string | undefined;
39
+ /**
40
+ * 接受已持久化的完整快照。
41
+ *
42
+ * 发布形状由快照差异决定,调用方不需要描述「变化了什么」;
43
+ * publish_mutation 为 false 时只更新运行缓存。
44
+ */
45
+ accept(message: SessionMessage, publish_mutation?: boolean): void;
46
+ /** 接受一条尚未持久化的实时 Mutation 及其对应的运行快照。 */
47
+ project(mutation: SessionMutation, message: SessionMessage): void;
48
+ /** 只缓存被 writer 持有的 Agent Message;终态历史始终读取 Store。 */
49
+ private remember;
50
+ /** 构造一条完整 Message Mutation。 */
51
+ private build_message_mutation;
52
+ /** 构造一条单 Part Mutation。 */
53
+ private build_part_mutation;
54
+ }
55
+ //# sourceMappingURL=SessionMessageCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessageCache.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAGV,cAAc,EACd,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,gCAAgC;AAChC,MAAM,WAAW,0BAA0B;IACzC,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC9C;AAED,gDAAgD;AAChD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,EAAE,0BAA0B;IAK/C,wBAAwB;IACxB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAInD,0BAA0B;IAC1B,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC;IAI/B,yBAAyB;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIlC,iCAAiC;IACjC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAItC,qCAAqC;IACrC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIpC,sCAAsC;IACtC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,UAAO,GAAG,IAAI;IAc9D,uCAAuC;IACvC,OAAO,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAKjE,oDAAoD;IACpD,OAAO,CAAC,QAAQ;IAOhB,+BAA+B;IAC/B,OAAO,CAAC,sBAAsB;IAe9B,2BAA2B;IAC3B,OAAO,CAAC,mBAAmB;CAc5B"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Session Message 内存缓存与实时 Mutation 发布边界。
3
+ *
4
+ * 缓存只保留「被未收口 writer 持有」的 Agent Message;终态历史始终读取 Store。
5
+ * 本模块同时拥有对外发布形状的唯一判断——调用方只提交完整快照,由这里决定发整条
6
+ * Message 还是只发发生变化的 Part。
7
+ *
8
+ * 抽出它的原因是打破 SessionMessages 与 Agent Message 运行时之间的双向依赖:
9
+ * 两者都只单向依赖本模块,不再需要互相回指的闭包。
10
+ */
11
+ import { generate_id } from "../../utils/Id.js";
12
+ import { resolve_changed_agent_parts } from "../../session/messages/SessionAgentParts.js";
13
+ import { create_session_part_mutation } from "../../session/messages/SessionMutationFactory.js";
14
+ /** 一个 Session 的内存 Message 缓存与 Mutation 发布边界。 */
15
+ export class SessionMessageCache {
16
+ session_id;
17
+ publish;
18
+ messages_by_id = new Map();
19
+ /** 当前被未收口 writer 持有的 Message;同一时刻至多一条。 */
20
+ held_id = null;
21
+ constructor(options) {
22
+ this.session_id = options.session_id;
23
+ this.publish = options.publish;
24
+ }
25
+ /** 读取一条已缓存的 Message。 */
26
+ get(message_id) {
27
+ return this.messages_by_id.get(message_id);
28
+ }
29
+ /** 返回当前缓存中的全部 Message。 */
30
+ all() {
31
+ return this.messages_by_id.values();
32
+ }
33
+ /** 登记当前正在写入的 Message。 */
34
+ set_held(message_id) {
35
+ this.held_id = message_id;
36
+ }
37
+ /** 释放指定 Message 的持有关系;不匹配时忽略。 */
38
+ release_held(message_id) {
39
+ if (this.held_id === message_id)
40
+ this.held_id = null;
41
+ }
42
+ /** 指定 Message 是否仍被未收口的 writer 持有。 */
43
+ is_held(message_id) {
44
+ return this.held_id === message_id;
45
+ }
46
+ /** 返回当前被未收口 writer 持有的 Message 标识。 */
47
+ held_message_id() {
48
+ return this.held_id ?? undefined;
49
+ }
50
+ /**
51
+ * 接受已持久化的完整快照。
52
+ *
53
+ * 发布形状由快照差异决定,调用方不需要描述「变化了什么」;
54
+ * publish_mutation 为 false 时只更新运行缓存。
55
+ */
56
+ accept(message, publish_mutation = true) {
57
+ const previous = this.get(message.message_id);
58
+ this.remember(message);
59
+ if (!publish_mutation)
60
+ return;
61
+ const change = project_message_change(previous, message);
62
+ if (change.variant === "message") {
63
+ this.publish(this.build_message_mutation(message));
64
+ return;
65
+ }
66
+ for (const part of change.parts) {
67
+ this.publish(this.build_part_mutation(change.message, part));
68
+ }
69
+ }
70
+ /** 接受一条尚未持久化的实时 Mutation 及其对应的运行快照。 */
71
+ project(mutation, message) {
72
+ this.remember(message);
73
+ this.publish(mutation);
74
+ }
75
+ /** 只缓存被 writer 持有的 Agent Message;终态历史始终读取 Store。 */
76
+ remember(message) {
77
+ this.messages_by_id.delete(message.message_id);
78
+ if (message.role !== "agent")
79
+ return;
80
+ if (!this.is_held(message.message_id))
81
+ return;
82
+ this.messages_by_id.set(message.message_id, structuredClone(message));
83
+ }
84
+ /** 构造一条完整 Message Mutation。 */
85
+ build_message_mutation(message) {
86
+ const base = {
87
+ mutation_id: generate_id(),
88
+ variant: "message",
89
+ message_id: message.message_id,
90
+ sequence: message.sequence,
91
+ revision: message.revision,
92
+ session_id: this.session_id,
93
+ ...(message.turn_id ? { turn_id: message.turn_id } : {}),
94
+ created_at: message.updated_at,
95
+ };
96
+ if (message.role === "agent")
97
+ return { ...base, role: "agent", message };
98
+ return { ...base, role: "user", message };
99
+ }
100
+ /** 构造一条单 Part Mutation。 */
101
+ build_part_mutation(message, part) {
102
+ return create_session_part_mutation({
103
+ mutation_id: generate_id(),
104
+ session_id: this.session_id,
105
+ message_id: message.message_id,
106
+ ...(message.turn_id ? { turn_id: message.turn_id } : {}),
107
+ revision: message.revision,
108
+ created_at: message.updated_at,
109
+ part,
110
+ });
111
+ }
112
+ }
113
+ /**
114
+ * 将一次 Message 提交投影为最小突变。
115
+ *
116
+ * Part Mutation 是「按 part_id 替换」,既无法让消费方建立一条尚不存在的 Message,
117
+ * 也无法表达 Part 消失。所以首次出现、User Message、state 收口与 Part 被移除都必须
118
+ * 整条发布;其余情况只发布发生变化的 Part,不重传整条会话。
119
+ */
120
+ function project_message_change(previous, message) {
121
+ if (previous?.role !== "agent" ||
122
+ message.role !== "agent" ||
123
+ previous.state !== message.state ||
124
+ previous.parts.some((part) => !message.parts.some((next) => next.part_id === part.part_id))) {
125
+ return { variant: "message" };
126
+ }
127
+ return {
128
+ variant: "part",
129
+ message,
130
+ parts: resolve_changed_agent_parts(previous.parts, message.parts),
131
+ };
132
+ }
133
+ //# sourceMappingURL=SessionMessageCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessageCache.js","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Session Message 展示状态的推导规则。
3
+ *
4
+ * Message 不保存「是否还能写」这个事实:它由 writer 持有关系与自身 Parts 共同决定。
5
+ * 本模块是唯一规则源,任何写入方都不得自行决定 Message 终态。
6
+ */
7
+ import type { SessionAgentMessage, SessionAgentMessagePart } from "@downcity/type";
8
+ /** 判断 Part 是否仍在进行中。 */
9
+ export declare function is_session_part_in_flight(part: SessionAgentMessagePart): boolean;
10
+ /**
11
+ * 推导 Message 的展示状态。
12
+ *
13
+ * 被未收口的 writer 持有 ⇒ 仍可写;否则只要有进行中的 Part 就可写。
14
+ * 进行中的 Action 会让其载体 Message 保持 streaming,完成后立即收敛为 done。
15
+ */
16
+ export declare function resolve_session_message_state(parts: readonly SessionAgentMessagePart[], held_by_writer: boolean): SessionAgentMessage["state"];
17
+ //# sourceMappingURL=SessionMessageState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessageState.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAExB,uBAAuB;AACvB,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAchF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,uBAAuB,EAAE,EACzC,cAAc,EAAE,OAAO,GACtB,mBAAmB,CAAC,OAAO,CAAC,CAG9B"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Session Message 展示状态的推导规则。
3
+ *
4
+ * Message 不保存「是否还能写」这个事实:它由 writer 持有关系与自身 Parts 共同决定。
5
+ * 本模块是唯一规则源,任何写入方都不得自行决定 Message 终态。
6
+ */
7
+ /** 判断 Part 是否仍在进行中。 */
8
+ export function is_session_part_in_flight(part) {
9
+ switch (part.type) {
10
+ case "text":
11
+ case "reasoning":
12
+ return part.state === "streaming";
13
+ case "tool":
14
+ return part.state !== "completed" && part.state !== "failed";
15
+ case "action":
16
+ return part.state === "running";
17
+ case "file":
18
+ case "data":
19
+ case "error":
20
+ return false;
21
+ }
22
+ }
23
+ /**
24
+ * 推导 Message 的展示状态。
25
+ *
26
+ * 被未收口的 writer 持有 ⇒ 仍可写;否则只要有进行中的 Part 就可写。
27
+ * 进行中的 Action 会让其载体 Message 保持 streaming,完成后立即收敛为 done。
28
+ */
29
+ export function resolve_session_message_state(parts, held_by_writer) {
30
+ if (held_by_writer)
31
+ return "streaming";
32
+ return parts.some(is_session_part_in_flight) ? "streaming" : "done";
33
+ }
34
+ //# sourceMappingURL=SessionMessageState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessageState.js","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageState.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,uBAAuB;AACvB,MAAM,UAAU,yBAAyB,CAAC,IAA6B;IACrE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW;YACd,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC/D,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;QAClC,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAAyC,EACzC,cAAuB;IAEvB,IAAI,cAAc;QAAE,OAAO,WAAW,CAAC;IACvC,OAAO,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;AACtE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessageTimeline.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageTimeline.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,gBAAgB,CAAC;AAmExB,kDAAkD;AAClD,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,cAAc,GACtB,yBAAyB,EAAE,CAoE7B"}
@@ -117,7 +117,6 @@ export function to_session_message_timeline_events(message) {
117
117
  events.push(...project_tool_part(message, part, events.length));
118
118
  break;
119
119
  case "reasoning":
120
- case "interaction":
121
120
  case "file":
122
121
  case "data":
123
122
  break;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessageTimeline.js","sourceRoot":"","sources":["../../../src/session/messages/SessionMessageTimeline.ts"],"names":[],"mappings":"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"}
@@ -5,30 +5,29 @@
5
5
  * 同一 Assistant Message 的流式、审批与关闭操作共享一条写队列,保证 revision
6
6
  * 从最新快照严格递增。
7
7
  */
8
- import { SessionAgentMessageWriter } from "../session/messages/SessionAgentMessageWriter.js";
9
- import { SessionAgentActionPartWriter } from "../session/messages/SessionAgentActionPartWriter.js";
8
+ import { SessionAgentMessageWriter } from "../../session/messages/SessionAgentMessageWriter.js";
10
9
  import type { JsonObject } from "@downcity/type";
11
- import type { ListSessionMessagesInput, SessionAgentInteractionPart, SessionAgentMessage, SessionAgentMessagePart, SessionMessage, SessionMessagePage, SessionUserMessage } from "@downcity/type";
12
- import type { SessionMessageStorageStats } from "../types/store/SessionStorage.js";
13
- import type { SessionStreamingToolLocation } from "../types/session/SessionTool.js";
10
+ import type { ListSessionMessagesInput, SessionAgentInteraction, SessionAgentMessage, SessionMessage, SessionMessagePage, SessionUserMessage } from "@downcity/type";
11
+ import type { SessionMessageStorageStats } from "../../types/store/SessionStorage.js";
14
12
  import type { SessionInteractionCloseInput, SessionInteractionRequest, SessionInteractionResponse } from "@downcity/type";
15
13
  import type { SessionActionEvent } from "@downcity/type";
16
- import type { AppendCompletedAgentMessageInput, AppendExternalSessionAgentMessageInput, AppendExternalSessionUserMessageInput, AppendSessionAgentErrorPartInput, AppendSessionPromptMessageInput, AppendSessionUserMessageInput, OpenSessionAgentActionPartInput, OpenSessionAgentMessageInput, SessionMessagesOptions } from "../types/session/SessionMessages.js";
17
- export { SessionAgentMessageWriter } from "../session/messages/SessionAgentMessageWriter.js";
18
- export { SessionAgentActionPartWriter } from "../session/messages/SessionAgentActionPartWriter.js";
19
- export { normalize_session_user_parts } from "../session/messages/SessionUserMessage.js";
14
+ import type { AppendExternalSessionAgentMessageInput, AppendExternalSessionUserMessageInput, AppendSessionAgentErrorPartInput, AppendSessionPromptMessageInput, AppendSessionUserMessageInput, OpenSessionAgentMessageInput, SessionMessagesOptions } from "../../types/session/SessionMessages.js";
15
+ export { SessionAgentMessageWriter } from "../../session/messages/SessionAgentMessageWriter.js";
16
+ export { normalize_session_user_parts } from "../../session/messages/SessionUserMessage.js";
20
17
  /** 唯一 Session Message 写入服务。 */
21
18
  export declare class SessionMessages {
22
19
  readonly session_id: string;
23
20
  private readonly store;
24
21
  private readonly attachment_store;
25
- private readonly publish;
26
- private readonly messages_by_id;
22
+ /** Message 运行缓存与 Mutation 发布边界。 */
23
+ private readonly cache;
27
24
  /** Assistant 草稿与 Interaction 的串行状态转换器。 */
28
25
  private readonly agent_state;
29
26
  /** 当前 Message 恢复事务;并发初始化共享同一个 Promise。 */
30
27
  private initialize_promise;
31
28
  constructor(options: SessionMessagesOptions);
29
+ /** 该 Message 是否仍由未收口的 writer 持有;终态推导与 Action 归属共同依赖它。 */
30
+ private is_held_by_writer;
32
31
  /** 恢复已有 Message,并收口进程中断遗留的运行状态。 */
33
32
  initialize(): Promise<void>;
34
33
  /** 只恢复非终态 Message,并由领域层统一收口进程中断状态。 */
@@ -39,8 +38,6 @@ export declare class SessionMessages {
39
38
  append_user_message(input: AppendSessionUserMessageInput): Promise<SessionUserMessage>;
40
39
  /** 创建可持续接收 chunk 的 Assistant Message。 */
41
40
  open_agent_message(input: OpenSessionAgentMessageInput): Promise<SessionAgentMessageWriter>;
42
- /** 直接写入一条已完成 Assistant Message。 */
43
- append_completed_agent_message(input: AppendCompletedAgentMessageInput): Promise<SessionAgentMessage>;
44
41
  /** 把公开 Session API 的 User 输入转换为 canonical Message 并持久化。 */
45
42
  append_external_user_message(input: AppendExternalSessionUserMessageInput): Promise<boolean>;
46
43
  /** 把公开 Session API 的 Assistant 输入转换为 canonical Message 并持久化。 */
@@ -49,12 +46,30 @@ export declare class SessionMessages {
49
46
  append_prompt_message(input: AppendSessionPromptMessageInput): Promise<SessionUserMessage>;
50
47
  /** 读取指定 Turn 最近一条 canonical Agent Message。 */
51
48
  read_latest_agent_message(turn_id: string): Promise<SessionAgentMessage | null>;
52
- /** 按稳定 Action ID 创建或更新只包含 Action Part 的 Agent Message。 */
49
+ /**
50
+ * 按稳定 Action ID 落盘一条 canonical Action。
51
+ *
52
+ * 判定顺序固定,三分支互斥:
53
+ * 1. 该 Turn 存在 writer 持有的正文 Message → Action 作为其 Part 内联;
54
+ * 2. 否则存在 id 等于 action_id 的载体 Message → 原地更新其中的 Action Part;
55
+ * 3. 否则新建仅含该 Action Part 的载体 Message。
56
+ *
57
+ * 三个分支都只写 Part,Message 终态统一由 SessionMessageState 推导。
58
+ */
53
59
  persist_action(event: SessionActionEvent, options?: {
54
60
  publish_mutation?: boolean;
55
61
  }): Promise<void>;
56
- /** 创建只包含 running Action Part 的 Agent Message。 */
57
- open_action_part(input: OpenSessionAgentActionPartInput): Promise<SessionAgentActionPartWriter>;
62
+ /** 查找指定 Turn 当前由 writer 持有的正文 Message(同一时刻至多一条)。 */
63
+ private find_open_message;
64
+ /** 复用已有 Action Part 身份,为被 writer 持有的 Agent Message 构造对齐的 Action Part。 */
65
+ private resolve_streaming_action_part;
66
+ /**
67
+ * 创建只包含单个 Action Part 的独立 Agent Message。
68
+ *
69
+ * 只在当前 Turn 没有 writer 持有的 Agent Message 时使用;Action Part 直接以事件声明的
70
+ * 目标状态落盘,不再先建后改,避免同一个 Action 产生两次 Mutation。
71
+ */
72
+ private create_standalone_action_message;
58
73
  /** 更新 Action 状态,同时保持 message_id 与 sequence 不变。 */
59
74
  update_action_part(message_id: string, status: "running" | "completed" | "failed", changes?: {
60
75
  title?: string;
@@ -79,38 +94,15 @@ export declare class SessionMessages {
79
94
  storage_stats(): Promise<SessionMessageStorageStats>;
80
95
  /** 向当前 Session 导入 fork 来源 Message,并重新分配全部身份和顺序。 */
81
96
  import_messages(messages: SessionMessage[]): Promise<void>;
82
- /** @internal 只向运行投影追加 Agent 文本 delta。 */
83
- project_agent_delta(message_id: string, part_id: string, type: "text" | "reasoning", delta: string): void;
84
- /** @internal 只向运行投影追加 Agent Tool 输入 delta。 */
85
- project_agent_tool_input_delta(message_id: string, part_id: string, tool_call_id: string, delta: string): void;
86
- /** @internal 只向运行投影写入 Agent 完整 Part。 */
87
- project_agent_part(message_id: string, part: SessionAgentMessagePart): void;
88
- /** @internal 原子提交当前运行投影。 */
89
- checkpoint_agent_message(message_id: string): Promise<void>;
90
- /** @internal 原子提交一组非流式 Agent Parts。 */
91
- commit_agent_parts(message_id: string, parts: readonly SessionAgentMessagePart[]): Promise<void>;
92
- /** @internal 丢弃未提交的当前 Step 投影。 */
93
- rollback_agent_projection(message_id: string): Promise<void>;
94
- /** @internal 原子提交当前 Assistant step 的 metadata 快照。 */
95
- commit_agent_step(message_id: string, parts: SessionAgentMessagePart[]): Promise<void>;
96
- /** @internal 收口 Assistant Message。 */
97
- complete_agent_message(message_id: string, status: "completed" | "stopped" | "failed", error?: string): Promise<void>;
98
97
  private create_message;
99
- /** 读取当前流式 Assistant 中的指定 Tool Part。 */
100
- find_streaming_tool(tool_call_id: string): SessionStreamingToolLocation | undefined;
101
98
  /** 返回当前 Session 中全部等待用户响应的 canonical Interaction。 */
102
- list_pending_interactions(): SessionAgentInteractionPart[];
99
+ list_pending_interactions(): SessionAgentInteraction[];
103
100
  /** 原子创建 Interaction,并把关联 Tool 转为 waiting-user。 */
104
- request_interaction(request: SessionInteractionRequest): Promise<SessionAgentInteractionPart>;
101
+ request_interaction(request: SessionInteractionRequest): Promise<SessionAgentInteraction>;
105
102
  /** 原子保存用户响应,并按 Interaction 结果恢复或终止关联 Tool。 */
106
- resolve_interaction(interaction_id: string, response: SessionInteractionResponse): Promise<SessionAgentInteractionPart>;
103
+ resolve_interaction(interaction_id: string, response: SessionInteractionResponse): Promise<SessionAgentInteraction>;
107
104
  /** 原子结束未响应 Interaction,并把关联 Tool 标记为失败。 */
108
- close_interaction(interaction_id: string, input: SessionInteractionCloseInput): Promise<SessionAgentInteractionPart>;
109
- private build_message_mutation;
110
- private accept_message;
111
- private accept_mutation;
112
- /** 仅缓存可变的 streaming Agent Message;终态历史始终读取 SQLite。 */
113
- private remember_message;
105
+ close_interaction(interaction_id: string, input: SessionInteractionCloseInput): Promise<SessionAgentInteraction>;
114
106
  private ensure_initialized;
115
107
  }
116
108
  //# sourceMappingURL=SessionMessages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionMessages.d.ts","sourceRoot":"","sources":["../../../src/session/messages/SessionMessages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAM5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EACV,wBAAwB,EAIxB,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,KAAK,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EACV,sCAAsC,EACtC,qCAAqC,EACrC,gCAAgC,EAChC,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAExF,+BAA+B;AAC/B,qBAAa,eAAe;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,mCAAmC;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,0CAA0C;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,0CAA0C;IAC1C,OAAO,CAAC,kBAAkB,CAA8B;gBAE5C,OAAO,EAAE,sBAAsB;IAgB3C,yDAAyD;IACzD,OAAO,CAAC,iBAAiB;IAIzB,mCAAmC;IAC7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAejC,sCAAsC;YACxB,gBAAgB;IAyE9B,wBAAwB;IACxB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3D,mCAAmC;IAC7B,mBAAmB,CACvB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,kBAAkB,CAAC;IA2B9B,yCAAyC;IACnC,kBAAkB,CACtB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,yBAAyB,CAAC;IAgCrC,2DAA2D;IACrD,4BAA4B,CAChC,KAAK,EAAE,qCAAqC,GAC3C,OAAO,CAAC,OAAO,CAAC;IAcnB,gEAAgE;IAC1D,6BAA6B,CACjC,KAAK,EAAE,sCAAsC,GAC5C,OAAO,CAAC,OAAO,CAAC;IAcnB,wDAAwD;IAClD,qBAAqB,CACzB,KAAK,EAAE,+BAA+B,GACrC,OAAO,CAAC,kBAAkB,CAAC;IAgB9B,8CAA8C;IACxC,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAIrF;;;;;;;;;OASG;IACG,cAAc,CAClB,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GACvC,OAAO,CAAC,IAAI,CAAC;IA0BhB,oDAAoD;IACpD,OAAO,CAAC,iBAAiB;IAUzB,yEAAyE;IACzE,OAAO,CAAC,6BAA6B;IAoBrC;;;;;OAKG;YACW,gCAAgC;IA8B9C,kDAAkD;IAC5C,kBAAkB,CACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,EAC1C,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,EACrE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GACvC,OAAO,CAAC,mBAAmB,CAAC;IAuC/B;;;;;;OAMG;IACG,iBAAiB,CACrB,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,mBAAmB,CAAC;IAmE/B,4CAA4C;IACtC,aAAa,CACjB,KAAK,CAAC,EAAE,wBAAwB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAgC9B,oCAAoC;IAC9B,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAKxD,0BAA0B;IACpB,aAAa,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAK1D,mDAAmD;IAC7C,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YA8BlD,cAAc;IAiB5B,qDAAqD;IACrD,yBAAyB,IAAI,uBAAuB,EAAE;IAItD,kDAAkD;IAC5C,mBAAmB,CACvB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,uBAAuB,CAAC;IAInC,8CAA8C;IACxC,mBAAmB,CACvB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,0BAA0B,GACnC,OAAO,CAAC,uBAAuB,CAAC;IAOnC,2CAA2C;IACrC,iBAAiB,CACrB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,uBAAuB,CAAC;YAIrB,kBAAkB;CAGjC"}