@seedgrid/fe-core 2026.4.19 → 2026.4.21
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/ai/seedgrid-core.manifest.json +832 -0
- package/dist/http/api-client.d.ts +50 -0
- package/dist/http/api-client.d.ts.map +1 -0
- package/dist/http/api-client.js +281 -0
- package/dist/http/api-client.meta.d.ts +61 -0
- package/dist/http/api-client.meta.d.ts.map +1 -0
- package/dist/http/api-client.meta.js +99 -0
- package/dist/http/api-errors.d.ts +9 -0
- package/dist/http/api-errors.d.ts.map +1 -0
- package/dist/http/api-errors.js +78 -0
- package/dist/http/api-errors.meta.d.ts +44 -0
- package/dist/http/api-errors.meta.d.ts.map +1 -0
- package/dist/http/api-errors.meta.js +60 -0
- package/dist/http/api-exception-handler.d.ts +15 -0
- package/dist/http/api-exception-handler.d.ts.map +1 -0
- package/dist/http/api-exception-handler.js +53 -0
- package/dist/http/api-exception-handler.meta.d.ts +61 -0
- package/dist/http/api-exception-handler.meta.d.ts.map +1 -0
- package/dist/http/api-exception-handler.meta.js +57 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/persistence-api.meta.d.ts +61 -0
- package/dist/persistence-api.meta.d.ts.map +1 -0
- package/dist/persistence-api.meta.js +73 -0
- package/dist/persistence-composite.meta.d.ts +61 -0
- package/dist/persistence-composite.meta.d.ts.map +1 -0
- package/dist/persistence-composite.meta.js +69 -0
- package/dist/persistence-localstorage.meta.d.ts +61 -0
- package/dist/persistence-localstorage.meta.d.ts.map +1 -0
- package/dist/persistence-localstorage.meta.js +55 -0
- package/dist/registry.meta.d.ts +61 -0
- package/dist/registry.meta.d.ts.map +1 -0
- package/dist/registry.meta.js +85 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +2 -0
- package/dist/useDebouncedValue.d.ts +2 -0
- package/dist/useDebouncedValue.d.ts.map +1 -0
- package/dist/useDebouncedValue.js +16 -0
- package/dist/useDebouncedValue.meta.d.ts +44 -0
- package/dist/useDebouncedValue.meta.d.ts.map +1 -0
- package/dist/useDebouncedValue.meta.js +63 -0
- package/package.json +2 -2
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "utility.api-errors",
|
|
4
|
+
package: "@seedgrid/fe-core",
|
|
5
|
+
exportName: "extractApiErrorMessage",
|
|
6
|
+
slug: "extract-api-error-message",
|
|
7
|
+
displayName: "API Error Message Extractor",
|
|
8
|
+
category: "utility",
|
|
9
|
+
subcategory: "http",
|
|
10
|
+
description: "Reads API problem payloads and extracts the best user-facing message, prioritizing RFC7807 violations before generic detail/title fields.",
|
|
11
|
+
tags: ["api", "http", "error", "rfc7807", "validation"],
|
|
12
|
+
capabilities: [
|
|
13
|
+
"api-client-error",
|
|
14
|
+
"rfc7807",
|
|
15
|
+
"violations",
|
|
16
|
+
"error-message",
|
|
17
|
+
"json-string-body",
|
|
18
|
+
],
|
|
19
|
+
fieldSemantics: ["error", "validation", "problem-details", "http"],
|
|
20
|
+
props: [
|
|
21
|
+
{
|
|
22
|
+
name: "error",
|
|
23
|
+
type: "unknown",
|
|
24
|
+
required: true,
|
|
25
|
+
description: "ApiClientError, ApiClientError-like object, Error instance, or unknown thrown value to inspect.",
|
|
26
|
+
semanticRole: "data",
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
states: ["empty", "problem-details", "violations", "fallback-message"],
|
|
30
|
+
};
|
|
31
|
+
export const aiHints = {
|
|
32
|
+
version: "0.1",
|
|
33
|
+
preferredUseCases: [
|
|
34
|
+
"Showing API validation or problem-detail messages in UI toasts, whistles, dialogs, or notices.",
|
|
35
|
+
"Normalizing backend RFC7807 responses before mapping them to feature-specific fallback translations.",
|
|
36
|
+
"Handling cases where errors cross bundle boundaries and no longer satisfy instanceof ApiClientError.",
|
|
37
|
+
],
|
|
38
|
+
avoidUseCases: [
|
|
39
|
+
"Client-side form validation unrelated to API responses.",
|
|
40
|
+
"Flows that need full structured problem objects rather than a single human-readable message.",
|
|
41
|
+
],
|
|
42
|
+
synonyms: [
|
|
43
|
+
"rfc7807 parser",
|
|
44
|
+
"problem details",
|
|
45
|
+
"api validation message",
|
|
46
|
+
"violations message",
|
|
47
|
+
],
|
|
48
|
+
relatedEntityFields: ["responseBody", "detail", "title", "violations", "errors"],
|
|
49
|
+
compositionHints: [
|
|
50
|
+
"Call extractApiErrorMessage(error) first, then apply feature-specific server/network/html fallbacks only if needed.",
|
|
51
|
+
"Use alongside createApiClient so ApiClientError.responseBody is preserved end-to-end.",
|
|
52
|
+
],
|
|
53
|
+
rankingSignals: {
|
|
54
|
+
freeText: 0.35,
|
|
55
|
+
structuredChoice: 0.2,
|
|
56
|
+
date: 0,
|
|
57
|
+
number: 0,
|
|
58
|
+
denseLayout: 0.05,
|
|
59
|
+
},
|
|
60
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type ExceptionArea = "api" | "client" | "server";
|
|
2
|
+
export type ExceptionContext = {
|
|
3
|
+
area?: ExceptionArea;
|
|
4
|
+
source?: string;
|
|
5
|
+
status?: number;
|
|
6
|
+
retryable?: boolean;
|
|
7
|
+
metadata?: Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
export type ExceptionReporter = (error: Error, context: ExceptionContext) => void | Promise<void>;
|
|
10
|
+
export declare function suppressException(error: Error): void;
|
|
11
|
+
export declare function registerExceptionReporter(reporter: ExceptionReporter): () => void;
|
|
12
|
+
export declare function normalizeError(error: unknown): Error;
|
|
13
|
+
export declare function captureException(error: unknown, context?: ExceptionContext): Promise<Error>;
|
|
14
|
+
export declare function runGuarded<T>(action: () => Promise<T> | T, context?: ExceptionContext): Promise<T>;
|
|
15
|
+
//# sourceMappingURL=api-exception-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-exception-handler.d.ts","sourceRoot":"","sources":["../../src/http/api-exception-handler.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,KACtB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAK1B,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,QAE7C;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,cAMpE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAUpD;AAED,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,gBAAqB,kBAqB/B;AAED,wBAAsB,UAAU,CAAC,CAAC,EAChC,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAC5B,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAOZ"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// seedgrid:managed
|
|
2
|
+
const reporters = new Set();
|
|
3
|
+
const CAPTURED_ERROR_SYMBOL = Symbol.for("seedgrid.captured_exception");
|
|
4
|
+
export function suppressException(error) {
|
|
5
|
+
markAsCaptured(error);
|
|
6
|
+
}
|
|
7
|
+
export function registerExceptionReporter(reporter) {
|
|
8
|
+
reporters.add(reporter);
|
|
9
|
+
return () => {
|
|
10
|
+
reporters.delete(reporter);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function normalizeError(error) {
|
|
14
|
+
if (error instanceof Error) {
|
|
15
|
+
return error;
|
|
16
|
+
}
|
|
17
|
+
if (typeof error === "string") {
|
|
18
|
+
return new Error(error);
|
|
19
|
+
}
|
|
20
|
+
return new Error("Unknown application error");
|
|
21
|
+
}
|
|
22
|
+
export async function captureException(error, context = {}) {
|
|
23
|
+
const normalized = normalizeError(error);
|
|
24
|
+
if (wasCaptured(normalized)) {
|
|
25
|
+
return normalized;
|
|
26
|
+
}
|
|
27
|
+
markAsCaptured(normalized);
|
|
28
|
+
console.error("[seedgrid]", normalized, context);
|
|
29
|
+
for (const reporter of reporters) {
|
|
30
|
+
try {
|
|
31
|
+
await reporter(normalized, context);
|
|
32
|
+
}
|
|
33
|
+
catch (reporterError) {
|
|
34
|
+
console.error("[seedgrid] reporter failed", reporterError);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return normalized;
|
|
38
|
+
}
|
|
39
|
+
export async function runGuarded(action, context = {}) {
|
|
40
|
+
try {
|
|
41
|
+
return await action();
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
await captureException(error, context);
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
function wasCaptured(error) {
|
|
49
|
+
return Boolean(error[CAPTURED_ERROR_SYMBOL]);
|
|
50
|
+
}
|
|
51
|
+
function markAsCaptured(error) {
|
|
52
|
+
error[CAPTURED_ERROR_SYMBOL] = true;
|
|
53
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
type SgMetaPropV0 = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
default?: unknown;
|
|
6
|
+
description?: string;
|
|
7
|
+
semanticRole?: "value" | "label" | "validation" | "behavior" | "appearance" | "event" | "data";
|
|
8
|
+
bindable?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type SgMetaExampleV0 = {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
file: string;
|
|
14
|
+
kind: "sample" | "playground";
|
|
15
|
+
};
|
|
16
|
+
type SgMetaV0 = {
|
|
17
|
+
version: "0.1";
|
|
18
|
+
componentId: string;
|
|
19
|
+
package: string;
|
|
20
|
+
exportName: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
category: string;
|
|
24
|
+
subcategory?: string;
|
|
25
|
+
description: string;
|
|
26
|
+
tags?: string[];
|
|
27
|
+
capabilities?: string[];
|
|
28
|
+
fieldSemantics?: string[];
|
|
29
|
+
props?: SgMetaPropV0[];
|
|
30
|
+
states?: string[];
|
|
31
|
+
examples?: SgMetaExampleV0[];
|
|
32
|
+
showcase?: {
|
|
33
|
+
route: string;
|
|
34
|
+
hasPlayground: boolean;
|
|
35
|
+
hasPropsTable: boolean;
|
|
36
|
+
};
|
|
37
|
+
sdui?: {
|
|
38
|
+
rendererType: string;
|
|
39
|
+
acceptsDataBinding?: boolean;
|
|
40
|
+
defaultProps?: Record<string, unknown>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
type SgAiHintsV0 = {
|
|
44
|
+
version: "0.1";
|
|
45
|
+
preferredUseCases: string[];
|
|
46
|
+
avoidUseCases?: string[];
|
|
47
|
+
synonyms?: string[];
|
|
48
|
+
relatedEntityFields?: string[];
|
|
49
|
+
compositionHints?: string[];
|
|
50
|
+
rankingSignals?: {
|
|
51
|
+
freeText?: number;
|
|
52
|
+
structuredChoice?: number;
|
|
53
|
+
date?: number;
|
|
54
|
+
number?: number;
|
|
55
|
+
denseLayout?: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const sgMeta: SgMetaV0;
|
|
59
|
+
export declare const aiHints: SgAiHintsV0;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=api-exception-handler.meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-exception-handler.meta.d.ts","sourceRoot":"","sources":["../../src/http/api-exception-handler.meta.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QA+BpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WAyBrB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "utility.exception-capture",
|
|
4
|
+
package: "@seedgrid/fe-core",
|
|
5
|
+
exportName: "captureException",
|
|
6
|
+
slug: "capture-exception",
|
|
7
|
+
displayName: "Exception Capture",
|
|
8
|
+
category: "utility",
|
|
9
|
+
subcategory: "error-handling",
|
|
10
|
+
description: "Captures, normalizes, deduplicates, and reports exceptions through registered reporters with contextual metadata.",
|
|
11
|
+
tags: ["error", "exception", "reporting", "observability", "guard"],
|
|
12
|
+
capabilities: ["normalize-error", "deduplicate", "reporter-pipeline", "context-metadata"],
|
|
13
|
+
fieldSemantics: ["error", "exception", "context", "reporting"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "error",
|
|
17
|
+
type: "unknown",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Unknown thrown value that will be normalized into an Error instance.",
|
|
20
|
+
semanticRole: "data",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "context",
|
|
24
|
+
type: "ExceptionContext",
|
|
25
|
+
required: false,
|
|
26
|
+
description: "Optional metadata describing area, source, HTTP status, retryability, and extra attributes.",
|
|
27
|
+
semanticRole: "data",
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
states: ["idle", "captured", "reported", "deduplicated"],
|
|
31
|
+
};
|
|
32
|
+
export const aiHints = {
|
|
33
|
+
version: "0.1",
|
|
34
|
+
preferredUseCases: [
|
|
35
|
+
"Centralized exception capture from UI events, async actions, and API failures.",
|
|
36
|
+
"Server or client flows that should log/report errors with structured context before rethrowing or translating them.",
|
|
37
|
+
"Wrapping actions with runGuarded to standardize error capture without repeating try/catch boilerplate.",
|
|
38
|
+
],
|
|
39
|
+
avoidUseCases: [
|
|
40
|
+
"User-facing validation branches that are expected control flow rather than real exceptions.",
|
|
41
|
+
"Hot paths where repeated non-error control flow would spam the reporter pipeline.",
|
|
42
|
+
],
|
|
43
|
+
synonyms: ["error capture", "exception reporter", "error guard", "run guarded"],
|
|
44
|
+
relatedEntityFields: ["error", "exception", "status", "source", "reporting"],
|
|
45
|
+
compositionHints: [
|
|
46
|
+
"Register reporters at app bootstrap, then call captureException from feature modules instead of logging ad hoc.",
|
|
47
|
+
"Use runGuarded around async actions that should always capture and rethrow unexpected failures.",
|
|
48
|
+
"Use suppressException when an error was intentionally handled and should not be reported again.",
|
|
49
|
+
],
|
|
50
|
+
rankingSignals: {
|
|
51
|
+
freeText: 0.3,
|
|
52
|
+
structuredChoice: 0.25,
|
|
53
|
+
date: 0,
|
|
54
|
+
number: 0,
|
|
55
|
+
denseLayout: 0.05,
|
|
56
|
+
},
|
|
57
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,9 @@ export * from "./module";
|
|
|
2
2
|
export * from "./registry";
|
|
3
3
|
export * from "./i18n";
|
|
4
4
|
export * from "./persistence";
|
|
5
|
+
export * from "./http/api-exception-handler";
|
|
6
|
+
export * from "./http/api-client";
|
|
7
|
+
export * from "./http/api-errors";
|
|
8
|
+
export * from "./server";
|
|
9
|
+
export * from "./useDebouncedValue";
|
|
5
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,3 +2,8 @@ export * from "./module";
|
|
|
2
2
|
export * from "./registry";
|
|
3
3
|
export * from "./i18n";
|
|
4
4
|
export * from "./persistence";
|
|
5
|
+
export * from "./http/api-exception-handler";
|
|
6
|
+
export * from "./http/api-client";
|
|
7
|
+
export * from "./http/api-errors";
|
|
8
|
+
export * from "./server";
|
|
9
|
+
export * from "./useDebouncedValue";
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
type SgMetaPropV0 = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
default?: unknown;
|
|
6
|
+
description?: string;
|
|
7
|
+
semanticRole?: "value" | "label" | "validation" | "behavior" | "appearance" | "event" | "data";
|
|
8
|
+
bindable?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type SgMetaExampleV0 = {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
file: string;
|
|
14
|
+
kind: "sample" | "playground";
|
|
15
|
+
};
|
|
16
|
+
type SgMetaV0 = {
|
|
17
|
+
version: "0.1";
|
|
18
|
+
componentId: string;
|
|
19
|
+
package: string;
|
|
20
|
+
exportName: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
category: string;
|
|
24
|
+
subcategory?: string;
|
|
25
|
+
description: string;
|
|
26
|
+
tags?: string[];
|
|
27
|
+
capabilities?: string[];
|
|
28
|
+
fieldSemantics?: string[];
|
|
29
|
+
props?: SgMetaPropV0[];
|
|
30
|
+
states?: string[];
|
|
31
|
+
examples?: SgMetaExampleV0[];
|
|
32
|
+
showcase?: {
|
|
33
|
+
route: string;
|
|
34
|
+
hasPlayground: boolean;
|
|
35
|
+
hasPropsTable: boolean;
|
|
36
|
+
};
|
|
37
|
+
sdui?: {
|
|
38
|
+
rendererType: string;
|
|
39
|
+
acceptsDataBinding?: boolean;
|
|
40
|
+
defaultProps?: Record<string, unknown>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
type SgAiHintsV0 = {
|
|
44
|
+
version: "0.1";
|
|
45
|
+
preferredUseCases: string[];
|
|
46
|
+
avoidUseCases?: string[];
|
|
47
|
+
synonyms?: string[];
|
|
48
|
+
relatedEntityFields?: string[];
|
|
49
|
+
compositionHints?: string[];
|
|
50
|
+
rankingSignals?: {
|
|
51
|
+
freeText?: number;
|
|
52
|
+
structuredChoice?: number;
|
|
53
|
+
date?: number;
|
|
54
|
+
number?: number;
|
|
55
|
+
denseLayout?: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const sgMeta: SgMetaV0;
|
|
59
|
+
export declare const aiHints: SgAiHintsV0;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=persistence-api.meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-api.meta.d.ts","sourceRoot":"","sources":["../src/persistence-api.meta.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAiDpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA2BrB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.persistence-api",
|
|
4
|
+
package: "@seedgrid/fe-core",
|
|
5
|
+
exportName: "createApiPersistenceStrategy",
|
|
6
|
+
slug: "create-api-persistence-strategy",
|
|
7
|
+
displayName: "API Persistence Strategy",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "persistence",
|
|
10
|
+
description: "Creates a persistence strategy that syncs application state with a backend API endpoint. Supports custom fetch implementations and versioned state.",
|
|
11
|
+
tags: ["persistence", "api", "state", "server", "sync"],
|
|
12
|
+
capabilities: ["persistence", "server-sync", "versioned-state"],
|
|
13
|
+
fieldSemantics: ["state", "persistence", "api", "backend"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "baseUrl",
|
|
17
|
+
type: "string",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Base URL of the persistence API (e.g. https://api.example.com/state).",
|
|
20
|
+
semanticRole: "data",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "fetcher",
|
|
24
|
+
type: "(input: RequestInfo | URL, init?: RequestInit) => Promise<Response>",
|
|
25
|
+
required: false,
|
|
26
|
+
description: "Custom fetch implementation (default: global fetch). Useful for adding auth headers.",
|
|
27
|
+
semanticRole: "behavior",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "scope",
|
|
31
|
+
type: "string",
|
|
32
|
+
required: true,
|
|
33
|
+
description: "Scope/namespace for the persisted state (e.g. 'app.dashboard', 'user.preferences').",
|
|
34
|
+
semanticRole: "data",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
name: "stateVersion",
|
|
38
|
+
type: "number",
|
|
39
|
+
required: true,
|
|
40
|
+
description: "Version number of the state schema. Increment when structure changes.",
|
|
41
|
+
semanticRole: "data",
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
states: ["ready", "loading", "syncing", "error"],
|
|
45
|
+
};
|
|
46
|
+
export const aiHints = {
|
|
47
|
+
version: "0.1",
|
|
48
|
+
preferredUseCases: [
|
|
49
|
+
"Synchronizing application state with a backend server across sessions and devices.",
|
|
50
|
+
"Multi-device sync where a user's state updates on all their devices.",
|
|
51
|
+
"Server-side state versioning and schema evolution.",
|
|
52
|
+
],
|
|
53
|
+
avoidUseCases: [
|
|
54
|
+
"Offline-first applications — use localStorage first, then API (composite strategy).",
|
|
55
|
+
"High-frequency state updates that would overwhelm the server.",
|
|
56
|
+
"Real-time collaborative editing — use WebSocket-based persistence instead.",
|
|
57
|
+
],
|
|
58
|
+
synonyms: ["server persistence", "API state sync", "backend storage"],
|
|
59
|
+
relatedEntityFields: ["persistence", "state", "api", "backend", "sync"],
|
|
60
|
+
compositionHints: [
|
|
61
|
+
"Provide a custom fetcher that injects authorization headers if the API requires authentication.",
|
|
62
|
+
"Use scope to separate user preferences, app state, form cache, etc. on the server.",
|
|
63
|
+
"Increment stateVersion when the state shape changes to handle schema migrations.",
|
|
64
|
+
"Pair with createCompositePersistenceStrategy (localStorage primary, API fallback) for resilience.",
|
|
65
|
+
],
|
|
66
|
+
rankingSignals: {
|
|
67
|
+
freeText: 0.25,
|
|
68
|
+
structuredChoice: 0.35,
|
|
69
|
+
date: 0,
|
|
70
|
+
number: 0,
|
|
71
|
+
denseLayout: 0.1,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
type SgMetaPropV0 = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
default?: unknown;
|
|
6
|
+
description?: string;
|
|
7
|
+
semanticRole?: "value" | "label" | "validation" | "behavior" | "appearance" | "event" | "data";
|
|
8
|
+
bindable?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type SgMetaExampleV0 = {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
file: string;
|
|
14
|
+
kind: "sample" | "playground";
|
|
15
|
+
};
|
|
16
|
+
type SgMetaV0 = {
|
|
17
|
+
version: "0.1";
|
|
18
|
+
componentId: string;
|
|
19
|
+
package: string;
|
|
20
|
+
exportName: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
category: string;
|
|
24
|
+
subcategory?: string;
|
|
25
|
+
description: string;
|
|
26
|
+
tags?: string[];
|
|
27
|
+
capabilities?: string[];
|
|
28
|
+
fieldSemantics?: string[];
|
|
29
|
+
props?: SgMetaPropV0[];
|
|
30
|
+
states?: string[];
|
|
31
|
+
examples?: SgMetaExampleV0[];
|
|
32
|
+
showcase?: {
|
|
33
|
+
route: string;
|
|
34
|
+
hasPlayground: boolean;
|
|
35
|
+
hasPropsTable: boolean;
|
|
36
|
+
};
|
|
37
|
+
sdui?: {
|
|
38
|
+
rendererType: string;
|
|
39
|
+
acceptsDataBinding?: boolean;
|
|
40
|
+
defaultProps?: Record<string, unknown>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
type SgAiHintsV0 = {
|
|
44
|
+
version: "0.1";
|
|
45
|
+
preferredUseCases: string[];
|
|
46
|
+
avoidUseCases?: string[];
|
|
47
|
+
synonyms?: string[];
|
|
48
|
+
relatedEntityFields?: string[];
|
|
49
|
+
compositionHints?: string[];
|
|
50
|
+
rankingSignals?: {
|
|
51
|
+
freeText?: number;
|
|
52
|
+
structuredChoice?: number;
|
|
53
|
+
date?: number;
|
|
54
|
+
number?: number;
|
|
55
|
+
denseLayout?: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const sgMeta: SgMetaV0;
|
|
59
|
+
export declare const aiHints: SgAiHintsV0;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=persistence-composite.meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-composite.meta.d.ts","sourceRoot":"","sources":["../src/persistence-composite.meta.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAyCpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA8BrB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export const sgMeta = {
|
|
2
|
+
version: "0.1",
|
|
3
|
+
componentId: "hook.persistence-composite",
|
|
4
|
+
package: "@seedgrid/fe-core",
|
|
5
|
+
exportName: "createCompositePersistenceStrategy",
|
|
6
|
+
slug: "create-composite-persistence-strategy",
|
|
7
|
+
displayName: "Composite Persistence Strategy",
|
|
8
|
+
category: "hook",
|
|
9
|
+
subcategory: "persistence",
|
|
10
|
+
description: "Combines two persistence strategies (primary and secondary) with configurable fallback behavior: strict (primary only), fallback (try primary, use secondary on error), or mirror (sync to both simultaneously).",
|
|
11
|
+
tags: ["persistence", "composite", "fallback", "resilience", "state"],
|
|
12
|
+
capabilities: ["persistence", "fallback", "resilience", "dual-strategy"],
|
|
13
|
+
fieldSemantics: ["state", "persistence", "composition"],
|
|
14
|
+
props: [
|
|
15
|
+
{
|
|
16
|
+
name: "mode",
|
|
17
|
+
type: "'strict' | 'fallback' | 'mirror'",
|
|
18
|
+
required: true,
|
|
19
|
+
description: "Mode: 'strict' uses primary only, 'fallback' falls back to secondary on error, 'mirror' syncs to both.",
|
|
20
|
+
semanticRole: "data",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "primary",
|
|
24
|
+
type: "PersistenceStrategy",
|
|
25
|
+
required: true,
|
|
26
|
+
description: "First-choice persistence strategy (e.g. localStorage for fast local access).",
|
|
27
|
+
semanticRole: "behavior",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "secondary",
|
|
31
|
+
type: "PersistenceStrategy",
|
|
32
|
+
required: true,
|
|
33
|
+
description: "Fallback or mirror strategy (e.g. API persistence for server sync).",
|
|
34
|
+
semanticRole: "behavior",
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
states: ["ready", "loading", "syncing", "error"],
|
|
38
|
+
};
|
|
39
|
+
export const aiHints = {
|
|
40
|
+
version: "0.1",
|
|
41
|
+
preferredUseCases: [
|
|
42
|
+
"Resilient offline-first apps: localStorage primary, API fallback.",
|
|
43
|
+
"Multi-destination state sync: keep local cache and server in sync simultaneously.",
|
|
44
|
+
"Gradual migration: run old persistence (primary) and new (secondary) in parallel to validate.",
|
|
45
|
+
],
|
|
46
|
+
avoidUseCases: [
|
|
47
|
+
"Simple applications with only one persistence backend.",
|
|
48
|
+
"High-frequency updates to avoid bottleneck of syncing both strategies.",
|
|
49
|
+
],
|
|
50
|
+
synonyms: [
|
|
51
|
+
"dual persistence",
|
|
52
|
+
"fallback persistence",
|
|
53
|
+
"hybrid storage",
|
|
54
|
+
"resilient persistence",
|
|
55
|
+
],
|
|
56
|
+
relatedEntityFields: ["persistence", "state", "fallback", "resilience"],
|
|
57
|
+
compositionHints: [
|
|
58
|
+
"Typical offline-first: createLocalStorageStrategy as primary, createApiPersistenceStrategy as secondary with fallback mode.",
|
|
59
|
+
"Mirror mode enables live sync across devices: load from local cache immediately, update server in background.",
|
|
60
|
+
"Fallback mode gracefully degrades when API is unavailable — app stays functional using localStorage.",
|
|
61
|
+
],
|
|
62
|
+
rankingSignals: {
|
|
63
|
+
freeText: 0.2,
|
|
64
|
+
structuredChoice: 0.4,
|
|
65
|
+
date: 0,
|
|
66
|
+
number: 0,
|
|
67
|
+
denseLayout: 0.15,
|
|
68
|
+
},
|
|
69
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
type SgMetaPropV0 = {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
default?: unknown;
|
|
6
|
+
description?: string;
|
|
7
|
+
semanticRole?: "value" | "label" | "validation" | "behavior" | "appearance" | "event" | "data";
|
|
8
|
+
bindable?: boolean;
|
|
9
|
+
};
|
|
10
|
+
type SgMetaExampleV0 = {
|
|
11
|
+
id: string;
|
|
12
|
+
title: string;
|
|
13
|
+
file: string;
|
|
14
|
+
kind: "sample" | "playground";
|
|
15
|
+
};
|
|
16
|
+
type SgMetaV0 = {
|
|
17
|
+
version: "0.1";
|
|
18
|
+
componentId: string;
|
|
19
|
+
package: string;
|
|
20
|
+
exportName: string;
|
|
21
|
+
slug: string;
|
|
22
|
+
displayName: string;
|
|
23
|
+
category: string;
|
|
24
|
+
subcategory?: string;
|
|
25
|
+
description: string;
|
|
26
|
+
tags?: string[];
|
|
27
|
+
capabilities?: string[];
|
|
28
|
+
fieldSemantics?: string[];
|
|
29
|
+
props?: SgMetaPropV0[];
|
|
30
|
+
states?: string[];
|
|
31
|
+
examples?: SgMetaExampleV0[];
|
|
32
|
+
showcase?: {
|
|
33
|
+
route: string;
|
|
34
|
+
hasPlayground: boolean;
|
|
35
|
+
hasPropsTable: boolean;
|
|
36
|
+
};
|
|
37
|
+
sdui?: {
|
|
38
|
+
rendererType: string;
|
|
39
|
+
acceptsDataBinding?: boolean;
|
|
40
|
+
defaultProps?: Record<string, unknown>;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
type SgAiHintsV0 = {
|
|
44
|
+
version: "0.1";
|
|
45
|
+
preferredUseCases: string[];
|
|
46
|
+
avoidUseCases?: string[];
|
|
47
|
+
synonyms?: string[];
|
|
48
|
+
relatedEntityFields?: string[];
|
|
49
|
+
compositionHints?: string[];
|
|
50
|
+
rankingSignals?: {
|
|
51
|
+
freeText?: number;
|
|
52
|
+
structuredChoice?: number;
|
|
53
|
+
date?: number;
|
|
54
|
+
number?: number;
|
|
55
|
+
denseLayout?: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export declare const sgMeta: SgMetaV0;
|
|
59
|
+
export declare const aiHints: SgAiHintsV0;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=persistence-localstorage.meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence-localstorage.meta.d.ts","sourceRoot":"","sources":["../src/persistence-localstorage.meta.ts"],"names":[],"mappings":"AAAA,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;CAC/B,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACxC,CAAC;CACH,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,cAAc,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,QAwBpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,WA8BrB,CAAC"}
|