@fayz-ai/admin 0.10.0 → 0.11.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 (160) hide show
  1. package/dist/{ScheduleEditor-BSFF7LME.js → ScheduleEditor-S3QI5MHO.js} +5 -5
  2. package/dist/{ScheduleEditor-BSFF7LME.js.map → ScheduleEditor-S3QI5MHO.js.map} +1 -1
  3. package/dist/app/AdminShell.d.ts +9 -0
  4. package/dist/app/AdminShell.d.ts.map +1 -1
  5. package/dist/app/RouteErrorBoundary.d.ts +42 -0
  6. package/dist/app/RouteErrorBoundary.d.ts.map +1 -0
  7. package/dist/app/admin-app.d.ts +1 -0
  8. package/dist/app/admin-app.d.ts.map +1 -1
  9. package/dist/app/config.d.ts +7 -0
  10. package/dist/app/config.d.ts.map +1 -1
  11. package/dist/app/contextual-nav.store.d.ts +39 -0
  12. package/dist/app/contextual-nav.store.d.ts.map +1 -0
  13. package/dist/app/scaffold.d.ts.map +1 -1
  14. package/dist/{chunk-TNTZHUL6.js → chunk-OI7RYSTM.js} +8 -4
  15. package/dist/chunk-OI7RYSTM.js.map +1 -0
  16. package/dist/components/RightRail.d.ts.map +1 -1
  17. package/dist/components/auth/LoginForm.d.ts +3 -1
  18. package/dist/components/auth/LoginForm.d.ts.map +1 -1
  19. package/dist/components/auth/OAuthButtons.d.ts +3 -1
  20. package/dist/components/auth/OAuthButtons.d.ts.map +1 -1
  21. package/dist/components/chat/AssistantActivityBar.d.ts +15 -0
  22. package/dist/components/chat/AssistantActivityBar.d.ts.map +1 -0
  23. package/dist/components/chat/AssistantInvite.d.ts +7 -0
  24. package/dist/components/chat/AssistantInvite.d.ts.map +1 -0
  25. package/dist/components/chat/ChatComposer.d.ts.map +1 -1
  26. package/dist/components/chat/ChatConversation.d.ts.map +1 -1
  27. package/dist/components/chat/ChatFab.d.ts.map +1 -1
  28. package/dist/components/chat/ChatMessages.d.ts.map +1 -1
  29. package/dist/components/chat/ChatSuggestions.d.ts.map +1 -1
  30. package/dist/components/chat/ConnectorSuggestionCard.d.ts +6 -0
  31. package/dist/components/chat/ConnectorSuggestionCard.d.ts.map +1 -0
  32. package/dist/components/chat/index.d.ts +2 -0
  33. package/dist/components/chat/index.d.ts.map +1 -1
  34. package/dist/components/connect/AddConnectorPanel.d.ts +61 -10
  35. package/dist/components/connect/AddConnectorPanel.d.ts.map +1 -1
  36. package/dist/components/connect/ConnectorDeliveries.d.ts +10 -0
  37. package/dist/components/connect/ConnectorDeliveries.d.ts.map +1 -0
  38. package/dist/components/connect/ConnectorDetail.d.ts +21 -2
  39. package/dist/components/connect/ConnectorDetail.d.ts.map +1 -1
  40. package/dist/components/connect/ConnectorDisclosure.d.ts +29 -0
  41. package/dist/components/connect/ConnectorDisclosure.d.ts.map +1 -0
  42. package/dist/components/connect/ConnectorMark.d.ts +7 -1
  43. package/dist/components/connect/ConnectorMark.d.ts.map +1 -1
  44. package/dist/components/connect/ConnectorPermissions.d.ts +49 -0
  45. package/dist/components/connect/ConnectorPermissions.d.ts.map +1 -0
  46. package/dist/components/connect/ConnectorRow.d.ts +14 -7
  47. package/dist/components/connect/ConnectorRow.d.ts.map +1 -1
  48. package/dist/components/connect/ConnectorRuns.d.ts +50 -0
  49. package/dist/components/connect/ConnectorRuns.d.ts.map +1 -0
  50. package/dist/components/connect/ConnectorSettings.d.ts +29 -0
  51. package/dist/components/connect/ConnectorSettings.d.ts.map +1 -0
  52. package/dist/components/connect/ConnectorSyncActions.d.ts +15 -0
  53. package/dist/components/connect/ConnectorSyncActions.d.ts.map +1 -0
  54. package/dist/components/connect/ConnectorsPanel.d.ts +5 -3
  55. package/dist/components/connect/ConnectorsPanel.d.ts.map +1 -1
  56. package/dist/components/connect/ConnectorsTab.d.ts.map +1 -1
  57. package/dist/components/connect/connector-map.generated.d.ts +28 -0
  58. package/dist/components/connect/connector-map.generated.d.ts.map +1 -0
  59. package/dist/components/connect/connector-search.d.ts +104 -0
  60. package/dist/components/connect/connector-search.d.ts.map +1 -0
  61. package/dist/components/connect/connector-sources.d.ts +32 -0
  62. package/dist/components/connect/connector-sources.d.ts.map +1 -0
  63. package/dist/components/connect/connector-status.d.ts +15 -0
  64. package/dist/components/connect/connector-status.d.ts.map +1 -0
  65. package/dist/components/connect/credentials.d.ts +65 -0
  66. package/dist/components/connect/credentials.d.ts.map +1 -0
  67. package/dist/components/connect/index.d.ts +15 -3
  68. package/dist/components/connect/index.d.ts.map +1 -1
  69. package/dist/components/connect/model.d.ts +197 -23
  70. package/dist/components/connect/model.d.ts.map +1 -1
  71. package/dist/components/connect/oauth-return.d.ts +59 -0
  72. package/dist/components/connect/oauth-return.d.ts.map +1 -0
  73. package/dist/components/connect/useConnectors.d.ts +16 -2
  74. package/dist/components/connect/useConnectors.d.ts.map +1 -1
  75. package/dist/components/connect/when.d.ts +22 -0
  76. package/dist/components/connect/when.d.ts.map +1 -0
  77. package/dist/components/plugins/ConnectorsHub.d.ts.map +1 -1
  78. package/dist/components/plugins/PluginSettingsPanel.d.ts +10 -6
  79. package/dist/components/plugins/PluginSettingsPanel.d.ts.map +1 -1
  80. package/dist/components/right-rail.d.ts +4 -0
  81. package/dist/components/right-rail.d.ts.map +1 -1
  82. package/dist/components/settings/SettingsPage.d.ts +5 -2
  83. package/dist/components/settings/SettingsPage.d.ts.map +1 -1
  84. package/dist/components/shared/ContactPicker.d.ts +3 -1
  85. package/dist/components/shared/ContactPicker.d.ts.map +1 -1
  86. package/dist/components/shared/RecordPickerModal.d.ts +36 -0
  87. package/dist/components/shared/RecordPickerModal.d.ts.map +1 -0
  88. package/dist/crud/CrudDetailPage.d.ts +4 -1
  89. package/dist/crud/CrudDetailPage.d.ts.map +1 -1
  90. package/dist/crud/CrudFormPage.d.ts +9 -1
  91. package/dist/crud/CrudFormPage.d.ts.map +1 -1
  92. package/dist/crud/CrudListView.d.ts +30 -1
  93. package/dist/crud/CrudListView.d.ts.map +1 -1
  94. package/dist/crud/CrudPage.d.ts.map +1 -1
  95. package/dist/crud/CrudRecordModal.d.ts +19 -0
  96. package/dist/crud/CrudRecordModal.d.ts.map +1 -0
  97. package/dist/crud/RecordMetaFooter.d.ts +6 -0
  98. package/dist/crud/RecordMetaFooter.d.ts.map +1 -0
  99. package/dist/crud/archetypes/OrderDetailView.d.ts +7 -0
  100. package/dist/crud/archetypes/OrderDetailView.d.ts.map +1 -1
  101. package/dist/crud/archetypes/OrderFormView.d.ts +1 -0
  102. package/dist/crud/archetypes/OrderFormView.d.ts.map +1 -1
  103. package/dist/crud/archetypes/OrderListView.d.ts +29 -1
  104. package/dist/crud/archetypes/OrderListView.d.ts.map +1 -1
  105. package/dist/crud/entity-zone.d.ts +19 -0
  106. package/dist/crud/entity-zone.d.ts.map +1 -0
  107. package/dist/crud/index.d.ts +1 -1
  108. package/dist/crud/index.d.ts.map +1 -1
  109. package/dist/data/client.d.ts.map +1 -1
  110. package/dist/hooks/useChat.d.ts +1 -0
  111. package/dist/hooks/useChat.d.ts.map +1 -1
  112. package/dist/hooks/useMicLevels.d.ts +7 -2
  113. package/dist/hooks/useMicLevels.d.ts.map +1 -1
  114. package/dist/index.d.ts +32 -5
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +5667 -1563
  117. package/dist/index.js.map +1 -1
  118. package/dist/lib/ai-tool-handlers.d.ts +11 -0
  119. package/dist/lib/ai-tool-handlers.d.ts.map +1 -1
  120. package/dist/lib/assistant-activity.d.ts +81 -0
  121. package/dist/lib/assistant-activity.d.ts.map +1 -0
  122. package/dist/lib/assistant-invite.d.ts +46 -0
  123. package/dist/lib/assistant-invite.d.ts.map +1 -0
  124. package/dist/lib/connector-ai-tools.d.ts +2 -0
  125. package/dist/lib/connector-ai-tools.d.ts.map +1 -0
  126. package/dist/lib/connector-cards.d.ts +3 -0
  127. package/dist/lib/connector-cards.d.ts.map +1 -0
  128. package/dist/lib/core-ai-tools.d.ts.map +1 -1
  129. package/dist/lib/fayz-events.d.ts +4 -0
  130. package/dist/lib/fayz-events.d.ts.map +1 -0
  131. package/dist/org/adapters/supabase.d.ts.map +1 -1
  132. package/dist/org/index.js +1 -1
  133. package/dist/plugins/SettingsGroup.d.ts +31 -1
  134. package/dist/plugins/SettingsGroup.d.ts.map +1 -1
  135. package/dist/projects/SeuSiteWidget.d.ts.map +1 -1
  136. package/dist/stores/audit.d.ts +61 -0
  137. package/dist/stores/audit.d.ts.map +1 -0
  138. package/dist/stores/chat.store.d.ts +33 -0
  139. package/dist/stores/chat.store.d.ts.map +1 -1
  140. package/dist/stores/createCrudStore.d.ts +4 -1
  141. package/dist/stores/createCrudStore.d.ts.map +1 -1
  142. package/dist/theme/utils.d.ts.map +1 -1
  143. package/dist/timeline/PersonTimeline.d.ts +21 -0
  144. package/dist/timeline/PersonTimeline.d.ts.map +1 -0
  145. package/dist/timeline/core-sources.d.ts +2 -0
  146. package/dist/timeline/core-sources.d.ts.map +1 -0
  147. package/dist/timeline/index.d.ts +6 -0
  148. package/dist/timeline/index.d.ts.map +1 -0
  149. package/dist/timeline/registry.d.ts +5 -0
  150. package/dist/timeline/registry.d.ts.map +1 -0
  151. package/dist/timeline/types.d.ts +91 -0
  152. package/dist/timeline/types.d.ts.map +1 -0
  153. package/dist/timeline/usePersonTimeline.d.ts +28 -0
  154. package/dist/timeline/usePersonTimeline.d.ts.map +1 -0
  155. package/dist/types/crud.d.ts +12 -1
  156. package/dist/types/crud.d.ts.map +1 -1
  157. package/dist/types/plugins.d.ts +4 -0
  158. package/dist/types/plugins.d.ts.map +1 -1
  159. package/package.json +7 -7
  160. package/dist/chunk-TNTZHUL6.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import type { ConnectorIndex } from '../components/connect/connector-sources';
