@almadar/ui 4.44.0 → 4.44.1
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/avl/index.cjs +25 -25
- package/dist/avl/index.js +25 -25
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.js +1 -1
- package/dist/lib/index.cjs +1 -1
- package/dist/lib/index.js +1 -1
- package/dist/providers/index.cjs +3 -3
- package/dist/providers/index.js +3 -3
- package/dist/runtime/index.cjs +22 -22
- package/dist/runtime/index.js +22 -22
- package/package.json +1 -1
package/dist/avl/index.cjs
CHANGED
|
@@ -14699,7 +14699,7 @@ function recordTransition(trace) {
|
|
|
14699
14699
|
...trace,
|
|
14700
14700
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
14701
14701
|
};
|
|
14702
|
-
log2.
|
|
14702
|
+
log2.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
14703
14703
|
getState().transitions.push(entry);
|
|
14704
14704
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
14705
14705
|
getState().transitions.shift();
|
|
@@ -52867,7 +52867,7 @@ function MaybeTraitScope({
|
|
|
52867
52867
|
const schemaCtx = useEntitySchemaOptional();
|
|
52868
52868
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
52869
52869
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
52870
|
-
scopeWrapLog.
|
|
52870
|
+
scopeWrapLog.debug("decide", {
|
|
52871
52871
|
sourceTrait,
|
|
52872
52872
|
schemaCtxPresent: schemaCtx !== null,
|
|
52873
52873
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
|
@@ -56492,7 +56492,7 @@ function VerificationProvider({
|
|
|
56492
56492
|
},
|
|
56493
56493
|
timestamp: Date.now()
|
|
56494
56494
|
});
|
|
56495
|
-
log3.
|
|
56495
|
+
log3.debug("transition:success", { trait: parsed.traitName, event: parsed.event, from: pending?.from, to: newState, effectCount: effects.length });
|
|
56496
56496
|
} else if (parsed.kind === "error" && parsed.event) {
|
|
56497
56497
|
const key = `${parsed.traitName}:${parsed.event}`;
|
|
56498
56498
|
const pending = pendingRef.current.get(key);
|
|
@@ -56990,7 +56990,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
56990
56990
|
const slots = uiSlotsRef.current;
|
|
56991
56991
|
const embedded = embeddedTraitsRef.current;
|
|
56992
56992
|
if (patterns.length === 0) {
|
|
56993
|
-
flushLog.
|
|
56993
|
+
flushLog.debug("clear", { traitName, slot });
|
|
56994
56994
|
slots.clearBySource(slot, traitName);
|
|
56995
56995
|
return;
|
|
56996
56996
|
}
|
|
@@ -57005,7 +57005,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57005
57005
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
57006
57006
|
const isEmbedded = embedded?.has(traitName) ?? false;
|
|
57007
57007
|
if (isEmbedded) {
|
|
57008
|
-
flushLog.
|
|
57008
|
+
flushLog.debug("embed-route", {
|
|
57009
57009
|
traitName,
|
|
57010
57010
|
slot,
|
|
57011
57011
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
@@ -57019,12 +57019,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57019
57019
|
});
|
|
57020
57020
|
return;
|
|
57021
57021
|
}
|
|
57022
|
-
flushLog.
|
|
57022
|
+
flushLog.debug("slot-render", () => ({
|
|
57023
57023
|
traitName,
|
|
57024
57024
|
slot,
|
|
57025
57025
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
57026
57026
|
embedded: Array.from(embedded ?? [])
|
|
57027
|
-
});
|
|
57027
|
+
}));
|
|
57028
57028
|
slots.render({
|
|
57029
57029
|
target: slot,
|
|
57030
57030
|
pattern: patternType,
|
|
@@ -57209,12 +57209,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57209
57209
|
const bindings = traitBindingsRef.current;
|
|
57210
57210
|
const currentManager = managerRef.current;
|
|
57211
57211
|
console.log("[TraitStateMachine] Processing event:", normalizedEvent, "payload:", payload);
|
|
57212
|
-
crossTraitLog.debug("processEvent:enter", {
|
|
57212
|
+
crossTraitLog.debug("processEvent:enter", () => ({
|
|
57213
57213
|
event: normalizedEvent,
|
|
57214
57214
|
traitCount: bindings.length,
|
|
57215
57215
|
traitNames: bindings.map((b) => b.trait.name).join(","),
|
|
57216
57216
|
orbitalsByTrait: JSON.stringify(orbitalsByTrait ?? null)
|
|
57217
|
-
});
|
|
57217
|
+
}));
|
|
57218
57218
|
const bindingMap = new Map(bindings.map((b) => [b.trait.name, b]));
|
|
57219
57219
|
const entityByTrait = {};
|
|
57220
57220
|
for (const [name, fields] of traitFieldStatesRef.current) {
|
|
@@ -57400,7 +57400,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57400
57400
|
const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
57401
57401
|
try {
|
|
57402
57402
|
await executor.executeAll(result.effects);
|
|
57403
|
-
stateLog.
|
|
57403
|
+
stateLog.debug("transition:render-ui-dispatched", () => ({
|
|
57404
57404
|
traitName,
|
|
57405
57405
|
fromState: result.previousState,
|
|
57406
57406
|
toState: result.newState,
|
|
@@ -57409,7 +57409,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57409
57409
|
patternTypes: Array.from(pendingSlots.entries()).map(
|
|
57410
57410
|
([slot, patterns]) => `${slot}:[${patterns.map((p2) => p2.pattern?.type ?? "null").join(",")}]`
|
|
57411
57411
|
).join(";")
|
|
57412
|
-
});
|
|
57412
|
+
}));
|
|
57413
57413
|
void slotSource;
|
|
57414
57414
|
for (const [slot, patterns] of pendingSlots) {
|
|
57415
57415
|
flushSlot(traitName, slot, patterns);
|
|
@@ -57578,7 +57578,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57578
57578
|
crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
|
|
57579
57579
|
return;
|
|
57580
57580
|
}
|
|
57581
|
-
crossTraitLog.
|
|
57581
|
+
crossTraitLog.debug("self:fire", { traitName, busKey: selfBusKey, eventKey });
|
|
57582
57582
|
enqueueAndDrain(eventKey, event.payload);
|
|
57583
57583
|
});
|
|
57584
57584
|
unsubscribes.push(() => {
|
|
@@ -57604,7 +57604,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57604
57604
|
const busKey = `UI:${sourceOrbital}.${sourceTrait}.${listen.event}`;
|
|
57605
57605
|
crossTraitLog.debug("listen:subscribed", { busKey, targetTrait: binding.trait.name, sourceOrbital, sourceTrait, listenEvent: listen.event, triggers: listen.triggers });
|
|
57606
57606
|
const unsub = eventBus.on(busKey, (event) => {
|
|
57607
|
-
crossTraitLog.
|
|
57607
|
+
crossTraitLog.debug("listen:fired", { busKey, targetTrait: binding.trait.name, triggers: listen.triggers });
|
|
57608
57608
|
enqueueAndDrain(listen.triggers, event.payload);
|
|
57609
57609
|
});
|
|
57610
57610
|
unsubscribes.push(() => {
|
|
@@ -57910,7 +57910,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
57910
57910
|
};
|
|
57911
57911
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
57912
57912
|
if (isEmbedded) {
|
|
57913
|
-
xOrbitalLog2.
|
|
57913
|
+
xOrbitalLog2.debug("slot:embed-routed", {
|
|
57914
57914
|
sourceTrait,
|
|
57915
57915
|
slot: eff.slot,
|
|
57916
57916
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -57922,7 +57922,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
57922
57922
|
animation: "fade"
|
|
57923
57923
|
});
|
|
57924
57924
|
} else {
|
|
57925
|
-
xOrbitalLog2.
|
|
57925
|
+
xOrbitalLog2.debug("slot-write", {
|
|
57926
57926
|
slot: eff.slot,
|
|
57927
57927
|
sourceTrait,
|
|
57928
57928
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -57945,12 +57945,12 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
57945
57945
|
const onEventProcessed = React147.useCallback(async (event, payload, dispatchedOrbitals) => {
|
|
57946
57946
|
if (!bridge.connected || !orbitalNames?.length) return;
|
|
57947
57947
|
const targets = dispatchedOrbitals && dispatchedOrbitals.size > 0 ? orbitalNames.filter((n) => dispatchedOrbitals.has(n)) : orbitalNames;
|
|
57948
|
-
xOrbitalLog2.
|
|
57948
|
+
xOrbitalLog2.debug("TraitInitializer:fanout", () => ({
|
|
57949
57949
|
event,
|
|
57950
57950
|
sentTo: targets,
|
|
57951
57951
|
skipped: orbitalNames.filter((n) => !targets.includes(n)),
|
|
57952
57952
|
dispatchedOrbitalsSize: dispatchedOrbitals?.size ?? 0
|
|
57953
|
-
});
|
|
57953
|
+
}));
|
|
57954
57954
|
for (const name of targets) {
|
|
57955
57955
|
const { effects, meta } = await bridge.sendEvent(name, event, payload);
|
|
57956
57956
|
recordServerResponse(name, event, meta);
|
|
@@ -57963,7 +57963,7 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
57963
57963
|
React147.useEffect(() => {
|
|
57964
57964
|
const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
|
|
57965
57965
|
if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
|
|
57966
|
-
navLog.
|
|
57966
|
+
navLog.debug("page:trait-set-changed", {
|
|
57967
57967
|
from: prevTraitNamesRef.current,
|
|
57968
57968
|
to: traitNames,
|
|
57969
57969
|
action: "clearAll-slots"
|
|
@@ -58230,11 +58230,11 @@ function OrbPreview({
|
|
|
58230
58230
|
}, [initialPageName, currentPage]);
|
|
58231
58231
|
const handleNavigate = React147.useCallback((path) => {
|
|
58232
58232
|
const match = pages.find(({ page }) => page.path === path);
|
|
58233
|
-
navLog.
|
|
58233
|
+
navLog.debug("handleNavigate", () => ({
|
|
58234
58234
|
path,
|
|
58235
58235
|
matched: match?.page.name ?? null,
|
|
58236
58236
|
availablePaths: pages.map((p2) => p2.page.path)
|
|
58237
|
-
});
|
|
58237
|
+
}));
|
|
58238
58238
|
if (match) {
|
|
58239
58239
|
setCurrentPage(match.page.name);
|
|
58240
58240
|
if (typeof window !== "undefined") {
|
|
@@ -58256,19 +58256,19 @@ function OrbPreview({
|
|
|
58256
58256
|
const el = containerRef.current;
|
|
58257
58257
|
if (!el) return;
|
|
58258
58258
|
if (pages.length <= 1) {
|
|
58259
|
-
navLog.
|
|
58259
|
+
navLog.debug("interceptor:skipped", { reason: "single-page schema", pageCount: pages.length });
|
|
58260
58260
|
return;
|
|
58261
58261
|
}
|
|
58262
58262
|
const handler = (e) => {
|
|
58263
58263
|
const anchor = e.target.closest("a");
|
|
58264
58264
|
if (!anchor) return;
|
|
58265
58265
|
const href = anchor.getAttribute("href") ?? anchor.getAttribute("to") ?? "";
|
|
58266
|
-
navLog.
|
|
58266
|
+
navLog.debug("click:intercepted", {
|
|
58267
58267
|
href,
|
|
58268
58268
|
anchorText: anchor.textContent?.trim().slice(0, 40)
|
|
58269
58269
|
});
|
|
58270
58270
|
if (!href || href.startsWith("http") || href.startsWith("mailto:") || href.startsWith("#")) {
|
|
58271
|
-
navLog.
|
|
58271
|
+
navLog.debug("click:skipped", { href, reason: "external/empty/hash" });
|
|
58272
58272
|
return;
|
|
58273
58273
|
}
|
|
58274
58274
|
e.preventDefault();
|
|
@@ -59728,11 +59728,11 @@ function FlowCanvasInner({
|
|
|
59728
59728
|
const EDGE_TYPES_LOCAL = React147.useMemo(() => ({
|
|
59729
59729
|
eventFlow: EventFlowEdge
|
|
59730
59730
|
}), []);
|
|
59731
|
-
flowCanvasLog.
|
|
59731
|
+
flowCanvasLog.debug("node-type-registry:render", () => ({
|
|
59732
59732
|
registered: Object.keys(NODE_TYPES2),
|
|
59733
59733
|
preview: typeof OrbPreviewNode,
|
|
59734
59734
|
previewIsValid: typeof OrbPreviewNode === "function" || typeof OrbPreviewNode === "object" && OrbPreviewNode !== null
|
|
59735
|
-
});
|
|
59735
|
+
}));
|
|
59736
59736
|
const parsedSchema = React147.useMemo(() => {
|
|
59737
59737
|
if (typeof schemaProp === "string") return JSON.parse(schemaProp);
|
|
59738
59738
|
return schemaProp;
|
package/dist/avl/index.js
CHANGED
|
@@ -14653,7 +14653,7 @@ function recordTransition(trace) {
|
|
|
14653
14653
|
...trace,
|
|
14654
14654
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
14655
14655
|
};
|
|
14656
|
-
log2.
|
|
14656
|
+
log2.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
14657
14657
|
getState().transitions.push(entry);
|
|
14658
14658
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
14659
14659
|
getState().transitions.shift();
|
|
@@ -52821,7 +52821,7 @@ function MaybeTraitScope({
|
|
|
52821
52821
|
const schemaCtx = useEntitySchemaOptional();
|
|
52822
52822
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
52823
52823
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
52824
|
-
scopeWrapLog.
|
|
52824
|
+
scopeWrapLog.debug("decide", {
|
|
52825
52825
|
sourceTrait,
|
|
52826
52826
|
schemaCtxPresent: schemaCtx !== null,
|
|
52827
52827
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
|
@@ -56446,7 +56446,7 @@ function VerificationProvider({
|
|
|
56446
56446
|
},
|
|
56447
56447
|
timestamp: Date.now()
|
|
56448
56448
|
});
|
|
56449
|
-
log3.
|
|
56449
|
+
log3.debug("transition:success", { trait: parsed.traitName, event: parsed.event, from: pending?.from, to: newState, effectCount: effects.length });
|
|
56450
56450
|
} else if (parsed.kind === "error" && parsed.event) {
|
|
56451
56451
|
const key = `${parsed.traitName}:${parsed.event}`;
|
|
56452
56452
|
const pending = pendingRef.current.get(key);
|
|
@@ -56944,7 +56944,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
56944
56944
|
const slots = uiSlotsRef.current;
|
|
56945
56945
|
const embedded = embeddedTraitsRef.current;
|
|
56946
56946
|
if (patterns.length === 0) {
|
|
56947
|
-
flushLog.
|
|
56947
|
+
flushLog.debug("clear", { traitName, slot });
|
|
56948
56948
|
slots.clearBySource(slot, traitName);
|
|
56949
56949
|
return;
|
|
56950
56950
|
}
|
|
@@ -56959,7 +56959,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
56959
56959
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
56960
56960
|
const isEmbedded = embedded?.has(traitName) ?? false;
|
|
56961
56961
|
if (isEmbedded) {
|
|
56962
|
-
flushLog.
|
|
56962
|
+
flushLog.debug("embed-route", {
|
|
56963
56963
|
traitName,
|
|
56964
56964
|
slot,
|
|
56965
56965
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
@@ -56973,12 +56973,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
56973
56973
|
});
|
|
56974
56974
|
return;
|
|
56975
56975
|
}
|
|
56976
|
-
flushLog.
|
|
56976
|
+
flushLog.debug("slot-render", () => ({
|
|
56977
56977
|
traitName,
|
|
56978
56978
|
slot,
|
|
56979
56979
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
56980
56980
|
embedded: Array.from(embedded ?? [])
|
|
56981
|
-
});
|
|
56981
|
+
}));
|
|
56982
56982
|
slots.render({
|
|
56983
56983
|
target: slot,
|
|
56984
56984
|
pattern: patternType,
|
|
@@ -57163,12 +57163,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57163
57163
|
const bindings = traitBindingsRef.current;
|
|
57164
57164
|
const currentManager = managerRef.current;
|
|
57165
57165
|
console.log("[TraitStateMachine] Processing event:", normalizedEvent, "payload:", payload);
|
|
57166
|
-
crossTraitLog.debug("processEvent:enter", {
|
|
57166
|
+
crossTraitLog.debug("processEvent:enter", () => ({
|
|
57167
57167
|
event: normalizedEvent,
|
|
57168
57168
|
traitCount: bindings.length,
|
|
57169
57169
|
traitNames: bindings.map((b) => b.trait.name).join(","),
|
|
57170
57170
|
orbitalsByTrait: JSON.stringify(orbitalsByTrait ?? null)
|
|
57171
|
-
});
|
|
57171
|
+
}));
|
|
57172
57172
|
const bindingMap = new Map(bindings.map((b) => [b.trait.name, b]));
|
|
57173
57173
|
const entityByTrait = {};
|
|
57174
57174
|
for (const [name, fields] of traitFieldStatesRef.current) {
|
|
@@ -57354,7 +57354,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57354
57354
|
const executor = new EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
57355
57355
|
try {
|
|
57356
57356
|
await executor.executeAll(result.effects);
|
|
57357
|
-
stateLog.
|
|
57357
|
+
stateLog.debug("transition:render-ui-dispatched", () => ({
|
|
57358
57358
|
traitName,
|
|
57359
57359
|
fromState: result.previousState,
|
|
57360
57360
|
toState: result.newState,
|
|
@@ -57363,7 +57363,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57363
57363
|
patternTypes: Array.from(pendingSlots.entries()).map(
|
|
57364
57364
|
([slot, patterns]) => `${slot}:[${patterns.map((p2) => p2.pattern?.type ?? "null").join(",")}]`
|
|
57365
57365
|
).join(";")
|
|
57366
|
-
});
|
|
57366
|
+
}));
|
|
57367
57367
|
void slotSource;
|
|
57368
57368
|
for (const [slot, patterns] of pendingSlots) {
|
|
57369
57369
|
flushSlot(traitName, slot, patterns);
|
|
@@ -57532,7 +57532,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57532
57532
|
crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
|
|
57533
57533
|
return;
|
|
57534
57534
|
}
|
|
57535
|
-
crossTraitLog.
|
|
57535
|
+
crossTraitLog.debug("self:fire", { traitName, busKey: selfBusKey, eventKey });
|
|
57536
57536
|
enqueueAndDrain(eventKey, event.payload);
|
|
57537
57537
|
});
|
|
57538
57538
|
unsubscribes.push(() => {
|
|
@@ -57558,7 +57558,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
57558
57558
|
const busKey = `UI:${sourceOrbital}.${sourceTrait}.${listen.event}`;
|
|
57559
57559
|
crossTraitLog.debug("listen:subscribed", { busKey, targetTrait: binding.trait.name, sourceOrbital, sourceTrait, listenEvent: listen.event, triggers: listen.triggers });
|
|
57560
57560
|
const unsub = eventBus.on(busKey, (event) => {
|
|
57561
|
-
crossTraitLog.
|
|
57561
|
+
crossTraitLog.debug("listen:fired", { busKey, targetTrait: binding.trait.name, triggers: listen.triggers });
|
|
57562
57562
|
enqueueAndDrain(listen.triggers, event.payload);
|
|
57563
57563
|
});
|
|
57564
57564
|
unsubscribes.push(() => {
|
|
@@ -57864,7 +57864,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
57864
57864
|
};
|
|
57865
57865
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
57866
57866
|
if (isEmbedded) {
|
|
57867
|
-
xOrbitalLog2.
|
|
57867
|
+
xOrbitalLog2.debug("slot:embed-routed", {
|
|
57868
57868
|
sourceTrait,
|
|
57869
57869
|
slot: eff.slot,
|
|
57870
57870
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -57876,7 +57876,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
57876
57876
|
animation: "fade"
|
|
57877
57877
|
});
|
|
57878
57878
|
} else {
|
|
57879
|
-
xOrbitalLog2.
|
|
57879
|
+
xOrbitalLog2.debug("slot-write", {
|
|
57880
57880
|
slot: eff.slot,
|
|
57881
57881
|
sourceTrait,
|
|
57882
57882
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -57899,12 +57899,12 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
57899
57899
|
const onEventProcessed = useCallback(async (event, payload, dispatchedOrbitals) => {
|
|
57900
57900
|
if (!bridge.connected || !orbitalNames?.length) return;
|
|
57901
57901
|
const targets = dispatchedOrbitals && dispatchedOrbitals.size > 0 ? orbitalNames.filter((n) => dispatchedOrbitals.has(n)) : orbitalNames;
|
|
57902
|
-
xOrbitalLog2.
|
|
57902
|
+
xOrbitalLog2.debug("TraitInitializer:fanout", () => ({
|
|
57903
57903
|
event,
|
|
57904
57904
|
sentTo: targets,
|
|
57905
57905
|
skipped: orbitalNames.filter((n) => !targets.includes(n)),
|
|
57906
57906
|
dispatchedOrbitalsSize: dispatchedOrbitals?.size ?? 0
|
|
57907
|
-
});
|
|
57907
|
+
}));
|
|
57908
57908
|
for (const name of targets) {
|
|
57909
57909
|
const { effects, meta } = await bridge.sendEvent(name, event, payload);
|
|
57910
57910
|
recordServerResponse(name, event, meta);
|
|
@@ -57917,7 +57917,7 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
57917
57917
|
useEffect(() => {
|
|
57918
57918
|
const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
|
|
57919
57919
|
if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
|
|
57920
|
-
navLog.
|
|
57920
|
+
navLog.debug("page:trait-set-changed", {
|
|
57921
57921
|
from: prevTraitNamesRef.current,
|
|
57922
57922
|
to: traitNames,
|
|
57923
57923
|
action: "clearAll-slots"
|
|
@@ -58184,11 +58184,11 @@ function OrbPreview({
|
|
|
58184
58184
|
}, [initialPageName, currentPage]);
|
|
58185
58185
|
const handleNavigate = useCallback((path) => {
|
|
58186
58186
|
const match = pages.find(({ page }) => page.path === path);
|
|
58187
|
-
navLog.
|
|
58187
|
+
navLog.debug("handleNavigate", () => ({
|
|
58188
58188
|
path,
|
|
58189
58189
|
matched: match?.page.name ?? null,
|
|
58190
58190
|
availablePaths: pages.map((p2) => p2.page.path)
|
|
58191
|
-
});
|
|
58191
|
+
}));
|
|
58192
58192
|
if (match) {
|
|
58193
58193
|
setCurrentPage(match.page.name);
|
|
58194
58194
|
if (typeof window !== "undefined") {
|
|
@@ -58210,19 +58210,19 @@ function OrbPreview({
|
|
|
58210
58210
|
const el = containerRef.current;
|
|
58211
58211
|
if (!el) return;
|
|
58212
58212
|
if (pages.length <= 1) {
|
|
58213
|
-
navLog.
|
|
58213
|
+
navLog.debug("interceptor:skipped", { reason: "single-page schema", pageCount: pages.length });
|
|
58214
58214
|
return;
|
|
58215
58215
|
}
|
|
58216
58216
|
const handler = (e) => {
|
|
58217
58217
|
const anchor = e.target.closest("a");
|
|
58218
58218
|
if (!anchor) return;
|
|
58219
58219
|
const href = anchor.getAttribute("href") ?? anchor.getAttribute("to") ?? "";
|
|
58220
|
-
navLog.
|
|
58220
|
+
navLog.debug("click:intercepted", {
|
|
58221
58221
|
href,
|
|
58222
58222
|
anchorText: anchor.textContent?.trim().slice(0, 40)
|
|
58223
58223
|
});
|
|
58224
58224
|
if (!href || href.startsWith("http") || href.startsWith("mailto:") || href.startsWith("#")) {
|
|
58225
|
-
navLog.
|
|
58225
|
+
navLog.debug("click:skipped", { href, reason: "external/empty/hash" });
|
|
58226
58226
|
return;
|
|
58227
58227
|
}
|
|
58228
58228
|
e.preventDefault();
|
|
@@ -59682,11 +59682,11 @@ function FlowCanvasInner({
|
|
|
59682
59682
|
const EDGE_TYPES_LOCAL = useMemo(() => ({
|
|
59683
59683
|
eventFlow: EventFlowEdge
|
|
59684
59684
|
}), []);
|
|
59685
|
-
flowCanvasLog.
|
|
59685
|
+
flowCanvasLog.debug("node-type-registry:render", () => ({
|
|
59686
59686
|
registered: Object.keys(NODE_TYPES2),
|
|
59687
59687
|
preview: typeof OrbPreviewNode,
|
|
59688
59688
|
previewIsValid: typeof OrbPreviewNode === "function" || typeof OrbPreviewNode === "object" && OrbPreviewNode !== null
|
|
59689
|
-
});
|
|
59689
|
+
}));
|
|
59690
59690
|
const parsedSchema = useMemo(() => {
|
|
59691
59691
|
if (typeof schemaProp === "string") return JSON.parse(schemaProp);
|
|
59692
59692
|
return schemaProp;
|
|
@@ -43869,7 +43869,7 @@ function MaybeTraitScope({
|
|
|
43869
43869
|
const schemaCtx = useEntitySchemaOptional();
|
|
43870
43870
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
43871
43871
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
43872
|
-
scopeWrapLog.
|
|
43872
|
+
scopeWrapLog.debug("decide", {
|
|
43873
43873
|
sourceTrait,
|
|
43874
43874
|
schemaCtxPresent: schemaCtx !== null,
|
|
43875
43875
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
package/dist/components/index.js
CHANGED
|
@@ -43823,7 +43823,7 @@ function MaybeTraitScope({
|
|
|
43823
43823
|
const schemaCtx = useEntitySchemaOptional();
|
|
43824
43824
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
43825
43825
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
43826
|
-
scopeWrapLog.
|
|
43826
|
+
scopeWrapLog.debug("decide", {
|
|
43827
43827
|
sourceTrait,
|
|
43828
43828
|
schemaCtxPresent: schemaCtx !== null,
|
|
43829
43829
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
package/dist/lib/index.cjs
CHANGED
|
@@ -482,7 +482,7 @@ function recordTransition(trace) {
|
|
|
482
482
|
...trace,
|
|
483
483
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
484
484
|
};
|
|
485
|
-
log.
|
|
485
|
+
log.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
486
486
|
getState().transitions.push(entry);
|
|
487
487
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
488
488
|
getState().transitions.shift();
|
package/dist/lib/index.js
CHANGED
|
@@ -480,7 +480,7 @@ function recordTransition(trace) {
|
|
|
480
480
|
...trace,
|
|
481
481
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
482
482
|
};
|
|
483
|
-
log.
|
|
483
|
+
log.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
484
484
|
getState().transitions.push(entry);
|
|
485
485
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
486
486
|
getState().transitions.shift();
|
package/dist/providers/index.cjs
CHANGED
|
@@ -10318,7 +10318,7 @@ function recordTransition(trace) {
|
|
|
10318
10318
|
...trace,
|
|
10319
10319
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
10320
10320
|
};
|
|
10321
|
-
log2.
|
|
10321
|
+
log2.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
10322
10322
|
getState().transitions.push(entry);
|
|
10323
10323
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
10324
10324
|
getState().transitions.shift();
|
|
@@ -44190,7 +44190,7 @@ function MaybeTraitScope({
|
|
|
44190
44190
|
const schemaCtx = useEntitySchemaOptional();
|
|
44191
44191
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
44192
44192
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
44193
|
-
scopeWrapLog.
|
|
44193
|
+
scopeWrapLog.debug("decide", {
|
|
44194
44194
|
sourceTrait,
|
|
44195
44195
|
schemaCtxPresent: schemaCtx !== null,
|
|
44196
44196
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
|
@@ -45171,7 +45171,7 @@ function VerificationProvider({
|
|
|
45171
45171
|
},
|
|
45172
45172
|
timestamp: Date.now()
|
|
45173
45173
|
});
|
|
45174
|
-
log3.
|
|
45174
|
+
log3.debug("transition:success", { trait: parsed.traitName, event: parsed.event, from: pending?.from, to: newState, effectCount: effects.length });
|
|
45175
45175
|
} else if (parsed.kind === "error" && parsed.event) {
|
|
45176
45176
|
const key = `${parsed.traitName}:${parsed.event}`;
|
|
45177
45177
|
const pending = pendingRef.current.get(key);
|
package/dist/providers/index.js
CHANGED
|
@@ -10272,7 +10272,7 @@ function recordTransition(trace) {
|
|
|
10272
10272
|
...trace,
|
|
10273
10273
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
10274
10274
|
};
|
|
10275
|
-
log2.
|
|
10275
|
+
log2.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
10276
10276
|
getState().transitions.push(entry);
|
|
10277
10277
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
10278
10278
|
getState().transitions.shift();
|
|
@@ -44144,7 +44144,7 @@ function MaybeTraitScope({
|
|
|
44144
44144
|
const schemaCtx = useEntitySchemaOptional();
|
|
44145
44145
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
44146
44146
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
44147
|
-
scopeWrapLog.
|
|
44147
|
+
scopeWrapLog.debug("decide", {
|
|
44148
44148
|
sourceTrait,
|
|
44149
44149
|
schemaCtxPresent: schemaCtx !== null,
|
|
44150
44150
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
|
@@ -45125,7 +45125,7 @@ function VerificationProvider({
|
|
|
45125
45125
|
},
|
|
45126
45126
|
timestamp: Date.now()
|
|
45127
45127
|
});
|
|
45128
|
-
log3.
|
|
45128
|
+
log3.debug("transition:success", { trait: parsed.traitName, event: parsed.event, from: pending?.from, to: newState, effectCount: effects.length });
|
|
45129
45129
|
} else if (parsed.kind === "error" && parsed.event) {
|
|
45130
45130
|
const key = `${parsed.traitName}:${parsed.event}`;
|
|
45131
45131
|
const pending = pendingRef.current.get(key);
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -10206,7 +10206,7 @@ function recordTransition(trace) {
|
|
|
10206
10206
|
...trace,
|
|
10207
10207
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
10208
10208
|
};
|
|
10209
|
-
log2.
|
|
10209
|
+
log2.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
10210
10210
|
getState().transitions.push(entry);
|
|
10211
10211
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
10212
10212
|
getState().transitions.shift();
|
|
@@ -43776,7 +43776,7 @@ function MaybeTraitScope({
|
|
|
43776
43776
|
const schemaCtx = useEntitySchemaOptional();
|
|
43777
43777
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
43778
43778
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
43779
|
-
scopeWrapLog.
|
|
43779
|
+
scopeWrapLog.debug("decide", {
|
|
43780
43780
|
sourceTrait,
|
|
43781
43781
|
schemaCtxPresent: schemaCtx !== null,
|
|
43782
43782
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
|
@@ -44617,7 +44617,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44617
44617
|
const slots = uiSlotsRef.current;
|
|
44618
44618
|
const embedded = embeddedTraitsRef.current;
|
|
44619
44619
|
if (patterns.length === 0) {
|
|
44620
|
-
flushLog.
|
|
44620
|
+
flushLog.debug("clear", { traitName, slot });
|
|
44621
44621
|
slots.clearBySource(slot, traitName);
|
|
44622
44622
|
return;
|
|
44623
44623
|
}
|
|
@@ -44632,7 +44632,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44632
44632
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
44633
44633
|
const isEmbedded = embedded?.has(traitName) ?? false;
|
|
44634
44634
|
if (isEmbedded) {
|
|
44635
|
-
flushLog.
|
|
44635
|
+
flushLog.debug("embed-route", {
|
|
44636
44636
|
traitName,
|
|
44637
44637
|
slot,
|
|
44638
44638
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
@@ -44646,12 +44646,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44646
44646
|
});
|
|
44647
44647
|
return;
|
|
44648
44648
|
}
|
|
44649
|
-
flushLog.
|
|
44649
|
+
flushLog.debug("slot-render", () => ({
|
|
44650
44650
|
traitName,
|
|
44651
44651
|
slot,
|
|
44652
44652
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
44653
44653
|
embedded: Array.from(embedded ?? [])
|
|
44654
|
-
});
|
|
44654
|
+
}));
|
|
44655
44655
|
slots.render({
|
|
44656
44656
|
target: slot,
|
|
44657
44657
|
pattern: patternType,
|
|
@@ -44836,12 +44836,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44836
44836
|
const bindings = traitBindingsRef.current;
|
|
44837
44837
|
const currentManager = managerRef.current;
|
|
44838
44838
|
console.log("[TraitStateMachine] Processing event:", normalizedEvent, "payload:", payload);
|
|
44839
|
-
crossTraitLog.debug("processEvent:enter", {
|
|
44839
|
+
crossTraitLog.debug("processEvent:enter", () => ({
|
|
44840
44840
|
event: normalizedEvent,
|
|
44841
44841
|
traitCount: bindings.length,
|
|
44842
44842
|
traitNames: bindings.map((b) => b.trait.name).join(","),
|
|
44843
44843
|
orbitalsByTrait: JSON.stringify(orbitalsByTrait ?? null)
|
|
44844
|
-
});
|
|
44844
|
+
}));
|
|
44845
44845
|
const bindingMap = new Map(bindings.map((b) => [b.trait.name, b]));
|
|
44846
44846
|
const entityByTrait = {};
|
|
44847
44847
|
for (const [name, fields] of traitFieldStatesRef.current) {
|
|
@@ -45027,7 +45027,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
45027
45027
|
const executor = new runtime.EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
45028
45028
|
try {
|
|
45029
45029
|
await executor.executeAll(result.effects);
|
|
45030
|
-
stateLog.
|
|
45030
|
+
stateLog.debug("transition:render-ui-dispatched", () => ({
|
|
45031
45031
|
traitName,
|
|
45032
45032
|
fromState: result.previousState,
|
|
45033
45033
|
toState: result.newState,
|
|
@@ -45036,7 +45036,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
45036
45036
|
patternTypes: Array.from(pendingSlots.entries()).map(
|
|
45037
45037
|
([slot, patterns]) => `${slot}:[${patterns.map((p2) => p2.pattern?.type ?? "null").join(",")}]`
|
|
45038
45038
|
).join(";")
|
|
45039
|
-
});
|
|
45039
|
+
}));
|
|
45040
45040
|
void slotSource;
|
|
45041
45041
|
for (const [slot, patterns] of pendingSlots) {
|
|
45042
45042
|
flushSlot(traitName, slot, patterns);
|
|
@@ -45205,7 +45205,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
45205
45205
|
crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
|
|
45206
45206
|
return;
|
|
45207
45207
|
}
|
|
45208
|
-
crossTraitLog.
|
|
45208
|
+
crossTraitLog.debug("self:fire", { traitName, busKey: selfBusKey, eventKey });
|
|
45209
45209
|
enqueueAndDrain(eventKey, event.payload);
|
|
45210
45210
|
});
|
|
45211
45211
|
unsubscribes.push(() => {
|
|
@@ -45231,7 +45231,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
45231
45231
|
const busKey = `UI:${sourceOrbital}.${sourceTrait}.${listen.event}`;
|
|
45232
45232
|
crossTraitLog.debug("listen:subscribed", { busKey, targetTrait: binding.trait.name, sourceOrbital, sourceTrait, listenEvent: listen.event, triggers: listen.triggers });
|
|
45233
45233
|
const unsub = eventBus.on(busKey, (event) => {
|
|
45234
|
-
crossTraitLog.
|
|
45234
|
+
crossTraitLog.debug("listen:fired", { busKey, targetTrait: binding.trait.name, triggers: listen.triggers });
|
|
45235
45235
|
enqueueAndDrain(listen.triggers, event.payload);
|
|
45236
45236
|
});
|
|
45237
45237
|
unsubscribes.push(() => {
|
|
@@ -45765,7 +45765,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
45765
45765
|
};
|
|
45766
45766
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
45767
45767
|
if (isEmbedded) {
|
|
45768
|
-
xOrbitalLog2.
|
|
45768
|
+
xOrbitalLog2.debug("slot:embed-routed", {
|
|
45769
45769
|
sourceTrait,
|
|
45770
45770
|
slot: eff.slot,
|
|
45771
45771
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -45777,7 +45777,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
45777
45777
|
animation: "fade"
|
|
45778
45778
|
});
|
|
45779
45779
|
} else {
|
|
45780
|
-
xOrbitalLog2.
|
|
45780
|
+
xOrbitalLog2.debug("slot-write", {
|
|
45781
45781
|
slot: eff.slot,
|
|
45782
45782
|
sourceTrait,
|
|
45783
45783
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -45800,12 +45800,12 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
45800
45800
|
const onEventProcessed = React135.useCallback(async (event, payload, dispatchedOrbitals) => {
|
|
45801
45801
|
if (!bridge.connected || !orbitalNames?.length) return;
|
|
45802
45802
|
const targets = dispatchedOrbitals && dispatchedOrbitals.size > 0 ? orbitalNames.filter((n) => dispatchedOrbitals.has(n)) : orbitalNames;
|
|
45803
|
-
xOrbitalLog2.
|
|
45803
|
+
xOrbitalLog2.debug("TraitInitializer:fanout", () => ({
|
|
45804
45804
|
event,
|
|
45805
45805
|
sentTo: targets,
|
|
45806
45806
|
skipped: orbitalNames.filter((n) => !targets.includes(n)),
|
|
45807
45807
|
dispatchedOrbitalsSize: dispatchedOrbitals?.size ?? 0
|
|
45808
|
-
});
|
|
45808
|
+
}));
|
|
45809
45809
|
for (const name of targets) {
|
|
45810
45810
|
const { effects, meta } = await bridge.sendEvent(name, event, payload);
|
|
45811
45811
|
recordServerResponse(name, event, meta);
|
|
@@ -45818,7 +45818,7 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
45818
45818
|
React135.useEffect(() => {
|
|
45819
45819
|
const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
|
|
45820
45820
|
if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
|
|
45821
|
-
navLog.
|
|
45821
|
+
navLog.debug("page:trait-set-changed", {
|
|
45822
45822
|
from: prevTraitNamesRef.current,
|
|
45823
45823
|
to: traitNames,
|
|
45824
45824
|
action: "clearAll-slots"
|
|
@@ -46085,11 +46085,11 @@ function OrbPreview({
|
|
|
46085
46085
|
}, [initialPageName, currentPage]);
|
|
46086
46086
|
const handleNavigate = React135.useCallback((path) => {
|
|
46087
46087
|
const match = pages.find(({ page }) => page.path === path);
|
|
46088
|
-
navLog.
|
|
46088
|
+
navLog.debug("handleNavigate", () => ({
|
|
46089
46089
|
path,
|
|
46090
46090
|
matched: match?.page.name ?? null,
|
|
46091
46091
|
availablePaths: pages.map((p2) => p2.page.path)
|
|
46092
|
-
});
|
|
46092
|
+
}));
|
|
46093
46093
|
if (match) {
|
|
46094
46094
|
setCurrentPage(match.page.name);
|
|
46095
46095
|
if (typeof window !== "undefined") {
|
|
@@ -46111,19 +46111,19 @@ function OrbPreview({
|
|
|
46111
46111
|
const el = containerRef.current;
|
|
46112
46112
|
if (!el) return;
|
|
46113
46113
|
if (pages.length <= 1) {
|
|
46114
|
-
navLog.
|
|
46114
|
+
navLog.debug("interceptor:skipped", { reason: "single-page schema", pageCount: pages.length });
|
|
46115
46115
|
return;
|
|
46116
46116
|
}
|
|
46117
46117
|
const handler = (e) => {
|
|
46118
46118
|
const anchor = e.target.closest("a");
|
|
46119
46119
|
if (!anchor) return;
|
|
46120
46120
|
const href = anchor.getAttribute("href") ?? anchor.getAttribute("to") ?? "";
|
|
46121
|
-
navLog.
|
|
46121
|
+
navLog.debug("click:intercepted", {
|
|
46122
46122
|
href,
|
|
46123
46123
|
anchorText: anchor.textContent?.trim().slice(0, 40)
|
|
46124
46124
|
});
|
|
46125
46125
|
if (!href || href.startsWith("http") || href.startsWith("mailto:") || href.startsWith("#")) {
|
|
46126
|
-
navLog.
|
|
46126
|
+
navLog.debug("click:skipped", { href, reason: "external/empty/hash" });
|
|
46127
46127
|
return;
|
|
46128
46128
|
}
|
|
46129
46129
|
e.preventDefault();
|
package/dist/runtime/index.js
CHANGED
|
@@ -10160,7 +10160,7 @@ function recordTransition(trace) {
|
|
|
10160
10160
|
...trace,
|
|
10161
10161
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
10162
10162
|
};
|
|
10163
|
-
log2.
|
|
10163
|
+
log2.debug("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
10164
10164
|
getState().transitions.push(entry);
|
|
10165
10165
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
10166
10166
|
getState().transitions.shift();
|
|
@@ -43730,7 +43730,7 @@ function MaybeTraitScope({
|
|
|
43730
43730
|
const schemaCtx = useEntitySchemaOptional();
|
|
43731
43731
|
const orbital = sourceTrait !== void 0 && schemaCtx !== null ? schemaCtx.orbitalsByTrait.get(sourceTrait) : void 0;
|
|
43732
43732
|
const wrap = sourceTrait !== void 0 && orbital !== void 0;
|
|
43733
|
-
scopeWrapLog.
|
|
43733
|
+
scopeWrapLog.debug("decide", {
|
|
43734
43734
|
sourceTrait,
|
|
43735
43735
|
schemaCtxPresent: schemaCtx !== null,
|
|
43736
43736
|
orbitalsByTraitSize: schemaCtx?.orbitalsByTrait.size ?? 0,
|
|
@@ -44571,7 +44571,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44571
44571
|
const slots = uiSlotsRef.current;
|
|
44572
44572
|
const embedded = embeddedTraitsRef.current;
|
|
44573
44573
|
if (patterns.length === 0) {
|
|
44574
|
-
flushLog.
|
|
44574
|
+
flushLog.debug("clear", { traitName, slot });
|
|
44575
44575
|
slots.clearBySource(slot, traitName);
|
|
44576
44576
|
return;
|
|
44577
44577
|
}
|
|
@@ -44586,7 +44586,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44586
44586
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
44587
44587
|
const isEmbedded = embedded?.has(traitName) ?? false;
|
|
44588
44588
|
if (isEmbedded) {
|
|
44589
|
-
flushLog.
|
|
44589
|
+
flushLog.debug("embed-route", {
|
|
44590
44590
|
traitName,
|
|
44591
44591
|
slot,
|
|
44592
44592
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
@@ -44600,12 +44600,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44600
44600
|
});
|
|
44601
44601
|
return;
|
|
44602
44602
|
}
|
|
44603
|
-
flushLog.
|
|
44603
|
+
flushLog.debug("slot-render", () => ({
|
|
44604
44604
|
traitName,
|
|
44605
44605
|
slot,
|
|
44606
44606
|
patternType: typeof patternType === "string" ? patternType : void 0,
|
|
44607
44607
|
embedded: Array.from(embedded ?? [])
|
|
44608
|
-
});
|
|
44608
|
+
}));
|
|
44609
44609
|
slots.render({
|
|
44610
44610
|
target: slot,
|
|
44611
44611
|
pattern: patternType,
|
|
@@ -44790,12 +44790,12 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44790
44790
|
const bindings = traitBindingsRef.current;
|
|
44791
44791
|
const currentManager = managerRef.current;
|
|
44792
44792
|
console.log("[TraitStateMachine] Processing event:", normalizedEvent, "payload:", payload);
|
|
44793
|
-
crossTraitLog.debug("processEvent:enter", {
|
|
44793
|
+
crossTraitLog.debug("processEvent:enter", () => ({
|
|
44794
44794
|
event: normalizedEvent,
|
|
44795
44795
|
traitCount: bindings.length,
|
|
44796
44796
|
traitNames: bindings.map((b) => b.trait.name).join(","),
|
|
44797
44797
|
orbitalsByTrait: JSON.stringify(orbitalsByTrait ?? null)
|
|
44798
|
-
});
|
|
44798
|
+
}));
|
|
44799
44799
|
const bindingMap = new Map(bindings.map((b) => [b.trait.name, b]));
|
|
44800
44800
|
const entityByTrait = {};
|
|
44801
44801
|
for (const [name, fields] of traitFieldStatesRef.current) {
|
|
@@ -44981,7 +44981,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44981
44981
|
const executor = new EffectExecutor({ handlers: trackingHandlers, bindings: bindingCtx, context: effectContext });
|
|
44982
44982
|
try {
|
|
44983
44983
|
await executor.executeAll(result.effects);
|
|
44984
|
-
stateLog.
|
|
44984
|
+
stateLog.debug("transition:render-ui-dispatched", () => ({
|
|
44985
44985
|
traitName,
|
|
44986
44986
|
fromState: result.previousState,
|
|
44987
44987
|
toState: result.newState,
|
|
@@ -44990,7 +44990,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
44990
44990
|
patternTypes: Array.from(pendingSlots.entries()).map(
|
|
44991
44991
|
([slot, patterns]) => `${slot}:[${patterns.map((p2) => p2.pattern?.type ?? "null").join(",")}]`
|
|
44992
44992
|
).join(";")
|
|
44993
|
-
});
|
|
44993
|
+
}));
|
|
44994
44994
|
void slotSource;
|
|
44995
44995
|
for (const [slot, patterns] of pendingSlots) {
|
|
44996
44996
|
flushSlot(traitName, slot, patterns);
|
|
@@ -45159,7 +45159,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
45159
45159
|
crossTraitLog.debug("self:fire-skipped-bridge-echo", { traitName, busKey: selfBusKey, eventKey });
|
|
45160
45160
|
return;
|
|
45161
45161
|
}
|
|
45162
|
-
crossTraitLog.
|
|
45162
|
+
crossTraitLog.debug("self:fire", { traitName, busKey: selfBusKey, eventKey });
|
|
45163
45163
|
enqueueAndDrain(eventKey, event.payload);
|
|
45164
45164
|
});
|
|
45165
45165
|
unsubscribes.push(() => {
|
|
@@ -45185,7 +45185,7 @@ function useTraitStateMachine(traitBindings, uiSlots, options) {
|
|
|
45185
45185
|
const busKey = `UI:${sourceOrbital}.${sourceTrait}.${listen.event}`;
|
|
45186
45186
|
crossTraitLog.debug("listen:subscribed", { busKey, targetTrait: binding.trait.name, sourceOrbital, sourceTrait, listenEvent: listen.event, triggers: listen.triggers });
|
|
45187
45187
|
const unsub = eventBus.on(busKey, (event) => {
|
|
45188
|
-
crossTraitLog.
|
|
45188
|
+
crossTraitLog.debug("listen:fired", { busKey, targetTrait: binding.trait.name, triggers: listen.triggers });
|
|
45189
45189
|
enqueueAndDrain(listen.triggers, event.payload);
|
|
45190
45190
|
});
|
|
45191
45191
|
unsubscribes.push(() => {
|
|
@@ -45719,7 +45719,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
45719
45719
|
};
|
|
45720
45720
|
const props = convertFnFormLambdasInProps(rawProps);
|
|
45721
45721
|
if (isEmbedded) {
|
|
45722
|
-
xOrbitalLog2.
|
|
45722
|
+
xOrbitalLog2.debug("slot:embed-routed", {
|
|
45723
45723
|
sourceTrait,
|
|
45724
45724
|
slot: eff.slot,
|
|
45725
45725
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -45731,7 +45731,7 @@ function applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits) {
|
|
|
45731
45731
|
animation: "fade"
|
|
45732
45732
|
});
|
|
45733
45733
|
} else {
|
|
45734
|
-
xOrbitalLog2.
|
|
45734
|
+
xOrbitalLog2.debug("slot-write", {
|
|
45735
45735
|
slot: eff.slot,
|
|
45736
45736
|
sourceTrait,
|
|
45737
45737
|
patternType: typeof patternType === "string" ? patternType : void 0
|
|
@@ -45754,12 +45754,12 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
45754
45754
|
const onEventProcessed = useCallback(async (event, payload, dispatchedOrbitals) => {
|
|
45755
45755
|
if (!bridge.connected || !orbitalNames?.length) return;
|
|
45756
45756
|
const targets = dispatchedOrbitals && dispatchedOrbitals.size > 0 ? orbitalNames.filter((n) => dispatchedOrbitals.has(n)) : orbitalNames;
|
|
45757
|
-
xOrbitalLog2.
|
|
45757
|
+
xOrbitalLog2.debug("TraitInitializer:fanout", () => ({
|
|
45758
45758
|
event,
|
|
45759
45759
|
sentTo: targets,
|
|
45760
45760
|
skipped: orbitalNames.filter((n) => !targets.includes(n)),
|
|
45761
45761
|
dispatchedOrbitalsSize: dispatchedOrbitals?.size ?? 0
|
|
45762
|
-
});
|
|
45762
|
+
}));
|
|
45763
45763
|
for (const name of targets) {
|
|
45764
45764
|
const { effects, meta } = await bridge.sendEvent(name, event, payload);
|
|
45765
45765
|
recordServerResponse(name, event, meta);
|
|
@@ -45772,7 +45772,7 @@ function TraitInitializer({ traits: traits2, orbitalNames, onNavigate, onLocalFa
|
|
|
45772
45772
|
useEffect(() => {
|
|
45773
45773
|
const traitNames = traits2.map((b) => b.trait?.name ?? "").filter(Boolean).sort().join(",");
|
|
45774
45774
|
if (prevTraitNamesRef.current && prevTraitNamesRef.current !== traitNames) {
|
|
45775
|
-
navLog.
|
|
45775
|
+
navLog.debug("page:trait-set-changed", {
|
|
45776
45776
|
from: prevTraitNamesRef.current,
|
|
45777
45777
|
to: traitNames,
|
|
45778
45778
|
action: "clearAll-slots"
|
|
@@ -46039,11 +46039,11 @@ function OrbPreview({
|
|
|
46039
46039
|
}, [initialPageName, currentPage]);
|
|
46040
46040
|
const handleNavigate = useCallback((path) => {
|
|
46041
46041
|
const match = pages.find(({ page }) => page.path === path);
|
|
46042
|
-
navLog.
|
|
46042
|
+
navLog.debug("handleNavigate", () => ({
|
|
46043
46043
|
path,
|
|
46044
46044
|
matched: match?.page.name ?? null,
|
|
46045
46045
|
availablePaths: pages.map((p2) => p2.page.path)
|
|
46046
|
-
});
|
|
46046
|
+
}));
|
|
46047
46047
|
if (match) {
|
|
46048
46048
|
setCurrentPage(match.page.name);
|
|
46049
46049
|
if (typeof window !== "undefined") {
|
|
@@ -46065,19 +46065,19 @@ function OrbPreview({
|
|
|
46065
46065
|
const el = containerRef.current;
|
|
46066
46066
|
if (!el) return;
|
|
46067
46067
|
if (pages.length <= 1) {
|
|
46068
|
-
navLog.
|
|
46068
|
+
navLog.debug("interceptor:skipped", { reason: "single-page schema", pageCount: pages.length });
|
|
46069
46069
|
return;
|
|
46070
46070
|
}
|
|
46071
46071
|
const handler = (e) => {
|
|
46072
46072
|
const anchor = e.target.closest("a");
|
|
46073
46073
|
if (!anchor) return;
|
|
46074
46074
|
const href = anchor.getAttribute("href") ?? anchor.getAttribute("to") ?? "";
|
|
46075
|
-
navLog.
|
|
46075
|
+
navLog.debug("click:intercepted", {
|
|
46076
46076
|
href,
|
|
46077
46077
|
anchorText: anchor.textContent?.trim().slice(0, 40)
|
|
46078
46078
|
});
|
|
46079
46079
|
if (!href || href.startsWith("http") || href.startsWith("mailto:") || href.startsWith("#")) {
|
|
46080
|
-
navLog.
|
|
46080
|
+
navLog.debug("click:skipped", { href, reason: "external/empty/hash" });
|
|
46081
46081
|
return;
|
|
46082
46082
|
}
|
|
46083
46083
|
e.preventDefault();
|