@almadar/core 10.102.0 → 10.103.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.d.ts +5 -5
- package/dist/builders.js +5 -2
- package/dist/builders.js.map +1 -1
- package/dist/{bus-BS4TMOJW.d.ts → bus-BGojNDOE.d.ts} +37 -7
- package/dist/{domain-Ds_7wZIL.d.ts → domain-OgMkN3WN.d.ts} +13 -1
- package/dist/{effect-Hm_QDaSI.d.ts → effect-Xn3LIyL7.d.ts} +1 -1
- package/dist/{entityAccess-D2OpLCyX.d.ts → entityAccess-z5HA0P7P.d.ts} +3 -3
- package/dist/{expression-DRwzVnMu.d.ts → expression-CfeHdS-f.d.ts} +10 -1
- package/dist/factory/index.d.ts +5 -5
- package/dist/factory/index.js.map +1 -1
- package/dist/factory-runtime/index.d.ts +5 -5
- package/dist/factory-runtime/index.js +33 -8
- package/dist/factory-runtime/index.js.map +1 -1
- package/dist/fixtures.d.ts +3 -3
- package/dist/fixtures.js +19 -2
- package/dist/fixtures.js.map +1 -1
- package/dist/i18n/index.js +27 -6
- package/dist/i18n/index.js.map +1 -1
- package/dist/{index-CyfcxG5N.d.ts → index-CVYZ3GcI.d.ts} +122 -23
- package/dist/index.d.ts +74 -17
- package/dist/index.js +400 -76
- package/dist/index.js.map +1 -1
- package/dist/lolo-document/index.d.ts +166 -0
- package/dist/lolo-document/index.js +615 -0
- package/dist/lolo-document/index.js.map +1 -0
- package/dist/mock/index.d.ts +6 -6
- package/dist/mock/index.js +12 -1
- package/dist/mock/index.js.map +1 -1
- package/dist/patterns/index.d.ts +22 -4
- package/dist/patterns/index.js +41 -1
- package/dist/patterns/index.js.map +1 -1
- package/dist/{schema-COf9yTjs.d.ts → schema-sHVqe8Kb.d.ts} +1307 -4
- package/dist/state-machine/index.d.ts +1 -1
- package/dist/themes/index.d.ts +1 -1
- package/dist/themes/index.js +2 -1
- package/dist/themes/index.js.map +1 -1
- package/dist/{trait-Be3xF0px.d.ts → trait-BSe6oDBd.d.ts} +59 -10
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.js +210 -16
- package/dist/types/index.js.map +1 -1
- package/dist/{types-CYOzs4As.d.ts → types-DK29MMOQ.d.ts} +2 -2
- package/fixtures/events-wire/client-effects-provenance/request.json +5 -0
- package/fixtures/events-wire/client-effects-provenance/response.json +57 -0
- package/package.json +6 -1
- package/src/types/bindings.ts +28 -3
package/dist/types/index.js
CHANGED
|
@@ -862,6 +862,44 @@ var EventPayloadValueSchema = z.lazy(
|
|
|
862
862
|
])
|
|
863
863
|
);
|
|
864
864
|
var EventPayloadSchema = z.lazy(() => z.record(EventPayloadValueSchema));
|
|
865
|
+
function isStaticallyFalse(expr, resolve) {
|
|
866
|
+
const known = (e) => {
|
|
867
|
+
if (typeof e === "string" && e.startsWith("@") && resolve !== void 0) {
|
|
868
|
+
const value2 = resolve(e);
|
|
869
|
+
return value2 === void 0 ? e : value2;
|
|
870
|
+
}
|
|
871
|
+
return e;
|
|
872
|
+
};
|
|
873
|
+
const isLiteral = (e) => e === null || typeof e === "boolean" || typeof e === "number" || typeof e === "string" && !e.startsWith("@");
|
|
874
|
+
const value = known(expr);
|
|
875
|
+
if (value === false || value === null) return true;
|
|
876
|
+
if (typeof value === "number") return value === 0;
|
|
877
|
+
if (typeof value === "string") return value === "";
|
|
878
|
+
if (Array.isArray(value)) {
|
|
879
|
+
const op = value[0];
|
|
880
|
+
if (typeof op !== "string") return value.length === 0;
|
|
881
|
+
const args = value.slice(1);
|
|
882
|
+
switch (op) {
|
|
883
|
+
case "and":
|
|
884
|
+
return args.some((a) => isStaticallyFalse(a, resolve));
|
|
885
|
+
case "or":
|
|
886
|
+
return args.length > 0 && args.every((a) => isStaticallyFalse(a, resolve));
|
|
887
|
+
case "not":
|
|
888
|
+
return args.length === 1 && known(args[0]) === true;
|
|
889
|
+
case "==":
|
|
890
|
+
case "!=": {
|
|
891
|
+
if (args.length !== 2) return false;
|
|
892
|
+
const [l, r] = [known(args[0]), known(args[1])];
|
|
893
|
+
if (!isLiteral(l) || !isLiteral(r)) return false;
|
|
894
|
+
return l === r === (op === "!=");
|
|
895
|
+
}
|
|
896
|
+
default:
|
|
897
|
+
return false;
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
if (typeof value === "object") return Object.keys(value).length === 0;
|
|
901
|
+
return false;
|
|
902
|
+
}
|
|
865
903
|
|
|
866
904
|
// src/types/entity.ts
|
|
867
905
|
var EntityPersistenceSchema = z.enum([
|
|
@@ -1288,6 +1326,7 @@ var TraitTickSchema = z.object({
|
|
|
1288
1326
|
priority: z.number().optional(),
|
|
1289
1327
|
interval: TickIntervalSchema,
|
|
1290
1328
|
appliesTo: z.array(z.string()).optional(),
|
|
1329
|
+
runsInBackground: z.boolean().optional(),
|
|
1291
1330
|
pages: z.array(z.string()).optional(),
|
|
1292
1331
|
pageIds: z.array(PageIdSchema).optional(),
|
|
1293
1332
|
guard: ExpressionSchema.optional(),
|
|
@@ -1473,17 +1512,17 @@ var EffectUseSchema = z.object({
|
|
|
1473
1512
|
});
|
|
1474
1513
|
var EffectRowSchema = z.array(EffectUseSchema);
|
|
1475
1514
|
var DispatchModeSchema = z.enum(["persistedAwaited", "hybridClientOnly", "runtimeOptimistic"]);
|
|
1476
|
-
function computeDispatchMode(local, entityIsRuntime) {
|
|
1515
|
+
function computeDispatchMode(local, entityIsRuntime, touchesServer) {
|
|
1477
1516
|
if (local) {
|
|
1478
1517
|
return "hybridClientOnly";
|
|
1479
1518
|
}
|
|
1480
1519
|
if (entityIsRuntime) {
|
|
1481
|
-
return "runtimeOptimistic";
|
|
1520
|
+
return touchesServer ? "runtimeOptimistic" : "hybridClientOnly";
|
|
1482
1521
|
}
|
|
1483
1522
|
return "persistedAwaited";
|
|
1484
1523
|
}
|
|
1485
|
-
function computeTraitDispatchMode(trait, entity) {
|
|
1486
|
-
return computeDispatchMode(trait.local ?? false, entity !== void 0 && isRuntimeEntity(entity));
|
|
1524
|
+
function computeTraitDispatchMode(trait, entity, touchesServer) {
|
|
1525
|
+
return computeDispatchMode(trait.local ?? false, entity !== void 0 && isRuntimeEntity(entity), touchesServer);
|
|
1487
1526
|
}
|
|
1488
1527
|
var SourceBehaviorMetadataSchema = z.object({
|
|
1489
1528
|
behavior: z.string().min(1),
|
|
@@ -1971,8 +2010,18 @@ var ThemeDefinitionSchema = z.object({
|
|
|
1971
2010
|
function isThemeReference(theme) {
|
|
1972
2011
|
return typeof theme === "string";
|
|
1973
2012
|
}
|
|
2013
|
+
var THEME_REGISTRY_KEY_PATTERN = "[a-z][a-z0-9]*(-[a-z0-9]+)*";
|
|
2014
|
+
var THEME_REGISTRY_KEY = new RegExp(`^${THEME_REGISTRY_KEY_PATTERN}$`);
|
|
2015
|
+
function isThemeRegistryKey(theme) {
|
|
2016
|
+
return typeof theme === "string" && THEME_REGISTRY_KEY.test(theme);
|
|
2017
|
+
}
|
|
2018
|
+
function themeDataKey(theme) {
|
|
2019
|
+
if (theme === void 0) return "";
|
|
2020
|
+
if (typeof theme === "string") return theme;
|
|
2021
|
+
return theme.name;
|
|
2022
|
+
}
|
|
1974
2023
|
var ThemeRefStringSchema = z.string().regex(
|
|
1975
|
-
|
|
2024
|
+
new RegExp(`^([A-Z][a-zA-Z0-9]*\\.theme|${THEME_REGISTRY_KEY_PATTERN})$`),
|
|
1976
2025
|
'Theme reference must be "Alias.theme" or a registry theme key (e.g., "linear-clean-light")'
|
|
1977
2026
|
);
|
|
1978
2027
|
var ThemeRefSchema = z.union([
|
|
@@ -2249,7 +2298,8 @@ var OrbitalRefObjectSchema = z.object({
|
|
|
2249
2298
|
roles: z.record(z.string(), z.array(z.string())).optional(),
|
|
2250
2299
|
entities: z.record(z.string(), z.string()).optional(),
|
|
2251
2300
|
mounts: z.record(z.string(), z.array(z.string())).optional(),
|
|
2252
|
-
extend: z.array(EntityFieldSchema).optional()
|
|
2301
|
+
extend: z.array(EntityFieldSchema).optional(),
|
|
2302
|
+
listens: z.array(TraitEventListenerSchema.extend({ trait: z.string() })).optional()
|
|
2253
2303
|
});
|
|
2254
2304
|
function parseOrbitalRef(ref2) {
|
|
2255
2305
|
const match = ref2.match(/^([A-Z][a-zA-Z0-9]*)\.orbitals\.([A-Z][a-zA-Z0-9]*)$/);
|
|
@@ -2450,15 +2500,40 @@ var BINDING_DOCS = {
|
|
|
2450
2500
|
description: "Render-resolved schema sigil \u2014 the host orbital's active data-theme key, derived from Orbital.theme. Substituted from the OrbitalSchema before codegen; never survives as a live binding.",
|
|
2451
2501
|
examples: ["@currentTheme"],
|
|
2452
2502
|
requiresPath: false
|
|
2503
|
+
},
|
|
2504
|
+
event: {
|
|
2505
|
+
description: "The delivery being processed: { event, payload, source } \u2014 for a listens delivery the source emit, with its BusEventSource envelope (Runtime Spec Clause 5.5)",
|
|
2506
|
+
examples: ["@event.event", "@event.payload.n", "@event.source.trait", "@event.source.tick"],
|
|
2507
|
+
requiresPath: false
|
|
2508
|
+
},
|
|
2509
|
+
prevEvents: {
|
|
2510
|
+
description: "The deliveries this trait already received in this dispatch, in order, each shaped like @event",
|
|
2511
|
+
examples: ["@prevEvents"],
|
|
2512
|
+
requiresPath: false
|
|
2513
|
+
},
|
|
2514
|
+
prevStates: {
|
|
2515
|
+
description: "The states this trait left in this dispatch, in order",
|
|
2516
|
+
examples: ["@prevStates"],
|
|
2517
|
+
requiresPath: false
|
|
2518
|
+
},
|
|
2519
|
+
fromState: {
|
|
2520
|
+
description: "The transition's source state",
|
|
2521
|
+
examples: ["@fromState"],
|
|
2522
|
+
requiresPath: false
|
|
2523
|
+
},
|
|
2524
|
+
toState: {
|
|
2525
|
+
description: "The transition's target state (null in a listens `when`, where no transition is chosen yet)",
|
|
2526
|
+
examples: ["@toState"],
|
|
2527
|
+
requiresPath: false
|
|
2453
2528
|
}
|
|
2454
2529
|
};
|
|
2455
2530
|
var BINDING_CONTEXT_RULES = {
|
|
2456
2531
|
guard: {
|
|
2457
|
-
allowed: ["entity", "payload", "state", "now", "config", "user"],
|
|
2458
|
-
description: `Guards can access entity fields, event payload, current state, time, the call-site trait config (@config.X), and the authenticated user context (@user.id, @user.role) for ownership / role gates. Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
|
|
2532
|
+
allowed: ["entity", "payload", "state", "now", "config", "user", "event", "prevEvents", "prevStates", "fromState", "toState"],
|
|
2533
|
+
description: `Guards can read the delivery being processed and this dispatch's log (@event, @prevEvents, @prevStates) and the transition's ends (@fromState, @toState; Runtime Spec Clause 5.5). Guards can access entity fields, event payload, current state, time, the call-site trait config (@config.X), and the authenticated user context (@user.id, @user.role) for ownership / role gates. Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
|
|
2459
2534
|
},
|
|
2460
2535
|
effect: {
|
|
2461
|
-
allowed: ["entity", "payload", "state", "now", "trait", "config", "user", "callsitePayload", "pages", "currentTheme"],
|
|
2536
|
+
allowed: ["entity", "payload", "state", "now", "trait", "config", "user", "callsitePayload", "pages", "currentTheme", "event", "prevEvents", "prevStates", "fromState", "toState"],
|
|
2462
2537
|
description: "Effects can access and modify entity fields, use payload data, embed another trait's live frame via @trait.X inside render-ui children, read trait config values (@config.X) for atoms parameterized by their call-site, and read the authenticated user context (@user.id, @user.role). At molecule/organism inline time, @config.X is substituted with the literal value from the call-site config block; at atom-scope validate, @config is allowed-but-unresolved. @callsitePayload.X is the call-site-captured event payload emitted by the compiler's inline-trait hoisting (a hoisted render block that captured @payload); it is resolved at the composing effect by the runtime BindingResolver."
|
|
2463
2538
|
},
|
|
2464
2539
|
tick: {
|
|
@@ -2512,12 +2587,18 @@ var BINDING_ROOTS = [
|
|
|
2512
2587
|
"entity",
|
|
2513
2588
|
"payload",
|
|
2514
2589
|
"state",
|
|
2590
|
+
"now",
|
|
2515
2591
|
"config",
|
|
2516
|
-
"user",
|
|
2517
2592
|
"trait",
|
|
2518
|
-
"
|
|
2519
|
-
"
|
|
2520
|
-
"
|
|
2593
|
+
"user",
|
|
2594
|
+
"callsitePayload",
|
|
2595
|
+
"pages",
|
|
2596
|
+
"currentTheme",
|
|
2597
|
+
"event",
|
|
2598
|
+
"prevEvents",
|
|
2599
|
+
"prevStates",
|
|
2600
|
+
"fromState",
|
|
2601
|
+
"toState",
|
|
2521
2602
|
"other"
|
|
2522
2603
|
];
|
|
2523
2604
|
var KNOWN_ROOTS = new Set(BINDING_ROOTS.filter((r) => r !== "other"));
|
|
@@ -2973,6 +3054,24 @@ function isValidPatternType(type) {
|
|
|
2973
3054
|
// src/types/pattern.ts
|
|
2974
3055
|
var PatternTypeSchema = z.string();
|
|
2975
3056
|
|
|
3057
|
+
// src/types/changeset.ts
|
|
3058
|
+
var SEMANTIC_CHANGE_KINDS = [
|
|
3059
|
+
"orbital-added",
|
|
3060
|
+
"orbital-removed",
|
|
3061
|
+
"entity-fields-changed",
|
|
3062
|
+
"trait-added",
|
|
3063
|
+
"trait-removed",
|
|
3064
|
+
"trait-config-changed",
|
|
3065
|
+
"state-machine-changed",
|
|
3066
|
+
"guard-changed",
|
|
3067
|
+
"effect-changed",
|
|
3068
|
+
"render-ui-changed",
|
|
3069
|
+
"event-wiring-changed",
|
|
3070
|
+
"page-changed",
|
|
3071
|
+
"theme-changed",
|
|
3072
|
+
"behavior-composed"
|
|
3073
|
+
];
|
|
3074
|
+
|
|
2976
3075
|
// src/service-types.ts
|
|
2977
3076
|
function createTypedEventBus(bus) {
|
|
2978
3077
|
return {
|
|
@@ -3091,6 +3190,22 @@ var ServerEffectResultSchema = z.object({
|
|
|
3091
3190
|
});
|
|
3092
3191
|
|
|
3093
3192
|
// src/types/bus.ts
|
|
3193
|
+
function deliveryRecordValue(record) {
|
|
3194
|
+
const s = record.source;
|
|
3195
|
+
const source = {
|
|
3196
|
+
...s.orbital !== void 0 ? { orbital: s.orbital } : {},
|
|
3197
|
+
...s.orbitalId !== void 0 ? { orbitalId: s.orbitalId } : {},
|
|
3198
|
+
...s.trait !== void 0 ? { trait: s.trait } : {},
|
|
3199
|
+
...s.traitId !== void 0 ? { traitId: s.traitId } : {},
|
|
3200
|
+
...s.eventId !== void 0 ? { eventId: s.eventId } : {},
|
|
3201
|
+
...s.transition !== void 0 ? { transition: s.transition } : {},
|
|
3202
|
+
...s.tick !== void 0 ? { tick: s.tick } : {},
|
|
3203
|
+
...s.fromBridge !== void 0 ? { fromBridge: s.fromBridge } : {},
|
|
3204
|
+
...s.dispatched !== void 0 ? { dispatched: s.dispatched } : {},
|
|
3205
|
+
...s.originClientId !== void 0 ? { originClientId: s.originClientId } : {}
|
|
3206
|
+
};
|
|
3207
|
+
return { event: record.event, payload: record.payload ?? null, source };
|
|
3208
|
+
}
|
|
3094
3209
|
var BusEventSourceSchema = z.object({
|
|
3095
3210
|
orbital: z.string().optional(),
|
|
3096
3211
|
orbitalId: OrbitalIdSchema.optional(),
|
|
@@ -3103,6 +3218,15 @@ var BusEventSourceSchema = z.object({
|
|
|
3103
3218
|
dispatched: z.boolean().optional(),
|
|
3104
3219
|
originClientId: z.string().optional()
|
|
3105
3220
|
});
|
|
3221
|
+
var DeliveryRecordSchema = z.object({
|
|
3222
|
+
event: z.string(),
|
|
3223
|
+
payload: EventPayloadSchema.optional(),
|
|
3224
|
+
source: BusEventSourceSchema
|
|
3225
|
+
});
|
|
3226
|
+
var DispatchLogSchema = z.object({
|
|
3227
|
+
prevEvents: z.array(DeliveryRecordSchema),
|
|
3228
|
+
prevStates: z.array(z.string())
|
|
3229
|
+
});
|
|
3106
3230
|
var EmittedEventSchema = z.object({
|
|
3107
3231
|
event: z.string(),
|
|
3108
3232
|
payload: EventPayloadSchema.optional(),
|
|
@@ -3147,7 +3271,9 @@ var OrbitalEventRequestSchema = z.object({
|
|
|
3147
3271
|
sourceTrait: z.string().optional(),
|
|
3148
3272
|
traits: z.array(z.object({ trait: z.string(), from: z.string() })).optional(),
|
|
3149
3273
|
entityByTrait: z.record(EntityRowSchema).optional(),
|
|
3150
|
-
behavior: z.string().optional()
|
|
3274
|
+
behavior: z.string().optional(),
|
|
3275
|
+
delivery: DeliveryRecordSchema.optional(),
|
|
3276
|
+
dispatchLog: DispatchLogSchema.optional()
|
|
3151
3277
|
});
|
|
3152
3278
|
var OrbitalEventResponseSchema = z.object({
|
|
3153
3279
|
success: z.boolean(),
|
|
@@ -3157,7 +3283,12 @@ var OrbitalEventResponseSchema = z.object({
|
|
|
3157
3283
|
data: z.record(z.array(EntityRowSchema)).optional(),
|
|
3158
3284
|
entityByTrait: z.record(EntityRowSchema).optional(),
|
|
3159
3285
|
clientEffects: z.array(ClientEffectTupleSchema).optional(),
|
|
3160
|
-
clientEffectsByTrait: z.array(z.object({
|
|
3286
|
+
clientEffectsByTrait: z.array(z.object({
|
|
3287
|
+
traitName: z.string(),
|
|
3288
|
+
effect: ClientEffectTupleSchema,
|
|
3289
|
+
event: z.string().optional(),
|
|
3290
|
+
fromState: z.string().optional()
|
|
3291
|
+
})).optional(),
|
|
3161
3292
|
effectResults: z.array(ServerEffectResultSchema).optional(),
|
|
3162
3293
|
guardFailed: z.string().optional(),
|
|
3163
3294
|
rejections: z.array(
|
|
@@ -3191,6 +3322,66 @@ var LiveBroadcastItemSchema = z.object({
|
|
|
3191
3322
|
var EventDispatchRequestSchema = OrbitalEventRequestSchema;
|
|
3192
3323
|
var EventDispatchResponseSchema = OrbitalEventResponseSchema;
|
|
3193
3324
|
|
|
3325
|
+
// src/types/visit-key.ts
|
|
3326
|
+
function isPayloadList(value) {
|
|
3327
|
+
return Array.isArray(value);
|
|
3328
|
+
}
|
|
3329
|
+
function canonicalJson(value) {
|
|
3330
|
+
if (value === void 0 || value === null) return "null";
|
|
3331
|
+
if (value instanceof Date) return JSON.stringify(value.toISOString());
|
|
3332
|
+
if (isPayloadList(value)) {
|
|
3333
|
+
return `[${value.map((item) => item === void 0 ? "null" : canonicalJson(item)).join(",")}]`;
|
|
3334
|
+
}
|
|
3335
|
+
if (typeof value === "object") {
|
|
3336
|
+
const record = value;
|
|
3337
|
+
const fields = Object.keys(record).filter((k) => record[k] !== void 0).sort().map((k) => `${JSON.stringify(k)}:${canonicalJson(record[k])}`);
|
|
3338
|
+
return `{${fields.join(",")}}`;
|
|
3339
|
+
}
|
|
3340
|
+
return JSON.stringify(value);
|
|
3341
|
+
}
|
|
3342
|
+
function dispatchVisitKey(trait, event, from, payload) {
|
|
3343
|
+
return `${trait}\0${event}\0${from}\0${canonicalJson(payload)}`;
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3346
|
+
// src/types/dispatch-memory.ts
|
|
3347
|
+
function dispatchScopeOf(delivery, log, event, payload) {
|
|
3348
|
+
const record = delivery ?? { event, ...payload !== void 0 ? { payload } : {}, source: {} };
|
|
3349
|
+
return {
|
|
3350
|
+
event: deliveryRecordValue(record),
|
|
3351
|
+
prevEvents: (log?.prevEvents ?? []).map(deliveryRecordValue),
|
|
3352
|
+
prevStates: [...log?.prevStates ?? []]
|
|
3353
|
+
};
|
|
3354
|
+
}
|
|
3355
|
+
var DispatchMemory = class {
|
|
3356
|
+
constructor() {
|
|
3357
|
+
this.deliveries = /* @__PURE__ */ new Map();
|
|
3358
|
+
this.left = /* @__PURE__ */ new Map();
|
|
3359
|
+
}
|
|
3360
|
+
/** This trait's log so far, as it travels on a request. */
|
|
3361
|
+
log(trait) {
|
|
3362
|
+
return { prevEvents: [...this.deliveries.get(trait) ?? []], prevStates: [...this.left.get(trait) ?? []] };
|
|
3363
|
+
}
|
|
3364
|
+
view(trait, delivery) {
|
|
3365
|
+
return dispatchScopeOf(delivery, this.log(trait), delivery.event, delivery.payload);
|
|
3366
|
+
}
|
|
3367
|
+
/** Continue a dispatch that began elsewhere: the target trait's log so far. */
|
|
3368
|
+
seed(trait, log) {
|
|
3369
|
+
this.deliveries.set(trait, [...log.prevEvents]);
|
|
3370
|
+
this.left.set(trait, [...log.prevStates]);
|
|
3371
|
+
}
|
|
3372
|
+
recordDelivery(trait, delivery) {
|
|
3373
|
+
const log = this.deliveries.get(trait) ?? [];
|
|
3374
|
+
log.push(delivery);
|
|
3375
|
+
this.deliveries.set(trait, log);
|
|
3376
|
+
}
|
|
3377
|
+
recordTransition(trait, from, to) {
|
|
3378
|
+
if (from === to) return;
|
|
3379
|
+
const log = this.left.get(trait) ?? [];
|
|
3380
|
+
log.push(from);
|
|
3381
|
+
this.left.set(trait, log);
|
|
3382
|
+
}
|
|
3383
|
+
};
|
|
3384
|
+
|
|
3194
3385
|
// src/types/validation.ts
|
|
3195
3386
|
var KNOWN_VALIDATION_ERROR_CODES = {
|
|
3196
3387
|
// Binding (`@entity.X`, `@payload.Y`, `@state.Z`, `@now`, ...)
|
|
@@ -3202,6 +3393,9 @@ var KNOWN_VALIDATION_ERROR_CODES = {
|
|
|
3202
3393
|
ORB_BINDING_NOW_NO_PATH: "ORB_BINDING_NOW_NO_PATH",
|
|
3203
3394
|
ORB_BINDING_PAYLOAD_FIELD_UNDECLARED: "ORB_BINDING_PAYLOAD_FIELD_UNDECLARED",
|
|
3204
3395
|
ORB_BINDING_PAYLOAD_IN_TICK: "ORB_BINDING_PAYLOAD_IN_TICK",
|
|
3396
|
+
ORB_BINDING_DISPATCH_ROOT_IN_TICK: "ORB_BINDING_DISPATCH_ROOT_IN_TICK",
|
|
3397
|
+
ORB_BINDING_ROOT_NO_PATH: "ORB_BINDING_ROOT_NO_PATH",
|
|
3398
|
+
ORB_BINDING_EVENT_INVALID_PATH: "ORB_BINDING_EVENT_INVALID_PATH",
|
|
3205
3399
|
ORB_BINDING_PAYLOAD_TYPE_INCOMPATIBLE: "ORB_BINDING_PAYLOAD_TYPE_INCOMPATIBLE",
|
|
3206
3400
|
ORB_BINDING_SET_TARGET_MISSING_PATH: "ORB_BINDING_SET_TARGET_MISSING_PATH",
|
|
3207
3401
|
ORB_BINDING_STATE_NO_PATH: "ORB_BINDING_STATE_NO_PATH",
|
|
@@ -3397,6 +3591,6 @@ function widenTier(tier) {
|
|
|
3397
3591
|
return tier;
|
|
3398
3592
|
}
|
|
3399
3593
|
|
|
3400
|
-
export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ANONYMOUS_USER, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, AudioManifestSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, BusEventSourceSchema, CAMERA_MODES, COLOR_TOKEN_KEYS, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ClientEffectTupleSchema, ClientNavigateBackTupleSchema, ClientNavigateTupleSchema, ClientRenderUITupleSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DEFAULT_UNIT_ANIMATION_ROWS, DEFAULT_VIEWER, DEV_TOKEN_PREFIX, DeclaredTraitConfigSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DispatchModeSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EmittedEventSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntityRowSchema, EntitySchema, EntitySemanticRoleSchema, EventDispatchRequestSchema, EventDispatchResponseSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventPayloadSchema, EventPayloadValueSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpectDeclarationSchema, ExpressionSchema, FIELD_TYPES, FieldSchema, FieldTypeSchema, FieldValueSchema, FileValueSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, ILLUSTRATION_TOKEN_KEYS, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema, LiveBroadcastItemSchema, MANIFEST_ASSET_LICENSES, MANIFEST_CANVAS_AFFINITIES, MANIFEST_ENTRY_KINDS, MANIFEST_SOURCE_CATALOGS, ManifestAssetLicenseSchema, ManifestCanvasAffinitySchema, ManifestEntryKindSchema, ManifestEntrySchema, ManifestFrameSpecSchema, ManifestSourceCatalogSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalEventRequestSchema, OrbitalEventResponseSchema, OrbitalIdSchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalRefObjectSchema, OrbitalRefStringSchema, OrbitalRegisterResponseSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_TYPES, PageIdSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PaletteEntryIdSchema, PatternConfigSchema, PatternTypeSchema, PayloadFieldSchema, PayloadTypeWhenSchema, REFERENCE_CONFIG_TYPES, RENDER_BINDING_MARKER, RawUserClaimsSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedPatternPropsSchema, RestAuthConfigSchema, RestServiceDefSchema, SECRET_CONFIG_TYPES, SEMANTIC_STRING_TYPES, SERVER_REPORTED_EFFECTS, SERVICE_TYPES, SExprAtomSchema, SExprDataSchema, SExprSchema, SHEET_PROJECTIONS, SPRITE_DIRECTIONS, SPRITE_SHEET_LAYOUT, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServerBatchSummarySchema, ServerEffectResultSchema, ServerTopologySchema, ServiceDefinitionSchema, ServiceIdSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SheetProjectionSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SoundEntrySchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TYPE_POSITION_ONLY, TextureAtlasSchema, ThemeDefinitionSchema, ThemeIdSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TickIntervalSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitIdSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TraitUIBindingSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, atomic, callService, collectBindings, computeDispatchMode, computeTraitDispatchMode, configRefEventKnob, containsEntityBinding, containsPayloadBinding, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, decodeDevIdentityToken, defaultUnitAtlas, deref, deriveCollection, deriveId, despawn, doEffects, emit, encodeDevIdentityToken, expectedEntityName, findPersonaInRoster, findService, getArgs, getBindingExamples, getDefaultAnimationsForRole, getInteractionModelForDomain, getOperator, getServiceNames, getTraitConfig, getTraitName, hasService, idKindOf, idPrefix, inferTsType, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isEffect, isEmailValue, isEntityCall, isEntityId, isEntityReference, isEntityReferenceAny, isEventId, isEventPayloadValue, isFieldValue, isFileValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMcpService, isOrbitalDefinition, isOrbitalId, isPageId, isPageReference, isPageReferenceObject, isPageReferenceString, isPaletteEntryId, isPersistBatchOperation, isPhoneValue, isPlanSnapshot, isReferenceConfigType, isRenderBindingMarker, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isSecretConfigType, isSemanticStringType, isSemanticStringValue, isServiceId, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isThemeId, isThemeReference, isTraitFieldRef, isTraitId, isUrlValue, isUuidValue, isValidBinding, isValidPatternType, ledgerCurName, ledgerRename, ledgerResolveName, manifestToAssetCatalog, maskSecretConfigValues, matchAssetQuery, mintId, navigate, navigateBack, normalizeCallSiteConfigToValues, normalizeTraitRef, normalizeUserContext, overrideDeclaredKnobs, parseAssetKey, parseAssetQuery, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalRef, parseOrbitalSchema, parsePageRef, parseServiceRef, persist, persistenceModeAllowsOverrides, personaFromIdentityRow, ref, renderUI, resolveConfigRefEventName, resolveDefaultViewer, resolvePersonaSpec, safeParseOrbitalSchema, set, sexpr, spawn, swap, toBindingRoot, validateAssetAnimations, validateBindingInContext, walkSExpr, watch, widenTier };
|
|
3594
|
+
export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, ANIMATION_NAMES, ANONYMOUS_USER, ASSET_ASPECTS, ASSET_DIMENSIONS, AgentDomainCategorySchema, AnimationDefSchema, AnimationNameSchema, AssetAspectSchema, AssetCatalogEntrySchema, AssetCatalogSchema, AssetDimensionSchema, AssetSchema, AudioManifestSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, BusEventSourceSchema, CAMERA_MODES, COLOR_TOKEN_KEYS, CONFIG_REF_EVENT_PATTERN, CORE_BINDINGS, CameraModeSchema, CameraSchema, ClientEffectTupleSchema, ClientNavigateBackTupleSchema, ClientNavigateTupleSchema, ClientRenderUITupleSchema, ColorSliceSchema, ColorTokensSchema, ComputedEventContractSchema, ComputedEventListenerSchema, ConfigFieldDeclarationSchema, ConfigProvenanceRecordSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DEFAULT_UNIT_ANIMATION_ROWS, DEFAULT_VIEWER, DEV_TOKEN_PREFIX, DeclaredTraitConfigSchema, DeliveryRecordSchema, DensitySliceSchema, DensityTokensSchema, DesignPreferencesSchema, DesignTokensSchema, DispatchLogSchema, DispatchMemory, DispatchModeSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, ENTITY_ROLES, EffectSchema, ElevationSliceSchema, ElevationTokensSchema, EmittedEventSchema, EntityCallSchema, EntityFieldContractSchema, EntityFieldSchema, EntityIdSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntityRowSchema, EntitySchema, EntitySemanticRoleSchema, EventDispatchRequestSchema, EventDispatchResponseSchema, EventIdSchema, EventListenerSchema, EventPayloadFieldSchema, EventPayloadSchema, EventPayloadValueSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpectDeclarationSchema, ExpressionSchema, FIELD_TYPES, FieldSchema, FieldTypeSchema, FieldValueSchema, FileValueSchema, GameSubCategorySchema, GeometrySliceSchema, GeometryTokensSchema, GuardSchema, ILLUSTRATION_TOKEN_KEYS, IconFamilySchema, IconographySliceSchema, IconographyTokensSchema, IdentityLedgerSchema, IllustrationSliceSchema, IllustrationStyleSchema, IllustrationTokensSchema, InteractionModelSchema, KNOWN_VALIDATION_ERROR_CODES, LedgerEntrySchema, LedgerKindSchema, ListenSourceSchema, LiveBroadcastItemSchema, MANIFEST_ASSET_LICENSES, MANIFEST_CANVAS_AFFINITIES, MANIFEST_ENTRY_KINDS, MANIFEST_SOURCE_CATALOGS, ManifestAssetLicenseSchema, ManifestCanvasAffinitySchema, ManifestEntryKindSchema, ManifestEntrySchema, ManifestFrameSpecSchema, ManifestSourceCatalogSchema, McpServiceDefSchema, MotionDurationKeySchema, MotionDurationPaletteSchema, MotionEasingKeySchema, MotionEasingPaletteSchema, MotionIntentMapSchema, MotionIntentSchema, MotionSliceSchema, MotionTokensSchema, NodeClassificationSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalEventRequestSchema, OrbitalEventResponseSchema, OrbitalIdSchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalRefObjectSchema, OrbitalRefStringSchema, OrbitalRegisterResponseSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PATTERN_TYPES, PageIdSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PaletteEntryIdSchema, PatternConfigSchema, PatternTypeSchema, PayloadFieldSchema, PayloadTypeWhenSchema, REFERENCE_CONFIG_TYPES, RENDER_BINDING_MARKER, RawUserClaimsSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedPatternPropsSchema, RestAuthConfigSchema, RestServiceDefSchema, SECRET_CONFIG_TYPES, SEMANTIC_CHANGE_KINDS, SEMANTIC_STRING_TYPES, SERVER_REPORTED_EFFECTS, SERVICE_TYPES, SExprAtomSchema, SExprDataSchema, SExprSchema, SHEET_PROJECTIONS, SPRITE_DIRECTIONS, SPRITE_SHEET_LAYOUT, ScenePosSchema, SchemaMetadataSchema, SemanticAssetRefSchema, ServerBatchSummarySchema, ServerEffectResultSchema, ServerTopologySchema, ServiceDefinitionSchema, ServiceIdSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SheetProjectionSchema, SkinSpecSchema, SocketEventsSchema, SocketServiceDefSchema, SoundEntrySchema, SpacingScaleSchema, SpriteDirectionSchema, SpriteSheetAtlasSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SubTextureSchema, SuggestedGuardSchema, TYPE_POSITION_ONLY, TextureAtlasSchema, ThemeDefinitionSchema, ThemeIdSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TickIntervalSchema, TilesheetSchema, TraitCategorySchema, TraitConfigSchema, TraitConfigValueSchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitFieldRefSchema, TraitIdSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TraitUIBindingSchema, TransitionSchema, TypeIntentMapSchema, TypeIntentSchema, TypeScaleEntrySchema, TypeScaleSchema, TypeScaleTokensSchema, TypeSizeKeySchema, TypeSliceSchema, TypeSlotSchema, TypeWeightSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, atomic, callService, collectBindings, computeDispatchMode, computeTraitDispatchMode, configRefEventKnob, containsEntityBinding, containsPayloadBinding, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, decodeDevIdentityToken, defaultUnitAtlas, deliveryRecordValue, deref, deriveCollection, deriveId, despawn, dispatchScopeOf, dispatchVisitKey, doEffects, emit, encodeDevIdentityToken, expectedEntityName, findPersonaInRoster, findService, getArgs, getBindingExamples, getDefaultAnimationsForRole, getInteractionModelForDomain, getOperator, getServiceNames, getTraitConfig, getTraitName, hasService, idKindOf, idPrefix, inferTsType, isBinding, isCallSiteConfigDeclaration, isCircuitEvent, isEffect, isEmailValue, isEntityCall, isEntityId, isEntityReference, isEntityReferenceAny, isEventId, isEventPayloadValue, isFieldValue, isFileValue, isImportedTraitRef, isInlineTrait, isJsonArray, isJsonObject, isJsonPrimitive, isKnownValidationErrorCode, isMcpService, isOrbitalDefinition, isOrbitalId, isPageId, isPageReference, isPageReferenceObject, isPageReferenceString, isPaletteEntryId, isPersistBatchOperation, isPhoneValue, isPlanSnapshot, isReferenceConfigType, isRenderBindingMarker, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isSecretConfigType, isSemanticStringType, isSemanticStringValue, isServiceId, isServiceReference, isServiceReferenceObject, isSessionHistoryEntry, isSocketService, isStaticallyFalse, isThemeId, isThemeReference, isThemeRegistryKey, isTraitFieldRef, isTraitId, isUrlValue, isUuidValue, isValidBinding, isValidPatternType, ledgerCurName, ledgerRename, ledgerResolveName, manifestToAssetCatalog, maskSecretConfigValues, matchAssetQuery, mintId, navigate, navigateBack, normalizeCallSiteConfigToValues, normalizeTraitRef, normalizeUserContext, overrideDeclaredKnobs, parseAssetKey, parseAssetQuery, parseBinding, parseEntityRef, parseImportedTraitRef, parseOrbitalRef, parseOrbitalSchema, parsePageRef, parseServiceRef, persist, persistenceModeAllowsOverrides, personaFromIdentityRow, ref, renderUI, resolveConfigRefEventName, resolveDefaultViewer, resolvePersonaSpec, safeParseOrbitalSchema, set, sexpr, spawn, swap, themeDataKey, toBindingRoot, validateAssetAnimations, validateBindingInContext, walkSExpr, watch, widenTier };
|
|
3401
3595
|
//# sourceMappingURL=index.js.map
|
|
3402
3596
|
//# sourceMappingURL=index.js.map
|