@fayz-ai/core 0.8.2 → 0.8.4

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 (62) hide show
  1. package/dist/{chunk-XJKW2JRW.js → chunk-GULZD7XW.js} +7 -14
  2. package/dist/chunk-GULZD7XW.js.map +1 -0
  3. package/dist/{chunk-SO3VUKGZ.cjs → chunk-HN66DF4E.cjs} +123 -4
  4. package/dist/chunk-HN66DF4E.cjs.map +1 -0
  5. package/dist/{chunk-CYAWDW44.cjs → chunk-KL2XT2TV.cjs} +6 -16
  6. package/dist/chunk-KL2XT2TV.cjs.map +1 -0
  7. package/dist/{chunk-JHGXROKV.js → chunk-MJ4ML56F.js} +123 -4
  8. package/dist/chunk-MJ4ML56F.js.map +1 -0
  9. package/dist/data/archetype.d.ts.map +1 -1
  10. package/dist/data/index.cjs +9 -21
  11. package/dist/data/index.d.ts +0 -1
  12. package/dist/data/index.d.ts.map +1 -1
  13. package/dist/data/index.js +1 -1
  14. package/dist/data/refresh.d.ts +36 -0
  15. package/dist/data/refresh.d.ts.map +1 -0
  16. package/dist/data/supabase.d.ts.map +1 -1
  17. package/dist/data/types.d.ts +6 -0
  18. package/dist/data/types.d.ts.map +1 -1
  19. package/dist/i18n/index.cjs +10 -10
  20. package/dist/i18n/index.d.ts.map +1 -1
  21. package/dist/i18n/index.js +1 -1
  22. package/dist/i18n/shell-translations.d.ts.map +1 -1
  23. package/dist/index.cjs +694 -97
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.ts +5 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +652 -59
  28. package/dist/index.js.map +1 -1
  29. package/dist/search/engine.d.ts +12 -0
  30. package/dist/search/engine.d.ts.map +1 -0
  31. package/dist/search/index.d.ts +5 -0
  32. package/dist/search/index.d.ts.map +1 -0
  33. package/dist/search/text.d.ts +37 -0
  34. package/dist/search/text.d.ts.map +1 -0
  35. package/dist/search/types.d.ts +72 -0
  36. package/dist/search/types.d.ts.map +1 -0
  37. package/dist/types/org.d.ts +28 -0
  38. package/dist/types/org.d.ts.map +1 -1
  39. package/dist/types/plugins.d.ts +12 -0
  40. package/dist/types/plugins.d.ts.map +1 -1
  41. package/package.json +2 -2
  42. package/src/data/archetype.ts +4 -2
  43. package/src/data/index.ts +0 -1
  44. package/src/data/refresh.ts +105 -0
  45. package/src/data/supabase.ts +3 -1
  46. package/src/data/types.ts +6 -0
  47. package/src/i18n/index.ts +2 -0
  48. package/src/i18n/shell-translations.ts +119 -2
  49. package/src/index.ts +19 -2
  50. package/src/search/engine.ts +551 -0
  51. package/src/search/index.ts +25 -0
  52. package/src/search/text.ts +206 -0
  53. package/src/search/types.ts +75 -0
  54. package/src/types/org.ts +29 -0
  55. package/src/types/plugins.ts +12 -0
  56. package/dist/chunk-CYAWDW44.cjs.map +0 -1
  57. package/dist/chunk-JHGXROKV.js.map +0 -1
  58. package/dist/chunk-SO3VUKGZ.cjs.map +0 -1
  59. package/dist/chunk-XJKW2JRW.js.map +0 -1
  60. package/dist/data/cloud.d.ts +0 -5
  61. package/dist/data/cloud.d.ts.map +0 -1
  62. package/src/data/cloud.ts +0 -28
