@syntrologie/runtime-sdk 2.3.0 → 2.4.0-canary.10

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.
Files changed (48) hide show
  1. package/CAPABILITIES.md +50 -0
  2. package/dist/SmartCanvasApp.d.ts +4 -3
  3. package/dist/actions/schema.d.ts +26972 -8
  4. package/dist/actions/schema.js +2 -1
  5. package/dist/api.d.ts +3 -8
  6. package/dist/chunk-4NYS7GAW.js +180 -0
  7. package/dist/chunk-4NYS7GAW.js.map +7 -0
  8. package/dist/{chunk-AYTRRBR5.js → chunk-OGTCFYR3.js} +23 -33
  9. package/dist/chunk-OGTCFYR3.js.map +7 -0
  10. package/dist/{chunk-RUKIPJEJ.js → chunk-RC5YIJSP.js} +578 -421
  11. package/dist/chunk-RC5YIJSP.js.map +7 -0
  12. package/dist/components/ShadowCanvasOverlay.d.ts +1 -20
  13. package/dist/config/schema.d.ts +5229 -0
  14. package/dist/config/schema.js +125 -0
  15. package/dist/config/schema.js.map +7 -0
  16. package/dist/context/ContextManager.d.ts +3 -3
  17. package/dist/context/schema.d.ts +8 -8
  18. package/dist/context/types.d.ts +1 -1
  19. package/dist/decisions/schema.d.ts +1505 -67
  20. package/dist/decisions/schema.js +53 -0
  21. package/dist/decisions/schema.js.map +7 -0
  22. package/dist/decisions/types.d.ts +1 -1
  23. package/dist/hooks/useShadowCanvasConfig.d.ts +4 -4
  24. package/dist/index.js +50 -154
  25. package/dist/index.js.map +4 -4
  26. package/dist/overlays/schema.d.ts +22 -22
  27. package/dist/react.js +3 -2
  28. package/dist/react.js.map +1 -1
  29. package/dist/runtime.d.ts +4 -4
  30. package/dist/smart-canvas.esm.js +44 -47
  31. package/dist/smart-canvas.esm.js.map +4 -4
  32. package/dist/smart-canvas.js +813 -645
  33. package/dist/smart-canvas.js.map +4 -4
  34. package/dist/smart-canvas.min.js +41 -44
  35. package/dist/smart-canvas.min.js.map +4 -4
  36. package/dist/theme/ThemeProvider.d.ts +11 -16
  37. package/dist/theme/defaultTheme.d.ts +6 -1
  38. package/dist/theme/index.d.ts +3 -4
  39. package/dist/theme/types.d.ts +10 -0
  40. package/dist/types.d.ts +17 -76
  41. package/dist/version.d.ts +1 -1
  42. package/package.json +7 -7
  43. package/schema/canvas-config.schema.json +2679 -408
  44. package/scripts/validate-config.mjs +37 -0
  45. package/dist/chunk-AYTRRBR5.js.map +0 -7
  46. package/dist/chunk-RUKIPJEJ.js.map +0 -7
  47. package/dist/theme/extractHostTheme.d.ts +0 -14
  48. package/schema/canvas-config.base.schema.json +0 -351
@@ -125,13 +125,13 @@ export declare const TooltipStepZ: z.ZodObject<{
125
125
  closeButton: z.ZodOptional<z.ZodBoolean>;
126
126
  timeoutMs: z.ZodOptional<z.ZodNumber>;
127
127
  }, "strip", z.ZodTypeAny, {
128
+ timeoutMs?: number | undefined;
128
129
  onEsc?: boolean | undefined;
129
130
  closeButton?: boolean | undefined;
130
- timeoutMs?: number | undefined;
131
131
  }, {
132
+ timeoutMs?: number | undefined;
132
133
  onEsc?: boolean | undefined;
133
134
  closeButton?: boolean | undefined;
134
- timeoutMs?: number | undefined;
135
135
  }>>;
