@fias/arche-sdk 2.0.1 → 2.2.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.
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Plugin font API.
3
+ *
4
+ * The platform vendors a catalog of fonts to its CDN and the host page
5
+ * injects their `@font-face` declarations into every plugin iframe up
6
+ * front (the `.woff2` bytes stay lazy — a face only downloads when a
7
+ * glyph in it is actually painted). A plugin therefore just:
8
+ *
9
+ * 1. lists the catalog (`FONT_CATALOG` / `useFiasFonts().fonts`) to
10
+ * build a picker, and
11
+ * 2. uses any `family` name in normal CSS / canvas text.
12
+ *
13
+ * For canvas / PDF rendering, call `ensureFontLoaded(family)` first and
14
+ * `await` it — `<canvas>` (and Konva, Fabric, jsPDF html) measure glyph
15
+ * metrics synchronously, so painting before the bytes land rasterizes the
16
+ * fallback face. This is the SDK's only font responsibility; there is no
17
+ * URL composition or `<link>` injection in plugin code (the host owns the
18
+ * CDN and the `@font-face`).
19
+ *
20
+ * Distinct from `./themes/fonts` (`FONT_PAIRINGS`), which groups a few
21
+ * families into curated heading/body theme pairings.
22
+ */
23
+ import { FONT_CATALOG, type FontCatalogEntry, type FontCategory } from './generated/fonts';
24
+ export { FONT_CATALOG };
25
+ export type { FontCatalogEntry, FontCategory };
26
+ /**
27
+ * Resolve once `family`'s bytes are ready to paint on a canvas. Never
28
+ * rejects: resolves immediately for system fonts and non-browser
29
+ * environments, and resolves on a {@link FONT_READY_TIMEOUT_MS} timeout if
30
+ * the CDN is slow or blocked — so callers can always `await` without a
31
+ * `try`/`catch`. Idempotent: re-calling for an already-loaded font
32
+ * resolves instantly (the browser caches the face).
33
+ */
34
+ export declare function ensureFontLoaded(family: string, sizePx?: number): Promise<void>;
35
+ export interface FiasFontsApi {
36
+ /** Every platform font available to the plugin (sorted by family). */
37
+ fonts: readonly FontCatalogEntry[];
38
+ /**
39
+ * Resolve once `family`'s bytes are ready to paint (canvas / PDF safe).
40
+ * Never rejects; resolves on a 3s timeout if the CDN is unreachable.
41
+ */
42
+ ensureFontLoaded: (family: string, sizePx?: number) => Promise<void>;
43
+ }
44
+ /**
45
+ * Access the platform font catalog and the canvas-safe font loader.
46
+ *
47
+ * ```tsx
48
+ * const { fonts, ensureFontLoaded } = useFiasFonts();
49
+ * // build a picker from `fonts`, then before drawing to a canvas:
50
+ * await ensureFontLoaded(selectedFamily);
51
+ * ```
52
+ */
53
+ export declare function useFiasFonts(): FiasFontsApi;
54
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE3F,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC;AAc/C;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB3E;AAoBD,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnC;;;OAGG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAE3C"}
package/dist/fonts.js ADDED
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * Plugin font API.
4
+ *
5
+ * The platform vendors a catalog of fonts to its CDN and the host page
6
+ * injects their `@font-face` declarations into every plugin iframe up
7
+ * front (the `.woff2` bytes stay lazy — a face only downloads when a
8
+ * glyph in it is actually painted). A plugin therefore just:
9
+ *
10
+ * 1. lists the catalog (`FONT_CATALOG` / `useFiasFonts().fonts`) to
11
+ * build a picker, and
12
+ * 2. uses any `family` name in normal CSS / canvas text.
13
+ *
14
+ * For canvas / PDF rendering, call `ensureFontLoaded(family)` first and
15
+ * `await` it — `<canvas>` (and Konva, Fabric, jsPDF html) measure glyph
16
+ * metrics synchronously, so painting before the bytes land rasterizes the
17
+ * fallback face. This is the SDK's only font responsibility; there is no
18
+ * URL composition or `<link>` injection in plugin code (the host owns the
19
+ * CDN and the `@font-face`).
20
+ *
21
+ * Distinct from `./themes/fonts` (`FONT_PAIRINGS`), which groups a few
22
+ * families into curated heading/body theme pairings.
23
+ */
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.FONT_CATALOG = void 0;
26
+ exports.ensureFontLoaded = ensureFontLoaded;
27
+ exports.useFiasFonts = useFiasFonts;
28
+ const react_1 = require("react");
29
+ const fonts_1 = require("./generated/fonts");
30
+ Object.defineProperty(exports, "FONT_CATALOG", { enumerable: true, get: function () { return fonts_1.FONT_CATALOG; } });
31
+ /** OS-resident families resolve instantly — no `@font-face`, no fetch. */
32
+ const SYSTEM_FAMILIES = new Set(fonts_1.FONT_CATALOG.filter((f) => f.system).map((f) => f.family));
33
+ /**
34
+ * How long to wait for a font's bytes before resolving anyway. Some
35
+ * networks / ad-blockers silently stall the CDN fetch; without a bound,
36
+ * `document.fonts.load` callers (e.g. an export that awaits every font)
37
+ * would hang. On timeout the caller proceeds with whatever face is
38
+ * currently resolvable — the same resolution shape as success.
39
+ */
40
+ const FONT_READY_TIMEOUT_MS = 3000;
41
+ /**
42
+ * Resolve once `family`'s bytes are ready to paint on a canvas. Never
43
+ * rejects: resolves immediately for system fonts and non-browser
44
+ * environments, and resolves on a {@link FONT_READY_TIMEOUT_MS} timeout if
45
+ * the CDN is slow or blocked — so callers can always `await` without a
46
+ * `try`/`catch`. Idempotent: re-calling for an already-loaded font
47
+ * resolves instantly (the browser caches the face).
48
+ */
49
+ function ensureFontLoaded(family, sizePx = 16) {
50
+ // SSR / unit tests with no DOM.
51
+ if (typeof document === 'undefined')
52
+ return Promise.resolve();
53
+ // OS fonts are always available; the host injects no @font-face for them.
54
+ if (SYSTEM_FAMILIES.has(family))
55
+ return Promise.resolve();
56
+ const fonts = document.fonts;
57
+ if (!fonts || typeof fonts.load !== 'function')
58
+ return Promise.resolve();
59
+ return raceWithTimeout(
60
+ // The host-injected @font-face is already registered with
61
+ // document.fonts, so this kicks the byte fetch and resolves when it
62
+ // lands. Swallow rejections — a blocked fetch keeps the fallback face.
63
+ fonts.load(`${sizePx}px "${family}"`).then(() => undefined, () => undefined), FONT_READY_TIMEOUT_MS);
64
+ }
65
+ /** Resolve when `promise` settles OR `ms` elapses, whichever is first.
66
+ * Never rejects. */
67
+ function raceWithTimeout(promise, ms) {
68
+ return new Promise((resolve) => {
69
+ let settled = false;
70
+ const done = () => {
71
+ if (settled)
72
+ return;
73
+ settled = true;
74
+ resolve();
75
+ };
76
+ const timer = setTimeout(done, ms);
77
+ void Promise.resolve(promise).finally(() => {
78
+ clearTimeout(timer);
79
+ done();
80
+ });
81
+ });
82
+ }
83
+ /**
84
+ * Access the platform font catalog and the canvas-safe font loader.
85
+ *
86
+ * ```tsx
87
+ * const { fonts, ensureFontLoaded } = useFiasFonts();
88
+ * // build a picker from `fonts`, then before drawing to a canvas:
89
+ * await ensureFontLoaded(selectedFamily);
90
+ * ```
91
+ */
92
+ function useFiasFonts() {
93
+ return (0, react_1.useMemo)(() => ({ fonts: fonts_1.FONT_CATALOG, ensureFontLoaded }), []);
94
+ }
95
+ //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../src/fonts.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AA4BH,4CAiBC;AAuCD,oCAEC;AApFD,iCAAgC;AAChC,6CAA2F;AAElF,6FAFA,oBAAY,OAEA;AAGrB,0EAA0E;AAC1E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,oBAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3F;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,MAAc,EAAE,MAAM,GAAG,EAAE;IAC1D,gCAAgC;IAChC,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9D,0EAA0E;IAC1E,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAI,QAA+C,CAAC,KAAK,CAAC;IACrE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACzE,OAAO,eAAe;IACpB,0DAA0D;IAC1D,oEAAoE;IACpE,uEAAuE;IACvE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,OAAO,MAAM,GAAG,CAAC,CAAC,IAAI,CACxC,GAAG,EAAE,CAAC,SAAS,EACf,GAAG,EAAE,CAAC,SAAS,CAChB,EACD,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;qBACqB;AACrB,SAAS,eAAe,CAAC,OAAyB,EAAE,EAAU;IAC5D,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,KAAK,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACzC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,EAAE,CAAC;QACT,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAYD;;;;;;;;GAQG;AACH,SAAgB,YAAY;IAC1B,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAY,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tests for the plugin font API (`./fonts`).
3
+ *
4
+ * jest runs in the `node` environment (no DOM), so the document-backed
5
+ * paths are exercised by installing a fake `globalThis.document.fonts`.
6
+ * `useMemo` is mocked to invoke its factory synchronously.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=fonts.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.test.d.ts","sourceRoot":"","sources":["../src/fonts.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * Tests for the plugin font API (`./fonts`).
4
+ *
5
+ * jest runs in the `node` environment (no DOM), so the document-backed
6
+ * paths are exercised by installing a fake `globalThis.document.fonts`.
7
+ * `useMemo` is mocked to invoke its factory synchronously.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ jest.mock('react', () => ({ useMemo: (fn) => fn() }));
11
+ const fonts_1 = require("./fonts");
12
+ function setFakeDocument(load) {
13
+ globalThis.document = { fonts: { load } };
14
+ }
15
+ function clearFakeDocument() {
16
+ delete globalThis.document;
17
+ }
18
+ afterEach(() => {
19
+ clearFakeDocument();
20
+ jest.useRealTimers();
21
+ });
22
+ describe('FONT_CATALOG', () => {
23
+ it('is a non-empty list of well-formed entries', () => {
24
+ expect(fonts_1.FONT_CATALOG.length).toBeGreaterThan(20);
25
+ for (const f of fonts_1.FONT_CATALOG) {
26
+ expect(typeof f.family).toBe('string');
27
+ expect(f.family.length).toBeGreaterThan(0);
28
+ expect(typeof f.displayName).toBe('string');
29
+ expect(['sans', 'serif', 'display', 'mono', 'handwriting', 'system']).toContain(f.category);
30
+ expect(typeof f.system).toBe('boolean');
31
+ }
32
+ });
33
+ it('includes vendored web fonts and at least one OS/system font', () => {
34
+ expect(fonts_1.FONT_CATALOG.some((f) => !f.system)).toBe(true);
35
+ expect(fonts_1.FONT_CATALOG.some((f) => f.system)).toBe(true);
36
+ });
37
+ });
38
+ describe('ensureFontLoaded', () => {
39
+ it('resolves immediately when there is no DOM (SSR / node)', async () => {
40
+ clearFakeDocument();
41
+ await expect((0, fonts_1.ensureFontLoaded)('Nunito')).resolves.toBeUndefined();
42
+ });
43
+ it('short-circuits system fonts without calling document.fonts.load', async () => {
44
+ const load = jest.fn(() => {
45
+ throw new Error('should not be called for system fonts');
46
+ });
47
+ setFakeDocument(load);
48
+ const systemFamily = fonts_1.FONT_CATALOG.find((f) => f.system).family;
49
+ await expect((0, fonts_1.ensureFontLoaded)(systemFamily)).resolves.toBeUndefined();
50
+ expect(load).not.toHaveBeenCalled();
51
+ });
52
+ it('calls document.fonts.load for a vendored family and resolves', async () => {
53
+ const load = jest.fn(() => Promise.resolve([]));
54
+ setFakeDocument(load);
55
+ await expect((0, fonts_1.ensureFontLoaded)('Nunito', 24)).resolves.toBeUndefined();
56
+ expect(load).toHaveBeenCalledWith('24px "Nunito"');
57
+ });
58
+ it('never rejects even if document.fonts.load rejects (blocked CDN)', async () => {
59
+ const load = jest.fn(() => Promise.reject(new Error('network blocked')));
60
+ setFakeDocument(load);
61
+ await expect((0, fonts_1.ensureFontLoaded)('Nunito')).resolves.toBeUndefined();
62
+ });
63
+ it('resolves on the timeout when the byte fetch hangs', async () => {
64
+ jest.useFakeTimers();
65
+ const load = jest.fn(() => new Promise(() => { })); // never settles
66
+ setFakeDocument(load);
67
+ let resolved = false;
68
+ void (0, fonts_1.ensureFontLoaded)('Nunito').then(() => {
69
+ resolved = true;
70
+ });
71
+ await jest.advanceTimersByTimeAsync(3000);
72
+ expect(resolved).toBe(true);
73
+ });
74
+ it('resolves when document.fonts has no load() function', async () => {
75
+ globalThis.document = { fonts: {} };
76
+ await expect((0, fonts_1.ensureFontLoaded)('Nunito')).resolves.toBeUndefined();
77
+ });
78
+ });
79
+ describe('useFiasFonts', () => {
80
+ it('returns the catalog and a loader', () => {
81
+ const api = (0, fonts_1.useFiasFonts)();
82
+ expect(api.fonts).toBe(fonts_1.FONT_CATALOG);
83
+ expect(typeof api.ensureFontLoaded).toBe('function');
84
+ });
85
+ });
86
+ //# sourceMappingURL=fonts.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.test.js","sourceRoot":"","sources":["../src/fonts.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Generated by `pnpm generate:sdk-types` — DO NOT EDIT BY HAND.
3
+ *
4
+ * Flat catalog of the fonts the platform vendors to its CDN and injects
5
+ * into every plugin iframe (see `useFiasFonts`). Sourced from
6
+ * `@fias/platform-resources` at generation time and baked in so the SDK
7
+ * keeps zero runtime dependencies — it ships inside plugin iframes and
8
+ * must stay bundle-clean.
9
+ *
10
+ * `tests/architecture/sdk-generated-types-fresh.test.ts` fails CI if this
11
+ * file drifts from the catalog.
12
+ */
13
+ export type FontCategory = 'sans' | 'serif' | 'display' | 'mono' | 'handwriting' | 'system';
14
+ export interface FontCatalogEntry {
15
+ /** CSS `font-family` name — use in styles and pass to `ensureFontLoaded`. */
16
+ family: string;
17
+ /** Human-readable label for font pickers. */
18
+ displayName: string;
19
+ category: FontCategory;
20
+ /**
21
+ * `true` for OS-resident fonts (Arial, Georgia, …): always available,
22
+ * no `@font-face` is injected and `ensureFontLoaded` resolves instantly.
23
+ */
24
+ system: boolean;
25
+ }
26
+ /** Every platform font available to plugins, sorted by family name. */
27
+ export declare const FONT_CATALOG: readonly FontCatalogEntry[];
28
+ //# sourceMappingURL=fonts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.d.ts","sourceRoot":"","sources":["../../src/generated/fonts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE5F,MAAM,WAAW,gBAAgB;IAC/B,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;IACvB;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,uEAAuE;AACvE,eAAO,MAAM,YAAY,EAAE,SAAS,gBAAgB,EAgH1C,CAAC"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ /**
3
+ * Generated by `pnpm generate:sdk-types` — DO NOT EDIT BY HAND.
4
+ *
5
+ * Flat catalog of the fonts the platform vendors to its CDN and injects
6
+ * into every plugin iframe (see `useFiasFonts`). Sourced from
7
+ * `@fias/platform-resources` at generation time and baked in so the SDK
8
+ * keeps zero runtime dependencies — it ships inside plugin iframes and
9
+ * must stay bundle-clean.
10
+ *
11
+ * `tests/architecture/sdk-generated-types-fresh.test.ts` fails CI if this
12
+ * file drifts from the catalog.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.FONT_CATALOG = void 0;
16
+ /** Every platform font available to plugins, sorted by family name. */
17
+ exports.FONT_CATALOG = [
18
+ { family: 'Abril Fatface', displayName: 'Abril Fatface', category: 'display', system: false },
19
+ { family: 'Anton', displayName: 'Anton', category: 'display', system: false },
20
+ { family: 'Archivo Black', displayName: 'Archivo Black', category: 'display', system: false },
21
+ { family: 'Arial', displayName: 'Arial', category: 'sans', system: true },
22
+ { family: 'Assistant', displayName: 'Assistant', category: 'sans', system: false },
23
+ {
24
+ family: 'Atkinson Hyperlegible',
25
+ displayName: 'Atkinson Hyperlegible',
26
+ category: 'sans',
27
+ system: false,
28
+ },
29
+ { family: 'Barlow', displayName: 'Barlow', category: 'sans', system: false },
30
+ { family: 'Bebas Neue', displayName: 'Bebas Neue', category: 'display', system: false },
31
+ { family: 'Bitter', displayName: 'Bitter', category: 'serif', system: false },
32
+ { family: 'Cabin', displayName: 'Cabin', category: 'sans', system: false },
33
+ { family: 'Cardo', displayName: 'Cardo', category: 'serif', system: false },
34
+ { family: 'Caveat', displayName: 'Caveat', category: 'handwriting', system: false },
35
+ { family: 'Cinzel', displayName: 'Cinzel', category: 'serif', system: false },
36
+ { family: 'Comfortaa', displayName: 'Comfortaa', category: 'display', system: false },
37
+ {
38
+ family: 'Cormorant Garamond',
39
+ displayName: 'Cormorant Garamond',
40
+ category: 'serif',
41
+ system: false,
42
+ },
43
+ { family: 'Courier New', displayName: 'Courier New', category: 'mono', system: true },
44
+ { family: 'Crimson Pro', displayName: 'Crimson Pro', category: 'serif', system: false },
45
+ {
46
+ family: 'Dancing Script',
47
+ displayName: 'Dancing Script',
48
+ category: 'handwriting',
49
+ system: false,
50
+ },
51
+ { family: 'DM Mono', displayName: 'DM Mono', category: 'mono', system: false },
52
+ { family: 'DM Sans', displayName: 'DM Sans', category: 'sans', system: false },
53
+ { family: 'EB Garamond', displayName: 'EB Garamond', category: 'serif', system: false },
54
+ { family: 'Fira Code', displayName: 'Fira Code', category: 'mono', system: false },
55
+ { family: 'Fragment Mono', displayName: 'Fragment Mono', category: 'mono', system: false },
56
+ { family: 'Fredoka', displayName: 'Fredoka', category: 'display', system: false },
57
+ { family: 'Georgia', displayName: 'Georgia', category: 'serif', system: true },
58
+ { family: 'Great Vibes', displayName: 'Great Vibes', category: 'handwriting', system: false },
59
+ { family: 'Helvetica', displayName: 'Helvetica', category: 'sans', system: true },
60
+ { family: 'IBM Plex Mono', displayName: 'IBM Plex Mono', category: 'mono', system: false },
61
+ { family: 'Inconsolata', displayName: 'Inconsolata', category: 'mono', system: false },
62
+ { family: 'Indie Flower', displayName: 'Indie Flower', category: 'handwriting', system: false },
63
+ { family: 'Inter', displayName: 'Inter', category: 'sans', system: false },
64
+ { family: 'JetBrains Mono', displayName: 'JetBrains Mono', category: 'mono', system: false },
65
+ { family: 'Kalam', displayName: 'Kalam', category: 'handwriting', system: false },
66
+ { family: 'Karla', displayName: 'Karla', category: 'sans', system: false },
67
+ { family: 'Lato', displayName: 'Lato', category: 'sans', system: false },
68
+ { family: 'Lexend', displayName: 'Lexend', category: 'sans', system: false },
69
+ {
70
+ family: 'Libre Baskerville',
71
+ displayName: 'Libre Baskerville',
72
+ category: 'serif',
73
+ system: false,
74
+ },
75
+ { family: 'Lobster', displayName: 'Lobster', category: 'display', system: false },
76
+ { family: 'Lora', displayName: 'Lora', category: 'serif', system: false },
77
+ { family: 'Manrope', displayName: 'Manrope', category: 'sans', system: false },
78
+ { family: 'Merriweather', displayName: 'Merriweather', category: 'serif', system: false },
79
+ { family: 'Montserrat', displayName: 'Montserrat', category: 'sans', system: false },
80
+ { family: 'Mulish', displayName: 'Mulish', category: 'sans', system: false },
81
+ { family: 'Nunito', displayName: 'Nunito', category: 'sans', system: false },
82
+ { family: 'Nunito Sans', displayName: 'Nunito Sans', category: 'sans', system: false },
83
+ { family: 'Open Sans', displayName: 'Open Sans', category: 'sans', system: false },
84
+ { family: 'Oswald', displayName: 'Oswald', category: 'sans', system: false },
85
+ { family: 'Outfit', displayName: 'Outfit', category: 'sans', system: false },
86
+ { family: 'Pacifico', displayName: 'Pacifico', category: 'display', system: false },
87
+ { family: 'Patua One', displayName: 'Patua One', category: 'display', system: false },
88
+ {
89
+ family: 'Permanent Marker',
90
+ displayName: 'Permanent Marker',
91
+ category: 'display',
92
+ system: false,
93
+ },
94
+ { family: 'Playfair Display', displayName: 'Playfair Display', category: 'serif', system: false },
95
+ {
96
+ family: 'Plus Jakarta Sans',
97
+ displayName: 'Plus Jakarta Sans',
98
+ category: 'sans',
99
+ system: false,
100
+ },
101
+ { family: 'Poppins', displayName: 'Poppins', category: 'sans', system: false },
102
+ { family: 'PT Serif', displayName: 'PT Serif', category: 'serif', system: false },
103
+ { family: 'Quicksand', displayName: 'Quicksand', category: 'sans', system: false },
104
+ { family: 'Raleway', displayName: 'Raleway', category: 'sans', system: false },
105
+ { family: 'Righteous', displayName: 'Righteous', category: 'display', system: false },
106
+ { family: 'Roboto', displayName: 'Roboto', category: 'sans', system: false },
107
+ { family: 'Roboto Mono', displayName: 'Roboto Mono', category: 'mono', system: false },
108
+ { family: 'Rubik', displayName: 'Rubik', category: 'sans', system: false },
109
+ { family: 'Russo One', displayName: 'Russo One', category: 'display', system: false },
110
+ { family: 'Sacramento', displayName: 'Sacramento', category: 'handwriting', system: false },
111
+ { family: 'Satisfy', displayName: 'Satisfy', category: 'handwriting', system: false },
112
+ {
113
+ family: 'Shadows Into Light',
114
+ displayName: 'Shadows Into Light',
115
+ category: 'handwriting',
116
+ system: false,
117
+ },
118
+ { family: 'Sora', displayName: 'Sora', category: 'sans', system: false },
119
+ { family: 'Source Code Pro', displayName: 'Source Code Pro', category: 'mono', system: false },
120
+ { family: 'Source Sans 3', displayName: 'Source Sans 3', category: 'sans', system: false },
121
+ { family: 'Source Serif 4', displayName: 'Source Serif 4', category: 'serif', system: false },
122
+ { family: 'Space Grotesk', displayName: 'Space Grotesk', category: 'sans', system: false },
123
+ { family: 'Space Mono', displayName: 'Space Mono', category: 'mono', system: false },
124
+ { family: 'Spectral', displayName: 'Spectral', category: 'serif', system: false },
125
+ { family: 'Times New Roman', displayName: 'Times New Roman', category: 'serif', system: true },
126
+ { family: 'Ubuntu Mono', displayName: 'Ubuntu Mono', category: 'mono', system: false },
127
+ { family: 'Verdana', displayName: 'Verdana', category: 'sans', system: true },
128
+ { family: 'Work Sans', displayName: 'Work Sans', category: 'sans', system: false },
129
+ ];
130
+ //# sourceMappingURL=fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fonts.js","sourceRoot":"","sources":["../../src/generated/fonts.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,7 +8,9 @@ export { THEME_CATALOG, getThemeById } from './themes';
8
8
  export type { ThemeCatalogEntry } from './themes';
