@miragon/pulse-widget-shell 0.24.2 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (917) hide show
  1. package/README.md +134 -127
  2. package/dist/caller.d.ts +3 -0
  3. package/dist/caller.d.ts.map +1 -0
  4. package/dist/caller.js +18 -0
  5. package/dist/caller.js.map +1 -0
  6. package/dist/composed-server.d.ts +34 -66
  7. package/dist/composed-server.d.ts.map +1 -1
  8. package/dist/composed-server.js +130 -137
  9. package/dist/composed-server.js.map +1 -1
  10. package/dist/composition.d.ts +61 -111
  11. package/dist/composition.d.ts.map +1 -1
  12. package/dist/composition.js +120 -54
  13. package/dist/composition.js.map +1 -1
  14. package/dist/font-assets.d.ts +7 -28
  15. package/dist/font-assets.d.ts.map +1 -1
  16. package/dist/font-assets.js +11 -43
  17. package/dist/font-assets.js.map +1 -1
  18. package/dist/health.d.ts +9 -45
  19. package/dist/health.d.ts.map +1 -1
  20. package/dist/health.js +6 -24
  21. package/dist/health.js.map +1 -1
  22. package/dist/host-boot.d.ts +8 -38
  23. package/dist/host-boot.d.ts.map +1 -1
  24. package/dist/host-boot.js +10 -32
  25. package/dist/host-boot.js.map +1 -1
  26. package/dist/http-edge.d.ts +20 -76
  27. package/dist/http-edge.d.ts.map +1 -1
  28. package/dist/http-edge.js +17 -60
  29. package/dist/http-edge.js.map +1 -1
  30. package/dist/metrics.d.ts +6 -21
  31. package/dist/metrics.d.ts.map +1 -1
  32. package/dist/metrics.js +8 -36
  33. package/dist/metrics.js.map +1 -1
  34. package/dist/node-listener.d.ts +7 -39
  35. package/dist/node-listener.d.ts.map +1 -1
  36. package/dist/node-listener.js +6 -18
  37. package/dist/node-listener.js.map +1 -1
  38. package/dist/oauth-env.d.ts +15 -35
  39. package/dist/oauth-env.d.ts.map +1 -1
  40. package/dist/oauth-env.js +122 -62
  41. package/dist/oauth-env.js.map +1 -1
  42. package/dist/protocol/bpmn-names.d.ts +19 -0
  43. package/dist/protocol/bpmn-names.d.ts.map +1 -0
  44. package/dist/{bpmn-names.js → protocol/bpmn-names.js} +9 -38
  45. package/dist/protocol/bpmn-names.js.map +1 -0
  46. package/dist/protocol/served-fonts.d.ts +17 -0
  47. package/dist/protocol/served-fonts.d.ts.map +1 -0
  48. package/dist/protocol/served-fonts.js +30 -0
  49. package/dist/protocol/served-fonts.js.map +1 -0
  50. package/dist/protocol/tool-result.d.ts +24 -0
  51. package/dist/protocol/tool-result.d.ts.map +1 -0
  52. package/dist/protocol/tool-result.js +37 -0
  53. package/dist/protocol/tool-result.js.map +1 -0
  54. package/dist/protocol/translator.d.ts +14 -0
  55. package/dist/protocol/translator.d.ts.map +1 -0
  56. package/dist/protocol/translator.js +18 -0
  57. package/dist/protocol/translator.js.map +1 -0
  58. package/dist/protocol/view-name.d.ts +11 -0
  59. package/dist/protocol/view-name.d.ts.map +1 -0
  60. package/dist/protocol/view-name.js +23 -0
  61. package/dist/protocol/view-name.js.map +1 -0
  62. package/dist/request-context.d.ts +4 -33
  63. package/dist/request-context.d.ts.map +1 -1
  64. package/dist/request-context.js +11 -43
  65. package/dist/request-context.js.map +1 -1
  66. package/dist/server.d.ts +19 -39
  67. package/dist/server.d.ts.map +1 -1
  68. package/dist/server.js +28 -32
  69. package/dist/server.js.map +1 -1
  70. package/dist/testing/glossary.d.ts +4 -32
  71. package/dist/testing/glossary.d.ts.map +1 -1
  72. package/dist/testing/glossary.js +6 -30
  73. package/dist/testing/glossary.js.map +1 -1
  74. package/dist/testing/index.d.ts +1 -38
  75. package/dist/testing/index.d.ts.map +1 -1
  76. package/dist/testing/index.js +1 -38
  77. package/dist/testing/index.js.map +1 -1
  78. package/dist/tool-errors.d.ts +16 -0
  79. package/dist/tool-errors.d.ts.map +1 -0
  80. package/dist/tool-errors.js +23 -0
  81. package/dist/tool-errors.js.map +1 -0
  82. package/dist/tool-registrar.d.ts +29 -0
  83. package/dist/tool-registrar.d.ts.map +1 -0
  84. package/dist/tool-registrar.js +47 -0
  85. package/dist/tool-registrar.js.map +1 -0
  86. package/dist/tool-registration.d.ts +35 -0
  87. package/dist/tool-registration.d.ts.map +1 -0
  88. package/dist/tool-registration.js +80 -0
  89. package/dist/tool-registration.js.map +1 -0
  90. package/dist/tool-schema-trim.d.ts +1 -15
  91. package/dist/tool-schema-trim.d.ts.map +1 -1
  92. package/dist/tool-schema-trim.js +1 -16
  93. package/dist/tool-schema-trim.js.map +1 -1
  94. package/dist/toolsets.d.ts +10 -56
  95. package/dist/toolsets.d.ts.map +1 -1
  96. package/dist/toolsets.js +2 -10
  97. package/dist/toolsets.js.map +1 -1
  98. package/dist/ui/action-feedback.d.ts +4 -26
  99. package/dist/ui/action-feedback.d.ts.map +1 -1
  100. package/dist/ui/action-feedback.js +5 -19
  101. package/dist/ui/action-feedback.js.map +1 -1
  102. package/dist/ui/ask-ai-button.d.ts +6 -43
  103. package/dist/ui/ask-ai-button.d.ts.map +1 -1
  104. package/dist/ui/ask-ai-button.js +6 -18
  105. package/dist/ui/ask-ai-button.js.map +1 -1
  106. package/dist/ui/ask-ai-prompt.d.ts +6 -82
  107. package/dist/ui/ask-ai-prompt.d.ts.map +1 -1
  108. package/dist/ui/ask-ai-prompt.js +10 -77
  109. package/dist/ui/ask-ai-prompt.js.map +1 -1
  110. package/dist/ui/bpmn-tokens.d.ts +3 -48
  111. package/dist/ui/bpmn-tokens.d.ts.map +1 -1
  112. package/dist/ui/bpmn-tokens.js +3 -46
  113. package/dist/ui/bpmn-tokens.js.map +1 -1
  114. package/dist/ui/bpmn-zoom-controls.d.ts +4 -17
  115. package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -1
  116. package/dist/ui/bpmn-zoom-controls.js +2 -16
  117. package/dist/ui/bpmn-zoom-controls.js.map +1 -1
  118. package/dist/ui/call-observer.d.ts +35 -0
  119. package/dist/ui/call-observer.d.ts.map +1 -0
  120. package/dist/ui/call-observer.js +86 -0
  121. package/dist/ui/call-observer.js.map +1 -0
  122. package/dist/ui/confirm-dialog.d.ts +4 -31
  123. package/dist/ui/confirm-dialog.d.ts.map +1 -1
  124. package/dist/ui/confirm-dialog.js +4 -27
  125. package/dist/ui/confirm-dialog.js.map +1 -1
  126. package/dist/ui/count-tone.d.ts +3 -17
  127. package/dist/ui/count-tone.d.ts.map +1 -1
  128. package/dist/ui/count-tone.js +2 -16
  129. package/dist/ui/count-tone.js.map +1 -1
  130. package/dist/ui/declare-served-fonts.d.ts +4 -10
  131. package/dist/ui/declare-served-fonts.d.ts.map +1 -1
  132. package/dist/ui/declare-served-fonts.js +6 -13
  133. package/dist/ui/declare-served-fonts.js.map +1 -1
  134. package/dist/ui/describe-error.d.ts +5 -47
  135. package/dist/ui/describe-error.d.ts.map +1 -1
  136. package/dist/ui/describe-error.js +8 -45
  137. package/dist/ui/describe-error.js.map +1 -1
  138. package/dist/ui/display-mode-toggle.d.ts +3 -16
  139. package/dist/ui/display-mode-toggle.d.ts.map +1 -1
  140. package/dist/ui/display-mode-toggle.js +6 -15
  141. package/dist/ui/display-mode-toggle.js.map +1 -1
  142. package/dist/ui/error-labels.d.ts +3 -19
  143. package/dist/ui/error-labels.d.ts.map +1 -1
  144. package/dist/ui/error-labels.js +0 -1
  145. package/dist/ui/error-labels.js.map +1 -1
  146. package/dist/ui/hand-off-button.d.ts +3 -18
  147. package/dist/ui/hand-off-button.d.ts.map +1 -1
  148. package/dist/ui/hand-off-button.js +3 -18
  149. package/dist/ui/hand-off-button.js.map +1 -1
  150. package/dist/ui/host-context.d.ts +13 -50
  151. package/dist/ui/host-context.d.ts.map +1 -1
  152. package/dist/ui/host-context.js +20 -51
  153. package/dist/ui/host-context.js.map +1 -1
  154. package/dist/ui/host-contexts.d.ts +19 -0
  155. package/dist/ui/host-contexts.d.ts.map +1 -0
  156. package/dist/ui/host-contexts.js +31 -0
  157. package/dist/ui/host-contexts.js.map +1 -0
  158. package/dist/ui/host-document.d.ts +3 -18
  159. package/dist/ui/host-document.d.ts.map +1 -1
  160. package/dist/ui/host-document.js +7 -25
  161. package/dist/ui/host-document.js.map +1 -1
  162. package/dist/ui/host-widgets.d.ts +21 -4
  163. package/dist/ui/host-widgets.d.ts.map +1 -1
  164. package/dist/ui/host-widgets.js +19 -11
  165. package/dist/ui/host-widgets.js.map +1 -1
  166. package/dist/ui/id-text.d.ts +1 -17
  167. package/dist/ui/id-text.d.ts.map +1 -1
  168. package/dist/ui/id-text.js +5 -26
  169. package/dist/ui/id-text.js.map +1 -1
  170. package/dist/ui/index.d.ts +24 -43
  171. package/dist/ui/index.d.ts.map +1 -1
  172. package/dist/ui/index.js +36 -51
  173. package/dist/ui/index.js.map +1 -1
  174. package/dist/ui/inline-budget.d.ts +2 -16
  175. package/dist/ui/inline-budget.d.ts.map +1 -1
  176. package/dist/ui/inline-budget.js +1 -8
  177. package/dist/ui/inline-budget.js.map +1 -1
  178. package/dist/ui/inline-fit-registry.d.ts +4 -31
  179. package/dist/ui/inline-fit-registry.d.ts.map +1 -1
  180. package/dist/ui/inline-fit-registry.js +9 -27
  181. package/dist/ui/inline-fit-registry.js.map +1 -1
  182. package/dist/ui/inline-fit-solve.d.ts +5 -27
  183. package/dist/ui/inline-fit-solve.d.ts.map +1 -1
  184. package/dist/ui/inline-fit-solve.js +4 -23
  185. package/dist/ui/inline-fit-solve.js.map +1 -1
  186. package/dist/ui/inline-fit.d.ts +4 -53
  187. package/dist/ui/inline-fit.d.ts.map +1 -1
  188. package/dist/ui/inline-fit.js +16 -62
  189. package/dist/ui/inline-fit.js.map +1 -1
  190. package/dist/ui/kit-labels.d.ts +12 -51
  191. package/dist/ui/kit-labels.d.ts.map +1 -1
  192. package/dist/ui/kit-labels.js +18 -28
  193. package/dist/ui/kit-labels.js.map +1 -1
  194. package/dist/ui/list-table.d.ts +15 -69
  195. package/dist/ui/list-table.d.ts.map +1 -1
  196. package/dist/ui/list-table.js +11 -69
  197. package/dist/ui/list-table.js.map +1 -1
  198. package/dist/ui/locale-gate.d.ts +11 -0
  199. package/dist/ui/locale-gate.d.ts.map +1 -0
  200. package/dist/ui/locale-gate.js +53 -0
  201. package/dist/ui/locale-gate.js.map +1 -0
  202. package/dist/ui/mcp-use-host.d.ts +20 -0
  203. package/dist/ui/mcp-use-host.d.ts.map +1 -0
  204. package/dist/ui/mcp-use-host.js +162 -0
  205. package/dist/ui/mcp-use-host.js.map +1 -0
  206. package/dist/ui/open-in-cockpit-link.d.ts +2 -21
  207. package/dist/ui/open-in-cockpit-link.d.ts.map +1 -1
  208. package/dist/ui/open-in-cockpit-link.js +5 -20
  209. package/dist/ui/open-in-cockpit-link.js.map +1 -1
  210. package/dist/ui/paged-rows.d.ts +3 -14
  211. package/dist/ui/paged-rows.d.ts.map +1 -1
  212. package/dist/ui/paged-rows.js +4 -14
  213. package/dist/ui/paged-rows.js.map +1 -1
  214. package/dist/ui/query-fallback.d.ts +2 -16
  215. package/dist/ui/query-fallback.d.ts.map +1 -1
  216. package/dist/ui/query-fallback.js +2 -14
  217. package/dist/ui/query-fallback.js.map +1 -1
  218. package/dist/ui/shell-host.d.ts +13 -23
  219. package/dist/ui/shell-host.d.ts.map +1 -1
  220. package/dist/ui/shell-host.js +1 -46
  221. package/dist/ui/shell-host.js.map +1 -1
  222. package/dist/ui/test-view-host.d.ts +51 -0
  223. package/dist/ui/test-view-host.d.ts.map +1 -0
  224. package/dist/ui/test-view-host.js +72 -0
  225. package/dist/ui/test-view-host.js.map +1 -0
  226. package/dist/ui/tool-query.d.ts +41 -0
  227. package/dist/ui/tool-query.d.ts.map +1 -0
  228. package/dist/ui/tool-query.js +128 -0
  229. package/dist/ui/tool-query.js.map +1 -0
  230. package/dist/ui/use-apply-theme.d.ts +1 -8
  231. package/dist/ui/use-apply-theme.d.ts.map +1 -1
  232. package/dist/ui/use-apply-theme.js +1 -8
  233. package/dist/ui/use-apply-theme.js.map +1 -1
  234. package/dist/ui/use-bpmn-viewer.d.ts +39 -73
  235. package/dist/ui/use-bpmn-viewer.d.ts.map +1 -1
  236. package/dist/ui/use-bpmn-viewer.js +18 -66
  237. package/dist/ui/use-bpmn-viewer.js.map +1 -1
  238. package/dist/ui/use-detail-view.d.ts +4 -26
  239. package/dist/ui/use-detail-view.d.ts.map +1 -1
  240. package/dist/ui/use-detail-view.js +7 -28
  241. package/dist/ui/use-detail-view.js.map +1 -1
  242. package/dist/ui/use-paged-list-view.d.ts +5 -25
  243. package/dist/ui/use-paged-list-view.d.ts.map +1 -1
  244. package/dist/ui/use-paged-list-view.js +5 -14
  245. package/dist/ui/use-paged-list-view.js.map +1 -1
  246. package/dist/ui/use-paged-view-data.d.ts +11 -66
  247. package/dist/ui/use-paged-view-data.d.ts.map +1 -1
  248. package/dist/ui/use-paged-view-data.js +20 -53
  249. package/dist/ui/use-paged-view-data.js.map +1 -1
  250. package/dist/ui/view-call.d.ts +66 -0
  251. package/dist/ui/view-call.d.ts.map +1 -0
  252. package/dist/ui/view-call.js +63 -0
  253. package/dist/ui/view-call.js.map +1 -0
  254. package/dist/ui/view-data-state.d.ts +1 -31
  255. package/dist/ui/view-data-state.d.ts.map +1 -1
  256. package/dist/ui/view-data-state.js +3 -32
  257. package/dist/ui/view-data-state.js.map +1 -1
  258. package/dist/ui/view-error-boundary.d.ts +24 -0
  259. package/dist/ui/view-error-boundary.d.ts.map +1 -0
  260. package/dist/ui/view-error-boundary.js +33 -0
  261. package/dist/ui/view-error-boundary.js.map +1 -0
  262. package/dist/ui/view-frame.d.ts +15 -0
  263. package/dist/ui/view-frame.d.ts.map +1 -0
  264. package/dist/ui/view-frame.js +72 -0
  265. package/dist/ui/view-frame.js.map +1 -0
  266. package/dist/ui/view-host.d.ts +35 -0
  267. package/dist/ui/view-host.d.ts.map +1 -0
  268. package/dist/ui/view-host.js +18 -0
  269. package/dist/ui/view-host.js.map +1 -0
  270. package/dist/ui/view-meta.d.ts +6 -29
  271. package/dist/ui/view-meta.d.ts.map +1 -1
  272. package/dist/ui/view-meta.js +2 -13
  273. package/dist/ui/view-meta.js.map +1 -1
  274. package/dist/ui/view-refresh-state.d.ts +4 -18
  275. package/dist/ui/view-refresh-state.d.ts.map +1 -1
  276. package/dist/ui/view-refresh-state.js +1 -7
  277. package/dist/ui/view-refresh-state.js.map +1 -1
  278. package/dist/ui/view-root.d.ts +26 -0
  279. package/dist/ui/view-root.d.ts.map +1 -0
  280. package/dist/ui/view-root.js +48 -0
  281. package/dist/ui/view-root.js.map +1 -0
  282. package/dist/ui/views.d.ts +17 -0
  283. package/dist/ui/views.d.ts.map +1 -0
  284. package/dist/ui/views.js +11 -0
  285. package/dist/ui/views.js.map +1 -0
  286. package/dist/ui/widget-shell.d.ts +1 -13
  287. package/dist/ui/widget-shell.d.ts.map +1 -1
  288. package/dist/ui/widget-shell.js +5 -30
  289. package/dist/ui/widget-shell.js.map +1 -1
  290. package/dist/view-bundle.d.ts +15 -0
  291. package/dist/view-bundle.d.ts.map +1 -0
  292. package/dist/view-bundle.js +23 -0
  293. package/dist/view-bundle.js.map +1 -0
  294. package/dist/view-results.d.ts +12 -23
  295. package/dist/view-results.d.ts.map +1 -1
  296. package/dist/view-results.js +14 -11
  297. package/dist/view-results.js.map +1 -1
  298. package/dist/widget-tool-bindings.d.ts +19 -48
  299. package/dist/widget-tool-bindings.d.ts.map +1 -1
  300. package/dist/widget-tool-bindings.js +21 -49
  301. package/dist/widget-tool-bindings.js.map +1 -1
  302. package/package.json +24 -36
  303. package/dist/adapt-data-widget.d.ts +0 -7
  304. package/dist/adapt-data-widget.d.ts.map +0 -1
  305. package/dist/adapt-data-widget.js +0 -7
  306. package/dist/adapt-data-widget.js.map +0 -1
  307. package/dist/bpmn-names.d.ts +0 -42
  308. package/dist/bpmn-names.d.ts.map +0 -1
  309. package/dist/bpmn-names.js.map +0 -1
  310. package/dist/bpmn-names.test.d.ts +0 -2
  311. package/dist/bpmn-names.test.d.ts.map +0 -1
  312. package/dist/bpmn-names.test.js +0 -143
  313. package/dist/bpmn-names.test.js.map +0 -1
  314. package/dist/build-data-feed-result.test.d.ts +0 -2
  315. package/dist/build-data-feed-result.test.d.ts.map +0 -1
  316. package/dist/build-data-feed-result.test.js +0 -28
  317. package/dist/build-data-feed-result.test.js.map +0 -1
  318. package/dist/build-single-widget-view.test.d.ts +0 -2
  319. package/dist/build-single-widget-view.test.d.ts.map +0 -1
  320. package/dist/build-single-widget-view.test.js +0 -136
  321. package/dist/build-single-widget-view.test.js.map +0 -1
  322. package/dist/builder-texts.d.ts +0 -27
  323. package/dist/builder-texts.d.ts.map +0 -1
  324. package/dist/builder-texts.js +0 -32
  325. package/dist/builder-texts.js.map +0 -1
  326. package/dist/builder-texts.test.d.ts +0 -2
  327. package/dist/builder-texts.test.d.ts.map +0 -1
  328. package/dist/builder-texts.test.js +0 -54
  329. package/dist/builder-texts.test.js.map +0 -1
  330. package/dist/catalogue-sync.d.ts +0 -18
  331. package/dist/catalogue-sync.d.ts.map +0 -1
  332. package/dist/catalogue-sync.js +0 -31
  333. package/dist/catalogue-sync.js.map +0 -1
  334. package/dist/catalogue-sync.test.d.ts +0 -2
  335. package/dist/catalogue-sync.test.d.ts.map +0 -1
  336. package/dist/catalogue-sync.test.js +0 -22
  337. package/dist/catalogue-sync.test.js.map +0 -1
  338. package/dist/composed-server.edge.test.d.ts +0 -2
  339. package/dist/composed-server.edge.test.d.ts.map +0 -1
  340. package/dist/composed-server.edge.test.js +0 -184
  341. package/dist/composed-server.edge.test.js.map +0 -1
  342. package/dist/composed-server.fonts.test.d.ts +0 -2
  343. package/dist/composed-server.fonts.test.d.ts.map +0 -1
  344. package/dist/composed-server.fonts.test.js +0 -186
  345. package/dist/composed-server.fonts.test.js.map +0 -1
  346. package/dist/composed-server.test.d.ts +0 -2
  347. package/dist/composed-server.test.d.ts.map +0 -1
  348. package/dist/composed-server.test.js +0 -332
  349. package/dist/composed-server.test.js.map +0 -1
  350. package/dist/composition.test.d.ts +0 -2
  351. package/dist/composition.test.d.ts.map +0 -1
  352. package/dist/composition.test.js +0 -275
  353. package/dist/composition.test.js.map +0 -1
  354. package/dist/dashboard-store-postgres.d.ts +0 -43
  355. package/dist/dashboard-store-postgres.d.ts.map +0 -1
  356. package/dist/dashboard-store-postgres.js +0 -225
  357. package/dist/dashboard-store-postgres.js.map +0 -1
  358. package/dist/dashboard-store-postgres.test.d.ts +0 -2
  359. package/dist/dashboard-store-postgres.test.d.ts.map +0 -1
  360. package/dist/dashboard-store-postgres.test.js +0 -272
  361. package/dist/dashboard-store-postgres.test.js.map +0 -1
  362. package/dist/font-assets.test.d.ts +0 -2
  363. package/dist/font-assets.test.d.ts.map +0 -1
  364. package/dist/font-assets.test.js +0 -123
  365. package/dist/font-assets.test.js.map +0 -1
  366. package/dist/health.test.d.ts +0 -2
  367. package/dist/health.test.d.ts.map +0 -1
  368. package/dist/health.test.js +0 -140
  369. package/dist/health.test.js.map +0 -1
  370. package/dist/host-boot.test.d.ts +0 -2
  371. package/dist/host-boot.test.d.ts.map +0 -1
  372. package/dist/host-boot.test.js +0 -59
  373. package/dist/host-boot.test.js.map +0 -1
  374. package/dist/http-edge.test.d.ts +0 -2
  375. package/dist/http-edge.test.d.ts.map +0 -1
  376. package/dist/http-edge.test.js +0 -255
  377. package/dist/http-edge.test.js.map +0 -1
  378. package/dist/metrics.test.d.ts +0 -2
  379. package/dist/metrics.test.d.ts.map +0 -1
  380. package/dist/metrics.test.js +0 -154
  381. package/dist/metrics.test.js.map +0 -1
  382. package/dist/node-listener.test.d.ts +0 -2
  383. package/dist/node-listener.test.d.ts.map +0 -1
  384. package/dist/node-listener.test.js +0 -331
  385. package/dist/node-listener.test.js.map +0 -1
  386. package/dist/oauth-env.test.d.ts +0 -2
  387. package/dist/oauth-env.test.d.ts.map +0 -1
  388. package/dist/oauth-env.test.js +0 -76
  389. package/dist/oauth-env.test.js.map +0 -1
  390. package/dist/postgres.d.ts +0 -59
  391. package/dist/postgres.d.ts.map +0 -1
  392. package/dist/postgres.js +0 -80
  393. package/dist/postgres.js.map +0 -1
  394. package/dist/profile-advisory.d.ts +0 -19
  395. package/dist/profile-advisory.d.ts.map +0 -1
  396. package/dist/profile-advisory.js +0 -48
  397. package/dist/profile-advisory.js.map +0 -1
  398. package/dist/profile-advisory.test.d.ts +0 -2
  399. package/dist/profile-advisory.test.d.ts.map +0 -1
  400. package/dist/profile-advisory.test.js +0 -53
  401. package/dist/profile-advisory.test.js.map +0 -1
  402. package/dist/profile-constants.d.ts +0 -37
  403. package/dist/profile-constants.d.ts.map +0 -1
  404. package/dist/profile-constants.js +0 -37
  405. package/dist/profile-constants.js.map +0 -1
  406. package/dist/profile-migrations.d.ts +0 -71
  407. package/dist/profile-migrations.d.ts.map +0 -1
  408. package/dist/profile-migrations.js +0 -88
  409. package/dist/profile-migrations.js.map +0 -1
  410. package/dist/profile-migrations.test.d.ts +0 -2
  411. package/dist/profile-migrations.test.d.ts.map +0 -1
  412. package/dist/profile-migrations.test.js +0 -200
  413. package/dist/profile-migrations.test.js.map +0 -1
  414. package/dist/profile-record.d.ts +0 -60
  415. package/dist/profile-record.d.ts.map +0 -1
  416. package/dist/profile-record.js +0 -78
  417. package/dist/profile-record.js.map +0 -1
  418. package/dist/profile-slice.d.ts +0 -53
  419. package/dist/profile-slice.d.ts.map +0 -1
  420. package/dist/profile-slice.js +0 -73
  421. package/dist/profile-slice.js.map +0 -1
  422. package/dist/profile-slice.test.d.ts +0 -2
  423. package/dist/profile-slice.test.d.ts.map +0 -1
  424. package/dist/profile-slice.test.js +0 -73
  425. package/dist/profile-slice.test.js.map +0 -1
  426. package/dist/profile-store-env.d.ts +0 -34
  427. package/dist/profile-store-env.d.ts.map +0 -1
  428. package/dist/profile-store-env.js +0 -44
  429. package/dist/profile-store-env.js.map +0 -1
  430. package/dist/profile-store-env.test.d.ts +0 -2
  431. package/dist/profile-store-env.test.d.ts.map +0 -1
  432. package/dist/profile-store-env.test.js +0 -69
  433. package/dist/profile-store-env.test.js.map +0 -1
  434. package/dist/profile-store-postgres.d.ts +0 -33
  435. package/dist/profile-store-postgres.d.ts.map +0 -1
  436. package/dist/profile-store-postgres.js +0 -87
  437. package/dist/profile-store-postgres.js.map +0 -1
  438. package/dist/profile-store-raw.test.d.ts +0 -2
  439. package/dist/profile-store-raw.test.d.ts.map +0 -1
  440. package/dist/profile-store-raw.test.js +0 -185
  441. package/dist/profile-store-raw.test.js.map +0 -1
  442. package/dist/profile-store.d.ts +0 -85
  443. package/dist/profile-store.d.ts.map +0 -1
  444. package/dist/profile-store.js +0 -182
  445. package/dist/profile-store.js.map +0 -1
  446. package/dist/profile-store.test.d.ts +0 -2
  447. package/dist/profile-store.test.d.ts.map +0 -1
  448. package/dist/profile-store.test.js +0 -353
  449. package/dist/profile-store.test.js.map +0 -1
  450. package/dist/profile.d.ts +0 -75
  451. package/dist/profile.d.ts.map +0 -1
  452. package/dist/profile.js +0 -85
  453. package/dist/profile.js.map +0 -1
  454. package/dist/profile.test.d.ts +0 -2
  455. package/dist/profile.test.d.ts.map +0 -1
  456. package/dist/profile.test.js +0 -71
  457. package/dist/profile.test.js.map +0 -1
  458. package/dist/request-context.test.d.ts +0 -2
  459. package/dist/request-context.test.d.ts.map +0 -1
  460. package/dist/request-context.test.js +0 -107
  461. package/dist/request-context.test.js.map +0 -1
  462. package/dist/served-fonts.d.ts +0 -38
  463. package/dist/served-fonts.d.ts.map +0 -1
  464. package/dist/served-fonts.js +0 -51
  465. package/dist/served-fonts.js.map +0 -1
  466. package/dist/served-fonts.test.d.ts +0 -2
  467. package/dist/served-fonts.test.d.ts.map +0 -1
  468. package/dist/served-fonts.test.js +0 -30
  469. package/dist/served-fonts.test.js.map +0 -1
  470. package/dist/server-locale.d.ts +0 -58
  471. package/dist/server-locale.d.ts.map +0 -1
  472. package/dist/server-locale.js +0 -64
  473. package/dist/server-locale.js.map +0 -1
  474. package/dist/server-locale.test.d.ts +0 -2
  475. package/dist/server-locale.test.d.ts.map +0 -1
  476. package/dist/server-locale.test.js +0 -90
  477. package/dist/server-locale.test.js.map +0 -1
  478. package/dist/shell-catalogue.d.ts +0 -12
  479. package/dist/shell-catalogue.d.ts.map +0 -1
  480. package/dist/shell-catalogue.js +0 -142
  481. package/dist/shell-catalogue.js.map +0 -1
  482. package/dist/shell-settings-contract.d.ts +0 -34
  483. package/dist/shell-settings-contract.d.ts.map +0 -1
  484. package/dist/shell-settings-contract.js +0 -21
  485. package/dist/shell-settings-contract.js.map +0 -1
  486. package/dist/shell-settings.d.ts +0 -24
  487. package/dist/shell-settings.d.ts.map +0 -1
  488. package/dist/shell-settings.js +0 -148
  489. package/dist/shell-settings.js.map +0 -1
  490. package/dist/shell-settings.test.d.ts +0 -2
  491. package/dist/shell-settings.test.d.ts.map +0 -1
  492. package/dist/shell-settings.test.js +0 -115
  493. package/dist/shell-settings.test.js.map +0 -1
  494. package/dist/testing/catalog-text.d.ts +0 -53
  495. package/dist/testing/catalog-text.d.ts.map +0 -1
  496. package/dist/testing/catalog-text.js +0 -146
  497. package/dist/testing/catalog-text.js.map +0 -1
  498. package/dist/testing/catalog-text.test.d.ts +0 -2
  499. package/dist/testing/catalog-text.test.d.ts.map +0 -1
  500. package/dist/testing/catalog-text.test.js +0 -137
  501. package/dist/testing/catalog-text.test.js.map +0 -1
  502. package/dist/testing/colors.d.ts +0 -34
  503. package/dist/testing/colors.d.ts.map +0 -1
  504. package/dist/testing/colors.js +0 -124
  505. package/dist/testing/colors.js.map +0 -1
  506. package/dist/testing/colors.test.d.ts +0 -2
  507. package/dist/testing/colors.test.d.ts.map +0 -1
  508. package/dist/testing/colors.test.js +0 -166
  509. package/dist/testing/colors.test.js.map +0 -1
  510. package/dist/testing/contrast.d.ts +0 -77
  511. package/dist/testing/contrast.d.ts.map +0 -1
  512. package/dist/testing/contrast.js +0 -382
  513. package/dist/testing/contrast.js.map +0 -1
  514. package/dist/testing/contrast.test.d.ts +0 -2
  515. package/dist/testing/contrast.test.d.ts.map +0 -1
  516. package/dist/testing/contrast.test.js +0 -230
  517. package/dist/testing/contrast.test.js.map +0 -1
  518. package/dist/testing/display-texts.d.ts +0 -23
  519. package/dist/testing/display-texts.d.ts.map +0 -1
  520. package/dist/testing/display-texts.js +0 -88
  521. package/dist/testing/display-texts.js.map +0 -1
  522. package/dist/testing/display-texts.test.d.ts +0 -2
  523. package/dist/testing/display-texts.test.d.ts.map +0 -1
  524. package/dist/testing/display-texts.test.js +0 -169
  525. package/dist/testing/display-texts.test.js.map +0 -1
  526. package/dist/testing/glossary.test.d.ts +0 -2
  527. package/dist/testing/glossary.test.d.ts.map +0 -1
  528. package/dist/testing/glossary.test.js +0 -78
  529. package/dist/testing/glossary.test.js.map +0 -1
  530. package/dist/testing/glyphs.d.ts +0 -27
  531. package/dist/testing/glyphs.d.ts.map +0 -1
  532. package/dist/testing/glyphs.js +0 -130
  533. package/dist/testing/glyphs.js.map +0 -1
  534. package/dist/testing/glyphs.test.d.ts +0 -2
  535. package/dist/testing/glyphs.test.d.ts.map +0 -1
  536. package/dist/testing/glyphs.test.js +0 -146
  537. package/dist/testing/glyphs.test.js.map +0 -1
  538. package/dist/testing/icon-sizes.d.ts +0 -22
  539. package/dist/testing/icon-sizes.d.ts.map +0 -1
  540. package/dist/testing/icon-sizes.js +0 -39
  541. package/dist/testing/icon-sizes.js.map +0 -1
  542. package/dist/testing/icon-sizes.test.d.ts +0 -2
  543. package/dist/testing/icon-sizes.test.d.ts.map +0 -1
  544. package/dist/testing/icon-sizes.test.js +0 -36
  545. package/dist/testing/icon-sizes.test.js.map +0 -1
  546. package/dist/testing/source-scan.d.ts +0 -16
  547. package/dist/testing/source-scan.d.ts.map +0 -1
  548. package/dist/testing/source-scan.js +0 -57
  549. package/dist/testing/source-scan.js.map +0 -1
  550. package/dist/testing/tone-pairs.d.ts +0 -20
  551. package/dist/testing/tone-pairs.d.ts.map +0 -1
  552. package/dist/testing/tone-pairs.js +0 -154
  553. package/dist/testing/tone-pairs.js.map +0 -1
  554. package/dist/testing/type-scale.d.ts +0 -40
  555. package/dist/testing/type-scale.d.ts.map +0 -1
  556. package/dist/testing/type-scale.js +0 -55
  557. package/dist/testing/type-scale.js.map +0 -1
  558. package/dist/testing/type-scale.test.d.ts +0 -2
  559. package/dist/testing/type-scale.test.d.ts.map +0 -1
  560. package/dist/testing/type-scale.test.js +0 -61
  561. package/dist/testing/type-scale.test.js.map +0 -1
  562. package/dist/tool-schema-trim.test.d.ts +0 -2
  563. package/dist/tool-schema-trim.test.d.ts.map +0 -1
  564. package/dist/tool-schema-trim.test.js +0 -53
  565. package/dist/tool-schema-trim.test.js.map +0 -1
  566. package/dist/toolsets.test.d.ts +0 -2
  567. package/dist/toolsets.test.d.ts.map +0 -1
  568. package/dist/toolsets.test.js +0 -86
  569. package/dist/toolsets.test.js.map +0 -1
  570. package/dist/ui/action-feedback.test.d.ts +0 -2
  571. package/dist/ui/action-feedback.test.d.ts.map +0 -1
  572. package/dist/ui/action-feedback.test.js +0 -77
  573. package/dist/ui/action-feedback.test.js.map +0 -1
  574. package/dist/ui/app-shell-providers.d.ts +0 -18
  575. package/dist/ui/app-shell-providers.d.ts.map +0 -1
  576. package/dist/ui/app-shell-providers.js +0 -19
  577. package/dist/ui/app-shell-providers.js.map +0 -1
  578. package/dist/ui/app-shell-providers.test.d.ts +0 -2
  579. package/dist/ui/app-shell-providers.test.d.ts.map +0 -1
  580. package/dist/ui/app-shell-providers.test.js +0 -249
  581. package/dist/ui/app-shell-providers.test.js.map +0 -1
  582. package/dist/ui/ask-ai-button.test.d.ts +0 -2
  583. package/dist/ui/ask-ai-button.test.d.ts.map +0 -1
  584. package/dist/ui/ask-ai-button.test.js +0 -103
  585. package/dist/ui/ask-ai-button.test.js.map +0 -1
  586. package/dist/ui/ask-ai-prompt.test.d.ts +0 -2
  587. package/dist/ui/ask-ai-prompt.test.d.ts.map +0 -1
  588. package/dist/ui/ask-ai-prompt.test.js +0 -240
  589. package/dist/ui/ask-ai-prompt.test.js.map +0 -1
  590. package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +0 -2
  591. package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +0 -1
  592. package/dist/ui/bpmn-heatmap/heat-ramp.test.js +0 -174
  593. package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +0 -1
  594. package/dist/ui/bpmn-heatmap/heat-utils.d.ts +0 -119
  595. package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +0 -1
  596. package/dist/ui/bpmn-heatmap/heat-utils.js +0 -231
  597. package/dist/ui/bpmn-heatmap/heat-utils.js.map +0 -1
  598. package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +0 -2
  599. package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +0 -1
  600. package/dist/ui/bpmn-heatmap/heat-utils.test.js +0 -59
  601. package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +0 -1
  602. package/dist/ui/bpmn-heatmap-labels.d.ts +0 -46
  603. package/dist/ui/bpmn-heatmap-labels.d.ts.map +0 -1
  604. package/dist/ui/bpmn-heatmap-labels.js +0 -16
  605. package/dist/ui/bpmn-heatmap-labels.js.map +0 -1
  606. package/dist/ui/bpmn-heatmap-widget.d.ts +0 -38
  607. package/dist/ui/bpmn-heatmap-widget.d.ts.map +0 -1
  608. package/dist/ui/bpmn-heatmap-widget.js +0 -65
  609. package/dist/ui/bpmn-heatmap-widget.js.map +0 -1
  610. package/dist/ui/bpmn-heatmap-widget.test.d.ts +0 -2
  611. package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +0 -1
  612. package/dist/ui/bpmn-heatmap-widget.test.js +0 -173
  613. package/dist/ui/bpmn-heatmap-widget.test.js.map +0 -1
  614. package/dist/ui/bpmn-heatmap.d.ts +0 -61
  615. package/dist/ui/bpmn-heatmap.d.ts.map +0 -1
  616. package/dist/ui/bpmn-heatmap.js +0 -119
  617. package/dist/ui/bpmn-heatmap.js.map +0 -1
  618. package/dist/ui/bpmn-tokens.test.d.ts +0 -2
  619. package/dist/ui/bpmn-tokens.test.d.ts.map +0 -1
  620. package/dist/ui/bpmn-tokens.test.js +0 -98
  621. package/dist/ui/bpmn-tokens.test.js.map +0 -1
  622. package/dist/ui/brand-gates.test.d.ts +0 -2
  623. package/dist/ui/brand-gates.test.d.ts.map +0 -1
  624. package/dist/ui/brand-gates.test.js +0 -131
  625. package/dist/ui/brand-gates.test.js.map +0 -1
  626. package/dist/ui/brand-mark.d.ts +0 -37
  627. package/dist/ui/brand-mark.d.ts.map +0 -1
  628. package/dist/ui/brand-mark.js +0 -33
  629. package/dist/ui/brand-mark.js.map +0 -1
  630. package/dist/ui/brand-mark.test.d.ts +0 -2
  631. package/dist/ui/brand-mark.test.d.ts.map +0 -1
  632. package/dist/ui/brand-mark.test.js +0 -111
  633. package/dist/ui/brand-mark.test.js.map +0 -1
  634. package/dist/ui/confirm-dialog.test.d.ts +0 -2
  635. package/dist/ui/confirm-dialog.test.d.ts.map +0 -1
  636. package/dist/ui/confirm-dialog.test.js +0 -115
  637. package/dist/ui/confirm-dialog.test.js.map +0 -1
  638. package/dist/ui/count-tone.test.d.ts +0 -2
  639. package/dist/ui/count-tone.test.d.ts.map +0 -1
  640. package/dist/ui/count-tone.test.js +0 -27
  641. package/dist/ui/count-tone.test.js.map +0 -1
  642. package/dist/ui/create-use-t.d.ts +0 -15
  643. package/dist/ui/create-use-t.d.ts.map +0 -1
  644. package/dist/ui/create-use-t.js +0 -17
  645. package/dist/ui/create-use-t.js.map +0 -1
  646. package/dist/ui/declare-served-fonts.test.d.ts +0 -2
  647. package/dist/ui/declare-served-fonts.test.d.ts.map +0 -1
  648. package/dist/ui/declare-served-fonts.test.js +0 -44
  649. package/dist/ui/declare-served-fonts.test.js.map +0 -1
  650. package/dist/ui/describe-error.test.d.ts +0 -2
  651. package/dist/ui/describe-error.test.d.ts.map +0 -1
  652. package/dist/ui/describe-error.test.js +0 -274
  653. package/dist/ui/describe-error.test.js.map +0 -1
  654. package/dist/ui/format.d.ts +0 -81
  655. package/dist/ui/format.d.ts.map +0 -1
  656. package/dist/ui/format.js +0 -189
  657. package/dist/ui/format.js.map +0 -1
  658. package/dist/ui/format.test.d.ts +0 -2
  659. package/dist/ui/format.test.d.ts.map +0 -1
  660. package/dist/ui/format.test.js +0 -181
  661. package/dist/ui/format.test.js.map +0 -1
  662. package/dist/ui/generic-widgets.d.ts +0 -15
  663. package/dist/ui/generic-widgets.d.ts.map +0 -1
  664. package/dist/ui/generic-widgets.js +0 -122
  665. package/dist/ui/generic-widgets.js.map +0 -1
  666. package/dist/ui/generic-widgets.test.d.ts +0 -2
  667. package/dist/ui/generic-widgets.test.d.ts.map +0 -1
  668. package/dist/ui/generic-widgets.test.js +0 -139
  669. package/dist/ui/generic-widgets.test.js.map +0 -1
  670. package/dist/ui/hand-off-button.test.d.ts +0 -2
  671. package/dist/ui/hand-off-button.test.d.ts.map +0 -1
  672. package/dist/ui/hand-off-button.test.js +0 -78
  673. package/dist/ui/hand-off-button.test.js.map +0 -1
  674. package/dist/ui/host-context.test.d.ts +0 -2
  675. package/dist/ui/host-context.test.d.ts.map +0 -1
  676. package/dist/ui/host-context.test.js +0 -160
  677. package/dist/ui/host-context.test.js.map +0 -1
  678. package/dist/ui/host-document.test.d.ts +0 -2
  679. package/dist/ui/host-document.test.d.ts.map +0 -1
  680. package/dist/ui/host-document.test.js +0 -112
  681. package/dist/ui/host-document.test.js.map +0 -1
  682. package/dist/ui/humanize-key.d.ts +0 -11
  683. package/dist/ui/humanize-key.d.ts.map +0 -1
  684. package/dist/ui/humanize-key.js +0 -26
  685. package/dist/ui/humanize-key.js.map +0 -1
  686. package/dist/ui/humanize-key.test.d.ts +0 -2
  687. package/dist/ui/humanize-key.test.d.ts.map +0 -1
  688. package/dist/ui/humanize-key.test.js +0 -42
  689. package/dist/ui/humanize-key.test.js.map +0 -1
  690. package/dist/ui/icon.d.ts +0 -37
  691. package/dist/ui/icon.d.ts.map +0 -1
  692. package/dist/ui/icon.js +0 -32
  693. package/dist/ui/icon.js.map +0 -1
  694. package/dist/ui/id-breaks.d.ts +0 -17
  695. package/dist/ui/id-breaks.d.ts.map +0 -1
  696. package/dist/ui/id-breaks.js +0 -36
  697. package/dist/ui/id-breaks.js.map +0 -1
  698. package/dist/ui/id-breaks.test.d.ts +0 -2
  699. package/dist/ui/id-breaks.test.d.ts.map +0 -1
  700. package/dist/ui/id-breaks.test.js +0 -37
  701. package/dist/ui/id-breaks.test.js.map +0 -1
  702. package/dist/ui/id-text.test.d.ts +0 -2
  703. package/dist/ui/id-text.test.d.ts.map +0 -1
  704. package/dist/ui/id-text.test.js +0 -122
  705. package/dist/ui/id-text.test.js.map +0 -1
  706. package/dist/ui/index.test.d.ts +0 -2
  707. package/dist/ui/index.test.d.ts.map +0 -1
  708. package/dist/ui/index.test.js +0 -34
  709. package/dist/ui/index.test.js.map +0 -1
  710. package/dist/ui/inline-fit-solve.test.d.ts +0 -2
  711. package/dist/ui/inline-fit-solve.test.d.ts.map +0 -1
  712. package/dist/ui/inline-fit-solve.test.js +0 -108
  713. package/dist/ui/inline-fit-solve.test.js.map +0 -1
  714. package/dist/ui/inline-fit-time.test.d.ts +0 -2
  715. package/dist/ui/inline-fit-time.test.d.ts.map +0 -1
  716. package/dist/ui/inline-fit-time.test.js +0 -110
  717. package/dist/ui/inline-fit-time.test.js.map +0 -1
  718. package/dist/ui/inline-fit.test-support.d.ts +0 -26
  719. package/dist/ui/inline-fit.test-support.d.ts.map +0 -1
  720. package/dist/ui/inline-fit.test-support.js +0 -34
  721. package/dist/ui/inline-fit.test-support.js.map +0 -1
  722. package/dist/ui/inline-fit.test.d.ts +0 -2
  723. package/dist/ui/inline-fit.test.d.ts.map +0 -1
  724. package/dist/ui/inline-fit.test.js +0 -159
  725. package/dist/ui/inline-fit.test.js.map +0 -1
  726. package/dist/ui/kit-labels.test.d.ts +0 -2
  727. package/dist/ui/kit-labels.test.d.ts.map +0 -1
  728. package/dist/ui/kit-labels.test.js +0 -98
  729. package/dist/ui/kit-labels.test.js.map +0 -1
  730. package/dist/ui/kit-type-roles.test.d.ts +0 -2
  731. package/dist/ui/kit-type-roles.test.d.ts.map +0 -1
  732. package/dist/ui/kit-type-roles.test.js +0 -122
  733. package/dist/ui/kit-type-roles.test.js.map +0 -1
  734. package/dist/ui/komet-svg.d.ts +0 -15
  735. package/dist/ui/komet-svg.d.ts.map +0 -1
  736. package/dist/ui/komet-svg.js +0 -21
  737. package/dist/ui/komet-svg.js.map +0 -1
  738. package/dist/ui/list-table.test.d.ts +0 -2
  739. package/dist/ui/list-table.test.d.ts.map +0 -1
  740. package/dist/ui/list-table.test.js +0 -169
  741. package/dist/ui/list-table.test.js.map +0 -1
  742. package/dist/ui/localized-app-view.d.ts +0 -40
  743. package/dist/ui/localized-app-view.d.ts.map +0 -1
  744. package/dist/ui/localized-app-view.js +0 -71
  745. package/dist/ui/localized-app-view.js.map +0 -1
  746. package/dist/ui/log-text.d.ts +0 -24
  747. package/dist/ui/log-text.d.ts.map +0 -1
  748. package/dist/ui/log-text.js +0 -31
  749. package/dist/ui/log-text.js.map +0 -1
  750. package/dist/ui/menu-item.d.ts +0 -12
  751. package/dist/ui/menu-item.d.ts.map +0 -1
  752. package/dist/ui/menu-item.js +0 -13
  753. package/dist/ui/menu-item.js.map +0 -1
  754. package/dist/ui/named-id.d.ts +0 -23
  755. package/dist/ui/named-id.d.ts.map +0 -1
  756. package/dist/ui/named-id.js +0 -21
  757. package/dist/ui/named-id.js.map +0 -1
  758. package/dist/ui/named-id.test.d.ts +0 -2
  759. package/dist/ui/named-id.test.d.ts.map +0 -1
  760. package/dist/ui/named-id.test.js +0 -57
  761. package/dist/ui/named-id.test.js.map +0 -1
  762. package/dist/ui/native-select.d.ts +0 -17
  763. package/dist/ui/native-select.d.ts.map +0 -1
  764. package/dist/ui/native-select.js +0 -20
  765. package/dist/ui/native-select.js.map +0 -1
  766. package/dist/ui/navigation-focus.d.ts +0 -20
  767. package/dist/ui/navigation-focus.d.ts.map +0 -1
  768. package/dist/ui/navigation-focus.js +0 -25
  769. package/dist/ui/navigation-focus.js.map +0 -1
  770. package/dist/ui/navigation-focus.test.d.ts +0 -2
  771. package/dist/ui/navigation-focus.test.d.ts.map +0 -1
  772. package/dist/ui/navigation-focus.test.js +0 -28
  773. package/dist/ui/navigation-focus.test.js.map +0 -1
  774. package/dist/ui/paged-list-footer.test.d.ts +0 -2
  775. package/dist/ui/paged-list-footer.test.d.ts.map +0 -1
  776. package/dist/ui/paged-list-footer.test.js +0 -128
  777. package/dist/ui/paged-list-footer.test.js.map +0 -1
  778. package/dist/ui/parse-tool-result.test.d.ts +0 -2
  779. package/dist/ui/parse-tool-result.test.d.ts.map +0 -1
  780. package/dist/ui/parse-tool-result.test.js +0 -88
  781. package/dist/ui/parse-tool-result.test.js.map +0 -1
  782. package/dist/ui/profile-gate.d.ts +0 -37
  783. package/dist/ui/profile-gate.d.ts.map +0 -1
  784. package/dist/ui/profile-gate.js +0 -126
  785. package/dist/ui/profile-gate.js.map +0 -1
  786. package/dist/ui/profile-gate.test.d.ts +0 -2
  787. package/dist/ui/profile-gate.test.d.ts.map +0 -1
  788. package/dist/ui/profile-gate.test.js +0 -246
  789. package/dist/ui/profile-gate.test.js.map +0 -1
  790. package/dist/ui/query-fallback.test.d.ts +0 -2
  791. package/dist/ui/query-fallback.test.d.ts.map +0 -1
  792. package/dist/ui/query-fallback.test.js +0 -49
  793. package/dist/ui/query-fallback.test.js.map +0 -1
  794. package/dist/ui/row-card.d.ts +0 -13
  795. package/dist/ui/row-card.d.ts.map +0 -1
  796. package/dist/ui/row-card.js +0 -11
  797. package/dist/ui/row-card.js.map +0 -1
  798. package/dist/ui/section.d.ts +0 -18
  799. package/dist/ui/section.d.ts.map +0 -1
  800. package/dist/ui/section.js +0 -14
  801. package/dist/ui/section.js.map +0 -1
  802. package/dist/ui/segmented-control.d.ts +0 -25
  803. package/dist/ui/segmented-control.d.ts.map +0 -1
  804. package/dist/ui/segmented-control.js +0 -22
  805. package/dist/ui/segmented-control.js.map +0 -1
  806. package/dist/ui/settings-labels.d.ts +0 -33
  807. package/dist/ui/settings-labels.d.ts.map +0 -1
  808. package/dist/ui/settings-labels.js +0 -50
  809. package/dist/ui/settings-labels.js.map +0 -1
  810. package/dist/ui/settings-layout.d.ts +0 -29
  811. package/dist/ui/settings-layout.d.ts.map +0 -1
  812. package/dist/ui/settings-layout.js +0 -49
  813. package/dist/ui/settings-layout.js.map +0 -1
  814. package/dist/ui/settings-layout.test.d.ts +0 -2
  815. package/dist/ui/settings-layout.test.d.ts.map +0 -1
  816. package/dist/ui/settings-layout.test.js +0 -73
  817. package/dist/ui/settings-layout.test.js.map +0 -1
  818. package/dist/ui/settings.d.ts +0 -47
  819. package/dist/ui/settings.d.ts.map +0 -1
  820. package/dist/ui/settings.js +0 -48
  821. package/dist/ui/settings.js.map +0 -1
  822. package/dist/ui/settings.test.d.ts +0 -2
  823. package/dist/ui/settings.test.d.ts.map +0 -1
  824. package/dist/ui/settings.test.js +0 -38
  825. package/dist/ui/settings.test.js.map +0 -1
  826. package/dist/ui/shell-settings.d.ts +0 -31
  827. package/dist/ui/shell-settings.d.ts.map +0 -1
  828. package/dist/ui/shell-settings.js +0 -97
  829. package/dist/ui/shell-settings.js.map +0 -1
  830. package/dist/ui/shell-settings.test.d.ts +0 -2
  831. package/dist/ui/shell-settings.test.d.ts.map +0 -1
  832. package/dist/ui/shell-settings.test.js +0 -108
  833. package/dist/ui/shell-settings.test.js.map +0 -1
  834. package/dist/ui/shell-widgets.d.ts +0 -14
  835. package/dist/ui/shell-widgets.d.ts.map +0 -1
  836. package/dist/ui/shell-widgets.js +0 -18
  837. package/dist/ui/shell-widgets.js.map +0 -1
  838. package/dist/ui/table.d.ts +0 -61
  839. package/dist/ui/table.d.ts.map +0 -1
  840. package/dist/ui/table.js +0 -43
  841. package/dist/ui/table.js.map +0 -1
  842. package/dist/ui/tone-components.test.d.ts +0 -2
  843. package/dist/ui/tone-components.test.d.ts.map +0 -1
  844. package/dist/ui/tone-components.test.js +0 -145
  845. package/dist/ui/tone-components.test.js.map +0 -1
  846. package/dist/ui/tone-contrast.test.d.ts +0 -2
  847. package/dist/ui/tone-contrast.test.d.ts.map +0 -1
  848. package/dist/ui/tone-contrast.test.js +0 -66
  849. package/dist/ui/tone-contrast.test.js.map +0 -1
  850. package/dist/ui/toolkit-overlap.test.d.ts +0 -2
  851. package/dist/ui/toolkit-overlap.test.d.ts.map +0 -1
  852. package/dist/ui/toolkit-overlap.test.js +0 -86
  853. package/dist/ui/toolkit-overlap.test.js.map +0 -1
  854. package/dist/ui/use-apply-theme.test.d.ts +0 -2
  855. package/dist/ui/use-apply-theme.test.d.ts.map +0 -1
  856. package/dist/ui/use-apply-theme.test.js +0 -102
  857. package/dist/ui/use-apply-theme.test.js.map +0 -1
  858. package/dist/ui/use-bpmn-viewer.test.d.ts +0 -2
  859. package/dist/ui/use-bpmn-viewer.test.d.ts.map +0 -1
  860. package/dist/ui/use-bpmn-viewer.test.js +0 -239
  861. package/dist/ui/use-bpmn-viewer.test.js.map +0 -1
  862. package/dist/ui/use-detail-view.test.d.ts +0 -2
  863. package/dist/ui/use-detail-view.test.d.ts.map +0 -1
  864. package/dist/ui/use-detail-view.test.js +0 -178
  865. package/dist/ui/use-detail-view.test.js.map +0 -1
  866. package/dist/ui/use-paged-list-view.test.d.ts +0 -2
  867. package/dist/ui/use-paged-list-view.test.d.ts.map +0 -1
  868. package/dist/ui/use-paged-list-view.test.js +0 -136
  869. package/dist/ui/use-paged-list-view.test.js.map +0 -1
  870. package/dist/ui/use-paged-view-data.seeded.test.d.ts +0 -2
  871. package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +0 -1
  872. package/dist/ui/use-paged-view-data.seeded.test.js +0 -144
  873. package/dist/ui/use-paged-view-data.seeded.test.js.map +0 -1
  874. package/dist/ui/use-paged-view-data.test.d.ts +0 -2
  875. package/dist/ui/use-paged-view-data.test.d.ts.map +0 -1
  876. package/dist/ui/use-paged-view-data.test.js +0 -330
  877. package/dist/ui/use-paged-view-data.test.js.map +0 -1
  878. package/dist/ui/use-reset-on-change.d.ts +0 -22
  879. package/dist/ui/use-reset-on-change.d.ts.map +0 -1
  880. package/dist/ui/use-reset-on-change.js +0 -29
  881. package/dist/ui/use-reset-on-change.js.map +0 -1
  882. package/dist/ui/use-reset-on-change.test.d.ts +0 -2
  883. package/dist/ui/use-reset-on-change.test.d.ts.map +0 -1
  884. package/dist/ui/use-reset-on-change.test.js +0 -61
  885. package/dist/ui/use-reset-on-change.test.js.map +0 -1
  886. package/dist/ui/use-view-data.seeded.test.d.ts +0 -2
  887. package/dist/ui/use-view-data.seeded.test.d.ts.map +0 -1
  888. package/dist/ui/use-view-data.seeded.test.js +0 -168
  889. package/dist/ui/use-view-data.seeded.test.js.map +0 -1
  890. package/dist/ui/view-data-state.test.d.ts +0 -2
  891. package/dist/ui/view-data-state.test.d.ts.map +0 -1
  892. package/dist/ui/view-data-state.test.js +0 -62
  893. package/dist/ui/view-data-state.test.js.map +0 -1
  894. package/dist/ui/view-meta.test.d.ts +0 -2
  895. package/dist/ui/view-meta.test.d.ts.map +0 -1
  896. package/dist/ui/view-meta.test.js +0 -92
  897. package/dist/ui/view-meta.test.js.map +0 -1
  898. package/dist/ui/widget-shell.test.d.ts +0 -2
  899. package/dist/ui/widget-shell.test.d.ts.map +0 -1
  900. package/dist/ui/widget-shell.test.js +0 -41
  901. package/dist/ui/widget-shell.test.js.map +0 -1
  902. package/dist/widget-meta-defaults.d.ts +0 -48
  903. package/dist/widget-meta-defaults.d.ts.map +0 -1
  904. package/dist/widget-meta-defaults.js +0 -80
  905. package/dist/widget-meta-defaults.js.map +0 -1
  906. package/dist/widget-meta-defaults.test.d.ts +0 -2
  907. package/dist/widget-meta-defaults.test.d.ts.map +0 -1
  908. package/dist/widget-meta-defaults.test.js +0 -196
  909. package/dist/widget-meta-defaults.test.js.map +0 -1
  910. package/dist/widget-tool-bindings.test.d.ts +0 -2
  911. package/dist/widget-tool-bindings.test.d.ts.map +0 -1
  912. package/dist/widget-tool-bindings.test.js +0 -83
  913. package/dist/widget-tool-bindings.test.js.map +0 -1
  914. package/dist/with-tool-errors.test.d.ts +0 -2
  915. package/dist/with-tool-errors.test.d.ts.map +0 -1
  916. package/dist/with-tool-errors.test.js +0 -38
  917. package/dist/with-tool-errors.test.js.map +0 -1
