@almadar/core 2.14.3 → 4.0.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/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { c as OrbitalSchema, S as State, O as OrbitalDefinition } from './schema-BFnZrBhm.js';
2
- export { A as AGENT_DOMAIN_CATEGORIES, f as ALLOWED_CUSTOM_COMPONENTS, g as AgentDomainCategory, h as AgentDomainCategorySchema, i as AgentEffect, j as AllowedCustomComponent, k as AnimationDef, l as AnimationDefInput, m as AnimationDefSchema, n as AssetMap, o as AssetMapInput, p as AssetMapSchema, q as AssetMapping, r as AssetMappingInput, s as AssetMappingSchema, t as AtomicEffect, C as CORE_BINDINGS, u as CallServiceConfig, v as ComputedEventContract, w as ComputedEventContractSchema, x as ComputedEventListener, y as ComputedEventListenerSchema, z as CoreBinding, B as CustomPatternDefinition, D as CustomPatternDefinitionInput, F as CustomPatternDefinitionSchema, G as CustomPatternMap, H as CustomPatternMapInput, I as CustomPatternMapSchema, J as DerefEffect, K as DesignPreferences, L as DesignPreferencesInput, M as DesignPreferencesSchema, N as DesignTokens, Q as DesignTokensInput, R as DesignTokensSchema, U as DomainCategory, V as DomainCategorySchema, W as DomainContext, X as DomainContextInput, Y as DomainContextSchema, Z as DomainVocabulary, _ as DomainVocabularySchema, $ as ENTITY_ROLES, a0 as Effect, a1 as EffectInput, a2 as EffectSchema, e as Entity, a3 as EntityData, E as EntityField, a4 as EntityFieldInput, a5 as EntityFieldSchema, a as EntityPersistence, a6 as EntityPersistenceSchema, a7 as EntityRef, a8 as EntityRefSchema, a9 as EntityRefStringSchema, aa as EntityRole, ab as EntityRoleSchema, b as EntityRow, ac as EntitySchema, ad as EntitySemanticRole, ae as EntitySemanticRoleSchema, af as EvalContext, ag as Event, ah as EventInput, ai as EventListener, aj as EventListenerSchema, ak as EventPayload, al as EventPayloadField, am as EventPayloadFieldSchema, an as EventSchema, ao as EventScope, ap as EventScopeSchema, aq as EventSemanticRole, ar as EventSemanticRoleSchema, as as EventSource, at as EventSourceSchema, au as Expression, av as ExpressionInput, aw as ExpressionSchema, ax as Field, ay as FieldFormat, az as FieldFormatSchema, aA as FieldSchema, aB as FieldType, aC as FieldTypeSchema, aD as FieldValue, aE as FullOrbitalUnit, aF as GAME_TYPES, aG as GameSubCategory, aH as GameSubCategorySchema, aI as GameType, aJ as GameTypeSchema, aK as Guard, aL as GuardInput, aM as GuardSchema, aN as LogMeta, aO as McpServiceDef, aP as McpServiceDefSchema, aQ as NodeClassification, aR as NodeClassificationSchema, aE as Orbital, aS as OrbitalConfig, aT as OrbitalConfigInput, aU as OrbitalConfigSchema, aV as OrbitalDefinitionSchema, aW as OrbitalEntity, aX as OrbitalEntityInput, aY as OrbitalEntitySchema, aZ as OrbitalInput, a_ as OrbitalPage, a$ as OrbitalPageInput, b0 as OrbitalPageSchema, b1 as OrbitalPageStrictInput, b2 as OrbitalPageStrictSchema, b3 as OrbitalSchemaInput, b4 as OrbitalSchemaSchema, b5 as OrbitalTraitRef, b6 as OrbitalTraitRefSchema, b7 as OrbitalUnit, b8 as OrbitalUnitSchema, b9 as OrbitalZodSchema, P as Page, ba as PageRef, bb as PageRefObject, bc as PageRefObjectSchema, bd as PageRefSchema, be as PageRefStringSchema, bf as PageSchema, bg as PageTraitRef, bh as PageTraitRefSchema, bi as ParsedBinding, bj as PayloadField, bk as PayloadFieldSchema, bl as PresentationType, bm as RefEffect, bn as RelatedLink, bo as RelatedLinkSchema, bp as RelationConfig, bq as RelationConfigSchema, br as RenderUIConfig, bs as RenderUINode, bt as RequiredField, bu as RequiredFieldSchema, bv as ResolvedAsset, bw as ResolvedAssetInput, bx as ResolvedAssetSchema, by as ResolvedPatternProps, bz as RestAuthConfig, bA as RestAuthConfigSchema, bB as RestServiceDef, bC as RestServiceDefSchema, bD as SERVICE_TYPES, bE as SExpr, bF as SExprAtom, bG as SExprAtomSchema, bH as SExprInput, bI as SExprSchema, bJ as SemanticAssetRef, bK as SemanticAssetRefInput, bL as SemanticAssetRefSchema, bM as ServiceDefinition, bN as ServiceDefinitionSchema, bO as ServiceParams, bP as ServiceRef, bQ as ServiceRefSchema, bR as ServiceRefStringSchema, bS as ServiceType, bT as ServiceTypeSchema, bU as SocketEvents, bV as SocketEventsSchema, bW as SocketServiceDef, bX as SocketServiceDefSchema, bY as StateInput, bZ as StateMachine, b_ as StateMachineInput, b$ as StateMachineSchema, c0 as StateSchema, c1 as StateSemanticRole, c2 as StateSemanticRoleSchema, c3 as SuggestedGuard, c4 as SuggestedGuardSchema, c5 as SwapEffect, c6 as ThemeDefinition, c7 as ThemeDefinitionSchema, c8 as ThemeRef, c9 as ThemeRefSchema, ca as ThemeRefStringSchema, cb as ThemeTokens, cc as ThemeTokensSchema, cd as ThemeVariant, ce as ThemeVariantSchema, d as Trait, cf as TraitCategory, cg as TraitCategorySchema, ch as TraitDataEntity, ci as TraitDataEntitySchema, cj as TraitEntityField, ck as TraitEntityFieldSchema, T as TraitEventContract, cl as TraitEventContractSchema, cm as TraitEventListener, cn as TraitEventListenerSchema, co as TraitInput, cp as TraitRef, cq as TraitRefSchema, cr as TraitReference, cs as TraitReferenceInput, ct as TraitReferenceSchema, cu as TraitSchema, cv as TraitTick, cw as TraitTickSchema, cx as TraitUIBinding, cy as Transition, cz as TransitionInput, cA as TransitionSchema, cB as UISlot, cC as UISlotSchema, cD as UI_SLOTS, cE as UXHints, cF as UXHintsSchema, cG as UseDeclaration, cH as UseDeclarationSchema, cI as UserPersona, cJ as UserPersonaInput, cK as UserPersonaSchema, cL as VISUAL_STYLES, cM as ViewType, cN as ViewTypeSchema, cO as VisualStyle, cP as VisualStyleSchema, cQ as WatchEffect, cR as WatchOptions, cS as atomic, cT as callService, cU as collectBindings, cV as createAssetKey, cW as deref, cX as deriveCollection, cY as despawn, cZ as doEffects, c_ as emit, c$ as findService, d0 as getArgs, d1 as getDefaultAnimationsForRole, d2 as getOperator, d3 as getServiceNames, d4 as getTraitConfig, d5 as getTraitName, d6 as hasService, d7 as isBinding, d8 as isCircuitEvent, d9 as isEffect, da as isEntityReference, db as isImportedTraitRef, dc as isInlineTrait, dd as isMcpService, de as isOrbitalDefinition, df as isPageReference, dg as isPageReferenceObject, dh as isPageReferenceString, di as isRestService, dj as isRuntimeEntity, dk as isSExpr, dl as isSExprAtom, dm as isSExprCall, dn as isSExprEffect, dp as isServiceReference, dq as isSingletonEntity, dr as isSocketService, ds as isThemeReference, dt as isValidBinding, du as navigate, dv as normalizeTraitRef, dw as notify, dx as parseAssetKey, dy as parseBinding, dz as parseEntityRef, dA as parseImportedTraitRef, dB as parseOrbitalSchema, dC as parsePageRef, dD as parseServiceRef, dE as persist, dF as ref, dG as renderUI, dH as safeParseOrbitalSchema, dI as set, dJ as sexpr, dK as spawn, dL as swap, dM as validateAssetAnimations, dN as walkSExpr, dO as watch } from './schema-BFnZrBhm.js';
1
+ import { c as OrbitalSchema, S as State, O as OrbitalDefinition } from './schema-CDA_dJjH.js';
2
+ export { A as AGENT_DOMAIN_CATEGORIES, f as ALLOWED_CUSTOM_COMPONENTS, g as AgentDomainCategory, h as AgentDomainCategorySchema, i as AgentEffect, j as AllowedCustomComponent, k as AnimationDef, l as AnimationDefInput, m as AnimationDefSchema, n as AssetMap, o as AssetMapInput, p as AssetMapSchema, q as AssetMapping, r as AssetMappingInput, s as AssetMappingSchema, t as AtomicEffect, C as CORE_BINDINGS, u as CallServiceConfig, v as ComputedEventContract, w as ComputedEventContractSchema, x as ComputedEventListener, y as ComputedEventListenerSchema, z as CoreBinding, B as CustomPatternDefinition, D as CustomPatternDefinitionInput, F as CustomPatternDefinitionSchema, G as CustomPatternMap, H as CustomPatternMapInput, I as CustomPatternMapSchema, J as DerefEffect, K as DesignPreferences, L as DesignPreferencesInput, M as DesignPreferencesSchema, N as DesignTokens, Q as DesignTokensInput, R as DesignTokensSchema, U as DomainCategory, V as DomainCategorySchema, W as DomainContext, X as DomainContextInput, Y as DomainContextSchema, Z as DomainVocabulary, _ as DomainVocabularySchema, $ as ENTITY_ROLES, a0 as Effect, a1 as EffectInput, a2 as EffectSchema, e as Entity, a3 as EntityCall, a4 as EntityCallSchema, a5 as EntityData, E as EntityField, a6 as EntityFieldInput, a7 as EntityFieldSchema, a as EntityPersistence, a8 as EntityPersistenceSchema, a9 as EntityRef, aa as EntityRefSchema, ab as EntityRefStringSchema, ac as EntityRole, ad as EntityRoleSchema, b as EntityRow, ae as EntitySchema, af as EntitySemanticRole, ag as EntitySemanticRoleSchema, ah as EvalContext, ai as Event, aj as EventInput, ak as EventListener, al as EventListenerSchema, am as EventPayload, an as EventPayloadField, ao as EventPayloadFieldSchema, ap as EventSchema, aq as EventScope, ar as EventScopeSchema, as as EventSemanticRole, at as EventSemanticRoleSchema, au as EventSource, av as EventSourceSchema, aw as Expression, ax as ExpressionInput, ay as ExpressionSchema, az as Field, aA as FieldFormat, aB as FieldFormatSchema, aC as FieldSchema, aD as FieldType, aE as FieldTypeSchema, aF as FieldValue, aG as FullOrbitalUnit, aH as GAME_TYPES, aI as GameSubCategory, aJ as GameSubCategorySchema, aK as GameType, aL as GameTypeSchema, aM as Guard, aN as GuardInput, aO as GuardSchema, aP as LogMeta, aQ as McpServiceDef, aR as McpServiceDefSchema, aS as NodeClassification, aT as NodeClassificationSchema, aG as Orbital, aU as OrbitalConfig, aV as OrbitalConfigInput, aW as OrbitalConfigSchema, aX as OrbitalDefinitionSchema, aY as OrbitalEntity, aZ as OrbitalEntityInput, a_ as OrbitalEntitySchema, a$ as OrbitalInput, b0 as OrbitalPage, b1 as OrbitalPageInput, b2 as OrbitalPageSchema, b3 as OrbitalPageStrictInput, b4 as OrbitalPageStrictSchema, b5 as OrbitalSchemaInput, b6 as OrbitalSchemaSchema, b7 as OrbitalTraitRef, b8 as OrbitalTraitRefSchema, b9 as OrbitalUnit, ba as OrbitalUnitSchema, bb as OrbitalZodSchema, P as Page, bc as PageRef, bd as PageRefObject, be as PageRefObjectSchema, bf as PageRefSchema, bg as PageRefStringSchema, bh as PageSchema, bi as PageTraitRef, bj as PageTraitRefSchema, bk as ParsedBinding, bl as PayloadField, bm as PayloadFieldSchema, bn as PresentationType, bo as RefEffect, bp as RelatedLink, bq as RelatedLinkSchema, br as RelationConfig, bs as RelationConfigSchema, bt as RenderUIConfig, bu as RenderUINode, bv as RequiredField, bw as RequiredFieldSchema, bx as ResolvedAsset, by as ResolvedAssetInput, bz as ResolvedAssetSchema, bA as ResolvedPatternProps, bB as RestAuthConfig, bC as RestAuthConfigSchema, bD as RestServiceDef, bE as RestServiceDefSchema, bF as SERVICE_TYPES, bG as SExpr, bH as SExprAtom, bI as SExprAtomSchema, bJ as SExprInput, bK as SExprSchema, bL as SemanticAssetRef, bM as SemanticAssetRefInput, bN as SemanticAssetRefSchema, bO as ServiceDefinition, bP as ServiceDefinitionSchema, bQ as ServiceParams, bR as ServiceRef, bS as ServiceRefObject, bT as ServiceRefObjectSchema, bU as ServiceRefSchema, bV as ServiceRefStringSchema, bW as ServiceType, bX as ServiceTypeSchema, bY as SocketEvents, bZ as SocketEventsSchema, b_ as SocketServiceDef, b$ as SocketServiceDefSchema, c0 as StateInput, c1 as StateMachine, c2 as StateMachineInput, c3 as StateMachineSchema, c4 as StateSchema, c5 as StateSemanticRole, c6 as StateSemanticRoleSchema, c7 as SuggestedGuard, c8 as SuggestedGuardSchema, c9 as SwapEffect, ca as ThemeDefinition, cb as ThemeDefinitionSchema, cc as ThemeRef, cd as ThemeRefSchema, ce as ThemeRefStringSchema, cf as ThemeTokens, cg as ThemeTokensSchema, ch as ThemeVariant, ci as ThemeVariantSchema, d as Trait, cj as TraitCategory, ck as TraitCategorySchema, cl as TraitDataEntity, cm as TraitDataEntitySchema, cn as TraitEntityField, co as TraitEntityFieldSchema, T as TraitEventContract, cp as TraitEventContractSchema, cq as TraitEventListener, cr as TraitEventListenerSchema, cs as TraitInput, ct as TraitRef, cu as TraitRefSchema, cv as TraitReference, cw as TraitReferenceInput, cx as TraitReferenceSchema, cy as TraitSchema, cz as TraitTick, cA as TraitTickSchema, cB as TraitUIBinding, cC as Transition, cD as TransitionInput, cE as TransitionSchema, cF as UISlot, cG as UISlotSchema, cH as UI_SLOTS, cI as UXHints, cJ as UXHintsSchema, cK as UseDeclaration, cL as UseDeclarationSchema, cM as UserPersona, cN as UserPersonaInput, cO as UserPersonaSchema, cP as VISUAL_STYLES, cQ as ViewType, cR as ViewTypeSchema, cS as VisualStyle, cT as VisualStyleSchema, cU as WatchEffect, cV as WatchOptions, cW as atomic, cX as callService, cY as collectBindings, cZ as createAssetKey, c_ as deref, c$ as deriveCollection, d0 as despawn, d1 as doEffects, d2 as emit, d3 as findService, d4 as getArgs, d5 as getDefaultAnimationsForRole, d6 as getOperator, d7 as getServiceNames, d8 as getTraitConfig, d9 as getTraitName, da as hasService, db as isBinding, dc as isCircuitEvent, dd as isEffect, de as isEntityCall, df as isEntityReference, dg as isEntityReferenceAny, dh as isImportedTraitRef, di as isInlineTrait, dj as isMcpService, dk as isOrbitalDefinition, dl as isPageReference, dm as isPageReferenceObject, dn as isPageReferenceString, dp as isRestService, dq as isRuntimeEntity, dr as isSExpr, ds as isSExprAtom, dt as isSExprCall, du as isSExprEffect, dv as isServiceReference, dw as isServiceReferenceObject, dx as isSingletonEntity, dy as isSocketService, dz as isThemeReference, dA as isValidBinding, dB as navigate, dC as normalizeTraitRef, dD as notify, dE as parseAssetKey, dF as parseBinding, dG as parseEntityRef, dH as parseImportedTraitRef, dI as parseOrbitalSchema, dJ as parsePageRef, dK as parseServiceRef, dL as persist, dM as ref, dN as renderUI, dO as safeParseOrbitalSchema, dP as set, dQ as sexpr, dR as spawn, dS as swap, dT as validateAssetAnimations, dU as walkSExpr, dV as watch } from './schema-CDA_dJjH.js';
3
3
  import { ResolvedIR, ResolvedEntity, ResolvedPage, ResolvedTrait, SchemaChange, CategorizedRemovals, PageContentReduction, SemanticSchemaChange } from './types/index.js';
