@almadar/core 2.5.0 → 2.5.2

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,8 +1,9 @@
1
- import { b as OrbitalSchema, S as State, O as OrbitalDefinition } from './schema-BrFR8WMF.js';
2
- export { A as AGENT_DOMAIN_CATEGORIES, e as ALLOWED_CUSTOM_COMPONENTS, f as AgentDomainCategory, g as AgentDomainCategorySchema, h as AllowedCustomComponent, i as AnimationDef, j as AnimationDefInput, k as AnimationDefSchema, l as AssetMap, m as AssetMapInput, n as AssetMapSchema, o as AssetMapping, p as AssetMappingInput, q as AssetMappingSchema, C as CORE_BINDINGS, r as CallServiceConfig, s as ComputedEventContract, t as ComputedEventContractSchema, u as ComputedEventListener, v as ComputedEventListenerSchema, w as CoreBinding, x as CustomPatternDefinition, y as CustomPatternDefinitionInput, z as CustomPatternDefinitionSchema, B as CustomPatternMap, D as CustomPatternMapInput, F as CustomPatternMapSchema, G as DesignPreferences, H as DesignPreferencesInput, I as DesignPreferencesSchema, J as DesignTokens, K as DesignTokensInput, L as DesignTokensSchema, M as DomainCategory, N as DomainCategorySchema, Q as DomainContext, R as DomainContextInput, U as DomainContextSchema, V as DomainVocabulary, W as DomainVocabularySchema, X as ENTITY_ROLES, Y as Effect, Z as EffectInput, _ as EffectSchema, d as Entity, E as EntityField, $ as EntityFieldInput, a0 as EntityFieldSchema, a as EntityPersistence, a1 as EntityPersistenceSchema, a2 as EntityRef, a3 as EntityRefSchema, a4 as EntityRefStringSchema, a5 as EntityRole, a6 as EntityRoleSchema, a7 as EntitySchema, a8 as EntitySemanticRole, a9 as EntitySemanticRoleSchema, aa as Event, ab as EventInput, ac as EventListener, ad as EventListenerSchema, ae as EventPayloadField, af as EventPayloadFieldSchema, ag as EventSchema, ah as EventScope, ai as EventScopeSchema, aj as EventSemanticRole, ak as EventSemanticRoleSchema, al as EventSource, am as EventSourceSchema, an as Expression, ao as ExpressionInput, ap as ExpressionSchema, aq as Field, ar as FieldFormat, as as FieldFormatSchema, at as FieldSchema, au as FieldType, av as FieldTypeSchema, aw as FullOrbitalUnit, ax as GAME_TYPES, ay as GameSubCategory, az as GameSubCategorySchema, aA as GameType, aB as GameTypeSchema, aC as Guard, aD as GuardInput, aE as GuardSchema, aF as McpServiceDef, aG as McpServiceDefSchema, aH as NodeClassification, aI as NodeClassificationSchema, aw as Orbital, aJ as OrbitalConfig, aK as OrbitalConfigInput, aL as OrbitalConfigSchema, aM as OrbitalDefinitionSchema, aN as OrbitalEntity, aO as OrbitalEntityInput, aP as OrbitalEntitySchema, aQ as OrbitalInput, aR as OrbitalPage, aS as OrbitalPageInput, aT as OrbitalPageSchema, aU as OrbitalPageStrictInput, aV as OrbitalPageStrictSchema, aW as OrbitalSchemaInput, aX as OrbitalSchemaSchema, aY as OrbitalTraitRef, aZ as OrbitalTraitRefSchema, a_ as OrbitalUnit, a$ as OrbitalUnitSchema, b0 as OrbitalZodSchema, P as Page, b1 as PageRef, b2 as PageRefObject, b3 as PageRefObjectSchema, b4 as PageRefSchema, b5 as PageRefStringSchema, b6 as PageSchema, b7 as PageTraitRef, b8 as PageTraitRefSchema, b9 as ParsedBinding, ba as PayloadField, bb as PayloadFieldSchema, bc as PresentationType, bd as RelatedLink, be as RelatedLinkSchema, bf as RelationConfig, bg as RelationConfigSchema, bh as RenderUIConfig, bi as RequiredField, bj as RequiredFieldSchema, bk as ResolvedAsset, bl as ResolvedAssetInput, bm as ResolvedAssetSchema, bn as RestAuthConfig, bo as RestAuthConfigSchema, bp as RestServiceDef, bq as RestServiceDefSchema, br as SERVICE_TYPES, bs as SExpr, bt as SExprAtom, bu as SExprAtomSchema, bv as SExprInput, bw as SExprSchema, bx as SemanticAssetRef, by as SemanticAssetRefInput, bz as SemanticAssetRefSchema, bA as ServiceDefinition, bB as ServiceDefinitionSchema, bC as ServiceRef, bD as ServiceRefSchema, bE as ServiceRefStringSchema, bF as ServiceType, bG as ServiceTypeSchema, bH as SocketEvents, bI as SocketEventsSchema, bJ as SocketServiceDef, bK as SocketServiceDefSchema, bL as StateInput, bM as StateMachine, bN as StateMachineInput, bO as StateMachineSchema, bP as StateSchema, bQ as StateSemanticRole, bR as StateSemanticRoleSchema, bS as SuggestedGuard, bT as SuggestedGuardSchema, bU as ThemeDefinition, bV as ThemeDefinitionSchema, bW as ThemeRef, bX as ThemeRefSchema, bY as ThemeRefStringSchema, bZ as ThemeTokens, b_ as ThemeTokensSchema, b$ as ThemeVariant, c0 as ThemeVariantSchema, c as Trait, c1 as TraitCategory, c2 as TraitCategorySchema, c3 as TraitDataEntity, c4 as TraitDataEntitySchema, c5 as TraitEntityField, c6 as TraitEntityFieldSchema, T as TraitEventContract, c7 as TraitEventContractSchema, c8 as TraitEventListener, c9 as TraitEventListenerSchema, ca as TraitInput, cb as TraitRef, cc as TraitRefSchema, cd as TraitReference, ce as TraitReferenceInput, cf as TraitReferenceSchema, cg as TraitSchema, ch as TraitTick, ci as TraitTickSchema, cj as TraitUIBinding, ck as Transition, cl as TransitionInput, cm as TransitionSchema, cn as UISlot, co as UISlotSchema, cp as UI_SLOTS, cq as UXHints, cr as UXHintsSchema, cs as UseDeclaration, ct as UseDeclarationSchema, cu as UserPersona, cv as UserPersonaInput, cw as UserPersonaSchema, cx as VISUAL_STYLES, cy as ViewType, cz as ViewTypeSchema, cA as VisualStyle, cB as VisualStyleSchema, cC as callService, cD as collectBindings, cE as createAssetKey, cF as deriveCollection, cG as despawn, cH as doEffects, cI as emit, cJ as findService, cK as getArgs, cL as getDefaultAnimationsForRole, cM as getOperator, cN as getServiceNames, cO as getTraitConfig, cP as getTraitName, cQ as hasService, cR as isBinding, cS as isCircuitEvent, cT as isEffect, cU as isEntityReference, cV as isImportedTraitRef, cW as isInlineTrait, cX as isMcpService, cY as isOrbitalDefinition, cZ as isPageReference, c_ as isPageReferenceObject, c$ as isPageReferenceString, d0 as isRestService, d1 as isRuntimeEntity, d2 as isSExpr, d3 as isSExprAtom, d4 as isSExprCall, d5 as isSExprEffect, d6 as isServiceReference, d7 as isSingletonEntity, d8 as isSocketService, d9 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 renderUI, dn as safeParseOrbitalSchema, dp as set, dq as sexpr, dr as spawn, ds as validateAssetAnimations, dt as walkSExpr } from './schema-BrFR8WMF.js';
1
+ import { b as OrbitalSchema, S as State, O as OrbitalDefinition } from './schema-obC5T1Jm.js';
2
+ export { A as AGENT_DOMAIN_CATEGORIES, e as ALLOWED_CUSTOM_COMPONENTS, f as AgentDomainCategory, g as AgentDomainCategorySchema, h as AllowedCustomComponent, i as AnimationDef, j as AnimationDefInput, k as AnimationDefSchema, l as AssetMap, m as AssetMapInput, n as AssetMapSchema, o as AssetMapping, p as AssetMappingInput, q as AssetMappingSchema, C as CORE_BINDINGS, r as CallServiceConfig, s as ComputedEventContract, t as ComputedEventContractSchema, u as ComputedEventListener, v as ComputedEventListenerSchema, w as CoreBinding, x as CustomPatternDefinition, y as CustomPatternDefinitionInput, z as CustomPatternDefinitionSchema, B as CustomPatternMap, D as CustomPatternMapInput, F as CustomPatternMapSchema, G as DesignPreferences, H as DesignPreferencesInput, I as DesignPreferencesSchema, J as DesignTokens, K as DesignTokensInput, L as DesignTokensSchema, M as DomainCategory, N as DomainCategorySchema, Q as DomainContext, R as DomainContextInput, U as DomainContextSchema, V as DomainVocabulary, W as DomainVocabularySchema, X as ENTITY_ROLES, Y as Effect, Z as EffectInput, _ as EffectSchema, d as Entity, E as EntityField, $ as EntityFieldInput, a0 as EntityFieldSchema, a as EntityPersistence, a1 as EntityPersistenceSchema, a2 as EntityRef, a3 as EntityRefSchema, a4 as EntityRefStringSchema, a5 as EntityRole, a6 as EntityRoleSchema, a7 as EntitySchema, a8 as EntitySemanticRole, a9 as EntitySemanticRoleSchema, aa as Event, ab as EventInput, ac as EventListener, ad as EventListenerSchema, ae as EventPayloadField, af as EventPayloadFieldSchema, ag as EventSchema, ah as EventScope, ai as EventScopeSchema, aj as EventSemanticRole, ak as EventSemanticRoleSchema, al as EventSource, am as EventSourceSchema, an as Expression, ao as ExpressionInput, ap as ExpressionSchema, aq as Field, ar as FieldFormat, as as FieldFormatSchema, at as FieldSchema, au as FieldType, av as FieldTypeSchema, aw as FullOrbitalUnit, ax as GAME_TYPES, ay as GameSubCategory, az as GameSubCategorySchema, aA as GameType, aB as GameTypeSchema, aC as Guard, aD as GuardInput, aE as GuardSchema, aF as McpServiceDef, aG as McpServiceDefSchema, aH as NodeClassification, aI as NodeClassificationSchema, aw as Orbital, aJ as OrbitalConfig, aK as OrbitalConfigInput, aL as OrbitalConfigSchema, aM as OrbitalDefinitionSchema, aN as OrbitalEntity, aO as OrbitalEntityInput, aP as OrbitalEntitySchema, aQ as OrbitalInput, aR as OrbitalPage, aS as OrbitalPageInput, aT as OrbitalPageSchema, aU as OrbitalPageStrictInput, aV as OrbitalPageStrictSchema, aW as OrbitalSchemaInput, aX as OrbitalSchemaSchema, aY as OrbitalTraitRef, aZ as OrbitalTraitRefSchema, a_ as OrbitalUnit, a$ as OrbitalUnitSchema, b0 as OrbitalZodSchema, P as Page, b1 as PageRef, b2 as PageRefObject, b3 as PageRefObjectSchema, b4 as PageRefSchema, b5 as PageRefStringSchema, b6 as PageSchema, b7 as PageTraitRef, b8 as PageTraitRefSchema, b9 as ParsedBinding, ba as PayloadField, bb as PayloadFieldSchema, bc as PresentationType, bd as RelatedLink, be as RelatedLinkSchema, bf as RelationConfig, bg as RelationConfigSchema, bh as RenderUIConfig, bi as RequiredField, bj as RequiredFieldSchema, bk as ResolvedAsset, bl as ResolvedAssetInput, bm as ResolvedAssetSchema, bn as RestAuthConfig, bo as RestAuthConfigSchema, bp as RestServiceDef, bq as RestServiceDefSchema, br as SERVICE_TYPES, bs as SExpr, bt as SExprAtom, bu as SExprAtomSchema, bv as SExprInput, bw as SExprSchema, bx as SemanticAssetRef, by as SemanticAssetRefInput, bz as SemanticAssetRefSchema, bA as ServiceDefinition, bB as ServiceDefinitionSchema, bC as ServiceRef, bD as ServiceRefSchema, bE as ServiceRefStringSchema, bF as ServiceType, bG as ServiceTypeSchema, bH as SocketEvents, bI as SocketEventsSchema, bJ as SocketServiceDef, bK as SocketServiceDefSchema, bL as StateInput, bM as StateMachine, bN as StateMachineInput, bO as StateMachineSchema, bP as StateSchema, bQ as StateSemanticRole, bR as StateSemanticRoleSchema, bS as SuggestedGuard, bT as SuggestedGuardSchema, bU as ThemeDefinition, bV as ThemeDefinitionSchema, bW as ThemeRef, bX as ThemeRefSchema, bY as ThemeRefStringSchema, bZ as ThemeTokens, b_ as ThemeTokensSchema, b$ as ThemeVariant, c0 as ThemeVariantSchema, c as Trait, c1 as TraitCategory, c2 as TraitCategorySchema, c3 as TraitDataEntity, c4 as TraitDataEntitySchema, c5 as TraitEntityField, c6 as TraitEntityFieldSchema, T as TraitEventContract, c7 as TraitEventContractSchema, c8 as TraitEventListener, c9 as TraitEventListenerSchema, ca as TraitInput, cb as TraitRef, cc as TraitRefSchema, cd as TraitReference, ce as TraitReferenceInput, cf as TraitReferenceSchema, cg as TraitSchema, ch as TraitTick, ci as TraitTickSchema, cj as TraitUIBinding, ck as Transition, cl as TransitionInput, cm as TransitionSchema, cn as UISlot, co as UISlotSchema, cp as UI_SLOTS, cq as UXHints, cr as UXHintsSchema, cs as UseDeclaration, ct as UseDeclarationSchema, cu as UserPersona, cv as UserPersonaInput, cw as UserPersonaSchema, cx as VISUAL_STYLES, cy as ViewType, cz as ViewTypeSchema, cA as VisualStyle, cB as VisualStyleSchema, cC as callService, cD as collectBindings, cE as createAssetKey, cF as deriveCollection, cG as despawn, cH as doEffects, cI as emit, cJ as findService, cK as getArgs, cL as getDefaultAnimationsForRole, cM as getOperator, cN as getServiceNames, cO as getTraitConfig, cP as getTraitName, cQ as hasService, cR as isBinding, cS as isCircuitEvent, cT as isEffect, cU as isEntityReference, cV as isImportedTraitRef, cW as isInlineTrait, cX as isMcpService, cY as isOrbitalDefinition, cZ as isPageReference, c_ as isPageReferenceObject, c$ as isPageReferenceString, d0 as isRestService, d1 as isRuntimeEntity, d2 as isSExpr, d3 as isSExprAtom, d4 as isSExprCall, d5 as isSExprEffect, d6 as isServiceReference, d7 as isSingletonEntity, d8 as isSocketService, d9 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 renderUI, dn as safeParseOrbitalSchema, dp as set, dq as sexpr, dr as spawn, ds as validateAssetAnimations, dt as walkSExpr } from './schema-obC5T1Jm.js';
3
3
  import { ResolvedIR, ResolvedEntity, ResolvedPage, ResolvedTrait, SchemaChange, CategorizedRemovals, PageContentReduction } from './types/index.js';
