@almadar/core 7.14.2 → 7.15.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.
@@ -125,9 +125,12 @@ interface ParsedBinding {
125
125
  }
126
126
  /**
127
127
  * Core bindings that are always available.
128
- * Phase 4.5 adds: config, computed, trait (for behavior support)
128
+ * Phase 4.5 adds: config, computed, trait (for behavior support).
129
+ * `user` is the authenticated user / agent context (see binding.ts) and is
130
+ * read-only in guards/effects/ticks — atoms reference `@user.id` and
131
+ * `@user.role` for ownership / role-based gating.
129
132
  */
130
- declare const CORE_BINDINGS: readonly ["entity", "payload", "state", "now", "config", "computed", "trait"];
133
+ declare const CORE_BINDINGS: readonly ["entity", "payload", "state", "now", "config", "computed", "trait", "user"];
131
134
  type CoreBinding = (typeof CORE_BINDINGS)[number];
132
135
  /**
133
136
  * Parses a binding reference into its components.
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { k as OrbitalSchema, S as State, O as OrbitalDefinition } from './schema-BAT_cYlE.js';
2
- export { A as AGENT_DOMAIN_CATEGORIES, o as ALLOWED_CUSTOM_COMPONENTS, p as AgentDomainCategory, q as AgentDomainCategorySchema, r as AgentEffect, s as AllowedCustomComponent, t as AnimationDef, u as AnimationDefInput, v as AnimationDefSchema, w as AssetMap, x as AssetMapInput, y as AssetMapSchema, z as AssetMapping, B as AssetMappingInput, C as AssetMappingSchema, D as AtomicEffect, F as CallServiceConfig, G as CallServiceEffect, H as CheckpointLoadEffect, I as CheckpointSaveEffect, J as ComputedEventContract, K as ComputedEventContractSchema, L as ComputedEventListener, M as ComputedEventListenerSchema, N as ConfigFieldDeclaration, Q as ConfigFieldDeclarationSchema, V as CustomPatternDefinition, W as CustomPatternDefinitionInput, X as CustomPatternDefinitionSchema, Y as CustomPatternMap, Z as CustomPatternMapInput, _ as CustomPatternMapSchema, $ as DeclaredTraitConfig, a0 as DeclaredTraitConfigSchema, a1 as DerefEffect, a2 as DesignPreferences, a3 as DesignPreferencesInput, a4 as DesignPreferencesSchema, a5 as DesignTokens, a6 as DesignTokensInput, a7 as DesignTokensSchema, a8 as DespawnEffect, a9 as DoEffect, aa as DomainCategory, ab as DomainCategorySchema, ac as DomainContext, ad as DomainContextInput, ae as DomainContextSchema, af as DomainVocabulary, ag as DomainVocabularySchema, ah as ENTITY_ROLES, E as Effect, ai as EffectInput, aj as EffectSchema, ak as EmitConfig, al as EmitEffect, b as Entity, am as EntityCall, an as EntityCallSchema, ao as EntityData, e as EntityField, ap as EntityFieldInput, aq as EntityFieldSchema, f as EntityPersistence, ar as EntityPersistenceSchema, i as EntityRef, as as EntityRefSchema, at as EntityRefStringSchema, au as EntityRole, av as EntityRoleSchema, g as EntityRow, aw as EntitySchema, ax as EntitySemanticRole, ay as EntitySemanticRoleSchema, az as EvaluateConfig, aA as EvaluateEffect, aB as Event, aC as EventInput, aD as EventListener, aE as EventListenerSchema, aF as EventPayloadField, aG as EventPayloadFieldSchema, aH as EventSchema, aI as EventScope, aJ as EventScopeSchema, aK as EventSemanticRole, aL as EventSemanticRoleSchema, aM as EventSource, aN as EventSourceSchema, aO as FetchEffect, aP as FetchOptions, aQ as FetchResult, aR as Field, aS as FieldFormat, aT as FieldFormatSchema, aU as FieldSchema, aV as FieldType, aW as FieldTypeSchema, aX as FieldValue, aY as ForwardConfig, aZ as ForwardEffect, a_ as FullOrbitalUnit, a$ as GAME_TYPES, b0 as GameSubCategory, b1 as GameSubCategorySchema, b2 as GameType, b3 as GameTypeSchema, b4 as Guard, b5 as GuardInput, b6 as GuardSchema, b7 as ListenSource, b8 as ListenSourceSchema, b9 as LogEffect, ba as McpServiceDef, bb as McpServiceDefSchema, bc as NavigateEffect, bd as NnConfig, be as NnLayer, bf as NodeClassification, bg as NodeClassificationSchema, bh as NotifyEffect, a_ as Orbital, bi as OrbitalConfig, bj as OrbitalConfigInput, bk as OrbitalConfigSchema, bl as OrbitalDefinitionSchema, bm as OrbitalEntity, bn as OrbitalEntityInput, bo as OrbitalEntitySchema, bp as OrbitalInput, bq as OrbitalPage, br as OrbitalPageInput, bs as OrbitalPageSchema, bt as OrbitalPageStrictInput, bu as OrbitalPageStrictSchema, bv as OrbitalSchemaInput, bw as OrbitalSchemaSchema, bx as OrbitalSchemaWithTraits, by as OrbitalTraitRef, bz as OrbitalTraitRefSchema, bA as OrbitalUnit, bB as OrbitalUnitSchema, bC as OrbitalZodSchema, bD as OsEffect, l as Page, P as PageRef, m as PageRefObject, bE as PageRefObjectSchema, bF as PageRefSchema, bG as PageRefStringSchema, bH as PageSchema, bI as PageTraitRef, bJ as PageTraitRefSchema, bK as PayloadField, bL as PayloadFieldSchema, bM as PersistData, bN as PersistEffect, bO as PersistEmitConfig, bP as PresentationType, bQ as RefEffect, bR as RelatedLink, bS as RelatedLinkSchema, bT as RelationConfig, bU as RelationConfigSchema, bV as RenderItemLambda, bW as RenderUIConfig, R as RenderUIEffect, bX as RenderUINode, bY as RequiredField, bZ as RequiredFieldSchema, b_ as ResolvedAsset, b$ as ResolvedAssetInput, c0 as ResolvedAssetSchema, c1 as ResolvedPatternProps, c2 as RestAuthConfig, c3 as RestAuthConfigSchema, c4 as RestServiceDef, c5 as RestServiceDefSchema, c6 as SERVICE_TYPES, c7 as SemanticAssetRef, c8 as SemanticAssetRefInput, c9 as SemanticAssetRefSchema, ca as ServiceDefinition, cb as ServiceDefinitionSchema, cc as ServiceParams, cd as ServiceParamsValue, ce as ServiceRef, cf as ServiceRefObject, cg as ServiceRefObjectSchema, ch as ServiceRefSchema, ci as ServiceRefStringSchema, cj as ServiceType, ck as ServiceTypeSchema, cl as SetEffect, cm as SocketEvents, cn as SocketEventsSchema, co as SocketServiceDef, cp as SocketServiceDefSchema, cq as SpawnEffect, cr as StateInput, cs as StateMachine, ct as StateMachineInput, cu as StateMachineSchema, cv as StateSchema, cw as StateSemanticRole, cx as StateSemanticRoleSchema, cy as SuggestedGuard, cz as SuggestedGuardSchema, cA as SwapEffect, cB as ThemeDefinition, cC as ThemeDefinitionSchema, cD as ThemeRef, cE as ThemeRefSchema, cF as ThemeRefStringSchema, cG as ThemeTokens, cH as ThemeTokensSchema, cI as ThemeVariant, cJ as ThemeVariantSchema, cK as TrainConfig, cL as TrainEffect, T as Trait, cM as TraitCategory, cN as TraitCategorySchema, d as TraitConfig, cO as TraitConfigObject, cP as TraitConfigSchema, cQ as TraitConfigValue, cR as TraitConfigValueSchema, cS as TraitDataEntity, cT as TraitDataEntitySchema, cU as TraitEntityField, cV as TraitEntityFieldSchema, a as TraitEventContract, cW as TraitEventContractSchema, c as TraitEventListener, cX as TraitEventListenerSchema, cY as TraitInput, j as TraitRef, cZ as TraitRefSchema, n as TraitReference, c_ as TraitReferenceInput, c$ as TraitReferenceSchema, d0 as TraitSchema, d1 as TraitTick, d2 as TraitTickSchema, d3 as TraitUIBinding, d4 as Transition, d5 as TransitionInput, d6 as TransitionSchema, d7 as TypedEffect, U as UISlot, d8 as UISlotSchema, d9 as UI_SLOTS, da as UXHints, db as UXHintsSchema, h as UseDeclaration, dc as UseDeclarationSchema, dd as UserPersona, de as UserPersonaInput, df as UserPersonaSchema, dg as VISUAL_STYLES, dh as ViewType, di as ViewTypeSchema, dj as VisualStyle, dk as VisualStyleSchema, dl as WatchEffect, dm as WatchOptions, dn as atomic, dp as callService, dq as createAssetKey, dr as deref, ds as deriveCollection, dt as despawn, du as doEffects, dv as emit, dw as findService, dx as getDefaultAnimationsForRole, dy as getServiceNames, dz as getTraitConfig, dA as getTraitName, dB as hasService, 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, dO as isRestService, dP as isRuntimeEntity, dQ as isSExprEffect, dR as isServiceReference, dS as isServiceReferenceObject, dT as isSingletonEntity, dU as isSocketService, dV as isThemeReference, dW as navigate, dX as normalizeTraitRef, dY as notify, dZ as parseAssetKey, d_ as parseEntityRef, d$ as parseImportedTraitRef, e0 as parseOrbitalSchema, e1 as parsePageRef, e2 as parseServiceRef, e3 as persist, e4 as ref, e5 as renderUI, e6 as safeParseOrbitalSchema, e7 as set, e8 as spawn, e9 as swap, ea as validateAssetAnimations, eb as watch } from './schema-BAT_cYlE.js';
3
- export { C as CORE_BINDINGS, a as CoreBinding, E as EvalContext, b as EventPayload, c as EventPayloadValue, d as Expression, e as ExpressionInput, f as ExpressionSchema, L as LogMeta, P as ParsedBinding, S as SExpr, g as SExprAtom, h as SExprAtomSchema, i as SExprInput, j as SExprSchema, k as collectBindings, l as getArgs, m as getOperator, n as isBinding, o as isSExpr, p as isSExprAtom, q as isSExprCall, r as isValidBinding, s as parseBinding, t as sexpr, w as walkSExpr } from './expression-CkBbMSmB.js';
1
+ import { bh as OrbitalSchema, ci as State, b6 as OrbitalDefinition } from './schema-B-92HhgX.js';
2
+ export { A as AGENT_DOMAIN_CATEGORIES, a as ALLOWED_CUSTOM_COMPONENTS, b as AgentDomainCategory, c as AgentDomainCategorySchema, d as AgentEffect, e as AllowedCustomComponent, f as AnimationDef, g as AnimationDefInput, h as AnimationDefSchema, i as AssetMap, j as AssetMapInput, k as AssetMapSchema, l as AssetMapping, m as AssetMappingInput, n as AssetMappingSchema, o as AtomicEffect, C as CallServiceConfig, p as CallServiceEffect, q as CheckpointLoadEffect, r as CheckpointSaveEffect, s as ComputedEventContract, t as ComputedEventContractSchema, u as ComputedEventListener, v as ComputedEventListenerSchema, w as ConfigFieldDeclaration, x as ConfigFieldDeclarationSchema, y as CustomPatternDefinition, z as CustomPatternDefinitionInput, B as CustomPatternDefinitionSchema, D as CustomPatternMap, E as CustomPatternMapInput, F as CustomPatternMapSchema, G as DeclaredTraitConfig, H as DeclaredTraitConfigSchema, I as DerefEffect, J as DesignPreferences, K as DesignPreferencesInput, L as DesignPreferencesSchema, M as DesignTokens, N as DesignTokensInput, O as DesignTokensSchema, P as DespawnEffect, Q as DoEffect, R as DomainCategory, S as DomainCategorySchema, T as DomainContext, U as DomainContextInput, V as DomainContextSchema, W as DomainVocabulary, X as DomainVocabularySchema, Y as ENTITY_ROLES, Z as Effect, _ as EffectInput, $ as EffectSchema, a0 as EmitConfig, a1 as EmitEffect, a2 as Entity, a3 as EntityCall, a4 as EntityCallSchema, a5 as EntityData, a6 as EntityField, a7 as EntityFieldInput, a8 as EntityFieldSchema, a9 as EntityPersistence, aa as EntityPersistenceSchema, ab as EntityRef, ac as EntityRefSchema, ad as EntityRefStringSchema, ae as EntityRole, af as EntityRoleSchema, ag as EntityRow, ah as EntitySchema, ai as EntitySemanticRole, aj as EntitySemanticRoleSchema, ak as EvaluateConfig, al as EvaluateEffect, am as Event, an as EventInput, ao as EventListener, ap as EventListenerSchema, aq as EventPayloadField, ar as EventPayloadFieldSchema, as as EventSchema, at as EventScope, au as EventScopeSchema, av as EventSemanticRole, aw as EventSemanticRoleSchema, ax as EventSource, ay as EventSourceSchema, az as FetchEffect, aA as FetchOptions, aB as FetchResult, aC as Field, aD as FieldFormat, aE as FieldFormatSchema, aF as FieldSchema, aG as FieldType, aH as FieldTypeSchema, aI as FieldValue, aJ as ForwardConfig, aK as ForwardEffect, b2 as FullOrbitalUnit, aL as GAME_TYPES, aM as GameSubCategory, aN as GameSubCategorySchema, aO as GameType, aP as GameTypeSchema, aQ as Guard, aR as GuardInput, aS as GuardSchema, aT as ListenSource, aU as ListenSourceSchema, aV as LogEffect, aW as McpServiceDef, aX as McpServiceDefSchema, aY as NavigateEffect, aZ as NnConfig, a_ as NnLayer, a$ as NodeClassification, b0 as NodeClassificationSchema, b1 as NotifyEffect, b2 as Orbital, b3 as OrbitalConfig, b4 as OrbitalConfigInput, b5 as OrbitalConfigSchema, b7 as OrbitalDefinitionSchema, b8 as OrbitalEntity, b9 as OrbitalEntityInput, ba as OrbitalEntitySchema, bb as OrbitalInput, bc as OrbitalPage, bd as OrbitalPageInput, be as OrbitalPageSchema, bf as OrbitalPageStrictInput, bg as OrbitalPageStrictSchema, bj as OrbitalSchemaInput, bk as OrbitalSchemaSchema, bl as OrbitalSchemaWithTraits, bm as OrbitalTraitRef, bn as OrbitalTraitRefSchema, bo as OrbitalUnit, bp as OrbitalUnitSchema, bi as OrbitalZodSchema, bq as OsEffect, br as Page, bs as PageRef, bt as PageRefObject, bu as PageRefObjectSchema, bv as PageRefSchema, bw as PageRefStringSchema, bx as PageSchema, by as PageTraitRef, bz as PageTraitRefSchema, bA as PayloadField, bB as PayloadFieldSchema, bC as PersistData, bD as PersistEffect, bE as PersistEmitConfig, bF as PresentationType, bG as RefEffect, bH as RelatedLink, bI as RelatedLinkSchema, bJ as RelationConfig, bK as RelationConfigSchema, bL as RenderItemLambda, bM as RenderUIConfig, bN as RenderUIEffect, bO as RenderUINode, bP as RequiredField, bQ as RequiredFieldSchema, bR as ResolvedAsset, bS as ResolvedAssetInput, bT as ResolvedAssetSchema, bU as ResolvedPatternProps, bV as RestAuthConfig, bW as RestAuthConfigSchema, bX as RestServiceDef, bY as RestServiceDefSchema, bZ as SERVICE_TYPES, b_ as SemanticAssetRef, b$ as SemanticAssetRefInput, c0 as SemanticAssetRefSchema, c1 as ServiceDefinition, c2 as ServiceDefinitionSchema, c3 as ServiceParams, c4 as ServiceParamsValue, c5 as ServiceRef, c6 as ServiceRefObject, c7 as ServiceRefObjectSchema, c8 as ServiceRefSchema, c9 as ServiceRefStringSchema, ca as ServiceType, cb as ServiceTypeSchema, cc as SetEffect, cd as SocketEvents, ce as SocketEventsSchema, cf as SocketServiceDef, cg as SocketServiceDefSchema, ch as SpawnEffect, cj as StateInput, ck as StateMachine, cl as StateMachineInput, cm as StateMachineSchema, cn as StateSchema, co as StateSemanticRole, cp as StateSemanticRoleSchema, cq as SuggestedGuard, cr as SuggestedGuardSchema, cs as SwapEffect, ct as ThemeDefinition, cu as ThemeDefinitionSchema, cv as ThemeRef, cw as ThemeRefSchema, cx as ThemeRefStringSchema, cy as ThemeTokens, cz as ThemeTokensSchema, cA as ThemeVariant, cB as ThemeVariantSchema, cC as TrainConfig, cD as TrainEffect, cE as Trait, cF as TraitCategory, cG as TraitCategorySchema, cH as TraitConfig, cI as TraitConfigObject, cJ as TraitConfigSchema, cK as TraitConfigValue, cL as TraitConfigValueSchema, cM as TraitDataEntity, cN as TraitDataEntitySchema, cO as TraitEntityField, cP as TraitEntityFieldSchema, cQ as TraitEventContract, cR as TraitEventContractSchema, cS as TraitEventListener, cT as TraitEventListenerSchema, cU as TraitInput, cV as TraitRef, cW as TraitRefSchema, cX as TraitReference, cY as TraitReferenceInput, cZ as TraitReferenceSchema, c_ as TraitSchema, c$ as TraitTick, d0 as TraitTickSchema, d1 as TraitUIBinding, d2 as Transition, d3 as TransitionInput, d4 as TransitionSchema, d5 as TypedEffect, d6 as UISlot, d7 as UISlotSchema, d8 as UI_SLOTS, d9 as UXHints, da as UXHintsSchema, db as UseDeclaration, dc as UseDeclarationSchema, dd as UserPersona, de as UserPersonaInput, df as UserPersonaSchema, dg as VISUAL_STYLES, dh as ViewType, di as ViewTypeSchema, dj as VisualStyle, dk as VisualStyleSchema, dl as WatchEffect, dm as WatchOptions, dn as atomic, dp as callService, dq as createAssetKey, dr as deref, ds as deriveCollection, dt as despawn, du as doEffects, dv as emit, dw as findService, dx as getDefaultAnimationsForRole, dy as getServiceNames, dz as getTraitConfig, dA as getTraitName, dB as hasService, 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, dO as isRestService, dP as isRuntimeEntity, dQ as isSExprEffect, dR as isServiceReference, dS as isServiceReferenceObject, dT as isSingletonEntity, dU as isSocketService, dV as isThemeReference, dW as navigate, dX as normalizeTraitRef, dY as notify, dZ as parseAssetKey, d_ as parseEntityRef, d$ as parseImportedTraitRef, e0 as parseOrbitalSchema, e1 as parsePageRef, e2 as parseServiceRef, e3 as persist, e4 as ref, e5 as renderUI, e6 as safeParseOrbitalSchema, e7 as set, e8 as spawn, e9 as swap, ea as validateAssetAnimations, eb as watch } from './schema-B-92HhgX.js';
3
+ export { C as CORE_BINDINGS, a as CoreBinding, E as EvalContext, b as EventPayload, c as EventPayloadValue, d as Expression, e as ExpressionInput, f as ExpressionSchema, L as LogMeta, P as ParsedBinding, S as SExpr, g as SExprAtom, h as SExprAtomSchema, i as SExprInput, j as SExprSchema, k as collectBindings, l as getArgs, m as getOperator, n as isBinding, o as isSExpr, p as isSExprAtom, q as isSExprCall, r as isValidBinding, s as parseBinding, t as sexpr, w as walkSExpr } from './expression-BVRFm0sV.js';
4
4
  import { ResolvedIR, ResolvedEntity, ResolvedPage, ResolvedTrait, ChangesetValue, SchemaChange, CategorizedRemovals, PageContentReduction, SemanticSchemaChange } from './types/index.js';
5
5
  export { AgentCodeSearchResult, AgentCompactResult, AgentCompactStrategy, AgentContext, AgentGenerateOptions, AgentMemoryCategory, AgentMemoryRecord, AppSummary, AssetLoadStatus, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingContext, BindingRoot, BindingSchema, BridgeHealth, BusEvent, BusEventListener, BusEventSource, ChangeAuthor, ChangeSetDocument, ChangeSummary, CheckStatus, ContextExtensions, CreateFlow, DEFAULT_INTERACTION_MODELS, DeleteFlow, EditFlow, EffectTrace, EventEmit, EventKey, EventListen, EventLogEntry, GitHubLink, HistoryMeta, InteractionModel, InteractionModelInput, InteractionModelSchema, LazyService, ListInteraction, OrbitalVerificationAPI, PatternTypeSchema, PersistActionName, ResolvedEntityBinding, ResolvedField, ResolvedNavigation, ResolvedPattern, ResolvedSection, ResolvedSectionEvent, ResolvedTraitBinding, ResolvedTraitDataEntity, ResolvedTraitEvent, ResolvedTraitGuard, ResolvedTraitListener, ResolvedTraitState, ResolvedTraitTick, ResolvedTraitTransition, ResolvedTraitUIBinding, SaveOptions, SaveResult, SemanticChangeKind, ServerResponseTrace, ServiceAction, ServiceActionName, ServiceContract, ServiceEvents, SnapshotDocument, StatsView, StoreContract, StoreFilter, StoreFilterOp, TraitFieldRef, TraitFieldRefSchema, TraitStateSnapshot, TransitionFrom, TransitionTrace, Unsubscribe, ValidationDocument, ValidationIssue, ValidationMeta, ValidationResults, VerificationCheck, VerificationSnapshot, VerificationSummary, ViewFlow, createEmptyResolvedPage, createEmptyResolvedTrait, createLazyService, createResolvedField, createTypedEventBus, getAllPatternTypes, getBindingExamples, getInteractionModelForDomain, inferTsType, isResolvedIR, isTraitFieldRef, toBindingRoot, validateBindingInContext } from './types/index.js';
6
6
  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';
7
- 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-7NS0qVIh.js';
7
+ 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-p4gl4sp1.js';
8
8
  export { PATTERN_TYPES, PatternConfig, PatternType, isValidPatternType } from '@almadar/patterns';
9
9
  export { BFSNode, BFSPathNode, EdgeWalkTransition, GraphTransition, GuardPayload, ReplayStep, ReplayTransition, StateEdge, WalkStep, buildEdgeCoveringWalk, buildGuardPayloads, buildReplayPaths, buildStateGraph, collectReachableStates, extractPayloadFieldRef, walkStatePairs } from './state-machine/index.js';
10
10
  import 'zod';
@@ -20,11 +20,19 @@ import 'zod';
20
20
 
21
21
  /**
22
22
  * Clear the schema resolution cache.
23
- * Useful for hot-reloading during development.
23
+ *
24
+ * With WeakMap-on-reference caching, cache entries die naturally when
25
+ * the schema object is GC'd, so explicit clearing is rarely necessary.
26
+ * Kept for hot-reload paths that want to force fresh resolution; since
27
+ * WeakMap has no `clear()`, we swap in a fresh instance.
24
28
  */
