@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
@@ -5,39 +5,979 @@ window.__ModuleLoader__.load({
5
5
  var exports = module.exports;
6
6
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
7
7
  let _nomix_ai_cordis = require("@nomix-ai/cordis");
8
- let _nomix_ai_nomix_client_schema_form = require("@nomix-ai/nomix-client-schema-form");
9
8
  let _nomix_ai_nomix_client_runtime_client = require("@nomix-ai/nomix-client-runtime/client");
9
+ //#region ../../../vendor/cosmokit/src/misc.ts
10
+ /** Return true when a value is `null` or `undefined`. */
11
+ function isNullable(value) {
12
+ return value === null || value === void 0;
13
+ }
14
+ /** Return true for non-array object values. */
15
+ function isPlainObject(data) {
16
+ return data && typeof data === "object" && !Array.isArray(data);
17
+ }
18
+ /** Filter object entries and return a new object. */
19
+ function filterKeys(object, filter) {
20
+ return Object.fromEntries(Object.entries(object).filter(([key, value]) => filter(key, value)));
21
+ }
22
+ /** Map object values while preserving the original key set. */
23
+ function mapValues(object, transform) {
24
+ return Object.fromEntries(Object.entries(object).map(([key, value]) => [key, transform(value, key)]));
25
+ }
26
+ /** Pick selected keys from an object, optionally including `undefined` values. */
27
+ function pick(source, keys, forced) {
28
+ if (!keys) return { ...source };
29
+ const result = {};
30
+ for (const key of keys) if (forced || source[key] !== void 0) result[key] = source[key];
31
+ return result;
32
+ }
33
+ //#endregion
34
+ //#region ../../../vendor/cosmokit/src/types.ts
35
+ /** Test values using `instanceof` with a `toStringTag` fallback. */
36
+ function is(type, value) {
37
+ if (arguments.length === 1) return (value) => is(type, value);
38
+ return type in globalThis && value instanceof globalThis[type] || Object.prototype.toString.call(value).slice(8, -1) === type;
39
+ }
40
+ function isArrayBufferLike(value) {
41
+ return is("ArrayBuffer", value) || is("SharedArrayBuffer", value);
42
+ }
43
+ function isArrayBufferSource(value) {
44
+ return isArrayBufferLike(value) || ArrayBuffer.isView(value);
45
+ }
46
+ let Binary;
47
+ (function(_Binary) {
48
+ _Binary.is = isArrayBufferLike;
49
+ _Binary.isSource = isArrayBufferSource;
50
+ function fromSource(source) {
51
+ if (ArrayBuffer.isView(source)) return source.buffer.slice(source.byteOffset, source.byteOffset + source.byteLength);
52
+ else return source;
53
+ }
54
+ _Binary.fromSource = fromSource;
55
+ function toBase64(source) {
56
+ source = fromSource(source);
57
+ if (typeof Buffer !== "undefined") return Buffer.from(source).toString("base64");
58
+ let binary = "";
59
+ const bytes = new Uint8Array(source);
60
+ for (let i = 0; i < bytes.byteLength; i++) binary += String.fromCharCode(bytes[i]);
61
+ return btoa(binary);
62
+ }
63
+ _Binary.toBase64 = toBase64;
64
+ function fromBase64(source) {
65
+ if (typeof Buffer !== "undefined") return fromSource(Buffer.from(source, "base64"));
66
+ return Uint8Array.from(atob(source), (c) => c.charCodeAt(0));
67
+ }
68
+ _Binary.fromBase64 = fromBase64;
69
+ function toHex(source) {
70
+ source = fromSource(source);
71
+ if (typeof Buffer !== "undefined") return Buffer.from(source).toString("hex");
72
+ return Array.from(new Uint8Array(source), (byte) => byte.toString(16).padStart(2, "0")).join("");
73
+ }
74
+ _Binary.toHex = toHex;
75
+ function fromHex(source) {
76
+ if (typeof Buffer !== "undefined") return fromSource(Buffer.from(source, "hex"));
77
+ const hex = source.length % 2 === 0 ? source : source.slice(0, source.length - 1);
78
+ const buffer = [];
79
+ for (let i = 0; i < hex.length; i += 2) buffer.push(parseInt(`${hex[i]}${hex[i + 1]}`, 16));
80
+ return Uint8Array.from(buffer).buffer;
81
+ }
82
+ _Binary.fromHex = fromHex;
83
+ })(Binary || (Binary = {}));
84
+ Binary.fromBase64;
85
+ Binary.toBase64;
86
+ Binary.fromHex;
87
+ Binary.toHex;
88
+ /** Deep-clone common JavaScript values while preserving prototypes and cycles. */
89
+ function clone(source, refs = /* @__PURE__ */ new Map()) {
90
+ if (!source || typeof source !== "object") return source;
91
+ if (is("Date", source)) return new Date(source.valueOf());
92
+ if (is("RegExp", source)) return new RegExp(source.source, source.flags);
93
+ if (isArrayBufferLike(source)) return source.slice(0);
94
+ if (ArrayBuffer.isView(source)) return source.buffer.slice(source.byteOffset, source.byteOffset + source.byteLength);
95
+ const cached = refs.get(source);
96
+ if (cached) return cached;
97
+ if (Array.isArray(source)) {
98
+ const result = [];
99
+ refs.set(source, result);
100
+ source.forEach((value, index) => {
101
+ result[index] = Reflect.apply(clone, null, [value, refs]);
102
+ });
103
+ return result;
104
+ }
105
+ const result = Object.create(Object.getPrototypeOf(source));
106
+ refs.set(source, result);
107
+ for (const key of Reflect.ownKeys(source)) {
108
+ const descriptor = { ...Reflect.getOwnPropertyDescriptor(source, key) };
109
+ if ("value" in descriptor) descriptor.value = Reflect.apply(clone, null, [descriptor.value, refs]);
110
+ Reflect.defineProperty(result, key, descriptor);
111
+ }
112
+ return result;
113
+ }
114
+ /** Deeply compare arrays, dates, regexps, buffers, and plain object fields. */
115
+ function deepEqual(a, b, strict) {
116
+ if (a === b) return true;
117
+ if (!strict && isNullable(a) && isNullable(b)) return true;
118
+ if (typeof a !== typeof b) return false;
119
+ if (typeof a !== "object") return false;
120
+ if (!a || !b) return false;
121
+ function check(test, then) {
122
+ return test(a) ? test(b) ? then(a, b) : false : test(b) ? false : void 0;
123
+ }
124
+ return check(Array.isArray, (a, b) => a.length === b.length && a.every((item, index) => deepEqual(item, b[index]))) ?? check(is("Date"), (a, b) => a.valueOf() === b.valueOf()) ?? check(is("RegExp"), (a, b) => a.source === b.source && a.flags === b.flags) ?? check(isArrayBufferLike, (a, b) => {
125
+ if (a.byteLength !== b.byteLength) return false;
126
+ const viewA = new Uint8Array(a);
127
+ const viewB = new Uint8Array(b);
128
+ for (let i = 0; i < viewA.length; i++) if (viewA[i] !== viewB[i]) return false;
129
+ return true;
130
+ }) ?? Object.keys({
131
+ ...a,
132
+ ...b
133
+ }).every((key) => deepEqual(a[key], b[key], strict));
134
+ }
135
+ //#endregion
136
+ //#region ../../../vendor/cosmokit/src/time.ts
137
+ let Time;
138
+ (function(_Time) {
139
+ _Time.millisecond = 1;
140
+ const second = _Time.second = 1e3;
141
+ const minute = _Time.minute = second * 60;
142
+ const hour = _Time.hour = minute * 60;
143
+ const day = _Time.day = hour * 24;
144
+ const week = _Time.week = day * 7;
145
+ let timezoneOffset = (/* @__PURE__ */ new Date()).getTimezoneOffset();
146
+ function setTimezoneOffset(offset) {
147
+ timezoneOffset = offset;
148
+ }
149
+ _Time.setTimezoneOffset = setTimezoneOffset;
150
+ function getTimezoneOffset() {
151
+ return timezoneOffset;
152
+ }
153
+ _Time.getTimezoneOffset = getTimezoneOffset;
154
+ function getDateNumber(date = /* @__PURE__ */ new Date(), offset) {
155
+ if (typeof date === "number") date = new Date(date);
156
+ if (offset === void 0) offset = timezoneOffset;
157
+ return Math.floor((date.valueOf() / minute - offset) / 1440);
158
+ }
159
+ _Time.getDateNumber = getDateNumber;
160
+ function fromDateNumber(value, offset) {
161
+ const date = new Date(value * day);
162
+ if (offset === void 0) offset = timezoneOffset;
163
+ return new Date(+date + offset * minute);
164
+ }
165
+ _Time.fromDateNumber = fromDateNumber;
166
+ const numeric = /\d+(?:\.\d+)?/.source;
167
+ const timeRegExp = new RegExp(`^${[
168
+ "w(?:eek(?:s)?)?",
169
+ "d(?:ay(?:s)?)?",
170
+ "h(?:our(?:s)?)?",
171
+ "m(?:in(?:ute)?(?:s)?)?",
172
+ "s(?:ec(?:ond)?(?:s)?)?"
173
+ ].map((unit) => `(${numeric}${unit})?`).join("")}$`);
174
+ function parseTime(source) {
175
+ const capture = timeRegExp.exec(source);
176
+ if (!capture) return 0;
177
+ return (parseFloat(capture[1]) * week || 0) + (parseFloat(capture[2]) * day || 0) + (parseFloat(capture[3]) * hour || 0) + (parseFloat(capture[4]) * minute || 0) + (parseFloat(capture[5]) * second || 0);
178
+ }
179
+ _Time.parseTime = parseTime;
180
+ function parseDate(date) {
181
+ const parsed = parseTime(date);
182
+ if (parsed) date = Date.now() + parsed;
183
+ else if (/^\d{1,2}(:\d{1,2}){1,2}$/.test(date)) date = `${(/* @__PURE__ */ new Date()).toLocaleDateString()}-${date}`;
184
+ else if (/^\d{1,2}-\d{1,2}-\d{1,2}(:\d{1,2}){1,2}$/.test(date)) date = `${(/* @__PURE__ */ new Date()).getFullYear()}-${date}`;
185
+ return date ? new Date(date) : /* @__PURE__ */ new Date();
186
+ }
187
+ _Time.parseDate = parseDate;
188
+ function format(ms) {
189
+ const abs = Math.abs(ms);
190
+ if (abs >= day - hour / 2) return Math.round(ms / day) + "d";
191
+ else if (abs >= hour - minute / 2) return Math.round(ms / hour) + "h";
192
+ else if (abs >= minute - second / 2) return Math.round(ms / minute) + "m";
193
+ else if (abs >= second) return Math.round(ms / second) + "s";
194
+ return ms + "ms";
195
+ }
196
+ _Time.format = format;
197
+ function toDigits(source, length = 2) {
198
+ return source.toString().padStart(length, "0");
199
+ }
200
+ _Time.toDigits = toDigits;
201
+ function template(template, time = /* @__PURE__ */ new Date()) {
202
+ return template.replace("yyyy", time.getFullYear().toString()).replace("yy", time.getFullYear().toString().slice(2)).replace("MM", toDigits(time.getMonth() + 1)).replace("dd", toDigits(time.getDate())).replace("hh", toDigits(time.getHours())).replace("mm", toDigits(time.getMinutes())).replace("ss", toDigits(time.getSeconds())).replace("SSS", toDigits(time.getMilliseconds(), 3));
203
+ }
204
+ _Time.template = template;
205
+ })(Time || (Time = {}));
206
+ //#endregion
207
+ //#region ../../../vendor/schemastery/src/index.ts
208
+ const kSchema = Symbol.for("schemastery");
209
+ const kValidationError = Symbol.for("ValidationError");
210
+ globalThis.__schemastery_index__ ??= 0;
211
+ globalThis.__schemastery_refs__ = void 0;
212
+ var ValidationError = class extends TypeError {
213
+ options;
214
+ name = "ValidationError";
215
+ constructor(message, options) {
216
+ let prefix = "$";
217
+ for (const segment of options.path || []) if (typeof segment === "string") prefix += "." + segment;
218
+ else if (typeof segment === "number") prefix += "[" + segment + "]";
219
+ else if (typeof segment === "symbol") prefix += `[Symbol(${segment.toString()})]`;
220
+ if (prefix.startsWith(".")) prefix = prefix.slice(1);
221
+ super((prefix === "$" ? "" : `${prefix} `) + message);
222
+ this.options = options;
223
+ }
224
+ static is(error) {
225
+ return !!error?.[kValidationError];
226
+ }
227
+ };
228
+ Object.defineProperty(ValidationError.prototype, kValidationError, { value: true });
229
+ const Schema = function(options) {
230
+ const schema = function(data, options = {}) {
231
+ return Schema.resolve(data, schema, options)[0];
232
+ };
233
+ if (options.refs) {
234
+ const refs = mapValues(options.refs, (options) => new Schema(options));
235
+ const getRef = (uid) => refs[uid];
236
+ for (const key in refs) {
237
+ const options = refs[key];
238
+ options.sKey = getRef(options.sKey);
239
+ options.inner = getRef(options.inner);
240
+ options.list = options.list && options.list.map(getRef);
241
+ options.dict = options.dict && mapValues(options.dict, getRef);
242
+ }
243
+ return refs[options.uid];
244
+ }
245
+ Object.assign(schema, options);
246
+ if (typeof schema.callback === "string") try {
247
+ schema.callback = new Function("return " + schema.callback)();
248
+ } catch {}
249
+ Object.defineProperty(schema, "uid", { value: globalThis.__schemastery_index__++ });
250
+ Object.setPrototypeOf(schema, Schema.prototype);
251
+ schema.meta ||= {};
252
+ schema.toString = schema.toString.bind(schema);
253
+ return schema;
254
+ };
255
+ Schema.prototype = Object.create(Function.prototype);
256
+ Schema.prototype[kSchema] = true;
257
+ Object.defineProperty(Schema.prototype, "~standard", { get() {
258
+ return {
259
+ version: 1,
260
+ vendor: "schemastery",
261
+ validate: (value) => {
262
+ try {
263
+ return { value: Schema.resolve(value, this, {})[0] };
264
+ } catch (error) {
265
+ if (ValidationError.is(error)) return { issues: [{
266
+ message: error.message,
267
+ path: error.options.path
268
+ }] };
269
+ throw error;
270
+ }
271
+ }
272
+ };
273
+ } });
274
+ Schema.ValidationError = ValidationError;
275
+ Schema.prototype.toJSON = function toJSON() {
276
+ if (globalThis.__schemastery_refs__) {
277
+ globalThis.__schemastery_refs__[this.uid] ??= JSON.parse(JSON.stringify({ ...this }));
278
+ return this.uid;
279
+ }
280
+ globalThis.__schemastery_refs__ = { [this.uid]: { ...this } };
281
+ globalThis.__schemastery_refs__[this.uid] = JSON.parse(JSON.stringify({ ...this }));
282
+ const result = {
283
+ uid: this.uid,
284
+ refs: globalThis.__schemastery_refs__
285
+ };
286
+ globalThis.__schemastery_refs__ = void 0;
287
+ return result;
288
+ };
289
+ Schema.prototype.set = function set(key, value) {
290
+ this.dict[key] = value;
291
+ return this;
292
+ };
293
+ Schema.prototype.push = function push(value) {
294
+ this.list.push(value);
295
+ return this;
296
+ };
297
+ function mergeDesc(original, messages) {
298
+ const result = typeof original === "string" ? { "": original } : { ...original };
299
+ for (const locale in messages) {
300
+ const value = messages[locale];
301
+ if (value?.$description || value?.$desc) result[locale] = value.$description || value.$desc;
302
+ else if (typeof value === "string") result[locale] = value;
303
+ }
304
+ return result;
305
+ }
306
+ function getInner(value) {
307
+ return value?.$value ?? value?.$inner;
308
+ }
309
+ function extractKeys(data) {
310
+ return filterKeys(data ?? {}, (key) => !key.startsWith("$"));
311
+ }
312
+ Schema.prototype.i18n = function i18n(messages) {
313
+ const schema = Schema(this);
314
+ const desc = mergeDesc(schema.meta.description, messages);
315
+ if (Object.keys(desc).length) schema.meta.description = desc;
316
+ if (schema.dict) schema.dict = mapValues(schema.dict, (inner, key) => {
317
+ return inner.i18n(mapValues(messages, (data) => getInner(data)?.[key] ?? data?.[key]));
318
+ });
319
+ if (schema.list) schema.list = schema.list.map((inner, index) => {
320
+ return inner.i18n(mapValues(messages, (data = {}) => {
321
+ if (Array.isArray(getInner(data))) return getInner(data)[index];
322
+ if (Array.isArray(data)) return data[index];
323
+ return extractKeys(data);
324
+ }));
325
+ });
326
+ if (schema.inner) schema.inner = schema.inner.i18n(mapValues(messages, (data) => {
327
+ if (getInner(data)) return getInner(data);
328
+ return extractKeys(data);
329
+ }));
330
+ if (schema.sKey) schema.sKey = schema.sKey.i18n(mapValues(messages, (data) => data?.$key));
331
+ return schema;
332
+ };
333
+ Schema.prototype.extra = function extra(key, value) {
334
+ const schema = Schema(this);
335
+ schema.meta = {
336
+ ...schema.meta,
337
+ [key]: value
338
+ };
339
+ return schema;
340
+ };
341
+ for (const key of [
342
+ "required",
343
+ "disabled",
344
+ "collapse",
345
+ "hidden",
346
+ "loose"
347
+ ]) Object.assign(Schema.prototype, { [key](value = true) {
348
+ const schema = Schema(this);
349
+ schema.meta = {
350
+ ...schema.meta,
351
+ [key]: value
352
+ };
353
+ return schema;
354
+ } });
355
+ Schema.prototype.deprecated = function deprecated() {
356
+ const schema = Schema(this);
357
+ schema.meta.badges ||= [];
358
+ schema.meta.badges.push({
359
+ text: "deprecated",
360
+ type: "danger"
361
+ });
362
+ return schema;
363
+ };
364
+ Schema.prototype.experimental = function experimental() {
365
+ const schema = Schema(this);
366
+ schema.meta.badges ||= [];
367
+ schema.meta.badges.push({
368
+ text: "experimental",
369
+ type: "warning"
370
+ });
371
+ return schema;
372
+ };
373
+ Schema.prototype.pattern = function pattern(regexp) {
374
+ const schema = Schema(this);
375
+ const pattern = pick(regexp, ["source", "flags"]);
376
+ schema.meta = {
377
+ ...schema.meta,
378
+ pattern
379
+ };
380
+ return schema;
381
+ };
382
+ Schema.prototype.simplify = function simplify(value) {
383
+ if (deepEqual(value, this.meta.default, this.type === "dict")) return null;
384
+ if (isNullable(value)) return value;
385
+ if (this.type === "object" || this.type === "dict") {
386
+ const result = {};
387
+ for (const key in value) {
388
+ const item = (this.type === "object" ? this.dict[key] : this.inner)?.simplify(value[key]);
389
+ if (this.type === "dict" || !isNullable(item)) result[key] = item;
390
+ }
391
+ if (deepEqual(result, this.meta.default, this.type === "dict")) return null;
392
+ return result;
393
+ } else if (this.type === "array" || this.type === "tuple") {
394
+ const result = [];
395
+ value.forEach((value, index) => {
396
+ const schema = this.type === "array" ? this.inner : this.list[index];
397
+ const item = schema ? schema.simplify(value) : value;
398
+ result.push(item);
399
+ });
400
+ return result;
401
+ } else if (this.type === "intersect") {
402
+ const result = {};
403
+ for (const item of this.list) Object.assign(result, item.simplify(value));
404
+ return result;
405
+ } else if (this.type === "union") for (const schema of this.list) try {
406
+ Schema.resolve(value, schema, {});
407
+ return schema.simplify(value);
408
+ } catch {}
409
+ return value;
410
+ };
411
+ Schema.prototype.toString = function toString(inline) {
412
+ return formatters[this.type]?.(this, inline) ?? `Schema<${this.type}>`;
413
+ };
414
+ Schema.prototype.role = function role(role, extra) {
415
+ const schema = Schema(this);
416
+ schema.meta = {
417
+ ...schema.meta,
418
+ role,
419
+ extra
420
+ };
421
+ return schema;
422
+ };
423
+ for (const key of [
424
+ "default",
425
+ "link",
426
+ "comment",
427
+ "description",
428
+ "max",
429
+ "min",
430
+ "step"
431
+ ]) Object.assign(Schema.prototype, { [key](value) {
432
+ const schema = Schema(this);
433
+ schema.meta = {
434
+ ...schema.meta,
435
+ [key]: value
436
+ };
437
+ return schema;
438
+ } });
439
+ const resolvers = {};
440
+ Schema.extend = function extend(type, resolve) {
441
+ resolvers[type] = resolve;
442
+ };
443
+ Schema.resolve = function resolve(data, schema, options = {}, strict = false) {
444
+ if (!schema) return [data];
445
+ if (options.ignore?.(data, schema)) return [data];
446
+ if (isNullable(data) && schema.type !== "lazy") {
447
+ if (schema.meta.required) throw new ValidationError(`missing required value`, options);
448
+ let current = schema;
449
+ let fallback = schema.meta.default;
450
+ while (current?.type === "intersect" && isNullable(fallback)) {
451
+ current = current.list[0];
452
+ fallback = current?.meta.default;
453
+ }
454
+ if (isNullable(fallback)) return [data];
455
+ data = clone(fallback);
456
+ }
457
+ const callback = resolvers[schema.type];
458
+ if (!callback) throw new ValidationError(`unsupported type "${schema.type}"`, options);
459
+ try {
460
+ return callback(data, schema, options, strict);
461
+ } catch (error) {
462
+ if (!schema.meta.loose) throw error;
463
+ return [schema.meta.default];
464
+ }
465
+ };
466
+ Schema.from = function from(source) {
467
+ if (isNullable(source)) return Schema.any();
468
+ else if ([
469
+ "string",
470
+ "number",
471
+ "boolean"
472
+ ].includes(typeof source)) return Schema.const(source).required();
473
+ else if (source[kSchema]) return source;
474
+ else if (typeof source === "function") switch (source) {
475
+ case String: return Schema.string().required();
476
+ case Number: return Schema.number().required();
477
+ case Boolean: return Schema.boolean().required();
478
+ case Function: return Schema.function().required();
479
+ default: return Schema.is(source).required();
480
+ }
481
+ else throw new TypeError(`cannot infer schema from ${source}`);
482
+ };
483
+ Schema.lazy = function lazy(builder) {
484
+ const toJSON = () => {
485
+ if (!schema.inner[kSchema]) {
486
+ schema.inner = schema.builder();
487
+ schema.inner.meta = {
488
+ ...schema.meta,
489
+ ...schema.inner.meta
490
+ };
491
+ }
492
+ return schema.inner.toJSON();
493
+ };
494
+ const schema = new Schema({
495
+ type: "lazy",
496
+ builder,
497
+ inner: { toJSON }
498
+ });
499
+ return schema;
500
+ };
501
+ Schema.natural = function natural() {
502
+ return Schema.number().step(1).min(0);
503
+ };
504
+ Schema.percent = function percent() {
505
+ return Schema.number().step(.01).min(0).max(1).role("slider");
506
+ };
507
+ Schema.date = function date() {
508
+ return Schema.union([Schema.is(Date), Schema.transform(Schema.string().role("datetime"), (value, options) => {
509
+ const date = new Date(value);
510
+ if (isNaN(+date)) throw new ValidationError(`invalid date "${value}"`, options);
511
+ return date;
512
+ }, true)]);
513
+ };
514
+ Schema.regExp = function regExp(flag = "") {
515
+ return Schema.union([Schema.is(RegExp), Schema.transform(Schema.string().role("regexp", { flag }), (value, options) => {
516
+ try {
517
+ return new RegExp(value, flag);
518
+ } catch (e) {
519
+ throw new ValidationError(e.message, options);
520
+ }
521
+ }, true)]);
522
+ };
523
+ Schema.arrayBuffer = function arrayBuffer(encoding) {
524
+ return Schema.union([
525
+ Schema.is(ArrayBuffer),
526
+ Schema.is(SharedArrayBuffer),
527
+ Schema.transform(Schema.any(), (value, options) => {
528
+ if (Binary.isSource(value)) return Binary.fromSource(value);
529
+ throw new ValidationError(`expected ArrayBufferSource but got ${value}`, options);
530
+ }, true),
531
+ ...encoding ? [Schema.transform(Schema.string(), (value, options) => {
532
+ try {
533
+ return encoding === "base64" ? Binary.fromBase64(value) : Binary.fromHex(value);
534
+ } catch (e) {
535
+ throw new ValidationError(e.message, options);
536
+ }
537
+ }, true)] : []
538
+ ]);
539
+ };
540
+ Schema.extend("lazy", (data, schema, options, strict) => {
541
+ if (!schema.inner[kSchema]) {
542
+ schema.inner = schema.builder();
543
+ schema.inner.meta = {
544
+ ...schema.meta,
545
+ ...schema.inner.meta
546
+ };
547
+ }
548
+ return Schema.resolve(data, schema.inner, options, strict);
549
+ });
550
+ Schema.extend("any", (data) => {
551
+ return [data];
552
+ });
553
+ Schema.extend("never", (data, _, options) => {
554
+ throw new ValidationError(`expected nullable but got ${data}`, options);
555
+ });
556
+ Schema.extend("const", (data, { value }, options) => {
557
+ if (deepEqual(data, value)) return [value];
558
+ throw new ValidationError(`expected ${value} but got ${data}`, options);
559
+ });
560
+ function checkWithinRange(data, meta, description, options, skipMin = false) {
561
+ const { max = Infinity, min = -Infinity } = meta;
562
+ if (data > max) throw new ValidationError(`expected ${description} <= ${max} but got ${data}`, options);
563
+ if (data < min && !skipMin) throw new ValidationError(`expected ${description} >= ${min} but got ${data}`, options);
564
+ }
565
+ Schema.extend("string", (data, { meta }, options) => {
566
+ if (typeof data !== "string") throw new ValidationError(`expected string but got ${data}`, options);
567
+ if (meta.pattern) {
568
+ const regexp = new RegExp(meta.pattern.source, meta.pattern.flags);
569
+ if (!regexp.test(data)) throw new ValidationError(`expect string to match regexp ${regexp}`, options);
570
+ }
571
+ checkWithinRange(data.length, meta, "string length", options);
572
+ return [data];
573
+ });
574
+ function decimalShift(data, digits) {
575
+ const str = data.toString();
576
+ if (str.includes("e")) return data * Math.pow(10, digits);
577
+ const index = str.indexOf(".");
578
+ if (index === -1) return data * Math.pow(10, digits);
579
+ const frac = str.slice(index + 1);
580
+ const integer = str.slice(0, index);
581
+ if (frac.length <= digits) return +(integer + frac.padEnd(digits, "0"));
582
+ return +(integer + frac.slice(0, digits) + "." + frac.slice(digits));
583
+ }
584
+ function isMultipleOf(data, min, step) {
585
+ step = Math.abs(step);
586
+ if (!/^\d+\.\d+$/.test(step.toString())) return (data - min) % step === 0;
587
+ const index = step.toString().indexOf(".");
588
+ const digits = step.toString().slice(index + 1).length;
589
+ return Math.abs(decimalShift(data, digits) - decimalShift(min, digits)) % decimalShift(step, digits) === 0;
590
+ }
591
+ Schema.extend("number", (data, { meta }, options) => {
592
+ if (typeof data !== "number") throw new ValidationError(`expected number but got ${data}`, options);
593
+ checkWithinRange(data, meta, "number", options);
594
+ const { step } = meta;
595
+ if (step && !isMultipleOf(data, meta.min ?? 0, step)) throw new ValidationError(`expected number multiple of ${step} but got ${data}`, options);
596
+ return [data];
597
+ });
598
+ Schema.extend("boolean", (data, _, options) => {
599
+ if (typeof data === "boolean") return [data];
600
+ throw new ValidationError(`expected boolean but got ${data}`, options);
601
+ });
602
+ Schema.extend("bitset", (data, { bits, meta }, options) => {
603
+ let value = 0, keys = [];
604
+ if (typeof data === "number") {
605
+ value = data;
606
+ for (const key in bits) if (data & bits[key]) keys.push(key);
607
+ } else if (Array.isArray(data)) {
608
+ keys = data;
609
+ for (const key of keys) {
610
+ if (typeof key !== "string") throw new ValidationError(`expected string but got ${key}`, options);
611
+ if (key in bits) value |= bits[key];
612
+ }
613
+ } else throw new ValidationError(`expected number or array but got ${data}`, options);
614
+ if (value === meta.default) return [value];
615
+ return [value, keys];
616
+ });
617
+ Schema.extend("function", (data, _, options) => {
618
+ if (typeof data === "function") return [data];
619
+ throw new ValidationError(`expected function but got ${data}`, options);
620
+ });
621
+ Schema.extend("is", (data, { constructor }, options) => {
622
+ if (typeof constructor === "function") {
623
+ if (data instanceof constructor) return [data];
624
+ throw new ValidationError(`expected ${constructor.name} but got ${data}`, options);
625
+ } else {
626
+ if (isNullable(data)) throw new ValidationError(`expected ${constructor} but got ${data}`, options);
627
+ let prototype = Object.getPrototypeOf(data);
628
+ while (prototype) {
629
+ if (prototype.constructor?.name === constructor) return [data];
630
+ prototype = Object.getPrototypeOf(prototype);
631
+ }
632
+ throw new ValidationError(`expected ${constructor} but got ${data}`, options);
633
+ }
634
+ });
635
+ function property(data, key, schema, options) {
636
+ try {
637
+ const [value, adapted] = Schema.resolve(data[key], schema, {
638
+ ...options,
639
+ path: [...options.path || [], key]
640
+ });
641
+ if (adapted !== void 0) data[key] = adapted;
642
+ return value;
643
+ } catch (e) {
644
+ if (!options?.autofix) throw e;
645
+ delete data[key];
646
+ return schema.meta.default;
647
+ }
648
+ }
649
+ Schema.extend("array", (data, { inner, meta }, options) => {
650
+ if (!Array.isArray(data)) throw new ValidationError(`expected array but got ${data}`, options);
651
+ checkWithinRange(data.length, meta, "array length", options, !isNullable(inner.meta.default));
652
+ return [data.map((_, index) => property(data, index, inner, options))];
653
+ });
654
+ Schema.extend("dict", (data, { inner, sKey }, options, strict) => {
655
+ if (!isPlainObject(data)) throw new ValidationError(`expected object but got ${data}`, options);
656
+ const result = {};
657
+ for (const key in data) {
658
+ let rKey;
659
+ try {
660
+ rKey = Schema.resolve(key, sKey, options)[0];
661
+ } catch (error) {
662
+ if (strict) continue;
663
+ throw error;
664
+ }
665
+ result[rKey] = property(data, key, inner, options);
666
+ data[rKey] = data[key];
667
+ if (key !== rKey) delete data[key];
668
+ }
669
+ return [result];
670
+ });
671
+ Schema.extend("tuple", (data, { list }, options, strict) => {
672
+ if (!Array.isArray(data)) throw new ValidationError(`expected array but got ${data}`, options);
673
+ const result = list.map((inner, index) => property(data, index, inner, options));
674
+ if (strict) return [result];
675
+ result.push(...data.slice(list.length));
676
+ return [result];
677
+ });
678
+ function merge(result, data) {
679
+ for (const key in data) {
680
+ if (key in result) continue;
681
+ result[key] = data[key];
682
+ }
683
+ }
684
+ Schema.extend("object", (data, { dict }, options, strict) => {
685
+ if (!isPlainObject(data)) throw new ValidationError(`expected object but got ${data}`, options);
686
+ const result = {};
687
+ for (const key in dict) {
688
+ const value = property(data, key, dict[key], options);
689
+ if (!isNullable(value) || key in data) result[key] = value;
690
+ }
691
+ if (!strict) merge(result, data);
692
+ return [result];
693
+ });
694
+ Schema.extend("union", (data, { list, toString }, options, strict) => {
695
+ const messages = [];
696
+ for (const inner of list) try {
697
+ return Schema.resolve(data, inner, options, strict);
698
+ } catch (error) {
699
+ messages.push(error);
700
+ }
701
+ throw new ValidationError(`expected ${toString()} but got ${JSON.stringify(data)}`, options);
702
+ });
703
+ Schema.extend("intersect", (data, { list, toString }, options, strict) => {
704
+ if (!list.length) return [data];
705
+ let result;
706
+ for (const inner of list) {
707
+ const value = Schema.resolve(data, inner, options, true)[0];
708
+ if (isNullable(value)) continue;
709
+ if (isNullable(result)) result = value;
710
+ else if (typeof result !== typeof value) throw new ValidationError(`expected ${toString()} but got ${JSON.stringify(data)}`, options);
711
+ else if (typeof value === "object") merge(result ??= {}, value);
712
+ else if (result !== value) throw new ValidationError(`expected ${toString()} but got ${JSON.stringify(data)}`, options);
713
+ }
714
+ if (!strict && isPlainObject(data)) merge(result, data);
715
+ return [result];
716
+ });
717
+ Schema.extend("transform", (data, { inner, callback, preserve }, options) => {
718
+ const [result, adapted = data] = Schema.resolve(data, inner, options, true);
719
+ if (preserve) return [callback(result)];
720
+ else return [callback(result), callback(adapted)];
721
+ });
722
+ const formatters = {};
723
+ function defineMethod(name, keys, format) {
724
+ formatters[name] = format;
725
+ Object.assign(Schema, { [name](...args) {
726
+ const schema = new Schema({ type: name });
727
+ keys.forEach((key, index) => {
728
+ switch (key) {
729
+ case "sKey":
730
+ schema.sKey = args[index] ?? Schema.string();
731
+ break;
732
+ case "inner":
733
+ schema.inner = Schema.from(args[index]);
734
+ break;
735
+ case "list":
736
+ schema.list = args[index].map(Schema.from);
737
+ break;
738
+ case "dict":
739
+ schema.dict = mapValues(args[index], Schema.from);
740
+ break;
741
+ case "bits":
742
+ schema.bits = {};
743
+ for (const key in args[index]) {
744
+ if (typeof args[index][key] !== "number") continue;
745
+ schema.bits[key] = args[index][key];
746
+ }
747
+ break;
748
+ case "callback": {
749
+ const callback = schema.callback = args[index];
750
+ callback["toJSON"] ||= () => callback.toString();
751
+ break;
752
+ }
753
+ case "constructor": {
754
+ const constructor = schema.constructor = args[index];
755
+ if (typeof constructor === "function") constructor["toJSON"] ||= () => constructor["name"];
756
+ break;
757
+ }
758
+ default: schema[key] = args[index];
759
+ }
760
+ });
761
+ if (name === "object" || name === "dict") schema.meta.default = {};
762
+ else if (name === "array" || name === "tuple") schema.meta.default = [];
763
+ else if (name === "bitset") schema.meta.default = 0;
764
+ return schema;
765
+ } });
766
+ }
767
+ defineMethod("is", ["constructor"], ({ constructor }) => {
768
+ if (typeof constructor === "function") return constructor.name;
769
+ else return constructor;
770
+ });
771
+ defineMethod("any", [], () => "any");
772
+ defineMethod("never", [], () => "never");
773
+ defineMethod("const", ["value"], ({ value }) => typeof value === "string" ? JSON.stringify(value) : value);
774
+ defineMethod("string", [], () => "string");
775
+ defineMethod("number", [], () => "number");
776
+ defineMethod("boolean", [], () => "boolean");
777
+ defineMethod("bitset", ["bits"], () => "bitset");
778
+ defineMethod("function", [], () => "function");
779
+ defineMethod("array", ["inner"], ({ inner }) => `${inner.toString(true)}[]`);
780
+ defineMethod("dict", ["inner", "sKey"], ({ inner, sKey }) => `{ [key: ${sKey.toString()}]: ${inner.toString()} }`);
781
+ defineMethod("tuple", ["list"], ({ list }) => `[${list.map((inner) => inner.toString()).join(", ")}]`);
782
+ defineMethod("object", ["dict"], ({ dict }) => {
783
+ if (Object.keys(dict).length === 0) return "{}";
784
+ return `{ ${Object.entries(dict).map(([key, inner]) => {
785
+ return `${key}${inner.meta.required ? "" : "?"}: ${inner.toString()}`;
786
+ }).join(", ")} }`;
787
+ });
788
+ defineMethod("union", ["list"], ({ list }, inline) => {
789
+ const result = list.map(({ toString: format }) => format()).join(" | ");
790
+ return inline ? `(${result})` : result;
791
+ });
792
+ defineMethod("intersect", ["list"], ({ list }) => {
793
+ return `${list.map((inner) => inner.toString(true)).join(" & ")}`;
794
+ });
795
+ defineMethod("transform", [
796
+ "inner",
797
+ "callback",
798
+ "preserve"
799
+ ], ({ inner }, isInner) => inner.toString(isInner));
800
+ //#endregion
801
+ //#region lib/types/client/schema.js
802
+ /** Synchronous schema introspection and immutable settings-draft edits. */
803
+ function cloneContainer(container, key) {
804
+ if (Array.isArray(container)) return [...container];
805
+ if (typeof container === "object" && container !== null) return { ...container };
806
+ return /^\d+$/.test(key) ? [] : {};
807
+ }
808
+ function cloneSpine(root, path) {
809
+ const result = { ...root };
810
+ let target = result;
811
+ for (let index = 0; index < path.length - 1; index++) {
812
+ const key = path[index];
813
+ const child = cloneContainer(Array.isArray(target) ? target[Number(key)] : target[key], path[index + 1]);
814
+ if (Array.isArray(target)) target[Number(key)] = child;
815
+ else target[key] = child;
816
+ target = child;
817
+ }
818
+ return {
819
+ result,
820
+ parent: target,
821
+ leaf: path[path.length - 1]
822
+ };
823
+ }
824
+ /**
825
+ * Settings-owned synchronous schema service. Dynamic client plugins receive
826
+ * this Cordis entity instead of importing executable helpers from one another.
827
+ */
828
+ var SettingsSchemaService = class extends _nomix_ai_cordis.Service {
829
+ /** @param ctx - providing ui-settings context. */
830
+ constructor(ctx) {
831
+ super(ctx, "settingsSchema");
832
+ }
833
+ /**
834
+ * Rehydrate one serialized `schema.toJSON()` envelope.
835
+ * @param serialized - serialized Schemastery node.
836
+ * @returns live schema node.
837
+ */
838
+ rehydrate(serialized) {
839
+ return new Schema(serialized);
840
+ }
841
+ /**
842
+ * Validate a settings draft.
843
+ * @param schema - live schema node.
844
+ * @param draft - candidate settings value.
845
+ * @returns validation failure text, or `undefined` when valid.
846
+ */
847
+ validate(schema, draft) {
848
+ try {
849
+ schema(draft);
850
+ return;
851
+ } catch (error) {
852
+ return error instanceof Error ? error.message : String(error);
853
+ }
854
+ }
855
+ /**
856
+ * Resolve an object, dict, or array schema node at a settings path.
857
+ * @param root - schema node to traverse.
858
+ * @param path - object keys or array indexes.
859
+ * @returns the resolved node, or `undefined` when the path is absent.
860
+ */
861
+ nodeAtPath(root, path) {
862
+ let node = root;
863
+ for (const key of path) {
864
+ if (node === void 0) return void 0;
865
+ if (node.type === "object") node = node.dict?.[key];
866
+ else if (node.type === "dict" || node.type === "array") node = node.inner;
867
+ else return void 0;
868
+ }
869
+ return node;
870
+ }
871
+ /**
872
+ * Read a nested value by a string-key or array-index path.
873
+ * @param value - value to traverse.
874
+ * @param path - object keys or array indexes.
875
+ * @returns the resolved value, or `undefined` when the path is absent.
876
+ */
877
+ getPath(value, path) {
878
+ let current = value;
879
+ for (const key of path) {
880
+ if (Array.isArray(current)) {
881
+ current = current[Number(key)];
882
+ continue;
883
+ }
884
+ if (typeof current !== "object" || current === null) return void 0;
885
+ current = current[key];
886
+ }
887
+ return current;
888
+ }
889
+ /**
890
+ * Report whether the final path key exists independently of its value.
891
+ * @param value - value to traverse.
892
+ * @param path - object keys or array indexes.
893
+ * @returns whether the path exists.
894
+ */
895
+ hasPath(value, path) {
896
+ if (path.length === 0) return value !== void 0;
897
+ const parent = this.getPath(value, path.slice(0, -1));
898
+ const key = path[path.length - 1];
899
+ if (Array.isArray(parent)) return Number(key) < parent.length;
900
+ if (typeof parent !== "object" || parent === null) return false;
901
+ return key in parent;
902
+ }
903
+ /**
904
+ * Immutably set a nested value, materializing missing containers.
905
+ * @param root - settings object to copy.
906
+ * @param path - non-empty object-key or array-index path.
907
+ * @param value - replacement value.
908
+ * @returns copied root containing the replacement.
909
+ * @throws when `path` is empty.
910
+ */
911
+ setPath(root, path, value) {
912
+ if (path.length === 0) throw new Error("ui-settings: setPath needs a non-empty path");
913
+ const { result, parent, leaf } = cloneSpine(root, path);
914
+ if (Array.isArray(parent)) parent[Number(leaf)] = value;
915
+ else parent[leaf] = value;
916
+ return result;
917
+ }
918
+ /**
919
+ * Immutably remove a nested key, preserving an unchanged missing root.
920
+ * @param root - settings object to copy.
921
+ * @param path - non-empty object-key or array-index path.
922
+ * @returns copied root without the key, or `root` when the path is absent.
923
+ * @throws when `path` is empty.
924
+ */
925
+ deletePath(root, path) {
926
+ if (path.length === 0) throw new Error("ui-settings: deletePath needs a non-empty path");
927
+ if (!this.hasPath(root, path)) return root;
928
+ const { result, parent, leaf } = cloneSpine(root, path);
929
+ if (Array.isArray(parent)) parent.splice(Number(leaf), 1);
930
+ else Reflect.deleteProperty(parent, leaf);
931
+ return result;
932
+ }
933
+ };
934
+ //#endregion
10
935
  //#region lib/types/client/settings-scope.js
11
936
  /**
12
937
  * Host transport for the settings-namespace scope contract. The contract types
13
938
  * live in `nomix-client-runtime` (the common dependency of every feature that
14
- * owns a preference); this file owns the wire behavior and the invalidation
15
- * subscription, both of which are Settings-surface concerns.
939
+ * owns a preference); this file owns the per-namespace derivation over the
940
+ * shared {@link SettingsDescribeMirror} and the serialized write path, both of
941
+ * which are Settings-surface concerns. Reads never touch the wire here: the
942
+ * mirror is the one `settings.describe` reader, and every scope is a selector
943
+ * over its snapshot.
16
944
  */
17
945
  /**
18
- * Serializes one namespace's Host reads and writes behind a snapshot store.
19
- * Reads never block plugin activation; writes carry the latest known
20
- * namespace revision and teardown waits for the operation already crossing
21
- * the wire.
946
+ * One namespace's derived view over the shared describe mirror, plus that
947
+ * namespace's serialized Host writes. Writes carry the latest known namespace
948
+ * revision, fold their answers back into the mirror, and teardown waits for
949
+ * the operation already crossing the wire.
22
950
  */
23
951
  var SettingsScopeController = class {
24
952
  api;
25
953
  spec;
954
+ mirror;
26
955
  persistence;
956
+ schema;
27
957
  store;
28
958
  tail = Promise.resolve();
29
- readGeneration = 0;
30
959
  writeGeneration = 0;
31
960
  disposed = false;
961
+ unsubscribe;
32
962
  /**
33
- * @param api - settings wire face.
963
+ * Revision answered by a superseded write still ahead of the mirror: the
964
+ * mirror only folds the LATEST settlement in, so a queued successor takes
965
+ * its fence from here first.
966
+ */
967
+ pendingRevision;
968
+ /**
969
+ * @param api - settings wire face (writes only; reads ride the mirror).
34
970
  * @param spec - namespace identity and optional narrowing decoder.
971
+ * @param mirror - the shared describe mirror this scope derives from.
35
972
  * @param persistence - remote browsers remain process-local because settings RPCs are loopback-only.
973
+ * @param schema - settings-owned schema operations.
36
974
  */
37
- constructor(api, spec, persistence = "host") {
975
+ constructor(api, spec, mirror, persistence, schema) {
38
976
  this.api = api;
39
977
  this.spec = spec;
978
+ this.mirror = mirror;
40
979
  this.persistence = persistence;
980
+ this.schema = schema;
41
981
  this.store = (0, _nomix_ai_nomix_client_runtime_client.createSnapshotStore)({
42
982
  status: persistence === "host" ? "loading" : "unavailable",
43
983
  value: void 0,
@@ -47,6 +987,12 @@ window.__ModuleLoader__.load({
47
987
  writable: false,
48
988
  mode: persistence
49
989
  });
990
+ if (persistence === "host") {
991
+ this.unsubscribe = mirror.subscribe(() => {
992
+ this.derive();
993
+ });
994
+ this.derive();
995
+ }
50
996
  }
51
997
  /** @returns the current sync snapshot (stable reference until the next change). */
52
998
  getSnapshot() {
@@ -61,14 +1007,6 @@ window.__ModuleLoader__.load({
61
1007
  return this.store.subscribe(listener);
62
1008
  }
63
1009
  /**
64
- * Queue a Host refresh; a newer read or user write suppresses stale publication.
65
- * @returns settlement after the queued read completes or is skipped.
66
- */
67
- load() {
68
- const generation = ++this.readGeneration;
69
- return this.enqueue(() => this.read(generation));
70
- }
71
- /**
72
1010
  * Queue one field write; see {@link SettingsScope.set} for the ordering,
73
1011
  * revision, and recovery contract.
74
1012
  * @param field - scalar field inside the namespace section.
@@ -95,10 +1033,9 @@ window.__ModuleLoader__.load({
95
1033
  });
96
1034
  }
97
1035
  write(op) {
98
- this.readGeneration += 1;
99
1036
  const generation = ++this.writeGeneration;
100
1037
  return this.enqueue(async () => {
101
- const revision = this.getSnapshot().revision;
1038
+ const revision = this.pendingRevision ?? this.getSnapshot().revision;
102
1039
  let response;
103
1040
  try {
104
1041
  response = await this.api.settings.mutate({
@@ -107,24 +1044,35 @@ window.__ModuleLoader__.load({
107
1044
  ...revision === void 0 ? {} : { expectedRevision: revision }
108
1045
  });
109
1046
  } catch (_settingsWriteFailure) {
110
- if (!this.disposed && generation === this.writeGeneration) await this.read(++this.readGeneration);
1047
+ await this.recover(generation);
111
1048
  return;
112
1049
  }
113
1050
  if (!response.result.ok) {
114
- if (!this.disposed && generation === this.writeGeneration) await this.read(++this.readGeneration);
1051
+ await this.recover(generation);
115
1052
  return;
116
1053
  }
117
- this.accept(response.result.value, generation === this.writeGeneration);
1054
+ if (this.disposed) return;
1055
+ if (generation === this.writeGeneration) {
1056
+ this.pendingRevision = void 0;
1057
+ this.mirror.acceptView(response.result.value);
1058
+ } else this.pendingRevision = response.result.value.revision;
118
1059
  });
119
1060
  }
1061
+ /** Reload Host state for the latest failed write; superseded failures leave recovery to it. */
1062
+ async recover(generation) {
1063
+ if (this.disposed || generation !== this.writeGeneration) return;
1064
+ this.pendingRevision = void 0;
1065
+ await this.mirror.load();
1066
+ }
120
1067
  /**
121
- * Stop queued operations and wait for the current wire call to settle.
1068
+ * Stop queued operations, stop deriving, and wait for the current wire call
1069
+ * to settle.
122
1070
  * @returns settlement after the controller reaches quiescence.
123
1071
  */
124
1072
  async dispose() {
125
1073
  this.disposed = true;
126
- this.readGeneration += 1;
127
1074
  this.writeGeneration += 1;
1075
+ this.unsubscribe?.();
128
1076
  await this.tail;
129
1077
  }
130
1078
  enqueue(operation) {
@@ -136,33 +1084,25 @@ window.__ModuleLoader__.load({
136
1084
  this.tail = task.catch(() => {});
137
1085
  return task;
138
1086
  }
139
- async read(generation) {
140
- let response;
141
- try {
142
- response = await this.api.settings.describe({});
143
- } catch (_settingsReadFailure) {
144
- return;
145
- }
146
- if (!response.result.ok || this.disposed) return;
147
- const { namespaces, writable } = response.result.value;
148
- const view = namespaces.find((candidate) => candidate.ns === this.spec.namespace);
149
- const publish = generation === this.readGeneration;
1087
+ derive() {
1088
+ if (this.disposed) return;
1089
+ const mirrored = this.mirror.getSnapshot();
1090
+ if (mirrored.view === void 0) return;
1091
+ const { writable } = mirrored.view;
1092
+ const view = mirrored.view.namespaces.find((candidate) => candidate.ns === this.spec.namespace);
150
1093
  if (view === void 0) {
151
- if (publish) this.store.update((draft) => {
1094
+ this.store.update((draft) => {
152
1095
  draft.status = "unavailable";
153
1096
  draft.writable = writable;
154
1097
  });
155
1098
  return;
156
1099
  }
157
- this.accept(view, publish, writable);
158
- }
159
- accept(view, publish, writable) {
160
- const decoded = publish ? this.decode(view) : void 0;
1100
+ const decoded = this.decode(view);
161
1101
  this.store.update((draft) => {
162
1102
  draft.revision = view.revision;
163
1103
  draft.base = view.base;
164
1104
  draft.user = view.user;
165
- if (writable !== void 0) draft.writable = writable;
1105
+ draft.writable = writable;
166
1106
  if (decoded === void 0) return;
167
1107
  draft.status = "ready";
168
1108
  draft.value = decoded;
@@ -173,7 +1113,7 @@ window.__ModuleLoader__.load({
173
1113
  if (typeof view.value !== "object" || view.value === null || Array.isArray(view.value)) return void 0;
174
1114
  let failure;
175
1115
  try {
176
- failure = (0, _nomix_ai_nomix_client_schema_form.validateDraft)((0, _nomix_ai_nomix_client_schema_form.rehydrateSchema)(view.schema), view.value);
1116
+ failure = this.schema.validate(this.schema.rehydrate(view.schema), view.value);
177
1117
  } catch (_malformedSchemaEnvelope) {
178
1118
  return;
179
1119
  }
@@ -188,37 +1128,45 @@ window.__ModuleLoader__.load({
188
1128
  * (`packages/client/tsdown.client.ts`).
189
1129
  */
190
1130
  var SettingsScopeBinder = class extends _nomix_ai_cordis.Service {
1131
+ mirror;
1132
+ schema;
191
1133
  /**
192
1134
  * @param ctx - the providing plugin's context.
1135
+ * @param config - the shared describe mirror every bound scope derives from,
1136
+ * plus the settings-owned schema operations.
193
1137
  */
194
- constructor(ctx) {
1138
+ constructor(ctx, config) {
195
1139
  super(ctx, "settingsScope");
1140
+ this.mirror = config.mirror;
1141
+ this.schema = config.schema;
1142
+ }
1143
+ /**
1144
+ * The shared mirror's read/fold face for cross-namespace surfaces (schema
1145
+ * introspection, the served-namespace directory). Per-namespace consumers
1146
+ * use {@link bind}; both derive from the same snapshot, so they can never
1147
+ * disagree about the document.
1148
+ * @returns the describe face over the shared mirror.
1149
+ */
1150
+ describe() {
1151
+ return this.mirror;
196
1152
  }
197
1153
  /**
198
- * Bind one namespace scope to settings and connection invalidations on the
199
- * CALLER's plugin lifecycle — the service proxy binds `this.ctx` to the
200
- * caller at call time, so the scope's disposer belongs to the calling fiber.
201
- * Listeners exist before the initial background read starts, so activation
202
- * never blocks on the settings transport. The caller injects `connection`
203
- * for the transport and `remote` for the forwarded settings invalidation.
1154
+ * Bind one namespace scope on the CALLER's plugin lifecycle the service
1155
+ * proxy binds `this.ctx` to the caller at call time, so the scope's disposer
1156
+ * belongs to the calling fiber. The scope derives from the shared mirror
1157
+ * (whose invalidation subscriptions live with the providing plugin), so
1158
+ * binding adds no wire read of its own and activation never blocks on the
1159
+ * settings transport.
204
1160
  * @param spec - domain-owned namespace contract.
205
1161
  * @returns the bound scope consumed by the domain's services and rows.
206
1162
  */
207
1163
  bind(spec) {
208
1164
  const ctx = this.ctx;
209
1165
  const connection = ctx.get("connection");
210
- const controller = new SettingsScopeController(connection.api, spec, connection.isLoopback ? "host" : "memory");
1166
+ const controller = new SettingsScopeController(connection.api, spec, this.mirror, connection.isLoopback ? "host" : "memory", this.schema);
211
1167
  ctx.effect(() => {
212
- const refresh = (namespace) => {
213
- if (namespace !== void 0 && namespace !== spec.namespace) return;
214
- controller.load();
215
- };
216
- const disposers = [ctx.get("remote").$on("settings/document-updated", refresh), ctx.on("connection/reset", () => {
217
- refresh();
218
- })];
219
- controller.load();
1168
+ this.mirror.ensure();
220
1169
  return async () => {
221
- for (const dispose of disposers) dispose();
222
1170
  await controller.dispose();
223
1171
  };
224
1172
  }, `ui-settings: ${spec.namespace} settings scope`);
@@ -226,25 +1174,187 @@ window.__ModuleLoader__.load({
226
1174
  }
227
1175
  };
228
1176
  //#endregion
1177
+ //#region lib/types/client/settings-mirror.js
1178
+ /**
1179
+ * Client mirror of the Host settings document: the one `settings.describe`
1180
+ * reader in the browser. Every settings consumer derives from this store —
1181
+ * per-namespace scopes through `SettingsScopeBinder.bind`, cross-namespace
1182
+ * surfaces through the binder's shared describe face — so startup cost and
1183
+ * freshness are properties of this class, not of how many features own a
1184
+ * preference. The Host stays the fact source: the mirror re-reads on the
1185
+ * invalidations its owning plugin subscribes to and folds write answers in
1186
+ * through {@link SettingsDescribeMirror.acceptView}.
1187
+ */
1188
+ /**
1189
+ * Serializes every Host `settings.describe` read behind one snapshot store.
1190
+ * Concurrent {@link load} calls fold into the in-flight read plus one rerun,
1191
+ * so an invalidation arriving mid-read is never lost and never duplicated.
1192
+ */
1193
+ var SettingsDescribeMirror = class {
1194
+ api;
1195
+ persistence;
1196
+ store;
1197
+ inFlight;
1198
+ rerun = false;
1199
+ generation = 0;
1200
+ /**
1201
+ * @param api - settings wire face.
1202
+ * @param persistence - remote browsers stay process-local because settings RPCs are loopback-only.
1203
+ */
1204
+ constructor(api, persistence = "host") {
1205
+ this.api = api;
1206
+ this.persistence = persistence;
1207
+ this.store = (0, _nomix_ai_nomix_client_runtime_client.createSnapshotStore)({
1208
+ status: persistence === "host" ? "idle" : "unavailable",
1209
+ view: void 0,
1210
+ error: null
1211
+ });
1212
+ }
1213
+ /** @returns the current sync snapshot (stable reference until the next change). */
1214
+ getSnapshot() {
1215
+ return this.store.getSnapshot();
1216
+ }
1217
+ /**
1218
+ * Observe snapshot replacements.
1219
+ * @param listener - invoked after each snapshot change.
1220
+ * @returns the disposer removing this listener.
1221
+ */
1222
+ subscribe(listener) {
1223
+ return this.store.subscribe(listener);
1224
+ }
1225
+ /**
1226
+ * Refresh from the Host. A call during an in-flight read marks one rerun
1227
+ * after it settles instead of racing a second wire read.
1228
+ * @returns settlement after this call's freshness is reflected.
1229
+ */
1230
+ load() {
1231
+ if (this.persistence === "memory") return Promise.resolve();
1232
+ if (this.inFlight !== void 0) {
1233
+ this.rerun = true;
1234
+ return this.inFlight;
1235
+ }
1236
+ const run = Promise.resolve().then(() => this.run());
1237
+ this.inFlight = run;
1238
+ return run;
1239
+ }
1240
+ /**
1241
+ * Resolve once an answer is held (or the mirror is terminally unavailable),
1242
+ * reading only from `idle`. The cheap idempotent entry for surfaces that
1243
+ * render on first use.
1244
+ * @returns settlement of the current or newly started read, if any.
1245
+ */
1246
+ ensure() {
1247
+ if (this.persistence === "memory") return Promise.resolve();
1248
+ if (this.inFlight !== void 0) return this.inFlight;
1249
+ if (this.getSnapshot().status === "idle") return this.load();
1250
+ return Promise.resolve();
1251
+ }
1252
+ /**
1253
+ * Fold one write answer's namespace view into the held view without a wire
1254
+ * read, and invalidate any read still in flight. With no held document, the
1255
+ * answer is not published as a partial document; an in-flight read reruns so
1256
+ * it cannot publish a document fetched before the write committed.
1257
+ * @param view - the namespace view a settings write answered with.
1258
+ */
1259
+ acceptView(view) {
1260
+ const before = this.store.getSnapshot();
1261
+ this.generation += 1;
1262
+ if (this.inFlight !== void 0) this.rerun = true;
1263
+ if (before.view === void 0) return;
1264
+ const namespaces = before.view.namespaces.some((row) => row.ns === view.ns) ? before.view.namespaces.map((row) => row.ns === view.ns ? view : row) : [...before.view.namespaces, view];
1265
+ this.store.set({
1266
+ ...before,
1267
+ view: {
1268
+ ...before.view,
1269
+ namespaces
1270
+ }
1271
+ });
1272
+ }
1273
+ /**
1274
+ * Convenience row lookup on the held view.
1275
+ * @param ns - namespace identity.
1276
+ * @returns the namespace view, or undefined while unanswered or unregistered.
1277
+ */
1278
+ namespace(ns) {
1279
+ return this.store.getSnapshot().view?.namespaces.find((row) => row.ns === ns);
1280
+ }
1281
+ async run() {
1282
+ try {
1283
+ do {
1284
+ const before = this.store.getSnapshot();
1285
+ if (before.status === "idle") this.store.set({
1286
+ ...before,
1287
+ status: "loading"
1288
+ });
1289
+ this.rerun = false;
1290
+ const generation = ++this.generation;
1291
+ let outcome;
1292
+ try {
1293
+ const response = await this.api.settings.describe({});
1294
+ outcome = response.result.ok ? { view: response.result.value } : { failure: response.result.error.message };
1295
+ } catch (error) {
1296
+ outcome = { failure: error instanceof Error ? error.message : String(error) };
1297
+ }
1298
+ if (generation !== this.generation) continue;
1299
+ if ("view" in outcome) this.store.set({
1300
+ status: "ready",
1301
+ view: outcome.view,
1302
+ error: null
1303
+ });
1304
+ else {
1305
+ const held = this.store.getSnapshot();
1306
+ this.store.set({
1307
+ status: held.view === void 0 ? "idle" : "ready",
1308
+ view: held.view,
1309
+ error: outcome.failure
1310
+ });
1311
+ }
1312
+ } while (this.shouldRerun());
1313
+ } finally {
1314
+ this.inFlight = void 0;
1315
+ }
1316
+ }
1317
+ shouldRerun() {
1318
+ return this.rerun;
1319
+ }
1320
+ };
1321
+ //#endregion
229
1322
  //#region lib/types/client/index.js
230
1323
  /**
231
- * Required services: none. The transport is resolved per caller through
232
- * `this.ctx` at `bind` time, so this plugin waits for nothing.
1324
+ * Required services: the wire handle for the mirror's reads and the forwarded
1325
+ * settings invalidation the mirror refreshes on.
233
1326
  */
234
- const inject = [];
1327
+ const inject = ["connection", "remote"];
235
1328
  /**
236
- * Provide the settings-namespace scope service.
1329
+ * Provide the settings-namespace scope service over one shared describe
1330
+ * mirror, and keep that mirror fresh on the two signals that can move the
1331
+ * settings document: a document commit and a (re)connect.
237
1332
  *
238
1333
  * Constructing the service in this plugin's fiber keeps its traced methods
239
1334
  * bound to each consuming plugin's context.
240
1335
  * @param ctx - client root context.
241
1336
  */
242
1337
  function apply(ctx) {
243
- new SettingsScopeBinder(ctx);
1338
+ const schema = new SettingsSchemaService(ctx);
1339
+ const connection = ctx.get("connection");
1340
+ const mirror = new SettingsDescribeMirror(connection.api, connection.isLoopback ? "host" : "memory");
1341
+ ctx.effect(() => {
1342
+ const disposers = [ctx.get("remote").$on("settings/document-updated", () => {
1343
+ mirror.load();
1344
+ }), ctx.on("connection/reset", () => {
1345
+ mirror.load();
1346
+ })];
1347
+ mirror.ensure();
1348
+ return () => {
1349
+ for (const dispose of disposers) dispose();
1350
+ };
1351
+ }, "ui-settings: describe mirror invalidations");
1352
+ new SettingsScopeBinder(ctx, {
1353
+ mirror,
1354
+ schema
1355
+ });
244
1356
  }
245
1357
  //#endregion
246
- exports.SettingsScopeBinder = SettingsScopeBinder;
247
- exports.SettingsScopeController = SettingsScopeController;
248
1358
  exports.apply = apply;
249
1359
  exports.inject = inject;
250
1360
  return module.exports;