@nomix-ai/nomix-harness 0.2.5 → 0.2.6

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 (1017) hide show
  1. package/README.md +2 -9
  2. package/dist/assets/web/assets/index-BnapMmQ_.css +1 -0
  3. package/dist/assets/web/assets/index-Dx7Ws_OC.js +96 -0
  4. package/dist/assets/web/assets/langs/{php-D-uCvoST.js → php-DDkx9sim.js} +2 -2
  5. package/dist/{kernel/web-frontend/dist/assets/langs/ruby-DEItuUFs.js → assets/web/assets/langs/ruby-DCxyoPen.js} +2 -2
  6. package/dist/assets/web/assets/{vendor-Cjbwl5VI.js → vendor-D22_Mp1f.js} +2 -2
  7. package/dist/assets/web/favicon.svg +8 -0
  8. package/dist/assets/web/index.html +5 -5
  9. package/dist/bundles/base/cordis.patch.yml +31 -6
  10. package/dist/bundles/web-app/cordis.patch.yml +27 -6
  11. package/dist/cli/bin.js +4 -5
  12. package/dist/cli/builtin-registry.js +34 -4
  13. package/dist/cli/{dump-config-d3ECray2.js → dump-config-BEj2GlJo.js} +1 -1
  14. package/dist/cli/{plugin-Bw9wgrmj.js → plugin-D_gLgCYL.js} +1 -1
  15. package/dist/cli/profile-boot-BSrYtiQI.js +2 -0
  16. package/dist/cli/{profile-boot-DFHdh9Xq.js → profile-boot-CByqUxLM.js} +0 -2
  17. package/dist/cli/runtime.js +0 -2
  18. package/dist/config/agent-presets/code/agent.cordis.yml +4 -3
  19. package/dist/config/agent-presets/cordis/agent.cordis.yml +4 -3
  20. package/dist/config/agent-presets/cordis/skills/editing-cordis-compositions/SKILL.md +13 -2
  21. package/dist/config/agent-presets/minimal/agent.cordis.yml +27 -1
  22. package/dist/config/agent-presets/standard/agent.cordis.yml +4 -3
  23. package/dist/kernel/acp/package.json +1 -1
  24. package/dist/kernel/agent/package.json +1 -1
  25. package/dist/kernel/agent-default-model/package.json +1 -1
  26. package/dist/kernel/agent-instructions/package.json +1 -1
  27. package/dist/kernel/agent-loop/lib/index.js +33 -10
  28. package/dist/kernel/agent-loop/lib/types/agent.js +26 -6
  29. package/dist/kernel/agent-loop/package.json +1 -1
  30. package/dist/kernel/agent-presets/package.json +1 -1
  31. package/dist/kernel/agent-tool-presentation/package.json +1 -1
  32. package/dist/kernel/anonymous-user-id/package.json +1 -1
  33. package/dist/kernel/api-gateway/lib/client.js +84 -55
  34. package/dist/kernel/api-gateway/lib/types/client/index.js +93 -61
  35. package/dist/kernel/api-gateway/package.json +1 -1
  36. package/dist/kernel/api-remotes/lib/client.js +166 -27
  37. package/dist/kernel/api-remotes/lib/index.js +1 -1
  38. package/dist/kernel/api-remotes/lib/types/client/index.d.ts +4 -0
  39. package/dist/kernel/api-remotes/lib/types/client/index.js +4 -1
  40. package/dist/kernel/api-remotes/lib/types/remote-events.d.ts +1 -1
  41. package/dist/kernel/api-remotes/lib/types/remote-events.js +1 -1
  42. package/dist/kernel/api-remotes/package.json +11 -7
  43. package/dist/kernel/app-boot/lib/index.js +19 -41
  44. package/dist/kernel/app-boot/lib/types/index.d.ts +0 -1
  45. package/dist/kernel/app-boot/lib/types/index.js +2 -3
  46. package/dist/kernel/app-boot/lib/types/profile.d.ts +15 -12
  47. package/dist/kernel/app-boot/lib/types/profile.js +15 -25
  48. package/dist/kernel/app-boot/package.json +1 -1
  49. package/dist/kernel/atomic-write/lib/index.js +36 -16
  50. package/dist/kernel/atomic-write/lib/types/index.d.ts +21 -5
  51. package/dist/kernel/atomic-write/lib/types/index.js +40 -16
  52. package/dist/kernel/atomic-write/package.json +1 -1
  53. package/dist/kernel/attachment/lib/index.js +62 -3
  54. package/dist/kernel/attachment/lib/types/admission.d.ts +15 -0
  55. package/dist/kernel/attachment/lib/types/admission.js +33 -0
  56. package/dist/kernel/attachment/lib/types/brand.d.ts +8 -0
  57. package/dist/kernel/attachment/lib/types/brand.js +8 -0
  58. package/dist/kernel/attachment/lib/types/error.d.ts +2 -2
  59. package/dist/kernel/attachment/lib/types/error.js +1 -0
  60. package/dist/kernel/attachment/lib/types/index.d.ts +23 -5
  61. package/dist/kernel/attachment/lib/types/index.js +24 -2
  62. package/dist/kernel/attachment/lib/types/types.d.ts +47 -2
  63. package/dist/kernel/attachment/package.json +3 -2
  64. package/dist/kernel/attachment-local/lib/index.js +640 -48
  65. package/dist/kernel/attachment-local/lib/types/compression-limiter.d.ts +18 -0
  66. package/dist/kernel/attachment-local/lib/types/compression-limiter.js +43 -0
  67. package/dist/kernel/attachment-local/lib/types/encoding.d.ts +23 -0
  68. package/dist/kernel/attachment-local/lib/types/encoding.js +33 -0
  69. package/dist/kernel/attachment-local/lib/types/image.d.ts +31 -2
  70. package/dist/kernel/attachment-local/lib/types/image.js +43 -4
  71. package/dist/kernel/attachment-local/lib/types/index.d.ts +45 -10
  72. package/dist/kernel/attachment-local/lib/types/index.js +140 -10
  73. package/dist/kernel/attachment-local/lib/types/normalization.d.ts +44 -0
  74. package/dist/kernel/attachment-local/lib/types/normalization.js +148 -0
  75. package/dist/kernel/attachment-local/lib/types/request-image.d.ts +35 -0
  76. package/dist/kernel/attachment-local/lib/types/request-image.js +208 -0
  77. package/dist/kernel/attachment-local/lib/types/store.d.ts +36 -9
  78. package/dist/kernel/attachment-local/lib/types/store.js +60 -24
  79. package/dist/kernel/attachment-local/package.json +1 -1
  80. package/dist/kernel/authorization/lib/index.js +248 -0
  81. package/dist/kernel/authorization/lib/invariant.js +36 -0
  82. package/dist/kernel/authorization/lib/types/index.d.ts +223 -0
  83. package/dist/kernel/authorization/lib/types/index.js +299 -0
  84. package/dist/kernel/authorization/lib/types/invariant.d.ts +16 -0
  85. package/dist/kernel/authorization/lib/types/invariant.js +38 -0
  86. package/dist/kernel/authorization/lib/types/types.d.ts +83 -0
  87. package/dist/kernel/authorization/lib/types/types.js +8 -0
  88. package/dist/kernel/{client-web-react → authorization}/package.json +19 -16
  89. package/dist/kernel/base/cordis.patch.yml +31 -6
  90. package/dist/kernel/base/package.json +3 -1
  91. package/dist/kernel/bash-local/package.json +1 -1
  92. package/dist/kernel/bash-sandbox/package.json +1 -1
  93. package/dist/kernel/brand/package.json +1 -1
  94. package/dist/kernel/client-connection/lib/client.js +148 -28
  95. package/dist/kernel/client-connection/lib/index.js +4 -4
  96. package/dist/kernel/client-connection/lib/types/client/fixture.js +112 -20
  97. package/dist/kernel/client-connection/lib/types/client/index.d.ts +21 -1
  98. package/dist/kernel/client-connection/lib/types/client/index.js +3 -2
  99. package/dist/kernel/client-connection/lib/types/client/rpc.d.ts +4 -1
  100. package/dist/kernel/client-connection/lib/types/client/rpc.js +4 -2
  101. package/dist/kernel/client-connection/lib/types/http-bridge.d.ts +2 -2
  102. package/dist/kernel/client-connection/lib/types/http-bridge.js +3 -3
  103. package/dist/kernel/client-connection/lib/types/index.d.ts +1 -1
  104. package/dist/kernel/client-connection/package.json +15 -9
  105. package/dist/kernel/client-hmr/package.json +1 -1
  106. package/dist/kernel/client-locale/lib/client.js +48 -9
  107. package/dist/kernel/client-locale/lib/types/client/index.d.ts +19 -3
  108. package/dist/kernel/client-locale/lib/types/client/index.js +48 -7
  109. package/dist/kernel/client-locale/package.json +6 -6
  110. package/dist/kernel/client-modules/lib/client.js +188 -123
  111. package/dist/kernel/client-modules/lib/index.js +177 -31
  112. package/dist/kernel/client-modules/lib/types/client/index.d.ts +19 -8
  113. package/dist/kernel/client-modules/lib/types/client/index.js +25 -8
  114. package/dist/kernel/client-modules/lib/types/client/manifest.d.ts +90 -41
  115. package/dist/kernel/client-modules/lib/types/client/manifest.js +45 -12
  116. package/dist/kernel/client-modules/lib/types/client/system.d.ts +15 -17
  117. package/dist/kernel/client-modules/lib/types/client/system.js +85 -56
  118. package/dist/kernel/client-modules/lib/types/index.d.ts +28 -12
  119. package/dist/kernel/client-modules/lib/types/index.js +128 -34
  120. package/dist/kernel/client-modules/package.json +4 -2
  121. package/dist/kernel/client-runtime/lib/client.js +43 -8
  122. package/dist/kernel/client-runtime/lib/types/client/contract/session.d.ts +1 -1
  123. package/dist/kernel/client-runtime/lib/types/client/contract/store.d.ts +1 -1
  124. package/dist/kernel/client-runtime/lib/types/client/contract/store.js +2 -2
  125. package/dist/kernel/client-runtime/lib/types/client/index.d.ts +2 -2
  126. package/dist/kernel/client-runtime/lib/types/client/index.js +3 -3
  127. package/dist/kernel/client-runtime/lib/types/client/sessions/context-provenance.d.ts +8 -0
  128. package/dist/kernel/client-runtime/lib/types/client/sessions/context-provenance.js +13 -0
  129. package/dist/kernel/client-runtime/lib/types/client/sessions/conversation.d.ts +11 -7
  130. package/dist/kernel/client-runtime/lib/types/client/sessions/projection-store.d.ts +1 -1
  131. package/dist/kernel/client-runtime/lib/types/client/sessions/session.d.ts +1 -1
  132. package/dist/kernel/client-runtime/lib/types/client/sessions/session.js +4 -4
  133. package/dist/kernel/client-runtime/lib/types/client/slots.d.ts +1 -1
  134. package/dist/kernel/client-runtime/lib/types/client/slots.js +1 -1
  135. package/dist/kernel/client-runtime/lib/types/client/workspaces/path.d.ts +9 -0
  136. package/dist/kernel/client-runtime/lib/types/client/workspaces/path.js +27 -1
  137. package/dist/kernel/client-runtime/package.json +25 -14
  138. package/dist/kernel/client-ui-agent-preset/lib/client.js +55 -55
  139. package/dist/kernel/client-ui-agent-preset/lib/types/client/index.js +2 -2
  140. package/dist/kernel/client-ui-agent-preset/lib/types/client/settings-store.d.ts +7 -1
  141. package/dist/kernel/client-ui-agent-preset/lib/types/client/settings-store.js +21 -20
  142. package/dist/kernel/client-ui-agent-preset/package.json +2 -7
  143. package/dist/kernel/client-ui-attachment/lib/client.js +782 -0
  144. package/dist/kernel/client-ui-attachment/lib/index.js +5 -505
  145. package/dist/kernel/client-ui-attachment/lib/invariant.js +2 -3
  146. package/dist/kernel/client-ui-attachment/lib/types/client/ComposerAttachments.d.ts +4 -0
  147. package/dist/kernel/client-ui-attachment/lib/types/client/ComposerAttachments.js +85 -0
  148. package/dist/kernel/client-ui-attachment/lib/types/client/MessageImages.d.ts +4 -0
  149. package/dist/kernel/client-ui-attachment/lib/types/client/MessageImages.js +8 -0
  150. package/dist/kernel/client-ui-attachment/lib/types/client/index.d.ts +7 -0
  151. package/dist/kernel/client-ui-attachment/lib/types/client/index.js +16 -0
  152. package/dist/kernel/client-ui-attachment/lib/types/client/labels.d.ts +35 -0
  153. package/dist/kernel/client-ui-attachment/lib/types/client/labels.js +52 -0
  154. package/dist/kernel/client-ui-attachment/lib/types/index.d.ts +3 -15
  155. package/dist/kernel/client-ui-attachment/lib/types/index.js +3 -11
  156. package/dist/kernel/client-ui-attachment/lib/types/invariant.js +2 -3
  157. package/dist/kernel/client-ui-attachment/package.json +32 -9
  158. package/dist/kernel/client-ui-brand-official/lib/client.js +50 -0
  159. package/dist/kernel/client-ui-brand-official/lib/index.js +9 -0
  160. package/dist/kernel/{client-web-react → client-ui-brand-official}/lib/invariant.js +6 -8
  161. package/dist/kernel/client-ui-brand-official/lib/types/client/Brand.d.ts +16 -0
  162. package/dist/kernel/client-ui-brand-official/lib/types/client/Brand.js +18 -0
  163. package/dist/kernel/client-ui-brand-official/lib/types/client/index.d.ts +10 -0
  164. package/dist/kernel/client-ui-brand-official/lib/types/client/index.js +17 -0
  165. package/dist/kernel/client-ui-brand-official/lib/types/index.d.ts +7 -0
  166. package/dist/kernel/client-ui-brand-official/lib/types/index.js +7 -0
  167. package/dist/kernel/client-ui-brand-official/lib/types/invariant.d.ts +16 -0
  168. package/dist/kernel/{client-web-react → client-ui-brand-official}/lib/types/invariant.js +6 -8
  169. package/dist/kernel/client-ui-brand-official/package.json +72 -0
  170. package/dist/kernel/client-ui-commands/lib/client.js +44 -15
  171. package/dist/kernel/client-ui-commands/lib/types/client/locales.d.ts +2 -0
  172. package/dist/kernel/client-ui-commands/lib/types/client/locales.js +2 -0
  173. package/dist/kernel/client-ui-commands/lib/types/client/service.d.ts +11 -1
  174. package/dist/kernel/client-ui-commands/lib/types/client/service.js +39 -7
  175. package/dist/kernel/client-ui-commands/package.json +2 -5
  176. package/dist/kernel/client-ui-conversation/lib/client.js +949 -531
  177. package/dist/kernel/client-ui-conversation/lib/types/client/apply.js +6 -4
  178. package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantMarkdown.d.ts +4 -5
  179. package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantMarkdown.js +6 -6
  180. package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantNodeView.d.ts +1 -1
  181. package/dist/kernel/client-ui-conversation/lib/types/client/chat/AssistantNodeView.js +2 -2
  182. package/dist/kernel/client-ui-conversation/lib/types/client/chat/ChatNodeSeat.d.ts +1 -1
  183. package/dist/kernel/client-ui-conversation/lib/types/client/chat/ChatNodeSeat.js +5 -3
  184. package/dist/kernel/client-ui-conversation/lib/types/client/chat/ChatView.js +53 -10
  185. package/dist/kernel/client-ui-conversation/lib/types/client/chat/ContextInjectionRow.js +4 -1
  186. package/dist/kernel/client-ui-conversation/lib/types/client/chat/MessageItem.d.ts +4 -5
  187. package/dist/kernel/client-ui-conversation/lib/types/client/chat/MessageItem.js +46 -16
  188. package/dist/kernel/client-ui-conversation/lib/types/client/chat/StatsLine.d.ts +5 -3
  189. package/dist/kernel/client-ui-conversation/lib/types/client/chat/StatsLine.js +54 -5
  190. package/dist/kernel/client-ui-conversation/lib/types/client/contract/slots.d.ts +90 -8
  191. package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/assistant.js +1 -0
  192. package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/chat-snapshot-builder.d.ts +1 -0
  193. package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/chat-snapshot-builder.js +95 -6
  194. package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/message.d.ts +11 -3
  195. package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/turn-error.d.ts +6 -3
  196. package/dist/kernel/client-ui-conversation/lib/types/client/conversation-nodes/turn-error.js +10 -26
  197. package/dist/kernel/client-ui-conversation/lib/types/client/image-labels.d.ts +1 -33
  198. package/dist/kernel/client-ui-conversation/lib/types/client/image-labels.js +5 -54
  199. package/dist/kernel/client-ui-conversation/lib/types/client/index.d.ts +1 -1
  200. package/dist/kernel/client-ui-conversation/lib/types/client/input/contract.d.ts +17 -14
  201. package/dist/kernel/client-ui-conversation/lib/types/client/input/decorations.d.ts +13 -5
  202. package/dist/kernel/client-ui-conversation/lib/types/client/input/decorations.js +26 -10
  203. package/dist/kernel/client-ui-conversation/lib/types/client/input/facade.d.ts +34 -14
  204. package/dist/kernel/client-ui-conversation/lib/types/client/input/facade.js +116 -34
  205. package/dist/kernel/client-ui-conversation/lib/types/client/input/hub.d.ts +1 -1
  206. package/dist/kernel/client-ui-conversation/lib/types/client/input/hub.js +21 -19
  207. package/dist/kernel/client-ui-conversation/lib/types/client/input/machine.d.ts +35 -14
  208. package/dist/kernel/client-ui-conversation/lib/types/client/input/machine.js +71 -34
  209. package/dist/kernel/client-ui-conversation/lib/types/client/locales.d.ts +16 -0
  210. package/dist/kernel/client-ui-conversation/lib/types/client/locales.js +16 -0
  211. package/dist/kernel/client-ui-conversation/lib/types/client/reference/ReferenceIcon.d.ts +16 -0
  212. package/dist/kernel/client-ui-conversation/lib/types/client/reference/ReferenceIcon.js +16 -0
  213. package/dist/kernel/client-ui-conversation/lib/types/client/service.d.ts +14 -1
  214. package/dist/kernel/client-ui-conversation/lib/types/client/service.js +26 -6
  215. package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/ConversationRoot.js +1 -1
  216. package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/ConversationSession.js +18 -3
  217. package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/EmptyHero.d.ts +3 -1
  218. package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/EmptyHero.js +4 -2
  219. package/dist/kernel/client-ui-conversation/lib/types/client/skeleton/InputBar.js +141 -126
  220. package/dist/kernel/client-ui-conversation/package.json +9 -8
  221. package/dist/kernel/client-ui-cordis/lib/client.js +48 -48
  222. package/dist/kernel/client-ui-cordis/package.json +2 -5
  223. package/dist/kernel/client-ui-deliverables/lib/client.js +5 -5
  224. package/dist/kernel/client-ui-deliverables/package.json +4 -6
  225. package/dist/kernel/client-ui-directory-picker-browse/lib/client.js +26 -26
  226. package/dist/kernel/client-ui-directory-picker-browse/package.json +2 -5
  227. package/dist/kernel/client-ui-directory-picker-native/package.json +2 -5
  228. package/dist/kernel/client-ui-goal/lib/client.js +8 -8
  229. package/dist/kernel/client-ui-goal/package.json +6 -5
  230. package/dist/kernel/client-ui-input-trigger/lib/client.js +82 -26
  231. package/dist/kernel/client-ui-input-trigger/lib/types/client/MenuView.js +13 -9
  232. package/dist/kernel/client-ui-input-trigger/lib/types/client/controller.d.ts +5 -3
  233. package/dist/kernel/client-ui-input-trigger/lib/types/client/controller.js +19 -7
  234. package/dist/kernel/client-ui-input-trigger/lib/types/client/index.d.ts +1 -1
  235. package/dist/kernel/client-ui-input-trigger/lib/types/core/contract.d.ts +7 -2
  236. package/dist/kernel/client-ui-input-trigger/lib/types/core/detect.d.ts +4 -4
  237. package/dist/kernel/client-ui-input-trigger/lib/types/core/detect.js +24 -6
  238. package/dist/kernel/client-ui-input-trigger/lib/types/core/menu.d.ts +15 -2
  239. package/dist/kernel/client-ui-input-trigger/lib/types/core/menu.js +13 -4
  240. package/dist/kernel/client-ui-input-trigger/lib/types/types.d.ts +52 -8
  241. package/dist/kernel/client-ui-input-trigger/package.json +4 -5
  242. package/dist/kernel/client-ui-jobs/lib/client.js +10 -10
  243. package/dist/kernel/client-ui-jobs/package.json +3 -7
  244. package/dist/kernel/client-ui-layout/lib/client.js +3 -3
  245. package/dist/kernel/client-ui-layout/package.json +2 -4
  246. package/dist/kernel/client-ui-message-feedback/lib/client.js +174 -58
  247. package/dist/kernel/client-ui-message-feedback/lib/types/client/MessageFeedbackActions.d.ts +9 -3
  248. package/dist/kernel/client-ui-message-feedback/lib/types/client/MessageFeedbackActions.js +164 -25
  249. package/dist/kernel/client-ui-message-feedback/lib/types/client/locales.d.ts +2 -0
  250. package/dist/kernel/client-ui-message-feedback/lib/types/client/locales.js +2 -0
  251. package/dist/kernel/client-ui-message-feedback/package.json +3 -5
  252. package/dist/kernel/client-ui-model-selection/lib/client.js +18 -18
  253. package/dist/kernel/client-ui-model-selection/package.json +7 -9
  254. package/dist/kernel/client-ui-permission-presets/lib/client.js +97 -83
  255. package/dist/kernel/client-ui-permission-presets/lib/types/client/index.js +6 -19
  256. package/dist/kernel/client-ui-permission-presets/lib/types/client/settings-store.d.ts +27 -18
  257. package/dist/kernel/client-ui-permission-presets/lib/types/client/settings-store.js +95 -68
  258. package/dist/kernel/client-ui-permission-presets/package.json +2 -8
  259. package/dist/kernel/client-ui-plan/lib/client.js +1 -1
  260. package/dist/kernel/client-ui-plan/lib/types/client/index.js +1 -1
  261. package/dist/kernel/client-ui-plan/package.json +2 -6
  262. package/dist/kernel/client-ui-primitives/lib/Button.module.css +79 -0
  263. package/dist/kernel/client-ui-primitives/lib/ConnectionBanner.module.css +13 -0
  264. package/dist/kernel/client-ui-primitives/lib/DiffBlock.module.css +107 -0
  265. package/dist/kernel/client-ui-primitives/lib/DisclosureRow.module.css +69 -0
  266. package/dist/kernel/client-ui-primitives/lib/HoverCard.module.css +54 -0
  267. package/dist/kernel/client-ui-primitives/lib/Input.module.css +38 -0
  268. package/dist/kernel/client-ui-primitives/lib/JsonTree.module.css +222 -0
  269. package/dist/kernel/client-ui-primitives/lib/Menu.module.css +242 -0
  270. package/dist/kernel/client-ui-primitives/lib/Modal.module.css +103 -0
  271. package/dist/kernel/client-ui-primitives/lib/OnboardingSurface.module.css +29 -0
  272. package/dist/kernel/client-ui-primitives/lib/Pill.module.css +27 -0
  273. package/dist/kernel/client-ui-primitives/lib/ReadBlock.module.css +117 -0
  274. package/dist/kernel/client-ui-primitives/lib/RiskConfirmation.module.css +73 -0
  275. package/dist/kernel/client-ui-primitives/lib/SearchBlock.module.css +120 -0
  276. package/dist/kernel/client-ui-primitives/lib/StateDot.module.css +65 -0
  277. package/dist/kernel/client-ui-primitives/lib/TerminalBlock.module.css +211 -0
  278. package/dist/kernel/client-ui-primitives/lib/Toast.module.css +70 -0
  279. package/dist/kernel/client-ui-primitives/lib/Tooltip.module.css +49 -0
  280. package/dist/kernel/client-ui-primitives/lib/WebBlock.module.css +130 -0
  281. package/dist/kernel/client-ui-primitives/lib/index.js +291 -261
  282. package/dist/kernel/client-ui-primitives/lib/invariant.js +2 -0
  283. package/dist/kernel/client-ui-primitives/lib/markdown/CodeBlock.module.css +96 -0
  284. package/dist/kernel/client-ui-primitives/lib/markdown/JsonBlock.module.css +32 -0
  285. package/dist/kernel/client-ui-primitives/lib/markdown/MarkdownText.module.css +304 -0
  286. package/dist/kernel/client-ui-primitives/lib/markdown/MessageText.module.css +9 -0
  287. package/dist/kernel/client-ui-primitives/lib/types/BrandWordmark.d.ts +7 -1
  288. package/dist/kernel/client-ui-primitives/lib/types/BrandWordmark.js +4 -2
  289. package/dist/kernel/client-ui-primitives/lib/types/index.d.ts +4 -1
  290. package/dist/kernel/client-ui-primitives/lib/types/index.js +2 -1
  291. package/dist/kernel/client-ui-primitives/lib/types/markdown/render.d.ts +2 -0
  292. package/dist/kernel/client-ui-primitives/lib/types/markdown/render.js +10 -2
  293. package/dist/kernel/client-ui-primitives/lib/types/useAnchoredPosition.d.ts +32 -0
  294. package/dist/kernel/client-ui-primitives/lib/types/useAnchoredPosition.js +69 -0
  295. package/dist/kernel/client-ui-primitives/package.json +2 -1
  296. package/dist/kernel/client-ui-reference/lib/client.js +149 -0
  297. package/dist/kernel/client-ui-reference/lib/index.js +11 -0
  298. package/dist/kernel/{client-schema-form → client-ui-reference}/lib/invariant.js +7 -8
  299. package/dist/kernel/client-ui-reference/lib/types/client/index.d.ts +9 -0
  300. package/dist/kernel/client-ui-reference/lib/types/client/index.js +106 -0
  301. package/dist/kernel/client-ui-reference/lib/types/client/locales.d.ts +30 -0
  302. package/dist/kernel/client-ui-reference/lib/types/client/locales.js +22 -0
  303. package/dist/kernel/client-ui-reference/lib/types/index.d.ts +9 -0
  304. package/dist/kernel/client-ui-reference/lib/types/index.js +9 -0
  305. package/dist/kernel/{client-schema-form → client-ui-reference}/lib/types/invariant.d.ts +3 -3
  306. package/dist/kernel/{client-schema-form → client-ui-reference}/lib/types/invariant.js +7 -8
  307. package/dist/kernel/client-ui-reference/package.json +77 -0
  308. package/dist/kernel/client-ui-renderer/lib/client.js +989 -0
  309. package/dist/kernel/client-ui-renderer/lib/index.js +6 -0
  310. package/dist/kernel/client-ui-renderer/lib/invariant.js +23 -0
  311. package/dist/kernel/{client-web/lib/types → client-ui-renderer/lib/types/client}/DocumentTitle.d.ts +4 -4
  312. package/dist/kernel/client-ui-renderer/lib/types/client/DocumentTitle.js +17 -0
  313. package/dist/kernel/client-ui-renderer/lib/types/client/app.d.ts +18 -0
  314. package/dist/kernel/{client-web/lib/types → client-ui-renderer/lib/types/client}/app.js +5 -5
  315. package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/bind.d.ts +1 -1
  316. package/dist/kernel/client-ui-renderer/lib/types/client/index.d.ts +29 -0
  317. package/dist/kernel/client-ui-renderer/lib/types/client/index.js +51 -0
  318. package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/scoped-slots.d.ts +1 -1
  319. package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/scoped-slots.js +1 -1
  320. package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/session-provider.d.ts +1 -1
  321. package/dist/kernel/client-ui-renderer/lib/types/index.d.ts +4 -0
  322. package/dist/kernel/client-ui-renderer/lib/types/index.js +4 -0
  323. package/dist/kernel/{client-web-react → client-ui-renderer}/lib/types/invariant.d.ts +3 -3
  324. package/dist/kernel/client-ui-renderer/lib/types/invariant.js +22 -0
  325. package/dist/kernel/client-ui-renderer/package.json +71 -0
  326. package/dist/kernel/client-ui-settings/lib/client.js +1177 -67
  327. package/dist/kernel/client-ui-settings/lib/types/client/index.d.ts +20 -12
  328. package/dist/kernel/client-ui-settings/lib/types/client/index.js +25 -6
  329. package/dist/kernel/client-ui-settings/lib/types/client/schema.d.ts +72 -0
  330. package/dist/kernel/client-ui-settings/lib/types/client/schema.js +152 -0
  331. package/dist/kernel/client-ui-settings/lib/types/client/settings-mirror.d.ts +118 -0
  332. package/dist/kernel/client-ui-settings/lib/types/client/settings-mirror.js +160 -0
  333. package/dist/kernel/client-ui-settings/lib/types/client/settings-scope.d.ts +51 -24
  334. package/dist/kernel/client-ui-settings/lib/types/client/settings-scope.js +88 -71
  335. package/dist/kernel/client-ui-settings/package.json +7 -7
  336. package/dist/kernel/client-ui-settings-general/lib/client.js +60 -64
  337. package/dist/kernel/client-ui-settings-general/lib/types/client/SettingsDocumentAction.d.ts +7 -6
  338. package/dist/kernel/client-ui-settings-general/lib/types/client/index.js +10 -11
  339. package/dist/kernel/client-ui-settings-general/lib/types/client/settings-document-store.d.ts +13 -11
  340. package/dist/kernel/client-ui-settings-general/lib/types/client/settings-document-store.js +37 -40
  341. package/dist/kernel/client-ui-settings-general/package.json +4 -8
  342. package/dist/kernel/client-ui-settings-models/lib/client.js +280 -210
  343. package/dist/kernel/client-ui-settings-models/lib/types/client/DeepSeekOnboardingDialog.d.ts +3 -0
  344. package/dist/kernel/client-ui-settings-models/lib/types/client/DeepSeekOnboardingDialog.js +2 -2
  345. package/dist/kernel/client-ui-settings-models/lib/types/client/ModelListEditor.js +11 -1
  346. package/dist/kernel/client-ui-settings-models/lib/types/client/ModelsSection.d.ts +10 -5
  347. package/dist/kernel/client-ui-settings-models/lib/types/client/ModelsSection.js +9 -6
  348. package/dist/kernel/client-ui-settings-models/lib/types/client/ProviderEditor.d.ts +3 -0
  349. package/dist/kernel/client-ui-settings-models/lib/types/client/ProviderEditor.js +30 -29
  350. package/dist/kernel/client-ui-settings-models/lib/types/client/index.js +27 -22
  351. package/dist/kernel/client-ui-settings-models/lib/types/client/locales.d.ts +2 -0
  352. package/dist/kernel/client-ui-settings-models/lib/types/client/locales.js +4 -0
  353. package/dist/kernel/client-ui-settings-models/lib/types/client/schema-operations.d.ts +10 -0
  354. package/dist/kernel/client-ui-settings-models/lib/types/client/schema-operations.js +17 -0
  355. package/dist/kernel/client-ui-settings-models/lib/types/client/store.d.ts +15 -7
  356. package/dist/kernel/client-ui-settings-models/lib/types/client/store.js +30 -21
  357. package/dist/kernel/client-ui-settings-models/lib/types/client/welcome-store.d.ts +35 -18
  358. package/dist/kernel/client-ui-settings-models/lib/types/client/welcome-store.js +89 -82
  359. package/dist/kernel/client-ui-settings-models/package.json +3 -8
  360. package/dist/kernel/client-ui-settings-plugin-inventory/lib/client.js +11 -11
  361. package/dist/kernel/client-ui-settings-plugin-inventory/package.json +2 -5
  362. package/dist/kernel/client-ui-settings-plugins/lib/client.js +42 -65
  363. package/dist/kernel/client-ui-settings-plugins/lib/types/client/index.js +5 -8
  364. package/dist/kernel/client-ui-settings-plugins/lib/types/client/tab-store.d.ts +8 -17
  365. package/dist/kernel/client-ui-settings-plugins/lib/types/client/tab-store.js +22 -44
  366. package/dist/kernel/client-ui-settings-plugins/package.json +2 -7
  367. package/dist/kernel/client-ui-sidebar/lib/client.js +50 -20
  368. package/dist/kernel/client-ui-sidebar/lib/types/client/SidebarRoot.js +7 -3
  369. package/dist/kernel/client-ui-sidebar/lib/types/client/contract/slots.d.ts +30 -1
  370. package/dist/kernel/client-ui-sidebar/lib/types/client/index.d.ts +1 -1
  371. package/dist/kernel/client-ui-sidebar/lib/types/client/index.js +2 -0
  372. package/dist/kernel/client-ui-sidebar/package.json +2 -4
  373. package/dist/kernel/client-ui-skill/lib/client.js +12 -12
  374. package/dist/kernel/client-ui-skill/package.json +2 -5
  375. package/dist/kernel/client-ui-slots/lib/index.js +2 -0
  376. package/dist/kernel/client-ui-slots/lib/invariant.js +2 -0
  377. package/dist/kernel/client-ui-slots/lib/types/renderer.d.ts +1 -1
  378. package/dist/kernel/client-ui-slots/lib/types/store.d.ts +1 -1
  379. package/dist/kernel/client-ui-slots/package.json +1 -1
  380. package/dist/kernel/client-ui-subagent/lib/client.js +289 -157
  381. package/dist/kernel/client-ui-subagent/lib/types/client/SubagentHeaderLineage.d.ts +18 -0
  382. package/dist/kernel/client-ui-subagent/lib/types/client/{SubagentCatalogAction.js → SubagentHeaderLineage.js} +153 -25
  383. package/dist/kernel/client-ui-subagent/lib/types/client/index.d.ts +4 -16
  384. package/dist/kernel/client-ui-subagent/lib/types/client/index.js +7 -45
  385. package/dist/kernel/client-ui-subagent/lib/types/client/locales.d.ts +1 -0
  386. package/dist/kernel/client-ui-subagent/lib/types/client/locales.js +2 -0
  387. package/dist/kernel/client-ui-subagent/package.json +6 -8
  388. package/dist/kernel/client-ui-theme/lib/client.js +46 -3
  389. package/dist/kernel/client-ui-theme/lib/index.js +22 -23
  390. package/dist/kernel/client-ui-theme/lib/types/boot-theme.d.ts +9 -10
  391. package/dist/kernel/client-ui-theme/lib/types/boot-theme.js +12 -19
  392. package/dist/kernel/client-ui-theme/lib/types/client/index.d.ts +1 -1
  393. package/dist/kernel/client-ui-theme/lib/types/client/index.js +3 -1
  394. package/dist/kernel/client-ui-theme/lib/types/client/styles.d.ts +7 -0
  395. package/dist/kernel/client-ui-theme/lib/types/client/styles.js +32 -0
  396. package/dist/kernel/client-ui-theme/lib/types/index.d.ts +4 -3
  397. package/dist/kernel/client-ui-theme/lib/types/index.js +7 -6
  398. package/dist/kernel/client-ui-theme/package.json +4 -6
  399. package/dist/kernel/client-ui-tool/lib/client.js +105 -65
  400. package/dist/kernel/client-ui-tool/lib/types/client/apply.d.ts +1 -2
  401. package/dist/kernel/client-ui-tool/lib/types/client/apply.js +6 -2
  402. package/dist/kernel/client-ui-tool/lib/types/client/contract/slots.d.ts +13 -3
  403. package/dist/kernel/client-ui-tool/lib/types/client/index.d.ts +1 -1
  404. package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolCallTree.d.ts +1 -1
  405. package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolCallTree.js +8 -6
  406. package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolDetails.d.ts +2 -9
  407. package/dist/kernel/client-ui-tool/lib/types/client/tool/ToolDetails.js +4 -3
  408. package/dist/kernel/client-ui-tool/lib/types/client/tool/models/read-card-model.d.ts +4 -18
  409. package/dist/kernel/client-ui-tool/lib/types/client/tool/models/read-card-model.js +21 -4
  410. package/dist/kernel/client-ui-tool/lib/types/client/tool/models/tool-call-model.d.ts +2 -9
  411. package/dist/kernel/client-ui-tool/lib/types/client/tool/models/tool-call-model.js +22 -2
  412. package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/GenericToolCard.d.ts +1 -1
  413. package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/GenericToolCard.js +3 -3
  414. package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/file-mutation-row.d.ts +1 -1
  415. package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/file-mutation-row.js +2 -2
  416. package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/read-row.d.ts +1 -1
  417. package/dist/kernel/client-ui-tool/lib/types/client/tool/toolviews/read-row.js +3 -3
  418. package/dist/kernel/client-ui-tool/package.json +4 -6
  419. package/dist/kernel/client-ui-trajectory/lib/client.js +144 -143
  420. package/dist/kernel/client-ui-trajectory/lib/types/client/trajectory-assistant-definition.js +2 -1
  421. package/dist/kernel/client-ui-trajectory/package.json +2 -4
  422. package/dist/kernel/client-ui-user-questions/lib/client.js +73 -36
  423. package/dist/kernel/client-ui-user-questions/lib/types/client/QuestionComposer.js +24 -6
  424. package/dist/kernel/client-ui-user-questions/package.json +12 -10
  425. package/dist/kernel/client-ui-workflow-run/lib/client.js +262 -87
  426. package/dist/kernel/client-ui-workflow-run/lib/types/client/WorkflowRunPanel.js +162 -23
  427. package/dist/kernel/client-ui-workflow-run/package.json +3 -7
  428. package/dist/kernel/client-ui-workspace/lib/client.js +96 -60
  429. package/dist/kernel/client-ui-workspace/lib/types/client/WorkspaceBrowser.d.ts +1 -1
  430. package/dist/kernel/client-ui-workspace/lib/types/client/WorkspaceBrowser.js +38 -6
  431. package/dist/kernel/client-ui-workspace/lib/types/client/contract/slots.d.ts +9 -7
  432. package/dist/kernel/client-ui-workspace/lib/types/client/index.js +4 -2
  433. package/dist/kernel/client-ui-workspace/lib/types/client/rows/Rows.d.ts +4 -1
  434. package/dist/kernel/client-ui-workspace/lib/types/client/rows/Rows.js +5 -3
  435. package/dist/kernel/client-ui-workspace/package.json +6 -4
  436. package/dist/kernel/client-web/lib/base.css +41 -0
  437. package/dist/kernel/client-web/lib/boot-page.module.css +104 -0
  438. package/dist/kernel/client-web/lib/index.js +154 -308
  439. package/dist/kernel/client-web/lib/invariant.js +2 -0
  440. package/dist/kernel/client-web/lib/types/boot-page.d.ts +46 -0
  441. package/dist/kernel/client-web/lib/types/boot-page.js +93 -0
  442. package/dist/kernel/client-web/lib/types/boot.d.ts +20 -33
  443. package/dist/kernel/client-web/lib/types/boot.js +76 -149
  444. package/dist/kernel/client-web/lib/types/index.d.ts +5 -11
  445. package/dist/kernel/client-web/lib/types/index.js +4 -10
  446. package/dist/kernel/client-web/lib/types/loader-status.d.ts +3 -51
  447. package/dist/kernel/client-web/lib/types/loader-status.js +0 -35
  448. package/dist/kernel/client-web/lib/types/platform.d.ts +3 -1
  449. package/dist/kernel/client-web/lib/types/platform.js +4 -3
  450. package/dist/kernel/client-web/lib/types/seed.js +0 -6
  451. package/dist/kernel/client-web/package.json +8 -15
  452. package/dist/kernel/cmdline/package.json +1 -1
  453. package/dist/kernel/code-runtime/package.json +1 -1
  454. package/dist/kernel/code-runtime-python/lib/index.js +413 -0
  455. package/dist/kernel/code-runtime-python/lib/invariant.js +24 -0
  456. package/dist/kernel/code-runtime-python/lib/types/index.d.ts +12 -0
  457. package/dist/kernel/code-runtime-python/lib/types/index.js +11 -0
  458. package/dist/kernel/code-runtime-python/lib/types/invariant.d.ts +16 -0
  459. package/dist/kernel/code-runtime-python/lib/types/invariant.js +23 -0
  460. package/dist/kernel/code-runtime-python/lib/types/protocol.d.ts +329 -0
  461. package/dist/kernel/code-runtime-python/lib/types/protocol.js +496 -0
  462. package/dist/kernel/{client-schema-form → code-runtime-python}/package.json +11 -14
  463. package/dist/kernel/code-runtime-python/py/protocol.py +138 -0
  464. package/dist/kernel/code-runtime-worker-thread/package.json +1 -1
  465. package/dist/kernel/command-compact/package.json +1 -1
  466. package/dist/kernel/command-feedback/package.json +1 -1
  467. package/dist/kernel/command-goal/lib/index.js +40 -6
  468. package/dist/kernel/command-goal/lib/types/index.js +35 -6
  469. package/dist/kernel/command-goal/package.json +2 -1
  470. package/dist/kernel/commands/lib/index.js +78 -21
  471. package/dist/kernel/commands/lib/typert.host.js +53 -9
  472. package/dist/kernel/commands/lib/typert.remote-client.d.ts +4 -3
  473. package/dist/kernel/commands/lib/typert.remote-client.js +18 -2
  474. package/dist/kernel/commands/lib/types/index.d.ts +20 -1
  475. package/dist/kernel/commands/lib/types/index.js +77 -20
  476. package/dist/kernel/commands/lib/types/types.d.ts +8 -0
  477. package/dist/kernel/commands/package.json +5 -1
  478. package/dist/kernel/compaction/package.json +1 -1
  479. package/dist/kernel/compaction-basic/package.json +1 -1
  480. package/dist/kernel/compaction-tool-result-pruner/package.json +1 -1
  481. package/dist/kernel/cordis/package.json +3 -1
  482. package/dist/kernel/cordis-client-runner/lib/client.js +171 -37
  483. package/dist/kernel/cordis-client-runner/lib/types/client/api-catalog.js +3 -3
  484. package/dist/kernel/cordis-client-runner/lib/types/client/slot-catalog.js +208 -30
  485. package/dist/kernel/cordis-client-runner/package.json +2 -5
  486. package/dist/kernel/cordis-host-runner/lib/index.js +28 -5
  487. package/dist/kernel/cordis-host-runner/lib/typert.host.js +54 -6
  488. package/dist/kernel/cordis-host-runner/lib/types/sandbox.d.ts +9 -3
  489. package/dist/kernel/cordis-host-runner/lib/types/sandbox.js +34 -6
  490. package/dist/kernel/cordis-host-runner/package.json +1 -1
  491. package/dist/kernel/cordis-plugin-group/package.json +3 -1
  492. package/dist/kernel/cordis-plugin-hmr/lib/types/index.js +1 -1
  493. package/dist/kernel/cordis-plugin-hmr/package.json +3 -1
  494. package/dist/kernel/cordis-plugin-include/lib/index.js +2 -2
  495. package/dist/kernel/cordis-plugin-include/lib/types/index.d.ts +2 -2
  496. package/dist/kernel/cordis-plugin-include/lib/types/index.js +2 -2
  497. package/dist/kernel/cordis-plugin-include/package.json +3 -1
  498. package/dist/kernel/cordis-plugin-loader/package.json +3 -1
  499. package/dist/kernel/cordis-plugin-logger-console/package.json +3 -1
  500. package/dist/kernel/cordis-plugin-timer/package.json +3 -1
  501. package/dist/kernel/cosmokit/package.json +3 -1
  502. package/dist/kernel/credentials/lib/index.js +104 -13
  503. package/dist/kernel/credentials/lib/invariant.js +3 -3
  504. package/dist/kernel/credentials/lib/types/index.d.ts +136 -7
  505. package/dist/kernel/credentials/lib/types/index.js +114 -15
  506. package/dist/kernel/credentials/lib/types/invariant.js +3 -3
  507. package/dist/kernel/credentials/lib/types/types.d.ts +58 -5
  508. package/dist/kernel/credentials/lib/types/types.js +4 -4
  509. package/dist/kernel/credentials/package.json +1 -1
  510. package/dist/kernel/credentials-local/lib/index.js +387 -29
  511. package/dist/kernel/credentials-local/lib/invariant.js +1 -1
  512. package/dist/kernel/credentials-local/lib/types/index.d.ts +57 -12
  513. package/dist/kernel/credentials-local/lib/types/index.js +445 -30
  514. package/dist/kernel/credentials-local/lib/types/invariant.js +1 -1
  515. package/dist/kernel/credentials-local/package.json +1 -1
  516. package/dist/kernel/e2b/package.json +1 -1
  517. package/dist/kernel/experimental-agent-team/lib/index.js +1728 -0
  518. package/dist/kernel/experimental-agent-team/lib/invariant.js +354 -0
  519. package/dist/kernel/experimental-agent-team/lib/types/activity.d.ts +23 -0
  520. package/dist/kernel/experimental-agent-team/lib/types/activity.js +85 -0
  521. package/dist/kernel/experimental-agent-team/lib/types/error.d.ts +13 -0
  522. package/dist/kernel/experimental-agent-team/lib/types/error.js +23 -0
  523. package/dist/kernel/experimental-agent-team/lib/types/fold.d.ts +44 -0
  524. package/dist/kernel/experimental-agent-team/lib/types/fold.js +243 -0
  525. package/dist/kernel/experimental-agent-team/lib/types/index.d.ts +115 -0
  526. package/dist/kernel/experimental-agent-team/lib/types/index.js +205 -0
  527. package/dist/kernel/experimental-agent-team/lib/types/invariant.d.ts +9 -0
  528. package/dist/kernel/experimental-agent-team/lib/types/invariant.js +29 -0
  529. package/dist/kernel/experimental-agent-team/lib/types/journal.d.ts +39 -0
  530. package/dist/kernel/experimental-agent-team/lib/types/journal.js +59 -0
  531. package/dist/kernel/experimental-agent-team/lib/types/lifecycle.d.ts +33 -0
  532. package/dist/kernel/experimental-agent-team/lib/types/lifecycle.js +85 -0
  533. package/dist/kernel/experimental-agent-team/lib/types/mailbox.d.ts +79 -0
  534. package/dist/kernel/experimental-agent-team/lib/types/mailbox.js +303 -0
  535. package/dist/kernel/experimental-agent-team/lib/types/roster.d.ts +113 -0
  536. package/dist/kernel/experimental-agent-team/lib/types/roster.js +445 -0
  537. package/dist/kernel/experimental-agent-team/lib/types/session-message.d.ts +11 -0
  538. package/dist/kernel/experimental-agent-team/lib/types/session-message.js +23 -0
  539. package/dist/kernel/experimental-agent-team/lib/types/task-board.d.ts +62 -0
  540. package/dist/kernel/experimental-agent-team/lib/types/task-board.js +275 -0
  541. package/dist/kernel/experimental-agent-team/lib/types/task-graph.d.ts +21 -0
  542. package/dist/kernel/experimental-agent-team/lib/types/task-graph.js +62 -0
  543. package/dist/kernel/experimental-agent-team/lib/types/types.d.ts +192 -0
  544. package/dist/kernel/experimental-agent-team/lib/types/types.js +26 -0
  545. package/dist/kernel/experimental-agent-team/lib/types/validation.d.ts +16 -0
  546. package/dist/kernel/experimental-agent-team/lib/types/validation.js +33 -0
  547. package/dist/kernel/experimental-agent-team/package.json +62 -0
  548. package/dist/kernel/experimental-tool-agent-team/lib/index.js +555 -0
  549. package/dist/kernel/experimental-tool-agent-team/lib/invariant.js +13 -0
  550. package/dist/kernel/experimental-tool-agent-team/lib/types/index.d.ts +19 -0
  551. package/dist/kernel/experimental-tool-agent-team/lib/types/index.js +379 -0
  552. package/dist/kernel/experimental-tool-agent-team/lib/types/invariant.d.ts +9 -0
  553. package/dist/kernel/experimental-tool-agent-team/lib/types/invariant.js +11 -0
  554. package/dist/kernel/experimental-tool-agent-team/package.json +61 -0
  555. package/dist/kernel/file-reference/lib/index.js +138 -0
  556. package/dist/kernel/file-reference/lib/invariant.js +23 -0
  557. package/dist/kernel/file-reference/lib/typert.host.d.ts +3 -0
  558. package/dist/kernel/file-reference/lib/typert.host.js +436 -0
  559. package/dist/kernel/file-reference/lib/typert.remote-client.d.ts +26 -0
  560. package/dist/kernel/file-reference/lib/typert.remote-client.js +59 -0
  561. package/dist/kernel/file-reference/lib/types/grammar.d.ts +33 -0
  562. package/dist/kernel/file-reference/lib/types/grammar.js +43 -0
  563. package/dist/kernel/file-reference/lib/types/index.d.ts +42 -0
  564. package/dist/kernel/file-reference/lib/types/index.js +75 -0
  565. package/dist/kernel/file-reference/lib/types/invariant.d.ts +16 -0
  566. package/dist/kernel/file-reference/lib/types/invariant.js +22 -0
  567. package/dist/kernel/file-reference/lib/types/types.d.ts +13 -0
  568. package/dist/kernel/file-reference/lib/types/types.js +7 -0
  569. package/dist/kernel/file-reference/package.json +70 -0
  570. package/dist/kernel/file-reference-local/lib/index.js +327 -0
  571. package/dist/kernel/file-reference-local/lib/invariant.js +23 -0
  572. package/dist/kernel/file-reference-local/lib/types/index.d.ts +35 -0
  573. package/dist/kernel/file-reference-local/lib/types/index.js +105 -0
  574. package/dist/kernel/file-reference-local/lib/types/invariant.d.ts +16 -0
  575. package/dist/kernel/file-reference-local/lib/types/invariant.js +22 -0
  576. package/dist/kernel/file-reference-local/lib/types/search.d.ts +52 -0
  577. package/dist/kernel/file-reference-local/lib/types/search.js +258 -0
  578. package/dist/kernel/file-reference-local/package.json +58 -0
  579. package/dist/kernel/fs/package.json +1 -1
  580. package/dist/kernel/fs-e2b/package.json +1 -1
  581. package/dist/kernel/fs-local/package.json +1 -1
  582. package/dist/kernel/fs-observation-policy/package.json +1 -1
  583. package/dist/kernel/fs-sandbox/package.json +1 -1
  584. package/dist/kernel/goal/lib/index.js +5 -2
  585. package/dist/kernel/goal/lib/typert.host.js +27 -3
  586. package/dist/kernel/goal/lib/types/index.js +2 -2
  587. package/dist/kernel/goal/lib/types/types.d.ts +3 -0
  588. package/dist/kernel/goal/package.json +1 -1
  589. package/dist/kernel/goal-round-driver/package.json +1 -1
  590. package/dist/kernel/headless/package.json +1 -1
  591. package/dist/kernel/home-paths/package.json +1 -1
  592. package/dist/kernel/hook-protocol/package.json +1 -1
  593. package/dist/kernel/hooks-claude-code/package.json +1 -1
  594. package/dist/kernel/hooks-codex/package.json +1 -1
  595. package/dist/kernel/host-apiproxy/lib/index.js +25 -57
  596. package/dist/kernel/host-apiproxy/lib/types/api/host.d.ts +2 -0
  597. package/dist/kernel/host-apiproxy/lib/types/api/host.schema.d.ts +1 -0
  598. package/dist/kernel/host-apiproxy/lib/types/api/host.schema.js +1 -0
  599. package/dist/kernel/host-apiproxy/lib/types/api/sessions.d.ts +4 -0
  600. package/dist/kernel/host-apiproxy/lib/types/api/sessions.schema.js +1 -0
  601. package/dist/kernel/host-apiproxy/lib/types/api-proxy.js +15 -53
  602. package/dist/kernel/host-apiproxy/package.json +1 -1
  603. package/dist/kernel/host-directory-picker/package.json +1 -1
  604. package/dist/kernel/host-directory-picker-auto/package.json +1 -1
  605. package/dist/kernel/host-directory-picker-browse/package.json +1 -1
  606. package/dist/kernel/host-directory-picker-native/package.json +1 -1
  607. package/dist/kernel/host-frontend-static/lib/index.js +34 -26
  608. package/dist/kernel/host-frontend-static/lib/types/index.d.ts +10 -10
  609. package/dist/kernel/host-frontend-static/lib/types/index.js +38 -27
  610. package/dist/kernel/host-frontend-static/package.json +2 -2
  611. package/dist/kernel/host-plugin-inventory/package.json +1 -1
  612. package/dist/kernel/host-webserver/lib/index.js +102 -6
  613. package/dist/kernel/host-webserver/lib/types/index.d.ts +33 -5
  614. package/dist/kernel/host-webserver/lib/types/index.js +28 -5
  615. package/dist/kernel/host-webserver/lib/types/injections.d.ts +56 -0
  616. package/dist/kernel/host-webserver/lib/types/injections.js +82 -0
  617. package/dist/kernel/host-webserver/package.json +1 -1
  618. package/dist/kernel/invariants/package.json +1 -1
  619. package/dist/kernel/jobs/package.json +1 -1
  620. package/dist/kernel/jobs-local/package.json +1 -1
  621. package/dist/kernel/launch-environment/package.json +1 -1
  622. package/dist/kernel/llm/lib/index.js +247 -25
  623. package/dist/kernel/llm/lib/types/assembler.d.ts +10 -1
  624. package/dist/kernel/llm/lib/types/assembler.js +20 -1
  625. package/dist/kernel/llm/lib/types/content.d.ts +59 -0
  626. package/dist/kernel/llm/lib/types/content.js +149 -0
  627. package/dist/kernel/llm/lib/types/index.d.ts +24 -1
  628. package/dist/kernel/llm/lib/types/index.js +61 -8
  629. package/dist/kernel/llm/lib/types/retry-policy.d.ts +1 -1
  630. package/dist/kernel/llm/lib/types/retry-policy.js +6 -2
  631. package/dist/kernel/llm/package.json +1 -1
  632. package/dist/kernel/llm-deepseek/lib/index.js +1100 -70
  633. package/dist/kernel/llm-deepseek/lib/types/adapter.d.ts +69 -1
  634. package/dist/kernel/llm-deepseek/lib/types/adapter.js +296 -60
  635. package/dist/kernel/llm-deepseek/lib/types/file-id.d.ts +19 -0
  636. package/dist/kernel/llm-deepseek/lib/types/file-id.js +18 -0
  637. package/dist/kernel/llm-deepseek/lib/types/file-store.d.ts +83 -0
  638. package/dist/kernel/llm-deepseek/lib/types/file-store.js +261 -0
  639. package/dist/kernel/llm-deepseek/lib/types/files-api.d.ts +103 -0
  640. package/dist/kernel/llm-deepseek/lib/types/files-api.js +206 -0
  641. package/dist/kernel/llm-deepseek/lib/types/index.d.ts +31 -3
  642. package/dist/kernel/llm-deepseek/lib/types/index.js +139 -3
  643. package/dist/kernel/llm-deepseek/lib/types/serialize.d.ts +55 -6
  644. package/dist/kernel/llm-deepseek/lib/types/serialize.js +179 -23
  645. package/dist/kernel/llm-deepseek/lib/types/types.d.ts +28 -5
  646. package/dist/kernel/llm-deepseek/lib/types/upload-index.d.ts +68 -0
  647. package/dist/kernel/llm-deepseek/lib/types/upload-index.js +171 -0
  648. package/dist/kernel/llm-deepseek/package.json +9 -1
  649. package/dist/kernel/llm-pi-ai/lib/index.js +1758 -1171
  650. package/dist/kernel/llm-pi-ai/lib/types/adapter.d.ts +30 -5
  651. package/dist/kernel/llm-pi-ai/lib/types/adapter.js +43 -23
  652. package/dist/kernel/llm-pi-ai/lib/types/auth.d.ts +60 -0
  653. package/dist/kernel/llm-pi-ai/lib/types/auth.js +196 -0
  654. package/dist/kernel/llm-pi-ai/lib/types/catalog.d.ts +176 -38
  655. package/dist/kernel/llm-pi-ai/lib/types/catalog.js +245 -50
  656. package/dist/kernel/llm-pi-ai/lib/types/config.d.ts +37 -5
  657. package/dist/kernel/llm-pi-ai/lib/types/config.js +67 -2
  658. package/dist/kernel/llm-pi-ai/lib/types/context.d.ts +8 -3
  659. package/dist/kernel/llm-pi-ai/lib/types/context.js +60 -16
  660. package/dist/kernel/llm-pi-ai/lib/types/index.d.ts +1 -0
  661. package/dist/kernel/llm-pi-ai/lib/types/index.js +21 -19
  662. package/dist/kernel/llm-pi-ai/lib/types/login.d.ts +21 -0
  663. package/dist/kernel/llm-pi-ai/lib/types/login.js +154 -0
  664. package/dist/kernel/llm-pi-ai/lib/types/stream.js +4 -0
  665. package/dist/kernel/llm-pi-ai/package.json +3 -1
  666. package/dist/kernel/llm-retry/package.json +1 -1
  667. package/dist/kernel/lsp/package.json +1 -1
  668. package/dist/kernel/lsp-stdio/package.json +1 -1
  669. package/dist/kernel/manifest.json +10 -2
  670. package/dist/kernel/mcp-client/package.json +1 -1
  671. package/dist/kernel/message-feedback/package.json +1 -1
  672. package/dist/kernel/native-command/package.json +1 -1
  673. package/dist/kernel/node-addon-landlock-run/lib/index.js +1 -1
  674. package/dist/kernel/node-addon-landlock-run/package.json +4 -2
  675. package/dist/kernel/output-retention/package.json +1 -1
  676. package/dist/kernel/permission-presets/lib/index.js +14 -2
  677. package/dist/kernel/permission-presets/lib/types/index.d.ts +5 -0
  678. package/dist/kernel/permission-presets/lib/types/index.js +11 -2
  679. package/dist/kernel/permission-presets/package.json +1 -1
  680. package/dist/kernel/persona/package.json +1 -1
  681. package/dist/kernel/plan-mode/lib/index.js +49 -15
  682. package/dist/kernel/plan-mode/lib/types/index.d.ts +22 -0
  683. package/dist/kernel/plan-mode/lib/types/index.js +45 -19
  684. package/dist/kernel/plan-mode/lib/types/types.d.ts +5 -4
  685. package/dist/kernel/plan-mode/package.json +1 -1
  686. package/dist/kernel/pwsh-local/package.json +1 -1
  687. package/dist/kernel/pwsh-sandbox/package.json +1 -1
  688. package/dist/kernel/repeat-tool-reminder/lib/index.js +1 -1
  689. package/dist/kernel/repeat-tool-reminder/package.json +1 -1
  690. package/dist/kernel/sandbox/package.json +1 -1
  691. package/dist/kernel/sandbox-local/lib/index.js +8 -13
  692. package/dist/kernel/sandbox-local/lib/types/index.d.ts +1 -3
  693. package/dist/kernel/sandbox-local/lib/types/index.js +4 -7
  694. package/dist/kernel/sandbox-local/lib/types/profiles.js +1 -1
  695. package/dist/kernel/sandbox-local/package.json +1 -1
  696. package/dist/kernel/sandbox-policy/package.json +1 -1
  697. package/dist/kernel/sandbox-windows-acl/package.json +1 -1
  698. package/dist/kernel/schedule/package.json +1 -1
  699. package/dist/kernel/schemastery/package.json +3 -1
  700. package/dist/kernel/scope/package.json +1 -1
  701. package/dist/kernel/sdk-client/lib/index.js +2 -2
  702. package/dist/kernel/sdk-client/lib/types/api.js +2 -2
  703. package/dist/kernel/sdk-client/lib/types/types.d.ts +4 -4
  704. package/dist/kernel/sdk-client/package.json +1 -1
  705. package/dist/kernel/sdk-jsonrpc-server/lib/index.js +12 -5
  706. package/dist/kernel/sdk-jsonrpc-server/lib/types/index.js +7 -0
  707. package/dist/kernel/sdk-jsonrpc-server/lib/types/server.d.ts +2 -1
  708. package/dist/kernel/sdk-jsonrpc-server/lib/types/server.js +15 -6
  709. package/dist/kernel/sdk-jsonrpc-server/package.json +2 -1
  710. package/dist/kernel/sdk-protocol/package.json +1 -1
  711. package/dist/kernel/session/lib/index.js +4 -0
  712. package/dist/kernel/session/lib/types/known-event-types.js +4 -0
  713. package/dist/kernel/session/lib/types/types.d.ts +6 -1
  714. package/dist/kernel/session/package.json +1 -1
  715. package/dist/kernel/session-checkpoint-policy/package.json +1 -1
  716. package/dist/kernel/session-log-export/package.json +2 -5
  717. package/dist/kernel/session-persistence/lib/index.js +1 -1
  718. package/dist/kernel/session-persistence/lib/types/coordinator.js +2 -1
  719. package/dist/kernel/session-persistence/package.json +1 -1
  720. package/dist/kernel/session-persistence-jsonl/package.json +1 -1
  721. package/dist/kernel/session-persistence-sqlite/lib/index.js +1105 -375
  722. package/dist/kernel/session-persistence-sqlite/lib/invariant.js +2 -2
  723. package/dist/kernel/session-persistence-sqlite/lib/types/codec.d.ts +72 -0
  724. package/dist/kernel/session-persistence-sqlite/lib/types/codec.js +304 -0
  725. package/dist/kernel/session-persistence-sqlite/lib/types/compression.d.ts +46 -0
  726. package/dist/kernel/session-persistence-sqlite/lib/types/compression.js +234 -0
  727. package/dist/kernel/session-persistence-sqlite/lib/types/index.d.ts +22 -80
  728. package/dist/kernel/session-persistence-sqlite/lib/types/index.js +27 -278
  729. package/dist/kernel/session-persistence-sqlite/lib/types/invariant.js +2 -2
  730. package/dist/kernel/session-persistence-sqlite/lib/types/schema.d.ts +63 -85
  731. package/dist/kernel/session-persistence-sqlite/lib/types/schema.js +293 -159
  732. package/dist/kernel/session-persistence-sqlite/lib/types/sql.d.ts +15 -0
  733. package/dist/kernel/session-persistence-sqlite/lib/types/sql.js +57 -0
  734. package/dist/kernel/session-persistence-sqlite/lib/types/store.d.ts +66 -0
  735. package/dist/kernel/session-persistence-sqlite/lib/types/store.js +394 -0
  736. package/dist/kernel/session-persistence-sqlite/package.json +9 -3
  737. package/dist/kernel/session-persistence-sqlite/resources/sql/begin-immediate.sql +1 -0
  738. package/dist/kernel/session-persistence-sqlite/resources/sql/begin.sql +1 -0
  739. package/dist/kernel/session-persistence-sqlite/resources/sql/commit.sql +1 -0
  740. package/dist/kernel/session-persistence-sqlite/resources/sql/delete-events-from.sql +2 -0
  741. package/dist/kernel/session-persistence-sqlite/resources/sql/foreign-keys-on.sql +1 -0
  742. package/dist/kernel/session-persistence-sqlite/resources/sql/insert-event.sql +3 -0
  743. package/dist/kernel/session-persistence-sqlite/resources/sql/insert-persistence-state.sql +2 -0
  744. package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-delete.sql +1 -0
  745. package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-persist.sql +1 -0
  746. package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-truncate.sql +1 -0
  747. package/dist/kernel/session-persistence-sqlite/resources/sql/journal-mode-wal.sql +1 -0
  748. package/dist/kernel/session-persistence-sqlite/resources/sql/mmap-off.sql +1 -0
  749. package/dist/kernel/session-persistence-sqlite/resources/sql/rollback.sql +1 -0
  750. package/dist/kernel/session-persistence-sqlite/resources/sql/schema.sql +30 -0
  751. package/dist/kernel/session-persistence-sqlite/resources/sql/select-application-id.sql +1 -0
  752. package/dist/kernel/session-persistence-sqlite/resources/sql/select-events-from.sql +4 -0
  753. package/dist/kernel/session-persistence-sqlite/resources/sql/select-events.sql +4 -0
  754. package/dist/kernel/session-persistence-sqlite/resources/sql/select-mmap-size.sql +1 -0
  755. package/dist/kernel/session-persistence-sqlite/resources/sql/select-packed-predecessors.sql +6 -0
  756. package/dist/kernel/session-persistence-sqlite/resources/sql/select-schema-objects.sql +4 -0
  757. package/dist/kernel/session-persistence-sqlite/resources/sql/select-session.sql +4 -0
  758. package/dist/kernel/session-persistence-sqlite/resources/sql/select-sessions.sql +3 -0
  759. package/dist/kernel/session-persistence-sqlite/resources/sql/select-store-id.sql +3 -0
  760. package/dist/kernel/session-persistence-sqlite/resources/sql/select-synchronous.sql +1 -0
  761. package/dist/kernel/session-persistence-sqlite/resources/sql/select-tail-events.sql +5 -0
  762. package/dist/kernel/session-persistence-sqlite/resources/sql/select-trusted-schema.sql +1 -0
  763. package/dist/kernel/session-persistence-sqlite/resources/sql/select-user-object-count.sql +3 -0
  764. package/dist/kernel/session-persistence-sqlite/resources/sql/select-user-version.sql +1 -0
  765. package/dist/kernel/session-persistence-sqlite/resources/sql/set-application-id.sql +1 -0
  766. package/dist/kernel/session-persistence-sqlite/resources/sql/set-user-version-17.sql +1 -0
  767. package/dist/kernel/session-persistence-sqlite/resources/sql/synchronous-full.sql +1 -0
  768. package/dist/kernel/session-persistence-sqlite/resources/sql/trusted-schema-off.sql +1 -0
  769. package/dist/kernel/session-persistence-sqlite/resources/sql/update-session-revision.sql +3 -0
  770. package/dist/kernel/session-persistence-sqlite/resources/sql/upsert-session.sql +13 -0
  771. package/dist/kernel/session-projection/lib/index.js +55 -30
  772. package/dist/kernel/session-projection/lib/types/index.d.ts +57 -34
  773. package/dist/kernel/session-projection/lib/types/index.js +61 -36
  774. package/dist/kernel/session-projection/lib/types/types.d.ts +11 -4
  775. package/dist/kernel/session-projection/package.json +1 -1
  776. package/dist/kernel/session-projection-cache/lib/index.js +1 -1
  777. package/dist/kernel/session-projection-cache/lib/types/index.d.ts +1 -1
  778. package/dist/kernel/session-projection-cache/lib/types/index.js +4 -5
  779. package/dist/kernel/session-projection-cache/package.json +1 -1
  780. package/dist/kernel/session-query/package.json +1 -1
  781. package/dist/kernel/session-query-sqlite/package.json +1 -1
  782. package/dist/kernel/session-reference/lib/index.js +232 -110
  783. package/dist/kernel/session-reference/lib/typert.host.d.ts +3 -0
  784. package/dist/kernel/session-reference/lib/typert.host.js +458 -0
  785. package/dist/kernel/session-reference/lib/typert.remote-client.d.ts +26 -0
  786. package/dist/kernel/session-reference/lib/typert.remote-client.js +62 -0
  787. package/dist/kernel/session-reference/lib/types/index.d.ts +25 -5
  788. package/dist/kernel/session-reference/lib/types/index.js +230 -126
  789. package/dist/kernel/session-reference/lib/types/types.d.ts +14 -3
  790. package/dist/kernel/session-reference/lib/types/types.js +6 -1
  791. package/dist/kernel/session-reference/package.json +23 -3
  792. package/dist/kernel/session-stats/lib/index.js +31 -12
  793. package/dist/kernel/session-stats/lib/types/projection.d.ts +64 -2
  794. package/dist/kernel/session-stats/lib/types/projection.js +31 -12
  795. package/dist/kernel/session-stats/package.json +1 -1
  796. package/dist/kernel/session-telemetry/package.json +1 -1
  797. package/dist/kernel/session-telemetry-otel/package.json +1 -1
  798. package/dist/kernel/session-title/lib/index.js +6 -2
  799. package/dist/kernel/session-title/lib/types/index.js +3 -2
  800. package/dist/kernel/session-title/lib/types/types.d.ts +3 -0
  801. package/dist/kernel/session-title/package.json +1 -1
  802. package/dist/kernel/session-title-all-prompts-llm/package.json +1 -1
  803. package/dist/kernel/session-title-first-prompt-llm/package.json +1 -1
  804. package/dist/kernel/session-title-llm/package.json +1 -1
  805. package/dist/kernel/settings/package.json +1 -1
  806. package/dist/kernel/settings-file/package.json +1 -1
  807. package/dist/kernel/shell/package.json +1 -1
  808. package/dist/kernel/shell-env/package.json +1 -1
  809. package/dist/kernel/skill/package.json +1 -1
  810. package/dist/kernel/skill-badge/assets/nomix-badge.md +6 -6
  811. package/dist/kernel/skill-badge/assets/nomix-badge.png +0 -0
  812. package/dist/kernel/skill-badge/lib/index.js +1 -1
  813. package/dist/kernel/skill-badge/lib/types/index.js +1 -1
  814. package/dist/kernel/skill-badge/package.json +1 -1
  815. package/dist/kernel/skill-filesystem/package.json +1 -1
  816. package/dist/kernel/spill/package.json +1 -1
  817. package/dist/kernel/spill-local/package.json +1 -1
  818. package/dist/kernel/spill-policy/package.json +1 -1
  819. package/dist/kernel/storage/package.json +1 -1
  820. package/dist/kernel/storage-domain/package.json +1 -1
  821. package/dist/kernel/storage-json/package.json +1 -1
  822. package/dist/kernel/storage-sqlite/package.json +1 -1
  823. package/dist/kernel/subagent/lib/index.js +123 -20
  824. package/dist/kernel/subagent/lib/types/continuation.d.ts +21 -2
  825. package/dist/kernel/subagent/lib/types/continuation.js +58 -7
  826. package/dist/kernel/subagent/lib/types/index.d.ts +11 -0
  827. package/dist/kernel/subagent/lib/types/index.js +16 -0
  828. package/dist/kernel/subagent/lib/types/out-of-process.d.ts +2 -0
  829. package/dist/kernel/subagent/lib/types/out-of-process.js +31 -1
  830. package/dist/kernel/subagent/lib/types/projection.d.ts +55 -8
  831. package/dist/kernel/subagent/lib/types/projection.js +30 -15
  832. package/dist/kernel/subagent/lib/types/run-settlement.js +10 -3
  833. package/dist/kernel/subagent/lib/types/types.d.ts +7 -0
  834. package/dist/kernel/subagent/package.json +1 -1
  835. package/dist/kernel/subagent-acp/package.json +1 -1
  836. package/dist/kernel/subagent-claude-code/cordis.patch.yml +6 -0
  837. package/dist/kernel/subagent-claude-code/lib/index.js +267 -73
  838. package/dist/kernel/subagent-claude-code/lib/types/index.d.ts +16 -6
  839. package/dist/kernel/subagent-claude-code/lib/types/index.js +35 -14
  840. package/dist/kernel/subagent-claude-code/lib/types/process.d.ts +5 -7
  841. package/dist/kernel/subagent-claude-code/lib/types/process.js +12 -24
  842. package/dist/kernel/subagent-claude-code/lib/types/run.d.ts +24 -7
  843. package/dist/kernel/subagent-claude-code/lib/types/run.js +266 -40
  844. package/dist/kernel/subagent-claude-code/package.json +10 -2
  845. package/dist/kernel/subagent-codex/cordis.patch.yml +5 -0
  846. package/dist/kernel/subagent-codex/lib/index.js +482 -91
  847. package/dist/kernel/subagent-codex/lib/types/index.d.ts +11 -6
  848. package/dist/kernel/subagent-codex/lib/types/index.js +33 -12
  849. package/dist/kernel/subagent-codex/lib/types/run.d.ts +17 -8
  850. package/dist/kernel/subagent-codex/lib/types/run.js +235 -42
  851. package/dist/kernel/subagent-codex/lib/types/wire.d.ts +49 -1
  852. package/dist/kernel/subagent-codex/lib/types/wire.js +280 -33
  853. package/dist/kernel/subagent-codex/package.json +10 -5
  854. package/dist/kernel/subagent-fork-in-process/package.json +1 -1
  855. package/dist/kernel/subagent-in-process-driver/package.json +1 -1
  856. package/dist/kernel/subagent-nomix-sdk/package.json +1 -1
  857. package/dist/kernel/subagent-spawn-in-process/package.json +1 -1
  858. package/dist/kernel/subprocess/package.json +1 -1
  859. package/dist/kernel/subprocess-e2b/package.json +1 -1
  860. package/dist/kernel/subprocess-local/lib/index.js +303 -1
  861. package/dist/kernel/subprocess-local/lib/types/process-inspector.js +3 -0
  862. package/dist/kernel/subprocess-local/lib/types/terminal.d.ts +6 -1
  863. package/dist/kernel/subprocess-local/lib/types/terminal.js +78 -1
  864. package/dist/kernel/subprocess-local/lib/types/windows-inspector.d.ts +80 -0
  865. package/dist/kernel/subprocess-local/lib/types/windows-inspector.js +259 -0
  866. package/dist/kernel/subprocess-local/package.json +2 -1
  867. package/dist/kernel/system-prompt/package.json +1 -1
  868. package/dist/kernel/terminal/package.json +1 -1
  869. package/dist/kernel/terminal-bash/lib/index.js +85 -20
  870. package/dist/kernel/terminal-bash/lib/types/config.d.ts +29 -5
  871. package/dist/kernel/terminal-bash/lib/types/config.js +33 -3
  872. package/dist/kernel/terminal-bash/lib/types/index.d.ts +7 -0
  873. package/dist/kernel/terminal-bash/lib/types/index.js +65 -13
  874. package/dist/kernel/terminal-bash/package.json +2 -1
  875. package/dist/kernel/time-context/lib/index.js +1 -1
  876. package/dist/kernel/time-context/lib/invariant.js +1 -1
  877. package/dist/kernel/time-context/package.json +1 -1
  878. package/dist/kernel/timeout/package.json +1 -1
  879. package/dist/kernel/tmux-context/lib/index.js +1 -1
  880. package/dist/kernel/tmux-context/package.json +1 -1
  881. package/dist/kernel/token-meter/lib/index.js +77 -21
  882. package/dist/kernel/token-meter/lib/types/breakdown-projection.d.ts +76 -9
  883. package/dist/kernel/token-meter/lib/types/breakdown-projection.js +22 -6
  884. package/dist/kernel/token-meter/lib/types/usage-projection.d.ts +186 -25
  885. package/dist/kernel/token-meter/lib/types/usage-projection.js +44 -15
  886. package/dist/kernel/token-meter/package.json +1 -1
  887. package/dist/kernel/tool-ask-user/package.json +1 -1
  888. package/dist/kernel/tool-bash/package.json +1 -1
  889. package/dist/kernel/tool-bash-persistent/lib/index.js +15 -5
  890. package/dist/kernel/tool-bash-persistent/lib/types/index.js +23 -6
  891. package/dist/kernel/tool-bash-persistent/package.json +1 -1
  892. package/dist/kernel/tool-call-timeout-policy/package.json +1 -1
  893. package/dist/kernel/tool-cordis/lib/index.js +655 -83
  894. package/dist/kernel/tool-cordis/lib/types/api-catalog.js +439 -41
  895. package/dist/kernel/tool-cordis/package.json +1 -1
  896. package/dist/kernel/tool-fs/lib/index.js +80 -52
  897. package/dist/kernel/tool-fs/lib/types/read-image.d.ts +16 -12
  898. package/dist/kernel/tool-fs/lib/types/read-image.js +73 -29
  899. package/dist/kernel/tool-fs/package.json +1 -1
  900. package/dist/kernel/tool-fs-search/lib/index.js +11 -7
  901. package/dist/kernel/tool-fs-search/lib/types/search-core.d.ts +5 -6
  902. package/dist/kernel/tool-fs-search/lib/types/search-core.js +12 -7
  903. package/dist/kernel/tool-fs-search/package.json +1 -1
  904. package/dist/kernel/tool-goal/package.json +1 -1
  905. package/dist/kernel/tool-jobs/package.json +1 -1
  906. package/dist/kernel/tool-lsp/package.json +1 -1
  907. package/dist/kernel/tool-pwsh/package.json +1 -1
  908. package/dist/kernel/tool-pwsh-persistent/lib/index.js +407 -0
  909. package/dist/kernel/tool-pwsh-persistent/lib/invariant.js +24 -0
  910. package/dist/kernel/tool-pwsh-persistent/lib/types/index.d.ts +24 -0
  911. package/dist/kernel/tool-pwsh-persistent/lib/types/index.js +465 -0
  912. package/dist/kernel/tool-pwsh-persistent/lib/types/invariant.d.ts +16 -0
  913. package/dist/kernel/tool-pwsh-persistent/lib/types/invariant.js +23 -0
  914. package/dist/kernel/tool-pwsh-persistent/package.json +62 -0
  915. package/dist/kernel/tool-ralph/package.json +1 -1
  916. package/dist/kernel/tool-session-query/package.json +1 -1
  917. package/dist/kernel/tool-skill/package.json +1 -1
  918. package/dist/kernel/tool-str-replace-editor/package.json +1 -1
  919. package/dist/kernel/tool-subagent/lib/index.js +10 -8
  920. package/dist/kernel/tool-subagent/lib/types/index.js +15 -8
  921. package/dist/kernel/tool-subagent/package.json +1 -1
  922. package/dist/kernel/tool-subagent-control/package.json +1 -1
  923. package/dist/kernel/tool-subagent-report/lib/index.js +1 -1
  924. package/dist/kernel/tool-subagent-report/lib/types/index.d.ts +3 -3
  925. package/dist/kernel/tool-subagent-report/lib/types/index.js +1 -1
  926. package/dist/kernel/tool-subagent-report/package.json +1 -1
  927. package/dist/kernel/tool-terminal/package.json +1 -1
  928. package/dist/kernel/tool-todo/lib/index.js +5 -2
  929. package/dist/kernel/tool-todo/lib/types/index.js +2 -2
  930. package/dist/kernel/tool-todo/lib/types/types.d.ts +3 -0
  931. package/dist/kernel/tool-todo/package.json +1 -1
  932. package/dist/kernel/tool-web/lib/index.js +101 -26
  933. package/dist/kernel/tool-web/lib/types/index.d.ts +4 -2
  934. package/dist/kernel/tool-web/lib/types/index.js +5 -3
  935. package/dist/kernel/tool-web/lib/types/search.d.ts +23 -20
  936. package/dist/kernel/tool-web/lib/types/search.js +109 -20
  937. package/dist/kernel/tool-web/package.json +1 -1
  938. package/dist/kernel/tool-workflow/package.json +1 -1
  939. package/dist/kernel/tools/package.json +1 -1
  940. package/dist/kernel/typert-generator/lib/index.js +8 -3
  941. package/dist/kernel/typert-generator/lib/types/cordis-catalog.js +8 -3
  942. package/dist/kernel/typert-generator/package.json +1 -1
  943. package/dist/kernel/typert-loader/package.json +1 -1
  944. package/dist/kernel/typert-protocol/package.json +1 -1
  945. package/dist/kernel/typert-registry/package.json +1 -1
  946. package/dist/kernel/user-approval/package.json +1 -1
  947. package/dist/kernel/user-questions/package.json +1 -1
  948. package/dist/kernel/web/lib/types/types.d.ts +4 -3
  949. package/dist/kernel/web/package.json +1 -1
  950. package/dist/kernel/web-app/cordis.patch.yml +27 -6
  951. package/dist/kernel/web-app/lib/index.js +111 -15
  952. package/dist/kernel/web-app/lib/startup.js +4 -2
  953. package/dist/kernel/web-app/lib/types/index.d.ts +8 -4
  954. package/dist/kernel/web-app/lib/types/index.js +116 -23
  955. package/dist/kernel/web-app/lib/types/startup.d.ts +3 -1
  956. package/dist/kernel/web-app/lib/types/startup.js +4 -1
  957. package/dist/kernel/web-app/package.json +12 -2
  958. package/dist/kernel/web-fetch-http/lib/index.js +1 -1
  959. package/dist/kernel/web-fetch-http/lib/types/index.d.ts +1 -1
  960. package/dist/kernel/web-fetch-http/lib/types/index.js +1 -1
  961. package/dist/kernel/web-fetch-http/package.json +1 -1
  962. package/dist/kernel/web-frontend/dist/assets/index-BnapMmQ_.css +1 -0
  963. package/dist/kernel/web-frontend/dist/assets/index-Dx7Ws_OC.js +96 -0
  964. package/dist/kernel/web-frontend/dist/assets/langs/{php-D-uCvoST.js → php-DDkx9sim.js} +2 -2
  965. package/dist/{assets/web/assets/langs/ruby-DEItuUFs.js → kernel/web-frontend/dist/assets/langs/ruby-DCxyoPen.js} +2 -2
  966. package/dist/kernel/web-frontend/dist/assets/{vendor-Cjbwl5VI.js → vendor-D22_Mp1f.js} +2 -2
  967. package/dist/kernel/web-frontend/dist/favicon.svg +8 -0
  968. package/dist/kernel/web-frontend/dist/index.html +5 -5
  969. package/dist/kernel/web-frontend/package.json +5 -8
  970. package/dist/kernel/web-search-deepseek/lib/index.js +1 -1
  971. package/dist/kernel/web-search-deepseek/lib/types/provider.js +1 -1
  972. package/dist/kernel/web-search-deepseek/package.json +1 -1
  973. package/dist/kernel/web-search-exa/lib/index.js +1 -1
  974. package/dist/kernel/web-search-exa/lib/types/provider.js +1 -1
  975. package/dist/kernel/web-search-exa/package.json +1 -1
  976. package/dist/kernel/web-search-perplexity/lib/index.js +1 -1
  977. package/dist/kernel/web-search-perplexity/lib/types/provider.js +1 -1
  978. package/dist/kernel/web-search-perplexity/package.json +1 -1
  979. package/dist/kernel/workflow/package.json +1 -1
  980. package/dist/kernel/workflow-worker-thread/package.json +1 -1
  981. package/dist/kernel/workspace/package.json +1 -1
  982. package/dist/plugins/manifest.json +50 -10
  983. package/dist/runtime/index.js +0 -2
  984. package/package.json +8 -6
  985. package/dist/assets/web/assets/index-B_fSXASy.css +0 -1
  986. package/dist/assets/web/assets/index-B_sZ-Gsu.js +0 -112
  987. package/dist/cli/builtin-registry.d.ts +0 -5
  988. package/dist/cli/profile-boot-CeU09iFc.js +0 -2
  989. package/dist/kernel/app-boot/lib/types/legacy-branding.d.ts +0 -6
  990. package/dist/kernel/app-boot/lib/types/legacy-branding.js +0 -18
  991. package/dist/kernel/client-schema-form/lib/index.js +0 -137
  992. package/dist/kernel/client-schema-form/lib/types/index.d.ts +0 -10
  993. package/dist/kernel/client-schema-form/lib/types/index.js +0 -9
  994. package/dist/kernel/client-schema-form/lib/types/model.d.ts +0 -66
  995. package/dist/kernel/client-schema-form/lib/types/model.js +0 -153
  996. package/dist/kernel/client-ui-subagent/lib/types/client/SubagentCatalogAction.d.ts +0 -18
  997. package/dist/kernel/client-ui-theme/lib/styles/base.css +0 -15
  998. package/dist/kernel/client-ui-theme/lib/styles/design-platform.css +0 -338
  999. package/dist/kernel/client-ui-theme/lib/styles/gradient-shadow-text.css +0 -232
  1000. package/dist/kernel/client-ui-theme/lib/styles/scrollbar.css +0 -90
  1001. package/dist/kernel/client-ui-theme/lib/styles/shiki.css +0 -31
  1002. package/dist/kernel/client-web/lib/types/AppRoot.d.ts +0 -16
  1003. package/dist/kernel/client-web/lib/types/AppRoot.js +0 -27
  1004. package/dist/kernel/client-web/lib/types/DocumentTitle.js +0 -16
  1005. package/dist/kernel/client-web/lib/types/app-shell.d.ts +0 -28
  1006. package/dist/kernel/client-web/lib/types/app-shell.js +0 -27
  1007. package/dist/kernel/client-web/lib/types/app.d.ts +0 -21
  1008. package/dist/kernel/client-web-react/lib/index.js +0 -810
  1009. package/dist/kernel/client-web-react/lib/types/index.d.ts +0 -16
  1010. package/dist/kernel/client-web-react/lib/types/index.js +0 -6
  1011. package/dist/kernel/client-web-react/lib/types/use-invoke.d.ts +0 -9
  1012. package/dist/kernel/client-web-react/lib/types/use-invoke.js +0 -52
  1013. package/dist/kernel/skill-badge/assets/nomix-badge.svg +0 -8
  1014. package/dist/kernel/web-frontend/dist/assets/index-B_fSXASy.css +0 -1
  1015. package/dist/kernel/web-frontend/dist/assets/index-B_sZ-Gsu.js +0 -112
  1016. /package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/bind.js +0 -0
  1017. /package/dist/kernel/{client-web-react/lib/types → client-ui-renderer/lib/types/client}/session-provider.js +0 -0
