@syntrologie/runtime-sdk 2.4.0-canary.2 → 2.4.0-canary.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/CAPABILITIES.md +116 -1
- package/dist/SmartCanvasApp.d.ts +5 -3
- package/dist/actions/executors/index.d.ts +1 -2
- package/dist/actions/index.d.ts +2 -2
- package/dist/actions/schema.d.ts +58243 -201
- package/dist/actions/schema.js +5 -2
- package/dist/actions/types.d.ts +45 -48
- package/dist/anchor/AnchorResolver.d.ts +18 -0
- package/dist/anchor/index.d.ts +2 -0
- package/dist/api.d.ts +3 -8
- package/dist/apps/examples/gamification-app.example.d.ts +8 -8
- package/dist/chunk-2UYZ5DWI.js +126 -0
- package/dist/chunk-2UYZ5DWI.js.map +7 -0
- package/dist/{chunk-DOJR7R46.js → chunk-HF3D7YFQ.js} +49 -31
- package/dist/chunk-HF3D7YFQ.js.map +7 -0
- package/dist/{chunk-ZDZ3IYFN.js → chunk-IPU3WVPY.js} +3449 -2110
- package/dist/chunk-IPU3WVPY.js.map +7 -0
- package/dist/{chunk-BIYMC56J.js → chunk-P5G4KT2U.js} +54 -6
- package/dist/chunk-P5G4KT2U.js.map +7 -0
- package/dist/components/ShadowCanvasOverlay.d.ts +1 -20
- package/dist/config/schema.d.ts +1797 -267
- package/dist/config/schema.js +19 -62
- package/dist/config/schema.js.map +3 -3
- package/dist/context/schema.d.ts +8 -8
- package/dist/decisions/schema.d.ts +506 -1490
- package/dist/decisions/schema.js +5 -2
- package/dist/decisions/types.d.ts +22 -0
- package/dist/events/registerConfigPredicates.d.ts +7 -10
- package/dist/events/schema.d.ts +12 -12
- package/dist/experiments/adapters/growthbook.d.ts +2 -0
- package/dist/experiments/types.d.ts +7 -0
- package/dist/hooks/useShadowCanvasConfig.d.ts +4 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +72 -98
- package/dist/index.js.map +3 -3
- package/dist/overlays/schema.d.ts +48 -48
- package/dist/react.js +4 -3
- package/dist/react.js.map +1 -1
- package/dist/runtime.d.ts +3 -0
- package/dist/smart-canvas.esm.js +62 -66
- package/dist/smart-canvas.esm.js.map +4 -4
- package/dist/smart-canvas.js +2591 -1167
- package/dist/smart-canvas.js.map +4 -4
- package/dist/smart-canvas.min.js +62 -66
- package/dist/smart-canvas.min.js.map +4 -4
- package/dist/surfaces/types.d.ts +2 -1
- package/dist/theme/ThemeProvider.d.ts +11 -16
- package/dist/theme/defaultTheme.d.ts +6 -1
- package/dist/theme/index.d.ts +3 -4
- package/dist/theme/types.d.ts +10 -0
- package/dist/version.d.ts +1 -1
- package/package.json +7 -7
- package/schema/canvas-config.schema.json +9418 -790
- package/scripts/validate-config.mjs +78 -0
- package/dist/actions/executors/tour.d.ts +0 -18
- package/dist/chunk-BIYMC56J.js.map +0 -7
- package/dist/chunk-DOJR7R46.js.map +0 -7
- package/dist/chunk-JMHRHAEL.js +0 -18
- package/dist/chunk-JMHRHAEL.js.map +0 -7
- package/dist/chunk-ZDZ3IYFN.js.map +0 -7
- package/dist/hooks/useHostPatches.d.ts +0 -9
- package/dist/theme/extractHostTheme.d.ts +0 -14
|
@@ -1,5 +1,21 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NotificationDeepLinkZ
|
|
3
|
+
} from "./chunk-2UYZ5DWI.js";
|
|
4
|
+
import {
|
|
5
|
+
ActivationConfigZ,
|
|
6
|
+
DecisionStrategyZ
|
|
7
|
+
} from "./chunk-P5G4KT2U.js";
|
|
8
|
+
|
|
1
9
|
// src/actions/schema.ts
|
|
2
10
|
import { z } from "zod";
|
|
11
|
+
var ActionActivationZ = {
|
|
12
|
+
activation: ActivationConfigZ.optional(),
|
|
13
|
+
triggerWhen: DecisionStrategyZ.nullable().optional()
|
|
14
|
+
};
|
|
15
|
+
var AnchorIdZ = z.object({
|
|
16
|
+
selector: z.string(),
|
|
17
|
+
route: z.union([z.string(), z.array(z.string())])
|
|
18
|
+
}).strict();
|
|
3
19
|
var HighlightStyleZ = z.object({
|
|
4
20
|
color: z.string().optional(),
|
|
5
21
|
scrimOpacity: z.number().min(0).max(1).optional(),
|
|
@@ -47,76 +63,77 @@ var TourStepForSchemaZ = z.object({
|
|
|
47
63
|
action: z.any(),
|
|
48
64
|
route: z.string().optional(),
|
|
49
65
|
onAction: z.record(z.string()).optional()
|
|
50
|
-
}).
|
|
66
|
+
}).passthrough();
|
|
51
67
|
var ScrollBehaviorZ = z.enum(["auto", "smooth", "instant"]);
|
|
52
68
|
var ScrollLogicalPositionZ = z.enum(["start", "center", "end", "nearest"]);
|
|
53
69
|
var SetTextZ = z.object({
|
|
54
70
|
kind: z.literal("content:setText"),
|
|
55
|
-
anchorId:
|
|
71
|
+
anchorId: AnchorIdZ,
|
|
56
72
|
text: z.string(),
|
|
57
73
|
label: z.string().optional()
|
|
58
|
-
}).strict();
|
|
74
|
+
}).extend(ActionActivationZ).strict();
|
|
59
75
|
var SetAttrZ = z.object({
|
|
60
76
|
kind: z.literal("content:setAttr"),
|
|
61
|
-
anchorId:
|
|
77
|
+
anchorId: AnchorIdZ,
|
|
62
78
|
attr: z.string(),
|
|
63
79
|
value: z.string(),
|
|
64
80
|
label: z.string().optional()
|
|
65
|
-
}).strict();
|
|
81
|
+
}).extend(ActionActivationZ).strict();
|
|
66
82
|
var AddClassZ = z.object({
|
|
67
83
|
kind: z.literal("content:addClass"),
|
|
68
|
-
anchorId:
|
|
84
|
+
anchorId: AnchorIdZ,
|
|
69
85
|
className: z.string(),
|
|
70
86
|
label: z.string().optional()
|
|
71
|
-
}).strict();
|
|
87
|
+
}).extend(ActionActivationZ).strict();
|
|
72
88
|
var RemoveClassZ = z.object({
|
|
73
89
|
kind: z.literal("content:removeClass"),
|
|
74
|
-
anchorId:
|
|
90
|
+
anchorId: AnchorIdZ,
|
|
75
91
|
className: z.string(),
|
|
76
92
|
label: z.string().optional()
|
|
77
|
-
}).strict();
|
|
93
|
+
}).extend(ActionActivationZ).strict();
|
|
78
94
|
var SetStyleZ = z.object({
|
|
79
95
|
kind: z.literal("content:setStyle"),
|
|
80
|
-
anchorId:
|
|
96
|
+
anchorId: AnchorIdZ,
|
|
81
97
|
styles: z.record(z.string()),
|
|
82
98
|
label: z.string().optional()
|
|
83
|
-
}).strict();
|
|
99
|
+
}).extend(ActionActivationZ).strict();
|
|
84
100
|
var InsertHtmlZ = z.object({
|
|
85
101
|
kind: z.literal("content:insertHtml"),
|
|
86
|
-
anchorId:
|
|
102
|
+
anchorId: AnchorIdZ,
|
|
87
103
|
html: z.string(),
|
|
88
104
|
position: InsertPositionZ,
|
|
105
|
+
deepLink: NotificationDeepLinkZ.optional(),
|
|
89
106
|
label: z.string().optional()
|
|
90
|
-
}).strict();
|
|
107
|
+
}).extend(ActionActivationZ).strict();
|
|
91
108
|
var HighlightZ = z.object({
|
|
92
109
|
kind: z.literal("overlays:highlight"),
|
|
93
|
-
anchorId:
|
|
110
|
+
anchorId: AnchorIdZ,
|
|
94
111
|
style: HighlightStyleZ.optional(),
|
|
95
112
|
duration: z.number().optional(),
|
|
96
113
|
label: z.string().optional()
|
|
97
|
-
}).strict();
|
|
114
|
+
}).extend(ActionActivationZ).strict();
|
|
98
115
|
var PulseZ = z.object({
|
|
99
116
|
kind: z.literal("overlays:pulse"),
|
|
100
|
-
anchorId:
|
|
117
|
+
anchorId: AnchorIdZ,
|
|
101
118
|
duration: z.number().optional(),
|
|
102
119
|
label: z.string().optional()
|
|
103
|
-
}).strict();
|
|
120
|
+
}).extend(ActionActivationZ).strict();
|
|
104
121
|
var BadgeZ = z.object({
|
|
105
122
|
kind: z.literal("overlays:badge"),
|
|
106
|
-
anchorId:
|
|
123
|
+
anchorId: AnchorIdZ,
|
|
107
124
|
content: z.string(),
|
|
108
125
|
position: BadgePositionZ.optional(),
|
|
109
126
|
label: z.string().optional()
|
|
110
|
-
}).strict();
|
|
127
|
+
}).extend(ActionActivationZ).strict();
|
|
111
128
|
var TooltipZ = z.object({
|
|
112
129
|
kind: z.literal("overlays:tooltip"),
|
|
113
|
-
anchorId:
|
|
130
|
+
anchorId: AnchorIdZ,
|
|
114
131
|
content: TooltipContentZ,
|
|
115
132
|
trigger: TooltipTriggerZ.optional(),
|
|
116
133
|
placement: PlacementZ.optional(),
|
|
117
134
|
waitFor: z.string().optional(),
|
|
118
135
|
label: z.string().optional()
|
|
119
|
-
}).strict();
|
|
136
|
+
}).extend(ActionActivationZ).strict();
|
|
120
137
|
var ModalZ = z.object({
|
|
121
138
|
kind: z.literal("overlays:modal"),
|
|
122
139
|
content: ModalContentZ,
|
|
@@ -133,44 +150,44 @@ var ModalZ = z.object({
|
|
|
133
150
|
ctaButtons: z.array(CtaButtonZ).optional(),
|
|
134
151
|
waitFor: z.string().optional(),
|
|
135
152
|
label: z.string().optional()
|
|
136
|
-
}).strict();
|
|
153
|
+
}).extend(ActionActivationZ).strict();
|
|
137
154
|
var ScrollToZ = z.object({
|
|
138
155
|
kind: z.literal("navigation:scrollTo"),
|
|
139
|
-
anchorId:
|
|
156
|
+
anchorId: AnchorIdZ,
|
|
140
157
|
behavior: ScrollBehaviorZ.optional(),
|
|
141
158
|
block: ScrollLogicalPositionZ.optional(),
|
|
142
159
|
inline: ScrollLogicalPositionZ.optional(),
|
|
143
160
|
label: z.string().optional()
|
|
144
|
-
}).strict();
|
|
161
|
+
}).extend(ActionActivationZ).strict();
|
|
145
162
|
var NavigateZ = z.object({
|
|
146
163
|
kind: z.literal("navigation:navigate"),
|
|
147
164
|
url: z.string(),
|
|
148
165
|
target: z.enum(["_self", "_blank"]).optional(),
|
|
149
166
|
label: z.string().optional()
|
|
150
|
-
}).strict();
|
|
167
|
+
}).extend(ActionActivationZ).strict();
|
|
151
168
|
var MountWidgetZ = z.object({
|
|
152
169
|
kind: z.literal("core:mountWidget"),
|
|
153
170
|
slot: z.string(),
|
|
154
171
|
widget: WidgetConfigZ,
|
|
155
172
|
label: z.string().optional()
|
|
156
|
-
}).strict();
|
|
173
|
+
}).extend(ActionActivationZ).strict();
|
|
157
174
|
var WaitZ = z.object({
|
|
158
175
|
kind: z.literal("core:wait"),
|
|
159
176
|
durationMs: z.number().min(0).optional(),
|
|
160
177
|
event: z.string().optional(),
|
|
161
178
|
label: z.string().optional()
|
|
162
|
-
}).strict();
|
|
179
|
+
}).extend(ActionActivationZ).strict();
|
|
163
180
|
var SequenceZ = z.object({
|
|
164
181
|
kind: z.literal("core:sequence"),
|
|
165
182
|
actions: z.array(z.any()),
|
|
166
183
|
label: z.string().optional()
|
|
167
|
-
}).strict();
|
|
184
|
+
}).extend(ActionActivationZ).strict();
|
|
168
185
|
var ParallelZ = z.object({
|
|
169
186
|
kind: z.literal("core:parallel"),
|
|
170
187
|
actions: z.array(z.any()),
|
|
171
188
|
waitFor: z.enum(["all", "any"]).optional(),
|
|
172
189
|
label: z.string().optional()
|
|
173
|
-
}).strict();
|
|
190
|
+
}).extend(ActionActivationZ).strict();
|
|
174
191
|
var TourZ = z.object({
|
|
175
192
|
kind: z.literal("core:tour"),
|
|
176
193
|
tourId: z.string(),
|
|
@@ -178,7 +195,7 @@ var TourZ = z.object({
|
|
|
178
195
|
startStep: z.string().optional(),
|
|
179
196
|
autoStart: z.boolean().optional(),
|
|
180
197
|
label: z.string().optional()
|
|
181
|
-
}).
|
|
198
|
+
}).extend(ActionActivationZ).passthrough();
|
|
182
199
|
var coreActionStepSchemas = [
|
|
183
200
|
{ defName: "setText", schema: SetTextZ },
|
|
184
201
|
{ defName: "setAttr", schema: SetAttrZ },
|
|
@@ -201,6 +218,7 @@ var coreActionStepSchemas = [
|
|
|
201
218
|
];
|
|
202
219
|
|
|
203
220
|
export {
|
|
221
|
+
AnchorIdZ,
|
|
204
222
|
HighlightStyleZ,
|
|
205
223
|
BadgePositionZ,
|
|
206
224
|
PlacementZ,
|
|
@@ -233,4 +251,4 @@ export {
|
|
|
233
251
|
TourZ,
|
|
234
252
|
coreActionStepSchemas
|
|
235
253
|
};
|
|
236
|
-
//# sourceMappingURL=chunk-
|
|
254
|
+
//# sourceMappingURL=chunk-HF3D7YFQ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/actions/schema.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Core Action Zod Schemas\n *\n * Single source of truth for the shape of all 18 core action types.\n * These schemas are converted to JSON Schema during build and merged\n * into the unified canvas-config.schema.json.\n *\n * Design decisions:\n * - `.strict()` on most objects \u2192 `additionalProperties: false` in JSON Schema\n * - Tour/TourStep use `.passthrough()` to allow adaptive-specific extensions (e.g. `workflow`)\n * - Matches `types.ts` exactly (fixes all drift from the old manual JSON defs)\n * - Recursive ActionStep references use `z.any()` as placeholder; the generator\n * replaces `{}` with `{ \"$ref\": \"#/$defs/actionStep\" }` post-conversion\n */\n\nimport { z } from 'zod';\nimport { NotificationDeepLinkZ } from '../config/schema';\nimport { ActivationConfigZ, DecisionStrategyZ } from '../decisions/schema';\n\n// ============================================================================\n// Shared Sub-Types\n// ============================================================================\n\n/** Optional activation config \u2014 every action can declare its own route scoping */\nconst ActionActivationZ = {\n activation: ActivationConfigZ.optional(),\n triggerWhen: DecisionStrategyZ.nullable().optional(),\n};\n\n/** Route-scoped anchor identifier */\nconst AnchorIdZ = z\n .object({\n selector: z.string(),\n route: z.union([z.string(), z.array(z.string())]),\n })\n .strict();\n\n/** Highlight style configuration */\nconst HighlightStyleZ = z\n .object({\n color: z.string().optional(),\n scrimOpacity: z.number().min(0).max(1).optional(),\n paddingPx: z.number().optional(),\n radiusPx: z.number().optional(),\n })\n .strict();\n\n/** Badge position relative to anchor */\nconst BadgePositionZ = z.enum(['top-left', 'top-right', 'bottom-left', 'bottom-right']);\n\n/**\n * Floating-ui Placement \u2014 all 12 values.\n * Matches `@floating-ui/dom` `Placement` type.\n */\nconst PlacementZ = z.enum([\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n 'left',\n 'left-start',\n 'left-end',\n 'right',\n 'right-start',\n 'right-end',\n]);\n\n/** CTA button configuration for tooltips/modals */\nconst CtaButtonZ = z\n .object({\n label: z.string(),\n actionId: z.string(),\n primary: z.boolean().optional(),\n })\n .strict();\n\n/**\n * Tooltip content (schema-safe version).\n * Omits `cta` (legacy field with recursive ActionStep; never in JSON schema).\n */\nconst TooltipContentZ = z\n .object({\n title: z.string().optional(),\n body: z.string(),\n ctaButtons: z.array(CtaButtonZ).optional(),\n })\n .strict();\n\n/** Modal content configuration */\nconst ModalContentZ = z\n .object({\n title: z.string().optional(),\n body: z.string(),\n })\n .strict();\n\n/** Position where HTML/content should be inserted */\nconst InsertPositionZ = z.enum(['before', 'after', 'prepend', 'append', 'replace']);\n\n/** Tooltip trigger mode */\nconst TooltipTriggerZ = z.enum(['immediate', 'hover', 'click']);\n\n/** Widget configuration for surface mounting */\nconst WidgetConfigZ = z\n .object({\n widgetId: z.string(),\n props: z.record(z.unknown()).optional(),\n priority: z.number().optional(),\n })\n .strict();\n\n/**\n * Tour step (schema-safe version).\n * Uses `z.any()` for the `action` field \u2014 the generator replaces it with a $ref.\n */\nconst TourStepForSchemaZ = z\n .object({\n id: z.string(),\n action: z.any(),\n route: z.string().optional(),\n onAction: z.record(z.string()).optional(),\n })\n .passthrough();\n\n// ============================================================================\n// ScrollBehavior / ScrollLogicalPosition (DOM built-in types as Zod enums)\n// ============================================================================\n\nconst ScrollBehaviorZ = z.enum(['auto', 'smooth', 'instant']);\nconst ScrollLogicalPositionZ = z.enum(['start', 'center', 'end', 'nearest']);\n\n// ============================================================================\n// Core Action Schemas (18 total)\n// ============================================================================\n\n// --- Content Actions ---\n\nconst SetTextZ = z\n .object({\n kind: z.literal('content:setText'),\n anchorId: AnchorIdZ,\n text: z.string(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst SetAttrZ = z\n .object({\n kind: z.literal('content:setAttr'),\n anchorId: AnchorIdZ,\n attr: z.string(),\n value: z.string(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst AddClassZ = z\n .object({\n kind: z.literal('content:addClass'),\n anchorId: AnchorIdZ,\n className: z.string(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst RemoveClassZ = z\n .object({\n kind: z.literal('content:removeClass'),\n anchorId: AnchorIdZ,\n className: z.string(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst SetStyleZ = z\n .object({\n kind: z.literal('content:setStyle'),\n anchorId: AnchorIdZ,\n styles: z.record(z.string()),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst InsertHtmlZ = z\n .object({\n kind: z.literal('content:insertHtml'),\n anchorId: AnchorIdZ,\n html: z.string(),\n position: InsertPositionZ,\n deepLink: NotificationDeepLinkZ.optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\n// --- Overlay Actions ---\n\nconst HighlightZ = z\n .object({\n kind: z.literal('overlays:highlight'),\n anchorId: AnchorIdZ,\n style: HighlightStyleZ.optional(),\n duration: z.number().optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst PulseZ = z\n .object({\n kind: z.literal('overlays:pulse'),\n anchorId: AnchorIdZ,\n duration: z.number().optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst BadgeZ = z\n .object({\n kind: z.literal('overlays:badge'),\n anchorId: AnchorIdZ,\n content: z.string(),\n position: BadgePositionZ.optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst TooltipZ = z\n .object({\n kind: z.literal('overlays:tooltip'),\n anchorId: AnchorIdZ,\n content: TooltipContentZ,\n trigger: TooltipTriggerZ.optional(),\n placement: PlacementZ.optional(),\n waitFor: z.string().optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst ModalZ = z\n .object({\n kind: z.literal('overlays:modal'),\n content: ModalContentZ,\n size: z.enum(['sm', 'md', 'lg']).optional(),\n blocking: z.boolean().optional(),\n scrim: z\n .object({\n opacity: z.number().min(0).max(1).optional(),\n })\n .strict()\n .optional(),\n dismiss: z\n .object({\n onEsc: z.boolean().optional(),\n closeButton: z.boolean().optional(),\n timeoutMs: z.number().min(0).optional(),\n })\n .strict()\n .optional(),\n ctaButtons: z.array(CtaButtonZ).optional(),\n waitFor: z.string().optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\n// --- Navigation Actions ---\n\nconst ScrollToZ = z\n .object({\n kind: z.literal('navigation:scrollTo'),\n anchorId: AnchorIdZ,\n behavior: ScrollBehaviorZ.optional(),\n block: ScrollLogicalPositionZ.optional(),\n inline: ScrollLogicalPositionZ.optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst NavigateZ = z\n .object({\n kind: z.literal('navigation:navigate'),\n url: z.string(),\n target: z.enum(['_self', '_blank']).optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\n// --- Core Primitives ---\n\nconst MountWidgetZ = z\n .object({\n kind: z.literal('core:mountWidget'),\n slot: z.string(),\n widget: WidgetConfigZ,\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\nconst WaitZ = z\n .object({\n kind: z.literal('core:wait'),\n durationMs: z.number().min(0).optional(),\n event: z.string().optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\n/**\n * Sequence \u2014 executes actions serially.\n * `actions` uses `z.any()` as placeholder for recursive ActionStep refs.\n */\nconst SequenceZ = z\n .object({\n kind: z.literal('core:sequence'),\n actions: z.array(z.any()),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\n/**\n * Parallel \u2014 executes actions concurrently.\n * `actions` uses `z.any()` as placeholder for recursive ActionStep refs.\n */\nconst ParallelZ = z\n .object({\n kind: z.literal('core:parallel'),\n actions: z.array(z.any()),\n waitFor: z.enum(['all', 'any']).optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .strict();\n\n/**\n * Tour \u2014 orchestrate sequential steps with cross-page state.\n * `steps` contains TourStepForSchemaZ which uses z.any() for step.action.\n */\nconst TourZ = z\n .object({\n kind: z.literal('core:tour'),\n tourId: z.string(),\n steps: z.array(TourStepForSchemaZ).min(1),\n startStep: z.string().optional(),\n autoStart: z.boolean().optional(),\n label: z.string().optional(),\n })\n .extend(ActionActivationZ)\n .passthrough();\n\n// ============================================================================\n// Export: Array for unified schema generation\n// ============================================================================\n\n/**\n * All 18 core action step schemas for unified JSON Schema generation.\n * The generator imports this array and converts each to JSON Schema,\n * then merges them into `$defs` and `actionStep.oneOf`.\n *\n * `defName` values match the existing `$defs` keys for backward compat.\n */\nexport const coreActionStepSchemas = [\n { defName: 'setText', schema: SetTextZ },\n { defName: 'setAttr', schema: SetAttrZ },\n { defName: 'addClass', schema: AddClassZ },\n { defName: 'removeClass', schema: RemoveClassZ },\n { defName: 'setStyle', schema: SetStyleZ },\n { defName: 'insertHtml', schema: InsertHtmlZ },\n { defName: 'highlight', schema: HighlightZ },\n { defName: 'pulse', schema: PulseZ },\n { defName: 'badge', schema: BadgeZ },\n { defName: 'tooltip', schema: TooltipZ },\n { defName: 'modal', schema: ModalZ },\n { defName: 'scrollTo', schema: ScrollToZ },\n { defName: 'navigate', schema: NavigateZ },\n { defName: 'mountWidget', schema: MountWidgetZ },\n { defName: 'wait', schema: WaitZ },\n { defName: 'sequence', schema: SequenceZ },\n { defName: 'parallel', schema: ParallelZ },\n { defName: 'tour', schema: TourZ },\n];\n\n// ============================================================================\n// Named Exports (for unit tests and direct usage)\n// ============================================================================\n\nexport {\n // Sub-types\n AnchorIdZ,\n HighlightStyleZ,\n BadgePositionZ,\n PlacementZ,\n CtaButtonZ,\n TooltipContentZ,\n ModalContentZ,\n InsertPositionZ,\n TooltipTriggerZ,\n WidgetConfigZ,\n TourStepForSchemaZ,\n ScrollBehaviorZ,\n ScrollLogicalPositionZ,\n // Actions\n SetTextZ,\n SetAttrZ,\n AddClassZ,\n RemoveClassZ,\n SetStyleZ,\n InsertHtmlZ,\n HighlightZ,\n PulseZ,\n BadgeZ,\n TooltipZ,\n ModalZ,\n ScrollToZ,\n NavigateZ,\n MountWidgetZ,\n WaitZ,\n SequenceZ,\n ParallelZ,\n TourZ,\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|