@almadar/core 1.0.16 → 1.0.17

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.
@@ -167,34 +167,75 @@ type ExpressionInput = z.input<typeof ExpressionSchema>;
167
167
  */
168
168
  type FieldType = 'string' | 'number' | 'boolean' | 'date' | 'timestamp' | 'datetime' | 'array' | 'object' | 'enum' | 'relation';
169
169
  declare const FieldTypeSchema: z.ZodEnum<["string", "number", "boolean", "date", "timestamp", "datetime", "array", "object", "enum", "relation"]>;
170
+ /**
171
+ * Cardinality for relation fields.
172
+ * Matches Rust compiler's Cardinality enum.
173
+ */
174
+ type RelationCardinality = 'one' | 'many' | 'one-to-many' | 'many-to-one' | 'many-to-many';
170
175
  /**
171
176
  * Configuration for relation fields (foreign keys).
177
+ * Matches Rust compiler's RelationDefinition format.
172
178
  */
173
179
  interface RelationConfig {
174
- /** Target entity name (e.g., 'User', 'Task') */
180
+ /** Target entity name (e.g., 'User', 'Task') - matches Rust's `entity` field */
175
181
  entity: string;
176
182
  /** Field on target entity (defaults to 'id') */
177
183
  field?: string;
178
- /** Cardinality: one-to-one or one-to-many */
179
- cardinality?: 'one' | 'many';
184
+ /**
185
+ * Cardinality: one, many, one-to-many, many-to-one, many-to-many
186
+ * Matches Rust compiler's cardinality format
187
+ */
188
+ cardinality?: RelationCardinality;
180
189
  /** Delete behavior */
181
190
  onDelete?: 'cascade' | 'nullify' | 'restrict';
191
+ /**
192
+ * Foreign key field name (for legacy compatibility).
193
+ * @deprecated Use field instead
194
+ */
195
+ foreignKey?: string;
196
+ /**
197
+ * Target entity name (for legacy compatibility).
198
+ * @deprecated Use entity instead
199
+ */
200
+ target?: string;
201
+ /**
202
+ * Cardinality type alias (for legacy compatibility).
203
+ * @deprecated Use cardinality instead
204
+ */
205
+ type?: RelationCardinality;
182
206
  }
