@almadar/core 11.3.0 → 11.5.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.
Files changed (91) hide show
  1. package/dist/behavior-package.js +1 -3
  2. package/dist/{builders-DXPLnmJy.d.ts → builders-JiXD6W1T.d.ts} +2266 -98
  3. package/dist/builders.d.ts +5 -5
  4. package/dist/builders.js +8 -10
  5. package/dist/{bus-CRxTnebm.d.ts → bus-__zVNcsp.d.ts} +133 -438
  6. package/dist/{chunk-DNS4GKQV.js → chunk-27Y5AXHB.js} +71 -45
  7. package/dist/chunk-2WLRKYD5.js +3823 -0
  8. package/dist/{chunk-B4MNHGBP.js → chunk-5IRZ6ROW.js} +0 -2
  9. package/dist/{chunk-7NDAXM2Z.js → chunk-6XYHVJ4J.js} +1 -3
  10. package/dist/{chunk-RGACZEYC.js → chunk-DDBAQMWA.js} +0 -2
  11. package/dist/{chunk-7GHJU5WI.js → chunk-GNLND5O2.js} +0 -2
  12. package/dist/{chunk-M4S2B5VJ.js → chunk-IU3WGC6Q.js} +0 -2
  13. package/dist/{chunk-LPJ7GKRM.js → chunk-J64IR3DR.js} +17 -9
  14. package/dist/{chunk-PYYHDYTD.js → chunk-J64YVVB4.js} +1 -3
  15. package/dist/{chunk-7B4JRMRL.js → chunk-JN3MMQTB.js} +15 -7
  16. package/dist/{chunk-VIHQKKTZ.js → chunk-LQZXCL47.js} +66 -32
  17. package/dist/{chunk-6H3UIZR2.js → chunk-OQ3Y5SL3.js} +4 -6
  18. package/dist/{chunk-3DZOFI53.js → chunk-Q4OJQNYY.js} +5 -4
  19. package/dist/{chunk-347APWFM.js → chunk-R3Y7ABF4.js} +2 -4
  20. package/dist/{chunk-N3CK4AYW.js → chunk-VC3HXUWQ.js} +7929 -404
  21. package/dist/{chunk-2NKK2X53.js → chunk-VQWE3FCB.js} +1 -3
  22. package/dist/{chunk-VG7BRFUD.js → chunk-W3UJRSYC.js} +0 -2
  23. package/dist/{chunk-XBWV3DXX.js → chunk-XYHBAUWE.js} +242 -10
  24. package/dist/{effect-C2VKm6kk.d.ts → effect-gddySYLX.d.ts} +215 -18
  25. package/dist/{effect-result-BFNANDJ-.d.ts → effect-result-BvBwmspK.d.ts} +131 -43
  26. package/dist/{expression-DirYKz-f.d.ts → expression-DxY6ct3t.d.ts} +1 -1
  27. package/dist/factory/index.d.ts +3 -3
  28. package/dist/factory/index.js +8 -10
  29. package/dist/factory-runtime/index.d.ts +3 -3
  30. package/dist/factory-runtime/index.js +15 -17
  31. package/dist/fixtures.d.ts +8 -7
  32. package/dist/fixtures.js +6 -8
  33. package/dist/i18n/index.js +2 -4
  34. package/dist/{index-DuHpwitt.d.ts → index-h6KrpmjR.d.ts} +23 -10
  35. package/dist/index.d.ts +15 -17
  36. package/dist/index.js +23 -25
  37. package/dist/kernel-wire.d.ts +3 -3
  38. package/dist/kernel-wire.js +3 -5
  39. package/dist/language/constructs.json +18 -3
  40. package/dist/language/program-types.json +28 -1
  41. package/dist/language/validation-codes.json +231 -1
  42. package/dist/language/vocabulary.json +63 -1
  43. package/dist/language-data.js +3 -5
  44. package/dist/lolo-document/index.js +0 -2
  45. package/dist/patterns/component-mapping.json +11 -1
  46. package/dist/patterns/definitions.d.ts +2 -2
  47. package/dist/patterns/definitions.js +1 -3
  48. package/dist/patterns/event-contracts.json +1 -1
  49. package/dist/patterns/index.d.ts +47 -3
  50. package/dist/patterns/index.js +3 -5
  51. package/dist/patterns/patterns-registry.json +7929 -402
  52. package/dist/patterns/registry.json +7929 -402
  53. package/dist/themes/index.js +2 -4
  54. package/dist/{trait-Cv3HTGFL.d.ts → trait-Oun4JgeZ.d.ts} +52 -22
  55. package/dist/types/index.d.ts +8 -8
  56. package/dist/types/index.js +12 -14
  57. package/dist/{types-wWEqi7vj.d.ts → types-B-r7Z7Lf.d.ts} +3 -3
  58. package/package.json +6 -6
  59. package/dist/behavior-package.js.map +0 -1
  60. package/dist/builders.js.map +0 -1
  61. package/dist/chunk-2NKK2X53.js.map +0 -1
  62. package/dist/chunk-347APWFM.js.map +0 -1
  63. package/dist/chunk-3DZOFI53.js.map +0 -1
  64. package/dist/chunk-6H3UIZR2.js.map +0 -1
  65. package/dist/chunk-7B4JRMRL.js.map +0 -1
  66. package/dist/chunk-7GHJU5WI.js.map +0 -1
  67. package/dist/chunk-7NDAXM2Z.js.map +0 -1
  68. package/dist/chunk-B4MNHGBP.js.map +0 -1
  69. package/dist/chunk-DNS4GKQV.js.map +0 -1
  70. package/dist/chunk-LPJ7GKRM.js.map +0 -1
  71. package/dist/chunk-M4S2B5VJ.js.map +0 -1
  72. package/dist/chunk-N3CK4AYW.js.map +0 -1
  73. package/dist/chunk-PYYHDYTD.js.map +0 -1
  74. package/dist/chunk-RGACZEYC.js.map +0 -1
  75. package/dist/chunk-VG7BRFUD.js.map +0 -1
  76. package/dist/chunk-VIHQKKTZ.js.map +0 -1
  77. package/dist/chunk-XBWV3DXX.js.map +0 -1
  78. package/dist/chunk-ZDIHVDTW.js +0 -3810
  79. package/dist/chunk-ZDIHVDTW.js.map +0 -1
  80. package/dist/factory/index.js.map +0 -1
  81. package/dist/factory-runtime/index.js.map +0 -1
  82. package/dist/fixtures.js.map +0 -1
  83. package/dist/i18n/index.js.map +0 -1
  84. package/dist/index.js.map +0 -1
  85. package/dist/kernel-wire.js.map +0 -1
  86. package/dist/language-data.js.map +0 -1
  87. package/dist/lolo-document/index.js.map +0 -1
  88. package/dist/patterns/definitions.js.map +0 -1
  89. package/dist/patterns/index.js.map +0 -1
  90. package/dist/themes/index.js.map +0 -1
  91. package/dist/types/index.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { mergeCallSiteConfigOverrides, parseOrbitalSchema, isOrbitalValue, OrbitalValueSchema, isInlineTrait, isEntityReference, parseEntityRef, isEntityCall } from './chunk-LPJ7GKRM.js';
