@fayz-ai/core 0.8.2 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-SO3VUKGZ.cjs → chunk-CATASHPK.cjs} +117 -4
- package/dist/chunk-CATASHPK.cjs.map +1 -0
- package/dist/{chunk-JHGXROKV.js → chunk-DZALZ6Q6.js} +117 -4
- package/dist/chunk-DZALZ6Q6.js.map +1 -0
- package/dist/{chunk-CYAWDW44.cjs → chunk-KSI2L3E4.cjs} +6 -4
- package/dist/chunk-KSI2L3E4.cjs.map +1 -0
- package/dist/{chunk-XJKW2JRW.js → chunk-TYPVSWLG.js} +6 -4
- package/dist/chunk-TYPVSWLG.js.map +1 -0
- package/dist/data/archetype.d.ts.map +1 -1
- package/dist/data/index.cjs +12 -12
- package/dist/data/index.js +1 -1
- package/dist/data/refresh.d.ts +36 -0
- package/dist/data/refresh.d.ts.map +1 -0
- package/dist/data/supabase.d.ts.map +1 -1
- package/dist/data/types.d.ts +6 -0
- package/dist/data/types.d.ts.map +1 -1
- package/dist/i18n/index.cjs +10 -10
- package/dist/i18n/index.js +1 -1
- package/dist/i18n/shell-translations.d.ts.map +1 -1
- package/dist/index.cjs +697 -88
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +652 -59
- package/dist/index.js.map +1 -1
- package/dist/search/engine.d.ts +12 -0
- package/dist/search/engine.d.ts.map +1 -0
- package/dist/search/index.d.ts +5 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/text.d.ts +37 -0
- package/dist/search/text.d.ts.map +1 -0
- package/dist/search/types.d.ts +72 -0
- package/dist/search/types.d.ts.map +1 -0
- package/dist/types/org.d.ts +28 -0
- package/dist/types/org.d.ts.map +1 -1
- package/dist/types/plugins.d.ts +4 -0
- package/dist/types/plugins.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/data/archetype.ts +4 -2
- package/src/data/refresh.ts +105 -0
- package/src/data/supabase.ts +3 -1
- package/src/data/types.ts +6 -0
- package/src/i18n/shell-translations.ts +115 -2
- package/src/index.ts +19 -1
- package/src/search/engine.ts +551 -0
- package/src/search/index.ts +25 -0
- package/src/search/text.ts +206 -0
- package/src/search/types.ts +75 -0
- package/src/types/org.ts +29 -0
- package/src/types/plugins.ts +4 -0
- package/dist/chunk-CYAWDW44.cjs.map +0 -1
- package/dist/chunk-JHGXROKV.js.map +0 -1
- package/dist/chunk-SO3VUKGZ.cjs.map +0 -1
- package/dist/chunk-XJKW2JRW.js.map +0 -1
|
@@ -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"}
|
package/dist/types/org.d.ts
CHANGED
|
@@ -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[]>;
|
package/dist/types/org.d.ts.map
CHANGED
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAA;QACV,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,2CAA2C;QAC3C,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,OAAO,CAAA;IACvB,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC1F,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC5E,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAChD;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IACtE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtF,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACzD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7G,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7G,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACjG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACpG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtL"}
|
package/dist/types/plugins.d.ts
CHANGED
|
@@ -57,6 +57,10 @@ export interface PluginRouteDefinition {
|
|
|
57
57
|
permission?: PluginPermissionRequirement;
|
|
58
58
|
/** Render edge-to-edge with no page padding/animation wrapper (chat, kanban, canvas). */
|
|
59
59
|
fullBleed?: boolean;
|
|
60
|
+
/** Archetypes this page displays (`archetype` or `archetype:kind`, e.g.
|
|
61
|
+
* `'schedule:appointment'`). A CRUD page claims its own; a hand-built page
|
|
62
|
+
* must declare it or records it owns resolve to no route. */
|
|
63
|
+
entityRoutes?: string[];
|
|
60
64
|
}
|
|
61
65
|
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
66
|
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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAC3G,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAA;AAChF,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAA;AAE9E;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,cAAc,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE5F,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,2BAA2B,CAAA;IACxC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;mCAE+B;IAC/B,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,2BAA2B,CAAA;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,CAAA;IAC3D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,CAAC,EAAE,2BAA2B,CAAA;IACxC,yFAAyF;IACzF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;kEAE8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,sBAAsB,GACtB,oBAAoB,GACpB,kBAAkB,GAClB,aAAa,GACb,YAAY,GACZ,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEjB,eAAO,MAAM,UAAU;;;;;;;;;;CAUb,CAAA;AAEV,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,CAAC,EAAE,2BAA2B,EAAE,CAAA;IAC3C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAA;CAClD;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAClC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,2BAA2B,KAAK,OAAO,CAAA;CAC9D;AAED,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACvG,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,gBAAgB,CAAA;IACtB,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,2BAA2B,CAAA;IACxC,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAOD,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAA;AAErF;;;;iFAIiF;AACjF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,aAAa,GAAG,cAAc,CAAA;AAEtE,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClG,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAA;IACV,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,mBAAmB,CAAA;IACzB,iFAAiF;IACjF,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACpB,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,UAAU,CAAC,EAAE,2BAA2B,CAAA;IACxC,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,8EAA8E;AAC9E,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAClF;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,sBAAsB,CAAA;CAC/B;AAED;0EAC0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAA;CAClD;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,sDAAsD;IACtD,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAA;AAE3C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,uBAAuB,CAAA;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAA;IACnD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,UAAU,CAAA;CACxB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAAA;AAEvB;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,UAAU,CAAC,EAAE,2BAA2B,CAAA;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,CAAA;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qEAAqE;IACrE,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;QACrB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;KACf,CAAA;IACD,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf;wFACoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,qFAAqF;IACrF,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAA;IAChC,4EAA4E;IAC5E,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,qBAAqB,EAAE,CAAA;IACnC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC9B,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAC/B,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAClC,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACvC,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACjC,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAA;IACnC,uEAAuE;IACvE,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAA;IACpC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,GAAG,EAAE,MAAM,CAAA;QACX,MAAM,EAAE,SAAS,CAAA;QACjB,2EAA2E;QAC3E,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,CAAC,CAAA;IACF,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAClC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAA;IAC9B,yEAAyE;IACzE,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAChC,UAAU,CAAC,EAAE,gBAAgB,CAAA;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EACA,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,mBAAmB,GACnB,0BAA0B,CAAA;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,MAAM,EAAE,YAAY,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;IACjB,gBAAgB,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAA;IAClE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAA;IAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAA;IACjC,OAAO,EAAE,sBAAsB,EAAE,CAAA;IACjC,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;IACvC,eAAe,EAAE,YAAY,EAAE,CAAA;CAChC;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACrG,SAAQ,sBAAsB,CAAC,OAAO,CAAC;IACvC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,sBAAsB,CAAA;CAC/B;AAED,MAAM,WAAW,kBAAmB,SAAQ,qBAAqB;IAC/D,MAAM,EAAE,sBAAsB,CAAA;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,oBAAoB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,EAAE,CAAA;IACjC,aAAa,EAAE,sBAAsB,EAAE,CAAA;IACvC,MAAM,EAAE,kBAAkB,EAAE,CAAA;IAC5B,UAAU,EAAE,qBAAqB,EAAE,CAAA;IACnC,YAAY,EAAE,iBAAiB,EAAE,CAAA;IACjC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,gBAAgB,EAAE,uBAAuB,EAAE,CAAA;IAC3C,YAAY,EAAE,gBAAgB,EAAE,CAAA;IAChC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,MAAM,EAAE,kBAAkB,EAAE,CAAA;IAC5B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAA;IAC5C,wFAAwF;IACxF,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAA;IACpD,cAAc,EAAE,kBAAkB,EAAE,CAAA;IACpC,iFAAiF;IACjF,YAAY,EAAE,gBAAgB,EAAE,CAAA;CACjC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"fayz": {
|
|
4
4
|
"status": "beta"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.8.
|
|
6
|
+
"version": "0.8.3",
|
|
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.
|
|
91
|
+
"@fayz-ai/sdk": "^0.8.3"
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"@types/react": "^18.3.0",
|
package/src/data/archetype.ts
CHANGED
|
@@ -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('*',
|
|
114
|
-
: getClient().from(viewName).select('*',
|
|
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)
|
|
@@ -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
|
+
}
|
package/src/data/supabase.ts
CHANGED
|
@@ -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> {
|
|
@@ -308,6 +308,8 @@ export const shellTranslations: Record<string, Record<string, string>> = {
|
|
|
308
308
|
"upgrade.value.marketing": 'Campaigns, funnel and content to grow your client base.',
|
|
309
309
|
"upgrade.value.reports": 'Advanced reports and insights to make sharper decisions.',
|
|
310
310
|
"upgrade.value.fin_reconciliation": 'Reconcile payments and keep your cash flow under control.',
|
|
311
|
+
"upgrade.value.assistant": 'Your operations copilot — ask, analyze and act with AI.',
|
|
312
|
+
"upgrade.feature.assistant": 'AI Assistant',
|
|
311
313
|
"billing.unlimited": 'Unlimited',
|
|
312
314
|
"billing.upTo": 'Up to {count}',
|
|
313
315
|
"limit.label.clients": 'clients',
|
|
@@ -326,6 +328,7 @@ export const shellTranslations: Record<string, Record<string, string>> = {
|
|
|
326
328
|
"limit.label.leads": 'leads',
|
|
327
329
|
"limit.label.quotes": 'quotes',
|
|
328
330
|
"limit.label.conversations_month": 'monthly conversations',
|
|
331
|
+
"limit.label.ai_credits_month": 'AI credits per month',
|
|
329
332
|
"limit.label.recipes": 'recipes',
|
|
330
333
|
"limit.label.form_templates": 'form templates',
|
|
331
334
|
"limit.label.documents_month": 'monthly documents',
|
|
@@ -415,16 +418,71 @@ export const shellTranslations: Record<string, Record<string, string>> = {
|
|
|
415
418
|
"chat.defaultTitle": "Assistant",
|
|
416
419
|
"chat.tryAsking": "Try asking",
|
|
417
420
|
"chat.fab.tryIt": "Try it",
|
|
418
|
-
"chat.
|
|
421
|
+
"chat.fab.dismiss": "Don't show suggestions here",
|
|
422
|
+
"chat.fab.open": "Open assistant",
|
|
423
|
+
"chat.fab.close": "Close assistant",
|
|
424
|
+
"chat.messagePlaceholder": "How can I help?",
|
|
425
|
+
"chat.send": "Send message",
|
|
419
426
|
"chat.notConfigured": "Assistant not configured — set chat.apiEndpoint to enable conversations.",
|
|
427
|
+
"chat.unavailable": "Assistant unavailable",
|
|
428
|
+
"chat.greeting": "How can I help?",
|
|
429
|
+
"chat.greetingNamed": "Hi {{name}}, how can I help?",
|
|
430
|
+
"chat.greetingHint": "Ask in plain words, or tap the mic and just say it.",
|
|
431
|
+
"chat.status.ready": "Ready",
|
|
432
|
+
"chat.status.working": "Working on it...",
|
|
433
|
+
"chat.status.offline": "Not connected",
|
|
434
|
+
"chat.jumpToLatest": "Latest",
|
|
420
435
|
"chat.confirmAction.title": "Confirm this action?",
|
|
421
436
|
"chat.confirmAction.confirm": "Confirm",
|
|
422
437
|
"chat.confirmAction.cancel": "Cancel",
|
|
438
|
+
"chat.confirmAction.always": "Always allow",
|
|
439
|
+
"chat.confirmAction.alwaysSession": "Allow this session",
|
|
440
|
+
"chat.confirmAction.alwaysHint": "Stop asking before \"{{label}}\"",
|
|
441
|
+
"chat.confirmAction.autoApproved": "auto",
|
|
442
|
+
"chat.confirmAction.autoApprovedHint": "Ran without asking — you allowed this action",
|
|
423
443
|
"chat.confirmAction.blocked": "Respond to the confirmation above first",
|
|
444
|
+
"chat.confirmAction.showAll": "Add more fields ({{count}})",
|
|
445
|
+
"chat.confirmAction.showLess": "Show fewer fields",
|
|
446
|
+
// What a write ACTUALLY does, in the operator's words. The confirmation card
|
|
447
|
+
// looks up `chat.tool.<toolName>`; a tool with no entry falls back to its
|
|
448
|
+
// humanized name, never to the model-facing description.
|
|
449
|
+
"chat.tool.createAppointment": "Book an appointment",
|
|
450
|
+
"chat.tool.createRecord": "Create record",
|
|
451
|
+
"chat.tool.updateRecord": "Update record",
|
|
452
|
+
"chat.tool.deleteRecord": "Delete record",
|
|
453
|
+
"chat.tool.createOrder": "Create order",
|
|
454
|
+
"chat.tool.createInvoice": "Create invoice",
|
|
455
|
+
"chat.tool.markPaymentReceived": "Mark payment as received",
|
|
456
|
+
"chat.tool.createCampaign": "Create campaign",
|
|
457
|
+
"chat.tool.sendMessage": "Send message",
|
|
458
|
+
"chat.tool.seatGuests": "Seat guests",
|
|
459
|
+
"chat.tool.toggleMenuItemAvailability": "Change item availability",
|
|
460
|
+
"chat.autoApprovals.title": "Auto-approved actions",
|
|
461
|
+
"chat.autoApprovals.revoke": "Ask me again",
|
|
462
|
+
"chat.autoApprovals.revokeAll": "Ask for everything",
|
|
463
|
+
"chat.suggestions.show": "Show suggestions",
|
|
464
|
+
"chat.suggestions.hide": "Hide suggestions",
|
|
465
|
+
"chat.voice.start": "Speak",
|
|
466
|
+
"chat.voice.stop": "Stop recording",
|
|
467
|
+
"chat.voice.listening": "Listening — speak now",
|
|
468
|
+
"chat.voice.transcribing": "Transcribing...",
|
|
469
|
+
"chat.voice.denied": "Microphone blocked. Allow access in your browser settings.",
|
|
470
|
+
"chat.voice.network": "Could not reach the transcription service.",
|
|
471
|
+
"chat.voice.failed": "Could not hear that — try again.",
|
|
472
|
+
"chat.voice.speakOn": "Speak replies out loud",
|
|
473
|
+
"chat.voice.speakOff": "Mute spoken replies",
|
|
424
474
|
"chat.signingIn": "One moment — still confirming your session.",
|
|
425
475
|
"chat.history": "Previous conversations",
|
|
476
|
+
"chat.history.search": "Search conversations",
|
|
477
|
+
"chat.history.empty": "No conversations found.",
|
|
478
|
+
"chat.history.today": "Today",
|
|
479
|
+
"chat.history.yesterday": "Yesterday",
|
|
480
|
+
"chat.history.week": "Last 7 days",
|
|
481
|
+
"chat.history.older": "Earlier",
|
|
426
482
|
"chat.newConversation": "New conversation",
|
|
427
483
|
"chat.untitledConversation": "Untitled conversation",
|
|
484
|
+
"chat.recentConversations": "Recent",
|
|
485
|
+
"chat.backToConversations": "Back to conversations",
|
|
428
486
|
"chat.renameConversation": "Rename",
|
|
429
487
|
"chat.saveTitle": "Save title",
|
|
430
488
|
"chat.toolsAvailable": "{{count}} tools available",
|
|
@@ -1079,6 +1137,8 @@ export const shellTranslations: Record<string, Record<string, string>> = {
|
|
|
1079
1137
|
"upgrade.value.marketing": 'Campanhas, funil e conteúdo para crescer sua base de clientes.',
|
|
1080
1138
|
"upgrade.value.reports": 'Relatórios avançados e insights para decidir com mais precisão.',
|
|
1081
1139
|
"upgrade.value.fin_reconciliation": 'Concilie pagamentos e mantenha seu fluxo de caixa sob controle.',
|
|
1140
|
+
"upgrade.value.assistant": 'Seu copiloto de operações — pergunte, analise e aja com IA.',
|
|
1141
|
+
"upgrade.feature.assistant": 'Assistente de IA',
|
|
1082
1142
|
"billing.unlimited": 'Ilimitado',
|
|
1083
1143
|
"billing.upTo": 'Até {count}',
|
|
1084
1144
|
"limit.label.clients": 'clientes',
|
|
@@ -1088,6 +1148,7 @@ export const shellTranslations: Record<string, Record<string, string>> = {
|
|
|
1088
1148
|
"limit.label.leads": 'leads',
|
|
1089
1149
|
"limit.label.quotes": 'orçamentos',
|
|
1090
1150
|
"limit.label.conversations_month": 'conversas mensais',
|
|
1151
|
+
"limit.label.ai_credits_month": 'créditos de IA por mês',
|
|
1091
1152
|
"limit.label.recipes": 'receitas',
|
|
1092
1153
|
"limit.label.form_templates": 'modelos de formulário',
|
|
1093
1154
|
"limit.label.documents_month": 'documentos mensais',
|
|
@@ -1273,16 +1334,68 @@ export const shellTranslations: Record<string, Record<string, string>> = {
|
|
|
1273
1334
|
"chat.defaultTitle": "Assistente",
|
|
1274
1335
|
"chat.tryAsking": "Experimente perguntar",
|
|
1275
1336
|
"chat.fab.tryIt": "Experimente",
|
|
1276
|
-
"chat.
|
|
1337
|
+
"chat.fab.dismiss": "Não mostrar sugestões aqui",
|
|
1338
|
+
"chat.fab.open": "Abrir assistente",
|
|
1339
|
+
"chat.fab.close": "Fechar assistente",
|
|
1340
|
+
"chat.messagePlaceholder": "Como posso ajudar?",
|
|
1341
|
+
"chat.send": "Enviar mensagem",
|
|
1277
1342
|
"chat.notConfigured": "Assistente não configurado — defina chat.apiEndpoint para habilitar conversas.",
|
|
1343
|
+
"chat.unavailable": "Assistente indisponível",
|
|
1344
|
+
"chat.greeting": "Como posso ajudar?",
|
|
1345
|
+
"chat.greetingNamed": "Oi {{name}}, como posso ajudar?",
|
|
1346
|
+
"chat.greetingHint": "Peça com suas palavras, ou toque no microfone e fale.",
|
|
1347
|
+
"chat.status.ready": "Pronto",
|
|
1348
|
+
"chat.status.working": "Trabalhando nisso...",
|
|
1349
|
+
"chat.status.offline": "Sem conexão",
|
|
1350
|
+
"chat.jumpToLatest": "Ir para o fim",
|
|
1278
1351
|
"chat.confirmAction.title": "Confirmar esta ação?",
|
|
1279
1352
|
"chat.confirmAction.confirm": "Confirmar",
|
|
1280
1353
|
"chat.confirmAction.cancel": "Cancelar",
|
|
1354
|
+
"chat.confirmAction.always": "Sempre permitir",
|
|
1355
|
+
"chat.confirmAction.alwaysSession": "Permitir nesta sessão",
|
|
1356
|
+
"chat.confirmAction.alwaysHint": "Parar de perguntar antes de \"{{label}}\"",
|
|
1357
|
+
"chat.confirmAction.autoApproved": "auto",
|
|
1358
|
+
"chat.confirmAction.autoApprovedHint": "Executado sem perguntar — você liberou esta ação",
|
|
1281
1359
|
"chat.confirmAction.blocked": "Responda a confirmação acima primeiro",
|
|
1360
|
+
"chat.confirmAction.showAll": "Preencher mais campos ({{count}})",
|
|
1361
|
+
"chat.confirmAction.showLess": "Mostrar menos campos",
|
|
1362
|
+
"chat.tool.createAppointment": "Marcar horário",
|
|
1363
|
+
"chat.tool.createRecord": "Criar registro",
|
|
1364
|
+
"chat.tool.updateRecord": "Atualizar registro",
|
|
1365
|
+
"chat.tool.deleteRecord": "Excluir registro",
|
|
1366
|
+
"chat.tool.createOrder": "Criar pedido",
|
|
1367
|
+
"chat.tool.createInvoice": "Emitir cobrança",
|
|
1368
|
+
"chat.tool.markPaymentReceived": "Marcar pagamento como recebido",
|
|
1369
|
+
"chat.tool.createCampaign": "Criar campanha",
|
|
1370
|
+
"chat.tool.sendMessage": "Enviar mensagem",
|
|
1371
|
+
"chat.tool.seatGuests": "Acomodar clientes",
|
|
1372
|
+
"chat.tool.toggleMenuItemAvailability": "Alterar disponibilidade do item",
|
|
1373
|
+
"chat.autoApprovals.title": "Ações liberadas",
|
|
1374
|
+
"chat.autoApprovals.revoke": "Voltar a perguntar",
|
|
1375
|
+
"chat.autoApprovals.revokeAll": "Perguntar sempre",
|
|
1376
|
+
"chat.suggestions.show": "Mostrar sugestões",
|
|
1377
|
+
"chat.suggestions.hide": "Ocultar sugestões",
|
|
1378
|
+
"chat.voice.start": "Falar",
|
|
1379
|
+
"chat.voice.stop": "Parar gravação",
|
|
1380
|
+
"chat.voice.listening": "Ouvindo — pode falar",
|
|
1381
|
+
"chat.voice.transcribing": "Transcrevendo...",
|
|
1382
|
+
"chat.voice.denied": "Microfone bloqueado. Libere o acesso nas configurações do navegador.",
|
|
1383
|
+
"chat.voice.network": "Não consegui falar com o serviço de transcrição.",
|
|
1384
|
+
"chat.voice.failed": "Não consegui entender — tente de novo.",
|
|
1385
|
+
"chat.voice.speakOn": "Responder em voz alta",
|
|
1386
|
+
"chat.voice.speakOff": "Silenciar respostas faladas",
|
|
1282
1387
|
"chat.signingIn": "Um instante — ainda estou confirmando sua sessão.",
|
|
1283
1388
|
"chat.history": "Conversas anteriores",
|
|
1389
|
+
"chat.history.search": "Buscar conversas",
|
|
1390
|
+
"chat.history.empty": "Nenhuma conversa encontrada.",
|
|
1391
|
+
"chat.history.today": "Hoje",
|
|
1392
|
+
"chat.history.yesterday": "Ontem",
|
|
1393
|
+
"chat.history.week": "Últimos 7 dias",
|
|
1394
|
+
"chat.history.older": "Mais antigas",
|
|
1284
1395
|
"chat.newConversation": "Nova conversa",
|
|
1285
1396
|
"chat.untitledConversation": "Conversa sem título",
|
|
1397
|
+
"chat.recentConversations": "Recentes",
|
|
1398
|
+
"chat.backToConversations": "Voltar para as conversas",
|
|
1286
1399
|
"chat.renameConversation": "Renomear",
|
|
1287
1400
|
"chat.saveTitle": "Salvar título",
|
|
1288
1401
|
"chat.toolsAvailable": "{{count}} ferramentas disponíveis",
|