1
2
  import type { EntityDef, OrgMember, Organization, PermissionProfile, TeamPerson } from '@fayz-ai/core';
2
3
  import type { PluginAITool, PluginRegistryDef } from '../types/plugins';
3
4
  /**
@@ -64,6 +65,16 @@ export interface AIToolExecutionContext {
64
65
  name: string;
65
66
  action?: string;
66
67
  }>;
68
+ /**
69
+ * What this app can be connected to, resolved lazily.
70
+ *
71
+ * A function and not a value: the sources behind it are two network reads,
72
+ * and the assistant is mounted on every screen — paying for them on every
73
+ * turn to answer a question nobody asked is not a trade worth making. Absent
74
+ * when no plugin runtime is mounted, which drops `findConnectors` from the
75
+ * catalog rather than answering it with an empty app.
76
+ */
77
+ loadConnectors?: () => Promise<ConnectorIndex>;
67
78
  /**
68
79
  * Org-management writes the agent can perform — today only access profiles.
69
80
  * Narrowed to what is actually called: handing the executor the whole adapter
@@ -1 +1 @@
1
- {"version":3,"file":"ai-tool-handlers.d.ts","sourceRoot":"","sources":["../../src/lib/ai-tool-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-tool-handlers.d.ts","sourceRoot":"","sources":["../../src/lib/ai-tool-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Assistant Activity Contract — what the app is DOING right now (a recording
3
+ * running, a task in flight), and how to end it from wherever the user is.
4
+ *
5
+ * The shell owns the affordance, plugins own the behaviour: a plugin publishes
6
+ * label/elapsed/state plus callbacks, and the FAB pill and panel bar render it.
7
+ * Teaching the shell about each activity instead would put @fayz-ai/admin
8
+ * downstream of every plugin that wants a live indicator. Actions declare an
9
+ * INTENT, never an icon, so two plugins look the same by construction.
10
+ *
11
+ * Sibling of `lib/agent-surface.ts`: that one carries what the screen KNOWS.
12
+ */
13
+ export type AssistantActivityState = 'running' | 'paused' | 'done';
14
+ export type AssistantActionIntent = 'pause' | 'resume' | 'stop' | 'open' | 'discard' | 'generate';
15
+ export interface AssistantActivityAction {
16
+ intent: AssistantActionIntent;
17
+ label: string;
18
+ run: () => void | Promise<void>;
19
+ /** Show in the FAB pill too. Keep to one — the pill is a thumb-sized surface. */
20
+ primary?: boolean;
21
+ }
22
+ export interface AssistantActivity {
23
+ /** Stable id, e.g. 'scribe.session'. Re-publishing the same id replaces it. */
24
+ id: string;
25
+ /** Drives the wording and the dot: a recording pulses, a task spins. */
26
+ kind: 'recording' | 'task';
27
+ /** What is live, in the user's words — "Atendimento · Gustavo Magri". */
28
+ label: string;
29
+ state: AssistantActivityState;
30
+ /**
31
+ * Milliseconds elapsed. The OWNER recomputes it (from a wall clock, never an
32
+ * accumulator) and the shell only renders — a timer that drifts while the tab
33
+ * is backgrounded is worse than no timer.
34
+ */
35
+ elapsedMs?: number;
36
+ actions?: AssistantActivityAction[];
37
+ /**
38
+ * The live audio, for the composer's level meter. Lent by the owner rather
39
+ * than captured again: a second `getUserMedia` on the same mic is another
40
+ * permission surface and another gain profile, to draw bars for audio we
41
+ * already have. The shell never stops these tracks. A getter because the
42
+ * runtime swaps the stream on resume.
43
+ */
44
+ stream?: () => MediaStream | null;
45
+ }
46
+ /** Idle-state offer, so the panel is where a session begins as well as where
47
+ * it is watched. */
48
+ export interface AssistantLauncher {
49
+ id: string;
50
+ label: string;
51
+ kind: 'recording' | 'task';
52
+ run: () => void | Promise<void>;
53
+ disabled?: boolean;
54
+ /** Why it is unavailable — surfaced as the button's title. */
55
+ disabledReason?: string;
56
+ }
57
+ export declare function publishAssistantActivity(activity: AssistantActivity): void;
58
+ export declare function withdrawAssistantActivity(id: string): void;
59
+ export declare function registerAssistantLauncher(launcher: AssistantLauncher): void;
60
+ export declare function unregisterAssistantLauncher(id: string): void;
61
+ /** One at a time: the FAB is thumb-sized, and a stack of pills is a
62
+ * notification centre. A recording outranks a task — it is the one the user
63
+ * may be legally obliged to see. */
64
+ export declare function useAssistantActivity(): AssistantActivity | null;
65
+ /** Test seam — the registry without a React tree around it. */
66
+ export declare function __readAssistantRegistry(): {
67
+ activities: AssistantActivity[];
68
+ launchers: AssistantLauncher[];
69
+ current: AssistantActivity | null;
70
+ };
71
+ export declare function useAssistantLaunchers(): AssistantLauncher[];
72
+ /** Publish while mounted, withdraw on unmount. `null` when nothing is live. */
73
+ export declare function usePublishAssistantActivity(activity: AssistantActivity | null): void;
74
+ /** Register from a mounted component; withdrawn on unmount. */
75
+ export declare function useRegisterAssistantLauncher(launcher: AssistantLauncher | null): void;
76
+ /** Raise the panel. Whoever starts an activity also raises the surface that
77
+ * will carry it after the user navigates away. */
78
+ export declare function openAssistant(): void;
79
+ /** `mm:ss`, or `h:mm:ss` past the hour. */
80
+ export declare function formatActivityElapsed(ms: number): string;
81
+ //# sourceMappingURL=assistant-activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-activity.d.ts","sourceRoot":"","sources":["../../src/lib/assistant-activity.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElE,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAA;AAEjG,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,qBAAqB,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,EAAE,EAAE,MAAM,CAAA;IACV,wEAAwE;IACxE,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;IAC1B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,sBAAsB,CAAA;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,uBAAuB,EAAE,CAAA;IACnC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAA;CAClC;AAED;qBACqB;AACrB,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAA;IAC1B,GAAG,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAYD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAG1E;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK1D;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAG3E;AAED,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK5D;AAgBD;;qCAEqC;AACrC,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAG/D;AAWD,+DAA+D;AAC/D,wBAAgB,uBAAuB,IAAI;IACzC,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,SAAS,EAAE,iBAAiB,EAAE,CAAA;IAC9B,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAClC,CAEA;AAED,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAG3D;AAED,+EAA+E;AAC/E,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAmBpF;AAED,+DAA+D;AAC/D,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAerF;AAED;mDACmD;AACnD,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOxD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Assistant Invite — how a screen ASKS to be helped.
3
+ *
4
+ * `useAgentSurface` publishes what the screen knows (state + tools). This is the
5
+ * other half: what the screen OFFERS the user, in their words. A page declares a
6
+ * persona, a headline and a few prompts worth asking, and the shell renders that
7
+ * one declaration on three surfaces:
8
+ *
9
+ * hero — the page opens on the conversation, above its own content
10
+ * dock — dismissed, it shrinks to a floating composer at the bottom
11
+ * rail — expanded, the same persona heads the companion column
12
+ *
13
+ * One invite is active at a time: it belongs to the screen the user is on.
14
+ */
15
+ export interface AssistantInviteSuggestion {
16
+ label: string;
17
+ /** Sent instead of `label` when the chip is picked. */
18
+ prompt?: string;
19
+ }
20
+ export interface AssistantInviteDef {
21
+ /** Stable id — also the session key that remembers a dismissal. */
22
+ id: string;
23
+ /** Names the assistant for this screen ("Growth Analyst"), heading the rail. */
24
+ persona?: string;
25
+ /** Hero headline. `{{name}}` resolves to the signed-in user's first name. */
26
+ headline: string;
27
+ /** Rail headline. Falls back to `headline` — the rail has no name to greet. */
28
+ pitch?: string;
29
+ /** One paragraph under the pitch: what this assistant is good for here. */
30
+ description?: string;
31
+ placeholder?: string;
32
+ suggestions?: AssistantInviteSuggestion[];
33
+ /** `false` opens docked. Default: hero on the session's first visit. */
34
+ auto?: boolean;
35
+ }
36
+ type Stage = 'hero' | 'dock';
37
+ interface AssistantInviteState {
38
+ invite: AssistantInviteDef | null;
39
+ stage: Stage;
40
+ /** Mount/unmount. Passing null clears only if `id` still owns the slot. */
41
+ setInvite: (invite: AssistantInviteDef | null, id?: string) => void;
42
+ dismiss: () => void;
43
+ }
44
+ export declare const useAssistantInviteStore: import("zustand").UseBoundStore<import("zustand").StoreApi<AssistantInviteState>>;
45
+ export {};
46
+ //# sourceMappingURL=assistant-invite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assistant-invite.d.ts","sourceRoot":"","sources":["../../src/lib/assistant-invite.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAA;IACV,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAA;IAChB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,yBAAyB,EAAE,CAAA;IACzC,wEAAwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AA4B5B,UAAU,oBAAoB;IAC5B,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAA;IACjC,KAAK,EAAE,KAAK,CAAA;IACZ,2EAA2E;IAC3E,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACnE,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,eAAO,MAAM,uBAAuB,mFAoBjC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=connector-ai-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-ai-tools.d.ts","sourceRoot":"","sources":["../../src/lib/connector-ai-tools.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { ChatConnectorCard } from '../stores/chat.store';
2
+ export declare function extractConnectorCards(content: string): ChatConnectorCard[];
3
+ //# sourceMappingURL=connector-cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connector-cards.d.ts","sourceRoot":"","sources":["../../src/lib/connector-cards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAoC7D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAoC1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"core-ai-tools.d.ts","sourceRoot":"","sources":["../../src/lib/core-ai-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrE;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,EAkErC,CAAA;AA0BD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAoBvG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAO9D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAmDD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAC5C,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC9E,GAAG,YAAY,EAAE,CA8MjB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,+CAAgD,CAAA;AAK5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,QAAQ,GAAE,iBAAiB,EAAO,GACjC,YAAY,EAAE,CAoFhB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,gBAAgB,EAAqB,GAAG,YAAY,EAAE,CAoBnG"}
1
+ {"version":3,"file":"core-ai-tools.d.ts","sourceRoot":"","sources":["../../src/lib/core-ai-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAGrE;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,YAAY,EA+FrC,CAAA;AA0BD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAK7E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAoBvG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAO9D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAmDD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,EAAE,gBAAgB,EAAE,CAAA;IAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAC5C,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CAC9E,GAAG,YAAY,EAAE,CA8MjB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,+CAAgD,CAAA;AAK5E;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,QAAQ,GAAE,iBAAiB,EAAO,GACjC,YAAY,EAAE,CAoFhB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,gBAAgB,EAAqB,GAAG,YAAY,EAAE,CAoBnG"}
@@ -0,0 +1,4 @@
1
+ import { type FayzAgentConnectionConfig } from './fayz-agent';
2
+ export declare function startFayzEventBridge(override?: FayzAgentConnectionConfig | false): () => void;
3
+ export declare function stopFayzEventBridge(): void;
4
+ //# sourceMappingURL=fayz-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fayz-events.d.ts","sourceRoot":"","sources":["../../src/lib/fayz-events.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAWzF,wBAAgB,oBAAoB,CAAC,QAAQ,CAAC,EAAE,yBAAyB,GAAG,KAAK,GAAG,MAAM,IAAI,CAyB7F;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
@@ -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,CAyctF"}
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"}
package/dist/org/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { createMockOrgAdapter, createSupabaseOrgAdapter } from '../chunk-TNTZHUL6.js';
1
+ export { createMockOrgAdapter, createSupabaseOrgAdapter } from '../chunk-OI7RYSTM.js';
2
2
  export { ORG_CACHE_TTL_MS, OrgProvider, clearOrgSnapshot, getPersistedOrgId, readOrgSnapshot, useOrgAdapter, useOrgAdapterOptional, useOrganizationStore, useTenant, useTenantOptional } from '../chunk-PNAJODZM.js';
3
3
  import '../chunk-VTEP2AQX.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -17,8 +17,38 @@ export declare function SelectRow({ label, description, value, options, onChange
17
17
  onChange: (value: string) => void;
18
18
  disabled?: boolean;
19
19
  }): React.JSX.Element;
