@almadar/runtime 6.60.0 → 6.61.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.
@@ -478,8 +478,15 @@ interface LoadedSchema {
478
478
  * Result of loading a single orbital from a schema.
479
479
  */
480
480
  interface LoadedOrbital {
481
- /** The loaded orbital */
481
+ /** The loaded orbital — the named one when requested, else the first. */
482
482
  orbital: Orbital;
483
+ /**
484
+ * EVERY orbital in the loaded schema. `Alias.traits.X` carries no orbital
485
+ * segment, so a multi-orbital behavior's traits and pages must all stay
486
+ * reachable; resolving against `orbital` alone silently loses everything
487
+ * outside it. Mirrors the compiled path's `AliasEntry.orbitals`.
488
+ */
489
+ orbitals?: Orbital[];
483
490
  /** Source path/URL (resolved) */
484
491
  sourcePath: string;
485
492
  /** Original import path */
@@ -1,4 +1,4 @@
1
1
  import 'express';
2
- export { F as ClientEffectTuple, G as ClientNavigateBackTuple, H as ClientNavigateTuple, J as ClientNotifyTuple, K as ClientRenderUITuple, M as EffectResult, e as InMemoryPersistence, N as LiveBroadcastItem, Q as LoaderConfig, O as OrbitalEventRequest, f as OrbitalEventResponse, T as OrbitalServerRuntime, g as OrbitalServerRuntimeConfig, P as PersistenceAdapter, R as RegisteredOrbital, l as RuntimeOrbital, m as RuntimeOrbitalSchema, n as RuntimeTrait, V as RuntimeTraitTick, p as collectDeclaredConfigDefaults, W as createOrbitalServerRuntime } from './OrbitalServerRuntime-Cvw0CUfG.js';
2
+ export { F as ClientEffectTuple, G as ClientNavigateBackTuple, H as ClientNavigateTuple, J as ClientNotifyTuple, K as ClientRenderUITuple, M as EffectResult, e as InMemoryPersistence, N as LiveBroadcastItem, Q as LoaderConfig, O as OrbitalEventRequest, f as OrbitalEventResponse, T as OrbitalServerRuntime, g as OrbitalServerRuntimeConfig, P as PersistenceAdapter, R as RegisteredOrbital, l as RuntimeOrbital, m as RuntimeOrbitalSchema, n as RuntimeTrait, V as RuntimeTraitTick, p as collectDeclaredConfigDefaults, W as createOrbitalServerRuntime } from './OrbitalServerRuntime-CZHHxo_A.js';
3
3
  import './types-BaD_ox7e.js';
4
4
  import '@almadar/core';
@@ -1,5 +1,5 @@
1
- import { createTickScheduler, EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, normalizeCallSiteConfigToValues, StateMachineManager, parseDurationString, validateEventPayload, formatPayloadValidationError, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, EffectExecutor } from './chunk-5IFHQDW2.js';
2
- export { InMemoryPersistence, collectDeclaredConfigDefaults } from './chunk-5IFHQDW2.js';
1
+ import { createTickScheduler, EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, normalizeCallSiteConfigToValues, StateMachineManager, parseDurationString, validateEventPayload, formatPayloadValidationError, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, EffectExecutor } from './chunk-QY5EUGR2.js';
2
+ export { InMemoryPersistence, collectDeclaredConfigDefaults } from './chunk-QY5EUGR2.js';
3
3
  import { isValidCronExpression } from './chunk-OU3ITB5S.js';
4
4
  import { createContextFromBindings, resolveCallSitePayloadCaptures, applyRowAccess, checkMutationAccess, accessDeniedMessage } from './chunk-ZJ62H3ES.js';
5
5
  import './chunk-T4VDAB4C.js';
@@ -2635,6 +2635,7 @@ var HttpLoader = class {
2635
2635
  success: true,
2636
2636
  data: {
2637
2637
  orbital,
2638
+ orbitals: schema.orbitals,
2638
2639
  sourcePath: schemaResult.data.sourcePath,
2639
2640
  importPath
2640
2641
  }
@@ -2844,7 +2845,7 @@ async function getExternalLoaderModule() {
2844
2845
  return null;
2845
2846
  }
2846
2847
  try {
2847
- externalLoaderModule = await import('./external-loader-WYQAS3BS.js');
2848
+ externalLoaderModule = await import('./external-loader-YUUADLAP.js');
2848
2849
  return externalLoaderModule;
2849
2850
  } catch {
2850
2851
  return null;
@@ -3017,6 +3018,7 @@ var UnifiedLoader = class {
3017
3018
  success: true,
3018
3019
  data: {
3019
3020
  orbital: found,
3021
+ orbitals: schema.orbitals,
3020
3022
  sourcePath: schemaResult.data.sourcePath,
3021
3023
  importPath
3022
3024
  }
@@ -3032,6 +3034,7 @@ var UnifiedLoader = class {
3032
3034
  success: true,
3033
3035
  data: {
3034
3036
  orbital: schema.orbitals[0],
3037
+ orbitals: schema.orbitals,
3035
3038
  sourcePath: schemaResult.data.sourcePath,
3036
3039
  importPath
3037
3040
  }
@@ -3400,10 +3403,13 @@ function buildIdIndex(orbital, orbitals) {
3400
3403
  const idIndex = /* @__PURE__ */ new Map();
3401
3404
  indexOrbitalNodes(orbital, idIndex);
3402
3405
  for (const imported of orbitals.values()) {
3403
- indexOrbitalNodes(imported.orbital, idIndex);
3406
+ for (const o of importedOrbitals(imported)) indexOrbitalNodes(o, idIndex);
3404
3407
  }
3405
3408
  return idIndex;
3406
3409
  }
3410
+ function importedOrbitals(imported) {
3411
+ return imported.orbitals?.length ? imported.orbitals : [imported.orbital];
3412
+ }
3407
3413
  function renameEventsInRenderUiConfig(node, rename) {
3408
3414
  if (node === null || node === void 0) return node;
3409
3415
  if (Array.isArray(node)) {
@@ -3821,7 +3827,7 @@ var ReferenceResolver = class {
3821
3827
  if (this.loader || this.loaderInitialized) return;
3822
3828
  this.loaderInitialized = true;
3823
3829
  try {
3824
- const { ExternalOrbitalLoader } = await import('./external-loader-WYQAS3BS.js');
3830
+ const { ExternalOrbitalLoader } = await import('./external-loader-YUUADLAP.js');
3825
3831
  this.loader = new ExternalOrbitalLoader(this.options);
3826
3832
  } catch {
3827
3833
  }
@@ -3929,6 +3935,7 @@ var ReferenceResolver = class {
3929
3935
  alias: use.as,
3930
3936
  from: use.from,
3931
3937
  orbital: loadResult.data.orbital,
3938
+ orbitals: loadResult.data.orbitals ?? [loadResult.data.orbital],
3932
3939
  sourcePath: loadResult.data.sourcePath
3933
3940
  });
3934
3941
  }
@@ -4133,7 +4140,11 @@ var ReferenceResolver = class {
4133
4140
  visited.add(pullKey);
4134
4141
  const imported = imports.orbitals.get(alias);
4135
4142
  if (!imported) continue;
4136
- const atomEntry = findTraitEntryInOrbital(imported.orbital, sibling);
4143
+ let atomEntry = null;
4144
+ for (const o of importedOrbitals(imported)) {
4145
+ atomEntry = findTraitEntryInOrbital(o, sibling);
4146
+ if (atomEntry) break;
4147
+ }
4137
4148
  if (!atomEntry) continue;
4138
4149
  let atomTrait;
4139
4150
  if ("stateMachine" in atomEntry) {
@@ -4282,12 +4293,17 @@ var ReferenceResolver = class {
4282
4293
  ]
4283
4294
  };
4284
4295
  }
4285
- const trait = this.findTraitInOrbital(imported.orbital, parsed.traitName, refId, imports.idIndex);
4296
+ let trait = null;
4297
+ for (const o of importedOrbitals(imported)) {
4298
+ trait = this.findTraitInOrbital(o, parsed.traitName, refId, imports.idIndex);
4299
+ if (trait) break;
4300
+ }
4286
4301
  if (!trait) {
4302
+ const available = importedOrbitals(imported).flatMap((o) => this.listTraitsInOrbital(o));
4287
4303
  return {
4288
4304
  success: false,
4289
4305
  errors: [
4290
- `Trait "${parsed.traitName}" not found in imported orbital "${parsed.alias}". Available traits: ${this.listTraitsInOrbital(imported.orbital).join(", ") || "none"}`
4306
+ `Trait "${parsed.traitName}" not found in imported orbital "${parsed.alias}". Available traits: ${available.join(", ") || "none"}`
4291
4307
  ]
4292
4308
  };
4293
4309
  }
@@ -4456,12 +4472,17 @@ var ReferenceResolver = class {
4456
4472
  ]
4457
4473
  };
4458
4474
  }
4459
- const page = this.findPageInOrbital(imported.orbital, parsed.pageName, refId, imports.idIndex);
4475
+ let page = null;
4476
+ for (const o of importedOrbitals(imported)) {
4477
+ page = this.findPageInOrbital(o, parsed.pageName, refId, imports.idIndex);
4478
+ if (page) break;
4479
+ }
4460
4480
  if (!page) {
4481
+ const available = importedOrbitals(imported).flatMap((o) => this.listPagesInOrbital(o));
4461
4482
  return {
4462
4483
  success: false,
4463
4484
  errors: [
4464
- `Page "${parsed.pageName}" not found in imported orbital "${parsed.alias}". Available pages: ${this.listPagesInOrbital(imported.orbital).join(", ") || "none"}`
4485
+ `Page "${parsed.pageName}" not found in imported orbital "${parsed.alias}". Available pages: ${available.join(", ") || "none"}`
4465
4486
  ]
4466
4487
  };
4467
4488
  }
@@ -154,6 +154,7 @@ var ExternalOrbitalLoader = class {
154
154
  success: true,
155
155
  data: {
156
156
  orbital,
157
+ orbitals: schema.orbitals,
157
158
  sourcePath: schemaResult.data.sourcePath,
158
159
  importPath
159
160
  }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { g as RuntimePatternValue, B as BindingContext, f as EvaluationContextExtensions, P as PatternProps, E as EffectHandlers, h as EffectContext, i as ExecutionEnvironment, j as EffectResult, S as ServiceCallContext, T as TraitDefinition } from './types-BaD_ox7e.js';
2
2
  export { k as BrowserFileMeta, l as BrowserFilePickerOptions, m as BrowserGeolocationOptions, n as BrowserGeolocationPosition, C as ConfigContext, o as Effect, a as EventListener, H as HANDLER_MANIFEST, I as IEventBus, b as RuntimeConfig, R as RuntimeEvent, d as TraitState, c as TransitionObserver, e as TransitionResult, U as Unsubscribe } from './types-BaD_ox7e.js';
3
- import { U as UnifiedLoaderOptions, S as SchemaLoader, I as ImportChainLike, L as LoadResult, a as LoadedSchema, b as LoadedOrbital, P as PersistenceAdapter } from './OrbitalServerRuntime-Cvw0CUfG.js';
4
- export { E as EntitySharingMap, c as EventBus, d as EventNamespaceMap, e as InMemoryPersistence, O as OrbitalEventRequest, f as OrbitalEventResponse, g as OrbitalServerRuntimeConfig, h as PreprocessOptions, i as PreprocessResult, j as PreprocessedSchema, k as ProcessEventOptions, R as RegisteredOrbital, l as RuntimeOrbital, m as RuntimeOrbitalSchema, n as RuntimeTrait, o as StateMachineManager, p as collectDeclaredConfigDefaults, q as collectDeclaredEntityDefaults, r as createInitialTraitState, s as findInitialState, t as findTransition, u as getIsolatedCollectionName, v as getNamespacedEvent, w as isBrowser, x as isElectron, y as isNamespacedEvent, z as isNode, A as normalizeEventKey, B as parseNamespacedEvent, C as preprocessSchema, D as processEvent } from './OrbitalServerRuntime-Cvw0CUfG.js';
3
+ import { U as UnifiedLoaderOptions, S as SchemaLoader, I as ImportChainLike, L as LoadResult, a as LoadedSchema, b as LoadedOrbital, P as PersistenceAdapter } from './OrbitalServerRuntime-CZHHxo_A.js';
4
+ export { E as EntitySharingMap, c as EventBus, d as EventNamespaceMap, e as InMemoryPersistence, O as OrbitalEventRequest, f as OrbitalEventResponse, g as OrbitalServerRuntimeConfig, h as PreprocessOptions, i as PreprocessResult, j as PreprocessedSchema, k as ProcessEventOptions, R as RegisteredOrbital, l as RuntimeOrbital, m as RuntimeOrbitalSchema, n as RuntimeTrait, o as StateMachineManager, p as collectDeclaredConfigDefaults, q as collectDeclaredEntityDefaults, r as createInitialTraitState, s as findInitialState, t as findTransition, u as getIsolatedCollectionName, v as getNamespacedEvent, w as isBrowser, x as isElectron, y as isNamespacedEvent, z as isNode, A as normalizeEventKey, B as parseNamespacedEvent, C as preprocessSchema, D as processEvent } from './OrbitalServerRuntime-CZHHxo_A.js';
5
5
  import { EvaluationContext, SExpressionEvaluator } from '@almadar/evaluator';
6
6
  export { EvaluationContext, createMinimalContext } from '@almadar/evaluator';
7
7
  import { RenderBindingMarker, SExpr, RuntimeValue, TraitConfigObject, EventPayload, PatternConfig, EntityId, EntityField, EntityRow, EntityPersistence, ServiceParams, EntityAccessPolicies, PayloadField, OrbitalDefinition, OrbitalSchema } from '@almadar/core';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import { EffectExecutor } from './chunk-5IFHQDW2.js';
2
- export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, StateMachineManager, TickScheduler, buildEmitsFromTraits, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, createInitialTraitState, createMockPersistence, createTestExecutor, createTickScheduler, createUnifiedLoader, findInitialState, findTransition, formatPayloadValidationError, getIsolatedCollectionName, getNamespacedEvent, isBrowser, isElectron, isNamespacedEvent, isNode, isValidDurationString, normalizeCallSiteConfigToValues, normalizeEventKey, parseDurationString, parseNamespacedEvent, preprocessSchema, processEvent, validateEventPayload, validatePayloadShapes } from './chunk-5IFHQDW2.js';
1
+ import { EffectExecutor } from './chunk-QY5EUGR2.js';
2
+ export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, StateMachineManager, TickScheduler, buildEmitsFromTraits, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, createInitialTraitState, createMockPersistence, createTestExecutor, createTickScheduler, createUnifiedLoader, findInitialState, findTransition, formatPayloadValidationError, getIsolatedCollectionName, getNamespacedEvent, isBrowser, isElectron, isNamespacedEvent, isNode, isValidDurationString, normalizeCallSiteConfigToValues, normalizeEventKey, parseDurationString, parseNamespacedEvent, preprocessSchema, processEvent, validateEventPayload, validatePayloadShapes } from './chunk-QY5EUGR2.js';
3
3
  export { cronMatches, cronMinuteKey, isValidCronExpression, parseCron, parseCronField } from './chunk-OU3ITB5S.js';
4
4
  import { createContextFromBindings, applyRowAccess, checkMutationAccess, accessDeniedMessage } from './chunk-ZJ62H3ES.js';
5
5
  export { CALLSITE_PAYLOAD_PREFIX, applyRowAccess, checkMutationAccess, containsBindings, createContextFromBindings, createMinimalContext, deferEntityBindings, extractBindings, interpolateProps, interpolateValue, resolveCallSitePayloadCaptures } from './chunk-ZJ62H3ES.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/runtime",
3
- "version": "6.60.0",
3
+ "version": "6.61.0",
4
4
  "description": "Interpreted runtime for Almadar orbital applications (OrbitalServerRuntime)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -57,11 +57,11 @@
57
57
  "access": "public"
58
58
  },
59
59
  "dependencies": {
60
- "@almadar/core": "^10.69.0",
60
+ "@almadar/core": "^10.70.0",
61
61
  "@almadar/evaluator": "^2.42.0",
62
62
  "@almadar/logger": "^1.11.0",
63
63
  "@almadar/server": "^2.38.0",
64
- "@almadar/std": "^16.185.0"
64
+ "@almadar/std": "^16.186.0"
65
65
  },
66
66
  "peerDependencies": {
67
67
  "express": "^5.0.0"