@@ -0,0 +1,12 @@
1
+ import type { GlobalSearchResult, SearchOptions } from './types';
2
+ /** Nothing shorter is worth a round-trip. */
3
+ export declare const MIN_QUERY_LENGTH = 2;
4
+ /** Test seam / manual override. */
5
+ export declare function setSearchIndexAvailable(value: boolean | null): void;
6
+ export declare function isSearchIndexAvailable(): boolean | null;
7
+ /** Drop every cached answer. Call on tenant switch and after writes. */
8
+ export declare function clearSearchCache(): void;
9
+ /** Search every target at once. Never throws for data reasons — a target that
10
+ * errors lands in `failed` and the rest of the answer still ships. */
11
+ export declare function searchEverything(rawQuery: string, options: SearchOptions): Promise<GlobalSearchResult>;
12
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/search/engine.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,kBAAkB,EAGlB,aAAa,EAGd,MAAM,SAAS,CAAA;AAQhB,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,IAAI,CAAA;AAiBjC,mCAAmC;AACnC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAEnE;AAED,wBAAgB,sBAAsB,IAAI,OAAO,GAAG,IAAI,CAEvD;AAwOD,wEAAwE;AACxE,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAmLD;uEACuE;AACvE,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,kBAAkB,CAAC,CAgF7B"}
@@ -0,0 +1,5 @@
1
+ export { searchEverything, clearSearchCache, setSearchIndexAvailable, isSearchIndexAvailable, MIN_QUERY_LENGTH, } from './engine';
2
+ export { foldText, foldWithMap, digitsOf, normalizeQuery, similarity, scoreCandidate, highlightRanges, } from './text';
3
+ export type { NormalizedQuery, RankCandidate } from './text';
4
+ export type { SearchTarget, SearchHit, SearchGroup, SearchPath, SearchOptions, GlobalSearchResult, } from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,UAAU,CAAA;AACjB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,cAAc,EACd,UAAU,EACV,cAAc,EACd,eAAe,GAChB,MAAM,QAAQ,CAAA;AACf,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAC5D,YAAY,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAA"}
@@ -0,0 +1,37 @@
1
+ /** Strip diacritics, lowercase, collapse non-alphanumerics to single spaces. */
2
+ export declare function foldText(value: unknown): string;
3
+ /** Fold, keeping each folded char's index in the source — used for highlighting. */
4
+ export declare function foldWithMap(value: string): {
5
+ folded: string;
6
+ map: number[];
7
+ };
8
+ /** Digits only — phone numbers, CPF/CNPJ, SKUs typed with separators. */
9
+ export declare function digitsOf(value: unknown): string;
10
+ export interface NormalizedQuery {
11
+ /** What the user typed, untouched. */
12
+ raw: string;
13
+ /** Folded form of the whole query — the "phrase". */
14
+ folded: string;
15
+ /** Folded query split on whitespace. */
16
+ tokens: string[];
17
+ /** Digits the user typed, when they typed enough of them to mean a number. */
18
+ digits: string;
19
+ /** The longest token — the most selective thing to send to a `%LIKE%` backend. */
20
+ anchor: string;
21
+ }
22
+ export declare function normalizeQuery(raw: string): NormalizedQuery;
23
+ /** 0 (nothing in common) … 1 (identical). Both inputs must already be folded. */
24
+ export declare function similarity(a: string, b: string): number;
25
+ export interface RankCandidate {
26
+ /** Folded display name — what the user is most likely aiming at. */
27
+ title: string;
28
+ /** Folded concatenation of every searchable value on the record. */
29
+ haystack: string;
30
+ /** Digits of every phone/document-ish value on the record. */
31
+ digits?: string;
32
+ }
33
+ /** Score a candidate 0…1. Zero means "not a match" — the score is also the filter. */
34
+ export declare function scoreCandidate(query: NormalizedQuery, candidate: RankCandidate): number;
35
+ /** Ranges in the ORIGINAL text covered by the query, merged and sorted. */
36
+ export declare function highlightRanges(text: string, query: NormalizedQuery): Array<[number, number]>;
37
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/search/text.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ/C;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB5E;AAED,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAA;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAA;CACf;AAKD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAa3D;AAYD,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcvD;AAiBD,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAKD,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,MAAM,CAgDvF;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA2B7F"}
@@ -0,0 +1,72 @@
1
+ import type { EntityDef } from '../types/crud';
2
+ /** One searchable thing — declaring an entity is all it takes to be findable. */
3
+ export interface SearchTarget {
4
+ /** Stable entity key (`deriveEntityKey`): 'person:client', 'product', … */
5
+ key: string;
6
+ /** Plural human label; becomes the result group heading. */
7
+ label: string;
8
+ icon?: string;
9
+ entity: EntityDef;
10
+ mockData?: Array<{
11
+ id: string;
12
+ }>;
13
+ /** Multiplies the final score. Default 1. */
14
+ boost?: number;
15
+ }
16
+ export interface SearchHit {
17
+ /** `${target.key}:${record id}` — stable across both search paths. */
18
+ uid: string;
19
+ id: string;
20
+ /** Target key this record came from. */
21
+ key: string;
22
+ /** Group heading (the target's plural label). */
23
+ group: string;
24
+ icon?: string;
25
+ title: string;
26
+ subtitle?: string;
27
+ /** 0 … 1 (times the target boost). Higher is better. */
28
+ score: number;
29
+ archetype?: string;
30
+ archetypeKind?: string;
31
+ table?: string;
32
+ /** The row, when the path that found it had one. The index path returns
33
+ * titles only. */
34
+ record?: Record<string, unknown>;
35
+ }
36
+ export interface SearchGroup {
37
+ key: string;
38
+ label: string;
39
+ icon?: string;
40
+ hits: SearchHit[];
41
+ /** True when this group hit its per-target cap — more matches exist. */
42
+ hasMore: boolean;
43
+ }
44
+ export type SearchPath = 'index' | 'scan' | 'cache';
45
+ export interface GlobalSearchResult {
46
+ query: string;
47
+ hits: SearchHit[];
48
+ groups: SearchGroup[];
49
+ /** Which path produced this result — surfaced for diagnostics, not for UI. */
50
+ via: SearchPath;
51
+ /** Targets whose query failed. Never fatal: a broken table cannot blind the box. */
52
+ failed: string[];
53
+ /** Wall-clock milliseconds. */
54
+ elapsedMs: number;
55
+ /** True while a better (network) answer is still on its way. */
56
+ partial: boolean;
57
+ }
58
+ export interface SearchOptions {
59
+ /** Permission filtering is the caller's job — the engine searches what it's handed. */
60
+ targets: SearchTarget[];
61
+ /** Max hits returned overall. Default 30. */
62
+ limit?: number;
63
+ /** Max hits per target. Default 5. */
64
+ perTarget?: number;
65
+ /** Fired with early/partial answers before the authoritative one resolves. */
66
+ onPartial?: (result: GlobalSearchResult) => void;
67
+ /** Discard the result if this aborts. */
68
+ signal?: AbortSignal;
69
+ /** Skip the server index and force the per-entity scan (tests, diagnostics). */
70
+ forceScan?: boolean;
71
+ }
72
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/search/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAA;IACX,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,CAAA;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChC,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAA;IACX,EAAE,EAAE,MAAM,CAAA;IACV,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;uBACmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEnD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,SAAS,EAAE,CAAA;IACjB,MAAM,EAAE,WAAW,EAAE,CAAA;IACrB,8EAA8E;IAC9E,GAAG,EAAE,UAAU,CAAA;IACf,oFAAoF;IACpF,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAChD,yCAAyC;IACzC,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB"}
@@ -32,6 +32,27 @@ export interface OrgMembership {
32
32
  profileId: string;
33
33
  profileName: string;
34
34
  }
