@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.
- package/README.md +134 -127
- package/dist/caller.d.ts +3 -0
- package/dist/caller.d.ts.map +1 -0
- package/dist/caller.js +18 -0
- package/dist/caller.js.map +1 -0
- package/dist/composed-server.d.ts +34 -66
- package/dist/composed-server.d.ts.map +1 -1
- package/dist/composed-server.js +130 -137
- package/dist/composed-server.js.map +1 -1
- package/dist/composition.d.ts +61 -111
- package/dist/composition.d.ts.map +1 -1
- package/dist/composition.js +120 -54
- package/dist/composition.js.map +1 -1
- package/dist/font-assets.d.ts +7 -28
- package/dist/font-assets.d.ts.map +1 -1
- package/dist/font-assets.js +11 -43
- package/dist/font-assets.js.map +1 -1
- package/dist/health.d.ts +9 -45
- package/dist/health.d.ts.map +1 -1
- package/dist/health.js +6 -24
- package/dist/health.js.map +1 -1
- package/dist/host-boot.d.ts +8 -38
- package/dist/host-boot.d.ts.map +1 -1
- package/dist/host-boot.js +10 -32
- package/dist/host-boot.js.map +1 -1
- package/dist/http-edge.d.ts +20 -76
- package/dist/http-edge.d.ts.map +1 -1
- package/dist/http-edge.js +17 -60
- package/dist/http-edge.js.map +1 -1
- package/dist/metrics.d.ts +6 -21
- package/dist/metrics.d.ts.map +1 -1
- package/dist/metrics.js +8 -36
- package/dist/metrics.js.map +1 -1
- package/dist/node-listener.d.ts +7 -39
- package/dist/node-listener.d.ts.map +1 -1
- package/dist/node-listener.js +6 -18
- package/dist/node-listener.js.map +1 -1
- package/dist/oauth-env.d.ts +15 -35
- package/dist/oauth-env.d.ts.map +1 -1
- package/dist/oauth-env.js +122 -62
- package/dist/oauth-env.js.map +1 -1
- package/dist/protocol/bpmn-names.d.ts +19 -0
- package/dist/protocol/bpmn-names.d.ts.map +1 -0
- package/dist/{bpmn-names.js → protocol/bpmn-names.js} +9 -38
- package/dist/protocol/bpmn-names.js.map +1 -0
- package/dist/protocol/served-fonts.d.ts +17 -0
- package/dist/protocol/served-fonts.d.ts.map +1 -0
- package/dist/protocol/served-fonts.js +30 -0
- package/dist/protocol/served-fonts.js.map +1 -0
- package/dist/protocol/tool-result.d.ts +24 -0
- package/dist/protocol/tool-result.d.ts.map +1 -0
- package/dist/protocol/tool-result.js +37 -0
- package/dist/protocol/tool-result.js.map +1 -0
- package/dist/protocol/translator.d.ts +14 -0
- package/dist/protocol/translator.d.ts.map +1 -0
- package/dist/protocol/translator.js +18 -0
- package/dist/protocol/translator.js.map +1 -0
- package/dist/protocol/view-name.d.ts +11 -0
- package/dist/protocol/view-name.d.ts.map +1 -0
- package/dist/protocol/view-name.js +23 -0
- package/dist/protocol/view-name.js.map +1 -0
- package/dist/request-context.d.ts +4 -33
- package/dist/request-context.d.ts.map +1 -1
- package/dist/request-context.js +11 -43
- package/dist/request-context.js.map +1 -1
- package/dist/server.d.ts +19 -39
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +28 -32
- package/dist/server.js.map +1 -1
- package/dist/testing/glossary.d.ts +4 -32
- package/dist/testing/glossary.d.ts.map +1 -1
- package/dist/testing/glossary.js +6 -30
- package/dist/testing/glossary.js.map +1 -1
- package/dist/testing/index.d.ts +1 -38
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -38
- package/dist/testing/index.js.map +1 -1
- package/dist/tool-errors.d.ts +16 -0
- package/dist/tool-errors.d.ts.map +1 -0
- package/dist/tool-errors.js +23 -0
- package/dist/tool-errors.js.map +1 -0
- package/dist/tool-registrar.d.ts +29 -0
- package/dist/tool-registrar.d.ts.map +1 -0
- package/dist/tool-registrar.js +47 -0
- package/dist/tool-registrar.js.map +1 -0
- package/dist/tool-registration.d.ts +35 -0
- package/dist/tool-registration.d.ts.map +1 -0
- package/dist/tool-registration.js +80 -0
- package/dist/tool-registration.js.map +1 -0
- package/dist/tool-schema-trim.d.ts +1 -15
- package/dist/tool-schema-trim.d.ts.map +1 -1
- package/dist/tool-schema-trim.js +1 -16
- package/dist/tool-schema-trim.js.map +1 -1
- package/dist/toolsets.d.ts +10 -56
- package/dist/toolsets.d.ts.map +1 -1
- package/dist/toolsets.js +2 -10
- package/dist/toolsets.js.map +1 -1
- package/dist/ui/action-feedback.d.ts +4 -26
- package/dist/ui/action-feedback.d.ts.map +1 -1
- package/dist/ui/action-feedback.js +5 -19
- package/dist/ui/action-feedback.js.map +1 -1
- package/dist/ui/ask-ai-button.d.ts +6 -43
- package/dist/ui/ask-ai-button.d.ts.map +1 -1
- package/dist/ui/ask-ai-button.js +6 -18
- package/dist/ui/ask-ai-button.js.map +1 -1
- package/dist/ui/ask-ai-prompt.d.ts +6 -82
- package/dist/ui/ask-ai-prompt.d.ts.map +1 -1
- package/dist/ui/ask-ai-prompt.js +10 -77
- package/dist/ui/ask-ai-prompt.js.map +1 -1
- package/dist/ui/bpmn-tokens.d.ts +3 -48
- package/dist/ui/bpmn-tokens.d.ts.map +1 -1
- package/dist/ui/bpmn-tokens.js +3 -46
- package/dist/ui/bpmn-tokens.js.map +1 -1
- package/dist/ui/bpmn-zoom-controls.d.ts +4 -17
- package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -1
- package/dist/ui/bpmn-zoom-controls.js +2 -16
- package/dist/ui/bpmn-zoom-controls.js.map +1 -1
- package/dist/ui/call-observer.d.ts +35 -0
- package/dist/ui/call-observer.d.ts.map +1 -0
- package/dist/ui/call-observer.js +86 -0
- package/dist/ui/call-observer.js.map +1 -0
- package/dist/ui/confirm-dialog.d.ts +4 -31
- package/dist/ui/confirm-dialog.d.ts.map +1 -1
- package/dist/ui/confirm-dialog.js +4 -27
- package/dist/ui/confirm-dialog.js.map +1 -1
- package/dist/ui/count-tone.d.ts +3 -17
- package/dist/ui/count-tone.d.ts.map +1 -1
- package/dist/ui/count-tone.js +2 -16
- package/dist/ui/count-tone.js.map +1 -1
- package/dist/ui/declare-served-fonts.d.ts +4 -10
- package/dist/ui/declare-served-fonts.d.ts.map +1 -1
- package/dist/ui/declare-served-fonts.js +6 -13
- package/dist/ui/declare-served-fonts.js.map +1 -1
- package/dist/ui/describe-error.d.ts +5 -47
- package/dist/ui/describe-error.d.ts.map +1 -1
- package/dist/ui/describe-error.js +8 -45
- package/dist/ui/describe-error.js.map +1 -1
- package/dist/ui/display-mode-toggle.d.ts +3 -16
- package/dist/ui/display-mode-toggle.d.ts.map +1 -1
- package/dist/ui/display-mode-toggle.js +6 -15
- package/dist/ui/display-mode-toggle.js.map +1 -1
- package/dist/ui/error-labels.d.ts +3 -19
- package/dist/ui/error-labels.d.ts.map +1 -1
- package/dist/ui/error-labels.js +0 -1
- package/dist/ui/error-labels.js.map +1 -1
- package/dist/ui/hand-off-button.d.ts +3 -18
- package/dist/ui/hand-off-button.d.ts.map +1 -1
- package/dist/ui/hand-off-button.js +3 -18
- package/dist/ui/hand-off-button.js.map +1 -1
- package/dist/ui/host-context.d.ts +13 -50
- package/dist/ui/host-context.d.ts.map +1 -1
- package/dist/ui/host-context.js +20 -51
- package/dist/ui/host-context.js.map +1 -1
- package/dist/ui/host-contexts.d.ts +19 -0
- package/dist/ui/host-contexts.d.ts.map +1 -0
- package/dist/ui/host-contexts.js +31 -0
- package/dist/ui/host-contexts.js.map +1 -0
- package/dist/ui/host-document.d.ts +3 -18
- package/dist/ui/host-document.d.ts.map +1 -1
- package/dist/ui/host-document.js +7 -25
- package/dist/ui/host-document.js.map +1 -1
- package/dist/ui/host-widgets.d.ts +21 -4
- package/dist/ui/host-widgets.d.ts.map +1 -1
- package/dist/ui/host-widgets.js +19 -11
- package/dist/ui/host-widgets.js.map +1 -1
- package/dist/ui/id-text.d.ts +1 -17
- package/dist/ui/id-text.d.ts.map +1 -1
- package/dist/ui/id-text.js +5 -26
- package/dist/ui/id-text.js.map +1 -1
- package/dist/ui/index.d.ts +24 -43
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +36 -51
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/inline-budget.d.ts +2 -16
- package/dist/ui/inline-budget.d.ts.map +1 -1
- package/dist/ui/inline-budget.js +1 -8
- package/dist/ui/inline-budget.js.map +1 -1
- package/dist/ui/inline-fit-registry.d.ts +4 -31
- package/dist/ui/inline-fit-registry.d.ts.map +1 -1
- package/dist/ui/inline-fit-registry.js +9 -27
- package/dist/ui/inline-fit-registry.js.map +1 -1
- package/dist/ui/inline-fit-solve.d.ts +5 -27
- package/dist/ui/inline-fit-solve.d.ts.map +1 -1
- package/dist/ui/inline-fit-solve.js +4 -23
- package/dist/ui/inline-fit-solve.js.map +1 -1
- package/dist/ui/inline-fit.d.ts +4 -53
- package/dist/ui/inline-fit.d.ts.map +1 -1
- package/dist/ui/inline-fit.js +16 -62
- package/dist/ui/inline-fit.js.map +1 -1
- package/dist/ui/kit-labels.d.ts +12 -51
- package/dist/ui/kit-labels.d.ts.map +1 -1
- package/dist/ui/kit-labels.js +18 -28
- package/dist/ui/kit-labels.js.map +1 -1
- package/dist/ui/list-table.d.ts +15 -69
- package/dist/ui/list-table.d.ts.map +1 -1
- package/dist/ui/list-table.js +11 -69
- package/dist/ui/list-table.js.map +1 -1
- package/dist/ui/locale-gate.d.ts +11 -0
- package/dist/ui/locale-gate.d.ts.map +1 -0
- package/dist/ui/locale-gate.js +53 -0
- package/dist/ui/locale-gate.js.map +1 -0
- package/dist/ui/mcp-use-host.d.ts +20 -0
- package/dist/ui/mcp-use-host.d.ts.map +1 -0
- package/dist/ui/mcp-use-host.js +162 -0
- package/dist/ui/mcp-use-host.js.map +1 -0
- package/dist/ui/open-in-cockpit-link.d.ts +2 -21
- package/dist/ui/open-in-cockpit-link.d.ts.map +1 -1
- package/dist/ui/open-in-cockpit-link.js +5 -20
- package/dist/ui/open-in-cockpit-link.js.map +1 -1
- package/dist/ui/paged-rows.d.ts +3 -14
- package/dist/ui/paged-rows.d.ts.map +1 -1
- package/dist/ui/paged-rows.js +4 -14
- package/dist/ui/paged-rows.js.map +1 -1
- package/dist/ui/query-fallback.d.ts +2 -16
- package/dist/ui/query-fallback.d.ts.map +1 -1
- package/dist/ui/query-fallback.js +2 -14
- package/dist/ui/query-fallback.js.map +1 -1
- package/dist/ui/shell-host.d.ts +13 -23
- package/dist/ui/shell-host.d.ts.map +1 -1
- package/dist/ui/shell-host.js +1 -46
- package/dist/ui/shell-host.js.map +1 -1
- package/dist/ui/test-view-host.d.ts +51 -0
- package/dist/ui/test-view-host.d.ts.map +1 -0
- package/dist/ui/test-view-host.js +72 -0
- package/dist/ui/test-view-host.js.map +1 -0
- package/dist/ui/tool-query.d.ts +41 -0
- package/dist/ui/tool-query.d.ts.map +1 -0
- package/dist/ui/tool-query.js +128 -0
- package/dist/ui/tool-query.js.map +1 -0
- package/dist/ui/use-apply-theme.d.ts +1 -8
- package/dist/ui/use-apply-theme.d.ts.map +1 -1
- package/dist/ui/use-apply-theme.js +1 -8
- package/dist/ui/use-apply-theme.js.map +1 -1
- package/dist/ui/use-bpmn-viewer.d.ts +39 -73
- package/dist/ui/use-bpmn-viewer.d.ts.map +1 -1
- package/dist/ui/use-bpmn-viewer.js +18 -66
- package/dist/ui/use-bpmn-viewer.js.map +1 -1
- package/dist/ui/use-detail-view.d.ts +4 -26
- package/dist/ui/use-detail-view.d.ts.map +1 -1
- package/dist/ui/use-detail-view.js +7 -28
- package/dist/ui/use-detail-view.js.map +1 -1
- package/dist/ui/use-paged-list-view.d.ts +5 -25
- package/dist/ui/use-paged-list-view.d.ts.map +1 -1
- package/dist/ui/use-paged-list-view.js +5 -14
- package/dist/ui/use-paged-list-view.js.map +1 -1
- package/dist/ui/use-paged-view-data.d.ts +11 -66
- package/dist/ui/use-paged-view-data.d.ts.map +1 -1
- package/dist/ui/use-paged-view-data.js +20 -53
- package/dist/ui/use-paged-view-data.js.map +1 -1
- package/dist/ui/view-call.d.ts +66 -0
- package/dist/ui/view-call.d.ts.map +1 -0
- package/dist/ui/view-call.js +63 -0
- package/dist/ui/view-call.js.map +1 -0
- package/dist/ui/view-data-state.d.ts +1 -31
- package/dist/ui/view-data-state.d.ts.map +1 -1
- package/dist/ui/view-data-state.js +3 -32
- package/dist/ui/view-data-state.js.map +1 -1
- package/dist/ui/view-error-boundary.d.ts +24 -0
- package/dist/ui/view-error-boundary.d.ts.map +1 -0
- package/dist/ui/view-error-boundary.js +33 -0
- package/dist/ui/view-error-boundary.js.map +1 -0
- package/dist/ui/view-frame.d.ts +15 -0
- package/dist/ui/view-frame.d.ts.map +1 -0
- package/dist/ui/view-frame.js +72 -0
- package/dist/ui/view-frame.js.map +1 -0
- package/dist/ui/view-host.d.ts +35 -0
- package/dist/ui/view-host.d.ts.map +1 -0
- package/dist/ui/view-host.js +18 -0
- package/dist/ui/view-host.js.map +1 -0
- package/dist/ui/view-meta.d.ts +6 -29
- package/dist/ui/view-meta.d.ts.map +1 -1
- package/dist/ui/view-meta.js +2 -13
- package/dist/ui/view-meta.js.map +1 -1
- package/dist/ui/view-refresh-state.d.ts +4 -18
- package/dist/ui/view-refresh-state.d.ts.map +1 -1
- package/dist/ui/view-refresh-state.js +1 -7
- package/dist/ui/view-refresh-state.js.map +1 -1
- package/dist/ui/view-root.d.ts +26 -0
- package/dist/ui/view-root.d.ts.map +1 -0
- package/dist/ui/view-root.js +48 -0
- package/dist/ui/view-root.js.map +1 -0
- package/dist/ui/views.d.ts +17 -0
- package/dist/ui/views.d.ts.map +1 -0
- package/dist/ui/views.js +11 -0
- package/dist/ui/views.js.map +1 -0
- package/dist/ui/widget-shell.d.ts +1 -13
- package/dist/ui/widget-shell.d.ts.map +1 -1
- package/dist/ui/widget-shell.js +5 -30
- package/dist/ui/widget-shell.js.map +1 -1
- package/dist/view-bundle.d.ts +15 -0
- package/dist/view-bundle.d.ts.map +1 -0
- package/dist/view-bundle.js +23 -0
- package/dist/view-bundle.js.map +1 -0
- package/dist/view-results.d.ts +12 -23
- package/dist/view-results.d.ts.map +1 -1
- package/dist/view-results.js +14 -11
- package/dist/view-results.js.map +1 -1
- package/dist/widget-tool-bindings.d.ts +19 -48
- package/dist/widget-tool-bindings.d.ts.map +1 -1
- package/dist/widget-tool-bindings.js +21 -49
- package/dist/widget-tool-bindings.js.map +1 -1
- package/package.json +24 -36
- package/dist/adapt-data-widget.d.ts +0 -7
- package/dist/adapt-data-widget.d.ts.map +0 -1
- package/dist/adapt-data-widget.js +0 -7
- package/dist/adapt-data-widget.js.map +0 -1
- package/dist/bpmn-names.d.ts +0 -42
- package/dist/bpmn-names.d.ts.map +0 -1
- package/dist/bpmn-names.js.map +0 -1
- package/dist/bpmn-names.test.d.ts +0 -2
- package/dist/bpmn-names.test.d.ts.map +0 -1
- package/dist/bpmn-names.test.js +0 -143
- package/dist/bpmn-names.test.js.map +0 -1
- package/dist/build-data-feed-result.test.d.ts +0 -2
- package/dist/build-data-feed-result.test.d.ts.map +0 -1
- package/dist/build-data-feed-result.test.js +0 -28
- package/dist/build-data-feed-result.test.js.map +0 -1
- package/dist/build-single-widget-view.test.d.ts +0 -2
- package/dist/build-single-widget-view.test.d.ts.map +0 -1
- package/dist/build-single-widget-view.test.js +0 -136
- package/dist/build-single-widget-view.test.js.map +0 -1
- package/dist/builder-texts.d.ts +0 -27
- package/dist/builder-texts.d.ts.map +0 -1
- package/dist/builder-texts.js +0 -32
- package/dist/builder-texts.js.map +0 -1
- package/dist/builder-texts.test.d.ts +0 -2
- package/dist/builder-texts.test.d.ts.map +0 -1
- package/dist/builder-texts.test.js +0 -54
- package/dist/builder-texts.test.js.map +0 -1
- package/dist/catalogue-sync.d.ts +0 -18
- package/dist/catalogue-sync.d.ts.map +0 -1
- package/dist/catalogue-sync.js +0 -31
- package/dist/catalogue-sync.js.map +0 -1
- package/dist/catalogue-sync.test.d.ts +0 -2
- package/dist/catalogue-sync.test.d.ts.map +0 -1
- package/dist/catalogue-sync.test.js +0 -22
- package/dist/catalogue-sync.test.js.map +0 -1
- package/dist/composed-server.edge.test.d.ts +0 -2
- package/dist/composed-server.edge.test.d.ts.map +0 -1
- package/dist/composed-server.edge.test.js +0 -184
- package/dist/composed-server.edge.test.js.map +0 -1
- package/dist/composed-server.fonts.test.d.ts +0 -2
- package/dist/composed-server.fonts.test.d.ts.map +0 -1
- package/dist/composed-server.fonts.test.js +0 -186
- package/dist/composed-server.fonts.test.js.map +0 -1
- package/dist/composed-server.test.d.ts +0 -2
- package/dist/composed-server.test.d.ts.map +0 -1
- package/dist/composed-server.test.js +0 -332
- package/dist/composed-server.test.js.map +0 -1
- package/dist/composition.test.d.ts +0 -2
- package/dist/composition.test.d.ts.map +0 -1
- package/dist/composition.test.js +0 -275
- package/dist/composition.test.js.map +0 -1
- package/dist/dashboard-store-postgres.d.ts +0 -43
- package/dist/dashboard-store-postgres.d.ts.map +0 -1
- package/dist/dashboard-store-postgres.js +0 -225
- package/dist/dashboard-store-postgres.js.map +0 -1
- package/dist/dashboard-store-postgres.test.d.ts +0 -2
- package/dist/dashboard-store-postgres.test.d.ts.map +0 -1
- package/dist/dashboard-store-postgres.test.js +0 -272
- package/dist/dashboard-store-postgres.test.js.map +0 -1
- package/dist/font-assets.test.d.ts +0 -2
- package/dist/font-assets.test.d.ts.map +0 -1
- package/dist/font-assets.test.js +0 -123
- package/dist/font-assets.test.js.map +0 -1
- package/dist/health.test.d.ts +0 -2
- package/dist/health.test.d.ts.map +0 -1
- package/dist/health.test.js +0 -140
- package/dist/health.test.js.map +0 -1
- package/dist/host-boot.test.d.ts +0 -2
- package/dist/host-boot.test.d.ts.map +0 -1
- package/dist/host-boot.test.js +0 -59
- package/dist/host-boot.test.js.map +0 -1
- package/dist/http-edge.test.d.ts +0 -2
- package/dist/http-edge.test.d.ts.map +0 -1
- package/dist/http-edge.test.js +0 -255
- package/dist/http-edge.test.js.map +0 -1
- package/dist/metrics.test.d.ts +0 -2
- package/dist/metrics.test.d.ts.map +0 -1
- package/dist/metrics.test.js +0 -154
- package/dist/metrics.test.js.map +0 -1
- package/dist/node-listener.test.d.ts +0 -2
- package/dist/node-listener.test.d.ts.map +0 -1
- package/dist/node-listener.test.js +0 -331
- package/dist/node-listener.test.js.map +0 -1
- package/dist/oauth-env.test.d.ts +0 -2
- package/dist/oauth-env.test.d.ts.map +0 -1
- package/dist/oauth-env.test.js +0 -76
- package/dist/oauth-env.test.js.map +0 -1
- package/dist/postgres.d.ts +0 -59
- package/dist/postgres.d.ts.map +0 -1
- package/dist/postgres.js +0 -80
- package/dist/postgres.js.map +0 -1
- package/dist/profile-advisory.d.ts +0 -19
- package/dist/profile-advisory.d.ts.map +0 -1
- package/dist/profile-advisory.js +0 -48
- package/dist/profile-advisory.js.map +0 -1
- package/dist/profile-advisory.test.d.ts +0 -2
- package/dist/profile-advisory.test.d.ts.map +0 -1
- package/dist/profile-advisory.test.js +0 -53
- package/dist/profile-advisory.test.js.map +0 -1
- package/dist/profile-constants.d.ts +0 -37
- package/dist/profile-constants.d.ts.map +0 -1
- package/dist/profile-constants.js +0 -37
- package/dist/profile-constants.js.map +0 -1
- package/dist/profile-migrations.d.ts +0 -71
- package/dist/profile-migrations.d.ts.map +0 -1
- package/dist/profile-migrations.js +0 -88
- package/dist/profile-migrations.js.map +0 -1
- package/dist/profile-migrations.test.d.ts +0 -2
- package/dist/profile-migrations.test.d.ts.map +0 -1
- package/dist/profile-migrations.test.js +0 -200
- package/dist/profile-migrations.test.js.map +0 -1
- package/dist/profile-record.d.ts +0 -60
- package/dist/profile-record.d.ts.map +0 -1
- package/dist/profile-record.js +0 -78
- package/dist/profile-record.js.map +0 -1
- package/dist/profile-slice.d.ts +0 -53
- package/dist/profile-slice.d.ts.map +0 -1
- package/dist/profile-slice.js +0 -73
- package/dist/profile-slice.js.map +0 -1
- package/dist/profile-slice.test.d.ts +0 -2
- package/dist/profile-slice.test.d.ts.map +0 -1
- package/dist/profile-slice.test.js +0 -73
- package/dist/profile-slice.test.js.map +0 -1
- package/dist/profile-store-env.d.ts +0 -34
- package/dist/profile-store-env.d.ts.map +0 -1
- package/dist/profile-store-env.js +0 -44
- package/dist/profile-store-env.js.map +0 -1
- package/dist/profile-store-env.test.d.ts +0 -2
- package/dist/profile-store-env.test.d.ts.map +0 -1
- package/dist/profile-store-env.test.js +0 -69
- package/dist/profile-store-env.test.js.map +0 -1
- package/dist/profile-store-postgres.d.ts +0 -33
- package/dist/profile-store-postgres.d.ts.map +0 -1
- package/dist/profile-store-postgres.js +0 -87
- package/dist/profile-store-postgres.js.map +0 -1
- package/dist/profile-store-raw.test.d.ts +0 -2
- package/dist/profile-store-raw.test.d.ts.map +0 -1
- package/dist/profile-store-raw.test.js +0 -185
- package/dist/profile-store-raw.test.js.map +0 -1
- package/dist/profile-store.d.ts +0 -85
- package/dist/profile-store.d.ts.map +0 -1
- package/dist/profile-store.js +0 -182
- package/dist/profile-store.js.map +0 -1
- package/dist/profile-store.test.d.ts +0 -2
- package/dist/profile-store.test.d.ts.map +0 -1
- package/dist/profile-store.test.js +0 -353
- package/dist/profile-store.test.js.map +0 -1
- package/dist/profile.d.ts +0 -75
- package/dist/profile.d.ts.map +0 -1
- package/dist/profile.js +0 -85
- package/dist/profile.js.map +0 -1
- package/dist/profile.test.d.ts +0 -2
- package/dist/profile.test.d.ts.map +0 -1
- package/dist/profile.test.js +0 -71
- package/dist/profile.test.js.map +0 -1
- package/dist/request-context.test.d.ts +0 -2
- package/dist/request-context.test.d.ts.map +0 -1
- package/dist/request-context.test.js +0 -107
- package/dist/request-context.test.js.map +0 -1
- package/dist/served-fonts.d.ts +0 -38
- package/dist/served-fonts.d.ts.map +0 -1
- package/dist/served-fonts.js +0 -51
- package/dist/served-fonts.js.map +0 -1
- package/dist/served-fonts.test.d.ts +0 -2
- package/dist/served-fonts.test.d.ts.map +0 -1
- package/dist/served-fonts.test.js +0 -30
- package/dist/served-fonts.test.js.map +0 -1
- package/dist/server-locale.d.ts +0 -58
- package/dist/server-locale.d.ts.map +0 -1
- package/dist/server-locale.js +0 -64
- package/dist/server-locale.js.map +0 -1
- package/dist/server-locale.test.d.ts +0 -2
- package/dist/server-locale.test.d.ts.map +0 -1
- package/dist/server-locale.test.js +0 -90
- package/dist/server-locale.test.js.map +0 -1
- package/dist/shell-catalogue.d.ts +0 -12
- package/dist/shell-catalogue.d.ts.map +0 -1
- package/dist/shell-catalogue.js +0 -142
- package/dist/shell-catalogue.js.map +0 -1
- package/dist/shell-settings-contract.d.ts +0 -34
- package/dist/shell-settings-contract.d.ts.map +0 -1
- package/dist/shell-settings-contract.js +0 -21
- package/dist/shell-settings-contract.js.map +0 -1
- package/dist/shell-settings.d.ts +0 -24
- package/dist/shell-settings.d.ts.map +0 -1
- package/dist/shell-settings.js +0 -148
- package/dist/shell-settings.js.map +0 -1
- package/dist/shell-settings.test.d.ts +0 -2
- package/dist/shell-settings.test.d.ts.map +0 -1
- package/dist/shell-settings.test.js +0 -115
- package/dist/shell-settings.test.js.map +0 -1
- package/dist/testing/catalog-text.d.ts +0 -53
- package/dist/testing/catalog-text.d.ts.map +0 -1
- package/dist/testing/catalog-text.js +0 -146
- package/dist/testing/catalog-text.js.map +0 -1
- package/dist/testing/catalog-text.test.d.ts +0 -2
- package/dist/testing/catalog-text.test.d.ts.map +0 -1
- package/dist/testing/catalog-text.test.js +0 -137
- package/dist/testing/catalog-text.test.js.map +0 -1
- package/dist/testing/colors.d.ts +0 -34
- package/dist/testing/colors.d.ts.map +0 -1
- package/dist/testing/colors.js +0 -124
- package/dist/testing/colors.js.map +0 -1
- package/dist/testing/colors.test.d.ts +0 -2
- package/dist/testing/colors.test.d.ts.map +0 -1
- package/dist/testing/colors.test.js +0 -166
- package/dist/testing/colors.test.js.map +0 -1
- package/dist/testing/contrast.d.ts +0 -77
- package/dist/testing/contrast.d.ts.map +0 -1
- package/dist/testing/contrast.js +0 -382
- package/dist/testing/contrast.js.map +0 -1
- package/dist/testing/contrast.test.d.ts +0 -2
- package/dist/testing/contrast.test.d.ts.map +0 -1
- package/dist/testing/contrast.test.js +0 -230
- package/dist/testing/contrast.test.js.map +0 -1
- package/dist/testing/display-texts.d.ts +0 -23
- package/dist/testing/display-texts.d.ts.map +0 -1
- package/dist/testing/display-texts.js +0 -88
- package/dist/testing/display-texts.js.map +0 -1
- package/dist/testing/display-texts.test.d.ts +0 -2
- package/dist/testing/display-texts.test.d.ts.map +0 -1
- package/dist/testing/display-texts.test.js +0 -169
- package/dist/testing/display-texts.test.js.map +0 -1
- package/dist/testing/glossary.test.d.ts +0 -2
- package/dist/testing/glossary.test.d.ts.map +0 -1
- package/dist/testing/glossary.test.js +0 -78
- package/dist/testing/glossary.test.js.map +0 -1
- package/dist/testing/glyphs.d.ts +0 -27
- package/dist/testing/glyphs.d.ts.map +0 -1
- package/dist/testing/glyphs.js +0 -130
- package/dist/testing/glyphs.js.map +0 -1
- package/dist/testing/glyphs.test.d.ts +0 -2
- package/dist/testing/glyphs.test.d.ts.map +0 -1
- package/dist/testing/glyphs.test.js +0 -146
- package/dist/testing/glyphs.test.js.map +0 -1
- package/dist/testing/icon-sizes.d.ts +0 -22
- package/dist/testing/icon-sizes.d.ts.map +0 -1
- package/dist/testing/icon-sizes.js +0 -39
- package/dist/testing/icon-sizes.js.map +0 -1
- package/dist/testing/icon-sizes.test.d.ts +0 -2
- package/dist/testing/icon-sizes.test.d.ts.map +0 -1
- package/dist/testing/icon-sizes.test.js +0 -36
- package/dist/testing/icon-sizes.test.js.map +0 -1
- package/dist/testing/source-scan.d.ts +0 -16
- package/dist/testing/source-scan.d.ts.map +0 -1
- package/dist/testing/source-scan.js +0 -57
- package/dist/testing/source-scan.js.map +0 -1
- package/dist/testing/tone-pairs.d.ts +0 -20
- package/dist/testing/tone-pairs.d.ts.map +0 -1
- package/dist/testing/tone-pairs.js +0 -154
- package/dist/testing/tone-pairs.js.map +0 -1
- package/dist/testing/type-scale.d.ts +0 -40
- package/dist/testing/type-scale.d.ts.map +0 -1
- package/dist/testing/type-scale.js +0 -55
- package/dist/testing/type-scale.js.map +0 -1
- package/dist/testing/type-scale.test.d.ts +0 -2
- package/dist/testing/type-scale.test.d.ts.map +0 -1
- package/dist/testing/type-scale.test.js +0 -61
- package/dist/testing/type-scale.test.js.map +0 -1
- package/dist/tool-schema-trim.test.d.ts +0 -2
- package/dist/tool-schema-trim.test.d.ts.map +0 -1
- package/dist/tool-schema-trim.test.js +0 -53
- package/dist/tool-schema-trim.test.js.map +0 -1
- package/dist/toolsets.test.d.ts +0 -2
- package/dist/toolsets.test.d.ts.map +0 -1
- package/dist/toolsets.test.js +0 -86
- package/dist/toolsets.test.js.map +0 -1
- package/dist/ui/action-feedback.test.d.ts +0 -2
- package/dist/ui/action-feedback.test.d.ts.map +0 -1
- package/dist/ui/action-feedback.test.js +0 -77
- package/dist/ui/action-feedback.test.js.map +0 -1
- package/dist/ui/app-shell-providers.d.ts +0 -18
- package/dist/ui/app-shell-providers.d.ts.map +0 -1
- package/dist/ui/app-shell-providers.js +0 -19
- package/dist/ui/app-shell-providers.js.map +0 -1
- package/dist/ui/app-shell-providers.test.d.ts +0 -2
- package/dist/ui/app-shell-providers.test.d.ts.map +0 -1
- package/dist/ui/app-shell-providers.test.js +0 -249
- package/dist/ui/app-shell-providers.test.js.map +0 -1
- package/dist/ui/ask-ai-button.test.d.ts +0 -2
- package/dist/ui/ask-ai-button.test.d.ts.map +0 -1
- package/dist/ui/ask-ai-button.test.js +0 -103
- package/dist/ui/ask-ai-button.test.js.map +0 -1
- package/dist/ui/ask-ai-prompt.test.d.ts +0 -2
- package/dist/ui/ask-ai-prompt.test.d.ts.map +0 -1
- package/dist/ui/ask-ai-prompt.test.js +0 -240
- package/dist/ui/ask-ai-prompt.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js +0 -174
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts +0 -119
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.js +0 -231
- package/dist/ui/bpmn-heatmap/heat-utils.js.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap/heat-utils.test.js +0 -59
- package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap-labels.d.ts +0 -46
- package/dist/ui/bpmn-heatmap-labels.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-labels.js +0 -16
- package/dist/ui/bpmn-heatmap-labels.js.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.d.ts +0 -38
- package/dist/ui/bpmn-heatmap-widget.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.js +0 -65
- package/dist/ui/bpmn-heatmap-widget.js.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.test.d.ts +0 -2
- package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap-widget.test.js +0 -173
- package/dist/ui/bpmn-heatmap-widget.test.js.map +0 -1
- package/dist/ui/bpmn-heatmap.d.ts +0 -61
- package/dist/ui/bpmn-heatmap.d.ts.map +0 -1
- package/dist/ui/bpmn-heatmap.js +0 -119
- package/dist/ui/bpmn-heatmap.js.map +0 -1
- package/dist/ui/bpmn-tokens.test.d.ts +0 -2
- package/dist/ui/bpmn-tokens.test.d.ts.map +0 -1
- package/dist/ui/bpmn-tokens.test.js +0 -98
- package/dist/ui/bpmn-tokens.test.js.map +0 -1
- package/dist/ui/brand-gates.test.d.ts +0 -2
- package/dist/ui/brand-gates.test.d.ts.map +0 -1
- package/dist/ui/brand-gates.test.js +0 -131
- package/dist/ui/brand-gates.test.js.map +0 -1
- package/dist/ui/brand-mark.d.ts +0 -37
- package/dist/ui/brand-mark.d.ts.map +0 -1
- package/dist/ui/brand-mark.js +0 -33
- package/dist/ui/brand-mark.js.map +0 -1
- package/dist/ui/brand-mark.test.d.ts +0 -2
- package/dist/ui/brand-mark.test.d.ts.map +0 -1
- package/dist/ui/brand-mark.test.js +0 -111
- package/dist/ui/brand-mark.test.js.map +0 -1
- package/dist/ui/confirm-dialog.test.d.ts +0 -2
- package/dist/ui/confirm-dialog.test.d.ts.map +0 -1
- package/dist/ui/confirm-dialog.test.js +0 -115
- package/dist/ui/confirm-dialog.test.js.map +0 -1
- package/dist/ui/count-tone.test.d.ts +0 -2
- package/dist/ui/count-tone.test.d.ts.map +0 -1
- package/dist/ui/count-tone.test.js +0 -27
- package/dist/ui/count-tone.test.js.map +0 -1
- package/dist/ui/create-use-t.d.ts +0 -15
- package/dist/ui/create-use-t.d.ts.map +0 -1
- package/dist/ui/create-use-t.js +0 -17
- package/dist/ui/create-use-t.js.map +0 -1
- package/dist/ui/declare-served-fonts.test.d.ts +0 -2
- package/dist/ui/declare-served-fonts.test.d.ts.map +0 -1
- package/dist/ui/declare-served-fonts.test.js +0 -44
- package/dist/ui/declare-served-fonts.test.js.map +0 -1
- package/dist/ui/describe-error.test.d.ts +0 -2
- package/dist/ui/describe-error.test.d.ts.map +0 -1
- package/dist/ui/describe-error.test.js +0 -274
- package/dist/ui/describe-error.test.js.map +0 -1
- package/dist/ui/format.d.ts +0 -81
- package/dist/ui/format.d.ts.map +0 -1
- package/dist/ui/format.js +0 -189
- package/dist/ui/format.js.map +0 -1
- package/dist/ui/format.test.d.ts +0 -2
- package/dist/ui/format.test.d.ts.map +0 -1
- package/dist/ui/format.test.js +0 -181
- package/dist/ui/format.test.js.map +0 -1
- package/dist/ui/generic-widgets.d.ts +0 -15
- package/dist/ui/generic-widgets.d.ts.map +0 -1
- package/dist/ui/generic-widgets.js +0 -122
- package/dist/ui/generic-widgets.js.map +0 -1
- package/dist/ui/generic-widgets.test.d.ts +0 -2
- package/dist/ui/generic-widgets.test.d.ts.map +0 -1
- package/dist/ui/generic-widgets.test.js +0 -139
- package/dist/ui/generic-widgets.test.js.map +0 -1
- package/dist/ui/hand-off-button.test.d.ts +0 -2
- package/dist/ui/hand-off-button.test.d.ts.map +0 -1
- package/dist/ui/hand-off-button.test.js +0 -78
- package/dist/ui/hand-off-button.test.js.map +0 -1
- package/dist/ui/host-context.test.d.ts +0 -2
- package/dist/ui/host-context.test.d.ts.map +0 -1
- package/dist/ui/host-context.test.js +0 -160
- package/dist/ui/host-context.test.js.map +0 -1
- package/dist/ui/host-document.test.d.ts +0 -2
- package/dist/ui/host-document.test.d.ts.map +0 -1
- package/dist/ui/host-document.test.js +0 -112
- package/dist/ui/host-document.test.js.map +0 -1
- package/dist/ui/humanize-key.d.ts +0 -11
- package/dist/ui/humanize-key.d.ts.map +0 -1
- package/dist/ui/humanize-key.js +0 -26
- package/dist/ui/humanize-key.js.map +0 -1
- package/dist/ui/humanize-key.test.d.ts +0 -2
- package/dist/ui/humanize-key.test.d.ts.map +0 -1
- package/dist/ui/humanize-key.test.js +0 -42
- package/dist/ui/humanize-key.test.js.map +0 -1
- package/dist/ui/icon.d.ts +0 -37
- package/dist/ui/icon.d.ts.map +0 -1
- package/dist/ui/icon.js +0 -32
- package/dist/ui/icon.js.map +0 -1
- package/dist/ui/id-breaks.d.ts +0 -17
- package/dist/ui/id-breaks.d.ts.map +0 -1
- package/dist/ui/id-breaks.js +0 -36
- package/dist/ui/id-breaks.js.map +0 -1
- package/dist/ui/id-breaks.test.d.ts +0 -2
- package/dist/ui/id-breaks.test.d.ts.map +0 -1
- package/dist/ui/id-breaks.test.js +0 -37
- package/dist/ui/id-breaks.test.js.map +0 -1
- package/dist/ui/id-text.test.d.ts +0 -2
- package/dist/ui/id-text.test.d.ts.map +0 -1
- package/dist/ui/id-text.test.js +0 -122
- package/dist/ui/id-text.test.js.map +0 -1
- package/dist/ui/index.test.d.ts +0 -2
- package/dist/ui/index.test.d.ts.map +0 -1
- package/dist/ui/index.test.js +0 -34
- package/dist/ui/index.test.js.map +0 -1
- package/dist/ui/inline-fit-solve.test.d.ts +0 -2
- package/dist/ui/inline-fit-solve.test.d.ts.map +0 -1
- package/dist/ui/inline-fit-solve.test.js +0 -108
- package/dist/ui/inline-fit-solve.test.js.map +0 -1
- package/dist/ui/inline-fit-time.test.d.ts +0 -2
- package/dist/ui/inline-fit-time.test.d.ts.map +0 -1
- package/dist/ui/inline-fit-time.test.js +0 -110
- package/dist/ui/inline-fit-time.test.js.map +0 -1
- package/dist/ui/inline-fit.test-support.d.ts +0 -26
- package/dist/ui/inline-fit.test-support.d.ts.map +0 -1
- package/dist/ui/inline-fit.test-support.js +0 -34
- package/dist/ui/inline-fit.test-support.js.map +0 -1
- package/dist/ui/inline-fit.test.d.ts +0 -2
- package/dist/ui/inline-fit.test.d.ts.map +0 -1
- package/dist/ui/inline-fit.test.js +0 -159
- package/dist/ui/inline-fit.test.js.map +0 -1
- package/dist/ui/kit-labels.test.d.ts +0 -2
- package/dist/ui/kit-labels.test.d.ts.map +0 -1
- package/dist/ui/kit-labels.test.js +0 -98
- package/dist/ui/kit-labels.test.js.map +0 -1
- package/dist/ui/kit-type-roles.test.d.ts +0 -2
- package/dist/ui/kit-type-roles.test.d.ts.map +0 -1
- package/dist/ui/kit-type-roles.test.js +0 -122
- package/dist/ui/kit-type-roles.test.js.map +0 -1
- package/dist/ui/komet-svg.d.ts +0 -15
- package/dist/ui/komet-svg.d.ts.map +0 -1
- package/dist/ui/komet-svg.js +0 -21
- package/dist/ui/komet-svg.js.map +0 -1
- package/dist/ui/list-table.test.d.ts +0 -2
- package/dist/ui/list-table.test.d.ts.map +0 -1
- package/dist/ui/list-table.test.js +0 -169
- package/dist/ui/list-table.test.js.map +0 -1
- package/dist/ui/localized-app-view.d.ts +0 -40
- package/dist/ui/localized-app-view.d.ts.map +0 -1
- package/dist/ui/localized-app-view.js +0 -71
- package/dist/ui/localized-app-view.js.map +0 -1
- package/dist/ui/log-text.d.ts +0 -24
- package/dist/ui/log-text.d.ts.map +0 -1
- package/dist/ui/log-text.js +0 -31
- package/dist/ui/log-text.js.map +0 -1
- package/dist/ui/menu-item.d.ts +0 -12
- package/dist/ui/menu-item.d.ts.map +0 -1
- package/dist/ui/menu-item.js +0 -13
- package/dist/ui/menu-item.js.map +0 -1
- package/dist/ui/named-id.d.ts +0 -23
- package/dist/ui/named-id.d.ts.map +0 -1
- package/dist/ui/named-id.js +0 -21
- package/dist/ui/named-id.js.map +0 -1
- package/dist/ui/named-id.test.d.ts +0 -2
- package/dist/ui/named-id.test.d.ts.map +0 -1
- package/dist/ui/named-id.test.js +0 -57
- package/dist/ui/named-id.test.js.map +0 -1
- package/dist/ui/native-select.d.ts +0 -17
- package/dist/ui/native-select.d.ts.map +0 -1
- package/dist/ui/native-select.js +0 -20
- package/dist/ui/native-select.js.map +0 -1
- package/dist/ui/navigation-focus.d.ts +0 -20
- package/dist/ui/navigation-focus.d.ts.map +0 -1
- package/dist/ui/navigation-focus.js +0 -25
- package/dist/ui/navigation-focus.js.map +0 -1
- package/dist/ui/navigation-focus.test.d.ts +0 -2
- package/dist/ui/navigation-focus.test.d.ts.map +0 -1
- package/dist/ui/navigation-focus.test.js +0 -28
- package/dist/ui/navigation-focus.test.js.map +0 -1
- package/dist/ui/paged-list-footer.test.d.ts +0 -2
- package/dist/ui/paged-list-footer.test.d.ts.map +0 -1
- package/dist/ui/paged-list-footer.test.js +0 -128
- package/dist/ui/paged-list-footer.test.js.map +0 -1
- package/dist/ui/parse-tool-result.test.d.ts +0 -2
- package/dist/ui/parse-tool-result.test.d.ts.map +0 -1
- package/dist/ui/parse-tool-result.test.js +0 -88
- package/dist/ui/parse-tool-result.test.js.map +0 -1
- package/dist/ui/profile-gate.d.ts +0 -37
- package/dist/ui/profile-gate.d.ts.map +0 -1
- package/dist/ui/profile-gate.js +0 -126
- package/dist/ui/profile-gate.js.map +0 -1
- package/dist/ui/profile-gate.test.d.ts +0 -2
- package/dist/ui/profile-gate.test.d.ts.map +0 -1
- package/dist/ui/profile-gate.test.js +0 -246
- package/dist/ui/profile-gate.test.js.map +0 -1
- package/dist/ui/query-fallback.test.d.ts +0 -2
- package/dist/ui/query-fallback.test.d.ts.map +0 -1
- package/dist/ui/query-fallback.test.js +0 -49
- package/dist/ui/query-fallback.test.js.map +0 -1
- package/dist/ui/row-card.d.ts +0 -13
- package/dist/ui/row-card.d.ts.map +0 -1
- package/dist/ui/row-card.js +0 -11
- package/dist/ui/row-card.js.map +0 -1
- package/dist/ui/section.d.ts +0 -18
- package/dist/ui/section.d.ts.map +0 -1
- package/dist/ui/section.js +0 -14
- package/dist/ui/section.js.map +0 -1
- package/dist/ui/segmented-control.d.ts +0 -25
- package/dist/ui/segmented-control.d.ts.map +0 -1
- package/dist/ui/segmented-control.js +0 -22
- package/dist/ui/segmented-control.js.map +0 -1
- package/dist/ui/settings-labels.d.ts +0 -33
- package/dist/ui/settings-labels.d.ts.map +0 -1
- package/dist/ui/settings-labels.js +0 -50
- package/dist/ui/settings-labels.js.map +0 -1
- package/dist/ui/settings-layout.d.ts +0 -29
- package/dist/ui/settings-layout.d.ts.map +0 -1
- package/dist/ui/settings-layout.js +0 -49
- package/dist/ui/settings-layout.js.map +0 -1
- package/dist/ui/settings-layout.test.d.ts +0 -2
- package/dist/ui/settings-layout.test.d.ts.map +0 -1
- package/dist/ui/settings-layout.test.js +0 -73
- package/dist/ui/settings-layout.test.js.map +0 -1
- package/dist/ui/settings.d.ts +0 -47
- package/dist/ui/settings.d.ts.map +0 -1
- package/dist/ui/settings.js +0 -48
- package/dist/ui/settings.js.map +0 -1
- package/dist/ui/settings.test.d.ts +0 -2
- package/dist/ui/settings.test.d.ts.map +0 -1
- package/dist/ui/settings.test.js +0 -38
- package/dist/ui/settings.test.js.map +0 -1
- package/dist/ui/shell-settings.d.ts +0 -31
- package/dist/ui/shell-settings.d.ts.map +0 -1
- package/dist/ui/shell-settings.js +0 -97
- package/dist/ui/shell-settings.js.map +0 -1
- package/dist/ui/shell-settings.test.d.ts +0 -2
- package/dist/ui/shell-settings.test.d.ts.map +0 -1
- package/dist/ui/shell-settings.test.js +0 -108
- package/dist/ui/shell-settings.test.js.map +0 -1
- package/dist/ui/shell-widgets.d.ts +0 -14
- package/dist/ui/shell-widgets.d.ts.map +0 -1
- package/dist/ui/shell-widgets.js +0 -18
- package/dist/ui/shell-widgets.js.map +0 -1
- package/dist/ui/table.d.ts +0 -61
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js +0 -43
- package/dist/ui/table.js.map +0 -1
- package/dist/ui/tone-components.test.d.ts +0 -2
- package/dist/ui/tone-components.test.d.ts.map +0 -1
- package/dist/ui/tone-components.test.js +0 -145
- package/dist/ui/tone-components.test.js.map +0 -1
- package/dist/ui/tone-contrast.test.d.ts +0 -2
- package/dist/ui/tone-contrast.test.d.ts.map +0 -1
- package/dist/ui/tone-contrast.test.js +0 -66
- package/dist/ui/tone-contrast.test.js.map +0 -1
- package/dist/ui/toolkit-overlap.test.d.ts +0 -2
- package/dist/ui/toolkit-overlap.test.d.ts.map +0 -1
- package/dist/ui/toolkit-overlap.test.js +0 -86
- package/dist/ui/toolkit-overlap.test.js.map +0 -1
- package/dist/ui/use-apply-theme.test.d.ts +0 -2
- package/dist/ui/use-apply-theme.test.d.ts.map +0 -1
- package/dist/ui/use-apply-theme.test.js +0 -102
- package/dist/ui/use-apply-theme.test.js.map +0 -1
- package/dist/ui/use-bpmn-viewer.test.d.ts +0 -2
- package/dist/ui/use-bpmn-viewer.test.d.ts.map +0 -1
- package/dist/ui/use-bpmn-viewer.test.js +0 -239
- package/dist/ui/use-bpmn-viewer.test.js.map +0 -1
- package/dist/ui/use-detail-view.test.d.ts +0 -2
- package/dist/ui/use-detail-view.test.d.ts.map +0 -1
- package/dist/ui/use-detail-view.test.js +0 -178
- package/dist/ui/use-detail-view.test.js.map +0 -1
- package/dist/ui/use-paged-list-view.test.d.ts +0 -2
- package/dist/ui/use-paged-list-view.test.d.ts.map +0 -1
- package/dist/ui/use-paged-list-view.test.js +0 -136
- package/dist/ui/use-paged-list-view.test.js.map +0 -1
- package/dist/ui/use-paged-view-data.seeded.test.d.ts +0 -2
- package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +0 -1
- package/dist/ui/use-paged-view-data.seeded.test.js +0 -144
- package/dist/ui/use-paged-view-data.seeded.test.js.map +0 -1
- package/dist/ui/use-paged-view-data.test.d.ts +0 -2
- package/dist/ui/use-paged-view-data.test.d.ts.map +0 -1
- package/dist/ui/use-paged-view-data.test.js +0 -330
- package/dist/ui/use-paged-view-data.test.js.map +0 -1
- package/dist/ui/use-reset-on-change.d.ts +0 -22
- package/dist/ui/use-reset-on-change.d.ts.map +0 -1
- package/dist/ui/use-reset-on-change.js +0 -29
- package/dist/ui/use-reset-on-change.js.map +0 -1
- package/dist/ui/use-reset-on-change.test.d.ts +0 -2
- package/dist/ui/use-reset-on-change.test.d.ts.map +0 -1
- package/dist/ui/use-reset-on-change.test.js +0 -61
- package/dist/ui/use-reset-on-change.test.js.map +0 -1
- package/dist/ui/use-view-data.seeded.test.d.ts +0 -2
- package/dist/ui/use-view-data.seeded.test.d.ts.map +0 -1
- package/dist/ui/use-view-data.seeded.test.js +0 -168
- package/dist/ui/use-view-data.seeded.test.js.map +0 -1
- package/dist/ui/view-data-state.test.d.ts +0 -2
- package/dist/ui/view-data-state.test.d.ts.map +0 -1
- package/dist/ui/view-data-state.test.js +0 -62
- package/dist/ui/view-data-state.test.js.map +0 -1
- package/dist/ui/view-meta.test.d.ts +0 -2
- package/dist/ui/view-meta.test.d.ts.map +0 -1
- package/dist/ui/view-meta.test.js +0 -92
- package/dist/ui/view-meta.test.js.map +0 -1
- package/dist/ui/widget-shell.test.d.ts +0 -2
- package/dist/ui/widget-shell.test.d.ts.map +0 -1
- package/dist/ui/widget-shell.test.js +0 -41
- package/dist/ui/widget-shell.test.js.map +0 -1
- package/dist/widget-meta-defaults.d.ts +0 -48
- package/dist/widget-meta-defaults.d.ts.map +0 -1
- package/dist/widget-meta-defaults.js +0 -80
- package/dist/widget-meta-defaults.js.map +0 -1
- package/dist/widget-meta-defaults.test.d.ts +0 -2
- package/dist/widget-meta-defaults.test.d.ts.map +0 -1
- package/dist/widget-meta-defaults.test.js +0 -196
- package/dist/widget-meta-defaults.test.js.map +0 -1
- package/dist/widget-tool-bindings.test.d.ts +0 -2
- package/dist/widget-tool-bindings.test.d.ts.map +0 -1
- package/dist/widget-tool-bindings.test.js +0 -83
- package/dist/widget-tool-bindings.test.js.map +0 -1
- package/dist/with-tool-errors.test.d.ts +0 -2
- package/dist/with-tool-errors.test.d.ts.map +0 -1
- package/dist/with-tool-errors.test.js +0 -38
- package/dist/with-tool-errors.test.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"composition.test.js","sourceRoot":"","sources":["../src/composition.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { DashboardStore } from "@miragon/mcp-toolkit-core/tools";
|
|
2
|
-
import type postgres from "postgres";
|
|
3
|
-
import type { Migration } from "./postgres.js";
|
|
4
|
-
/**
|
|
5
|
-
* DDL owned by this store, executed by `runMigrations`. Like the profile
|
|
6
|
-
* table, the full record lives in one JSONB column (layout/steps/keys are
|
|
7
|
-
* arbitrarily nested `render-view` input, not relationally decomposable) whose
|
|
8
|
-
* shape is governed by the toolkit's `parseDashboardRecord`/
|
|
9
|
-
* `DASHBOARD_SCHEMA_VERSION` — a toolkit upgrade that adds a layout field
|
|
10
|
-
* needs no migration here. `user_id`/`updated_at` are mirrored out so `list`
|
|
11
|
-
* can filter by owner and sort in SQL, and so a row whose JSONB this build
|
|
12
|
-
* cannot read still has an owner and a timestamp.
|
|
13
|
-
*
|
|
14
|
-
* The `002_` prefix is historical (it shipped after `001_user_profiles` in the
|
|
15
|
-
* stock app) and stays: the name is the key recorded in `schema_migrations` on
|
|
16
|
-
* every existing database, so renaming it would re-run the DDL there. A server
|
|
17
|
-
* that persists dashboards WITHOUT profiles simply has no `001_`.
|
|
18
|
-
*/
|
|
19
|
-
export declare const DASHBOARD_STORE_MIGRATIONS: readonly Migration[];
|
|
20
|
-
/**
|
|
21
|
-
* Dashboards stored one row per record in the `dashboards` table, implementing
|
|
22
|
-
* the toolkit's `DashboardStore` contract (injected via
|
|
23
|
-
* `frameworkOptions.app.dashboardStore`) — the multi-writer counterpart to the
|
|
24
|
-
* toolkit's filesystem store, whose `save` is documented as racy. Selected
|
|
25
|
-
* next to `createPostgresProfileStore` when the deployment has a
|
|
26
|
-
* `DATABASE_URL`; the caller owns the `sql` client's lifecycle, so this
|
|
27
|
-
* package carries no runtime dependency on the driver.
|
|
28
|
-
*
|
|
29
|
-
* Ownership is the toolkit's rule, never re-derived here: `isDashboardOwnedBy`
|
|
30
|
-
* decides visibility (no caller id = global scope; an identified caller owns
|
|
31
|
-
* exactly the records stamped with its id, and an owner-less record is not
|
|
32
|
-
* one of them), and `resolveSavedRecord` enforces it on updates. A row whose
|
|
33
|
-
* JSONB fails `parseDashboardRecord` (corrupt, or written by a newer build) is
|
|
34
|
-
* a conflict, never "absent": `get`/`save`/`delete` reject with
|
|
35
|
-
* `DashboardUnreadableError` for a caller it belongs to, `list` reports it with
|
|
36
|
-
* `unreadable`, and the row stays in place — so a save can never overwrite it
|
|
37
|
-
* and hand it a new owner.
|
|
38
|
-
*/
|
|
39
|
-
export declare function createPostgresDashboardStore(options: {
|
|
40
|
-
sql: postgres.Sql;
|
|
41
|
-
label?: string;
|
|
42
|
-
}): DashboardStore;
|
|
43
|
-
//# sourceMappingURL=dashboard-store-postgres.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-store-postgres.d.ts","sourceRoot":"","sources":["../src/dashboard-store-postgres.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,0BAA0B,EAAE,SAAS,SAAS,EAc1D,CAAA;AA6DD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GAAG,cAAc,CAqIjB"}
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { DASHBOARD_SCHEMA_VERSION, DashboardOwnershipError, DashboardUnreadableError, isDashboardOwnedBy, parseDashboardRecord, resolveSavedRecord, } from "@miragon/mcp-toolkit-core/tools";
|
|
3
|
-
/**
|
|
4
|
-
* DDL owned by this store, executed by `runMigrations`. Like the profile
|
|
5
|
-
* table, the full record lives in one JSONB column (layout/steps/keys are
|
|
6
|
-
* arbitrarily nested `render-view` input, not relationally decomposable) whose
|
|
7
|
-
* shape is governed by the toolkit's `parseDashboardRecord`/
|
|
8
|
-
* `DASHBOARD_SCHEMA_VERSION` — a toolkit upgrade that adds a layout field
|
|
9
|
-
* needs no migration here. `user_id`/`updated_at` are mirrored out so `list`
|
|
10
|
-
* can filter by owner and sort in SQL, and so a row whose JSONB this build
|
|
11
|
-
* cannot read still has an owner and a timestamp.
|
|
12
|
-
*
|
|
13
|
-
* The `002_` prefix is historical (it shipped after `001_user_profiles` in the
|
|
14
|
-
* stock app) and stays: the name is the key recorded in `schema_migrations` on
|
|
15
|
-
* every existing database, so renaming it would re-run the DDL there. A server
|
|
16
|
-
* that persists dashboards WITHOUT profiles simply has no `001_`.
|
|
17
|
-
*/
|
|
18
|
-
export const DASHBOARD_STORE_MIGRATIONS = [
|
|
19
|
-
{
|
|
20
|
-
name: "002_dashboards",
|
|
21
|
-
statements: [
|
|
22
|
-
`CREATE TABLE IF NOT EXISTS dashboards (
|
|
23
|
-
id TEXT PRIMARY KEY,
|
|
24
|
-
user_id TEXT,
|
|
25
|
-
record JSONB NOT NULL,
|
|
26
|
-
updated_at TIMESTAMPTZ NOT NULL
|
|
27
|
-
)`,
|
|
28
|
-
`CREATE INDEX IF NOT EXISTS dashboards_list_idx
|
|
29
|
-
ON dashboards (user_id, updated_at DESC)`,
|
|
30
|
-
],
|
|
31
|
-
},
|
|
32
|
-
];
|
|
33
|
-
function classifyRow(row) {
|
|
34
|
-
const record = parseDashboardRecord(row.record);
|
|
35
|
-
if (record)
|
|
36
|
-
return { state: "readable", record };
|
|
37
|
-
const payload = typeof row.record === "object" && row.record !== null ? row.record : {};
|
|
38
|
-
const version = payload.schemaVersion;
|
|
39
|
-
return {
|
|
40
|
-
state: "unreadable",
|
|
41
|
-
id: row.id,
|
|
42
|
-
// The toolkit's wording, so both stores report the same reasons.
|
|
43
|
-
reason: typeof version === "number" && version > DASHBOARD_SCHEMA_VERSION
|
|
44
|
-
? `written by a newer schemaVersion ${version} (this build reads up to ${DASHBOARD_SCHEMA_VERSION})`
|
|
45
|
-
: "does not match the current record schema",
|
|
46
|
-
// The mirrored column is written in the same statement as the record, so
|
|
47
|
-
// it still attributes the row when the payload is unreadable.
|
|
48
|
-
...(row.user_id === null ? {} : { ownerId: row.user_id }),
|
|
49
|
-
updatedAt: new Date(row.updated_at).toISOString(),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/** Whose row it is: the payload's owner when readable, else the mirrored column's. */
|
|
53
|
-
function ownerOf(stored) {
|
|
54
|
-
return stored.state === "readable" ? stored.record.userId : stored.ownerId;
|
|
55
|
-
}
|
|
56
|
-
function toSummary(stored) {
|
|
57
|
-
if (stored.state === "unreadable") {
|
|
58
|
-
return {
|
|
59
|
-
id: stored.id,
|
|
60
|
-
name: stored.id,
|
|
61
|
-
...(stored.ownerId === undefined ? {} : { userId: stored.ownerId }),
|
|
62
|
-
updatedAt: stored.updatedAt,
|
|
63
|
-
unreadable: stored.reason,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
const { record } = stored;
|
|
67
|
-
return {
|
|
68
|
-
id: record.id,
|
|
69
|
-
name: record.name,
|
|
70
|
-
description: record.description,
|
|
71
|
-
title: record.title,
|
|
72
|
-
userId: record.userId,
|
|
73
|
-
updatedAt: record.updatedAt,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Dashboards stored one row per record in the `dashboards` table, implementing
|
|
78
|
-
* the toolkit's `DashboardStore` contract (injected via
|
|
79
|
-
* `frameworkOptions.app.dashboardStore`) — the multi-writer counterpart to the
|
|
80
|
-
* toolkit's filesystem store, whose `save` is documented as racy. Selected
|
|
81
|
-
* next to `createPostgresProfileStore` when the deployment has a
|
|
82
|
-
* `DATABASE_URL`; the caller owns the `sql` client's lifecycle, so this
|
|
83
|
-
* package carries no runtime dependency on the driver.
|
|
84
|
-
*
|
|
85
|
-
* Ownership is the toolkit's rule, never re-derived here: `isDashboardOwnedBy`
|
|
86
|
-
* decides visibility (no caller id = global scope; an identified caller owns
|
|
87
|
-
* exactly the records stamped with its id, and an owner-less record is not
|
|
88
|
-
* one of them), and `resolveSavedRecord` enforces it on updates. A row whose
|
|
89
|
-
* JSONB fails `parseDashboardRecord` (corrupt, or written by a newer build) is
|
|
90
|
-
* a conflict, never "absent": `get`/`save`/`delete` reject with
|
|
91
|
-
* `DashboardUnreadableError` for a caller it belongs to, `list` reports it with
|
|
92
|
-
* `unreadable`, and the row stays in place — so a save can never overwrite it
|
|
93
|
-
* and hand it a new owner.
|
|
94
|
-
*/
|
|
95
|
-
export function createPostgresDashboardStore(options) {
|
|
96
|
-
const { sql, label = "dashboard-store" } = options;
|
|
97
|
-
const classify = (row) => {
|
|
98
|
-
const stored = classifyRow(row);
|
|
99
|
-
if (stored.state === "unreadable") {
|
|
100
|
-
console.warn(`[${label}] Dashboard "${row.id}" is unreadable: ${stored.reason}.`);
|
|
101
|
-
}
|
|
102
|
-
return stored;
|
|
103
|
-
};
|
|
104
|
-
/**
|
|
105
|
-
* The caller's view of an addressed row: `undefined` when it is absent or
|
|
106
|
-
* not the caller's, the record when readable, and a thrown
|
|
107
|
-
* `DashboardUnreadableError` when it is the caller's but unreadable.
|
|
108
|
-
*/
|
|
109
|
-
const ownRecord = (row, userId) => {
|
|
110
|
-
if (!row)
|
|
111
|
-
return undefined;
|
|
112
|
-
const stored = classify(row);
|
|
113
|
-
if (!isDashboardOwnedBy(ownerOf(stored), userId))
|
|
114
|
-
return undefined;
|
|
115
|
-
if (stored.state === "unreadable")
|
|
116
|
-
throw new DashboardUnreadableError(row.id, stored.reason);
|
|
117
|
-
return stored.record;
|
|
118
|
-
};
|
|
119
|
-
return {
|
|
120
|
-
async save(input) {
|
|
121
|
-
return await sql.begin(async (tx) => {
|
|
122
|
-
// Advisory lock, not just SELECT…FOR UPDATE: a row that does not exist
|
|
123
|
-
// yet cannot be row-locked, so two concurrent FIRST saves of the same
|
|
124
|
-
// id would both see "no existing record", both take the create branch,
|
|
125
|
-
// and the second upsert would overwrite the first (including its
|
|
126
|
-
// createdAt/userId) without ever passing the ownership check. Only
|
|
127
|
-
// reachable when the caller supplies an id — a generated UUID collides
|
|
128
|
-
// with nothing. Same primitive as the profile store's per-key lock.
|
|
129
|
-
if (input.id) {
|
|
130
|
-
await tx `SELECT pg_advisory_xact_lock(hashtextextended('dashboards:' || ${input.id}, 0))`;
|
|
131
|
-
}
|
|
132
|
-
const rows = input.id
|
|
133
|
-
? await tx `
|
|
134
|
-
SELECT id, user_id, record, updated_at FROM dashboards
|
|
135
|
-
WHERE id = ${input.id} FOR UPDATE
|
|
136
|
-
`
|
|
137
|
-
: [];
|
|
138
|
-
const stored = rows[0] ? classify(rows[0]) : undefined;
|
|
139
|
-
if (stored?.state === "unreadable") {
|
|
140
|
-
if (!isDashboardOwnedBy(stored.ownerId, input.userId)) {
|
|
141
|
-
throw new DashboardOwnershipError(stored.ownerId
|
|
142
|
-
? `Access denied: dashboard "${stored.id}" is owned by another user.`
|
|
143
|
-
: `Access denied: dashboard "${stored.id}" has no owner; an owner-less (global-scope) dashboard is not writable by an identified caller.`);
|
|
144
|
-
}
|
|
145
|
-
throw new DashboardUnreadableError(stored.id, stored.reason);
|
|
146
|
-
}
|
|
147
|
-
const now = new Date().toISOString();
|
|
148
|
-
// resolveSavedRecord returns null for a create and throws
|
|
149
|
-
// DashboardOwnershipError when an update would touch a record the
|
|
150
|
-
// caller doesn't own (another user's, or an owner-less one) — both
|
|
151
|
-
// semantics come straight from the toolkit.
|
|
152
|
-
const record = resolveSavedRecord(stored?.record, input, now) ?? {
|
|
153
|
-
id: input.id ?? randomUUID(),
|
|
154
|
-
name: input.name,
|
|
155
|
-
description: input.description,
|
|
156
|
-
userId: input.userId,
|
|
157
|
-
keys: input.keys,
|
|
158
|
-
steps: input.steps,
|
|
159
|
-
layout: input.layout,
|
|
160
|
-
title: input.title,
|
|
161
|
-
schemaVersion: DASHBOARD_SCHEMA_VERSION,
|
|
162
|
-
createdAt: now,
|
|
163
|
-
updatedAt: now,
|
|
164
|
-
};
|
|
165
|
-
// sql.json, not JSON.stringify: postgres.js serializes parameters by
|
|
166
|
-
// the server-described type, and the jsonb serializer stringifies
|
|
167
|
-
// itself — a pre-stringified value gets double-encoded into a jsonb
|
|
168
|
-
// string scalar.
|
|
169
|
-
await tx `
|
|
170
|
-
INSERT INTO dashboards (id, user_id, record, updated_at)
|
|
171
|
-
VALUES (
|
|
172
|
-
${record.id},
|
|
173
|
-
${record.userId ?? null},
|
|
174
|
-
${tx.json(record)},
|
|
175
|
-
${record.updatedAt}
|
|
176
|
-
)
|
|
177
|
-
ON CONFLICT (id) DO UPDATE SET
|
|
178
|
-
user_id = EXCLUDED.user_id,
|
|
179
|
-
record = EXCLUDED.record,
|
|
180
|
-
updated_at = EXCLUDED.updated_at
|
|
181
|
-
`;
|
|
182
|
-
return record;
|
|
183
|
-
});
|
|
184
|
-
},
|
|
185
|
-
async list(filter) {
|
|
186
|
-
// The owner predicate is pushed into SQL so a large table doesn't get
|
|
187
|
-
// read in full; ordering on the mirrored timestamptz column matches the
|
|
188
|
-
// toolkit's ISO-string sort.
|
|
189
|
-
const rows = filter.userId
|
|
190
|
-
? await sql `
|
|
191
|
-
SELECT id, user_id, record, updated_at FROM dashboards
|
|
192
|
-
WHERE user_id = ${filter.userId}
|
|
193
|
-
ORDER BY updated_at DESC
|
|
194
|
-
`
|
|
195
|
-
: await sql `
|
|
196
|
-
SELECT id, user_id, record, updated_at FROM dashboards
|
|
197
|
-
ORDER BY updated_at DESC
|
|
198
|
-
`;
|
|
199
|
-
// The SQL predicate is the fast path, `isDashboardOwnedBy` the authority
|
|
200
|
-
// — in case the mirrored user_id column ever diverges from the payload.
|
|
201
|
-
return rows
|
|
202
|
-
.map(classify)
|
|
203
|
-
.filter((stored) => isDashboardOwnedBy(ownerOf(stored), filter.userId))
|
|
204
|
-
.map(toSummary);
|
|
205
|
-
},
|
|
206
|
-
async get(id, filter) {
|
|
207
|
-
const rows = await sql `
|
|
208
|
-
SELECT id, user_id, record, updated_at FROM dashboards WHERE id = ${id}
|
|
209
|
-
`;
|
|
210
|
-
return ownRecord(rows[0], filter.userId);
|
|
211
|
-
},
|
|
212
|
-
async delete(id, filter) {
|
|
213
|
-
return await sql.begin(async (tx) => {
|
|
214
|
-
const rows = await tx `
|
|
215
|
-
SELECT id, user_id, record, updated_at FROM dashboards WHERE id = ${id} FOR UPDATE
|
|
216
|
-
`;
|
|
217
|
-
if (!ownRecord(rows[0], filter.userId))
|
|
218
|
-
return false;
|
|
219
|
-
await tx `DELETE FROM dashboards WHERE id = ${id}`;
|
|
220
|
-
return true;
|
|
221
|
-
});
|
|
222
|
-
},
|
|
223
|
-
};
|
|
224
|
-
}
|
|
225
|
-
//# sourceMappingURL=dashboard-store-postgres.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-store-postgres.js","sourceRoot":"","sources":["../src/dashboard-store-postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-store-postgres.test.d.ts","sourceRoot":"","sources":["../src/dashboard-store-postgres.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import postgres from "postgres";
|
|
2
|
-
import { afterAll, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
|
3
|
-
import { DashboardOwnershipError, DashboardUnreadableError } from "@miragon/mcp-toolkit-core/tools";
|
|
4
|
-
import { createPostgresDashboardStore, DASHBOARD_STORE_MIGRATIONS, } from "./dashboard-store-postgres.js";
|
|
5
|
-
import { postgresReadinessCheck, runMigrations } from "./postgres.js";
|
|
6
|
-
import { PROFILE_STORE_MIGRATIONS } from "./profile-store-postgres.js";
|
|
7
|
-
const LAYOUT = [{ row: [{ widget: "shell:kpi-grid" }] }];
|
|
8
|
-
/** A record payload that passes the toolkit's schema — for rows written raw. */
|
|
9
|
-
const validRecord = (id) => ({
|
|
10
|
-
id,
|
|
11
|
-
name: id,
|
|
12
|
-
layout: LAYOUT,
|
|
13
|
-
schemaVersion: 1,
|
|
14
|
-
createdAt: "2026-10-01T00:00:00.000Z",
|
|
15
|
-
updatedAt: "2026-10-01T00:00:00.000Z",
|
|
16
|
-
});
|
|
17
|
-
/** updatedAt has millisecond precision — space writes out for stable ordering. */
|
|
18
|
-
const tick = () => new Promise((resolve) => setTimeout(resolve, 10));
|
|
19
|
-
// Opt-in integration slice (like test:host): needs a reachable Postgres, so it
|
|
20
|
-
// only runs when TEST_DATABASE_URL is set — `pnpm test:pg` at the repo root
|
|
21
|
-
// points it at the compose stack's dedicated test database. An own schema
|
|
22
|
-
// isolates it from the other suites sharing that database.
|
|
23
|
-
const TEST_DATABASE_URL = process.env.TEST_DATABASE_URL;
|
|
24
|
-
const TEST_SCHEMA = "widget_shell_dashboard_store_test";
|
|
25
|
-
describe.skipIf(!TEST_DATABASE_URL)("postgres persistence", () => {
|
|
26
|
-
let sql;
|
|
27
|
-
beforeAll(async () => {
|
|
28
|
-
sql = postgres(TEST_DATABASE_URL, {
|
|
29
|
-
max: 2,
|
|
30
|
-
onnotice: () => { },
|
|
31
|
-
connection: { search_path: TEST_SCHEMA },
|
|
32
|
-
});
|
|
33
|
-
await sql.unsafe(`DROP SCHEMA IF EXISTS ${TEST_SCHEMA} CASCADE`);
|
|
34
|
-
await sql.unsafe(`CREATE SCHEMA ${TEST_SCHEMA}`);
|
|
35
|
-
});
|
|
36
|
-
afterAll(async () => {
|
|
37
|
-
await sql.end({ timeout: 5 });
|
|
38
|
-
});
|
|
39
|
-
// Runs first (single-file describes execute in order) and doubles as the
|
|
40
|
-
// table setup for the store tests below — the exact boot sequence of
|
|
41
|
-
// initRuntime.
|
|
42
|
-
describe("runMigrations", () => {
|
|
43
|
-
it("applies pending migrations in order and records them by name", async () => {
|
|
44
|
-
const applied = await runMigrations(sql, [
|
|
45
|
-
...PROFILE_STORE_MIGRATIONS,
|
|
46
|
-
...DASHBOARD_STORE_MIGRATIONS,
|
|
47
|
-
]);
|
|
48
|
-
expect(applied).toEqual(["001_user_profiles", "002_dashboards"]);
|
|
49
|
-
// The created tables are actually usable.
|
|
50
|
-
const rows = await sql `SELECT count(*)::int AS n FROM dashboards`;
|
|
51
|
-
expect(rows[0].n).toBe(0);
|
|
52
|
-
});
|
|
53
|
-
it("is idempotent on a second run", async () => {
|
|
54
|
-
const applied = await runMigrations(sql, [
|
|
55
|
-
...PROFILE_STORE_MIGRATIONS,
|
|
56
|
-
...DASHBOARD_STORE_MIGRATIONS,
|
|
57
|
-
]);
|
|
58
|
-
expect(applied).toEqual([]);
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
describe("createPostgresDashboardStore", () => {
|
|
62
|
-
let store;
|
|
63
|
-
beforeAll(() => {
|
|
64
|
-
store = createPostgresDashboardStore({ sql });
|
|
65
|
-
});
|
|
66
|
-
beforeEach(async () => {
|
|
67
|
-
await sql `DELETE FROM dashboards`;
|
|
68
|
-
});
|
|
69
|
-
it("creates a record with generated id and server-managed metadata", async () => {
|
|
70
|
-
const record = await store.save({ name: "ops", layout: LAYOUT });
|
|
71
|
-
expect(record.id).toBeTruthy();
|
|
72
|
-
expect(record.schemaVersion).toBe(1);
|
|
73
|
-
expect(record.createdAt).toBe(record.updatedAt);
|
|
74
|
-
expect(await store.get(record.id, {})).toEqual(record);
|
|
75
|
-
});
|
|
76
|
-
it("updates by id, preserving createdAt and advancing updatedAt", async () => {
|
|
77
|
-
const created = await store.save({ name: "ops", layout: LAYOUT });
|
|
78
|
-
await tick();
|
|
79
|
-
const updated = await store.save({ id: created.id, name: "renamed", layout: LAYOUT });
|
|
80
|
-
expect(updated.id).toBe(created.id);
|
|
81
|
-
expect(updated.name).toBe("renamed");
|
|
82
|
-
expect(updated.createdAt).toBe(created.createdAt);
|
|
83
|
-
expect(updated.updatedAt > created.updatedAt).toBe(true);
|
|
84
|
-
});
|
|
85
|
-
it("takes the per-id advisory lock before the create branch", async () => {
|
|
86
|
-
// The row does not exist yet, so SELECT…FOR UPDATE has nothing to lock:
|
|
87
|
-
// without the advisory lock two concurrent first saves of the same id
|
|
88
|
-
// both take the create branch and the second upsert overwrites the
|
|
89
|
-
// first — ownership check included. Racing two saves does NOT prove the
|
|
90
|
-
// lock is there (postgres serializes them at the unique index either
|
|
91
|
-
// way), so hold the lock from a separate session and assert the save
|
|
92
|
-
// WAITS for it: with the lock removed from the store this resolves
|
|
93
|
-
// immediately and the test fails.
|
|
94
|
-
const blocker = postgres(TEST_DATABASE_URL, {
|
|
95
|
-
max: 1,
|
|
96
|
-
onnotice: () => { },
|
|
97
|
-
connection: { search_path: TEST_SCHEMA },
|
|
98
|
-
});
|
|
99
|
-
try {
|
|
100
|
-
await blocker `SELECT pg_advisory_lock(hashtextextended('dashboards:contested', 0))`;
|
|
101
|
-
let settled = false;
|
|
102
|
-
const pending = store
|
|
103
|
-
.save({ id: "contested", name: "blocked", layout: LAYOUT })
|
|
104
|
-
.finally(() => {
|
|
105
|
-
settled = true;
|
|
106
|
-
});
|
|
107
|
-
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
108
|
-
expect(settled).toBe(false);
|
|
109
|
-
await blocker `SELECT pg_advisory_unlock(hashtextextended('dashboards:contested', 0))`;
|
|
110
|
-
await expect(pending).resolves.toMatchObject({ id: "contested", name: "blocked" });
|
|
111
|
-
}
|
|
112
|
-
finally {
|
|
113
|
-
await blocker.end({ timeout: 5 });
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
it("rejects a foreign update and never reassigns the owner", async () => {
|
|
117
|
-
const alices = await store.save({ name: "alice's", layout: LAYOUT, userId: "alice" });
|
|
118
|
-
await expect(store.save({ id: alices.id, name: "stolen", layout: LAYOUT, userId: "bob" })).rejects.toBeInstanceOf(DashboardOwnershipError);
|
|
119
|
-
expect(await store.get(alices.id, {})).toEqual(alices);
|
|
120
|
-
});
|
|
121
|
-
// The toolkit 2.6 DashboardStore contract (isDashboardOwnedBy): an
|
|
122
|
-
// owner-less record — saved on a boot without OAuth — belongs to no
|
|
123
|
-
// identified caller. The 2.5 rule handed it to EVERY caller, so after
|
|
124
|
-
// turning OAuth on, any user could read, overwrite or delete it.
|
|
125
|
-
it("keeps an owner-less record away from identified callers", async () => {
|
|
126
|
-
const global = await store.save({ name: "global", layout: LAYOUT });
|
|
127
|
-
expect(await store.get(global.id, { userId: "bob" })).toBeUndefined();
|
|
128
|
-
await expect(store.save({ id: global.id, name: "claimed", layout: LAYOUT, userId: "bob" })).rejects.toBeInstanceOf(DashboardOwnershipError);
|
|
129
|
-
expect(await store.delete(global.id, { userId: "bob" })).toBe(false);
|
|
130
|
-
expect(await store.get(global.id, {})).toEqual(global);
|
|
131
|
-
// Global scope (no caller id) still reads and writes it — without
|
|
132
|
-
// adopting an owner.
|
|
133
|
-
const written = await store.save({ id: global.id, name: "edited", layout: LAYOUT });
|
|
134
|
-
expect(written).toMatchObject({ name: "edited" });
|
|
135
|
-
expect(written.userId).toBeUndefined();
|
|
136
|
-
expect(await store.delete(global.id, {})).toBe(true);
|
|
137
|
-
});
|
|
138
|
-
it("enforces ownership on get and delete", async () => {
|
|
139
|
-
const alices = await store.save({ name: "alice's", layout: LAYOUT, userId: "alice" });
|
|
140
|
-
expect(await store.get(alices.id, { userId: "bob" })).toBeUndefined();
|
|
141
|
-
expect(await store.get(alices.id, { userId: "alice" })).toEqual(alices);
|
|
142
|
-
expect(await store.delete(alices.id, { userId: "bob" })).toBe(false);
|
|
143
|
-
expect(await store.delete(alices.id, { userId: "alice" })).toBe(true);
|
|
144
|
-
expect(await store.get(alices.id, {})).toBeUndefined();
|
|
145
|
-
});
|
|
146
|
-
it("lists only the caller's own records as owner-stamped summaries, newest first", async () => {
|
|
147
|
-
await store.save({ name: "global", layout: LAYOUT });
|
|
148
|
-
await tick();
|
|
149
|
-
await store.save({ name: "alice's", layout: LAYOUT, userId: "alice" });
|
|
150
|
-
await tick();
|
|
151
|
-
await store.save({ name: "bob's", layout: LAYOUT, userId: "bob" });
|
|
152
|
-
const forAlice = await store.list({ userId: "alice" });
|
|
153
|
-
expect(forAlice.map((s) => s.name)).toEqual(["alice's"]);
|
|
154
|
-
// Summary shape: the owner (DashboardSummary.userId, which the toolkit's
|
|
155
|
-
// dashboard tools re-check), no layout/steps/keys payload.
|
|
156
|
-
expect(forAlice[0].userId).toBe("alice");
|
|
157
|
-
expect(Object.keys(forAlice[0]).sort()).toEqual([
|
|
158
|
-
"description",
|
|
159
|
-
"id",
|
|
160
|
-
"name",
|
|
161
|
-
"title",
|
|
162
|
-
"updatedAt",
|
|
163
|
-
"userId",
|
|
164
|
-
]);
|
|
165
|
-
const unfiltered = await store.list({});
|
|
166
|
-
expect(unfiltered.map((s) => [s.name, s.userId])).toEqual([
|
|
167
|
-
["bob's", "bob"],
|
|
168
|
-
["alice's", "alice"],
|
|
169
|
-
["global", undefined],
|
|
170
|
-
]);
|
|
171
|
-
});
|
|
172
|
-
// A row this build cannot read (corrupt, or written by a NEWER build during
|
|
173
|
-
// a rolling upgrade) is a conflict, never "absent": treated as absent, a
|
|
174
|
-
// save with its id would overwrite it and stamp the writer as its owner.
|
|
175
|
-
// Its mirrored user_id column still attributes it.
|
|
176
|
-
describe("an unreadable row", () => {
|
|
177
|
-
const insertRaw = async (id, userId, record) => {
|
|
178
|
-
await sql `
|
|
179
|
-
INSERT INTO dashboards (id, user_id, record, updated_at)
|
|
180
|
-
VALUES (${id}, ${userId}, ${sql.json(record)}, now())
|
|
181
|
-
`;
|
|
182
|
-
};
|
|
183
|
-
const rowOf = async (id) => (await sql `
|
|
184
|
-
SELECT user_id, record FROM dashboards WHERE id = ${id}
|
|
185
|
-
`)[0];
|
|
186
|
-
it("refuses get, save and delete for its owner and stays in place", async () => {
|
|
187
|
-
await insertRaw("corrupt", "alice", { name: "no layout", userId: "alice" });
|
|
188
|
-
const before = await rowOf("corrupt");
|
|
189
|
-
await expect(store.get("corrupt", { userId: "alice" })).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
190
|
-
await expect(store.save({ id: "corrupt", name: "fresh", layout: LAYOUT, userId: "alice" })).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
191
|
-
await expect(store.delete("corrupt", { userId: "alice" })).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
192
|
-
// Global scope addresses every row, so it gets the same conflict.
|
|
193
|
-
await expect(store.get("corrupt", {})).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
194
|
-
await expect(store.save({ id: "corrupt", name: "fresh", layout: LAYOUT })).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
195
|
-
expect(await rowOf("corrupt")).toEqual(before);
|
|
196
|
-
});
|
|
197
|
-
it("is invisible to — and never claimable by — another identified caller", async () => {
|
|
198
|
-
await insertRaw("alices-corrupt", "alice", { name: "no layout", userId: "alice" });
|
|
199
|
-
await insertRaw("global-corrupt", null, { name: "no layout" });
|
|
200
|
-
const before = [await rowOf("alices-corrupt"), await rowOf("global-corrupt")];
|
|
201
|
-
for (const id of ["alices-corrupt", "global-corrupt"]) {
|
|
202
|
-
expect(await store.get(id, { userId: "bob" })).toBeUndefined();
|
|
203
|
-
expect(await store.delete(id, { userId: "bob" })).toBe(false);
|
|
204
|
-
await expect(store.save({ id, name: "claimed", layout: LAYOUT, userId: "bob" })).rejects.toBeInstanceOf(DashboardOwnershipError);
|
|
205
|
-
}
|
|
206
|
-
expect(await store.list({ userId: "bob" })).toEqual([]);
|
|
207
|
-
expect([await rowOf("alices-corrupt"), await rowOf("global-corrupt")]).toEqual(before);
|
|
208
|
-
});
|
|
209
|
-
// A row written by a NEWER build (mid rolling upgrade) whose payload
|
|
210
|
-
// carries no owner: only the mirrored user_id column attributes it. Read
|
|
211
|
-
// as absent, a save would turn into an ownership-free CREATE over it —
|
|
212
|
-
// whoever writes, it keeps its payload and its owner.
|
|
213
|
-
it("never lets a save turn it into an ownership-free CREATE", async () => {
|
|
214
|
-
await insertRaw("future", "alice", { schemaVersion: 99, name: "v99" });
|
|
215
|
-
await insertRaw("global-future", null, { schemaVersion: 99 });
|
|
216
|
-
const before = [await rowOf("future"), await rowOf("global-future")];
|
|
217
|
-
await expect(store.save({ id: "future", name: "stolen", layout: LAYOUT, userId: "bob" })).rejects.toBeInstanceOf(DashboardOwnershipError);
|
|
218
|
-
// Not even its owner replaces it: a conflict, never an overwrite.
|
|
219
|
-
await expect(store.save({ id: "future", name: "mine", layout: LAYOUT, userId: "alice" })).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
220
|
-
// A global unreadable row never adopts the writer.
|
|
221
|
-
await expect(store.save({ id: "global-future", name: "edited", layout: LAYOUT, userId: "bob" })).rejects.toBeInstanceOf(DashboardOwnershipError);
|
|
222
|
-
await expect(store.save({ id: "global-future", name: "edited", layout: LAYOUT })).rejects.toBeInstanceOf(DashboardUnreadableError);
|
|
223
|
-
expect([await rowOf("future"), await rowOf("global-future")]).toEqual(before);
|
|
224
|
-
});
|
|
225
|
-
it("is reported in listings where it is attributable, with the reason", async () => {
|
|
226
|
-
await insertRaw("corrupt", "alice", { name: "no layout", userId: "alice" });
|
|
227
|
-
await tick();
|
|
228
|
-
await insertRaw("newer", null, { ...validRecord("newer"), schemaVersion: 99 });
|
|
229
|
-
// The mirrored columns stand in for the unreadable payload.
|
|
230
|
-
const [{ updated_at }] = await sql `
|
|
231
|
-
SELECT updated_at FROM dashboards WHERE id = 'corrupt'
|
|
232
|
-
`;
|
|
233
|
-
expect(await store.list({ userId: "alice" })).toEqual([
|
|
234
|
-
{
|
|
235
|
-
id: "corrupt",
|
|
236
|
-
name: "corrupt",
|
|
237
|
-
userId: "alice",
|
|
238
|
-
updatedAt: updated_at.toISOString(),
|
|
239
|
-
unreadable: "does not match the current record schema",
|
|
240
|
-
},
|
|
241
|
-
]);
|
|
242
|
-
const unfiltered = await store.list({});
|
|
243
|
-
expect(unfiltered.map((s) => [s.id, s.unreadable])).toEqual([
|
|
244
|
-
["newer", "written by a newer schemaVersion 99 (this build reads up to 1)"],
|
|
245
|
-
["corrupt", "does not match the current record schema"],
|
|
246
|
-
]);
|
|
247
|
-
});
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
describe.skipIf(!TEST_DATABASE_URL)("postgresReadinessCheck", () => {
|
|
252
|
-
it("resolves against a reachable database", async () => {
|
|
253
|
-
const sql = postgres(TEST_DATABASE_URL, { max: 1, onnotice: () => { } });
|
|
254
|
-
try {
|
|
255
|
-
await expect(postgresReadinessCheck(sql)()).resolves.toBeUndefined();
|
|
256
|
-
}
|
|
257
|
-
finally {
|
|
258
|
-
await sql.end({ timeout: 5 });
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
|
-
it("rejects when the database is unreachable", async () => {
|
|
262
|
-
// Nothing listens on port 1; the short connect timeout keeps the test fast.
|
|
263
|
-
const sql = postgres("postgres://127.0.0.1:1/nothing", { max: 1, connect_timeout: 1 });
|
|
264
|
-
try {
|
|
265
|
-
await expect(postgresReadinessCheck(sql)()).rejects.toThrow();
|
|
266
|
-
}
|
|
267
|
-
finally {
|
|
268
|
-
await sql.end({ timeout: 1 });
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
//# sourceMappingURL=dashboard-store-postgres.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-store-postgres.test.js","sourceRoot":"","sources":["../src/dashboard-store-postgres.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"font-assets.test.d.ts","sourceRoot":"","sources":["../src/font-assets.test.ts"],"names":[],"mappings":""}
|