@almadar/core 10.78.0 → 10.79.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.js CHANGED
@@ -1032,6 +1032,7 @@ var TraitEventContractSchema = z.object({
1032
1032
  synonyms: z.string().optional(),
1033
1033
  tier: z.string().optional(),
1034
1034
  definerKnob: z.string().optional(),
1035
+ scopeOverridden: z.boolean().optional(),
1035
1036
  payloadSchema: z.array(EventPayloadFieldSchema).optional(),
1036
1037
  scope: EventScopeSchema.optional()
1037
1038
  });
@@ -1085,6 +1086,11 @@ var TraitReferenceSchema = z.object({
1085
1086
  z.string().min(1, "events value (caller event name) must be non-empty")
1086
1087
  ).optional(),
1087
1088
  eventIds: z.record(z.string().min(1), EventIdSchema).optional(),
1089
+ // 3-II type-parameter arguments (see `TraitReference.typeArgs`).
1090
+ typeArgs: z.record(
1091
+ z.string().min(1, "typeArgs key (declared param name) must be non-empty"),
1092
+ z.string().min(1, "typeArgs value (type name) must be non-empty")
1093
+ ).optional(),
1088
1094
  fields: z.record(
1089
1095
  z.string().min(1, "fields key (canonical field name) must be non-empty"),
1090
1096
  z.string().min(1, "fields value (consumer field name) must be non-empty")
@@ -1145,6 +1151,11 @@ var SourceBehaviorMetadataSchema = z.object({
1145
1151
  alias: z.string().min(1),
1146
1152
  originalName: z.string().min(1)
1147
1153
  });
1154
+ var TraitTypeParamDefSchema = z.object({
1155
+ name: z.string().min(1),
1156
+ kind: z.string().min(1),
1157
+ default: z.string().optional()
1158
+ });
1148
1159
  var TraitSchema = z.object({
1149
1160
  id: TraitIdSchema.optional(),
1150
1161
  name: z.string().min(1),
@@ -1171,7 +1182,8 @@ var TraitSchema = z.object({
1171
1182
  ui: TraitUIBindingSchema.optional(),
1172
1183
  config: DeclaredTraitConfigSchema.optional(),
1173
1184
  sourceBehavior: SourceBehaviorMetadataSchema.optional(),
1174
- sourceEntityDefinition: EntitySchema.optional()
1185
+ sourceEntityDefinition: EntitySchema.optional(),
1186
+ typeParams: z.array(TraitTypeParamDefSchema).optional()
1175
1187
  });
1176
1188
  var TraitRefSchema = z.union([
1177
1189
  z.string().min(1),
@@ -1933,7 +1945,8 @@ var OrbitalDefinitionSchema = z.object({
1933
1945
  // Context fields - persisted throughout orbital lifecycle
1934
1946
  domainContext: DomainContextSchema.optional(),
1935
1947
  design: DesignPreferencesSchema.optional(),
1936
- suggestedGuards: z.array(SuggestedGuardSchema).optional()
1948
+ suggestedGuards: z.array(SuggestedGuardSchema).optional(),
1949
+ types: z.record(z.string(), z.array(EventPayloadFieldSchema)).optional()
1937
1950
  });
1938
1951
  var OrbitalSchema = OrbitalDefinitionSchema;
1939
1952
  function isOrbitalDefinition(orbital) {
@@ -2283,7 +2296,7 @@ function getInteractionModelForDomain(domain) {
2283
2296
  // src/patterns/patterns-registry.json
2284
2297
  var patterns_registry_default = {
2285
2298
  version: "1.0.0",
2286
- exportedAt: "2026-09-01T15:15:34.310Z",
2299
+ exportedAt: "2026-09-02T02:13:40.776Z",
2287
2300
  patterns: {
2288
2301
  "entity-table": {
2289
2302
  type: "entity-table",
@@ -3087,7 +3100,8 @@ var patterns_registry_default = {
3087
3100
  types: [
3088
3101
  "object"
3089
3102
  ],
3090
- freeform: true
3103
+ freeform: true,
3104
+ controlValue: true
3091
3105
  }
3092
3106
  }
3093
3107
  },
@@ -4452,7 +4466,8 @@ var patterns_registry_default = {
4452
4466
  types: [
4453
4467
  "object"
4454
4468
  ],
4455
- freeform: true
4469
+ freeform: true,
4470
+ controlValue: true
4456
4471
  },
4457
4472
  options: {
4458
4473
  types: [
@@ -4895,7 +4910,8 @@ var patterns_registry_default = {
4895
4910
  types: [
4896
4911
  "object"
4897
4912
  ],
4898
- freeform: true
4913
+ freeform: true,
4914
+ controlValue: true
4899
4915
  }
4900
4916
  },
4901
4917
  globalVariables: {
@@ -4906,7 +4922,8 @@ var patterns_registry_default = {
4906
4922
  types: [
4907
4923
  "object"
4908
4924
  ],
4909
- freeform: true
4925
+ freeform: true,
4926
+ controlValue: true
4910
4927
  }
4911
4928
  },
4912
4929
  localVariables: {
@@ -4917,7 +4934,8 @@ var patterns_registry_default = {
4917
4934
  types: [
4918
4935
  "object"
4919
4936
  ],
4920
- freeform: true
4937
+ freeform: true,
4938
+ controlValue: true
4921
4939
  }
4922
4940
  },
4923
4941
  entity: {
@@ -4928,7 +4946,8 @@ var patterns_registry_default = {
4928
4946
  types: [
4929
4947
  "object"
4930
4948
  ],
4931
- freeform: true
4949
+ freeform: true,
4950
+ controlValue: true
4932
4951
  }
4933
4952
  }
4934
4953
  },
@@ -5010,7 +5029,8 @@ var patterns_registry_default = {
5010
5029
  types: [
5011
5030
  "object"
5012
5031
  ],
5013
- freeform: true
5032
+ freeform: true,
5033
+ controlValue: true
5014
5034
  },
5015
5035
  options: {
5016
5036
  types: [
@@ -5214,7 +5234,8 @@ var patterns_registry_default = {
5214
5234
  types: [
5215
5235
  "object"
5216
5236
  ],
5217
- freeform: true
5237
+ freeform: true,
5238
+ controlValue: true
5218
5239
  }
5219
5240
  }
5220
5241
  },
@@ -5372,7 +5393,8 @@ var patterns_registry_default = {
5372
5393
  types: [
5373
5394
  "object"
5374
5395
  ],
5375
- freeform: true
5396
+ freeform: true,
5397
+ controlValue: true
5376
5398
  },
5377
5399
  options: {
5378
5400
  types: [
@@ -5815,7 +5837,8 @@ var patterns_registry_default = {
5815
5837
  types: [
5816
5838
  "object"
5817
5839
  ],
5818
- freeform: true
5840
+ freeform: true,
5841
+ controlValue: true
5819
5842
  }
5820
5843
  },
5821
5844
  globalVariables: {
@@ -5826,7 +5849,8 @@ var patterns_registry_default = {
5826
5849
  types: [
5827
5850
  "object"
5828
5851
  ],
5829
- freeform: true
5852
+ freeform: true,
5853
+ controlValue: true
5830
5854
  }
5831
5855
  },
5832
5856
  localVariables: {
@@ -5837,7 +5861,8 @@ var patterns_registry_default = {
5837
5861
  types: [
5838
5862
  "object"
5839
5863
  ],
5840
- freeform: true
5864
+ freeform: true,
5865
+ controlValue: true
5841
5866
  }
5842
5867
  },
5843
5868
  entity: {
@@ -5848,7 +5873,8 @@ var patterns_registry_default = {
5848
5873
  types: [
5849
5874
  "object"
5850
5875
  ],
5851
- freeform: true
5876
+ freeform: true,
5877
+ controlValue: true
5852
5878
  }
5853
5879
  }
5854
5880
  },
@@ -5930,7 +5956,8 @@ var patterns_registry_default = {
5930
5956
  types: [
5931
5957
  "object"
5932
5958
  ],
5933
- freeform: true
5959
+ freeform: true,
5960
+ controlValue: true
5934
5961
  },
5935
5962
  options: {
5936
5963
  types: [
@@ -6134,7 +6161,8 @@ var patterns_registry_default = {
6134
6161
  types: [
6135
6162
  "object"
6136
6163
  ],
6137
- freeform: true
6164
+ freeform: true,
6165
+ controlValue: true
6138
6166
  }
6139
6167
  }
6140
6168
  },
@@ -7435,20 +7463,50 @@ var patterns_registry_default = {
7435
7463
  },
7436
7464
  defaultValue: {
7437
7465
  types: [
7466
+ "string",
7467
+ "number",
7468
+ "boolean",
7469
+ "array",
7438
7470
  "object"
7439
7471
  ],
7440
- freeform: true
7472
+ items: {
7473
+ types: [
7474
+ "string"
7475
+ ]
7476
+ },
7477
+ properties: {
7478
+ name: {
7479
+ types: [
7480
+ "string"
7481
+ ]
7482
+ },
7483
+ url: {
7484
+ types: [
7485
+ "string"
7486
+ ]
7487
+ },
7488
+ mimeType: {
7489
+ types: [
7490
+ "string"
7491
+ ]
7492
+ },
7493
+ sizeBytes: {
7494
+ types: [
7495
+ "number"
7496
+ ]
7497
+ }
7498
+ },
7499
+ required: [
7500
+ "name",
7501
+ "url",
7502
+ "mimeType",
7503
+ "sizeBytes"
7504
+ ]
7441
7505
  },
7442
7506
  condition: {
7443
7507
  types: [
7444
- "array"
7445
- ],
7446
- items: {
7447
- types: [
7448
- "object"
7449
- ],
7450
- freeform: true
7451
- }
7508
+ "sexpr"
7509
+ ]
7452
7510
  },
7453
7511
  placeholder: {
7454
7512
  types: [
@@ -7474,7 +7532,13 @@ var patterns_registry_default = {
7474
7532
  types: [
7475
7533
  "object"
7476
7534
  ],
7477
- freeform: true
7535
+ mapValue: {
7536
+ types: [
7537
+ "object"
7538
+ ],
7539
+ freeform: true,
7540
+ controlValue: true
7541
+ }
7478
7542
  },
7479
7543
  displayFields: {
7480
7544
  types: [
@@ -7490,7 +7554,13 @@ var patterns_registry_default = {
7490
7554
  types: [
7491
7555
  "object"
7492
7556
  ],
7493
- freeform: true
7557
+ mapValue: {
7558
+ types: [
7559
+ "object"
7560
+ ],
7561
+ freeform: true,
7562
+ controlValue: true
7563
+ }
7494
7564
  },
7495
7565
  hiddenCalculations: {
7496
7566
  types: [
@@ -7527,19 +7597,37 @@ var patterns_registry_default = {
7527
7597
  types: [
7528
7598
  "object"
7529
7599
  ],
7530
- freeform: true
7600
+ mapValue: {
7601
+ types: [
7602
+ "object"
7603
+ ],
7604
+ freeform: true,
7605
+ controlValue: true
7606
+ }
7531
7607
  },
7532
7608
  displayTemplate: {
7533
7609
  types: [
7534
7610
  "object"
7535
7611
  ],
7536
- freeform: true
7612
+ mapValue: {
7613
+ types: [
7614
+ "object"
7615
+ ],
7616
+ freeform: true,
7617
+ controlValue: true
7618
+ }
7537
7619
  },
7538
7620
  lawReference: {
7539
7621
  types: [
7540
7622
  "object"
7541
7623
  ],
7542
- freeform: true
7624
+ mapValue: {
7625
+ types: [
7626
+ "object"
7627
+ ],
7628
+ freeform: true,
7629
+ controlValue: true
7630
+ }
7543
7631
  },
7544
7632
  contextMenu: {
7545
7633
  types: [
@@ -7555,7 +7643,13 @@ var patterns_registry_default = {
7555
7643
  types: [
7556
7644
  "object"
7557
7645
  ],
7558
- freeform: true
7646
+ mapValue: {
7647
+ types: [
7648
+ "object"
7649
+ ],
7650
+ freeform: true,
7651
+ controlValue: true
7652
+ }
7559
7653
  },
7560
7654
  readOnly: {
7561
7655
  types: [
@@ -7564,9 +7658,8 @@ var patterns_registry_default = {
7564
7658
  },
7565
7659
  minDate: {
7566
7660
  types: [
7567
- "object"
7568
- ],
7569
- freeform: true
7661
+ "string"
7662
+ ]
7570
7663
  },
7571
7664
  stats: {
7572
7665
  types: [
@@ -7584,9 +7677,45 @@ var patterns_registry_default = {
7584
7677
  },
7585
7678
  value: {
7586
7679
  types: [
7680
+ "string",
7681
+ "number",
7682
+ "boolean",
7683
+ "array",
7587
7684
  "object"
7588
7685
  ],
7589
- freeform: true
7686
+ items: {
7687
+ types: [
7688
+ "string"
7689
+ ]
7690
+ },
7691
+ properties: {
7692
+ name: {
7693
+ types: [
7694
+ "string"
7695
+ ]
7696
+ },
7697
+ url: {
7698
+ types: [
7699
+ "string"
7700
+ ]
7701
+ },
7702
+ mimeType: {
7703
+ types: [
7704
+ "string"
7705
+ ]
7706
+ },
7707
+ sizeBytes: {
7708
+ types: [
7709
+ "number"
7710
+ ]
7711
+ }
7712
+ },
7713
+ required: [
7714
+ "name",
7715
+ "url",
7716
+ "mimeType",
7717
+ "sizeBytes"
7718
+ ]
7590
7719
  },
7591
7720
  icon: {
7592
7721
  types: [
@@ -7621,9 +7750,8 @@ var patterns_registry_default = {
7621
7750
  },
7622
7751
  autoCheck: {
7623
7752
  types: [
7624
- "object"
7625
- ],
7626
- freeform: true
7753
+ "boolean"
7754
+ ]
7627
7755
  }
7628
7756
  },
7629
7757
  required: [
@@ -7652,14 +7780,8 @@ var patterns_registry_default = {
7652
7780
  },
7653
7781
  condition: {
7654
7782
  types: [
7655
- "array"
7656
- ],
7657
- items: {
7658
- types: [
7659
- "object"
7660
- ],
7661
- freeform: true
7662
- }
7783
+ "sexpr"
7784
+ ]
7663
7785
  },
7664
7786
  repeatable: {
7665
7787
  types: [
@@ -7711,7 +7833,13 @@ var patterns_registry_default = {
7711
7833
  types: [
7712
7834
  "object"
7713
7835
  ],
7714
- freeform: true
7836
+ mapValue: {
7837
+ types: [
7838
+ "object"
7839
+ ],
7840
+ freeform: true,
7841
+ controlValue: true
7842
+ }
7715
7843
  },
7716
7844
  readOnly: {
7717
7845
  types: [
@@ -7802,14 +7930,8 @@ var patterns_registry_default = {
7802
7930
  properties: {
7803
7931
  condition: {
7804
7932
  types: [
7805
- "array"
7806
- ],
7807
- items: {
7808
- types: [
7809
- "object"
7810
- ],
7811
- freeform: true
7812
- }
7933
+ "sexpr"
7934
+ ]
7813
7935
  },
7814
7936
  message: {
7815
7937
  types: [
@@ -12114,25 +12236,49 @@ var patterns_registry_default = {
12114
12236
  types: [
12115
12237
  "object"
12116
12238
  ],
12117
- freeform: true
12239
+ mapValue: {
12240
+ types: [
12241
+ "object"
12242
+ ],
12243
+ freeform: true,
12244
+ controlValue: true
12245
+ }
12118
12246
  },
12119
12247
  globalVariables: {
12120
12248
  types: [
12121
12249
  "object"
12122
12250
  ],
12123
- freeform: true
12251
+ mapValue: {
12252
+ types: [
12253
+ "object"
12254
+ ],
12255
+ freeform: true,
12256
+ controlValue: true
12257
+ }
12124
12258
  },
12125
12259
  localVariables: {
12126
12260
  types: [
12127
12261
  "object"
12128
12262
  ],
12129
- freeform: true
12263
+ mapValue: {
12264
+ types: [
12265
+ "object"
12266
+ ],
12267
+ freeform: true,
12268
+ controlValue: true
12269
+ }
12130
12270
  },
12131
12271
  entity: {
12132
12272
  types: [
12133
12273
  "object"
12134
12274
  ],
12135
- freeform: true
12275
+ mapValue: {
12276
+ types: [
12277
+ "object"
12278
+ ],
12279
+ freeform: true,
12280
+ controlValue: true
12281
+ }
12136
12282
  }
12137
12283
  },
12138
12284
  propertyRequired: [
@@ -22757,7 +22903,8 @@ var patterns_registry_default = {
22757
22903
  types: [
22758
22904
  "object"
22759
22905
  ],
22760
- freeform: true
22906
+ freeform: true,
22907
+ genericParam: true
22761
22908
  }
22762
22909
  },
22763
22910
  renderItem: {
@@ -23064,7 +23211,8 @@ var patterns_registry_default = {
23064
23211
  types: [
23065
23212
  "object"
23066
23213
  ],
23067
- freeform: true
23214
+ freeform: true,
23215
+ eventPayloadBrand: true
23068
23216
  }
23069
23217
  },
23070
23218
  required: [
@@ -23117,7 +23265,8 @@ var patterns_registry_default = {
23117
23265
  types: [
23118
23266
  "object"
23119
23267
  ],
23120
- freeform: true
23268
+ freeform: true,
23269
+ eventPayloadBrand: true
23121
23270
  }
23122
23271
  },
23123
23272
  required: [
@@ -23146,7 +23295,8 @@ var patterns_registry_default = {
23146
23295
  "object"
23147
23296
  ],
23148
23297
  description: "itemData prop",
23149
- freeform: true
23298
+ freeform: true,
23299
+ eventPayloadBrand: true
23150
23300
  },
23151
23301
  className: {
23152
23302
  types: [
@@ -32889,9 +33039,8 @@ var patterns_registry_default = {
32889
33039
  },
32890
33040
  guard: {
32891
33041
  types: [
32892
- "object"
32893
- ],
32894
- freeform: true
33042
+ "sexpr"
33043
+ ]
32895
33044
  },
32896
33045
  effects: {
32897
33046
  types: [
@@ -32913,9 +33062,8 @@ var patterns_registry_default = {
32913
33062
  ],
32914
33063
  items: {
32915
33064
  types: [
32916
- "object"
32917
- ],
32918
- freeform: true
33065
+ "sexpr"
33066
+ ]
32919
33067
  }
32920
33068
  }
32921
33069
  },
@@ -33261,9 +33409,8 @@ var patterns_registry_default = {
33261
33409
  },
33262
33410
  guard: {
33263
33411
  types: [
33264
- "object"
33265
- ],
33266
- freeform: true
33412
+ "sexpr"
33413
+ ]
33267
33414
  },
33268
33415
  effects: {
33269
33416
  types: [
@@ -33285,9 +33432,8 @@ var patterns_registry_default = {
33285
33432
  ],
33286
33433
  items: {
33287
33434
  types: [
33288
- "object"
33289
- ],
33290
- freeform: true
33435
+ "sexpr"
33436
+ ]
33291
33437
  }
33292
33438
  }
33293
33439
  },
@@ -51170,7 +51316,8 @@ var patterns_registry_default = {
51170
51316
  types: [
51171
51317
  "object"
51172
51318
  ],
51173
- freeform: true
51319
+ freeform: true,
51320
+ controlValue: true
51174
51321
  }
51175
51322
  },
51176
51323
  parentRef: {
@@ -53782,7 +53929,8 @@ var patterns_registry_default = {
53782
53929
  types: [
53783
53930
  "object"
53784
53931
  ],
53785
- freeform: true
53932
+ freeform: true,
53933
+ controlValue: true
53786
53934
  }
53787
53935
  }
53788
53936
  }
@@ -56766,7 +56914,7 @@ var integrators_registry_default = {
56766
56914
  // src/patterns/component-mapping.json
56767
56915
  var component_mapping_default = {
56768
56916
  version: "1.0.0",
56769
- exportedAt: "2026-09-01T15:15:34.310Z",
56917
+ exportedAt: "2026-09-02T02:13:40.776Z",
56770
56918
  mappings: {
56771
56919
  "page-header": {
56772
56920
  component: "PageHeader",
@@ -58186,7 +58334,7 @@ var component_mapping_default = {
58186
58334
  // src/patterns/event-contracts.json
58187
58335
  var event_contracts_default = {
58188
58336
  version: "1.0.0",
58189
- exportedAt: "2026-09-01T15:15:34.310Z",
58337
+ exportedAt: "2026-09-02T02:13:40.776Z",
58190
58338
  contracts: {
58191
58339
  form: {
58192
58340
  emits: [
@@ -59979,7 +60127,11 @@ function buildRecommendationContext(options) {
59979
60127
  slot: options.slot,
59980
60128
  domainCategory: options.domainCategory,
59981
60129
  entityFieldTypes: fieldTypes,
59982
- hasEnumFields: fields.some((f) => f.type === "enum" || f.values && f.values.length > 0),
60130
+ // Excludes `type: 'union'`: its `values` carries tagged-union variant
60131
+ // NAMES or a by-name recursive back-reference, never a real enum
60132
+ // vocabulary — counting it here would recommend enum-oriented patterns
60133
+ // (filter-group/tabs/badge) for a struct union or recursive struct field.
60134
+ hasEnumFields: fields.some((f) => f.type === "enum" || f.type !== "union" && f.values && f.values.length > 0),
59983
60135
  hasDateFields: fields.some((f) => ["date", "datetime", "timestamp"].includes(f.type)),
59984
60136
  hasNumericFields: fields.some((f) => ["number", "integer", "float", "decimal", "currency"].includes(f.type)),
59985
60137
  hasRelationFields: fields.some((f) => f.type === "relation"),
@@ -60643,9 +60795,15 @@ function schemaToIR(schema, useCache = true) {
60643
60795
  required: field.required ?? false,
60644
60796
  // lolo string unions lower to `type:'string'` + a `values` sidecar
60645
60797
  // (FieldType::Enum is never emitted) — read values off any variant
60646
- // that carries them, not just `enum`.
60647
- values: "values" in field && field.values?.length ? field.values : void 0,
60648
- enumValues: "values" in field && field.values?.length ? field.values : void 0,
60798
+ // that carries them, not just `enum`. EXCLUDES `type:'union'`
60799
+ // deliberately: its `values` carries tagged-union variant NAMES or a
60800
+ // by-name recursive back-reference (`type MenuItem = { subMenu :
60801
+ // [MenuItem] }`), never legal literal values — treating either as
60802
+ // an enum vocabulary would let a downstream option-list render the
60803
+ // variant/alias NAME as if it were a selectable value (mirrors the
60804
+ // Rust-side skip in `orbital-core/src/type_compat.rs`).
60805
+ values: field.type !== "union" && "values" in field && field.values?.length ? field.values : void 0,
60806
+ enumValues: field.type !== "union" && "values" in field && field.values?.length ? field.values : void 0,
60649
60807
  relation: field.type === "relation" ? field.relation : void 0
60650
60808
  })),
60651
60809
  runtime: entityDef.persistence === "runtime",