@almadar/core 10.102.0 → 10.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/builders.d.ts +5 -5
  2. package/dist/builders.js +5 -2
  3. package/dist/builders.js.map +1 -1
  4. package/dist/{bus-BS4TMOJW.d.ts → bus-DCYJF88B.d.ts} +37 -7
  5. package/dist/{domain-Ds_7wZIL.d.ts → domain-DnEv7amB.d.ts} +17 -5
  6. package/dist/{effect-Hm_QDaSI.d.ts → effect-DhsB3usU.d.ts} +26 -376
  7. package/dist/{entityAccess-D2OpLCyX.d.ts → entityAccess-CLWlioZ0.d.ts} +3 -3
  8. package/dist/{expression-DRwzVnMu.d.ts → expression-CfeHdS-f.d.ts} +10 -1
  9. package/dist/factory/index.d.ts +5 -5
  10. package/dist/factory/index.js +397 -4805
  11. package/dist/factory/index.js.map +1 -1
  12. package/dist/factory-runtime/index.d.ts +5 -5
  13. package/dist/factory-runtime/index.js +34 -9
  14. package/dist/factory-runtime/index.js.map +1 -1
  15. package/dist/fixtures.d.ts +3 -3
  16. package/dist/fixtures.js +20 -3
  17. package/dist/fixtures.js.map +1 -1
  18. package/dist/i18n/index.js +27 -6
  19. package/dist/i18n/index.js.map +1 -1
  20. package/dist/{index-CyfcxG5N.d.ts → index-B1az2E8z.d.ts} +122 -23
  21. package/dist/index.d.ts +85 -17
  22. package/dist/index.js +950 -5291
  23. package/dist/index.js.map +1 -1
  24. package/dist/lolo-document/index.d.ts +166 -0
  25. package/dist/lolo-document/index.js +615 -0
  26. package/dist/lolo-document/index.js.map +1 -0
  27. package/dist/mock/index.d.ts +6 -6
  28. package/dist/mock/index.js +12 -1
  29. package/dist/mock/index.js.map +1 -1
  30. package/dist/patterns/component-mapping.json +17 -192
  31. package/dist/patterns/event-contracts.json +1 -86
  32. package/dist/patterns/index.d.ts +10624 -20955
  33. package/dist/patterns/index.js +663 -5326
  34. package/dist/patterns/index.js.map +1 -1
  35. package/dist/patterns/patterns-registry.json +398 -4806
  36. package/dist/patterns/registry.json +398 -4806
  37. package/dist/{schema-COf9yTjs.d.ts → schema-CjwAD-Y4.d.ts} +1577 -274
  38. package/dist/state-machine/index.d.ts +1 -1
  39. package/dist/themes/index.d.ts +1 -1
  40. package/dist/themes/index.js +2 -1
  41. package/dist/themes/index.js.map +1 -1
  42. package/dist/{trait-Be3xF0px.d.ts → trait-DoFyUfui.d.ts} +75 -11
  43. package/dist/types/index.d.ts +8 -8
  44. package/dist/types/index.js +221 -54
  45. package/dist/types/index.js.map +1 -1
  46. package/dist/{types-CYOzs4As.d.ts → types-DBAbXfRk.d.ts} +2 -2
  47. package/fixtures/events-wire/client-effects-provenance/request.json +5 -0
  48. package/fixtures/events-wire/client-effects-provenance/response.json +57 -0
  49. package/fixtures/events-wire/effect-results-every-kind/response.json +1 -1
  50. package/package.json +7 -2
  51. package/src/types/bindings.ts +28 -3
@@ -862,6 +862,44 @@ var EventPayloadValueSchema = z.lazy(
862
862
  ])
863
863
  );
864
864
  var EventPayloadSchema = z.lazy(() => z.record(EventPayloadValueSchema));
865
+ function isStaticallyFalse(expr, resolve) {
866
+ const known = (e) => {
867
+ if (typeof e === "string" && e.startsWith("@") && resolve !== void 0) {
868
+ const value2 = resolve(e);
869
+ return value2 === void 0 ? e : value2;
870
+ }
871
+ return e;
872
+ };
873
+ const isLiteral = (e) => e === null || typeof e === "boolean" || typeof e === "number" || typeof e === "string" && !e.startsWith("@");
874
+ const value = known(expr);
875
+ if (value === false || value === null) return true;
876
+ if (typeof value === "number") return value === 0;
877
+ if (typeof value === "string") return value === "";
878
+ if (Array.isArray(value)) {
879
+ const op = value[0];
880
+ if (typeof op !== "string") return value.length === 0;
881
+ const args = value.slice(1);
882
+ switch (op) {
883
+ case "and":
884
+ return args.some((a) => isStaticallyFalse(a, resolve));
885
+ case "or":
886
+ return args.length > 0 && args.every((a) => isStaticallyFalse(a, resolve));
887
+ case "not":
888
+ return args.length === 1 && known(args[0]) === true;
889
+ case "==":
890
+ case "!=": {
891
+ if (args.length !== 2) return false;
892
+ const [l, r] = [known(args[0]), known(args[1])];
893
+ if (!isLiteral(l) || !isLiteral(r)) return false;
894
+ return l === r === (op === "!=");
895
+ }
896
+ default:
897
+ return false;
898
+ }
899
+ }
900
+ if (typeof value === "object") return Object.keys(value).length === 0;
901
+ return false;
902
+ }
865
903
 
