@object-ui/app-shell 6.2.3 → 7.1.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/CHANGELOG.md +1229 -0
- package/README.md +292 -0
- package/dist/assistant/assistantBus.d.ts +72 -0
- package/dist/assistant/assistantBus.js +133 -0
- package/dist/chrome/CommandPalette.d.ts +1 -1
- package/dist/chrome/CommandPalette.js +26 -22
- package/dist/chrome/ConditionalAuthWrapper.d.ts +1 -1
- package/dist/chrome/ConsoleToaster.d.ts +1 -1
- package/dist/chrome/ConsoleToaster.js +3 -1
- package/dist/chrome/ErrorBoundary.d.ts +1 -1
- package/dist/chrome/KeyboardShortcutsDialog.d.ts +1 -1
- package/dist/chrome/KeyboardShortcutsDialog.js +16 -5
- package/dist/chrome/LoadingScreen.d.ts +1 -1
- package/dist/chrome/LoadingScreen.js +22 -26
- package/dist/chrome/RouteFader.d.ts +1 -1
- package/dist/chrome/ThemeProvider.d.ts +1 -1
- package/dist/components/ManagedByBadge.d.ts +1 -1
- package/dist/console/AppContent.d.ts +1 -1
- package/dist/console/AppContent.js +184 -39
- package/dist/console/ConsoleShell.d.ts +7 -7
- package/dist/console/ConsoleShell.js +32 -3
- package/dist/console/ai/AiChatPage.d.ts +88 -1
- package/dist/console/ai/AiChatPage.js +747 -66
- package/dist/console/ai/ConversationsSidebar.d.ts +26 -1
- package/dist/console/ai/ConversationsSidebar.js +149 -34
- package/dist/console/ai/LiveCanvas.d.ts +28 -0
- package/dist/console/ai/LiveCanvas.js +80 -0
- package/dist/console/ai/reconcileTurn.d.ts +8 -0
- package/dist/console/ai/reconcileTurn.js +20 -0
- package/dist/console/auth/AuthPageLayout.d.ts +1 -1
- package/dist/console/auth/ForgotPasswordPage.d.ts +1 -1
- package/dist/console/auth/LoginPage.d.ts +1 -1
- package/dist/console/auth/RegisterPage.d.ts +1 -1
- package/dist/console/auth/RegisterPage.js +23 -3
- package/dist/console/cloud-connection/CloudConnectionPanel.d.ts +1 -0
- package/dist/console/cloud-connection/CloudConnectionPanel.js +169 -0
- package/dist/console/home/AppCard.d.ts +1 -1
- package/dist/console/home/AppCard.js +6 -12
- package/dist/console/home/HomeAppsStrip.d.ts +8 -0
- package/dist/console/home/HomeAppsStrip.js +61 -0
- package/dist/console/home/HomeLayout.d.ts +1 -1
- package/dist/console/home/HomeLayout.js +3 -1
- package/dist/console/home/HomePage.d.ts +1 -2
- package/dist/console/home/HomePage.js +149 -21
- package/dist/console/home/HomeRail.d.ts +22 -0
- package/dist/console/home/HomeRail.js +62 -0
- package/dist/console/home/QuickActions.d.ts +1 -1
- package/dist/console/home/QuickActions.js +3 -11
- package/dist/console/home/RecentApps.d.ts +1 -1
- package/dist/console/home/RecentApps.js +2 -2
- package/dist/console/home/StarredApps.d.ts +1 -1
- package/dist/console/home/StarredApps.js +2 -2
- package/dist/console/marketplace/InstalledListWidget.d.ts +1 -0
- package/dist/console/marketplace/InstalledListWidget.js +93 -0
- package/dist/console/marketplace/MarkdownText.d.ts +1 -1
- package/dist/console/marketplace/MarketplaceAccessDenied.d.ts +1 -1
- package/dist/console/marketplace/MarketplaceInstalledPage.d.ts +8 -14
- package/dist/console/marketplace/MarketplaceInstalledPage.js +14 -66
- package/dist/console/marketplace/MarketplacePackagePage.d.ts +1 -1
- package/dist/console/marketplace/MarketplacePackagePage.js +249 -8
- package/dist/console/marketplace/MarketplacePage.d.ts +1 -1
- package/dist/console/marketplace/MarketplacePage.js +60 -3
- package/dist/console/marketplace/PackageIcon.d.ts +1 -1
- package/dist/console/marketplace/PluginDisclosure.d.ts +14 -0
- package/dist/console/marketplace/PluginDisclosure.js +38 -0
- package/dist/console/marketplace/marketplaceApi.d.ts +123 -0
- package/dist/console/marketplace/marketplaceApi.js +254 -1
- package/dist/console/organizations/CreateWorkspaceDialog.d.ts +1 -1
- package/dist/console/organizations/OrganizationsLayout.d.ts +1 -1
- package/dist/console/organizations/OrganizationsPage.d.ts +1 -1
- package/dist/console/organizations/manage/AcceptInvitationPage.d.ts +1 -1
- package/dist/console/organizations/manage/InvitationsPage.d.ts +1 -1
- package/dist/console/organizations/manage/InviteMemberDialog.d.ts +1 -1
- package/dist/console/organizations/manage/MembersPage.d.ts +1 -1
- package/dist/console/organizations/manage/OrganizationLayout.d.ts +1 -1
- package/dist/console/organizations/manage/SettingsPage.d.ts +1 -1
- package/dist/context/CommandPaletteProvider.d.ts +44 -0
- package/dist/context/CommandPaletteProvider.js +71 -0
- package/dist/context/FavoritesProvider.d.ts +1 -1
- package/dist/context/NavigationContext.d.ts +1 -1
- package/dist/context/RecentItemsProvider.d.ts +2 -2
- package/dist/context/UserStateAdapters.d.ts +1 -1
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.js +1 -0
- package/dist/hooks/index.d.ts +5 -2
- package/dist/hooks/index.js +4 -1
- package/dist/hooks/useActionModal.d.ts +53 -0
- package/dist/hooks/useActionModal.js +111 -0
- package/dist/hooks/useChatConversation.d.ts +137 -4
- package/dist/hooks/useChatConversation.js +316 -25
- package/dist/hooks/useConsoleActionRuntime.d.ts +70 -0
- package/dist/hooks/useConsoleActionRuntime.js +564 -0
- package/dist/hooks/useConversationList.js +61 -3
- package/dist/hooks/useHomeInbox.d.ts +13 -0
- package/dist/hooks/useHomeInbox.js +142 -0
- package/dist/hooks/useNavPins.js +17 -23
- package/dist/hooks/useNavigationSync.d.ts +33 -0
- package/dist/hooks/useNavigationSync.js +98 -12
- package/dist/hooks/useReconcileOnError.d.ts +40 -0
- package/dist/hooks/useReconcileOnError.js +37 -0
- package/dist/hooks/useRecordApprovals.d.ts +18 -19
- package/dist/hooks/useRecordApprovals.js +24 -40
- package/dist/hooks/useResponsiveSidebar.js +14 -5
- package/dist/hooks/useSettleSignal.d.ts +19 -0
- package/dist/hooks/useSettleSignal.js +20 -0
- package/dist/hooks/useTrackRouteAsRecent.js +35 -0
- package/dist/hooks/useUrlOverlay.d.ts +62 -0
- package/dist/hooks/useUrlOverlay.js +88 -0
- package/dist/index.d.ts +18 -8
- package/dist/index.js +17 -5
- package/dist/layout/ActivityFeed.d.ts +1 -1
- package/dist/layout/AppHeader.d.ts +3 -2
- package/dist/layout/AppHeader.js +237 -72
- package/dist/layout/AppSidebar.d.ts +2 -1
- package/dist/layout/AppSidebar.js +26 -46
- package/dist/layout/AppSwitcher.d.ts +2 -1
- package/dist/layout/AppSwitcher.js +9 -5
- package/dist/layout/AuthPageLayout.d.ts +1 -1
- package/dist/layout/ConnectionStatus.d.ts +1 -1
- package/dist/layout/ConnectionStatus.js +9 -6
- package/dist/layout/ConsoleChatbotFab.d.ts +19 -1
- package/dist/layout/ConsoleChatbotFab.js +16 -2
- package/dist/layout/ConsoleFloatingChatbot.d.ts +34 -2
- package/dist/layout/ConsoleFloatingChatbot.js +391 -41
- package/dist/layout/ConsoleLayout.d.ts +1 -1
- package/dist/layout/ConsoleLayout.js +27 -11
- package/dist/layout/ContextSelectors.d.ts +44 -0
- package/dist/layout/ContextSelectors.js +242 -0
- package/dist/layout/InboxPopover.d.ts +6 -1
- package/dist/layout/InboxPopover.js +25 -6
- package/dist/layout/LocaleSwitcher.d.ts +1 -1
- package/dist/layout/LocalizedSidebarTrigger.d.ts +2 -0
- package/dist/layout/LocalizedSidebarTrigger.js +15 -0
- package/dist/layout/MobileViewSwitcherContext.d.ts +1 -1
- package/dist/layout/ModeToggle.d.ts +1 -1
- package/dist/layout/PageHeader.d.ts +1 -1
- package/dist/layout/UnifiedSidebar.d.ts +2 -1
- package/dist/layout/UnifiedSidebar.js +116 -15
- package/dist/layout/agentPicker.d.ts +56 -0
- package/dist/layout/agentPicker.js +40 -0
- package/dist/observability/index.d.ts +1 -0
- package/dist/observability/index.js +1 -0
- package/dist/observability/settleSignal.d.ts +64 -0
- package/dist/observability/settleSignal.js +131 -0
- package/dist/preview/CommitTimeline.d.ts +15 -0
- package/dist/preview/CommitTimeline.js +82 -0
- package/dist/preview/DraftChangesPanel.d.ts +19 -0
- package/dist/preview/DraftChangesPanel.js +114 -0
- package/dist/preview/DraftPreviewBar.d.ts +8 -0
- package/dist/preview/DraftPreviewBar.js +86 -0
- package/dist/preview/PreviewDraftEmptyState.d.ts +16 -0
- package/dist/preview/PreviewDraftEmptyState.js +47 -0
- package/dist/preview/PreviewModeContext.d.ts +57 -0
- package/dist/preview/PreviewModeContext.js +99 -0
- package/dist/preview/UnpublishedAppBar.d.ts +8 -0
- package/dist/preview/UnpublishedAppBar.js +83 -0
- package/dist/preview/commitHistory.d.ts +28 -0
- package/dist/preview/commitHistory.js +48 -0
- package/dist/preview/draftStatus.d.ts +20 -0
- package/dist/preview/draftStatus.js +27 -0
- package/dist/preview/usePublishAllDrafts.d.ts +18 -0
- package/dist/preview/usePublishAllDrafts.js +106 -0
- package/dist/providers/AdapterProvider.d.ts +1 -1
- package/dist/providers/AdapterProvider.js +6 -1
- package/dist/providers/ExpressionProvider.d.ts +1 -1
- package/dist/providers/MetadataProvider.d.ts +17 -2
- package/dist/providers/MetadataProvider.js +192 -12
- package/dist/runtime-config.d.ts +46 -2
- package/dist/runtime-config.js +39 -2
- package/dist/services/builtinComponents.js +68 -59
- package/dist/skeletons/SkeletonDashboard.d.ts +1 -1
- package/dist/skeletons/SkeletonDetail.d.ts +1 -1
- package/dist/skeletons/SkeletonGrid.d.ts +1 -1
- package/dist/utils/appRoute.d.ts +21 -0
- package/dist/utils/appRoute.js +25 -0
- package/dist/utils/deriveRelatedLists.d.ts +54 -0
- package/dist/utils/deriveRelatedLists.js +91 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/managedByEmptyState.d.ts +8 -1
- package/dist/utils/managedByEmptyState.js +13 -7
- package/dist/utils/preferLocal.d.ts +18 -0
- package/dist/utils/preferLocal.js +24 -0
- package/dist/views/ActionConfirmDialog.d.ts +1 -1
- package/dist/views/ActionConfirmDialog.js +3 -1
- package/dist/views/ActionParamDialog.d.ts +6 -1
- package/dist/views/ActionParamDialog.js +9 -3
- package/dist/views/ActionResultDialog.d.ts +13 -0
- package/dist/views/ActionResultDialog.js +134 -0
- package/dist/views/ComponentNavView.d.ts +14 -1
- package/dist/views/CreateViewDialog.d.ts +1 -1
- package/dist/views/DashboardConfigPanel.d.ts +28 -0
- package/dist/views/DashboardConfigPanel.js +81 -0
- package/dist/views/DashboardView.d.ts +4 -3
- package/dist/views/DashboardView.js +38 -239
- package/dist/views/FlowRunner.d.ts +31 -0
- package/dist/views/FlowRunner.js +121 -0
- package/dist/views/InterfaceListPage.d.ts +49 -0
- package/dist/views/InterfaceListPage.js +347 -0
- package/dist/views/MetadataInspector.d.ts +2 -2
- package/dist/views/ObjectView.d.ts +1 -1
- package/dist/views/ObjectView.js +209 -532
- package/dist/views/PageView.d.ts +8 -3
- package/dist/views/PageView.js +45 -32
- package/dist/views/RecordDetailView.d.ts +1 -1
- package/dist/views/RecordDetailView.js +363 -148
- package/dist/views/RecordFormPage.d.ts +1 -1
- package/dist/views/RecordFormPage.js +26 -1
- package/dist/views/ReportConfigPanel.d.ts +37 -0
- package/dist/views/ReportConfigPanel.js +85 -0
- package/dist/views/ReportView.d.ts +1 -1
- package/dist/views/ReportView.js +116 -7
- package/dist/views/RuntimeDraftBar.d.ts +30 -0
- package/dist/views/RuntimeDraftBar.js +112 -0
- package/dist/views/ScreenView.d.ts +70 -0
- package/dist/views/ScreenView.js +73 -0
- package/dist/views/SearchResultsPage.d.ts +1 -1
- package/dist/views/SearchResultsPage.js +8 -18
- package/dist/views/ViewConfigPanel.d.ts +24 -17
- package/dist/views/ViewConfigPanel.js +121 -77
- package/dist/views/index.d.ts +1 -1
- package/dist/views/index.js +1 -1
- package/dist/views/metadata-admin/AuditPanel.d.ts +28 -0
- package/dist/views/metadata-admin/AuditPanel.js +79 -0
- package/dist/views/metadata-admin/DiagnosticsPage.d.ts +20 -0
- package/dist/views/metadata-admin/DiagnosticsPage.js +69 -0
- package/dist/views/metadata-admin/DirectoryPage.d.ts +16 -1
- package/dist/views/metadata-admin/DirectoryPage.js +101 -24
- package/dist/views/metadata-admin/DraftReviewPanel.d.ts +33 -0
- package/dist/views/metadata-admin/DraftReviewPanel.js +77 -0
- package/dist/views/metadata-admin/EmbeddedItemEditor.d.ts +17 -1
- package/dist/views/metadata-admin/EmbeddedItemEditor.js +15 -8
- package/dist/views/metadata-admin/JsonSourceEditor.d.ts +39 -0
- package/dist/views/metadata-admin/JsonSourceEditor.js +196 -0
- package/dist/views/metadata-admin/LayeredDiff.d.ts +39 -1
- package/dist/views/metadata-admin/LayeredDiff.js +171 -5
- package/dist/views/metadata-admin/MetadataDetailDrawer.d.ts +15 -1
- package/dist/views/metadata-admin/MetadataTypeActions.d.ts +48 -0
- package/dist/views/metadata-admin/MetadataTypeActions.js +165 -0
- package/dist/views/metadata-admin/PackagesPage.d.ts +18 -0
- package/dist/views/metadata-admin/PackagesPage.js +403 -0
- package/dist/views/metadata-admin/PageShell.d.ts +1 -1
- package/dist/views/metadata-admin/PageShell.js +9 -4
- package/dist/views/metadata-admin/PermissionMatrixEditor.d.ts +35 -1
- package/dist/views/metadata-admin/QuickFind.d.ts +21 -1
- package/dist/views/metadata-admin/QuickFind.js +6 -3
- package/dist/views/metadata-admin/RelatedPanel.d.ts +24 -1
- package/dist/views/metadata-admin/RelatedPanel.js +20 -18
- package/dist/views/metadata-admin/ResourceEditPage.d.ts +40 -1
- package/dist/views/metadata-admin/ResourceEditPage.js +1250 -60
- package/dist/views/metadata-admin/ResourceHistoryPage.d.ts +39 -1
- package/dist/views/metadata-admin/ResourceHistoryPage.js +66 -16
- package/dist/views/metadata-admin/ResourceListPage.d.ts +13 -1
- package/dist/views/metadata-admin/ResourceListPage.js +258 -30
- package/dist/views/metadata-admin/ResourceRouter.d.ts +23 -1
- package/dist/views/metadata-admin/SchemaForm.d.ts +34 -1
- package/dist/views/metadata-admin/SchemaForm.js +559 -49
- package/dist/views/metadata-admin/StudioHomePage.d.ts +22 -0
- package/dist/views/metadata-admin/StudioHomePage.js +205 -0
- package/dist/views/metadata-admin/anchors.js +255 -24
- package/dist/views/metadata-admin/clientValidation.d.ts +50 -0
- package/dist/views/metadata-admin/clientValidation.js +169 -0
- package/dist/views/metadata-admin/color-variant-field.d.ts +30 -0
- package/dist/views/metadata-admin/color-variant-field.js +38 -0
- package/dist/views/metadata-admin/createDerive.d.ts +75 -0
- package/dist/views/metadata-admin/createDerive.js +179 -0
- package/dist/views/metadata-admin/dashboard-schema.d.ts +12 -0
- package/dist/views/metadata-admin/dashboard-schema.js +80 -0
- package/dist/views/metadata-admin/datasource/DatasourceResourcePage.d.ts +35 -0
- package/dist/views/metadata-admin/datasource/DatasourceResourcePage.js +327 -0
- package/dist/views/metadata-admin/datasource/register.d.ts +1 -0
- package/dist/views/metadata-admin/datasource/register.js +24 -0
- package/dist/views/metadata-admin/default-inspector-registry.d.ts +49 -0
- package/dist/views/metadata-admin/default-inspector-registry.js +8 -0
- package/dist/views/metadata-admin/default-schemas.js +115 -10
- package/dist/views/metadata-admin/external/ExternalDatasourcePanel.d.ts +27 -0
- package/dist/views/metadata-admin/external/ExternalDatasourcePanel.js +69 -0
- package/dist/views/metadata-admin/external/ImportObjectDialog.d.ts +27 -0
- package/dist/views/metadata-admin/external/ImportObjectDialog.js +77 -0
- package/dist/views/metadata-admin/external/SchemaBrowser.d.ts +16 -0
- package/dist/views/metadata-admin/external/SchemaBrowser.js +74 -0
- package/dist/views/metadata-admin/external/ValidationPanel.d.ts +16 -0
- package/dist/views/metadata-admin/external/ValidationPanel.js +68 -0
- package/dist/views/metadata-admin/external/api.d.ts +100 -0
- package/dist/views/metadata-admin/external/api.js +124 -0
- package/dist/views/metadata-admin/i18n.d.ts +1 -0
- package/dist/views/metadata-admin/i18n.js +1252 -2
- package/dist/views/metadata-admin/index.d.ts +8 -5
- package/dist/views/metadata-admin/index.js +12 -2
- package/dist/views/metadata-admin/inspector-registry.d.ts +51 -0
- package/dist/views/metadata-admin/inspector-registry.js +11 -0
- package/dist/views/metadata-admin/inspectors/ActionDefaultInspector.d.ts +30 -0
- package/dist/views/metadata-admin/inspectors/ActionDefaultInspector.js +180 -0
- package/dist/views/metadata-admin/inspectors/AppNavInspector.d.ts +16 -0
- package/dist/views/metadata-admin/inspectors/AppNavInspector.js +110 -0
- package/dist/views/metadata-admin/inspectors/ConditionBuilder.d.ts +29 -0
- package/dist/views/metadata-admin/inspectors/ConditionBuilder.js +154 -0
- package/dist/views/metadata-admin/inspectors/DashboardDefaultInspector.d.ts +28 -0
- package/dist/views/metadata-admin/inspectors/DashboardDefaultInspector.js +110 -0
- package/dist/views/metadata-admin/inspectors/DashboardWidgetInspector.d.ts +18 -0
- package/dist/views/metadata-admin/inspectors/DashboardWidgetInspector.js +139 -0
- package/dist/views/metadata-admin/inspectors/DatasetDefaultInspector.d.ts +21 -0
- package/dist/views/metadata-admin/inspectors/DatasetDefaultInspector.js +221 -0
- package/dist/views/metadata-admin/inspectors/FlowEdgeInspector.d.ts +16 -0
- package/dist/views/metadata-admin/inspectors/FlowEdgeInspector.js +126 -0
- package/dist/views/metadata-admin/inspectors/FlowInspector.d.ts +12 -0
- package/dist/views/metadata-admin/inspectors/FlowInspector.js +9 -0
- package/dist/views/metadata-admin/inspectors/FlowKeyValueField.d.ts +30 -0
- package/dist/views/metadata-admin/inspectors/FlowKeyValueField.js +125 -0
- package/dist/views/metadata-admin/inspectors/FlowNodeConfigField.d.ts +18 -0
- package/dist/views/metadata-admin/inspectors/FlowNodeConfigField.js +40 -0
- package/dist/views/metadata-admin/inspectors/FlowNodeInspector.d.ts +14 -0
- package/dist/views/metadata-admin/inspectors/FlowNodeInspector.js +205 -0
- package/dist/views/metadata-admin/inspectors/FlowObjectListField.d.ts +26 -0
- package/dist/views/metadata-admin/inspectors/FlowObjectListField.js +105 -0
- package/dist/views/metadata-admin/inspectors/FlowReferenceField.d.ts +83 -0
- package/dist/views/metadata-admin/inspectors/FlowReferenceField.js +181 -0
- package/dist/views/metadata-admin/inspectors/FlowStringListField.d.ts +21 -0
- package/dist/views/metadata-admin/inspectors/FlowStringListField.js +60 -0
- package/dist/views/metadata-admin/inspectors/InspectorComboField.d.ts +40 -0
- package/dist/views/metadata-admin/inspectors/InspectorComboField.js +61 -0
- package/dist/views/metadata-admin/inspectors/ObjectDefaultInspector.d.ts +21 -0
- package/dist/views/metadata-admin/inspectors/ObjectDefaultInspector.js +55 -0
- package/dist/views/metadata-admin/inspectors/ObjectFieldInspector.d.ts +23 -0
- package/dist/views/metadata-admin/inspectors/ObjectFieldInspector.js +365 -0
- package/dist/views/metadata-admin/inspectors/PageBlockInspector.d.ts +48 -0
- package/dist/views/metadata-admin/inspectors/PageBlockInspector.js +332 -0
- package/dist/views/metadata-admin/inspectors/ReportDefaultInspector.d.ts +58 -0
- package/dist/views/metadata-admin/inspectors/ReportDefaultInspector.js +218 -0
- package/dist/views/metadata-admin/inspectors/ViewColumnInspector.d.ts +19 -0
- package/dist/views/metadata-admin/inspectors/ViewColumnInspector.js +144 -0
- package/dist/views/metadata-admin/inspectors/ViewInspector.d.ts +19 -0
- package/dist/views/metadata-admin/inspectors/ViewInspector.js +21 -0
- package/dist/views/metadata-admin/inspectors/ViewVariantInspector.d.ts +54 -0
- package/dist/views/metadata-admin/inspectors/ViewVariantInspector.js +191 -0
- package/dist/views/metadata-admin/inspectors/_shared.d.ts +128 -0
- package/dist/views/metadata-admin/inspectors/_shared.js +113 -0
- package/dist/views/metadata-admin/inspectors/datasetFilterCondition.d.ts +24 -0
- package/dist/views/metadata-admin/inspectors/datasetFilterCondition.js +97 -0
- package/dist/views/metadata-admin/inspectors/expression-validate.d.ts +26 -0
- package/dist/views/metadata-admin/inspectors/expression-validate.js +66 -0
- package/dist/views/metadata-admin/inspectors/flow-node-config.d.ts +143 -0
- package/dist/views/metadata-admin/inspectors/flow-node-config.js +506 -0
- package/dist/views/metadata-admin/inspectors/index.d.ts +1 -0
- package/dist/views/metadata-admin/inspectors/index.js +45 -0
- package/dist/views/metadata-admin/inspectors/json-schema-to-fields.d.ts +40 -0
- package/dist/views/metadata-admin/inspectors/json-schema-to-fields.js +227 -0
- package/dist/views/metadata-admin/inspectors/useDatasetFields.d.ts +72 -0
- package/dist/views/metadata-admin/inspectors/useDatasetFields.js +0 -0
- package/dist/views/metadata-admin/issuePath.d.ts +22 -0
- package/dist/views/metadata-admin/issuePath.js +65 -0
- package/dist/views/metadata-admin/mergeServerFields.d.ts +65 -0
- package/dist/views/metadata-admin/mergeServerFields.js +56 -0
- package/dist/views/metadata-admin/package-scope.d.ts +26 -0
- package/dist/views/metadata-admin/package-scope.js +43 -0
- package/dist/views/metadata-admin/preview-registry.d.ts +55 -0
- package/dist/views/metadata-admin/previews/ActionPreview.d.ts +25 -0
- package/dist/views/metadata-admin/previews/ActionPreview.js +238 -0
- package/dist/views/metadata-admin/previews/AddWidgetPicker.d.ts +12 -0
- package/dist/views/metadata-admin/previews/AddWidgetPicker.js +56 -0
- package/dist/views/metadata-admin/previews/AgentPreview.d.ts +24 -0
- package/dist/views/metadata-admin/previews/AgentPreview.js +100 -0
- package/dist/views/metadata-admin/previews/AppNavCanvas.d.ts +31 -0
- package/dist/views/metadata-admin/previews/AppNavCanvas.js +260 -0
- package/dist/views/metadata-admin/previews/AppPreview.d.ts +16 -1
- package/dist/views/metadata-admin/previews/AppPreview.js +23 -14
- package/dist/views/metadata-admin/previews/BookPreview.d.ts +20 -0
- package/dist/views/metadata-admin/previews/BookPreview.js +132 -0
- package/dist/views/metadata-admin/previews/DashboardPreview.d.ts +16 -1
- package/dist/views/metadata-admin/previews/DashboardPreview.js +110 -8
- package/dist/views/metadata-admin/previews/DatasetPreview.d.ts +18 -0
- package/dist/views/metadata-admin/previews/DatasetPreview.js +105 -0
- package/dist/views/metadata-admin/previews/DatasourcePreview.d.ts +23 -0
- package/dist/views/metadata-admin/previews/DatasourcePreview.js +68 -0
- package/dist/views/metadata-admin/previews/EmailTemplatePreview.d.ts +14 -1
- package/dist/views/metadata-admin/previews/FieldStub.d.ts +30 -0
- package/dist/views/metadata-admin/previews/FieldStub.js +104 -0
- package/dist/views/metadata-admin/previews/FieldsListEditor.d.ts +50 -0
- package/dist/views/metadata-admin/previews/FieldsListEditor.js +97 -0
- package/dist/views/metadata-admin/previews/FlowCanvas.d.ts +49 -0
- package/dist/views/metadata-admin/previews/FlowCanvas.js +416 -0
- package/dist/views/metadata-admin/previews/FlowPreview.d.ts +20 -0
- package/dist/views/metadata-admin/previews/FlowPreview.js +120 -0
- package/dist/views/metadata-admin/previews/FlowRunsPanel.d.ts +46 -0
- package/dist/views/metadata-admin/previews/FlowRunsPanel.js +97 -0
- package/dist/views/metadata-admin/previews/FlowSimulatorPanel.d.ts +25 -0
- package/dist/views/metadata-admin/previews/FlowSimulatorPanel.js +204 -0
- package/dist/views/metadata-admin/previews/JobPreview.d.ts +28 -0
- package/dist/views/metadata-admin/previews/JobPreview.js +290 -0
- package/dist/views/metadata-admin/previews/ObjectFormCanvas.d.ts +30 -0
- package/dist/views/metadata-admin/previews/ObjectFormCanvas.js +547 -0
- package/dist/views/metadata-admin/previews/ObjectPreview.d.ts +14 -1
- package/dist/views/metadata-admin/previews/ObjectPreview.js +5 -30
- package/dist/views/metadata-admin/previews/OutlineStrip.d.ts +32 -0
- package/dist/views/metadata-admin/previews/OutlineStrip.js +8 -0
- package/dist/views/metadata-admin/previews/PageBlockCanvas.d.ts +49 -0
- package/dist/views/metadata-admin/previews/PageBlockCanvas.js +510 -0
- package/dist/views/metadata-admin/previews/PagePreview.d.ts +10 -1
- package/dist/views/metadata-admin/previews/PagePreview.js +200 -5
- package/dist/views/metadata-admin/previews/PermissionPreview.d.ts +27 -0
- package/dist/views/metadata-admin/previews/PermissionPreview.js +115 -0
- package/dist/views/metadata-admin/previews/PreviewShell.d.ts +29 -6
- package/dist/views/metadata-admin/previews/PreviewShell.js +16 -3
- package/dist/views/metadata-admin/previews/ReportPreview.d.ts +18 -1
- package/dist/views/metadata-admin/previews/ReportPreview.js +23 -15
- package/dist/views/metadata-admin/previews/RolePreview.d.ts +19 -0
- package/dist/views/metadata-admin/previews/RolePreview.js +14 -0
- package/dist/views/metadata-admin/previews/ScreenPreview.d.ts +38 -0
- package/dist/views/metadata-admin/previews/ScreenPreview.js +61 -0
- package/dist/views/metadata-admin/previews/SkillPreview.d.ts +22 -0
- package/dist/views/metadata-admin/previews/SkillPreview.js +34 -0
- package/dist/views/metadata-admin/previews/ToolPreview.d.ts +25 -0
- package/dist/views/metadata-admin/previews/ToolPreview.js +122 -0
- package/dist/views/metadata-admin/previews/TranslationPreview.d.ts +25 -0
- package/dist/views/metadata-admin/previews/TranslationPreview.js +52 -0
- package/dist/views/metadata-admin/previews/ValidationPreview.d.ts +27 -0
- package/dist/views/metadata-admin/previews/ValidationPreview.js +110 -0
- package/dist/views/metadata-admin/previews/ViewColumnPanes.d.ts +62 -0
- package/dist/views/metadata-admin/previews/ViewColumnPanes.js +140 -0
- package/dist/views/metadata-admin/previews/ViewPreview.d.ts +23 -1
- package/dist/views/metadata-admin/previews/ViewPreview.js +101 -73
- package/dist/views/metadata-admin/previews/block-config.d.ts +82 -0
- package/dist/views/metadata-admin/previews/block-config.js +324 -0
- package/dist/views/metadata-admin/previews/block-types.d.ts +40 -0
- package/dist/views/metadata-admin/previews/block-types.js +110 -0
- package/dist/views/metadata-admin/previews/field-types.d.ts +53 -0
- package/dist/views/metadata-admin/previews/field-types.js +97 -0
- package/dist/views/metadata-admin/previews/flow-canvas-layout.d.ts +102 -0
- package/dist/views/metadata-admin/previews/flow-canvas-layout.js +227 -0
- package/dist/views/metadata-admin/previews/flow-canvas-parts.d.ts +96 -0
- package/dist/views/metadata-admin/previews/flow-canvas-parts.js +373 -0
- package/dist/views/metadata-admin/previews/form-preview.d.ts +24 -0
- package/dist/views/metadata-admin/previews/form-preview.js +29 -0
- package/dist/views/metadata-admin/previews/index.js +43 -0
- package/dist/views/metadata-admin/previews/object-fields-bridge.d.ts +66 -0
- package/dist/views/metadata-admin/previews/object-fields-bridge.js +171 -0
- package/dist/views/metadata-admin/previews/object-fields-io.d.ts +130 -0
- package/dist/views/metadata-admin/previews/object-fields-io.js +243 -0
- package/dist/views/metadata-admin/previews/screen-spec.d.ts +43 -0
- package/dist/views/metadata-admin/previews/screen-spec.js +108 -0
- package/dist/views/metadata-admin/previews/simulator/flow-sim-types.d.ts +102 -0
- package/dist/views/metadata-admin/previews/simulator/flow-sim-types.js +2 -0
- package/dist/views/metadata-admin/previews/simulator/flow-sim-validate.d.ts +15 -0
- package/dist/views/metadata-admin/previews/simulator/flow-sim-validate.js +185 -0
- package/dist/views/metadata-admin/previews/simulator/flow-simulator.d.ts +73 -0
- package/dist/views/metadata-admin/previews/simulator/flow-simulator.js +426 -0
- package/dist/views/metadata-admin/previews/useDatasetCatalog.d.ts +47 -0
- package/dist/views/metadata-admin/previews/useDatasetCatalog.js +133 -0
- package/dist/views/metadata-admin/previews/useFlowNodePalette.d.ts +44 -0
- package/dist/views/metadata-admin/previews/useFlowNodePalette.js +124 -0
- package/dist/views/metadata-admin/previews/useMetaOptions.d.ts +8 -0
- package/dist/views/metadata-admin/previews/useMetaOptions.js +50 -0
- package/dist/views/metadata-admin/previews/useObjectFields.d.ts +23 -0
- package/dist/views/metadata-admin/previews/useObjectFields.js +79 -0
- package/dist/views/metadata-admin/previews/useObjectOptions.d.ts +8 -0
- package/dist/views/metadata-admin/previews/useObjectOptions.js +43 -0
- package/dist/views/metadata-admin/previews/view-column-io.d.ts +42 -0
- package/dist/views/metadata-admin/previews/view-column-io.js +73 -0
- package/dist/views/metadata-admin/previews/widget-types.d.ts +24 -0
- package/dist/views/metadata-admin/previews/widget-types.js +40 -0
- package/dist/views/metadata-admin/registry.d.ts +140 -19
- package/dist/views/metadata-admin/report-schema.d.ts +26 -0
- package/dist/views/metadata-admin/report-schema.js +121 -0
- package/dist/views/metadata-admin/useMetadata.d.ts +100 -2
- package/dist/views/metadata-admin/useMetadata.js +155 -4
- package/dist/views/metadata-admin/view-item-normalize.d.ts +20 -0
- package/dist/views/metadata-admin/view-item-normalize.js +68 -0
- package/dist/views/metadata-admin/view-schema.d.ts +16 -0
- package/dist/views/metadata-admin/view-schema.js +107 -0
- package/dist/views/metadata-admin/view-variant-model.d.ts +23 -0
- package/dist/views/metadata-admin/view-variant-model.js +64 -0
- package/dist/views/metadata-admin/widgets.d.ts +89 -1
- package/dist/views/metadata-admin/widgets.js +491 -17
- package/dist/views/runtime-metadata-persistence.d.ts +78 -0
- package/dist/views/runtime-metadata-persistence.js +89 -0
- package/dist/views/useOpenRecordList.d.ts +18 -0
- package/dist/views/useOpenRecordList.js +36 -0
- package/dist/views/userFilterUrlState.d.ts +15 -0
- package/dist/views/userFilterUrlState.js +53 -0
- package/dist/views/view-config-adapter.d.ts +38 -0
- package/dist/views/view-config-adapter.js +80 -0
- package/package.json +52 -34
- package/dist/views/DesignDrawer.d.ts +0 -28
- package/dist/views/DesignDrawer.js +0 -51
- package/dist/views/metadata-admin/DesignerEditorWrapper.d.ts +0 -68
- package/dist/views/metadata-admin/DesignerEditorWrapper.js +0 -158
|
@@ -22,7 +22,7 @@ export interface RecentItem {
|
|
|
22
22
|
id: string;
|
|
23
23
|
label: string;
|
|
24
24
|
href: string;
|
|
25
|
-
type: 'object' | 'dashboard' | 'page' | 'report' | 'record';
|
|
25
|
+
type: 'object' | 'dashboard' | 'page' | 'report' | 'record' | 'metadata';
|
|
26
26
|
/** ISO timestamp of last visit */
|
|
27
27
|
visitedAt: string;
|
|
28
28
|
}
|
|
@@ -33,7 +33,7 @@ interface RecentItemsContextValue {
|
|
|
33
33
|
}
|
|
34
34
|
export declare function RecentItemsProvider({ children }: {
|
|
35
35
|
children: ReactNode;
|
|
36
|
-
}): import("react
|
|
36
|
+
}): import("react").JSX.Element;
|
|
37
37
|
/**
|
|
38
38
|
* Access shared "recently-accessed" state.
|
|
39
39
|
*
|
|
@@ -30,7 +30,7 @@ export interface UserDataAdapter<T> {
|
|
|
30
30
|
export type UserStateKind = 'favorites' | 'recent';
|
|
31
31
|
export declare function UserStateAdaptersProvider({ children }: {
|
|
32
32
|
children: ReactNode;
|
|
33
|
-
}): import("react
|
|
33
|
+
}): import("react").JSX.Element;
|
|
34
34
|
/** Read the currently-attached adapter for a given kind. */
|
|
35
35
|
export declare function useUserStateAdapter<T>(kind: UserStateKind): UserDataAdapter<T> | null;
|
|
36
36
|
/**
|
package/dist/context/index.d.ts
CHANGED
|
@@ -3,5 +3,7 @@ export { FavoritesProvider, useFavorites } from './FavoritesProvider';
|
|
|
3
3
|
export type { FavoriteItem } from './FavoritesProvider';
|
|
4
4
|
export { RecentItemsProvider, useRecentItems } from './RecentItemsProvider';
|
|
5
5
|
export type { RecentItem } from './RecentItemsProvider';
|
|
6
|
+
export { CommandPaletteProvider, useCommandPalette, } from './CommandPaletteProvider';
|
|
7
|
+
export type { CommandPaletteContextValue } from './CommandPaletteProvider';
|
|
6
8
|
export { UserStateAdaptersProvider, useUserStateAdapter, useAttachUserStateAdapters, } from './UserStateAdapters';
|
|
7
9
|
export type { UserDataAdapter, UserStateKind } from './UserStateAdapters';
|
package/dist/context/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { NavigationProvider, useNavigationContext } from './NavigationContext';
|
|
2
2
|
export { FavoritesProvider, useFavorites } from './FavoritesProvider';
|
|
3
3
|
export { RecentItemsProvider, useRecentItems } from './RecentItemsProvider';
|
|
4
|
+
export { CommandPaletteProvider, useCommandPalette, } from './CommandPaletteProvider';
|
|
4
5
|
export { UserStateAdaptersProvider, useUserStateAdapter, useAttachUserStateAdapters, } from './UserStateAdapters';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
export { useFavorites, type FavoriteItem } from './useFavorites';
|
|
2
|
+
export { useActionModal, type ModalDescriptor } from './useActionModal';
|
|
2
3
|
export { useMetadataService } from './useMetadataService';
|
|
3
4
|
export { useNavPins } from './useNavPins';
|
|
4
5
|
export { useNavigationSync, NavigationSyncEffect, generateNavId, addNavigationItem, removeNavigationItems, renameNavigationItems, navigationEqual, type UseNavigationSyncReturn, } from './useNavigationSync';
|
|
5
6
|
export { useObjectActions } from './useObjectActions';
|
|
6
7
|
export { useRecentItems, type RecentItem } from './useRecentItems';
|
|
7
|
-
export { useRecordApprovals, type
|
|
8
|
+
export { useRecordApprovals, type ApprovalRequestLite } from './useRecordApprovals';
|
|
8
9
|
export { useResponsiveSidebar } from './useResponsiveSidebar';
|
|
10
|
+
export { useSettleSignal, type SettleSignalState } from './useSettleSignal';
|
|
11
|
+
export { useUrlOverlay, type UseUrlOverlayOptions, type UrlOverlayControls, } from './useUrlOverlay';
|
|
9
12
|
export { useTrackRouteAsRecent, type UseTrackRouteAsRecentOptions } from './useTrackRouteAsRecent';
|
|
10
|
-
export { useChatConversation, type HydratedUIMessage, type UseChatConversationOptions, type UseChatConversationReturn, } from './useChatConversation';
|
|
13
|
+
export { sanitizeChatMessagesForCache, useChatConversation, writeConversationMessagesCache, type HydratedUIMessage, type UseChatConversationOptions, type UseChatConversationReturn, } from './useChatConversation';
|
|
11
14
|
export { useConversationList, type ConversationSummary, type UseConversationListOptions, type UseConversationListReturn, } from './useConversationList';
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { useFavorites } from './useFavorites';
|
|
2
|
+
export { useActionModal } from './useActionModal';
|
|
2
3
|
export { useMetadataService } from './useMetadataService';
|
|
3
4
|
export { useNavPins } from './useNavPins';
|
|
4
5
|
export { useNavigationSync, NavigationSyncEffect, generateNavId, addNavigationItem, removeNavigationItems, renameNavigationItems, navigationEqual, } from './useNavigationSync';
|
|
@@ -6,6 +7,8 @@ export { useObjectActions } from './useObjectActions';
|
|
|
6
7
|
export { useRecentItems } from './useRecentItems';
|
|
7
8
|
export { useRecordApprovals } from './useRecordApprovals';
|
|
8
9
|
export { useResponsiveSidebar } from './useResponsiveSidebar';
|
|
10
|
+
export { useSettleSignal } from './useSettleSignal';
|
|
11
|
+
export { useUrlOverlay, } from './useUrlOverlay';
|
|
9
12
|
export { useTrackRouteAsRecent } from './useTrackRouteAsRecent';
|
|
10
|
-
export { useChatConversation, } from './useChatConversation';
|
|
13
|
+
export { sanitizeChatMessagesForCache, useChatConversation, writeConversationMessagesCache, } from './useChatConversation';
|
|
11
14
|
export { useConversationList, } from './useConversationList';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*
|
|
8
|
+
* useActionModal — a reusable `onModal` handler for the ActionProvider that
|
|
9
|
+
* renders an action's modal envelope in the right container by `placement`:
|
|
10
|
+
*
|
|
11
|
+
* placement: 'center' → Dialog (sized sm|default|lg|xl)
|
|
12
|
+
* placement: 'fullscreen' → Dialog, near-viewport
|
|
13
|
+
* placement: 'side' → Sheet (right|left)
|
|
14
|
+
* placement: 'bottom' → Drawer (bottom sheet)
|
|
15
|
+
*
|
|
16
|
+
* `content` is an arbitrary SchemaNode rendered via <SchemaRenderer>, so a
|
|
17
|
+
* modal action can open any page/form/list. Back-compat: a string target
|
|
18
|
+
* (e.g. "create_opportunity") or `{ objectName, mode }` opens a <ModalForm>.
|
|
19
|
+
*
|
|
20
|
+
* Returns `{ modalHandler, modalElement }`: pass `modalHandler` as the
|
|
21
|
+
* ActionProvider `onModal`, and render `modalElement` once in the subtree.
|
|
22
|
+
*/
|
|
23
|
+
import React from 'react';
|
|
24
|
+
type Placement = 'center' | 'side' | 'bottom' | 'fullscreen';
|
|
25
|
+
type ModalSize = 'sm' | 'default' | 'lg' | 'xl' | 'full';
|
|
26
|
+
export interface ModalDescriptor {
|
|
27
|
+
placement?: Placement;
|
|
28
|
+
side?: 'left' | 'right';
|
|
29
|
+
size?: ModalSize;
|
|
30
|
+
title?: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
/** Arbitrary SchemaNode rendered inside the chosen container. */
|
|
33
|
+
content?: any;
|
|
34
|
+
/** Back-compat: open an object form. */
|
|
35
|
+
objectName?: string;
|
|
36
|
+
mode?: string;
|
|
37
|
+
recordId?: string;
|
|
38
|
+
fields?: any;
|
|
39
|
+
}
|
|
40
|
+
type ActionResult = {
|
|
41
|
+
success: boolean;
|
|
42
|
+
reload?: boolean;
|
|
43
|
+
data?: any;
|
|
44
|
+
[k: string]: any;
|
|
45
|
+
};
|
|
46
|
+
/** Normalize the opaque `schema` arg the ActionRunner passes into a descriptor. */
|
|
47
|
+
export declare function normalizeModalSchema(schema: any): ModalDescriptor;
|
|
48
|
+
export declare function useActionModal(dataSource?: any): {
|
|
49
|
+
modalHandler: (schema: any) => Promise<ActionResult>;
|
|
50
|
+
modalElement: React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | null;
|
|
51
|
+
closeModal: (r: ActionResult) => void;
|
|
52
|
+
};
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* ObjectUI
|
|
4
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*
|
|
9
|
+
* useActionModal — a reusable `onModal` handler for the ActionProvider that
|
|
10
|
+
* renders an action's modal envelope in the right container by `placement`:
|
|
11
|
+
*
|
|
12
|
+
* placement: 'center' → Dialog (sized sm|default|lg|xl)
|
|
13
|
+
* placement: 'fullscreen' → Dialog, near-viewport
|
|
14
|
+
* placement: 'side' → Sheet (right|left)
|
|
15
|
+
* placement: 'bottom' → Drawer (bottom sheet)
|
|
16
|
+
*
|
|
17
|
+
* `content` is an arbitrary SchemaNode rendered via <SchemaRenderer>, so a
|
|
18
|
+
* modal action can open any page/form/list. Back-compat: a string target
|
|
19
|
+
* (e.g. "create_opportunity") or `{ objectName, mode }` opens a <ModalForm>.
|
|
20
|
+
*
|
|
21
|
+
* Returns `{ modalHandler, modalElement }`: pass `modalHandler` as the
|
|
22
|
+
* ActionProvider `onModal`, and render `modalElement` once in the subtree.
|
|
23
|
+
*/
|
|
24
|
+
import { useCallback, useState } from 'react';
|
|
25
|
+
import { Button, Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, Drawer, DrawerContent, DrawerDescription, DrawerHeader, DrawerTitle, Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle, cn, } from '@object-ui/components';
|
|
26
|
+
import { SchemaRenderer } from '@object-ui/react';
|
|
27
|
+
import { ModalForm } from '@object-ui/plugin-form';
|
|
28
|
+
const SIZE_CLASS = {
|
|
29
|
+
sm: 'sm:max-w-sm',
|
|
30
|
+
default: 'sm:max-w-lg',
|
|
31
|
+
lg: 'sm:max-w-2xl',
|
|
32
|
+
xl: 'sm:max-w-5xl',
|
|
33
|
+
full: 'sm:max-w-[95vw] sm:w-full',
|
|
34
|
+
};
|
|
35
|
+
const SIDE_SIZE_CLASS = {
|
|
36
|
+
lg: 'sm:max-w-2xl',
|
|
37
|
+
xl: 'sm:max-w-3xl',
|
|
38
|
+
full: 'sm:max-w-[95vw]',
|
|
39
|
+
};
|
|
40
|
+
/** Normalize the opaque `schema` arg the ActionRunner passes into a descriptor. */
|
|
41
|
+
export function normalizeModalSchema(schema) {
|
|
42
|
+
if (typeof schema === 'string') {
|
|
43
|
+
const m = schema.match(/^(create|new|add|edit|update)_(.+)$/);
|
|
44
|
+
if (m)
|
|
45
|
+
return { objectName: m[2], mode: m[1] === 'edit' || m[1] === 'update' ? 'edit' : 'create' };
|
|
46
|
+
return { objectName: schema, mode: 'create' };
|
|
47
|
+
}
|
|
48
|
+
if (schema && typeof schema === 'object') {
|
|
49
|
+
// A bare SchemaNode (has `type` but isn't a modal descriptor) → render as content.
|
|
50
|
+
if (schema.type && !schema.content && !schema.objectName && !schema.placement) {
|
|
51
|
+
return { content: schema };
|
|
52
|
+
}
|
|
53
|
+
return schema;
|
|
54
|
+
}
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
export function useActionModal(dataSource) {
|
|
58
|
+
const [state, setState] = useState(null);
|
|
59
|
+
const close = useCallback((r) => {
|
|
60
|
+
setState((s) => {
|
|
61
|
+
s?.resolve(r);
|
|
62
|
+
return null;
|
|
63
|
+
});
|
|
64
|
+
}, []);
|
|
65
|
+
const modalHandler = useCallback((schema) => new Promise((resolve) => {
|
|
66
|
+
setState({ d: normalizeModalSchema(schema), resolve });
|
|
67
|
+
}), []);
|
|
68
|
+
let modalElement = null;
|
|
69
|
+
if (state) {
|
|
70
|
+
const d = state.d;
|
|
71
|
+
const onOpenChange = (open) => {
|
|
72
|
+
if (!open)
|
|
73
|
+
close({ success: false });
|
|
74
|
+
};
|
|
75
|
+
if (d.objectName && !d.content) {
|
|
76
|
+
modalElement = (_jsx(ModalForm, { schema: {
|
|
77
|
+
type: 'object-form',
|
|
78
|
+
formType: 'modal',
|
|
79
|
+
objectName: d.objectName,
|
|
80
|
+
mode: d.mode || 'create',
|
|
81
|
+
recordId: d.recordId,
|
|
82
|
+
title: d.title,
|
|
83
|
+
description: d.description,
|
|
84
|
+
fields: d.fields,
|
|
85
|
+
modalSize: d.size,
|
|
86
|
+
open: true,
|
|
87
|
+
onOpenChange,
|
|
88
|
+
onSuccess: (data) => close({ success: true, reload: true, data }),
|
|
89
|
+
onCancel: () => close({ success: false }),
|
|
90
|
+
showSubmit: true,
|
|
91
|
+
showCancel: true,
|
|
92
|
+
}, dataSource: dataSource }));
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
const placement = d.placement || 'center';
|
|
96
|
+
const body = d.content ? (_jsx(SchemaRenderer, { schema: d.content })) : d.description ? (_jsx("p", { className: "text-sm text-muted-foreground", children: d.description })) : null;
|
|
97
|
+
if (placement === 'side') {
|
|
98
|
+
modalElement = (_jsx(Sheet, { open: true, onOpenChange: onOpenChange, children: _jsxs(SheetContent, { side: d.side || 'right', className: cn('w-full overflow-y-auto', SIDE_SIZE_CLASS[d.size || 'default']), children: [d.title && (_jsxs(SheetHeader, { children: [_jsx(SheetTitle, { children: d.title }), d.description && _jsx(SheetDescription, { children: d.description })] })), _jsx("div", { className: "py-3", children: body })] }) }));
|
|
99
|
+
}
|
|
100
|
+
else if (placement === 'bottom') {
|
|
101
|
+
modalElement = (_jsx(Drawer, { open: true, onOpenChange: onOpenChange, children: _jsxs(DrawerContent, { children: [d.title && (_jsxs(DrawerHeader, { children: [_jsx(DrawerTitle, { children: d.title }), d.description && _jsx(DrawerDescription, { children: d.description })] })), _jsx("div", { className: "max-h-[75vh] overflow-y-auto px-4 pb-6", children: body })] }) }));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
modalElement = (_jsx(Dialog, { open: true, onOpenChange: onOpenChange, children: _jsxs(DialogContent, { className: cn(placement === 'fullscreen'
|
|
105
|
+
? 'h-[95vh] w-full max-w-[98vw] overflow-y-auto'
|
|
106
|
+
: SIZE_CLASS[d.size || 'default']), children: [d.title && (_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: d.title }), d.description && _jsx(DialogDescription, { children: d.description })] })), _jsx("div", { children: body }), !d.content && (_jsx("div", { className: "flex justify-end", children: _jsx(Button, { onClick: () => close({ success: true }), children: "OK" }) }))] }) }));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { modalHandler, modalElement, closeModal: close };
|
|
111
|
+
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/** Minimal UIMessage shape compatible with `@ai-sdk/react`'s `useChat`. */
|
|
2
|
+
export interface HydratedUIMessagePart {
|
|
3
|
+
type: string;
|
|
4
|
+
text?: string;
|
|
5
|
+
[key: string]: unknown;
|
|
6
|
+
}
|
|
2
7
|
export interface HydratedUIMessage {
|
|
3
8
|
id: string;
|
|
4
9
|
role: 'user' | 'assistant' | 'system';
|
|
5
|
-
parts:
|
|
6
|
-
type: 'text';
|
|
7
|
-
text: string;
|
|
8
|
-
}>;
|
|
10
|
+
parts: HydratedUIMessagePart[];
|
|
9
11
|
}
|
|
10
12
|
export interface UseChatConversationOptions {
|
|
11
13
|
/** Authenticated user id; hook is inert until this is defined. */
|
|
@@ -27,12 +29,143 @@ export interface UseChatConversationOptions {
|
|
|
27
29
|
* original cache-first / create-on-miss behaviour.
|
|
28
30
|
*/
|
|
29
31
|
activeId?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Explicit "start a NEW conversation" intent (the sidebar's New button,
|
|
34
|
+
* `/ai?new=1`). Without it a bare `/ai` visit resumes the last cached
|
|
35
|
+
* conversation — which is right for a plain visit but made the New button a
|
|
36
|
+
* no-op: the resolved-once guard kept the current id and the URL-mirroring
|
|
37
|
+
* effect immediately rewrote `/ai` back to `/ai/:currentId`. When true (and
|
|
38
|
+
* no `activeId`), the cache and the guard are skipped and a fresh
|
|
39
|
+
* conversation is created. Ignored while `activeId` is set.
|
|
40
|
+
*/
|
|
41
|
+
forceNew?: boolean;
|
|
30
42
|
}
|
|
31
43
|
export interface UseChatConversationReturn {
|
|
32
44
|
conversationId: string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* The `scope` (agent) the current `conversationId` was resolved under. Lets a
|
|
47
|
+
* host distinguish "this id belongs to the active agent" from "this id is the
|
|
48
|
+
* PREVIOUS agent's, pending re-resolution after a switch" — so it doesn't
|
|
49
|
+
* mirror a stale id onto the new agent's URL.
|
|
50
|
+
*/
|
|
51
|
+
conversationScope: string | undefined;
|
|
33
52
|
initialMessages: HydratedUIMessage[];
|
|
34
53
|
isLoading: boolean;
|
|
35
54
|
/** Delete the current conversation + start a fresh one. */
|
|
36
55
|
reset: () => Promise<void>;
|
|
37
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* The subset of plugin-chatbot's `DraftReview` (mapMessages.ts) that the chat's
|
|
59
|
+
* draft/publish + ADR-0038 verification cards are derived from. Mirrored here —
|
|
60
|
+
* rather than imported — to keep this low-level hook free of a `@object-ui/
|
|
61
|
+
* plugin-chatbot` dependency; the round-trip test in
|
|
62
|
+
* `useChatConversation.test.tsx` runs these through the REAL detectors, so any
|
|
63
|
+
* incompatible drift fails CI.
|
|
64
|
+
*/
|
|
65
|
+
interface CachedDraftReview {
|
|
66
|
+
items: Array<{
|
|
67
|
+
type: string;
|
|
68
|
+
name: string;
|
|
69
|
+
}>;
|
|
70
|
+
summary?: string;
|
|
71
|
+
packageId?: string;
|
|
72
|
+
autoPublishable?: boolean;
|
|
73
|
+
failedCount?: number;
|
|
74
|
+
materialized?: boolean;
|
|
75
|
+
verification?: {
|
|
76
|
+
errors: number;
|
|
77
|
+
warnings: number;
|
|
78
|
+
};
|
|
79
|
+
issues?: Array<{
|
|
80
|
+
severity: 'error' | 'warning';
|
|
81
|
+
code: string;
|
|
82
|
+
message: string;
|
|
83
|
+
fix?: string;
|
|
84
|
+
}>;
|
|
85
|
+
nextSteps?: string[];
|
|
86
|
+
}
|
|
87
|
+
/** Mirrors the subset of plugin-chatbot's `ProposedPlan` the "Proposed plan" card needs. */
|
|
88
|
+
interface CachedProposedPlan {
|
|
89
|
+
summary?: string;
|
|
90
|
+
objects: Array<{
|
|
91
|
+
name: string;
|
|
92
|
+
label?: string;
|
|
93
|
+
fieldCount: number;
|
|
94
|
+
}>;
|
|
95
|
+
counts: {
|
|
96
|
+
objects: number;
|
|
97
|
+
views: number;
|
|
98
|
+
dashboards: number;
|
|
99
|
+
seedData: number;
|
|
100
|
+
};
|
|
101
|
+
questions: string[];
|
|
102
|
+
assumptions: string[];
|
|
103
|
+
targetApp?: string;
|
|
104
|
+
}
|
|
105
|
+
interface CacheableChatToolInvocation {
|
|
106
|
+
toolCallId: string;
|
|
107
|
+
toolName: string;
|
|
108
|
+
state?: string;
|
|
109
|
+
errorText?: string;
|
|
110
|
+
/**
|
|
111
|
+
* The detect-relevant shapes the live render already derived from the tool
|
|
112
|
+
* result (`uiMessageToChatMessage`). Present on assistant tool invocations
|
|
113
|
+
* that staged a draft (`apply_blueprint` …) or proposed a plan
|
|
114
|
+
* (`propose_blueprint`). We re-serialize these into a COMPACT tool `output`
|
|
115
|
+
* so the cards survive a cache-fallback reload — see
|
|
116
|
+
* `sanitizeChatMessagesForCache`.
|
|
117
|
+
*/
|
|
118
|
+
draftReview?: CachedDraftReview;
|
|
119
|
+
proposedPlan?: CachedProposedPlan;
|
|
120
|
+
}
|
|
121
|
+
interface CacheableChatMessage {
|
|
122
|
+
id: string;
|
|
123
|
+
role: 'user' | 'assistant' | 'system';
|
|
124
|
+
content?: string;
|
|
125
|
+
toolInvocations?: CacheableChatToolInvocation[];
|
|
126
|
+
}
|
|
127
|
+
export declare function writeConversationMessagesCache(conversationId: string | undefined, messages: HydratedUIMessage[]): void;
|
|
128
|
+
export declare function sanitizeChatMessagesForCache(messages: CacheableChatMessage[]): HydratedUIMessage[];
|
|
129
|
+
interface ServerMessage {
|
|
130
|
+
id?: string;
|
|
131
|
+
role: string;
|
|
132
|
+
content: unknown;
|
|
133
|
+
}
|
|
134
|
+
interface ServerConversation {
|
|
135
|
+
id: string;
|
|
136
|
+
messages?: ServerMessage[];
|
|
137
|
+
}
|
|
138
|
+
export declare function toUIMessages(rows: ServerMessage[] | undefined): HydratedUIMessage[];
|
|
139
|
+
/**
|
|
140
|
+
* A FLAT `ai_messages` row as returned by the public share endpoint
|
|
141
|
+
* (`GET /api/v1/share-links/:token/messages`), which streams the raw object
|
|
142
|
+
* rows rather than the reconstructed ModelMessage history that the
|
|
143
|
+
* authenticated `GET /conversations/:id` returns.
|
|
144
|
+
*/
|
|
145
|
+
export interface RawAiMessageRow {
|
|
146
|
+
id?: string;
|
|
147
|
+
role: string;
|
|
148
|
+
/** Persisted text (assistant/user/system) OR a JSON-stringified tool-result array (tool role). */
|
|
149
|
+
content?: unknown;
|
|
150
|
+
/** Assistant tool CALLS, JSON-stringified (`tool-call` parts). */
|
|
151
|
+
tool_calls?: string | null;
|
|
152
|
+
/** Tool RESULT's owning call id (legacy plain-string tool rows). */
|
|
153
|
+
tool_call_id?: string | null;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Reconstruct the ModelMessage-shaped `content` that {@link toUIMessages}
|
|
157
|
+
* expects from the FLAT columns the public share endpoint returns raw.
|
|
158
|
+
*
|
|
159
|
+
* The authenticated path gets this reconstruction server-side
|
|
160
|
+
* (`ObjqlConversationService.toMessage`): an assistant turn's tool CALLS live
|
|
161
|
+
* in the separate `tool_calls` column, and a `tool` row's RESULTS are a
|
|
162
|
+
* JSON-stringified array in `content`. The share endpoint skips that step and
|
|
163
|
+
* dumps the rows verbatim — so the shared transcript previously rendered the
|
|
164
|
+
* raw `{"type":"tool-result",…}` envelope as text instead of a card. Mirroring
|
|
165
|
+
* `toMessage` here lets the share page reuse the exact same hydrate → render
|
|
166
|
+
* pipeline as the live chat. Keep this in lockstep with `toMessage`.
|
|
167
|
+
*/
|
|
168
|
+
export declare function aiMessageRowsToServerMessages(rows: RawAiMessageRow[] | undefined): ServerMessage[];
|
|
169
|
+
export declare function fetchConversation(apiBase: string, id: string): Promise<ServerConversation | null>;
|
|
38
170
|
export declare function useChatConversation(options: UseChatConversationOptions): UseChatConversationReturn;
|
|
171
|
+
export {};
|