20
+ export declare function TextRow({ label, description, value, onChange, onBlurCommit, placeholder, hint, invalid, disabled }: {
21
+ label: string;
22
+ description?: string;
23
+ value: string;
24
+ onChange: (value: string) => void;
25
+ /**
26
+ * Called on blur and on Enter — where a value that has to be PARSED should be
27
+ * committed. Auto-saving a numeric setting per keystroke writes every prefix
28
+ * on the way to the number ('1' and '19' before '19,90'), and each of those is
29
+ * a real freight the store briefly charged.
30
+ */
31
+ onBlurCommit?: () => void;
32
+ placeholder?: string;
33
+ /** Shown under the input; turns into the refusal when `invalid`. */
34
+ hint?: string;
35
+ invalid?: boolean;
36
+ disabled?: boolean;
37
+ }): React.JSX.Element;
38
+ export declare function MultiSelectRow({ label, description, value, options, onChange, disabled }: {
39
+ label: string;
40
+ description?: string;
41
+ value: string[];
42
+ options: {
43
+ value: string;
44
+ label: string;
45
+ }[];
46
+ onChange: (value: string[]) => void;
47
+ disabled?: boolean;
48
+ }): React.JSX.Element;
20
49
  export declare function SettingsGroup({ title, description, children }: {
21
- title: string;
50
+ /** Omitted when the surface around it already names the group — no empty heading block. */
51
+ title?: string;
22
52
  description?: string;
23
53
  children: React.ReactNode;
24
54
  }): React.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsGroup.d.ts","sourceRoot":"","sources":["../../src/plugins/SettingsGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAC7E,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBA6BA;AAMD,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACpF,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBAsBA;AAMD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAC9D,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,qBAYA"}
