@miragon/mcp-toolkit-ui 2.7.0 → 2.8.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 +7 -4
- package/dist/app/adapt-data-widget.d.ts +1 -22
- package/dist/app/adapt-data-widget.d.ts.map +1 -1
- package/dist/app/adapt-data-widget.js +1 -35
- package/dist/app/adapt-data-widget.js.map +1 -1
- package/dist/app/builder/BuilderBanners.js +1 -1
- package/dist/app/builder/BuilderBanners.js.map +1 -1
- package/dist/app/builder/CanvasRow.d.ts +4 -2
- package/dist/app/builder/CanvasRow.d.ts.map +1 -1
- package/dist/app/builder/CanvasRow.js +21 -7
- package/dist/app/builder/CanvasRow.js.map +1 -1
- package/dist/app/builder/CatalogueSheet.d.ts.map +1 -1
- package/dist/app/builder/CatalogueSheet.js +11 -4
- package/dist/app/builder/CatalogueSheet.js.map +1 -1
- package/dist/app/builder/CellPropsSheet.d.ts +7 -3
- package/dist/app/builder/CellPropsSheet.d.ts.map +1 -1
- package/dist/app/builder/CellPropsSheet.js +10 -3
- package/dist/app/builder/CellPropsSheet.js.map +1 -1
- package/dist/app/builder/DiscardDialog.d.ts +18 -0
- package/dist/app/builder/DiscardDialog.d.ts.map +1 -0
- package/dist/app/builder/DiscardDialog.js +18 -0
- package/dist/app/builder/DiscardDialog.js.map +1 -0
- package/dist/app/builder/LayoutSurface.d.ts +33 -9
- package/dist/app/builder/LayoutSurface.d.ts.map +1 -1
- package/dist/app/builder/LayoutSurface.js +74 -23
- package/dist/app/builder/LayoutSurface.js.map +1 -1
- package/dist/app/builder/PipelineStrip.d.ts +2 -1
- package/dist/app/builder/PipelineStrip.d.ts.map +1 -1
- package/dist/app/builder/PipelineStrip.js +26 -13
- package/dist/app/builder/PipelineStrip.js.map +1 -1
- package/dist/app/builder/SaveDialog.d.ts +9 -1
- package/dist/app/builder/SaveDialog.d.ts.map +1 -1
- package/dist/app/builder/SaveDialog.js +8 -2
- package/dist/app/builder/SaveDialog.js.map +1 -1
- package/dist/app/builder/Toolbar.d.ts +12 -4
- package/dist/app/builder/Toolbar.d.ts.map +1 -1
- package/dist/app/builder/Toolbar.js +18 -7
- package/dist/app/builder/Toolbar.js.map +1 -1
- package/dist/app/builder/Workspace.d.ts +23 -3
- package/dist/app/builder/Workspace.d.ts.map +1 -1
- package/dist/app/builder/Workspace.js +58 -8
- package/dist/app/builder/Workspace.js.map +1 -1
- package/dist/app/builder/builder-model.d.ts +143 -1
- package/dist/app/builder/builder-model.d.ts.map +1 -1
- package/dist/app/builder/builder-model.js +191 -1
- package/dist/app/builder/builder-model.js.map +1 -1
- package/dist/app/builder/reveal.d.ts +10 -0
- package/dist/app/builder/reveal.d.ts.map +1 -0
- package/dist/app/builder/reveal.js +10 -0
- package/dist/app/builder/reveal.js.map +1 -0
- package/dist/app/builder/use-builder-catalogue.d.ts +4 -1
- package/dist/app/builder/use-builder-catalogue.d.ts.map +1 -1
- package/dist/app/builder/use-builder-catalogue.js +44 -17
- package/dist/app/builder/use-builder-catalogue.js.map +1 -1
- package/dist/app/builder/use-builder-session.d.ts +30 -0
- package/dist/app/builder/use-builder-session.d.ts.map +1 -0
- package/dist/app/builder/use-builder-session.js +58 -0
- package/dist/app/builder/use-builder-session.js.map +1 -0
- package/dist/app/builder/use-display-resolver.d.ts +17 -0
- package/dist/app/builder/use-display-resolver.d.ts.map +1 -0
- package/dist/app/builder/use-display-resolver.js +16 -0
- package/dist/app/builder/use-display-resolver.js.map +1 -0
- package/dist/app/index.d.ts +8 -3
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.js +8 -2
- package/dist/app/index.js.map +1 -1
- package/dist/app/layout-builder.d.ts +13 -25
- package/dist/app/layout-builder.d.ts.map +1 -1
- package/dist/app/layout-builder.js +75 -81
- package/dist/app/layout-builder.js.map +1 -1
- package/dist/app/mcp-app-view-chrome.d.ts +12 -3
- package/dist/app/mcp-app-view-chrome.d.ts.map +1 -1
- package/dist/app/mcp-app-view-chrome.js +21 -5
- package/dist/app/mcp-app-view-chrome.js.map +1 -1
- package/dist/app/mcp-app-view-states.d.ts +11 -3
- package/dist/app/mcp-app-view-states.d.ts.map +1 -1
- package/dist/app/mcp-app-view-states.js +29 -8
- package/dist/app/mcp-app-view-states.js.map +1 -1
- package/dist/app/mcp-app-view.d.ts +33 -1
- package/dist/app/mcp-app-view.d.ts.map +1 -1
- package/dist/app/mcp-app-view.js +181 -127
- package/dist/app/mcp-app-view.js.map +1 -1
- package/dist/app/mcp-toolkit-app.d.ts +6 -1
- package/dist/app/mcp-toolkit-app.d.ts.map +1 -1
- package/dist/app/mcp-toolkit-app.js +8 -1
- package/dist/app/mcp-toolkit-app.js.map +1 -1
- package/dist/app/mcp-use-host-bridge.d.ts +15 -6
- package/dist/app/mcp-use-host-bridge.d.ts.map +1 -1
- package/dist/app/mcp-use-host-bridge.js +51 -22
- package/dist/app/mcp-use-host-bridge.js.map +1 -1
- package/dist/app/model-context.d.ts +71 -0
- package/dist/app/model-context.d.ts.map +1 -0
- package/dist/app/model-context.js +101 -0
- package/dist/app/model-context.js.map +1 -0
- package/dist/app/use-build-mode-focus.d.ts +33 -0
- package/dist/app/use-build-mode-focus.d.ts.map +1 -0
- package/dist/app/use-build-mode-focus.js +59 -0
- package/dist/app/use-build-mode-focus.js.map +1 -0
- package/dist/app/use-view-actions.d.ts +31 -0
- package/dist/app/use-view-actions.d.ts.map +1 -0
- package/dist/app/use-view-actions.js +81 -0
- package/dist/app/use-view-actions.js.map +1 -0
- package/dist/app/use-view-lifecycle.d.ts +4 -0
- package/dist/app/use-view-lifecycle.d.ts.map +1 -1
- package/dist/app/use-view-lifecycle.js +2 -0
- package/dist/app/use-view-lifecycle.js.map +1 -1
- package/dist/app/view-lifecycle.d.ts +80 -4
- package/dist/app/view-lifecycle.d.ts.map +1 -1
- package/dist/app/view-lifecycle.js +90 -3
- package/dist/app/view-lifecycle.js.map +1 -1
- package/dist/app/widget-fixture.d.ts +10 -3
- package/dist/app/widget-fixture.d.ts.map +1 -1
- package/dist/app/widget-fixture.js +21 -8
- package/dist/app/widget-fixture.js.map +1 -1
- package/dist/app/widget-props-sheet.d.ts +3 -1
- package/dist/app/widget-props-sheet.d.ts.map +1 -1
- package/dist/app/widget-props-sheet.js +22 -10
- package/dist/app/widget-props-sheet.js.map +1 -1
- package/dist/app/widget-renderer.js +1 -1
- package/dist/app/widget-renderer.js.map +1 -1
- package/dist/components/DrillButton.d.ts +9 -6
- package/dist/components/DrillButton.d.ts.map +1 -1
- package/dist/components/DrillButton.js +8 -6
- package/dist/components/DrillButton.js.map +1 -1
- package/dist/components/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState.js +4 -2
- package/dist/components/EmptyState.js.map +1 -1
- package/dist/components/ErrorState.d.ts +5 -2
- package/dist/components/ErrorState.d.ts.map +1 -1
- package/dist/components/ErrorState.js +25 -8
- package/dist/components/ErrorState.js.map +1 -1
- package/dist/components/FilterBar.d.ts +15 -4
- package/dist/components/FilterBar.d.ts.map +1 -1
- package/dist/components/FilterBar.js +11 -6
- package/dist/components/FilterBar.js.map +1 -1
- package/dist/components/KpiGrid.d.ts +66 -21
- package/dist/components/KpiGrid.d.ts.map +1 -1
- package/dist/components/KpiGrid.js +101 -34
- package/dist/components/KpiGrid.js.map +1 -1
- package/dist/components/ListFooter.d.ts +31 -4
- package/dist/components/ListFooter.d.ts.map +1 -1
- package/dist/components/ListFooter.js +30 -11
- package/dist/components/ListFooter.js.map +1 -1
- package/dist/components/PagedListFooter.d.ts +57 -0
- package/dist/components/PagedListFooter.d.ts.map +1 -0
- package/dist/components/PagedListFooter.js +27 -0
- package/dist/components/PagedListFooter.js.map +1 -0
- package/dist/components/Pills.d.ts +27 -7
- package/dist/components/Pills.d.ts.map +1 -1
- package/dist/components/Pills.js +21 -6
- package/dist/components/Pills.js.map +1 -1
- package/dist/components/SectionHeading.d.ts +3 -1
- package/dist/components/SectionHeading.d.ts.map +1 -1
- package/dist/components/SectionHeading.js +6 -2
- package/dist/components/SectionHeading.js.map +1 -1
- package/dist/components/Toast.d.ts +9 -3
- package/dist/components/Toast.d.ts.map +1 -1
- package/dist/components/Toast.js +31 -16
- package/dist/components/Toast.js.map +1 -1
- package/dist/components/WidgetHeader.d.ts +34 -10
- package/dist/components/WidgetHeader.d.ts.map +1 -1
- package/dist/components/WidgetHeader.js +11 -6
- package/dist/components/WidgetHeader.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/tool-result-recovery-model.d.ts +155 -0
- package/dist/hooks/tool-result-recovery-model.d.ts.map +1 -0
- package/dist/hooks/tool-result-recovery-model.js +273 -0
- package/dist/hooks/tool-result-recovery-model.js.map +1 -0
- package/dist/hooks/use-tool-query.d.ts +56 -14
- package/dist/hooks/use-tool-query.d.ts.map +1 -1
- package/dist/hooks/use-tool-query.js +102 -25
- package/dist/hooks/use-tool-query.js.map +1 -1
- package/dist/hooks/use-tool-result-recovery.d.ts +47 -52
- package/dist/hooks/use-tool-result-recovery.d.ts.map +1 -1
- package/dist/hooks/use-tool-result-recovery.js +58 -120
- package/dist/hooks/use-tool-result-recovery.js.map +1 -1
- package/dist/hooks/use-view-data.d.ts +52 -10
- package/dist/hooks/use-view-data.d.ts.map +1 -1
- package/dist/hooks/use-view-data.js +81 -16
- package/dist/hooks/use-view-data.js.map +1 -1
- package/dist/hooks/use-view-tool-query.d.ts +12 -7
- package/dist/hooks/use-view-tool-query.d.ts.map +1 -1
- package/dist/hooks/use-view-tool-query.js +15 -14
- package/dist/hooks/use-view-tool-query.js.map +1 -1
- package/dist/index.d.ts +17 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -6
- package/dist/index.js.map +1 -1
- package/dist/lib/focus-return.d.ts +61 -0
- package/dist/lib/focus-return.d.ts.map +1 -0
- package/dist/lib/focus-return.js +46 -0
- package/dist/lib/focus-return.js.map +1 -0
- package/dist/lib/parse-tool-result.d.ts +23 -1
- package/dist/lib/parse-tool-result.d.ts.map +1 -1
- package/dist/lib/parse-tool-result.js +38 -2
- package/dist/lib/parse-tool-result.js.map +1 -1
- package/dist/lib/toast-model.d.ts +41 -1
- package/dist/lib/toast-model.d.ts.map +1 -1
- package/dist/lib/toast-model.js +67 -1
- package/dist/lib/toast-model.js.map +1 -1
- package/dist/lib/tone-utils.d.ts +58 -6
- package/dist/lib/tone-utils.d.ts.map +1 -1
- package/dist/lib/tone-utils.js +66 -4
- package/dist/lib/tone-utils.js.map +1 -1
- package/dist/lib/tool-query.d.ts +107 -0
- package/dist/lib/tool-query.d.ts.map +1 -0
- package/dist/lib/tool-query.js +182 -0
- package/dist/lib/tool-query.js.map +1 -0
- package/dist/lib/tool-result-observer.d.ts +108 -0
- package/dist/lib/tool-result-observer.d.ts.map +1 -0
- package/dist/lib/tool-result-observer.js +158 -0
- package/dist/lib/tool-result-observer.js.map +1 -0
- package/dist/lib/typography.d.ts +37 -0
- package/dist/lib/typography.d.ts.map +1 -0
- package/dist/lib/typography.js +41 -0
- package/dist/lib/typography.js.map +1 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +11 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/locale/index.d.ts +1 -1
- package/dist/locale/index.d.ts.map +1 -1
- package/dist/locale/message-types.d.ts +117 -4
- package/dist/locale/message-types.d.ts.map +1 -1
- package/dist/locale/messages-de.d.ts.map +1 -1
- package/dist/locale/messages-de.js +44 -10
- package/dist/locale/messages-de.js.map +1 -1
- package/dist/locale/messages-en.d.ts.map +1 -1
- package/dist/locale/messages-en.js +44 -10
- package/dist/locale/messages-en.js.map +1 -1
- package/dist/locale/toolkit-messages.d.ts +19 -1
- package/dist/locale/toolkit-messages.d.ts.map +1 -1
- package/dist/locale/toolkit-messages.js +54 -1
- package/dist/locale/toolkit-messages.js.map +1 -1
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/alert.d.ts.map +1 -1
- package/dist/primitives/alert.js +2 -0
- package/dist/primitives/alert.js.map +1 -1
- package/dist/primitives/badge.d.ts +1 -1
- package/dist/primitives/badge.d.ts.map +1 -1
- package/dist/primitives/badge.js +9 -4
- package/dist/primitives/badge.js.map +1 -1
- package/dist/primitives/button.d.ts +1 -1
- package/dist/primitives/button.js +1 -1
- package/dist/primitives/button.js.map +1 -1
- package/dist/primitives/dialog.d.ts +1 -1
- package/dist/primitives/dialog.d.ts.map +1 -1
- package/dist/primitives/dialog.js +10 -3
- package/dist/primitives/dialog.js.map +1 -1
- package/dist/primitives/select.js +1 -1
- package/dist/primitives/select.js.map +1 -1
- package/dist/primitives/sheet.d.ts +1 -1
- package/dist/primitives/sheet.d.ts.map +1 -1
- package/dist/primitives/sheet.js +6 -2
- package/dist/primitives/sheet.js.map +1 -1
- package/dist/providers/query-provider.d.ts +32 -1
- package/dist/providers/query-provider.d.ts.map +1 -1
- package/dist/providers/query-provider.js +53 -4
- package/dist/providers/query-provider.js.map +1 -1
- package/dist/render-cases-primitives.js +1 -1
- package/dist/render-cases-primitives.js.map +1 -1
- package/dist/render-cases.d.ts.map +1 -1
- package/dist/render-cases.js +30 -6
- package/dist/render-cases.js.map +1 -1
- package/dist/render-effects.d.ts +42 -0
- package/dist/render-effects.d.ts.map +1 -0
- package/dist/render-effects.js +81 -0
- package/dist/render-effects.js.map +1 -0
- package/dist/theme/create-theme.d.ts +19 -1
- package/dist/theme/create-theme.d.ts.map +1 -1
- package/dist/theme/create-theme.js +15 -0
- package/dist/theme/create-theme.js.map +1 -1
- package/package.json +5 -4
- package/src/app/adapt-data-widget.tsx +2 -42
- package/src/app/builder/BuilderBanners.tsx +1 -1
- package/src/app/builder/CanvasRow.tsx +63 -17
- package/src/app/builder/CatalogueSheet.tsx +50 -29
- package/src/app/builder/CellPropsSheet.tsx +17 -2
- package/src/app/builder/DiscardDialog.tsx +59 -0
- package/src/app/builder/LayoutSurface.tsx +206 -66
- package/src/app/builder/PipelineStrip.tsx +253 -153
- package/src/app/builder/SaveDialog.tsx +14 -2
- package/src/app/builder/Toolbar.tsx +144 -59
- package/src/app/builder/Workspace.tsx +226 -58
- package/src/app/builder/builder-model.ts +341 -2
- package/src/app/builder/builder-model.ux.test.ts +456 -0
- package/src/app/builder/builder-ux.test.tsx +844 -0
- package/src/app/builder/reveal.ts +10 -0
- package/src/app/builder/use-builder-catalogue.ts +56 -19
- package/src/app/builder/use-builder-session.ts +68 -0
- package/src/app/builder/use-display-resolver.ts +24 -0
- package/src/app/index.ts +12 -2
- package/src/app/layout-builder.tsx +178 -191
- package/src/app/mcp-app-view-chrome.test.tsx +141 -1
- package/src/app/mcp-app-view-chrome.tsx +56 -6
- package/src/app/mcp-app-view-states.tsx +51 -11
- package/src/app/mcp-app-view.effects.test.tsx +292 -0
- package/src/app/mcp-app-view.test.tsx +222 -2
- package/src/app/mcp-app-view.tsx +267 -117
- package/src/app/mcp-toolkit-app.test.tsx +40 -0
- package/src/app/mcp-toolkit-app.tsx +8 -1
- package/src/app/mcp-use-host-bridge.test.tsx +180 -0
- package/src/app/mcp-use-host-bridge.tsx +67 -24
- package/src/app/model-context.test.tsx +116 -0
- package/src/app/model-context.tsx +125 -0
- package/src/app/use-build-mode-focus.ts +62 -0
- package/src/app/use-view-actions.ts +89 -0
- package/src/app/use-view-lifecycle.ts +6 -0
- package/src/app/view-lifecycle.test.ts +216 -0
- package/src/app/view-lifecycle.ts +165 -5
- package/src/app/widget-fixture.effects.test.tsx +51 -0
- package/src/app/widget-fixture.render.test.tsx +81 -0
- package/src/app/widget-fixture.tsx +34 -11
- package/src/app/widget-props-sheet.tsx +57 -16
- package/src/app/widget-renderer.tsx +1 -1
- package/src/components/DrillButton.tsx +23 -10
- package/src/components/EmptyState.tsx +6 -4
- package/src/components/ErrorState.tsx +31 -9
- package/src/components/FilterBar.test.tsx +82 -0
- package/src/components/FilterBar.tsx +52 -26
- package/src/components/KpiGrid.test.tsx +279 -0
- package/src/components/KpiGrid.tsx +297 -90
- package/src/components/ListFooter.test.tsx +116 -0
- package/src/components/ListFooter.tsx +102 -15
- package/src/components/PagedListFooter.test.tsx +140 -0
- package/src/components/PagedListFooter.tsx +107 -0
- package/src/components/Pills.test.tsx +77 -0
- package/src/components/Pills.tsx +63 -10
- package/src/components/SectionHeading.tsx +9 -3
- package/src/components/Toast.tsx +37 -19
- package/src/components/WidgetHeader.test.tsx +78 -0
- package/src/components/WidgetHeader.tsx +63 -16
- package/src/components/feedback-states.test.tsx +98 -9
- package/src/components/tone-figures.test.tsx +8 -4
- package/src/hooks/index.ts +6 -3
- package/src/hooks/tool-result-recovery-model.test.ts +744 -0
- package/src/hooks/tool-result-recovery-model.ts +418 -0
- package/src/hooks/use-tool-query.effects.test.tsx +205 -0
- package/src/hooks/use-tool-query.ts +156 -33
- package/src/hooks/use-tool-result-recovery.effects.test.tsx +141 -0
- package/src/hooks/use-tool-result-recovery.test.ts +3 -4
- package/src/hooks/use-tool-result-recovery.ts +84 -142
- package/src/hooks/use-view-data.test.tsx +118 -9
- package/src/hooks/use-view-data.ts +128 -18
- package/src/hooks/use-view-tool-query.ts +25 -19
- package/src/i18n-coverage.test.tsx +104 -2
- package/src/index.ts +48 -11
- package/src/lib/focus-return.test.ts +288 -0
- package/src/lib/focus-return.ts +96 -0
- package/src/lib/parse-tool-result.test.ts +46 -1
- package/src/lib/parse-tool-result.ts +40 -2
- package/src/lib/toast-model.test.ts +166 -1
- package/src/lib/toast-model.ts +104 -2
- package/src/lib/tone-utils.test.ts +86 -10
- package/src/lib/tone-utils.ts +89 -8
- package/src/lib/tool-query.test.ts +569 -0
- package/src/lib/tool-query.ts +253 -0
- package/src/lib/tool-result-observer.test.ts +296 -0
- package/src/lib/tool-result-observer.ts +211 -0
- package/src/lib/typography.test.ts +45 -0
- package/src/lib/typography.ts +47 -0
- package/src/lib/utils.ts +12 -1
- package/src/locale/index.ts +1 -0
- package/src/locale/message-types.ts +118 -2
- package/src/locale/messages-de.ts +49 -10
- package/src/locale/messages-en.ts +49 -10
- package/src/locale/toolkit-messages.test.ts +133 -0
- package/src/locale/toolkit-messages.ts +63 -2
- package/src/primitives/alert.tsx +3 -0
- package/src/primitives/badge.tsx +9 -4
- package/src/primitives/button.tsx +1 -1
- package/src/primitives/dialog.tsx +10 -1
- package/src/primitives/select.tsx +1 -1
- package/src/primitives/sheet.tsx +7 -0
- package/src/providers/query-provider.test.tsx +154 -0
- package/src/providers/query-provider.tsx +66 -5
- package/src/render-cases-primitives.tsx +1 -1
- package/src/render-cases.tsx +38 -6
- package/src/render-effects.tsx +96 -0
- package/src/theme/cd-tokens.test.ts +3 -1
- package/src/theme/create-theme.test.ts +10 -0
- package/src/theme/create-theme.ts +28 -0
- package/src/theme/theme-css.test.ts +51 -0
- package/src/theme.css +31 -1
- package/ui-catalog.json +448 -41
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AvailableStep, KeyCatalogEntry, PipelineContext, PipelineStepRef, ReachableWidget, UnreachableWidget } from "@miragon/mcp-toolkit-core";
|
|
1
|
+
import type { AvailableStep, DisplayText, KeyCatalogEntry, PipelineContext, PipelineStepRef, ReachableWidget, UnreachableWidget } from "@miragon/mcp-toolkit-core";
|
|
2
2
|
import { type KeyEntry } from "./builder-model.js";
|
|
3
3
|
import type { RefreshStatus } from "./labels.js";
|
|
4
4
|
/**
|
|
@@ -23,10 +23,13 @@ export declare function useBuilderCatalogue({ callTool, catalogueToolName, keyEn
|
|
|
23
23
|
liveContext: PipelineContext;
|
|
24
24
|
validationIssues: string[];
|
|
25
25
|
status: RefreshStatus;
|
|
26
|
+
loaded: boolean;
|
|
26
27
|
refreshError: string | null;
|
|
27
28
|
retryCatalogue: () => void;
|
|
28
29
|
widgetById: Map<string, ReachableWidget>;
|
|
29
30
|
propsSchemaByWidgetId: Map<string, Record<string, unknown>>;
|
|
31
|
+
displayByWidgetId: Map<string, DisplayText>;
|
|
32
|
+
appDisplayByName: Map<string, DisplayText>;
|
|
30
33
|
paletteByApp: [string, ReachableWidget[]][];
|
|
31
34
|
liveKeyCount: number;
|
|
32
35
|
stepsByApp: [string, AvailableStep[]][];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-builder-catalogue.d.ts","sourceRoot":"","sources":["../../../src/app/builder/use-builder-catalogue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"use-builder-catalogue.d.ts","sourceRoot":"","sources":["../../../src/app/builder/use-builder-catalogue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EAEb,WAAW,EACX,eAAe,EACf,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAGL,KAAK,QAAQ,EAEd,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAmBhD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,QAAQ,EAAE,CAAA;IACtB,WAAW,EAAE,eAAe,EAAE,CAAA;CAC/B;;;;;;;;;;;;;;;;;;EA6KA"}
|
|
@@ -22,6 +22,9 @@ export function useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, s
|
|
|
22
22
|
const [liveCatalog, setLiveCatalog] = useState([]);
|
|
23
23
|
const [liveSteps, setLiveSteps] = useState([]);
|
|
24
24
|
const [liveContext, setLiveContext] = useState(EMPTY_CONTEXT);
|
|
25
|
+
// The titled apps (the palette's group headings); the catalogue leaves the
|
|
26
|
+
// field out when no app has a title.
|
|
27
|
+
const [liveApps, setLiveApps] = useState([]);
|
|
25
28
|
// Pipeline validation issues from the catalogue (Finding [10]/[6]). The
|
|
26
29
|
// catalogue is fail-soft, but `render-view` is fail-hard, so we surface
|
|
27
30
|
// these so the user sees — before committing — that the pipeline as
|
|
@@ -33,6 +36,31 @@ export function useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, s
|
|
|
33
36
|
// instead of only `console.warn`-ing, so the user knows the palette/context
|
|
34
37
|
// may be stale. Cleared on the next successful refresh.
|
|
35
38
|
const [refreshError, setRefreshError] = useState(null);
|
|
39
|
+
// The first fetch has settled (answer or failure). Until then the palette
|
|
40
|
+
// shows a loading state, not "no elements" (CI §9: a skeleton while loading).
|
|
41
|
+
const [loaded, setLoaded] = useState(false);
|
|
42
|
+
// Takes over what one catalogue response carries; a field it lacks keeps
|
|
43
|
+
// the last snapshot.
|
|
44
|
+
const applySnapshot = useCallback((sc) => {
|
|
45
|
+
if (sc?.reachableWidgets)
|
|
46
|
+
setLiveReachable(sc.reachableWidgets);
|
|
47
|
+
if (sc?.unreachableWidgets)
|
|
48
|
+
setLiveUnreachable(sc.unreachableWidgets);
|
|
49
|
+
if (sc?.availableSteps)
|
|
50
|
+
setLiveSteps(sc.availableSteps);
|
|
51
|
+
if (sc?.keyCatalog)
|
|
52
|
+
setLiveCatalog(sc.keyCatalog);
|
|
53
|
+
if (sc?.context)
|
|
54
|
+
setLiveContext(toPipelineContext(sc.context));
|
|
55
|
+
// Absent `apps` means no app has a title (not "unchanged").
|
|
56
|
+
if (sc)
|
|
57
|
+
setLiveApps(sc.apps ?? []);
|
|
58
|
+
// Pipeline issues are fail-soft in the catalogue but fail-hard in
|
|
59
|
+
// render-view; surface them so the user sees the render path wouldn't
|
|
60
|
+
// run as configured (Finding [10]/[6]). Coerce undefined → [] so a
|
|
61
|
+
// fixed pipeline clears a previously-shown warning.
|
|
62
|
+
setValidationIssues(sc?.validationIssues ?? []);
|
|
63
|
+
}, []);
|
|
36
64
|
const refreshBuilder = useCallback(async () => {
|
|
37
65
|
setStatus("refreshing");
|
|
38
66
|
try {
|
|
@@ -40,22 +68,7 @@ export function useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, s
|
|
|
40
68
|
keys: entriesToKeys(keyEntries),
|
|
41
69
|
steps: stepEntries.filter((s) => s.step.trim().length > 0),
|
|
42
70
|
});
|
|
43
|
-
|
|
44
|
-
if (sc?.reachableWidgets)
|
|
45
|
-
setLiveReachable(sc.reachableWidgets);
|
|
46
|
-
if (sc?.unreachableWidgets)
|
|
47
|
-
setLiveUnreachable(sc.unreachableWidgets);
|
|
48
|
-
if (sc?.availableSteps)
|
|
49
|
-
setLiveSteps(sc.availableSteps);
|
|
50
|
-
if (sc?.keyCatalog)
|
|
51
|
-
setLiveCatalog(sc.keyCatalog);
|
|
52
|
-
if (sc?.context)
|
|
53
|
-
setLiveContext(toPipelineContext(sc.context));
|
|
54
|
-
// Pipeline issues are fail-soft in the catalogue but fail-hard in
|
|
55
|
-
// render-view; surface them so the user sees the render path wouldn't
|
|
56
|
-
// run as configured (Finding [10]/[6]). Coerce undefined → [] so a
|
|
57
|
-
// fixed pipeline clears a previously-shown warning.
|
|
58
|
-
setValidationIssues(sc?.validationIssues ?? []);
|
|
71
|
+
applySnapshot(parseToolResult(result));
|
|
59
72
|
// A successful fetch clears any stale failure banner.
|
|
60
73
|
setRefreshError(null);
|
|
61
74
|
}
|
|
@@ -73,8 +86,9 @@ export function useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, s
|
|
|
73
86
|
}
|
|
74
87
|
finally {
|
|
75
88
|
setStatus("idle");
|
|
89
|
+
setLoaded(true);
|
|
76
90
|
}
|
|
77
|
-
}, [catalogueToolName, callTool, keyEntries, stepEntries]);
|
|
91
|
+
}, [applySnapshot, catalogueToolName, callTool, keyEntries, stepEntries]);
|
|
78
92
|
const refreshRef = useRef(refreshBuilder);
|
|
79
93
|
useEffect(() => {
|
|
80
94
|
refreshRef.current = refreshBuilder;
|
|
@@ -122,6 +136,16 @@ export function useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, s
|
|
|
122
136
|
}
|
|
123
137
|
return map;
|
|
124
138
|
}, [liveReachable, liveUnreachable]);
|
|
139
|
+
// Display text (title, summary, their keys) per widget id, from both lists:
|
|
140
|
+
// a canvas cell or the props sheet may name a widget the current keys do
|
|
141
|
+
// not reach.
|
|
142
|
+
const displayByWidgetId = useMemo(() => {
|
|
143
|
+
const map = new Map();
|
|
144
|
+
for (const w of [...liveUnreachable, ...liveReachable])
|
|
145
|
+
map.set(w.id, w);
|
|
146
|
+
return map;
|
|
147
|
+
}, [liveReachable, liveUnreachable]);
|
|
148
|
+
const appDisplayByName = useMemo(() => new Map(liveApps.map((app) => [app.name, app])), [liveApps]);
|
|
125
149
|
const paletteByApp = useMemo(() => {
|
|
126
150
|
const groups = new Map();
|
|
127
151
|
for (const w of liveReachable) {
|
|
@@ -149,10 +173,13 @@ export function useBuilderCatalogue({ callTool, catalogueToolName, keyEntries, s
|
|
|
149
173
|
liveContext,
|
|
150
174
|
validationIssues,
|
|
151
175
|
status,
|
|
176
|
+
loaded,
|
|
152
177
|
refreshError,
|
|
153
178
|
retryCatalogue,
|
|
154
179
|
widgetById,
|
|
155
180
|
propsSchemaByWidgetId,
|
|
181
|
+
displayByWidgetId,
|
|
182
|
+
appDisplayByName,
|
|
156
183
|
paletteByApp,
|
|
157
184
|
liveKeyCount,
|
|
158
185
|
stepsByApp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-builder-catalogue.js","sourceRoot":"","sources":["../../../src/app/builder/use-builder-catalogue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"use-builder-catalogue.js","sourceRoot":"","sources":["../../../src/app/builder/use-builder-catalogue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type BuilderView, type DraftStatus } from "./builder-model.js";
|
|
2
|
+
/**
|
|
3
|
+
* Which builder view is shown and whether advanced mode is on. The data
|
|
4
|
+
* sources (keys, steps, context ids) and the catalogue are technical, so they
|
|
5
|
+
* live behind "Advanced"; switching it off leaves a now hidden view for the
|
|
6
|
+
* layout.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useBuilderMode(): {
|
|
9
|
+
advanced: boolean;
|
|
10
|
+
view: BuilderView;
|
|
11
|
+
setView: import("react").Dispatch<import("react").SetStateAction<BuilderView>>;
|
|
12
|
+
toggleAdvanced: () => void;
|
|
13
|
+
openDataSources: () => void;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Inline rename feedback. The reducer rejects duplicate tab labels and bumps
|
|
17
|
+
* `renameRejectedAt`; each bump shows "name already exists" until the inline
|
|
18
|
+
* editor closes (render-phase setState, the house pattern for derived state).
|
|
19
|
+
*/
|
|
20
|
+
export declare function useRenameFeedback(renameRejectedAt: number, editingTabIdx: number | null): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Tracks the draft against the view before editing and the last saved
|
|
23
|
+
* dashboard (see `draftStatus`). `snapshot` is the current `builderSnapshot`;
|
|
24
|
+
* the first one is the pre-edit baseline.
|
|
25
|
+
*/
|
|
26
|
+
export declare function useDraftStatus(snapshot: string): DraftStatus & {
|
|
27
|
+
/** Records `saved` (the snapshot that went into a saved dashboard). */
|
|
28
|
+
markSaved: (saved: string) => void;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=use-builder-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-builder-session.d.ts","sourceRoot":"","sources":["../../../src/app/builder/use-builder-session.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAA;AAM3B;;;;;GAKG;AACH,wBAAgB,cAAc;;;;;;EAc7B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAajG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG;IAC9D,uEAAuE;IACvE,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAKA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useCallback, useState } from "react";
|
|
2
|
+
import { draftStatus, viewAfterAdvancedToggle, } from "./builder-model.js";
|
|
3
|
+
// -------------------------------------------------------------------------- //
|
|
4
|
+
// Builder session state that is not the draft itself
|
|
5
|
+
// -------------------------------------------------------------------------- //
|
|
6
|
+
/**
|
|
7
|
+
* Which builder view is shown and whether advanced mode is on. The data
|
|
8
|
+
* sources (keys, steps, context ids) and the catalogue are technical, so they
|
|
9
|
+
* live behind "Advanced"; switching it off leaves a now hidden view for the
|
|
10
|
+
* layout.
|
|
11
|
+
*/
|
|
12
|
+
export function useBuilderMode() {
|
|
13
|
+
const [advanced, setAdvanced] = useState(false);
|
|
14
|
+
const [view, setView] = useState("layout");
|
|
15
|
+
const toggleAdvanced = useCallback(() => {
|
|
16
|
+
const next = !advanced;
|
|
17
|
+
setAdvanced(next);
|
|
18
|
+
setView(viewAfterAdvancedToggle(view, next));
|
|
19
|
+
}, [advanced, view]);
|
|
20
|
+
/** The empty layout's one next step: show the data sources. */
|
|
21
|
+
const openDataSources = useCallback(() => {
|
|
22
|
+
setAdvanced(true);
|
|
23
|
+
setView("pipeline");
|
|
24
|
+
}, []);
|
|
25
|
+
return { advanced, view, setView, toggleAdvanced, openDataSources };
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Inline rename feedback. The reducer rejects duplicate tab labels and bumps
|
|
29
|
+
* `renameRejectedAt`; each bump shows "name already exists" until the inline
|
|
30
|
+
* editor closes (render-phase setState, the house pattern for derived state).
|
|
31
|
+
*/
|
|
32
|
+
export function useRenameFeedback(renameRejectedAt, editingTabIdx) {
|
|
33
|
+
const [renameRejected, setRenameRejected] = useState(false);
|
|
34
|
+
const [prevRenameRejectedAt, setPrevRenameRejectedAt] = useState(renameRejectedAt);
|
|
35
|
+
if (renameRejectedAt !== prevRenameRejectedAt) {
|
|
36
|
+
setPrevRenameRejectedAt(renameRejectedAt);
|
|
37
|
+
setRenameRejected(true);
|
|
38
|
+
}
|
|
39
|
+
const [prevEditingTabIdx, setPrevEditingTabIdx] = useState(editingTabIdx);
|
|
40
|
+
if (editingTabIdx !== prevEditingTabIdx) {
|
|
41
|
+
setPrevEditingTabIdx(editingTabIdx);
|
|
42
|
+
if (editingTabIdx === null)
|
|
43
|
+
setRenameRejected(false);
|
|
44
|
+
}
|
|
45
|
+
return renameRejected;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Tracks the draft against the view before editing and the last saved
|
|
49
|
+
* dashboard (see `draftStatus`). `snapshot` is the current `builderSnapshot`;
|
|
50
|
+
* the first one is the pre-edit baseline.
|
|
51
|
+
*/
|
|
52
|
+
export function useDraftStatus(snapshot) {
|
|
53
|
+
const [baseline] = useState(snapshot);
|
|
54
|
+
const [saved, setSaved] = useState(null);
|
|
55
|
+
const markSaved = useCallback((value) => setSaved(value), []);
|
|
56
|
+
return { ...draftStatus(snapshot, baseline, saved), markSaved };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=use-builder-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-builder-session.js","sourceRoot":"","sources":["../../../src/app/builder/use-builder-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EACL,WAAW,EACX,uBAAuB,GAGxB,MAAM,oBAAoB,CAAA;AAE3B,gFAAgF;AAChF,qDAAqD;AACrD,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,QAAQ,CAAC,CAAA;IACvD,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAA;QACtB,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IACpB,+DAA+D;IAC/D,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,WAAW,CAAC,IAAI,CAAC,CAAA;QACjB,OAAO,CAAC,UAAU,CAAC,CAAA;IACrB,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAA;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,gBAAwB,EAAE,aAA4B;IACtF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAClF,IAAI,gBAAgB,KAAK,oBAAoB,EAAE,CAAC;QAC9C,uBAAuB,CAAC,gBAAgB,CAAC,CAAA;QACzC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;IACzE,IAAI,aAAa,KAAK,iBAAiB,EAAE,CAAC;QACxC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QACnC,IAAI,aAAa,KAAK,IAAI;YAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAI7C,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACrC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACvD,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;IACrE,OAAO,EAAE,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;AACjE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type DisplayKeyResolver } from "./builder-model.js";
|
|
2
|
+
/** What the builder needs to turn a definition's display text into words. */
|
|
3
|
+
export interface DisplayResolver {
|
|
4
|
+
/** The locale the builder's own text is in (a `LocaleProvider`'s, else the host's). */
|
|
5
|
+
locale: string;
|
|
6
|
+
/** Resolves a `titleKey`/`summaryKey` through the `LocaleProvider`'s translator. */
|
|
7
|
+
resolveKey: DisplayKeyResolver;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Binds `displayLabel` / `propFieldText` to the builder's locale: inline
|
|
11
|
+
* per-locale titles follow the same language as the builder chrome around
|
|
12
|
+
* them, and i18n keys resolve through the nearest `LocaleProvider`'s
|
|
13
|
+
* translator (outside one, keys stay unknown and the inline text or the id
|
|
14
|
+
* shows instead).
|
|
15
|
+
*/
|
|
16
|
+
export declare function useDisplayResolver(): DisplayResolver;
|
|
17
|
+
//# sourceMappingURL=use-display-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-display-resolver.d.ts","sourceRoot":"","sources":["../../../src/app/builder/use-display-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE7E,6EAA6E;AAC7E,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,MAAM,EAAE,MAAM,CAAA;IACd,oFAAoF;IACpF,UAAU,EAAE,kBAAkB,CAAA;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAIpD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useToolkitLocale, useTranslate } from "../../locale/locale-provider.js";
|
|
3
|
+
import { keyResolverFrom } from "./builder-model.js";
|
|
4
|
+
/**
|
|
5
|
+
* Binds `displayLabel` / `propFieldText` to the builder's locale: inline
|
|
6
|
+
* per-locale titles follow the same language as the builder chrome around
|
|
7
|
+
* them, and i18n keys resolve through the nearest `LocaleProvider`'s
|
|
8
|
+
* translator (outside one, keys stay unknown and the inline text or the id
|
|
9
|
+
* shows instead).
|
|
10
|
+
*/
|
|
11
|
+
export function useDisplayResolver() {
|
|
12
|
+
const locale = useToolkitLocale();
|
|
13
|
+
const translate = useTranslate();
|
|
14
|
+
return useMemo(() => ({ locale, resolveKey: keyResolverFrom(translate) }), [locale, translate]);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=use-display-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-display-resolver.js","sourceRoot":"","sources":["../../../src/app/builder/use-display-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAChF,OAAO,EAAE,eAAe,EAA2B,MAAM,oBAAoB,CAAA;AAU7E;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAA;IACjC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;AACjG,CAAC"}
|
package/dist/app/index.d.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
export { McpAppView } from "./mcp-app-view.js";
|
|
2
|
-
export type { McpAppViewProps, McpAppViewLabels, DescribeStep, DescribeViewError, ViewTitleLevel, ViewTitleMode, } from "./mcp-app-view.js";
|
|
2
|
+
export type { McpAppViewProps, McpAppViewLabels, DescribeStep, DescribeViewError, ViewErrorKind, RecoveryPolicy, ViewTitleLevel, ViewTitleMode, } from "./mcp-app-view.js";
|
|
3
3
|
export { McpToolkitApp, mountMcpToolkitApp } from "./mcp-toolkit-app.js";
|
|
4
|
+
export { installToolResultObserver } from "../lib/tool-result-observer.js";
|
|
5
|
+
export type { ToolObservation, ToolResultObserver } from "../lib/tool-result-observer.js";
|
|
4
6
|
export { WidgetRenderer, WidgetErrorBoundary, RenderedWidget, contextHasNoData, } from "./widget-renderer.js";
|
|
5
7
|
export type { WidgetRendererProps, WidgetComponent } from "./widget-renderer.js";
|
|
6
8
|
export { LayoutBuilder } from "./layout-builder.js";
|
|
7
9
|
export type { LayoutBuilderProps, LayoutBuilderLabels } from "./layout-builder.js";
|
|
8
|
-
export {
|
|
10
|
+
export type { BuilderExitCommit } from "./builder/builder-model.js";
|
|
11
|
+
export { adaptDataWidget } from "./adapt-data-widget.js";
|
|
12
|
+
export { HostModelContext, useHostModelContext } from "./model-context.js";
|
|
9
13
|
export type { DescribeForModel } from "./adapt-data-widget.js";
|
|
10
14
|
export { useHostActions, buildShowWidgetIntent } from "./use-host-actions.js";
|
|
11
15
|
export type { HostActions } from "./use-host-actions.js";
|
|
12
16
|
export { HostBridgeProvider, useHostBridge, useHostBridgeOrNull, toHostBridge, createChatGptHostBridge, createStandaloneHostBridge, } from "./host-bridge.js";
|
|
13
17
|
export type { HostBridge, McpUseWidgetSurface, OpenAiAppsSdk, StandaloneHostBridgeOptions, } from "./host-bridge.js";
|
|
14
|
-
export { McpUseHostBridgeProvider
|
|
18
|
+
export { McpUseHostBridgeProvider } from "./mcp-use-host-bridge.js";
|
|
19
|
+
export { useIsInsideMcpUseView } from "./model-context.js";
|
|
15
20
|
export { WidgetFixtureHost, FixtureCallToolRegistry, buildFixtureWidgetProps, useFixtureHost, } from "./widget-fixture.js";
|
|
16
21
|
export type { WidgetFixtureHostProps, FixtureWidget, FixtureToolEntry, FixtureToolResult, HostActionLog, } from "./widget-fixture.js";
|
|
17
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/app/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAIxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC1E,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACzF,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAClF,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAInE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7E,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAMxD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,2BAA2B,GAC5B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAK1D,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA"}
|
package/dist/app/index.js
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
export { McpAppView } from "./mcp-app-view.js";
|
|
2
2
|
export { McpToolkitApp, mountMcpToolkitApp } from "./mcp-toolkit-app.js";
|
|
3
|
+
// The passive host-lifecycle observer behind the stripped-result recovery
|
|
4
|
+
// (toolkit#176): installed as the bundle evaluates; a custom shell may call it
|
|
5
|
+
// explicitly before its own `bootstrapView`.
|
|
6
|
+
export { installToolResultObserver } from "../lib/tool-result-observer.js";
|
|
3
7
|
export { WidgetRenderer, WidgetErrorBoundary, RenderedWidget, contextHasNoData, } from "./widget-renderer.js";
|
|
4
8
|
export { LayoutBuilder } from "./layout-builder.js";
|
|
5
9
|
// App-level value modules that import `mcp-use/react` (ModelContext, the 2.x
|
|
6
10
|
// view hooks) — exported from this subpath only, never the root barrel.
|
|
7
|
-
export { adaptDataWidget
|
|
11
|
+
export { adaptDataWidget } from "./adapt-data-widget.js";
|
|
12
|
+
export { HostModelContext, useHostModelContext } from "./model-context.js";
|
|
8
13
|
export { useHostActions, buildShowWidgetIntent } from "./use-host-actions.js";
|
|
9
14
|
// Host-portability bridge: the seam that lets the same hand-built widget run in
|
|
10
15
|
// our mcp-use host, ChatGPT (Apps SDK), or a standalone web app against an
|
|
11
16
|
// existing MCP server. Lives under ./app because the mcp-use adapter imports
|
|
12
17
|
// `mcp-use/react` — never the root barrel.
|
|
13
18
|
export { HostBridgeProvider, useHostBridge, useHostBridgeOrNull, toHostBridge, createChatGptHostBridge, createStandaloneHostBridge, } from "./host-bridge.js";
|
|
14
|
-
export { McpUseHostBridgeProvider
|
|
19
|
+
export { McpUseHostBridgeProvider } from "./mcp-use-host-bridge.js";
|
|
20
|
+
export { useIsInsideMcpUseView } from "./model-context.js";
|
|
15
21
|
// Storybook-style harness for developing widgets in isolation with fixture
|
|
16
22
|
// data and a simulated HostBridge. Lives under ./app to keep every host-facing
|
|
17
23
|
// surface on one subpath — never the root barrel.
|
package/dist/app/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAW9C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACxE,0EAA0E;AAC1E,+EAA+E;AAC/E,6CAA6C;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAE1E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAInD,6EAA6E;AAC7E,wEAAwE;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE1E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7E,gFAAgF;AAChF,2EAA2E;AAC3E,6EAA6E;AAC7E,2CAA2C;AAC3C,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAA;AAOzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,2EAA2E;AAC3E,+EAA+E;AAC/E,kDAAkD;AAClD,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,GACf,MAAM,qBAAqB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LayoutConfig, PipelineStepRef } from "@miragon/mcp-toolkit-core";
|
|
2
|
+
import { type BuilderExitCommit } from "./builder/builder-model.js";
|
|
2
3
|
import type { LayoutBuilderLabels } from "./builder/labels.js";
|
|
3
4
|
import { type WidgetComponent } from "./widget-renderer.js";
|
|
4
5
|
export type { LayoutBuilderLabels } from "./builder/labels.js";
|
|
@@ -19,34 +20,21 @@ export interface LayoutBuilderProps {
|
|
|
19
20
|
name: string;
|
|
20
21
|
}) => void;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
-
* the
|
|
24
|
-
* the
|
|
23
|
+
* Leaves the builder. "Apply" calls it WITH the final draft (`commit`) so
|
|
24
|
+
* the parent swaps the just-built layout into its view; "Discard" calls it
|
|
25
|
+
* WITHOUT one, so the parent keeps the view as it was before editing (after
|
|
26
|
+
* a confirmation when the draft changed it). Without `onExit` the builder
|
|
27
|
+
* has no Apply, and Discard resets the draft in place.
|
|
25
28
|
*/
|
|
26
|
-
onExit?: (commit?:
|
|
27
|
-
layout: LayoutConfig;
|
|
28
|
-
keys?: Record<string, unknown>;
|
|
29
|
-
steps?: PipelineStepRef[];
|
|
30
|
-
title?: string;
|
|
31
|
-
context?: {
|
|
32
|
-
keys: Record<string, unknown>;
|
|
33
|
-
stepIds: string[];
|
|
34
|
-
stepData: Record<string, {
|
|
35
|
-
data: unknown;
|
|
36
|
-
keys: Record<string, unknown>;
|
|
37
|
-
_app: string;
|
|
38
|
-
_dataType: string;
|
|
39
|
-
}>;
|
|
40
|
-
errors: {
|
|
41
|
-
stepId: string;
|
|
42
|
-
reason: string;
|
|
43
|
-
}[];
|
|
44
|
-
};
|
|
45
|
-
}) => void;
|
|
29
|
+
onExit?: (commit?: BuilderExitCommit) => void;
|
|
46
30
|
}
|
|
47
31
|
/**
|
|
48
|
-
* The visual view builder.
|
|
49
|
-
*
|
|
32
|
+
* The visual view builder. People see widgets and steps by their titles
|
|
33
|
+
* (`title`/`titleKey` of the definitions, else the id); the data sources, the
|
|
34
|
+
* catalogue and the technical ids sit behind "Advanced". "Apply" shows the
|
|
35
|
+
* draft in the view, "Save as dashboard" stores it, "Discard" restores the
|
|
36
|
+
* view as it was. Confirms a successful save with a toast (it mounts a
|
|
37
|
+
* `ToastProvider` when none is above it — inside `McpAppView` it shares the
|
|
50
38
|
* view's). Every caption follows the active locale (`labels` overrides).
|
|
51
39
|
*/
|
|
52
40
|
export declare function LayoutBuilder(props: LayoutBuilderProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-builder.d.ts","sourceRoot":"","sources":["../../src/app/layout-builder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAuB,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"layout-builder.d.ts","sourceRoot":"","sources":["../../src/app/layout-builder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAuB,MAAM,2BAA2B,CAAA;AACnG,OAAO,EAOL,KAAK,iBAAiB,EAEvB,MAAM,4BAA4B,CAAA;AAMnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAmB9D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAO3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAM9D,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,YAAY,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAA;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACxD;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC9C;AAMD;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BActD"}
|