4
4
  export { AgentCodeSearchResult, AgentCompactResult, AgentCompactStrategy, AgentContext, AgentGenerateOptions, AgentMemoryCategory, AgentMemoryRecord, AppSummary, BINDING_CONTEXT_RULES, BINDING_DOCS, BindingContext, BindingSchema, ChangeAuthor, ChangeSetDocument, ChangeSummary, CreateFlow, DEFAULT_INTERACTION_MODELS, DeleteFlow, EditFlow, GitHubLink, HistoryMeta, InteractionModel, InteractionModelInput, InteractionModelSchema, LazyService, ListInteraction, OperatorName, PatternTypeSchema, PersistActionName, ResolvedEntityBinding, ResolvedField, ResolvedNavigation, ResolvedPattern, ResolvedSection, ResolvedSectionEvent, ResolvedTraitBinding, ResolvedTraitDataEntity, ResolvedTraitEvent, ResolvedTraitGuard, ResolvedTraitListener, ResolvedTraitState, ResolvedTraitTick, ResolvedTraitTransition, ResolvedTraitUIBinding, SaveOptions, SaveResult, SemanticChangeKind, ServiceAction, ServiceActionName, ServiceContract, ServiceEvents, SnapshotDocument, StatsView, StoreContract, StoreFilter, StoreFilterOp, TransitionFrom, ValidationDocument, ValidationIssue, ValidationMeta, ValidationResults, ViewFlow, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, getAllOperators, getAllPatternTypes, getBindingExamples, getInteractionModelForDomain, inferTsType, isResolvedIR, validateBindingInContext } from './types/index.js';
