@almadar/runtime 5.5.0 → 5.6.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.
@@ -1,5 +1,5 @@
1
- import { createLogger, EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, StateMachineManager, createContextFromBindings, validateEventPayload, formatPayloadValidationError, EffectExecutor } from './chunk-TJKK3BLO.js';
2
- export { InMemoryPersistence } from './chunk-TJKK3BLO.js';
1
+ import { createLogger, EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, StateMachineManager, createContextFromBindings, validateEventPayload, formatPayloadValidationError, EffectExecutor } from './chunk-54YR5TKO.js';
2
+ export { InMemoryPersistence } from './chunk-54YR5TKO.js';
3
3
  import './chunk-PZ5AY32C.js';
4
4
  import { Router } from 'express';
5
5
  import * as fs from 'fs';
@@ -1811,14 +1811,12 @@ var MockPersistenceAdapter = class {
1811
1811
  * Generate a mock value for a field based on its schema.
1812
1812
  */
1813
1813
  generateFieldValue(entityName, field, index) {
1814
- if (field.default !== void 0) {
1815
- if (field.default === "@now") {
1816
- return (/* @__PURE__ */ new Date()).toISOString();
1817
- }
1814
+ const fieldTypeLc = field.type.toLowerCase();
1815
+ const isNumeric = fieldTypeLc === "number" || fieldTypeLc === "integer";
1816
+ if (isNumeric && field.default !== void 0) {
1818
1817
  return field.default;
1819
1818
  }
1820
- const fieldType = field.type.toLowerCase();
1821
- switch (fieldType) {
1819
+ switch (fieldTypeLc) {
1822
1820
  case "string":
1823
1821
  return this.generateStringValue(entityName, field, index);
1824
1822
  case "number":
@@ -2590,6 +2588,7 @@ var UnifiedLoader = class {
2590
2588
  function createUnifiedLoader(options) {
2591
2589
  return new UnifiedLoader(options);
2592
2590
  }
2591
+ var refResolverLog = createLogger("almadar:runtime:ref-resolver");
2593
2592
  function renameEventsInRenderUiConfig(node, rename) {
2594
2593
  if (node === null || node === void 0) return node;
2595
2594
  if (Array.isArray(node)) {
@@ -2955,7 +2954,8 @@ var ReferenceResolver = class {
2955
2954
  refObj.config,
2956
2955
  refObj.linkedEntity,
2957
2956
  refObj.name,
2958
- refObj.events
2957
+ refObj.events,
2958
+ refObj.listens
2959
2959
  );
2960
2960
  }
2961
2961
  if (typeof traitRef === "string") {
@@ -2969,7 +2969,7 @@ var ReferenceResolver = class {
2969
2969
  /**
2970
2970
  * Resolve a trait reference string.
2971
2971
  */
2972
- resolveTraitRefString(ref, imports, config, linkedEntity, overrideName, eventRenames) {
2972
+ resolveTraitRefString(ref, imports, config, linkedEntity, overrideName, eventRenames, listensOverride) {
2973
2973
  const parsed = parseImportedTraitRef(ref);
2974
2974
  if (parsed) {
2975
2975
  const imported = imports.orbitals.get(parsed.alias);
@@ -2993,10 +2993,19 @@ var ReferenceResolver = class {
2993
2993
  const baseTrait = overrideName ? { ...trait, name: overrideName } : trait;
2994
2994
  const reboundTrait = applyLinkedEntityRename(baseTrait, linkedEntity);
2995
2995
  const renamedTrait = applyEventRenames(reboundTrait, eventRenames);
2996
+ const finalTrait = listensOverride !== void 0 ? { ...renamedTrait, listens: listensOverride } : renamedTrait;
2997
+ if (listensOverride !== void 0) {
2998
+ refResolverLog.info("listens-override:imported", {
2999
+ trait: finalTrait.name,
3000
+ ref,
3001
+ atomListens: trait.listens?.length ?? 0,
3002
+ callSiteListens: listensOverride.length
3003
+ });
3004
+ }
2996
3005
  return {
2997
3006
  success: true,
2998
3007
  data: {
2999
- trait: renamedTrait,
3008
+ trait: finalTrait,
3000
3009
  source: { type: "imported", alias: parsed.alias, traitName: parsed.traitName },
3001
3010
  config,
3002
3011
  linkedEntity
@@ -3009,10 +3018,19 @@ var ReferenceResolver = class {
3009
3018
  const baseLocal = overrideName ? { ...localTrait, name: overrideName } : localTrait;
3010
3019
  const reboundLocal = applyLinkedEntityRename(baseLocal, linkedEntity);
3011
3020
  const renamedLocalTrait = applyEventRenames(reboundLocal, eventRenames);
3021
+ const finalLocalTrait = listensOverride !== void 0 ? { ...renamedLocalTrait, listens: listensOverride } : renamedLocalTrait;
3022
+ if (listensOverride !== void 0) {
3023
+ refResolverLog.info("listens-override:local", {
3024
+ trait: finalLocalTrait.name,
3025
+ ref,
3026
+ atomListens: localTrait.listens?.length ?? 0,
3027
+ callSiteListens: listensOverride.length
3028
+ });
3029
+ }
3012
3030
  return {
3013
3031
  success: true,
3014
3032
  data: {
3015
- trait: renamedLocalTrait,
3033
+ trait: finalLocalTrait,
3016
3034
  source: { type: "local", name: ref },
3017
3035
  config,
3018
3036
  linkedEntity
@@ -3415,5 +3433,5 @@ var InMemoryPersistence = class {
3415
3433
  };
3416
3434
 
3417
3435
  export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, StateMachineManager, buildEmitsFromTraits, containsBindings, createContextFromBindings, createInitialTraitState, createLogger, createMockPersistence, createTestExecutor, createUnifiedLoader, extractBindings, findInitialState, findTransition, formatPayloadValidationError, getIsolatedCollectionName, getNamespacedEvent, interpolateProps, interpolateValue, isBrowser, isElectron, isNamespacedEvent, isNode, normalizeEventKey, parseNamespacedEvent, preprocessSchema, processEvent, validateEventPayload, validatePayloadShapes };
3418
- //# sourceMappingURL=chunk-TJKK3BLO.js.map
3419
- //# sourceMappingURL=chunk-TJKK3BLO.js.map
3436
+ //# sourceMappingURL=chunk-54YR5TKO.js.map
3437
+ //# sourceMappingURL=chunk-54YR5TKO.js.map