9
9
  export { FONT_PAIRINGS, getFontPairingById } from './themes/fonts';
10
10
  export type { FontFamilyRef, FontPairing } from './themes/fonts';
11
+ export { FONT_CATALOG, ensureFontLoaded, useFiasFonts } from './fonts';
12
+ export type { FontCatalogEntry, FontCategory, FiasFontsApi } from './fonts';
11
13
  export { FiasBridge, getBridge, resetBridge } from './bridge';
12
14
  export { SDK_BRIDGE_PROTOCOL_VERSION, SDK_REQUIRES_HOST_PROTOCOL_VERSION } from './protocol';
13
- export type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, EntityInvocationParams, EntityInvocationResult, ImageGenerationApi, ImageGenerationParams, ImageGenerationResult, ImageMode, ImageStyle, ImageProvider, ImageEntitySelector, ImageEntityFilter, ImageEntitySummary, BackgroundRemovalApi, ImageRemoveBackgroundResult, AudioGenerationApi, AudioGenerationParams, AudioGenerationResult, AudioType, MusicAudioGenerationParams, FiasNavigationApi, StepNavigationApi, StepNavigationOptions, FiasDataStoreApi, DataStoreCollection, DataStoreDocument, DataStoreQueryFilter, DataStoreQueryOptions, DataStoreQueryResult, FiasStoreApi, StoreProduct, StoreProductType, StoreSubscriptionPeriod, StoreEntitlement, StorePurchase, StorePurchaseResult, StorePurchaseOptions, VaultDocumentsApi, VaultDocumentSummary, VaultDocumentsListOptions, VaultDocumentsListResult, VaultDocumentDownloadUrl, VaultDocumentWriteParams, VaultDocumentUpdateParams, VaultDocumentSensitivity, VaultDocumentReferenceTargetType, VaultDocumentSearchOptions, VaultDocumentSearchMatch, VaultDocumentSearchResult, VaultDocumentUploadParams, VaultDocumentUploadInitResult, VaultDocumentUploadResult, VaultDocumentReferenceResult, ArcheAsset, ArcheAssetsApi, ArcheAssetsListOptions, ArcheAssetsListResult, PluginPermission, BridgeMessage, BridgeResponse, BridgeInitMessage, PluginToHostMessageType, HostToPluginMessageType, } from './types';
15
+ export type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, EntityInvocationParams, EntityInvocationResult, TextEntitySelector, TextCapabilityId, ImageGenerationApi, ImageGenerationParams, ImageGenerationResult, ImageMode, ImageStyle, ImageProvider, ImageEntitySelector, ImageEntityFilter, ImageEntitySummary, BackgroundRemovalApi, ImageRemoveBackgroundResult, AudioGenerationApi, AudioGenerationParams, AudioGenerationResult, AudioType, MusicAudioGenerationParams, FiasNavigationApi, StepNavigationApi, StepNavigationOptions, FiasDataStoreApi, DataStoreCollection, DataStoreDocument, DataStoreQueryFilter, DataStoreQueryOptions, DataStoreQueryResult, FiasStoreApi, StoreProduct, StoreProductType, StoreSubscriptionPeriod, StoreEntitlement, StorePurchase, StorePurchaseResult, StorePurchaseOptions, VaultDocumentsApi, VaultDocumentSummary, VaultDocumentsListOptions, VaultDocumentsListResult, VaultDocumentDownloadUrl, VaultDocumentWriteParams, VaultDocumentUpdateParams, VaultDocumentSensitivity, VaultDocumentReferenceTargetType, VaultDocumentSearchOptions, VaultDocumentSearchMatch, VaultDocumentSearchResult, VaultDocumentUploadParams, VaultDocumentUploadInitResult, VaultDocumentUploadResult, VaultDocumentReferenceResult, ArcheAsset, ArcheAssetsApi, ArcheAssetsListOptions, ArcheAssetsListResult, PluginPermission, BridgeMessage, BridgeResponse, BridgeInitMessage, PluginToHostMessageType, HostToPluginMessageType, } from './types';
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,GACf,MAAM,SAAS,CAAC;AAIjB,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAG7F,YAAY,EAEV,QAAQ,EACR,SAAS,EAET,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EAEtB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAErB,SAAS,EACT,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAElB,oBAAoB,EACpB,2BAA2B,EAE3B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,0BAA0B,EAE1B,iBAAiB,EAEjB,iBAAiB,EACjB,qBAAqB,EAErB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EAEpB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAE5B,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,gBAAgB,EAEhB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,GACf,MAAM,SAAS,CAAC;AAIjB,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKjE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,kCAAkC,EAAE,MAAM,YAAY,CAAC;AAG7F,YAAY,EAEV,QAAQ,EACR,SAAS,EAET,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAEhB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAErB,SAAS,EACT,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAElB,oBAAoB,EACpB,2BAA2B,EAE3B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,0BAA0B,EAE1B,iBAAiB,EAEjB,iBAAiB,EACjB,qBAAqB,EAErB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EAEpB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAE5B,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EAErB,gBAAgB,EAEhB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SDK_REQUIRES_HOST_PROTOCOL_VERSION = exports.SDK_BRIDGE_PROTOCOL_VERSION = exports.resetBridge = exports.getBridge = exports.FiasBridge = exports.getFontPairingById = exports.FONT_PAIRINGS = exports.getThemeById = exports.THEME_CATALOG = exports.getDefaultTheme = exports.LIGHT_THEME = exports.DARK_THEME = exports.fias = exports.isValidPluginPermission = exports.VALID_PLUGIN_PERMISSIONS = exports.useArcheAssets = exports.fetchVaultDocumentDownloadUrl = exports.useVaultDocuments = exports.useFiasStore = exports.useFiasDataStore = exports.usePersistentState = exports.useStepNavigation = exports.useFiasNavigation = exports.useSurface = exports.useAudioGeneration = exports.useBackgroundRemoval = exports.useImageEntities = exports.useImageGeneration = exports.useEntityInvocation = exports.useFiasStorage = exports.useFiasTheme = exports.useFiasUser = exports.FiasProvider = void 0;
17
+ exports.SDK_REQUIRES_HOST_PROTOCOL_VERSION = exports.SDK_BRIDGE_PROTOCOL_VERSION = exports.resetBridge = exports.getBridge = exports.FiasBridge = exports.useFiasFonts = exports.ensureFontLoaded = exports.FONT_CATALOG = exports.getFontPairingById = exports.FONT_PAIRINGS = exports.getThemeById = exports.THEME_CATALOG = exports.getDefaultTheme = exports.LIGHT_THEME = exports.DARK_THEME = exports.fias = exports.isValidPluginPermission = exports.VALID_PLUGIN_PERMISSIONS = exports.useArcheAssets = exports.fetchVaultDocumentDownloadUrl = exports.useVaultDocuments = exports.useFiasStore = exports.useFiasDataStore = exports.usePersistentState = exports.useStepNavigation = exports.useFiasNavigation = exports.useSurface = exports.useAudioGeneration = exports.useBackgroundRemoval = exports.useImageEntities = exports.useImageGeneration = exports.useEntityInvocation = exports.useFiasStorage = exports.useFiasTheme = exports.useFiasUser = exports.FiasProvider = void 0;
18
18
  // Components
