@almadar/runtime 4.12.0 → 4.13.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 { EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, StateMachineManager, createContextFromBindings, EffectExecutor } from './chunk-NQXL3EAK.js';
2
- export { InMemoryPersistence } from './chunk-NQXL3EAK.js';
1
+ import { EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, StateMachineManager, createContextFromBindings, EffectExecutor } from './chunk-S5OLFFHT.js';
2
+ export { InMemoryPersistence } from './chunk-S5OLFFHT.js';
3
3
  import './chunk-PZ5AY32C.js';
4
4
  import { Router } from 'express';
5
5
  import * as fs from 'fs';
@@ -359,6 +359,23 @@ function createOsHandlers(ctx) {
359
359
  }
360
360
 
361
361
  // src/OrbitalServerRuntime.ts
362
+ function collectDeclaredConfigDefaults(trait) {
363
+ if (!trait) return void 0;
364
+ const schema = trait.config;
365
+ if (!schema || typeof schema !== "object") return void 0;
366
+ const defaults = {};
367
+ let hasAny = false;
368
+ for (const [key, field] of Object.entries(schema)) {
369
+ if (field && typeof field === "object" && !Array.isArray(field) && "default" in field) {
370
+ const def = field.default;
371
+ if (def !== void 0) {
372
+ defaults[key] = def;
373
+ hasAny = true;
374
+ }
375
+ }
376
+ }
377
+ return hasAny ? defaults : void 0;
378
+ }
362
379
  function needsPreprocessing(schema) {
363
380
  for (const orbital of schema.orbitals) {
364
381
  const uses = orbital.uses;
@@ -1552,9 +1569,12 @@ var OrbitalServerRuntime = class {
1552
1569
  user
1553
1570
  // @user bindings from Firebase auth
1554
1571
  };
1555
- const traitConfig = registered.configByTrait.get(traitName);
1556
- if (traitConfig) {
1557
- bindings.config = traitConfig;
1572
+ const declaredDefaults = collectDeclaredConfigDefaults(
1573
+ registered.traits.find((t) => t.name === traitName)
1574
+ );
1575
+ const callSiteOverride = registered.configByTrait.get(traitName);
1576
+ if (declaredDefaults || callSiteOverride) {
1577
+ bindings.config = { ...declaredDefaults ?? {}, ...callSiteOverride ?? {} };
1558
1578
  }
1559
1579
  if (entityType) {
1560
1580
  bindings[entityType] = entityData;