package/README.md CHANGED
@@ -4,24 +4,25 @@
4
4
  [![CI](https://img.shields.io/github/actions/workflow/status/Miragon/pulse/ci.yml?style=flat-square&label=ci)](https://github.com/Miragon/pulse/actions/workflows/ci.yml)
5
5
  [![Docs](https://img.shields.io/badge/docs-miragon.github.io%2Fpulse-335DE5?style=flat-square)](https://miragon.github.io/pulse/)
6
6
 
7
- The base for your own Pulse server: the shared widget kit, the settings page and the server boot
8
- that the Pulse connectors and the [pulse-starter](https://github.com/Miragon/pulse-starter) build on.
7
+ The base for your own Pulse server: the view runtime and the server boot that
8
+ the Pulse connectors and the [pulse-starter](https://github.com/Miragon/pulse-starter) build on.
9
+ Its UI builds on the design kit [`@miragon/pulse-ui`](../ui).
9
10
 
10
11
  ## Install
11
12
 
12
13
  ```sh
13
- npm install @miragon/pulse-widget-shell zod bpmn-js@18.31.0 @miragon/mcp-toolkit-core mcp-use@2.7.3
14
+ npm install @miragon/pulse-widget-shell zod bpmn-js@18.31.1 mcp-use@2.12.2
14
15
  ```
15
16
 
16
- The widgets also need `react`, `react-dom`, `@miragon/mcp-toolkit-ui`, `lucide-react` and
17
- `@tanstack/react-query`; the Postgres stores need `postgres`.
17
+ The widgets also need `react`, `react-dom`, `@miragon/pulse-ui`, `lucide-react` and
18
+ `@tanstack/react-query`.
18
19
 
19
20
  To build your own MCP server on it, start from [pulse-starter](https://github.com/Miragon/pulse-starter).
20
21
 
21
22
  ## Overview
22
23
 
23
24
  Shared widget plumbing for the [Pulse](../../../README.md) MCP App widgets. It is the common base
24
- both widget modules ([`camunda7-connector`](../../connectors/camunda/camunda7-connector), [`analytics-connector`](../../connectors/analytics/analytics-connector)) build on,
25
+ both widget modules ([`engine-connector`](../../connectors/engine/engine-connector), [`analytics-connector`](../../connectors/analytics/analytics-connector)) build on,
25
26
  so every widget gets the same data-loading, refresh and view-composition behaviour.
26
27
 
27
28
  Published to the public npm registry as `@miragon/pulse-widget-shell`, the foundation
@@ -30,156 +31,162 @@ package customers build their own connectors and composed servers on (see the
30
31
 
31
32
  ## What it provides
32
33
 
33
- - **`adaptDataWidget`** (`./ui`): wraps a presentational React component into a data-aware widget:
34
- handles the initial structured-content payload, in-widget `callTool()` refresh via the `*_data`
35
- feeds, and loading / error states. This is what keeps widgets rename-safe and refreshable.
36
- - **View builders** (`./server`): `buildSingleWidgetView`, `buildComposedView` and
37
- `buildDataFeedResult` (the single implementation of the app-only `*_data` feed result), the
38
- server-side helpers that assemble a widget tool's result: a summary for the model plus the
39
- `structuredContent` layout its view renders. The view itself is declared on the tool by
40
- `showToolBinding` (a `view` binding; mcp-use derives the `_meta.ui` keys from it).
41
- - **BPMN names** (`./server`): `readBpmnNames` / `parseBpmnNames`: the one rule every module
34
+ - **The view runtime** (`./widgets`): the bundle root `mountViews({ views, hostWidgets })` picks
35
+ the view the document's prelude names (the show tool's name) from your view map and mounts it
36
+ under the view root (the mcp-use adapter, ONE `QueryClient` per document, `HostDocument`,
37
+ `LocaleGate`, toasts); `mountView` mounts one view without a map. `LocaleGate` renders German
38
+ for a host locale whose language is `de` (`de`, `de-DE`, `de_AT`) and English otherwise. The
39
+ root's call hook (`useMcpUseViewCall` over `resolveViewCall`) owns the stripped-result recovery: a host that
40
+ drops `structuredContent` (claude.ai) gets the view re-running its own show tool ONCE (every
41
+ view-bound tool is a read), stamped "Reloaded at"; the view frame renders the phases (waiting,
42
+ error with a retry, cancelled, ready) and keeps a crashing view, and each `ViewStack` row and
43
+ `HostWidgetSlot`, inside its own error boundary. Widgets reach the host only through the view
44
+ host seam (`useViewHost`: `callTool`, `sendFollowUp`, `openExternal`; `HostModelContext`) and the query
45
+ hooks (`useToolQuery`, `useToolMutation`, `useViewData` (which seeds a feed with the view's
46
+ data), `useQueryClient`), never `mcp-use/react`, so a widget renders under `TestViewHost`
47
+ (fake tools, a log of host actions and model contexts) in a plain test. Another module's
48
+ widget renders by raw id through the host widgets (`useHostWidget`, `HostWidgetSlot`).
49
+ - **View builders** (`./server`): `buildViewResult(data, summary)` (a show tool's result: the
50
+ `structuredContent` IS the view's data, the text what the model reads: a short summary or,
51
+ where the model needs the figures, the result as compact JSON) and
52
+ `buildDataFeedResult` (the single implementation of the app-only `*_data` feed result);
53
+ `decodeToolResult` reads either (on both entries: a widget decodes `callTool`'s raw result with
54
+ it, a server test its own tool's). The view itself is declared on the tool by `showToolBinding`
55
+ (a `view` binding; mcp-use derives the `_meta.ui` keys from it), and the boot primes each
56
+ view with `viewPrelude(name)` ahead of the bundle.
57
+ - **BPMN names** (`./server`, and `./widgets` for a view): `readBpmnNames` / `parseBpmnNames`: the one rule every module
42
58
  reads a model's names by, without a DOM (a process's own name, else its Modeler pool's;
43
59
  character references such as `
` and `&` decoded, space folded), so two modules never
44
60
  name the same process or activity differently.
45
- - **The `shell:*` catalogue** (`./server`): `shellDefinition` + `createShellPlugin` register the
46
- always-on generic `shell:kpi-grid` / `shell:data-table` widgets, the standard
47
- `render-view`/builder composition targets fed via `props.dataKey`, and the settings page.
48
- `createShellPlugin({ profileStore, allowSave })` adds the settings triple: `shell_show_settings`
49
- (the page: the language section, then every `<module>:settings` section the host bundles),
50
- `shell_settings_data` (what `ProfileGate` reads the language from) and `shell_save_settings`
51
- (pass `allowSave: frameworkWritesAllowed(boot)`). Hosts spread `shellWidgets` (`./widgets`)
52
- into their registry. Apps own no domain UI, so the catalogue lives here.
53
- - **Shared UI primitives** (`./widgets`): what the kit adds on top of `@miragon/mcp-toolkit-ui`
54
- (`WidgetShell`, tables, `ListTable` + `PagedRows`, the dual-mode data hooks, formatters,
55
- hand-offs, the BPMN viewer, `useApplyTheme`, …), reused across both widget packages.
56
- Inline in a chat a view is a card (#396): `HostDocument`'s measured fit (`InlineFitBox`,
57
- `useInlineRows`) caps a paged list (`usePagedViewData`) and an unpaged `ListTable` to the
61
+ - **Host-bound UI** (`./widgets`): what widget-shell adds on top of the design kit
62
+ `@miragon/pulse-ui`, the pieces that touch the host, a tool call or BPMN
63
+ (`WidgetShell`, `ListTable` + `PagedRows`, the dual-mode data hooks, hand-offs, the BPMN
64
+ viewer, …), reused across both widget packages.
65
+ Inline in a chat a view is a card (#396): the view root's measured fit (`HostDocument`,
66
+ `InlineFitBox`) caps a paged list (`usePagedViewData`) and an unpaged `ListTable` to the
58
67
  rows that fit the host's height budget, measured on the rendered view, with the count and
59
- a way to the rest (fullscreen where the host offers it); the BPMN canvas stays at 320 px,
60
- long text in `TEXT_BLOCK_FRAME`.
68
+ a way to the rest (fullscreen where the host offers it); the BPMN canvas stays at 320 px.
61
69
  Layout, states and feedback: `ListTable` scrolls inside a named, keyboard-reachable region
62
70
  (column priorities via `hideBelow`, the row actions pinned with `sticky`, the sorted
63
71
  column marked with `sort`, heads over adjacent columns with `groups`), `IdCell`/`IdText`
64
- show an id shortened in Geist Mono with a copy button, `NamedId` shows a process or an
65
- element by its name with the id quiet in mono below, `countTone`/`severityTone` are the one
72
+ show an id shortened in Geist Mono with a copy button, `countTone`/`severityTone` are the one
66
73
  severity ladder for incident and job counts, `describeError` turns an engine or
67
- transport failure into what happened and what you can do (the toolkit's `ErrorState` in
74
+ transport failure into what happened and what you can do (pulse-ui's `ErrorState` in
68
75
  `ViewDataState`, `QueryFallback`, `useDetailView`, raw text under "Details", retry
69
- required), `useActionFeedback` raises the toolkit's toasts after a write (an engine
76
+ required), `useActionFeedback` raises pulse-ui's toasts after a write (an engine
70
77
  refusal's own reason quoted, a write whose answer never came flagged), `ConfirmDialog`
71
- asks before one, `TableEmptyState` has an `empty` and a `done` variant, `KometMark` /
72
- `AppEmptyState` carry the Miragon signature on app-level surfaces only (hidden by a brand
73
- that sets `--brand-mark-display: none`), and the BPMN canvas reads one token module
74
- (`BPMN_TOKENS`, `BPMN_OVERLAY_CSS`) with its height from the diagram's size at the scale
75
- bpmn-js draws it (`diagramHeight`, read from the XML's DI before the import). The
76
- toolkit's own components and helpers (`KpiGrid`, `StatusBadge`/`LivePill`/`CountPill`,
77
- `FilterBar`, `WidgetHeader`, `PagedListFooter`, `SectionHeading`, the `TONE_*` maps,
78
- `resolveTone`, `MICRO_LABEL`, `cn`, `useDebouncedValue`, …) are imported from the toolkit:
79
- the kit neither forks nor re-exports them. Status
80
- is a tone (the toolkit's `TONE_*` maps over the `--<tone>`, `--<tone>-soft` and `--<tone>-ink` roles: a dot,
81
- edge or icon next to black text, black text on a tint, never a coloured number), function
82
- icons are Lucide via `Icon`, and numbers, percentages, periods and durations render in the
83
- view's locale (`formatNumber`, `formatPercent`, `formatPercentPoints`, `formatPeriod`,
84
- `formatDuration`).
85
- - **Brand gates** (`./testing`): the checks every widget package runs in its own tests:
86
- `catalogTextFindings` (the voice rules over a message catalog), `scanTypeScale` (text on the
87
- type scale's five steps, nothing below 13 px), `scanGlyphs` (no Unicode glyphs,
88
- emoji, lone symbols or sparkle imports as icons), `scanColors` (role names only: no palette
89
- classes, retired accents or raw colours, with a reasoned allow list), `stylesheetColorFindings`
90
- (no raw colour or retired accent variable in a stylesheet's rules) and `contrastFindings` with
91
- `toneContrastPairs()` / `ROLE_CONTRAST_PAIRS` (WCAG AA of every tone and role pair over
92
- `toolkitThemeStylesheets()` (the toolkit's Miragon theme as installed) plus your overrides,
93
- light and dark; `:root` and the dark scopes cascade in source order as on
94
- `<html class="dark" data-theme="dark">`, so override a role under both). Node only;
95
- `scanGlyphs` and `scanColors` need `typescript`.
96
- - **Theme:** none of its own. The widgets colour through the role variables of the toolkit's
97
- Miragon theme (`@miragon/mcp-toolkit-ui/theme.css`: the vendored `--cd-*` corporate-design
78
+ asks before one, and the BPMN canvas reads one token module (`BPMN_TOKENS`,
79
+ `BPMN_OVERLAY_CSS`) with its height from the diagram's size at the scale bpmn-js draws it
80
+ (read from the XML's DI before the import). The design kit (the
81
+ primitives and components, the `TONE_*` maps, `cn`, the formatters, `Icon`, the table
82
+ cells `Th`/`Td`, `TableEmptyState`, `NamedId`, `KometMark`/`AppEmptyState`,
83
+ `TEXT_BLOCK_FRAME`, …) is imported from `@miragon/pulse-ui`: widget-shell neither forks nor
84
+ re-exports it.
85
+ - **Product glossary** (`./testing`): `PRODUCT_GLOSSARY` (one word per thing across the Pulse
86
+ modules), `glossaryFindings`, `blindGlossaryRules` and `unnamedGlossaryTerms`, which every
87
+ widget package checks its catalogs against. The generic brand gates (`catalogTextFindings`,
88
+ the scanners, the contrast helpers) are `@miragon/pulse-ui/testing`. Node only.
89
+ - **Theme:** none of its own. The widgets colour through the role variables of pulse-ui's
90
+ Miragon theme (`@miragon/pulse-ui/theme.css`: the vendored `--cd-*` corporate-design
98
91
  tokens and the roles on top, light and dark). Your stylesheet imports it after `tailwindcss`,
99
- `@source`s the toolkit's `src` (and this package's `dist`), and overrides ROLE variables only.
100
- The widgets follow the host's theme (then the OS); there is no theme preference.
101
- - **Module composition** (`./server`): `composeModules` is the composition-root machinery every
102
- server shares: `MCP_ACTIVE_MODULES` selection with `module:toolset` suffixes, the env-typo warner
103
- and boot warnings. `resolveBoot(env, { authenticated })` resolves ONE concrete toolset per module
104
- per boot and threads it into the module's `config.toolset`; pass `authenticated: true` only when
105
- your server actually installed OAuth. `logEffectiveToolsets(boot)` prints the one boot line that
106
- states each module's toolset and why, and `frameworkWritesAllowed(boot)` decides whether
107
- framework writes no module toolset filters (the toolkit's dashboard builder) may be registered:
108
- only with OAuth and no module on its read-only floor.
92
+ `@source`s pulse-ui's `dist` and this package's `dist`, and
93
+ overrides ROLE variables only; measure your overrides with `themeStylesheets()` from
94
+ `@miragon/pulse-ui/testing`. The widgets follow the host's theme (then the OS); there is no
95
+ theme preference.
96
+ - **Module composition** (inside the boot): `createComposedServer` composes the modules you hand
97
+ it: `MCP_ACTIVE_MODULES` selection with `module:toolset` suffixes, the env-typo warner and boot
98
+ warnings. It resolves ONE concrete toolset per module per boot and threads it into the module's
99
+ `config.toolset` (`ModuleEntry`), authenticated exactly when it installed OAuth. A module's
100
+ `createPlugin(config, shared)` returns a `ModulePlugin`: its `name` and one `register(server)`
101
+ that registers all its tools on the server the boot owns; `shared(entries)` is your wiring of
102
+ what the active modules hand each other. The boot log states each module's toolset and why.
103
+ `composedEnvVars(modules)` names every variable such a boot reads (the boot's own and each
104
+ module's `knownEnvVars`), e.g. for a `.env.example` check. A module that was renamed declares
105
+ `retired: { names, envVars, warnedEnvVars }`: the boot refuses a former name in
106
+ `MCP_ACTIVE_MODULES` and a former variable while it is set, naming the replacement, before it
107
+ checks anything else; a `warnedEnvVars` entry (a credential another tool may share) only warns;
108
+ `retiredEnvVars(modules)` lists both kinds, so a test env can clear them too.
109
109
  - **Toolset vocabularies** (`./server`): a module declares its toolsets as
110
110
  `toolsets: createToolsetVocabulary(module, names, floor, { authenticatedDefault })` on its
111
111
  definition; a module without one has no toolsets (a suffix is ignored with a warning). The rule
112
112
  is fail-closed: no suffix →
113
113
  `floor` without OAuth, `authenticatedDefault` (default: `floor`) with it; an empty or unknown
114
114
  suffix → `floor` with a warning; `resolve(undefined)` → `floor`. Nothing resolves to
115
- "everything" (a module's widest toolset is reachable only by naming it), and
116
- `allowsDurableWrites(toolset)` is true for every toolset above the floor.
117
- - **Server boot** (`./server`): `createComposedServer({ label, info, composition, bundle, setup,
118
- oauth? })` is the one boot sequence every composed server shares: env-typo warnings, the HTTP
119
- edge policy, ONE `resolveBoot` (authenticated exactly when you pass the OAuth provider you
120
- install; build it with `oauthFromEnv({ env, label })` from `MCP_OAUTH` and spread
121
- `OAUTH_ENV_VARS` into your known vars; it is the only caller identity), the boot log, your
122
- `setup(boot)` (plugins + persistence), `createFrameworkApp` with
123
- `serverInfo`/`instructions`, request context (request logging is mcp-use's own:
124
- `MCP_USE_LOG_LEVEL`, warned at boot above `info`), `/metrics` (optional
125
- `MCP_METRICS_TOKEN`), the Host/Origin guard, `/health/*` and the font route
126
- (`installFontAssets`: Geist + Geist Mono as woff2 under `/fonts/geist-<version>/`, cached
127
- immutable, any origin, behind the guard). Every view-bound tool advertises `MCP_URL`'s origin
128
- in its view CSP `resourceDomains` and the Apps SDK `openai/widgetCSP` (`fontAssetsCsp`, applied
129
- to every plugin by `honorWidgetMetaDefaults`); without `MCP_URL` mcp-use appends the origin
130
- the host read the view from. `HostDocument` declares the faces from that origin
131
- (`declareServedFonts`, `font-display: swap`), so a host that blocks it shows its own font, then
132
- the system's. `mcp-use dev` serves the returned
133
- `app`; production calls `listen({ handleSignals: true })`: mcp-use's `toNodeHandler` behind a
134
- request-body cap (`MCP_MAX_BODY_BYTES`, 413 before buffering), an in-flight body budget of 4×
135
- the cap (503) and a 30 s request timeout, plus a graceful drain (stop accepting, in-flight
136
- requests finish, readiness 503 `draining`, then your `runtime.shutdown()`). The guard is
137
- DNS-rebinding protection: `Host` (and a POST's `Origin`) must be localhost-class, `MCP_URL`'s or
138
- in `MCP_ALLOWED_HOSTS`/`MCP_ALLOWED_ORIGINS` (spread `HTTP_EDGE_ENV_VARS` into your known vars);
139
- `/health*` and `/metrics` stay reachable by IP for probes and scrapers.
140
- - **Persistence** (`./server`): the user-profile store (in-memory / filesystem / Postgres) and the
141
- Postgres `DashboardStore` for the toolkit's saved dashboards, plus the `createSql` client and the
142
- `runMigrations` runner that applies each store's own `Migration[]` (`PROFILE_STORE_MIGRATIONS`,
143
- `DASHBOARD_STORE_MIGRATIONS`) under an advisory lock. A composed server picks its backends from
144
- its own env and injects them; it does not reimplement the stores. `postgres` is an **optional**
145
- peer dependency: the driver is loaded through a dynamic import inside `createSql`, so servers
146
- persisting to disk or memory never need it installed.
115
+ "everything" (a module's widest toolset is reachable only by naming it).
116
+ - **Server boot** (`./server`): `createComposedServer` (options `info`, `modules`, `shared?`,
117
+ `bundle`, `env?`, `envVarHint?`, `oauth?`) is the one boot sequence every composed server shares:
118
+ env-typo warnings, the HTTP edge policy, OAuth, ONE module selection, the boot log, the plugins of
119
+ the active modules, the `MCPServer` with `serverInfo`/`instructions`, each plugin's `register` (a
120
+ tool name two modules register fails the boot, naming both), the views every tool binds primed
121
+ once with your `bundle`, request context (request logging is mcp-use's own: `MCP_USE_LOG_LEVEL`,
122
+ warned at boot above `info`), `/metrics` (optional `MCP_METRICS_TOKEN`), the Host/Origin guard,
123
+ `/health/*` and the font route (`installFontAssets`: Geist + Geist Mono as woff2 under
124
+ `/fonts/geist-<version>/`, cached immutable, any origin, behind the guard). OAuth comes from one
125
+ provider's `MCP_USE_OAUTH_*` variables, mcp-use's own, with `MCP_URL` as the token audience (RFC
126
+ 8707); the providers and what fails the boot are listed under
127
+ [Security](https://miragon.github.io/pulse/mcp/operations#security). Without a provider the boot
128
+ runs unauthenticated with one warning. OAuth is the only caller identity, and `oauth` installs a
129
+ provider instead (a test's stub IdP). Every view-bound tool advertises `MCP_URL`'s origin in its
130
+ view CSP `resourceDomains` and the Apps SDK `openai/widgetCSP` (`fontAssetsCsp`, merged into every
131
+ view-bound tool as it registers); without `MCP_URL` mcp-use appends the origin the host read the
132
+ view from. `HostDocument` declares the faces from that origin (`declareServedFonts`,
133
+ `font-display: swap`), so a host that blocks it shows its own font, then the system's.
134
+ `mcp-use dev` serves the returned `app`; production calls `listen({ handleSignals: true })`:
135
+ mcp-use's `toNodeHandler` behind a request-body cap (`MCP_MAX_BODY_BYTES`, 413 before buffering),
136
+ an in-flight body budget of 4× the cap (503) and a 30 s request timeout, plus a graceful drain
137
+ (stop accepting, in-flight requests finish, readiness 503 `draining`). The guard is DNS-rebinding
138
+ protection: `Host` (and a POST's `Origin`) must be localhost-class, `MCP_URL`'s or in
139
+ `MCP_ALLOWED_HOSTS`/`MCP_ALLOWED_ORIGINS`; `/health*` and `/metrics` stay reachable by IP for
140
+ probes and scrapers.
147
141
 
148
142
  ## Exports
149
143
 
150
- | Subpath | Contents |
151
- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
152
- | `./server` | `buildSingleWidgetView` / `buildComposedView` / `buildDataFeedResult`, `shellDefinition`/`createShellPlugin`, `createBuilderTexts` (the view builder's en/de names from a module's catalogs), `composeModules` / `frameworkWritesAllowed` / `createToolsetVocabulary`, `createComposedServer` and its edge pieces (incl. `installFontAssets`, `fontAssetsCsp`, `honorWidgetMetaDefaults`), `oauthFromEnv`, caller identity (`resolveProfileKey`), the profile + dashboard stores and the Postgres client/migration runner |
153
- | `./ui` | `adaptDataWidget`, the data-aware widget wrapper |
154
- | `./widgets` | Shared widget UI primitives incl. the generic `shell:*` components and the host app shell (`AppShellProviders`: the language as explicit profile > host context > English, the theme as host context > OS) |
155
- | `./testing` | The brand gates for your widget package's tests: `catalogTextFindings`, `missingDisplayTexts` + `displayTextCatalog` (every widget, step and top-level props field named for the view builder in en and de) + `displayTextsSentToModel` (none of those names reaches the model), `scanGlyphs`, `scanColors`, `stylesheetColorFindings`, `parseThemeVariables` + `contrastFindings` with `toneContrastPairs()` / `ROLE_CONTRAST_PAIRS` over `toolkitThemeStylesheets()` |
156
-
157
- The `@miragon/mcp-toolkit-*`, `react`/`react-dom`, `zod` and `@tanstack/react-query` deps are
158
- **peer dependencies**: they must resolve to a single instance across the host bundle (see the
159
- `dedupe` array in the server app's `vite.config.ts`), otherwise the React contexts diverge and
160
- in-widget queries hang. They are published as ranges (`react`/`react-dom` `^19.2.0`, `zod`
161
- `^4.4.0`, `@miragon/mcp-toolkit-*` `~2.8.1`, `lucide-react` `^0.562.0 || ^1.0.0`) so they dedupe
162
- against your app's copy; add `lucide-react` to your `dedupe` list too. **A host bundle that dedupes
163
- `lucide-react` needs 1.47.0 or newer** (the version `@miragon/mcp-toolkit-ui` 2.8 depends on): the
164
- toolkit's chrome imports `LucideProvider`, which 0.x does not export, so a deduped 0.x copy fails
165
- the bundle build with a missing export. The peer range still admits 0.562 only for this repo's own
166
- test graph; no package manager warns you about it.
167
-
168
- `mcp-use` is the exception: it is an **exactly pinned** peer dependency. Pin it to `mcp-use@2.7.3`
144
+ | Subpath | Contents |
145
+ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
146
+ | `./server` | The module port (`ComposableModule`, `ModulePlugin`, `ModuleEntry`, `createToolsetVocabulary`); tool authoring: the registrar (`createToolRegistrar`, `withToolErrors`), the view and feed bindings and results (`showToolBinding`, `appOnly`, `strictToolInput`, `buildViewResult`, `buildDataFeedResult`, `decodeToolResult`), the server i18n (`createTranslator`), the BPMN-name readers and the per-caller request info (`callerCacheKey`, `getMcpRequestInfo`, `runWithMcpRequestInfo`); the boot: `createComposedServer` with `composedEnvVars` / `retiredEnvVars`, the view URIs (`viewResourceUri`, `viewPrelude`), `VIEW_BUNDLE_DEDUPE` and the served fonts (`installFontAssets`, `fontAssetsCsp`). The boot's parts (edge guard, body limit, metrics, health) run only inside `createComposedServer` |
147
+ | `./widgets` | The view runtime (`mountViews`, the view host, the query hooks, `TestViewHost`; the language from the host locale (`de…` German, else English), the theme as host context > OS), the host-bound UI, `AskAiButton` for a hand-off `HAND_OFF_ACTIONS` does not list, `decodeToolResult` and `createTranslator`, each with the types its signature names. The view root's providers and the inline-fit machinery stay inside `mountViews` |
148
+ | `./testing` | The product glossary: `PRODUCT_GLOSSARY`, `glossaryFindings`, `blindGlossaryRules`, `unnamedGlossaryTerms` |
149
+
150
+ `@miragon/pulse-ui`, `react`/`react-dom`, `zod` and `@tanstack/react-query` are **peer
151
+ dependencies**: they must resolve to a single instance across the host bundle, otherwise the React
152
+ contexts diverge and in-widget queries hang. Spread `VIEW_BUNDLE_DEDUPE` (`./server`) into your
153
+ view bundle's Vite `resolve.dedupe` (`dedupe: [...VIEW_BUNDLE_DEDUPE]`): it names every package
154
+ that must exist once, this one included, and a release that adds one reaches you with the version
155
+ bump. A module of your own, like the Pulse connectors, peers this package (`^<this release>`), so
156
+ your server's copy is the only one. The peers are published as ranges (`react`/`react-dom`
157
+ `^19.2.0`, `zod` `^4.4.0`, `@miragon/pulse-ui` `^<this release>`, `lucide-react`
158
+ `^0.562.0 || ^1.0.0`) so they dedupe against your app's copy. **A host bundle that dedupes
159
+ `lucide-react` needs a 1.x copy that exports `LucideProvider`** (this repo pins 1.66.0):
160
+ widget-shell's view root imports `LucideProvider`, which 0.x does not export, so a deduped 0.x copy
161
+ fails the bundle build with a missing export. The peer range still admits 0.562 only for this repo's
162
+ own test graph; no package manager warns you about it. `bpmn-js` is a peer (`^18.31.1`):
163
+ `./widgets` exports the BPMN viewer, so every view bundle imports it.
164
+
165
+ `mcp-use` is the exception: it is an **exactly pinned** peer dependency. Pin it to `mcp-use@2.12.2`
169
166
  in your app. A duplicate `mcp-use` instance breaks the React context and hangs every in-widget query
170
167
  on "Loading…".
171
168
 
172
169
  ## Where it fits
173
170
 
174
171
  ```
175
- camunda7-connector / analytics-connector widgets
172
+ engine-connector / analytics-connector widgets
176
173
  │ use
177
174
  ▼
178
- @miragon/pulse-widget-shell ── adaptDataWidget · view builders · UI primitives
175
+ @miragon/pulse-widget-shell ── view runtime · view builders · host-bound UI
179
176
  │ build on
180
177
  ▼
181
- @miragon/mcp-toolkit-ui (React + react-query)
178
+ mcp-use/react (the view's host) · @tanstack/react-query · @miragon/pulse-ui (design kit)
182
179
  ```
183
180
 
184
- See the architecture invariants in [`CLAUDE.md`](../../../CLAUDE.md) for the four-link widget
185
- registration chain.
181
+ One package, two halves that share one wire protocol: `./widgets` is `src/ui`, `./server` (and
182
+ `./testing`) the rest of `src/`, and both import the protocol modules in `src/protocol` (tool
183
+ results, the view name, the served fonts, the translator, the BPMN-name reader), which import
184
+ nothing themselves. The shipped code of one half imports nothing of the other (tests and the
185
+ `./testing` fixtures aside): a server never loads React and a view bundle never loads the boot.
186
+ dependency-cruiser holds the seam (`widget-shell-views-browser-only`,
187
+ `widget-shell-server-headless`, `widget-shell-protocol-is-a-leaf`), and the two tsconfigs type
188
+ each half with its own runtime's globals (`tsconfig.widgets.json`: DOM, no Node; the protocol
189
+ under both).
190
+
191
+ See the architecture invariants in [`CLAUDE.md`](../../../CLAUDE.md) for how a view is
192
+ registered.
@@ -0,0 +1,3 @@
1
+ /** `user.id`, else `user.userId`, else the token's `payload.sub`; `undefined` without OAuth. */
2
+ export declare function callerUserId(ctx: unknown): string | undefined;
3
+ //# sourceMappingURL=caller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"AAiBA,gGAAgG;AAChG,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQ7D"}
package/dist/caller.js ADDED
@@ -0,0 +1,18 @@
1
+ function isRecord(value) {
2
+ return typeof value === "object" && value !== null;
3
+ }
4
+ function firstString(...candidates) {
5
+ for (const candidate of candidates) {
6
+ if (typeof candidate === "string" && candidate.length > 0)
7
+ return candidate;
8
+ }
9
+ return undefined;
10
+ }
11
+ /** `user.id`, else `user.userId`, else the token's `payload.sub`; `undefined` without OAuth. */
12
+ export function callerUserId(ctx) {
13
+ if (!isRecord(ctx) || !isRecord(ctx.auth) || !isRecord(ctx.auth.extra))
14
+ return undefined;
15
+ const { user, payload } = ctx.auth.extra;
16
+ return firstString(isRecord(user) ? user.id : undefined, isRecord(user) ? user.userId : undefined, isRecord(payload) ? payload.sub : undefined);
17
+ }
18
+ //# sourceMappingURL=caller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caller.js","sourceRoot":"","sources":["../src/caller.ts"],"names":[],"mappings":"AAMA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,GAAG,UAAqB;IAC3C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,SAAS,CAAA;IAC7E,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACxF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;IACxC,OAAO,WAAW,CAChB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EACpC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACxC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAA;AACH,CAAC"}
@@ -1,110 +1,78 @@
1
- import type { AppPlugin } from "@miragon/mcp-toolkit-core";
2
- import { type DashboardStore } from "@miragon/mcp-toolkit-core/tools";
3
- import type { MCPServer } from "mcp-use";
1
+ import { MCPServer } from "mcp-use";
4
2
  import type { OAuthProvider } from "mcp-use/oauth";
5
- import { type ModuleComposition, type ResolvedBoot } from "./composition.js";
6
- import { type ReadinessCheck } from "./health.js";
7
- import { type HttpEdgePolicy } from "./http-edge.js";
3
+ import { type ComposableModule, type ModuleEntry, type ResolvedBoot } from "./composition.js";
8
4
  /** What the server reports as `serverInfo` (plus the `instructions` it advertises). */
9
5
  export interface ComposedServerInfo {
10
6
  name: string;
11
- /** Read it from the root's `package.json` — release-please keeps that current. */
7
+ /** Read it from the root's `package.json`; release-please keeps that current. */
12
8
  version: string;
13
9
  title?: string;
14
10
  description?: string;
15
11
  websiteUrl?: string;
16
- /**
17
- * The root's own preamble of the server `instructions` (short, factual).
18
- * The active modules' snippets (`ComposableModule.instructions`) follow it,
19
- * so routing rules each module owns reach the model without the root
20
- * restating them.
21
- */
12
+ /** The root's preamble of the server `instructions`; the active modules' snippets follow it. */
22
13
  instructions?: string;
23
14
  }
24
- /** The root's runtime wiring, built once the boot selection is known. */
25
- export interface ComposedServerRuntime {
26
- /** The active modules' plugins (plus any always-on ones, e.g. `createShellPlugin()`). */
27
- plugins: AppPlugin<MCPServer>[];
28
- /** `undefined` = the toolkit's in-memory dashboard store. */
29
- dashboardStore?: DashboardStore;
30
- /** Readiness checks for the server's OWN dependencies (never engines or Prometheus). */
31
- readiness?: Record<string, ReadinessCheck>;
32
- /** Releases owned resources (DB pool, timers) — runs after HTTP has drained. */
33
- shutdown?: () => Promise<void>;
34
- }
35
- /** The composition members the boot needs — none depends on the root's shared-resources type. */
36
- export type BootComposition = Pick<ModuleComposition<never>, "warnUnknownEnvVars" | "resolveBoot" | "emitBootWarnings" | "logEffectiveToolsets" | "instructions">;
37
- export interface ComposedServerOptions {
38
- /** Log prefix, e.g. `pulse`. */
39
- label: string;
15
+ export interface ComposedServerOptions<TShared extends object = object> {
16
+ /** `serverInfo` and the instructions' preamble; `info.name` also prefixes every boot log line. */
40
17
  info: ComposedServerInfo;
41
- composition: BootComposition;
42
- /** The compiled widget bundle (read once at boot). */
18
+ /** The modules this server composes, in plugin and instruction order. */
19
+ modules: readonly ComposableModule<TShared>[];
20
+ /** Cross-module wiring: what the active modules hand each other. Absent: every plugin gets `{}`. */
21
+ shared?: (entries: readonly ModuleEntry[]) => TShared;
43
22
  bundle: {
44
23
  jsPath: string;
45
24
  cssPath?: string;
46
25
  };
47
- setup: (boot: ResolvedBoot) => ComposedServerRuntime | Promise<ComposedServerRuntime>;
48
- /**
49
- * The OAuth provider the root decided to INSTALL — the one input that makes
50
- * the selection authenticated (never inferred from an env var).
51
- */
52
- oauth?: OAuthProvider<unknown>;
53
- /** Env vars consumed outside the composition (e.g. a secret named in the root's config). */
54
- extraKnownEnvVars?: Iterable<string>;
55
- /**
56
- * Defaults to `process.env`. mcp-use reads `MCP_URL` from `process.env`
57
- * itself, so production passes `process.env` (tests stub it).
58
- */
26
+ /** mcp-use reads `MCP_URL` and its own `MCP_USE_*` from `process.env`, so production passes `process.env`. */
59
27
  env?: NodeJS.ProcessEnv;
28
+ /** Appended to the unknown-variable warning, e.g. where the variables are documented. */
29
+ envVarHint?: string;
30
+ /** Installed INSTEAD of the provider the env names (a test's stub IdP). Production omits it. */
31
+ oauth?: OAuthProvider<unknown>;
60
32
  }
61
33
  export interface ListenOptions {
62
- /** Default: `PORT`, else 8400 (`resolvePort`). `0` binds an ephemeral port. */
34
+ /** `0` binds an ephemeral port. */
63
35
  port?: number;
64
- /** Default: `HOST`, else every interface (`0.0.0.0`). */
65
36
  host?: string;
66
- /** Drain on SIGTERM/SIGINT, then exit (production entry points only). */
67
- handleSignals?: boolean;
68
- /** Upper bound for in-flight requests to finish once draining (default {@link DEFAULT_DRAIN_TIMEOUT_MS}). */
69
- drainTimeoutMs?: number;
70
37
  /**
71
- * Time a client gets to send a whole request, headers and body (default
72
- * {@link DEFAULT_REQUEST_TIMEOUT_MS}) — a slow upload cannot pin its
73
- * buffered body for Node's 300 s default. Responses (SSE streams, long tool
74
- * calls) are not bounded by it.
38
+ * Drain, then exit 0, on SIGTERM/SIGINT. A root that closes something of its own after the
39
+ * drain (a connection pool) handles the signals itself: `await running.shutdown()`, then its own.
75
40
  */
41
+ handleSignals?: boolean;
42
+ drainTimeoutMs?: number;
43
+ /** Bounds a request's upload (headers and body), not its response; Node's default is 300 s. */
76
44
  requestTimeoutMs?: number;
77
45
  }
78
46
  export interface RunningServer {
79
47
  port: number;
80
48
  url: string;
81
49
  /**
82
- * Graceful drain (idempotent): stop accepting at once, let in-flight
83
- * requests finish (bounded — readiness answers those 503 `draining`), close
84
- * the MCP server, then the root's `runtime.shutdown()`. New connections are
85
- * refused from the first moment, so a load balancer that routes until its
50
+ * Idempotent drain; refuses new connections at once, so a load balancer that routes until its
86
51
  * endpoint update lands (Kubernetes) needs a `preStop` sleep in front.
87
52
  */
88
53
  shutdown(): Promise<void>;
89
54
  }
90
55
  export interface ComposedServer {
91
- /** The mcp-use server — `mcp-use dev` takes it as the entry's default export. */
56
+ /** `mcp-use dev` takes it as the entry's default export. */
92
57
  app: MCPServer<unknown>;
93
58
  boot: ResolvedBoot;
94
- /** Whether the toolkit's dashboard builder is registered (`frameworkWritesAllowed`). */
95
- builder: boolean;
96
- edge: HttpEdgePolicy;
97
- /** Serve it (production path): body-capped Node listener + graceful drain. */
98
59
  listen(options?: ListenOptions): Promise<RunningServer>;
99
60
  }
100
61
  /** Below Fly's default 5 s kill timeout and Docker's 10 s stop grace. */
101
62
  export declare const DEFAULT_DRAIN_TIMEOUT_MS = 4000;
102
63
  /** Far above any MCP client's upload, far below Node's 300 s default. */
103
64
  export declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
65
+ /** Every variable a boot over `modules` reads: the boot's own plus each module's `knownEnvVars`. */
66
+ export declare function composedEnvVars<TShared>(modules: readonly ComposableModule<TShared>[]): ReadonlySet<string>;
67
+ /**
68
+ * Every variable the modules retired (`retired.envVars`), which a boot over them refuses while it
69
+ * is set. A neutral test env clears these next to `composedEnvVars`, so a value a shell still
70
+ * exports never reaches the boot.
71
+ */
72
+ export declare function retiredEnvVars<TShared>(modules: readonly ComposableModule<TShared>[]): ReadonlySet<string>;
104
73
  /**
105
- * Boot a composed server — see the module comment for the sequence. Returns
106
- * BEFORE listening: `mcp-use dev` serves `app` itself, production calls
107
- * `listen({ handleSignals: true })`.
74
+ * Composes the modules, installs OAuth from the env and builds the plugins. Returns BEFORE
75
+ * listening: `mcp-use dev` serves `app` itself, production calls `listen()`.
108
76
  */
109
- export declare function createComposedServer(options: ComposedServerOptions): Promise<ComposedServer>;
77
+ export declare function createComposedServer<TShared extends object>(options: ComposedServerOptions<TShared>): Promise<ComposedServer>;
110
78
  //# sourceMappingURL=composed-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composed-server.d.ts","sourceRoot":"","sources":["../src/composed-server.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAA0B,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpG,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAEzE,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAA;AAQvB,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,yEAAyE;AACzE,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAA;IAC/B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IAC1C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/B;AAED,iGAAiG;AACjG,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,iBAAiB,CAAC,KAAK,CAAC,EACtB,oBAAoB,GACpB,aAAa,GACb,kBAAkB,GAClB,sBAAsB,GACtB,cAAc,CACjB,CAAA;AAED,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,kBAAkB,CAAA;IACxB,WAAW,EAAE,eAAe,CAAA;IAC5B,sDAAsD;IACtD,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,KAAK,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IACrF;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;IAC9B,4FAA4F;IAC5F,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACpC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;OAMG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACvB,IAAI,EAAE,YAAY,CAAA;IAClB,wFAAwF;IACxF,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,cAAc,CAAA;IACpB,8EAA8E;IAC9E,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACxD;AAED,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAE5C,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,QAAS,CAAA;AA6MhD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA6DzB"}
1
+ {"version":3,"file":"composed-server.d.ts","sourceRoot":"","sources":["../src/composed-server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,SAAS,EAAqC,MAAM,SAAS,CAAA;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAA;AAoBzB,uFAAuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM;IACpE,kGAAkG;IAClG,IAAI,EAAE,kBAAkB,CAAA;IACxB,yEAAyE;IACzE,OAAO,EAAE,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAA;IAC7C,oGAAoG;IACpG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,KAAK,OAAO,CAAA;IACrD,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5C,8GAA8G;IAC9G,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,4DAA4D;IAC5D,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACvB,IAAI,EAAE,YAAY,CAAA;IAClB,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CACxD;AAED,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,OAAO,CAAA;AAE5C,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,QAAS,CAAA;AAoBhD,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,OAAO,EACrC,OAAO,EAAE,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAC5C,WAAW,CAAC,MAAM,CAAC,CAErB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EACpC,OAAO,EAAE,SAAS,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAC5C,WAAW,CAAC,MAAM,CAAC,CAErB;AAuQD;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,SAAS,MAAM,EAC/D,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACtC,OAAO,CAAC,cAAc,CAAC,CAMzB"}