@kubuild/core 0.8.0 → 0.8.2
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/document/artboards.d.cts +113 -0
- package/dist/document/artboards.d.cts.map +1 -0
- package/dist/document/command-tree-utils.d.cts +81 -0
- package/dist/document/command-tree-utils.d.cts.map +1 -0
- package/dist/document/commands.d.cts +204 -0
- package/dist/document/commands.d.cts.map +1 -0
- package/dist/document/document-utils.d.cts +49 -0
- package/dist/document/document-utils.d.cts.map +1 -0
- package/dist/document/document-utils.d.ts +1 -1
- package/dist/document/document-utils.d.ts.map +1 -1
- package/dist/document/history.d.cts +153 -0
- package/dist/document/history.d.cts.map +1 -0
- package/dist/document/history.d.ts +1 -1
- package/dist/document/history.d.ts.map +1 -1
- package/dist/document/index.d.cts +6 -0
- package/dist/document/index.d.cts.map +1 -0
- package/dist/document/index.d.ts +5 -5
- package/dist/document/index.d.ts.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/io/exporter.d.cts +89 -0
- package/dist/io/exporter.d.cts.map +1 -0
- package/dist/io/exporter.d.ts +3 -3
- package/dist/io/exporter.d.ts.map +1 -1
- package/dist/io/importer.d.cts +245 -0
- package/dist/io/importer.d.cts.map +1 -0
- package/dist/io/importer.d.ts +3 -3
- package/dist/io/importer.d.ts.map +1 -1
- package/dist/io/index.d.cts +8 -0
- package/dist/io/index.d.cts.map +1 -0
- package/dist/io/index.d.ts +7 -7
- package/dist/io/index.d.ts.map +1 -1
- package/dist/io/load-project.d.cts +42 -0
- package/dist/io/load-project.d.cts.map +1 -0
- package/dist/io/migration.d.cts +112 -0
- package/dist/io/migration.d.cts.map +1 -0
- package/dist/io/round-trip-comparator.d.cts +38 -0
- package/dist/io/round-trip-comparator.d.cts.map +1 -0
- package/dist/io/template-utils.d.cts +129 -0
- package/dist/io/template-utils.d.cts.map +1 -0
- package/dist/io/tracking-sanitizer.d.cts +23 -0
- package/dist/io/tracking-sanitizer.d.cts.map +1 -0
- package/dist/runtime/binding-resolver.d.cts +16 -0
- package/dist/runtime/binding-resolver.d.cts.map +1 -0
- package/dist/runtime/binding-resolver.d.ts +1 -1
- package/dist/runtime/binding-resolver.d.ts.map +1 -1
- package/dist/runtime/conditional-resolver.d.cts +45 -0
- package/dist/runtime/conditional-resolver.d.cts.map +1 -0
- package/dist/runtime/index.d.cts +9 -0
- package/dist/runtime/index.d.cts.map +1 -0
- package/dist/runtime/index.d.ts +8 -8
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/interpolator.d.cts +50 -0
- package/dist/runtime/interpolator.d.cts.map +1 -0
- package/dist/runtime/pipeline-executor.d.cts +136 -0
- package/dist/runtime/pipeline-executor.d.cts.map +1 -0
- package/dist/runtime/server-tracking.d.cts +143 -0
- package/dist/runtime/server-tracking.d.cts.map +1 -0
- package/dist/runtime/state-store.d.cts +128 -0
- package/dist/runtime/state-store.d.cts.map +1 -0
- package/dist/runtime/tracking-relay.d.cts +44 -0
- package/dist/runtime/tracking-relay.d.cts.map +1 -0
- package/dist/runtime/tracking-relay.d.ts +1 -1
- package/dist/runtime/tracking-relay.d.ts.map +1 -1
- package/dist/runtime/variable-catalog.d.cts +9 -0
- package/dist/runtime/variable-catalog.d.cts.map +1 -0
- package/dist/runtime/variable-catalog.d.ts +1 -1
- package/dist/runtime/variable-catalog.d.ts.map +1 -1
- package/dist/types/index.d.cts +2 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces.d.cts +175 -0
- package/dist/types/interfaces.d.cts.map +1 -0
- package/dist/types/interfaces.d.ts +1 -1
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/validation/index.d.cts +5 -0
- package/dist/validation/index.d.cts.map +1 -0
- package/dist/validation/index.d.ts +4 -4
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/project-validator.d.cts +38 -0
- package/dist/validation/project-validator.d.cts.map +1 -0
- package/dist/validation/project-validator.d.ts +1 -1
- package/dist/validation/project-validator.d.ts.map +1 -1
- package/dist/validation/security.d.cts +99 -0
- package/dist/validation/security.d.cts.map +1 -0
- package/dist/validation/validation-engine.d.cts +39 -0
- package/dist/validation/validation-engine.d.cts.map +1 -0
- package/dist/validation/validator.d.cts +80 -0
- package/dist/validation/validator.d.cts.map +1 -0
- package/dist/validation/validator.d.ts +1 -1
- package/dist/validation/validator.d.ts.map +1 -1
- package/package.json +11 -6
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import type { TrackingConfig, MetaTrackingProviderConfig, GoogleTrackingProviderConfig, TikTokTrackingProviderConfig, CustomTrackingProviderConfig, MetaTrackingSecrets, GoogleTrackingSecrets, TikTokTrackingSecrets, CustomTrackingSecrets, TrackingProviderSecrets, ServerTrackingProviderType, TrackEventProvider } from '@kubuild/schema';
|
|
2
|
+
/**
|
|
3
|
+
* Reference passed to a host `TrackingSecretResolver`. `credentialId` comes from the trusted
|
|
4
|
+
* tracking config (`providers.<provider>.credentialId`), never from an untrusted request.
|
|
5
|
+
*/
|
|
6
|
+
export interface TrackingSecretRef {
|
|
7
|
+
provider: ServerTrackingProviderType;
|
|
8
|
+
credentialId?: string;
|
|
9
|
+
documentId?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Host-provided function that returns the secret material for one provider, or `null` when the
|
|
13
|
+
* host has none. Implement it against any secret store (env vars, KMS, DB, Vault, ...).
|
|
14
|
+
* A missing secret makes the provider be skipped with a reason — it never throws.
|
|
15
|
+
*/
|
|
16
|
+
export type TrackingSecretResolver = (ref: TrackingSecretRef) => Promise<TrackingProviderSecrets | null | undefined> | TrackingProviderSecrets | null | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Normalized Server Tracking Event
|
|
19
|
+
*/
|
|
20
|
+
export interface ServerTrackingEvent {
|
|
21
|
+
eventName: string;
|
|
22
|
+
eventType?: 'standard' | 'custom';
|
|
23
|
+
eventId?: string;
|
|
24
|
+
eventTime?: number;
|
|
25
|
+
eventSourceUrl?: string;
|
|
26
|
+
actionSource?: 'website' | 'app' | 'system_generated';
|
|
27
|
+
params?: Record<string, unknown>;
|
|
28
|
+
userData?: {
|
|
29
|
+
email?: string;
|
|
30
|
+
phone?: string;
|
|
31
|
+
firstName?: string;
|
|
32
|
+
lastName?: string;
|
|
33
|
+
gender?: string;
|
|
34
|
+
dateOfBirth?: string;
|
|
35
|
+
city?: string;
|
|
36
|
+
state?: string;
|
|
37
|
+
zip?: string;
|
|
38
|
+
country?: string;
|
|
39
|
+
clientIp?: string;
|
|
40
|
+
clientUserAgent?: string;
|
|
41
|
+
fbp?: string;
|
|
42
|
+
fbc?: string;
|
|
43
|
+
externalId?: string;
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
};
|
|
46
|
+
customData?: Record<string, unknown>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Result of a single provider delivery
|
|
50
|
+
*/
|
|
51
|
+
export interface TrackingDeliveryResult {
|
|
52
|
+
provider: string;
|
|
53
|
+
success: boolean;
|
|
54
|
+
status?: number;
|
|
55
|
+
data?: unknown;
|
|
56
|
+
error?: string;
|
|
57
|
+
skipped?: boolean;
|
|
58
|
+
/** Why the provider was skipped (e.g. no secret resolved). */
|
|
59
|
+
reason?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Aggregate result from dispatchServerTracking
|
|
63
|
+
*/
|
|
64
|
+
export interface ServerTrackingDispatchResult {
|
|
65
|
+
success: boolean;
|
|
66
|
+
eventId: string;
|
|
67
|
+
skipped?: boolean;
|
|
68
|
+
reason?: string;
|
|
69
|
+
results: Record<string, TrackingDeliveryResult>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Options for configuring server tracking dispatch
|
|
73
|
+
*/
|
|
74
|
+
export interface ServerTrackingOptions {
|
|
75
|
+
/**
|
|
76
|
+
* Resolves provider secrets by `credentialId`. The ONLY way secrets reach the dispatcher —
|
|
77
|
+
* the document never contains them. Without it, every server provider is skipped.
|
|
78
|
+
*/
|
|
79
|
+
resolveSecrets?: TrackingSecretResolver;
|
|
80
|
+
/** Host document id, forwarded to `resolveSecrets`. */
|
|
81
|
+
documentId?: string;
|
|
82
|
+
/** Restrict dispatch to one provider ('all' by default). 'gtm' is client-only. */
|
|
83
|
+
provider?: TrackEventProvider;
|
|
84
|
+
fetchFn?: typeof fetch;
|
|
85
|
+
clientIp?: string;
|
|
86
|
+
clientUserAgent?: string;
|
|
87
|
+
sourceUrl?: string;
|
|
88
|
+
simulateInDebug?: boolean;
|
|
89
|
+
onLog?: (message: string, data?: unknown) => void;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Normalizes an email string (lowercase, trim) according to Meta CAPI specification.
|
|
93
|
+
*/
|
|
94
|
+
export declare function normalizeEmail(email: string): string;
|
|
95
|
+
/**
|
|
96
|
+
* Normalizes a phone number (removes non-digits, strips leading zeros if needed) per CAPI spec.
|
|
97
|
+
*/
|
|
98
|
+
export declare function normalizePhone(phone: string): string;
|
|
99
|
+
/**
|
|
100
|
+
* Normalizes text names (trim, lowercase).
|
|
101
|
+
*/
|
|
102
|
+
export declare function normalizeText(text: string): string;
|
|
103
|
+
/**
|
|
104
|
+
* Generates a SHA-256 hash formatted as a hex string.
|
|
105
|
+
* Uses universal Web Crypto API (supported in Node 18+, Bun, Deno, and modern browsers).
|
|
106
|
+
*/
|
|
107
|
+
export declare function hashSha256(value: string): Promise<string>;
|
|
108
|
+
/**
|
|
109
|
+
* Generates a unique deduplication event ID.
|
|
110
|
+
*/
|
|
111
|
+
export declare function generateTrackingEventId(prefix?: string): string;
|
|
112
|
+
/**
|
|
113
|
+
* Dispatches an event to Meta Conversions API (CAPI).
|
|
114
|
+
* Spec: https://developers.facebook.com/docs/marketing-api/conversions-api
|
|
115
|
+
*/
|
|
116
|
+
export declare function sendMetaCapiEvent(event: ServerTrackingEvent, config: MetaTrackingProviderConfig, secrets: MetaTrackingSecrets | null | undefined, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
|
|
117
|
+
/**
|
|
118
|
+
* Dispatches an event to TikTok Events API.
|
|
119
|
+
* Spec: https://business-api.tiktok.com/portal/docs
|
|
120
|
+
*/
|
|
121
|
+
export declare function sendTikTokEventsApi(event: ServerTrackingEvent, config: TikTokTrackingProviderConfig, secrets: TikTokTrackingSecrets | null | undefined, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
|
|
122
|
+
/**
|
|
123
|
+
* Dispatches an event to Google Analytics 4 Measurement Protocol.
|
|
124
|
+
* Spec: https://developers.google.com/analytics/devguides/collection/protocol/ga4
|
|
125
|
+
*/
|
|
126
|
+
export declare function sendGa4MeasurementEvent(event: ServerTrackingEvent, config: GoogleTrackingProviderConfig, secrets: GoogleTrackingSecrets | null | undefined, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Dispatches an event to a Custom Webhook.
|
|
129
|
+
*/
|
|
130
|
+
export declare function sendCustomWebhookEvent(event: ServerTrackingEvent, _config: CustomTrackingProviderConfig, secrets: CustomTrackingSecrets | null | undefined, options?: ServerTrackingOptions): Promise<TrackingDeliveryResult>;
|
|
131
|
+
/**
|
|
132
|
+
* High-Level Server Tracking Dispatcher (server-side only).
|
|
133
|
+
*
|
|
134
|
+
* Evaluates the master toggle, selects enabled server providers, resolves each provider's
|
|
135
|
+
* secrets through `options.resolveSecrets` (keyed by the `credentialId` in the trusted
|
|
136
|
+
* config) and dispatches in parallel. A provider without a resolved secret is skipped with a
|
|
137
|
+
* `reason` — this function never throws for missing secrets.
|
|
138
|
+
*
|
|
139
|
+
* Never call this from the browser: the renderer posts to a host relay instead
|
|
140
|
+
* (see `createTrackingRelayHandler`).
|
|
141
|
+
*/
|
|
142
|
+
export declare function dispatchServerTracking(event: ServerTrackingEvent, config?: TrackingConfig, options?: ServerTrackingOptions): Promise<ServerTrackingDispatchResult>;
|
|
143
|
+
//# sourceMappingURL=server-tracking.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-tracking.d.cts","sourceRoot":"","sources":["../../src/runtime/server-tracking.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standard form state structure managed inside the store.
|
|
3
|
+
*/
|
|
4
|
+
export interface FormState {
|
|
5
|
+
values: Record<string, unknown>;
|
|
6
|
+
errors: Record<string, string>;
|
|
7
|
+
touched: Record<string, boolean>;
|
|
8
|
+
isSubmitting: boolean;
|
|
9
|
+
isValid: boolean;
|
|
10
|
+
dirty: boolean;
|
|
11
|
+
initialValues?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Root state managed by the RuntimeStateStore.
|
|
15
|
+
*/
|
|
16
|
+
export interface RuntimeStoreState {
|
|
17
|
+
variables: Record<string, unknown>;
|
|
18
|
+
forms: Record<string, FormState>;
|
|
19
|
+
state: Record<string, unknown>;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
export type Unsubscribe = () => void;
|
|
23
|
+
export type StoreListener = (state: Readonly<RuntimeStoreState>, prevState: Readonly<RuntimeStoreState>) => void;
|
|
24
|
+
export type KeyChangeListener<T = unknown> = (newValue: T, prevValue: T) => void;
|
|
25
|
+
export type PathChangeListener<T = unknown> = (newValue: T, prevValue: T) => void;
|
|
26
|
+
export type FormChangeListener = (newForm: FormState, prevForm?: FormState) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Creates an initial clean FormState object.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createDefaultFormState(initialValues?: Record<string, unknown>): FormState;
|
|
31
|
+
/**
|
|
32
|
+
* Reactive State Store & Context Manager for form states and runtime variables.
|
|
33
|
+
*/
|
|
34
|
+
export declare class RuntimeStateStore {
|
|
35
|
+
private state;
|
|
36
|
+
private listeners;
|
|
37
|
+
private pathListeners;
|
|
38
|
+
private formListeners;
|
|
39
|
+
private isBatching;
|
|
40
|
+
private batchOldState?;
|
|
41
|
+
private isNotifying;
|
|
42
|
+
constructor(initialState?: Partial<RuntimeStoreState>);
|
|
43
|
+
/**
|
|
44
|
+
* Retrieves a value at a specified path or the entire state snapshot.
|
|
45
|
+
*/
|
|
46
|
+
get<T = unknown>(path?: string, fallback?: T): T;
|
|
47
|
+
/**
|
|
48
|
+
* Gets an immutable snapshot of the current state.
|
|
49
|
+
*/
|
|
50
|
+
getSnapshot(): RuntimeStoreState;
|
|
51
|
+
/**
|
|
52
|
+
* Sets a value at a dotted path and notifies subscribers.
|
|
53
|
+
*/
|
|
54
|
+
set(path: string, value: unknown): this;
|
|
55
|
+
/**
|
|
56
|
+
* Performs multiple updates atomically, triggering subscriber notifications once.
|
|
57
|
+
*/
|
|
58
|
+
setBatch(updates: Record<string, unknown>): this;
|
|
59
|
+
/**
|
|
60
|
+
* Deletes a property at the specified path.
|
|
61
|
+
*/
|
|
62
|
+
delete(path: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Resets the store state to an initial or clean state.
|
|
65
|
+
*/
|
|
66
|
+
reset(initialState?: Partial<RuntimeStoreState>): this;
|
|
67
|
+
/**
|
|
68
|
+
* Subscribes a listener to any state changes.
|
|
69
|
+
*/
|
|
70
|
+
subscribe(listener: StoreListener): Unsubscribe;
|
|
71
|
+
/**
|
|
72
|
+
* Subscribes a listener to changes on a top-level key.
|
|
73
|
+
*/
|
|
74
|
+
subscribeKey<T = unknown>(key: string, listener: KeyChangeListener<T>): Unsubscribe;
|
|
75
|
+
/**
|
|
76
|
+
* Subscribes a listener to changes at a specific dotted path.
|
|
77
|
+
*/
|
|
78
|
+
subscribePath<T = unknown>(path: string, listener: PathChangeListener<T>): Unsubscribe;
|
|
79
|
+
/**
|
|
80
|
+
* Subscribes a listener to changes of a specific form state.
|
|
81
|
+
*/
|
|
82
|
+
subscribeForm(formId: string, listener: FormChangeListener): Unsubscribe;
|
|
83
|
+
/**
|
|
84
|
+
* Notifies all relevant listeners when state changes.
|
|
85
|
+
*/
|
|
86
|
+
private notifyChanges;
|
|
87
|
+
/**
|
|
88
|
+
* Retrieves the FormState for a formId, initializing default form state if not present.
|
|
89
|
+
*/
|
|
90
|
+
getForm(formId: string): FormState;
|
|
91
|
+
/**
|
|
92
|
+
* Updates a single field value in a form and marks dirty if changed from initial.
|
|
93
|
+
*/
|
|
94
|
+
setFormFieldValue(formId: string, fieldName: string, value: unknown): this;
|
|
95
|
+
/**
|
|
96
|
+
* Sets or clears an error for a form field.
|
|
97
|
+
*/
|
|
98
|
+
setFormFieldError(formId: string, fieldName: string, error: string | null): this;
|
|
99
|
+
/**
|
|
100
|
+
* Marks a form field as touched (or untouched).
|
|
101
|
+
*/
|
|
102
|
+
setFormFieldTouched(formId: string, fieldName: string, touched?: boolean): this;
|
|
103
|
+
/**
|
|
104
|
+
* Updates multiple form errors simultaneously.
|
|
105
|
+
*/
|
|
106
|
+
setFormErrors(formId: string, errors: Record<string, string>): this;
|
|
107
|
+
/**
|
|
108
|
+
* Sets multiple form field values simultaneously.
|
|
109
|
+
*/
|
|
110
|
+
setFormValues(formId: string, values: Record<string, unknown>, replace?: boolean): this;
|
|
111
|
+
/**
|
|
112
|
+
* Sets the submitting status of a form.
|
|
113
|
+
*/
|
|
114
|
+
setFormSubmitting(formId: string, isSubmitting: boolean): this;
|
|
115
|
+
/**
|
|
116
|
+
* Resets a form's values, errors, touched, and submitting state to defaults or specified values.
|
|
117
|
+
*/
|
|
118
|
+
resetForm(formId: string, initialValues?: Record<string, unknown>): this;
|
|
119
|
+
/**
|
|
120
|
+
* Creates an isolated child scope store for a page or component container.
|
|
121
|
+
*/
|
|
122
|
+
createScope(scopeId: string, initialValues?: Record<string, unknown>): RuntimeStateStore;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Factory function to create a new RuntimeStateStore instance.
|
|
126
|
+
*/
|
|
127
|
+
export declare function createRuntimeStore(initialState?: Partial<RuntimeStoreState>): RuntimeStateStore;
|
|
128
|
+
//# sourceMappingURL=state-store.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-store.d.cts","sourceRoot":"","sources":["../../src/runtime/state-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type TrackingConfig, type TrackEventProvider } from '@kubuild/schema';
|
|
2
|
+
import { type TrackingSecretResolver } from './server-tracking.cjs';
|
|
3
|
+
/** Context handed to `getConfig` — use it to look up the trusted config for this page. */
|
|
4
|
+
export interface TrackingRelayConfigContext {
|
|
5
|
+
request: Request;
|
|
6
|
+
/** Untrusted hint from the request body; use it only as a lookup key you authorize. */
|
|
7
|
+
documentId?: string;
|
|
8
|
+
/** Untrusted hint from the request body. */
|
|
9
|
+
credentialId?: string;
|
|
10
|
+
provider: TrackEventProvider;
|
|
11
|
+
}
|
|
12
|
+
export interface CreateTrackingRelayHandlerOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Loads the tracking config from the HOST (database, published page, env, ...).
|
|
15
|
+
* The relay never trusts a config sent in the request body. Return `null` if unknown.
|
|
16
|
+
*/
|
|
17
|
+
getConfig: (ctx: TrackingRelayConfigContext) => Promise<TrackingConfig | null | undefined> | TrackingConfig | null | undefined;
|
|
18
|
+
/** Resolves provider secrets by `credentialId` (from the trusted config). */
|
|
19
|
+
resolveSecrets: TrackingSecretResolver;
|
|
20
|
+
/**
|
|
21
|
+
* Allowed browser origins. When set, requests whose `Origin` header is missing or not in
|
|
22
|
+
* the list are rejected with 403, and CORS headers are returned for allowed origins.
|
|
23
|
+
*/
|
|
24
|
+
allowedOrigins?: readonly string[] | ((origin: string) => boolean);
|
|
25
|
+
fetchFn?: typeof fetch;
|
|
26
|
+
/** Override client IP extraction (defaults to x-forwarded-for / x-real-ip / cf-connecting-ip). */
|
|
27
|
+
getClientIp?: (request: Request) => string | undefined;
|
|
28
|
+
/** Max accepted body size in bytes (default 64 KiB). */
|
|
29
|
+
maxBodyBytes?: number;
|
|
30
|
+
onLog?: (message: string, data?: unknown) => void;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Creates a reference tracking relay endpoint using only Web-standard `Request`/`Response`
|
|
34
|
+
* (works in Next.js route handlers, Hono, Bun, Deno, Cloudflare Workers, Node 18+ adapters).
|
|
35
|
+
*
|
|
36
|
+
* Flow: validate origin -> validate body with `TrackingRelayRequestSchema` -> load the trusted
|
|
37
|
+
* config via `getConfig` -> attach client IP / UA from request headers -> `dispatchServerTracking`
|
|
38
|
+
* with `resolveSecrets`. The response follows `TrackingRelayResponseSchema` and never echoes
|
|
39
|
+
* provider response bodies.
|
|
40
|
+
*
|
|
41
|
+
* Non-JS backends can implement the same protocol — see `getTrackingRelayRequestJsonSchema()`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function createTrackingRelayHandler(options: CreateTrackingRelayHandlerOptions): (request: Request) => Promise<Response>;
|
|
44
|
+
//# sourceMappingURL=tracking-relay.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tracking-relay.d.cts","sourceRoot":"","sources":["../../src/runtime/tracking-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAKxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,0FAA0F;AAC1F,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,iCAAiC;IAChD;;;OAGG;IACH,SAAS,EAAE,CACT,GAAG,EAAE,0BAA0B,KAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpF,6EAA6E;IAC7E,cAAc,EAAE,sBAAsB,CAAC;IACvC;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,kGAAkG;IAClG,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AA2BD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iCAAiC,IAGrE,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAoInD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type TrackingConfig, type TrackEventProvider } from '@kubuild/schema';
|
|
2
|
-
import { type TrackingSecretResolver } from './server-tracking';
|
|
2
|
+
import { type TrackingSecretResolver } from './server-tracking.js';
|
|
3
3
|
/** Context handed to `getConfig` — use it to look up the trusted config for this page. */
|
|
4
4
|
export interface TrackingRelayConfigContext {
|
|
5
5
|
request: Request;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-relay.d.ts","sourceRoot":"","sources":["../../src/runtime/tracking-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAKxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"tracking-relay.d.ts","sourceRoot":"","sources":["../../src/runtime/tracking-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAKxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAE9B,0FAA0F;AAC1F,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,WAAW,iCAAiC;IAChD;;;OAGG;IACH,SAAS,EAAE,CACT,GAAG,EAAE,0BAA0B,KAC5B,OAAO,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IACpF,6EAA6E;IAC7E,cAAc,EAAE,sBAAsB,CAAC;IACvC;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,kGAAkG;IAClG,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IACvD,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AA2BD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iCAAiC,IAGrE,SAAS,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC,CAoInD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { VariableCatalog } from '../types/interfaces.cjs';
|
|
2
|
+
/**
|
|
3
|
+
* Expands a host `VariableCatalog`'s dotted `sampleValue` keys (e.g. `'site.name'`,
|
|
4
|
+
* `'products'`) into a nested object shaped the same way `resolveBinding` expects
|
|
5
|
+
* `context.variables` to be shaped. Editor/preview-only: the result should be merged
|
|
6
|
+
* into a `RuntimeContext.variables` for canvas preview, never written to a document.
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildSampleVariablesFromCatalog(catalog?: VariableCatalog): Record<string, unknown>;
|
|
9
|
+
//# sourceMappingURL=variable-catalog.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-catalog.d.cts","sourceRoot":"","sources":["../../src/runtime/variable-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBlG"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { VariableCatalog } from '../types/interfaces';
|
|
1
|
+
import type { VariableCatalog } from '../types/interfaces.js';
|
|
2
2
|
/**
|
|
3
3
|
* Expands a host `VariableCatalog`'s dotted `sampleValue` keys (e.g. `'site.name'`,
|
|
4
4
|
* `'products'`) into a nested object shaped the same way `resolveBinding` expects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable-catalog.d.ts","sourceRoot":"","sources":["../../src/runtime/variable-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"variable-catalog.d.ts","sourceRoot":"","sources":["../../src/runtime/variable-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBlG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './interfaces';
|
|
1
|
+
export * from './interfaces.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { Artboard, ArtboardType, PageDocument, Theme } from '@kubuild/schema';
|
|
2
|
+
import type { DocumentValidationError, DocumentValidationWarning } from '../validation/validator.cjs';
|
|
3
|
+
export interface AssetInfo {
|
|
4
|
+
id: string;
|
|
5
|
+
url: string;
|
|
6
|
+
mimeType: string;
|
|
7
|
+
size?: number;
|
|
8
|
+
alt?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AssetProvider {
|
|
11
|
+
resolve(assetIdOrUri: string): Promise<string> | string;
|
|
12
|
+
upload?(file: File | Blob, metadata?: Record<string, unknown>): Promise<AssetInfo>;
|
|
13
|
+
delete?(assetId: string): Promise<boolean>;
|
|
14
|
+
list?(): Promise<AssetInfo[]>;
|
|
15
|
+
}
|
|
16
|
+
export interface ActionExecutionContext {
|
|
17
|
+
nodeId?: string;
|
|
18
|
+
document: PageDocument;
|
|
19
|
+
variables?: Record<string, unknown>;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
export type ActionHandler = (payload: Record<string, unknown> | undefined, context: ActionExecutionContext) => Promise<void> | void;
|
|
23
|
+
export interface ActionRegistry {
|
|
24
|
+
get(actionType: string): ActionHandler | undefined;
|
|
25
|
+
register(actionType: string, handler: ActionHandler): void;
|
|
26
|
+
unregister(actionType: string): void;
|
|
27
|
+
}
|
|
28
|
+
export interface ActionDiagnostic {
|
|
29
|
+
code: 'UNKNOWN_ACTION' | 'ACTION_EXECUTION_ERROR' | 'INVALID_ACTION_PAYLOAD' | 'INVALID_ACTION_BINDING';
|
|
30
|
+
actionType: string;
|
|
31
|
+
nodeId?: string;
|
|
32
|
+
message: string;
|
|
33
|
+
error?: unknown;
|
|
34
|
+
invalidPaths?: string[];
|
|
35
|
+
}
|
|
36
|
+
export interface PropBindingDiagnostic {
|
|
37
|
+
code: 'INCOMPATIBLE_BINDING_TYPE';
|
|
38
|
+
nodeId?: string;
|
|
39
|
+
propName: string;
|
|
40
|
+
expectedType: string;
|
|
41
|
+
actualType: string;
|
|
42
|
+
message: string;
|
|
43
|
+
}
|
|
44
|
+
export interface CollectionDiagnostic {
|
|
45
|
+
code: 'INVALID_COLLECTION_SOURCE';
|
|
46
|
+
nodeId?: string;
|
|
47
|
+
propName: string;
|
|
48
|
+
message: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Non-fatal diagnostic for AI-generated content that was rejected or that errored out
|
|
52
|
+
* before ever reaching the document (STORA-507/509). Reuses the same `onDiagnostic`
|
|
53
|
+
* reporting channel as render-time diagnostics — no separate AI-only reporting path.
|
|
54
|
+
*/
|
|
55
|
+
export interface AiGenerationDiagnostic {
|
|
56
|
+
code: 'AI_SECTION_REJECTED' | 'AI_STREAM_ERROR';
|
|
57
|
+
/** The id of the rejected node, when one could be determined. */
|
|
58
|
+
nodeId?: string;
|
|
59
|
+
message: string;
|
|
60
|
+
error?: unknown;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Non-fatal tracking delivery diagnostic (e.g. server delivery skipped because the host did
|
|
64
|
+
* not configure a relay). The client-side pixel still fires in these cases.
|
|
65
|
+
*/
|
|
66
|
+
export interface TrackingDiagnostic {
|
|
67
|
+
code: 'TRACKING_RELAY_NOT_CONFIGURED' | 'TRACKING_RELAY_FAILED';
|
|
68
|
+
nodeId?: string;
|
|
69
|
+
eventName?: string;
|
|
70
|
+
message: string;
|
|
71
|
+
error?: unknown;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Non-fatal diagnostic for a node that still uses a deprecated prop alias (STORA-550), e.g. a
|
|
75
|
+
* `paragraph` with `content` instead of the canonical `text`. The renderer keeps reading the
|
|
76
|
+
* alias for one minor version; migrating the document (`migrateDocument`) removes it.
|
|
77
|
+
*/
|
|
78
|
+
export interface DeprecatedPropDiagnostic {
|
|
79
|
+
code: 'DEPRECATED_PROP';
|
|
80
|
+
nodeId?: string;
|
|
81
|
+
componentType: string;
|
|
82
|
+
/** The deprecated alias found on the node. */
|
|
83
|
+
propName: string;
|
|
84
|
+
/** The canonical prop name to use instead. */
|
|
85
|
+
canonicalName: string;
|
|
86
|
+
message: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Diagnostic for a whole document the editor refused to load (STORA-538): `replaceDocument`
|
|
90
|
+
* (host `EditorHandle` or store) or `applyTemplate` ran `validateDocument` and the result was
|
|
91
|
+
* invalid. The current document is left untouched; the same errors are also returned in the
|
|
92
|
+
* call's result.
|
|
93
|
+
*/
|
|
94
|
+
export interface DocumentValidationDiagnostic {
|
|
95
|
+
code: 'DOCUMENT_INVALID';
|
|
96
|
+
/** Which entry point rejected the document. */
|
|
97
|
+
source: 'replaceDocument' | 'applyTemplate';
|
|
98
|
+
/** Id of the template being applied, when `source` is `'applyTemplate'`. */
|
|
99
|
+
templateId?: string;
|
|
100
|
+
/** Node of the first blocking error, when it points at one. */
|
|
101
|
+
nodeId?: string;
|
|
102
|
+
message: string;
|
|
103
|
+
/** Blocking validation errors from `validateDocument`. */
|
|
104
|
+
errors: DocumentValidationError[];
|
|
105
|
+
warnings: DocumentValidationWarning[];
|
|
106
|
+
}
|
|
107
|
+
export type Diagnostic = ActionDiagnostic | PropBindingDiagnostic | CollectionDiagnostic | AiGenerationDiagnostic | TrackingDiagnostic | DeprecatedPropDiagnostic | DocumentValidationDiagnostic;
|
|
108
|
+
/**
|
|
109
|
+
* Host-supplied runtime tracking options (NOT part of the document). Server-side delivery
|
|
110
|
+
* (Meta CAPI, TikTok Events API, GA4 MP, custom webhook) only happens through `relayUrl`;
|
|
111
|
+
* the browser never talks to provider APIs with secrets.
|
|
112
|
+
*/
|
|
113
|
+
export interface RuntimeTrackingOptions {
|
|
114
|
+
/**
|
|
115
|
+
* Host relay endpoint implementing the tracking relay protocol v1
|
|
116
|
+
* (`TrackingRelayRequestSchema`). Same-origin is recommended. When absent, server delivery
|
|
117
|
+
* is skipped with a `TRACKING_RELAY_NOT_CONFIGURED` diagnostic.
|
|
118
|
+
*/
|
|
119
|
+
relayUrl?: string;
|
|
120
|
+
/** Host document/page id sent to the relay so it can load the trusted tracking config. */
|
|
121
|
+
documentId?: string;
|
|
122
|
+
/** Extra non-secret request headers (e.g. a CSRF token). */
|
|
123
|
+
relayHeaders?: Readonly<Record<string, string>>;
|
|
124
|
+
/** `fetch` credentials mode for relay calls (default 'same-origin'). */
|
|
125
|
+
credentials?: 'omit' | 'same-origin' | 'include';
|
|
126
|
+
/** Custom fetch implementation (tests, SSR). */
|
|
127
|
+
fetchFn?: typeof fetch;
|
|
128
|
+
/** Receives tracking log lines (skips, relay failures, ...). */
|
|
129
|
+
onLog?: (message: string, data?: unknown) => void;
|
|
130
|
+
}
|
|
131
|
+
export type RenderContext = Readonly<{
|
|
132
|
+
variables?: Readonly<Record<string, unknown>>;
|
|
133
|
+
assetProvider?: AssetProvider;
|
|
134
|
+
actionRegistry?: ActionRegistry;
|
|
135
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
136
|
+
/**
|
|
137
|
+
* Resolves the component artboard an `open_modal`/`close_modal` action targets, so a
|
|
138
|
+
* trigger living in one artboard can open content stored in another. Supplied by the
|
|
139
|
+
* host that owns the multi-artboard project; absent for single-document rendering.
|
|
140
|
+
*/
|
|
141
|
+
resolveArtboard?: (triggerId: string) => Artboard | undefined;
|
|
142
|
+
/** Every component artboard available for portal rendering at runtime. */
|
|
143
|
+
componentArtboards?: readonly Artboard[];
|
|
144
|
+
/**
|
|
145
|
+
* What kind of surface this render represents. On a 'component' surface the node is being
|
|
146
|
+
* authored in isolation on its own artboard, so overlay chrome that only makes sense over
|
|
147
|
+
* a real page (a modal's full-bleed backdrop, a drawer pinned to the viewport edge) is
|
|
148
|
+
* suppressed and the node sits directly on the canvas instead.
|
|
149
|
+
*/
|
|
150
|
+
artboardSurface?: ArtboardType;
|
|
151
|
+
/** Host tracking runtime options (relay endpoint etc.). Never stored in the document. */
|
|
152
|
+
tracking?: RuntimeTrackingOptions;
|
|
153
|
+
/**
|
|
154
|
+
* Host theme override (STORA-551), merged token-by-token over `PageDocument.theme` at
|
|
155
|
+
* render time — e.g. a per-tenant brand color — without modifying the document. Unsafe
|
|
156
|
+
* keys/values are dropped by the renderer.
|
|
157
|
+
*/
|
|
158
|
+
theme?: Readonly<Partial<Theme>>;
|
|
159
|
+
}>;
|
|
160
|
+
export type RuntimeContext = RenderContext;
|
|
161
|
+
export type VariableValueType = 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
162
|
+
/**
|
|
163
|
+
* Host-declared catalog entry describing a bindable variable and an editor/preview-only
|
|
164
|
+
* sample value. `sampleValue` must never be written into a `PageDocument` — it exists so
|
|
165
|
+
* the builder can preview bindings without persisting host data into the portable document.
|
|
166
|
+
*/
|
|
167
|
+
export interface VariableDefinition {
|
|
168
|
+
key: string;
|
|
169
|
+
label: string;
|
|
170
|
+
type: VariableValueType;
|
|
171
|
+
sampleValue: unknown;
|
|
172
|
+
description?: string;
|
|
173
|
+
}
|
|
174
|
+
export type VariableCatalog = VariableDefinition[];
|
|
175
|
+
//# sourceMappingURL=interfaces.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.cts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Artboard, ArtboardType, PageDocument, Theme } from '@kubuild/schema';
|
|
2
|
-
import type { DocumentValidationError, DocumentValidationWarning } from '../validation/validator';
|
|
2
|
+
import type { DocumentValidationError, DocumentValidationWarning } from '../validation/validator.js';
|
|
3
3
|
export interface AssetInfo {
|
|
4
4
|
id: string;
|
|
5
5
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/types/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './validator';
|
|
2
|
-
export * from './project-validator';
|
|
3
|
-
export * from './validation-engine';
|
|
4
|
-
export * from './security';
|
|
1
|
+
export * from './validator.js';
|
|
2
|
+
export * from './project-validator.js';
|
|
3
|
+
export * from './validation-engine.js';
|
|
4
|
+
export * from './security.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC"}
|