@fayz-ai/admin 0.14.0 → 0.16.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/dist/{CommandPalette-U7MMA2WH.js → CommandPalette-XY3VOEAV.js} +23 -13
- package/dist/CommandPalette-XY3VOEAV.js.map +1 -0
- package/dist/{ScheduleEditor-S3QI5MHO.js → ScheduleEditor-A3SX6AYD.js} +4 -4
- package/dist/{ScheduleEditor-S3QI5MHO.js.map → ScheduleEditor-A3SX6AYD.js.map} +1 -1
- package/dist/SubscriptionPage-FE2B5ZXF.js +7 -0
- package/dist/{SubscriptionPage-4KP7DKA2.js.map → SubscriptionPage-FE2B5ZXF.js.map} +1 -1
- package/dist/app/AdminShell.d.ts +11 -1
- package/dist/app/AdminShell.d.ts.map +1 -1
- package/dist/app/admin-app.d.ts.map +1 -1
- package/dist/app/bottom-nav.d.ts +24 -0
- package/dist/app/bottom-nav.d.ts.map +1 -0
- package/dist/app/config.d.ts +34 -3
- package/dist/app/config.d.ts.map +1 -1
- package/dist/app/core-entities.d.ts.map +1 -1
- package/dist/app/derive-contract.d.ts.map +1 -1
- package/dist/app/scaffold.d.ts.map +1 -1
- package/dist/{chunk-B6NVEKAJ.js → chunk-IPWXA46H.js} +3 -3
- package/dist/{chunk-B6NVEKAJ.js.map → chunk-IPWXA46H.js.map} +1 -1
- package/dist/{chunk-PNAJODZM.js → chunk-OB7ZSTQD.js} +13 -3
- package/dist/chunk-OB7ZSTQD.js.map +1 -0
- package/dist/{chunk-OI7RYSTM.js → chunk-OOWP6W2I.js} +33 -7
- package/dist/chunk-OOWP6W2I.js.map +1 -0
- package/dist/components/AskAI.d.ts +71 -0
- package/dist/components/AskAI.d.ts.map +1 -0
- package/dist/components/RightRail.d.ts +10 -2
- package/dist/components/RightRail.d.ts.map +1 -1
- package/dist/components/RightRailPage.d.ts +30 -0
- package/dist/components/RightRailPage.d.ts.map +1 -0
- package/dist/components/chat/AgentAvatar.d.ts +43 -0
- package/dist/components/chat/AgentAvatar.d.ts.map +1 -0
- package/dist/components/chat/AgentIntro.d.ts +25 -0
- package/dist/components/chat/AgentIntro.d.ts.map +1 -0
- package/dist/components/chat/AssistantActivityBar.d.ts +7 -2
- package/dist/components/chat/AssistantActivityBar.d.ts.map +1 -1
- package/dist/components/chat/AssistantRecordingView.d.ts +16 -0
- package/dist/components/chat/AssistantRecordingView.d.ts.map +1 -0
- package/dist/components/chat/ChatAttachments.d.ts +12 -1
- package/dist/components/chat/ChatAttachments.d.ts.map +1 -1
- package/dist/components/chat/ChatComposer.d.ts +5 -4
- package/dist/components/chat/ChatComposer.d.ts.map +1 -1
- package/dist/components/chat/ChatConversation.d.ts +1 -1
- package/dist/components/chat/ChatConversation.d.ts.map +1 -1
- package/dist/components/chat/ChatFab.d.ts +1 -5
- package/dist/components/chat/ChatFab.d.ts.map +1 -1
- package/dist/components/chat/ChatHistory.d.ts.map +1 -1
- package/dist/components/chat/ChatMessages.d.ts +1 -1
- package/dist/components/chat/ChatMessages.d.ts.map +1 -1
- package/dist/components/chat/ChatSuggestions.d.ts.map +1 -1
- package/dist/components/chat/ChoiceCard.d.ts +23 -0
- package/dist/components/chat/ChoiceCard.d.ts.map +1 -0
- package/dist/components/chat/ConnectorSuggestionCard.d.ts +3 -0
- package/dist/components/chat/ConnectorSuggestionCard.d.ts.map +1 -1
- package/dist/components/chat/RecordChip.d.ts.map +1 -1
- package/dist/components/chat/StaffHireView.d.ts +21 -0
- package/dist/components/chat/StaffHireView.d.ts.map +1 -0
- package/dist/components/chat/StaffPitchCard.d.ts +15 -0
- package/dist/components/chat/StaffPitchCard.d.ts.map +1 -0
- package/dist/components/chat/StaffSwitcher.d.ts +23 -0
- package/dist/components/chat/StaffSwitcher.d.ts.map +1 -0
- package/dist/components/chat/activity-icons.d.ts +16 -0
- package/dist/components/chat/activity-icons.d.ts.map +1 -0
- package/dist/components/chat/index.d.ts +2 -0
- package/dist/components/chat/index.d.ts.map +1 -1
- package/dist/components/connect/ConnectConsentPage.d.ts.map +1 -1
- package/dist/components/connect/ConnectorDetail.d.ts.map +1 -1
- package/dist/components/connect/ConnectorRuns.d.ts.map +1 -1
- package/dist/components/connect/ConnectorsPanel.d.ts.map +1 -1
- package/dist/components/connect/ConnectorsTab.d.ts.map +1 -1
- package/dist/components/connect/connector-map.generated.d.ts.map +1 -1
- package/dist/components/connect/index.d.ts +3 -0
- package/dist/components/connect/index.d.ts.map +1 -1
- package/dist/components/connect/model.d.ts +55 -0
- package/dist/components/connect/model.d.ts.map +1 -1
- package/dist/components/connect/useConnectors.d.ts.map +1 -1
- package/dist/components/layout/CommandPalette.d.ts.map +1 -1
- package/dist/components/organization/PermissionMatrixEditor.d.ts.map +1 -1
- package/dist/components/organization/PermissionProfilesTab.d.ts.map +1 -1
- package/dist/components/organization/TeamTab.d.ts.map +1 -1
- package/dist/components/organization/index.d.ts +0 -2
- package/dist/components/organization/index.d.ts.map +1 -1
- package/dist/components/plugins/PluginSettingsPanel.d.ts +1 -2
- package/dist/components/plugins/PluginSettingsPanel.d.ts.map +1 -1
- package/dist/components/plugins/SettingsTabs.d.ts +33 -0
- package/dist/components/plugins/SettingsTabs.d.ts.map +1 -0
- package/dist/components/rail-pages.d.ts +17 -0
- package/dist/components/rail-pages.d.ts.map +1 -0
- package/dist/components/right-rail.d.ts +95 -1
- package/dist/components/right-rail.d.ts.map +1 -1
- package/dist/components/settings/ConnectedCompanySettings.d.ts.map +1 -1
- package/dist/components/settings/ConnectedUserProfile.d.ts.map +1 -1
- package/dist/components/settings/LocationsCrudPage.d.ts.map +1 -1
- package/dist/components/settings/MyRecordPanel.d.ts +3 -0
- package/dist/components/settings/MyRecordPanel.d.ts.map +1 -0
- package/dist/components/settings/MyWorkspaceCard.d.ts +3 -0
- package/dist/components/settings/MyWorkspaceCard.d.ts.map +1 -0
- package/dist/components/settings/SettingsPage.d.ts +9 -1
- package/dist/components/settings/SettingsPage.d.ts.map +1 -1
- package/dist/components/shared/ContactPicker.d.ts +26 -12
- package/dist/components/shared/ContactPicker.d.ts.map +1 -1
- package/dist/components/shared/RecordPickerModal.d.ts.map +1 -1
- package/dist/crud/CrudAgentSurface.d.ts +27 -0
- package/dist/crud/CrudAgentSurface.d.ts.map +1 -0
- package/dist/crud/CrudDetailPage.d.ts +19 -1
- package/dist/crud/CrudDetailPage.d.ts.map +1 -1
- package/dist/crud/CrudFormPage.d.ts +43 -2
- package/dist/crud/CrudFormPage.d.ts.map +1 -1
- package/dist/crud/CrudListView.d.ts +32 -14
- package/dist/crud/CrudListView.d.ts.map +1 -1
- package/dist/crud/CrudPage.d.ts +13 -2
- package/dist/crud/CrudPage.d.ts.map +1 -1
- package/dist/crud/CrudRecordModal.d.ts +17 -3
- package/dist/crud/CrudRecordModal.d.ts.map +1 -1
- package/dist/crud/CrudSkeletons.d.ts +7 -3
- package/dist/crud/CrudSkeletons.d.ts.map +1 -1
- package/dist/crud/LookupCreateInline.d.ts +15 -0
- package/dist/crud/LookupCreateInline.d.ts.map +1 -0
- package/dist/crud/archetype-lookup.d.ts +19 -6
- package/dist/crud/archetype-lookup.d.ts.map +1 -1
- package/dist/crud/archetypes/AddressesTab.d.ts.map +1 -1
- package/dist/crud/archetypes/LocationDetailTabs.d.ts +3 -2
- package/dist/crud/archetypes/LocationDetailTabs.d.ts.map +1 -1
- package/dist/crud/archetypes/OrderDetailView.d.ts +13 -1
- package/dist/crud/archetypes/OrderDetailView.d.ts.map +1 -1
- package/dist/crud/archetypes/OrderFormView.d.ts +13 -2
- package/dist/crud/archetypes/OrderFormView.d.ts.map +1 -1
- package/dist/crud/archetypes/PersonDetailTabs.d.ts +2 -1
- package/dist/crud/archetypes/PersonDetailTabs.d.ts.map +1 -1
- package/dist/crud/archetypes/PersonFormLayout.d.ts.map +1 -1
- package/dist/crud/archetypes/PersonPicker.d.ts.map +1 -1
- package/dist/crud/createCrudPage.d.ts +4 -1
- package/dist/crud/createCrudPage.d.ts.map +1 -1
- package/dist/crud/index.d.ts +2 -0
- package/dist/crud/index.d.ts.map +1 -1
- package/dist/crud/useLookupCreate.d.ts +30 -0
- package/dist/crud/useLookupCreate.d.ts.map +1 -0
- package/dist/crud/write-errors.d.ts +24 -0
- package/dist/crud/write-errors.d.ts.map +1 -0
- package/dist/data/client.d.ts +10 -0
- package/dist/data/client.d.ts.map +1 -1
- package/dist/hooks/useAITools.d.ts +1 -0
- package/dist/hooks/useAITools.d.ts.map +1 -1
- package/dist/hooks/useAppConfig.d.ts +20 -0
- package/dist/hooks/useAppConfig.d.ts.map +1 -0
- package/dist/hooks/useChat.d.ts.map +1 -1
- package/dist/hooks/useLayout.d.ts +1 -0
- package/dist/hooks/useLayout.d.ts.map +1 -1
- package/dist/hooks/useTenantPlugins.d.ts.map +1 -1
- package/dist/index.d.ts +31 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15914 -8099
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-staff.d.ts +117 -0
- package/dist/lib/agent-staff.d.ts.map +1 -0
- package/dist/lib/agent-surface.d.ts +4 -0
- package/dist/lib/agent-surface.d.ts.map +1 -1
- package/dist/lib/agent-threads.d.ts +15 -0
- package/dist/lib/agent-threads.d.ts.map +1 -0
- package/dist/lib/ai-tool-handlers.d.ts.map +1 -1
- package/dist/lib/assistant-activity.d.ts +47 -4
- package/dist/lib/assistant-activity.d.ts.map +1 -1
- package/dist/lib/assistant-invite.d.ts +20 -1
- package/dist/lib/assistant-invite.d.ts.map +1 -1
- package/dist/lib/assistant-text.d.ts +9 -0
- package/dist/lib/assistant-text.d.ts.map +1 -0
- package/dist/lib/attachments.d.ts +34 -0
- package/dist/lib/attachments.d.ts.map +1 -1
- package/dist/lib/chat-upload.d.ts +12 -0
- package/dist/lib/chat-upload.d.ts.map +1 -0
- package/dist/lib/choice-cards.d.ts +16 -0
- package/dist/lib/choice-cards.d.ts.map +1 -0
- package/dist/lib/core-ai-tools.d.ts +17 -0
- package/dist/lib/core-ai-tools.d.ts.map +1 -1
- package/dist/lib/fayz-agent.d.ts +9 -0
- package/dist/lib/fayz-agent.d.ts.map +1 -1
- package/dist/lib/fayz-events.d.ts.map +1 -1
- package/dist/lib/reveal-page.d.ts +19 -0
- package/dist/lib/reveal-page.d.ts.map +1 -0
- package/dist/lib/staff-cards.d.ts +11 -0
- package/dist/lib/staff-cards.d.ts.map +1 -0
- package/dist/lib/unit-ai-handlers.d.ts +2 -0
- package/dist/lib/unit-ai-handlers.d.ts.map +1 -0
- package/dist/lib/unit-ai-tools.d.ts +3 -0
- package/dist/lib/unit-ai-tools.d.ts.map +1 -0
- package/dist/onboarding/GettingStartedWidget.d.ts +13 -0
- package/dist/onboarding/GettingStartedWidget.d.ts.map +1 -0
- package/dist/onboarding/WorkspaceSetupFlow.d.ts +24 -0
- package/dist/onboarding/WorkspaceSetupFlow.d.ts.map +1 -0
- package/dist/onboarding/WorkspaceSetupGate.d.ts +25 -0
- package/dist/onboarding/WorkspaceSetupGate.d.ts.map +1 -0
- package/dist/onboarding/analyze-site.d.ts +23 -0
- package/dist/onboarding/analyze-site.d.ts.map +1 -0
- package/dist/onboarding/backend.d.ts +44 -0
- package/dist/onboarding/backend.d.ts.map +1 -0
- package/dist/onboarding/checklist.d.ts +55 -0
- package/dist/onboarding/checklist.d.ts.map +1 -0
- package/dist/onboarding/connector-options.d.ts +52 -0
- package/dist/onboarding/connector-options.d.ts.map +1 -0
- package/dist/onboarding/decide.d.ts +36 -0
- package/dist/onboarding/decide.d.ts.map +1 -0
- package/dist/onboarding/index.d.ts +19 -0
- package/dist/onboarding/index.d.ts.map +1 -0
- package/dist/onboarding/infer-vertical.d.ts +2 -0
- package/dist/onboarding/infer-vertical.d.ts.map +1 -0
- package/dist/onboarding/packs/beauty.d.ts +4 -0
- package/dist/onboarding/packs/beauty.d.ts.map +1 -0
- package/dist/onboarding/packs/food.d.ts +4 -0
- package/dist/onboarding/packs/food.d.ts.map +1 -0
- package/dist/onboarding/packs/index.d.ts +17 -0
- package/dist/onboarding/packs/index.d.ts.map +1 -0
- package/dist/onboarding/packs/retail.d.ts +8 -0
- package/dist/onboarding/packs/retail.d.ts.map +1 -0
- package/dist/onboarding/questions.d.ts +41 -0
- package/dist/onboarding/questions.d.ts.map +1 -0
- package/dist/onboarding/resolve.d.ts +12 -0
- package/dist/onboarding/resolve.d.ts.map +1 -0
- package/dist/onboarding/steps.d.ts +31 -0
- package/dist/onboarding/steps.d.ts.map +1 -0
- package/dist/onboarding/store.d.ts +17 -0
- package/dist/onboarding/store.d.ts.map +1 -0
- package/dist/onboarding/submit.d.ts +25 -0
- package/dist/onboarding/submit.d.ts.map +1 -0
- package/dist/onboarding/tasks.d.ts +28 -0
- package/dist/onboarding/tasks.d.ts.map +1 -0
- package/dist/onboarding/types.d.ts +39 -0
- package/dist/onboarding/types.d.ts.map +1 -0
- package/dist/onboarding/useWorkspaceSetupGate.d.ts +36 -0
- package/dist/onboarding/useWorkspaceSetupGate.d.ts.map +1 -0
- package/dist/org/context.d.ts +10 -0
- package/dist/org/context.d.ts.map +1 -1
- package/dist/org/index.js +2 -2
- package/dist/org/self.d.ts +50 -0
- package/dist/org/self.d.ts.map +1 -0
- package/dist/plugins/ModuleActionBar.d.ts +16 -9
- package/dist/plugins/ModuleActionBar.d.ts.map +1 -1
- package/dist/plugins/PageActions.d.ts +16 -0
- package/dist/plugins/PageActions.d.ts.map +1 -0
- package/dist/plugins/QuickActionsButton.d.ts.map +1 -1
- package/dist/plugins/header-actions.d.ts +11 -0
- package/dist/plugins/header-actions.d.ts.map +1 -0
- package/dist/stores/app-config.store.d.ts +27 -0
- package/dist/stores/app-config.store.d.ts.map +1 -0
- package/dist/stores/chat.store.d.ts +194 -3
- package/dist/stores/chat.store.d.ts.map +1 -1
- package/dist/tasks/TasksRailPanel.d.ts +4 -0
- package/dist/tasks/TasksRailPanel.d.ts.map +1 -0
- package/dist/tasks/components/TaskCard.d.ts +11 -0
- package/dist/tasks/components/TaskCard.d.ts.map +1 -0
- package/dist/tasks/components/TaskDetail.d.ts +5 -0
- package/dist/tasks/components/TaskDetail.d.ts.map +1 -0
- package/dist/tasks/components/TaskLabelBadge.d.ts +9 -0
- package/dist/tasks/components/TaskLabelBadge.d.ts.map +1 -0
- package/dist/tasks/components/TaskPriorityBadge.d.ts +7 -0
- package/dist/tasks/components/TaskPriorityBadge.d.ts.map +1 -0
- package/dist/tasks/components/TaskQuickAdd.d.ts +5 -0
- package/dist/tasks/components/TaskQuickAdd.d.ts.map +1 -0
- package/dist/tasks/components/TaskSourceBadge.d.ts +5 -0
- package/dist/tasks/components/TaskSourceBadge.d.ts.map +1 -0
- package/dist/tasks/components/TaskStatusGroup.d.ts +17 -0
- package/dist/tasks/components/TaskStatusGroup.d.ts.map +1 -0
- package/dist/tasks/components/TasksFilterBar.d.ts +3 -0
- package/dist/tasks/components/TasksFilterBar.d.ts.map +1 -0
- package/dist/tasks/components/TasksPanel.d.ts +14 -0
- package/dist/tasks/components/TasksPanel.d.ts.map +1 -0
- package/dist/tasks/data/mock.d.ts +3 -0
- package/dist/tasks/data/mock.d.ts.map +1 -0
- package/dist/tasks/data/supabase.d.ts +3 -0
- package/dist/tasks/data/supabase.d.ts.map +1 -0
- package/dist/tasks/entity.d.ts +11 -0
- package/dist/tasks/entity.d.ts.map +1 -0
- package/dist/tasks/index.d.ts +17 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/registry.d.ts +3 -0
- package/dist/tasks/registry.d.ts.map +1 -0
- package/dist/tasks/store.d.ts +34 -0
- package/dist/tasks/store.d.ts.map +1 -0
- package/dist/tasks/types.d.ts +89 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/theme/index.d.ts +1 -1
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/theme/utils.d.ts +14 -0
- package/dist/theme/utils.d.ts.map +1 -1
- package/dist/timeline/PersonTimeline.d.ts.map +1 -1
- package/dist/types/crud.d.ts +10 -0
- package/dist/types/crud.d.ts.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/plugins.d.ts +3 -0
- package/dist/types/plugins.d.ts.map +1 -1
- package/dist/units/MemberAccessRailPage.d.ts +19 -0
- package/dist/units/MemberAccessRailPage.d.ts.map +1 -0
- package/dist/units/MemberUnitsCell.d.ts +11 -0
- package/dist/units/MemberUnitsCell.d.ts.map +1 -0
- package/dist/units/PersonUnitsTab.d.ts +5 -0
- package/dist/units/PersonUnitsTab.d.ts.map +1 -0
- package/dist/units/UnitMembersTab.d.ts +5 -0
- package/dist/units/UnitMembersTab.d.ts.map +1 -0
- package/dist/units/UnitMenuSection.d.ts +15 -0
- package/dist/units/UnitMenuSection.d.ts.map +1 -0
- package/dist/units/UnitModeCard.d.ts +3 -0
- package/dist/units/UnitModeCard.d.ts.map +1 -0
- package/dist/units/UnitRailPage.d.ts +10 -0
- package/dist/units/UnitRailPage.d.ts.map +1 -0
- package/dist/units/UnitSwitcher.d.ts +5 -0
- package/dist/units/UnitSwitcher.d.ts.map +1 -0
- package/dist/units/UnitsSettingsPage.d.ts +3 -0
- package/dist/units/UnitsSettingsPage.d.ts.map +1 -0
- package/dist/units/cache.d.ts +26 -0
- package/dist/units/cache.d.ts.map +1 -0
- package/dist/units/data.d.ts +118 -0
- package/dist/units/data.d.ts.map +1 -0
- package/dist/units/device.d.ts +26 -0
- package/dist/units/device.d.ts.map +1 -0
- package/dist/units/entry.d.ts +52 -0
- package/dist/units/entry.d.ts.map +1 -0
- package/dist/units/geo.d.ts +18 -0
- package/dist/units/geo.d.ts.map +1 -0
- package/dist/units/index.d.ts +18 -0
- package/dist/units/index.d.ts.map +1 -0
- package/dist/units/store.d.ts +32 -0
- package/dist/units/store.d.ts.map +1 -0
- package/dist/units/useUnitBootstrap.d.ts +10 -0
- package/dist/units/useUnitBootstrap.d.ts.map +1 -0
- package/package.json +7 -7
- package/dist/CommandPalette-U7MMA2WH.js.map +0 -1
- package/dist/SubscriptionPage-4KP7DKA2.js +0 -7
- package/dist/chunk-OI7RYSTM.js.map +0 -1
- package/dist/chunk-PNAJODZM.js.map +0 -1
- package/dist/components/organization/OrgInitializer.d.ts +0 -7
- package/dist/components/organization/OrgInitializer.d.ts.map +0 -1
- package/dist/components/organization/OrgSwitcher.d.ts +0 -7
- package/dist/components/organization/OrgSwitcher.d.ts.map +0 -1
- package/dist/components/organization/TenantOnboarding.d.ts +0 -9
- package/dist/components/organization/TenantOnboarding.d.ts.map +0 -1
- package/dist/components/shared/create-person.d.ts +0 -20
- package/dist/components/shared/create-person.d.ts.map +0 -1
- package/dist/types/entity-lookup.d.ts +0 -27
- package/dist/types/entity-lookup.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useWorkspaceSetupGate.d.ts","sourceRoot":"","sources":["../../src/onboarding/useWorkspaceSetupGate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,uBAAuB,CAgC/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAK/D"}
|
package/dist/org/context.d.ts
CHANGED
|
@@ -8,6 +8,16 @@ export interface TenantContext {
|
|
|
8
8
|
/** All orgs the current user belongs to */
|
|
9
9
|
userOrgs: OrgMembership[];
|
|
10
10
|
loading: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The bootstrap has finished at least once, so `org === null` now MEANS
|
|
13
|
+
* "belongs to no workspace" instead of "we have not looked yet".
|
|
14
|
+
*
|
|
15
|
+
* `loading` cannot answer that: it starts `false`, before the effect that
|
|
16
|
+
* loads anything has run. Anything deciding what to render from an empty org
|
|
17
|
+
* — the setup gate — reads this, or it decides during the gap and flips its
|
|
18
|
+
* mind a frame later.
|
|
19
|
+
*/
|
|
20
|
+
settled: boolean;
|
|
11
21
|
/** Switch the active org */
|
|
12
22
|
switchOrg: (orgId: string) => Promise<void>;
|
|
13
23
|
/** Refresh the current org from the adapter */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/org/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAoB5E,wBAAgB,aAAa,IAAI,UAAU,CAM1C;AAED,wBAAgB,qBAAqB,IAAI,UAAU,GAAG,IAAI,CAEzD;AAMD,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;IACxB,2CAA2C;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,4BAA4B;IAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,+CAA+C;IAC/C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAID;;;GAGG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAMzC;AAED,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAExD;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,UAAU,CAAA;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAKD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,UAAkB,EAClB,UAA6B,EAC7B,QAAQ,GACT,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/org/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAoB5E,wBAAgB,aAAa,IAAI,UAAU,CAM1C;AAED,wBAAgB,qBAAqB,IAAI,UAAU,GAAG,IAAI,CAEzD;AAMD,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,GAAG,EAAE,YAAY,GAAG,IAAI,CAAA;IACxB,2CAA2C;IAC3C,QAAQ,EAAE,aAAa,EAAE,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB;;;;;;;;OAQG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,4BAA4B;IAC5B,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3C,+CAA+C;IAC/C,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAID;;;GAGG;AACH,wBAAgB,SAAS,IAAI,aAAa,CAMzC;AAED,wBAAgB,iBAAiB,IAAI,aAAa,GAAG,IAAI,CAExD;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,UAAU,CAAA;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAKD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,UAAkB,EAClB,UAA6B,EAC7B,QAAQ,GACT,EAAE,gBAAgB,qBAoQlB"}
|
package/dist/org/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { createMockOrgAdapter, createSupabaseOrgAdapter } from '../chunk-
|
|
2
|
-
export { ORG_CACHE_TTL_MS, OrgProvider, clearOrgSnapshot, getPersistedOrgId, readOrgSnapshot, useOrgAdapter, useOrgAdapterOptional, useOrganizationStore, useTenant, useTenantOptional } from '../chunk-
|
|
1
|
+
export { createMockOrgAdapter, createSupabaseOrgAdapter } from '../chunk-OOWP6W2I.js';
|
|
2
|
+
export { ORG_CACHE_TTL_MS, OrgProvider, clearOrgSnapshot, getPersistedOrgId, readOrgSnapshot, useOrgAdapter, useOrgAdapterOptional, useOrganizationStore, useTenant, useTenantOptional } from '../chunk-OB7ZSTQD.js';
|
|
3
3
|
import '../chunk-VTEP2AQX.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export interface LinkedPerson {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
kind: string | null;
|
|
5
|
+
}
|
|
6
|
+
/** A ficha profissional deste login, se alguém já disse qual é. */
|
|
7
|
+
export declare function fetchMyPersonRecord(tenantId: string, userId: string): Promise<LinkedPerson | null>;
|
|
8
|
+
/**
|
|
9
|
+
* A ficha que provavelmente é você — e só quando não há dúvida.
|
|
10
|
+
*
|
|
11
|
+
* Devolve `null` se não houver nenhuma, se houver mais de uma, ou se a que
|
|
12
|
+
* houver já pertence a outro login. Ambiguidade aqui vira um vínculo errado
|
|
13
|
+
* entre uma pessoa e uma identidade, que é o tipo de erro que ninguém vai
|
|
14
|
+
* procurar depois.
|
|
15
|
+
*/
|
|
16
|
+
export declare function findMyPersonCandidate(tenantId: string, email: string | undefined, staffKinds: string[]): Promise<LinkedPerson | null>;
|
|
17
|
+
/**
|
|
18
|
+
* Diz que este login e esta ficha são a mesma pessoa.
|
|
19
|
+
*
|
|
20
|
+
* Escrever em `tenant_members` é de administrador (policy da 001, não
|
|
21
|
+
* afrouxada) — e está certo assim: dizer quem é quem na equipe é uma decisão de
|
|
22
|
+
* quem administra a equipe, não uma preferência pessoal. Quem não é
|
|
23
|
+
* administrador recebe o erro do banco, e a tela traduz em "peça a um
|
|
24
|
+
* administrador".
|
|
25
|
+
*/
|
|
26
|
+
export declare function linkPersonToLogin(tenantId: string, userId: string, personId: string | null): Promise<void>;
|
|
27
|
+
/** O login por trás de uma ficha, para a ficha poder dizer que a pessoa entra
|
|
28
|
+
* no sistema. O espelho de `fetchMyPersonRecord`. */
|
|
29
|
+
export declare function fetchLoginForPerson(personId: string): Promise<{
|
|
30
|
+
userId: string;
|
|
31
|
+
email: string | null;
|
|
32
|
+
} | null>;
|
|
33
|
+
/** Só o id da ficha que é este login — uma consulta, não as duas de
|
|
34
|
+
* `fetchMyPersonRecord`. É tudo que a ficha precisa para saber se é você. */
|
|
35
|
+
export declare function fetchMyPersonId(tenantId: string, userId: string): Promise<string | null>;
|
|
36
|
+
/**
|
|
37
|
+
* A ficha que é você, para a tela poder dizer "(você)" em cima dela.
|
|
38
|
+
*
|
|
39
|
+
* `undefined` enquanto não sabe, `null` quando o login não está ligado a ficha
|
|
40
|
+
* nenhuma — e a diferença importa: pintar "(você)" e tirar depois é pior do que
|
|
41
|
+
* demorar um instante para pintar.
|
|
42
|
+
*
|
|
43
|
+
* `enabled` porque a ficha de detalhe é genérica e também desenha produto,
|
|
44
|
+
* serviço e unidade. Um id de produto nunca casaria com uma ficha de pessoa,
|
|
45
|
+
* mas perguntar em toda tela de detalhe é uma requisição por tela para saber
|
|
46
|
+
* uma coisa que só faz sentido numa delas. Com `dedup`, quem pergunta várias
|
|
47
|
+
* vezes na mesma sessão pergunta uma.
|
|
48
|
+
*/
|
|
49
|
+
export declare function useMyPersonId(enabled?: boolean): string | null | undefined;
|
|
50
|
+
//# sourceMappingURL=self.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/org/self.ts"],"names":[],"mappings":"AA8BA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED,mEAAmE;AACnE,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAuB9B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,GACtB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;sDACsD;AACtD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC,CAkB1D;AAED;8EAC8E;AAC9E,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,OAAO,UAAO,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAcvE"}
|
|
@@ -4,24 +4,31 @@ import type { PluginQuickAction } from '@fayz-ai/core';
|
|
|
4
4
|
* ModuleActionBar — the single, standard top-right action area for every plugin
|
|
5
5
|
* module page. Pass it straight to `ModulePage`'s `headerAction` prop.
|
|
6
6
|
*
|
|
7
|
-
* Owns the two things every module's header repeated by hand:
|
|
8
|
-
* - a primary "New" action (rendered via QuickActionsButton, which adapts its
|
|
9
|
-
* variant to the layout: solid in `tabs` products, outline in `rail`),
|
|
10
|
-
* - a settings gear that deep-links into the central Settings area.
|
|
11
|
-
*
|
|
12
|
-
* Plugins stop hand-rolling `<div className="flex gap-2">…gear…</div>` blocks:
|
|
13
7
|
* headerAction={<ModuleActionBar quickActions={quickActions} settingsPath="/settings/crm" />}
|
|
8
|
+
*
|
|
9
|
+
* It no longer draws anything itself: it translates a module's quick actions
|
|
10
|
+
* into the shell's action contract and lets `PageActions` decide how they look.
|
|
11
|
+
* Two things fall out of that.
|
|
12
|
+
*
|
|
13
|
+
* The button variant no longer depends on the product's layout. It used to be
|
|
14
|
+
* solid in `tabs` products and outline in `rail` ones, which meant the SAME
|
|
15
|
+
* control was solid on one screen of an app and outline on the next, depending
|
|
16
|
+
* on whether the screen came from a plugin or from CRUD. One control, one look.
|
|
17
|
+
*
|
|
18
|
+
* The first quick action is the module's primary; the rest fold under its
|
|
19
|
+
* caret. A module offering three equally-weighted buttons is a module with no
|
|
20
|
+
* obvious next step, and on a phone it simply overflows the header.
|
|
14
21
|
*/
|
|
15
22
|
export declare function ModuleActionBar({ quickActions, settingsPath, settingsLabel, leading, trailing, }: {
|
|
16
23
|
/** Primary insert actions. Omit (or empty) to hide the New button. */
|
|
17
24
|
quickActions?: PluginQuickAction[];
|
|
18
25
|
/** Hash route to the central settings tab, e.g. '/settings/crm'. Omit to hide the gear. */
|
|
19
26
|
settingsPath?: string;
|
|
20
|
-
/** Accessible
|
|
27
|
+
/** Accessible name for the gear. Defaults to the shell's word for settings. */
|
|
21
28
|
settingsLabel?: string;
|
|
22
|
-
/**
|
|
29
|
+
/** Extra controls rendered before the actions (e.g. a filter). */
|
|
23
30
|
leading?: React.ReactNode;
|
|
24
|
-
/**
|
|
31
|
+
/** Extra controls rendered after them. */
|
|
25
32
|
trailing?: React.ReactNode;
|
|
26
33
|
}): React.JSX.Element | null;
|
|
27
34
|
//# sourceMappingURL=ModuleActionBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleActionBar.d.ts","sourceRoot":"","sources":["../../src/plugins/ModuleActionBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleActionBar.d.ts","sourceRoot":"","sources":["../../src/plugins/ModuleActionBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAItD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,OAAO,EACP,QAAQ,GACT,EAAE;IACD,sEAAsE;IACtE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAClC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kEAAkE;IAClE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,4BAmCA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type PageActionItem } from '@fayz-ai/ui';
|
|
3
|
+
import type { PermissionAction } from '@fayz-ai/core';
|
|
4
|
+
export interface PageAction extends Omit<PageActionItem, 'hidden'> {
|
|
5
|
+
permission?: {
|
|
6
|
+
feature: string;
|
|
7
|
+
action: PermissionAction;
|
|
8
|
+
};
|
|
9
|
+
/** Plan quantity cap, e.g. an entity's `limitKey`. */
|
|
10
|
+
limitKey?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function PageActions({ actions, className }: {
|
|
13
|
+
actions: PageAction[];
|
|
14
|
+
className?: string;
|
|
15
|
+
}): React.JSX.Element;
|
|
16
|
+
//# sourceMappingURL=PageActions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageActions.d.ts","sourceRoot":"","sources":["../../src/plugins/PageActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAuBrD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC;IAChE,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC1D,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;IAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,qBA8BhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickActionsButton.d.ts","sourceRoot":"","sources":["../../src/plugins/QuickActionsButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;IACtF,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,
|
|
1
|
+
{"version":3,"file":"QuickActionsButton.d.ts","sourceRoot":"","sources":["../../src/plugins/QuickActionsButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;IACtF,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,4BA+EA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { PageAction } from './PageActions';
|
|
2
|
+
/**
|
|
3
|
+
* Contribute one action to a screen's header.
|
|
4
|
+
*
|
|
5
|
+
* `action` is read through a ref, so a handler that closes over fresh state does
|
|
6
|
+
* not have to be memoised to stay current — the same trade useAgentSurface makes.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useHeaderAction(zone: string, action: PageAction | null): void;
|
|
9
|
+
/** Everything contributed to a zone, in registration order. */
|
|
10
|
+
export declare function useHeaderActions(zone: string): PageAction[];
|
|
11
|
+
//# sourceMappingURL=header-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header-actions.d.ts","sourceRoot":"","sources":["../../src/plugins/header-actions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAoC/C;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAa7E;AAED,+DAA+D;AAC/D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAG3D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type AppConfig } from '@fayz-ai/core';
|
|
2
|
+
interface AppConfigStore {
|
|
3
|
+
config: AppConfig;
|
|
4
|
+
/** True until the first answer arrives — not on every refresh. */
|
|
5
|
+
initializing: boolean;
|
|
6
|
+
/** A refresh is in flight; the config on screen is the previous one. */
|
|
7
|
+
stale: boolean;
|
|
8
|
+
/** The read failed. The shell still renders: an empty config is legible. */
|
|
9
|
+
error: string | null;
|
|
10
|
+
setConfig: (config: AppConfig) => void;
|
|
11
|
+
setStale: (stale: boolean) => void;
|
|
12
|
+
setError: (error: string | null) => void;
|
|
13
|
+
reset: () => void;
|
|
14
|
+
}
|
|
15
|
+
export declare const useAppConfigStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AppConfigStore>>;
|
|
16
|
+
/** Active plugin ids, facets folded in — what a screen asks before rendering. */
|
|
17
|
+
export declare function activePluginIds(config: AppConfig): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Is this plugin — or one named part of it — on for this tenant?
|
|
20
|
+
*
|
|
21
|
+
* The facet argument is what makes a plugin with free and paid halves possible:
|
|
22
|
+
* `has('financial')` asks about the plugin, `has('financial', 'reconciliation')`
|
|
23
|
+
* asks about the part somebody pays for.
|
|
24
|
+
*/
|
|
25
|
+
export declare function hasPlugin(config: AppConfig, plugin: string, facet?: string): boolean;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=app-config.store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-config.store.d.ts","sourceRoot":"","sources":["../../src/stores/app-config.store.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAuBhE,UAAU,cAAc;IACtB,MAAM,EAAE,SAAS,CAAA;IACjB,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAA;IACrB,wEAAwE;IACxE,KAAK,EAAE,OAAO,CAAA;IACd,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACxC,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AASD,eAAO,MAAM,iBAAiB,6EAM3B,CAAA;AAEH,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,CAE3D;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF"}
|
|
@@ -44,6 +44,64 @@ export interface ChatConnectorCard {
|
|
|
44
44
|
/** The screen a human finishes it on. Only ever set for a state that has one. */
|
|
45
45
|
route?: string;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* A colleague the tenant has not hired, offered under the reply.
|
|
49
|
+
*
|
|
50
|
+
* The third sibling of {@link ChatRecordLink} and {@link ChatConnectorCard}, and
|
|
51
|
+
* the honest answer to a request whose tools are absent: the agent cannot do
|
|
52
|
+
* growth work without the growth toolset, so instead of improvising it names
|
|
53
|
+
* who does that job and what hiring them would buy.
|
|
54
|
+
*/
|
|
55
|
+
export interface ChatStaffCard {
|
|
56
|
+
kind: 'staff';
|
|
57
|
+
/** AgentRole of the colleague. Kept as a plain string — the store is shape,
|
|
58
|
+
* not vocabulary, and a resumed thread may carry a role since retired. */
|
|
59
|
+
role: string;
|
|
60
|
+
name: string;
|
|
61
|
+
title: string;
|
|
62
|
+
avatar?: string;
|
|
63
|
+
/** From the cast's `pitch`. Absent ⇒ the card shows the goal alone. */
|
|
64
|
+
headline?: string;
|
|
65
|
+
bullets?: string[];
|
|
66
|
+
goal?: string;
|
|
67
|
+
/** Entitlement to unlock — what the "Contratar" button asks the plan for. */
|
|
68
|
+
feature: string;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* "Qual destes?" — the doubt a tool could not settle, handed to the reader.
|
|
72
|
+
*
|
|
73
|
+
* A tool that resolves words to records (a product from what a customer typed,
|
|
74
|
+
* a client from a first name) is right most of the time and occasionally torn
|
|
75
|
+
* between two rows. Torn used to become PROSE: the model printed the candidates
|
|
76
|
+
* with their SKUs, prices and stock as a numbered list and asked in a sentence.
|
|
77
|
+
* That is a database dump where a question belongs, and it asks the reader to
|
|
78
|
+
* answer by typing a name back.
|
|
79
|
+
*
|
|
80
|
+
* So the tool says it is unsure IN ITS RESULT and this renders the question as
|
|
81
|
+
* rows to tap. Deliberately generic — it names no entity and no plugin, because
|
|
82
|
+
* every resolver has this moment.
|
|
83
|
+
*
|
|
84
|
+
* The tool decides WHEN. A resolver confident in its top hit must not emit one:
|
|
85
|
+
* a card for something obvious is a click charged for nothing.
|
|
86
|
+
*/
|
|
87
|
+
export interface ChatChoiceCard {
|
|
88
|
+
kind: 'choice';
|
|
89
|
+
/** Distinguishes two questions in one reply ("costela" and "barbecue"). */
|
|
90
|
+
id: string;
|
|
91
|
+
/** What is being asked, in the reader's language. */
|
|
92
|
+
question: string;
|
|
93
|
+
options: Array<{
|
|
94
|
+
/** Sent back when the row is tapped, so the model reads an unambiguous id. */
|
|
95
|
+
id: string;
|
|
96
|
+
label: string;
|
|
97
|
+
/** The line under the label — price, stock, whatever tells them apart. */
|
|
98
|
+
meta?: string;
|
|
99
|
+
}>;
|
|
100
|
+
}
|
|
101
|
+
export type ChatCard = ChatConnectorCard | ChatStaffCard | ChatChoiceCard;
|
|
102
|
+
/** Identity for dedupe: a connector is its slug, a colleague their role, a
|
|
103
|
+
* question its own id. The kind prefix keeps the id spaces from colliding. */
|
|
104
|
+
export declare function chatCardKey(card: ChatCard): string;
|
|
47
105
|
export interface ChatToolCall {
|
|
48
106
|
name: string;
|
|
49
107
|
/** Pretty-printed arguments (may be empty). */
|
|
@@ -67,13 +125,26 @@ export interface ChatMessage {
|
|
|
67
125
|
/** Records to offer as navigation buttons under the reply. */
|
|
68
126
|
links?: ChatRecordLink[];
|
|
69
127
|
/** Integrations the reply found, rendered as cards under it. */
|
|
70
|
-
cards?:
|
|
128
|
+
cards?: ChatCard[];
|
|
71
129
|
/** Files sent with this turn. Name and shape only — the bytes stayed here. */
|
|
72
130
|
attachments?: Array<{
|
|
73
131
|
name: string;
|
|
74
132
|
kind: AttachmentKind;
|
|
75
133
|
rowCount?: number;
|
|
134
|
+
/** Object URL for an image the user handed over — a photo IS its own label. */
|
|
135
|
+
previewUrl?: string;
|
|
76
136
|
}>;
|
|
137
|
+
/** Which colleague said it — the avatar and the name on the bubble. Absent on
|
|
138
|
+
* an app with no cast, and on every message written before it had one. */
|
|
139
|
+
agentKey?: string;
|
|
140
|
+
/** Renders as a divider instead of a bubble: the baton passing, in the open.
|
|
141
|
+
* A hand-off the user cannot see is a personality change out of nowhere. */
|
|
142
|
+
notice?: {
|
|
143
|
+
kind: 'handoff';
|
|
144
|
+
from?: string;
|
|
145
|
+
to: string;
|
|
146
|
+
topic?: string;
|
|
147
|
+
};
|
|
77
148
|
}
|
|
78
149
|
/**
|
|
79
150
|
* A write the agent wants to perform, parked until the human decides. The turn
|
|
@@ -148,9 +219,52 @@ export interface ChatAttachment {
|
|
|
148
219
|
kind: AttachmentKind;
|
|
149
220
|
status: 'parsing' | 'ready' | 'error';
|
|
150
221
|
digest?: AttachmentDigest;
|
|
222
|
+
/** Object URL for an image, so the chip shows the picture instead of a
|
|
223
|
+
* paperclip. Revoked when the chip goes. */
|
|
224
|
+
previewUrl?: string;
|
|
151
225
|
/** i18n suffix under `chat.attachments.error.*` — the chip says what failed. */
|
|
152
226
|
error?: string;
|
|
153
227
|
}
|
|
228
|
+
/** A stored file referenced by URL, not by bytes. */
|
|
229
|
+
export interface ComposerMedia {
|
|
230
|
+
url: string;
|
|
231
|
+
name: string;
|
|
232
|
+
mime?: string;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* A file the assistant asked for, and what to do with it.
|
|
236
|
+
*
|
|
237
|
+
* `onFiles` belongs to the tool that asked — the chat is the doorway, not the
|
|
238
|
+
* destination. That is what lets a photo be READ (menu import, receipt capture)
|
|
239
|
+
* instead of merely mentioned: the bytes go to the screen that knows what they
|
|
240
|
+
* are, never into the turn.
|
|
241
|
+
*/
|
|
242
|
+
export interface UploadRequest {
|
|
243
|
+
id: string;
|
|
244
|
+
/** The button's own words: "Subir foto do cardápio". */
|
|
245
|
+
label: string;
|
|
246
|
+
/** One line under it — what a good photo looks like. */
|
|
247
|
+
description?: string;
|
|
248
|
+
accept?: string;
|
|
249
|
+
multiple?: boolean;
|
|
250
|
+
/** 'environment' opens the rear camera on a phone; ignored on desktop. */
|
|
251
|
+
capture?: 'environment' | 'user';
|
|
252
|
+
onFiles: (files: File[]) => void | Promise<void>;
|
|
253
|
+
status?: 'waiting' | 'working';
|
|
254
|
+
/**
|
|
255
|
+
* What the user has handed over so far, held in the card.
|
|
256
|
+
*
|
|
257
|
+
* They accumulate instead of firing on the first pick: a menu is several
|
|
258
|
+
* pages, and reading page one while the user is still photographing page two
|
|
259
|
+
* would split one cardápio into two imports.
|
|
260
|
+
*/
|
|
261
|
+
files: StagedUpload[];
|
|
262
|
+
}
|
|
263
|
+
export interface StagedUpload {
|
|
264
|
+
file: File;
|
|
265
|
+
/** Object URL for the thumbnail. Revoked when the file leaves the card. */
|
|
266
|
+
previewUrl?: string;
|
|
267
|
+
}
|
|
154
268
|
/** What the card sends back: the decision, plus the values as edited. */
|
|
155
269
|
export interface PendingActionResult {
|
|
156
270
|
approved: boolean;
|
|
@@ -172,6 +286,21 @@ interface ChatState {
|
|
|
172
286
|
* so subsequent turns only send the new message plus this id.
|
|
173
287
|
*/
|
|
174
288
|
conversationId: string | null;
|
|
289
|
+
/**
|
|
290
|
+
* Whose thread is loaded right now, and the parked transcripts of everyone
|
|
291
|
+
* else. Each colleague keeps their own conversation — you don't ask the
|
|
292
|
+
* front desk something and find the growth specialist mid-sentence.
|
|
293
|
+
*
|
|
294
|
+
* Empty on an app with no cast: `threadRole` stays null and the store behaves
|
|
295
|
+
* exactly as it did with a single assistant.
|
|
296
|
+
*/
|
|
297
|
+
threadRole: string | null;
|
|
298
|
+
threads: Record<string, {
|
|
299
|
+
messages: ChatMessage[];
|
|
300
|
+
conversationId: string | null;
|
|
301
|
+
}>;
|
|
302
|
+
/** Park the open thread and load `role`'s, appending `seed` to it. */
|
|
303
|
+
switchThread: (role: string, seed?: ChatMessage) => void;
|
|
175
304
|
/** The write awaiting human confirmation (renders the ConfirmActionCard). */
|
|
176
305
|
pendingAction: PendingAgentAction | null;
|
|
177
306
|
/** Park an action + register its decision resolver. Resolves immediately
|
|
@@ -197,12 +326,74 @@ interface ChatState {
|
|
|
197
326
|
clearAttachments: () => void;
|
|
198
327
|
/** Hand the turn its digests and unstage everything (bytes included). */
|
|
199
328
|
consumePendingAttachments: () => AttachmentDigest[];
|
|
329
|
+
/**
|
|
330
|
+
* A file the user is already looking at, attached by ADDRESS.
|
|
331
|
+
*
|
|
332
|
+
* Distinct from `attachments`, which stage bytes the browser has to read and
|
|
333
|
+
* digest. This one is a photo the app itself stored and can serve: sending
|
|
334
|
+
* the URL lets the model fetch the original, at full resolution, instead of
|
|
335
|
+
* us inlining megabytes of base64 into the turn — and a picture that came
|
|
336
|
+
* from our own storage never needed to be re-uploaded to be talked about.
|
|
337
|
+
*/
|
|
338
|
+
composerMedia: ComposerMedia | null;
|
|
339
|
+
attachMedia: (media: ComposerMedia) => void;
|
|
340
|
+
clearComposerMedia: () => void;
|
|
341
|
+
/**
|
|
342
|
+
* The assistant asked for a file, and the composer offers it as one big
|
|
343
|
+
* button ("Subir foto do cardápio").
|
|
344
|
+
*
|
|
345
|
+
* This is not an attachment: the bytes never enter the conversation. The tool
|
|
346
|
+
* that asked hands in `onFiles`, and the files go straight there — which is
|
|
347
|
+
* the only way a photo reaches anything today, since a turn carries a digest
|
|
348
|
+
* of a file, never its pixels.
|
|
349
|
+
*/
|
|
350
|
+
uploadRequest: UploadRequest | null;
|
|
351
|
+
requestUpload: (request: Omit<UploadRequest, 'id' | 'status' | 'files'>) => string;
|
|
352
|
+
/** Stage files in the card — the user can still add more or drop one. */
|
|
353
|
+
addUploadFiles: (files: File[]) => void;
|
|
354
|
+
removeUploadFile: (index: number) => void;
|
|
355
|
+
/** Hands everything staged to whoever asked. */
|
|
356
|
+
submitUpload: () => Promise<void>;
|
|
357
|
+
clearUploadRequest: () => void;
|
|
358
|
+
/**
|
|
359
|
+
* The one door for files arriving from anywhere — the composer's `+`, a
|
|
360
|
+
* paste, a drop on the transcript.
|
|
361
|
+
*
|
|
362
|
+
* While a request is up, a matching file belongs to IT: staging a menu photo
|
|
363
|
+
* as a chat attachment would send the assistant a digest with no pixels in
|
|
364
|
+
* it, which is the one thing that cannot answer "manda a foto".
|
|
365
|
+
*/
|
|
366
|
+
receiveFiles: (files: File[]) => void;
|
|
200
367
|
/** Explicit delegation ("resolver com IA"): the user already said go, so the
|
|
201
368
|
* conversation sends this as soon as it can. Distinct from `draft`, which
|
|
202
369
|
* never sends on the user's behalf. */
|
|
203
370
|
queuedPrompt: string | null;
|
|
204
|
-
queuePrompt: (text: string) => void;
|
|
371
|
+
queuePrompt: (text: string, filesToRead?: File[]) => void;
|
|
205
372
|
consumeQueuedPrompt: () => string | null;
|
|
373
|
+
/**
|
|
374
|
+
* Files handed over TO BE READ with the queued prompt — bytes, not digests.
|
|
375
|
+
*
|
|
376
|
+
* Its own field, not a flag on a staged attachment: the composer's `+` stages
|
|
377
|
+
* files to be DESCRIBED, and the difference between describing a file and
|
|
378
|
+
* shipping it to a model is the whole privacy boundary. Two doors, so nobody
|
|
379
|
+
* walks through the wrong one by editing an object.
|
|
380
|
+
*/
|
|
381
|
+
queuedFilesToRead: File[] | null;
|
|
382
|
+
consumeQueuedFilesToRead: () => File[] | null;
|
|
383
|
+
/**
|
|
384
|
+
* O que o campo sugere quando uma tela delega um assunto ao assistente
|
|
385
|
+
* ("Ex.: receita por mesa no jantar"). Dica, não rascunho: a tela sabe do que
|
|
386
|
+
* se trata, o usuário ainda escreve o pedido. Some no primeiro envio — a
|
|
387
|
+
* partir daí a conversa tem assunto próprio.
|
|
388
|
+
*/
|
|
389
|
+
composerHint: string | null;
|
|
390
|
+
setComposerHint: (hint: string | null) => void;
|
|
391
|
+
/** O painel foi aberto por um handoff — o campo assume o cursor assim que
|
|
392
|
+
* existir. Quem clicou "Criar com IA" já está escrevendo o pedido; obrigar
|
|
393
|
+
* um segundo clique no campo é cobrar duas vezes pela mesma decisão. */
|
|
394
|
+
composerFocusRequested: boolean;
|
|
395
|
+
requestComposerFocus: () => void;
|
|
396
|
+
consumeComposerFocus: () => void;
|
|
206
397
|
/** Suggestions panel is pinned open by the user (works mid-conversation). */
|
|
207
398
|
suggestionsOpen: boolean;
|
|
208
399
|
setSuggestionsOpen: (open: boolean) => void;
|
|
@@ -219,7 +410,7 @@ interface ChatState {
|
|
|
219
410
|
/** Attach goto-record buttons to the reply (deduped by id, capped). */
|
|
220
411
|
appendLinksToLastAssistant: (links: ChatRecordLink[]) => void;
|
|
221
412
|
/** Attach connector cards to the reply (deduped by slug, capped). */
|
|
222
|
-
appendCardsToLastAssistant: (cards:
|
|
413
|
+
appendCardsToLastAssistant: (cards: ChatCard[]) => void;
|
|
223
414
|
/** The signed-in user's threads (history drawer). */
|
|
224
415
|
conversations: Array<{
|
|
225
416
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat.store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TasksRailPanel.d.ts","sourceRoot":"","sources":["../../src/tasks/TasksRailPanel.tsx"],"names":[],"mappings":"AASA;iFACiF;AACjF,wBAAgB,cAAc,SAkC7B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task } from '../types';
|
|
3
|
+
export declare function TaskCard({ task, subtaskCount, showSource, }: {
|
|
4
|
+
task: Task;
|
|
5
|
+
subtaskCount?: {
|
|
6
|
+
done: number;
|
|
7
|
+
total: number;
|
|
8
|
+
};
|
|
9
|
+
showSource?: boolean;
|
|
10
|
+
}): React.JSX.Element;
|
|
11
|
+
//# sourceMappingURL=TaskCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAiBpC,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,YAAY,EAGZ,UAAiB,GAClB,EAAE;IACD,IAAI,EAAE,IAAI,CAAA;IACV,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,qBA8EA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskDetail.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA4B/D,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,qBA2MxD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function TaskLabelBadge({ labelId }: {
|
|
3
|
+
labelId: string;
|
|
4
|
+
}): React.JSX.Element | null;
|
|
5
|
+
export declare function TaskLabelBadges({ labelIds, max }: {
|
|
6
|
+
labelIds: string[];
|
|
7
|
+
max?: number;
|
|
8
|
+
}): React.JSX.Element | null;
|
|
9
|
+
//# sourceMappingURL=TaskLabelBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskLabelBadge.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskLabelBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4BAe9D;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAO,EAAE,EAAE;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,4BAiB1F"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { TaskPriority } from '../types';
|
|
3
|
+
export declare function TaskPriorityBadge({ priority, showLabel }: {
|
|
4
|
+
priority: TaskPriority;
|
|
5
|
+
showLabel?: boolean;
|
|
6
|
+
}): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=TaskPriorityBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskPriorityBadge.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskPriorityBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAS5C,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE;IAAE,QAAQ,EAAE,YAAY,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,qBASzG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskQuickAdd.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskQuickAdd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAKpD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,qBAmCtE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskSourceBadge.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskSourceBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,4BAmBpE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { Task, TaskStatus } from '../types';
|
|
3
|
+
/** One collapsible section of the list. `dotClass`/`title` let the getting-started
|
|
4
|
+
* group reuse the exact shape without being a status. */
|
|
5
|
+
export declare function TaskGroup({ title, dotClass, tasks, defaultCollapsed, showSource, }: {
|
|
6
|
+
title: string;
|
|
7
|
+
dotClass: string;
|
|
8
|
+
tasks: Task[];
|
|
9
|
+
defaultCollapsed?: boolean;
|
|
10
|
+
/** Off when the header already names what the tag would say. */
|
|
11
|
+
showSource?: boolean;
|
|
12
|
+
}): React.JSX.Element | null;
|
|
13
|
+
export declare function TaskStatusGroup({ status, tasks }: {
|
|
14
|
+
status: TaskStatus;
|
|
15
|
+
tasks: Task[];
|
|
16
|
+
}): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=TaskStatusGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskStatusGroup.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskStatusGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAShD;0DAC0D;AAC1D,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAwB,EACxB,UAAiB,GAClB,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,4BA8BA;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,qBAUvF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TasksFilterBar.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TasksFilterBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,wBAAgB,cAAc,sBAwD7B"}
|