@fayz-ai/admin 0.15.0 → 0.17.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.
Files changed (173) hide show
  1. package/dist/{CommandPalette-U7MMA2WH.js → CommandPalette-XY3VOEAV.js} +23 -13
  2. package/dist/CommandPalette-XY3VOEAV.js.map +1 -0
  3. package/dist/{ScheduleEditor-57AYL7B6.js → ScheduleEditor-63TVSCJC.js} +5 -4
  4. package/dist/ScheduleEditor-63TVSCJC.js.map +1 -0
  5. package/dist/SubscriptionPage-5PJ25YAD.js +8 -0
  6. package/dist/{SubscriptionPage-FE2B5ZXF.js.map → SubscriptionPage-5PJ25YAD.js.map} +1 -1
  7. package/dist/access/context.d.ts +3 -1
  8. package/dist/access/context.d.ts.map +1 -1
  9. package/dist/app/AdminShell.d.ts +6 -0
  10. package/dist/app/AdminShell.d.ts.map +1 -1
  11. package/dist/app/admin-app.d.ts.map +1 -1
  12. package/dist/app/bottom-nav.d.ts +24 -0
  13. package/dist/app/bottom-nav.d.ts.map +1 -0
  14. package/dist/app/config.d.ts +16 -0
  15. package/dist/app/config.d.ts.map +1 -1
  16. package/dist/app/scaffold.d.ts.map +1 -1
  17. package/dist/billing/TrialWidget.d.ts +25 -0
  18. package/dist/billing/TrialWidget.d.ts.map +1 -0
  19. package/dist/billing/index.d.ts +2 -0
  20. package/dist/billing/index.d.ts.map +1 -1
  21. package/dist/billing/index.js +2 -1
  22. package/dist/billing/trial.d.ts +48 -0
  23. package/dist/billing/trial.d.ts.map +1 -0
  24. package/dist/chunk-7DFJEXCR.js +48 -0
  25. package/dist/chunk-7DFJEXCR.js.map +1 -0
  26. package/dist/chunk-ERDS4OJS.js +194 -0
  27. package/dist/chunk-ERDS4OJS.js.map +1 -0
  28. package/dist/{chunk-IPWXA46H.js → chunk-G5PBC5OB.js} +10 -9
  29. package/dist/chunk-G5PBC5OB.js.map +1 -0
  30. package/dist/{chunk-45EZQW4M.js → chunk-LZRLWKJ2.js} +17 -5
  31. package/dist/chunk-LZRLWKJ2.js.map +1 -0
  32. package/dist/{chunk-OB7ZSTQD.js → chunk-WN6PGQSG.js} +9 -51
  33. package/dist/chunk-WN6PGQSG.js.map +1 -0
  34. package/dist/components/RightRail.d.ts.map +1 -1
  35. package/dist/components/billing/SoftLimitBanner.d.ts.map +1 -1
  36. package/dist/components/chat/ChatComposer.d.ts +5 -1
  37. package/dist/components/chat/ChatComposer.d.ts.map +1 -1
  38. package/dist/components/chat/ChatConversation.d.ts.map +1 -1
  39. package/dist/components/chat/ChatFab.d.ts +1 -5
  40. package/dist/components/chat/ChatFab.d.ts.map +1 -1
  41. package/dist/components/chat/ChatMessages.d.ts.map +1 -1
  42. package/dist/components/chat/ChoiceCard.d.ts +23 -0
  43. package/dist/components/chat/ChoiceCard.d.ts.map +1 -0
  44. package/dist/components/chat/ConnectorSuggestionCard.d.ts.map +1 -1
  45. package/dist/components/chat/RecordChip.d.ts.map +1 -1
  46. package/dist/components/connect/ConnectorDetail.d.ts.map +1 -1
  47. package/dist/components/connect/ConnectorsTab.d.ts.map +1 -1
  48. package/dist/components/connect/connector-map.generated.d.ts.map +1 -1
  49. package/dist/components/connect/useConnectors.d.ts.map +1 -1
  50. package/dist/components/layout/CommandPalette.d.ts.map +1 -1
  51. package/dist/components/organization/PermissionProfilesTab.d.ts.map +1 -1
  52. package/dist/components/organization/TeamTab.d.ts.map +1 -1
  53. package/dist/components/settings/SettingsPage.d.ts +9 -1
  54. package/dist/components/settings/SettingsPage.d.ts.map +1 -1
  55. package/dist/components/shared/RecordPickerModal.d.ts.map +1 -1
  56. package/dist/crud/CrudAgentSurface.d.ts +24 -2
  57. package/dist/crud/CrudAgentSurface.d.ts.map +1 -1
  58. package/dist/crud/CrudDetailPage.d.ts.map +1 -1
  59. package/dist/crud/CrudFormPage.d.ts +20 -1
  60. package/dist/crud/CrudFormPage.d.ts.map +1 -1
  61. package/dist/crud/CrudListView.d.ts +18 -5
  62. package/dist/crud/CrudListView.d.ts.map +1 -1
  63. package/dist/crud/CrudPage.d.ts +2 -7
  64. package/dist/crud/CrudPage.d.ts.map +1 -1
  65. package/dist/crud/CrudRecordModal.d.ts +9 -1
  66. package/dist/crud/CrudRecordModal.d.ts.map +1 -1
  67. package/dist/crud/CrudSkeletons.d.ts +7 -3
  68. package/dist/crud/CrudSkeletons.d.ts.map +1 -1
  69. package/dist/crud/archetypes/AddressesTab.d.ts.map +1 -1
  70. package/dist/crud/archetypes/OrderDetailView.d.ts +9 -0
  71. package/dist/crud/archetypes/OrderDetailView.d.ts.map +1 -1
  72. package/dist/crud/archetypes/OrderFormView.d.ts.map +1 -1
  73. package/dist/crud/archetypes/PersonFormLayout.d.ts.map +1 -1
  74. package/dist/crud/createCrudPage.d.ts +2 -7
  75. package/dist/crud/createCrudPage.d.ts.map +1 -1
  76. package/dist/crud/index.d.ts +2 -0
  77. package/dist/crud/index.d.ts.map +1 -1
  78. package/dist/crud/write-errors.d.ts +24 -0
  79. package/dist/crud/write-errors.d.ts.map +1 -0
  80. package/dist/data/client.d.ts +10 -0
  81. package/dist/data/client.d.ts.map +1 -1
  82. package/dist/handbook/HandbookAgentSurface.d.ts +2 -0
  83. package/dist/handbook/HandbookAgentSurface.d.ts.map +1 -0
  84. package/dist/handbook/HandbookProvider.d.ts +7 -0
  85. package/dist/handbook/HandbookProvider.d.ts.map +1 -0
  86. package/dist/handbook/NotebookPanel.d.ts +5 -0
  87. package/dist/handbook/NotebookPanel.d.ts.map +1 -0
  88. package/dist/handbook/backend.d.ts +42 -0
  89. package/dist/handbook/backend.d.ts.map +1 -0
  90. package/dist/handbook/index.d.ts +10 -0
  91. package/dist/handbook/index.d.ts.map +1 -0
  92. package/dist/handbook/store.d.ts +36 -0
  93. package/dist/handbook/store.d.ts.map +1 -0
  94. package/dist/handbook/types.d.ts +124 -0
  95. package/dist/handbook/types.d.ts.map +1 -0
  96. package/dist/hooks/useAppConfig.d.ts +20 -0
  97. package/dist/hooks/useAppConfig.d.ts.map +1 -0
  98. package/dist/hooks/useChat.d.ts.map +1 -1
  99. package/dist/hooks/useLayout.d.ts +1 -0
  100. package/dist/hooks/useLayout.d.ts.map +1 -1
  101. package/dist/hooks/useTenantPlugins.d.ts.map +1 -1
  102. package/dist/index.d.ts +11 -2
  103. package/dist/index.d.ts.map +1 -1
  104. package/dist/index.js +6734 -4097
  105. package/dist/index.js.map +1 -1
  106. package/dist/lib/ai-tool-handlers.d.ts.map +1 -1
  107. package/dist/lib/attachments.d.ts +34 -0
  108. package/dist/lib/attachments.d.ts.map +1 -1
  109. package/dist/lib/choice-cards.d.ts +16 -0
  110. package/dist/lib/choice-cards.d.ts.map +1 -0
  111. package/dist/lib/fayz-events.d.ts.map +1 -1
  112. package/dist/lib/reveal-page.d.ts +19 -0
  113. package/dist/lib/reveal-page.d.ts.map +1 -0
  114. package/dist/onboarding/ActivationAgentSurface.d.ts +6 -0
  115. package/dist/onboarding/ActivationAgentSurface.d.ts.map +1 -0
  116. package/dist/onboarding/ActivationChecklistCard.d.ts +23 -0
  117. package/dist/onboarding/ActivationChecklistCard.d.ts.map +1 -0
  118. package/dist/onboarding/ActivationProvider.d.ts +17 -0
  119. package/dist/onboarding/ActivationProvider.d.ts.map +1 -0
  120. package/dist/onboarding/GettingStartedWidget.d.ts +5 -5
  121. package/dist/onboarding/activation.store.d.ts +53 -0
  122. package/dist/onboarding/activation.store.d.ts.map +1 -0
  123. package/dist/onboarding/backend.d.ts +14 -0
  124. package/dist/onboarding/backend.d.ts.map +1 -1
  125. package/dist/onboarding/checklist.d.ts +23 -0
  126. package/dist/onboarding/checklist.d.ts.map +1 -1
  127. package/dist/onboarding/guided-runner.d.ts +87 -0
  128. package/dist/onboarding/guided-runner.d.ts.map +1 -0
  129. package/dist/onboarding/guided.d.ts +27 -0
  130. package/dist/onboarding/guided.d.ts.map +1 -0
  131. package/dist/onboarding/handbook-seed.d.ts +70 -0
  132. package/dist/onboarding/handbook-seed.d.ts.map +1 -0
  133. package/dist/onboarding/index.d.ts +12 -3
  134. package/dist/onboarding/index.d.ts.map +1 -1
  135. package/dist/onboarding/programs.d.ts +78 -0
  136. package/dist/onboarding/programs.d.ts.map +1 -0
  137. package/dist/onboarding/submit.d.ts +7 -2
  138. package/dist/onboarding/submit.d.ts.map +1 -1
  139. package/dist/onboarding/tasks.d.ts +7 -0
  140. package/dist/onboarding/tasks.d.ts.map +1 -1
  141. package/dist/onboarding/useActivationWatch.d.ts +2 -0
  142. package/dist/onboarding/useActivationWatch.d.ts.map +1 -0
  143. package/dist/org/adapters/supabase.d.ts.map +1 -1
  144. package/dist/org/index.js +3 -2
  145. package/dist/plugins/ModuleActionBar.d.ts +16 -9
  146. package/dist/plugins/ModuleActionBar.d.ts.map +1 -1
  147. package/dist/plugins/PageActions.d.ts +16 -0
  148. package/dist/plugins/PageActions.d.ts.map +1 -0
  149. package/dist/plugins/header-actions.d.ts +11 -0
  150. package/dist/plugins/header-actions.d.ts.map +1 -0
  151. package/dist/stores/app-config.store.d.ts +27 -0
  152. package/dist/stores/app-config.store.d.ts.map +1 -0
  153. package/dist/stores/chat.store.d.ts +47 -4
  154. package/dist/stores/chat.store.d.ts.map +1 -1
  155. package/dist/tasks/components/TaskCard.d.ts.map +1 -1
  156. package/dist/tasks/components/TaskDetail.d.ts.map +1 -1
  157. package/dist/tasks/data/supabase.d.ts.map +1 -1
  158. package/dist/timeline/PersonTimeline.d.ts.map +1 -1
  159. package/dist/types/crud.d.ts +10 -0
  160. package/dist/types/crud.d.ts.map +1 -1
  161. package/dist/units/data.d.ts +14 -7
  162. package/dist/units/data.d.ts.map +1 -1
  163. package/package.json +6 -6
  164. package/dist/CommandPalette-U7MMA2WH.js.map +0 -1
  165. package/dist/ScheduleEditor-57AYL7B6.js.map +0 -1
  166. package/dist/SubscriptionPage-FE2B5ZXF.js +0 -7
  167. package/dist/chunk-45EZQW4M.js.map +0 -1
  168. package/dist/chunk-IPWXA46H.js.map +0 -1
  169. package/dist/chunk-OB7ZSTQD.js.map +0 -1
  170. package/dist/chunk-VN5NTK26.js +0 -36
  171. package/dist/chunk-VN5NTK26.js.map +0 -1
  172. package/dist/components/notes/NotesPanel.d.ts +0 -13
  173. package/dist/components/notes/NotesPanel.d.ts.map +0 -1