136
136
  }, "strip", z.ZodTypeAny, {
137
137
  kind: "tooltip";
@@ -162,9 +162,9 @@ export declare const TooltipStepZ: z.ZodObject<{
162
162
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
163
163
  blocking?: boolean | undefined;
164
164
  dismiss?: {
165
+ timeoutMs?: number | undefined;
165
166
  onEsc?: boolean | undefined;
166
167
  closeButton?: boolean | undefined;
167
- timeoutMs?: number | undefined;
168
168
  } | undefined;
169
169
  offsetPx?: number | undefined;
170
170
  }, {
@@ -196,9 +196,9 @@ export declare const TooltipStepZ: z.ZodObject<{
196
196
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
197
197
  blocking?: boolean | undefined;
198
198
  dismiss?: {
199
+ timeoutMs?: number | undefined;
199
200
  onEsc?: boolean | undefined;
200
201
  closeButton?: boolean | undefined;
201
- timeoutMs?: number | undefined;
202
202
  } | undefined;
203
203
  offsetPx?: number | undefined;
204
204
  }>;
@@ -282,12 +282,12 @@ export declare const HighlightStepZ: z.ZodObject<{
282
282
  onEsc: z.ZodOptional<z.ZodBoolean>;
283
283
  timeoutMs: z.ZodOptional<z.ZodNumber>;
284
284
  }, "strip", z.ZodTypeAny, {
285
- onEsc?: boolean | undefined;
286
285
  timeoutMs?: number | undefined;
286
+ onEsc?: boolean | undefined;
287
287
  onClickOutside?: boolean | undefined;
288
288
  }, {
289
- onEsc?: boolean | undefined;
290
289
  timeoutMs?: number | undefined;
290
+ onEsc?: boolean | undefined;
291
291
  onClickOutside?: boolean | undefined;
292
292
  }>>;
293
293
  }, "strip", z.ZodTypeAny, {
@@ -316,8 +316,8 @@ export declare const HighlightStepZ: z.ZodObject<{
316
316
  opacity?: number | undefined;
317
317
  } | undefined;
318
318
  dismiss?: {
319
- onEsc?: boolean | undefined;
320
319
  timeoutMs?: number | undefined;
320
+ onEsc?: boolean | undefined;
321
321
  onClickOutside?: boolean | undefined;
322
322
  } | undefined;
323
323
  copy?: string | undefined;
@@ -352,8 +352,8 @@ export declare const HighlightStepZ: z.ZodObject<{
352
352
  opacity?: number | undefined;
353
353
  } | undefined;
354
354
  dismiss?: {
355
- onEsc?: boolean | undefined;
356
355
  timeoutMs?: number | undefined;
356
+ onEsc?: boolean | undefined;
357
357
  onClickOutside?: boolean | undefined;
358
358
  } | undefined;
359
359
  copy?: string | undefined;
@@ -441,13 +441,13 @@ export declare const CanvasRecipeZ: z.ZodObject<{
441
441
  closeButton: z.ZodOptional<z.ZodBoolean>;
442
442
  timeoutMs: z.ZodOptional<z.ZodNumber>;
443
443
  }, "strip", z.ZodTypeAny, {
444
+ timeoutMs?: number | undefined;
444
445
  onEsc?: boolean | undefined;
445
446
  closeButton?: boolean | undefined;
446
- timeoutMs?: number | undefined;
447
447
  }, {
448
+ timeoutMs?: number | undefined;
448
449
  onEsc?: boolean | undefined;
449
450
  closeButton?: boolean | undefined;
450
- timeoutMs?: number | undefined;
451
451
  }>>;
452
452
  }, "strip", z.ZodTypeAny, {
453
453
  kind: "tooltip";
@@ -478,9 +478,9 @@ export declare const CanvasRecipeZ: z.ZodObject<{
478
478
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
479
479
  blocking?: boolean | undefined;
480
480
  dismiss?: {
481
+ timeoutMs?: number | undefined;
481
482
  onEsc?: boolean | undefined;
482
483
  closeButton?: boolean | undefined;
483
- timeoutMs?: number | undefined;
484
484
  } | undefined;
485
485
  offsetPx?: number | undefined;
486
486
  }, {
@@ -512,9 +512,9 @@ export declare const CanvasRecipeZ: z.ZodObject<{
512
512
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
513
513
  blocking?: boolean | undefined;
514
514
  dismiss?: {
515
+ timeoutMs?: number | undefined;
515
516
  onEsc?: boolean | undefined;
516
517
  closeButton?: boolean | undefined;
517
- timeoutMs?: number | undefined;
518
518
  } | undefined;
519
519
  offsetPx?: number | undefined;
520
520
  }>, z.ZodObject<{
@@ -597,12 +597,12 @@ export declare const CanvasRecipeZ: z.ZodObject<{
597
597
  onEsc: z.ZodOptional<z.ZodBoolean>;
598
598
  timeoutMs: z.ZodOptional<z.ZodNumber>;
599
599
  }, "strip", z.ZodTypeAny, {
600
- onEsc?: boolean | undefined;
601
600
  timeoutMs?: number | undefined;
601
+ onEsc?: boolean | undefined;
602
602
  onClickOutside?: boolean | undefined;
603
603
  }, {
604
- onEsc?: boolean | undefined;
605
604
  timeoutMs?: number | undefined;
605
+ onEsc?: boolean | undefined;
606
606
  onClickOutside?: boolean | undefined;
607
607
  }>>;
608
608
  }, "strip", z.ZodTypeAny, {
@@ -631,8 +631,8 @@ export declare const CanvasRecipeZ: z.ZodObject<{
631
631
  opacity?: number | undefined;
632
632
  } | undefined;
633
633
  dismiss?: {
634
- onEsc?: boolean | undefined;
635
634
  timeoutMs?: number | undefined;
635
+ onEsc?: boolean | undefined;
636
636
  onClickOutside?: boolean | undefined;
637
637
  } | undefined;
638
638
  copy?: string | undefined;
@@ -667,8 +667,8 @@ export declare const CanvasRecipeZ: z.ZodObject<{
667
667
  opacity?: number | undefined;
668
668
  } | undefined;
669
669
  dismiss?: {
670
- onEsc?: boolean | undefined;
671
670
  timeoutMs?: number | undefined;
671
+ onEsc?: boolean | undefined;
672
672
  onClickOutside?: boolean | undefined;
673
673
  } | undefined;
674
674
  copy?: string | undefined;
@@ -708,9 +708,9 @@ export declare const CanvasRecipeZ: z.ZodObject<{
708
708
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
709
709
  blocking?: boolean | undefined;
710
710
  dismiss?: {
711
+ timeoutMs?: number | undefined;
711
712
  onEsc?: boolean | undefined;
712
713
  closeButton?: boolean | undefined;
713
- timeoutMs?: number | undefined;
714
714
  } | undefined;
715
715
  offsetPx?: number | undefined;
716
716
  } | {
@@ -739,8 +739,8 @@ export declare const CanvasRecipeZ: z.ZodObject<{
739
739
  opacity?: number | undefined;
740
740
  } | undefined;
741
741
  dismiss?: {
742
- onEsc?: boolean | undefined;
743
742
  timeoutMs?: number | undefined;
743
+ onEsc?: boolean | undefined;
744
744
  onClickOutside?: boolean | undefined;
745
745
  } | undefined;
746
746
  copy?: string | undefined;
@@ -783,9 +783,9 @@ export declare const CanvasRecipeZ: z.ZodObject<{
783
783
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
784
784
  blocking?: boolean | undefined;
785
785
  dismiss?: {
786
+ timeoutMs?: number | undefined;
786
787
  onEsc?: boolean | undefined;
787
788
  closeButton?: boolean | undefined;
788
- timeoutMs?: number | undefined;
789
789
  } | undefined;
790
790
  offsetPx?: number | undefined;
791
791
  } | {
@@ -814,8 +814,8 @@ export declare const CanvasRecipeZ: z.ZodObject<{
814
814
  opacity?: number | undefined;
815
815
  } | undefined;
816
816
  dismiss?: {
817
- onEsc?: boolean | undefined;
818
817
  timeoutMs?: number | undefined;
818
+ onEsc?: boolean | undefined;
819
819
  onClickOutside?: boolean | undefined;
820
820
  } | undefined;
821
821
  copy?: string | undefined;
@@ -859,9 +859,9 @@ export declare function validateRecipe(json: unknown): {
859
859
  placement?: "top" | "right" | "bottom" | "left" | "auto" | undefined;
860
860
  blocking?: boolean | undefined;
861
861
  dismiss?: {
862
+ timeoutMs?: number | undefined;
862
863
  onEsc?: boolean | undefined;
863
864
  closeButton?: boolean | undefined;
864
- timeoutMs?: number | undefined;
865
865
  } | undefined;
866
866
  offsetPx?: number | undefined;
867
867
  } | {
@@ -890,8 +890,8 @@ export declare function validateRecipe(json: unknown): {
890
890
  opacity?: number | undefined;
891
891
  } | undefined;
892
892
  dismiss?: {
893
- onEsc?: boolean | undefined;
894
893
  timeoutMs?: number | undefined;
894
+ onEsc?: boolean | undefined;
895
895
  onClickOutside?: boolean | undefined;
896
896
  } | undefined;
897
897
  copy?: string | undefined;
package/dist/react.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  Syntro
3
- } from "./chunk-RUKIPJEJ.js";
4
- import "./chunk-AYTRRBR5.js";
3
+ } from "./chunk-RC5YIJSP.js";
4
+ import "./chunk-OGTCFYR3.js";
5
+ import "./chunk-4NYS7GAW.js";
5
6
 
6
7
  // src/react.tsx
7
8
  import { createContext, useContext, useEffect, useRef, useState } from "react";
package/dist/react.js.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/react.tsx"],
4
4
  "sourcesContent": ["/**\n * React bindings for the Syntro SDK.\n *\n * Usage:\n * ```tsx\n * import { SyntroProvider, useSyntro } from '@syntrologie/runtime-sdk/react';\n *\n * function App() {\n * return (\n * <SyntroProvider token=\"syn_xxx\">\n * <MyApp />\n * </SyntroProvider>\n * );\n * }\n *\n * function MyComponent() {\n * const { canvas, experiments, telemetry, isReady } = useSyntro();\n * // ...\n * }\n * ```\n */\nimport { createContext, type ReactNode, useContext, useEffect, useRef, useState } from 'react';\n\nimport type { SmartCanvasHandle } from './api';\nimport { Syntro, type SyntroInitOptions, type SyntroInitResult } from './bootstrap';\nimport type { ExperimentClient } from './experiments/types';\nimport type { TelemetryClient } from './telemetry/types';\n\nexport interface SyntroContextValue {\n /** The SmartCanvas handle */\n canvas: SmartCanvasHandle | null;\n /** The experiment client */\n experiments: ExperimentClient | null;\n /** The telemetry client */\n telemetry: TelemetryClient | null;\n /** Whether the SDK has finished initializing */\n isReady: boolean;\n /** Any error that occurred during initialization */\n error: Error | null;\n}\n\nconst SyntroContext = createContext<SyntroContextValue | null>(null);\n\n// Global tracking to handle React Strict Mode double-mounting\nlet globalInitPromise: Promise<SyntroInitResult> | null = null;\nlet globalInitToken: string | null = null;\n\nexport interface SyntroProviderProps {\n /**\n * The Syntro token containing all credentials.\n */\n token: string;\n\n /**\n * Optional canvas configuration overrides.\n */\n canvasOptions?: SyntroInitOptions['canvas'];\n\n /**\n * Custom config fetcher to override the default experiment-based fetcher.\n * Use this for local development or when bypassing the experiment server.\n */\n fetcher?: SyntroInitOptions['fetcher'];\n\n /**\n * Children to render.\n */\n children: ReactNode;\n\n /**\n * Called when initialization completes.\n */\n onReady?: (result: SyntroInitResult) => void;\n\n /**\n * Called when initialization fails.\n */\n onError?: (error: Error) => void;\n}\n\n/**\n * Provider component that initializes the Syntro SDK.\n *\n * Place this at the root of your app or at the top of any subtree\n * that needs access to the SDK.\n */\nexport function SyntroProvider({\n token,\n canvasOptions,\n fetcher,\n children,\n onReady,\n onError,\n}: SyntroProviderProps) {\n const [state, setState] = useState<SyntroContextValue>({\n canvas: null,\n experiments: null,\n telemetry: null,\n isReady: false,\n error: null,\n });\n\n const initRef = useRef(false);\n const handleRef = useRef<SmartCanvasHandle | null>(null);\n\n useEffect(() => {\n if (!token) return;\n\n // Reuse existing init if same token (handles React Strict Mode remounts)\n if (globalInitPromise && globalInitToken === token) {\n globalInitPromise.then((result) => {\n handleRef.current = result.canvas;\n setState({\n canvas: result.canvas,\n experiments: result.experiments ?? null,\n telemetry: result.telemetry ?? null,\n isReady: true,\n error: null,\n });\n });\n return;\n }\n\n // Prevent double init\n if (initRef.current) return;\n initRef.current = true;\n\n globalInitToken = token;\n globalInitPromise = Syntro.init({ token, canvas: canvasOptions, fetcher });\n\n globalInitPromise\n .then((result) => {\n handleRef.current = result.canvas;\n setState({\n canvas: result.canvas,\n experiments: result.experiments ?? null,\n telemetry: result.telemetry ?? null,\n isReady: true,\n error: null,\n });\n onReady?.(result);\n })\n .catch((err) => {\n const error = err instanceof Error ? err : new Error(String(err));\n setState((prev) => ({ ...prev, error, isReady: true }));\n onError?.(error);\n // Clear global state on error so retry is possible\n globalInitPromise = null;\n globalInitToken = null;\n });\n\n // Don't destroy on unmount in dev mode - React Strict Mode will remount\n // The canvas persists and will be reused on remount\n }, [token, canvasOptions, fetcher, onError, onReady]);\n\n return <SyntroContext.Provider value={state}>{children}</SyntroContext.Provider>;\n}\n\n/**\n * Hook to access the Syntro SDK.\n *\n * Must be used within a SyntroProvider.\n *\n * @returns The SDK context containing canvas, experiments, telemetry, and status\n */\nexport function useSyntro(): SyntroContextValue {\n const context = useContext(SyntroContext);\n if (!context) {\n throw new Error('useSyntro must be used within a SyntroProvider');\n }\n return context;\n}\n\n/**\n * Hook to check if the SDK is ready.\n *\n * Shorthand for `useSyntro().isReady`.\n */\nexport function useSyntroReady(): boolean {\n return useSyntro().isReady;\n}\n\n/**\n * Hook to access the experiment client.\n *\n * @returns The experiment client, or null if not configured\n */\nexport function useSyntroExperiments(): ExperimentClient | null {\n return useSyntro().experiments;\n}\n\n/**\n * Hook to access the telemetry client.\n *\n * @returns The telemetry client, or null if not configured\n */\nexport function useSyntroTelemetry(): TelemetryClient | null {\n return useSyntro().telemetry;\n}\n\n/**\n * Hook to access the canvas handle.\n *\n * @returns The canvas handle, or null if not ready\n */\nexport function useSyntroCanvas(): SmartCanvasHandle | null {\n return useSyntro().canvas;\n}\n"],
5
- "mappings": ";;;;;;AAqBA,SAAS,eAA+B,YAAY,WAAW,QAAQ,gBAAgB;AAsI9E;AAlHT,IAAM,gBAAgB,cAAyC,IAAI;AAGnE,IAAI,oBAAsD;AAC1D,IAAI,kBAAiC;AAyC9B,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA6B;AAAA,IACrD,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACT,CAAC;AAED,QAAM,UAAU,OAAO,KAAK;AAC5B,QAAM,YAAY,OAAiC,IAAI;AAEvD,YAAU,MAAM;AACd,QAAI,CAAC,MAAO;AAGZ,QAAI,qBAAqB,oBAAoB,OAAO;AAClD,wBAAkB,KAAK,CAAC,WAAW;AA9GzC;AA+GQ,kBAAU,UAAU,OAAO;AAC3B,iBAAS;AAAA,UACP,QAAQ,OAAO;AAAA,UACf,cAAa,YAAO,gBAAP,YAAsB;AAAA,UACnC,YAAW,YAAO,cAAP,YAAoB;AAAA,UAC/B,SAAS;AAAA,UACT,OAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AACD;AAAA,IACF;AAGA,QAAI,QAAQ,QAAS;AACrB,YAAQ,UAAU;AAElB,sBAAkB;AAClB,wBAAoB,OAAO,KAAK,EAAE,OAAO,QAAQ,eAAe,QAAQ,CAAC;AAEzE,sBACG,KAAK,CAAC,WAAW;AAnIxB;AAoIQ,gBAAU,UAAU,OAAO;AAC3B,eAAS;AAAA,QACP,QAAQ,OAAO;AAAA,QACf,cAAa,YAAO,gBAAP,YAAsB;AAAA,QACnC,YAAW,YAAO,cAAP,YAAoB;AAAA,QAC/B,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC;AACD,yCAAU;AAAA,IACZ,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,YAAM,QAAQ,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC;AAChE,eAAS,CAAC,UAAU,EAAE,GAAG,MAAM,OAAO,SAAS,KAAK,EAAE;AACtD,yCAAU;AAEV,0BAAoB;AACpB,wBAAkB;AAAA,IACpB,CAAC;AAAA,EAIL,GAAG,CAAC,OAAO,eAAe,SAAS,SAAS,OAAO,CAAC;AAEpD,SAAO,oBAAC,cAAc,UAAd,EAAuB,OAAO,OAAQ,UAAS;AACzD;AASO,SAAS,YAAgC;AAC9C,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,SAAO;AACT;AAOO,SAAS,iBAA0B;AACxC,SAAO,UAAU,EAAE;AACrB;AAOO,SAAS,uBAAgD;AAC9D,SAAO,UAAU,EAAE;AACrB;AAOO,SAAS,qBAA6C;AAC3D,SAAO,UAAU,EAAE;AACrB;AAOO,SAAS,kBAA4C;AAC1D,SAAO,UAAU,EAAE;AACrB;",
5
+ "mappings": ";;;;;;;AAqBA,SAAS,eAA+B,YAAY,WAAW,QAAQ,gBAAgB;AAsI9E;AAlHT,IAAM,gBAAgB,cAAyC,IAAI;AAGnE,IAAI,oBAAsD;AAC1D,IAAI,kBAAiC;AAyC9B,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA6B;AAAA,IACrD,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACT,CAAC;AAED,QAAM,UAAU,OAAO,KAAK;AAC5B,QAAM,YAAY,OAAiC,IAAI;AAEvD,YAAU,MAAM;AACd,QAAI,CAAC,MAAO;AAGZ,QAAI,qBAAqB,oBAAoB,OAAO;AAClD,wBAAkB,KAAK,CAAC,WAAW;AA9GzC;AA+GQ,kBAAU,UAAU,OAAO;AAC3B,iBAAS;AAAA,UACP,QAAQ,OAAO;AAAA,UACf,cAAa,YAAO,gBAAP,YAAsB;AAAA,UACnC,YAAW,YAAO,cAAP,YAAoB;AAAA,UAC/B,SAAS;AAAA,UACT,OAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AACD;AAAA,IACF;AAGA,QAAI,QAAQ,QAAS;AACrB,YAAQ,UAAU;AAElB,sBAAkB;AAClB,wBAAoB,OAAO,KAAK,EAAE,OAAO,QAAQ,eAAe,QAAQ,CAAC;AAEzE,sBACG,KAAK,CAAC,WAAW;AAnIxB;AAoIQ,gBAAU,UAAU,OAAO;AAC3B,eAAS;AAAA,QACP,QAAQ,OAAO;AAAA,QACf,cAAa,YAAO,gBAAP,YAAsB;AAAA,QACnC,YAAW,YAAO,cAAP,YAAoB;AAAA,QAC/B,SAAS;AAAA,QACT,OAAO;AAAA,MACT,CAAC;AACD,yCAAU;AAAA,IACZ,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,YAAM,QAAQ,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC;AAChE,eAAS,CAAC,UAAU,EAAE,GAAG,MAAM,OAAO,SAAS,KAAK,EAAE;AACtD,yCAAU;AAEV,0BAAoB;AACpB,wBAAkB;AAAA,IACpB,CAAC;AAAA,EAIL,GAAG,CAAC,OAAO,eAAe,SAAS,SAAS,OAAO,CAAC;AAEpD,SAAO,oBAAC,cAAc,UAAd,EAAuB,OAAO,OAAQ,UAAS;AACzD;AASO,SAAS,YAAgC;AAC9C,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,SAAO;AACT;AAOO,SAAS,iBAA0B;AACxC,SAAO,UAAU,EAAE;AACrB;AAOO,SAAS,uBAAgD;AAC9D,SAAO,UAAU,EAAE;AACrB;AAOO,SAAS,qBAA6C;AAC3D,SAAO,UAAU,EAAE;AACrB;AAOO,SAAS,kBAA4C;AAC1D,SAAO,UAAU,EAAE;AACrB;",
6
6
  "names": []
7
7
  }
package/dist/runtime.d.ts CHANGED
@@ -16,7 +16,7 @@
16
16
  import { type ActionEngine, type ExecutorRegistry } from './actions';
17
17
  import { type AppRegistry } from './apps';
18
18
  import { type ContextManager } from './context/ContextManager';
19
- import type { DecisionResult, DecisionStrategy } from './decisions/types';
19
+ import type { DecisionResult, DecisionStrategy, RouteFilter } from './decisions/types';
20
20
  import { type EventAccumulator } from './events/EventAccumulator';
21
21
  import { type EventBus } from './events/EventBus';
22
22
  import type { SessionMetricTracker } from './metrics/sessionMetrics';
@@ -24,7 +24,7 @@ import { NavigationMonitor } from './navigation/NavigationMonitor';
24
24
  import { type StateStore } from './state/StateStore';
25
25
  import { type Surfaces } from './surfaces';
26
26
  import type { TelemetryClient } from './telemetry/types';
27
- import type { RoutesConfig, TileConfig } from './types';
27
+ import type { TileConfig } from './types';
28
28
  import { type WidgetRegistry } from './widgets';
29
29
  /**
30
30
  * Runtime version.
@@ -81,7 +81,7 @@ export interface SmartCanvasRuntime {
81
81
  /**
82
82
  * Update the routes config (e.g., when config is fetched).
83
83
  */
84
- setRoutes(routes: RoutesConfig): void;
84
+ setRoutes(routes: RouteFilter): void;
85
85
  /**
86
86
  * Clean up runtime resources.
87
87
  */
@@ -96,7 +96,7 @@ export interface SmartCanvasRuntimeOptions {
96
96
  /** Session metric tracker */
97
97
  sessionMetrics?: SessionMetricTracker;
98
98
  /** Initial routes config */
99
- routes?: RoutesConfig;
99
+ routes?: RouteFilter;
100
100
  /** Runtime mode */
101
101
  mode?: RuntimeMode;
102
102
  /** State namespace */