5
5
  export { ASTNode, ComparisonCondition, ComparisonOperator, DomainBehavior, DomainChunk, DomainDocument, DomainEffect, DomainEntity, DomainField, DomainFieldType, DomainGuard, DomainPage, DomainPageAction, DomainPageSection, DomainRelationship, DomainTick, DomainToSchemaResult, DomainTransition, EFFECT_REGISTRY, EffectMapping, EffectType, FIELD_TYPE_REGISTRY, FieldCheckCondition, FieldReference, FieldTypeMapping, GUARD_REGISTRY, GuardCondition, GuardMapping, KEYWORDS, Lexer, LogicalCondition, LogicalOperator, MULTI_WORD_KEYWORDS, MappingStore, MergeResult, ParseError, ParseResult, RelationshipType, SchemaToDomainResult, SectionMapping, SourceLocation, SourceRange, Token, TokenType, UserCheckCondition, applySectionUpdate, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createMappingStore, deleteSection, detectChanges, domainKeywordToSchemaType, findMapping, findMappingByPath, findMappingsByType, formatBehaviorToDomain, formatBehaviorToSchema, formatDomainGuardToSchema, formatEntityToDomain, formatEntityToSchema, formatGuardConditionToDomain, formatGuardToDomain, formatGuardToSchema, formatMergeSummary, formatPageToDomain, formatPageToSchema, formatSchemaEntityToDomain, formatSchemaGuardToDomain, formatSchemaPageToDomain, formatSchemaTraitToDomain, generateDomainLanguageReference, generateSectionId, getEffectMapping, getFieldTypeMapping, getGuardMapping, getRegisteredEffects, getRegisteredFieldTypes, getRegisteredGuards, getRegistryStats, getSchemaPath, hasSchemaChanged, isEffectRegistered, isFieldTypeRegistered, isGuardRegistered, mergeDomainChunks, parseBehavior, parseDomainEffect, parseDomainEffects, parseDomainGuard, parseEntity, parseGuard, parsePage, parseSectionId, removeMapping, resolveConflict, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateDomainChunk } from './domain-language/index.js';