@@ -0,0 +1,78 @@
1
+ import type { OnboardingMove, ResolvedOnboardingProgram, TourDef } from '@fayz-ai/core';
2
+ import type { AgentRole } from '@fayz-ai/core';
3
+ import { type OnboardingTaskSeed } from './checklist';
4
+ /**
5
+ * The activation catalog — every step a tenant has to finish, from every source.
6
+ *
7
+ * Two sources, deliberately unequal:
8
+ *
9
+ * • The WORKSPACE steps (brand, team, payments, publish, first record) come
10
+ * from `checklist.ts` and are true of any business on the platform.
11
+ * • The MODULE steps come from each active plugin's `onboarding` program.
12
+ * A shop is not live until it has a catalog, a payment method and a
13
+ * published storefront; a clinic could not care less about any of that.
14
+ *
15
+ * Module keys are namespaced by their program (`shop.catalog`) and workspace
16
+ * keys are not, because the workspace ones were seeded before programs existed
17
+ * and their rows are already in production. Namespacing them now would seed a
18
+ * second copy of every one.
19
+ */
20
+ export interface ActivationStep extends OnboardingTaskSeed {
21
+ /** 'workspace' for the base list, the plugin id for a module program. */
22
+ programId: string;
23
+ programTitle: string;
24
+ /** Guidance the agent follows on this step. */
25
+ agentHint?: string;
26
+ /** How it is done in this system — seeded onto the task, read by the agent. */
27
+ howTo?: string;
28
+ /** The walkthrough as data. Played by the runtime; see guided-runner.ts. */
29
+ script?: OnboardingMove[];
30
+ /** One line when it closes. Said locally, no model call. */
31
+ celebrate?: string;
32
+ /** Colleague who owns this step, when the program named one. */
33
+ role?: AgentRole;
34
+ tour?: TourDef;
35
+ }
36
+ export interface BuildCatalogInput {
37
+ verticalId?: string;
38
+ programs?: ResolvedOnboardingProgram[];
39
+ /**
40
+ * "Does this app have that screen?"
41
+ *
42
+ * A step's route comes from whoever wrote the step, and an app is free not to
43
+ * install the module behind it — the base list points at `/settings/appearance`
44
+ * for branding, and an app with the branding tab turned off has no such
45
+ * screen. Sending somebody (or the agent) there paints an empty page, so a
46
+ * route this app cannot serve is dropped and the step stays as a plain line.
47
+ * Absent means "trust every route", which is what the tests and the pure
48
+ * callers want.
49
+ */
50
+ hasRoute?: (route: string) => boolean;
51
+ }
52
+ /**
53
+ * Base list first, modules after, each program in its declared order.
54
+ *
55
+ * Order is the whole information design of the checklist: the rail offers an
56
+ * action on the FIRST open step only, and the agent works the list top-down. So
57
+ * "name your business" has to come before "import your catalog", and a module's
58
+ * own steps have to stay in the order the module wrote them.
59
+ */
60
+ export declare function buildActivationCatalog({ verticalId, programs, hasRoute, }: BuildCatalogInput): ActivationStep[];
61
+ /**
62
+ * Base keys the active programs supersede.
63
+ *
64
+ * Also read by the shell to CLOSE rows the wizard seeded before the module's
65
+ * program was known: the base "cadastre seu primeiro produto" row is written at
66
+ * signup, and the shop's own catalog step arrives one mount later. Leaving both
67
+ * would put a step in the Tasks panel that no checklist can ever tick.
68
+ */
69
+ export declare function supersededKeys(programs: ResolvedOnboardingProgram[], verticalId: string | undefined): Set<string>;
70
+ /**
71
+ * The instructions block handed to the agent — every active program's own words,
72
+ * in catalog order, with the steps still open under each one.
73
+ *
74
+ * This is what makes the guidance the MODULE's rather than the shell's: the shop
75
+ * plugin says how a shop gets launched, and the shell only decides when to say it.
76
+ */
77
+ export declare function programInstructions(programs: ResolvedOnboardingProgram[], openKeys: ReadonlySet<string>): string[];
78
+ //# sourceMappingURL=programs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"programs.d.ts","sourceRoot":"","sources":["../../src/onboarding/programs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,yBAAyB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC1G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAE1E;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;IACzB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gEAAgE;IAChE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACtC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAA;CACtC;AA2CD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,UAAU,EAAE,QAAa,EAAE,QAAQ,GACpC,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAgCtC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,yBAAyB,EAAE,EACrC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,GAAG,CAAC,MAAM,CAAC,CASb;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,yBAAyB,EAAE,EACrC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,GAC5B,MAAM,EAAE,CAIV"}
@@ -1,12 +1,17 @@
1
1
  import type { Organization, OrgAdapter } from '@fayz-ai/core';
