@qduc/term2 0.15.0 → 0.17.0

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 (696) hide show
  1. package/README.md +324 -316
  2. package/dist/agent.d.ts +5 -0
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +16 -64
  5. package/dist/agent.js.map +1 -1
  6. package/dist/app.d.ts +1 -1
  7. package/dist/app.d.ts.map +1 -1
  8. package/dist/app.js +129 -19
  9. package/dist/app.js.map +1 -1
  10. package/dist/cli.js +52 -17
  11. package/dist/cli.js.map +1 -1
  12. package/dist/commands/auto-approve-command.d.ts +2 -1
  13. package/dist/commands/auto-approve-command.d.ts.map +1 -1
  14. package/dist/commands/auto-approve-command.js +16 -27
  15. package/dist/commands/auto-approve-command.js.map +1 -1
  16. package/dist/commands/compact-command.d.ts.map +1 -1
  17. package/dist/commands/compact-command.js +4 -0
  18. package/dist/commands/compact-command.js.map +1 -1
  19. package/dist/commands/effort-command.js +1 -1
  20. package/dist/commands/effort-command.js.map +1 -1
  21. package/dist/commands/guarded-settings-command.d.ts.map +1 -1
  22. package/dist/commands/guarded-settings-command.js +4 -8
  23. package/dist/commands/guarded-settings-command.js.map +1 -1
  24. package/dist/commands/model-command.js +1 -1
  25. package/dist/commands/model-command.js.map +1 -1
  26. package/dist/commands/resume-command.d.ts +11 -0
  27. package/dist/commands/resume-command.d.ts.map +1 -0
  28. package/dist/commands/resume-command.js +41 -0
  29. package/dist/commands/resume-command.js.map +1 -0
  30. package/dist/components/ErrorBoundary.d.ts.map +1 -1
  31. package/dist/components/ErrorBoundary.js +5 -4
  32. package/dist/components/ErrorBoundary.js.map +1 -1
  33. package/dist/components/InputBox.d.ts +2 -0
  34. package/dist/components/InputBox.d.ts.map +1 -1
  35. package/dist/components/InputBox.js +56 -18
  36. package/dist/components/InputBox.js.map +1 -1
  37. package/dist/components/MarkdownRenderer.d.ts.map +1 -1
  38. package/dist/components/MarkdownRenderer.js +16 -15
  39. package/dist/components/MarkdownRenderer.js.map +1 -1
  40. package/dist/components/common/MenuContainer.d.ts +25 -2
  41. package/dist/components/common/MenuContainer.d.ts.map +1 -1
  42. package/dist/components/common/MenuContainer.js +35 -11
  43. package/dist/components/common/MenuContainer.js.map +1 -1
  44. package/dist/components/common/ScrollableTabBar.d.ts.map +1 -1
  45. package/dist/components/common/ScrollableTabBar.js +5 -4
  46. package/dist/components/common/ScrollableTabBar.js.map +1 -1
  47. package/dist/components/input/ApplicationInputSurface.d.ts +7 -5
  48. package/dist/components/input/ApplicationInputSurface.d.ts.map +1 -1
  49. package/dist/components/input/ApplicationInputSurface.js +7 -0
  50. package/dist/components/input/ApplicationInputSurface.js.map +1 -1
  51. package/dist/components/input/FirstRunSetupPrompt.d.ts.map +1 -1
  52. package/dist/components/input/FirstRunSetupPrompt.js +5 -4
  53. package/dist/components/input/FirstRunSetupPrompt.js.map +1 -1
  54. package/dist/components/input/MenuSurface.d.ts.map +1 -1
  55. package/dist/components/input/MenuSurface.js +10 -3
  56. package/dist/components/input/MenuSurface.js.map +1 -1
  57. package/dist/components/input/ModelMenuSession.d.ts.map +1 -1
  58. package/dist/components/input/ModelMenuSession.js +2 -1
  59. package/dist/components/input/ModelMenuSession.js.map +1 -1
  60. package/dist/components/input/PendingQueueList.d.ts +2 -0
  61. package/dist/components/input/PendingQueueList.d.ts.map +1 -1
  62. package/dist/components/input/PendingQueueList.js +17 -14
  63. package/dist/components/input/PendingQueueList.js.map +1 -1
  64. package/dist/components/input/ResumeMenuSession.d.ts +17 -0
  65. package/dist/components/input/ResumeMenuSession.d.ts.map +1 -0
  66. package/dist/components/input/ResumeMenuSession.js +57 -0
  67. package/dist/components/input/ResumeMenuSession.js.map +1 -0
  68. package/dist/components/input/SettingsValueMenuSession.d.ts.map +1 -1
  69. package/dist/components/input/SettingsValueMenuSession.js +2 -1
  70. package/dist/components/input/SettingsValueMenuSession.js.map +1 -1
  71. package/dist/components/input/determine-active-menu.d.ts +3 -0
  72. package/dist/components/input/determine-active-menu.d.ts.map +1 -1
  73. package/dist/components/input/determine-active-menu.js +10 -5
  74. package/dist/components/input/determine-active-menu.js.map +1 -1
  75. package/dist/components/input/menu-registry.d.ts.map +1 -1
  76. package/dist/components/input/menu-registry.js +2 -0
  77. package/dist/components/input/menu-registry.js.map +1 -1
  78. package/dist/components/input/menu-types.d.ts +4 -0
  79. package/dist/components/input/menu-types.d.ts.map +1 -1
  80. package/dist/components/input/triggers.d.ts +1 -0
  81. package/dist/components/input/triggers.d.ts.map +1 -1
  82. package/dist/components/input/triggers.js +26 -0
  83. package/dist/components/input/triggers.js.map +1 -1
  84. package/dist/components/layout/BackgroundTaskManager.d.ts.map +1 -1
  85. package/dist/components/layout/BackgroundTaskManager.js +12 -11
  86. package/dist/components/layout/BackgroundTaskManager.js.map +1 -1
  87. package/dist/components/layout/BackgroundTasksPanel.d.ts +2 -2
  88. package/dist/components/layout/BackgroundTasksPanel.d.ts.map +1 -1
  89. package/dist/components/layout/BackgroundTasksPanel.js +10 -9
  90. package/dist/components/layout/BackgroundTasksPanel.js.map +1 -1
  91. package/dist/components/layout/Banner.d.ts +0 -1
  92. package/dist/components/layout/Banner.d.ts.map +1 -1
  93. package/dist/components/layout/Banner.js +43 -73
  94. package/dist/components/layout/Banner.js.map +1 -1
  95. package/dist/components/layout/BottomArea.d.ts +8 -5
  96. package/dist/components/layout/BottomArea.d.ts.map +1 -1
  97. package/dist/components/layout/BottomArea.js +17 -9
  98. package/dist/components/layout/BottomArea.js.map +1 -1
  99. package/dist/components/layout/DiffView.js +5 -5
  100. package/dist/components/layout/DiffView.js.map +1 -1
  101. package/dist/components/layout/StatusBar.d.ts +4 -1
  102. package/dist/components/layout/StatusBar.d.ts.map +1 -1
  103. package/dist/components/layout/StatusBar.js +305 -95
  104. package/dist/components/layout/StatusBar.js.map +1 -1
  105. package/dist/components/layout/background-task-clock.d.ts +43 -0
  106. package/dist/components/layout/background-task-clock.d.ts.map +1 -0
  107. package/dist/components/layout/background-task-clock.js +46 -0
  108. package/dist/components/layout/background-task-clock.js.map +1 -0
  109. package/dist/components/menu/CopyMenu.d.ts.map +1 -1
  110. package/dist/components/menu/CopyMenu.js +4 -3
  111. package/dist/components/menu/CopyMenu.js.map +1 -1
  112. package/dist/components/menu/MentorPoolSelectionMenu.d.ts.map +1 -1
  113. package/dist/components/menu/MentorPoolSelectionMenu.js +28 -21
  114. package/dist/components/menu/MentorPoolSelectionMenu.js.map +1 -1
  115. package/dist/components/menu/ModelSelectionMenu.d.ts.map +1 -1
  116. package/dist/components/menu/ModelSelectionMenu.js +26 -13
  117. package/dist/components/menu/ModelSelectionMenu.js.map +1 -1
  118. package/dist/components/menu/PathSelectionMenu.d.ts.map +1 -1
  119. package/dist/components/menu/PathSelectionMenu.js +4 -3
  120. package/dist/components/menu/PathSelectionMenu.js.map +1 -1
  121. package/dist/components/menu/ProviderSelectionMenu.d.ts.map +1 -1
  122. package/dist/components/menu/ProviderSelectionMenu.js +46 -26
  123. package/dist/components/menu/ProviderSelectionMenu.js.map +1 -1
  124. package/dist/components/menu/ResumeSelectionMenu.d.ts +11 -0
  125. package/dist/components/menu/ResumeSelectionMenu.d.ts.map +1 -0
  126. package/dist/components/menu/ResumeSelectionMenu.js +91 -0
  127. package/dist/components/menu/ResumeSelectionMenu.js.map +1 -0
  128. package/dist/components/menu/RewindMenu.d.ts.map +1 -1
  129. package/dist/components/menu/RewindMenu.js +4 -3
  130. package/dist/components/menu/RewindMenu.js.map +1 -1
  131. package/dist/components/menu/SettingsSelectionMenu.d.ts.map +1 -1
  132. package/dist/components/menu/SettingsSelectionMenu.js +26 -26
  133. package/dist/components/menu/SettingsSelectionMenu.js.map +1 -1
  134. package/dist/components/menu/SettingsValueSelectionMenu.d.ts.map +1 -1
  135. package/dist/components/menu/SettingsValueSelectionMenu.js +22 -20
  136. package/dist/components/menu/SettingsValueSelectionMenu.js.map +1 -1
  137. package/dist/components/menu/SkillSelectionMenu.d.ts.map +1 -1
  138. package/dist/components/menu/SkillSelectionMenu.js +33 -23
  139. package/dist/components/menu/SkillSelectionMenu.js.map +1 -1
  140. package/dist/components/menu/SlashCommandMenu.d.ts.map +1 -1
  141. package/dist/components/menu/SlashCommandMenu.js +11 -6
  142. package/dist/components/menu/SlashCommandMenu.js.map +1 -1
  143. package/dist/components/message/ChatMessage.js +2 -2
  144. package/dist/components/message/ChatMessage.js.map +1 -1
  145. package/dist/components/message/CodeContextSearchRenderer.d.ts.map +1 -1
  146. package/dist/components/message/CodeContextSearchRenderer.js +8 -11
  147. package/dist/components/message/CodeContextSearchRenderer.js.map +1 -1
  148. package/dist/components/message/CommandGroupSummary.d.ts.map +1 -1
  149. package/dist/components/message/CommandGroupSummary.js +21 -9
  150. package/dist/components/message/CommandGroupSummary.js.map +1 -1
  151. package/dist/components/message/CommandMessage.d.ts.map +1 -1
  152. package/dist/components/message/CommandMessage.js +111 -91
  153. package/dist/components/message/CommandMessage.js.map +1 -1
  154. package/dist/components/message/GrepRenderer.d.ts.map +1 -1
  155. package/dist/components/message/GrepRenderer.js +5 -8
  156. package/dist/components/message/GrepRenderer.js.map +1 -1
  157. package/dist/components/message/MemoryRenderer.d.ts +1 -0
  158. package/dist/components/message/MemoryRenderer.d.ts.map +1 -1
  159. package/dist/components/message/MemoryRenderer.js +19 -17
  160. package/dist/components/message/MemoryRenderer.js.map +1 -1
  161. package/dist/components/message/MessageList.d.ts +1 -2
  162. package/dist/components/message/MessageList.d.ts.map +1 -1
  163. package/dist/components/message/MessageList.js +12 -11
  164. package/dist/components/message/MessageList.js.map +1 -1
  165. package/dist/components/message/ReadFileRenderer.d.ts.map +1 -1
  166. package/dist/components/message/ReadFileRenderer.js +5 -6
  167. package/dist/components/message/ReadFileRenderer.js.map +1 -1
  168. package/dist/components/message/SubagentActivityMessage.d.ts.map +1 -1
  169. package/dist/components/message/SubagentActivityMessage.js +17 -13
  170. package/dist/components/message/SubagentActivityMessage.js.map +1 -1
  171. package/dist/components/message/WebFetchRenderer.d.ts.map +1 -1
  172. package/dist/components/message/WebFetchRenderer.js +7 -11
  173. package/dist/components/message/WebFetchRenderer.js.map +1 -1
  174. package/dist/components/message/WebSearchRenderer.d.ts.map +1 -1
  175. package/dist/components/message/WebSearchRenderer.js +5 -10
  176. package/dist/components/message/WebSearchRenderer.js.map +1 -1
  177. package/dist/components/message/command-grouping.d.ts +29 -6
  178. package/dist/components/message/command-grouping.d.ts.map +1 -1
  179. package/dist/components/message/command-grouping.js +62 -20
  180. package/dist/components/message/command-grouping.js.map +1 -1
  181. package/dist/components/message/command-message-helpers.d.ts +10 -37
  182. package/dist/components/message/command-message-helpers.d.ts.map +1 -1
  183. package/dist/components/message/command-message-helpers.js +26 -8
  184. package/dist/components/message/command-message-helpers.js.map +1 -1
  185. package/dist/components/message/useCommandVisibility.d.ts.map +1 -1
  186. package/dist/components/message/useCommandVisibility.js +5 -4
  187. package/dist/components/message/useCommandVisibility.js.map +1 -1
  188. package/dist/components/prompt/ApprovalPrompt.d.ts.map +1 -1
  189. package/dist/components/prompt/ApprovalPrompt.js +232 -106
  190. package/dist/components/prompt/ApprovalPrompt.js.map +1 -1
  191. package/dist/components/prompt/HandoffConfirmationPrompt.d.ts.map +1 -1
  192. package/dist/components/prompt/HandoffConfirmationPrompt.js +3 -2
  193. package/dist/components/prompt/HandoffConfirmationPrompt.js.map +1 -1
  194. package/dist/components/prompt/InputSurgeConfirmationPrompt.d.ts.map +1 -1
  195. package/dist/components/prompt/InputSurgeConfirmationPrompt.js +5 -4
  196. package/dist/components/prompt/InputSurgeConfirmationPrompt.js.map +1 -1
  197. package/dist/components/prompt/LargeUncachedConfirmationPrompt.d.ts.map +1 -1
  198. package/dist/components/prompt/LargeUncachedConfirmationPrompt.js +4 -3
  199. package/dist/components/prompt/LargeUncachedConfirmationPrompt.js.map +1 -1
  200. package/dist/components/prompt/ModeSwitchConfirmationPrompt.d.ts.map +1 -1
  201. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js +4 -3
  202. package/dist/components/prompt/ModeSwitchConfirmationPrompt.js.map +1 -1
  203. package/dist/components/prompt/QueuePausedPrompt.d.ts.map +1 -1
  204. package/dist/components/prompt/QueuePausedPrompt.js +6 -5
  205. package/dist/components/prompt/QueuePausedPrompt.js.map +1 -1
  206. package/dist/components/prompt/StandardModeConfirmationPrompt.d.ts.map +1 -1
  207. package/dist/components/prompt/StandardModeConfirmationPrompt.js +3 -2
  208. package/dist/components/prompt/StandardModeConfirmationPrompt.js.map +1 -1
  209. package/dist/components/theme.d.ts +58 -3
  210. package/dist/components/theme.d.ts.map +1 -1
  211. package/dist/components/theme.js +84 -17
  212. package/dist/components/theme.js.map +1 -1
  213. package/dist/context/InputContext.d.ts +1 -1
  214. package/dist/context/InputContext.d.ts.map +1 -1
  215. package/dist/context/InputContext.js +2 -0
  216. package/dist/context/InputContext.js.map +1 -1
  217. package/dist/contracts/application-stream.d.ts +14 -0
  218. package/dist/contracts/application-stream.d.ts.map +1 -1
  219. package/dist/contracts/streamed-model-turn.d.ts +13 -1
  220. package/dist/contracts/streamed-model-turn.d.ts.map +1 -1
  221. package/dist/gateway/assertion.d.ts +4 -1
  222. package/dist/gateway/assertion.d.ts.map +1 -1
  223. package/dist/gateway/assertion.js +24 -2
  224. package/dist/gateway/assertion.js.map +1 -1
  225. package/dist/gateway/contracts.d.ts +21 -4
  226. package/dist/gateway/contracts.d.ts.map +1 -1
  227. package/dist/gateway/contracts.js +11 -0
  228. package/dist/gateway/contracts.js.map +1 -1
  229. package/dist/gateway/dynamic-workspace-registry.d.ts +76 -0
  230. package/dist/gateway/dynamic-workspace-registry.d.ts.map +1 -0
  231. package/dist/gateway/dynamic-workspace-registry.js +403 -0
  232. package/dist/gateway/dynamic-workspace-registry.js.map +1 -0
  233. package/dist/gateway/gateway.d.ts +24 -1
  234. package/dist/gateway/gateway.d.ts.map +1 -1
  235. package/dist/gateway/gateway.js +704 -21
  236. package/dist/gateway/gateway.js.map +1 -1
  237. package/dist/gateway/launcher-seam.d.ts +18 -0
  238. package/dist/gateway/launcher-seam.d.ts.map +1 -0
  239. package/dist/gateway/launcher-seam.js +43 -0
  240. package/dist/gateway/launcher-seam.js.map +1 -0
  241. package/dist/gateway/pairing.d.ts +25 -0
  242. package/dist/gateway/pairing.d.ts.map +1 -0
  243. package/dist/gateway/pairing.js +107 -0
  244. package/dist/gateway/pairing.js.map +1 -0
  245. package/dist/gateway/persistence/coordinator.d.ts +2 -0
  246. package/dist/gateway/persistence/coordinator.d.ts.map +1 -1
  247. package/dist/gateway/persistence/coordinator.js +13 -0
  248. package/dist/gateway/persistence/coordinator.js.map +1 -1
  249. package/dist/gateway/runtime-factory.d.ts +15 -6
  250. package/dist/gateway/runtime-factory.d.ts.map +1 -1
  251. package/dist/gateway/runtime-factory.js +38 -9
  252. package/dist/gateway/runtime-factory.js.map +1 -1
  253. package/dist/gateway/safe-log.d.ts.map +1 -1
  254. package/dist/gateway/safe-log.js +19 -0
  255. package/dist/gateway/safe-log.js.map +1 -1
  256. package/dist/gateway/server-session.d.ts.map +1 -1
  257. package/dist/gateway/server-session.js +36 -4
  258. package/dist/gateway/server-session.js.map +1 -1
  259. package/dist/gateway/server.d.ts +26 -3
  260. package/dist/gateway/server.d.ts.map +1 -1
  261. package/dist/gateway/server.js +105 -17
  262. package/dist/gateway/server.js.map +1 -1
  263. package/dist/gateway/settings-rpc.d.ts +95 -0
  264. package/dist/gateway/settings-rpc.d.ts.map +1 -0
  265. package/dist/gateway/settings-rpc.js +227 -0
  266. package/dist/gateway/settings-rpc.js.map +1 -0
  267. package/dist/gateway/trusted-clients.d.ts +27 -0
  268. package/dist/gateway/trusted-clients.d.ts.map +1 -0
  269. package/dist/gateway/trusted-clients.js +157 -0
  270. package/dist/gateway/trusted-clients.js.map +1 -0
  271. package/dist/gateway/worker-boundary.d.ts +6 -5
  272. package/dist/gateway/worker-boundary.d.ts.map +1 -1
  273. package/dist/gateway/worker-boundary.js +20 -10
  274. package/dist/gateway/worker-boundary.js.map +1 -1
  275. package/dist/gateway/workspace-admission.d.ts +11 -0
  276. package/dist/gateway/workspace-admission.d.ts.map +1 -1
  277. package/dist/gateway/workspace-admission.js +89 -16
  278. package/dist/gateway/workspace-admission.js.map +1 -1
  279. package/dist/gateway/workspace-boundary-probe.d.ts +18 -0
  280. package/dist/gateway/workspace-boundary-probe.d.ts.map +1 -0
  281. package/dist/gateway/workspace-boundary-probe.js +37 -0
  282. package/dist/gateway/workspace-boundary-probe.js.map +1 -0
  283. package/dist/hooks/conversation-ui-reducer.d.ts +6 -0
  284. package/dist/hooks/conversation-ui-reducer.d.ts.map +1 -1
  285. package/dist/hooks/conversation-ui-reducer.js +9 -1
  286. package/dist/hooks/conversation-ui-reducer.js.map +1 -1
  287. package/dist/hooks/settings-completion-config.d.ts.map +1 -1
  288. package/dist/hooks/settings-completion-config.js +11 -3
  289. package/dist/hooks/settings-completion-config.js.map +1 -1
  290. package/dist/hooks/use-app-commands.d.ts +6 -1
  291. package/dist/hooks/use-app-commands.d.ts.map +1 -1
  292. package/dist/hooks/use-app-commands.js +23 -14
  293. package/dist/hooks/use-app-commands.js.map +1 -1
  294. package/dist/hooks/use-app-keyboard-shortcuts.d.ts +1 -3
  295. package/dist/hooks/use-app-keyboard-shortcuts.d.ts.map +1 -1
  296. package/dist/hooks/use-app-keyboard-shortcuts.js +11 -9
  297. package/dist/hooks/use-app-keyboard-shortcuts.js.map +1 -1
  298. package/dist/hooks/use-conversation.d.ts +8 -0
  299. package/dist/hooks/use-conversation.d.ts.map +1 -1
  300. package/dist/hooks/use-conversation.js +27 -18
  301. package/dist/hooks/use-conversation.js.map +1 -1
  302. package/dist/hooks/use-opencode-go-usage.d.ts +8 -0
  303. package/dist/hooks/use-opencode-go-usage.d.ts.map +1 -0
  304. package/dist/hooks/use-opencode-go-usage.js +45 -0
  305. package/dist/hooks/use-opencode-go-usage.js.map +1 -0
  306. package/dist/hooks/use-resume-selection.d.ts +22 -0
  307. package/dist/hooks/use-resume-selection.d.ts.map +1 -0
  308. package/dist/hooks/use-resume-selection.js +76 -0
  309. package/dist/hooks/use-resume-selection.js.map +1 -0
  310. package/dist/hooks/use-shell-mode.d.ts +3 -4
  311. package/dist/hooks/use-shell-mode.d.ts.map +1 -1
  312. package/dist/hooks/use-shell-mode.js +14 -12
  313. package/dist/hooks/use-shell-mode.js.map +1 -1
  314. package/dist/hooks/use-terminal-columns.d.ts +15 -0
  315. package/dist/hooks/use-terminal-columns.d.ts.map +1 -0
  316. package/dist/hooks/use-terminal-columns.js +45 -0
  317. package/dist/hooks/use-terminal-columns.js.map +1 -0
  318. package/dist/lib/agent-client.d.ts +14 -1
  319. package/dist/lib/agent-client.d.ts.map +1 -1
  320. package/dist/lib/agent-client.js +112 -37
  321. package/dist/lib/agent-client.js.map +1 -1
  322. package/dist/lib/agent-configuration.d.ts +5 -0
  323. package/dist/lib/agent-configuration.d.ts.map +1 -1
  324. package/dist/lib/agent-configuration.js +14 -5
  325. package/dist/lib/agent-configuration.js.map +1 -1
  326. package/dist/lib/agent-factory.d.ts +7 -2
  327. package/dist/lib/agent-factory.d.ts.map +1 -1
  328. package/dist/lib/agent-factory.js +22 -11
  329. package/dist/lib/agent-factory.js.map +1 -1
  330. package/dist/lib/harness-input-idle.d.ts.map +1 -1
  331. package/dist/lib/harness-input-idle.js +1 -1
  332. package/dist/lib/harness-input-idle.js.map +1 -1
  333. package/dist/non-interactive.d.ts +3 -0
  334. package/dist/non-interactive.d.ts.map +1 -1
  335. package/dist/non-interactive.js +106 -22
  336. package/dist/non-interactive.js.map +1 -1
  337. package/dist/prompts/approval-model.md +22 -0
  338. package/dist/prompts/gpt-5.6.md +3 -2
  339. package/dist/prompts/mentor-mode-stub.md +3 -0
  340. package/dist/prompts/orchestrator-mode-stub.md +3 -0
  341. package/dist/prompts/prefix-quality.test.ts +10 -0
  342. package/dist/prompts/prompt-constructor.d.ts +2 -0
  343. package/dist/prompts/prompt-constructor.d.ts.map +1 -1
  344. package/dist/prompts/prompt-constructor.js +23 -13
  345. package/dist/prompts/prompt-constructor.js.map +1 -1
  346. package/dist/prompts/prompt-constructor.test.ts +39 -5
  347. package/dist/prompts/prompt-constructor.ts +27 -15
  348. package/dist/prompts/prompt-profiles.d.ts +1 -3
  349. package/dist/prompts/prompt-profiles.d.ts.map +1 -1
  350. package/dist/prompts/prompt-profiles.js +2 -7
  351. package/dist/prompts/prompt-profiles.js.map +1 -1
  352. package/dist/prompts/prompt-profiles.ts +3 -16
  353. package/dist/prompts/session-browser.md +3 -0
  354. package/dist/prompts/subagent-delegation.d.ts +4 -3
  355. package/dist/prompts/subagent-delegation.d.ts.map +1 -1
  356. package/dist/prompts/subagent-delegation.js +14 -18
  357. package/dist/prompts/subagent-delegation.js.map +1 -1
  358. package/dist/prompts/subagent-delegation.test.ts +2 -2
  359. package/dist/prompts/subagent-delegation.ts +13 -20
  360. package/dist/providers/chained-wire-state.d.ts +7 -2
  361. package/dist/providers/chained-wire-state.d.ts.map +1 -1
  362. package/dist/providers/chained-wire-state.js +16 -7
  363. package/dist/providers/chained-wire-state.js.map +1 -1
  364. package/dist/providers/codex-auth.d.ts +2 -5
  365. package/dist/providers/codex-auth.d.ts.map +1 -1
  366. package/dist/providers/codex-auth.js +2 -0
  367. package/dist/providers/codex-auth.js.map +1 -1
  368. package/dist/providers/codex-compact.d.ts +9 -0
  369. package/dist/providers/codex-compact.d.ts.map +1 -0
  370. package/dist/providers/codex-compact.js +23 -0
  371. package/dist/providers/codex-compact.js.map +1 -0
  372. package/dist/providers/codex-responses-model.d.ts +17 -1
  373. package/dist/providers/codex-responses-model.d.ts.map +1 -1
  374. package/dist/providers/codex-responses-model.js +75 -8
  375. package/dist/providers/codex-responses-model.js.map +1 -1
  376. package/dist/providers/codex-turn-converter.d.ts.map +1 -1
  377. package/dist/providers/codex-turn-converter.js +8 -4
  378. package/dist/providers/codex-turn-converter.js.map +1 -1
  379. package/dist/providers/codex.provider.js +2 -2
  380. package/dist/providers/codex.provider.js.map +1 -1
  381. package/dist/providers/grok-auth.d.ts +2 -5
  382. package/dist/providers/grok-auth.d.ts.map +1 -1
  383. package/dist/providers/grok-auth.js +2 -0
  384. package/dist/providers/grok-auth.js.map +1 -1
  385. package/dist/providers/oauth-account-store.d.ts +5 -0
  386. package/dist/providers/oauth-account-store.d.ts.map +1 -1
  387. package/dist/providers/oauth-account-store.js +56 -5
  388. package/dist/providers/oauth-account-store.js.map +1 -1
  389. package/dist/providers/oauth-pkce.d.ts +8 -0
  390. package/dist/providers/oauth-pkce.d.ts.map +1 -1
  391. package/dist/providers/oauth-pkce.js +91 -19
  392. package/dist/providers/oauth-pkce.js.map +1 -1
  393. package/dist/providers/openai-compatible.provider.d.ts.map +1 -1
  394. package/dist/providers/openai-compatible.provider.js +8 -1
  395. package/dist/providers/openai-compatible.provider.js.map +1 -1
  396. package/dist/providers/openai-responses-model.d.ts.map +1 -1
  397. package/dist/providers/openai-responses-model.js +2 -0
  398. package/dist/providers/openai-responses-model.js.map +1 -1
  399. package/dist/providers/opencode-go-usage.d.ts +24 -0
  400. package/dist/providers/opencode-go-usage.d.ts.map +1 -0
  401. package/dist/providers/opencode-go-usage.js +37 -0
  402. package/dist/providers/opencode-go-usage.js.map +1 -0
  403. package/dist/providers/openrouter.provider.d.ts.map +1 -1
  404. package/dist/providers/openrouter.provider.js +8 -1
  405. package/dist/providers/openrouter.provider.js.map +1 -1
  406. package/dist/providers/responses-websocket-sessions.d.ts +1 -0
  407. package/dist/providers/responses-websocket-sessions.d.ts.map +1 -1
  408. package/dist/providers/responses-websocket-sessions.js +16 -2
  409. package/dist/providers/responses-websocket-sessions.js.map +1 -1
  410. package/dist/providers/retrying-model.d.ts +1 -0
  411. package/dist/providers/retrying-model.d.ts.map +1 -1
  412. package/dist/providers/retrying-model.js +37 -3
  413. package/dist/providers/retrying-model.js.map +1 -1
  414. package/dist/services/agent-runtime/application-run-loop.d.ts +5 -1
  415. package/dist/services/agent-runtime/application-run-loop.d.ts.map +1 -1
  416. package/dist/services/agent-runtime/application-run-loop.js +231 -149
  417. package/dist/services/agent-runtime/application-run-loop.js.map +1 -1
  418. package/dist/services/agent-runtime/generation-guard.d.ts +39 -25
  419. package/dist/services/agent-runtime/generation-guard.d.ts.map +1 -1
  420. package/dist/services/agent-runtime/generation-guard.js +98 -100
  421. package/dist/services/agent-runtime/generation-guard.js.map +1 -1
  422. package/dist/services/agent-runtime/run-budget.d.ts +1 -1
  423. package/dist/services/agent-runtime/run-budget.d.ts.map +1 -1
  424. package/dist/services/agent-runtime/run-budget.js +4 -0
  425. package/dist/services/agent-runtime/run-budget.js.map +1 -1
  426. package/dist/services/agent-stream.d.ts.map +1 -1
  427. package/dist/services/agent-stream.js +1 -0
  428. package/dist/services/agent-stream.js.map +1 -1
  429. package/dist/services/approval/shell-auto-approval-evaluator.d.ts +3 -1
  430. package/dist/services/approval/shell-auto-approval-evaluator.d.ts.map +1 -1
  431. package/dist/services/approval/shell-auto-approval-evaluator.js +4 -2
  432. package/dist/services/approval/shell-auto-approval-evaluator.js.map +1 -1
  433. package/dist/services/approval/shell-auto-approval-resolver.d.ts +2 -0
  434. package/dist/services/approval/shell-auto-approval-resolver.d.ts.map +1 -1
  435. package/dist/services/approval/shell-auto-approval-resolver.js +2 -0
  436. package/dist/services/approval/shell-auto-approval-resolver.js.map +1 -1
  437. package/dist/services/conversation/conversation-adapter.d.ts +13 -2
  438. package/dist/services/conversation/conversation-adapter.d.ts.map +1 -1
  439. package/dist/services/conversation/conversation-adapter.js +35 -7
  440. package/dist/services/conversation/conversation-adapter.js.map +1 -1
  441. package/dist/services/conversation/conversation-admission-workflow.d.ts +3 -2
  442. package/dist/services/conversation/conversation-admission-workflow.d.ts.map +1 -1
  443. package/dist/services/conversation/conversation-admission-workflow.js +6 -1
  444. package/dist/services/conversation/conversation-admission-workflow.js.map +1 -1
  445. package/dist/services/conversation/conversation-events.d.ts +43 -2
  446. package/dist/services/conversation/conversation-events.d.ts.map +1 -1
  447. package/dist/services/conversation/conversation-orchestrator.d.ts +14 -1
  448. package/dist/services/conversation/conversation-orchestrator.d.ts.map +1 -1
  449. package/dist/services/conversation/conversation-orchestrator.js +142 -11
  450. package/dist/services/conversation/conversation-orchestrator.js.map +1 -1
  451. package/dist/services/conversation/conversation-orchestrator.types.d.ts +3 -1
  452. package/dist/services/conversation/conversation-orchestrator.types.d.ts.map +1 -1
  453. package/dist/services/conversation/conversation-persistence.d.ts +22 -1
  454. package/dist/services/conversation/conversation-persistence.d.ts.map +1 -1
  455. package/dist/services/conversation/conversation-persistence.js +61 -0
  456. package/dist/services/conversation/conversation-persistence.js.map +1 -1
  457. package/dist/services/conversation/conversation-service.d.ts.map +1 -1
  458. package/dist/services/conversation/conversation-service.js +45 -29
  459. package/dist/services/conversation/conversation-service.js.map +1 -1
  460. package/dist/services/conversation/session-audit.d.ts +70 -0
  461. package/dist/services/conversation/session-audit.d.ts.map +1 -0
  462. package/dist/services/conversation/session-audit.js +164 -0
  463. package/dist/services/conversation/session-audit.js.map +1 -0
  464. package/dist/services/conversation/session-browser.d.ts +49 -0
  465. package/dist/services/conversation/session-browser.d.ts.map +1 -0
  466. package/dist/services/conversation/session-browser.js +411 -0
  467. package/dist/services/conversation/session-browser.js.map +1 -0
  468. package/dist/services/input-surge-approval.d.ts +21 -0
  469. package/dist/services/input-surge-approval.d.ts.map +1 -0
  470. package/dist/services/input-surge-approval.js +42 -0
  471. package/dist/services/input-surge-approval.js.map +1 -0
  472. package/dist/services/large-uncached-input-guard.js +4 -4
  473. package/dist/services/large-uncached-input-guard.js.map +1 -1
  474. package/dist/services/logging/assistant-turn-journal.d.ts +15 -0
  475. package/dist/services/logging/assistant-turn-journal.d.ts.map +1 -1
  476. package/dist/services/logging/assistant-turn-journal.js +27 -0
  477. package/dist/services/logging/assistant-turn-journal.js.map +1 -1
  478. package/dist/services/memory/memory-capabilities.d.ts.map +1 -1
  479. package/dist/services/memory/memory-capabilities.js +7 -4
  480. package/dist/services/memory/memory-capabilities.js.map +1 -1
  481. package/dist/services/memory/memory-search.d.ts +16 -0
  482. package/dist/services/memory/memory-search.d.ts.map +1 -0
  483. package/dist/services/memory/memory-search.js +55 -0
  484. package/dist/services/memory/memory-search.js.map +1 -0
  485. package/dist/services/memory/memory-store.d.ts +12 -0
  486. package/dist/services/memory/memory-store.d.ts.map +1 -1
  487. package/dist/services/memory/memory-store.js +14 -35
  488. package/dist/services/memory/memory-store.js.map +1 -1
  489. package/dist/services/mode-notices.d.ts +11 -0
  490. package/dist/services/mode-notices.d.ts.map +1 -1
  491. package/dist/services/mode-notices.js +37 -3
  492. package/dist/services/mode-notices.js.map +1 -1
  493. package/dist/services/queue/queue-controller.d.ts +13 -0
  494. package/dist/services/queue/queue-controller.d.ts.map +1 -1
  495. package/dist/services/queue/queue-controller.js +32 -1
  496. package/dist/services/queue/queue-controller.js.map +1 -1
  497. package/dist/services/retry/in-loop-model-retry.d.ts +16 -0
  498. package/dist/services/retry/in-loop-model-retry.d.ts.map +1 -0
  499. package/dist/services/retry/in-loop-model-retry.js +125 -0
  500. package/dist/services/retry/in-loop-model-retry.js.map +1 -0
  501. package/dist/services/retry/retry-classifier.d.ts.map +1 -1
  502. package/dist/services/retry/retry-classifier.js +18 -12
  503. package/dist/services/retry/retry-classifier.js.map +1 -1
  504. package/dist/services/retry/retry-error-classification.d.ts.map +1 -1
  505. package/dist/services/retry/retry-error-classification.js +10 -6
  506. package/dist/services/retry/retry-error-classification.js.map +1 -1
  507. package/dist/services/retry/upstream-retry-policy.d.ts.map +1 -1
  508. package/dist/services/retry/upstream-retry-policy.js +40 -7
  509. package/dist/services/retry/upstream-retry-policy.js.map +1 -1
  510. package/dist/services/runtime-setting-router.d.ts.map +1 -1
  511. package/dist/services/runtime-setting-router.js +7 -2
  512. package/dist/services/runtime-setting-router.js.map +1 -1
  513. package/dist/services/session/background-check-in-scheduler.d.ts +44 -0
  514. package/dist/services/session/background-check-in-scheduler.d.ts.map +1 -0
  515. package/dist/services/session/background-check-in-scheduler.js +88 -0
  516. package/dist/services/session/background-check-in-scheduler.js.map +1 -0
  517. package/dist/services/session/background-task-control.js +4 -1
  518. package/dist/services/session/background-task-control.js.map +1 -1
  519. package/dist/services/session/initial-input-preparer.d.ts +2 -1
  520. package/dist/services/session/initial-input-preparer.d.ts.map +1 -1
  521. package/dist/services/session/initial-input-preparer.js +4 -1
  522. package/dist/services/session/initial-input-preparer.js.map +1 -1
  523. package/dist/services/session/repetition-detector.d.ts +0 -4
  524. package/dist/services/session/repetition-detector.d.ts.map +1 -1
  525. package/dist/services/session/repetition-detector.js +0 -7
  526. package/dist/services/session/repetition-detector.js.map +1 -1
  527. package/dist/services/session/session-access-state.d.ts +3 -0
  528. package/dist/services/session/session-access-state.d.ts.map +1 -1
  529. package/dist/services/session/session-access-state.js +12 -0
  530. package/dist/services/session/session-access-state.js.map +1 -1
  531. package/dist/services/session/session-client-factory.d.ts +3 -1
  532. package/dist/services/session/session-client-factory.d.ts.map +1 -1
  533. package/dist/services/session/session-client-factory.js +2 -1
  534. package/dist/services/session/session-client-factory.js.map +1 -1
  535. package/dist/services/session/session-composition.d.ts +6 -2
  536. package/dist/services/session/session-composition.d.ts.map +1 -1
  537. package/dist/services/session/session-composition.js +148 -29
  538. package/dist/services/session/session-composition.js.map +1 -1
  539. package/dist/services/session/session-input-planner.d.ts +9 -0
  540. package/dist/services/session/session-input-planner.d.ts.map +1 -1
  541. package/dist/services/session/session-input-planner.js +23 -0
  542. package/dist/services/session/session-input-planner.js.map +1 -1
  543. package/dist/services/session/session-lifecycle.d.ts +8 -0
  544. package/dist/services/session/session-lifecycle.d.ts.map +1 -1
  545. package/dist/services/session/session-lifecycle.js +4 -0
  546. package/dist/services/session/session-lifecycle.js.map +1 -1
  547. package/dist/services/session/session-stream-processor.d.ts.map +1 -1
  548. package/dist/services/session/session-stream-processor.js +5 -15
  549. package/dist/services/session/session-stream-processor.js.map +1 -1
  550. package/dist/services/session/turn-attempt-factory.d.ts +2 -1
  551. package/dist/services/session/turn-attempt-factory.d.ts.map +1 -1
  552. package/dist/services/session/turn-attempt-factory.js +1 -0
  553. package/dist/services/session/turn-attempt-factory.js.map +1 -1
  554. package/dist/services/session/turn-attempt.d.ts +3 -0
  555. package/dist/services/session/turn-attempt.d.ts.map +1 -1
  556. package/dist/services/session/turn-attempt.js +5 -0
  557. package/dist/services/session/turn-attempt.js.map +1 -1
  558. package/dist/services/session/turn-coordinator.d.ts +1 -1
  559. package/dist/services/session/turn-coordinator.d.ts.map +1 -1
  560. package/dist/services/session/turn-workflow.d.ts.map +1 -1
  561. package/dist/services/session/turn-workflow.js +4 -1
  562. package/dist/services/session/turn-workflow.js.map +1 -1
  563. package/dist/services/settings/settings-schema.d.ts +27 -3
  564. package/dist/services/settings/settings-schema.d.ts.map +1 -1
  565. package/dist/services/settings/settings-schema.js +35 -11
  566. package/dist/services/settings/settings-schema.js.map +1 -1
  567. package/dist/services/settings/settings-service.d.ts +9 -0
  568. package/dist/services/settings/settings-service.d.ts.map +1 -1
  569. package/dist/services/settings/settings-service.js +40 -0
  570. package/dist/services/settings/settings-service.js.map +1 -1
  571. package/dist/services/settings/settings-sources.d.ts.map +1 -1
  572. package/dist/services/settings/settings-sources.js +5 -0
  573. package/dist/services/settings/settings-sources.js.map +1 -1
  574. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts +2 -1
  575. package/dist/services/settings/test-helpers/settings-consumer-inventory.d.ts.map +1 -1
  576. package/dist/services/settings/test-helpers/settings-consumer-inventory.js +6 -0
  577. package/dist/services/settings/test-helpers/settings-consumer-inventory.js.map +1 -1
  578. package/dist/services/shell/shell-interaction-session.d.ts +4 -5
  579. package/dist/services/shell/shell-interaction-session.d.ts.map +1 -1
  580. package/dist/services/shell/shell-interaction-session.js +8 -20
  581. package/dist/services/shell/shell-interaction-session.js.map +1 -1
  582. package/dist/services/stream-event-processor.d.ts.map +1 -1
  583. package/dist/services/stream-event-processor.js +15 -0
  584. package/dist/services/stream-event-processor.js.map +1 -1
  585. package/dist/services/subagents/mentor-runner.d.ts.map +1 -1
  586. package/dist/services/subagents/mentor-runner.js +2 -0
  587. package/dist/services/subagents/mentor-runner.js.map +1 -1
  588. package/dist/services/subagents/nested-runner.d.ts.map +1 -1
  589. package/dist/services/subagents/nested-runner.js +34 -1
  590. package/dist/services/subagents/nested-runner.js.map +1 -1
  591. package/dist/services/subagents/subagent-async-registry.js +1 -1
  592. package/dist/services/subagents/subagent-async-registry.js.map +1 -1
  593. package/dist/services/subagents/subagent-notification-store.d.ts +28 -1
  594. package/dist/services/subagents/subagent-notification-store.d.ts.map +1 -1
  595. package/dist/services/subagents/subagent-notification-store.js +11 -0
  596. package/dist/services/subagents/subagent-notification-store.js.map +1 -1
  597. package/dist/services/subagents/tool-policy.d.ts.map +1 -1
  598. package/dist/services/subagents/tool-policy.js +10 -5
  599. package/dist/services/subagents/tool-policy.js.map +1 -1
  600. package/dist/services/subagents/utils.d.ts +2 -0
  601. package/dist/services/subagents/utils.d.ts.map +1 -1
  602. package/dist/services/subagents/utils.js +29 -0
  603. package/dist/services/subagents/utils.js.map +1 -1
  604. package/dist/services/tool-execution-ledger.d.ts.map +1 -1
  605. package/dist/services/tool-execution-ledger.js +5 -1
  606. package/dist/services/tool-execution-ledger.js.map +1 -1
  607. package/dist/slash-commands.d.ts +3 -0
  608. package/dist/slash-commands.d.ts.map +1 -1
  609. package/dist/slash-commands.js.map +1 -1
  610. package/dist/tools/agent/ask-user.d.ts.map +1 -1
  611. package/dist/tools/agent/ask-user.js +2 -0
  612. package/dist/tools/agent/ask-user.js.map +1 -1
  613. package/dist/tools/agent/run-subagent-async.d.ts +0 -1
  614. package/dist/tools/agent/run-subagent-async.d.ts.map +1 -1
  615. package/dist/tools/agent/run-subagent-async.js +3 -3
  616. package/dist/tools/agent/run-subagent-async.js.map +1 -1
  617. package/dist/tools/agent/run-subagent.d.ts +2 -2
  618. package/dist/tools/agent/run-subagent.d.ts.map +1 -1
  619. package/dist/tools/agent/run-subagent.js +44 -28
  620. package/dist/tools/agent/run-subagent.js.map +1 -1
  621. package/dist/tools/file/apply-patch.d.ts.map +1 -1
  622. package/dist/tools/file/apply-patch.js +11 -3
  623. package/dist/tools/file/apply-patch.js.map +1 -1
  624. package/dist/tools/file/create-file.d.ts.map +1 -1
  625. package/dist/tools/file/create-file.js +12 -4
  626. package/dist/tools/file/create-file.js.map +1 -1
  627. package/dist/tools/file/search-replace.d.ts.map +1 -1
  628. package/dist/tools/file/search-replace.js +10 -3
  629. package/dist/tools/file/search-replace.js.map +1 -1
  630. package/dist/tools/memory/memory-tools.d.ts +5 -1
  631. package/dist/tools/memory/memory-tools.d.ts.map +1 -1
  632. package/dist/tools/memory/memory-tools.js +445 -62
  633. package/dist/tools/memory/memory-tools.js.map +1 -1
  634. package/dist/tools/session-browser/session-browser-tools.d.ts +4 -0
  635. package/dist/tools/session-browser/session-browser-tools.d.ts.map +1 -0
  636. package/dist/tools/session-browser/session-browser-tools.js +47 -0
  637. package/dist/tools/session-browser/session-browser-tools.js.map +1 -0
  638. package/dist/tools/system/shell.d.ts.map +1 -1
  639. package/dist/tools/system/shell.js +7 -0
  640. package/dist/tools/system/shell.js.map +1 -1
  641. package/dist/tools/types.d.ts +4 -0
  642. package/dist/tools/types.d.ts.map +1 -1
  643. package/dist/tools/types.js.map +1 -1
  644. package/dist/utils/busy-turn-guard.d.ts +17 -0
  645. package/dist/utils/busy-turn-guard.d.ts.map +1 -0
  646. package/dist/utils/busy-turn-guard.js +24 -0
  647. package/dist/utils/busy-turn-guard.js.map +1 -0
  648. package/dist/utils/conversation/conversation-event-handler.d.ts.map +1 -1
  649. package/dist/utils/conversation/conversation-event-handler.js +28 -7
  650. package/dist/utils/conversation/conversation-event-handler.js.map +1 -1
  651. package/dist/utils/output/bounded-json.d.ts +33 -0
  652. package/dist/utils/output/bounded-json.d.ts.map +1 -0
  653. package/dist/utils/output/bounded-json.js +59 -0
  654. package/dist/utils/output/bounded-json.js.map +1 -0
  655. package/dist/utils/output/output-trim.d.ts.map +1 -1
  656. package/dist/utils/output/output-trim.js +7 -7
  657. package/dist/utils/output/output-trim.js.map +1 -1
  658. package/dist/utils/output/text-snippet.d.ts +6 -0
  659. package/dist/utils/output/text-snippet.d.ts.map +1 -0
  660. package/dist/utils/output/text-snippet.js +106 -0
  661. package/dist/utils/output/text-snippet.js.map +1 -0
  662. package/dist/utils/resume-list.d.ts +3 -1
  663. package/dist/utils/resume-list.d.ts.map +1 -1
  664. package/dist/utils/resume-list.js +3 -2
  665. package/dist/utils/resume-list.js.map +1 -1
  666. package/dist/utils/settings-command.d.ts.map +1 -1
  667. package/dist/utils/settings-command.js +15 -0
  668. package/dist/utils/settings-command.js.map +1 -1
  669. package/dist/utils/shell/command-safety/handlers/index.d.ts.map +1 -1
  670. package/dist/utils/shell/command-safety/handlers/index.js +3 -0
  671. package/dist/utils/shell/command-safety/handlers/index.js.map +1 -1
  672. package/dist/utils/shell/command-safety/handlers/rm-handler.d.ts +3 -0
  673. package/dist/utils/shell/command-safety/handlers/rm-handler.d.ts.map +1 -0
  674. package/dist/utils/shell/command-safety/handlers/rm-handler.js +97 -0
  675. package/dist/utils/shell/command-safety/handlers/rm-handler.js.map +1 -0
  676. package/dist/utils/shell/command-safety/handlers/types.d.ts +1 -0
  677. package/dist/utils/shell/command-safety/handlers/types.d.ts.map +1 -1
  678. package/dist/utils/shell/command-safety/index.d.ts +6 -2
  679. package/dist/utils/shell/command-safety/index.d.ts.map +1 -1
  680. package/dist/utils/shell/command-safety/index.js +13 -12
  681. package/dist/utils/shell/command-safety/index.js.map +1 -1
  682. package/dist/utils/shell/sandbox/sandbox-policy.d.ts +2 -0
  683. package/dist/utils/shell/sandbox/sandbox-policy.d.ts.map +1 -1
  684. package/dist/utils/shell/sandbox/sandbox-policy.js.map +1 -1
  685. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts +1 -0
  686. package/dist/utils/shell/sandbox/shell-sandbox-runner.d.ts.map +1 -1
  687. package/dist/utils/shell/sandbox/shell-sandbox-runner.js +20 -1
  688. package/dist/utils/shell/sandbox/shell-sandbox-runner.js.map +1 -1
  689. package/dist/utils/shell/temp-dir.d.ts +1 -0
  690. package/dist/utils/shell/temp-dir.d.ts.map +1 -1
  691. package/dist/utils/shell/temp-dir.js +12 -4
  692. package/dist/utils/shell/temp-dir.js.map +1 -1
  693. package/dist/utils/value-suggestions.d.ts.map +1 -1
  694. package/dist/utils/value-suggestions.js +1 -0
  695. package/dist/utils/value-suggestions.js.map +1 -1
  696. package/package.json +4 -2