866
904
  // src/types/entity.ts
867
905
  var EntityPersistenceSchema = z.enum([
@@ -987,7 +1025,7 @@ var SERVER_REPORTED_EFFECTS = [
987
1025
  "fetch-stream",
988
1026
  "ref",
989
1027
  "deref",
990
- "swap!",
1028
+ "swap",
991
1029
  "atomic",
992
1030
  "emit"
993
1031
  ];
@@ -1040,7 +1078,7 @@ function deref(binding, selector) {
1040
1078
  return selector ? ["deref", binding, selector] : ["deref", binding];
1041
1079
  }
1042
1080
  function swap(binding, transform) {
1043
- return ["swap!", binding, transform];
1081
+ return ["swap", binding, transform];
1044
1082
  }
1045
1083
  function watch(binding, event, options) {
1046
1084
  return options ? ["watch", binding, event, options] : ["watch", binding, event];
@@ -1072,6 +1110,14 @@ var PayloadTypeWhenSchema = z.object({
1072
1110
  equals: z.string().min(1),
1073
1111
  type: z.string().min(1)
1074
1112
  });
1113
+ function payloadTypeContainer(type) {
1114
+ if (type === "array") return { kind: "array", element: "" };
1115
+ if (type === "object") return { kind: "object" };
1116
+ if (type.length > 2 && type.startsWith("[") && type.endsWith("]")) {
1117
+ return { kind: "array", element: type.slice(1, -1) };
1118
+ }
1119
+ return { kind: "opaque" };
1120
+ }
1075
1121
  var PayloadFieldSchema = z.object({
1076
1122
  name: z.string().min(1),
1077
1123
  type: z.string().min(1),
@@ -1288,6 +1334,7 @@ var TraitTickSchema = z.object({
1288
1334
  priority: z.number().optional(),
1289
1335
  interval: TickIntervalSchema,
1290
1336
  appliesTo: z.array(z.string()).optional(),
1337
+ runsInBackground: z.boolean().optional(),
1291
1338
  pages: z.array(z.string()).optional(),
1292
1339
  pageIds: z.array(PageIdSchema).optional(),
1293
1340
  guard: ExpressionSchema.optional(),
@@ -1473,17 +1520,17 @@ var EffectUseSchema = z.object({
1473
1520
  });
1474
1521
  var EffectRowSchema = z.array(EffectUseSchema);
1475
1522
  var DispatchModeSchema = z.enum(["persistedAwaited", "hybridClientOnly", "runtimeOptimistic"]);
1476
- function computeDispatchMode(local, entityIsRuntime) {
1523
+ function computeDispatchMode(local, entityIsRuntime, touchesServer) {
1477
1524
  if (local) {
1478
1525
  return "hybridClientOnly";
1479
1526
  }
1480
1527
  if (entityIsRuntime) {
1481
- return "runtimeOptimistic";
1528
+ return touchesServer ? "runtimeOptimistic" : "hybridClientOnly";
1482
1529
  }
1483
1530
  return "persistedAwaited";
1484
1531
  }
1485
- function computeTraitDispatchMode(trait, entity) {
1486
- return computeDispatchMode(trait.local ?? false, entity !== void 0 && isRuntimeEntity(entity));
1532
+ function computeTraitDispatchMode(trait, entity, touchesServer) {
1533
+ return computeDispatchMode(trait.local ?? false, entity !== void 0 && isRuntimeEntity(entity), touchesServer);
1487
1534
  }
1488
1535
  var SourceBehaviorMetadataSchema = z.object({
1489
1536
  behavior: z.string().min(1),
@@ -1971,8 +2018,18 @@ var ThemeDefinitionSchema = z.object({
1971
2018
  function isThemeReference(theme) {
1972
2019
  return typeof theme === "string";
1973
2020
  }
2021
+ var THEME_REGISTRY_KEY_PATTERN = "[a-z][a-z0-9]*(-[a-z0-9]+)*";
2022
+ var THEME_REGISTRY_KEY = new RegExp(`^${THEME_REGISTRY_KEY_PATTERN}$`);
2023
+ function isThemeRegistryKey(theme) {
2024
+ return typeof theme === "string" && THEME_REGISTRY_KEY.test(theme);
2025
+ }
2026
+ function themeDataKey(theme) {
2027
+ if (theme === void 0) return "";
2028
+ if (typeof theme === "string") return theme;
2029
+ return theme.name;
2030
+ }
1974
2031
  var ThemeRefStringSchema = z.string().regex(
1975
- /^([A-Z][a-zA-Z0-9]*\.theme|[a-z][a-z0-9]*(-[a-z0-9]+)*)$/,
2032
+ new RegExp(`^([A-Z][a-zA-Z0-9]*\\.theme|${THEME_REGISTRY_KEY_PATTERN})$`),
1976
2033
  'Theme reference must be "Alias.theme" or a registry theme key (e.g., "linear-clean-light")'
1977
2034
  );
1978
2035
  var ThemeRefSchema = z.union([
@@ -2249,7 +2306,8 @@ var OrbitalRefObjectSchema = z.object({
2249
2306
  roles: z.record(z.string(), z.array(z.string())).optional(),
2250
2307
  entities: z.record(z.string(), z.string()).optional(),
2251
2308
  mounts: z.record(z.string(), z.array(z.string())).optional(),
2252
- extend: z.array(EntityFieldSchema).optional()
2309
+ extend: z.array(EntityFieldSchema).optional(),
2310
+ listens: z.array(TraitEventListenerSchema.extend({ trait: z.string() })).optional()
2253
2311
  });
2254
2312
  function parseOrbitalRef(ref2) {
2255
2313
  const match = ref2.match(/^([A-Z][a-zA-Z0-9]*)\.orbitals\.([A-Z][a-zA-Z0-9]*)$/);
@@ -2450,15 +2508,40 @@ var BINDING_DOCS = {
2450
2508
  description: "Render-resolved schema sigil \u2014 the host orbital's active data-theme key, derived from Orbital.theme. Substituted from the OrbitalSchema before codegen; never survives as a live binding.",
2451
2509
  examples: ["@currentTheme"],
2452
2510
  requiresPath: false
2511
+ },
2512
+ event: {
2513
+ description: "The delivery being processed: { event, payload, source } \u2014 for a listens delivery the source emit, with its BusEventSource envelope (Runtime Spec Clause 5.5)",
2514
+ examples: ["@event.event", "@event.payload.n", "@event.source.trait", "@event.source.tick"],
2515
+ requiresPath: false
2516
+ },
2517
+ prevEvents: {
2518
+ description: "The deliveries this trait already received in this dispatch, in order, each shaped like @event",
2519
+ examples: ["@prevEvents"],
2520
+ requiresPath: false
2521
+ },
2522
+ prevStates: {
2523
+ description: "The states this trait left in this dispatch, in order",
2524
+ examples: ["@prevStates"],
2525
+ requiresPath: false
2526
+ },
2527
+ fromState: {
2528
+ description: "The transition's source state",
2529
+ examples: ["@fromState"],
2530
+ requiresPath: false
2531
+ },
2532
+ toState: {
2533
+ description: "The transition's target state (null in a listens `when`, where no transition is chosen yet)",
2534
+ examples: ["@toState"],
2535
+ requiresPath: false
2453
2536
  }
2454
2537
  };
2455
2538
  var BINDING_CONTEXT_RULES = {
2456
2539
  guard: {
2457
- allowed: ["entity", "payload", "state", "now", "config", "user"],
2458
- description: `Guards can access entity fields, event payload, current state, time, the call-site trait config (@config.X), and the authenticated user context (@user.id, @user.role) for ownership / role gates. Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
2540
+ allowed: ["entity", "payload", "state", "now", "config", "user", "event", "prevEvents", "prevStates", "fromState", "toState"],
2541
+ description: `Guards can read the delivery being processed and this dispatch's log (@event, @prevEvents, @prevStates) and the transition's ends (@fromState, @toState; Runtime Spec Clause 5.5). Guards can access entity fields, event payload, current state, time, the call-site trait config (@config.X), and the authenticated user context (@user.id, @user.role) for ownership / role gates. Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
2459
2542
  },
2460
2543
  effect: {
2461
- allowed: ["entity", "payload", "state", "now", "trait", "config", "user", "callsitePayload", "pages", "currentTheme"],
2544
+ allowed: ["entity", "payload", "state", "now", "trait", "config", "user", "callsitePayload", "pages", "currentTheme", "event", "prevEvents", "prevStates", "fromState", "toState"],
2462
2545
  description: "Effects can access and modify entity fields, use payload data, embed another trait's live frame via @trait.X inside render-ui children, read trait config values (@config.X) for atoms parameterized by their call-site, and read the authenticated user context (@user.id, @user.role). At molecule/organism inline time, @config.X is substituted with the literal value from the call-site config block; at atom-scope validate, @config is allowed-but-unresolved. @callsitePayload.X is the call-site-captured event payload emitted by the compiler's inline-trait hoisting (a hoisted render block that captured @payload); it is resolved at the composing effect by the runtime BindingResolver."
2463
2546
  },
2464
2547
  tick: {
@@ -2512,12 +2595,18 @@ var BINDING_ROOTS = [
2512
2595
  "entity",
2513
2596
  "payload",
2514
2597
  "state",
2598
+ "now",
2515
2599
  "config",
2516
- "user",
2517
2600
  "trait",
2518
- "item",
2519
- "now",
2520
- "computed",
2601
+ "user",
2602
+ "callsitePayload",
2603
+ "pages",
2604
+ "currentTheme",
2605
+ "event",
2606
+ "prevEvents",
2607
+ "prevStates",
2608
+ "fromState",
2609
+ "toState",
2521
2610
  "other"
2522
2611
  ];
2523
2612
  var KNOWN_ROOTS = new Set(BINDING_ROOTS.filter((r) => r !== "other"));
@@ -2684,7 +2773,6 @@ function getInteractionModelForDomain(domain) {
2684
2773
 
2685
2774
  // src/patterns/pattern-types.ts
2686
2775
  var PATTERN_TYPES = [
2687
- "about-page-template",
2688
2776
  "accordion",
2689
2777
  "action-palette",
2690
2778
  "action-tile",
@@ -2695,7 +2783,6 @@ var PATTERN_TYPES = [
2695
2783
  "animated-counter",
2696
2784
  "animated-graphic",
2697
2785
  "animated-reveal",
2698
- "article-section",
2699
2786
  "aside",
2700
2787
  "atlas-image",
2701
2788
  "atlas-panel",
@@ -2705,11 +2792,6 @@ var PATTERN_TYPES = [
2705
2792
  "behavior-view",
2706
2793
  "biology-canvas",
2707
2794
  "bloom-quiz-block",
2708
- "book-chapter-view",
2709
- "book-cover-page",
2710
- "book-nav-bar",
2711
- "book-table-of-contents",
2712
- "book-viewer",
2713
2795
  "box",
2714
2796
  "branching-logic-builder",
2715
2797
  "breadcrumb",
@@ -2719,8 +2801,6 @@ var PATTERN_TYPES = [
2719
2801
  "canvas-2d",
2720
2802
  "card",
2721
2803
  "carousel",
2722
- "case-study-card",
2723
- "case-study-organism",
2724
2804
  "center",
2725
2805
  "chart",
2726
2806
  "chart-legend",
@@ -2731,18 +2811,15 @@ var PATTERN_TYPES = [
2731
2811
  "code-block",
2732
2812
  "code-runner-panel",
2733
2813
  "command-palette",
2734
- "community-links",
2735
2814
  "conditional-wrapper",
2736
2815
  "confetti-effect",
2737
2816
  "confirm-dialog",
2738
2817
  "connection-block",
2739
2818
  "container",
2740
2819
  "content-renderer",
2741
- "content-section",
2742
2820
  "control-button",
2743
2821
  "control-grid",
2744
2822
  "counter-template",
2745
- "cta-banner",
2746
2823
  "dashboard-grid",
2747
2824
  "dashboard-layout",
2748
2825
  "data-grid",
@@ -2784,9 +2861,7 @@ var PATTERN_TYPES = [
2784
2861
  "error-boundary",
2785
2862
  "error-state",
2786
2863
  "feature-card",
2787
- "feature-detail-page-template",
2788
2864
  "feature-grid",
2789
- "feature-grid-organism",
2790
2865
  "file-tree",
2791
2866
  "filter-group",
2792
2867
  "filter-pill",
@@ -2817,20 +2892,17 @@ var PATTERN_TYPES = [
2817
2892
  "grid",
2818
2893
  "header",
2819
2894
  "health-bar",
2820
- "hero-organism",
2821
- "hero-section",
2822
2895
  "hstack",
2823
2896
  "icon",
2897
+ "image",
2824
2898
  "import-preview-tree",
2825
2899
  "import-progress",
2826
2900
  "import-source-picker",
2827
2901
  "infinite-scroll-sentinel",
2828
2902
  "input",
2829
2903
  "input-group",
2830
- "install-box",
2831
2904
  "jazari-state-machine",
2832
2905
  "label",
2833
- "landing-page-template",
2834
2906
  "law-reference-tooltip",
2835
2907
  "learning-canvas",
2836
2908
  "lightbox",
@@ -2839,8 +2911,6 @@ var PATTERN_TYPES = [
2839
2911
  "loading-state",
2840
2912
  "map-view",
2841
2913
  "markdown-content",
2842
- "marketing-footer",
2843
- "marketing-stat-card",
2844
2914
  "master-detail",
2845
2915
  "master-detail-layout",
2846
2916
  "math-canvas",
@@ -2865,13 +2935,8 @@ var PATTERN_TYPES = [
2865
2935
  "popover",
2866
2936
  "positioned-canvas",
2867
2937
  "presence",
2868
- "pricing-card",
2869
- "pricing-grid",
2870
- "pricing-organism",
2871
- "pricing-page-template",
2872
2938
  "progress-bar",
2873
2939
  "progress-dots",
2874
- "pull-quote",
2875
2940
  "pull-to-refresh",
2876
2941
  "qr-scanner",
2877
2942
  "quiz-block",
@@ -2891,9 +2956,6 @@ var PATTERN_TYPES = [
2891
2956
  "segment-renderer",
2892
2957
  "select",
2893
2958
  "sequence-bar",
2894
- "service-catalog",
2895
- "showcase-card",
2896
- "showcase-organism",
2897
2959
  "side-panel",
2898
2960
  "sidebar",
2899
2961
  "signature-pad",
@@ -2906,7 +2968,6 @@ var PATTERN_TYPES = [
2906
2968
  "spinner",
2907
2969
  "split",
2908
2970
  "split-pane",
2909
- "split-section",
2910
2971
  "stack",
2911
2972
  "star-rating",
2912
2973
  "stat-badge",
@@ -2915,11 +2976,7 @@ var PATTERN_TYPES = [
2915
2976
  "state-graph",
2916
2977
  "state-json-view",
2917
2978
  "state-machine-view",
2918
- "stats-grid",
2919
- "stats-organism",
2920
2979
  "status-dot",
2921
- "step-flow",
2922
- "step-flow-organism",
2923
2980
  "subagent-trace-panel",
2924
2981
  "svg-branch",
2925
2982
  "svg-connection",
@@ -2938,10 +2995,7 @@ var PATTERN_TYPES = [
2938
2995
  "tabbed-container",
2939
2996
  "table-view",
2940
2997
  "tabs",
2941
- "tag-cloud",
2942
2998
  "tag-input",
2943
- "team-card",
2944
- "team-organism",
2945
2999
  "text-highlight",
2946
3000
  "textarea",
2947
3001
  "theme-toggle",
@@ -2973,6 +3027,24 @@ function isValidPatternType(type) {
2973
3027
  // src/types/pattern.ts
2974
3028
  var PatternTypeSchema = z.string();
2975
3029
 
3030
+ // src/types/changeset.ts
3031
+ var SEMANTIC_CHANGE_KINDS = [
3032
+ "orbital-added",
3033
+ "orbital-removed",
3034
+ "entity-fields-changed",
3035
+ "trait-added",
3036
+ "trait-removed",
3037
+ "trait-config-changed",
3038
+ "state-machine-changed",
3039
+ "guard-changed",
3040
+ "effect-changed",
3041
+ "render-ui-changed",
3042
+ "event-wiring-changed",
3043
+ "page-changed",
3044
+ "theme-changed",
3045
+ "behavior-composed"
3046
+ ];
3047
+
2976
3048
  // src/service-types.ts
2977
3049
  function createTypedEventBus(bus) {
2978
3050
  return {
@@ -3091,6 +3163,22 @@ var ServerEffectResultSchema = z.object({
3091
3163
  });
3092
3164
 
3093
3165
  // src/types/bus.ts
3166
+ function deliveryRecordValue(record) {
3167
+ const s = record.source;
3168
+ const source = {
3169
+ ...s.orbital !== void 0 ? { orbital: s.orbital } : {},
3170
+ ...s.orbitalId !== void 0 ? { orbitalId: s.orbitalId } : {},
3171
+ ...s.trait !== void 0 ? { trait: s.trait } : {},
3172
+ ...s.traitId !== void 0 ? { traitId: s.traitId } : {},
3173
+ ...s.eventId !== void 0 ? { eventId: s.eventId } : {},
3174
+ ...s.transition !== void 0 ? { transition: s.transition } : {},
3175
+ ...s.tick !== void 0 ? { tick: s.tick } : {},
3176
+ ...s.fromBridge !== void 0 ? { fromBridge: s.fromBridge } : {},
3177
+ ...s.dispatched !== void 0 ? { dispatched: s.dispatched } : {},
3178
+ ...s.originClientId !== void 0 ? { originClientId: s.originClientId } : {}
3179
+ };
3180
+ return { event: record.event, payload: record.payload ?? null, source };
3181
+ }
3094
3182
  var BusEventSourceSchema = z.object({
3095
3183
  orbital: z.string().optional(),
3096
3184
  orbitalId: OrbitalIdSchema.optional(),
@@ -3103,6 +3191,15 @@ var BusEventSourceSchema = z.object({
3103
3191
  dispatched: z.boolean().optional(),
3104
3192
  originClientId: z.string().optional()
3105
3193
  });
3194
+ var DeliveryRecordSchema = z.object({
3195
+ event: z.string(),
3196
+ payload: EventPayloadSchema.optional(),
3197
+ source: BusEventSourceSchema
3198
+ });
3199
+ var DispatchLogSchema = z.object({
3200
+ prevEvents: z.array(DeliveryRecordSchema),
3201
+ prevStates: z.array(z.string())
3202
+ });
3106
3203
  var EmittedEventSchema = z.object({
3107
3204
  event: z.string(),
3108
3205
  payload: EventPayloadSchema.optional(),
@@ -3147,7 +3244,9 @@ var OrbitalEventRequestSchema = z.object({
3147
3244
  sourceTrait: z.string().optional(),
3148
3245
  traits: z.array(z.object({ trait: z.string(), from: z.string() })).optional(),
3149
3246
  entityByTrait: z.record(EntityRowSchema).optional(),
3150
- behavior: z.string().optional()
3247
+ behavior: z.string().optional(),
3248
+ delivery: DeliveryRecordSchema.optional(),
3249
+ dispatchLog: DispatchLogSchema.optional()
3151
3250
  });
3152
3251
  var OrbitalEventResponseSchema = z.object({
3153
3252
  success: z.boolean(),
@@ -3157,7 +3256,12 @@ var OrbitalEventResponseSchema = z.object({
3157
3256
  data: z.record(z.array(EntityRowSchema)).optional(),
3158
3257
  entityByTrait: z.record(EntityRowSchema).optional(),
3159
3258
  clientEffects: z.array(ClientEffectTupleSchema).optional(),
3160
- clientEffectsByTrait: z.array(z.object({ traitName: z.string(), effect: ClientEffectTupleSchema })).optional(),
3259
+ clientEffectsByTrait: z.array(z.object({
3260
+ traitName: z.string(),
3261
+ effect: ClientEffectTupleSchema,
3262
+ event: z.string().optional(),
3263
+ fromState: z.string().optional()
3264
+ })).optional(),
3161
3265
  effectResults: z.array(ServerEffectResultSchema).optional(),
3162
3266
  guardFailed: z.string().optional(),
3163
3267
  rejections: z.array(
@@ -3191,6 +3295,66 @@ var LiveBroadcastItemSchema = z.object({
3191
3295
  var EventDispatchRequestSchema = OrbitalEventRequestSchema;
3192
3296
  var EventDispatchResponseSchema = OrbitalEventResponseSchema;
3193
3297
 
3298
+ // src/types/visit-key.ts
3299
+ function isPayloadList(value) {
3300
+ return Array.isArray(value);
3301
+ }
3302
+ function canonicalJson(value) {
3303
+ if (value === void 0 || value === null) return "null";
3304
+ if (value instanceof Date) return JSON.stringify(value.toISOString());
3305
+ if (isPayloadList(value)) {
3306
+ return `[${value.map((item) => item === void 0 ? "null" : canonicalJson(item)).join(",")}]`;
3307
+ }
3308
+ if (typeof value === "object") {
3309
+ const record = value;
3310
+ const fields = Object.keys(record).filter((k) => record[k] !== void 0).sort().map((k) => `${JSON.stringify(k)}:${canonicalJson(record[k])}`);
3311
+ return `{${fields.join(",")}}`;
3312
+ }
3313
+ return JSON.stringify(value);
3314
+ }
3315
+ function dispatchVisitKey(trait, event, from, payload) {
3316
+ return `${trait}\0${event}\0${from}\0${canonicalJson(payload)}`;
3317
+ }
3318
+
3319
+ // src/types/dispatch-memory.ts
3320
+ function dispatchScopeOf(delivery, log, event, payload) {
3321
+ const record = delivery ?? { event, ...payload !== void 0 ? { payload } : {}, source: {} };
3322
+ return {
3323
+ event: deliveryRecordValue(record),
3324
+ prevEvents: (log?.prevEvents ?? []).map(deliveryRecordValue),
3325
+ prevStates: [...log?.prevStates ?? []]
3326
+ };
3327
+ }
3328
+ var DispatchMemory = class {
3329
+ constructor() {
3330
+ this.deliveries = /* @__PURE__ */ new Map();
3331
+ this.left = /* @__PURE__ */ new Map();
3332
+ }
3333
+ /** This trait's log so far, as it travels on a request. */
3334
+ log(trait) {
3335
+ return { prevEvents: [...this.deliveries.get(trait) ?? []], prevStates: [...this.left.get(trait) ?? []] };
3336
+ }
3337
+ view(trait, delivery) {
3338
+ return dispatchScopeOf(delivery, this.log(trait), delivery.event, delivery.payload);
3339
+ }
3340
+ /** Continue a dispatch that began elsewhere: the target trait's log so far. */
3341
+ seed(trait, log) {
3342
+ this.deliveries.set(trait, [...log.prevEvents]);
3343
+ this.left.set(trait, [...log.prevStates]);
3344
+ }
3345
+ recordDelivery(trait, delivery) {
3346
+ const log = this.deliveries.get(trait) ?? [];
3347
+ log.push(delivery);
3348
+ this.deliveries.set(trait, log);
3349
+ }
3350
+ recordTransition(trait, from, to) {
3351
+ if (from === to) return;
3352
+ const log = this.left.get(trait) ?? [];
3353
+ log.push(from);
3354
+ this.left.set(trait, log);
3355
+ }
3356
+ };
3357
+
3194
3358
  // src/types/validation.ts
3195
3359
  var KNOWN_VALIDATION_ERROR_CODES = {
3196
3360
  // Binding (`@entity.X`, `@payload.Y`, `@state.Z`, `@now`, ...)
@@ -3202,6 +3366,9 @@ var KNOWN_VALIDATION_ERROR_CODES = {
3202
3366
  ORB_BINDING_NOW_NO_PATH: "ORB_BINDING_NOW_NO_PATH",
3203
3367
  ORB_BINDING_PAYLOAD_FIELD_UNDECLARED: "ORB_BINDING_PAYLOAD_FIELD_UNDECLARED",
3204
3368
  ORB_BINDING_PAYLOAD_IN_TICK: "ORB_BINDING_PAYLOAD_IN_TICK",
3369
+ ORB_BINDING_DISPATCH_ROOT_IN_TICK: "ORB_BINDING_DISPATCH_ROOT_IN_TICK",
3370
+ ORB_BINDING_ROOT_NO_PATH: "ORB_BINDING_ROOT_NO_PATH",
3371
+ ORB_BINDING_EVENT_INVALID_PATH: "ORB_BINDING_EVENT_INVALID_PATH",
3205
3372
  ORB_BINDING_PAYLOAD_TYPE_INCOMPATIBLE: "ORB_BINDING_PAYLOAD_TYPE_INCOMPATIBLE",
3206
3373
  ORB_BINDING_SET_TARGET_MISSING_PATH: "ORB_BINDING_SET_TARGET_MISSING_PATH",
3207
3374
  ORB_BINDING_STATE_NO_PATH: "ORB_BINDING_STATE_NO_PATH",
@@ -3397,6 +3564,6 @@ function widenTier(tier) {
3397
3564
  return tier;
3398
3565
  }
3399
3566
 
3400
- export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ANONYMOUS_USER, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, AudioManifestSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, BusEventSourceSchema, CAMERA_MODES, COLOR_TOKEN_KEYS, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ClientEffectTupleSchema, ClientNavigateBackTupleSchema, ClientNavigateTupleSchema, ClientRenderUITupleSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DEFAULT_UNIT_ANIMATION_ROWS, DEFAULT_VIEWER, DEV_TOKEN_PREFIX, DeclaredTraitConfigSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DispatchModeSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EmittedEventSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntityRowSchema, EntitySchema, EntitySemanticRoleSchema, EventDispatchRequestSchema, EventDispatchResponseSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventPayloadSchema, EventPayloadValueSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpectDeclarationSchema, ExpressionSchema, FIELD_TYPES, FieldSchema, FieldTypeSchema, FieldValueSchema, FileValueSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, ILLUSTRATION_TOKEN_KEYS, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema, LiveBroadcastItemSchema, MANIFEST_ASSET_LICENSES, MANIFEST_CANVAS_AFFINITIES, MANIFEST_ENTRY_KINDS, MANIFEST_SOURCE_CATALOGS, ManifestAssetLicenseSchema, ManifestCanvasAffinitySchema, ManifestEntryKindSchema, ManifestEntrySchema, ManifestFrameSpecSchema, ManifestSourceCatalogSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalEventRequestSchema, OrbitalEventResponseSchema, OrbitalIdSchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalRefObjectSchema, OrbitalRefStringSchema, OrbitalRegisterResponseSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_TYPES, PageIdSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PaletteEntryIdSchema, PatternConfigSchema, PatternTypeSchema, PayloadFieldSchema, PayloadTypeWhenSchema, REFERENCE_CONFIG_TYPES, RENDER_BINDING_MARKER, RawUserClaimsSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedPatternPropsSchema, RestAuthConfigSchema, RestServiceDefSchema, SECRET_CONFIG_TYPES, SEMANTIC_STRING_TYPES, SERVER_REPORTED_EFFECTS, SERVICE_TYPES, SExprAtomSchema, SExprDataSchema, SExprSchema, SHEET_PROJECTIONS, SPRITE_DIRECTIONS, SPRITE_SHEET_LAYOUT, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServerBatchSummarySchema, ServerEffectResultSchema, ServerTopologySchema, ServiceDefinitionSchema, ServiceIdSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SheetProjectionSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SoundEntrySchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TYPE_POSITION_ONLY, TextureAtlasSchema, ThemeDefinitionSchema, ThemeIdSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TickIntervalSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitIdSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TraitUIBindingSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, atomic, callService, collectBindings, computeDispatchMode, computeTraitDispatchMode, configRefEventKnob, containsEntityBinding, containsPayloadBinding, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, decodeDevIdentityToken, defaultUnitAtlas, deref, deriveCollection, deriveId, despawn, doEffects, emit, encodeDevIdentityToken, expectedEntityName, findPersonaInRoster, findService, getArgs, getBindingExamples, getDefaultAnimationsForRole, getInteractionModelForDomain, getOperator, getServiceNames, getTraitConfig, getTraitName, hasService, idKindOf, idPrefix, inferTsType, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isEffect, isEmailValue, isEntityCall, isEntityId, isEntityReference, isEntityReferenceAny, isEventId, isEventPayloadValue, isFieldValue, isFileValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMcpService, isOrbitalDefinition, isOrbitalId, isPageId, isPageReference, isPageReferenceObject, isPageReferenceString, isPaletteEntryId, isPersistBatchOperation, isPhoneValue, isPlanSnapshot, isReferenceConfigType, isRenderBindingMarker, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isSecretConfigType, isSemanticStringType, isSemanticStringValue, isServiceId, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isThemeId, isThemeReference, isTraitFieldRef, isTraitId, isUrlValue, isUuidValue, isValidBinding, isValidPatternType, ledgerCurName, ledgerRename, ledgerResolveName, manifestToAssetCatalog, maskSecretConfigValues, matchAssetQuery, mintId, navigate, navigateBack, normalizeCallSiteConfigToValues, normalizeTraitRef, normalizeUserContext, overrideDeclaredKnobs, parseAssetKey, parseAssetQuery, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalRef, parseOrbitalSchema, parsePageRef, parseServiceRef, persist, persistenceModeAllowsOverrides, personaFromIdentityRow, ref, renderUI, resolveConfigRefEventName, resolveDefaultViewer, resolvePersonaSpec, safeParseOrbitalSchema, set, sexpr, spawn, swap, toBindingRoot, validateAssetAnimations, validateBindingInContext, walkSExpr, watch, widenTier };
3567
+ export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ANONYMOUS_USER, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, AudioManifestSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, BusEventSourceSchema, CAMERA_MODES, COLOR_TOKEN_KEYS, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ClientEffectTupleSchema, ClientNavigateBackTupleSchema, ClientNavigateTupleSchema, ClientRenderUITupleSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DEFAULT_UNIT_ANIMATION_ROWS, DEFAULT_VIEWER, DEV_TOKEN_PREFIX, DeclaredTraitConfigSchema, DeliveryRecordSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DispatchLogSchema, DispatchMemory, DispatchModeSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EmittedEventSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntityRowSchema, EntitySchema, EntitySemanticRoleSchema, EventDispatchRequestSchema, EventDispatchResponseSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventPayloadSchema, EventPayloadValueSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpectDeclarationSchema, ExpressionSchema, FIELD_TYPES, FieldSchema, FieldTypeSchema, FieldValueSchema, FileValueSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, ILLUSTRATION_TOKEN_KEYS, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema, LiveBroadcastItemSchema, MANIFEST_ASSET_LICENSES, MANIFEST_CANVAS_AFFINITIES, MANIFEST_ENTRY_KINDS, MANIFEST_SOURCE_CATALOGS, ManifestAssetLicenseSchema, ManifestCanvasAffinitySchema, ManifestEntryKindSchema, ManifestEntrySchema, ManifestFrameSpecSchema, ManifestSourceCatalogSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalEventRequestSchema, OrbitalEventResponseSchema, OrbitalIdSchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalRefObjectSchema, OrbitalRefStringSchema, OrbitalRegisterResponseSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_TYPES, PageIdSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PaletteEntryIdSchema, PatternConfigSchema, PatternTypeSchema, PayloadFieldSchema, PayloadTypeWhenSchema, REFERENCE_CONFIG_TYPES, RENDER_BINDING_MARKER, RawUserClaimsSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedPatternPropsSchema, RestAuthConfigSchema, RestServiceDefSchema, SECRET_CONFIG_TYPES, SEMANTIC_CHANGE_KINDS, SEMANTIC_STRING_TYPES, SERVER_REPORTED_EFFECTS, SERVICE_TYPES, SExprAtomSchema, SExprDataSchema, SExprSchema, SHEET_PROJECTIONS, SPRITE_DIRECTIONS, SPRITE_SHEET_LAYOUT, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServerBatchSummarySchema, ServerEffectResultSchema, ServerTopologySchema, ServiceDefinitionSchema, ServiceIdSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SheetProjectionSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SoundEntrySchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TYPE_POSITION_ONLY, TextureAtlasSchema, ThemeDefinitionSchema, ThemeIdSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TickIntervalSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitIdSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TraitUIBindingSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, atomic, callService, collectBindings, computeDispatchMode, computeTraitDispatchMode, configRefEventKnob, containsEntityBinding, containsPayloadBinding, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, decodeDevIdentityToken, defaultUnitAtlas, deliveryRecordValue, deref, deriveCollection, deriveId, despawn, dispatchScopeOf, dispatchVisitKey, doEffects, emit, encodeDevIdentityToken, expectedEntityName, findPersonaInRoster, findService, getArgs, getBindingExamples, getDefaultAnimationsForRole, getInteractionModelForDomain, getOperator, getServiceNames, getTraitConfig, getTraitName, hasService, idKindOf, idPrefix, inferTsType, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isEffect, isEmailValue, isEntityCall, isEntityId, isEntityReference, isEntityReferenceAny, isEventId, isEventPayloadValue, isFieldValue, isFileValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMcpService, isOrbitalDefinition, isOrbitalId, isPageId, isPageReference, isPageReferenceObject, isPageReferenceString, isPaletteEntryId, isPersistBatchOperation, isPhoneValue, isPlanSnapshot, isReferenceConfigType, isRenderBindingMarker, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isSecretConfigType, isSemanticStringType, isSemanticStringValue, isServiceId, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isStaticallyFalse, isThemeId, isThemeReference, isThemeRegistryKey, isTraitFieldRef, isTraitId, isUrlValue, isUuidValue, isValidBinding, isValidPatternType, ledgerCurName, ledgerRename, ledgerResolveName, manifestToAssetCatalog, maskSecretConfigValues, matchAssetQuery, mintId, navigate, navigateBack, normalizeCallSiteConfigToValues, normalizeTraitRef, normalizeUserContext, overrideDeclaredKnobs, parseAssetKey, parseAssetQuery, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalRef, parseOrbitalSchema, parsePageRef, parseServiceRef, payloadTypeContainer, persist, persistenceModeAllowsOverrides, personaFromIdentityRow, ref, renderUI, resolveConfigRefEventName, resolveDefaultViewer, resolvePersonaSpec, safeParseOrbitalSchema, set, sexpr, spawn, swap, themeDataKey, toBindingRoot, validateAssetAnimations, validateBindingInContext, walkSExpr, watch, widenTier };
3401
3568
  //# sourceMappingURL=index.js.map
3402
3569
  //# sourceMappingURL=index.js.map