@almadar/core 10.29.0 → 10.30.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.
package/dist/index.js CHANGED
@@ -1,6 +1,151 @@
1
1
  import { z } from 'zod';
2
2
 
3
3
  // src/types/orbital.ts
4
+ var ID_PREFIXES = {
5
+ orbital: "orb_",
6
+ entity: "ent_",
7
+ trait: "trt_",
8
+ event: "evt_",
9
+ page: "pag_",
10
+ service: "svc_",
11
+ theme: "thm_",
12
+ palette: "pal_"
13
+ };
14
+ function brand(value) {
15
+ return value;
16
+ }
17
+ function makeIdKind(kind) {
18
+ const prefix = ID_PREFIXES[kind];
19
+ const is = (value) => value.startsWith(prefix) && value.length > prefix.length;
20
+ const as = (value) => {
21
+ if (!is(value)) {
22
+ throw new Error(
23
+ `Expected ${kind} id (prefix "${prefix}"), got: ${JSON.stringify(value)}`
24
+ );
25
+ }
26
+ return brand(value);
27
+ };
28
+ return { prefix, is, as };
29
+ }
30
+ var orbitalKind = makeIdKind("orbital");
31
+ var entityKind = makeIdKind("entity");
32
+ var traitKind = makeIdKind("trait");
33
+ var eventKind = makeIdKind("event");
34
+ var pageKind = makeIdKind("page");
35
+ var serviceKind = makeIdKind("service");
36
+ var themeKind = makeIdKind("theme");
37
+ var paletteKind = makeIdKind("palette");
38
+ var isOrbitalId = orbitalKind.is;
39
+ var asOrbitalId = orbitalKind.as;
40
+ var isEntityId = entityKind.is;
41
+ var asEntityId = entityKind.as;
42
+ var isTraitId = traitKind.is;
43
+ var asTraitId = traitKind.as;
44
+ var isEventId = eventKind.is;
45
+ var asEventId = eventKind.as;
46
+ var isPageId = pageKind.is;
47
+ var asPageId = pageKind.as;
48
+ var isServiceId = serviceKind.is;
49
+ var asServiceId = serviceKind.as;
50
+ var isThemeId = themeKind.is;
51
+ var asThemeId = themeKind.as;
52
+ var isPaletteEntryId = paletteKind.is;
53
+ var asPaletteEntryId = paletteKind.as;
54
+ function idPrefix(kind) {
55
+ return ID_PREFIXES[kind];
56
+ }
57
+ function idKindOf(id) {
58
+ for (const kind of Object.keys(ID_PREFIXES)) {
59
+ const prefix = ID_PREFIXES[kind];
60
+ if (id.startsWith(prefix) && id.length > prefix.length) return kind;
61
+ }
62
+ return null;
63
+ }
64
+ var CROCKFORD = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
65
+ var TIME_LEN = 10;
66
+ var RANDOM_LEN = 16;
67
+ function randomBytes(len) {
68
+ const g = globalThis;
69
+ if (g.crypto?.getRandomValues) {
70
+ return g.crypto.getRandomValues(new Uint8Array(len));
71
+ }
72
+ throw new Error("mintId: no crypto.getRandomValues available in this runtime");
73
+ }
74
+ function encodeTime(now) {
75
+ let value = now;
76
+ let out = "";
77
+ for (let i = 0; i < TIME_LEN; i++) {
78
+ const mod = value % 32;
79
+ out = CROCKFORD[mod] + out;
80
+ value = (value - mod) / 32;
81
+ }
82
+ return out;
83
+ }
84
+ function encodeRandom() {
85
+ const bytes = randomBytes(RANDOM_LEN);
86
+ let out = "";
87
+ for (let i = 0; i < RANDOM_LEN; i++) {
88
+ out += CROCKFORD[bytes[i] & 31];
89
+ }
90
+ return out;
91
+ }
92
+ function ulid() {
93
+ return encodeTime(Date.now()) + encodeRandom();
94
+ }
95
+ function mintId(kind) {
96
+ return brand(ID_PREFIXES[kind] + ulid());
97
+ }
98
+ function ledgerResolveName(ledger, kind, name) {
99
+ for (const [id, entry] of Object.entries(ledger.entries)) {
100
+ if (entry.kind === kind && entry.curName === name) return id;
101
+ }
102
+ return null;
103
+ }
104
+ function ledgerRename(ledger, id, to, at) {
105
+ const entry = ledger.entries[id];
106
+ if (entry === void 0) return ledger;
107
+ const updated = {
108
+ ...entry,
109
+ curName: to,
110
+ renames: [...entry.renames, { from: entry.curName, to, at }]
111
+ };
112
+ return { ...ledger, entries: { ...ledger.entries, [id]: updated } };
113
+ }
114
+ function ledgerCurName(ledger, id) {
115
+ return ledger.entries[id]?.curName ?? null;
116
+ }
117
+ var OrbitalIdSchema = z.string().refine(isOrbitalId, { message: `Expected an orbital id (prefix "${ID_PREFIXES.orbital}")` });
118
+ var EntityIdSchema = z.string().refine(isEntityId, { message: `Expected an entity id (prefix "${ID_PREFIXES.entity}")` });
119
+ var TraitIdSchema = z.string().refine(isTraitId, { message: `Expected a trait id (prefix "${ID_PREFIXES.trait}")` });
120
+ var EventIdSchema = z.string().refine(isEventId, { message: `Expected an event id (prefix "${ID_PREFIXES.event}")` });
121
+ var PageIdSchema = z.string().refine(isPageId, { message: `Expected a page id (prefix "${ID_PREFIXES.page}")` });
122
+ var ServiceIdSchema = z.string().refine(isServiceId, { message: `Expected a service id (prefix "${ID_PREFIXES.service}")` });
123
+ var ThemeIdSchema = z.string().refine(isThemeId, { message: `Expected a theme id (prefix "${ID_PREFIXES.theme}")` });
124
+ var PaletteEntryIdSchema = z.string().refine(isPaletteEntryId, { message: `Expected a palette-entry id (prefix "${ID_PREFIXES.palette}")` });
125
+ var LedgerKindSchema = z.enum([
126
+ "orbital",
127
+ "entity",
128
+ "trait",
129
+ "event",
130
+ "page",
131
+ "service",
132
+ "theme"
133
+ ]);
134
+ var LedgerEntrySchema = z.object({
135
+ id: z.string(),
136
+ kind: LedgerKindSchema,
137
+ bakedName: z.string(),
138
+ curName: z.string(),
139
+ renames: z.array(
140
+ z.object({ from: z.string(), to: z.string(), at: z.string() })
141
+ ),
142
+ owner: z.enum(["std", "io", "workspace"]),
143
+ parent: TraitIdSchema.optional()
144
+ });
145
+ var IdentityLedgerSchema = z.object({
146
+ schemaVersion: z.literal(1),
147
+ entries: z.record(LedgerEntrySchema)
148
+ });
4
149
  var FieldTypeSchema = z.enum([
5
150
  "string",
6
151
  "number",
@@ -25,6 +170,7 @@ var RelationCardinalitySchema = z.enum([
25
170
  ]);
26
171
  var RelationConfigSchema = z.object({
27
172
  entity: z.string().min(1, "Target entity is required"),
173
+ entityId: EntityIdSchema.optional(),
28
174
  field: z.string().optional(),
29
175
  cardinality: RelationCardinalitySchema.optional(),
30
176
  onDelete: z.enum(["cascade", "nullify", "restrict"]).optional(),
@@ -35,6 +181,7 @@ var RelationConfigSchema = z.object({
35
181
  }).transform((data) => {
36
182
  const normalized = {
37
183
  entity: data.entity || data.target || "",
184
+ entityId: data.entityId,
38
185
  cardinality: data.cardinality || data.type,
39
186
  field: data.field,
40
187
  onDelete: data.onDelete
@@ -526,6 +673,7 @@ var PayloadFieldSchema = z.object({
526
673
  });
527
674
  var EventSchema = z.object({
528
675
  key: z.string().min(1, "Event key is required"),
676
+ id: EventIdSchema.optional(),
529
677
  name: z.string().min(1, "Event name is required"),
530
678
  description: z.string().optional(),
531
679
  synonyms: z.string().optional(),
@@ -543,6 +691,7 @@ var TransitionSchema = z.object({
543
691
  from: z.string().min(1, "Transition source state is required"),
544
692
  to: z.string().min(1, "Transition target state is required"),
545
693
  event: z.string().min(1, "Transition event is required"),
694
+ eventId: EventIdSchema.optional(),
546
695
  guard: ExpressionSchema.nullish(),
547
696
  effects: z.array(EffectSchema).optional(),
548
697
  description: z.string().nullish()
@@ -593,6 +742,10 @@ function normalizeCallSiteConfigToValues(config) {
593
742
  }
594
743
  return hasAny ? out : void 0;
595
744
  }
745
+ var REFERENCE_CONFIG_TYPES = ["entity", "trait", "event"];
746
+ function isReferenceConfigType(type) {
747
+ return REFERENCE_CONFIG_TYPES.includes(type);
748
+ }
596
749
  var ConfigFieldItemsDeclarationSchema = z.lazy(
597
750
  () => z.object({
598
751
  type: z.string().optional(),
@@ -603,6 +756,7 @@ var ConfigFieldItemsDeclarationSchema = z.lazy(
603
756
  var ConfigFieldDeclarationSchema = z.object({
604
757
  type: z.string(),
605
758
  default: TraitConfigValueSchema.optional(),
759
+ refId: z.string().optional(),
606
760
  required: z.boolean().optional(),
607
761
  label: z.string().optional(),
608
762
  description: z.string().optional(),
@@ -668,9 +822,11 @@ var TraitTickSchema = z.object({
668
822
  interval: z.union([z.literal("frame"), z.number().positive()]),
669
823
  appliesTo: z.array(z.string()).optional(),
670
824
  pages: z.array(z.string()).optional(),
825
+ pageIds: z.array(PageIdSchema).optional(),
671
826
  guard: ExpressionSchema.optional(),
672
827
  effects: z.array(EffectSchema).min(1),
673
- emits: z.array(z.string()).optional()
828
+ emits: z.array(z.string()).optional(),
829
+ emitIds: z.array(EventIdSchema).optional()
674
830
  });
675
831
  var EventScopeSchema = z.enum(["internal", "external"]);
676
832
  var EventPayloadFieldSchema = z.object({
@@ -720,6 +876,7 @@ var TraitEventContractSchema = z.object({
720
876
  /^([A-Za-z][A-Za-z0-9_]*|@config\.[A-Za-z_][A-Za-z0-9_]*)$/,
721
877
  "Event name must start with a letter and contain only letters, digits, and underscores, or be a `@config.<knob>` reference"
722
878
  ),
879
+ eventId: EventIdSchema.optional(),
723
880
  description: z.string().optional(),
724
881
  synonyms: z.string().optional(),
725
882
  tier: z.string().optional(),
@@ -728,16 +885,24 @@ var TraitEventContractSchema = z.object({
728
885
  });
729
886
  var ListenSourceSchema = z.union([
730
887
  z.object({ kind: z.literal("any") }),
731
- z.object({ kind: z.literal("trait"), trait: z.string().min(1) }),
888
+ z.object({
889
+ kind: z.literal("trait"),
890
+ trait: z.string().min(1),
891
+ traitId: TraitIdSchema.optional()
892
+ }),
732
893
  z.object({
733
894
  kind: z.literal("orbital"),
734
895
  orbital: z.string().min(1),
735
- trait: z.string().min(1)
896
+ trait: z.string().min(1),
897
+ orbitalId: OrbitalIdSchema.optional(),
898
+ traitId: TraitIdSchema.optional()
736
899
  })
737
900
  ]);
738
901
  var TraitEventListenerSchema = z.object({
739
902
  event: z.string().min(1),
903
+ eventId: EventIdSchema.optional(),
740
904
  triggers: z.string().min(1),
905
+ triggersId: EventIdSchema.optional(),
741
906
  description: z.string().optional(),
742
907
  synonyms: z.string().optional(),
743
908
  tier: z.string().optional(),
@@ -753,14 +918,20 @@ var RequiredFieldSchema = z.object({
753
918
  });
754
919
  var TraitReferenceSchema = z.object({
755
920
  ref: z.string().min(1),
921
+ refId: TraitIdSchema.optional(),
922
+ // V4 local declaration id (see the interface doc) — declared so the
923
+ // strip-mode zod gate carries it through instead of dropping it.
924
+ id: TraitIdSchema.optional(),
756
925
  // Phase 1.2: optional registry path disambiguator, pairs with `ref`.
757
926
  from: z.string().optional(),
758
927
  linkedEntity: z.string().optional(),
928
+ linkedEntityId: EntityIdSchema.optional(),
759
929
  name: z.string().optional(),
760
930
  events: z.record(
761
931
  z.string().min(1, "events key (atom event name) must be non-empty"),
762
932
  z.string().min(1, "events value (caller event name) must be non-empty")
763
933
  ).optional(),
934
+ eventIds: z.record(z.string().min(1), EventIdSchema).optional(),
764
935
  fields: z.record(
765
936
  z.string().min(1, "fields key (canonical field name) must be non-empty"),
766
937
  z.string().min(1, "fields value (consumer field name) must be non-empty")
@@ -810,6 +981,7 @@ var SourceBehaviorMetadataSchema = z.object({
810
981
  originalName: z.string().min(1)
811
982
  });
812
983
  var TraitSchema = z.object({
984
+ id: TraitIdSchema.optional(),
813
985
  name: z.string().min(1),
814
986
  description: z.string().optional(),
815
987
  description_visual_prompt: z.string().optional(),
@@ -821,6 +993,9 @@ var TraitSchema = z.object({
821
993
  capabilities: z.array(z.string()).optional(),
822
994
  scope: TraitScopeSchema,
823
995
  linkedEntity: z.string().optional(),
996
+ linkedEntityId: EntityIdSchema.optional(),
997
+ entityRefIds: z.record(z.string().min(1), EntityIdSchema).optional(),
998
+ traitEmbedIds: z.record(z.string().min(1), TraitIdSchema).optional(),
824
999
  requiredFields: z.array(RequiredFieldSchema).optional(),
825
1000
  dataEntities: z.array(TraitDataEntitySchema).optional(),
826
1001
  stateMachine: StateMachineSchema.optional(),
@@ -894,10 +1069,13 @@ var ViewTypeSchema = z.enum([
894
1069
  ]);
895
1070
  var PageTraitRefSchema = z.object({
896
1071
  ref: z.string().min(1, "Trait ref is required"),
1072
+ refId: TraitIdSchema.optional(),
897
1073
  linkedEntity: z.string().optional(),
1074
+ linkedEntityId: EntityIdSchema.optional(),
898
1075
  config: TraitConfigSchema.optional()
899
1076
  });
900
1077
  var OrbitalPageStrictSchema = z.object({
1078
+ id: PageIdSchema.optional(),
901
1079
  name: z.string().min(1, "Page name is required"),
902
1080
  path: z.string().min(1, "Page path is required").startsWith("/", "Path must start with /"),
903
1081
  primaryEntity: z.string().min(1, "Primary entity is required"),
@@ -905,6 +1083,7 @@ var OrbitalPageStrictSchema = z.object({
905
1083
  title: z.string().optional()
906
1084
  }).strict();
907
1085
  var OrbitalPageSchema = z.object({
1086
+ id: PageIdSchema.optional(),
908
1087
  name: z.string().min(1, "Page name is required"),
909
1088
  path: z.string().min(1, "Page path is required").startsWith("/", "Path must start with /"),
910
1089
  viewType: ViewTypeSchema.optional(),
@@ -1481,11 +1660,14 @@ var PageRefStringSchema = z.string().regex(
1481
1660
  );
1482
1661
  var PageRefObjectSchema = z.object({
1483
1662
  ref: PageRefStringSchema,
1663
+ refId: PageIdSchema.optional(),
1484
1664
  // Phase 1.2: optional registry path disambiguator, pairs with `ref`.
1485
1665
  from: z.string().optional(),
1486
1666
  path: z.string().startsWith("/").optional(),
1487
1667
  linkedEntity: z.string().optional(),
1488
- traits: z.array(TraitRefSchema).optional()
1668
+ linkedEntityId: EntityIdSchema.optional(),
1669
+ traits: z.array(TraitRefSchema).optional(),
1670
+ traitRefIds: z.array(TraitIdSchema).optional()
1489
1671
  });
1490
1672
  var PageRefSchema = z.union([
1491
1673
  PageSchema,
@@ -1539,6 +1721,7 @@ var ComputedEventListenerSchema = z.object({
1539
1721
  payloadMapping: z.record(z.string()).optional()
1540
1722
  });
1541
1723
  var OrbitalDefinitionSchema = z.object({
1724
+ id: OrbitalIdSchema.optional(),
1542
1725
  name: z.string().min(1, "Orbital name is required"),
1543
1726
  description: z.string().optional(),
1544
1727
  visual_prompt: z.string().optional(),
@@ -1603,7 +1786,12 @@ var OrbitalSchemaSchema = z.object({
1603
1786
  orbitals: z.array(OrbitalSchema).min(1, "At least one orbital is required"),
1604
1787
  services: z.array(ServiceDefinitionSchema).optional(),
1605
1788
  config: OrbitalConfigSchema.optional(),
1606
- _metadata: SchemaMetadataSchema.optional()
1789
+ _metadata: SchemaMetadataSchema.optional(),
1790
+ // V4 identity — optional/dual-carry until the Phase-7 flip. Present on
1791
+ // id-carrying `.orb` files so `parseOrbitalSchema` preserves them instead
1792
+ // of stripping unknown keys.
1793
+ schemaVersion: z.number().optional(),
1794
+ ledger: IdentityLedgerSchema.optional()
1607
1795
  });
1608
1796
  function parseOrbitalSchema(data) {
1609
1797
  return OrbitalSchemaSchema.parse(data);
@@ -1787,7 +1975,7 @@ function getInteractionModelForDomain(domain) {
1787
1975
  // src/patterns/patterns-registry.json
1788
1976
  var patterns_registry_default = {
1789
1977
  version: "1.0.0",
1790
- exportedAt: "2026-07-13T15:27:57.365Z",
1978
+ exportedAt: "2026-07-16T19:33:37.203Z",
1791
1979
  patterns: {
1792
1980
  "entity-table": {
1793
1981
  type: "entity-table",
@@ -2492,7 +2680,7 @@ var patterns_registry_default = {
2492
2680
  types: [
2493
2681
  "function"
2494
2682
  ],
2495
- description: "renderItem prop",
2683
+ description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
2496
2684
  kind: "callback",
2497
2685
  callbackArgs: [
2498
2686
  {
@@ -2662,15 +2850,6 @@ var patterns_registry_default = {
2662
2850
  ],
2663
2851
  typicalSize: "medium",
2664
2852
  propsSchema: {
2665
- entity: {
2666
- types: [
2667
- "object",
2668
- "array"
2669
- ],
2670
- description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
2671
- kind: "entity",
2672
- cardinality: "collection"
2673
- },
2674
2853
  className: {
2675
2854
  types: [
2676
2855
  "string"
@@ -2774,6 +2953,15 @@ var patterns_registry_default = {
2774
2953
  ]
2775
2954
  }
2776
2955
  },
2956
+ entity: {
2957
+ types: [
2958
+ "object",
2959
+ "array"
2960
+ ],
2961
+ description: "Entity data (single record or collection).",
2962
+ kind: "entity",
2963
+ cardinality: "collection"
2964
+ },
2777
2965
  minCardWidth: {
2778
2966
  types: [
2779
2967
  "number"
@@ -6009,7 +6197,7 @@ var patterns_registry_default = {
6009
6197
  types: [
6010
6198
  "string"
6011
6199
  ],
6012
- description: "Declarative step click event \u2014 emits UI:{stepClickEvent} with { stepIndex }",
6200
+ description: "Declarative step click event \u2014 emits UI:{stepClickEvent} with { stepIndex }. Setting it requires declaring that event (with a `{ stepIndex }` payload) and a transition handling it in the same trait; omit this prop for non-clickable progress indicators.",
6013
6201
  kind: "event-ref",
6014
6202
  emitPayloadSchema: [
6015
6203
  {
@@ -9458,7 +9646,7 @@ var patterns_registry_default = {
9458
9646
  types: [
9459
9647
  "string"
9460
9648
  ],
9461
- description: "Input type - supports 'select' and 'textarea' in addition to standard types",
9649
+ description: "Input type \u2014 selects the field's data mode. Use 'password' for masked credentials / secret / passphrase entry (there is no separate password pattern); 'email', 'tel', 'url', 'number', 'search', 'date', and 'time' for their respective values; and 'select' / 'textarea' for choice and multi-line entry in addition to the standard single-line types.",
9462
9650
  enumValues: [
9463
9651
  "text",
9464
9652
  "email",
@@ -10736,7 +10924,7 @@ var patterns_registry_default = {
10736
10924
  types: [
10737
10925
  "function"
10738
10926
  ],
10739
- description: "Render function for each item",
10927
+ description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
10740
10928
  required: true,
10741
10929
  kind: "callback",
10742
10930
  callbackArgs: [
@@ -12172,7 +12360,7 @@ var patterns_registry_default = {
12172
12360
  types: [
12173
12361
  "string"
12174
12362
  ],
12175
- description: "Input type - supports 'select' and 'textarea' in addition to standard types",
12363
+ description: "Input type \u2014 selects the field's data mode. Use 'password' for masked credentials / secret / passphrase entry (there is no separate password pattern); 'email', 'tel', 'url', 'number', 'search', 'date', and 'time' for their respective values; and 'select' / 'textarea' for choice and multi-line entry in addition to the standard single-line types.",
12176
12364
  enumValues: [
12177
12365
  "text",
12178
12366
  "email",
@@ -16275,6 +16463,11 @@ var patterns_registry_default = {
16275
16463
  "number"
16276
16464
  ]
16277
16465
  },
16466
+ badge: {
16467
+ types: [
16468
+ "number"
16469
+ ]
16470
+ },
16278
16471
  x: {
16279
16472
  types: [
16280
16473
  "number"
@@ -16295,7 +16488,7 @@ var patterns_registry_default = {
16295
16488
  types: [
16296
16489
  "array"
16297
16490
  ],
16298
- description: "Graph edges",
16491
+ description: "Graph edges (the only rendered links)",
16299
16492
  items: {
16300
16493
  types: [
16301
16494
  "object"
@@ -16333,6 +16526,39 @@ var patterns_registry_default = {
16333
16526
  ]
16334
16527
  }
16335
16528
  },
16529
+ similarity: {
16530
+ types: [
16531
+ "array"
16532
+ ],
16533
+ description: "All-pairs similarity (cosine 0\u20131) used ONLY for layout, never drawn. It is the secondary macro-layout: non-connected pairs get a weak spring (higher cosine \u21D2 closer) so clusters arrange relative to each other; drawn `edges` stay the primary tight structure. When omitted, edges alone drive the layout.",
16534
+ items: {
16535
+ types: [
16536
+ "object"
16537
+ ],
16538
+ properties: {
16539
+ source: {
16540
+ types: [
16541
+ "string"
16542
+ ]
16543
+ },
16544
+ target: {
16545
+ types: [
16546
+ "string"
16547
+ ]
16548
+ },
16549
+ weight: {
16550
+ types: [
16551
+ "number"
16552
+ ]
16553
+ }
16554
+ },
16555
+ required: [
16556
+ "source",
16557
+ "target",
16558
+ "weight"
16559
+ ]
16560
+ }
16561
+ },
16336
16562
  height: {
16337
16563
  types: [
16338
16564
  "number"
@@ -16442,6 +16668,11 @@ var patterns_registry_default = {
16442
16668
  "number"
16443
16669
  ]
16444
16670
  },
16671
+ badge: {
16672
+ types: [
16673
+ "number"
16674
+ ]
16675
+ },
16445
16676
  x: {
16446
16677
  types: [
16447
16678
  "number"
@@ -16500,6 +16731,74 @@ var patterns_registry_default = {
16500
16731
  "number"
16501
16732
  ]
16502
16733
  },
16734
+ badge: {
16735
+ types: [
16736
+ "number"
16737
+ ]
16738
+ },
16739
+ x: {
16740
+ types: [
16741
+ "number"
16742
+ ]
16743
+ },
16744
+ y: {
16745
+ types: [
16746
+ "number"
16747
+ ]
16748
+ }
16749
+ },
16750
+ required: [
16751
+ "id"
16752
+ ]
16753
+ }
16754
+ }
16755
+ ]
16756
+ },
16757
+ onBadgeClick: {
16758
+ types: [
16759
+ "function"
16760
+ ],
16761
+ description: "On node badge click (e.g. to expand a merged cluster).",
16762
+ kind: "callback",
16763
+ callbackArgs: [
16764
+ {
16765
+ name: "node",
16766
+ type: "object",
16767
+ schema: {
16768
+ types: [
16769
+ "object"
16770
+ ],
16771
+ properties: {
16772
+ id: {
16773
+ types: [
16774
+ "string"
16775
+ ]
16776
+ },
16777
+ label: {
16778
+ types: [
16779
+ "string"
16780
+ ]
16781
+ },
16782
+ group: {
16783
+ types: [
16784
+ "string"
16785
+ ]
16786
+ },
16787
+ color: {
16788
+ types: [
16789
+ "string"
16790
+ ]
16791
+ },
16792
+ size: {
16793
+ types: [
16794
+ "number"
16795
+ ]
16796
+ },
16797
+ badge: {
16798
+ types: [
16799
+ "number"
16800
+ ]
16801
+ },
16503
16802
  x: {
16504
16803
  types: [
16505
16804
  "number"
@@ -18515,7 +18814,7 @@ var patterns_registry_default = {
18515
18814
  types: [
18516
18815
  "array"
18517
18816
  ],
18518
- description: "Field definitions for rendering each card. The pattern contract in `@almadar/patterns` documents `columns` as the wire-format alias the compiler emits \u2014 both names resolve to the same shape here. Pass either.",
18817
+ description: "Field definitions for rendering each card. The pattern contract in `@almadar/core/patterns` documents `columns` as the wire-format alias the compiler emits \u2014 both names resolve to the same shape here. Pass either.",
18519
18818
  items: {
18520
18819
  types: [
18521
18820
  "object"
@@ -18847,7 +19146,7 @@ var patterns_registry_default = {
18847
19146
  types: [
18848
19147
  "function"
18849
19148
  ],
18850
- description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop.',
19149
+ description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop. In .lolo, author the per-item renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
18851
19150
  kind: "callback",
18852
19151
  callbackArgs: [
18853
19152
  {
@@ -18960,7 +19259,7 @@ var patterns_registry_default = {
18960
19259
  types: [
18961
19260
  "array"
18962
19261
  ],
18963
- description: "Field definitions for rendering each row. The pattern contract in `@almadar/patterns` documents `columns` as the wire-format alias the compiler emits \u2014 both names resolve to the same shape here. Pass either.",
19262
+ description: "Field definitions for rendering each row. The pattern contract in `@almadar/core/patterns` documents `columns` as the wire-format alias the compiler emits \u2014 both names resolve to the same shape here. Pass either.",
18964
19263
  items: {
18965
19264
  types: [
18966
19265
  "object"
@@ -19364,7 +19663,7 @@ var patterns_registry_default = {
19364
19663
  types: [
19365
19664
  "function"
19366
19665
  ],
19367
- description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop.',
19666
+ description: 'Per-item render function (schema-level alias for children render prop). In .orb schemas: ["fn", "item", { pattern tree with @item.field bindings }] The compiler converts this to the children render prop. In .lolo, author the per-item renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
19368
19667
  kind: "callback",
19369
19668
  callbackArgs: [
19370
19669
  {
@@ -20394,6 +20693,12 @@ var patterns_registry_default = {
20394
20693
  ],
20395
20694
  description: "Text to display after the number"
20396
20695
  },
20696
+ format: {
20697
+ types: [
20698
+ "string"
20699
+ ],
20700
+ description: `Display format: "number" (locale grouping), "currency" ($x.xx), "percent" (rounded %). Unset preserves the value's own decimals.`
20701
+ },
20397
20702
  className: {
20398
20703
  types: [
20399
20704
  "string"
@@ -20580,7 +20885,7 @@ var patterns_registry_default = {
20580
20885
  types: [
20581
20886
  "function"
20582
20887
  ],
20583
- description: "Render function for each slide",
20888
+ description: "Render function for each slide. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
20584
20889
  kind: "callback",
20585
20890
  callbackArgs: [
20586
20891
  {
@@ -20753,7 +21058,7 @@ var patterns_registry_default = {
20753
21058
  types: [
20754
21059
  "function"
20755
21060
  ],
20756
- description: "renderItem prop",
21061
+ description: "Render function for each item. In .lolo: renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.",
20757
21062
  required: true,
20758
21063
  kind: "callback",
20759
21064
  callbackArgs: [
@@ -34775,7 +35080,7 @@ var patterns_registry_default = {
34775
35080
  types: [
34776
35081
  "function"
34777
35082
  ],
34778
- description: 'Per-row render function (schema alias). In .orb: ["fn","item",{...}]. The compiler converts this to the children render prop.',
35083
+ description: 'Per-row render function (schema alias). In .orb: ["fn","item",{...}]. The compiler converts this to the children render prop. In .lolo, author the per-row renderer as renderItem: (fn item <Component \u2026={@item.field}/>), binding per-item fields via @item.field.',
34779
35084
  kind: "callback",
34780
35085
  callbackArgs: [
34781
35086
  {
@@ -40381,31 +40686,31 @@ var patterns_registry_default = {
40381
40686
  types: [
40382
40687
  "number"
40383
40688
  ],
40384
- description: "Rect width in px."
40689
+ description: "Rect width in world units (fractions of `projector.tileWidth`)."
40385
40690
  },
40386
40691
  height: {
40387
40692
  types: [
40388
40693
  "number"
40389
40694
  ],
40390
- description: "Rect height in px."
40695
+ description: "Rect height in world units (fractions of `projector.tileWidth`)."
40391
40696
  },
40392
40697
  radiusX: {
40393
40698
  types: [
40394
40699
  "number"
40395
40700
  ],
40396
- description: "Ellipse horizontal radius in px."
40701
+ description: "Ellipse horizontal radius in world units (fractions of `projector.tileWidth`)."
40397
40702
  },
40398
40703
  radiusY: {
40399
40704
  types: [
40400
40705
  "number"
40401
40706
  ],
40402
- description: "Ellipse vertical radius in px; omitted \u2192 `radiusX` (a circle)."
40707
+ description: "Ellipse vertical radius in world units; omitted \u2192 `radiusX` (a circle)."
40403
40708
  },
40404
40709
  offsetX: {
40405
40710
  types: [
40406
40711
  "number"
40407
40712
  ],
40408
- description: "Fine px nudge from the anchor point (e.g. a disc drawn at `groundY - 8*scale`)."
40713
+ description: "Fine nudge from the anchor point in world units."
40409
40714
  },
40410
40715
  offsetY: {
40411
40716
  types: [
@@ -40417,7 +40722,7 @@ var patterns_registry_default = {
40417
40722
  types: [
40418
40723
  "array"
40419
40724
  ],
40420
- description: "Poly vertices as px offsets relative to the cell's projected top-left.",
40725
+ description: "Poly vertices as world-unit offsets relative to the cell's projected top-left.",
40421
40726
  items: {
40422
40727
  types: [
40423
40728
  "object"
@@ -42235,7 +42540,7 @@ var integrators_registry_default = {
42235
42540
  // src/patterns/component-mapping.json
42236
42541
  var component_mapping_default = {
42237
42542
  version: "1.0.0",
42238
- exportedAt: "2026-07-13T15:27:57.365Z",
42543
+ exportedAt: "2026-07-16T19:33:37.203Z",
42239
42544
  mappings: {
42240
42545
  "page-header": {
42241
42546
  component: "PageHeader",
@@ -43590,7 +43895,7 @@ var component_mapping_default = {
43590
43895
  // src/patterns/event-contracts.json
43591
43896
  var event_contracts_default = {
43592
43897
  version: "1.0.0",
43593
- exportedAt: "2026-07-13T15:27:57.365Z",
43898
+ exportedAt: "2026-07-16T19:33:37.203Z",
43594
43899
  contracts: {
43595
43900
  form: {
43596
43901
  emits: [
@@ -45077,10 +45382,13 @@ var ORB_ALLOWED_ENTITY_PATTERNS = /* @__PURE__ */ new Set([
45077
45382
  "data-grid",
45078
45383
  "search-input",
45079
45384
  "form-section",
45080
- "meter"
45385
+ "meter",
45386
+ "table-view",
45387
+ "filter-group",
45388
+ "timeline",
45389
+ "media-gallery"
45081
45390
  ]);
45082
45391
  var ORB_EXCLUDED_CATEGORIES = /* @__PURE__ */ new Set([
45083
- "game",
45084
45392
  "debug",
45085
45393
  "template"
45086
45394
  ]);
@@ -45161,6 +45469,43 @@ function getOrbAllowedPatternsFiltered(patternNames) {
45161
45469
  return lines.join("\n");
45162
45470
  }
45163
45471
 
45472
+ // src/types/json.ts
45473
+ function isJsonPrimitive(value) {
45474
+ return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
45475
+ }
45476
+ function isJsonObject(value) {
45477
+ return value !== null && typeof value === "object" && !Array.isArray(value);
45478
+ }
45479
+ function isJsonArray(value) {
45480
+ return Array.isArray(value);
45481
+ }
45482
+
45483
+ // src/patterns/helpers/render-ui-pattern-types.ts
45484
+ function collectPatternTypeTokens(node, out) {
45485
+ if (!isJsonObject(node)) return;
45486
+ const type = node["type"];
45487
+ if (typeof type === "string" && !type.startsWith("@")) out.add(type);
45488
+ const children = node["children"];
45489
+ if (isJsonArray(children)) {
45490
+ for (const child of children) collectPatternTypeTokens(child, out);
45491
+ }
45492
+ }
45493
+ function collectRenderUiPatternTypes(ir, out) {
45494
+ if (isJsonArray(ir)) {
45495
+ if (ir.length >= 3 && ir[0] === "render-ui" && typeof ir[1] === "string") {
45496
+ collectPatternTypeTokens(ir[2], out);
45497
+ }
45498
+ for (const item of ir) collectRenderUiPatternTypes(item, out);
45499
+ } else if (isJsonObject(ir)) {
45500
+ for (const value of Object.values(ir)) collectRenderUiPatternTypes(value, out);
45501
+ }
45502
+ }
45503
+ function renderUiPatternTypesOf(ir) {
45504
+ const out = /* @__PURE__ */ new Set();
45505
+ collectRenderUiPatternTypes(ir, out);
45506
+ return out;
45507
+ }
45508
+
45164
45509
  // src/patterns/helpers/pattern-recommender.ts
45165
45510
  var DOMAIN_KEYWORDS = {
45166
45511
  business: ["admin panels", "data-dense views", "list pages", "data entry", "comparisons"],
@@ -45514,17 +45859,6 @@ function isResolvedIR(ir) {
45514
45859
  return typeof r.appName === "string" && r.traits instanceof Map && r.pages instanceof Map;
45515
45860
  }
45516
45861
 
45517
- // src/types/json.ts
45518
- function isJsonPrimitive(value) {
45519
- return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
45520
- }
45521
- function isJsonObject(value) {
45522
- return value !== null && typeof value === "object" && !Array.isArray(value);
45523
- }
45524
- function isJsonArray(value) {
45525
- return Array.isArray(value);
45526
- }
45527
-
45528
45862
  // src/types/validation.ts
45529
45863
  var KNOWN_VALIDATION_ERROR_CODES = {
45530
45864
  // Binding (`@entity.X`, `@payload.Y`, `@state.Z`, `@now`, ...)
@@ -45689,7 +46023,13 @@ var KNOWN_VALIDATION_ERROR_CODES = {
45689
46023
  ORB_X_PAYLOAD_MISMATCH: "ORB_X_PAYLOAD_MISMATCH",
45690
46024
  ORB_X_RENDER_UI_EVENT_LITERAL_STALE: "ORB_X_RENDER_UI_EVENT_LITERAL_STALE",
45691
46025
  ORB_X_UNRESOLVED_PATTERN_FIELD_REF: "ORB_X_UNRESOLVED_PATTERN_FIELD_REF",
45692
- ORB_X_UNUSED_EMISSION: "ORB_X_UNUSED_EMISSION"
46026
+ ORB_X_UNUSED_EMISSION: "ORB_X_UNUSED_EMISSION",
46027
+ // Identity — V4 dual-carry id integrity (`ORB_ID_*`). Mirrors
46028
+ // `orbital-compiler/src/phases/validation/id_integrity.rs`.
46029
+ ORB_ID_UNKNOWN_REF: "ORB_ID_UNKNOWN_REF",
46030
+ ORB_ID_NAME_MISMATCH: "ORB_ID_NAME_MISMATCH",
46031
+ ORB_ID_KIND_MISMATCH: "ORB_ID_KIND_MISMATCH",
46032
+ ORB_ID_LEDGER_ORPHAN: "ORB_ID_LEDGER_ORPHAN"
45693
46033
  };
45694
46034
  function isKnownValidationErrorCode(code) {
45695
46035
  return code in KNOWN_VALIDATION_ERROR_CODES;
@@ -47814,13 +48154,40 @@ function applyEventWiring(orbitals, wiring) {
47814
48154
  }
47815
48155
 
47816
48156
  // src/builders/compose-behaviors.ts
48157
+ function isSchema(input) {
48158
+ return "orbitals" in input && Array.isArray(input.orbitals);
48159
+ }
47817
48160
  function asDefinitions(inputs) {
47818
- return inputs.flatMap((input) => {
47819
- if ("orbitals" in input && Array.isArray(input.orbitals)) {
47820
- return input.orbitals;
48161
+ return inputs.flatMap(
48162
+ (input) => isSchema(input) ? input.orbitals : [input]
48163
+ );
48164
+ }
48165
+ function mergeLedgers(inputs) {
48166
+ const merged = /* @__PURE__ */ new Map();
48167
+ let sawLedger = false;
48168
+ for (const input of inputs) {
48169
+ if (!isSchema(input) || input.ledger === void 0) continue;
48170
+ sawLedger = true;
48171
+ for (const [id, entry] of Object.entries(input.ledger.entries)) {
48172
+ if (!merged.has(id)) merged.set(id, entry);
47821
48173
  }
47822
- return [input];
47823
- });
48174
+ }
48175
+ if (!sawLedger) return void 0;
48176
+ const entries = {};
48177
+ for (const [id, entry] of [...merged.entries()].sort(
48178
+ ([a], [b]) => a < b ? -1 : a > b ? 1 : 0
48179
+ )) {
48180
+ entries[id] = entry;
48181
+ }
48182
+ return { schemaVersion: 1, entries };
48183
+ }
48184
+ function mergeSchemaVersions(inputs) {
48185
+ let max;
48186
+ for (const input of inputs) {
48187
+ if (!isSchema(input) || input.schemaVersion === void 0) continue;
48188
+ max = max === void 0 ? input.schemaVersion : Math.max(max, input.schemaVersion);
48189
+ }
48190
+ return max;
47824
48191
  }
47825
48192
  function toKebabCase(name) {
47826
48193
  return name.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
@@ -47890,10 +48257,14 @@ function composeBehaviors(input) {
47890
48257
  pages: page ? [page] : []
47891
48258
  };
47892
48259
  });
48260
+ const ledger = mergeLedgers(rawInputs);
48261
+ const schemaVersion = mergeSchemaVersions(rawInputs);
47893
48262
  const schema = {
47894
48263
  name: appName,
47895
48264
  version: "1.0.0",
47896
- orbitals: orbitalsWithPages
48265
+ orbitals: orbitalsWithPages,
48266
+ ...schemaVersion !== void 0 ? { schemaVersion } : {},
48267
+ ...ledger !== void 0 ? { ledger } : {}
47897
48268
  };
47898
48269
  return {
47899
48270
  schema,
@@ -48304,6 +48675,6 @@ function mergeEntityFrame(current, orderedWrites) {
48304
48675
  return next;
48305
48676
  }
48306
48677
 
48307
- export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, CAMERA_MODES, COMPONENT_MAPPING, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DeclaredTraitConfigSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EVENT_CONTRACTS, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FieldFormatSchema, FieldSchema, FieldTypeSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, INTEGRATORS_REGISTRY, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, ListenSourceSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_REGISTRY, PATTERN_TYPES, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PatternTypeSchema, PayloadFieldSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, RestAuthConfigSchema, RestServiceDefSchema, SERVICE_TYPES, SExprAtomSchema, SExprSchema, SPRITE_DIRECTIONS, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TextureAtlasSchema, ThemeDefinitionSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, answerToMutations, answersToMutations, applyEventWiring, applyFactoryCallPlanMutation, applyRenderOverlay, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildRecommendationContext, buildReplayPaths, buildResolvedTraitConfigs, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectEmbeddedTraitReferrers, collectReachableStates, component_mapping_default as componentMapping, composeBehaviors, configRefEventKnob, constTruth, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, deref, deriveCollection, deriveInputType, despawn, detectLayoutStrategy, detectPageContentReduction, diffFactoryCalls, diffOrbitalSchemas, diffSchemaSemantics, diffSchemas, doEffects, emit, event_contracts_default as eventContracts, extractPayloadFieldRef, findCompatiblePatterns, findService, fingerprintNode, formatRecommendationsForPrompt, generatePatternDescription, generateQuestions, getAllPatternTypes, getArgs, getBindingExamples, getComponentForPattern, getDefaultAnimationsForRole, getEmittedEvents, getEntity, getEntityCardinality, getInteractionModelForDomain, getOperator, getOrbAllowedPatterns, getOrbAllowedPatternsCompact, getOrbAllowedPatternsFiltered, getOrbAllowedPatternsSlim, getPage, getPages, getPatternActionsRef, getPatternDefinition, getPatternMetadata, getPatternPropsCompact, getPatternsGroupedByCategory, getRemovals, getSchemaCacheStats, getServiceNames, getTrait, getTraitConfig, getTraitName, hasService, hasSignificantPageReduction, inferTsType, insertChildAtPath, integrators_registry_default as integratorsRegistry, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isDestructiveChange, isDrawHostPattern, isDrawablePattern, isEffect, isEntityAwarePattern, isEntityCall, isEntityReference, isEntityReferenceAny, isEventPayloadValue, isFieldValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMcpService, isOrbitalDefinition, isPageReference, isPageReferenceObject, isPageReferenceString, isPlanSnapshot, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isThemeReference, isTraitFieldRef, isValidBinding, isValidPatternType, mergeEntityFrame, navigate, navigatePatternPath, normalizeCallSiteConfigToValues, normalizeTraitRef, notify, parseAssetKey, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalSchema, parsePageRef, parseServiceRef, patterns_registry_default as patternsRegistry, persist, persistenceModeAllowsOverrides, recommendPatterns, ref, registry, removeChildAtPath, renderUI, replaceChildAtPath, requiresConfirmation, resolveConfigRefEventName, safeParseOrbitalSchema, schemaToIR, set, setPropAtPath, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, toBindingRoot, translateOverlaysToParams, validateAssetAnimations, validateBindingInContext, walkSExpr, walkStatePairs, watch, widenTier };
48678
+ export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, CAMERA_MODES, COMPONENT_MAPPING, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DeclaredTraitConfigSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EVENT_CONTRACTS, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FieldFormatSchema, FieldSchema, FieldTypeSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, INTEGRATORS_REGISTRY, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalIdSchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_REGISTRY, PATTERN_TYPES, PageIdSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PaletteEntryIdSchema, PatternTypeSchema, PayloadFieldSchema, REFERENCE_CONFIG_TYPES, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, RestAuthConfigSchema, RestServiceDefSchema, SERVICE_TYPES, SExprAtomSchema, SExprSchema, SPRITE_DIRECTIONS, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceIdSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TextureAtlasSchema, ThemeDefinitionSchema, ThemeIdSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitIdSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, answerToMutations, answersToMutations, applyEventWiring, applyFactoryCallPlanMutation, applyRenderOverlay, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildRecommendationContext, buildReplayPaths, buildResolvedTraitConfigs, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectEmbeddedTraitReferrers, collectReachableStates, collectRenderUiPatternTypes, component_mapping_default as componentMapping, composeBehaviors, configRefEventKnob, constTruth, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, deref, deriveCollection, deriveInputType, despawn, detectLayoutStrategy, detectPageContentReduction, diffFactoryCalls, diffOrbitalSchemas, diffSchemaSemantics, diffSchemas, doEffects, emit, event_contracts_default as eventContracts, extractPayloadFieldRef, findCompatiblePatterns, findService, fingerprintNode, formatRecommendationsForPrompt, generatePatternDescription, generateQuestions, getAllPatternTypes, getArgs, getBindingExamples, getComponentForPattern, getDefaultAnimationsForRole, getEmittedEvents, getEntity, getEntityCardinality, getInteractionModelForDomain, getOperator, getOrbAllowedPatterns, getOrbAllowedPatternsCompact, getOrbAllowedPatternsFiltered, getOrbAllowedPatternsSlim, getPage, getPages, getPatternActionsRef, getPatternDefinition, getPatternMetadata, getPatternPropsCompact, getPatternsGroupedByCategory, getRemovals, getSchemaCacheStats, getServiceNames, getTrait, getTraitConfig, getTraitName, hasService, hasSignificantPageReduction, idKindOf, idPrefix, inferTsType, insertChildAtPath, integrators_registry_default as integratorsRegistry, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isDestructiveChange, isDrawHostPattern, isDrawablePattern, isEffect, isEntityAwarePattern, isEntityCall, isEntityId, isEntityReference, isEntityReferenceAny, isEventId, isEventPayloadValue, isFieldValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMcpService, isOrbitalDefinition, isOrbitalId, isPageId, isPageReference, isPageReferenceObject, isPageReferenceString, isPaletteEntryId, isPlanSnapshot, isReferenceConfigType, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isServiceId, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isThemeId, isThemeReference, isTraitFieldRef, isTraitId, isValidBinding, isValidPatternType, ledgerCurName, ledgerRename, ledgerResolveName, mergeEntityFrame, mintId, navigate, navigatePatternPath, normalizeCallSiteConfigToValues, normalizeTraitRef, notify, parseAssetKey, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalSchema, parsePageRef, parseServiceRef, patterns_registry_default as patternsRegistry, persist, persistenceModeAllowsOverrides, recommendPatterns, ref, registry, removeChildAtPath, renderUI, renderUiPatternTypesOf, replaceChildAtPath, requiresConfirmation, resolveConfigRefEventName, safeParseOrbitalSchema, schemaToIR, set, setPropAtPath, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, toBindingRoot, translateOverlaysToParams, validateAssetAnimations, validateBindingInContext, walkSExpr, walkStatePairs, watch, widenTier };
48308
48679
  //# sourceMappingURL=index.js.map
48309
48680
  //# sourceMappingURL=index.js.map