25
29
  declare function clearSchemaCache(): void;
26
30
  /**
27
- * Get cache statistics (for debugging)
31
+ * Get cache statistics (for debugging).
32
+ *
33
+ * WeakMap doesn't expose size or keys; the best we can do is signal
34
+ * that the cache is identity-keyed. Kept for API parity with the old
35
+ * Map-based cache.
28
36
  */
29
37
  declare function getSchemaCacheStats(): {
30
38
  size: number;
package/dist/index.js CHANGED
@@ -358,7 +358,7 @@ function isBinding(value) {
358
358
  function isSExprCall(value) {
359
359
  return isSExpr(value);
360
360
  }
361
- var CORE_BINDINGS = ["entity", "payload", "state", "now", "config", "computed", "trait"];
361
+ var CORE_BINDINGS = ["entity", "payload", "state", "now", "config", "computed", "trait", "user"];
362
362
  function parseBinding(binding) {
363
363
  if (!binding.startsWith("@")) {
364
364
  return null;
@@ -1233,20 +1233,25 @@ var BINDING_DOCS = {
1233
1233
  description: "Trait context data",
1234
1234
  examples: ["@trait.name", "@trait.category"],
1235
1235
  requiresPath: true
1236
+ },
1237
+ user: {
1238
+ description: "Authenticated user / agent context for ownership and role-based gating",
1239
+ examples: ["@user.id", "@user.role"],
1240
+ requiresPath: true
1236
1241
  }
1237
1242
  };
1238
1243
  var BINDING_CONTEXT_RULES = {
1239
1244
  guard: {
1240
- allowed: ["entity", "payload", "state", "now", "config"],
1241
- description: `Guards can access entity fields, event payload, current state, time, and the call-site trait config (@config.X). Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
1245
+ allowed: ["entity", "payload", "state", "now", "config", "user"],
1246
+ description: `Guards can access entity fields, event payload, current state, time, the call-site trait config (@config.X), and the authenticated user context (@user.id, @user.role) for ownership / role gates. Config access lets atoms write mode-aware guards \u2014 e.g. std-modal's OPEN can require @payload.row only when @config.mode equals "edit", letting create-mode legitimately fire OPEN with no row. Like effects, @config.X is substituted at molecule/organism inline time with the literal call-site value; at atom-scope validate, @config is allowed-but-unresolved.`
1242
1247
  },
1243
1248
  effect: {
1244
- allowed: ["entity", "payload", "state", "now", "trait", "config"],
1245
- description: "Effects can access and modify entity fields, use payload data, embed another trait's live frame via @trait.X inside render-ui children, and read trait config values (@config.X) for atoms parameterized by their call-site. At molecule/organism inline time, @config.X is substituted with the literal value from the call-site config block; at atom-scope validate, @config is allowed-but-unresolved."
1249
+ allowed: ["entity", "payload", "state", "now", "trait", "config", "user"],
1250
+ description: "Effects can access and modify entity fields, use payload data, embed another trait's live frame via @trait.X inside render-ui children, read trait config values (@config.X) for atoms parameterized by their call-site, and read the authenticated user context (@user.id, @user.role). At molecule/organism inline time, @config.X is substituted with the literal value from the call-site config block; at atom-scope validate, @config is allowed-but-unresolved."
1246
1251
  },
1247
1252
  tick: {
1248
- allowed: ["entity", "state", "now", "config"],
1249
- description: "Ticks can access entity fields, current state, time, and trait config (@config.X) for parameterized atoms. Same substitution semantics as guards/effects."
1253
+ allowed: ["entity", "state", "now", "config", "user"],
1254
+ description: "Ticks can access entity fields, current state, time, trait config (@config.X) for parameterized atoms, and the authenticated user context (@user.id, @user.role). Same substitution semantics as guards/effects."
1250
1255
  }
1251
1256
  };
1252
1257
  function validateBindingInContext(binding, context) {
@@ -1432,20 +1437,17 @@ function isResolvedIR(ir) {
1432
1437
  }
1433
1438
 
1434
1439
  // src/resolver.ts
1435
- var schemaCache = /* @__PURE__ */ new Map();
1440
+ var schemaCache = /* @__PURE__ */ new WeakMap();
1436
1441
  function clearSchemaCache() {
1437
- schemaCache.clear();
1442
+ schemaCache = /* @__PURE__ */ new WeakMap();
1438
1443
  }
1439
1444
  function getSchemaCacheStats() {
1440
- return {
1441
- size: schemaCache.size,
1442
- keys: Array.from(schemaCache.keys())
1443
- };
1445
+ return { size: -1, keys: [] };
1444
1446
  }
1445
1447
  function schemaToIR(schema, useCache = true) {
1446
- const cacheKey = `${schema.name}-${schema.version || "1.0.0"}`;
1447
- if (useCache && schemaCache.has(cacheKey)) {
1448
- return schemaCache.get(cacheKey);
1448
+ if (useCache) {
1449
+ const cached = schemaCache.get(schema);
1450
+ if (cached) return cached;
1449
1451
  }
1450
1452
  const ir = {
1451
1453
  appName: schema.name,
@@ -1560,7 +1562,7 @@ function schemaToIR(schema, useCache = true) {
1560
1562
  }
1561
1563
  }
1562
1564
  if (useCache) {
1563
- schemaCache.set(cacheKey, ir);
1565
+ schemaCache.set(schema, ir);
1564
1566
  }
1565
1567
  return ir;
1566
1568
  }