6
- export { C as ComposeBehaviorsInput, a as ComposeBehaviorsResult, E as EventWiringEntry, L as LayoutStrategy, b as applyEventWiring, c as composeBehaviors, d as detectLayoutStrategy } from './compose-behaviors-CQC8hsaL.js';
6
+ export { C as ComposeBehaviorsInput, a as ComposeBehaviorsResult, E as EventWiringEntry, L as LayoutStrategy, b as applyEventWiring, c as composeBehaviors, d as detectLayoutStrategy } from './compose-behaviors-DQTTCmR2.js';
7
7
  export { BFSNode, BFSPathNode, EdgeWalkTransition, GraphTransition, GuardPayload, ReplayStep, ReplayTransition, StateEdge, WalkStep, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, extractPayloadFieldRef, walkStatePairs } from './state-machine/index.js';
8
8
  export { CATEGORIES, CategoryMeta, OPERATORS, OPERATORS_SCHEMA, OPERATOR_NAMES, OperatorCategory, OperatorMeta, OperatorStats, OperatorsSchema, TargetPlatform, getOperatorMeta, getOperatorStats, getOperatorsByCategory, getOperatorsForTarget, isEffectOperator, isGuardOperator, isKnownOperator, validateOperatorArity } from '@almadar/operators';
9
9
  export { PATTERN_TYPES, PatternConfig, PatternType, isValidPatternType } from '@almadar/patterns';