@@ -353,7 +353,7 @@ function isHarnessError(value) {
353
353
  *
354
354
  * @module @nomix-ai/nomix-llm/retry-policy
355
355
  */
356
- const DEFAULT_MAX_RETRIES = 2;
356
+ const DEFAULT_MAX_RETRIES = 5;
357
357
  const DEFAULT_INITIAL_DELAY_MS = 500;
358
358
  const DEFAULT_MAX_DELAY_MS = 1e4;
359
359
  const DEFAULT_JITTER_RATIO = .1;
@@ -387,7 +387,12 @@ const NORMAL_POLICY_KEYS = new Set([
387
387
  "retryableCodes",
388
388
  "backoff"
389
389
  ]);
390
- const ALWAYS_POLICY_KEYS = new Set(["mode", "backoff"]);
390
+ const ALWAYS_POLICY_KEYS = new Set([
391
+ "mode",
392
+ "maxRetries",
393
+ "retryableCodes",
394
+ "backoff"
395
+ ]);
391
396
  const BACKOFF_KEYS = new Set([
392
397
  "initialDelayMs",
393
398
  "maxDelayMs",
@@ -575,6 +580,173 @@ function normalizeApiKey(raw) {
575
580
  };
576
581
  }
577
582
  //#endregion
583
+ //#region lib/types/content.js
584
+ /** Content-block structure helpers. @module @nomix-ai/nomix-llm/content */
585
+ /** Model-facing stand-in for an image removed to fit a provider request bound. */
586
+ const OFFLOADED_IMAGE_TEXT = "[image omitted to keep the request within its image limit; older images are omitted first. If this image is still needed, read its file again when a path is available; otherwise ask the user to attach it again.]";
587
+ /**
588
+ * Stable text shown to a model that cannot accept one durable image reference.
589
+ * @param ref - durable master reference omitted from the request.
590
+ * @returns deterministic text-only placeholder.
591
+ */
592
+ function textOnlyImageText(ref) {
593
+ return `[image omitted because this model accepts text only; attachment sha256:${String(ref.attachmentId).slice(7, 15)}]`;
594
+ }
595
+ /**
596
+ * Stable model-facing handle for one exact request image.
597
+ * @param version - exact request image shown beside the text.
598
+ * @returns attachment handle and request-image dimensions.
599
+ */
600
+ function requestImageHandleText(version) {
601
+ return `Image ${version.attachment.attachmentId}; request image ${version.width}x${version.height}px.`;
602
+ }
603
+ /**
604
+ * True when typed model content contains an image block, walking nested
605
+ * tool-result content. This is the one recursive image walk shared by every
606
+ * image policy (capability gating, text-only serialization, compaction
607
+ * survey), so a consumer cannot silently diverge on nesting depth.
608
+ * @param content - typed model content blocks.
609
+ * @returns whether any nested block is an image.
610
+ */
611
+ function contentHasImage(content) {
612
+ return content.some((block) => block.type === "image" || block.type === "tool-result" && contentHasImage(block.content));
613
+ }
614
+ /** Base64 length of raw image bytes, including padding. */
615
+ function base64Length(bytes) {
616
+ return Math.ceil(bytes / 3) * 4;
617
+ }
618
+ /** Collect represented image lengths in request and nested-block order. */
619
+ function collectImageLengths(blocks, lengths, policy) {
620
+ for (const block of blocks) if (block.type === "image") {
621
+ const bytes = policy.byteLength === void 0 ? block.attachment.bytes : policy.byteLength(block.attachment);
622
+ lengths.push(policy.representation === "base64" ? base64Length(bytes) : bytes);
623
+ } else if (block.type === "tool-result") collectImageLengths(block.content, lengths, policy);
624
+ }
625
+ /** Replace the first `remaining.count` image occurrences without mutating durable messages. */
626
+ function replaceOldestImages(blocks, remaining) {
627
+ let next;
628
+ for (const [index, block] of blocks.entries()) {
629
+ if (block.type === "image" && remaining.count > 0) {
630
+ remaining.count -= 1;
631
+ next ??= blocks.slice(0, index);
632
+ next.push({
633
+ type: "text",
634
+ text: OFFLOADED_IMAGE_TEXT
635
+ });
636
+ continue;
637
+ }
638
+ if (block.type === "tool-result") {
639
+ const content = replaceOldestImages(block.content, remaining);
640
+ if (content !== block.content) {
641
+ next ??= blocks.slice(0, index);
642
+ next.push({
643
+ ...block,
644
+ content
645
+ });
646
+ continue;
647
+ }
648
+ }
649
+ next?.push(block);
650
+ }
651
+ return next ?? blocks;
652
+ }
653
+ /** Replace every image occurrence, including nested tool results, for a text-only model. */
654
+ function replaceImagesForTextModel(blocks) {
655
+ let next;
656
+ for (const [index, block] of blocks.entries()) {
657
+ if (block.type === "image") {
658
+ next ??= blocks.slice(0, index);
659
+ next.push({
660
+ type: "text",
661
+ text: textOnlyImageText(block.attachment)
662
+ });
663
+ continue;
664
+ }
665
+ if (block.type === "tool-result") {
666
+ const content = replaceImagesForTextModel(block.content);
667
+ if (content !== block.content) {
668
+ next ??= blocks.slice(0, index);
669
+ next.push({
670
+ ...block,
671
+ content
672
+ });
673
+ continue;
674
+ }
675
+ }
676
+ next?.push(block);
677
+ }
678
+ return next ?? blocks;
679
+ }
680
+ /**
681
+ * Project durable image history into deterministic text for an exact text-only model.
682
+ * @param messages - complete request history.
683
+ * @returns the original list without images, otherwise shallow message copies with stable placeholders.
684
+ */
685
+ function projectImagesForTextModel(messages) {
686
+ if (!messages.some((message) => contentHasImage(message.content))) return messages;
687
+ return messages.map((message) => {
688
+ const content = replaceImagesForTextModel(message.content);
689
+ return content === message.content ? message : {
690
+ ...message,
691
+ content
692
+ };
693
+ });
694
+ }
695
+ /**
696
+ * Return transient request messages whose oldest images are replaced until
697
+ * their accumulated base64 payload fits the configured bound. The selection
698
+ * is deterministic from durable message order and attachment metadata; a
699
+ * provider can serialize the returned messages without reading omitted bytes.
700
+ * @param messages - complete request history, oldest first.
701
+ * @param maxRequestImageBytes - positive bound on total base64 image payload; undefined preserves every image.
702
+ * @returns the original messages when they already fit, otherwise shallow message copies with replaced content trees.
703
+ */
704
+ function offloadRequestImages(messages, maxRequestImageBytes) {
705
+ return offloadRequestImagesWithPolicy(messages, {
706
+ representation: "base64",
707
+ ...maxRequestImageBytes === void 0 ? {} : { maxBytes: maxRequestImageBytes },
708
+ byteQuantum: 1
709
+ });
710
+ }
711
+ /**
712
+ * Return a deterministic transient projection whose oldest images are replaced
713
+ * in whole count and byte quanta after a route budget is exceeded. The target
714
+ * depends only on complete durable history: at 129 one-megabyte images under
715
+ * a 128 MiB bound with a 64 MiB quantum, the oldest 65 images are removed so
716
+ * 64 MiB remain; that removed prefix stays fixed until total history exceeds
717
+ * 192 MiB.
718
+ * @param messages - complete request history, oldest first.
719
+ * @param policy - route representation, budgets, and removal quanta.
720
+ * @returns original messages below both bounds, otherwise shallow copies with deterministic placeholders.
721
+ */
722
+ function offloadRequestImagesWithPolicy(messages, policy) {
723
+ const lengths = [];
724
+ for (const message of messages) collectImageLengths(message.content, lengths, policy);
725
+ const total = lengths.reduce((sum, bytes) => sum + bytes, 0);
726
+ const excessCount = policy.maxImages === void 0 ? 0 : Math.max(0, lengths.length - policy.maxImages);
727
+ const excessBytes = policy.maxBytes === void 0 ? 0 : Math.max(0, total - policy.maxBytes);
728
+ if (excessCount === 0 && excessBytes === 0) return messages;
729
+ const countQuantum = policy.countQuantum ?? 1;
730
+ const byteQuantum = policy.byteQuantum ?? 1;
731
+ const removeCount = excessCount === 0 ? 0 : Math.ceil(excessCount / countQuantum) * countQuantum;
732
+ const removeBytes = excessBytes === 0 ? 0 : Math.ceil(excessBytes / byteQuantum) * byteQuantum;
733
+ let count = 0;
734
+ let removedBytes = 0;
735
+ for (const imageBytes of lengths) {
736
+ if (count >= removeCount && (removeBytes === 0 || (byteQuantum === 1 ? removedBytes >= removeBytes : removedBytes > removeBytes))) break;
737
+ removedBytes += imageBytes;
738
+ count += 1;
739
+ }
740
+ const remaining = { count };
741
+ return messages.map((message) => {
742
+ const content = replaceOldestImages(message.content, remaining);
743
+ return content === message.content ? message : {
744
+ ...message,
745
+ content
746
+ };
747
+ });
748
+ }
749
+ //#endregion
578
750
  //#region lib/types/attribution.js
579
751
  /**
580
752
  * Centralize the non-secret product identity every provider request sends as `User-Agent`, keeping
@@ -637,20 +809,6 @@ function assertNever(value, context) {
637
809
  throw new Error(`unreachable variant${context ? ` in ${context}` : ""}: ${rendered}`);
638
810
  }
639
811
  //#endregion
640
- //#region lib/types/content.js
641
- /** Content-block structure helpers. @module @nomix-ai/nomix-llm/content */
642
- /**
643
- * True when typed model content contains an image block, walking nested
644
- * tool-result content. This is the one recursive image walk shared by every
645
- * image policy (capability gating, text-only serialization, compaction
646
- * survey), so a consumer cannot silently diverge on nesting depth.
647
- * @param content - typed model content blocks.
648
- * @returns whether any nested block is an image.
649
- */
650
- function contentHasImage(content) {
651
- return content.some((block) => block.type === "image" || block.type === "tool-result" && contentHasImage(block.content));
652
- }
653
- //#endregion
654
812
  //#region lib/types/assembler.js
655
813
  /**
656
814
  * Incremental chunk-to-message assembler. This is the single canonical assembly
@@ -664,7 +822,8 @@ function contentHasImage(content) {
664
822
  * {@link ContentBlock}s and a final assistant {@link Message}.
665
823
  *
666
824
  * The agent loop feeds it while logging raw chunks for replay fidelity, then
667
- * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends.
825
+ * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends,
826
+ * or `interruptedBlocks()` when cancellation cut the stream short.
668
827
  *
669
828
  * Tolerant of delta-only protocols (no block-start/end); deltas arriving for
670
829
  * an index already closed by `block-end` are ignored (malformed stream) so a
@@ -797,6 +956,21 @@ var BlockAssembler = class {
797
956
  blocks() {
798
957
  return this.assembled().blocks;
799
958
  }
959
+ /**
960
+ * Assemble the prefix an interrupted stream can safely finalize: closed and
961
+ * open text/reasoning blocks with non-whitespace content, in stream order.
962
+ * Tool calls are omitted because interruption precedes dispatch; retaining
963
+ * one would require a fabricated result. Open unknown blocks are also omitted.
964
+ * @returns the kept blocks; empty when nothing streamed before the interruption.
965
+ */
966
+ interruptedBlocks() {
967
+ return this.order.map((index) => {
968
+ const partial = this.mustGet(index);
969
+ const type = partial.block?.type ?? partial.blockType;
970
+ if (type !== "text" && type !== "reasoning") return void 0;
971
+ return this.assemble(partial, index);
972
+ }).filter((block) => (block?.type === "text" || block?.type === "reasoning") && block.text.trim() !== "");
973
+ }
800
974
  /** Usage from the `usage` chunk; undefined until one arrives. */
801
975
  get usage() {
802
976
  return this._usage;
@@ -940,6 +1114,21 @@ var LlmAdapter = class {
940
1114
  name: model
941
1115
  });
942
1116
  }
1117
+ /**
1118
+ * Bind exact model metadata and the eventual request dispatch to one adapter generation.
1119
+ * Dynamic adapters override this so settings changes between preparation and
1120
+ * dispatch cannot combine one generation's capabilities with another's endpoint.
1121
+ * @param provider - registered provider route.
1122
+ * @param model - exact model id.
1123
+ * @param signal - cancellation for model resolution.
1124
+ * @returns model metadata and a one-generation stream entry point.
1125
+ */
1126
+ async prepareCall(provider, model, signal) {
1127
+ return {
1128
+ model: await this.resolveModel(provider, model, signal),
1129
+ stream: (options) => this.stream(options)
1130
+ };
1131
+ }
943
1132
  };