@@ -1,10 +1,50 @@
1
1
  import { z } from 'zod';
2
2
  import { createBaseMessage, getCallIdFromItem, getOutputText, isSuccessOutput, normalizeToolArguments, } from '../format-helpers.js';
3
3
  import { InvalidMemoryError, MemoryAlreadyExistsError, MemoryNotFoundError, MemoryStorageError, } from '../../services/memory/memory-store.js';
4
+ import { contentSnippet, queryTerms, rankMemorySearchResults, } from '../../services/memory/memory-search.js';
5
+ import { boundedJsonFailure, fitSerializedEnvelope, fitsSerializedText } from '../../utils/output/bounded-json.js';
6
+ import { resolveToolResultMaxBytes } from '../../utils/output/bound-tool-result.js';
4
7
  const scope = z.enum(['global', 'project']).describe('Memory scope to write to.');
8
+ const MIN_TOOL_OUTPUT_CHARS = 512;
9
+ const MAX_TOOL_OUTPUT_CHARS = 12_000;
10
+ const DEFAULT_INDEX_OUTPUT_CHARS = 12_000;
11
+ const DEFAULT_DOCUMENT_OUTPUT_CHARS = 12_000;
12
+ const DEFAULT_RESULT_LIMIT = 10;
13
+ const MAX_RESULT_LIMIT = 50;
14
+ const maxChars = z.number().int().min(MIN_TOOL_OUTPUT_CHARS).max(MAX_TOOL_OUTPUT_CHARS).optional();
15
+ const resultLimit = z.number().int().min(1).max(MAX_RESULT_LIMIT).optional();
5
16
  function normalizeStores(stores) {
6
17
  return 'list' in stores ? { global: stores, project: stores } : stores;
7
18
  }