4
4
  export { 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, 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-CnJ5Hn4p.js';
6
7
  export { BFSNode, BFSPathNode, GraphTransition, GuardPayload, ReplayStep, ReplayTransition, StateEdge, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, extractPayloadFieldRef, walkStatePairs } from './state-machine/index.js';
7
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';
8
9
  export { PATTERN_TYPES, PatternConfig, PatternType, isValidPatternType } from '@almadar/patterns';
@@ -147,6 +148,11 @@ declare function hasSignificantPageReduction(reductions: PageContentReduction[])
147
148
  * Input: OrbitalSchema. Output: OrbitalSchema.
148
149
  * Same types — just stripped of implementation details.
149
150
  *
151
+ * This module provides functions to extract the essential business structure
152
+ * from a complete orbital schema, removing implementation details like
153
+ * effects, guards, and visual styling while preserving the core entity,
154
+ * trait, and page definitions.
155
+ *
150
156
  * @packageDocumentation
151
157
  */
152
158
 
package/dist/index.js CHANGED
@@ -7699,6 +7699,204 @@ function generateDomainLanguageReference() {
7699
7699
  return lines.join("\n");
7700
7700
  }
7701
7701
 
7702
+ // src/builders/layout-strategy.ts
7703
+ function hasSequentialChain(wiring) {
7704
+ if (wiring.length < 2) {
7705
+ return false;
7706
+ }
7707
+ const adjacency = /* @__PURE__ */ new Map();
7708
+ const allTargets = /* @__PURE__ */ new Set();
7709
+ for (const entry of wiring) {
7710
+ let targets = adjacency.get(entry.from);
7711
+ if (!targets) {
7712
+ targets = /* @__PURE__ */ new Set();
7713
+ adjacency.set(entry.from, targets);
7714
+ }
7715
+ targets.add(entry.to);
7716
+ allTargets.add(entry.to);
7717
+ }
7718
+ const roots = [];
7719
+ for (const from of adjacency.keys()) {
7720
+ if (!allTargets.has(from)) {
7721
+ roots.push(from);
7722
+ }
7723
+ }
7724
+ const starts = roots.length > 0 ? roots : [...adjacency.keys()];
7725
+ for (const start of starts) {
7726
+ let current = start;
7727
+ let length = 1;
7728
+ const visited = /* @__PURE__ */ new Set([current]);
7729
+ while (true) {
7730
+ const nexts = adjacency.get(current);
7731
+ if (!nexts || nexts.size === 0) break;
7732
+ let advanced = false;
7733
+ for (const next of nexts) {
7734
+ if (!visited.has(next)) {
7735
+ visited.add(next);
7736
+ current = next;
7737
+ length++;
7738
+ advanced = true;
7739
+ break;
7740
+ }
7741
+ }
7742
+ if (!advanced) break;
7743
+ }
7744
+ if (length >= 3) {
7745
+ return true;
7746
+ }
7747
+ }
7748
+ return false;
7749
+ }
7750
+ function detectLayoutStrategy(orbitals, eventWiring) {
7751
+ if (eventWiring && eventWiring.length > 0 && hasSequentialChain(eventWiring)) {
7752
+ return "wizard-flow";
7753
+ }
7754
+ const count = orbitals.length;
7755
+ if (count <= 1) {
7756
+ return "single";
7757
+ }
7758
+ if (count <= 4) {
7759
+ return "tabs";
7760
+ }
7761
+ return "sidebar";
7762
+ }
7763
+
7764
+ // src/builders/event-wiring.ts
7765
+ function findInlineTrait(orbitals, name) {
7766
+ for (const orbital of orbitals) {
7767
+ for (const traitRef of orbital.traits) {
7768
+ if (isInlineTrait(traitRef) && traitRef.name === name) {
7769
+ return traitRef;
7770
+ }
7771
+ }
7772
+ }
7773
+ return null;
7774
+ }
7775
+ function hasEmit(emits, event) {
7776
+ return emits.some((e) => e.event === event);
7777
+ }
7778
+ function hasListen(listens, event, triggers) {
7779
+ return listens.some((l) => l.event === event && l.triggers === triggers);
7780
+ }
7781
+ function applyEventWiring(orbitals, wiring) {
7782
+ const cloned = JSON.parse(
7783
+ JSON.stringify(orbitals)
7784
+ );
7785
+ for (const entry of wiring) {
7786
+ const sourceTrait = findInlineTrait(cloned, entry.from);
7787
+ if (sourceTrait) {
7788
+ if (!sourceTrait.emits) {
7789
+ sourceTrait.emits = [];
7790
+ }
7791
+ if (!hasEmit(sourceTrait.emits, entry.event)) {
7792
+ sourceTrait.emits.push({
7793
+ event: entry.event,
7794
+ scope: "external"
7795
+ });
7796
+ }
7797
+ }
7798
+ const targetTrait = findInlineTrait(cloned, entry.to);
7799
+ if (targetTrait) {
7800
+ if (!targetTrait.listens) {
7801
+ targetTrait.listens = [];
7802
+ }
7803
+ if (!hasListen(targetTrait.listens, entry.event, entry.triggers)) {
7804
+ targetTrait.listens.push({
7805
+ event: entry.event,
7806
+ triggers: entry.triggers,
7807
+ scope: "external"
7808
+ });
7809
+ }
7810
+ }
7811
+ }
7812
+ return cloned;
7813
+ }
7814
+
7815
+ // src/builders/compose-behaviors.ts
7816
+ function toKebabCase3(name) {
7817
+ return name.replace(/([a-z])([A-Z])/g, "$1-$2").replace(/[\s_]+/g, "-").toLowerCase();
7818
+ }
7819
+ function generatePages(orbitals, strategy) {
7820
+ switch (strategy) {
7821
+ case "single": {
7822
+ const orbital = orbitals[0];
7823
+ const name = orbital?.name ?? "Main";
7824
+ return [
7825
+ {
7826
+ name: `${name}Page`,
7827
+ path: "/",
7828
+ isInitial: true,
7829
+ primaryEntity: getEntityName3(orbital)
7830
+ }
7831
+ ];
7832
+ }
7833
+ case "dashboard": {
7834
+ return [
7835
+ {
7836
+ name: "DashboardPage",
7837
+ path: "/",
7838
+ viewType: "dashboard",
7839
+ isInitial: true
7840
+ }
7841
+ ];
7842
+ }
7843
+ case "sidebar":
7844
+ case "tabs":
7845
+ case "wizard-flow": {
7846
+ return orbitals.map((orbital, index) => ({
7847
+ name: `${orbital.name}Page`,
7848
+ path: index === 0 ? "/" : `/${toKebabCase3(orbital.name)}`,
7849
+ isInitial: index === 0,
7850
+ primaryEntity: getEntityName3(orbital)
7851
+ }));
7852
+ }
7853
+ }
7854
+ }
7855
+ function getEntityName3(orbital) {
7856
+ if (!orbital) return void 0;
7857
+ const entity = orbital.entity;
7858
+ if (typeof entity === "string") {
7859
+ return entity.replace(".entity", "");
7860
+ }
7861
+ return entity.name;
7862
+ }
7863
+ function composeBehaviors(input) {
7864
+ const {
7865
+ appName,
7866
+ orbitals: rawOrbitals,
7867
+ layoutStrategy: strategyInput,
7868
+ eventWiring
7869
+ } = input;
7870
+ const wiredOrbitals = eventWiring && eventWiring.length > 0 ? applyEventWiring(rawOrbitals, eventWiring) : rawOrbitals;
7871
+ const strategy = !strategyInput || strategyInput === "auto" ? detectLayoutStrategy(wiredOrbitals, eventWiring) : strategyInput;
7872
+ const pages = generatePages(wiredOrbitals, strategy);
7873
+ const orbitalsWithPages = wiredOrbitals.map((orbital, index) => {
7874
+ if (orbital.pages && orbital.pages.length > 0) {
7875
+ return orbital;
7876
+ }
7877
+ const page = strategy === "dashboard" || strategy === "single" ? pages[0] : pages[index];
7878
+ return {
7879
+ ...orbital,
7880
+ pages: page ? [page] : []
7881
+ };
7882
+ });
7883
+ const schema = {
7884
+ name: appName,
7885
+ version: "1.0.0",
7886
+ orbitals: orbitalsWithPages
7887
+ };
7888
+ return {
7889
+ schema,
7890
+ layout: {
7891
+ strategy,
7892
+ pageCount: pages.length
7893
+ },
7894
+ wiring: {
7895
+ connections: eventWiring?.length ?? 0
7896
+ }
7897
+ };
7898
+ }
7899
+
7702
7900
  // src/state-machine/graph.ts
7703
7901
  function buildStateGraph(transitions) {
7704
7902
  const graph = /* @__PURE__ */ new Map();
@@ -7867,6 +8065,6 @@ function buildReplayPaths(transitions, initialState, maxDepth = 3) {
7867
8065
  return replayPaths;
7868
8066
  }
7869
8067
 
7870
- 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, applySectionUpdate, buildGuardPayloads, buildReplayPaths, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createMappingStore, createResolvedField, createTypedEventBus, deleteSection, deriveCollection, despawn, detectChanges, detectPageContentReduction, 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, removeMapping, renderUI, requiresConfirmation, resolveConflict, safeParseOrbitalSchema, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaToIR, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, set, sexpr, spawn, summarizeOrbital, summarizeSchema, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateAssetAnimations, validateBindingInContext, validateDomainChunk, walkSExpr, walkStatePairs };
8068
+ 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, buildGuardPayloads, buildReplayPaths, buildStateGraph, callService, categorizeRemovals, classifyWorkflow, clearSchemaCache, collectBindings, collectReachableStates, composeBehaviors, computeSchemaHash, convertDomainToSchema, convertEntitiesToDomain, convertPagesToDomain, convertSchemaToDomain, convertTraitsToDomain, createAssetKey, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createMappingStore, createResolvedField, createTypedEventBus, deleteSection, deriveCollection, despawn, detectChanges, detectLayoutStrategy, detectPageContentReduction, 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, removeMapping, renderUI, requiresConfirmation, resolveConflict, safeParseOrbitalSchema, schemaEntityToDomainEntity, schemaPageToDomainPage, schemaToIR, schemaTraitToDomainBehavior, schemaTypeToDomainKeyword, set, sexpr, spawn, summarizeOrbital, summarizeSchema, tokenize, updateMappingRange, updateSchemaHash, upsertMapping, validateAssetAnimations, validateBindingInContext, validateDomainChunk, walkSExpr, walkStatePairs };
7871
8069
  //# sourceMappingURL=index.js.map
7872
8070
  //# sourceMappingURL=index.js.map