1
+ import { mergeCallSiteConfigOverrides, parseOrbitalSchema, isOrbitalValue, OrbitalValueSchema, isInlineTrait, isEntityReference, parseEntityRef, isEntityCall } from './chunk-J64IR3DR.js';
2
2
 
3
3
  // src/builders/apply-config-overrides.ts
4
4
  function overrideTrait(trait, values) {
@@ -408,5 +408,3 @@ function pipe(orbitals, events, appName) {
408
408
  }
409
409
 
410
410
  export { ORBITAL_VALUE_IMPORT_ALIAS, applyTraitConfigOverrides, compose, connect, ensureIdField, extractTrait, makeAtomOrbital, makeEntity, makeLayoutTrait, makeOrbital, makeOrbitalWithUses, makePage, makePageRef, makeRenderUI, makeSchema, makeSlot, makeTraitRef, mergeOrbitals, orbitalImportFromValue, parseProgram, pipe, plural, wire };
411
- //# sourceMappingURL=chunk-2NKK2X53.js.map
412
- //# sourceMappingURL=chunk-2NKK2X53.js.map
@@ -148,5 +148,3 @@ var IdentityLedgerSchema = z.object({
148
148
  });
149
149
 
150
150
  export { EntityIdSchema, EventIdSchema, IdentityLedgerSchema, LedgerEntrySchema, LedgerKindSchema, OrbitalIdSchema, PageIdSchema, PaletteEntryIdSchema, ServiceIdSchema, ThemeIdSchema, TraitIdSchema, asEntityId, asEventId, asOrbitalId, asPageId, asPaletteEntryId, asServiceId, asThemeId, asTraitId, idKindOf, idPrefix, isEntityId, isEventId, isOrbitalId, isPageId, isPaletteEntryId, isServiceId, isThemeId, isTraitId, ledgerCurName, ledgerRename, ledgerResolveName, mintId, mintUlid };
151
- //# sourceMappingURL=chunk-VG7BRFUD.js.map
152
- //# sourceMappingURL=chunk-VG7BRFUD.js.map
@@ -1,7 +1,7 @@
1
- import { OrbitalSchemaSchema, SourceDeclarationMetadataSchema } from './chunk-LPJ7GKRM.js';
2
- import { FieldValueSchema, EntityRowSchema, SERVER_REPORTED_EFFECTS } from './chunk-7B4JRMRL.js';
3
- import { EventPayloadValueSchema, EventPayloadSchema } from './chunk-347APWFM.js';
4
- import { JsonValueSchema, isJsonObject } from './chunk-7GHJU5WI.js';
1
+ import { OrbitalSchemaSchema, SourceDeclarationMetadataSchema } from './chunk-J64IR3DR.js';
2
+ import { FieldValueSchema, EntityRowSchema, SERVER_REPORTED_EFFECTS } from './chunk-JN3MMQTB.js';
3
+ import { EventPayloadValueSchema, EventPayloadSchema } from './chunk-R3Y7ABF4.js';
4
+ import { JsonValueSchema, isJsonObject } from './chunk-GNLND5O2.js';
5
5
  import { z } from 'zod';
6
6
 
7
7
  // src/types/observability.ts
@@ -675,6 +675,7 @@ function guardHolds(check, onError) {
675
675
  return false;
676
676
  }
677
677
  }