19
19
  var provider_1 = require("./provider");
20
20
  Object.defineProperty(exports, "FiasProvider", { enumerable: true, get: function () { return provider_1.FiasProvider; } });
@@ -60,6 +60,13 @@ Object.defineProperty(exports, "getThemeById", { enumerable: true, get: function
60
60
  var fonts_1 = require("./themes/fonts");
61
61
  Object.defineProperty(exports, "FONT_PAIRINGS", { enumerable: true, get: function () { return fonts_1.FONT_PAIRINGS; } });
62
62
  Object.defineProperty(exports, "getFontPairingById", { enumerable: true, get: function () { return fonts_1.getFontPairingById; } });
63
+ // Plugin font API — catalog + canvas-safe loader + hook. The host injects
64
+ // every catalog font's @font-face into the plugin iframe; this exposes the
65
+ // list and a loader to await byte-readiness before canvas/PDF rendering.
66
+ var fonts_2 = require("./fonts");
67
+ Object.defineProperty(exports, "FONT_CATALOG", { enumerable: true, get: function () { return fonts_2.FONT_CATALOG; } });
68
+ Object.defineProperty(exports, "ensureFontLoaded", { enumerable: true, get: function () { return fonts_2.ensureFontLoaded; } });
69
+ Object.defineProperty(exports, "useFiasFonts", { enumerable: true, get: function () { return fonts_2.useFiasFonts; } });
63
70
  // Bridge (advanced usage / testing)
64
71
  var bridge_1 = require("./bridge");
65
72
  Object.defineProperty(exports, "FiasBridge", { enumerable: true, get: function () { return bridge_1.FiasBridge; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AAErB,QAAQ;AACR,iCAkBiB;AAjBf,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AACnB,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,6GAAA,oBAAoB,OAAA;AACpB,2GAAA,kBAAkB,OAAA;AAClB,mGAAA,UAAU,OAAA;AACV,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,0GAAA,iBAAiB,OAAA;AACjB,sHAAA,6BAA6B,OAAA;AAC7B,uGAAA,cAAc,OAAA;AAGhB,mEAAmE;AACnE,+DAA+D;AAC/D,uDAAqC;AAErC,8EAA8E;AAC9E,uDAA4F;AAAnF,uHAAA,wBAAwB,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAE1D,YAAY;AACZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,kBAAkB;AAClB,iCAAmE;AAA1D,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEjD,gBAAgB;AAChB,mCAAuD;AAA9C,uGAAA,aAAa,OAAA;AAAE,sGAAA,YAAY,OAAA;AAGpC,gBAAgB;AAChB,wCAAmE;AAA1D,sGAAA,aAAa,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAG1C,oCAAoC;AACpC,mCAA8D;AAArD,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC3C,uCAA6F;AAApF,uHAAA,2BAA2B,OAAA;AAAE,8HAAA,kCAAkC,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,aAAa;AACb,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AAErB,QAAQ;AACR,iCAkBiB;AAjBf,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AACnB,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,6GAAA,oBAAoB,OAAA;AACpB,2GAAA,kBAAkB,OAAA;AAClB,mGAAA,UAAU,OAAA;AACV,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AACZ,0GAAA,iBAAiB,OAAA;AACjB,sHAAA,6BAA6B,OAAA;AAC7B,uGAAA,cAAc,OAAA;AAGhB,mEAAmE;AACnE,+DAA+D;AAC/D,uDAAqC;AAErC,8EAA8E;AAC9E,uDAA4F;AAAnF,uHAAA,wBAAwB,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AAE1D,YAAY;AACZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,kBAAkB;AAClB,iCAAmE;AAA1D,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEjD,gBAAgB;AAChB,mCAAuD;AAA9C,uGAAA,aAAa,OAAA;AAAE,sGAAA,YAAY,OAAA;AAGpC,gBAAgB;AAChB,wCAAmE;AAA1D,sGAAA,aAAa,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAG1C,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,iCAAuE;AAA9D,qGAAA,YAAY,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,qGAAA,YAAY,OAAA;AAGrD,oCAAoC;AACpC,mCAA8D;AAArD,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAC3C,uCAA6F;AAApF,uHAAA,2BAA2B,OAAA;AAAE,8HAAA,kCAAkC,OAAA"}
package/dist/index.mjs CHANGED
@@ -3023,6 +3023,162 @@ var FONT_PAIRINGS = [
3023
3023
  function getFontPairingById(id) {
3024
3024
  return FONT_PAIRINGS.find((f) => f.id === id) ?? FONT_PAIRINGS[0];
3025
3025
  }
3026
+
3027
+ // src/fonts.ts
3028
+ import { useMemo as useMemo3 } from "react";
3029
+
3030
+ // src/generated/fonts.ts
3031
+ var FONT_CATALOG = [
3032
+ { family: "Abril Fatface", displayName: "Abril Fatface", category: "display", system: false },
3033
+ { family: "Anton", displayName: "Anton", category: "display", system: false },
3034
+ { family: "Archivo Black", displayName: "Archivo Black", category: "display", system: false },
3035
+ { family: "Arial", displayName: "Arial", category: "sans", system: true },
3036
+ { family: "Assistant", displayName: "Assistant", category: "sans", system: false },
3037
+ {
3038
+ family: "Atkinson Hyperlegible",
3039
+ displayName: "Atkinson Hyperlegible",
3040
+ category: "sans",
3041
+ system: false
3042
+ },
3043
+ { family: "Barlow", displayName: "Barlow", category: "sans", system: false },
3044
+ { family: "Bebas Neue", displayName: "Bebas Neue", category: "display", system: false },
3045
+ { family: "Bitter", displayName: "Bitter", category: "serif", system: false },
3046
+ { family: "Cabin", displayName: "Cabin", category: "sans", system: false },
3047
+ { family: "Cardo", displayName: "Cardo", category: "serif", system: false },
3048
+ { family: "Caveat", displayName: "Caveat", category: "handwriting", system: false },
3049
+ { family: "Cinzel", displayName: "Cinzel", category: "serif", system: false },
3050
+ { family: "Comfortaa", displayName: "Comfortaa", category: "display", system: false },
3051
+ {
3052
+ family: "Cormorant Garamond",
3053
+ displayName: "Cormorant Garamond",
3054
+ category: "serif",
3055
+ system: false
3056
+ },
3057
+ { family: "Courier New", displayName: "Courier New", category: "mono", system: true },
3058
+ { family: "Crimson Pro", displayName: "Crimson Pro", category: "serif", system: false },
3059
+ {
3060
+ family: "Dancing Script",
3061
+ displayName: "Dancing Script",
3062
+ category: "handwriting",
3063
+ system: false
3064
+ },
3065
+ { family: "DM Mono", displayName: "DM Mono", category: "mono", system: false },
3066
+ { family: "DM Sans", displayName: "DM Sans", category: "sans", system: false },
3067
+ { family: "EB Garamond", displayName: "EB Garamond", category: "serif", system: false },
3068
+ { family: "Fira Code", displayName: "Fira Code", category: "mono", system: false },
3069
+ { family: "Fragment Mono", displayName: "Fragment Mono", category: "mono", system: false },
3070
+ { family: "Fredoka", displayName: "Fredoka", category: "display", system: false },
3071
+ { family: "Georgia", displayName: "Georgia", category: "serif", system: true },
3072
+ { family: "Great Vibes", displayName: "Great Vibes", category: "handwriting", system: false },
3073
+ { family: "Helvetica", displayName: "Helvetica", category: "sans", system: true },
3074
+ { family: "IBM Plex Mono", displayName: "IBM Plex Mono", category: "mono", system: false },
3075
+ { family: "Inconsolata", displayName: "Inconsolata", category: "mono", system: false },
3076
+ { family: "Indie Flower", displayName: "Indie Flower", category: "handwriting", system: false },
3077
+ { family: "Inter", displayName: "Inter", category: "sans", system: false },
3078
+ { family: "JetBrains Mono", displayName: "JetBrains Mono", category: "mono", system: false },
3079
+ { family: "Kalam", displayName: "Kalam", category: "handwriting", system: false },
3080
+ { family: "Karla", displayName: "Karla", category: "sans", system: false },
3081
+ { family: "Lato", displayName: "Lato", category: "sans", system: false },
3082
+ { family: "Lexend", displayName: "Lexend", category: "sans", system: false },
3083
+ {
3084
+ family: "Libre Baskerville",
3085
+ displayName: "Libre Baskerville",
3086
+ category: "serif",
3087
+ system: false
3088
+ },
3089
+ { family: "Lobster", displayName: "Lobster", category: "display", system: false },
3090
+ { family: "Lora", displayName: "Lora", category: "serif", system: false },
3091
+ { family: "Manrope", displayName: "Manrope", category: "sans", system: false },
3092
+ { family: "Merriweather", displayName: "Merriweather", category: "serif", system: false },
3093
+ { family: "Montserrat", displayName: "Montserrat", category: "sans", system: false },
3094
+ { family: "Mulish", displayName: "Mulish", category: "sans", system: false },
3095
+ { family: "Nunito", displayName: "Nunito", category: "sans", system: false },
3096
+ { family: "Nunito Sans", displayName: "Nunito Sans", category: "sans", system: false },
3097
+ { family: "Open Sans", displayName: "Open Sans", category: "sans", system: false },
3098
+ { family: "Oswald", displayName: "Oswald", category: "sans", system: false },
3099
+ { family: "Outfit", displayName: "Outfit", category: "sans", system: false },
3100
+ { family: "Pacifico", displayName: "Pacifico", category: "display", system: false },
3101
+ { family: "Patua One", displayName: "Patua One", category: "display", system: false },
3102
+ {
3103
+ family: "Permanent Marker",
3104
+ displayName: "Permanent Marker",
3105
+ category: "display",
3106
+ system: false
3107
+ },
3108
+ { family: "Playfair Display", displayName: "Playfair Display", category: "serif", system: false },
3109
+ {
3110
+ family: "Plus Jakarta Sans",
3111
+ displayName: "Plus Jakarta Sans",
3112
+ category: "sans",
3113
+ system: false
3114
+ },
3115
+ { family: "Poppins", displayName: "Poppins", category: "sans", system: false },
3116
+ { family: "PT Serif", displayName: "PT Serif", category: "serif", system: false },
3117
+ { family: "Quicksand", displayName: "Quicksand", category: "sans", system: false },
3118
+ { family: "Raleway", displayName: "Raleway", category: "sans", system: false },
3119
+ { family: "Righteous", displayName: "Righteous", category: "display", system: false },
3120
+ { family: "Roboto", displayName: "Roboto", category: "sans", system: false },
3121
+ { family: "Roboto Mono", displayName: "Roboto Mono", category: "mono", system: false },
3122
+ { family: "Rubik", displayName: "Rubik", category: "sans", system: false },
3123
+ { family: "Russo One", displayName: "Russo One", category: "display", system: false },
3124
+ { family: "Sacramento", displayName: "Sacramento", category: "handwriting", system: false },
3125
+ { family: "Satisfy", displayName: "Satisfy", category: "handwriting", system: false },
3126
+ {
3127
+ family: "Shadows Into Light",
3128
+ displayName: "Shadows Into Light",
3129
+ category: "handwriting",
3130
+ system: false
3131
+ },
3132
+ { family: "Sora", displayName: "Sora", category: "sans", system: false },
3133
+ { family: "Source Code Pro", displayName: "Source Code Pro", category: "mono", system: false },
3134
+ { family: "Source Sans 3", displayName: "Source Sans 3", category: "sans", system: false },
3135
+ { family: "Source Serif 4", displayName: "Source Serif 4", category: "serif", system: false },
3136
+ { family: "Space Grotesk", displayName: "Space Grotesk", category: "sans", system: false },
3137
+ { family: "Space Mono", displayName: "Space Mono", category: "mono", system: false },
3138
+ { family: "Spectral", displayName: "Spectral", category: "serif", system: false },
3139
+ { family: "Times New Roman", displayName: "Times New Roman", category: "serif", system: true },
3140
+ { family: "Ubuntu Mono", displayName: "Ubuntu Mono", category: "mono", system: false },
3141
+ { family: "Verdana", displayName: "Verdana", category: "sans", system: true },
3142
+ { family: "Work Sans", displayName: "Work Sans", category: "sans", system: false }
3143
+ ];
3144
+
3145
+ // src/fonts.ts
3146
+ var SYSTEM_FAMILIES = new Set(FONT_CATALOG.filter((f) => f.system).map((f) => f.family));
3147
+ var FONT_READY_TIMEOUT_MS = 3e3;
3148
+ function ensureFontLoaded(family, sizePx = 16) {
3149
+ if (typeof document === "undefined") return Promise.resolve();
3150
+ if (SYSTEM_FAMILIES.has(family)) return Promise.resolve();
3151
+ const fonts = document.fonts;
3152
+ if (!fonts || typeof fonts.load !== "function") return Promise.resolve();
3153
+ return raceWithTimeout(
3154
+ // The host-injected @font-face is already registered with
3155
+ // document.fonts, so this kicks the byte fetch and resolves when it
3156
+ // lands. Swallow rejections — a blocked fetch keeps the fallback face.
3157
+ fonts.load(`${sizePx}px "${family}"`).then(
3158
+ () => void 0,
3159
+ () => void 0
3160
+ ),
3161
+ FONT_READY_TIMEOUT_MS
3162
+ );
3163
+ }
3164
+ function raceWithTimeout(promise, ms) {
3165
+ return new Promise((resolve) => {
3166
+ let settled = false;
3167
+ const done = () => {
3168
+ if (settled) return;
3169
+ settled = true;
3170
+ resolve();
3171
+ };
3172
+ const timer = setTimeout(done, ms);
3173
+ void Promise.resolve(promise).finally(() => {
3174
+ clearTimeout(timer);
3175
+ done();
3176
+ });
3177
+ });
3178
+ }
3179
+ function useFiasFonts() {
3180
+ return useMemo3(() => ({ fonts: FONT_CATALOG, ensureFontLoaded }), []);
3181
+ }
3026
3182
  export {
3027
3183
  AUDIO_AUDIO_ISOLATION_SURFACE_KEY,
3028
3184
  AUDIO_FORCED_ALIGNMENT_SURFACE_KEY,
@@ -3034,6 +3190,7 @@ export {
3034
3190
  AUDIO_VOICE_CHANGER_SURFACE_KEY,
3035
3191
  AUDIO_VOICE_DESIGN_SURFACE_KEY,
3036
3192
  DARK_THEME,
3193
+ FONT_CATALOG,
3037
3194
  FONT_PAIRINGS,
3038
3195
  FiasBridge,
3039
3196
  FiasProvider,
@@ -3042,6 +3199,7 @@ export {
3042
3199
  SDK_REQUIRES_HOST_PROTOCOL_VERSION,
3043
3200
  THEME_CATALOG,
3044
3201
  VALID_PLUGIN_PERMISSIONS,
3202
+ ensureFontLoaded,
3045
3203
  fetchVaultDocumentDownloadUrl,
3046
3204
  fias,
3047
3205
  getBridge,
@@ -3063,6 +3221,7 @@ export {
3063
3221
  useElevenLabsVoiceDesign,
3064
3222
  useEntityInvocation,
3065
3223
  useFiasDataStore,
3224
+ useFiasFonts,
3066
3225
  useFiasNavigation,
3067
3226
  useFiasStorage,
3068
3227
  useFiasStore,
package/dist/types.d.ts CHANGED
@@ -95,12 +95,38 @@ export interface EntityInvocationApi {
95
95
  */
96
96
  streamingText: string;
97
97
  }
98
+ /**
99
+ * How a plugin picks a text model for `useEntityInvocation({ entityId, ... })`:
100
+ *
101
+ * - **string**: a model-definition / ai-router entity id, OR a `configId`
102
+ * from the plugin's declared aiConfigs.
103
+ * - **`{ capability: 'text-fast' | 'text-standard' | 'text-advanced' }`**: a
104
+ * platform text-capability. The platform resolves it to the current model
105
+ * and re-points it when a model is sunsetted — your plugin never breaks.
106
+ * The right default when you just need "a fast/standard/advanced text model".
107
+ */
108
+ /**
109
+ * Stable platform text-capability ids. The server-side catalog is the source
110
+ * of truth; this union is a versioned mirror — adding a capability is an SDK
111
+ * release. Runtime validation stays defensive regardless.
112
+ */
113
+ export type TextCapabilityId = 'text-fast' | 'text-standard' | 'text-advanced';
114
+ export type TextEntitySelector = string | {
115
+ capability: TextCapabilityId;
116
+ };
98
117
  export interface EntityInvocationParams {
99
- entityId: string;
118
+ entityId: TextEntitySelector;
100
119
  input: string;
101
120
  parameters?: Record<string, unknown>;
102
121
  /** System prompt to send to the AI model. The arche/plugin provides context; the entity provides the capability. */
103
122
  systemPrompt?: string;
123
+ /**
124
+ * Tier preference when invoking the AI router entity (dynamic, per-query
125
+ * model selection). 'auto' (default) routes by query complexity; 'cost'/
126
+ * 'speed' bias toward the fast tier, 'balanced'/'performance' toward higher
127
+ * tiers. Ignored for a specific model id or a `{ capability }` selector.
128
+ */
129
+ routingPreference?: 'auto' | 'speed' | 'balanced' | 'performance' | 'cost';
104
130
  }
105
131
  /**
106
132
  * What an image model can DO — the workflow axis. Required when filtering or
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fias/arche-sdk",
3
- "version": "2.0.1",
3
+ "version": "2.2.0",
4
4
  "description": "SDK for building FIAS platform plugin arches",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -63,6 +63,55 @@ function MyComponent() {
63
63
  - `fonts`: `{ body, heading, mono }` (font-family strings)
64
64
  - `components`: `{ borderRadius, buttonRadius, cardRadius, inputRadius, shadowSm, shadowMd, shadowLg, borderWidth }`
65
65
 
66
+ ### `useFiasFonts()` — Platform font catalog
67
+
68
+ **Permission:** none
69
+ **Returns:** `{ fonts, ensureFontLoaded }`
70
+
71
+ The platform vendors a catalog of fonts and injects every family's
72
+ `@font-face` into your plugin iframe automatically (the `.woff2` bytes
73
+ load lazily, only when a glyph is actually painted). So you can use any
74
+ catalog `family` name directly in CSS — no `<link>`, no `@import`, no
75
+ bundled font files, and **no Google Fonts** (those are blocked by the
76
+ plugin CSP). Build a font picker from `fonts`:
77
+
78
+ ```tsx
79
+ import { useFiasFonts } from '@fias/arche-sdk';
80
+
81
+ function FontPicker({ value, onChange }: { value: string; onChange: (f: string) => void }) {
82
+ const { fonts } = useFiasFonts();
83
+ return (
84
+ <select value={value} onChange={(e) => onChange(e.target.value)} style={{ fontFamily: value }}>
85
+ {fonts.map((f) => (
86
+ <option key={f.family} value={f.family} style={{ fontFamily: f.family }}>
87
+ {f.displayName}
88
+ </option>
89
+ ))}
90
+ </select>
91
+ );
92
+ }
93
+ ```
94
+
95
+ - `fonts`: `FontCatalogEntry[]` — `{ family, displayName, category, system }`.
96
+ `category` is one of `sans | serif | display | mono | handwriting | system`;
97
+ `system: true` marks OS fonts (always available, no web font needed).
98
+ - `ensureFontLoaded(family, sizePx?)`: `Promise<void>` — **canvas / PDF only.**
99
+ Normal DOM text needs nothing (the browser fetches the face when it
100
+ paints). But `<canvas>` (incl. Konva / Fabric) and PDF exporters measure
101
+ glyph metrics synchronously, so they rasterize the fallback face if the
102
+ bytes aren't in yet. Call and `await` this before drawing. It never
103
+ rejects, resolves instantly for already-loaded / system fonts, and
104
+ resolves after a 3s timeout if the CDN is unreachable.
105
+
106
+ ```tsx
107
+ const { ensureFontLoaded } = useFiasFonts();
108
+ await ensureFontLoaded(selectedFamily); // then draw to the canvas
109
+ ```
110
+
111
+ `FONT_CATALOG` and `ensureFontLoaded` are also exported standalone for use
112
+ outside React (e.g. an export routine). For curated heading/body theme
113
+ pairings instead of the flat catalog, see `FONT_PAIRINGS`.
114
+
66
115
  ### `useFiasUser()` — Current user profile
67
116
 
68
117
  **Permission:** `user:profile:read`
@@ -175,7 +224,7 @@ function AISummarizer() {
175
224
 
176
225
  async function summarize(text: string) {
177
226
  await invoke({
178
- entityId: 'ent_fias_ai', // the AI model capability
227
+ entityId: { capability: 'text-standard' }, // a platform text capability — see "Choosing a text model" below
179
228
  input: text, // what to process
180
229
  systemPrompt: 'You are a concise summarizer. Return a 2-3 sentence summary.',
181
230
  });
@@ -198,7 +247,44 @@ function AISummarizer() {
198
247
  }
199
248
  ```
200
249
 
201
- The `entityId` references a published model entity. Browse available models with `npx fias-dev entities`. The `systemPrompt` tells the AI how to behave — this is where your plugin's intelligence lives.
250
+ The `systemPrompt` tells the AI how to behave — this is where your plugin's intelligence lives.
251
+
252
+ #### Choosing a text model
253
+
254
+ The `entityId` parameter accepts three forms. **Prefer the capability selector** over a hardcoded model id: the platform's models evolve and get retired, and a capability lets your plugin pick up the current best model automatically without a code edit. When the platform retires the model behind a capability, it re-points the capability — your plugin keeps working.
255
+
256
+ ```tsx
257
+ // 1. By capability (recommended) — resolved to the platform's current model
258
+ // for that tier, and re-pointed automatically if that model is retired.
259
+ await invoke({
260
+ entityId: { capability: 'text-standard' }, // 'text-fast' | 'text-standard' | 'text-advanced'
261
+ input,
262
+ systemPrompt: '...',
263
+ });
264
+
265
+ // 2. AI router — let the platform pick a model per request based on the
266
+ // query's complexity. Optionally bias the tier with routingPreference.
267
+ await invoke({
268
+ entityId: 'ent_fias_ai',
269
+ input,
270
+ systemPrompt: '...',
271
+ routingPreference: 'cost', // 'auto' (default) | 'speed' | 'cost' | 'balanced' | 'performance'
272
+ });
273
+
274
+ // 3. A specific model id (back-compat) — pins one model. It will stop working
275
+ // if that model is retired; use a capability for retirement resilience.
276
+ await invoke({ entityId: 'ent_modeldef_haiku_45', input, systemPrompt: '...' });
277
+ ```
278
+
279
+ The text capabilities:
280
+
281
+ | Capability | Use it for |
282
+ | --------------- | ---------------------------------------------------------------------------- |
283
+ | `text-fast` | Cheapest, fastest — classification, extraction, short responses, high volume |
284
+ | `text-standard` | Balanced, general-purpose text generation (the sensible default) |
285
+ | `text-advanced` | Most capable — complex reasoning, nuanced writing, long-form output |
286
+
287
+ Browse specific models with `npx fias-dev entities`.
202
288
 
203
289
  ### `useImageGeneration()` — Generate images via AI models
204
290
 
@@ -63,6 +63,55 @@ function MyComponent() {
63
63
  - `fonts`: `{ body, heading, mono }` (font-family strings)
64
64
  - `components`: `{ borderRadius, buttonRadius, cardRadius, inputRadius, shadowSm, shadowMd, shadowLg, borderWidth }`
65
65
 
66
+ ### `useFiasFonts()` — Platform font catalog
67
+
68
+ **Permission:** none
69
+ **Returns:** `{ fonts, ensureFontLoaded }`
70
+
71
+ The platform vendors a catalog of fonts and injects every family's
72
+ `@font-face` into your plugin iframe automatically (the `.woff2` bytes
73
+ load lazily, only when a glyph is actually painted). So you can use any
74
+ catalog `family` name directly in CSS — no `<link>`, no `@import`, no
75
+ bundled font files, and **no Google Fonts** (those are blocked by the
76
+ plugin CSP). Build a font picker from `fonts`:
77
+
78
+ ```tsx
79
+ import { useFiasFonts } from '@fias/arche-sdk';
80
+
81
+ function FontPicker({ value, onChange }: { value: string; onChange: (f: string) => void }) {
82
+ const { fonts } = useFiasFonts();
83
+ return (
84
+ <select value={value} onChange={(e) => onChange(e.target.value)} style={{ fontFamily: value }}>
85
+ {fonts.map((f) => (
86
+ <option key={f.family} value={f.family} style={{ fontFamily: f.family }}>
87
+ {f.displayName}
88
+ </option>
89
+ ))}
90
+ </select>
91
+ );
92
+ }
93
+ ```
94
+
95
+ - `fonts`: `FontCatalogEntry[]` — `{ family, displayName, category, system }`.
96
+ `category` is one of `sans | serif | display | mono | handwriting | system`;
97
+ `system: true` marks OS fonts (always available, no web font needed).
98
+ - `ensureFontLoaded(family, sizePx?)`: `Promise<void>` — **canvas / PDF only.**
99
+ Normal DOM text needs nothing (the browser fetches the face when it
100
+ paints). But `<canvas>` (incl. Konva / Fabric) and PDF exporters measure
101
+ glyph metrics synchronously, so they rasterize the fallback face if the
102
+ bytes aren't in yet. Call and `await` this before drawing. It never
103
+ rejects, resolves instantly for already-loaded / system fonts, and
104
+ resolves after a 3s timeout if the CDN is unreachable.
105
+
106
+ ```tsx
107
+ const { ensureFontLoaded } = useFiasFonts();
108
+ await ensureFontLoaded(selectedFamily); // then draw to the canvas
109
+ ```
110
+
111
+ `FONT_CATALOG` and `ensureFontLoaded` are also exported standalone for use
112
+ outside React (e.g. an export routine). For curated heading/body theme
113
+ pairings instead of the flat catalog, see `FONT_PAIRINGS`.
114
+
66
115
  ### `useFiasUser()` — Current user profile
67
116
 
68
117
  **Permission:** `user:profile:read`
@@ -175,7 +224,7 @@ function AISummarizer() {
175
224
 
176
225
  async function summarize(text: string) {
177
226
  await invoke({
178
- entityId: 'ent_fias_ai', // the AI model capability
227
+ entityId: { capability: 'text-standard' }, // a platform text capability — see "Choosing a text model" below
179
228
  input: text, // what to process
180
229
  systemPrompt: 'You are a concise summarizer. Return a 2-3 sentence summary.',
181
230
  });
@@ -198,7 +247,44 @@ function AISummarizer() {
198
247
  }
199
248
  ```
200
249
 
201
- The `entityId` references a published model entity. Browse available models with `npx fias-dev entities`. The `systemPrompt` tells the AI how to behave — this is where your plugin's intelligence lives.
250
+ The `systemPrompt` tells the AI how to behave — this is where your plugin's intelligence lives.
251
+
252
+ #### Choosing a text model
253
+
254
+ The `entityId` parameter accepts three forms. **Prefer the capability selector** over a hardcoded model id: the platform's models evolve and get retired, and a capability lets your plugin pick up the current best model automatically without a code edit. When the platform retires the model behind a capability, it re-points the capability — your plugin keeps working.
255
+
256
+ ```tsx
257
+ // 1. By capability (recommended) — resolved to the platform's current model
258
+ // for that tier, and re-pointed automatically if that model is retired.
259
+ await invoke({
260
+ entityId: { capability: 'text-standard' }, // 'text-fast' | 'text-standard' | 'text-advanced'
261
+ input,
262
+ systemPrompt: '...',
263
+ });
264
+
265
+ // 2. AI router — let the platform pick a model per request based on the
266
+ // query's complexity. Optionally bias the tier with routingPreference.
267
+ await invoke({
268
+ entityId: 'ent_fias_ai',
269
+ input,
270
+ systemPrompt: '...',
271
+ routingPreference: 'cost', // 'auto' (default) | 'speed' | 'cost' | 'balanced' | 'performance'
272
+ });
273
+
274
+ // 3. A specific model id (back-compat) — pins one model. It will stop working
275
+ // if that model is retired; use a capability for retirement resilience.
276
+ await invoke({ entityId: 'ent_modeldef_haiku_45', input, systemPrompt: '...' });
277
+ ```
278
+
279
+ The text capabilities:
280
+
281
+ | Capability | Use it for |
282
+ | --------------- | ---------------------------------------------------------------------------- |
283
+ | `text-fast` | Cheapest, fastest — classification, extraction, short responses, high volume |
284
+ | `text-standard` | Balanced, general-purpose text generation (the sensible default) |
285
+ | `text-advanced` | Most capable — complex reasoning, nuanced writing, long-form output |
286
+
287
+ Browse specific models with `npx fias-dev entities`.
202
288
 
203
289
  ### `useImageGeneration()` — Generate images via AI models
204
290