944
1133
  /**
945
1134
  * The abstract `llm` service: an adapter registry plus a streaming model-call
@@ -1209,8 +1398,12 @@ var LlmRuntime = class extends Service {
1209
1398
  return this.resolveModelInfoFor(this.registration(provider), model, signal);
1210
1399
  }
1211
1400
  async resolveModelInfoFor(registration, model, signal) {
1401
+ const resolved = await registration.adapter.resolveModel(registration.provider.id, model, signal);
1402
+ return this.normalizeModelInfo(registration, model, resolved);
1403
+ }
1404
+ /** Validate and detach one adapter-returned exact model result. */
1405
+ normalizeModelInfo(registration, model, resolved) {
1212
1406
  const provider = registration.provider.id;
1213
- const resolved = await registration.adapter.resolveModel(provider, model, signal);
1214
1407
  if (typeof resolved.provider !== "string" || resolved.provider !== provider || typeof resolved.id !== "string" || resolved.id !== model || typeof resolved.name !== "string" || resolved.name.length === 0 || resolved.description !== void 0 && typeof resolved.description !== "string") throw new LlmError(`adapter returned invalid exact model metadata for provider "${provider}" model "${model}"`, "INVALID_MODEL_INFO");
1215
1408
  const context = resolved.context;
1216
1409
  if (context !== void 0 && (!Number.isInteger(context.contextWindow) || context.contextWindow <= 0)) throw new LlmError(`adapter returned invalid context metadata for provider "${provider}" model "${model}"`, "INVALID_MODEL_CONTEXT");
@@ -1263,6 +1456,10 @@ var LlmRuntime = class extends Service {
1263
1456
  }
1264
1457
  async resolveCallFor(registration, config, signal) {
1265
1458
  const info = await this.resolveModelInfoFor(registration, config.model, signal);
1459
+ return this.resolveCallWithInfo(config, info);
1460
+ }
1461
+ /** Validate request controls against one already-bound exact model result. */
1462
+ resolveCallWithInfo(config, info) {
1266
1463
  const defaulted = config.maxTokens === void 0 && info.defaultMaxTokens !== void 0 ? {
1267
1464
  ...config,
1268
1465
  maxTokens: info.defaultMaxTokens
@@ -1284,7 +1481,8 @@ var LlmRuntime = class extends Service {
1284
1481
  }
1285
1482
  return {
1286
1483
  config: resolvedConfig,
1287
- ...info.context === void 0 ? {} : { context: info.context }
1484
+ ...info.context === void 0 ? {} : { context: info.context },
1485
+ modelInfo: info
1288
1486
  };
1289
1487
  }
1290
1488
  /**
@@ -1297,7 +1495,9 @@ var LlmRuntime = class extends Service {
1297
1495
  */
1298
1496
  async prepareCall(config, signal) {
1299
1497
  const registration = this.registration(config.provider);
1300
- const resolved = await this.resolveCallFor(registration, config, signal);
1498
+ const adapterCall = await registration.adapter.prepareCall(config.provider, config.model, signal);
1499
+ const modelInfo = this.normalizeModelInfo(registration, config.model, adapterCall.model);
1500
+ const resolved = this.resolveCallWithInfo(config, modelInfo);
1301
1501
  const resolvedConfig = deepFreeze(structuredClone(resolved.config));
1302
1502
  const context = resolved.context === void 0 ? void 0 : deepFreeze(structuredClone(resolved.context));
1303
1503
  const adapterDefaults = deepFreeze({
@@ -1310,13 +1510,16 @@ var LlmRuntime = class extends Service {
1310
1510
  retryPolicy: registration.retryPolicy,
1311
1511
  adapterDefaults,
1312
1512
  ...context === void 0 ? {} : { context },
1513
+ ...modelInfo.inputModalities === void 0 ? {} : { inputModalities: Object.freeze([...modelInfo.inputModalities]) },
1313
1514
  stream: (options) => {
1314
1515
  if (dispatched) throw new LlmError("a prepared LLM call can only be dispatched once", "INVALID_PREPARED_CALL");
1315
1516
  if (!callConfigEquals(options, resolvedConfig)) throw new LlmError("prepared LLM call config changed before adapter dispatch", "INVALID_PREPARED_CALL");
1316
1517
  dispatched = true;
1317
1518
  return this.streamWithRegistration(options, {
1318
1519
  registration,
1319
- config: resolvedConfig
1520
+ config: resolvedConfig,
1521
+ modelInfo,
1522
+ dispatch: (options) => adapterCall.stream(options)
1320
1523
  });
1321
1524
  }
1322
1525
  });
@@ -1357,7 +1560,20 @@ var LlmRuntime = class extends Service {
1357
1560
  let iterator;
1358
1561
  try {
1359
1562
  const registration = prepared?.registration ?? this.registration(options.provider);
1360
- const resolvedConfig = prepared === void 0 ? (await this.resolveCallFor(registration, options, options.signal)).config : prepared.config;
1563
+ const adapter = registration.adapter;
1564
+ let modelInfo;
1565
+ let resolvedConfig;
1566
+ let dispatch;
1567
+ if (prepared === void 0) {
1568
+ const adapterCall = await adapter.prepareCall(options.provider, options.model, options.signal);
1569
+ modelInfo = this.normalizeModelInfo(registration, options.model, adapterCall.model);
1570
+ resolvedConfig = this.resolveCallWithInfo(options, modelInfo).config;
1571
+ dispatch = (options) => adapterCall.stream(options);
1572
+ } else {
1573
+ modelInfo = prepared.modelInfo;
1574
+ resolvedConfig = prepared.config;
1575
+ dispatch = prepared.dispatch;
1576
+ }
1361
1577
  if (prepared !== void 0 && !callConfigEquals(options, resolvedConfig)) throw new LlmError("prepared LLM call config changed before adapter dispatch", "INVALID_PREPARED_CALL");
1362
1578
  const resolvedOptions = callConfigEquals(options, resolvedConfig) ? options : Object.isFrozen(options) ? deepFreeze({
1363
1579
  ...options,
@@ -1366,8 +1582,14 @@ var LlmRuntime = class extends Service {
1366
1582
  ...options,
1367
1583
  ...resolvedConfig
1368
1584
  };
1369
- const adapter = registration.adapter;
1370
- iterator = adapter.stream(this.forAdapter(resolvedOptions, adapter))[Symbol.asyncIterator]();
1585
+ const projectedOptions = modelInfo.inputModalities !== void 0 && !modelInfo.inputModalities.includes("image") && resolvedOptions.messages.some((message) => contentHasImage(message.content)) ? Object.isFrozen(resolvedOptions) ? deepFreeze({
1586
+ ...resolvedOptions,
1587
+ messages: projectImagesForTextModel(resolvedOptions.messages)
1588
+ }) : {
1589
+ ...resolvedOptions,
1590
+ messages: projectImagesForTextModel(resolvedOptions.messages)
1591
+ } : resolvedOptions;
1592
+ iterator = dispatch(this.forAdapter(projectedOptions, adapter))[Symbol.asyncIterator]();
1371
1593
  } catch (error) {
1372
1594
  yield adapterFailureChunk(error, options.signal);
1373
1595
  return;
@@ -1433,4 +1655,4 @@ function adapterFailureChunk(error, signal) {
1433
1655
  };
1434
1656
  }
1435
1657
  //#endregion
1436
- export { APP_IDENTITY, BlockAssembler, CONTEXT_SUMMARY_MAX_CHARS, CONTEXT_WINDOW_EXCEEDED_CODE, CallId, EMPTY_RESPONSE_CODE, HarnessError, INVALID_CREDENTIAL_CODE, LlmAdapter, LlmError, LlmRuntime, LlmRuntime as default, MessageId, ProviderRequestId, QUOTA_EXCEEDED_CODE, ReasoningEffortId, RetryPolicySchema, assertNever, assertUsableApiKey, attributionHeaders, boundContextSummary, callConfigEquals, contentHasImage, createAssistantMessage, createMessage, createToolResultMessage, createUserMessage, deepFreeze, errorChain, freezeMessage, isAgentLoopRequest, isContextWindowExceededError, isHarnessError, isQuotaExceededError, isTokenDelta, markAgentLoopRequest, normalizeApiKey, resolveRetryPolicy, userAgent };
1658
+ export { APP_IDENTITY, BlockAssembler, CONTEXT_SUMMARY_MAX_CHARS, CONTEXT_WINDOW_EXCEEDED_CODE, CallId, EMPTY_RESPONSE_CODE, HarnessError, INVALID_CREDENTIAL_CODE, LlmAdapter, LlmError, LlmRuntime, LlmRuntime as default, MessageId, OFFLOADED_IMAGE_TEXT, ProviderRequestId, QUOTA_EXCEEDED_CODE, ReasoningEffortId, RetryPolicySchema, assertNever, assertUsableApiKey, attributionHeaders, boundContextSummary, callConfigEquals, contentHasImage, createAssistantMessage, createMessage, createToolResultMessage, createUserMessage, deepFreeze, errorChain, freezeMessage, isAgentLoopRequest, isContextWindowExceededError, isHarnessError, isQuotaExceededError, isTokenDelta, markAgentLoopRequest, normalizeApiKey, offloadRequestImages, offloadRequestImagesWithPolicy, projectImagesForTextModel, requestImageHandleText, resolveRetryPolicy, textOnlyImageText, userAgent };
@@ -12,7 +12,8 @@ import type { ContentBlock, FinishReason, ReplayEnvelope, StreamChunk, TokenUsag
12
12
  * {@link ContentBlock}s and a final assistant {@link Message}.
13
13
  *
14
14
  * The agent loop feeds it while logging raw chunks for replay fidelity, then
15
- * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends.
15
+ * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends,
16
+ * or `interruptedBlocks()` when cancellation cut the stream short.
16
17
  *
17
18
  * Tolerant of delta-only protocols (no block-start/end); deltas arriving for
18
19
  * an index already closed by `block-end` are ignored (malformed stream) so a
@@ -46,6 +47,14 @@ export declare class BlockAssembler {
46
47
  * its accumulated deltas (an unknown block type never closed by `block-end` throws).
47
48
  */
48
49
  blocks(): ContentBlock[];
50
+ /**
51
+ * Assemble the prefix an interrupted stream can safely finalize: closed and
52
+ * open text/reasoning blocks with non-whitespace content, in stream order.
53
+ * Tool calls are omitted because interruption precedes dispatch; retaining
54
+ * one would require a fabricated result. Open unknown blocks are also omitted.
55
+ * @returns the kept blocks; empty when nothing streamed before the interruption.
56
+ */
57
+ interruptedBlocks(): ContentBlock[];
49
58
  /** Usage from the `usage` chunk; undefined until one arrives. */
50
59
  get usage(): TokenUsage | undefined;
51
60
  /** Finish reason from the `finish` chunk; `{kind: 'stop'}` when the stream ended without one. */
@@ -13,7 +13,8 @@ import { createMessage } from "./message.js";
13
13
  * {@link ContentBlock}s and a final assistant {@link Message}.
14
14
  *
15
15
  * The agent loop feeds it while logging raw chunks for replay fidelity, then
16
- * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends.
16
+ * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends,
17
+ * or `interruptedBlocks()` when cancellation cut the stream short.
17
18
  *
18
19
  * Tolerant of delta-only protocols (no block-start/end); deltas arriving for
19
20
  * an index already closed by `block-end` are ignored (malformed stream) so a
@@ -144,6 +145,24 @@ export class BlockAssembler {
144
145
  blocks() {
145
146
  return this.assembled().blocks;
146
147
  }
148
+ /**
149
+ * Assemble the prefix an interrupted stream can safely finalize: closed and
150
+ * open text/reasoning blocks with non-whitespace content, in stream order.
151
+ * Tool calls are omitted because interruption precedes dispatch; retaining
152
+ * one would require a fabricated result. Open unknown blocks are also omitted.
153
+ * @returns the kept blocks; empty when nothing streamed before the interruption.
154
+ */
155
+ interruptedBlocks() {
156
+ return this.order
157
+ .map((index) => {
158
+ const partial = this.mustGet(index);
159
+ const type = partial.block?.type ?? partial.blockType;
160
+ if (type !== 'text' && type !== 'reasoning')
161
+ return undefined;
162
+ return this.assemble(partial, index);
163
+ })
164
+ .filter((block) => (block?.type === 'text' || block?.type === 'reasoning') && block.text.trim() !== '');
165
+ }
147
166
  /** Usage from the `usage` chunk; undefined until one arrives. */
148
167
  get usage() {
149
168
  return this._usage;
@@ -1,5 +1,21 @@
1
1
  /** Content-block structure helpers. @module @nomix-ai/nomix-llm/content */
2
2
  import type { ContentBlock } from './types.ts';
3
+ import type { Message } from './message.ts';
4
+ import type { ImageAttachmentRef, RequestImageAttachment } from '../../../attachment/lib/index.js';
5
+ /** Model-facing stand-in for an image removed to fit a provider request bound. */
6
+ export declare const OFFLOADED_IMAGE_TEXT = "[image omitted to keep the request within its image limit; older images are omitted first. If this image is still needed, read its file again when a path is available; otherwise ask the user to attach it again.]";
7
+ /**
8
+ * Stable text shown to a model that cannot accept one durable image reference.
9
+ * @param ref - durable master reference omitted from the request.
10
+ * @returns deterministic text-only placeholder.
11
+ */
12
+ export declare function textOnlyImageText(ref: ImageAttachmentRef): string;
13
+ /**
14
+ * Stable model-facing handle for one exact request image.
15
+ * @param version - exact request image shown beside the text.
16
+ * @returns attachment handle and request-image dimensions.
17
+ */
18
+ export declare function requestImageHandleText(version: RequestImageAttachment): string;
3
19
  /**
4
20
  * True when typed model content contains an image block, walking nested
5
21
  * tool-result content. This is the one recursive image walk shared by every
@@ -9,4 +25,47 @@ import type { ContentBlock } from './types.ts';
9
25
  * @returns whether any nested block is an image.
10
26
  */
11
27
  export declare function contentHasImage(content: readonly ContentBlock[]): boolean;
28
+ /** Byte accounting and quantized removal policy for one request representation. */
29
+ export interface RequestImageOffloadPolicy {
30
+ /** Image count accepted by the route; omission leaves count unbounded. */
31
+ maxImages?: number;
32
+ /** Accumulated image bytes accepted by the route; omission leaves bytes unbounded. */
33
+ maxBytes?: number;
34
+ /** Number of excess images removed as one deterministic step. */
35
+ countQuantum?: number;
36
+ /** Number of excess bytes removed as one deterministic step. */
37
+ byteQuantum?: number;
38
+ /** Whether byte accounting uses raw file bytes or inline base64 length. */
39
+ representation: 'raw' | 'base64';
40
+ /** Resolve the encoded request-version length; omission uses master attachment bytes. */
41
+ byteLength?: (ref: ImageAttachmentRef) => number;
42
+ }
43
+ /**
44
+ * Project durable image history into deterministic text for an exact text-only model.
45
+ * @param messages - complete request history.
46
+ * @returns the original list without images, otherwise shallow message copies with stable placeholders.
47
+ */
48
+ export declare function projectImagesForTextModel(messages: readonly Message[]): readonly Message[];
49
+ /**
50
+ * Return transient request messages whose oldest images are replaced until
51
+ * their accumulated base64 payload fits the configured bound. The selection
52
+ * is deterministic from durable message order and attachment metadata; a
53
+ * provider can serialize the returned messages without reading omitted bytes.
54
+ * @param messages - complete request history, oldest first.
55
+ * @param maxRequestImageBytes - positive bound on total base64 image payload; undefined preserves every image.
56
+ * @returns the original messages when they already fit, otherwise shallow message copies with replaced content trees.
57
+ */
58
+ export declare function offloadRequestImages(messages: readonly Message[], maxRequestImageBytes: number | undefined): readonly Message[];
59
+ /**
60
+ * Return a deterministic transient projection whose oldest images are replaced
61
+ * in whole count and byte quanta after a route budget is exceeded. The target
62
+ * depends only on complete durable history: at 129 one-megabyte images under
63
+ * a 128 MiB bound with a 64 MiB quantum, the oldest 65 images are removed so
64
+ * 64 MiB remain; that removed prefix stays fixed until total history exceeds
65
+ * 192 MiB.
66
+ * @param messages - complete request history, oldest first.
67
+ * @param policy - route representation, budgets, and removal quanta.
68
+ * @returns original messages below both bounds, otherwise shallow copies with deterministic placeholders.
69
+ */
70
+ export declare function offloadRequestImagesWithPolicy(messages: readonly Message[], policy: RequestImageOffloadPolicy): readonly Message[];
12
71
  //# sourceMappingURL=content.d.ts.map
@@ -1,4 +1,23 @@
1
1
  /** Content-block structure helpers. @module @nomix-ai/nomix-llm/content */
2
+ /** Model-facing stand-in for an image removed to fit a provider request bound. */
3
+ export const OFFLOADED_IMAGE_TEXT = '[image omitted to keep the request within its image limit; older images are omitted first. If this image is still needed, read its file again when a path is available; otherwise ask the user to attach it again.]';
4
+ /**
5
+ * Stable text shown to a model that cannot accept one durable image reference.
6
+ * @param ref - durable master reference omitted from the request.
7
+ * @returns deterministic text-only placeholder.
8
+ */
9
+ export function textOnlyImageText(ref) {
10
+ const digest = String(ref.attachmentId).slice('sha256:'.length, 'sha256:'.length + 8);
11
+ return `[image omitted because this model accepts text only; attachment sha256:${digest}]`;
12
+ }
13
+ /**
14
+ * Stable model-facing handle for one exact request image.
15
+ * @param version - exact request image shown beside the text.
16
+ * @returns attachment handle and request-image dimensions.
17
+ */
18
+ export function requestImageHandleText(version) {
19
+ return `Image ${version.attachment.attachmentId}; request image ${version.width}x${version.height}px.`;
20
+ }
2
21
  /**
3
22
  * True when typed model content contains an image block, walking nested
4
23
  * tool-result content. This is the one recursive image walk shared by every
@@ -11,4 +30,134 @@ export function contentHasImage(content) {
11
30
  return content.some(block => block.type === 'image'
12
31
  || (block.type === 'tool-result' && contentHasImage(block.content)));
13
32
  }
33
+ /** Base64 length of raw image bytes, including padding. */
34
+ function base64Length(bytes) {
35
+ return Math.ceil(bytes / 3) * 4;
36
+ }
37
+ /** Collect represented image lengths in request and nested-block order. */
38
+ function collectImageLengths(blocks, lengths, policy) {
39
+ for (const block of blocks) {
40
+ if (block.type === 'image') {
41
+ const bytes = policy.byteLength === undefined
42
+ ? block.attachment.bytes
43
+ : policy.byteLength(block.attachment);
44
+ lengths.push(policy.representation === 'base64' ? base64Length(bytes) : bytes);
45
+ }
46
+ else if (block.type === 'tool-result') {
47
+ collectImageLengths(block.content, lengths, policy);
48
+ }
49
+ }
50
+ }
51
+ /** Replace the first `remaining.count` image occurrences without mutating durable messages. */
52
+ function replaceOldestImages(blocks, remaining) {
53
+ let next;
54
+ for (const [index, block] of blocks.entries()) {
55
+ if (block.type === 'image' && remaining.count > 0) {
56
+ remaining.count -= 1;
57
+ next ??= blocks.slice(0, index);
58
+ next.push({ type: 'text', text: OFFLOADED_IMAGE_TEXT });
59
+ continue;
60
+ }
61
+ if (block.type === 'tool-result') {
62
+ const content = replaceOldestImages(block.content, remaining);
63
+ if (content !== block.content) {
64
+ next ??= blocks.slice(0, index);
65
+ next.push({ ...block, content });
66
+ continue;
67
+ }
68
+ }
69
+ next?.push(block);
70
+ }
71
+ return next ?? blocks;
72
+ }
73
+ /** Replace every image occurrence, including nested tool results, for a text-only model. */
74
+ function replaceImagesForTextModel(blocks) {
75
+ let next;
76
+ for (const [index, block] of blocks.entries()) {
77
+ if (block.type === 'image') {
78
+ next ??= blocks.slice(0, index);
79
+ next.push({ type: 'text', text: textOnlyImageText(block.attachment) });
80
+ continue;
81
+ }
82
+ if (block.type === 'tool-result') {
83
+ const content = replaceImagesForTextModel(block.content);
84
+ if (content !== block.content) {
85
+ next ??= blocks.slice(0, index);
86
+ next.push({ ...block, content });
87
+ continue;
88
+ }
89
+ }
90
+ next?.push(block);
91
+ }
92
+ return next ?? blocks;
93
+ }
94
+ /**
95
+ * Project durable image history into deterministic text for an exact text-only model.
96
+ * @param messages - complete request history.
97
+ * @returns the original list without images, otherwise shallow message copies with stable placeholders.
98
+ */
99
+ export function projectImagesForTextModel(messages) {
100
+ if (!messages.some(message => contentHasImage(message.content)))
101
+ return messages;
102
+ return messages.map((message) => {
103
+ const content = replaceImagesForTextModel(message.content);
104
+ return content === message.content ? message : { ...message, content };
105
+ });
106
+ }
107
+ /**
108
+ * Return transient request messages whose oldest images are replaced until
109
+ * their accumulated base64 payload fits the configured bound. The selection
110
+ * is deterministic from durable message order and attachment metadata; a
111
+ * provider can serialize the returned messages without reading omitted bytes.
112
+ * @param messages - complete request history, oldest first.
113
+ * @param maxRequestImageBytes - positive bound on total base64 image payload; undefined preserves every image.
114
+ * @returns the original messages when they already fit, otherwise shallow message copies with replaced content trees.
115
+ */
116
+ export function offloadRequestImages(messages, maxRequestImageBytes) {
117
+ return offloadRequestImagesWithPolicy(messages, {
118
+ representation: 'base64',
119
+ ...maxRequestImageBytes === undefined ? {} : { maxBytes: maxRequestImageBytes },
120
+ byteQuantum: 1,
121
+ });
122
+ }
123
+ /**
124
+ * Return a deterministic transient projection whose oldest images are replaced
125
+ * in whole count and byte quanta after a route budget is exceeded. The target
126
+ * depends only on complete durable history: at 129 one-megabyte images under
127
+ * a 128 MiB bound with a 64 MiB quantum, the oldest 65 images are removed so
128
+ * 64 MiB remain; that removed prefix stays fixed until total history exceeds
129
+ * 192 MiB.
130
+ * @param messages - complete request history, oldest first.
131
+ * @param policy - route representation, budgets, and removal quanta.
132
+ * @returns original messages below both bounds, otherwise shallow copies with deterministic placeholders.
133
+ */
134
+ export function offloadRequestImagesWithPolicy(messages, policy) {
135
+ const lengths = [];
136
+ for (const message of messages)
137
+ collectImageLengths(message.content, lengths, policy);
138
+ const total = lengths.reduce((sum, bytes) => sum + bytes, 0);
139
+ const excessCount = policy.maxImages === undefined ? 0 : Math.max(0, lengths.length - policy.maxImages);
140
+ const excessBytes = policy.maxBytes === undefined ? 0 : Math.max(0, total - policy.maxBytes);
141
+ if (excessCount === 0 && excessBytes === 0)
142
+ return messages;
143
+ const countQuantum = policy.countQuantum ?? 1;
144
+ const byteQuantum = policy.byteQuantum ?? 1;
145
+ const removeCount = excessCount === 0 ? 0 : Math.ceil(excessCount / countQuantum) * countQuantum;
146
+ const removeBytes = excessBytes === 0 ? 0 : Math.ceil(excessBytes / byteQuantum) * byteQuantum;
147
+ let count = 0;
148
+ let removedBytes = 0;
149
+ for (const imageBytes of lengths) {
150
+ const byteTargetMet = removeBytes === 0
151
+ || (byteQuantum === 1 ? removedBytes >= removeBytes : removedBytes > removeBytes);
152
+ if (count >= removeCount && byteTargetMet)
153
+ break;
154
+ removedBytes += imageBytes;
155
+ count += 1;
156
+ }
157
+ const remaining = { count };
158
+ return messages.map((message) => {
159
+ const content = replaceOldestImages(message.content, remaining);
160
+ return content === message.content ? message : { ...message, content };
161
+ });
162
+ }
14
163
  //# sourceMappingURL=content.js.map