35
+ /**
36
+ * A team member in the Person-first model: a person (of a configured team kind)
37
+ * with an OPTIONAL access overlay. `membership` is present only when the person
38
+ * has login + RBAC role (a `tenant_members` row linked by `person_id`).
39
+ */
40
+ export interface TeamPerson {
41
+ personId: string;
42
+ name: string;
43
+ kind: string;
44
+ email?: string;
45
+ avatarUrl?: string;
46
+ isActive: boolean;
47
+ membership?: {
48
+ memberId: string;
49
+ userId: string;
50
+ /** RBAC role key (tenant_members.role). */
51
+ profileId: string;
52
+ profileName?: string;
53
+ joinedAt?: string;
54
+ };
55
+ }
35
56
  export interface Location {
36
57
  id: string;
37
58
  tenantId: string;
@@ -71,6 +92,13 @@ export interface OrgAdapter {
71
92
  createOrg(name: string, userId: string, options?: CreateOrgOptions): Promise<Organization>;
72
93
  updateOrg(orgId: string, data: Partial<Organization>): Promise<Organization>;
73
94
  listMembers(orgId: string): Promise<OrgMember[]>;
95
+ /**
96
+ * Person-first team list: people whose `kind` is in `personKinds`, each with an
97
+ * optional membership overlay (login + role) linked by `tenant_members.person_id`.
98
+ * Optional so adapters can adopt it incrementally; the Team screen falls back to
99
+ * `listMembers` when absent or when no `personKinds` are configured.
100
+ */
101
+ listTeam?(orgId: string, personKinds: string[]): Promise<TeamPerson[]>;
74
102
  updateMemberProfile(orgId: string, memberId: string, profileId: string): Promise<void>;
75
103
  removeMember(orgId: string, memberId: string): Promise<void>;
76
104
  listProfiles(orgId: string): Promise<PermissionProfile[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/types/org.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,14 @@ export interface PluginNavigationEntry {
25
25
  icon?: string;
26
26
  badge?: string | number;
27
27
  permission?: PluginPermissionRequirement;
28
+ /**
29
+ * Sales-channel / external link. When set, the entry opens this URL in a new
30
+ * tab instead of routing internally — no page/route is registered for it. Used
31
+ * by "Canais de venda"-style nav (Loja Online, WhatsApp, TikTok Shop…). The
32
+ * `route` is still required (used as a stable identity/key), but is never
33
+ * navigated when `href` is present.
34
+ */
35
+ href?: string;
28
36
  /**
29
37
  * When this entry gains sub-path children, the shell also synthesizes a child
30
38
  * pointing back at the parent's own route (so /courses stays reachable under
@@ -57,6 +65,10 @@ export interface PluginRouteDefinition {
57
65
  permission?: PluginPermissionRequirement;
58
66
  /** Render edge-to-edge with no page padding/animation wrapper (chat, kanban, canvas). */
59
67
  fullBleed?: boolean;
68
+ /** Archetypes this page displays (`archetype` or `archetype:kind`, e.g.
69
+ * `'schedule:appointment'`). A CRUD page claims its own; a hand-built page
70
+ * must declare it or records it owns resolve to no route. */
71
+ entityRoutes?: string[];
60
72
  }
61
73
  export type PluginWidgetZone = 'shell.sidebar.before-nav' | 'shell.sidebar.footer' | 'shell.topbar.start' | 'shell.topbar.end' | 'page.before' | 'page.after' | 'settings.before' | 'settings.after' | 'shell.floating' | (string & {});
62
74
  export declare const WidgetZone: {
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/types/plugins.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "fayz": {
4
4
  "status": "beta"
5
5
  },
6
- "version": "0.8.2",
6
+ "version": "0.8.4",
7
7
  "description": "Fayz SDK core — data providers, entity system, plugin runtime, i18n, routing",
8
8
  "type": "module",
9
9
  "main": "./dist/index.cjs",
@@ -88,7 +88,7 @@
88
88
  "dependencies": {
89
89
  "@supabase/supabase-js": "^2.45.0",
90
90
  "zustand": "^4.5.0",
91
- "@fayz-ai/sdk": "^0.8.2"
91
+ "@fayz-ai/sdk": "^0.8.4"
92
92
  },
93
93
  "devDependencies": {
94
94
  "@types/react": "^18.3.0",
@@ -109,9 +109,11 @@ export function createArchetypeProvider<T extends { id: string }>(
109
109
 
110
110
  // Pure archetype → read public.<base> directly (filtered by kind);
111
111
  // otherwise the v_ view (JOINs public extension with the public archetype).
112
+ // 'none' skips PostgREST's count aggregate entirely — see CrudQuery.countMode.
113
+ const countOpts = query.countMode === 'none' ? undefined : { count: 'exact' as const }
112
114
  let q = isPure
113
- ? coreClient().from(ac.table).select('*', { count: 'exact' }).eq('tenant_id', tenantId)
114
- : getClient().from(viewName).select('*', { count: 'exact' }).eq('tenant_id', tenantId)
115
+ ? coreClient().from(ac.table).select('*', countOpts).eq('tenant_id', tenantId)
116
+ : getClient().from(viewName).select('*', countOpts).eq('tenant_id', tenantId)
115
117
 
116
118
  if (isPure && HAS_KIND.has(config.archetype)) {
117
119
  q = q.eq('kind', config.archetypeKind)
package/src/data/index.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  export { createSupabaseProvider, setGlobalSupabaseClient, getSupabaseClientOptional } from './supabase'
2
2
  export { countByTenant, invalidateCount } from './count'
3
3
  export type { CountByTenantOptions } from './count'
4
- export { getFayzCloudClient, FAYZ_CLOUD_URL, FAYZ_CLOUD_PUBLISHABLE_KEY } from './cloud'
5
4
  export { createFayzApiProvider } from './platform-api'
6
5
  export { createMockProvider } from './mock'
7
6
  export { resolveDataProvider } from './resolve'
@@ -0,0 +1,105 @@
1
+ import * as React from 'react'
2
+ import { eventBus } from '../events'
3
+ import { globalCache } from '../lib/cache'
4
+ import { getActiveTenantId } from '../tenant'
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Data refresh bus — "something wrote; whoever is showing it should reload".
8
+ //
9
+ // A write that happens OUTSIDE the list showing it (the assistant creating an
10
+ // appointment, a webhook, another tab) used to leave the screen stale until the
11
+ // user reloaded by hand. Providers already invalidate their own read cache on
12
+ // create/update/remove, but a mounted list holds its rows in a store — nothing
13
+ // told it to fetch again.
14
+ //
15
+ // This is the missing half: one broadcast, every surface that renders the
16
+ // affected data listens. Deliberately coarse — a table name, not a row diff.
17
+ // Refetching a page of rows is cheap; a stale screen after "criei o
18
+ // agendamento" is not.
19
+ // ---------------------------------------------------------------------------
20
+
21
+ export const DATA_CHANGED_EVENT = 'data:changed'
22
+
23
+ export interface DataChangedPayload {
24
+ /** Physical table the write touched, when the writer knows it. */
25
+ table?: string
26
+ /** Registered entity key (deriveEntityKey), when the writer knows it. */
27
+ entityKey?: string
28
+ /** Archetype the record belongs to (`person:client`), when known. */
29
+ archetype?: string
30
+ op?: 'create' | 'update' | 'delete' | 'unknown'
31
+ /** Affected record id, when known. */
32
+ id?: string
33
+ /** What caused the write — lets a surface ignore its own UI writes. */
34
+ source?: 'agent' | 'ui' | 'remote'
35
+ }
36
+
37
+ /** What a subscriber renders. Any field left out matches everything. */
38
+ export interface DataChangedMatch {
39
+ table?: string
40
+ entityKey?: string
41
+ archetype?: string
42
+ }
43
+
44
+ /**
45
+ * A write with NO table/entityKey is a write we could not attribute (a plugin
46
+ * tool, an RPC). Subscribers still refresh for it: a redundant refetch costs a
47
+ * request, a missed one costs the user's trust in what the screen shows.
48
+ */
49
+ export function matchesDataChange(match: DataChangedMatch, payload: DataChangedPayload): boolean {
50
+ const attributed = payload.table ?? payload.entityKey ?? payload.archetype
51
+ if (!attributed) return true
52
+ if (match.table && payload.table && match.table === payload.table) return true
53
+ if (match.entityKey && payload.entityKey && match.entityKey === payload.entityKey) return true
54
+ if (match.archetype && payload.archetype && match.archetype === payload.archetype) return true
55
+ // A subscriber that declared nothing listens to everything.
56
+ return !match.table && !match.entityKey && !match.archetype
57
+ }
58
+
59
+ // One agent turn can write twice (create + link). Coalesce so the lists behind
60
+ // it fetch once, after the turn settles, instead of once per call.
61
+ let pending: DataChangedPayload[] = []
62
+ let flushTimer: ReturnType<typeof setTimeout> | null = null
63
+
64
+ function flush(): void {
65
+ const batch = pending
66
+ pending = []
67
+ flushTimer = null
68
+ for (const payload of batch) eventBus.emit(DATA_CHANGED_EVENT, payload)
69
+ }
70
+
71
+ /**
72
+ * Announce a write. Invalidates the provider read cache for the affected table
73
+ * (an unattributed write clears it wholesale — a stale hit would defeat the
74
+ * refetch it just triggered) and broadcasts to mounted surfaces.
75
+ */
76
+ export function emitDataChanged(payload: DataChangedPayload = {}): void {
77
+ if (payload.table) {
78
+ globalCache.invalidate(`${getActiveTenantId() ?? '_'}:${payload.table}`)
79
+ } else {
80
+ globalCache.clear()
81
+ }
82
+ pending.push({ op: 'unknown', source: 'agent', ...payload })
83
+ if (flushTimer) return
84
+ flushTimer = setTimeout(flush, 120)
85
+ }
86
+
87
+ /** Subscribe for the lifetime of the component. The latest handler always runs. */
88
+ export function useDataChanged(
89
+ match: DataChangedMatch,
90
+ handler: (payload: DataChangedPayload) => void,
91
+ deps: React.DependencyList = [],
92
+ ): void {
93
+ const handlerRef = React.useRef(handler)
94
+ handlerRef.current = handler
95
+ const { table, entityKey, archetype } = match
96
+
97
+ React.useEffect(
98
+ () =>
99
+ eventBus.on<DataChangedPayload>(DATA_CHANGED_EVENT, (payload) => {
100
+ if (matchesDataChange({ table, entityKey, archetype }, payload)) handlerRef.current(payload)
101
+ }),
102
+ // eslint-disable-next-line react-hooks/exhaustive-deps
103
+ [table, entityKey, archetype, ...deps],
104
+ )
105
+ }
@@ -82,8 +82,10 @@ export function createSupabaseProvider<T extends { id: string }>(
82
82
 
83
83
  return {
84
84
  async list(query: CrudQuery): Promise<CrudResult<T>> {
85
+ // 'none' skips PostgREST's count aggregate entirely — see CrudQuery.countMode.
86
+ const wantCount = query.countMode !== 'none'
85
87
  let q = (getClient().from(table) as { select: (...args: unknown[]) => unknown })
86
- .select(selectCols, { count: 'exact' }) as Record<string, unknown>
88
+ .select(selectCols, wantCount ? { count: 'exact' } : undefined) as Record<string, unknown>
87
89
 
88
90
  const tenantId = resolveTenantId()
89
91
  if (tenantId) q = (q as { eq: (col: string, val: string) => unknown }).eq(tenantIdCol, tenantId) as Record<string, unknown>
package/src/data/types.ts CHANGED
@@ -5,6 +5,12 @@ export interface CrudQuery {
5
5
  page?: number
6
6
  pageSize?: number
7
7
  filters?: Record<string, unknown>
8
+ /**
9
+ * Default 'exact' — a CRUD pager needs the total. It is a second aggregate
10
+ * over the filtered set, and on the live pool cost ~1070ms against ~270ms for
11
+ * the rows themselves. Callers that only want rows pass 'none' (total: 0).
12
+ */
13
+ countMode?: 'exact' | 'none'
8
14
  }
9
15
 
10
16
  export interface CrudResult<T> {
package/src/i18n/index.ts CHANGED
@@ -157,6 +157,7 @@ export const coreTranslations: Record<string, Record<string, string>> = {
157
157
  'settings.company': 'Company',
158
158
  'settings.branding': 'Branding',
159
159
  'settings.security': 'Security',
160
+ 'settings.sites': 'Sites',
160
161
  'settings.team': 'Team',
161
162
  'settings.billing': 'Billing',
162
163
  'settings.locations': 'Locations',
@@ -235,6 +236,7 @@ export const coreTranslations: Record<string, Record<string, string>> = {
235
236
  'settings.company': 'Empresa',
236
237
  'settings.branding': 'Identidade Visual',
237
238
  'settings.security': 'Segurança',
239
+ 'settings.sites': 'Sites',
238
240
  'settings.team': 'Equipe',
239
241
  'settings.billing': 'Faturamento',
240
242
  'settings.locations': 'Localizações',