19
+ class MemoryCursorError extends Error {
20
+ }
21
+ class StaleMemoryCursorError extends Error {
22
+ }
23
+ class OutputBudgetExceededError extends Error {
24
+ }
25
+ function metadata(memory) {
26
+ return {
27
+ id: memory.id,
28
+ title: memory.title,
29
+ summary: memory.summary,
30
+ tags: memory.tags,
31
+ createdAt: memory.createdAt,
32
+ updatedAt: memory.updatedAt,
33
+ };
34
+ }
35
+ function output(maxChars, build) {
36
+ const fitted = fitSerializedEnvelope(build, { maxChars });
37
+ if (!fitted)
38
+ throw new OutputBudgetExceededError();
39
+ return fitted.value;
40
+ }
41
+ function boundedError(code, message, maxChars) {
42
+ const result = { error: { code, message } };
43
+ const serialized = JSON.stringify(result);
44
+ return fitsSerializedText(serialized, { maxChars, maxBytes: resolveToolResultMaxBytes() })
45
+ ? serialized
46
+ : boundedJsonFailure({ maxChars, maxBytes: resolveToolResultMaxBytes() });
47
+ }
8
48
  const makeFormat = (toolName) => (item, index, calls) => {
9
49
  const callId = getCallIdFromItem(item);
10
50
  const args = normalizeToolArguments(item?.rawItem?.arguments ?? item?.arguments) ??
@@ -32,90 +72,322 @@ const fields = {
32
72
  content: z.string().optional(),
33
73
  tags: z.array(z.string()).optional(),
34
74
  };
35
- function safe(operation) {
75
+ function safe(operation, maxChars) {
36
76
  return operation()
37
77
  .then((value) => JSON.stringify(value))
38
- .catch((error) => JSON.stringify({
39
- error: error instanceof MemoryNotFoundError
40
- ? { code: 'not_found', message: 'Memory was not found.' }
41
- : error instanceof MemoryAlreadyExistsError
42
- ? { code: 'already_exists', message: 'A memory with this ID already exists.' }
43
- : error instanceof InvalidMemoryError
44
- ? { code: 'invalid_memory', message: error.message }
45
- : error instanceof MemoryStorageError
46
- ? { code: 'storage_error', message: 'Memory storage is unavailable or corrupted.' }
47
- : { code: 'memory_error', message: 'Memory operation failed.' },
48
- }));
78
+ .catch((error) => error instanceof MemoryNotFoundError
79
+ ? boundedError('not_found', 'Memory was not found.', maxChars)
80
+ : error instanceof MemoryAlreadyExistsError
81
+ ? boundedError('already_exists', 'A memory with this ID already exists.', maxChars)
82
+ : error instanceof InvalidMemoryError
83
+ ? boundedError('invalid_memory', 'Memory input is invalid.', maxChars)
84
+ : error instanceof MemoryStorageError
85
+ ? boundedError('storage_error', 'Memory storage is unavailable or corrupted.', maxChars)
86
+ : error instanceof MemoryCursorError
87
+ ? boundedError('invalid_cursor', 'The memory cursor is invalid.', maxChars)
88
+ : error instanceof StaleMemoryCursorError
89
+ ? boundedError('stale_cursor', 'The memory cursor is stale.', maxChars)
90
+ : error instanceof OutputBudgetExceededError
91
+ ? boundedError('output_budget_exceeded', 'The requested result cannot fit in the output budget.', maxChars)
92
+ : boundedError('memory_error', 'Memory operation failed.', maxChars));
49
93
  }
50
94
  function definition(name, description, parameters, execute, needsApproval = false) {
51
95
  return {
52
96
  name,
53
97
  description,
54
98
  parameters,
55
- needsApproval: () => needsApproval,
56
- execute: (params) => safe(() => execute(params)),
99
+ preserveSerializedOutput: [
100
+ 'memory_list',
101
+ 'memory_get',
102
+ 'memory_search',
103
+ 'memory_retrieve',
104
+ 'memory_synthesize',
105
+ ].includes(name),
106
+ needsApproval: typeof needsApproval === 'function' ? needsApproval : () => needsApproval,
107
+ execute: (params) => safe(() => execute(params), params.maxChars ?? DEFAULT_DOCUMENT_OUTPUT_CHARS),
57
108
  formatCommandMessage: makeFormat(name),
58
109
  };
59
110
  }
60
- export function createMemoryToolDefinitions(input) {
111
+ export function createMemoryToolDefinitions(input, options) {
61
112
  const stores = normalizeStores(input);
113
+ const configuredLimits = stores.global.searchLimits?.() ?? {
114
+ defaultLimit: DEFAULT_RESULT_LIMIT,
115
+ maxLimit: MAX_RESULT_LIMIT,
116
+ };
117
+ const effectiveLimit = (requested) => Math.min(requested ?? configuredLimits.defaultLimit, configuredLimits.maxLimit, MAX_RESULT_LIMIT);
118
+ const rankedSearch = async (query, limit) => {
119
+ const options = { limit: Math.min(configuredLimits.maxLimit, MAX_RESULT_LIMIT) };
120
+ const [global, project] = await Promise.all([
121
+ stores.global.search(query, options),
122
+ stores.project.search(query, options),
123
+ ]);
124
+ return rankMemorySearchResults([
125
+ ...global.map((result) => ({ ...result, scope: 'global' })),
126
+ ...project.map((result) => ({ ...result, scope: 'project' })),
127
+ ]).slice(0, limit);
128
+ };
62
129
  return [
63
- definition('memory_list', 'List persistent-memory summaries from both the global and project scopes.', z.object({ limit: z.number().int().positive().optional() }).strict(), async ({ limit }) => {
64
- const options = { limit };
65
- const [global, project] = await Promise.all([stores.global.list(options), stores.project.list(options)]);
66
- return { scope: 'all', global, project };
130
+ definition('memory_list', 'List persistent-memory summaries from both the global and project scopes.', z.object({ limit: resultLimit, maxChars }).strict(), async ({ limit, maxChars: requestedMaxChars }) => {
131
+ const selectedLimit = effectiveLimit(limit);
132
+ const [globalCandidates, projectCandidates] = await Promise.all([
133
+ stores.global.list({ limit: selectedLimit }),
134
+ stores.project.list({ limit: selectedLimit }),
135
+ ]);
136
+ const result = {
137
+ scope: 'all',
138
+ global: [],
139
+ project: [],
140
+ omitted: { global: 0, project: 0 },
141
+ };
142
+ const budget = requestedMaxChars ?? DEFAULT_INDEX_OUTPUT_CHARS;
143
+ // Admit each record against the largest possible final count so later
144
+ // omissions cannot invalidate an already admitted envelope.
145
+ const reservedOmitted = { global: globalCandidates.length, project: projectCandidates.length };
146
+ for (const [entryScope, candidate] of [
147
+ ...globalCandidates.map((memory) => ['global', memory]),
148
+ ...projectCandidates.map((memory) => ['project', memory]),
149
+ ]) {
150
+ const admitted = fitSerializedEnvelope((charsUsed) => ({
151
+ ...result,
152
+ [entryScope]: [...result[entryScope], metadata(candidate)],
153
+ omitted: reservedOmitted,
154
+ charsUsed,
155
+ }), { maxChars: budget });
156
+ if (admitted) {
157
+ result[entryScope] = admitted.value[entryScope];
158
+ continue;
159
+ }
160
+ result.omitted[entryScope]++;
161
+ }
162
+ return output(budget, (charsUsed) => ({ ...result, charsUsed }));
67
163
  }),
68
- definition('memory_get', 'Load one memory by ID, checking both the global and project scopes.', z.object({ id }).strict(), async ({ id }) => {
164
+ definition('memory_get', 'Load one memory by ID, checking both the global and project scopes.', z.object({ id, cursor: z.string().optional(), maxChars }).strict(), async ({ id, cursor, maxChars: requestedMaxChars }) => {
165
+ const budget = requestedMaxChars ?? DEFAULT_DOCUMENT_OUTPUT_CHARS;
69
166
  for (const scope of ['global', 'project']) {
70
167
  const memory = await stores[scope].get(id);
71
- if (memory)
72
- return { scope, memory };
168
+ if (!memory)
169
+ continue;
170
+ const offset = cursor ? decodeMemoryCursor(cursor, id, scope, memory) : 0;
171
+ if (cursor)
172
+ return memoryPage(scope, memory, offset, budget);
173
+ const complete = fitSerializedEnvelope((charsUsed) => ({ scope, memory, charsUsed }), { maxChars: budget });
174
+ if (complete)
175
+ return complete.value;
176
+ return memoryPage(scope, memory, offset, budget);
73
177
  }
74
178
  throw new MemoryNotFoundError(id);
75
179
  }),
76
- definition('memory_search', 'Search both the global and project memory scopes using deterministic local text matching.', z.object({ query: z.string(), limit: z.number().int().positive().optional() }).strict(), async ({ query, ...options }) => {
77
- const [global, project] = await Promise.all([
78
- stores.global.search(query, options),
79
- stores.project.search(query, options),
80
- ]);
81
- return {
82
- results: [
83
- ...global.map((result) => ({ scope: 'global', ...result })),
84
- ...project.map((result) => ({ scope: 'project', ...result })),
85
- ],
180
+ definition('memory_search', 'Search both the global and project memory scopes using deterministic local text matching.', z.object({ query: z.string().refine((value) => /\S/.test(value)), limit: resultLimit, maxChars }).strict(), async ({ query, limit, maxChars: requestedMaxChars }) => {
181
+ const budget = requestedMaxChars ?? DEFAULT_INDEX_OUTPUT_CHARS;
182
+ const candidates = await rankedSearch(query, effectiveLimit(limit));
183
+ const result = { results: [], omitted: 0 };
184
+ const terms = queryTerms(query);
185
+ for (const candidate of candidates) {
186
+ const item = {
187
+ scope: candidate.scope,
188
+ memory: metadata(candidate.memory),
189
+ matchedFields: candidate.matchedFields,
190
+ available: candidate.available,
191
+ ...(candidate.matchedFields.includes('content') && candidate.content !== undefined
192
+ ? { contentSnippet: contentSnippet(candidate.content, terms) }
193
+ : {}),
194
+ };
195
+ const prospective = fitSerializedEnvelope(
196
+ // The eventual count is bounded by candidates.length; reserve its
197
+ // digit width before admitting a result.
198
+ (charsUsed) => ({ ...result, results: [...result.results, item], omitted: candidates.length, charsUsed }), { maxChars: budget });
199
+ if (prospective)
200
+ result.results = prospective.value.results;
201
+ else {
202
+ const omitted = fitSerializedEnvelope((charsUsed) => ({ ...result, omitted: result.omitted + 1, charsUsed }), {
203
+ maxChars: budget,
204
+ });
205
+ if (!omitted)
206
+ throw new OutputBudgetExceededError();
207
+ result.omitted++;
208
+ }
209
+ }
210
+ return output(budget, (charsUsed) => ({ ...result, charsUsed }));
211
+ }),
212
+ definition('memory_retrieve', 'Search and load relevant memories across both the global and project scopes.', z.object({ query: z.string().refine((value) => /\S/.test(value)), limit: resultLimit, maxChars }).strict(), async ({ query, limit, maxChars: requestedMaxChars }) => {
213
+ const budget = requestedMaxChars ?? DEFAULT_DOCUMENT_OUTPUT_CHARS;
214
+ const candidates = await rankedSearch(query, effectiveLimit(limit));
215
+ const loaded = [];
216
+ for (const candidate of candidates) {
217
+ if (!candidate.available) {
218
+ loaded.push({ scope: candidate.scope, id: candidate.memory.id, unavailable: true });
219
+ continue;
220
+ }
221
+ try {
222
+ const memory = await stores[candidate.scope].get(candidate.memory.id);
223
+ loaded.push({
224
+ scope: candidate.scope,
225
+ id: candidate.memory.id,
226
+ memory: memory ?? undefined,
227
+ unavailable: !memory,
228
+ });
229
+ }
230
+ catch (error) {
231
+ if (!(error instanceof MemoryStorageError) && !(error instanceof MemoryNotFoundError))
232
+ throw error;
233
+ loaded.push({ scope: candidate.scope, id: candidate.memory.id, unavailable: true });
234
+ }
235
+ }
236
+ const result = {
237
+ memories: [],
238
+ unavailableIds: [],
239
+ omittedIds: [],
240
+ omittedIdCount: 0,
241
+ unavailableIdCount: 0,
86
242
  };
243
+ const unavailable = loaded.filter((entry) => entry.unavailable);
244
+ const available = loaded.filter((entry) => !entry.unavailable && !!entry.memory);
245
+ // References and memories are admitted against both terminal count
246
+ // widths, so neither count can overflow a previously valid result.
247
+ const reservedCounts = () => ({
248
+ omittedIdCount: available.length,
249
+ unavailableIdCount: unavailable.length,
250
+ });
251
+ result.unavailableIdCount = unavailable.length;
252
+ for (const candidate of unavailable) {
253
+ const reference = { scope: candidate.scope, id: candidate.id };
254
+ const prospective = fitSerializedEnvelope((charsUsed) => ({
255
+ ...result,
256
+ ...reservedCounts(),
257
+ unavailableIds: [...result.unavailableIds, reference],
258
+ charsUsed,
259
+ }), { maxChars: budget });
260
+ if (prospective)
261
+ result.unavailableIds = prospective.value.unavailableIds;
262
+ }
263
+ for (const candidate of available) {
264
+ const memory = { scope: candidate.scope, memory: candidate.memory };
265
+ const prospective = fitSerializedEnvelope((charsUsed) => ({ ...result, ...reservedCounts(), memories: [...result.memories, memory], charsUsed }), { maxChars: budget });
266
+ if (prospective) {
267
+ result.memories = prospective.value.memories;
268
+ continue;
269
+ }
270
+ result.omittedIdCount++;
271
+ const reference = { scope: candidate.scope, id: candidate.id };
272
+ const omission = fitSerializedEnvelope((charsUsed) => ({
273
+ ...result,
274
+ ...reservedCounts(),
275
+ omittedIds: [...result.omittedIds, reference],
276
+ charsUsed,
277
+ }), { maxChars: budget });
278
+ if (omission)
279
+ result.omittedIds = omission.value.omittedIds;
280
+ }
281
+ return output(budget, (charsUsed) => ({ ...result, charsUsed }));
87
282
  }),
88
- definition('memory_retrieve', 'Search and load relevant memories across both the global and project scopes.', z.object({ query: z.string(), limit: z.number().int().positive().optional() }).strict(), async ({ query, ...options }) => {
89
- const searchAcross = async (scope) => {
90
- const results = await stores[scope].search(query, options);
91
- const memories = [];
92
- const unavailableIds = [];
93
- for (const result of results) {
94
- if (!result.available) {
95
- unavailableIds.push({ scope, id: result.memory.id });
96
- continue;
283
+ ...(options?.includeSynthesize
284
+ ? [
285
+ definition('memory_synthesize', 'Retrieve one de-duplicated evidence packet for a broad memory objective. Use when the task depends on several memories, terminology may vary, or prior decisions may conflict or be stale. Supply 2-5 distinct search angles; the result traces every memory to the queries that found it. For one focused lookup, use memory_retrieve instead.', z
286
+ .object({
287
+ objective: z.string().refine((value) => /\S/.test(value)),
288
+ queries: z
289
+ .array(z.string().refine((value) => /\S/.test(value)))
290
+ .min(2)
291
+ .max(5),
292
+ limit: resultLimit,
293
+ maxChars,
294
+ })
295
+ .strict(), async ({ objective, queries, limit, maxChars: requestedMaxChars }) => {
296
+ const budget = requestedMaxChars ?? DEFAULT_DOCUMENT_OUTPUT_CHARS;
297
+ const uniqueQueries = [...new Set(queries.map((query) => query.trim()))];
298
+ const searches = await Promise.all(uniqueQueries.map(async (query) => ({
299
+ query,
300
+ candidates: await rankedSearch(query, effectiveLimit(limit)),
301
+ })));
302
+ const aggregated = new Map();
303
+ for (const { query, candidates } of searches) {
304
+ for (const candidate of candidates) {
305
+ const key = `${candidate.scope}\0${candidate.memory.id}`;
306
+ const existing = aggregated.get(key);
307
+ if (existing) {
308
+ existing.available ||= candidate.available;
309
+ existing.matchedQueries.push(query);
310
+ continue;
311
+ }
312
+ aggregated.set(key, {
313
+ scope: candidate.scope,
314
+ id: candidate.memory.id,
315
+ available: candidate.available,
316
+ matchedQueries: [query],
317
+ });
318
+ }
97
319
  }
98
- try {
99
- const memory = await stores[scope].get(result.memory.id);
100
- if (memory)
101
- memories.push({ scope, memory });
102
- else
103
- unavailableIds.push({ scope, id: result.memory.id });
320
+ const loaded = [];
321
+ for (const candidate of aggregated.values()) {
322
+ if (!candidate.available) {
323
+ loaded.push({ ...candidate, unavailable: true });
324
+ continue;
325
+ }
326
+ try {
327
+ const memory = await stores[candidate.scope].get(candidate.id);
328
+ loaded.push({
329
+ ...candidate,
330
+ memory: memory ?? undefined,
331
+ unavailable: !memory,
332
+ });
333
+ }
334
+ catch (error) {
335
+ if (!(error instanceof MemoryStorageError) && !(error instanceof MemoryNotFoundError))
336
+ throw error;
337
+ loaded.push({ ...candidate, unavailable: true });
338
+ }
104
339
  }
105
- catch (error) {
106
- if (!(error instanceof MemoryStorageError) && !(error instanceof MemoryNotFoundError))
107
- throw error;
108
- unavailableIds.push({ scope, id: result.memory.id });
340
+ const result = {
341
+ objective,
342
+ queries: uniqueQueries,
343
+ memories: [],
344
+ unavailableIds: [],
345
+ omittedIds: [],
346
+ omittedIdCount: 0,
347
+ unavailableIdCount: 0,
348
+ };
349
+ const unavailable = loaded.filter((entry) => entry.unavailable);
350
+ const available = loaded.filter((entry) => !entry.unavailable && !!entry.memory);
351
+ result.unavailableIdCount = unavailable.length;
352
+ for (const candidate of unavailable) {
353
+ const reference = {
354
+ scope: candidate.scope,
355
+ id: candidate.id,
356
+ matchedQueries: candidate.matchedQueries,
357
+ };
358
+ const prospective = fitSerializedEnvelope((charsUsed) => ({
359
+ ...result,
360
+ unavailableIds: [...result.unavailableIds, reference],
361
+ charsUsed,
362
+ }), { maxChars: budget });
363
+ if (prospective)
364
+ result.unavailableIds = prospective.value.unavailableIds;
109
365
  }
110
- }
111
- return { memories, unavailableIds };
112
- };
113
- const [global, project] = await Promise.all([searchAcross('global'), searchAcross('project')]);
114
- return {
115
- memories: [...global.memories, ...project.memories],
116
- unavailableIds: [...global.unavailableIds, ...project.unavailableIds],
117
- };
118
- }),
366
+ for (const candidate of available) {
367
+ const item = {
368
+ scope: candidate.scope,
369
+ memory: candidate.memory,
370
+ matchedQueries: candidate.matchedQueries,
371
+ };
372
+ const prospective = fitSerializedEnvelope((charsUsed) => ({ ...result, memories: [...result.memories, item], charsUsed }), { maxChars: budget });
373
+ if (prospective) {
374
+ result.memories = prospective.value.memories;
375
+ continue;
376
+ }
377
+ result.omittedIdCount++;
378
+ const reference = {
379
+ scope: candidate.scope,
380
+ id: candidate.id,
381
+ matchedQueries: candidate.matchedQueries,
382
+ };
383
+ const omission = fitSerializedEnvelope((charsUsed) => ({ ...result, omittedIds: [...result.omittedIds, reference], charsUsed }), { maxChars: budget });
384
+ if (omission)
385
+ result.omittedIds = omission.value.omittedIds;
386
+ }
387
+ return output(budget, (charsUsed) => ({ ...result, charsUsed }));
388
+ }),
389
+ ]
390
+ : []),
119
391
  definition('memory_create', 'Save durable information to the selected global or project memory scope.', z.object({
120
392
  scope,
121
393
  id,
@@ -134,11 +406,122 @@ export function createMemoryToolDefinitions(input) {
134
406
  }), async ({ scope, id, ...input }) => {
135
407
  const memory = await stores[scope].update(id, input);
136
408
  return { scope, memory };
137
- }, true),
409
+ }, () => {
410
+ const mode = options?.settingsService?.get('shell.autoApproveMode');
411
+ return mode !== 'auto' && mode !== 'always';
412
+ }),
138
413
  definition('memory_delete', 'Delete a memory from the selected global or project scope.', z.object({ scope, id }), async ({ scope, id }) => {
139
414
  const deleted = await stores[scope].remove(id);
140
415
  return { scope, deleted };
141
- }, true),
416
+ }, () => {
417
+ const mode = options?.settingsService?.get('shell.autoApproveMode');
418
+ return mode !== 'auto' && mode !== 'always';
419
+ }),
142
420
  ];
143
421
  }
422
+ function decodeMemoryCursor(cursor, id, scope, memory) {
423
+ if (!/^[A-Za-z0-9_-]+$/.test(cursor))
424
+ throw new MemoryCursorError();
425
+ let decoded;
426
+ let value;
427
+ try {
428
+ decoded = Buffer.from(cursor, 'base64url').toString('utf8');
429
+ if (Buffer.from(decoded, 'utf8').toString('base64url') !== cursor)
430
+ throw new Error();
431
+ value = JSON.parse(decoded);
432
+ }
433
+ catch {
434
+ throw new MemoryCursorError();
435
+ }
436
+ const parsed = value;
437
+ if (!parsed ||
438
+ parsed.v !== 1 ||
439
+ parsed.scope !== scope ||
440
+ parsed.id !== id ||
441
+ !isUtcTimestamp(parsed.updatedAt) ||
442
+ typeof parsed.nextOffset !== 'number' ||
443
+ !Number.isSafeInteger(parsed.nextOffset) ||
444
+ parsed.nextOffset < 0 ||
445
+ Object.keys(parsed).join(',') !== 'v,scope,id,updatedAt,nextOffset' ||
446
+ JSON.stringify(parsed) !== decoded)
447
+ throw new MemoryCursorError();
448
+ const validated = parsed;
449
+ if (validated.updatedAt !== memory.updatedAt)
450
+ throw new StaleMemoryCursorError();
451
+ if ((memory.content.length === 0 && validated.nextOffset !== 0) ||
452
+ (memory.content.length > 0 && validated.nextOffset >= memory.content.length))
453
+ throw new MemoryCursorError();
454
+ if (validated.nextOffset > 0 &&
455
+ validated.nextOffset < memory.content.length &&
456
+ isHighSurrogate(memory.content.charCodeAt(validated.nextOffset - 1)) &&
457
+ isLowSurrogate(memory.content.charCodeAt(validated.nextOffset)))
458
+ throw new MemoryCursorError();
459
+ return validated.nextOffset;
460
+ }
461
+ function memoryPage(scope, memory, offset, maxChars) {
462
+ const totalChars = memory.content.length;
463
+ const page = (end) => {
464
+ const text = safePageSlice(memory.content, offset, end);
465
+ if (!text && totalChars > offset)
466
+ return null;
467
+ const nextOffset = offset + text.length;
468
+ const content = {
469
+ offset,
470
+ totalChars,
471
+ text,
472
+ ...(nextOffset < totalChars
473
+ ? { nextCursor: encodeMemoryCursor({ v: 1, scope, id: memory.id, updatedAt: memory.updatedAt, nextOffset }) }
474
+ : {}),
475
+ };
476
+ return fitSerializedEnvelope((charsUsed) => ({ scope, memory: metadata(memory), content, charsUsed }), {
477
+ maxChars,
478
+ });
479
+ };
480
+ if (totalChars === 0) {
481
+ const empty = page(0);
482
+ if (empty)
483
+ return empty.value;
484
+ throw new OutputBudgetExceededError();
485
+ }
486
+ let lower = offset + 1;
487
+ let upper = totalChars;
488
+ let best = null;
489
+ while (lower <= upper) {
490
+ const middle = Math.floor((lower + upper) / 2);
491
+ const candidate = page(middle);
492
+ if (candidate) {
493
+ best = candidate;
494
+ lower = middle + 1;
495
+ }
496
+ else {
497
+ upper = middle - 1;
498
+ }
499
+ }
500
+ if (!best || !best.value.content.text)
501
+ throw new OutputBudgetExceededError();
502
+ return best.value;
503
+ }
504
+ function safePageSlice(content, start, end) {
505
+ let safeEnd = end;
506
+ if (safeEnd > start &&
507
+ safeEnd < content.length &&
508
+ isHighSurrogate(content.charCodeAt(safeEnd - 1)) &&
509
+ isLowSurrogate(content.charCodeAt(safeEnd)))
510
+ safeEnd--;
511
+ return content.slice(start, safeEnd);
512
+ }
513
+ function encodeMemoryCursor(cursor) {
514
+ return Buffer.from(JSON.stringify(cursor), 'utf8').toString('base64url');
515
+ }
516
+ function isUtcTimestamp(value) {
517
+ return (typeof value === 'string' &&
518
+ /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(value) &&
519
+ !Number.isNaN(Date.parse(value)));
520
+ }
521
+ function isHighSurrogate(value) {
522
+ return value >= 0xd800 && value <= 0xdbff;
523
+ }
524
+ function isLowSurrogate(value) {
525
+ return value >= 0xdc00 && value <= 0xdfff;
526
+ }
144
527
  //# sourceMappingURL=memory-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../../source/tools/memory/memory-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-tools.js","sourceRoot":"","sources":["../../../source/tools/memory/memory-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ToolDefinition } from '../types.js';
2
+ import type { SessionBrowser } from '../../services/conversation/session-browser.js';
3
+ export declare function createSessionBrowserToolDefinitions(browser: SessionBrowser): ToolDefinition[];
4
+ //# sourceMappingURL=session-browser-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-browser-tools.d.ts","sourceRoot":"","sources":["../../../source/tools/session-browser/session-browser-tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAerF,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,EAAE,CAqB7F"}