@almadar/core 10.28.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-BN3WLFYM.d.ts → builders-C458pIMW.d.ts} +2188 -2525
- package/dist/builders.d.ts +4 -4
- package/dist/builders.js +174 -18
- package/dist/builders.js.map +1 -1
- package/dist/{expression-C6X4A8L7.d.ts → expression-CB9R3KWk.d.ts} +4 -1
- package/dist/factory/index.d.ts +6 -5
- package/dist/factory-runtime/index.d.ts +66 -5
- package/dist/factory-runtime/index.js +220 -40
- package/dist/factory-runtime/index.js.map +1 -1
- package/dist/index.d.ts +52 -11
- package/dist/index.js +1054 -76
- package/dist/index.js.map +1 -1
- package/dist/json-DOTchoRS.d.ts +57 -0
- package/dist/pattern-types-CLcOXOmW.d.ts +4895 -0
- package/dist/patterns/component-mapping.json +1 -1
- package/dist/patterns/event-contracts.json +1 -1
- package/dist/patterns/index.d.ts +1324 -66
- package/dist/patterns/index.js +644 -43
- package/dist/patterns/index.js.map +1 -1
- package/dist/patterns/patterns-registry.json +602 -38
- package/dist/patterns/registry.json +602 -38
- package/dist/state-machine/index.d.ts +1 -1
- package/dist/{trait-DZkS625T.d.ts → trait-CwWjkU-1.d.ts} +608 -686
- package/dist/types/index.d.ts +58 -23
- package/dist/types/index.js +280 -29
- package/dist/types/index.js.map +1 -1
- package/dist/{types-DFn3sWpV.d.ts → types-yW22YNNt.d.ts} +47 -59
- package/package.json +1 -1
- package/src/types/bindings.ts +8 -2
- package/dist/pattern-types-BeQXwgpZ.d.ts +0 -4584
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
|
|
@@ -437,7 +584,7 @@ function isBinding(value) {
|
|
|
437
584
|
function isSExprCall(value) {
|
|
438
585
|
return isSExpr(value);
|
|
439
586
|
}
|
|
440
|
-
var CORE_BINDINGS = ["entity", "payload", "state", "now", "config", "computed", "trait", "user"];
|
|
587
|
+
var CORE_BINDINGS = ["entity", "payload", "state", "now", "config", "computed", "trait", "user", "callsitePayload"];
|
|
441
588
|
function parseBinding(binding) {
|
|
442
589
|
if (!binding.startsWith("@")) {
|
|
443
590
|
return null;
|
|
@@ -521,10 +668,12 @@ var StateSchema = z.object({
|
|
|
521
668
|
var PayloadFieldSchema = z.object({
|
|
522
669
|
name: z.string().min(1),
|
|
523
670
|
type: z.string().min(1),
|
|
524
|
-
required: z.boolean().optional()
|
|
671
|
+
required: z.boolean().optional(),
|
|
672
|
+
properties: z.lazy(() => z.array(PayloadFieldSchema)).optional()
|
|
525
673
|
});
|
|
526
674
|
var EventSchema = z.object({
|
|
527
675
|
key: z.string().min(1, "Event key is required"),
|
|
676
|
+
id: EventIdSchema.optional(),
|
|
528
677
|
name: z.string().min(1, "Event name is required"),
|
|
529
678
|
description: z.string().optional(),
|
|
530
679
|
synonyms: z.string().optional(),
|
|
@@ -542,6 +691,7 @@ var TransitionSchema = z.object({
|
|
|
542
691
|
from: z.string().min(1, "Transition source state is required"),
|
|
543
692
|
to: z.string().min(1, "Transition target state is required"),
|
|
544
693
|
event: z.string().min(1, "Transition event is required"),
|
|
694
|
+
eventId: EventIdSchema.optional(),
|
|
545
695
|
guard: ExpressionSchema.nullish(),
|
|
546
696
|
effects: z.array(EffectSchema).optional(),
|
|
547
697
|
description: z.string().nullish()
|
|
@@ -571,14 +721,50 @@ var TraitConfigSchema = z.record(TraitConfigValueSchema);
|
|
|
571
721
|
function isCallSiteConfigDeclaration(entry) {
|
|
572
722
|
return typeof entry === "object" && entry !== null && !Array.isArray(entry) && "type" in entry && typeof entry.type === "string" && "default" in entry;
|
|
573
723
|
}
|
|
724
|
+
var CONFIG_DECLARATION_META_KEYS = ["label", "description", "tier", "synonyms", "values"];
|
|
725
|
+
function isConfigFieldSchema(entry) {
|
|
726
|
+
if (typeof entry !== "object" || entry === null || Array.isArray(entry)) return false;
|
|
727
|
+
if (!("type" in entry) || typeof entry.type !== "string") return false;
|
|
728
|
+
return "default" in entry || CONFIG_DECLARATION_META_KEYS.some((k) => k in entry);
|
|
729
|
+
}
|
|
730
|
+
function normalizeCallSiteConfigToValues(config) {
|
|
731
|
+
if (config === void 0) {
|
|
732
|
+
return void 0;
|
|
733
|
+
}
|
|
734
|
+
const out = {};
|
|
735
|
+
let hasAny = false;
|
|
736
|
+
for (const [key, entry] of Object.entries(config)) {
|
|
737
|
+
const value = isConfigFieldSchema(entry) ? entry.default : entry;
|
|
738
|
+
if (value !== void 0) {
|
|
739
|
+
out[key] = value;
|
|
740
|
+
hasAny = true;
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
return hasAny ? out : void 0;
|
|
744
|
+
}
|
|
745
|
+
var REFERENCE_CONFIG_TYPES = ["entity", "trait", "event"];
|
|
746
|
+
function isReferenceConfigType(type) {
|
|
747
|
+
return REFERENCE_CONFIG_TYPES.includes(type);
|
|
748
|
+
}
|
|
749
|
+
var ConfigFieldItemsDeclarationSchema = z.lazy(
|
|
750
|
+
() => z.object({
|
|
751
|
+
type: z.string().optional(),
|
|
752
|
+
properties: z.record(TraitEntityFieldSchema).optional(),
|
|
753
|
+
items: ConfigFieldItemsDeclarationSchema.optional()
|
|
754
|
+
})
|
|
755
|
+
);
|
|
574
756
|
var ConfigFieldDeclarationSchema = z.object({
|
|
575
757
|
type: z.string(),
|
|
576
758
|
default: TraitConfigValueSchema.optional(),
|
|
759
|
+
refId: z.string().optional(),
|
|
760
|
+
required: z.boolean().optional(),
|
|
577
761
|
label: z.string().optional(),
|
|
578
762
|
description: z.string().optional(),
|
|
579
763
|
tier: z.string().optional(),
|
|
580
764
|
values: z.array(z.string()).optional(),
|
|
581
|
-
synonyms: z.string().optional()
|
|
765
|
+
synonyms: z.string().optional(),
|
|
766
|
+
items: ConfigFieldItemsDeclarationSchema.optional(),
|
|
767
|
+
properties: z.lazy(() => z.record(TraitEntityFieldSchema)).optional()
|
|
582
768
|
});
|
|
583
769
|
var DeclaredTraitConfigSchema = z.record(
|
|
584
770
|
ConfigFieldDeclarationSchema
|
|
@@ -615,7 +801,9 @@ var TraitEntityFieldSchema = z.object({
|
|
|
615
801
|
]),
|
|
616
802
|
required: z.boolean().optional(),
|
|
617
803
|
default: z.unknown().optional(),
|
|
618
|
-
values: z.array(z.string()).optional()
|
|
804
|
+
values: z.array(z.string()).optional(),
|
|
805
|
+
items: ConfigFieldItemsDeclarationSchema.optional(),
|
|
806
|
+
properties: z.lazy(() => z.record(TraitEntityFieldSchema)).optional()
|
|
619
807
|
});
|
|
620
808
|
var TraitDataEntitySchema = z.object({
|
|
621
809
|
name: z.string().min(1),
|
|
@@ -634,9 +822,11 @@ var TraitTickSchema = z.object({
|
|
|
634
822
|
interval: z.union([z.literal("frame"), z.number().positive()]),
|
|
635
823
|
appliesTo: z.array(z.string()).optional(),
|
|
636
824
|
pages: z.array(z.string()).optional(),
|
|
825
|
+
pageIds: z.array(PageIdSchema).optional(),
|
|
637
826
|
guard: ExpressionSchema.optional(),
|
|
638
827
|
effects: z.array(EffectSchema).min(1),
|
|
639
|
-
emits: z.array(z.string()).optional()
|
|
828
|
+
emits: z.array(z.string()).optional(),
|
|
829
|
+
emitIds: z.array(EventIdSchema).optional()
|
|
640
830
|
});
|
|
641
831
|
var EventScopeSchema = z.enum(["internal", "external"]);
|
|
642
832
|
var EventPayloadFieldSchema = z.object({
|
|
@@ -654,20 +844,39 @@ var EventPayloadFieldSchema = z.object({
|
|
|
654
844
|
type: z.string().min(1),
|
|
655
845
|
required: z.boolean().optional(),
|
|
656
846
|
description: z.string().optional(),
|
|
657
|
-
entityType: z.string().optional()
|
|
847
|
+
entityType: z.string().optional(),
|
|
848
|
+
properties: z.lazy(() => z.array(EventPayloadFieldSchema)).optional()
|
|
658
849
|
});
|
|
850
|
+
var CONFIG_REF_EVENT_PATTERN = /^@config\.[A-Za-z_][A-Za-z0-9_]*$/;
|
|
851
|
+
function configRefEventKnob(event) {
|
|
852
|
+
return CONFIG_REF_EVENT_PATTERN.test(event) ? event.slice("@config.".length) : void 0;
|
|
853
|
+
}
|
|
854
|
+
function resolveConfigRefEventName(event, declaredConfig, effectiveConfig) {
|
|
855
|
+
const knob = configRefEventKnob(event);
|
|
856
|
+
if (knob === void 0) return { ok: false, error: "unknown-knob" };
|
|
857
|
+
const field = declaredConfig?.[knob];
|
|
858
|
+
if (field === void 0) return { ok: false, error: "unknown-knob" };
|
|
859
|
+
if (field.type !== "string") return { ok: false, error: "not-string" };
|
|
860
|
+
if (field.default === void 0) return { ok: false, error: "no-default" };
|
|
861
|
+
const value = effectiveConfig[knob];
|
|
862
|
+
if (typeof value !== "string") return { ok: false, error: "not-string" };
|
|
863
|
+
return { ok: true, value };
|
|
864
|
+
}
|
|
659
865
|
var TraitEventContractSchema = z.object({
|
|
660
866
|
/**
|
|
661
867
|
* Event name. Mirrors the Rust validator's `is_valid_event_identifier`:
|
|
662
868
|
* starts with a letter, then any letters / digits / underscores. Both
|
|
663
869
|
* UPPER_SNAKE_CASE and PascalCase shapes are valid identifiers in the
|
|
664
870
|
* post-Phase 2.5 nominal-event type system (events declared via
|
|
665
|
-
* `type X = Event<T>`).
|
|
871
|
+
* `type X = Event<T>`). A pre-resolution `@config.<knob>` reference
|
|
872
|
+
* (Option B) is also legal — inline/resolve substitutes it with the
|
|
873
|
+
* knob's effective literal before codegen/runtime consume it.
|
|
666
874
|
*/
|
|
667
875
|
event: z.string().min(1).regex(
|
|
668
|
-
/^[A-Za-z][A-Za-z0-9_]
|
|
669
|
-
"Event name must start with a letter and contain only letters, digits, and underscores"
|
|
876
|
+
/^([A-Za-z][A-Za-z0-9_]*|@config\.[A-Za-z_][A-Za-z0-9_]*)$/,
|
|
877
|
+
"Event name must start with a letter and contain only letters, digits, and underscores, or be a `@config.<knob>` reference"
|
|
670
878
|
),
|
|
879
|
+
eventId: EventIdSchema.optional(),
|
|
671
880
|
description: z.string().optional(),
|
|
672
881
|
synonyms: z.string().optional(),
|
|
673
882
|
tier: z.string().optional(),
|
|
@@ -676,16 +885,24 @@ var TraitEventContractSchema = z.object({
|
|
|
676
885
|
});
|
|
677
886
|
var ListenSourceSchema = z.union([
|
|
678
887
|
z.object({ kind: z.literal("any") }),
|
|
679
|
-
z.object({
|
|
888
|
+
z.object({
|
|
889
|
+
kind: z.literal("trait"),
|
|
890
|
+
trait: z.string().min(1),
|
|
891
|
+
traitId: TraitIdSchema.optional()
|
|
892
|
+
}),
|
|
680
893
|
z.object({
|
|
681
894
|
kind: z.literal("orbital"),
|
|
682
895
|
orbital: z.string().min(1),
|
|
683
|
-
trait: z.string().min(1)
|
|
896
|
+
trait: z.string().min(1),
|
|
897
|
+
orbitalId: OrbitalIdSchema.optional(),
|
|
898
|
+
traitId: TraitIdSchema.optional()
|
|
684
899
|
})
|
|
685
900
|
]);
|
|
686
901
|
var TraitEventListenerSchema = z.object({
|
|
687
902
|
event: z.string().min(1),
|
|
903
|
+
eventId: EventIdSchema.optional(),
|
|
688
904
|
triggers: z.string().min(1),
|
|
905
|
+
triggersId: EventIdSchema.optional(),
|
|
689
906
|
description: z.string().optional(),
|
|
690
907
|
synonyms: z.string().optional(),
|
|
691
908
|
tier: z.string().optional(),
|
|
@@ -701,14 +918,20 @@ var RequiredFieldSchema = z.object({
|
|
|
701
918
|
});
|
|
702
919
|
var TraitReferenceSchema = z.object({
|
|
703
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(),
|
|
704
925
|
// Phase 1.2: optional registry path disambiguator, pairs with `ref`.
|
|
705
926
|
from: z.string().optional(),
|
|
706
927
|
linkedEntity: z.string().optional(),
|
|
928
|
+
linkedEntityId: EntityIdSchema.optional(),
|
|
707
929
|
name: z.string().optional(),
|
|
708
930
|
events: z.record(
|
|
709
931
|
z.string().min(1, "events key (atom event name) must be non-empty"),
|
|
710
932
|
z.string().min(1, "events value (caller event name) must be non-empty")
|
|
711
933
|
).optional(),
|
|
934
|
+
eventIds: z.record(z.string().min(1), EventIdSchema).optional(),
|
|
712
935
|
fields: z.record(
|
|
713
936
|
z.string().min(1, "fields key (canonical field name) must be non-empty"),
|
|
714
937
|
z.string().min(1, "fields value (consumer field name) must be non-empty")
|
|
@@ -758,6 +981,7 @@ var SourceBehaviorMetadataSchema = z.object({
|
|
|
758
981
|
originalName: z.string().min(1)
|
|
759
982
|
});
|
|
760
983
|
var TraitSchema = z.object({
|
|
984
|
+
id: TraitIdSchema.optional(),
|
|
761
985
|
name: z.string().min(1),
|
|
762
986
|
description: z.string().optional(),
|
|
763
987
|
description_visual_prompt: z.string().optional(),
|
|
@@ -769,6 +993,9 @@ var TraitSchema = z.object({
|
|
|
769
993
|
capabilities: z.array(z.string()).optional(),
|
|
770
994
|
scope: TraitScopeSchema,
|
|
771
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(),
|
|
772
999
|
requiredFields: z.array(RequiredFieldSchema).optional(),
|
|
773
1000
|
dataEntities: z.array(TraitDataEntitySchema).optional(),
|
|
774
1001
|
stateMachine: StateMachineSchema.optional(),
|
|
@@ -842,10 +1069,13 @@ var ViewTypeSchema = z.enum([
|
|
|
842
1069
|
]);
|
|
843
1070
|
var PageTraitRefSchema = z.object({
|
|
844
1071
|
ref: z.string().min(1, "Trait ref is required"),
|
|
1072
|
+
refId: TraitIdSchema.optional(),
|
|
845
1073
|
linkedEntity: z.string().optional(),
|
|
1074
|
+
linkedEntityId: EntityIdSchema.optional(),
|
|
846
1075
|
config: TraitConfigSchema.optional()
|
|
847
1076
|
});
|
|
848
1077
|
var OrbitalPageStrictSchema = z.object({
|
|
1078
|
+
id: PageIdSchema.optional(),
|
|
849
1079
|
name: z.string().min(1, "Page name is required"),
|
|
850
1080
|
path: z.string().min(1, "Page path is required").startsWith("/", "Path must start with /"),
|
|
851
1081
|
primaryEntity: z.string().min(1, "Primary entity is required"),
|
|
@@ -853,6 +1083,7 @@ var OrbitalPageStrictSchema = z.object({
|
|
|
853
1083
|
title: z.string().optional()
|
|
854
1084
|
}).strict();
|
|
855
1085
|
var OrbitalPageSchema = z.object({
|
|
1086
|
+
id: PageIdSchema.optional(),
|
|
856
1087
|
name: z.string().min(1, "Page name is required"),
|
|
857
1088
|
path: z.string().min(1, "Page path is required").startsWith("/", "Path must start with /"),
|
|
858
1089
|
viewType: ViewTypeSchema.optional(),
|
|
@@ -1429,11 +1660,14 @@ var PageRefStringSchema = z.string().regex(
|
|
|
1429
1660
|
);
|
|
1430
1661
|
var PageRefObjectSchema = z.object({
|
|
1431
1662
|
ref: PageRefStringSchema,
|
|
1663
|
+
refId: PageIdSchema.optional(),
|
|
1432
1664
|
// Phase 1.2: optional registry path disambiguator, pairs with `ref`.
|
|
1433
1665
|
from: z.string().optional(),
|
|
1434
1666
|
path: z.string().startsWith("/").optional(),
|
|
1435
1667
|
linkedEntity: z.string().optional(),
|
|
1436
|
-
|
|
1668
|
+
linkedEntityId: EntityIdSchema.optional(),
|
|
1669
|
+
traits: z.array(TraitRefSchema).optional(),
|
|
1670
|
+
traitRefIds: z.array(TraitIdSchema).optional()
|
|
1437
1671
|
});
|
|
1438
1672
|
var PageRefSchema = z.union([
|
|
1439
1673
|
PageSchema,
|
|
@@ -1487,6 +1721,7 @@ var ComputedEventListenerSchema = z.object({
|
|
|
1487
1721
|
payloadMapping: z.record(z.string()).optional()
|
|
1488
1722
|
});
|
|
1489
1723
|
var OrbitalDefinitionSchema = z.object({
|
|
1724
|
+
id: OrbitalIdSchema.optional(),
|
|
1490
1725
|
name: z.string().min(1, "Orbital name is required"),
|
|
1491
1726
|
description: z.string().optional(),
|
|
1492
1727
|
visual_prompt: z.string().optional(),
|
|
@@ -1551,7 +1786,12 @@ var OrbitalSchemaSchema = z.object({
|
|
|
1551
1786
|
orbitals: z.array(OrbitalSchema).min(1, "At least one orbital is required"),
|
|
1552
1787
|
services: z.array(ServiceDefinitionSchema).optional(),
|
|
1553
1788
|
config: OrbitalConfigSchema.optional(),
|
|
1554
|
-
_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()
|
|
1555
1795
|
});
|
|
1556
1796
|
function parseOrbitalSchema(data) {
|
|
1557
1797
|
return OrbitalSchemaSchema.parse(data);
|
|
@@ -1608,6 +1848,11 @@ var BINDING_DOCS = {
|
|
|
1608
1848
|
description: "Authenticated user / agent context for ownership and role-based gating",
|
|
1609
1849
|
examples: ["@user.id", "@user.role"],
|
|
1610
1850
|
requiresPath: true
|
|
1851
|
+
},
|
|
1852
|
+
callsitePayload: {
|
|
1853
|
+
description: "Call-site-captured event payload \u2014 emitted by the compiler's inline-trait hoisting when an extracted render block captured @payload; resolved at the composing effect by the runtime BindingResolver",
|
|
1854
|
+
examples: ["@callsitePayload.error", "@callsitePayload.row"],
|
|
1855
|
+
requiresPath: true
|
|
1611
1856
|
}
|
|
1612
1857
|
};
|
|
1613
1858
|
var BINDING_CONTEXT_RULES = {
|
|
@@ -1616,8 +1861,8 @@ var BINDING_CONTEXT_RULES = {
|
|
|
1616
1861
|
description: `Guards can access entity fields, event payload, current state, time, the call-site trait config (@config.X), and the authenticated user context (@user.id, @user.role) for ownership / role gates. Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
|
|
1617
1862
|
},
|
|
1618
1863
|
effect: {
|
|
1619
|
-
allowed: ["entity", "payload", "state", "now", "trait", "config", "user"],
|
|
1620
|
-
description: "Effects can access and modify entity fields, use payload data, embed another trait's live frame via @trait.X inside render-ui children, read trait config values (@config.X) for atoms parameterized by their call-site, and read the authenticated user context (@user.id, @user.role). At molecule/organism inline time, @config.X is substituted with the literal value from the call-site config block; at atom-scope validate, @config is allowed-but-unresolved."
|
|
1864
|
+
allowed: ["entity", "payload", "state", "now", "trait", "config", "user", "callsitePayload"],
|
|
1865
|
+
description: "Effects can access and modify entity fields, use payload data, embed another trait's live frame via @trait.X inside render-ui children, read trait config values (@config.X) for atoms parameterized by their call-site, and read the authenticated user context (@user.id, @user.role). At molecule/organism inline time, @config.X is substituted with the literal value from the call-site config block; at atom-scope validate, @config is allowed-but-unresolved. @callsitePayload.X is the call-site-captured event payload emitted by the compiler's inline-trait hoisting (a hoisted render block that captured @payload); it is resolved at the composing effect by the runtime BindingResolver."
|
|
1621
1866
|
},
|
|
1622
1867
|
tick: {
|
|
1623
1868
|
allowed: ["entity", "state", "now", "config", "user"],
|
|
@@ -1730,7 +1975,7 @@ function getInteractionModelForDomain(domain) {
|
|
|
1730
1975
|
// src/patterns/patterns-registry.json
|
|
1731
1976
|
var patterns_registry_default = {
|
|
1732
1977
|
version: "1.0.0",
|
|
1733
|
-
exportedAt: "2026-07-
|
|
1978
|
+
exportedAt: "2026-07-16T19:33:37.203Z",
|
|
1734
1979
|
patterns: {
|
|
1735
1980
|
"entity-table": {
|
|
1736
1981
|
type: "entity-table",
|
|
@@ -2435,7 +2680,7 @@ var patterns_registry_default = {
|
|
|
2435
2680
|
types: [
|
|
2436
2681
|
"function"
|
|
2437
2682
|
],
|
|
2438
|
-
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.",
|
|
2439
2684
|
kind: "callback",
|
|
2440
2685
|
callbackArgs: [
|
|
2441
2686
|
{
|
|
@@ -2605,15 +2850,6 @@ var patterns_registry_default = {
|
|
|
2605
2850
|
],
|
|
2606
2851
|
typicalSize: "medium",
|
|
2607
2852
|
propsSchema: {
|
|
2608
|
-
entity: {
|
|
2609
|
-
types: [
|
|
2610
|
-
"object",
|
|
2611
|
-
"array"
|
|
2612
|
-
],
|
|
2613
|
-
description: "Entity record or array of records \u2014 pre-resolved by the trait via render-ui after a fetch emit",
|
|
2614
|
-
kind: "entity",
|
|
2615
|
-
cardinality: "collection"
|
|
2616
|
-
},
|
|
2617
2853
|
className: {
|
|
2618
2854
|
types: [
|
|
2619
2855
|
"string"
|
|
@@ -2717,6 +2953,15 @@ var patterns_registry_default = {
|
|
|
2717
2953
|
]
|
|
2718
2954
|
}
|
|
2719
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
|
+
},
|
|
2720
2965
|
minCardWidth: {
|
|
2721
2966
|
types: [
|
|
2722
2967
|
"number"
|
|
@@ -5952,7 +6197,7 @@ var patterns_registry_default = {
|
|
|
5952
6197
|
types: [
|
|
5953
6198
|
"string"
|
|
5954
6199
|
],
|
|
5955
|
-
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.",
|
|
5956
6201
|
kind: "event-ref",
|
|
5957
6202
|
emitPayloadSchema: [
|
|
5958
6203
|
{
|
|
@@ -9401,7 +9646,7 @@ var patterns_registry_default = {
|
|
|
9401
9646
|
types: [
|
|
9402
9647
|
"string"
|
|
9403
9648
|
],
|
|
9404
|
-
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.",
|
|
9405
9650
|
enumValues: [
|
|
9406
9651
|
"text",
|
|
9407
9652
|
"email",
|
|
@@ -10679,7 +10924,7 @@ var patterns_registry_default = {
|
|
|
10679
10924
|
types: [
|
|
10680
10925
|
"function"
|
|
10681
10926
|
],
|
|
10682
|
-
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.",
|
|
10683
10928
|
required: true,
|
|
10684
10929
|
kind: "callback",
|
|
10685
10930
|
callbackArgs: [
|
|
@@ -12079,6 +12324,144 @@ var patterns_registry_default = {
|
|
|
12079
12324
|
],
|
|
12080
12325
|
typicalSize: "medium",
|
|
12081
12326
|
propsSchema: {
|
|
12327
|
+
className: {
|
|
12328
|
+
types: [
|
|
12329
|
+
"string"
|
|
12330
|
+
],
|
|
12331
|
+
description: "Additional CSS classes"
|
|
12332
|
+
},
|
|
12333
|
+
placeholder: {
|
|
12334
|
+
types: [
|
|
12335
|
+
"string"
|
|
12336
|
+
],
|
|
12337
|
+
description: "Placeholder text"
|
|
12338
|
+
},
|
|
12339
|
+
value: {
|
|
12340
|
+
types: [
|
|
12341
|
+
"string",
|
|
12342
|
+
"number"
|
|
12343
|
+
],
|
|
12344
|
+
description: "Current value"
|
|
12345
|
+
},
|
|
12346
|
+
disabled: {
|
|
12347
|
+
types: [
|
|
12348
|
+
"boolean"
|
|
12349
|
+
],
|
|
12350
|
+
description: "Whether input is disabled"
|
|
12351
|
+
},
|
|
12352
|
+
action: {
|
|
12353
|
+
types: [
|
|
12354
|
+
"string"
|
|
12355
|
+
],
|
|
12356
|
+
description: "Declarative event name for trait dispatch",
|
|
12357
|
+
kind: "event"
|
|
12358
|
+
},
|
|
12359
|
+
inputType: {
|
|
12360
|
+
types: [
|
|
12361
|
+
"string"
|
|
12362
|
+
],
|
|
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.",
|
|
12364
|
+
enumValues: [
|
|
12365
|
+
"text",
|
|
12366
|
+
"email",
|
|
12367
|
+
"password",
|
|
12368
|
+
"number",
|
|
12369
|
+
"tel",
|
|
12370
|
+
"url",
|
|
12371
|
+
"search",
|
|
12372
|
+
"date",
|
|
12373
|
+
"datetime-local",
|
|
12374
|
+
"time",
|
|
12375
|
+
"checkbox",
|
|
12376
|
+
"select",
|
|
12377
|
+
"textarea"
|
|
12378
|
+
]
|
|
12379
|
+
},
|
|
12380
|
+
label: {
|
|
12381
|
+
types: [
|
|
12382
|
+
"string"
|
|
12383
|
+
],
|
|
12384
|
+
description: "label prop"
|
|
12385
|
+
},
|
|
12386
|
+
helperText: {
|
|
12387
|
+
types: [
|
|
12388
|
+
"string"
|
|
12389
|
+
],
|
|
12390
|
+
description: "helperText prop"
|
|
12391
|
+
},
|
|
12392
|
+
error: {
|
|
12393
|
+
types: [
|
|
12394
|
+
"string"
|
|
12395
|
+
],
|
|
12396
|
+
description: "error prop"
|
|
12397
|
+
},
|
|
12398
|
+
leftIcon: {
|
|
12399
|
+
types: [
|
|
12400
|
+
"icon",
|
|
12401
|
+
"string"
|
|
12402
|
+
],
|
|
12403
|
+
description: "leftIcon prop"
|
|
12404
|
+
},
|
|
12405
|
+
rightIcon: {
|
|
12406
|
+
types: [
|
|
12407
|
+
"icon",
|
|
12408
|
+
"string"
|
|
12409
|
+
],
|
|
12410
|
+
description: "rightIcon prop"
|
|
12411
|
+
},
|
|
12412
|
+
clearable: {
|
|
12413
|
+
types: [
|
|
12414
|
+
"boolean"
|
|
12415
|
+
],
|
|
12416
|
+
description: "Show clear button when input has value"
|
|
12417
|
+
},
|
|
12418
|
+
onClear: {
|
|
12419
|
+
types: [
|
|
12420
|
+
"function",
|
|
12421
|
+
"string"
|
|
12422
|
+
],
|
|
12423
|
+
description: "Callback or declarative event key when clear button is clicked"
|
|
12424
|
+
},
|
|
12425
|
+
options: {
|
|
12426
|
+
types: [
|
|
12427
|
+
"array"
|
|
12428
|
+
],
|
|
12429
|
+
description: "Options for select type",
|
|
12430
|
+
items: {
|
|
12431
|
+
types: [
|
|
12432
|
+
"object"
|
|
12433
|
+
],
|
|
12434
|
+
properties: {
|
|
12435
|
+
value: {
|
|
12436
|
+
types: [
|
|
12437
|
+
"string"
|
|
12438
|
+
]
|
|
12439
|
+
},
|
|
12440
|
+
label: {
|
|
12441
|
+
types: [
|
|
12442
|
+
"string"
|
|
12443
|
+
]
|
|
12444
|
+
}
|
|
12445
|
+
},
|
|
12446
|
+
required: [
|
|
12447
|
+
"value",
|
|
12448
|
+
"label"
|
|
12449
|
+
]
|
|
12450
|
+
}
|
|
12451
|
+
},
|
|
12452
|
+
rows: {
|
|
12453
|
+
types: [
|
|
12454
|
+
"number"
|
|
12455
|
+
],
|
|
12456
|
+
description: "Rows for textarea type"
|
|
12457
|
+
},
|
|
12458
|
+
onChange: {
|
|
12459
|
+
types: [
|
|
12460
|
+
"function",
|
|
12461
|
+
"string"
|
|
12462
|
+
],
|
|
12463
|
+
description: "onChange handler or declarative event key for trait dispatch"
|
|
12464
|
+
},
|
|
12082
12465
|
leftAddon: {
|
|
12083
12466
|
types: [
|
|
12084
12467
|
"node",
|
|
@@ -12092,12 +12475,6 @@ var patterns_registry_default = {
|
|
|
12092
12475
|
"icon"
|
|
12093
12476
|
],
|
|
12094
12477
|
description: "Right addon (icon, button, or text)"
|
|
12095
|
-
},
|
|
12096
|
-
className: {
|
|
12097
|
-
types: [
|
|
12098
|
-
"string"
|
|
12099
|
-
],
|
|
12100
|
-
description: "Additional CSS classes"
|
|
12101
12478
|
}
|
|
12102
12479
|
}
|
|
12103
12480
|
},
|
|
@@ -16086,6 +16463,11 @@ var patterns_registry_default = {
|
|
|
16086
16463
|
"number"
|
|
16087
16464
|
]
|
|
16088
16465
|
},
|
|
16466
|
+
badge: {
|
|
16467
|
+
types: [
|
|
16468
|
+
"number"
|
|
16469
|
+
]
|
|
16470
|
+
},
|
|
16089
16471
|
x: {
|
|
16090
16472
|
types: [
|
|
16091
16473
|
"number"
|
|
@@ -16106,7 +16488,7 @@ var patterns_registry_default = {
|
|
|
16106
16488
|
types: [
|
|
16107
16489
|
"array"
|
|
16108
16490
|
],
|
|
16109
|
-
description: "Graph edges",
|
|
16491
|
+
description: "Graph edges (the only rendered links)",
|
|
16110
16492
|
items: {
|
|
16111
16493
|
types: [
|
|
16112
16494
|
"object"
|
|
@@ -16144,6 +16526,39 @@ var patterns_registry_default = {
|
|
|
16144
16526
|
]
|
|
16145
16527
|
}
|
|
16146
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
|
+
},
|
|
16147
16562
|
height: {
|
|
16148
16563
|
types: [
|
|
16149
16564
|
"number"
|
|
@@ -16253,6 +16668,11 @@ var patterns_registry_default = {
|
|
|
16253
16668
|
"number"
|
|
16254
16669
|
]
|
|
16255
16670
|
},
|
|
16671
|
+
badge: {
|
|
16672
|
+
types: [
|
|
16673
|
+
"number"
|
|
16674
|
+
]
|
|
16675
|
+
},
|
|
16256
16676
|
x: {
|
|
16257
16677
|
types: [
|
|
16258
16678
|
"number"
|
|
@@ -16311,6 +16731,74 @@ var patterns_registry_default = {
|
|
|
16311
16731
|
"number"
|
|
16312
16732
|
]
|
|
16313
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
|
+
},
|
|
16314
16802
|
x: {
|
|
16315
16803
|
types: [
|
|
16316
16804
|
"number"
|
|
@@ -18326,7 +18814,7 @@ var patterns_registry_default = {
|
|
|
18326
18814
|
types: [
|
|
18327
18815
|
"array"
|
|
18328
18816
|
],
|
|
18329
|
-
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.",
|
|
18330
18818
|
items: {
|
|
18331
18819
|
types: [
|
|
18332
18820
|
"object"
|
|
@@ -18658,7 +19146,7 @@ var patterns_registry_default = {
|
|
|
18658
19146
|
types: [
|
|
18659
19147
|
"function"
|
|
18660
19148
|
],
|
|
18661
|
-
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.',
|
|
18662
19150
|
kind: "callback",
|
|
18663
19151
|
callbackArgs: [
|
|
18664
19152
|
{
|
|
@@ -18771,7 +19259,7 @@ var patterns_registry_default = {
|
|
|
18771
19259
|
types: [
|
|
18772
19260
|
"array"
|
|
18773
19261
|
],
|
|
18774
|
-
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.",
|
|
18775
19263
|
items: {
|
|
18776
19264
|
types: [
|
|
18777
19265
|
"object"
|
|
@@ -19175,7 +19663,7 @@ var patterns_registry_default = {
|
|
|
19175
19663
|
types: [
|
|
19176
19664
|
"function"
|
|
19177
19665
|
],
|
|
19178
|
-
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.',
|
|
19179
19667
|
kind: "callback",
|
|
19180
19668
|
callbackArgs: [
|
|
19181
19669
|
{
|
|
@@ -20205,6 +20693,12 @@ var patterns_registry_default = {
|
|
|
20205
20693
|
],
|
|
20206
20694
|
description: "Text to display after the number"
|
|
20207
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
|
+
},
|
|
20208
20702
|
className: {
|
|
20209
20703
|
types: [
|
|
20210
20704
|
"string"
|
|
@@ -20391,7 +20885,7 @@ var patterns_registry_default = {
|
|
|
20391
20885
|
types: [
|
|
20392
20886
|
"function"
|
|
20393
20887
|
],
|
|
20394
|
-
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.",
|
|
20395
20889
|
kind: "callback",
|
|
20396
20890
|
callbackArgs: [
|
|
20397
20891
|
{
|
|
@@ -20564,7 +21058,7 @@ var patterns_registry_default = {
|
|
|
20564
21058
|
types: [
|
|
20565
21059
|
"function"
|
|
20566
21060
|
],
|
|
20567
|
-
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.",
|
|
20568
21062
|
required: true,
|
|
20569
21063
|
kind: "callback",
|
|
20570
21064
|
callbackArgs: [
|
|
@@ -34586,7 +35080,7 @@ var patterns_registry_default = {
|
|
|
34586
35080
|
types: [
|
|
34587
35081
|
"function"
|
|
34588
35082
|
],
|
|
34589
|
-
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.',
|
|
34590
35084
|
kind: "callback",
|
|
34591
35085
|
callbackArgs: [
|
|
34592
35086
|
{
|
|
@@ -36622,7 +37116,159 @@ var patterns_registry_default = {
|
|
|
36622
37116
|
"v stack"
|
|
36623
37117
|
],
|
|
36624
37118
|
typicalSize: "small",
|
|
36625
|
-
propsSchema: {
|
|
37119
|
+
propsSchema: {
|
|
37120
|
+
gap: {
|
|
37121
|
+
types: [
|
|
37122
|
+
"string"
|
|
37123
|
+
],
|
|
37124
|
+
description: "Gap between children",
|
|
37125
|
+
enumValues: [
|
|
37126
|
+
"none",
|
|
37127
|
+
"xs",
|
|
37128
|
+
"sm",
|
|
37129
|
+
"md",
|
|
37130
|
+
"lg",
|
|
37131
|
+
"xl",
|
|
37132
|
+
"2xl"
|
|
37133
|
+
],
|
|
37134
|
+
default: "md"
|
|
37135
|
+
},
|
|
37136
|
+
align: {
|
|
37137
|
+
types: [
|
|
37138
|
+
"string"
|
|
37139
|
+
],
|
|
37140
|
+
description: "Align items on the cross axis",
|
|
37141
|
+
enumValues: [
|
|
37142
|
+
"start",
|
|
37143
|
+
"center",
|
|
37144
|
+
"end",
|
|
37145
|
+
"stretch",
|
|
37146
|
+
"baseline"
|
|
37147
|
+
],
|
|
37148
|
+
default: "stretch"
|
|
37149
|
+
},
|
|
37150
|
+
justify: {
|
|
37151
|
+
types: [
|
|
37152
|
+
"string"
|
|
37153
|
+
],
|
|
37154
|
+
description: "Justify items on the main axis",
|
|
37155
|
+
enumValues: [
|
|
37156
|
+
"start",
|
|
37157
|
+
"center",
|
|
37158
|
+
"end",
|
|
37159
|
+
"between",
|
|
37160
|
+
"around",
|
|
37161
|
+
"evenly"
|
|
37162
|
+
],
|
|
37163
|
+
default: "start"
|
|
37164
|
+
},
|
|
37165
|
+
wrap: {
|
|
37166
|
+
types: [
|
|
37167
|
+
"boolean"
|
|
37168
|
+
],
|
|
37169
|
+
description: "Allow items to wrap",
|
|
37170
|
+
default: false
|
|
37171
|
+
},
|
|
37172
|
+
reverse: {
|
|
37173
|
+
types: [
|
|
37174
|
+
"boolean"
|
|
37175
|
+
],
|
|
37176
|
+
description: "Reverse the order of children",
|
|
37177
|
+
default: false
|
|
37178
|
+
},
|
|
37179
|
+
flex: {
|
|
37180
|
+
types: [
|
|
37181
|
+
"boolean"
|
|
37182
|
+
],
|
|
37183
|
+
description: "Fill available space (flex: 1)",
|
|
37184
|
+
default: false
|
|
37185
|
+
},
|
|
37186
|
+
className: {
|
|
37187
|
+
types: [
|
|
37188
|
+
"string"
|
|
37189
|
+
],
|
|
37190
|
+
description: "Custom class name"
|
|
37191
|
+
},
|
|
37192
|
+
style: {
|
|
37193
|
+
types: [
|
|
37194
|
+
"object"
|
|
37195
|
+
],
|
|
37196
|
+
description: "Inline styles"
|
|
37197
|
+
},
|
|
37198
|
+
children: {
|
|
37199
|
+
types: [
|
|
37200
|
+
"node"
|
|
37201
|
+
],
|
|
37202
|
+
description: "Children elements"
|
|
37203
|
+
},
|
|
37204
|
+
as: {
|
|
37205
|
+
types: [
|
|
37206
|
+
"component"
|
|
37207
|
+
],
|
|
37208
|
+
description: "HTML element to render as"
|
|
37209
|
+
},
|
|
37210
|
+
onClick: {
|
|
37211
|
+
types: [
|
|
37212
|
+
"function"
|
|
37213
|
+
],
|
|
37214
|
+
description: "Click handler",
|
|
37215
|
+
kind: "callback",
|
|
37216
|
+
callbackArgs: [
|
|
37217
|
+
{
|
|
37218
|
+
name: "e",
|
|
37219
|
+
type: "object"
|
|
37220
|
+
}
|
|
37221
|
+
],
|
|
37222
|
+
nonEmittable: true
|
|
37223
|
+
},
|
|
37224
|
+
onKeyDown: {
|
|
37225
|
+
types: [
|
|
37226
|
+
"function"
|
|
37227
|
+
],
|
|
37228
|
+
description: "Keyboard handler",
|
|
37229
|
+
kind: "callback",
|
|
37230
|
+
callbackArgs: [
|
|
37231
|
+
{
|
|
37232
|
+
name: "e",
|
|
37233
|
+
type: "object"
|
|
37234
|
+
}
|
|
37235
|
+
],
|
|
37236
|
+
nonEmittable: true
|
|
37237
|
+
},
|
|
37238
|
+
role: {
|
|
37239
|
+
types: [
|
|
37240
|
+
"string"
|
|
37241
|
+
],
|
|
37242
|
+
description: "Role for accessibility"
|
|
37243
|
+
},
|
|
37244
|
+
tabIndex: {
|
|
37245
|
+
types: [
|
|
37246
|
+
"number"
|
|
37247
|
+
],
|
|
37248
|
+
description: "Tab index for focus management"
|
|
37249
|
+
},
|
|
37250
|
+
action: {
|
|
37251
|
+
types: [
|
|
37252
|
+
"string"
|
|
37253
|
+
],
|
|
37254
|
+
description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
|
|
37255
|
+
kind: "event"
|
|
37256
|
+
},
|
|
37257
|
+
actionPayload: {
|
|
37258
|
+
types: [
|
|
37259
|
+
"object"
|
|
37260
|
+
],
|
|
37261
|
+
description: "Payload to include with the action event",
|
|
37262
|
+
freeform: true
|
|
37263
|
+
},
|
|
37264
|
+
responsive: {
|
|
37265
|
+
types: [
|
|
37266
|
+
"boolean"
|
|
37267
|
+
],
|
|
37268
|
+
description: "When true, horizontal stacks flip to vertical below the md breakpoint (768px)",
|
|
37269
|
+
default: false
|
|
37270
|
+
}
|
|
37271
|
+
}
|
|
36626
37272
|
},
|
|
36627
37273
|
hstack: {
|
|
36628
37274
|
type: "hstack",
|
|
@@ -36635,7 +37281,159 @@ var patterns_registry_default = {
|
|
|
36635
37281
|
"h stack"
|
|
36636
37282
|
],
|
|
36637
37283
|
typicalSize: "small",
|
|
36638
|
-
propsSchema: {
|
|
37284
|
+
propsSchema: {
|
|
37285
|
+
gap: {
|
|
37286
|
+
types: [
|
|
37287
|
+
"string"
|
|
37288
|
+
],
|
|
37289
|
+
description: "Gap between children",
|
|
37290
|
+
enumValues: [
|
|
37291
|
+
"none",
|
|
37292
|
+
"xs",
|
|
37293
|
+
"sm",
|
|
37294
|
+
"md",
|
|
37295
|
+
"lg",
|
|
37296
|
+
"xl",
|
|
37297
|
+
"2xl"
|
|
37298
|
+
],
|
|
37299
|
+
default: "md"
|
|
37300
|
+
},
|
|
37301
|
+
align: {
|
|
37302
|
+
types: [
|
|
37303
|
+
"string"
|
|
37304
|
+
],
|
|
37305
|
+
description: "Align items on the cross axis",
|
|
37306
|
+
enumValues: [
|
|
37307
|
+
"start",
|
|
37308
|
+
"center",
|
|
37309
|
+
"end",
|
|
37310
|
+
"stretch",
|
|
37311
|
+
"baseline"
|
|
37312
|
+
],
|
|
37313
|
+
default: "stretch"
|
|
37314
|
+
},
|
|
37315
|
+
justify: {
|
|
37316
|
+
types: [
|
|
37317
|
+
"string"
|
|
37318
|
+
],
|
|
37319
|
+
description: "Justify items on the main axis",
|
|
37320
|
+
enumValues: [
|
|
37321
|
+
"start",
|
|
37322
|
+
"center",
|
|
37323
|
+
"end",
|
|
37324
|
+
"between",
|
|
37325
|
+
"around",
|
|
37326
|
+
"evenly"
|
|
37327
|
+
],
|
|
37328
|
+
default: "start"
|
|
37329
|
+
},
|
|
37330
|
+
wrap: {
|
|
37331
|
+
types: [
|
|
37332
|
+
"boolean"
|
|
37333
|
+
],
|
|
37334
|
+
description: "Allow items to wrap",
|
|
37335
|
+
default: false
|
|
37336
|
+
},
|
|
37337
|
+
reverse: {
|
|
37338
|
+
types: [
|
|
37339
|
+
"boolean"
|
|
37340
|
+
],
|
|
37341
|
+
description: "Reverse the order of children",
|
|
37342
|
+
default: false
|
|
37343
|
+
},
|
|
37344
|
+
flex: {
|
|
37345
|
+
types: [
|
|
37346
|
+
"boolean"
|
|
37347
|
+
],
|
|
37348
|
+
description: "Fill available space (flex: 1)",
|
|
37349
|
+
default: false
|
|
37350
|
+
},
|
|
37351
|
+
className: {
|
|
37352
|
+
types: [
|
|
37353
|
+
"string"
|
|
37354
|
+
],
|
|
37355
|
+
description: "Custom class name"
|
|
37356
|
+
},
|
|
37357
|
+
style: {
|
|
37358
|
+
types: [
|
|
37359
|
+
"object"
|
|
37360
|
+
],
|
|
37361
|
+
description: "Inline styles"
|
|
37362
|
+
},
|
|
37363
|
+
children: {
|
|
37364
|
+
types: [
|
|
37365
|
+
"node"
|
|
37366
|
+
],
|
|
37367
|
+
description: "Children elements"
|
|
37368
|
+
},
|
|
37369
|
+
as: {
|
|
37370
|
+
types: [
|
|
37371
|
+
"component"
|
|
37372
|
+
],
|
|
37373
|
+
description: "HTML element to render as"
|
|
37374
|
+
},
|
|
37375
|
+
onClick: {
|
|
37376
|
+
types: [
|
|
37377
|
+
"function"
|
|
37378
|
+
],
|
|
37379
|
+
description: "Click handler",
|
|
37380
|
+
kind: "callback",
|
|
37381
|
+
callbackArgs: [
|
|
37382
|
+
{
|
|
37383
|
+
name: "e",
|
|
37384
|
+
type: "object"
|
|
37385
|
+
}
|
|
37386
|
+
],
|
|
37387
|
+
nonEmittable: true
|
|
37388
|
+
},
|
|
37389
|
+
onKeyDown: {
|
|
37390
|
+
types: [
|
|
37391
|
+
"function"
|
|
37392
|
+
],
|
|
37393
|
+
description: "Keyboard handler",
|
|
37394
|
+
kind: "callback",
|
|
37395
|
+
callbackArgs: [
|
|
37396
|
+
{
|
|
37397
|
+
name: "e",
|
|
37398
|
+
type: "object"
|
|
37399
|
+
}
|
|
37400
|
+
],
|
|
37401
|
+
nonEmittable: true
|
|
37402
|
+
},
|
|
37403
|
+
role: {
|
|
37404
|
+
types: [
|
|
37405
|
+
"string"
|
|
37406
|
+
],
|
|
37407
|
+
description: "Role for accessibility"
|
|
37408
|
+
},
|
|
37409
|
+
tabIndex: {
|
|
37410
|
+
types: [
|
|
37411
|
+
"number"
|
|
37412
|
+
],
|
|
37413
|
+
description: "Tab index for focus management"
|
|
37414
|
+
},
|
|
37415
|
+
action: {
|
|
37416
|
+
types: [
|
|
37417
|
+
"string"
|
|
37418
|
+
],
|
|
37419
|
+
description: "Declarative event name \u2014 emits UI:{action} via eventBus on click",
|
|
37420
|
+
kind: "event"
|
|
37421
|
+
},
|
|
37422
|
+
actionPayload: {
|
|
37423
|
+
types: [
|
|
37424
|
+
"object"
|
|
37425
|
+
],
|
|
37426
|
+
description: "Payload to include with the action event",
|
|
37427
|
+
freeform: true
|
|
37428
|
+
},
|
|
37429
|
+
responsive: {
|
|
37430
|
+
types: [
|
|
37431
|
+
"boolean"
|
|
37432
|
+
],
|
|
37433
|
+
description: "When true, horizontal stacks flip to vertical below the md breakpoint (768px)",
|
|
37434
|
+
default: false
|
|
37435
|
+
}
|
|
37436
|
+
}
|
|
36639
37437
|
},
|
|
36640
37438
|
"form-layout": {
|
|
36641
37439
|
type: "form-layout",
|
|
@@ -39888,31 +40686,31 @@ var patterns_registry_default = {
|
|
|
39888
40686
|
types: [
|
|
39889
40687
|
"number"
|
|
39890
40688
|
],
|
|
39891
|
-
description: "Rect width in
|
|
40689
|
+
description: "Rect width in world units (fractions of `projector.tileWidth`)."
|
|
39892
40690
|
},
|
|
39893
40691
|
height: {
|
|
39894
40692
|
types: [
|
|
39895
40693
|
"number"
|
|
39896
40694
|
],
|
|
39897
|
-
description: "Rect height in
|
|
40695
|
+
description: "Rect height in world units (fractions of `projector.tileWidth`)."
|
|
39898
40696
|
},
|
|
39899
40697
|
radiusX: {
|
|
39900
40698
|
types: [
|
|
39901
40699
|
"number"
|
|
39902
40700
|
],
|
|
39903
|
-
description: "Ellipse horizontal radius in
|
|
40701
|
+
description: "Ellipse horizontal radius in world units (fractions of `projector.tileWidth`)."
|
|
39904
40702
|
},
|
|
39905
40703
|
radiusY: {
|
|
39906
40704
|
types: [
|
|
39907
40705
|
"number"
|
|
39908
40706
|
],
|
|
39909
|
-
description: "Ellipse vertical radius in
|
|
40707
|
+
description: "Ellipse vertical radius in world units; omitted \u2192 `radiusX` (a circle)."
|
|
39910
40708
|
},
|
|
39911
40709
|
offsetX: {
|
|
39912
40710
|
types: [
|
|
39913
40711
|
"number"
|
|
39914
40712
|
],
|
|
39915
|
-
description: "Fine
|
|
40713
|
+
description: "Fine nudge from the anchor point in world units."
|
|
39916
40714
|
},
|
|
39917
40715
|
offsetY: {
|
|
39918
40716
|
types: [
|
|
@@ -39924,7 +40722,7 @@ var patterns_registry_default = {
|
|
|
39924
40722
|
types: [
|
|
39925
40723
|
"array"
|
|
39926
40724
|
],
|
|
39927
|
-
description: "Poly vertices as
|
|
40725
|
+
description: "Poly vertices as world-unit offsets relative to the cell's projected top-left.",
|
|
39928
40726
|
items: {
|
|
39929
40727
|
types: [
|
|
39930
40728
|
"object"
|
|
@@ -40114,13 +40912,13 @@ var patterns_registry_default = {
|
|
|
40114
40912
|
types: [
|
|
40115
40913
|
"number"
|
|
40116
40914
|
],
|
|
40117
|
-
description: "Draw width in
|
|
40915
|
+
description: "Draw width in world units (fractions of `projector.tileWidth`); omitted \u2192 resolved source width in px."
|
|
40118
40916
|
},
|
|
40119
40917
|
height: {
|
|
40120
40918
|
types: [
|
|
40121
40919
|
"number"
|
|
40122
40920
|
],
|
|
40123
|
-
description: "Draw height in
|
|
40921
|
+
description: "Draw height in world units (fractions of `projector.tileWidth`); omitted \u2192 resolved source height in px."
|
|
40124
40922
|
},
|
|
40125
40923
|
frame: {
|
|
40126
40924
|
types: [
|
|
@@ -40128,6 +40926,12 @@ var patterns_registry_default = {
|
|
|
40128
40926
|
],
|
|
40129
40927
|
description: "Explicit atlas sub-rect override (px); omitted \u2192 resolved from `asset.atlas`/`asset.sprite`."
|
|
40130
40928
|
},
|
|
40929
|
+
animation: {
|
|
40930
|
+
types: [
|
|
40931
|
+
"string"
|
|
40932
|
+
],
|
|
40933
|
+
description: "Named GLB animation clip to play (3D backend only; the 2D painter animates via `frame`). Matched case-insensitively against the model's clips."
|
|
40934
|
+
},
|
|
40131
40935
|
flipX: {
|
|
40132
40936
|
types: [
|
|
40133
40937
|
"boolean"
|
|
@@ -40605,6 +41409,11 @@ var patterns_registry_default = {
|
|
|
40605
41409
|
"object"
|
|
40606
41410
|
]
|
|
40607
41411
|
},
|
|
41412
|
+
animation: {
|
|
41413
|
+
types: [
|
|
41414
|
+
"string"
|
|
41415
|
+
]
|
|
41416
|
+
},
|
|
40608
41417
|
flipX: {
|
|
40609
41418
|
types: [
|
|
40610
41419
|
"boolean"
|
|
@@ -41731,7 +42540,7 @@ var integrators_registry_default = {
|
|
|
41731
42540
|
// src/patterns/component-mapping.json
|
|
41732
42541
|
var component_mapping_default = {
|
|
41733
42542
|
version: "1.0.0",
|
|
41734
|
-
exportedAt: "2026-07-
|
|
42543
|
+
exportedAt: "2026-07-16T19:33:37.203Z",
|
|
41735
42544
|
mappings: {
|
|
41736
42545
|
"page-header": {
|
|
41737
42546
|
component: "PageHeader",
|
|
@@ -43086,7 +43895,7 @@ var component_mapping_default = {
|
|
|
43086
43895
|
// src/patterns/event-contracts.json
|
|
43087
43896
|
var event_contracts_default = {
|
|
43088
43897
|
version: "1.0.0",
|
|
43089
|
-
exportedAt: "2026-07-
|
|
43898
|
+
exportedAt: "2026-07-16T19:33:37.203Z",
|
|
43090
43899
|
contracts: {
|
|
43091
43900
|
form: {
|
|
43092
43901
|
emits: [
|
|
@@ -44573,10 +45382,13 @@ var ORB_ALLOWED_ENTITY_PATTERNS = /* @__PURE__ */ new Set([
|
|
|
44573
45382
|
"data-grid",
|
|
44574
45383
|
"search-input",
|
|
44575
45384
|
"form-section",
|
|
44576
|
-
"meter"
|
|
45385
|
+
"meter",
|
|
45386
|
+
"table-view",
|
|
45387
|
+
"filter-group",
|
|
45388
|
+
"timeline",
|
|
45389
|
+
"media-gallery"
|
|
44577
45390
|
]);
|
|
44578
45391
|
var ORB_EXCLUDED_CATEGORIES = /* @__PURE__ */ new Set([
|
|
44579
|
-
"game",
|
|
44580
45392
|
"debug",
|
|
44581
45393
|
"template"
|
|
44582
45394
|
]);
|
|
@@ -44657,6 +45469,43 @@ function getOrbAllowedPatternsFiltered(patternNames) {
|
|
|
44657
45469
|
return lines.join("\n");
|
|
44658
45470
|
}
|
|
44659
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
|
+
|
|
44660
45509
|
// src/patterns/helpers/pattern-recommender.ts
|
|
44661
45510
|
var DOMAIN_KEYWORDS = {
|
|
44662
45511
|
business: ["admin panels", "data-dense views", "list pages", "data entry", "comparisons"],
|
|
@@ -45010,17 +45859,6 @@ function isResolvedIR(ir) {
|
|
|
45010
45859
|
return typeof r.appName === "string" && r.traits instanceof Map && r.pages instanceof Map;
|
|
45011
45860
|
}
|
|
45012
45861
|
|
|
45013
|
-
// src/types/json.ts
|
|
45014
|
-
function isJsonPrimitive(value) {
|
|
45015
|
-
return value === null || typeof value === "string" || typeof value === "number" || typeof value === "boolean";
|
|
45016
|
-
}
|
|
45017
|
-
function isJsonObject(value) {
|
|
45018
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
45019
|
-
}
|
|
45020
|
-
function isJsonArray(value) {
|
|
45021
|
-
return Array.isArray(value);
|
|
45022
|
-
}
|
|
45023
|
-
|
|
45024
45862
|
// src/types/validation.ts
|
|
45025
45863
|
var KNOWN_VALIDATION_ERROR_CODES = {
|
|
45026
45864
|
// Binding (`@entity.X`, `@payload.Y`, `@state.Z`, `@now`, ...)
|
|
@@ -45185,7 +46023,13 @@ var KNOWN_VALIDATION_ERROR_CODES = {
|
|
|
45185
46023
|
ORB_X_PAYLOAD_MISMATCH: "ORB_X_PAYLOAD_MISMATCH",
|
|
45186
46024
|
ORB_X_RENDER_UI_EVENT_LITERAL_STALE: "ORB_X_RENDER_UI_EVENT_LITERAL_STALE",
|
|
45187
46025
|
ORB_X_UNRESOLVED_PATTERN_FIELD_REF: "ORB_X_UNRESOLVED_PATTERN_FIELD_REF",
|
|
45188
|
-
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"
|
|
45189
46033
|
};
|
|
45190
46034
|
function isKnownValidationErrorCode(code) {
|
|
45191
46035
|
return code in KNOWN_VALIDATION_ERROR_CODES;
|
|
@@ -45587,6 +46431,109 @@ function getTrait(ir, traitName) {
|
|
|
45587
46431
|
return ir.traits.get(traitName);
|
|
45588
46432
|
}
|
|
45589
46433
|
|
|
46434
|
+
// src/embedded-trait-config.ts
|
|
46435
|
+
var TRAIT_BINDING_PREFIX = "@trait.";
|
|
46436
|
+
var CONFIG_FORWARD_RE = /^@config\.([A-Za-z_][A-Za-z0-9_]*)$/;
|
|
46437
|
+
function collectTraitRefsFromValue(value, into) {
|
|
46438
|
+
if (value === null || value === void 0) return;
|
|
46439
|
+
if (typeof value === "string") {
|
|
46440
|
+
if (value.startsWith(TRAIT_BINDING_PREFIX)) {
|
|
46441
|
+
const rest = value.slice(TRAIT_BINDING_PREFIX.length);
|
|
46442
|
+
const dot = rest.indexOf(".");
|
|
46443
|
+
const traitName = dot === -1 ? rest : rest.slice(0, dot);
|
|
46444
|
+
if (traitName.length > 0) into.add(traitName);
|
|
46445
|
+
}
|
|
46446
|
+
return;
|
|
46447
|
+
}
|
|
46448
|
+
if (Array.isArray(value)) {
|
|
46449
|
+
for (const item of value) collectTraitRefsFromValue(item, into);
|
|
46450
|
+
return;
|
|
46451
|
+
}
|
|
46452
|
+
if (typeof value === "object") {
|
|
46453
|
+
for (const v of Object.values(value)) {
|
|
46454
|
+
collectTraitRefsFromValue(v, into);
|
|
46455
|
+
}
|
|
46456
|
+
}
|
|
46457
|
+
}
|
|
46458
|
+
function targetTraitOf(traitRef) {
|
|
46459
|
+
if (!traitRef || typeof traitRef !== "object") return void 0;
|
|
46460
|
+
const resolved = traitRef._resolved;
|
|
46461
|
+
return resolved && typeof resolved === "object" ? resolved : traitRef;
|
|
46462
|
+
}
|
|
46463
|
+
function collectEmbeddedTraitReferrers(schema) {
|
|
46464
|
+
const out = /* @__PURE__ */ new Map();
|
|
46465
|
+
if (!schema?.orbitals) return out;
|
|
46466
|
+
for (const orbital of schema.orbitals) {
|
|
46467
|
+
const traits = orbital.traits;
|
|
46468
|
+
if (!Array.isArray(traits)) continue;
|
|
46469
|
+
for (const traitRef of traits) {
|
|
46470
|
+
const target = targetTraitOf(traitRef);
|
|
46471
|
+
if (!target) continue;
|
|
46472
|
+
const referrerName = target.name;
|
|
46473
|
+
if (typeof referrerName !== "string" || referrerName.length === 0) continue;
|
|
46474
|
+
const refs = /* @__PURE__ */ new Set();
|
|
46475
|
+
if (target.config) collectTraitRefsFromValue(target.config, refs);
|
|
46476
|
+
const stateMachine = target.stateMachine;
|
|
46477
|
+
if (stateMachine) collectTraitRefsFromValue(stateMachine, refs);
|
|
46478
|
+
if (refs.size === 0) continue;
|
|
46479
|
+
for (const child of refs) {
|
|
46480
|
+
if (child === referrerName) continue;
|
|
46481
|
+
if (!out.has(child)) out.set(child, referrerName);
|
|
46482
|
+
}
|
|
46483
|
+
}
|
|
46484
|
+
}
|
|
46485
|
+
return out;
|
|
46486
|
+
}
|
|
46487
|
+
function buildResolvedTraitConfigs(schema) {
|
|
46488
|
+
const rawByName = {};
|
|
46489
|
+
if (!schema?.orbitals) return {};
|
|
46490
|
+
for (const orbital of schema.orbitals) {
|
|
46491
|
+
const traitRefs = orbital.traits;
|
|
46492
|
+
if (!traitRefs) continue;
|
|
46493
|
+
for (const t of traitRefs) {
|
|
46494
|
+
if (typeof t === "string") continue;
|
|
46495
|
+
const name = t.name ?? t.ref;
|
|
46496
|
+
const config = t.config;
|
|
46497
|
+
if (typeof name === "string" && config !== void 0) {
|
|
46498
|
+
rawByName[name] = { ...t, config };
|
|
46499
|
+
}
|
|
46500
|
+
}
|
|
46501
|
+
}
|
|
46502
|
+
const referrerByChild = collectEmbeddedTraitReferrers(schema);
|
|
46503
|
+
const resolved = /* @__PURE__ */ new Map();
|
|
46504
|
+
const resolving = /* @__PURE__ */ new Set();
|
|
46505
|
+
function resolveConfig(name) {
|
|
46506
|
+
const cached = resolved.get(name);
|
|
46507
|
+
if (cached) return cached;
|
|
46508
|
+
const raw = rawByName[name]?.config;
|
|
46509
|
+
const base = normalizeCallSiteConfigToValues(raw);
|
|
46510
|
+
if (!base) return void 0;
|
|
46511
|
+
if (resolving.has(name)) return base;
|
|
46512
|
+
resolving.add(name);
|
|
46513
|
+
const out = { ...base };
|
|
46514
|
+
const referrer = referrerByChild.get(name);
|
|
46515
|
+
if (referrer && referrer !== name) {
|
|
46516
|
+
const referrerConfig = resolveConfig(referrer);
|
|
46517
|
+
for (const [key, value] of Object.entries(out)) {
|
|
46518
|
+
if (typeof value !== "string") continue;
|
|
46519
|
+
const match = CONFIG_FORWARD_RE.exec(value);
|
|
46520
|
+
if (!match) continue;
|
|
46521
|
+
const forwarded = referrerConfig?.[match[1]];
|
|
46522
|
+
if (forwarded !== void 0) out[key] = forwarded;
|
|
46523
|
+
}
|
|
46524
|
+
}
|
|
46525
|
+
resolving.delete(name);
|
|
46526
|
+
resolved.set(name, out);
|
|
46527
|
+
return out;
|
|
46528
|
+
}
|
|
46529
|
+
const map = {};
|
|
46530
|
+
for (const name of Object.keys(rawByName)) {
|
|
46531
|
+
const cfg = resolveConfig(name);
|
|
46532
|
+
if (cfg !== void 0) map[name] = cfg;
|
|
46533
|
+
}
|
|
46534
|
+
return map;
|
|
46535
|
+
}
|
|
46536
|
+
|
|
45590
46537
|
// src/diff.ts
|
|
45591
46538
|
function diffSchemas(before, after) {
|
|
45592
46539
|
const changes = [];
|
|
@@ -47207,13 +48154,40 @@ function applyEventWiring(orbitals, wiring) {
|
|
|
47207
48154
|
}
|
|
47208
48155
|
|
|
47209
48156
|
// src/builders/compose-behaviors.ts
|
|
48157
|
+
function isSchema(input) {
|
|
48158
|
+
return "orbitals" in input && Array.isArray(input.orbitals);
|
|
48159
|
+
}
|
|
47210
48160
|
function asDefinitions(inputs) {
|
|
47211
|
-
return inputs.flatMap(
|
|
47212
|
-
|
|
47213
|
-
|
|
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);
|
|
47214
48173
|
}
|
|
47215
|
-
|
|
47216
|
-
|
|
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;
|
|
47217
48191
|
}
|
|
47218
48192
|
function toKebabCase(name) {
|
|
47219
48193
|
return name.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
|
|
@@ -47283,10 +48257,14 @@ function composeBehaviors(input) {
|
|
|
47283
48257
|
pages: page ? [page] : []
|
|
47284
48258
|
};
|
|
47285
48259
|
});
|
|
48260
|
+
const ledger = mergeLedgers(rawInputs);
|
|
48261
|
+
const schemaVersion = mergeSchemaVersions(rawInputs);
|
|
47286
48262
|
const schema = {
|
|
47287
48263
|
name: appName,
|
|
47288
48264
|
version: "1.0.0",
|
|
47289
|
-
orbitals: orbitalsWithPages
|
|
48265
|
+
orbitals: orbitalsWithPages,
|
|
48266
|
+
...schemaVersion !== void 0 ? { schemaVersion } : {},
|
|
48267
|
+
...ledger !== void 0 ? { ledger } : {}
|
|
47290
48268
|
};
|
|
47291
48269
|
return {
|
|
47292
48270
|
schema,
|
|
@@ -47697,6 +48675,6 @@ function mergeEntityFrame(current, orderedWrites) {
|
|
|
47697
48675
|
return next;
|
|
47698
48676
|
}
|
|
47699
48677
|
|
|
47700
|
-
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, 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, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, component_mapping_default as componentMapping, composeBehaviors, 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, normalizeTraitRef, notify, parseAssetKey, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalSchema, parsePageRef, parseServiceRef, patterns_registry_default as patternsRegistry, persist, persistenceModeAllowsOverrides, recommendPatterns, ref, registry, removeChildAtPath, renderUI, replaceChildAtPath, requiresConfirmation, 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 };
|
|
47701
48679
|
//# sourceMappingURL=index.js.map
|
|
47702
48680
|
//# sourceMappingURL=index.js.map
|