package/dist/index.js CHANGED
@@ -544,9 +544,41 @@ var RequiredFieldSchema = z.object({
544
544
  var TraitReferenceSchema = z.object({
545
545
  ref: z.string().min(1),
546
546
  linkedEntity: z.string().optional(),
547
+ name: z.string().optional(),
548
+ events: z.record(
549
+ z.string().min(1, "events key (atom event name) must be non-empty"),
550
+ z.string().min(1, "events value (caller event name) must be non-empty")
551
+ ).optional(),
547
552
  config: z.record(z.record(z.unknown())).optional(),
548
- appliesTo: z.array(z.string()).optional()
549
- });
553
+ appliesTo: z.array(z.string()).optional(),
554
+ // Phase F.7: zod accepts an array (the inliner validates element
555
+ // shape). The full ListenDefinition shape isn't recursively encoded
556
+ // here because TraitReference is the call-site form — listen entries
557
+ // pasted in are already-resolved structured definitions, not nested
558
+ // overrides.
559
+ listens: z.array(z.unknown()).optional(),
560
+ emitsScope: z.enum(["internal", "external"]).optional(),
561
+ // Phase F.8: per-transition effects override. The keys are event
562
+ // names (the transition triggers AFTER renames). Values are arrays
563
+ // of SExpression-shaped data; the inliner validates the SExpression
564
+ // shape during application, so the schema accepts loose `unknown[]`.
565
+ effects: z.record(
566
+ z.string().min(1, "effects override key (event name) must be non-empty"),
567
+ z.array(z.unknown())
568
+ ).optional()
569
+ }).refine(
570
+ (ref2) => {
571
+ if (!ref2.events) return true;
572
+ for (const [from, to] of Object.entries(ref2.events)) {
573
+ if (from.length === 0 || to.length === 0) return false;
574
+ }
575
+ return true;
576
+ },
577
+ {
578
+ message: 'TraitReference "events" entries must have non-empty atom and caller event names',
579
+ path: ["events"]
580
+ }
581
+ );
550
582
  var TraitSchema = z.object({
551
583
  name: z.string().min(1),
552
584
  description: z.string().optional(),
@@ -567,7 +599,15 @@ var TraitRefSchema = z.union([
567
599
  z.object({
568
600
  ref: z.string().min(1),
569
601
  config: z.record(z.unknown()).optional(),
570
- linkedEntity: z.string().optional()
602
+ linkedEntity: z.string().optional(),
603
+ name: z.string().optional(),
604
+ // Phase F.4: same non-empty refine as TraitReferenceSchema.events.
605
+ // Both schemas accept the same call-site argument shape, so the
606
+ // validators should agree.
607
+ events: z.record(
608
+ z.string().min(1, "events key (atom event name) must be non-empty"),
609
+ z.string().min(1, "events value (caller event name) must be non-empty")
610
+ ).optional()
571
611
  }),
572
612
  TraitSchema
573
613
  // Allow inline trait definitions
@@ -831,12 +871,24 @@ var ServiceDefinitionSchema = z.discriminatedUnion("type", [
831
871
  function isServiceReference(service) {
832
872
  return typeof service === "string";
833
873
  }
874
+ function isServiceReferenceObject(service) {
875
+ return typeof service === "object" && service !== null && "ref" in service && !("type" in service);
876
+ }
834
877
  var ServiceRefStringSchema = z.string().regex(
835
878
  /^[A-Z][a-zA-Z0-9]*\.services\.[a-zA-Z][a-zA-Z0-9]*$/,
836
879
  'Service reference must be in format "Alias.services.ServiceName" (e.g., "Weather.services.openweather")'
837
880
  );
881
+ var ServiceRefObjectSchema = z.object({
882
+ ref: ServiceRefStringSchema,
883
+ description: z.string().optional(),
884
+ baseUrl: z.string().url("baseUrl override must be a valid URL").optional(),
885
+ headers: z.record(z.string()).optional(),
886
+ url: z.string().url("url override must be a valid URL").optional(),
887
+ serverPath: z.string().optional()
888
+ });
838
889
  var ServiceRefSchema = z.union([
839
890
  ServiceDefinitionSchema,
891
+ ServiceRefObjectSchema,
840
892
  ServiceRefStringSchema
841
893
  ]);
842
894
  function parseServiceRef(ref2) {
@@ -876,11 +928,45 @@ var UseDeclarationSchema = z.object({
876
928
  function isEntityReference(entity) {
877
929
  return typeof entity === "string";
878
930
  }
931
+ function isEntityCall(entity) {
932
+ return typeof entity === "object" && entity !== null && "extends" in entity;
933
+ }
934
+ function isEntityReferenceAny(entity) {
935
+ return isEntityReference(entity) || isEntityCall(entity);
936
+ }
879
937
  var EntityRefStringSchema = z.string().regex(
880
938
  /^[A-Z][a-zA-Z0-9]*\.entity$/,
881
939
  'Entity reference must be in format "Alias.entity" (e.g., "Goblin.entity")'
882
940
  );
883
- var EntityRefSchema = z.union([EntitySchema, EntityRefStringSchema]);
941
+ var EntityCallSchema = z.object({
942
+ extends: z.string().regex(
943
+ /^[A-Z][a-zA-Z0-9]*\.entity$/,
944
+ 'EntityCall "extends" must be in format "Alias.entity"'
945
+ ),
946
+ name: z.string().optional(),
947
+ fields: z.array(EntityFieldSchema).optional(),
948
+ persistence: EntityPersistenceSchema.optional(),
949
+ collection: z.string().optional()
950
+ }).refine(
951
+ (call) => {
952
+ if (!call.fields) return true;
953
+ const seen = /* @__PURE__ */ new Set();
954
+ for (const field of call.fields) {
955
+ if (seen.has(field.name)) return false;
956
+ seen.add(field.name);
957
+ }
958
+ return true;
959
+ },
960
+ {
961
+ message: 'EntityCall "fields" override list must not contain duplicate field names',
962
+ path: ["fields"]
963
+ }
964
+ );
965
+ var EntityRefSchema = z.union([
966
+ EntitySchema,
967
+ EntityRefStringSchema,
968
+ EntityCallSchema
969
+ ]);
884
970
  function isPageReferenceString(page) {
885
971
  return typeof page === "string";
886
972
  }
@@ -896,7 +982,9 @@ var PageRefStringSchema = z.string().regex(
896
982
  );
897
983
  var PageRefObjectSchema = z.object({
898
984
  ref: PageRefStringSchema,
899
- path: z.string().startsWith("/").optional()
985
+ path: z.string().startsWith("/").optional(),
986
+ linkedEntity: z.string().optional(),
987
+ traits: z.array(TraitRefSchema).optional()
900
988
  });
901
989
  var PageRefSchema = z.union([
902
990
  PageSchema,
@@ -1857,6 +1945,15 @@ function summarizeOrbital(orbital) {
1857
1945
  let entity;
1858
1946
  if (isEntityReference(orbital.entity)) {
1859
1947
  entity = { name: orbital.entity, fields: [] };
1948
+ } else if (isEntityCall(orbital.entity)) {
1949
+ const call = orbital.entity;
1950
+ const name = call.name ?? parseEntityRef(call.extends)?.alias ?? call.extends;
1951
+ entity = {
1952
+ name,
1953
+ fields: call.fields ?? [],
1954
+ ...call.persistence ? { persistence: call.persistence } : {},
1955
+ ...call.collection ? { collection: call.collection } : {}
1956
+ };
1860
1957
  } else {
1861
1958
  entity = summarizeEntity(orbital.entity);
1862
1959
  }
@@ -6361,10 +6458,13 @@ function getEntityName(entity) {
6361
6458
  if (isEntityReference(entity)) {
6362
6459
  return entity.replace(".entity", "");
6363
6460
  }
6461
+ if (isEntityCall(entity)) {
6462
+ return entity.name ?? entity.extends.replace(".entity", "");
6463
+ }
6364
6464
  return entity.name;
6365
6465
  }
6366
6466
  function isInlineEntity(entity) {
6367
- return !isEntityReference(entity);
6467
+ return !isEntityReference(entity) && !isEntityCall(entity);
6368
6468
  }
6369
6469
  function isInlinePage(page) {
6370
6470
  return !isPageReferenceString(page) && !isPageReferenceObject(page);
@@ -6659,6 +6759,9 @@ function getEntityName2(entity) {
6659
6759
  if (isEntityReference(entity)) {
6660
6760
  return entity.replace(".entity", "");
6661
6761
  }
6762
+ if (isEntityCall(entity)) {
6763
+ return entity.name ?? entity.extends.replace(".entity", "");
6764
+ }
6662
6765
  return entity.name;
6663
6766
  }
6664
6767
  function getPageName(page) {
@@ -8412,6 +8515,6 @@ function buildPayloadForEdge(transition, guardCase) {
8412
8515
  return {};
8413
8516
  }
8414
8517
 
8415
- export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, AgentDomainCategorySchema, AnimationDefSchema, AssetMapSchema, AssetMappingSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BindingSchema, CORE_BINDINGS, ComputedEventContractSchema, ComputedEventListenerSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, EFFECT_REGISTRY, ENTITY_ROLES, EffectSchema, EntityFieldSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FIELD_TYPE_REGISTRY, FieldFormatSchema, FieldSchema, FieldTypeSchema, GAME_TYPES, GUARD_REGISTRY, GameSubCategorySchema, GameTypeSchema, GuardSchema, InteractionModelSchema, KEYWORDS, Lexer, MULTI_WORD_KEYWORDS, McpServiceDefSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PatternTypeSchema, PayloadFieldSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedAssetSchema, RestAuthConfigSchema, RestServiceDefSchema, SERVICE_TYPES, SExprAtomSchema, SExprSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SocketEventsSchema, SocketServiceDefSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SuggestedGuardSchema, ThemeDefinitionSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TokenType, TraitCategorySchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TransitionSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, applyEventWiring, applySectionUpdate, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, composeBehaviors, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createMappingStore, createResolvedField, createTypedEventBus, deleteSection, deref, deriveCollection, despawn, detectChanges, detectLayoutStrategy, detectPageContentReduction, diffSchemaSemantics, diffSchemas, doEffects, domainKeywordToSchemaType, emit, extractPayloadFieldRef, findMapping, findMappingByPath, findMappingsByType, findService, formatBehaviorToDomain, formatBehaviorToSchema, formatDomainGuardToSchema, formatEntityToDomain, formatEntityToSchema, formatGuardConditionToDomain, formatGuardToDomain, formatGuardToSchema, formatMergeSummary, formatPageToDomain, formatPageToSchema, formatSchemaEntityToDomain, formatSchemaGuardToDomain, formatSchemaPageToDomain, formatSchemaTraitToDomain, generateDomainLanguageReference, generateSectionId, getAllOperators, getAllPatternTypes, getArgs, getBindingExamples, getDefaultAnimationsForRole, getEffectMapping, getEntity, getFieldTypeMapping, getGuardMapping, getInteractionModelForDomain, getOperator, getPage, getPages, getRegisteredEffects, getRegisteredFieldTypes, getRegisteredGuards, getRegistryStats, getRemovals, getSchemaCacheStats, getSchemaPath, getServiceNames, getTrait, getTraitConfig, getTraitName, hasSchemaChanged, hasService, hasSignificantPageReduction, inferTsType, isBinding, isCircuitEvent, isDestructiveChange, isEffect, isEffectRegistered, isEntityReference, isFieldTypeRegistered, isGuardRegistered, isImportedTraitRef, isInlineTrait, isMcpService, isOrbitalDefinition, isPageReference, isPageReferenceObject, isPageReferenceString, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isServiceReference, isSingletonEntity, isSocketService, isThemeReference, isValidBinding, mergeDomainChunks, navigate, normalizeTraitRef, notify, parseAssetKey, parseBehavior, parseBinding, parseDomainEffect, parseDomainEffects, parseDomainGuard, parseEntity, parseEntityRef, parseGuard, parseImportedTraitRef, parseOrbitalSchema, parsePage, parsePageRef, parseSectionId, parseServiceRef, persist, ref, removeMapping, renderUI, requiresConfirmation, resolveConflict, safeParseOrbitalSchema, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaToIR, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, set, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateAssetAnimations, validateBindingInContext, validateDomainChunk, walkSExpr, walkStatePairs, watch };
8518
+ export { AGENT_DOMAIN_CATEGORIES, ALLOWED_CUSTOM_COMPONENTS, AgentDomainCategorySchema, AnimationDefSchema, AssetMapSchema, AssetMappingSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BindingSchema, CORE_BINDINGS, ComputedEventContractSchema, ComputedEventListenerSchema, CustomPatternDefinitionSchema, CustomPatternMapSchema, DEFAULT_INTERACTION_MODELS, DesignPreferencesSchema, DesignTokensSchema, DomainCategorySchema, DomainContextSchema, DomainVocabularySchema, EFFECT_REGISTRY, ENTITY_ROLES, EffectSchema, EntityCallSchema, EntityFieldSchema, EntityPersistenceSchema, EntityRefSchema, EntityRefStringSchema, EntityRoleSchema, EntitySchema, EntitySemanticRoleSchema, EventListenerSchema, EventPayloadFieldSchema, EventSchema, EventScopeSchema, EventSemanticRoleSchema, EventSourceSchema, ExpressionSchema, FIELD_TYPE_REGISTRY, FieldFormatSchema, FieldSchema, FieldTypeSchema, GAME_TYPES, GUARD_REGISTRY, GameSubCategorySchema, GameTypeSchema, GuardSchema, InteractionModelSchema, KEYWORDS, Lexer, MULTI_WORD_KEYWORDS, McpServiceDefSchema, NodeClassificationSchema, OrbitalConfigSchema, OrbitalDefinitionSchema, OrbitalEntitySchema, OrbitalPageSchema, OrbitalPageStrictSchema, OrbitalSchemaSchema, OrbitalTraitRefSchema, OrbitalUnitSchema, OrbitalSchema as OrbitalZodSchema, PageRefObjectSchema, PageRefSchema, PageRefStringSchema, PageSchema, PageTraitRefSchema, PatternTypeSchema, PayloadFieldSchema, RelatedLinkSchema, RelationConfigSchema, RequiredFieldSchema, ResolvedAssetSchema, RestAuthConfigSchema, RestServiceDefSchema, SERVICE_TYPES, SExprAtomSchema, SExprSchema, SemanticAssetRefSchema, ServiceDefinitionSchema, ServiceRefObjectSchema, ServiceRefSchema, ServiceRefStringSchema, ServiceTypeSchema, SocketEventsSchema, SocketServiceDefSchema, StateMachineSchema, StateSchema, StateSemanticRoleSchema, SuggestedGuardSchema, ThemeDefinitionSchema, ThemeRefSchema, ThemeRefStringSchema, ThemeTokensSchema, ThemeVariantSchema, TokenType, TraitCategorySchema, TraitDataEntitySchema, TraitEntityFieldSchema, TraitEventContractSchema, TraitEventListenerSchema, TraitRefSchema, TraitReferenceSchema, TraitSchema, TraitTickSchema, TransitionSchema, UISlotSchema, UI_SLOTS, UXHintsSchema, UseDeclarationSchema, UserPersonaSchema, VISUAL_STYLES, ViewTypeSchema, VisualStyleSchema, applyEventWiring, applySectionUpdate, atomic, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, composeBehaviors, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createMappingStore, createResolvedField, createTypedEventBus, deleteSection, deref, deriveCollection, despawn, detectChanges, detectLayoutStrategy, detectPageContentReduction, diffSchemaSemantics, diffSchemas, doEffects, domainKeywordToSchemaType, emit, extractPayloadFieldRef, findMapping, findMappingByPath, findMappingsByType, findService, formatBehaviorToDomain, formatBehaviorToSchema, formatDomainGuardToSchema, formatEntityToDomain, formatEntityToSchema, formatGuardConditionToDomain, formatGuardToDomain, formatGuardToSchema, formatMergeSummary, formatPageToDomain, formatPageToSchema, formatSchemaEntityToDomain, formatSchemaGuardToDomain, formatSchemaPageToDomain, formatSchemaTraitToDomain, generateDomainLanguageReference, generateSectionId, getAllOperators, getAllPatternTypes, getArgs, getBindingExamples, getDefaultAnimationsForRole, getEffectMapping, getEntity, getFieldTypeMapping, getGuardMapping, getInteractionModelForDomain, getOperator, getPage, getPages, getRegisteredEffects, getRegisteredFieldTypes, getRegisteredGuards, getRegistryStats, getRemovals, getSchemaCacheStats, getSchemaPath, getServiceNames, getTrait, getTraitConfig, getTraitName, hasSchemaChanged, hasService, hasSignificantPageReduction, inferTsType, isBinding, isCircuitEvent, isDestructiveChange, isEffect, isEffectRegistered, isEntityCall, isEntityReference, isEntityReferenceAny, isFieldTypeRegistered, isGuardRegistered, isImportedTraitRef, isInlineTrait, isMcpService, isOrbitalDefinition, isPageReference, isPageReferenceObject, isPageReferenceString, isResolvedIR, isRestService, isRuntimeEntity, isSExpr, isSExprAtom, isSExprCall, isSExprEffect, isServiceReference, isServiceReferenceObject, isSingletonEntity, isSocketService, isThemeReference, isValidBinding, mergeDomainChunks, navigate, normalizeTraitRef, notify, parseAssetKey, parseBehavior, parseBinding, parseDomainEffect, parseDomainEffects, parseDomainGuard, parseEntity, parseEntityRef, parseGuard, parseImportedTraitRef, parseOrbitalSchema, parsePage, parsePageRef, parseSectionId, parseServiceRef, persist, ref, removeMapping, renderUI, requiresConfirmation, resolveConflict, safeParseOrbitalSchema, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaToIR, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, set, sexpr, spawn, summarizeOrbital, summarizeSchema, swap, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateAssetAnimations, validateBindingInContext, validateDomainChunk, walkSExpr, walkStatePairs, watch };
8416
8519
  //# sourceMappingURL=index.js.map
8417
8520
  //# sourceMappingURL=index.js.map