@almadar/ui 2.46.1 → 2.47.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 +101 -7
- package/dist/avl/index.js +100 -7
- package/dist/components/index.cjs +98 -66
- package/dist/components/index.js +97 -66
- package/dist/components/organisms/game/three/index.cjs +65 -0
- package/dist/components/organisms/game/three/index.js +64 -0
- package/dist/docs/index.cjs +65 -0
- package/dist/docs/index.js +64 -0
- package/dist/hooks/index.cjs +87 -62
- package/dist/hooks/index.js +86 -62
- package/dist/lib/index.cjs +68 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +66 -1
- package/dist/lib/logger.d.ts +16 -0
- package/dist/marketing/index.cjs +65 -0
- package/dist/marketing/index.js +64 -0
- package/dist/providers/index.cjs +84 -2
- package/dist/providers/index.js +83 -2
- package/dist/runtime/index.cjs +89 -5
- package/dist/runtime/index.js +88 -5
- package/package.json +1 -1
package/dist/providers/index.cjs
CHANGED
|
@@ -38,6 +38,7 @@ var langToml = require('react-syntax-highlighter/dist/esm/languages/prism/toml')
|
|
|
38
38
|
var langGo = require('react-syntax-highlighter/dist/esm/languages/prism/go');
|
|
39
39
|
var langGraphql = require('react-syntax-highlighter/dist/esm/languages/prism/graphql');
|
|
40
40
|
|
|
41
|
+
var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
|
|
41
42
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
42
43
|
|
|
43
44
|
function _interopNamespace(e) {
|
|
@@ -317,6 +318,64 @@ var ThemeProvider = ({
|
|
|
317
318
|
);
|
|
318
319
|
return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, { value: contextValue2, children });
|
|
319
320
|
};
|
|
321
|
+
|
|
322
|
+
// lib/logger.ts
|
|
323
|
+
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
324
|
+
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
325
|
+
var VITE_ENV = typeof globalThis !== "undefined" && globalThis.__vite_env__ ? globalThis.__vite_env__ : {};
|
|
326
|
+
function getViteEnv(key) {
|
|
327
|
+
try {
|
|
328
|
+
const meta = ({ url: (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)) });
|
|
329
|
+
return meta?.env?.[key];
|
|
330
|
+
} catch {
|
|
331
|
+
return void 0;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
function envGet(key, viteKey) {
|
|
335
|
+
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
336
|
+
}
|
|
337
|
+
var NODE_ENV = envGet("NODE_ENV", "VITE_NODE_ENV") ?? "development";
|
|
338
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL", "VITE_LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
339
|
+
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
340
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG", "VITE_ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
341
|
+
function matchesNamespace(namespace) {
|
|
342
|
+
if (DEBUG_FILTER.length === 0) return true;
|
|
343
|
+
return DEBUG_FILTER.some((pattern) => {
|
|
344
|
+
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
345
|
+
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
346
|
+
return namespace === pattern;
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
function createLogger(namespace) {
|
|
350
|
+
const nsAllowed = matchesNamespace(namespace);
|
|
351
|
+
const log4 = (level, message, data, correlationId) => {
|
|
352
|
+
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
353
|
+
if (level === "DEBUG" && !nsAllowed) return;
|
|
354
|
+
const prefix = `[${namespace}]`;
|
|
355
|
+
const logData = correlationId ? { ...data, cid: correlationId } : data;
|
|
356
|
+
switch (level) {
|
|
357
|
+
case "DEBUG":
|
|
358
|
+
console.debug(prefix, message, logData ?? "");
|
|
359
|
+
break;
|
|
360
|
+
case "INFO":
|
|
361
|
+
console.info(prefix, message, logData ?? "");
|
|
362
|
+
break;
|
|
363
|
+
case "WARN":
|
|
364
|
+
console.warn(prefix, message, logData ?? "");
|
|
365
|
+
break;
|
|
366
|
+
case "ERROR":
|
|
367
|
+
console.error(prefix, message, logData ?? "");
|
|
368
|
+
break;
|
|
369
|
+
}
|
|
370
|
+
};
|
|
371
|
+
return {
|
|
372
|
+
debug: (msg, data, cid) => log4("DEBUG", msg, data, cid),
|
|
373
|
+
info: (msg, data, cid) => log4("INFO", msg, data, cid),
|
|
374
|
+
warn: (msg, data, cid) => log4("WARN", msg, data, cid),
|
|
375
|
+
error: (msg, data, cid) => log4("ERROR", msg, data, cid)
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
var storeLog = createLogger("almadar:entity:store");
|
|
320
379
|
var store = /* @__PURE__ */ new Map();
|
|
321
380
|
var storeListeners = /* @__PURE__ */ new Set();
|
|
322
381
|
var watchCallbacks = /* @__PURE__ */ new Map();
|
|
@@ -356,7 +415,9 @@ function setAll(entityType, records) {
|
|
|
356
415
|
}
|
|
357
416
|
}
|
|
358
417
|
const prev = store.get(entityType);
|
|
359
|
-
|
|
418
|
+
const newVersion = (prev?.version ?? 0) + 1;
|
|
419
|
+
store.set(entityType, { entities, ids, version: newVersion });
|
|
420
|
+
storeLog.debug("setAll", { entityType, recordCount: records.length, version: newVersion });
|
|
360
421
|
notifyListeners(entityType, prev);
|
|
361
422
|
}
|
|
362
423
|
function upsertOne(entityType, record) {
|
|
@@ -368,6 +429,7 @@ function upsertOne(entityType, record) {
|
|
|
368
429
|
if (!snapshot.ids.includes(id)) snapshot.ids.push(id);
|
|
369
430
|
snapshot.version++;
|
|
370
431
|
store.set(entityType, snapshot);
|
|
432
|
+
storeLog.debug("upsertOne", { entityType, id, version: snapshot.version });
|
|
371
433
|
notifyListeners(entityType, prev);
|
|
372
434
|
}
|
|
373
435
|
function addOne(entityType, record) {
|
|
@@ -384,6 +446,7 @@ function updateOne(entityType, id, changes) {
|
|
|
384
446
|
snapshot.entities.set(id, { ...snapshot.entities.get(id), ...changes });
|
|
385
447
|
snapshot.version++;
|
|
386
448
|
store.set(entityType, snapshot);
|
|
449
|
+
storeLog.debug("updateOne", { entityType, id, changedFields: Object.keys(changes), version: snapshot.version });
|
|
387
450
|
notifyListeners(entityType, prev);
|
|
388
451
|
}
|
|
389
452
|
function removeOne(entityType, id) {
|
|
@@ -397,6 +460,7 @@ function removeOne(entityType, id) {
|
|
|
397
460
|
snapshot.entities.delete(id);
|
|
398
461
|
snapshot.version++;
|
|
399
462
|
store.set(entityType, snapshot);
|
|
463
|
+
storeLog.debug("removeOne", { entityType, id, remainingCount: snapshot.ids.length, version: snapshot.version });
|
|
400
464
|
notifyListeners(entityType, prev);
|
|
401
465
|
}
|
|
402
466
|
function getSnapshot(entityType) {
|
|
@@ -479,6 +543,8 @@ function useEntityStore() {
|
|
|
479
543
|
function EntityStoreProvider({ children }) {
|
|
480
544
|
return /* @__PURE__ */ jsxRuntime.jsx(EntityStoreContext.Provider, { value: contextValue, children });
|
|
481
545
|
}
|
|
546
|
+
var log = createLogger("almadar:eventbus");
|
|
547
|
+
var subLog = createLogger("almadar:eventbus:subscribe");
|
|
482
548
|
function setGlobalEventBus(bus) {
|
|
483
549
|
if (typeof window !== "undefined") {
|
|
484
550
|
window.__kflowEventBus = bus;
|
|
@@ -500,6 +566,7 @@ var fallbackEventBus = {
|
|
|
500
566
|
timestamp: Date.now()
|
|
501
567
|
};
|
|
502
568
|
const handlers = fallbackListeners.get(type);
|
|
569
|
+
log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
|
|
503
570
|
if (handlers) {
|
|
504
571
|
handlers.forEach((handler) => {
|
|
505
572
|
try {
|
|
@@ -522,6 +589,7 @@ var fallbackEventBus = {
|
|
|
522
589
|
fallbackListeners.set(type, /* @__PURE__ */ new Set());
|
|
523
590
|
}
|
|
524
591
|
fallbackListeners.get(type).add(listener);
|
|
592
|
+
subLog.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
|
|
525
593
|
return () => {
|
|
526
594
|
const handlers = fallbackListeners.get(type);
|
|
527
595
|
if (handlers) {
|
|
@@ -545,6 +613,7 @@ var fallbackEventBus = {
|
|
|
545
613
|
},
|
|
546
614
|
onAny: (listener) => {
|
|
547
615
|
fallbackAnyListeners.add(listener);
|
|
616
|
+
subLog.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
|
|
548
617
|
return () => {
|
|
549
618
|
fallbackAnyListeners.delete(listener);
|
|
550
619
|
};
|
|
@@ -554,6 +623,8 @@ function useEventBus() {
|
|
|
554
623
|
const context = React114.useContext(providers.EventBusContext);
|
|
555
624
|
return context ?? getGlobalEventBus() ?? fallbackEventBus;
|
|
556
625
|
}
|
|
626
|
+
var busLog = createLogger("almadar:eventbus");
|
|
627
|
+
var subLog2 = createLogger("almadar:eventbus:subscribe");
|
|
557
628
|
var EventBusContext2 = React114.createContext(null);
|
|
558
629
|
function EventBusProvider({ children, debug: debug2 = false }) {
|
|
559
630
|
const listenersRef = React114.useRef(/* @__PURE__ */ new Map());
|
|
@@ -583,7 +654,8 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
583
654
|
timestamp: Date.now()
|
|
584
655
|
};
|
|
585
656
|
const listeners6 = listenersRef.current.get(type);
|
|
586
|
-
const listenerCount = listeners6?.size ?? 0;
|
|
657
|
+
const listenerCount = (listeners6?.size ?? 0) + anyListenersRef.current.size;
|
|
658
|
+
busLog.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount });
|
|
587
659
|
if (debug2) {
|
|
588
660
|
if (listenerCount > 0) {
|
|
589
661
|
console.log(`[EventBus] Emit: ${type} \u2192 ${listenerCount} listener(s)`, payload);
|
|
@@ -616,6 +688,7 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
616
688
|
}
|
|
617
689
|
const listeners6 = listenersRef.current.get(type);
|
|
618
690
|
listeners6.add(listener);
|
|
691
|
+
subLog2.debug("subscribe", { type, totalListeners: listeners6.size });
|
|
619
692
|
if (debug2) {
|
|
620
693
|
console.log(`[EventBus] Subscribed to '${type}', total: ${listeners6.size}`);
|
|
621
694
|
}
|
|
@@ -642,6 +715,7 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
642
715
|
}, []);
|
|
643
716
|
const onAny = React114.useCallback((listener) => {
|
|
644
717
|
anyListenersRef.current.add(listener);
|
|
718
|
+
subLog2.debug("subscribe:any", { totalAnyListeners: anyListenersRef.current.size });
|
|
645
719
|
if (debug2) {
|
|
646
720
|
console.log(`[EventBus] onAny subscribed, total: ${anyListenersRef.current.size}`);
|
|
647
721
|
}
|
|
@@ -3126,6 +3200,7 @@ var defaultIcon = L__default.default.icon({
|
|
|
3126
3200
|
L__default.default.Marker.prototype.options.icon = defaultIcon;
|
|
3127
3201
|
|
|
3128
3202
|
// lib/verificationRegistry.ts
|
|
3203
|
+
var log2 = createLogger("almadar:bridge");
|
|
3129
3204
|
var MAX_TRANSITIONS = 500;
|
|
3130
3205
|
function getState() {
|
|
3131
3206
|
if (typeof window !== "undefined") {
|
|
@@ -3158,6 +3233,7 @@ function recordTransition(trace) {
|
|
|
3158
3233
|
...trace,
|
|
3159
3234
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
3160
3235
|
};
|
|
3236
|
+
log2.info("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
3161
3237
|
getState().transitions.push(entry);
|
|
3162
3238
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
3163
3239
|
getState().transitions.shift();
|
|
@@ -3259,10 +3335,12 @@ function waitForTransition(event, timeoutMs = 1e4) {
|
|
|
3259
3335
|
}
|
|
3260
3336
|
function bindEventBus(eventBus) {
|
|
3261
3337
|
if (typeof window === "undefined") return;
|
|
3338
|
+
log2.info("bindEventBus", { hasOnAny: !!eventBus.onAny });
|
|
3262
3339
|
exposeOnWindow();
|
|
3263
3340
|
if (window.__orbitalVerification) {
|
|
3264
3341
|
window.__orbitalVerification.sendEvent = (event, payload) => {
|
|
3265
3342
|
const prefixed = event.startsWith("UI:") ? event : `UI:${event}`;
|
|
3343
|
+
log2.debug("sendEvent", { event: prefixed, payloadKeys: payload ? Object.keys(payload) : [] });
|
|
3266
3344
|
eventBus.emit(prefixed, payload);
|
|
3267
3345
|
};
|
|
3268
3346
|
const eventLog = [];
|
|
@@ -3723,6 +3801,7 @@ function SuspenseConfigProvider({
|
|
|
3723
3801
|
);
|
|
3724
3802
|
}
|
|
3725
3803
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
3804
|
+
var log3 = createLogger("almadar:verify");
|
|
3726
3805
|
var DISPATCH_SUFFIX = ":DISPATCH";
|
|
3727
3806
|
var SUCCESS_SUFFIX = ":SUCCESS";
|
|
3728
3807
|
var ERROR_SUFFIX = ":ERROR";
|
|
@@ -3768,6 +3847,7 @@ function VerificationProvider({
|
|
|
3768
3847
|
const unsub = eventBus.onAny((evt) => {
|
|
3769
3848
|
const parsed = parseLifecycleEvent(evt.type);
|
|
3770
3849
|
if (!parsed) return;
|
|
3850
|
+
log3.debug("lifecycle:event", { kind: parsed.kind, traitName: parsed.traitName, event: parsed.event, type: evt.type });
|
|
3771
3851
|
const payload = evt.payload ?? {};
|
|
3772
3852
|
if (parsed.kind === "dispatch") {
|
|
3773
3853
|
const key = `${parsed.traitName}:${String(payload["event"] ?? "")}`;
|
|
@@ -3820,6 +3900,7 @@ function VerificationProvider({
|
|
|
3820
3900
|
},
|
|
3821
3901
|
timestamp: Date.now()
|
|
3822
3902
|
});
|
|
3903
|
+
log3.info("transition:success", { trait: parsed.traitName, event: parsed.event, from: pending?.from, to: newState, effectCount: effects.length });
|
|
3823
3904
|
} else if (parsed.kind === "error" && parsed.event) {
|
|
3824
3905
|
const key = `${parsed.traitName}:${parsed.event}`;
|
|
3825
3906
|
const pending = pendingRef.current.get(key);
|
|
@@ -3849,6 +3930,7 @@ function VerificationProvider({
|
|
|
3849
3930
|
},
|
|
3850
3931
|
timestamp: Date.now()
|
|
3851
3932
|
});
|
|
3933
|
+
log3.warn("transition:error", { trait: parsed.traitName, event: parsed.event, from: fromState, error: errorMsg });
|
|
3852
3934
|
}
|
|
3853
3935
|
});
|
|
3854
3936
|
registerCheck(
|
package/dist/providers/index.js
CHANGED
|
@@ -271,6 +271,64 @@ var ThemeProvider = ({
|
|
|
271
271
|
);
|
|
272
272
|
return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: contextValue2, children });
|
|
273
273
|
};
|
|
274
|
+
|
|
275
|
+
// lib/logger.ts
|
|
276
|
+
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
277
|
+
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
278
|
+
var VITE_ENV = typeof globalThis !== "undefined" && globalThis.__vite_env__ ? globalThis.__vite_env__ : {};
|
|
279
|
+
function getViteEnv(key) {
|
|
280
|
+
try {
|
|
281
|
+
const meta = import.meta;
|
|
282
|
+
return meta?.env?.[key];
|
|
283
|
+
} catch {
|
|
284
|
+
return void 0;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
function envGet(key, viteKey) {
|
|
288
|
+
return ENV[key] ?? (viteKey ? getViteEnv(viteKey) : void 0) ?? VITE_ENV[viteKey ?? key];
|
|
289
|
+
}
|
|
290
|
+
var NODE_ENV = envGet("NODE_ENV", "VITE_NODE_ENV") ?? "development";
|
|
291
|
+
var CONFIGURED_LEVEL = (envGet("LOG_LEVEL", "VITE_LOG_LEVEL") ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
292
|
+
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
293
|
+
var DEBUG_FILTER = (envGet("ALMADAR_DEBUG", "VITE_ALMADAR_DEBUG") ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
294
|
+
function matchesNamespace(namespace) {
|
|
295
|
+
if (DEBUG_FILTER.length === 0) return true;
|
|
296
|
+
return DEBUG_FILTER.some((pattern) => {
|
|
297
|
+
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
298
|
+
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
299
|
+
return namespace === pattern;
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
function createLogger(namespace) {
|
|
303
|
+
const nsAllowed = matchesNamespace(namespace);
|
|
304
|
+
const log4 = (level, message, data, correlationId) => {
|
|
305
|
+
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
306
|
+
if (level === "DEBUG" && !nsAllowed) return;
|
|
307
|
+
const prefix = `[${namespace}]`;
|
|
308
|
+
const logData = correlationId ? { ...data, cid: correlationId } : data;
|
|
309
|
+
switch (level) {
|
|
310
|
+
case "DEBUG":
|
|
311
|
+
console.debug(prefix, message, logData ?? "");
|
|
312
|
+
break;
|
|
313
|
+
case "INFO":
|
|
314
|
+
console.info(prefix, message, logData ?? "");
|
|
315
|
+
break;
|
|
316
|
+
case "WARN":
|
|
317
|
+
console.warn(prefix, message, logData ?? "");
|
|
318
|
+
break;
|
|
319
|
+
case "ERROR":
|
|
320
|
+
console.error(prefix, message, logData ?? "");
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
return {
|
|
325
|
+
debug: (msg, data, cid) => log4("DEBUG", msg, data, cid),
|
|
326
|
+
info: (msg, data, cid) => log4("INFO", msg, data, cid),
|
|
327
|
+
warn: (msg, data, cid) => log4("WARN", msg, data, cid),
|
|
328
|
+
error: (msg, data, cid) => log4("ERROR", msg, data, cid)
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
var storeLog = createLogger("almadar:entity:store");
|
|
274
332
|
var store = /* @__PURE__ */ new Map();
|
|
275
333
|
var storeListeners = /* @__PURE__ */ new Set();
|
|
276
334
|
var watchCallbacks = /* @__PURE__ */ new Map();
|
|
@@ -310,7 +368,9 @@ function setAll(entityType, records) {
|
|
|
310
368
|
}
|
|
311
369
|
}
|
|
312
370
|
const prev = store.get(entityType);
|
|
313
|
-
|
|
371
|
+
const newVersion = (prev?.version ?? 0) + 1;
|
|
372
|
+
store.set(entityType, { entities, ids, version: newVersion });
|
|
373
|
+
storeLog.debug("setAll", { entityType, recordCount: records.length, version: newVersion });
|
|
314
374
|
notifyListeners(entityType, prev);
|
|
315
375
|
}
|
|
316
376
|
function upsertOne(entityType, record) {
|
|
@@ -322,6 +382,7 @@ function upsertOne(entityType, record) {
|
|
|
322
382
|
if (!snapshot.ids.includes(id)) snapshot.ids.push(id);
|
|
323
383
|
snapshot.version++;
|
|
324
384
|
store.set(entityType, snapshot);
|
|
385
|
+
storeLog.debug("upsertOne", { entityType, id, version: snapshot.version });
|
|
325
386
|
notifyListeners(entityType, prev);
|
|
326
387
|
}
|
|
327
388
|
function addOne(entityType, record) {
|
|
@@ -338,6 +399,7 @@ function updateOne(entityType, id, changes) {
|
|
|
338
399
|
snapshot.entities.set(id, { ...snapshot.entities.get(id), ...changes });
|
|
339
400
|
snapshot.version++;
|
|
340
401
|
store.set(entityType, snapshot);
|
|
402
|
+
storeLog.debug("updateOne", { entityType, id, changedFields: Object.keys(changes), version: snapshot.version });
|
|
341
403
|
notifyListeners(entityType, prev);
|
|
342
404
|
}
|
|
343
405
|
function removeOne(entityType, id) {
|
|
@@ -351,6 +413,7 @@ function removeOne(entityType, id) {
|
|
|
351
413
|
snapshot.entities.delete(id);
|
|
352
414
|
snapshot.version++;
|
|
353
415
|
store.set(entityType, snapshot);
|
|
416
|
+
storeLog.debug("removeOne", { entityType, id, remainingCount: snapshot.ids.length, version: snapshot.version });
|
|
354
417
|
notifyListeners(entityType, prev);
|
|
355
418
|
}
|
|
356
419
|
function getSnapshot(entityType) {
|
|
@@ -433,6 +496,8 @@ function useEntityStore() {
|
|
|
433
496
|
function EntityStoreProvider({ children }) {
|
|
434
497
|
return /* @__PURE__ */ jsx(EntityStoreContext.Provider, { value: contextValue, children });
|
|
435
498
|
}
|
|
499
|
+
var log = createLogger("almadar:eventbus");
|
|
500
|
+
var subLog = createLogger("almadar:eventbus:subscribe");
|
|
436
501
|
function setGlobalEventBus(bus) {
|
|
437
502
|
if (typeof window !== "undefined") {
|
|
438
503
|
window.__kflowEventBus = bus;
|
|
@@ -454,6 +519,7 @@ var fallbackEventBus = {
|
|
|
454
519
|
timestamp: Date.now()
|
|
455
520
|
};
|
|
456
521
|
const handlers = fallbackListeners.get(type);
|
|
522
|
+
log.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount: (handlers?.size ?? 0) + fallbackAnyListeners.size });
|
|
457
523
|
if (handlers) {
|
|
458
524
|
handlers.forEach((handler) => {
|
|
459
525
|
try {
|
|
@@ -476,6 +542,7 @@ var fallbackEventBus = {
|
|
|
476
542
|
fallbackListeners.set(type, /* @__PURE__ */ new Set());
|
|
477
543
|
}
|
|
478
544
|
fallbackListeners.get(type).add(listener);
|
|
545
|
+
subLog.debug("subscribe", { type, totalListeners: fallbackListeners.get(type).size });
|
|
479
546
|
return () => {
|
|
480
547
|
const handlers = fallbackListeners.get(type);
|
|
481
548
|
if (handlers) {
|
|
@@ -499,6 +566,7 @@ var fallbackEventBus = {
|
|
|
499
566
|
},
|
|
500
567
|
onAny: (listener) => {
|
|
501
568
|
fallbackAnyListeners.add(listener);
|
|
569
|
+
subLog.debug("subscribe:any", { totalAnyListeners: fallbackAnyListeners.size });
|
|
502
570
|
return () => {
|
|
503
571
|
fallbackAnyListeners.delete(listener);
|
|
504
572
|
};
|
|
@@ -508,6 +576,8 @@ function useEventBus() {
|
|
|
508
576
|
const context = useContext(EventBusContext);
|
|
509
577
|
return context ?? getGlobalEventBus() ?? fallbackEventBus;
|
|
510
578
|
}
|
|
579
|
+
var busLog = createLogger("almadar:eventbus");
|
|
580
|
+
var subLog2 = createLogger("almadar:eventbus:subscribe");
|
|
511
581
|
var EventBusContext2 = createContext(null);
|
|
512
582
|
function EventBusProvider({ children, debug: debug2 = false }) {
|
|
513
583
|
const listenersRef = useRef(/* @__PURE__ */ new Map());
|
|
@@ -537,7 +607,8 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
537
607
|
timestamp: Date.now()
|
|
538
608
|
};
|
|
539
609
|
const listeners6 = listenersRef.current.get(type);
|
|
540
|
-
const listenerCount = listeners6?.size ?? 0;
|
|
610
|
+
const listenerCount = (listeners6?.size ?? 0) + anyListenersRef.current.size;
|
|
611
|
+
busLog.debug("emit", { type, payloadKeys: payload ? Object.keys(payload).length : 0, listenerCount });
|
|
541
612
|
if (debug2) {
|
|
542
613
|
if (listenerCount > 0) {
|
|
543
614
|
console.log(`[EventBus] Emit: ${type} \u2192 ${listenerCount} listener(s)`, payload);
|
|
@@ -570,6 +641,7 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
570
641
|
}
|
|
571
642
|
const listeners6 = listenersRef.current.get(type);
|
|
572
643
|
listeners6.add(listener);
|
|
644
|
+
subLog2.debug("subscribe", { type, totalListeners: listeners6.size });
|
|
573
645
|
if (debug2) {
|
|
574
646
|
console.log(`[EventBus] Subscribed to '${type}', total: ${listeners6.size}`);
|
|
575
647
|
}
|
|
@@ -596,6 +668,7 @@ function EventBusProvider({ children, debug: debug2 = false }) {
|
|
|
596
668
|
}, []);
|
|
597
669
|
const onAny = useCallback((listener) => {
|
|
598
670
|
anyListenersRef.current.add(listener);
|
|
671
|
+
subLog2.debug("subscribe:any", { totalAnyListeners: anyListenersRef.current.size });
|
|
599
672
|
if (debug2) {
|
|
600
673
|
console.log(`[EventBus] onAny subscribed, total: ${anyListenersRef.current.size}`);
|
|
601
674
|
}
|
|
@@ -3080,6 +3153,7 @@ var defaultIcon = L.icon({
|
|
|
3080
3153
|
L.Marker.prototype.options.icon = defaultIcon;
|
|
3081
3154
|
|
|
3082
3155
|
// lib/verificationRegistry.ts
|
|
3156
|
+
var log2 = createLogger("almadar:bridge");
|
|
3083
3157
|
var MAX_TRANSITIONS = 500;
|
|
3084
3158
|
function getState() {
|
|
3085
3159
|
if (typeof window !== "undefined") {
|
|
@@ -3112,6 +3186,7 @@ function recordTransition(trace) {
|
|
|
3112
3186
|
...trace,
|
|
3113
3187
|
id: `t-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`
|
|
3114
3188
|
};
|
|
3189
|
+
log2.info("transition:recorded", { trait: trace.traitName, from: trace.from, to: trace.to, event: trace.event, effectCount: trace.effects.length });
|
|
3115
3190
|
getState().transitions.push(entry);
|
|
3116
3191
|
if (getState().transitions.length > MAX_TRANSITIONS) {
|
|
3117
3192
|
getState().transitions.shift();
|
|
@@ -3213,10 +3288,12 @@ function waitForTransition(event, timeoutMs = 1e4) {
|
|
|
3213
3288
|
}
|
|
3214
3289
|
function bindEventBus(eventBus) {
|
|
3215
3290
|
if (typeof window === "undefined") return;
|
|
3291
|
+
log2.info("bindEventBus", { hasOnAny: !!eventBus.onAny });
|
|
3216
3292
|
exposeOnWindow();
|
|
3217
3293
|
if (window.__orbitalVerification) {
|
|
3218
3294
|
window.__orbitalVerification.sendEvent = (event, payload) => {
|
|
3219
3295
|
const prefixed = event.startsWith("UI:") ? event : `UI:${event}`;
|
|
3296
|
+
log2.debug("sendEvent", { event: prefixed, payloadKeys: payload ? Object.keys(payload) : [] });
|
|
3220
3297
|
eventBus.emit(prefixed, payload);
|
|
3221
3298
|
};
|
|
3222
3299
|
const eventLog = [];
|
|
@@ -3677,6 +3754,7 @@ function SuspenseConfigProvider({
|
|
|
3677
3754
|
);
|
|
3678
3755
|
}
|
|
3679
3756
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
3757
|
+
var log3 = createLogger("almadar:verify");
|
|
3680
3758
|
var DISPATCH_SUFFIX = ":DISPATCH";
|
|
3681
3759
|
var SUCCESS_SUFFIX = ":SUCCESS";
|
|
3682
3760
|
var ERROR_SUFFIX = ":ERROR";
|
|
@@ -3722,6 +3800,7 @@ function VerificationProvider({
|
|
|
3722
3800
|
const unsub = eventBus.onAny((evt) => {
|
|
3723
3801
|
const parsed = parseLifecycleEvent(evt.type);
|
|
3724
3802
|
if (!parsed) return;
|
|
3803
|
+
log3.debug("lifecycle:event", { kind: parsed.kind, traitName: parsed.traitName, event: parsed.event, type: evt.type });
|
|
3725
3804
|
const payload = evt.payload ?? {};
|
|
3726
3805
|
if (parsed.kind === "dispatch") {
|
|
3727
3806
|
const key = `${parsed.traitName}:${String(payload["event"] ?? "")}`;
|
|
@@ -3774,6 +3853,7 @@ function VerificationProvider({
|
|
|
3774
3853
|
},
|
|
3775
3854
|
timestamp: Date.now()
|
|
3776
3855
|
});
|
|
3856
|
+
log3.info("transition:success", { trait: parsed.traitName, event: parsed.event, from: pending?.from, to: newState, effectCount: effects.length });
|
|
3777
3857
|
} else if (parsed.kind === "error" && parsed.event) {
|
|
3778
3858
|
const key = `${parsed.traitName}:${parsed.event}`;
|
|
3779
3859
|
const pending = pendingRef.current.get(key);
|
|
@@ -3803,6 +3883,7 @@ function VerificationProvider({
|
|
|
3803
3883
|
},
|
|
3804
3884
|
timestamp: Date.now()
|
|
3805
3885
|
});
|
|
3886
|
+
log3.warn("transition:error", { trait: parsed.traitName, event: parsed.event, from: fromState, error: errorMsg });
|
|
3806
3887
|
}
|
|
3807
3888
|
});
|
|
3808
3889
|
registerCheck(
|