@miragon/pulse-widget-shell 0.0.0-bootstrap.0 → 0.21.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/LICENSE +21 -0
- package/README.md +163 -3
- package/dist/adapt-data-widget.d.ts +7 -0
- package/dist/adapt-data-widget.d.ts.map +1 -0
- package/dist/adapt-data-widget.js +7 -0
- package/dist/adapt-data-widget.js.map +1 -0
- package/dist/bpmn-names.d.ts +42 -0
- package/dist/bpmn-names.d.ts.map +1 -0
- package/dist/bpmn-names.js +151 -0
- package/dist/bpmn-names.js.map +1 -0
- package/dist/bpmn-names.test.d.ts +2 -0
- package/dist/bpmn-names.test.d.ts.map +1 -0
- package/dist/bpmn-names.test.js +143 -0
- package/dist/bpmn-names.test.js.map +1 -0
- package/dist/build-data-feed-result.test.d.ts +2 -0
- package/dist/build-data-feed-result.test.d.ts.map +1 -0
- package/dist/build-data-feed-result.test.js +28 -0
- package/dist/build-data-feed-result.test.js.map +1 -0
- package/dist/build-single-widget-view.test.d.ts +2 -0
- package/dist/build-single-widget-view.test.d.ts.map +1 -0
- package/dist/build-single-widget-view.test.js +136 -0
- package/dist/build-single-widget-view.test.js.map +1 -0
- package/dist/builder-texts.d.ts +27 -0
- package/dist/builder-texts.d.ts.map +1 -0
- package/dist/builder-texts.js +32 -0
- package/dist/builder-texts.js.map +1 -0
- package/dist/builder-texts.test.d.ts +2 -0
- package/dist/builder-texts.test.d.ts.map +1 -0
- package/dist/builder-texts.test.js +54 -0
- package/dist/builder-texts.test.js.map +1 -0
- package/dist/catalogue-sync.d.ts +18 -0
- package/dist/catalogue-sync.d.ts.map +1 -0
- package/dist/catalogue-sync.js +31 -0
- package/dist/catalogue-sync.js.map +1 -0
- package/dist/catalogue-sync.test.d.ts +2 -0
- package/dist/catalogue-sync.test.d.ts.map +1 -0
- package/dist/catalogue-sync.test.js +22 -0
- package/dist/catalogue-sync.test.js.map +1 -0
- package/dist/composed-server.d.ts +110 -0
- package/dist/composed-server.d.ts.map +1 -0
- package/dist/composed-server.edge.test.d.ts +2 -0
- package/dist/composed-server.edge.test.d.ts.map +1 -0
- package/dist/composed-server.edge.test.js +184 -0
- package/dist/composed-server.edge.test.js.map +1 -0
- package/dist/composed-server.fonts.test.d.ts +2 -0
- package/dist/composed-server.fonts.test.d.ts.map +1 -0
- package/dist/composed-server.fonts.test.js +186 -0
- package/dist/composed-server.fonts.test.js.map +1 -0
- package/dist/composed-server.js +260 -0
- package/dist/composed-server.js.map +1 -0
- package/dist/composed-server.test.d.ts +2 -0
- package/dist/composed-server.test.d.ts.map +1 -0
- package/dist/composed-server.test.js +332 -0
- package/dist/composed-server.test.js.map +1 -0
- package/dist/composition.d.ts +155 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +163 -0
- package/dist/composition.js.map +1 -0
- package/dist/composition.test.d.ts +2 -0
- package/dist/composition.test.d.ts.map +1 -0
- package/dist/composition.test.js +275 -0
- package/dist/composition.test.js.map +1 -0
- package/dist/dashboard-store-postgres.d.ts +43 -0
- package/dist/dashboard-store-postgres.d.ts.map +1 -0
- package/dist/dashboard-store-postgres.js +225 -0
- package/dist/dashboard-store-postgres.js.map +1 -0
- package/dist/dashboard-store-postgres.test.d.ts +2 -0
- package/dist/dashboard-store-postgres.test.d.ts.map +1 -0
- package/dist/dashboard-store-postgres.test.js +272 -0
- package/dist/dashboard-store-postgres.test.js.map +1 -0
- package/dist/font-assets.d.ts +47 -0
- package/dist/font-assets.d.ts.map +1 -0
- package/dist/font-assets.js +93 -0
- package/dist/font-assets.js.map +1 -0
- package/dist/font-assets.test.d.ts +2 -0
- package/dist/font-assets.test.d.ts.map +1 -0
- package/dist/font-assets.test.js +123 -0
- package/dist/font-assets.test.js.map +1 -0
- package/dist/health.d.ts +59 -0
- package/dist/health.d.ts.map +1 -0
- package/dist/health.js +74 -0
- package/dist/health.js.map +1 -0
- package/dist/health.test.d.ts +2 -0
- package/dist/health.test.d.ts.map +1 -0
- package/dist/health.test.js +140 -0
- package/dist/health.test.js.map +1 -0
- package/dist/host-boot.d.ts +56 -0
- package/dist/host-boot.d.ts.map +1 -0
- package/dist/host-boot.js +64 -0
- package/dist/host-boot.js.map +1 -0
- package/dist/host-boot.test.d.ts +2 -0
- package/dist/host-boot.test.d.ts.map +1 -0
- package/dist/host-boot.test.js +59 -0
- package/dist/host-boot.test.js.map +1 -0
- package/dist/http-edge.d.ts +117 -0
- package/dist/http-edge.d.ts.map +1 -0
- package/dist/http-edge.js +219 -0
- package/dist/http-edge.js.map +1 -0
- package/dist/http-edge.test.d.ts +2 -0
- package/dist/http-edge.test.d.ts.map +1 -0
- package/dist/http-edge.test.js +255 -0
- package/dist/http-edge.test.js.map +1 -0
- package/dist/metrics.d.ts +48 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +124 -0
- package/dist/metrics.js.map +1 -0
- package/dist/metrics.test.d.ts +2 -0
- package/dist/metrics.test.d.ts.map +1 -0
- package/dist/metrics.test.js +154 -0
- package/dist/metrics.test.js.map +1 -0
- package/dist/node-listener.d.ts +61 -0
- package/dist/node-listener.d.ts.map +1 -0
- package/dist/node-listener.js +165 -0
- package/dist/node-listener.js.map +1 -0
- package/dist/node-listener.test.d.ts +2 -0
- package/dist/node-listener.test.d.ts.map +1 -0
- package/dist/node-listener.test.js +331 -0
- package/dist/node-listener.test.js.map +1 -0
- package/dist/oauth-env.d.ts +42 -0
- package/dist/oauth-env.d.ts.map +1 -0
- package/dist/oauth-env.js +78 -0
- package/dist/oauth-env.js.map +1 -0
- package/dist/oauth-env.test.d.ts +2 -0
- package/dist/oauth-env.test.d.ts.map +1 -0
- package/dist/oauth-env.test.js +76 -0
- package/dist/oauth-env.test.js.map +1 -0
- package/dist/postgres.d.ts +59 -0
- package/dist/postgres.d.ts.map +1 -0
- package/dist/postgres.js +80 -0
- package/dist/postgres.js.map +1 -0
- package/dist/profile-advisory.d.ts +19 -0
- package/dist/profile-advisory.d.ts.map +1 -0
- package/dist/profile-advisory.js +48 -0
- package/dist/profile-advisory.js.map +1 -0
- package/dist/profile-advisory.test.d.ts +2 -0
- package/dist/profile-advisory.test.d.ts.map +1 -0
- package/dist/profile-advisory.test.js +53 -0
- package/dist/profile-advisory.test.js.map +1 -0
- package/dist/profile-constants.d.ts +37 -0
- package/dist/profile-constants.d.ts.map +1 -0
- package/dist/profile-constants.js +37 -0
- package/dist/profile-constants.js.map +1 -0
- package/dist/profile-migrations.d.ts +71 -0
- package/dist/profile-migrations.d.ts.map +1 -0
- package/dist/profile-migrations.js +88 -0
- package/dist/profile-migrations.js.map +1 -0
- package/dist/profile-migrations.test.d.ts +2 -0
- package/dist/profile-migrations.test.d.ts.map +1 -0
- package/dist/profile-migrations.test.js +200 -0
- package/dist/profile-migrations.test.js.map +1 -0
- package/dist/profile-record.d.ts +60 -0
- package/dist/profile-record.d.ts.map +1 -0
- package/dist/profile-record.js +78 -0
- package/dist/profile-record.js.map +1 -0
- package/dist/profile-slice.d.ts +53 -0
- package/dist/profile-slice.d.ts.map +1 -0
- package/dist/profile-slice.js +73 -0
- package/dist/profile-slice.js.map +1 -0
- package/dist/profile-slice.test.d.ts +2 -0
- package/dist/profile-slice.test.d.ts.map +1 -0
- package/dist/profile-slice.test.js +73 -0
- package/dist/profile-slice.test.js.map +1 -0
- package/dist/profile-store-env.d.ts +34 -0
- package/dist/profile-store-env.d.ts.map +1 -0
- package/dist/profile-store-env.js +44 -0
- package/dist/profile-store-env.js.map +1 -0
- package/dist/profile-store-env.test.d.ts +2 -0
- package/dist/profile-store-env.test.d.ts.map +1 -0
- package/dist/profile-store-env.test.js +69 -0
- package/dist/profile-store-env.test.js.map +1 -0
- package/dist/profile-store-postgres.d.ts +33 -0
- package/dist/profile-store-postgres.d.ts.map +1 -0
- package/dist/profile-store-postgres.js +87 -0
- package/dist/profile-store-postgres.js.map +1 -0
- package/dist/profile-store-raw.test.d.ts +2 -0
- package/dist/profile-store-raw.test.d.ts.map +1 -0
- package/dist/profile-store-raw.test.js +185 -0
- package/dist/profile-store-raw.test.js.map +1 -0
- package/dist/profile-store.d.ts +85 -0
- package/dist/profile-store.d.ts.map +1 -0
- package/dist/profile-store.js +182 -0
- package/dist/profile-store.js.map +1 -0
- package/dist/profile-store.test.d.ts +2 -0
- package/dist/profile-store.test.d.ts.map +1 -0
- package/dist/profile-store.test.js +353 -0
- package/dist/profile-store.test.js.map +1 -0
- package/dist/profile.d.ts +75 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +85 -0
- package/dist/profile.js.map +1 -0
- package/dist/profile.test.d.ts +2 -0
- package/dist/profile.test.d.ts.map +1 -0
- package/dist/profile.test.js +71 -0
- package/dist/profile.test.js.map +1 -0
- package/dist/request-context.d.ts +47 -0
- package/dist/request-context.d.ts.map +1 -0
- package/dist/request-context.js +85 -0
- package/dist/request-context.js.map +1 -0
- package/dist/request-context.test.d.ts +2 -0
- package/dist/request-context.test.d.ts.map +1 -0
- package/dist/request-context.test.js +107 -0
- package/dist/request-context.test.js.map +1 -0
- package/dist/served-fonts.d.ts +38 -0
- package/dist/served-fonts.d.ts.map +1 -0
- package/dist/served-fonts.js +51 -0
- package/dist/served-fonts.js.map +1 -0
- package/dist/served-fonts.test.d.ts +2 -0
- package/dist/served-fonts.test.d.ts.map +1 -0
- package/dist/served-fonts.test.js +30 -0
- package/dist/served-fonts.test.js.map +1 -0
- package/dist/server-locale.d.ts +58 -0
- package/dist/server-locale.d.ts.map +1 -0
- package/dist/server-locale.js +64 -0
- package/dist/server-locale.js.map +1 -0
- package/dist/server-locale.test.d.ts +2 -0
- package/dist/server-locale.test.d.ts.map +1 -0
- package/dist/server-locale.test.js +90 -0
- package/dist/server-locale.test.js.map +1 -0
- package/dist/server.d.ts +43 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +34 -0
- package/dist/server.js.map +1 -0
- package/dist/shell-catalogue.d.ts +12 -0
- package/dist/shell-catalogue.d.ts.map +1 -0
- package/dist/shell-catalogue.js +142 -0
- package/dist/shell-catalogue.js.map +1 -0
- package/dist/shell-settings-contract.d.ts +34 -0
- package/dist/shell-settings-contract.d.ts.map +1 -0
- package/dist/shell-settings-contract.js +21 -0
- package/dist/shell-settings-contract.js.map +1 -0
- package/dist/shell-settings.d.ts +24 -0
- package/dist/shell-settings.d.ts.map +1 -0
- package/dist/shell-settings.js +148 -0
- package/dist/shell-settings.js.map +1 -0
- package/dist/shell-settings.test.d.ts +2 -0
- package/dist/shell-settings.test.d.ts.map +1 -0
- package/dist/shell-settings.test.js +115 -0
- package/dist/shell-settings.test.js.map +1 -0
- package/dist/testing/catalog-text.d.ts +53 -0
- package/dist/testing/catalog-text.d.ts.map +1 -0
- package/dist/testing/catalog-text.js +146 -0
- package/dist/testing/catalog-text.js.map +1 -0
- package/dist/testing/catalog-text.test.d.ts +2 -0
- package/dist/testing/catalog-text.test.d.ts.map +1 -0
- package/dist/testing/catalog-text.test.js +137 -0
- package/dist/testing/catalog-text.test.js.map +1 -0
- package/dist/testing/colors.d.ts +34 -0
- package/dist/testing/colors.d.ts.map +1 -0
- package/dist/testing/colors.js +124 -0
- package/dist/testing/colors.js.map +1 -0
- package/dist/testing/colors.test.d.ts +2 -0
- package/dist/testing/colors.test.d.ts.map +1 -0
- package/dist/testing/colors.test.js +166 -0
- package/dist/testing/colors.test.js.map +1 -0
- package/dist/testing/contrast.d.ts +77 -0
- package/dist/testing/contrast.d.ts.map +1 -0
- package/dist/testing/contrast.js +382 -0
- package/dist/testing/contrast.js.map +1 -0
- package/dist/testing/contrast.test.d.ts +2 -0
- package/dist/testing/contrast.test.d.ts.map +1 -0
- package/dist/testing/contrast.test.js +230 -0
- package/dist/testing/contrast.test.js.map +1 -0
- package/dist/testing/display-texts.d.ts +23 -0
- package/dist/testing/display-texts.d.ts.map +1 -0
- package/dist/testing/display-texts.js +88 -0
- package/dist/testing/display-texts.js.map +1 -0
- package/dist/testing/display-texts.test.d.ts +2 -0
- package/dist/testing/display-texts.test.d.ts.map +1 -0
- package/dist/testing/display-texts.test.js +169 -0
- package/dist/testing/display-texts.test.js.map +1 -0
- package/dist/testing/glossary.d.ts +52 -0
- package/dist/testing/glossary.d.ts.map +1 -0
- package/dist/testing/glossary.js +135 -0
- package/dist/testing/glossary.js.map +1 -0
- package/dist/testing/glossary.test.d.ts +2 -0
- package/dist/testing/glossary.test.d.ts.map +1 -0
- package/dist/testing/glossary.test.js +78 -0
- package/dist/testing/glossary.test.js.map +1 -0
- package/dist/testing/glyphs.d.ts +27 -0
- package/dist/testing/glyphs.d.ts.map +1 -0
- package/dist/testing/glyphs.js +130 -0
- package/dist/testing/glyphs.js.map +1 -0
- package/dist/testing/glyphs.test.d.ts +2 -0
- package/dist/testing/glyphs.test.d.ts.map +1 -0
- package/dist/testing/glyphs.test.js +146 -0
- package/dist/testing/glyphs.test.js.map +1 -0
- package/dist/testing/icon-sizes.d.ts +22 -0
- package/dist/testing/icon-sizes.d.ts.map +1 -0
- package/dist/testing/icon-sizes.js +39 -0
- package/dist/testing/icon-sizes.js.map +1 -0
- package/dist/testing/icon-sizes.test.d.ts +2 -0
- package/dist/testing/icon-sizes.test.d.ts.map +1 -0
- package/dist/testing/icon-sizes.test.js +36 -0
- package/dist/testing/icon-sizes.test.js.map +1 -0
- package/dist/testing/index.d.ts +40 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +40 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/source-scan.d.ts +16 -0
- package/dist/testing/source-scan.d.ts.map +1 -0
- package/dist/testing/source-scan.js +57 -0
- package/dist/testing/source-scan.js.map +1 -0
- package/dist/testing/tone-pairs.d.ts +20 -0
- package/dist/testing/tone-pairs.d.ts.map +1 -0
- package/dist/testing/tone-pairs.js +154 -0
- package/dist/testing/tone-pairs.js.map +1 -0
- package/dist/testing/type-scale.d.ts +40 -0
- package/dist/testing/type-scale.d.ts.map +1 -0
- package/dist/testing/type-scale.js +55 -0
- package/dist/testing/type-scale.js.map +1 -0
- package/dist/testing/type-scale.test.d.ts +2 -0
- package/dist/testing/type-scale.test.d.ts.map +1 -0
- package/dist/testing/type-scale.test.js +61 -0
- package/dist/testing/type-scale.test.js.map +1 -0
- package/dist/tool-schema-trim.d.ts +24 -0
- package/dist/tool-schema-trim.d.ts.map +1 -0
- package/dist/tool-schema-trim.js +49 -0
- package/dist/tool-schema-trim.js.map +1 -0
- package/dist/tool-schema-trim.test.d.ts +2 -0
- package/dist/tool-schema-trim.test.d.ts.map +1 -0
- package/dist/tool-schema-trim.test.js +53 -0
- package/dist/tool-schema-trim.test.js.map +1 -0
- package/dist/toolsets.d.ts +76 -0
- package/dist/toolsets.d.ts.map +1 -0
- package/dist/toolsets.js +41 -0
- package/dist/toolsets.js.map +1 -0
- package/dist/toolsets.test.d.ts +2 -0
- package/dist/toolsets.test.d.ts.map +1 -0
- package/dist/toolsets.test.js +86 -0
- package/dist/toolsets.test.js.map +1 -0
- package/dist/ui/action-feedback.d.ts +33 -0
- package/dist/ui/action-feedback.d.ts.map +1 -0
- package/dist/ui/action-feedback.js +51 -0
- package/dist/ui/action-feedback.js.map +1 -0
- package/dist/ui/action-feedback.test.d.ts +2 -0
- package/dist/ui/action-feedback.test.d.ts.map +1 -0
- package/dist/ui/action-feedback.test.js +77 -0
- package/dist/ui/action-feedback.test.js.map +1 -0
- package/dist/ui/app-shell-providers.d.ts +18 -0
- package/dist/ui/app-shell-providers.d.ts.map +1 -0
- package/dist/ui/app-shell-providers.js +19 -0
- package/dist/ui/app-shell-providers.js.map +1 -0
- package/dist/ui/app-shell-providers.test.d.ts +2 -0
- package/dist/ui/app-shell-providers.test.d.ts.map +1 -0
- package/dist/ui/app-shell-providers.test.js +249 -0
- package/dist/ui/app-shell-providers.test.js.map +1 -0
- package/dist/ui/ask-ai-button.d.ts +56 -0
- package/dist/ui/ask-ai-button.d.ts.map +1 -0
- package/dist/ui/ask-ai-button.js +36 -0
- package/dist/ui/ask-ai-button.js.map +1 -0
- package/dist/ui/ask-ai-button.test.d.ts +2 -0
- package/dist/ui/ask-ai-button.test.d.ts.map +1 -0
- package/dist/ui/ask-ai-button.test.js +103 -0
- package/dist/ui/ask-ai-button.test.js.map +1 -0
- package/dist/ui/ask-ai-prompt.d.ts +115 -0
- package/dist/ui/ask-ai-prompt.d.ts.map +1 -0
- package/dist/ui/ask-ai-prompt.js +174 -0
- package/dist/ui/ask-ai-prompt.js.map +1 -0
- package/dist/ui/ask-ai-prompt.test.d.ts +2 -0
- package/dist/ui/ask-ai-prompt.test.d.ts.map +1 -0
- package/dist/ui/ask-ai-prompt.test.js +240 -0
- package/dist/ui/ask-ai-prompt.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts +2 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js +174 -0
- package/dist/ui/bpmn-heatmap/heat-ramp.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts +119 -0
- package/dist/ui/bpmn-heatmap/heat-utils.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.js +231 -0
- package/dist/ui/bpmn-heatmap/heat-utils.js.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts +2 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.js +59 -0
- package/dist/ui/bpmn-heatmap/heat-utils.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap-labels.d.ts +46 -0
- package/dist/ui/bpmn-heatmap-labels.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap-labels.js +16 -0
- package/dist/ui/bpmn-heatmap-labels.js.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.d.ts +38 -0
- package/dist/ui/bpmn-heatmap-widget.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.js +65 -0
- package/dist/ui/bpmn-heatmap-widget.js.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.test.d.ts +2 -0
- package/dist/ui/bpmn-heatmap-widget.test.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap-widget.test.js +173 -0
- package/dist/ui/bpmn-heatmap-widget.test.js.map +1 -0
- package/dist/ui/bpmn-heatmap.d.ts +61 -0
- package/dist/ui/bpmn-heatmap.d.ts.map +1 -0
- package/dist/ui/bpmn-heatmap.js +119 -0
- package/dist/ui/bpmn-heatmap.js.map +1 -0
- package/dist/ui/bpmn-tokens.d.ts +81 -0
- package/dist/ui/bpmn-tokens.d.ts.map +1 -0
- package/dist/ui/bpmn-tokens.js +114 -0
- package/dist/ui/bpmn-tokens.js.map +1 -0
- package/dist/ui/bpmn-tokens.test.d.ts +2 -0
- package/dist/ui/bpmn-tokens.test.d.ts.map +1 -0
- package/dist/ui/bpmn-tokens.test.js +98 -0
- package/dist/ui/bpmn-tokens.test.js.map +1 -0
- package/dist/ui/bpmn-zoom-controls.d.ts +30 -0
- package/dist/ui/bpmn-zoom-controls.d.ts.map +1 -0
- package/dist/ui/bpmn-zoom-controls.js +29 -0
- package/dist/ui/bpmn-zoom-controls.js.map +1 -0
- package/dist/ui/brand-gates.test.d.ts +2 -0
- package/dist/ui/brand-gates.test.d.ts.map +1 -0
- package/dist/ui/brand-gates.test.js +131 -0
- package/dist/ui/brand-gates.test.js.map +1 -0
- package/dist/ui/brand-mark.d.ts +37 -0
- package/dist/ui/brand-mark.d.ts.map +1 -0
- package/dist/ui/brand-mark.js +33 -0
- package/dist/ui/brand-mark.js.map +1 -0
- package/dist/ui/brand-mark.test.d.ts +2 -0
- package/dist/ui/brand-mark.test.d.ts.map +1 -0
- package/dist/ui/brand-mark.test.js +111 -0
- package/dist/ui/brand-mark.test.js.map +1 -0
- package/dist/ui/confirm-dialog.d.ts +55 -0
- package/dist/ui/confirm-dialog.d.ts.map +1 -0
- package/dist/ui/confirm-dialog.js +59 -0
- package/dist/ui/confirm-dialog.js.map +1 -0
- package/dist/ui/confirm-dialog.test.d.ts +2 -0
- package/dist/ui/confirm-dialog.test.d.ts.map +1 -0
- package/dist/ui/confirm-dialog.test.js +115 -0
- package/dist/ui/confirm-dialog.test.js.map +1 -0
- package/dist/ui/count-tone.d.ts +20 -0
- package/dist/ui/count-tone.d.ts.map +1 -0
- package/dist/ui/count-tone.js +27 -0
- package/dist/ui/count-tone.js.map +1 -0
- package/dist/ui/count-tone.test.d.ts +2 -0
- package/dist/ui/count-tone.test.d.ts.map +1 -0
- package/dist/ui/count-tone.test.js +27 -0
- package/dist/ui/count-tone.test.js.map +1 -0
- package/dist/ui/create-use-t.d.ts +15 -0
- package/dist/ui/create-use-t.d.ts.map +1 -0
- package/dist/ui/create-use-t.js +17 -0
- package/dist/ui/create-use-t.js.map +1 -0
- package/dist/ui/declare-served-fonts.d.ts +14 -0
- package/dist/ui/declare-served-fonts.d.ts.map +1 -0
- package/dist/ui/declare-served-fonts.js +38 -0
- package/dist/ui/declare-served-fonts.js.map +1 -0
- package/dist/ui/declare-served-fonts.test.d.ts +2 -0
- package/dist/ui/declare-served-fonts.test.d.ts.map +1 -0
- package/dist/ui/declare-served-fonts.test.js +44 -0
- package/dist/ui/declare-served-fonts.test.js.map +1 -0
- package/dist/ui/describe-error.d.ts +71 -0
- package/dist/ui/describe-error.d.ts.map +1 -0
- package/dist/ui/describe-error.js +175 -0
- package/dist/ui/describe-error.js.map +1 -0
- package/dist/ui/describe-error.test.d.ts +2 -0
- package/dist/ui/describe-error.test.d.ts.map +1 -0
- package/dist/ui/describe-error.test.js +274 -0
- package/dist/ui/describe-error.test.js.map +1 -0
- package/dist/ui/display-mode-toggle.d.ts +32 -0
- package/dist/ui/display-mode-toggle.d.ts.map +1 -0
- package/dist/ui/display-mode-toggle.js +39 -0
- package/dist/ui/display-mode-toggle.js.map +1 -0
- package/dist/ui/error-labels.d.ts +65 -0
- package/dist/ui/error-labels.d.ts.map +1 -0
- package/dist/ui/error-labels.js +111 -0
- package/dist/ui/error-labels.js.map +1 -0
- package/dist/ui/format.d.ts +81 -0
- package/dist/ui/format.d.ts.map +1 -0
- package/dist/ui/format.js +189 -0
- package/dist/ui/format.js.map +1 -0
- package/dist/ui/format.test.d.ts +2 -0
- package/dist/ui/format.test.d.ts.map +1 -0
- package/dist/ui/format.test.js +181 -0
- package/dist/ui/format.test.js.map +1 -0
- package/dist/ui/generic-widgets.d.ts +15 -0
- package/dist/ui/generic-widgets.d.ts.map +1 -0
- package/dist/ui/generic-widgets.js +122 -0
- package/dist/ui/generic-widgets.js.map +1 -0
- package/dist/ui/generic-widgets.test.d.ts +2 -0
- package/dist/ui/generic-widgets.test.d.ts.map +1 -0
- package/dist/ui/generic-widgets.test.js +139 -0
- package/dist/ui/generic-widgets.test.js.map +1 -0
- package/dist/ui/hand-off-button.d.ts +44 -0
- package/dist/ui/hand-off-button.d.ts.map +1 -0
- package/dist/ui/hand-off-button.js +44 -0
- package/dist/ui/hand-off-button.js.map +1 -0
- package/dist/ui/hand-off-button.test.d.ts +2 -0
- package/dist/ui/hand-off-button.test.d.ts.map +1 -0
- package/dist/ui/hand-off-button.test.js +78 -0
- package/dist/ui/hand-off-button.test.js.map +1 -0
- package/dist/ui/host-context.d.ts +66 -0
- package/dist/ui/host-context.d.ts.map +1 -0
- package/dist/ui/host-context.js +122 -0
- package/dist/ui/host-context.js.map +1 -0
- package/dist/ui/host-context.test.d.ts +2 -0
- package/dist/ui/host-context.test.d.ts.map +1 -0
- package/dist/ui/host-context.test.js +160 -0
- package/dist/ui/host-context.test.js.map +1 -0
- package/dist/ui/host-document.d.ts +25 -0
- package/dist/ui/host-document.d.ts.map +1 -0
- package/dist/ui/host-document.js +93 -0
- package/dist/ui/host-document.js.map +1 -0
- package/dist/ui/host-document.test.d.ts +2 -0
- package/dist/ui/host-document.test.d.ts.map +1 -0
- package/dist/ui/host-document.test.js +112 -0
- package/dist/ui/host-document.test.js.map +1 -0
- package/dist/ui/host-widgets.d.ts +8 -0
- package/dist/ui/host-widgets.d.ts.map +1 -0
- package/dist/ui/host-widgets.js +18 -0
- package/dist/ui/host-widgets.js.map +1 -0
- package/dist/ui/humanize-key.d.ts +11 -0
- package/dist/ui/humanize-key.d.ts.map +1 -0
- package/dist/ui/humanize-key.js +26 -0
- package/dist/ui/humanize-key.js.map +1 -0
- package/dist/ui/humanize-key.test.d.ts +2 -0
- package/dist/ui/humanize-key.test.d.ts.map +1 -0
- package/dist/ui/humanize-key.test.js +42 -0
- package/dist/ui/humanize-key.test.js.map +1 -0
- package/dist/ui/icon.d.ts +37 -0
- package/dist/ui/icon.d.ts.map +1 -0
- package/dist/ui/icon.js +32 -0
- package/dist/ui/icon.js.map +1 -0
- package/dist/ui/id-breaks.d.ts +17 -0
- package/dist/ui/id-breaks.d.ts.map +1 -0
- package/dist/ui/id-breaks.js +36 -0
- package/dist/ui/id-breaks.js.map +1 -0
- package/dist/ui/id-breaks.test.d.ts +2 -0
- package/dist/ui/id-breaks.test.d.ts.map +1 -0
- package/dist/ui/id-breaks.test.js +37 -0
- package/dist/ui/id-breaks.test.js.map +1 -0
- package/dist/ui/id-text.d.ts +29 -0
- package/dist/ui/id-text.d.ts.map +1 -0
- package/dist/ui/id-text.js +103 -0
- package/dist/ui/id-text.js.map +1 -0
- package/dist/ui/id-text.test.d.ts +2 -0
- package/dist/ui/id-text.test.d.ts.map +1 -0
- package/dist/ui/id-text.test.js +122 -0
- package/dist/ui/id-text.test.js.map +1 -0
- package/dist/ui/index.d.ts +57 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +65 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/index.test.d.ts +2 -0
- package/dist/ui/index.test.d.ts.map +1 -0
- package/dist/ui/index.test.js +34 -0
- package/dist/ui/index.test.js.map +1 -0
- package/dist/ui/inline-budget.d.ts +35 -0
- package/dist/ui/inline-budget.d.ts.map +1 -0
- package/dist/ui/inline-budget.js +27 -0
- package/dist/ui/inline-budget.js.map +1 -0
- package/dist/ui/inline-fit-registry.d.ts +56 -0
- package/dist/ui/inline-fit-registry.d.ts.map +1 -0
- package/dist/ui/inline-fit-registry.js +114 -0
- package/dist/ui/inline-fit-registry.js.map +1 -0
- package/dist/ui/inline-fit-solve.d.ts +50 -0
- package/dist/ui/inline-fit-solve.d.ts.map +1 -0
- package/dist/ui/inline-fit-solve.js +83 -0
- package/dist/ui/inline-fit-solve.js.map +1 -0
- package/dist/ui/inline-fit-solve.test.d.ts +2 -0
- package/dist/ui/inline-fit-solve.test.d.ts.map +1 -0
- package/dist/ui/inline-fit-solve.test.js +108 -0
- package/dist/ui/inline-fit-solve.test.js.map +1 -0
- package/dist/ui/inline-fit-time.test.d.ts +2 -0
- package/dist/ui/inline-fit-time.test.d.ts.map +1 -0
- package/dist/ui/inline-fit-time.test.js +110 -0
- package/dist/ui/inline-fit-time.test.js.map +1 -0
- package/dist/ui/inline-fit.d.ts +77 -0
- package/dist/ui/inline-fit.d.ts.map +1 -0
- package/dist/ui/inline-fit.js +242 -0
- package/dist/ui/inline-fit.js.map +1 -0
- package/dist/ui/inline-fit.test-support.d.ts +26 -0
- package/dist/ui/inline-fit.test-support.d.ts.map +1 -0
- package/dist/ui/inline-fit.test-support.js +34 -0
- package/dist/ui/inline-fit.test-support.js.map +1 -0
- package/dist/ui/inline-fit.test.d.ts +2 -0
- package/dist/ui/inline-fit.test.d.ts.map +1 -0
- package/dist/ui/inline-fit.test.js +159 -0
- package/dist/ui/inline-fit.test.js.map +1 -0
- package/dist/ui/kit-labels.d.ts +80 -0
- package/dist/ui/kit-labels.d.ts.map +1 -0
- package/dist/ui/kit-labels.js +110 -0
- package/dist/ui/kit-labels.js.map +1 -0
- package/dist/ui/kit-labels.test.d.ts +2 -0
- package/dist/ui/kit-labels.test.d.ts.map +1 -0
- package/dist/ui/kit-labels.test.js +98 -0
- package/dist/ui/kit-labels.test.js.map +1 -0
- package/dist/ui/kit-type-roles.test.d.ts +2 -0
- package/dist/ui/kit-type-roles.test.d.ts.map +1 -0
- package/dist/ui/kit-type-roles.test.js +122 -0
- package/dist/ui/kit-type-roles.test.js.map +1 -0
- package/dist/ui/komet-svg.d.ts +15 -0
- package/dist/ui/komet-svg.d.ts.map +1 -0
- package/dist/ui/komet-svg.js +21 -0
- package/dist/ui/komet-svg.js.map +1 -0
- package/dist/ui/list-table.d.ts +108 -0
- package/dist/ui/list-table.d.ts.map +1 -0
- package/dist/ui/list-table.js +161 -0
- package/dist/ui/list-table.js.map +1 -0
- package/dist/ui/list-table.test.d.ts +2 -0
- package/dist/ui/list-table.test.d.ts.map +1 -0
- package/dist/ui/list-table.test.js +169 -0
- package/dist/ui/list-table.test.js.map +1 -0
- package/dist/ui/localized-app-view.d.ts +40 -0
- package/dist/ui/localized-app-view.d.ts.map +1 -0
- package/dist/ui/localized-app-view.js +71 -0
- package/dist/ui/localized-app-view.js.map +1 -0
- package/dist/ui/log-text.d.ts +24 -0
- package/dist/ui/log-text.d.ts.map +1 -0
- package/dist/ui/log-text.js +31 -0
- package/dist/ui/log-text.js.map +1 -0
- package/dist/ui/menu-item.d.ts +12 -0
- package/dist/ui/menu-item.d.ts.map +1 -0
- package/dist/ui/menu-item.js +13 -0
- package/dist/ui/menu-item.js.map +1 -0
- package/dist/ui/named-id.d.ts +23 -0
- package/dist/ui/named-id.d.ts.map +1 -0
- package/dist/ui/named-id.js +21 -0
- package/dist/ui/named-id.js.map +1 -0
- package/dist/ui/named-id.test.d.ts +2 -0
- package/dist/ui/named-id.test.d.ts.map +1 -0
- package/dist/ui/named-id.test.js +57 -0
- package/dist/ui/named-id.test.js.map +1 -0
- package/dist/ui/native-select.d.ts +17 -0
- package/dist/ui/native-select.d.ts.map +1 -0
- package/dist/ui/native-select.js +20 -0
- package/dist/ui/native-select.js.map +1 -0
- package/dist/ui/navigation-focus.d.ts +20 -0
- package/dist/ui/navigation-focus.d.ts.map +1 -0
- package/dist/ui/navigation-focus.js +25 -0
- package/dist/ui/navigation-focus.js.map +1 -0
- package/dist/ui/navigation-focus.test.d.ts +2 -0
- package/dist/ui/navigation-focus.test.d.ts.map +1 -0
- package/dist/ui/navigation-focus.test.js +28 -0
- package/dist/ui/navigation-focus.test.js.map +1 -0
- package/dist/ui/open-in-cockpit-link.d.ts +28 -0
- package/dist/ui/open-in-cockpit-link.d.ts.map +1 -0
- package/dist/ui/open-in-cockpit-link.js +41 -0
- package/dist/ui/open-in-cockpit-link.js.map +1 -0
- package/dist/ui/paged-list-footer.test.d.ts +2 -0
- package/dist/ui/paged-list-footer.test.d.ts.map +1 -0
- package/dist/ui/paged-list-footer.test.js +128 -0
- package/dist/ui/paged-list-footer.test.js.map +1 -0
- package/dist/ui/paged-rows.d.ts +24 -0
- package/dist/ui/paged-rows.d.ts.map +1 -0
- package/dist/ui/paged-rows.js +25 -0
- package/dist/ui/paged-rows.js.map +1 -0
- package/dist/ui/parse-tool-result.test.d.ts +2 -0
- package/dist/ui/parse-tool-result.test.d.ts.map +1 -0
- package/dist/ui/parse-tool-result.test.js +88 -0
- package/dist/ui/parse-tool-result.test.js.map +1 -0
- package/dist/ui/profile-gate.d.ts +37 -0
- package/dist/ui/profile-gate.d.ts.map +1 -0
- package/dist/ui/profile-gate.js +126 -0
- package/dist/ui/profile-gate.js.map +1 -0
- package/dist/ui/profile-gate.test.d.ts +2 -0
- package/dist/ui/profile-gate.test.d.ts.map +1 -0
- package/dist/ui/profile-gate.test.js +246 -0
- package/dist/ui/profile-gate.test.js.map +1 -0
- package/dist/ui/query-fallback.d.ts +27 -0
- package/dist/ui/query-fallback.d.ts.map +1 -0
- package/dist/ui/query-fallback.js +30 -0
- package/dist/ui/query-fallback.js.map +1 -0
- package/dist/ui/query-fallback.test.d.ts +2 -0
- package/dist/ui/query-fallback.test.d.ts.map +1 -0
- package/dist/ui/query-fallback.test.js +49 -0
- package/dist/ui/query-fallback.test.js.map +1 -0
- package/dist/ui/row-card.d.ts +13 -0
- package/dist/ui/row-card.d.ts.map +1 -0
- package/dist/ui/row-card.js +11 -0
- package/dist/ui/row-card.js.map +1 -0
- package/dist/ui/section.d.ts +18 -0
- package/dist/ui/section.d.ts.map +1 -0
- package/dist/ui/section.js +14 -0
- package/dist/ui/section.js.map +1 -0
- package/dist/ui/segmented-control.d.ts +25 -0
- package/dist/ui/segmented-control.d.ts.map +1 -0
- package/dist/ui/segmented-control.js +22 -0
- package/dist/ui/segmented-control.js.map +1 -0
- package/dist/ui/settings-labels.d.ts +33 -0
- package/dist/ui/settings-labels.d.ts.map +1 -0
- package/dist/ui/settings-labels.js +50 -0
- package/dist/ui/settings-labels.js.map +1 -0
- package/dist/ui/settings-layout.d.ts +29 -0
- package/dist/ui/settings-layout.d.ts.map +1 -0
- package/dist/ui/settings-layout.js +49 -0
- package/dist/ui/settings-layout.js.map +1 -0
- package/dist/ui/settings-layout.test.d.ts +2 -0
- package/dist/ui/settings-layout.test.d.ts.map +1 -0
- package/dist/ui/settings-layout.test.js +73 -0
- package/dist/ui/settings-layout.test.js.map +1 -0
- package/dist/ui/settings.d.ts +47 -0
- package/dist/ui/settings.d.ts.map +1 -0
- package/dist/ui/settings.js +48 -0
- package/dist/ui/settings.js.map +1 -0
- package/dist/ui/settings.test.d.ts +2 -0
- package/dist/ui/settings.test.d.ts.map +1 -0
- package/dist/ui/settings.test.js +38 -0
- package/dist/ui/settings.test.js.map +1 -0
- package/dist/ui/shell-host.d.ts +46 -0
- package/dist/ui/shell-host.d.ts.map +1 -0
- package/dist/ui/shell-host.js +56 -0
- package/dist/ui/shell-host.js.map +1 -0
- package/dist/ui/shell-settings.d.ts +31 -0
- package/dist/ui/shell-settings.d.ts.map +1 -0
- package/dist/ui/shell-settings.js +97 -0
- package/dist/ui/shell-settings.js.map +1 -0
- package/dist/ui/shell-settings.test.d.ts +2 -0
- package/dist/ui/shell-settings.test.d.ts.map +1 -0
- package/dist/ui/shell-settings.test.js +108 -0
- package/dist/ui/shell-settings.test.js.map +1 -0
- package/dist/ui/shell-widgets.d.ts +14 -0
- package/dist/ui/shell-widgets.d.ts.map +1 -0
- package/dist/ui/shell-widgets.js +18 -0
- package/dist/ui/shell-widgets.js.map +1 -0
- package/dist/ui/table.d.ts +61 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +43 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tone-components.test.d.ts +2 -0
- package/dist/ui/tone-components.test.d.ts.map +1 -0
- package/dist/ui/tone-components.test.js +145 -0
- package/dist/ui/tone-components.test.js.map +1 -0
- package/dist/ui/tone-contrast.test.d.ts +2 -0
- package/dist/ui/tone-contrast.test.d.ts.map +1 -0
- package/dist/ui/tone-contrast.test.js +66 -0
- package/dist/ui/tone-contrast.test.js.map +1 -0
- package/dist/ui/toolkit-overlap.test.d.ts +2 -0
- package/dist/ui/toolkit-overlap.test.d.ts.map +1 -0
- package/dist/ui/toolkit-overlap.test.js +86 -0
- package/dist/ui/toolkit-overlap.test.js.map +1 -0
- package/dist/ui/use-apply-theme.d.ts +11 -0
- package/dist/ui/use-apply-theme.d.ts.map +1 -0
- package/dist/ui/use-apply-theme.js +37 -0
- package/dist/ui/use-apply-theme.js.map +1 -0
- package/dist/ui/use-apply-theme.test.d.ts +2 -0
- package/dist/ui/use-apply-theme.test.d.ts.map +1 -0
- package/dist/ui/use-apply-theme.test.js +102 -0
- package/dist/ui/use-apply-theme.test.js.map +1 -0
- package/dist/ui/use-bpmn-viewer.d.ts +135 -0
- package/dist/ui/use-bpmn-viewer.d.ts.map +1 -0
- package/dist/ui/use-bpmn-viewer.js +257 -0
- package/dist/ui/use-bpmn-viewer.js.map +1 -0
- package/dist/ui/use-bpmn-viewer.test.d.ts +2 -0
- package/dist/ui/use-bpmn-viewer.test.d.ts.map +1 -0
- package/dist/ui/use-bpmn-viewer.test.js +239 -0
- package/dist/ui/use-bpmn-viewer.test.js.map +1 -0
- package/dist/ui/use-detail-view.d.ts +49 -0
- package/dist/ui/use-detail-view.d.ts.map +1 -0
- package/dist/ui/use-detail-view.js +52 -0
- package/dist/ui/use-detail-view.js.map +1 -0
- package/dist/ui/use-detail-view.test.d.ts +2 -0
- package/dist/ui/use-detail-view.test.d.ts.map +1 -0
- package/dist/ui/use-detail-view.test.js +178 -0
- package/dist/ui/use-detail-view.test.js.map +1 -0
- package/dist/ui/use-paged-list-view.d.ts +48 -0
- package/dist/ui/use-paged-list-view.d.ts.map +1 -0
- package/dist/ui/use-paged-list-view.js +41 -0
- package/dist/ui/use-paged-list-view.js.map +1 -0
- package/dist/ui/use-paged-list-view.test.d.ts +2 -0
- package/dist/ui/use-paged-list-view.test.d.ts.map +1 -0
- package/dist/ui/use-paged-list-view.test.js +136 -0
- package/dist/ui/use-paged-list-view.test.js.map +1 -0
- package/dist/ui/use-paged-view-data.d.ts +103 -0
- package/dist/ui/use-paged-view-data.d.ts.map +1 -0
- package/dist/ui/use-paged-view-data.js +173 -0
- package/dist/ui/use-paged-view-data.js.map +1 -0
- package/dist/ui/use-paged-view-data.seeded.test.d.ts +2 -0
- package/dist/ui/use-paged-view-data.seeded.test.d.ts.map +1 -0
- package/dist/ui/use-paged-view-data.seeded.test.js +144 -0
- package/dist/ui/use-paged-view-data.seeded.test.js.map +1 -0
- package/dist/ui/use-paged-view-data.test.d.ts +2 -0
- package/dist/ui/use-paged-view-data.test.d.ts.map +1 -0
- package/dist/ui/use-paged-view-data.test.js +330 -0
- package/dist/ui/use-paged-view-data.test.js.map +1 -0
- package/dist/ui/use-reset-on-change.d.ts +22 -0
- package/dist/ui/use-reset-on-change.d.ts.map +1 -0
- package/dist/ui/use-reset-on-change.js +29 -0
- package/dist/ui/use-reset-on-change.js.map +1 -0
- package/dist/ui/use-reset-on-change.test.d.ts +2 -0
- package/dist/ui/use-reset-on-change.test.d.ts.map +1 -0
- package/dist/ui/use-reset-on-change.test.js +61 -0
- package/dist/ui/use-reset-on-change.test.js.map +1 -0
- package/dist/ui/use-view-data.seeded.test.d.ts +2 -0
- package/dist/ui/use-view-data.seeded.test.d.ts.map +1 -0
- package/dist/ui/use-view-data.seeded.test.js +168 -0
- package/dist/ui/use-view-data.seeded.test.js.map +1 -0
- package/dist/ui/view-data-state.d.ts +52 -0
- package/dist/ui/view-data-state.d.ts.map +1 -0
- package/dist/ui/view-data-state.js +54 -0
- package/dist/ui/view-data-state.js.map +1 -0
- package/dist/ui/view-data-state.test.d.ts +2 -0
- package/dist/ui/view-data-state.test.d.ts.map +1 -0
- package/dist/ui/view-data-state.test.js +62 -0
- package/dist/ui/view-data-state.test.js.map +1 -0
- package/dist/ui/view-meta.d.ts +70 -0
- package/dist/ui/view-meta.d.ts.map +1 -0
- package/dist/ui/view-meta.js +84 -0
- package/dist/ui/view-meta.js.map +1 -0
- package/dist/ui/view-meta.test.d.ts +2 -0
- package/dist/ui/view-meta.test.d.ts.map +1 -0
- package/dist/ui/view-meta.test.js +92 -0
- package/dist/ui/view-meta.test.js.map +1 -0
- package/dist/ui/view-refresh-state.d.ts +26 -0
- package/dist/ui/view-refresh-state.d.ts.map +1 -0
- package/dist/ui/view-refresh-state.js +15 -0
- package/dist/ui/view-refresh-state.js.map +1 -0
- package/dist/ui/widget-shell.d.ts +24 -0
- package/dist/ui/widget-shell.d.ts.map +1 -0
- package/dist/ui/widget-shell.js +50 -0
- package/dist/ui/widget-shell.js.map +1 -0
- package/dist/ui/widget-shell.test.d.ts +2 -0
- package/dist/ui/widget-shell.test.d.ts.map +1 -0
- package/dist/ui/widget-shell.test.js +41 -0
- package/dist/ui/widget-shell.test.js.map +1 -0
- package/dist/view-results.d.ts +42 -0
- package/dist/view-results.d.ts.map +1 -0
- package/dist/view-results.js +17 -0
- package/dist/view-results.js.map +1 -0
- package/dist/widget-meta-defaults.d.ts +48 -0
- package/dist/widget-meta-defaults.d.ts.map +1 -0
- package/dist/widget-meta-defaults.js +80 -0
- package/dist/widget-meta-defaults.js.map +1 -0
- package/dist/widget-meta-defaults.test.d.ts +2 -0
- package/dist/widget-meta-defaults.test.d.ts.map +1 -0
- package/dist/widget-meta-defaults.test.js +196 -0
- package/dist/widget-meta-defaults.test.js.map +1 -0
- package/dist/widget-tool-bindings.d.ts +71 -0
- package/dist/widget-tool-bindings.d.ts.map +1 -0
- package/dist/widget-tool-bindings.js +80 -0
- package/dist/widget-tool-bindings.js.map +1 -0
- package/dist/widget-tool-bindings.test.d.ts +2 -0
- package/dist/widget-tool-bindings.test.d.ts.map +1 -0
- package/dist/widget-tool-bindings.test.js +83 -0
- package/dist/widget-tool-bindings.test.js.map +1 -0
- package/dist/with-tool-errors.test.d.ts +2 -0
- package/dist/with-tool-errors.test.d.ts.map +1 -0
- package/dist/with-tool-errors.test.js +38 -0
- package/dist/with-tool-errors.test.js.map +1 -0
- package/package.json +113 -5
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { mkdtemp, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import postgres from "postgres";
|
|
5
|
+
import { afterAll, beforeAll, beforeEach, describe, expect, it } from "vitest";
|
|
6
|
+
import { createFileSystemProfileStore, mergeStoredProfile, } from "./profile-store.js";
|
|
7
|
+
import { createPostgresProfileStore, PROFILE_STORE_MIGRATIONS } from "./profile-store-postgres.js";
|
|
8
|
+
import { saveModuleSlice } from "./profile-slice.js";
|
|
9
|
+
/**
|
|
10
|
+
* Saves merge over the RAW stored document, never over its parsed view — the
|
|
11
|
+
* guard against one unknown value (or one newer build's record) wiping every
|
|
12
|
+
* module's settings on the next save. The store-agnostic behavior contract
|
|
13
|
+
* lives in `profile-store.test.ts`.
|
|
14
|
+
*/
|
|
15
|
+
describe("mergeStoredProfile", () => {
|
|
16
|
+
const NOW = "2026-10-09T12:00:00.000Z";
|
|
17
|
+
it("returns the document to persist (raw keys kept) and its typed view", () => {
|
|
18
|
+
const { document, record } = mergeStoredProfile("k", {
|
|
19
|
+
id: "k",
|
|
20
|
+
language: "fr",
|
|
21
|
+
theme: "dark",
|
|
22
|
+
extra: 1,
|
|
23
|
+
schemaVersion: 3,
|
|
24
|
+
createdAt: "c",
|
|
25
|
+
updatedAt: "u",
|
|
26
|
+
}, { modules: { notes: { sortOrder: "asc" } } }, NOW);
|
|
27
|
+
// The retired theme preference is just another raw key: kept, never read.
|
|
28
|
+
expect(document).toEqual({
|
|
29
|
+
id: "k",
|
|
30
|
+
language: "fr",
|
|
31
|
+
theme: "dark",
|
|
32
|
+
extra: 1,
|
|
33
|
+
modules: { notes: { sortOrder: "asc" } },
|
|
34
|
+
userId: undefined,
|
|
35
|
+
createdAt: "c",
|
|
36
|
+
updatedAt: NOW,
|
|
37
|
+
schemaVersion: 3,
|
|
38
|
+
});
|
|
39
|
+
expect(record).toEqual({
|
|
40
|
+
id: "k",
|
|
41
|
+
language: "system",
|
|
42
|
+
modules: { notes: { sortOrder: "asc" } },
|
|
43
|
+
createdAt: "c",
|
|
44
|
+
updatedAt: NOW,
|
|
45
|
+
schemaVersion: 3,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it("stamps createdAt on a document that carries none, and adopts a pre-baseline one", () => {
|
|
49
|
+
const { document, record } = mergeStoredProfile("k", { analyticsDefaultPeriod: "30d", schemaVersion: 1 }, {}, NOW);
|
|
50
|
+
// Adopted at the baseline: the unknown flat key stays raw, out of the view.
|
|
51
|
+
expect(document).toMatchObject({
|
|
52
|
+
createdAt: NOW,
|
|
53
|
+
schemaVersion: 3,
|
|
54
|
+
modules: {},
|
|
55
|
+
analyticsDefaultPeriod: "30d",
|
|
56
|
+
});
|
|
57
|
+
expect(record.modules).toEqual({});
|
|
58
|
+
});
|
|
59
|
+
it("starts a never-saved key from the defaults", () => {
|
|
60
|
+
const { record } = mergeStoredProfile("k", undefined, { language: "de" }, NOW, {
|
|
61
|
+
userId: "u-1",
|
|
62
|
+
});
|
|
63
|
+
expect(record).toMatchObject({ id: "k", language: "de", modules: {}, userId: "u-1" });
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
function rawDocumentContract(makeHarness) {
|
|
67
|
+
const STORED = {
|
|
68
|
+
id: "user-1",
|
|
69
|
+
userId: "user-1",
|
|
70
|
+
language: "fr", // a locale this build does not ship
|
|
71
|
+
theme: "dark", // the retired theme preference an earlier build saved
|
|
72
|
+
futureTopLevel: { nested: true },
|
|
73
|
+
modules: {
|
|
74
|
+
camunda7: { defaultEngineId: "prod-a", futureSliceField: 7 },
|
|
75
|
+
analytics: { defaultPeriod: "30d" },
|
|
76
|
+
notes: { sortOrder: "asc" },
|
|
77
|
+
},
|
|
78
|
+
createdAt: "2026-01-01T00:00:00.000Z",
|
|
79
|
+
updatedAt: "2026-01-02T00:00:00.000Z",
|
|
80
|
+
schemaVersion: 3,
|
|
81
|
+
};
|
|
82
|
+
it("reads a document with one unknown value field by field — only that field degrades", async () => {
|
|
83
|
+
const { store, seedRaw } = await makeHarness();
|
|
84
|
+
await seedRaw("user-1", STORED);
|
|
85
|
+
expect(await store.get("user-1")).toEqual({
|
|
86
|
+
id: "user-1",
|
|
87
|
+
userId: "user-1",
|
|
88
|
+
language: "system",
|
|
89
|
+
modules: STORED.modules,
|
|
90
|
+
createdAt: STORED.createdAt,
|
|
91
|
+
updatedAt: STORED.updatedAt,
|
|
92
|
+
schemaVersion: 3,
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
it("round-trips unknown top-level keys and values through a save from ANY module", async () => {
|
|
96
|
+
const { store, seedRaw, readRaw } = await makeHarness();
|
|
97
|
+
await seedRaw("user-1", STORED);
|
|
98
|
+
// The analytics settings save path, end to end.
|
|
99
|
+
const slice = await saveModuleSlice(store, "user-1", "analytics", { minBucketSize: 25 }, { userId: "user-1" });
|
|
100
|
+
const modules = { ...STORED.modules, analytics: { defaultPeriod: "30d", minBucketSize: 25 } };
|
|
101
|
+
expect(slice).toEqual(modules.analytics);
|
|
102
|
+
const saved = await store.get("user-1");
|
|
103
|
+
expect(saved?.modules).toEqual(modules);
|
|
104
|
+
expect(saved?.createdAt).toBe(STORED.createdAt);
|
|
105
|
+
expect(await readRaw("user-1")).toEqual({ ...STORED, modules, updatedAt: saved?.updatedAt });
|
|
106
|
+
});
|
|
107
|
+
it("never mangles a document from a NEWER build (rolling-deploy skew)", async () => {
|
|
108
|
+
const { store, seedRaw, readRaw } = await makeHarness();
|
|
109
|
+
const newer = {
|
|
110
|
+
...STORED,
|
|
111
|
+
language: "de",
|
|
112
|
+
schemaVersion: 99,
|
|
113
|
+
newCoreField: ["written", "by", "v99"],
|
|
114
|
+
};
|
|
115
|
+
await seedRaw("user-1", newer);
|
|
116
|
+
// Read best-effort: every field this build still understands survives.
|
|
117
|
+
expect(await store.get("user-1")).toMatchObject({
|
|
118
|
+
language: "de",
|
|
119
|
+
modules: STORED.modules,
|
|
120
|
+
});
|
|
121
|
+
const saved = await store.save("user-1", { language: "en" });
|
|
122
|
+
expect(saved).toMatchObject({ language: "en", modules: STORED.modules });
|
|
123
|
+
// Never stamped down to this build's version: the newer build reads its
|
|
124
|
+
// own document back without re-running migrations over it.
|
|
125
|
+
expect(await readRaw("user-1")).toEqual({
|
|
126
|
+
...newer,
|
|
127
|
+
language: "en",
|
|
128
|
+
updatedAt: saved.updatedAt,
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
describe("createFileSystemProfileStore (raw documents)", () => {
|
|
133
|
+
rawDocumentContract(async () => {
|
|
134
|
+
const dir = await mkdtemp(path.join(tmpdir(), "profile-store-raw-"));
|
|
135
|
+
const file = (key) => path.join(dir, `${encodeURIComponent(key)}.json`);
|
|
136
|
+
return {
|
|
137
|
+
store: createFileSystemProfileStore({ dir }),
|
|
138
|
+
seedRaw: (key, doc) => writeFile(file(key), JSON.stringify(doc), "utf-8"),
|
|
139
|
+
readRaw: async (key) => JSON.parse(await readFile(file(key), "utf-8")),
|
|
140
|
+
};
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
// Opt-in integration slice: only with TEST_DATABASE_URL (`pnpm test:pg`). An
|
|
144
|
+
// own schema isolates it from the other suites sharing that database.
|
|
145
|
+
const TEST_DATABASE_URL = process.env.TEST_DATABASE_URL;
|
|
146
|
+
const TEST_SCHEMA = "widget_shell_profile_store_raw_test";
|
|
147
|
+
describe.skipIf(!TEST_DATABASE_URL)("createPostgresProfileStore (raw documents)", () => {
|
|
148
|
+
let sql;
|
|
149
|
+
beforeAll(async () => {
|
|
150
|
+
sql = postgres(TEST_DATABASE_URL, {
|
|
151
|
+
max: 2,
|
|
152
|
+
onnotice: () => { },
|
|
153
|
+
connection: { search_path: TEST_SCHEMA },
|
|
154
|
+
});
|
|
155
|
+
await sql.unsafe(`DROP SCHEMA IF EXISTS ${TEST_SCHEMA} CASCADE`);
|
|
156
|
+
await sql.unsafe(`CREATE SCHEMA ${TEST_SCHEMA}`);
|
|
157
|
+
for (const migration of PROFILE_STORE_MIGRATIONS) {
|
|
158
|
+
for (const statement of migration.statements) {
|
|
159
|
+
await sql.unsafe(statement);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
beforeEach(async () => {
|
|
164
|
+
await sql `DELETE FROM user_profiles`;
|
|
165
|
+
});
|
|
166
|
+
afterAll(async () => {
|
|
167
|
+
await sql.end({ timeout: 5 });
|
|
168
|
+
});
|
|
169
|
+
rawDocumentContract(() => Promise.resolve({
|
|
170
|
+
store: createPostgresProfileStore({ sql }),
|
|
171
|
+
seedRaw: async (key, doc) => {
|
|
172
|
+
await sql `
|
|
173
|
+
INSERT INTO user_profiles (key, profile)
|
|
174
|
+
VALUES (${key}, ${sql.json(doc)})
|
|
175
|
+
`;
|
|
176
|
+
},
|
|
177
|
+
readRaw: async (key) => {
|
|
178
|
+
const rows = await sql `
|
|
179
|
+
SELECT profile FROM user_profiles WHERE key = ${key}
|
|
180
|
+
`;
|
|
181
|
+
return rows[0]?.profile;
|
|
182
|
+
},
|
|
183
|
+
}));
|
|
184
|
+
});
|
|
185
|
+
//# sourceMappingURL=profile-store-raw.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-store-raw.test.js","sourceRoot":"","sources":["../src/profile-store-raw.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type ProfileRecord, type ProfileRecordSaveInput } from "./profile-record.js";
|
|
2
|
+
/**
|
|
3
|
+
* Persistence for user profiles, keyed by the profile key (the OAuth caller's
|
|
4
|
+
* id, or `anonymous` for an explicitly declared local caller — see
|
|
5
|
+
* `resolveProfileKey` in `profile.ts`). Deliberately mirrors the
|
|
6
|
+
* toolkit's `DashboardStore` shape: an in-memory default plus a
|
|
7
|
+
* one-file-per-record filesystem store selected by an env var (and a postgres
|
|
8
|
+
* implementation in `profile-store-postgres.ts` selected by `DATABASE_URL` in
|
|
9
|
+
* the composition root). There is no cross-key ownership model — each key owns
|
|
10
|
+
* exactly its own record; the auth layer keeps unrelated callers on different
|
|
11
|
+
* keys.
|
|
12
|
+
*
|
|
13
|
+
* The full store interface is for COMPOSITION ROOTS (apps wiring
|
|
14
|
+
* `SharedResources`); modules consume the narrow {@link ProfileSource} port
|
|
15
|
+
* instead — which this interface satisfies structurally.
|
|
16
|
+
*/
|
|
17
|
+
export interface ProfileStore {
|
|
18
|
+
/**
|
|
19
|
+
* The typed view of the stored record (`parseStoredProfile`): per-field
|
|
20
|
+
* fail-soft, so an unknown value degrades only its own field and a newer
|
|
21
|
+
* build's record reads best-effort; `undefined` when nothing is stored.
|
|
22
|
+
*/
|
|
23
|
+
get(key: string): Promise<ProfileRecord | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Merge `input` over the RAW stored record (or defaults) — atomically per
|
|
26
|
+
* key, so concurrent saves of disjoint fields or module slices all survive
|
|
27
|
+
* ({@link mergeStoredProfile}); stamps `updatedAt`. `opts.userId` (the
|
|
28
|
+
* authenticated caller, when known) is stamped as the record's owner.
|
|
29
|
+
*/
|
|
30
|
+
save(key: string, input: ProfileRecordSaveInput, opts?: ProfileSaveOptions): Promise<ProfileRecord>;
|
|
31
|
+
delete(key: string): Promise<boolean>;
|
|
32
|
+
}
|
|
33
|
+
export interface ProfileSaveOptions {
|
|
34
|
+
/** The authenticated caller, stamped as the record's owner (absent for `anonymous`). */
|
|
35
|
+
userId?: string;
|
|
36
|
+
}
|
|
37
|
+
/** The outcome of {@link mergeStoredProfile}: what to persist, and what to return. */
|
|
38
|
+
export interface MergedProfile {
|
|
39
|
+
/**
|
|
40
|
+
* The complete document to persist: the RAW stored JSON — keys this build
|
|
41
|
+
* does not know and values it cannot validate included — with the save
|
|
42
|
+
* applied on top.
|
|
43
|
+
*/
|
|
44
|
+
document: Record<string, unknown>;
|
|
45
|
+
/** The typed view of `document` — what a store's `save` returns. */
|
|
46
|
+
record: ProfileRecord;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Merge a partial save over the RAW stored document (or a fresh default),
|
|
50
|
+
* preserving `id`/`userId`/`createdAt` and re-stamping `updatedAt`. Omitted
|
|
51
|
+
* input fields keep their previous value so single-field updates don't wipe
|
|
52
|
+
* the rest — and because the base is the stored JSON, not its parsed view,
|
|
53
|
+
* nothing this build cannot read is dropped either: a locale a newer build
|
|
54
|
+
* added, a top-level key it introduced, a whole newer-version document during
|
|
55
|
+
* a rolling deploy (whose `schemaVersion` is never stamped down). Shared by
|
|
56
|
+
* every store implementation (in-memory, filesystem, and the postgres sibling
|
|
57
|
+
* in `profile-store-postgres.ts`), each calling it INSIDE its per-key
|
|
58
|
+
* serialization, so the merge semantics stay single-sourced. Record-agnostic
|
|
59
|
+
* on purpose — module-specific normalization (e.g. camunda7's "empty string
|
|
60
|
+
* clears the field") happens at the owning module's save-tool boundary.
|
|
61
|
+
*/
|
|
62
|
+
export declare function mergeStoredProfile(key: string, stored: unknown, input: ProfileRecordSaveInput, now: string, opts?: ProfileSaveOptions): MergedProfile;
|
|
63
|
+
/**
|
|
64
|
+
* Process-local store. The default when `MCP_PROFILE_DIR` is unset — fine for
|
|
65
|
+
* dev and single-instance deployments; everything is lost on restart, and
|
|
66
|
+
* behind a load balancer each replica sees its own records. Each save runs
|
|
67
|
+
* synchronously inside one microtask, so saves of the same key never
|
|
68
|
+
* interleave.
|
|
69
|
+
*/
|
|
70
|
+
export declare function createInMemoryProfileStore(): ProfileStore;
|
|
71
|
+
/**
|
|
72
|
+
* Profiles stored as one JSON file per key under `dir` (`<encodeURIComponent
|
|
73
|
+
* (key)>.json`). Selected when `MCP_PROFILE_DIR` is set so preferences survive
|
|
74
|
+
* restarts. Every operation on a key runs under a per-key lock, so concurrent
|
|
75
|
+
* saves of the same key (two settings sections, two modules' save tools in one
|
|
76
|
+
* model turn) merge one after the other instead of last-write-wins; writes are
|
|
77
|
+
* atomic (temp file + rename in the same directory), so a crash mid-write
|
|
78
|
+
* can't truncate a record. The lock is process-local: the store is
|
|
79
|
+
* SINGLE-WRITER — point one server process at a directory (the postgres store
|
|
80
|
+
* is the multi-instance answer).
|
|
81
|
+
*/
|
|
82
|
+
export declare function createFileSystemProfileStore(options: {
|
|
83
|
+
dir: string;
|
|
84
|
+
}): ProfileStore;
|
|
85
|
+
//# sourceMappingURL=profile-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-store.d.ts","sourceRoot":"","sources":["../src/profile-store.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;IACpD;;;;;OAKG;IACH,IAAI,CACF,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,sBAAsB,EAC7B,IAAI,CAAC,EAAE,kBAAkB,GACxB,OAAO,CAAC,aAAa,CAAC,CAAA;IACzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAgCD,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACjC,oEAAoE;IACpE,MAAM,EAAE,aAAa,CAAA;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,kBAAkB,GACxB,aAAa,CAwBf;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI,YAAY,CAkBzD;AA8BD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAkDnF"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { PROFILE_SCHEMA_VERSION } from "./profile-constants.js";
|
|
5
|
+
import { migrateStoredProfile, parseStoredProfile } from "./profile-migrations.js";
|
|
6
|
+
import { defaultProfileRecord, projectProfileRecord, } from "./profile-record.js";
|
|
7
|
+
function nowIso() {
|
|
8
|
+
return new Date().toISOString();
|
|
9
|
+
}
|
|
10
|
+
function stripUndefined(obj) {
|
|
11
|
+
return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
|
|
12
|
+
}
|
|
13
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
14
|
+
/**
|
|
15
|
+
* One-level module-slice merge: each module key in the patch spreads over the
|
|
16
|
+
* stored slice of the SAME module (non-object slices replace), other modules'
|
|
17
|
+
* slices stay untouched. A field explicitly set to `undefined` overrides the
|
|
18
|
+
* stored value and drops out on serialization — that is how a module's save
|
|
19
|
+
* tool clears a field.
|
|
20
|
+
*/
|
|
21
|
+
function mergeModuleSlices(prev, patch) {
|
|
22
|
+
const next = { ...prev };
|
|
23
|
+
for (const [module, slice] of Object.entries(patch ?? {})) {
|
|
24
|
+
const stored = next[module];
|
|
25
|
+
next[module] = isPlainObject(stored) && isPlainObject(slice) ? { ...stored, ...slice } : slice;
|
|
26
|
+
}
|
|
27
|
+
return next;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Merge a partial save over the RAW stored document (or a fresh default),
|
|
31
|
+
* preserving `id`/`userId`/`createdAt` and re-stamping `updatedAt`. Omitted
|
|
32
|
+
* input fields keep their previous value so single-field updates don't wipe
|
|
33
|
+
* the rest — and because the base is the stored JSON, not its parsed view,
|
|
34
|
+
* nothing this build cannot read is dropped either: a locale a newer build
|
|
35
|
+
* added, a top-level key it introduced, a whole newer-version document during
|
|
36
|
+
* a rolling deploy (whose `schemaVersion` is never stamped down). Shared by
|
|
37
|
+
* every store implementation (in-memory, filesystem, and the postgres sibling
|
|
38
|
+
* in `profile-store-postgres.ts`), each calling it INSIDE its per-key
|
|
39
|
+
* serialization, so the merge semantics stay single-sourced. Record-agnostic
|
|
40
|
+
* on purpose — module-specific normalization (e.g. camunda7's "empty string
|
|
41
|
+
* clears the field") happens at the owning module's save-tool boundary.
|
|
42
|
+
*/
|
|
43
|
+
export function mergeStoredProfile(key, stored, input, now, opts) {
|
|
44
|
+
const migrated = migrateStoredProfile(stored);
|
|
45
|
+
const prev = migrated?.doc ?? { ...defaultProfileRecord(key) };
|
|
46
|
+
const prevRecord = projectProfileRecord(prev, key);
|
|
47
|
+
const document = {
|
|
48
|
+
...prev,
|
|
49
|
+
...stripUndefined(input),
|
|
50
|
+
// Module slices merge per module key, one level deep: a save carrying
|
|
51
|
+
// `modules.analytics` spreads over the STORED analytics slice (a field
|
|
52
|
+
// explicitly set to `undefined` clears on serialization) and leaves other
|
|
53
|
+
// modules' slices intact. Merging here — inside the store's per-key
|
|
54
|
+
// serialization — rather than replacing means two concurrent saves of
|
|
55
|
+
// DISJOINT fields in the same slice both survive, as long as each save
|
|
56
|
+
// carries its patch alone (`saveModuleSlice`): a slice pre-read outside
|
|
57
|
+
// this lock would carry stale values that win here.
|
|
58
|
+
modules: mergeModuleSlices(prevRecord.modules, input.modules),
|
|
59
|
+
id: key,
|
|
60
|
+
// A stamped owner sticks: a later save without auth context keeps it.
|
|
61
|
+
userId: opts?.userId ?? prevRecord.userId,
|
|
62
|
+
createdAt: prevRecord.createdAt || now,
|
|
63
|
+
updatedAt: now,
|
|
64
|
+
schemaVersion: migrated?.version ?? PROFILE_SCHEMA_VERSION,
|
|
65
|
+
};
|
|
66
|
+
return { document, record: projectProfileRecord(document, key) };
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Process-local store. The default when `MCP_PROFILE_DIR` is unset — fine for
|
|
70
|
+
* dev and single-instance deployments; everything is lost on restart, and
|
|
71
|
+
* behind a load balancer each replica sees its own records. Each save runs
|
|
72
|
+
* synchronously inside one microtask, so saves of the same key never
|
|
73
|
+
* interleave.
|
|
74
|
+
*/
|
|
75
|
+
export function createInMemoryProfileStore() {
|
|
76
|
+
const byKey = new Map();
|
|
77
|
+
const read = (key) => parseStoredProfile(byKey.get(key), key);
|
|
78
|
+
return {
|
|
79
|
+
get(key) {
|
|
80
|
+
return Promise.resolve(read(key));
|
|
81
|
+
},
|
|
82
|
+
save(key, input, opts) {
|
|
83
|
+
return Promise.resolve().then(() => {
|
|
84
|
+
const merged = mergeStoredProfile(key, byKey.get(key), input, nowIso(), opts);
|
|
85
|
+
byKey.set(key, merged.document);
|
|
86
|
+
return merged.record;
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
delete(key) {
|
|
90
|
+
return Promise.resolve(byKey.delete(key));
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The tail of each file's pending operations, keyed by absolute path —
|
|
96
|
+
* module-wide, so two store instances on the same directory (in one process)
|
|
97
|
+
* serialize too. An entry is dropped once its chain drains.
|
|
98
|
+
*/
|
|
99
|
+
const fileLocks = new Map();
|
|
100
|
+
/**
|
|
101
|
+
* Run `fn` once every earlier operation on `file` has settled — a promise
|
|
102
|
+
* chain per file, so a read-merge-write can never interleave with another one
|
|
103
|
+
* for the same key. A failed operation releases the lock like a successful one.
|
|
104
|
+
*/
|
|
105
|
+
function withFileLock(file, fn) {
|
|
106
|
+
const lockKey = path.resolve(file);
|
|
107
|
+
const run = (fileLocks.get(lockKey) ?? Promise.resolve()).then(fn);
|
|
108
|
+
const tail = run.then(() => undefined, () => undefined);
|
|
109
|
+
fileLocks.set(lockKey, tail);
|
|
110
|
+
void tail.then(() => {
|
|
111
|
+
if (fileLocks.get(lockKey) === tail)
|
|
112
|
+
fileLocks.delete(lockKey);
|
|
113
|
+
});
|
|
114
|
+
return run;
|
|
115
|
+
}
|
|
116
|
+
const isMissing = (err) => err.code === "ENOENT";
|
|
117
|
+
/**
|
|
118
|
+
* Profiles stored as one JSON file per key under `dir` (`<encodeURIComponent
|
|
119
|
+
* (key)>.json`). Selected when `MCP_PROFILE_DIR` is set so preferences survive
|
|
120
|
+
* restarts. Every operation on a key runs under a per-key lock, so concurrent
|
|
121
|
+
* saves of the same key (two settings sections, two modules' save tools in one
|
|
122
|
+
* model turn) merge one after the other instead of last-write-wins; writes are
|
|
123
|
+
* atomic (temp file + rename in the same directory), so a crash mid-write
|
|
124
|
+
* can't truncate a record. The lock is process-local: the store is
|
|
125
|
+
* SINGLE-WRITER — point one server process at a directory (the postgres store
|
|
126
|
+
* is the multi-instance answer).
|
|
127
|
+
*/
|
|
128
|
+
export function createFileSystemProfileStore(options) {
|
|
129
|
+
const { dir } = options;
|
|
130
|
+
const fileFor = (key) => path.join(dir, `${encodeURIComponent(key)}.json`);
|
|
131
|
+
/** The stored JSON, `undefined` when there is no file or it is not JSON. */
|
|
132
|
+
const readJson = async (key) => {
|
|
133
|
+
let raw;
|
|
134
|
+
try {
|
|
135
|
+
raw = await fs.readFile(fileFor(key), "utf-8");
|
|
136
|
+
}
|
|
137
|
+
catch (err) {
|
|
138
|
+
if (isMissing(err))
|
|
139
|
+
return undefined;
|
|
140
|
+
throw err;
|
|
141
|
+
}
|
|
142
|
+
// A file that is not JSON at all (hand-edited, foreign) cannot be merged
|
|
143
|
+
// over — it reads as "no record" and the next save replaces it. Valid JSON
|
|
144
|
+
// is never discarded: unknown keys and values survive every save.
|
|
145
|
+
try {
|
|
146
|
+
return JSON.parse(raw);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
return {
|
|
153
|
+
get: async (key) => parseStoredProfile(await readJson(key), key),
|
|
154
|
+
save(key, input, opts) {
|
|
155
|
+
const file = fileFor(key);
|
|
156
|
+
return withFileLock(file, async () => {
|
|
157
|
+
const merged = mergeStoredProfile(key, await readJson(key), input, nowIso(), opts);
|
|
158
|
+
await fs.mkdir(dir, { recursive: true });
|
|
159
|
+
// Unique tmp name per write, renamed over the record in one step.
|
|
160
|
+
const tmp = `${file}.${randomUUID()}.tmp`;
|
|
161
|
+
await fs.writeFile(tmp, JSON.stringify(merged.document, null, 2), "utf-8");
|
|
162
|
+
await fs.rename(tmp, file);
|
|
163
|
+
return merged.record;
|
|
164
|
+
});
|
|
165
|
+
},
|
|
166
|
+
delete(key) {
|
|
167
|
+
const file = fileFor(key);
|
|
168
|
+
return withFileLock(file, async () => {
|
|
169
|
+
try {
|
|
170
|
+
await fs.unlink(file);
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
if (isMissing(err))
|
|
175
|
+
return false;
|
|
176
|
+
throw err;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
},
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=profile-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-store.js","sourceRoot":"","sources":["../src/profile-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-store.test.d.ts","sourceRoot":"","sources":["../src/profile-store.test.ts"],"names":[],"mappings":""}
|