1
+ {"version":3,"file":"SettingsGroup.d.ts","sourceRoot":"","sources":["../../src/plugins/SettingsGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IAC7E,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBA6BA;AAMD,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACpF,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBAsBA;AAUD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;IACnH,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBAwBA;AAUD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACzF,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,qBAkCA;AAMD,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;IAC9D,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,qBAcA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SeuSiteWidget.d.ts","sourceRoot":"","sources":["../../src/projects/SeuSiteWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAiClD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,aAAa,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,4BAsGpG"}
1
+ {"version":3,"file":"SeuSiteWidget.d.ts","sourceRoot":"","sources":["../../src/projects/SeuSiteWidget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAiClD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAAE,QAAQ,CAAC,EAAE,aAAa,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,4BA+IpG"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * A trilha de auditoria de qualquer cadastro.
3
+ *
4
+ * Escrita a partir do store de CRUD — o único ponto por onde criar, editar e
5
+ * excluir passam em todos os apps. É isso que faz "auditoria funciona pra
6
+ * qualquer cadastro" ser verdade por construção: um registry novo não precisa
7
+ * declarar nada, não ganha migração e não pode esquecer. Se ele grava pelo
8
+ * store, ele é auditado.
9
+ *
10
+ * A alternativa era um gatilho por tabela no banco. Pega também as escritas
11
+ * fora do app, mas cobra uma migração por cadastro — e cadastro que ninguém
12
+ * lembrou de migrar fica silenciosamente sem rastro, que é o pior estado
13
+ * possível para uma auditoria: a ausência de linha parecendo ausência de ação.
14
+ *
15
+ * O que NÃO vai para cá: valor de campo. Só o NOME dos campos que mudaram.
16
+ * Copiar valores significaria a anamnese de um cliente existir também em
17
+ * `audit_logs`, uma tabela com outra política de acesso e outra retenção — a
18
+ * trilha vazaria o dado que a ficha protege. "Telefone e e-mail alterados"
19
+ * responde à pergunta que a linha do tempo faz; o valor de antes é outra
20
+ * funcionalidade, com outras consequências.
21
+ */
22
+ export type AuditAction = 'created' | 'updated' | 'deleted' | 'imported';
23
+ export interface AuditEntry {
24
+ /** `getActiveTenantId()` devolve `undefined` sem tenant resolvido; sem ele
25
+ * não há linha a gravar. */
26
+ tenantId: string | null | undefined;
27
+ /** A chave do cadastro (`clients`, `services`), não a tabela física: é o que
28
+ * o app usa para se referir ao registro em todo o resto do sistema. */
29
+ entityType: string;
30
+ entityId?: string;
31
+ action: AuditAction;
32
+ /** Nome legível no momento do ato — em especial numa exclusão, onde depois
33
+ * dela não há mais linha de onde tirá-lo. */
34
+ recordName?: string;
35
+ entityLabel?: string;
36
+ /** Campos tocados numa edição. Só os nomes. */
37
+ fields?: string[];
38
+ /** Quantas linhas, numa importação. */
39
+ count?: number;
40
+ }
41
+ /**
42
+ * Grava e engole a falha.
43
+ *
44
+ * Deliberado: a auditoria é um efeito colateral do cadastro, não uma condição
45
+ * dele. Se a política de RLS negar ou a rede cair, o cliente já foi salvo —
46
+ * derrubar a operação inteira (ou mostrar um erro) transformaria um problema de
47
+ * registro num problema de trabalho. Fica no console para quem investiga.
48
+ */
49
+ export declare function recordAudit(entry: AuditEntry): Promise<void>;
50
+ /**
51
+ * A trilha de um ato em lote — UMA linha por registro, num INSERT só.
52
+ *
53
+ * Uma linha por registro porque a pergunta que a trilha responde é "quem apagou
54
+ * ESTE cliente?", e uma linha única dizendo "40 excluídos" não a responde. Um
55
+ * INSERT só porque quarenta requisições para gravar o rastro de uma ação são
56
+ * quarenta chances de a rede estragar o que já aconteceu no banco.
57
+ */
58
+ export declare function recordAuditMany(entries: AuditEntry[]): Promise<void>;
59
+ /** Os campos que uma edição tocou. Metadado de linha não conta como edição. */
60
+ export declare function changedFields(data: Record<string, unknown> | undefined): string[];
61
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/stores/audit.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAA;AAExE,MAAM,WAAW,UAAU;IACzB;iCAC6B;IAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACnC;4EACwE;IACxE,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB;kDAC8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAElE;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC1E;AAED,+EAA+E;AAC/E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAIjF"}
@@ -1,4 +1,5 @@
1
1
  import { type AttachmentDigest, type AttachmentKind } from '../lib/attachments';
2
+ import type { ConnectorSuggestionState } from '../components/connect/connector-search';
2
3
  /** A record the reply concerns — rendered as a "goto" button under the
3
4
  * bubble. Semantic ref only (id + archetype/kind); the SURFACE resolves the
4
5
  * URL against its own route map (agents.md: a missing link is correct, an
@@ -15,6 +16,34 @@ export interface ChatRecordLink {
15
16
  * settings tab, a plugin screen. Wins over the archetype lookup. */
16
17
  path?: string;
17
18
  }
19
+ /**
20
+ * An integration the reply is about, rendered as a card under the bubble.
21
+ *
22
+ * A sibling of {@link ChatRecordLink}, not a new channel: same "the tool result
23
+ * decorates the message" mechanism, one step richer because a connector needs
24
+ * its mark, its state and — only when there is somewhere to go — a button.
25
+ * `route` is the whole safety property: it is present for `connected`/`ready`
26
+ * and absent for the two inert states, so a card that cannot be acted on cannot
27
+ * render something to press.
28
+ */
29
+ export interface ChatConnectorCard {
30
+ kind: 'connector';
31
+ slug: string;
32
+ /** Connector id, when a definition backs it — opens the journey directly. */
33
+ id?: string;
34
+ name: string;
35
+ description?: string;
36
+ /** Raw `ConnectorCategory`; the badge is resolved through i18n. */
37
+ category?: string;
38
+ icon?: string;
39
+ logoUrl?: string;
40
+ /** The tool's own vocabulary, not a copy of it — see {@link ConnectorSuggestionState}. */
41
+ state: ConnectorSuggestionState;
42
+ /** Module that hosts it — what "requer o módulo X" names. */
43
+ moduleId?: string;
44
+ /** The screen a human finishes it on. Only ever set for a state that has one. */
45
+ route?: string;
46
+ }
18
47
  export interface ChatToolCall {
19
48
  name: string;
20
49
  /** Pretty-printed arguments (may be empty). */
@@ -37,6 +66,8 @@ export interface ChatMessage {
37
66
  toolCalls?: ChatToolCall[];
38
67
  /** Records to offer as navigation buttons under the reply. */
39
68
  links?: ChatRecordLink[];
69
+ /** Integrations the reply found, rendered as cards under it. */
70
+ cards?: ChatConnectorCard[];
40
71
  /** Files sent with this turn. Name and shape only — the bytes stayed here. */
41
72
  attachments?: Array<{
42
73
  name: string;
@@ -187,6 +218,8 @@ interface ChatState {
187
218
  appendToolCallsToLastAssistant: (calls: ChatToolCall[]) => void;
188
219
  /** Attach goto-record buttons to the reply (deduped by id, capped). */
189
220
  appendLinksToLastAssistant: (links: ChatRecordLink[]) => void;
221
+ /** Attach connector cards to the reply (deduped by slug, capped). */
222
+ appendCardsToLastAssistant: (cards: ChatConnectorCard[]) => void;
190
223
  /** The signed-in user's threads (history drawer). */
191
224
  conversations: Array<{
192
225
  id: string;
@@ -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,4 +1,4 @@
1
- import type { DataProvider, CrudQuery } from '@fayz-ai/core';
1
+ import type { BulkRemoveResult, DataProvider, CrudQuery } from '@fayz-ai/core';
2
2
  export interface CrudState<T> {
3
3
  items: T[] | null;
4
4
  total: number;
@@ -33,6 +33,9 @@ export interface CrudActions<T> {
33
33
  }>;
34
34
  update: (id: string, data: Partial<T>) => Promise<T>;
35
35
  remove: (id: string) => Promise<void>;
36
+ /** Delete many in one round-trip where the provider allows it, with a single
37
+ * audit write and a single list refetch. */
38
+ removeMany: (ids: string[]) => Promise<BulkRemoveResult>;
36
39
  setQuery: (query: Partial<CrudQuery>) => void;
37
40
  getById: (id: string) => T | undefined;
38
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createCrudStore.d.ts","sourceRoot":"","sources":["../../src/stores/createCrudStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG5D,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACjC,8GAA8G;IAC9G,UAAU,EAAE,CACV,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KACtF,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;IAClE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAA;CACvC;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACtD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,MAAM,CAAC,EAAE,eAAe,6EAyLzB"}
1
+ {"version":3,"file":"createCrudStore.d.ts","sourceRoot":"","sources":["../../src/stores/createCrudStore.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAI9E,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,SAAS,CAAA;IAChB;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACjC,8GAA8G;IAC9G,UAAU,EAAE,CACV,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,KACtF,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;IAClE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;IACpD,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC;iDAC6C;IAC7C,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC,GAAG,SAAS,CAAA;CACvC;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACtD,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAC7B,MAAM,CAAC,EAAE,eAAe,6EAsQzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/theme/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,SAAS,EAIV,MAAM,UAAU,CAAA;AAqCjB,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACxC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB,GAAG,KAAK,IAAI,SAAS,CAGrF;AA+BD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB,CA8FjE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,WAAW,CA2BtE;AAsED,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAgB1E;AAED,wBAAgB,mBAAmB,IAAI,OAAO,GAAG,MAAM,CAGtD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/theme/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,SAAS,EAIV,MAAM,UAAU,CAAA;AAqCjB,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IAChC,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACxC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB,GAAG,KAAK,IAAI,SAAS,CAGrF;AA+BD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,kBAAkB,CA8FjE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,WAAW,CA2BtE;AA4FD,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAoB1E;AAED,wBAAgB,mBAAmB,IAAI,OAAO,GAAG,MAAM,CAGtD"}
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ /**
3
+ * A linha do tempo de uma pessoa, montada a partir das fontes registradas.
4
+ *
5
+ * Genérico de propósito, em `packages/admin` e não no app: "o que aconteceu com
6
+ * esta pessoa" não é específico de salão — a mesma tela serve aluno, paciente e
7
+ * cliente. O app só monta.
8
+ */
9
+ export declare function PersonTimeline({ personId, pageSize, recordPath, }: {
10
+ personId: string;
11
+ pageSize?: number;
12
+ /**
13
+ * A rota da ficha desta pessoa (`/clients/8e48…`), que é o app quem sabe.
14
+ *
15
+ * Com ela, cada item vira atalho para a aba onde o evento mora — clicar num
16
+ * pagamento abre o Extrato, clicar numa gravação abre Gravações. Sem ela a
17
+ * linha do tempo funciona igual, só não navega: é degradação, não erro.
18
+ */
19
+ recordPath?: string;
20
+ }): React.JSX.Element;
21
+ //# sourceMappingURL=PersonTimeline.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=core-sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core-sources.d.ts","sourceRoot":"","sources":["../../src/timeline/core-sources.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import './core-sources';
2
+ export { PersonTimeline } from './PersonTimeline';
3
+ export { usePersonTimeline } from './usePersonTimeline';
4
+ export { registerTimelineSource, unregisterTimelineSource, getTimelineSources } from './registry';
5
+ export type { TimelineItem, TimelineSource, TimelineFetchArgs } from './types';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timeline/index.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACjG,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { TimelineSource } from './types';
2
+ export declare function registerTimelineSource(source: TimelineSource): void;
3
+ export declare function unregisterTimelineSource(id: string): void;
4
+ export declare function getTimelineSources(): TimelineSource[];
5
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/timeline/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAa7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAInE;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * A linha do tempo de uma pessoa: o que aconteceu com ela, de todas as partes
3
+ * do sistema, numa lista só.
4
+ *
5
+ * O desenho é um REGISTRO DE CONTRIBUIDORES, e não uma view `UNION ALL` no
6
+ * banco. A view seria mais curta e ganharia paginação de graça, mas teria que
7
+ * nomear `plg_scribe_sessions`, `documents` e `plg_forms_*` dentro de um objeto
8
+ * do core — e num pool sem esses plugins ela não cria. Core dependendo de
9
+ * tabela de plugin é exatamente o acoplamento que a arquitetura proíbe; o SDK
10
+ * já resolve isso em outro lugar do mesmo jeito (ver `requiresWidgetZone`, que
11
+ * é como a aba de Gravações some quando o plugin está desligado).
12
+ *
13
+ * Aqui cada plugin registra a sua fonte. Sem o plugin, não existe contribuidor
14
+ * — nada quebra, nada some silenciosamente, e ninguém precisa de DDL por pool.
15
+ */
16
+ /**
17
+ * A cor da bolha no trilho.
18
+ *
19
+ * Com sete fontes empilhadas, a bolha cinza fazia todas as linhas parecerem a
20
+ * mesma coisa — a diferença ficava só no ícone, que tem 16px. A cor é o que
21
+ * deixa "isso é dinheiro" e "isso é documento" separáveis antes de ler.
22
+ *
23
+ * Tom, e não classe de CSS: a fonte declara o SENTIDO e o componente resolve
24
+ * para os tokens do tema, então a linha do tempo continua certa quando o app
25
+ * troca de paleta ou o usuário vira para o escuro. Uma fonte que devolvesse
26
+ * `bg-purple-100` estaria decidindo pelo tema de todo mundo.
27
+ *
28
+ * `rose` mapeia nos tokens `destructive-soft` porque são os únicos rosados do
29
+ * tema — o nome é `rose` e não `danger` de propósito: aqui ele é só uma cor da
30
+ * paleta, e nada do que ele marca significa erro.
31
+ */
32
+ export type TimelineTone = 'neutral' | 'info' | 'success' | 'warning' | 'magic' | 'primary' | 'rose';
33
+ export interface TimelineItem {
34
+ /** Único e ESTÁVEL entre páginas — a paginação corta por data, então o mesmo
35
+ * evento pode ser devolvido duas vezes e é por este id que ele é reconhecido. */
36
+ id: string;
37
+ /** Qual fonte produziu — alimenta as pastilhas de filtro. */
38
+ sourceId: string;
39
+ /** ISO. É por este campo que as fontes são intercaladas. */
40
+ occurredAt: string;
41
+ title: string;
42
+ description?: string;
43
+ /** Nome de ícone do lucide. */
44
+ icon?: string;
45
+ /** Sobrepõe o tom da fonte, para um evento que foge da regra dela. */
46
+ tone?: TimelineTone;
47
+ badge?: string;
48
+ /**
49
+ * A aba da ficha onde este evento MORA — 'orders', 'documents', 'scribe',
50
+ * 'financial'. O componente monta a rota (`#/clients/:id/:aba`); a fonte não
51
+ * sabe, e não deve saber, em que caminho o app pendurou o cadastro.
52
+ *
53
+ * Ausente = o evento não tem lugar próprio (uma edição de cadastro vive na
54
+ * visão geral) e o item não vira link. Um clique que não leva a lugar nenhum
55
+ * é pior do que um cartão que nunca prometeu ser clicável.
56
+ */
57
+ targetTab?: string;
58
+ /** Destino completo, quando não é uma aba desta mesma ficha. Ganha de
59
+ * `targetTab`. */
60
+ href?: string;
61
+ }
62
+ export interface TimelineFetchArgs {
63
+ personId: string;
64
+ tenantId: string;
65
+ /**
66
+ * Só eventos ANTERIORES a este instante (ISO). Ausente na primeira página.
67
+ *
68
+ * É isto que faz a paginação ser correta com fontes desbalanceadas. A versão
69
+ * ingênua — `limit` por fonte e corta o resultado — perde evento: com 30
70
+ * agendamentos e uma atividade de ontem, a atividade nunca aparece, porque o
71
+ * corte acontece depois de cada fonte já ter enchido a sua cota.
72
+ */
73
+ before?: string;
74
+ limit: number;
75
+ }
76
+ export interface TimelineSource {
77
+ /** Estável: vira a chave da pastilha de filtro. */
78
+ id: string;
79
+ label: string;
80
+ icon?: string;
81
+ /** Cor das bolhas desta fonte. Padrão: `neutral`. */
82
+ tone?: TimelineTone;
83
+ /**
84
+ * Eventos desta fonte, do mais novo para o mais velho, no máximo `limit`.
85
+ *
86
+ * Deve devolver `[]` em vez de estourar quando a tabela não existe ou a RLS
87
+ * nega: uma fonte quebrada não pode levar a linha do tempo inteira junto.
88
+ */
89
+ fetch(args: TimelineFetchArgs): Promise<TimelineItem[]>;
90
+ }
91
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/timeline/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;AAEpG,MAAM,WAAW,YAAY;IAC3B;sFACkF;IAClF,EAAE,EAAE,MAAM,CAAA;IACV,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAA;IAChB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;uBACmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qDAAqD;IACrD,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;CACxD"}