@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/{builders-DcBjE_Uw.d.ts → builders-C458pIMW.d.ts} +1882 -221
- package/dist/builders.d.ts +3 -3
- package/dist/builders.js +151 -11
- package/dist/builders.js.map +1 -1
- package/dist/factory/index.d.ts +5 -4
- package/dist/factory-runtime/index.d.ts +63 -18
- package/dist/factory-runtime/index.js +192 -88
- package/dist/factory-runtime/index.js.map +1 -1
- package/dist/index.d.ts +10 -9
- package/dist/index.js +428 -57
- package/dist/index.js.map +1 -1
- package/dist/json-DOTchoRS.d.ts +57 -0
- package/dist/{pattern-types-JZordBZv.d.ts → pattern-types-CLcOXOmW.d.ts} +273 -13
- package/dist/patterns/component-mapping.json +1 -1
- package/dist/patterns/event-contracts.json +1 -1
- package/dist/patterns/index.d.ts +327 -48
- package/dist/patterns/index.js +188 -34
- package/dist/patterns/index.js.map +1 -1
- package/dist/patterns/patterns-registry.json +146 -29
- package/dist/patterns/registry.json +146 -29
- package/dist/{trait-B_CzfDSi.d.ts → trait-CwWjkU-1.d.ts} +423 -45
- package/dist/types/index.d.ts +49 -19
- package/dist/types/index.js +212 -18
- package/dist/types/index.js.map +1 -1
- package/dist/{types-CGC5A1-T.d.ts → types-yW22YNNt.d.ts} +4 -59
- package/package.json +1 -1
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({
|
|
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
|
-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
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(
|
|
47819
|
-
|
|
47820
|
-
|
|
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
|
-
|
|
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
|