@almadar/runtime 6.3.1 → 6.4.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/{OrbitalServerRuntime-BMRm0DUS.d.ts → OrbitalServerRuntime-BtG18R0H.d.ts} +0 -1
- package/dist/OrbitalServerRuntime.d.ts +1 -1
- package/dist/OrbitalServerRuntime.js +1 -1
- package/dist/{chunk-E2YFJ6YP.js → chunk-BKMLP2TV.js} +16 -73
- package/dist/chunk-BKMLP2TV.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/dist/chunk-E2YFJ6YP.js.map +0 -1
|
@@ -34,7 +34,6 @@ import { P as PersistenceAdapter } from './PersistenceAdapter-B6dQCbbU.js';
|
|
|
34
34
|
*/
|
|
35
35
|
declare class EventBus implements IEventBus {
|
|
36
36
|
private listeners;
|
|
37
|
-
private debug;
|
|
38
37
|
/** Maximum recursion depth before circuit breaker activates (RCG-05) */
|
|
39
38
|
private maxDepth;
|
|
40
39
|
/** Current emission depth for circular loop detection */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '@almadar/core';
|
|
2
2
|
import 'express';
|
|
3
|
-
export { C as ClientEffectTuple, B as ClientNavigateTuple, D as ClientNotifyTuple, F as ClientRenderUITuple, G as EffectResult, H as LoaderConfig, O as OrbitalEventRequest, e as OrbitalEventResponse, J as OrbitalServerRuntime, f as OrbitalServerRuntimeConfig, R as RegisteredOrbital, j as RuntimeOrbital, k as RuntimeOrbitalSchema, l as RuntimeTrait, K as RuntimeTraitTick, n as collectDeclaredConfigDefaults, M as createOrbitalServerRuntime } from './OrbitalServerRuntime-
|
|
3
|
+
export { C as ClientEffectTuple, B as ClientNavigateTuple, D as ClientNotifyTuple, F as ClientRenderUITuple, G as EffectResult, H as LoaderConfig, O as OrbitalEventRequest, e as OrbitalEventResponse, J as OrbitalServerRuntime, f as OrbitalServerRuntimeConfig, R as RegisteredOrbital, j as RuntimeOrbital, k as RuntimeOrbitalSchema, l as RuntimeTrait, K as RuntimeTraitTick, n as collectDeclaredConfigDefaults, M as createOrbitalServerRuntime } from './OrbitalServerRuntime-BtG18R0H.js';
|
|
4
4
|
import './types-cuy5gd29.js';
|
|
5
5
|
export { I as InMemoryPersistence, P as PersistenceAdapter } from './PersistenceAdapter-B6dQCbbU.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { InMemoryPersistence, OrbitalServerRuntime, collectDeclaredConfigDefaults, createOrbitalServerRuntime } from './chunk-
|
|
1
|
+
export { InMemoryPersistence, OrbitalServerRuntime, collectDeclaredConfigDefaults, createOrbitalServerRuntime } from './chunk-BKMLP2TV.js';
|
|
2
2
|
import './chunk-PZ5AY32C.js';
|
|
3
3
|
//# sourceMappingURL=OrbitalServerRuntime.js.map
|
|
4
4
|
//# sourceMappingURL=OrbitalServerRuntime.js.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createLogger } from '@almadar/logger';
|
|
1
2
|
import { resolveBinding, evaluate, createMinimalContext, evaluateGuard } from '@almadar/evaluator';
|
|
2
3
|
export { createMinimalContext } from '@almadar/evaluator';
|
|
3
4
|
import { isKnownOperator } from '@almadar/std';
|
|
@@ -6,15 +7,15 @@ import { isInlineTrait, isEntityCall, OrbitalSchemaSchema, isEntityReference, pa
|
|
|
6
7
|
import { faker } from '@faker-js/faker';
|
|
7
8
|
|
|
8
9
|
// src/EventBus.ts
|
|
10
|
+
var log = createLogger("almadar:runtime:eventbus");
|
|
9
11
|
var EventBus = class {
|
|
10
12
|
listeners = /* @__PURE__ */ new Map();
|
|
11
|
-
debug;
|
|
12
13
|
/** Maximum recursion depth before circuit breaker activates (RCG-05) */
|
|
13
14
|
maxDepth;
|
|
14
15
|
/** Current emission depth for circular loop detection */
|
|
15
16
|
depth = 0;
|
|
16
17
|
constructor(options = {}) {
|
|
17
|
-
|
|
18
|
+
void options.debug;
|
|
18
19
|
this.maxDepth = options.maxDepth ?? 10;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
@@ -26,9 +27,7 @@ var EventBus = class {
|
|
|
26
27
|
*/
|
|
27
28
|
emit(type, payload, source) {
|
|
28
29
|
if (this.depth >= this.maxDepth) {
|
|
29
|
-
|
|
30
|
-
`[EventBus] Circular event loop detected: "${type}" at depth ${this.depth}. Event dropped to prevent infinite recursion. Increase maxDepth (currently ${this.maxDepth}) if this is intentional.`
|
|
31
|
-
);
|
|
30
|
+
log.error("circular event loop dropped", { type, depth: this.depth, maxDepth: this.maxDepth });
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
33
|
const event = {
|
|
@@ -39,12 +38,10 @@ var EventBus = class {
|
|
|
39
38
|
};
|
|
40
39
|
const listeners = this.listeners.get(type);
|
|
41
40
|
const listenerCount = listeners?.size ?? 0;
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
console.warn(`[EventBus] Emit: ${type} (NO LISTENERS)`, payload);
|
|
47
|
-
}
|
|
41
|
+
if (listenerCount > 0) {
|
|
42
|
+
log.debug("emit", { type, listenerCount, depth: this.depth });
|
|
43
|
+
} else {
|
|
44
|
+
log.warn("emit no listeners", { type });
|
|
48
45
|
}
|
|
49
46
|
this.depth++;
|
|
50
47
|
try {
|
|
@@ -54,7 +51,7 @@ var EventBus = class {
|
|
|
54
51
|
try {
|
|
55
52
|
listener(event);
|
|
56
53
|
} catch (error) {
|
|
57
|
-
|
|
54
|
+
log.error("listener threw", { type, error: error instanceof Error ? error : String(error) });
|
|
58
55
|
}
|
|
59
56
|
}
|
|
60
57
|
}
|
|
@@ -65,7 +62,7 @@ var EventBus = class {
|
|
|
65
62
|
try {
|
|
66
63
|
listener(event);
|
|
67
64
|
} catch (error) {
|
|
68
|
-
|
|
65
|
+
log.error("wildcard listener threw", { error: error instanceof Error ? error : String(error) });
|
|
69
66
|
}
|
|
70
67
|
}
|
|
71
68
|
}
|
|
@@ -83,14 +80,10 @@ var EventBus = class {
|
|
|
83
80
|
}
|
|
84
81
|
const listeners = this.listeners.get(type);
|
|
85
82
|
listeners.add(listener);
|
|
86
|
-
|
|
87
|
-
console.log(`[EventBus] Subscribed to '${type}', total: ${listeners.size}`);
|
|
88
|
-
}
|
|
83
|
+
log.debug("subscribe", { type, total: listeners.size });
|
|
89
84
|
return () => {
|
|
90
85
|
listeners.delete(listener);
|
|
91
|
-
|
|
92
|
-
console.log(`[EventBus] Unsubscribed from '${type}', remaining: ${listeners.size}`);
|
|
93
|
-
}
|
|
86
|
+
log.debug("unsubscribe", { type, remaining: listeners.size });
|
|
94
87
|
if (listeners.size === 0) {
|
|
95
88
|
this.listeners.delete(type);
|
|
96
89
|
}
|
|
@@ -120,9 +113,7 @@ var EventBus = class {
|
|
|
120
113
|
* Clear all listeners
|
|
121
114
|
*/
|
|
122
115
|
clear() {
|
|
123
|
-
|
|
124
|
-
console.log(`[EventBus] Clearing all listeners (${this.listeners.size} event types)`);
|
|
125
|
-
}
|
|
116
|
+
log.debug("clear", { eventTypeCount: this.listeners.size });
|
|
126
117
|
this.listeners.clear();
|
|
127
118
|
}
|
|
128
119
|
/**
|
|
@@ -132,52 +123,6 @@ var EventBus = class {
|
|
|
132
123
|
return this.listeners.get(type)?.size ?? 0;
|
|
133
124
|
}
|
|
134
125
|
};
|
|
135
|
-
|
|
136
|
-
// src/logger.ts
|
|
137
|
-
var LEVEL_PRIORITY = { DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3 };
|
|
138
|
-
var ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
139
|
-
var NODE_ENV = ENV.NODE_ENV ?? "development";
|
|
140
|
-
var CONFIGURED_LEVEL = (ENV.LOG_LEVEL ?? (NODE_ENV === "production" ? "info" : "debug")).toUpperCase();
|
|
141
|
-
var MIN_PRIORITY = LEVEL_PRIORITY[CONFIGURED_LEVEL] ?? 0;
|
|
142
|
-
var DEBUG_FILTER = (ENV.ALMADAR_DEBUG ?? "").split(",").map((s) => s.trim()).filter(Boolean);
|
|
143
|
-
function matchesNamespace(namespace) {
|
|
144
|
-
if (DEBUG_FILTER.length === 0) return true;
|
|
145
|
-
return DEBUG_FILTER.some((pattern) => {
|
|
146
|
-
if (pattern === "*" || pattern === "almadar:*") return true;
|
|
147
|
-
if (pattern.endsWith(":*")) return namespace.startsWith(pattern.slice(0, -1));
|
|
148
|
-
return namespace === pattern;
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
function createLogger(namespace) {
|
|
152
|
-
const nsAllowed = matchesNamespace(namespace);
|
|
153
|
-
const log = (level, message, data) => {
|
|
154
|
-
if (LEVEL_PRIORITY[level] < MIN_PRIORITY) return;
|
|
155
|
-
if (level === "DEBUG" && !nsAllowed) return;
|
|
156
|
-
const prefix = `[${namespace}]`;
|
|
157
|
-
switch (level) {
|
|
158
|
-
case "DEBUG":
|
|
159
|
-
console.debug(prefix, message, data ?? "");
|
|
160
|
-
break;
|
|
161
|
-
case "INFO":
|
|
162
|
-
console.info(prefix, message, data ?? "");
|
|
163
|
-
break;
|
|
164
|
-
case "WARN":
|
|
165
|
-
console.warn(prefix, message, data ?? "");
|
|
166
|
-
break;
|
|
167
|
-
case "ERROR":
|
|
168
|
-
console.error(prefix, message, data ?? "");
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
return {
|
|
173
|
-
debug: (msg, data) => log("DEBUG", msg, data),
|
|
174
|
-
info: (msg, data) => log("INFO", msg, data),
|
|
175
|
-
warn: (msg, data) => log("WARN", msg, data),
|
|
176
|
-
error: (msg, data) => log("ERROR", msg, data)
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
// src/BindingResolver.ts
|
|
181
126
|
var bindLog = createLogger("almadar:runtime:bindings");
|
|
182
127
|
var renderLog = createLogger("almadar:runtime:render-ui");
|
|
183
128
|
var CLIENT_ONLY_BINDING_ROOTS = /* @__PURE__ */ new Set(["trait"]);
|
|
@@ -886,8 +831,6 @@ var HANDLER_MANIFEST = {
|
|
|
886
831
|
],
|
|
887
832
|
ssr: ["render-ui", "render", "fetch", "emit", "set", "log", "ref", "deref"]
|
|
888
833
|
};
|
|
889
|
-
|
|
890
|
-
// src/EffectExecutor.ts
|
|
891
834
|
var effectLog = createLogger("almadar:runtime:effects");
|
|
892
835
|
function parseEffect(effect) {
|
|
893
836
|
if (!Array.isArray(effect) || effect.length === 0) {
|
|
@@ -5389,6 +5332,6 @@ function buildMatcher(src, listenerOrbital) {
|
|
|
5389
5332
|
return (source) => !!source && source.orbital === wantedOrbital && source.trait === wantedTrait;
|
|
5390
5333
|
}
|
|
5391
5334
|
|
|
5392
|
-
export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, OrbitalServerRuntime, StateMachineManager, buildEmitsFromTraits, collectDeclaredConfigDefaults, containsBindings, createContextFromBindings, createInitialTraitState,
|
|
5393
|
-
//# sourceMappingURL=chunk-
|
|
5394
|
-
//# sourceMappingURL=chunk-
|
|
5335
|
+
export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, OrbitalServerRuntime, StateMachineManager, buildEmitsFromTraits, collectDeclaredConfigDefaults, containsBindings, createContextFromBindings, createInitialTraitState, createMockPersistence, createOrbitalServerRuntime, createTestExecutor, createUnifiedLoader, extractBindings, findInitialState, findTransition, formatPayloadValidationError, getIsolatedCollectionName, getNamespacedEvent, interpolateProps, interpolateValue, isBrowser, isElectron, isNamespacedEvent, isNode, normalizeEventKey, parseNamespacedEvent, preprocessSchema, processEvent, validateEventPayload, validatePayloadShapes };
|
|
5336
|
+
//# sourceMappingURL=chunk-BKMLP2TV.js.map
|
|
5337
|
+
//# sourceMappingURL=chunk-BKMLP2TV.js.map
|