2
- import type { WizardValues } from '@fayz-ai/ui';
2
+ import type { WizardStepDef, WizardValues } from '@fayz-ai/ui';
3
3
  import type { SetupSource } from './types';
4
+ /** Set when a workspace is created; consumed once by the shell (see ActivationProvider). */
5
+ export declare const GREETING_FLAG = "fayz:onboarding-greeting";
4
6
  export interface SubmitWorkspaceSetupInput {
5
7
  adapter: OrgAdapter;
6
8
  userId: string;
7
9
  /** Display name of the person running the flow — the checklist's assignee. */
8
10
  userName?: string;
9
11
  values: WizardValues;
12
+ /** The questionnaire as it was actually shown — the labels the handbook page
13
+ * is written from. Absent skips the page rather than inventing labels. */
14
+ steps?: ReadonlyArray<WizardStepDef>;
10
15
  source: SetupSource;
11
16
  /** Fixed by the app; when absent the flow asked for it. */
12
17
  verticalId?: string;
@@ -21,5 +26,5 @@ export interface SubmitWorkspaceSetupInput {
21
26
  * a tenant that must exist. The logo is a second call (`create_tenant_with_owner`
22
27
  * takes no logo), and the questionnaire row is a third that is allowed to fail.
23
28
  */
24
- export declare function submitWorkspaceSetup({ adapter, userId, userName, values, source, verticalId, timezone, currency, locale, }: SubmitWorkspaceSetupInput): Promise<Organization>;
29
+ export declare function submitWorkspaceSetup({ adapter, userId, userName, values, steps, source, verticalId, timezone, currency, locale, }: SubmitWorkspaceSetupInput): Promise<Organization>;
25
30
  //# sourceMappingURL=submit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/onboarding/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,WAAW,CAAA;IACnB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAyDD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAClF,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAoEnD"}
1
+ {"version":3,"file":"submit.d.ts","sourceRoot":"","sources":["../../src/onboarding/submit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAU9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,4FAA4F;AAC5F,eAAO,MAAM,aAAa,6BAA6B,CAAA;AAEvD,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,UAAU,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,YAAY,CAAA;IACpB;+EAC2E;IAC3E,KAAK,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IACpC,MAAM,EAAE,WAAW,CAAA;IACnB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAyDD;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GACzF,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAsFnD"}
@@ -23,6 +23,13 @@ export interface SeedOnboardingTasksInput {
23
23
  export declare function seedOnboardingTasks(input: SeedOnboardingTasksInput): Promise<boolean>;
24
24
  /** `[]` when Supabase is absent, when nothing was seeded, or on any error. */
25
25
  export declare function listOnboardingTasks(tenantId: string): Promise<Task[]>;
26
+ /**
27
+ * Close a seeded step a module has taken over (see `supersededKeys`).
28
+ *
29
+ * `cancelled`, not `done`: nobody did it, and the checklist that would have
30
+ * ticked it no longer exists. Both read as closed everywhere downstream.
31
+ */
32
+ export declare function cancelOnboardingTask(tenantId: string, sourceKey: string): Promise<void>;
26
33
  /** The latch. Fire-and-forget; never throws. */
27
34
  export declare function completeOnboardingTask(tenantId: string, sourceKey: string): Promise<void>;
28
35
  //# sourceMappingURL=tasks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/onboarding/tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIjE;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAC5B;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgC3F;AAUD,8EAA8E;AAC9E,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAmB3E;AAED,gDAAgD;AAChD,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/F"}
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/onboarding/tasks.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAc,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMjE;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,kBAAkB,EAAE,CAAA;CAC5B;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAoC3F;AAUD,8EAA8E;AAC9E,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAsB3E;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAc7F;AAED,gDAAgD;AAChD,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/F"}
@@ -0,0 +1,2 @@
1
+ export declare function useActivationWatch(): void;
2
+ //# sourceMappingURL=useActivationWatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useActivationWatch.d.ts","sourceRoot":"","sources":["../../src/onboarding/useActivationWatch.ts"],"names":[],"mappings":"AA8BA,wBAAgB,kBAAkB,IAAI,IAAI,CA2EzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../src/org/adapters/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAQX,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAuC,WAAW,EAAE,MAAM,eAAe,CAAA;AAmGrF;iFACiF;AACjF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;kFAC8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAoID,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;uDACmD;IACnD,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB;;gEAE4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;;;;;4DAMwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,UAAU,CAgdtF"}
1
+ {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../src/org/adapters/supabase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAQX,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAuC,WAAW,EAAE,MAAM,eAAe,CAAA;AAoGrF;iFACiF;AACjF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;kFAC8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAoID,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;uDACmD;IACnD,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB;;gEAE4D;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;;;;;4DAMwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,wBAAwB,GAAG,UAAU,CAgdtF"}
package/dist/org/index.js CHANGED
@@ -1,5 +1,6 @@
1
- export { createMockOrgAdapter, createSupabaseOrgAdapter } from '../chunk-45EZQW4M.js';
2
- export { ORG_CACHE_TTL_MS, OrgProvider, clearOrgSnapshot, getPersistedOrgId, readOrgSnapshot, useOrgAdapter, useOrgAdapterOptional, useOrganizationStore, useTenant, useTenantOptional } from '../chunk-OB7ZSTQD.js';
1
+ export { createMockOrgAdapter, createSupabaseOrgAdapter } from '../chunk-LZRLWKJ2.js';
2
+ export { ORG_CACHE_TTL_MS, OrgProvider, clearOrgSnapshot, readOrgSnapshot, useOrgAdapter, useOrgAdapterOptional, useTenant, useTenantOptional } from '../chunk-WN6PGQSG.js';
3
3
  import '../chunk-VTEP2AQX.js';
4
+ export { getPersistedOrgId, useOrganizationStore } from '../chunk-7DFJEXCR.js';
4
5
  //# sourceMappingURL=index.js.map
5
6
  //# sourceMappingURL=index.js.map
@@ -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 title for the gear button. */
27
+ /** Accessible name for the gear. Defaults to the shell's word for settings. */
21
28
  settingsLabel?: string;
22
- /** Optional extra controls rendered before the New button (e.g. a filter). */
29
+ /** Extra controls rendered before the actions (e.g. a filter). */
23
30
  leading?: React.ReactNode;
24
- /** Optional extra controls rendered after the gear. */
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;AAGzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAGtD;;;;;;;;;;;GAWG;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,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,4BAqBA"}
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"}
@@ -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"}
@@ -67,9 +67,40 @@ export interface ChatStaffCard {
67
67
  /** Entitlement to unlock — what the "Contratar" button asks the plan for. */
68
68
  feature: string;
69
69
  }
70
- export type ChatCard = ChatConnectorCard | ChatStaffCard;
71
- /** Identity for dedupe: a connector is its slug, a colleague their role. The
72
- * kind prefix keeps the two id spaces from ever colliding. */
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. */
73
104
  export declare function chatCardKey(card: ChatCard): string;
74
105
  export interface ChatToolCall {
75
106
  name: string;
@@ -100,6 +131,8 @@ export interface ChatMessage {
100
131
  name: string;
101
132
  kind: AttachmentKind;
102
133
  rowCount?: number;
134
+ /** Object URL for an image the user handed over — a photo IS its own label. */
135
+ previewUrl?: string;
103
136
  }>;
104
137
  /** Which colleague said it — the avatar and the name on the bubble. Absent on
105
138
  * an app with no cast, and on every message written before it had one. */
@@ -335,8 +368,18 @@ interface ChatState {
335
368
  * conversation sends this as soon as it can. Distinct from `draft`, which
336
369
  * never sends on the user's behalf. */
337
370
  queuedPrompt: string | null;
338
- queuePrompt: (text: string) => void;
371
+ queuePrompt: (text: string, filesToRead?: File[]) => void;
339
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;
340
383
  /**
341
384
  * O que o campo sugere quando uma tela delega um assunto ao assistente
342
385
  * ("Ex.: receita por mesa no jantar"). Dica, não rascunho: a tela sabe do que
@@ -1 +1 @@
1
- {"version":3,"file":"chat.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.store.d.ts","sourceRoot":"","sources":["../../src/stores/chat.store.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
1
+ {"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AA6BpC,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,qBA0FA"}
@@ -1 +1 @@
1
- {"version":3,"file":"TaskDetail.d.ts","sourceRoot":"","sources":["../../../src/tasks/components/TaskDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA2B/D,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,qBAoLxD"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../src/tasks/data/supabase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,UAAU,CAAA;AA4BlE,wBAAgB,2BAA2B,IAAI,iBAAiB,CAyK/D"}
1
+ {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../../src/tasks/data/supabase.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAiClE,wBAAgB,2BAA2B,IAAI,iBAAiB,CAkL/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersonTimeline.d.ts","sourceRoot":"","sources":["../../src/timeline/PersonTimeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAsIvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,qBA8FA"}
1
+ {"version":3,"file":"PersonTimeline.d.ts","sourceRoot":"","sources":["../../src/timeline/PersonTimeline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAmJvC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE;IACD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,qBA8FA"}
@@ -93,6 +93,16 @@ export type FormLayout = 'person' | 'product' | 'service' | 'location' | 'order'
93
93
  export interface EntityDef<T = Record<string, any>> {
94
94
  name: string;
95
95
  namePlural?: string;
96
+ /**
97
+ * i18n key for the entity's singular noun, for copy that says the thing's
98
+ * name ("Adicionar cliente"). `name` is a raw literal written by whoever
99
+ * declared the entity — 31 of them are English — so interpolating it into a
100
+ * pt-BR sentence produced "Adicionar Location". Without this key the copy
101
+ * simply omits the noun, which is always correct; with it, the noun is back.
102
+ */
103
+ nameKey?: string;
104
+ /** i18n key for the plural noun. Same reasoning as `nameKey`. */
105
+ namePluralKey?: string;
96
106
  icon: string;
97
107
  /** Form/detail layout preset. Determines the archetype-specific form layout. */
98
108
  layout?: FormLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/types/crud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud.d.ts","sourceRoot":"","sources":["../../src/types/crud.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,6 @@ export interface UnitBinding {
10
10
  locationId: string;
11
11
  role: string | null;
12
12
  }
13
- /** `core.unit-access.changed` — alguém entrou ou saiu de uma unidade.
14
- *
15
- * Mesma forma dos fatos de cadastro (`registry.<entidade>.created`): quem
16
- * escuta usa `useDataVersion` e relê, e a auditoria vê este fato sem ninguém
17
- * ter que inscrevê-la. */
18
13
  export declare const UNIT_ACCESS_CHANGED = "core.unit-access.changed";
19
14
  /** Every unit of the tenant. Readable tenant-wide even under scoping: a unit's
20
15
  * NAME is not its data, and the switcher has to be able to say it. */
@@ -98,8 +93,20 @@ export declare function fetchScopedResources(): Promise<Record<string, {
98
93
  unitColumn: string;
99
94
  shareable: boolean;
100
95
  }>>;
101
- /** Whether this tenant works with units. Mirrors `tenants.unit_scoping_enabled`. */
102
- export declare function fetchUnitMode(tenantId: string): Promise<boolean>;
96
+ /**
97
+ * Whether this tenant works with units, and whether the question is even
98
+ * answerable here.
99
+ *
100
+ * `installed: false` means the pool never took migration 039 — the column is
101
+ * not there, so units do not exist in this deployment at all. That is a
102
+ * different fact from "the tenant has units switched off", and collapsing the
103
+ * two (as `false` alone did) is what made the boot fan out to `locations`,
104
+ * `location_members` and `scoped_resources` on pools that have none of them.
105
+ */
106
+ export declare function fetchUnitMode(tenantId: string): Promise<{
107
+ installed: boolean;
108
+ on: boolean;
109
+ }>;
103
110
  export declare function setUnitModeRemote(tenantId: string, on: boolean): Promise<void>;
104
111
  /** Bind every current member of the tenant to one unit. The "link everyone to
105
112
  * the head office" checkbox on the switch-on dialog — the difference between a
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/units/data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/units/data.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAY/C,MAAM,WAAW,IAAK,SAAQ,QAAQ;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAaD,eAAO,MAAM,mBAAmB,6BAA6B,CAAA;AA8C7D;uEACuE;AACvE,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAalE;AAED;4DAC4D;AAC5D,wBAAsB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAS5E;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAClE;;4CAEwC;IACxC,SAAS,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAClD,+DAA+D;IAC/D,UAAU,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CACpD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA4B/B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,sEAAsE;IACtE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAY/E;AAED;;;;4CAI4C;AAC5C,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAa/I;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE7E;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvG;AAED,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtF;AAED;;;;;uCAKuC;AACvC,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAUnF;AAED;;mEAEmE;AACnE,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAiBhH;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAgBlG;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpF;AAED;;qEAEqE;AACrE,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAaxF;AAED;6EAC6E;AAC7E,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU3E"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "fayz": {
4
4
  "status": "beta"
5
5
  },
6
- "version": "0.15.0",
6
+ "version": "0.17.0",
7
7
  "description": "Fayz SDK admin layer — the admin shell, CRUD engine, multi-tenancy, billing, permissions and org management",
8
8
  "type": "module",
9
9
  "sideEffects": [
@@ -59,12 +59,12 @@
59
59
  "@radix-ui/react-dialog": "^1.1.0",
60
60
  "@tanstack/react-table": "^8.20.0",
61
61
  "cmdk": "^1.0.0",
62
- "@fayz-ai/auth": "^0.15.0",
63
- "@fayz-ai/core": "^0.15.0",
64
- "@fayz-ai/db": "^0.12.0",
65
- "@fayz-ai/plugin-auth": "^0.11.0",
62
+ "@fayz-ai/auth": "^0.17.0",
63
+ "@fayz-ai/core": "^0.17.0",
64
+ "@fayz-ai/db": "^0.13.0",
65
+ "@fayz-ai/plugin-auth": "^0.12.0",
66
66
  "@fayz-ai/sdk": "^0.15.0",
67
- "@fayz-ai/ui": "^0.15.0"
67
+ "@fayz-ai/ui": "^0.17.0"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@supabase/supabase-js": "^2.45.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/CommandPalette.tsx"],"names":["Fragment"],"mappings":"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","file":"CommandPalette-U7MMA2WH.js","sourcesContent":["import * as React from 'react'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport { Command } from 'cmdk'\nimport * as Dialog from '@radix-ui/react-dialog'\nimport {\n Home, Users, Settings, CreditCard, Bell, Calendar, CalendarCheck2,\n CalendarClock, CalendarX, Package, Activity, BarChart3, FileText, FileCheck2, Mail, Search,\n DollarSign, BadgeDollarSign, CircleDollarSign, Megaphone, ShoppingCart, ShoppingBag, Target,\n Wrench, ClipboardList, ListChecks, Briefcase, UserCog, BookOpen, BookOpenCheck, MessageCircle,\n Globe, Percent, Tag, Tags, Camera, UtensilsCrossed, MapPin, Map, Handshake,\n Contact, Building2, Filter, Plus, List, Shield, User, Box, Sparkles, Loader2,\n ListPlus, FolderOpen, Boxes, Landmark, Receipt, Ban, Clock, Clock3, Inbox,\n Star, TrendingUp, UserCheck, UserPlus, UserX, Zap,\n type LucideIcon,\n} from 'lucide-react'\nimport {\n MIN_QUERY_LENGTH, highlightRanges, normalizeQuery, scoreCandidate, foldText,\n type GlobalSearchResult, type SearchHit,\n} from '@fayz-ai/core'\nimport { RefreshButton } from '@fayz-ai/ui'\nimport { useTranslation } from '../../hooks/useTranslation'\n\nexport interface CommandItem {\n id: string\n label: string\n icon?: string\n action: () => void\n group?: string\n keywords?: string\n subtitle?: string\n}\n\n/** Runs one global search. `onPartial` paints a cheap early answer, if there is one.\n * `opts.fresh` bypasses every cache — the footer's refresh button uses it. */\nexport type EntitySearchFn = (\n query: string,\n onPartial?: (result: GlobalSearchResult) => void,\n opts?: { fresh?: boolean },\n) => Promise<GlobalSearchResult>\n\ninterface CommandPaletteProps {\n commands?: CommandItem[]\n open: boolean\n onOpenChange: (open: boolean) => void\n onEntitySearch?: EntitySearchFn\n onEntitySelect?: (hit: SearchHit) => void\n}\n\nconst ICON_MAP: Record<string, LucideIcon> = {\n Home, Users, Settings, CreditCard, Bell, Calendar, CalendarClock, Package, Activity, BarChart3,\n CalendarCheck2, CalendarX, FileText, FileCheck2, Mail, Search, DollarSign, BadgeDollarSign, CircleDollarSign, Megaphone, ShoppingCart, ShoppingBag, Target,\n Wrench, ClipboardList, ListChecks, Briefcase, UserCog, BookOpen, BookOpenCheck, MessageCircle,\n Globe, Percent, Tag, Tags, Camera, UtensilsCrossed, MapPin, Map, Handshake,\n Contact, Building2, Filter, Plus, List, Shield, ListPlus, FolderOpen, User, Box, Boxes, Sparkles, Landmark, Receipt, Ban, Clock, Clock3, Inbox,\n Star, TrendingUp, UserCheck, UserPlus, UserX, Zap,\n}\n\n/** Long enough that a fast typist issues one request per word, not per letter. */\nconst DEBOUNCE_MS = 140\n\n// Highlighting — the matched run, in the record's own spelling\n\nfunction Highlight({ text, query }: { text: string; query: string }) {\n const parts = useMemo(() => {\n const normalized = normalizeQuery(query)\n const ranges = highlightRanges(text, normalized)\n if (ranges.length === 0) return [{ text, hit: false }]\n const out: Array<{ text: string; hit: boolean }> = []\n let cursor = 0\n for (const [from, to] of ranges) {\n if (from > cursor) out.push({ text: text.slice(cursor, from), hit: false })\n out.push({ text: text.slice(from, to), hit: true })\n cursor = to\n }\n if (cursor < text.length) out.push({ text: text.slice(cursor), hit: false })\n return out\n }, [text, query])\n\n return (\n <>\n {parts.map((part, i) =>\n part.hit\n ? <mark key={i} className=\"bg-transparent font-semibold text-foreground\">{part.text}</mark>\n : <React.Fragment key={i}>{part.text}</React.Fragment>,\n )}\n </>\n )\n}\n\n// Records arrive from the server; commands are already in memory. Same scorer,\n// different clocks — commands re-rank per keystroke, records refine as they land.\n\nfunction useEntitySearch(searchFn: EntitySearchFn | undefined, query: string, open: boolean) {\n const [result, setResult] = useState<GlobalSearchResult | null>(null)\n const [loading, setLoading] = useState(false)\n const generation = useRef(0)\n\n useEffect(() => {\n const trimmed = query.trim()\n if (!open || !searchFn || foldText(trimmed).length < MIN_QUERY_LENGTH) {\n setResult(null)\n setLoading(false)\n return\n }\n\n const token = ++generation.current\n setLoading(true)\n\n const timer = setTimeout(() => {\n searchFn(trimmed, (partial) => {\n // A partial must never replace a final answer for this same query.\n if (token === generation.current) setResult((prev) => (prev?.partial === false && prev.query === trimmed ? prev : partial))\n })\n .then((final) => {\n if (token !== generation.current) return\n setResult(final)\n setLoading(false)\n })\n .catch(() => {\n // Keep what is on screen: a failed refresh is not an empty result.\n if (token !== generation.current) return\n setLoading(false)\n })\n }, DEBOUNCE_MS)\n\n return () => clearTimeout(timer)\n }, [query, searchFn, open])\n\n // The footer refresh: same query, every cache bypassed. Returned as a\n // promise so the button spins until the network answer lands.\n const refresh = React.useCallback(async () => {\n const trimmed = query.trim()\n if (!searchFn || foldText(trimmed).length < MIN_QUERY_LENGTH) return\n const token = ++generation.current\n setLoading(true)\n try {\n const final = await searchFn(trimmed, undefined, { fresh: true })\n if (token === generation.current) setResult(final)\n } finally {\n if (token === generation.current) setLoading(false)\n }\n }, [query, searchFn])\n\n return { result, loading, refresh }\n}\n\n/**\n * Commands, ranked by the same ladder records use. cmdk's own filter is OFF:\n * it re-filtered the SERVER's results with its own substring rules, so a record\n * matched by phone, by a note or by an accent-folded name was fetched and then\n * dropped — the list said \"no results\" while the footer counted them.\n */\nfunction useRankedCommands(commands: CommandItem[], query: string): CommandItem[] {\n return useMemo(() => {\n const trimmed = query.trim()\n if (!trimmed) return commands\n const normalized = normalizeQuery(trimmed)\n if (normalized.tokens.length === 0) return commands\n return commands\n .map((cmd) => ({\n cmd,\n score: scoreCandidate(normalized, {\n title: foldText(cmd.label),\n haystack: foldText(`${cmd.label} ${cmd.group ?? ''} ${cmd.keywords ?? ''} ${cmd.subtitle ?? ''}`),\n }),\n }))\n .filter((c) => c.score > 0)\n .sort((a, b) => b.score - a.score)\n .map((c) => c.cmd)\n }, [commands, query])\n}\n\nconst GROUP_HEADING =\n '[&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-[11px] [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wider [&_[cmdk-group-heading]]:text-muted-foreground'\n\nconst ITEM =\n 'flex cursor-pointer items-center gap-3 rounded-lg px-3 py-2.5 text-sm outline-none transition-colors aria-selected:bg-muted'\n\nexport function CommandPalette({ commands = [], open, onOpenChange, onEntitySearch, onEntitySelect }: CommandPaletteProps) {\n const { t } = useTranslation()\n const [search, setSearch] = useState('')\n const { result, loading, refresh } = useEntitySearch(onEntitySearch, search, open)\n const rankedCommands = useRankedCommands(commands, search)\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if ((e.metaKey || e.ctrlKey) && e.key === 'k') {\n e.preventDefault()\n onOpenChange(!open)\n }\n }\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [open, onOpenChange])\n\n // Reset search when closed\n useEffect(() => {\n if (!open) setSearch('')\n }, [open])\n\n const grouped = rankedCommands.reduce<Record<string, CommandItem[]>>((acc, cmd) => {\n const group = cmd.group ?? 'Actions'\n if (!acc[group]) acc[group] = []\n acc[group].push(cmd)\n return acc\n }, {})\n\n const hasQuery = foldText(search).length >= MIN_QUERY_LENGTH\n // A lookup wants the client, not the page that lists clients.\n const recordGroups = hasQuery ? (result?.groups ?? []) : []\n const recordCount = recordGroups.reduce((n, g) => n + g.hits.length, 0)\n const totalResults = rankedCommands.length + recordCount\n const nothingYet = totalResults === 0\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Overlay className=\"saas-overlay fixed inset-0 z-50 bg-black/40 backdrop-blur-sm\" />\n <Dialog.Content className=\"fayz-glass-surface saas-cmd-palette fixed left-1/2 top-[15%] z-50 w-full max-w-xl -translate-x-1/2 overflow-hidden rounded-2xl border border-border/50 bg-popover shadow-2xl\">\n <Dialog.Title className=\"sr-only\">{t('layout.commandPalette.title')}</Dialog.Title>\n <Dialog.Description className=\"sr-only\">{t('layout.commandPalette.description')}</Dialog.Description>\n\n <Command className=\"flex flex-col\" label=\"Command palette\" shouldFilter={false}>\n <div className=\"flex items-center gap-3 border-b border-border/50 px-4\">\n <Search className=\"h-4 w-4 shrink-0 text-muted-foreground\" />\n <Command.Input\n placeholder={t('layout.commandPalette.placeholder')}\n className=\"flex h-12 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n autoFocus\n value={search}\n onValueChange={setSearch}\n />\n {loading && <Loader2 className=\"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground\" />}\n <kbd className=\"hidden shrink-0 rounded-md border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground sm:inline-block\">ESC</kbd>\n </div>\n\n <Command.List className=\"max-h-[360px] overflow-y-auto p-1.5\">\n {nothingYet && (\n <Command.Empty className=\"py-8 text-center text-sm text-muted-foreground\">\n {loading ? t('layout.commandPalette.searching') : t('layout.commandPalette.noResults')}\n </Command.Empty>\n )}\n\n {/* Records first */}\n {recordGroups.map((group) => {\n const GroupIcon = group.icon ? (ICON_MAP[group.icon] ?? User) : User\n return (\n <Command.Group key={`entity:${group.key}`} heading={group.label} className={GROUP_HEADING}>\n {group.hits.map((hit) => {\n const Icon = hit.icon ? (ICON_MAP[hit.icon] ?? GroupIcon) : GroupIcon\n return (\n <Command.Item\n key={hit.uid}\n value={hit.uid}\n onSelect={() => { onEntitySelect?.(hit); onOpenChange(false) }}\n className={ITEM}\n >\n <Icon className=\"h-4 w-4 shrink-0 text-muted-foreground\" />\n <div className=\"min-w-0 flex-1\">\n <span className=\"block truncate\"><Highlight text={hit.title} query={search} /></span>\n {hit.subtitle && (\n <span className=\"block truncate text-[11px] text-muted-foreground\">\n <Highlight text={hit.subtitle} query={search} />\n </span>\n )}\n </div>\n <span className=\"shrink-0 text-[11px] text-muted-foreground/40\">{group.label}</span>\n </Command.Item>\n )\n })}\n </Command.Group>\n )\n })}\n\n {/* Pages and actions */}\n {Object.entries(grouped).map(([group, items]) => (\n <Command.Group key={group} heading={group} className={GROUP_HEADING}>\n {items.map((cmd, i) => {\n const Icon = cmd.icon ? (ICON_MAP[cmd.icon] ?? null) : null\n // Command ids are not unique — \"Clientes\" and its \"Lista\"\n // child both mint `page:/clients`. Also the cmdk value.\n const uid = `${group}:${cmd.id}:${i}`\n return (\n <Command.Item\n key={uid}\n value={uid}\n onSelect={() => { cmd.action(); onOpenChange(false) }}\n className={ITEM}\n >\n {Icon && <Icon className=\"h-4 w-4 shrink-0 text-muted-foreground\" />}\n <span className=\"flex-1\"><Highlight text={cmd.label} query={search} /></span>\n <span className=\"text-[11px] text-muted-foreground/40\">{cmd.group}</span>\n </Command.Item>\n )\n })}\n </Command.Group>\n ))}\n </Command.List>\n\n <div className=\"flex items-center justify-between border-t border-border/50 px-4 py-2\">\n <span className=\"text-xs text-muted-foreground\">\n {loading\n ? t('layout.commandPalette.searching')\n : hasQuery\n ? t('layout.commandPalette.resultCount', { count: String(totalResults), plural: totalResults !== 1 ? 's' : '' })\n : t('layout.commandPalette.commandCount', { count: String(commands.length), plural: commands.length !== 1 ? 's' : '' })}\n </span>\n <div className=\"flex items-center gap-2 text-[10px] text-muted-foreground\">\n {hasQuery && result && (\n <RefreshButton\n onRefresh={refresh}\n fromCache={result.cached}\n label={t('layout.commandPalette.refresh')}\n labelCached={t('layout.commandPalette.refreshCached')}\n className=\"rounded p-1 text-muted-foreground hover:text-foreground\"\n />\n )}\n <kbd className=\"rounded border border-border bg-muted px-1 py-0.5 font-medium\">&uarr;&darr;</kbd>\n <span>{t('layout.commandPalette.navigate')}</span>\n <kbd className=\"rounded border border-border bg-muted px-1 py-0.5 font-medium\">&crarr;</kbd>\n <span>{t('layout.commandPalette.open')}</span>\n </div>\n </div>\n </Command>\n </Dialog.Content>\n </Dialog.Portal>\n </Dialog.Root>\n )\n}\n"]}