@almadar/ui 6.27.0 → 6.28.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/{EntityBindingContext-CTZw2DbY.d.cts → EntityBindingContext-C6FgxdfG.d.cts} +16 -3
- package/dist/{EntityBindingContext-CTZw2DbY.d.ts → EntityBindingContext-C6FgxdfG.d.ts} +16 -3
- package/dist/avl/index.cjs +21 -8
- package/dist/avl/index.js +21 -8
- package/dist/providers/index.cjs +5 -4
- package/dist/providers/index.d.cts +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +5 -4
- package/dist/runtime/index.cjs +21 -8
- package/dist/runtime/index.d.cts +2 -2
- package/dist/runtime/index.d.ts +2 -2
- package/dist/runtime/index.js +21 -8
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { ReactNode } from 'react';
|
|
3
|
-
import { ResolvedEntity, EventPayload, EntityRow, OrbitalSchema, BusEventSource, SExpr, ResolvedTrait, ResolvedTraitBinding, TraitConfig } from '@almadar/core';
|
|
3
|
+
import { ResolvedEntity, EventPayload, EntityRow, UserContext, OrbitalSchema, BusEventSource, SExpr, ResolvedTrait, ResolvedTraitBinding, TraitConfig } from '@almadar/core';
|
|
4
4
|
import { AnyPatternConfig } from '@almadar/core/patterns';
|
|
5
5
|
import { ServerEffectResult, TransitionResult } from '@almadar/runtime';
|
|
6
6
|
|
|
@@ -169,7 +169,18 @@ interface ServerBridgeContextValue {
|
|
|
169
169
|
result: TransitionResult;
|
|
170
170
|
}>,
|
|
171
171
|
/** Part G: the client's own current entity snapshot per trait. */
|
|
172
|
-
entityByTrait?: Readonly<Record<string, EntityRow
|
|
172
|
+
entityByTrait?: Readonly<Record<string, EntityRow>>,
|
|
173
|
+
/**
|
|
174
|
+
* The current viewer (persona), for `@user.X` guard/effect bindings.
|
|
175
|
+
* The persona-switcher's picked viewer never used to reach server-side
|
|
176
|
+
* effects on the stateless path — it only ever drove client-side guard
|
|
177
|
+
* evaluation — so a `fetch`/`persist` comparing against `@user.id`
|
|
178
|
+
* (e.g. a chat channel's `member == @user.id` scope filter, a profile
|
|
179
|
+
* page's self-lookup) always compared against `undefined` (confirmed
|
|
180
|
+
* 2026-09-17). `undefined` here sends the request unauthenticated,
|
|
181
|
+
* exactly as before this field existed.
|
|
182
|
+
*/
|
|
183
|
+
user?: UserContext) => Promise<SendEventResult>;
|
|
173
184
|
}
|
|
174
185
|
/**
|
|
175
186
|
* Transport adapter for ServerBridgeProvider. Decouples the bridge's
|
|
@@ -213,7 +224,9 @@ interface ServerBridgeTransport {
|
|
|
213
224
|
* misrouted to the standalone `std-project-manager` orbital of the
|
|
214
225
|
* same name). An unmodified server ignores the extra field.
|
|
215
226
|
*/
|
|
216
|
-
behaviorHint?: string
|
|
227
|
+
behaviorHint?: string,
|
|
228
|
+
/** See `ServerBridgeContextValue.sendEvent`'s `user` param. */
|
|
229
|
+
user?: UserContext) => Promise<OrbitalEventResponse>;
|
|
217
230
|
}
|
|
218
231
|
/**
|
|
219
232
|
* Supplies the bearer token the hosting server authenticates with. Resolved
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { ReactNode } from 'react';
|
|
3
|
-
import { ResolvedEntity, EventPayload, EntityRow, OrbitalSchema, BusEventSource, SExpr, ResolvedTrait, ResolvedTraitBinding, TraitConfig } from '@almadar/core';
|
|
3
|
+
import { ResolvedEntity, EventPayload, EntityRow, UserContext, OrbitalSchema, BusEventSource, SExpr, ResolvedTrait, ResolvedTraitBinding, TraitConfig } from '@almadar/core';
|
|
4
4
|
import { AnyPatternConfig } from '@almadar/core/patterns';
|
|
5
5
|
import { ServerEffectResult, TransitionResult } from '@almadar/runtime';
|
|
6
6
|
|
|
@@ -169,7 +169,18 @@ interface ServerBridgeContextValue {
|
|
|
169
169
|
result: TransitionResult;
|
|
170
170
|
}>,
|
|
171
171
|
/** Part G: the client's own current entity snapshot per trait. */
|
|
172
|
-
entityByTrait?: Readonly<Record<string, EntityRow
|
|
172
|
+
entityByTrait?: Readonly<Record<string, EntityRow>>,
|
|
173
|
+
/**
|
|
174
|
+
* The current viewer (persona), for `@user.X` guard/effect bindings.
|
|
175
|
+
* The persona-switcher's picked viewer never used to reach server-side
|
|
176
|
+
* effects on the stateless path — it only ever drove client-side guard
|
|
177
|
+
* evaluation — so a `fetch`/`persist` comparing against `@user.id`
|
|
178
|
+
* (e.g. a chat channel's `member == @user.id` scope filter, a profile
|
|
179
|
+
* page's self-lookup) always compared against `undefined` (confirmed
|
|
180
|
+
* 2026-09-17). `undefined` here sends the request unauthenticated,
|
|
181
|
+
* exactly as before this field existed.
|
|
182
|
+
*/
|
|
183
|
+
user?: UserContext) => Promise<SendEventResult>;
|
|
173
184
|
}
|
|
174
185
|
/**
|
|
175
186
|
* Transport adapter for ServerBridgeProvider. Decouples the bridge's
|
|
@@ -213,7 +224,9 @@ interface ServerBridgeTransport {
|
|
|
213
224
|
* misrouted to the standalone `std-project-manager` orbital of the
|
|
214
225
|
* same name). An unmodified server ignores the extra field.
|
|
215
226
|
*/
|
|
216
|
-
behaviorHint?: string
|
|
227
|
+
behaviorHint?: string,
|
|
228
|
+
/** See `ServerBridgeContextValue.sendEvent`'s `user` param. */
|
|
229
|
+
user?: UserContext) => Promise<OrbitalEventResponse>;
|
|
217
230
|
}
|
|
218
231
|
/**
|
|
219
232
|
* Supplies the bearer token the hosting server authenticates with. Resolved
|
package/dist/avl/index.cjs
CHANGED
|
@@ -60835,7 +60835,7 @@ function NavStackRefBridge({ apiRef }) {
|
|
|
60835
60835
|
}, [api, apiRef]);
|
|
60836
60836
|
return null;
|
|
60837
60837
|
}
|
|
60838
|
-
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, children }) {
|
|
60838
|
+
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, user, children }) {
|
|
60839
60839
|
const bridge = providers.useServerBridge();
|
|
60840
60840
|
const activeTraitNames = React96.useMemo(
|
|
60841
60841
|
() => new Set(traits2.map((b) => b.trait.name).filter((n) => !!n)),
|
|
@@ -60867,12 +60867,12 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60867
60867
|
void bridge.sendEvent(name, event, withActiveTraits(payload), tick, sourceTrait);
|
|
60868
60868
|
continue;
|
|
60869
60869
|
}
|
|
60870
|
-
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait).then(({ effects, meta }) => {
|
|
60870
|
+
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait, user ?? void 0).then(({ effects, meta }) => {
|
|
60871
60871
|
recordServerResponse(name, event, { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
60872
60872
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
60873
60873
|
});
|
|
60874
60874
|
}
|
|
60875
|
-
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits]);
|
|
60875
|
+
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, user]);
|
|
60876
60876
|
const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, navigateBack: onNavigateBack, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams } : { navigate: onNavigate, navigateBack: onNavigateBack, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams };
|
|
60877
60877
|
const { sendEvent, entityBindingSource } = useTraitStateMachine(traits2, uiSlots, opts);
|
|
60878
60878
|
const initSentRef = React96.useRef(false);
|
|
@@ -60914,7 +60914,17 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60914
60914
|
initSentRef.current = true;
|
|
60915
60915
|
(async () => {
|
|
60916
60916
|
for (const name of orbitalNames) {
|
|
60917
|
-
const { effects, meta } = await bridge.sendEvent(
|
|
60917
|
+
const { effects, meta } = await bridge.sendEvent(
|
|
60918
|
+
name,
|
|
60919
|
+
"INIT",
|
|
60920
|
+
withActiveTraits({ ...routeParams ?? {} }),
|
|
60921
|
+
void 0,
|
|
60922
|
+
void 0,
|
|
60923
|
+
void 0,
|
|
60924
|
+
void 0,
|
|
60925
|
+
void 0,
|
|
60926
|
+
user ?? void 0
|
|
60927
|
+
);
|
|
60918
60928
|
recordServerResponse(name, "INIT", { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
60919
60929
|
const effectTraces = [
|
|
60920
60930
|
{ type: "fetch", args: [], status: "executed" },
|
|
@@ -60935,7 +60945,7 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60935
60945
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
60936
60946
|
}
|
|
60937
60947
|
})();
|
|
60938
|
-
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
60948
|
+
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams, user]);
|
|
60939
60949
|
return /* @__PURE__ */ jsxRuntime.jsx(providers.EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
60940
60950
|
}
|
|
60941
60951
|
function FitToBox({ children }) {
|
|
@@ -60962,7 +60972,7 @@ function FitToBox({ children }) {
|
|
|
60962
60972
|
}, []);
|
|
60963
60973
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
60964
60974
|
}
|
|
60965
|
-
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence }) {
|
|
60975
|
+
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, user }) {
|
|
60966
60976
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
60967
60977
|
const allPageTraits = React96.useMemo(() => {
|
|
60968
60978
|
let base;
|
|
@@ -61127,6 +61137,7 @@ function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData,
|
|
|
61127
61137
|
onLocalFallback,
|
|
61128
61138
|
localFallbackTimeoutMs,
|
|
61129
61139
|
persistence,
|
|
61140
|
+
user,
|
|
61130
61141
|
children: /* @__PURE__ */ jsxRuntime.jsx(providers.OrbitalThemeProvider, { theme: activeOrbitalTheme, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "h-full min-h-full overflow-auto p-4", children: /* @__PURE__ */ jsxRuntime.jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) }) })
|
|
61131
61142
|
}
|
|
61132
61143
|
)
|
|
@@ -61333,7 +61344,8 @@ function OrbPreview({
|
|
|
61333
61344
|
onNavigateBack: handleNavigateBack,
|
|
61334
61345
|
onLocalFallback: handleLocalFallback,
|
|
61335
61346
|
localFallbackTimeoutMs,
|
|
61336
|
-
persistence
|
|
61347
|
+
persistence,
|
|
61348
|
+
user
|
|
61337
61349
|
}
|
|
61338
61350
|
) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
61339
61351
|
SchemaRunner,
|
|
@@ -61349,7 +61361,8 @@ function OrbPreview({
|
|
|
61349
61361
|
onNavigateBack: handleNavigateBack,
|
|
61350
61362
|
onLocalFallback: handleLocalFallback,
|
|
61351
61363
|
localFallbackTimeoutMs,
|
|
61352
|
-
persistence
|
|
61364
|
+
persistence,
|
|
61365
|
+
user
|
|
61353
61366
|
}
|
|
61354
61367
|
) }) })
|
|
61355
61368
|
]
|
package/dist/avl/index.js
CHANGED
|
@@ -60759,7 +60759,7 @@ function NavStackRefBridge({ apiRef }) {
|
|
|
60759
60759
|
}, [api, apiRef]);
|
|
60760
60760
|
return null;
|
|
60761
60761
|
}
|
|
60762
|
-
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, children }) {
|
|
60762
|
+
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, user, children }) {
|
|
60763
60763
|
const bridge = useServerBridge();
|
|
60764
60764
|
const activeTraitNames = useMemo(
|
|
60765
60765
|
() => new Set(traits2.map((b) => b.trait.name).filter((n) => !!n)),
|
|
@@ -60791,12 +60791,12 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60791
60791
|
void bridge.sendEvent(name, event, withActiveTraits(payload), tick, sourceTrait);
|
|
60792
60792
|
continue;
|
|
60793
60793
|
}
|
|
60794
|
-
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait).then(({ effects, meta }) => {
|
|
60794
|
+
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait, user ?? void 0).then(({ effects, meta }) => {
|
|
60795
60795
|
recordServerResponse(name, event, { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
60796
60796
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
60797
60797
|
});
|
|
60798
60798
|
}
|
|
60799
|
-
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits]);
|
|
60799
|
+
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, user]);
|
|
60800
60800
|
const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, navigateBack: onNavigateBack, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams } : { navigate: onNavigate, navigateBack: onNavigateBack, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams };
|
|
60801
60801
|
const { sendEvent, entityBindingSource } = useTraitStateMachine(traits2, uiSlots, opts);
|
|
60802
60802
|
const initSentRef = useRef(false);
|
|
@@ -60838,7 +60838,17 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60838
60838
|
initSentRef.current = true;
|
|
60839
60839
|
(async () => {
|
|
60840
60840
|
for (const name of orbitalNames) {
|
|
60841
|
-
const { effects, meta } = await bridge.sendEvent(
|
|
60841
|
+
const { effects, meta } = await bridge.sendEvent(
|
|
60842
|
+
name,
|
|
60843
|
+
"INIT",
|
|
60844
|
+
withActiveTraits({ ...routeParams ?? {} }),
|
|
60845
|
+
void 0,
|
|
60846
|
+
void 0,
|
|
60847
|
+
void 0,
|
|
60848
|
+
void 0,
|
|
60849
|
+
void 0,
|
|
60850
|
+
user ?? void 0
|
|
60851
|
+
);
|
|
60842
60852
|
recordServerResponse(name, "INIT", { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
60843
60853
|
const effectTraces = [
|
|
60844
60854
|
{ type: "fetch", args: [], status: "executed" },
|
|
@@ -60859,7 +60869,7 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
60859
60869
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
60860
60870
|
}
|
|
60861
60871
|
})();
|
|
60862
|
-
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
60872
|
+
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams, user]);
|
|
60863
60873
|
return /* @__PURE__ */ jsx(EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
60864
60874
|
}
|
|
60865
60875
|
function FitToBox({ children }) {
|
|
@@ -60886,7 +60896,7 @@ function FitToBox({ children }) {
|
|
|
60886
60896
|
}, []);
|
|
60887
60897
|
return /* @__PURE__ */ jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
60888
60898
|
}
|
|
60889
|
-
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence }) {
|
|
60899
|
+
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, user }) {
|
|
60890
60900
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
60891
60901
|
const allPageTraits = useMemo(() => {
|
|
60892
60902
|
let base;
|
|
@@ -61051,6 +61061,7 @@ function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData,
|
|
|
61051
61061
|
onLocalFallback,
|
|
61052
61062
|
localFallbackTimeoutMs,
|
|
61053
61063
|
persistence,
|
|
61064
|
+
user,
|
|
61054
61065
|
children: /* @__PURE__ */ jsx(OrbitalThemeProvider, { theme: activeOrbitalTheme, children: /* @__PURE__ */ jsx(Box, { className: "h-full min-h-full overflow-auto p-4", children: /* @__PURE__ */ jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) }) })
|
|
61055
61066
|
}
|
|
61056
61067
|
)
|
|
@@ -61257,7 +61268,8 @@ function OrbPreview({
|
|
|
61257
61268
|
onNavigateBack: handleNavigateBack,
|
|
61258
61269
|
onLocalFallback: handleLocalFallback,
|
|
61259
61270
|
localFallbackTimeoutMs,
|
|
61260
|
-
persistence
|
|
61271
|
+
persistence,
|
|
61272
|
+
user
|
|
61261
61273
|
}
|
|
61262
61274
|
) }) : /* @__PURE__ */ jsx(
|
|
61263
61275
|
SchemaRunner,
|
|
@@ -61273,7 +61285,8 @@ function OrbPreview({
|
|
|
61273
61285
|
onNavigateBack: handleNavigateBack,
|
|
61274
61286
|
onLocalFallback: handleLocalFallback,
|
|
61275
61287
|
localFallbackTimeoutMs,
|
|
61276
|
-
persistence
|
|
61288
|
+
persistence,
|
|
61289
|
+
user
|
|
61277
61290
|
}
|
|
61278
61291
|
) }) })
|
|
61279
61292
|
]
|
package/dist/providers/index.cjs
CHANGED
|
@@ -54890,7 +54890,7 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54890
54890
|
} catch {
|
|
54891
54891
|
}
|
|
54892
54892
|
},
|
|
54893
|
-
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint) => {
|
|
54893
|
+
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint, user) => {
|
|
54894
54894
|
const traits2 = results?.map((r) => ({ trait: r.traitName, from: r.result.previousState }));
|
|
54895
54895
|
const body = {
|
|
54896
54896
|
event,
|
|
@@ -54911,7 +54911,8 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54911
54911
|
// "do nothing" and break every organism's INIT on the stateless path.
|
|
54912
54912
|
...results !== void 0 ? { traits: traits2 ?? [] } : {},
|
|
54913
54913
|
...entityByTrait ? { entityByTrait } : {},
|
|
54914
|
-
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {}
|
|
54914
|
+
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {},
|
|
54915
|
+
...user ? { user } : {}
|
|
54915
54916
|
};
|
|
54916
54917
|
const res = await fetch(`${serverUrl}/${orbitalName}/events`, {
|
|
54917
54918
|
method: "POST",
|
|
@@ -54973,7 +54974,7 @@ function ServerBridgeProvider({
|
|
|
54973
54974
|
disposedRef.current = true;
|
|
54974
54975
|
};
|
|
54975
54976
|
}, []);
|
|
54976
|
-
const sendEvent = React89.useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait) => {
|
|
54977
|
+
const sendEvent = React89.useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait, user) => {
|
|
54977
54978
|
const emptyMeta = { success: false, transitioned: false, clientEffects: 0, dataEntities: {}, emittedEvents: [] };
|
|
54978
54979
|
if (!connected) return { effects: [], meta: emptyMeta };
|
|
54979
54980
|
if (tick !== void 0) {
|
|
@@ -54983,7 +54984,7 @@ function ServerBridgeProvider({
|
|
|
54983
54984
|
return commandPump.enqueue(async () => {
|
|
54984
54985
|
if (disposedRef.current) return { effects: [], meta: emptyMeta };
|
|
54985
54986
|
try {
|
|
54986
|
-
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name);
|
|
54987
|
+
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name, user);
|
|
54987
54988
|
const effects = [];
|
|
54988
54989
|
const responseData = result.data || {};
|
|
54989
54990
|
const dataEntities = {};
|
|
@@ -6,7 +6,7 @@ export { a as CurrentPagePathContext, b as CurrentPagePathProvider, c as Current
|
|
|
6
6
|
import { b as UserData } from '../UserContext-D566nfWA.cjs';
|
|
7
7
|
export { U as UserContext, a as UserContextValue, c as UserProvider, d as UserProviderProps, u as useHasPermission, e as useHasRole, f as useUser, g as useUserForEvaluation } from '../UserContext-D566nfWA.cjs';
|
|
8
8
|
import { E as EventBusContextType } from '../event-bus-types-Bl78kokd.cjs';
|
|
9
|
-
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-
|
|
9
|
+
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-C6FgxdfG.cjs';
|
|
10
10
|
import { i as UseOfflineExecutorResult, U as UseOfflineExecutorOptions } from '../offline-executor-DdV2o0Zu.cjs';
|
|
11
11
|
export { N as NavigationContextValue, c as NavigationProvider, d as NavigationProviderProps, e as NavigationState, j as comparePathSpecificity, l as extractRouteParams, m as findPageByName, n as findPageByPath, o as getAllPages, p as getDefaultPage, q as matchPath, r as matchPathAmong, s as pathMatches, u as useActivePage, t as useInitPayload, v as useNavigateTo, w as useNavigation, x as useNavigationId, y as useNavigationState } from '../offline-executor-DdV2o0Zu.cjs';
|
|
12
12
|
import '../verificationRegistry-DTrKDRoa.cjs';
|
|
@@ -6,7 +6,7 @@ export { a as CurrentPagePathContext, b as CurrentPagePathProvider, c as Current
|
|
|
6
6
|
import { b as UserData } from '../UserContext-D566nfWA.js';
|
|
7
7
|
export { U as UserContext, a as UserContextValue, c as UserProvider, d as UserProviderProps, u as useHasPermission, e as useHasRole, f as useUser, g as useUserForEvaluation } from '../UserContext-D566nfWA.js';
|
|
8
8
|
import { E as EventBusContextType } from '../event-bus-types-Bl78kokd.js';
|
|
9
|
-
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-
|
|
9
|
+
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-C6FgxdfG.js';
|
|
10
10
|
import { i as UseOfflineExecutorResult, U as UseOfflineExecutorOptions } from '../offline-executor-DdV2o0Zu.js';
|
|
11
11
|
export { N as NavigationContextValue, c as NavigationProvider, d as NavigationProviderProps, e as NavigationState, j as comparePathSpecificity, l as extractRouteParams, m as findPageByName, n as findPageByPath, o as getAllPages, p as getDefaultPage, q as matchPath, r as matchPathAmong, s as pathMatches, u as useActivePage, t as useInitPayload, v as useNavigateTo, w as useNavigation, x as useNavigationId, y as useNavigationState } from '../offline-executor-DdV2o0Zu.js';
|
|
12
12
|
import '../verificationRegistry-Cwa52VyK.js';
|
package/dist/providers/index.js
CHANGED
|
@@ -54816,7 +54816,7 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54816
54816
|
} catch {
|
|
54817
54817
|
}
|
|
54818
54818
|
},
|
|
54819
|
-
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint) => {
|
|
54819
|
+
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint, user) => {
|
|
54820
54820
|
const traits2 = results?.map((r) => ({ trait: r.traitName, from: r.result.previousState }));
|
|
54821
54821
|
const body = {
|
|
54822
54822
|
event,
|
|
@@ -54837,7 +54837,8 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54837
54837
|
// "do nothing" and break every organism's INIT on the stateless path.
|
|
54838
54838
|
...results !== void 0 ? { traits: traits2 ?? [] } : {},
|
|
54839
54839
|
...entityByTrait ? { entityByTrait } : {},
|
|
54840
|
-
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {}
|
|
54840
|
+
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {},
|
|
54841
|
+
...user ? { user } : {}
|
|
54841
54842
|
};
|
|
54842
54843
|
const res = await fetch(`${serverUrl}/${orbitalName}/events`, {
|
|
54843
54844
|
method: "POST",
|
|
@@ -54899,7 +54900,7 @@ function ServerBridgeProvider({
|
|
|
54899
54900
|
disposedRef.current = true;
|
|
54900
54901
|
};
|
|
54901
54902
|
}, []);
|
|
54902
|
-
const sendEvent = useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait) => {
|
|
54903
|
+
const sendEvent = useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait, user) => {
|
|
54903
54904
|
const emptyMeta = { success: false, transitioned: false, clientEffects: 0, dataEntities: {}, emittedEvents: [] };
|
|
54904
54905
|
if (!connected) return { effects: [], meta: emptyMeta };
|
|
54905
54906
|
if (tick !== void 0) {
|
|
@@ -54909,7 +54910,7 @@ function ServerBridgeProvider({
|
|
|
54909
54910
|
return commandPump.enqueue(async () => {
|
|
54910
54911
|
if (disposedRef.current) return { effects: [], meta: emptyMeta };
|
|
54911
54912
|
try {
|
|
54912
|
-
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name);
|
|
54913
|
+
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name, user);
|
|
54913
54914
|
const effects = [];
|
|
54914
54915
|
const responseData = result.data || {};
|
|
54915
54916
|
const dataEntities = {};
|
package/dist/runtime/index.cjs
CHANGED
|
@@ -55062,7 +55062,7 @@ function NavStackRefBridge({ apiRef }) {
|
|
|
55062
55062
|
}, [api, apiRef]);
|
|
55063
55063
|
return null;
|
|
55064
55064
|
}
|
|
55065
|
-
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, children }) {
|
|
55065
|
+
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, user, children }) {
|
|
55066
55066
|
const bridge = providers.useServerBridge();
|
|
55067
55067
|
const activeTraitNames = React87.useMemo(
|
|
55068
55068
|
() => new Set(traits2.map((b) => b.trait.name).filter((n) => !!n)),
|
|
@@ -55094,12 +55094,12 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
55094
55094
|
void bridge.sendEvent(name, event, withActiveTraits(payload), tick, sourceTrait);
|
|
55095
55095
|
continue;
|
|
55096
55096
|
}
|
|
55097
|
-
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait).then(({ effects, meta }) => {
|
|
55097
|
+
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait, user ?? void 0).then(({ effects, meta }) => {
|
|
55098
55098
|
recordServerResponse(name, event, { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
55099
55099
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
55100
55100
|
});
|
|
55101
55101
|
}
|
|
55102
|
-
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits]);
|
|
55102
|
+
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, user]);
|
|
55103
55103
|
const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, navigateBack: onNavigateBack, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams } : { navigate: onNavigate, navigateBack: onNavigateBack, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams };
|
|
55104
55104
|
const { sendEvent, entityBindingSource } = useTraitStateMachine(traits2, uiSlots, opts);
|
|
55105
55105
|
const initSentRef = React87.useRef(false);
|
|
@@ -55141,7 +55141,17 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
55141
55141
|
initSentRef.current = true;
|
|
55142
55142
|
(async () => {
|
|
55143
55143
|
for (const name of orbitalNames) {
|
|
55144
|
-
const { effects, meta } = await bridge.sendEvent(
|
|
55144
|
+
const { effects, meta } = await bridge.sendEvent(
|
|
55145
|
+
name,
|
|
55146
|
+
"INIT",
|
|
55147
|
+
withActiveTraits({ ...routeParams ?? {} }),
|
|
55148
|
+
void 0,
|
|
55149
|
+
void 0,
|
|
55150
|
+
void 0,
|
|
55151
|
+
void 0,
|
|
55152
|
+
void 0,
|
|
55153
|
+
user ?? void 0
|
|
55154
|
+
);
|
|
55145
55155
|
recordServerResponse(name, "INIT", { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
55146
55156
|
const effectTraces = [
|
|
55147
55157
|
{ type: "fetch", args: [], status: "executed" },
|
|
@@ -55162,7 +55172,7 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
55162
55172
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
55163
55173
|
}
|
|
55164
55174
|
})();
|
|
55165
|
-
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
55175
|
+
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams, user]);
|
|
55166
55176
|
return /* @__PURE__ */ jsxRuntime.jsx(providers.EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
55167
55177
|
}
|
|
55168
55178
|
function FitToBox({ children }) {
|
|
@@ -55189,7 +55199,7 @@ function FitToBox({ children }) {
|
|
|
55189
55199
|
}, []);
|
|
55190
55200
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
55191
55201
|
}
|
|
55192
|
-
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence }) {
|
|
55202
|
+
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, user }) {
|
|
55193
55203
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
55194
55204
|
const allPageTraits = React87.useMemo(() => {
|
|
55195
55205
|
let base;
|
|
@@ -55354,6 +55364,7 @@ function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData,
|
|
|
55354
55364
|
onLocalFallback,
|
|
55355
55365
|
localFallbackTimeoutMs,
|
|
55356
55366
|
persistence,
|
|
55367
|
+
user,
|
|
55357
55368
|
children: /* @__PURE__ */ jsxRuntime.jsx(providers.OrbitalThemeProvider, { theme: activeOrbitalTheme, children: /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "h-full min-h-full overflow-auto p-4", children: /* @__PURE__ */ jsxRuntime.jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) }) })
|
|
55358
55369
|
}
|
|
55359
55370
|
)
|
|
@@ -55560,7 +55571,8 @@ function OrbPreview({
|
|
|
55560
55571
|
onNavigateBack: handleNavigateBack,
|
|
55561
55572
|
onLocalFallback: handleLocalFallback,
|
|
55562
55573
|
localFallbackTimeoutMs,
|
|
55563
|
-
persistence
|
|
55574
|
+
persistence,
|
|
55575
|
+
user
|
|
55564
55576
|
}
|
|
55565
55577
|
) }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
55566
55578
|
SchemaRunner,
|
|
@@ -55576,7 +55588,8 @@ function OrbPreview({
|
|
|
55576
55588
|
onNavigateBack: handleNavigateBack,
|
|
55577
55589
|
onLocalFallback: handleLocalFallback,
|
|
55578
55590
|
localFallbackTimeoutMs,
|
|
55579
|
-
persistence
|
|
55591
|
+
persistence,
|
|
55592
|
+
user
|
|
55580
55593
|
}
|
|
55581
55594
|
) }) })
|
|
55582
55595
|
]
|
package/dist/runtime/index.d.cts
CHANGED
|
@@ -5,8 +5,8 @@ import * as _almadar_runtime from '@almadar/runtime';
|
|
|
5
5
|
import { TraitState, TransitionResult, EffectHandlers } from '@almadar/runtime';
|
|
6
6
|
import { K as KeyCaptureTable } from '../useKeyboardRouter-CVn8lfiX.cjs';
|
|
7
7
|
import { c as useUISlots } from '../UISlotContext-BlRDbHDy.cjs';
|
|
8
|
-
import { a as EntityBindingSource, h as ServerBridgeTransport, A as AccessTokenProvider } from '../EntityBindingContext-
|
|
9
|
-
export { b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, e as ServerBridgeContextValue, f as ServerBridgeProvider, i as ServerClientEffect, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-
|
|
8
|
+
import { a as EntityBindingSource, h as ServerBridgeTransport, A as AccessTokenProvider } from '../EntityBindingContext-C6FgxdfG.cjs';
|
|
9
|
+
export { b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, e as ServerBridgeContextValue, f as ServerBridgeProvider, i as ServerClientEffect, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-C6FgxdfG.cjs';
|
|
10
10
|
import '../verificationRegistry-DTrKDRoa.cjs';
|
|
11
11
|
export { PERF_NAMESPACE, PerfEntry, PreparedPreviewSchema, adjustSchemaForMockData, buildMockData, clearPerf, perfEnd, perfStart, perfTime, prepareSchemaForPreview, wrapCallbackForEvent } from '@almadar/runtime/ui';
|
|
12
12
|
import React__default, { ReactNode } from 'react';
|
package/dist/runtime/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import * as _almadar_runtime from '@almadar/runtime';
|
|
|
5
5
|
import { TraitState, TransitionResult, EffectHandlers } from '@almadar/runtime';
|
|
6
6
|
import { K as KeyCaptureTable } from '../useKeyboardRouter-B1pIi9jo.js';
|
|
7
7
|
import { c as useUISlots } from '../UISlotContext-CB89mv7N.js';
|
|
8
|
-
import { a as EntityBindingSource, h as ServerBridgeTransport, A as AccessTokenProvider } from '../EntityBindingContext-
|
|
9
|
-
export { b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, e as ServerBridgeContextValue, f as ServerBridgeProvider, i as ServerClientEffect, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-
|
|
8
|
+
import { a as EntityBindingSource, h as ServerBridgeTransport, A as AccessTokenProvider } from '../EntityBindingContext-C6FgxdfG.js';
|
|
9
|
+
export { b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, e as ServerBridgeContextValue, f as ServerBridgeProvider, i as ServerClientEffect, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-C6FgxdfG.js';
|
|
10
10
|
import '../verificationRegistry-Cwa52VyK.js';
|
|
11
11
|
export { PERF_NAMESPACE, PerfEntry, PreparedPreviewSchema, adjustSchemaForMockData, buildMockData, clearPerf, perfEnd, perfStart, perfTime, prepareSchemaForPreview, wrapCallbackForEvent } from '@almadar/runtime/ui';
|
|
12
12
|
import React__default, { ReactNode } from 'react';
|
package/dist/runtime/index.js
CHANGED
|
@@ -54988,7 +54988,7 @@ function NavStackRefBridge({ apiRef }) {
|
|
|
54988
54988
|
}, [api, apiRef]);
|
|
54989
54989
|
return null;
|
|
54990
54990
|
}
|
|
54991
|
-
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, children }) {
|
|
54991
|
+
function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, serverActiveTraits, user, children }) {
|
|
54992
54992
|
const bridge = useServerBridge();
|
|
54993
54993
|
const activeTraitNames = useMemo(
|
|
54994
54994
|
() => new Set(traits2.map((b) => b.trait.name).filter((n) => !!n)),
|
|
@@ -55020,12 +55020,12 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
55020
55020
|
void bridge.sendEvent(name, event, withActiveTraits(payload), tick, sourceTrait);
|
|
55021
55021
|
continue;
|
|
55022
55022
|
}
|
|
55023
|
-
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait).then(({ effects, meta }) => {
|
|
55023
|
+
void bridge.sendEvent(name, event, withActiveTraits(payload), void 0, void 0, locallyEmitted, results, entityByTrait, user ?? void 0).then(({ effects, meta }) => {
|
|
55024
55024
|
recordServerResponse(name, event, { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
55025
55025
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
55026
55026
|
});
|
|
55027
55027
|
}
|
|
55028
|
-
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits]);
|
|
55028
|
+
}, [bridge.connected, bridge.sendEvent, orbitalNames, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, user]);
|
|
55029
55029
|
const opts = orbitalNames ? { onEventProcessed, navigate: onNavigate, navigateBack: onNavigateBack, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams } : { navigate: onNavigate, navigateBack: onNavigateBack, persistence, traitConfigsByName, orbitalsByTrait, embeddedTraits, callsiteCaptureChildrenByTrait, initPayload: routeParams };
|
|
55030
55030
|
const { sendEvent, entityBindingSource } = useTraitStateMachine(traits2, uiSlots, opts);
|
|
55031
55031
|
const initSentRef = useRef(false);
|
|
@@ -55067,7 +55067,17 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
55067
55067
|
initSentRef.current = true;
|
|
55068
55068
|
(async () => {
|
|
55069
55069
|
for (const name of orbitalNames) {
|
|
55070
|
-
const { effects, meta } = await bridge.sendEvent(
|
|
55070
|
+
const { effects, meta } = await bridge.sendEvent(
|
|
55071
|
+
name,
|
|
55072
|
+
"INIT",
|
|
55073
|
+
withActiveTraits({ ...routeParams ?? {} }),
|
|
55074
|
+
void 0,
|
|
55075
|
+
void 0,
|
|
55076
|
+
void 0,
|
|
55077
|
+
void 0,
|
|
55078
|
+
void 0,
|
|
55079
|
+
user ?? void 0
|
|
55080
|
+
);
|
|
55071
55081
|
recordServerResponse(name, "INIT", { ...meta, effectResults: effectResultsToTraces(meta.effectResults) });
|
|
55072
55082
|
const effectTraces = [
|
|
55073
55083
|
{ type: "fetch", args: [], status: "executed" },
|
|
@@ -55088,7 +55098,7 @@ function TraitInitializer({ traits: traits2, routeParams, orbitalNames, onNaviga
|
|
|
55088
55098
|
applyServerEffects(effects, uiSlots, onNavigate, embeddedTraits, activeTraitNamesRef.current, onNavigateBack);
|
|
55089
55099
|
}
|
|
55090
55100
|
})();
|
|
55091
|
-
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams]);
|
|
55101
|
+
}, [bridge.connected, orbitalNames, bridge.sendEvent, uiSlots, onNavigate, onNavigateBack, embeddedTraits, activeTraitNames, withActiveTraits, routeParams, user]);
|
|
55092
55102
|
return /* @__PURE__ */ jsx(EntityBindingContext.Provider, { value: entityBindingSource, children });
|
|
55093
55103
|
}
|
|
55094
55104
|
function FitToBox({ children }) {
|
|
@@ -55115,7 +55125,7 @@ function FitToBox({ children }) {
|
|
|
55115
55125
|
}, []);
|
|
55116
55126
|
return /* @__PURE__ */ jsx("div", { ref: outerRef, className: "relative h-full w-full overflow-hidden", children: /* @__PURE__ */ jsx("div", { ref: innerRef, style: { transform: `scale(${scale})`, transformOrigin: "top left", width: "fit-content" }, children }) });
|
|
55117
55127
|
}
|
|
55118
|
-
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence }) {
|
|
55128
|
+
function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData, pageName, routeParams, onNavigate, onNavigateBack, onLocalFallback, localFallbackTimeoutMs, persistence, user }) {
|
|
55119
55129
|
const { traits: traits2, allEntities, allTraits, ir } = useResolvedSchema(schema, pageName);
|
|
55120
55130
|
const allPageTraits = useMemo(() => {
|
|
55121
55131
|
let base;
|
|
@@ -55280,6 +55290,7 @@ function SchemaRunner({ schema, serverUrl, transport, getAccessToken, mockData,
|
|
|
55280
55290
|
onLocalFallback,
|
|
55281
55291
|
localFallbackTimeoutMs,
|
|
55282
55292
|
persistence,
|
|
55293
|
+
user,
|
|
55283
55294
|
children: /* @__PURE__ */ jsx(OrbitalThemeProvider, { theme: activeOrbitalTheme, children: /* @__PURE__ */ jsx(Box, { className: "h-full min-h-full overflow-auto p-4", children: /* @__PURE__ */ jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) }) })
|
|
55284
55295
|
}
|
|
55285
55296
|
)
|
|
@@ -55486,7 +55497,8 @@ function OrbPreview({
|
|
|
55486
55497
|
onNavigateBack: handleNavigateBack,
|
|
55487
55498
|
onLocalFallback: handleLocalFallback,
|
|
55488
55499
|
localFallbackTimeoutMs,
|
|
55489
|
-
persistence
|
|
55500
|
+
persistence,
|
|
55501
|
+
user
|
|
55490
55502
|
}
|
|
55491
55503
|
) }) : /* @__PURE__ */ jsx(
|
|
55492
55504
|
SchemaRunner,
|
|
@@ -55502,7 +55514,8 @@ function OrbPreview({
|
|
|
55502
55514
|
onNavigateBack: handleNavigateBack,
|
|
55503
55515
|
onLocalFallback: handleLocalFallback,
|
|
55504
55516
|
localFallbackTimeoutMs,
|
|
55505
|
-
persistence
|
|
55517
|
+
persistence,
|
|
55518
|
+
user
|
|
55506
55519
|
}
|
|
55507
55520
|
) }) })
|
|
55508
55521
|
]
|