678
+ var ServerEffectCodeSchema = z.enum(["not-found", "no-row-key", "duplicate-id", "denied", "derived-failed"]);
678
679
  var ServerBatchSummarySchema = z.object({
679
680
  operations: z.array(EntityRowSchema),
680
681
  completedCount: z.number(),
@@ -689,7 +690,7 @@ var ServerEffectResultSchema = z.object({
689
690
  success: z.boolean(),
690
691
  denied: z.literal(true).optional(),
691
692
  error: z.string().optional(),
692
- code: z.enum(["not-found", "no-row-key", "duplicate-id", "denied", "derived-failed"]).optional(),
693
+ code: ServerEffectCodeSchema.optional(),
693
694
  target: z.string().optional(),
694
695
  routed: z.string().optional()
695
696
  });
@@ -925,6 +926,11 @@ var validation_codes_default = [
925
926
  category: "effect",
926
927
  description: "one dispatch's delegated effects reach browser-stored rows and server work"
927
928
  },
929
+ {
930
+ code: "ORB_LANGUAGE_DATA_FAULT",
931
+ category: "effect",
932
+ description: "the installed language data cannot answer a lookup the validated program needs"
933
+ },
928
934
  {
929
935
  code: "ORB_EFF_SLOT_CONFLICT",
930
936
  category: "effect",
@@ -1060,6 +1066,11 @@ var validation_codes_default = [
1060
1066
  category: "binding",
1061
1067
  description: "**The payload invariant.** An event's declared payload type IS its access path: declaring `Survey` means the payload is the row (read `?name`); declaring `{ row : Survey }` means read `?row.name`. This fires when an event declares a field that the effect firing it does not actually emit \u2014 so every read of that field is `undefined` at runtime, even though `orb validate` and `orb verify` otherwise pass. Checked as width subtyping (`declared \u2286 produced`): declaring FEWER fields than are emitted is legal, declaring one that is never emitted is not. Replaces the narrower `EmitSuccessPayloadWrapped` (persist-only) and `EmitSuccessPayloadReturnMismatch` (empty-payload-only) checks. Error severity."
1062
1068
  },
1069
+ {
1070
+ code: "ORB_LISTEN_PAYLOAD_TYPE_MISMATCH",
1071
+ category: "binding",
1072
+ description: "An `emit` declares a payload field whose type does not fit the type the listening trait declares for the same field of the event its `listens` route triggers: the emitted value would be refused or misread on delivery. Compared by structure under the kernel's one type relation (aliases resolved, a missing optional member and a non-null value into a nullable slot are fine), never by the spelling of the type names. Error severity."
1073
+ },
1063
1074
  {
1064
1075
  code: "ORB_EFFECT_IN_LAMBDA",
1065
1076
  category: "binding",
@@ -1085,6 +1096,116 @@ var validation_codes_default = [
1085
1096
  category: "generic",
1086
1097
  description: "Generic duplicate entity/item"
1087
1098
  },
1099
+ {
1100
+ code: "ORB_BINDING_ROOT_SHADOWED",
1101
+ category: "binding",
1102
+ description: "A `let` binding or `fn` parameter is named after a binding root (`entity`, `payload`, `config`, `user`, and so on), so `@name` in its scope reads the local instead of the root."
1103
+ },
1104
+ {
1105
+ code: "ORB_RUI_COLLECTION_FIELDS_MISSING",
1106
+ category: "render_ui",
1107
+ description: "A render-ui pattern whose registry props take both `entity` and `fields`/`columns` is bound to entity rows but declares neither, so a host would have to derive the shown fields from the first row."
1108
+ },
1109
+ {
1110
+ code: "ORB_BEHAVIOR_AMBIGUOUS",
1111
+ category: "behavior",
1112
+ description: "A behavior name resolves in more than one installed package"
1113
+ },
1114
+ {
1115
+ code: "ORB_BEHAVIOR_NAME_DUPLICATE",
1116
+ category: "behavior",
1117
+ description: "A package declares the same behavior name twice"
1118
+ },
1119
+ {
1120
+ code: "ORB_BEHAVIOR_NOT_FOUND",
1121
+ category: "behavior",
1122
+ description: "An imported behavior is found in no installed package"
1123
+ },
1124
+ {
1125
+ code: "ORB_BEHAVIOR_PACKAGE_INVALID",
1126
+ category: "behavior",
1127
+ description: "An installed behavior package cannot be read or has an invalid layout"
1128
+ },
1129
+ {
1130
+ code: "ORB_BEHAVIOR_PACKAGE_NOT_INSTALLED",
1131
+ category: "behavior",
1132
+ description: "A behavior package a program imports from is not installed"
1133
+ },
1134
+ {
1135
+ code: "ORB_BEHAVIOR_PREFIX_CONFLICT",
1136
+ category: "behavior",
1137
+ description: "Two installed packages claim the same behavior prefix"
1138
+ },
1139
+ {
1140
+ code: "ORB_LAZY_EAGER_REF",
1141
+ category: "uses",
1142
+ description: "An eager orbital references a lazily imported alias beyond a whole page-bearing orbital"
1143
+ },
1144
+ {
1145
+ code: "ORB_LAZY_NOT_SPLIT",
1146
+ category: "uses",
1147
+ description: "An orbital that references a lazy import reached inlining before the lazy split"
1148
+ },
1149
+ {
1150
+ code: "ORB_LAZY_NO_PAGES",
1151
+ category: "uses",
1152
+ description: "An orbital imported lazily declares no pages, so nothing can load it"
1153
+ },
1154
+ {
1155
+ code: "ORB_O_LISTEN_SOURCE_UNKNOWN",
1156
+ category: "orbital_ref",
1157
+ description: "An orbital import listens route names a source trait that is neither imported nor authored in the import body"
1158
+ },
1159
+ {
1160
+ code: "ORB_O_LISTEN_TARGET_UNKNOWN",
1161
+ category: "orbital_ref",
1162
+ description: "An orbital import listens route targets a trait that is not in the imported set"
1163
+ },
1164
+ {
1165
+ code: "ORB_O_PAGE_ACCESS_WEAKENED",
1166
+ category: "orbital_ref",
1167
+ description: "A page reference sets public access on an upstream page that requires authentication"
1168
+ },
1169
+ {
1170
+ code: "ORB_O_PAGE_PROTOCOL_MISMATCH",
1171
+ category: "orbital_ref",
1172
+ description: "A page reference is written with a protocol other than the referenced page's"
1173
+ },
1174
+ {
1175
+ code: "ORB_O_SIBLING_ENTITY_AMBIGUOUS",
1176
+ category: "orbital_ref",
1177
+ description: "A sibling entity is declared by two imports with different fields"
1178
+ },
1179
+ {
1180
+ code: "ORB_T_AMBIGUOUS_TYPE_NAME",
1181
+ category: "trait",
1182
+ description: "A type name is declared by two sources with different shapes"
1183
+ },
1184
+ {
1185
+ code: "ORB_T_CONFLICTING_TYPE_ALIAS",
1186
+ category: "trait",
1187
+ description: "A struct alias is declared both locally and by an imported trait with different shapes"
1188
+ },
1189
+ {
1190
+ code: "ORB_T_EMIT_MERGE_CONFLICT",
1191
+ category: "trait",
1192
+ description: "An emit from an inline-expanded trait collides with an emit of different payload"
1193
+ },
1194
+ {
1195
+ code: "ORB_T_LAMBDA_STATEFUL_TRAIT",
1196
+ category: "trait",
1197
+ description: "A trait used as a lambda keeps its own state machine"
1198
+ },
1199
+ {
1200
+ code: "ORB_T_LISTEN_KEY_DROPPED",
1201
+ category: "trait",
1202
+ description: "A call-site listens override restates a keyed route without its per clause"
1203
+ },
1204
+ {
1205
+ code: "ORB_T_TYPE_IMPORT_REFUSED",
1206
+ category: "trait",
1207
+ description: "A program uses a type declared by a behavior instead of declaring or sharing it"
1208
+ },
1088
1209
  {
1089
1210
  code: "CIRCUIT_ACTION_COMPONENT_MISMATCH",
1090
1211
  category: "circuit",
@@ -1188,7 +1309,7 @@ var validation_codes_default = [
1188
1309
  {
1189
1310
  code: "ORB_BINDING_FROM_ENTITY_OUTSIDE_ENSURES",
1190
1311
  category: "binding",
1191
- description: "@fromEntity is the row before a transition and may only be used inside an @ensures"
1312
+ description: "The @fromEntity binding is the row before a transition and may only be used inside an @ensures"
1192
1313
  },
1193
1314
  {
1194
1315
  code: "ORB_BINDING_INVALID_FORMAT",
@@ -1305,6 +1426,11 @@ var validation_codes_default = [
1305
1426
  category: "circuit",
1306
1427
  description: "A transition declares async result events but its target state has no arm handling them, so the requester cannot hear its own result"
1307
1428
  },
1429
+ {
1430
+ code: "ORB_CIRCUIT_ASYNC_RESULT_DEAF_WAITING",
1431
+ category: "circuit",
1432
+ description: "A state that only an async result can leave is reachable while a call-service is in flight and has no arm for that call's outcome, so the outcome is dropped there"
1433
+ },
1308
1434
  {
1309
1435
  code: "ORB_CIRCUIT_DEAD_BODILESS_ACTION",
1310
1436
  category: "circuit",
@@ -1320,6 +1446,11 @@ var validation_codes_default = [
1320
1446
  category: "circuit",
1321
1447
  description: "A state handles a failure event but its arm neither renders nor emits a declared event, so the failure reaches no one"
1322
1448
  },
1449
+ {
1450
+ code: "ORB_CIRCUIT_INIT_ARM_NEVER_FIRES",
1451
+ category: "circuit",
1452
+ description: "Every INIT arm of a trait's initial state is guarded by a condition that is false for the composition's config and no other arm of that state can fire, so the trait never starts"
1453
+ },
1323
1454
  {
1324
1455
  code: "ORB_CIRCUIT_INIT_UNCOVERED_STATE",
1325
1456
  category: "circuit",
@@ -1355,6 +1486,11 @@ var validation_codes_default = [
1355
1486
  category: "circuit",
1356
1487
  description: "A page's content owner repaints its region on a user-triggered event with a body that offers no way on"
1357
1488
  },
1489
+ {
1490
+ code: "ORB_CLIENT_ENTITY_SERVER_ONLY",
1491
+ category: "orbital",
1492
+ description: "A client trait is linked to the entity of an orbital whose every page is a protocol endpoint, which the client program leaves out"
1493
+ },
1358
1494
  {
1359
1495
  code: "ORB_COMPOSED_STATE_UNREACHABLE",
1360
1496
  category: "circuit",
@@ -1490,6 +1626,11 @@ var validation_codes_default = [
1490
1626
  category: "effect",
1491
1627
  description: "An effect is written in a retired object form instead of the array form"
1492
1628
  },
1629
+ {
1630
+ code: "ORB_EFF_SERVER_EFFECT_NO_FAILURE_ROUTE",
1631
+ category: "effect",
1632
+ description: "A fetch, persist or call-service effect on a server entity declares no `emit: { failure }` route, so its error reaches no one"
1633
+ },
1493
1634
  {
1494
1635
  code: "ORB_EFF_SET_INVALID_BINDING",
1495
1636
  category: "effect",
@@ -1540,11 +1681,21 @@ var validation_codes_default = [
1540
1681
  category: "entity",
1541
1682
  description: "An entity declares owner columns but has no access policy scoping rows to the owner"
1542
1683
  },
1684
+ {
1685
+ code: "ORB_ENTITY_READ_UNDECLARED",
1686
+ category: "entity",
1687
+ description: "A persistent entity declares neither an @read policy nor an @read none waiver, so who reads its rows is unstated"
1688
+ },
1543
1689
  {
1544
1690
  code: "ORB_ENTITY_SPLIT_MUTATION",
1545
1691
  category: "entity_mutation",
1546
1692
  description: "A runtime entity is mutated by several traits on isolated per-trait copies while another trait reads a field it never writes"
1547
1693
  },
1694
+ {
1695
+ code: "ORB_ENTITY_WRITE_UNDECLARED",
1696
+ category: "entity",
1697
+ description: "A persistent entity declares no @create, or declares some write directives but not all of @create, @update and @delete, so an undeclared write is allow-all"
1698
+ },
1548
1699
  {
1549
1700
  code: "ORB_E_DUPLICATE_FIELD",
1550
1701
  category: "entity",
@@ -1660,6 +1811,11 @@ var validation_codes_default = [
1660
1811
  category: "effect",
1661
1812
  description: "A fetch with total none skips the count, so the success event's totalCount is never set and may not be read"
1662
1813
  },
1814
+ {
1815
+ code: "ORB_FETCH_UNBOUNDED",
1816
+ category: "query",
1817
+ description: "A fetch of a persistent entity has no limit, id or nearest, so it reads every row"
1818
+ },
1663
1819
  {
1664
1820
  code: "ORB_FETCH_UNINDEXED",
1665
1821
  category: "query",
@@ -1765,6 +1921,21 @@ var validation_codes_default = [
1765
1921
  category: "inbound",
1766
1922
  description: "An inbound hook event answers with an event the trait does not declare in emits"
1767
1923
  },
1924
+ {
1925
+ code: "ORB_INBOUND_CLI_DASH_WORD",
1926
+ category: "inbound",
1927
+ description: "A cli- inbound hook has an empty command word, so a word would start with a dash"
1928
+ },
1929
+ {
1930
+ code: "ORB_INBOUND_CLI_RESERVED",
1931
+ category: "inbound",
1932
+ description: "A cli- inbound hook takes a command word the orb bootloader reserves"
1933
+ },
1934
+ {
1935
+ code: "ORB_INBOUND_CLI_SHADOWED",
1936
+ category: "inbound",
1937
+ description: "A cli- inbound hook is a prefix of a longer cli- hook, so the longer hook takes the arguments that begin with its next word"
1938
+ },
1768
1939
  {
1769
1940
  code: "ORB_INBOUND_DUPLICATE",
1770
1941
  category: "inbound",
@@ -1800,6 +1971,11 @@ var validation_codes_default = [
1800
1971
  category: "lint",
1801
1972
  description: "json/parse re-parses what json/stringify just serialized; a stringify\u2192parse round trip launders a value's type past the checker (owner hard rule, CLAUDE.md). Narrow with `as`."
1802
1973
  },
1974
+ {
1975
+ code: "ORB_JSON_STRINGIFY_KEY",
1976
+ category: "lint",
1977
+ description: "json/stringify is an operand of =, !=, array/unique, array/indexOf or an object/set key; compare or key by value/key instead of serialized text"
1978
+ },
1803
1979
  {
1804
1980
  code: "ORB_LINT_FINDING_CODE_UNDECLARED",
1805
1981
  category: "lint",
@@ -1850,6 +2026,11 @@ var validation_codes_default = [
1850
2026
  category: "listen",
1851
2027
  description: "A listens route is redundant because the embedded trait already receives that event"
1852
2028
  },
2029
+ {
2030
+ code: "ORB_LISTEN_ROUTE_PROJECTION_MISMATCH",
2031
+ category: "trait_event",
2032
+ description: "A listens route copies a payload field projected from one entity field into a payload field projected from a different field of the same entity"
2033
+ },
1853
2034
  {
1854
2035
  code: "ORB_LISTEN_ROUTE_STARVES_REQUIRED_FIELD",
1855
2036
  category: "trait_event",
@@ -2110,6 +2291,11 @@ var validation_codes_default = [
2110
2291
  category: "persist",
2111
2292
  description: "A persist effect names its row id with an expression instead of a binding path or literal id, so no row key resolves"
2112
2293
  },
2294
+ {
2295
+ code: "ORB_PERSIST_UPDATE_WITHOUT_CREATE",
2296
+ category: "cross",
2297
+ description: "A persistent entity the program updates but never creates, upserts or batch-creates, and that declares no instances: the update can never find a row. An update made by a trait authored in this program that binds the entity as its `@rebindable` placeholder is not judged, since the program that composes the trait owns the rows; nor is an update by a trait authored in an orbital that declares `expects entity` for that entity (a composed copy of the trait is still judged), which states that another part of the program supplies the rows"
2298
+ },
2113
2299
  {
2114
2300
  code: "ORB_PERSIST_WHERE_NOT_A_PREDICATE",
2115
2301
  category: "persist",
@@ -2150,6 +2336,11 @@ var validation_codes_default = [
2150
2336
  category: "page",
2151
2337
  description: "A page declares an empty traits array"
2152
2338
  },
2339
+ {
2340
+ code: "ORB_P_ENTRY_UNKNOWN_ROUTE",
2341
+ category: "page",
2342
+ description: "An entry route of the app names a path that is no page of the app"
2343
+ },
2153
2344
  {
2154
2345
  code: "ORB_P_HOST_RESERVED_ROUTE",
2155
2346
  category: "page",
@@ -2195,6 +2386,11 @@ var validation_codes_default = [
2195
2386
  category: "page",
2196
2387
  description: "A page has no traits array for trait-driven UI"
2197
2388
  },
2389
+ {
2390
+ code: "ORB_P_ROUTE_PARAM_MISSING_FOR_INIT",
2391
+ category: "page",
2392
+ description: "A route page whose path lacks a :param for a field a mounted trait declares required on its INIT event, so navigating to it is refused"
2393
+ },
2198
2394
  {
2199
2395
  code: "ORB_P_SIGN_IN_UNKNOWN_ROUTE",
2200
2396
  category: "page",
@@ -2235,6 +2431,11 @@ var validation_codes_default = [
2235
2431
  category: "render_ui",
2236
2432
  description: "A non-drawable child is composed under a canvas draw-host, which paints only neutral drawable descriptors"
2237
2433
  },
2434
+ {
2435
+ code: "ORB_RUI_CONTROLLED_WITHOUT_CHANGE",
2436
+ category: "render_ui",
2437
+ description: "A control whose value is bound to a non-literal and that wires none of the events that report its change: the field cannot be edited"
2438
+ },
2238
2439
  {
2239
2440
  code: "ORB_RUI_ELEMENT_SHAPE_MISMATCH",
2240
2441
  category: "render_ui",
@@ -2335,6 +2536,16 @@ var validation_codes_default = [
2335
2536
  category: "slot",
2336
2537
  description: "No trait on a page renders anything into the main slot"
2337
2538
  },
2539
+ {
2540
+ code: "ORB_SLOT_MAIN_ONLY_CONTAINERS",
2541
+ category: "slot",
2542
+ description: "Every trait render into the main slot of a page paints only empty layout-only containers, so nothing is shown"
2543
+ },
2544
+ {
2545
+ code: "ORB_STATE_TRAPPED",
2546
+ category: "composed",
2547
+ description: "A trait can reach a state that no event the program sends can take it out of"
2548
+ },
2338
2549
  {
2339
2550
  code: "ORB_STORE_DRIVER_CONTRACT",
2340
2551
  category: "store",
@@ -2455,6 +2666,11 @@ var validation_codes_default = [
2455
2666
  category: "schema",
2456
2667
  description: "A read of a field of the signed-in user names a field the declared identity entity does not have"
2457
2668
  },
2669
+ {
2670
+ code: "ORB_S_USER_ID_EMPTY_COMPARISON",
2671
+ category: "schema",
2672
+ description: `A comparison of @user.id with the empty string, which is never true of a viewer: the anonymous viewer's id is "anonymous", so the comparison is constant`
2673
+ },
2458
2674
  {
2459
2675
  code: "ORB_TAB_EFFECT_ON_SERVER",
2460
2676
  category: "tab",
@@ -2650,6 +2866,11 @@ var validation_codes_default = [
2650
2866
  category: "trait",
2651
2867
  description: "A config field typed secret does not default to a string credential reference"
2652
2868
  },
2869
+ {
2870
+ code: "ORB_T_SERVER_TRAIT_CLIENT_EFFECT",
2871
+ category: "trait",
2872
+ description: "A trait that runs every step on the server performs an effect only a client can do and the kernel does not forward to one"
2873
+ },
2653
2874
  {
2654
2875
  code: "ORB_T_STATE_UNREACHABLE",
2655
2876
  category: "trait",
@@ -2705,11 +2926,21 @@ var validation_codes_default = [
2705
2926
  category: "lint",
2706
2927
  description: "A parse inside a lambda re-parses the same value for every element and should be bound once outside"
2707
2928
  },
2929
+ {
2930
+ code: "ORB_X_BARE_LISTEN_UNROUTED",
2931
+ category: "cross",
2932
+ description: "A trait declares a bare listens contract for an event another orbital emits to the embedder, and no route joins them"
2933
+ },
2708
2934
  {
2709
2935
  code: "ORB_X_CIRCULAR_DEPENDENCY",
2710
2936
  category: "cross",
2711
2937
  description: "Traits form a circular event dependency"
2712
2938
  },
2939
+ {
2940
+ code: "ORB_X_COLLECTION_ENUM_MISMATCH",
2941
+ category: "cross",
2942
+ description: "Two persistent entities on one collection declare the same field as an enum with different value sets, so one entity's rows fail the other's type"
2943
+ },
2713
2944
  {
2714
2945
  code: "ORB_X_CROSS_EMITTER_DECLARED_PAYLOAD_MISMATCH",
2715
2946
  category: "cross",
@@ -3163,12 +3394,15 @@ var EvalStepWireSchema = z.object({
3163
3394
  value: JsonValueSchema.optional(),
3164
3395
  error: z.string().optional()
3165
3396
  });
3397
+ var PlayedNestedSchema = z.lazy(() => z.array(PlayedEffectSchema));
3166
3398
  var PlayedEffectSchema = z.object({
3167
3399
  type: z.string(),
3168
3400
  args: z.array(JsonValueSchema),
3169
3401
  status: z.enum(["executed", "failed", "skipped"]),
3170
3402
  error: z.string().optional(),
3171
- routed: z.boolean()
3403
+ code: ServerEffectCodeSchema.optional(),
3404
+ routed: z.boolean(),
3405
+ nested: PlayedNestedSchema.optional()
3172
3406
  });
3173
3407
  var PropositionBindingsSchema = z.object({
3174
3408
  entity: JsonValueSchema,
@@ -3218,7 +3452,7 @@ var RenderedSlotSchema = z.object({
3218
3452
  ownerEntity: z.string(),
3219
3453
  nodes: z.array(RenderedNodeSchema),
3220
3454
  props: JsonValueSchema.optional(),
3221
- fault: z.object({ code: z.enum(["no-matching-transition", "guard-rejected", "no-dispatchable-traits", "not-an-external-input", "inbound-only-event", "effect-failed", "locale-not-declared", "client-circuit-state-refused", "repaint-failed"]), error: z.string() }).optional()
3455
+ fault: z.object({ code: z.enum(["no-matching-transition", "guard-rejected", "no-dispatchable-traits", "not-an-external-input", "inbound-only-event", "effect-failed", "locale-not-declared", "client-circuit-state-refused", "repaint-failed", "cascade-capped"]), error: z.string() }).optional()
3222
3456
  });
3223
3457
  var PlayedStateSchema = z.object({ before: z.string().nullable(), after: z.string().nullable() });
3224
3458
  var PendingAskSchema = z.object({
@@ -3310,5 +3544,3 @@ var ProgramInspectionSchema = z.object({
3310
3544
  });
3311
3545
 
3312
3546
  export { A11Y_ATTRIBUTES, ACCESSIBLE_NAME_ATTRIBUTES, ACTION_OVERFLOW_TESTID, ACTION_TESTID_PREFIX, ANONYMOUS_USER, ARIA_CURRENT, ARIA_LIVE, ARIA_PRESSED, ARIA_ROLES, AriaRoleSchema, BINDING_CONTEXT_RULES, BINDING_DOCS, BINDING_ROOTS, BindingSchema, CALL_KINDS, ClientManifestSchema, ClientThemeSchema, DIAGRAM_STROKE_WEIGHTS, DIAGRAM_TEXT_CASES, DIAGRAM_TEXT_SIZES, DIAGRAM_TONES, DIAGRAM_TONE_COLOR_KEYS, DiagramStrokeWeightSchema, DiagramTextCaseSchema, DiagramTextSizeSchema, DiagramToneSchema, DispatchVisits, EMPTY_STATE_MARKER, EVAL_TIERS, EvalSpecSchema, FORM_PATTERN, FULL_WRITE_CAPABILITIES, GESTURE_EVENT_PROPS, KNOWN_VALIDATION_ERROR_CODES, LOADING_STATE_MARKER, LOG_SEVERITIES, MachineRowSchema, NATIVE_ID_PREFIX, NATIVE_ID_SEPARATOR, PATTERN_PROP_TYPE_ERROR_TESTID, PatternTypeSchema, PayloadSlotSchema, PlayedStepSchema, ProgramInspectionSchema, ProgramSourceAnchorSchema, ProgramSourceLocationSchema, QueryCapabilitiesSchema, QueryDeclinedError, RENDER_BINDING_MARKER, ROW_SET_MARKER, RawUserClaimsSchema, RowCommitSchema, RowIdPageSchema, RowPredicateSchema, RowQueryPageSchema, RowQuerySchema, RowSetRefSchema, RowWriteBatchSchema, RowWriteOpSchema, RowWriteOutcomeSchema, SEMANTIC_CHANGE_KINDS, SURFACE_MODES, ServerBatchSummarySchema, ServerEffectResultSchema, TAB_INDEX_VALUES, TEXT_DIRECTIONS, TRAIT_MOUNT_ERROR_TESTID, TabHostFailure, TraitFieldRefSchema, VERIFICATION_DOM_ATTRS, ViewerSchema, WriteCapabilitiesSchema, WriteDeclinedError, actionTestId, actionTestIdMatches, containsEntityBinding, containsPayloadBinding, createLazyService, createTypedEventBus, dispatchVisitKey, evalPatternMatches, findPersonaInRoster, gestureActionTestId, gestureOfActionTestId, getBindingExamples, guardHolds, isAriaRole, isCallRecord, isKnownValidationErrorCode, isPlanSnapshot, isRenderBindingMarker, isRowSetMarker, isSessionHistoryEntry, isStructuredLogEntry, isTraitFieldRef, nativeFieldId, nativeIds, nativePatternId, nativeRowId, nativeSlotId, normalizeUserContext, orbitalIndexOfValidationPath, parseClientManifest, parseEvalSpec, parseFetchOrder, personaFromIdentityRow, resolvePersonaSpec, rowMatchesPredicate, rowSetMarker, runRowWrite, splitNativeIds, toBindingRoot, validateBindingInContext, widenTier };
3313
- //# sourceMappingURL=chunk-XBWV3DXX.js.map
3314
- //# sourceMappingURL=chunk-XBWV3DXX.js.map