183
- declare const RelationConfigSchema: z.ZodObject<{
207
+ declare const RelationConfigSchema: z.ZodEffects<z.ZodObject<{
184
208
  entity: z.ZodString;
185
209
  field: z.ZodOptional<z.ZodString>;
186
- cardinality: z.ZodOptional<z.ZodEnum<["one", "many"]>>;
210
+ cardinality: z.ZodOptional<z.ZodEnum<["one", "many", "one-to-many", "many-to-one", "many-to-many"]>>;
187
211
  onDelete: z.ZodOptional<z.ZodEnum<["cascade", "nullify", "restrict"]>>;
212
+ foreignKey: z.ZodOptional<z.ZodString>;
213
+ target: z.ZodOptional<z.ZodString>;
214
+ type: z.ZodOptional<z.ZodEnum<["one", "many", "one-to-many", "many-to-one", "many-to-many"]>>;
188
215
  }, "strip", z.ZodTypeAny, {
189
216
  entity: string;
190
217
  field?: string | undefined;
191
- cardinality?: "one" | "many" | undefined;
218
+ cardinality?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
192
219
  onDelete?: "cascade" | "nullify" | "restrict" | undefined;
220
+ foreignKey?: string | undefined;
221
+ target?: string | undefined;
222
+ type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
193
223
  }, {
194
224
  entity: string;
195
225
  field?: string | undefined;
196
- cardinality?: "one" | "many" | undefined;
226
+ cardinality?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
227
+ onDelete?: "cascade" | "nullify" | "restrict" | undefined;
228
+ foreignKey?: string | undefined;
229
+ target?: string | undefined;
230
+ type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
231
+ }>, RelationConfig, {
232
+ entity: string;
233
+ field?: string | undefined;
234
+ cardinality?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
197
235
  onDelete?: "cascade" | "nullify" | "restrict" | undefined;
236
+ foreignKey?: string | undefined;
237
+ target?: string | undefined;
238
+ type?: "one" | "many" | "one-to-many" | "many-to-one" | "many-to-many" | undefined;
198
239
  }>;
199
240
  /**
200
241
  * Field format validators for string fields.
@@ -1,5 +1,5 @@
1
- import { bp as SExpr } from '../schema-zGCZtr5W.js';
2
- export { A as AGENT_DOMAIN_CATEGORIES, a as ALLOWED_CUSTOM_COMPONENTS, b as AgentDomainCategory, c as AgentDomainCategorySchema, d as AllowedCustomComponent, e as AnimationDef, f as AnimationDefInput, g as AnimationDefSchema, O as AppSchema, h as AssetMap, i as AssetMapInput, j as AssetMapSchema, k as AssetMapping, l as AssetMappingInput, m as AssetMappingSchema, C as CORE_BINDINGS, n as CallServiceConfig, o as ComputedEventContract, p as ComputedEventContractSchema, q as ComputedEventListener, r as ComputedEventListenerSchema, s as CoreBinding, t as CustomPatternDefinition, u as CustomPatternDefinitionInput, v as CustomPatternDefinitionSchema, w as CustomPatternMap, x as CustomPatternMapInput, y as CustomPatternMapSchema, D as DesignPreferences, z as DesignPreferencesInput, B as DesignPreferencesSchema, E as DesignTokens, F as DesignTokensInput, G as DesignTokensSchema, H as DomainCategory, I as DomainCategorySchema, J as DomainContext, K as DomainContextInput, L as DomainContextSchema, M as DomainVocabulary, N as DomainVocabularySchema, P as ENTITY_ROLES, Q as Effect, R as EffectInput, S as EffectSchema, T as Entity, U as EntityField, V as EntityFieldInput, W as EntityFieldSchema, X as EntityPersistence, Y as EntityPersistenceSchema, Z as EntityRef, _ as EntityRefSchema, $ as EntityRefStringSchema, a0 as EntityRole, a1 as EntityRoleSchema, a2 as EntitySchema, a3 as EntitySemanticRole, a4 as EntitySemanticRoleSchema, a5 as Event, a6 as EventInput, a7 as EventListener, a8 as EventListenerSchema, a9 as EventPayloadField, aa as EventPayloadFieldSchema, ab as EventSchema, ac as EventScope, ad as EventScopeSchema, ae as EventSemanticRole, af as EventSemanticRoleSchema, ag as EventSource, ah as EventSourceSchema, ai as Expression, aj as ExpressionInput, ak as ExpressionSchema, al as Field, am as FieldFormat, an as FieldFormatSchema, ao as FieldSchema, ap as FieldType, aq as FieldTypeSchema, ar as FullOrbitalUnit, as as GAME_TYPES, at as GameSubCategory, au as GameSubCategorySchema, av as GameType, aw as GameTypeSchema, ax as Guard, ay as GuardInput, az as GuardSchema, aA as McpServiceDef, aB as McpServiceDefSchema, aC as NodeClassification, aD as NodeClassificationSchema, ar as Orbital, aE as OrbitalConfig, aF as OrbitalConfigInput, aG as OrbitalConfigSchema, aH as OrbitalDefinition, aI as OrbitalDefinitionSchema, aJ as OrbitalEntity, aK as OrbitalEntityInput, aL as OrbitalEntitySchema, aM as OrbitalInput, aN as OrbitalPage, aO as OrbitalPageInput, aP as OrbitalPageSchema, aQ as OrbitalPageStrictInput, aR as OrbitalPageStrictSchema, O as OrbitalSchema, aS as OrbitalSchemaInput, aT as OrbitalSchemaSchema, aU as OrbitalTraitRef, aV as OrbitalTraitRefSchema, aW as OrbitalUnit, aX as OrbitalUnitSchema, aY as OrbitalZodSchema, aZ as Page, a_ as PageRef, a$ as PageRefObject, b0 as PageRefObjectSchema, b1 as PageRefSchema, b2 as PageRefStringSchema, b3 as PageSchema, b4 as PageTraitRef, b5 as PageTraitRefSchema, b6 as ParsedBinding, b7 as PayloadField, b8 as PayloadFieldSchema, b9 as PresentationType, ba as RelatedLink, bb as RelatedLinkSchema, bc as RelationConfig, bd as RelationConfigSchema, be as RenderUIConfig, bf as RequiredField, bg as RequiredFieldSchema, bh as ResolvedAsset, bi as ResolvedAssetInput, bj as ResolvedAssetSchema, bk as RestAuthConfig, bl as RestAuthConfigSchema, bm as RestServiceDef, bn as RestServiceDefSchema, bo as SERVICE_TYPES, bq as SExprAtom, br as SExprAtomSchema, bs as SExprInput, bt as SExprSchema, bu as SemanticAssetRef, bv as SemanticAssetRefInput, bw as SemanticAssetRefSchema, bx as ServiceDefinition, by as ServiceDefinitionSchema, bz as ServiceRef, bA as ServiceRefSchema, bB as ServiceRefStringSchema, bC as ServiceType, bD as ServiceTypeSchema, bE as SocketEvents, bF as SocketEventsSchema, bG as SocketServiceDef, bH as SocketServiceDefSchema, bI as State, bJ as StateInput, bK as StateMachine, bL as StateMachineInput, bM as StateMachineSchema, bN as StateSchema, bO as StateSemanticRole, bP as StateSemanticRoleSchema, bQ as SuggestedGuard, bR as SuggestedGuardSchema, bS as ThemeDefinition, bT as ThemeDefinitionSchema, bU as ThemeRef, bV as ThemeRefSchema, bW as ThemeRefStringSchema, bX as ThemeTokens, bY as ThemeTokensSchema, bZ as ThemeVariant, b_ as ThemeVariantSchema, b$ as Trait, c0 as TraitCategory, c1 as TraitCategorySchema, c2 as TraitDataEntity, c3 as TraitDataEntitySchema, c4 as TraitEntityField, c5 as TraitEntityFieldSchema, c6 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-zGCZtr5W.js';
1
+ import { bp as SExpr } from '../schema-DYj-zJWb.js';
2
+ export { A as AGENT_DOMAIN_CATEGORIES, a as ALLOWED_CUSTOM_COMPONENTS, b as AgentDomainCategory, c as AgentDomainCategorySchema, d as AllowedCustomComponent, e as AnimationDef, f as AnimationDefInput, g as AnimationDefSchema, O as AppSchema, h as AssetMap, i as AssetMapInput, j as AssetMapSchema, k as AssetMapping, l as AssetMappingInput, m as AssetMappingSchema, C as CORE_BINDINGS, n as CallServiceConfig, o as ComputedEventContract, p as ComputedEventContractSchema, q as ComputedEventListener, r as ComputedEventListenerSchema, s as CoreBinding, t as CustomPatternDefinition, u as CustomPatternDefinitionInput, v as CustomPatternDefinitionSchema, w as CustomPatternMap, x as CustomPatternMapInput, y as CustomPatternMapSchema, D as DesignPreferences, z as DesignPreferencesInput, B as DesignPreferencesSchema, E as DesignTokens, F as DesignTokensInput, G as DesignTokensSchema, H as DomainCategory, I as DomainCategorySchema, J as DomainContext, K as DomainContextInput, L as DomainContextSchema, M as DomainVocabulary, N as DomainVocabularySchema, P as ENTITY_ROLES, Q as Effect, R as EffectInput, S as EffectSchema, T as Entity, U as EntityField, V as EntityFieldInput, W as EntityFieldSchema, X as EntityPersistence, Y as EntityPersistenceSchema, Z as EntityRef, _ as EntityRefSchema, $ as EntityRefStringSchema, a0 as EntityRole, a1 as EntityRoleSchema, a2 as EntitySchema, a3 as EntitySemanticRole, a4 as EntitySemanticRoleSchema, a5 as Event, a6 as EventInput, a7 as EventListener, a8 as EventListenerSchema, a9 as EventPayloadField, aa as EventPayloadFieldSchema, ab as EventSchema, ac as EventScope, ad as EventScopeSchema, ae as EventSemanticRole, af as EventSemanticRoleSchema, ag as EventSource, ah as EventSourceSchema, ai as Expression, aj as ExpressionInput, ak as ExpressionSchema, al as Field, am as FieldFormat, an as FieldFormatSchema, ao as FieldSchema, ap as FieldType, aq as FieldTypeSchema, ar as FullOrbitalUnit, as as GAME_TYPES, at as GameSubCategory, au as GameSubCategorySchema, av as GameType, aw as GameTypeSchema, ax as Guard, ay as GuardInput, az as GuardSchema, aA as McpServiceDef, aB as McpServiceDefSchema, aC as NodeClassification, aD as NodeClassificationSchema, ar as Orbital, aE as OrbitalConfig, aF as OrbitalConfigInput, aG as OrbitalConfigSchema, aH as OrbitalDefinition, aI as OrbitalDefinitionSchema, aJ as OrbitalEntity, aK as OrbitalEntityInput, aL as OrbitalEntitySchema, aM as OrbitalInput, aN as OrbitalPage, aO as OrbitalPageInput, aP as OrbitalPageSchema, aQ as OrbitalPageStrictInput, aR as OrbitalPageStrictSchema, O as OrbitalSchema, aS as OrbitalSchemaInput, aT as OrbitalSchemaSchema, aU as OrbitalTraitRef, aV as OrbitalTraitRefSchema, aW as OrbitalUnit, aX as OrbitalUnitSchema, aY as OrbitalZodSchema, aZ as Page, a_ as PageRef, a$ as PageRefObject, b0 as PageRefObjectSchema, b1 as PageRefSchema, b2 as PageRefStringSchema, b3 as PageSchema, b4 as PageTraitRef, b5 as PageTraitRefSchema, b6 as ParsedBinding, b7 as PayloadField, b8 as PayloadFieldSchema, b9 as PresentationType, ba as RelatedLink, bb as RelatedLinkSchema, bc as RelationConfig, bd as RelationConfigSchema, be as RenderUIConfig, bf as RequiredField, bg as RequiredFieldSchema, bh as ResolvedAsset, bi as ResolvedAssetInput, bj as ResolvedAssetSchema, bk as RestAuthConfig, bl as RestAuthConfigSchema, bm as RestServiceDef, bn as RestServiceDefSchema, bo as SERVICE_TYPES, bq as SExprAtom, br as SExprAtomSchema, bs as SExprInput, bt as SExprSchema, bu as SemanticAssetRef, bv as SemanticAssetRefInput, bw as SemanticAssetRefSchema, bx as ServiceDefinition, by as ServiceDefinitionSchema, bz as ServiceRef, bA as ServiceRefSchema, bB as ServiceRefStringSchema, bC as ServiceType, bD as ServiceTypeSchema, bE as SocketEvents, bF as SocketEventsSchema, bG as SocketServiceDef, bH as SocketServiceDefSchema, bI as State, bJ as StateInput, bK as StateMachine, bL as StateMachineInput, bM as StateMachineSchema, bN as StateSchema, bO as StateSemanticRole, bP as StateSemanticRoleSchema, bQ as SuggestedGuard, bR as SuggestedGuardSchema, bS as ThemeDefinition, bT as ThemeDefinitionSchema, bU as ThemeRef, bV as ThemeRefSchema, bW as ThemeRefStringSchema, bX as ThemeTokens, bY as ThemeTokensSchema, bZ as ThemeVariant, b_ as ThemeVariantSchema, b$ as Trait, c0 as TraitCategory, c1 as TraitCategorySchema, c2 as TraitDataEntity, c3 as TraitDataEntitySchema, c4 as TraitEntityField, c5 as TraitEntityFieldSchema, c6 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-DYj-zJWb.js';
3
3
  import { z } from 'zod';
4
4
  export { CATEGORIES, CategoryMeta, OPERATORS, OPERATORS_SCHEMA, OPERATOR_NAMES, OperatorCategory, OperatorMeta, OperatorStats, OperatorsSchema, TargetPlatform, getOperatorMeta, getOperatorStats, getOperatorsByCategory, getOperatorsForTarget, isEffectOperator, isGuardOperator, isKnownOperator, validateOperatorArity } from '@almadar/operators';
5
5
  export { PATTERN_TYPES, PatternConfig, PatternType, isValidPatternType } from '@almadar/patterns';
@@ -17,11 +17,30 @@ var FieldTypeSchema = z.enum([
17
17
  "enum",
18
18
  "relation"
19
19
  ]);
20
+ var RelationCardinalitySchema = z.enum([
21
+ "one",
22
+ "many",
23
+ "one-to-many",
24
+ "many-to-one",
25
+ "many-to-many"
26
+ ]);
20
27
  var RelationConfigSchema = z.object({
21
28
  entity: z.string().min(1, "Target entity is required"),
22
29
  field: z.string().optional(),
23
- cardinality: z.enum(["one", "many"]).optional(),
24
- onDelete: z.enum(["cascade", "nullify", "restrict"]).optional()
30
+ cardinality: RelationCardinalitySchema.optional(),
31
+ onDelete: z.enum(["cascade", "nullify", "restrict"]).optional(),
32
+ // Legacy compatibility fields
33
+ foreignKey: z.string().optional(),
34
+ target: z.string().optional(),
35
+ type: RelationCardinalitySchema.optional()
36
+ }).transform((data) => {
37
+ const normalized = {
38
+ entity: data.entity || data.target || "",
39
+ cardinality: data.cardinality || data.type,
40
+ field: data.field,
41
+ onDelete: data.onDelete
42
+ };
43
+ return normalized;
25
44
  });
26
45
  var FieldFormatSchema = z.enum([
27
46
  "email",