@almadar/core 10.129.0 → 11.0.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.
Files changed (135) hide show
  1. package/dist/behavior-package.d.ts +49 -11
  2. package/dist/behavior-package.js +1 -1
  3. package/dist/{orbital-CkFdDS9f.d.ts → builders-BdgbY7Th.d.ts} +5828 -6917
  4. package/dist/builders.d.ts +6 -6
  5. package/dist/builders.js +7 -6
  6. package/dist/{bus-CcbB__oo.d.ts → bus-C0hFDNFR.d.ts} +262 -354
  7. package/dist/chunk-347APWFM.js +286 -0
  8. package/dist/chunk-347APWFM.js.map +1 -0
  9. package/dist/chunk-5WQ3U7NJ.js +2363 -0
  10. package/dist/chunk-5WQ3U7NJ.js.map +1 -0
  11. package/dist/chunk-5YTPYMPZ.js +99 -0
  12. package/dist/chunk-5YTPYMPZ.js.map +1 -0
  13. package/dist/chunk-66Q5VX2F.js +3810 -0
  14. package/dist/chunk-66Q5VX2F.js.map +1 -0
  15. package/dist/chunk-7GHJU5WI.js +39 -0
  16. package/dist/chunk-7GHJU5WI.js.map +1 -0
  17. package/dist/chunk-B4MNHGBP.js +8 -0
  18. package/dist/chunk-B4MNHGBP.js.map +1 -0
  19. package/dist/chunk-E4T2MQAV.js +24 -0
  20. package/dist/chunk-E4T2MQAV.js.map +1 -0
  21. package/dist/chunk-ENOCKYGA.js +412 -0
  22. package/dist/chunk-ENOCKYGA.js.map +1 -0
  23. package/dist/chunk-FGT5OS2Y.js +918 -0
  24. package/dist/chunk-FGT5OS2Y.js.map +1 -0
  25. package/dist/chunk-GF7KCLNR.js +3284 -0
  26. package/dist/chunk-GF7KCLNR.js.map +1 -0
  27. package/dist/chunk-PNGFWLHD.js +1567 -0
  28. package/dist/chunk-PNGFWLHD.js.map +1 -0
  29. package/dist/{chunk-X4SC7FGF.js → chunk-RGACZEYC.js} +99 -96
  30. package/dist/chunk-RGACZEYC.js.map +1 -0
  31. package/dist/{chunk-RYPVOI6H.js → chunk-SNZYN7UA.js} +2541 -433
  32. package/dist/{chunk-RYPVOI6H.js.map → chunk-SNZYN7UA.js.map} +1 -1
  33. package/dist/{chunk-KDMV222Q.js → chunk-TDNQT3M3.js} +304 -373
  34. package/dist/chunk-TDNQT3M3.js.map +1 -0
  35. package/dist/chunk-VG7BRFUD.js +152 -0
  36. package/dist/chunk-VG7BRFUD.js.map +1 -0
  37. package/dist/chunk-Z7BI7DE7.js +1293 -0
  38. package/dist/chunk-Z7BI7DE7.js.map +1 -0
  39. package/dist/{domain-Dz3jP-UM.d.ts → domain-Cpmja5ak.d.ts} +55 -55
  40. package/dist/{effect-CiEVLsZz.d.ts → effect-DZaXwSAz.d.ts} +283 -453
  41. package/dist/{effect-result-Bebwu9yT.d.ts → effect-result-1HpXgeBc.d.ts} +656 -851
  42. package/dist/{expression-D0Fs0riG.d.ts → expression-DirYKz-f.d.ts} +5 -13
  43. package/dist/factory/index.d.ts +7 -144
  44. package/dist/factory/index.js +8 -8
  45. package/dist/factory-runtime/index.d.ts +7 -6
  46. package/dist/factory-runtime/index.js +527 -8
  47. package/dist/factory-runtime/index.js.map +1 -1
  48. package/dist/fixtures.d.ts +9 -11
  49. package/dist/fixtures.js +12 -8
  50. package/dist/fixtures.js.map +1 -1
  51. package/dist/i18n/index.d.ts +15 -19
  52. package/dist/i18n/index.js +2 -1
  53. package/dist/{index-BC-Jycqj.d.ts → index-D7SxwNdv.d.ts} +34 -734
  54. package/dist/index.d.ts +92 -247
  55. package/dist/index.js +322 -986
  56. package/dist/index.js.map +1 -1
  57. package/dist/kernel-wire.d.ts +3 -3
  58. package/dist/kernel-wire.js +3 -79
  59. package/dist/kernel-wire.js.map +1 -1
  60. package/dist/language/constructs.json +22 -2
  61. package/dist/language/program-types.json +203 -22
  62. package/dist/language/protocols.json +46 -0
  63. package/dist/language/ui-vocabulary.json +1697 -0
  64. package/dist/language/validation-codes.json +1222 -1212
  65. package/dist/language/vocabulary.json +44 -8
  66. package/dist/language-data.d.ts +7 -4
  67. package/dist/language-data.js +20 -14
  68. package/dist/language-data.js.map +1 -1
  69. package/dist/patterns/component-mapping.json +11 -1
  70. package/dist/patterns/definitions.d.ts +2 -2
  71. package/dist/patterns/definitions.js +1 -1
  72. package/dist/patterns/event-contracts.json +1 -15
  73. package/dist/patterns/game-font-families.json +13 -0
  74. package/dist/patterns/index.d.ts +24 -120
  75. package/dist/patterns/index.js +3 -3
  76. package/dist/patterns/pattern-tile-geometry.json +1065 -0
  77. package/dist/patterns/patterns-registry.json +2539 -431
  78. package/dist/patterns/registry.json +2539 -431
  79. package/dist/trait-sRjIivFq.d.ts +3519 -0
  80. package/dist/types/index.d.ts +9 -10
  81. package/dist/types/index.js +11 -5
  82. package/dist/{types-DGwrltUF.d.ts → types-C6_yPMpn.d.ts} +3 -3
  83. package/fixtures/events-wire/client-effects-by-trait/response.json +0 -18
  84. package/fixtures/events-wire/client-effects-provenance/response.json +0 -18
  85. package/fixtures/events-wire/effect-results-every-kind/response.json +2 -27
  86. package/fixtures/events-wire/navigate-1/response.json +8 -5
  87. package/fixtures/events-wire/navigate-2/response.json +11 -8
  88. package/fixtures/events-wire/navigate-3/response.json +14 -11
  89. package/fixtures/events-wire/navigate-back/response.json +7 -4
  90. package/fixtures/events-wire/render-ui-3/response.json +12 -9
  91. package/fixtures/events-wire/render-ui-clear/response.json +0 -7
  92. package/fixtures/events-wire/sse-stream/response.json +0 -20
  93. package/fixtures/events-wire/sse-stream/stream.json +0 -20
  94. package/fixtures/events-wire/stateless-traits/response.json +14 -5
  95. package/fixtures/kernel-wire/golden/basic-entity.json +1687 -0
  96. package/fixtures/kernel-wire/golden/entity-rerender.json +743 -0
  97. package/fixtures/kernel-wire/golden/rollback.json +793 -0
  98. package/fixtures/kernel-wire/golden/tick-counter.json +1538 -0
  99. package/fixtures/kernel-wire/golden/two-orbital-chore.json +847 -0
  100. package/fixtures/kernel-wire/golden/two-orbital-task.json +457 -0
  101. package/fixtures/kernel-wire/played-step.json +136 -0
  102. package/fixtures/kernel-wire/scripts/basic-entity.json +28 -0
  103. package/fixtures/kernel-wire/scripts/entity-rerender.json +13 -0
  104. package/fixtures/kernel-wire/scripts/rollback.json +53 -0
  105. package/fixtures/kernel-wire/scripts/tick-counter.json +26 -0
  106. package/fixtures/kernel-wire/scripts/two-orbital-chore.json +9 -0
  107. package/fixtures/kernel-wire/scripts/two-orbital-task.json +9 -0
  108. package/package.json +28 -19
  109. package/dist/builders-DmZE5By0.d.ts +0 -2663
  110. package/dist/chunk-45I2O4SJ.js +0 -4646
  111. package/dist/chunk-45I2O4SJ.js.map +0 -1
  112. package/dist/chunk-6LR43Z5E.js +0 -3061
  113. package/dist/chunk-6LR43Z5E.js.map +0 -1
  114. package/dist/chunk-GIUA3NUJ.js +0 -809
  115. package/dist/chunk-GIUA3NUJ.js.map +0 -1
  116. package/dist/chunk-GTY53NS5.js +0 -1908
  117. package/dist/chunk-GTY53NS5.js.map +0 -1
  118. package/dist/chunk-JOHDVS6J.js +0 -1614
  119. package/dist/chunk-JOHDVS6J.js.map +0 -1
  120. package/dist/chunk-KDMV222Q.js.map +0 -1
  121. package/dist/chunk-QRHJUS3D.js +0 -23
  122. package/dist/chunk-QRHJUS3D.js.map +0 -1
  123. package/dist/chunk-QUOTJULD.js +0 -4009
  124. package/dist/chunk-QUOTJULD.js.map +0 -1
  125. package/dist/chunk-V5VNGRVU.js +0 -66
  126. package/dist/chunk-V5VNGRVU.js.map +0 -1
  127. package/dist/chunk-X4SC7FGF.js.map +0 -1
  128. package/dist/entityAccess-BPSz1i2n.d.ts +0 -80
  129. package/dist/mock/index.d.ts +0 -153
  130. package/dist/mock/index.js +0 -190
  131. package/dist/mock/index.js.map +0 -1
  132. package/dist/schema-T5RT5s6H.d.ts +0 -282
  133. package/dist/state-machine/index.d.ts +0 -359
  134. package/dist/state-machine/index.js +0 -3
  135. package/dist/state-machine/index.js.map +0 -1
@@ -1,34 +1,37 @@
1
+ import { O as OrbitalId, T as TraitId, b as EventId, N as NamespacedEffectName, c as EntityRow$1, S as ServerReportedEffect } from './effect-DZaXwSAz.js';
2
+ import { J as JsonValue, a as JsonObject, E as EventPayloadValue$1 } from './expression-DirYKz-f.js';
1
3
  import { z } from 'zod';
2
- import { b as OrbitalId, T as TraitId, c as EventId, d as EntityRow, F as FieldValue, P as PatternConfig, N as NamespacedEffectName, e as ServerReportedEffect } from './effect-CiEVLsZz.js';
3
- import { J as JsonValue, a as JsonObject, E as EventPayload, b as EventPayloadValue } from './expression-D0Fs0riG.js';
4
4
 
5
+ type FieldValue = JsonValue;
6
+ type EventPayloadValue = JsonValue;
7
+ type EventPayload = JsonObject;
8
+ type EntityRow = {
9
+ id?: string;
10
+ } & JsonObject;
5
11
  type Accepted = null;
6
- type AffordanceQuery = {
7
- trait: string;
8
- from: string;
9
- event: string;
10
- };
11
- type AffordanceStep = {
12
- trait: string;
13
- from: string;
14
- event: string;
15
- /**
16
- * The declared target; `from` when the trait declares no such transition (a dead affordance).
17
- */
18
- to: string;
19
- declared: boolean;
20
- navigates: boolean;
21
- instanceId: string;
22
- seedRowId?: string;
23
- role?: RoleWire;
24
- preamble?: Array<PreambleEvent>;
25
- precondition?: Precondition;
26
- coverageKey: string;
27
- };
28
12
  type AmbiguousTrait = {
29
13
  trait: string;
30
14
  orbitals: Array<string>;
31
15
  };
16
+ type AnchoredExec = {
17
+ anchor: GrantAnchor;
18
+ path?: string;
19
+ };
20
+ type AnchoredFsGrant = {
21
+ anchor: GrantAnchor;
22
+ glob: string;
23
+ modes: Array<FsMode>;
24
+ };
25
+ type AnchoredGrants = {
26
+ fs?: Array<AnchoredFsGrant>;
27
+ exec?: Array<AnchoredExec>;
28
+ net?: Array<AnchoredNetGrant>;
29
+ };
30
+ type AnchoredNetGrant = {
31
+ host: NetPart;
32
+ port: NetPart;
33
+ kinds: Array<NetKind>;
34
+ };
32
35
  type AppliedWire = {
33
36
  applied: Array<[string, string]>;
34
37
  response: EventResponse;
@@ -36,38 +39,23 @@ type AppliedWire = {
36
39
  * The legs the fold's own arms owe the host (a refetch after a browser-stored write), to post and fold in turn.
37
40
  */
38
41
  serverLegs: Array<RoutedLeg>;
42
+ /**
43
+ * Set when the response's frame delta started past the version this client holds: ask the host for
44
+ * `frames_since(since)` and fold the snapshot (EXEC-DIST-7).
45
+ */
46
+ resync?: FramesResync | null;
39
47
  };
40
- type ArmConflict = {
41
- "kind": "earlier-arm-first";
42
- arm: number;
43
- to: string;
44
- } | {
45
- "kind": "guard-unmet";
46
- } | {
47
- "kind": "own-guard-passes";
48
- } | {
49
- "kind": "guard-unevaluable";
50
- arm: number;
51
- message: string;
48
+ type AssertionSpec = {
49
+ signingKey: string;
50
+ subject?: string | null;
51
+ audience: string;
52
+ ttlSeconds: number;
52
53
  };
53
54
  type AwaitingTrait = {
54
55
  trait: string;
55
56
  event: string;
56
57
  from: string;
57
58
  };
58
- type BeaconOutcomeWire = {
59
- "via": "queue";
60
- } | {
61
- "via": "fetch";
62
- status: number;
63
- } | {
64
- "via": "unavailable";
65
- message: string;
66
- };
67
- type BindRowFrom = {
68
- entity: string;
69
- payloadField: string;
70
- };
71
59
  type BusEventSource = {
72
60
  orbital?: string;
73
61
  orbitalId?: OrbitalId;
@@ -88,6 +76,11 @@ type BusEventSource = {
88
76
  * other connected clients. On the wire, not an `@event.source` binding.
89
77
  */
90
78
  persistSuccess?: boolean;
79
+ /**
80
+ * The row of the emitting trait's entity that made the emit, when the trait's rows are addressed by a `per`
81
+ * listener (EXEC-STEP-1a). A listener with a `per` clause evaluates its own key; one without ignores this.
82
+ */
83
+ instanceKey?: string;
91
84
  };
92
85
  type CallRoutesWire = {
93
86
  success?: string;
@@ -117,11 +110,12 @@ type Claim = {
117
110
  */
118
111
  value: JsonValue;
119
112
  };
120
- type ClientEffect = ["render-ui", string, PatternConfig | null] | ["navigate", string] | ["navigate", string, {
113
+ type ClientAuth = "body" | "basic" | "none";
114
+ type ClientEffect = ["render-ui", string, JsonObject | null] | ["navigate", string] | ["navigate", string, {
121
115
  [key in string]: string;
122
116
  } | null] | ["navigate", string, {
123
117
  [key in string]: string;
124
- } | null, NavigateOptions] | ["navigate-back"];
118
+ } | null, NavigateOptions] | ["navigate-back"] | ["host-ask", string, Array<JsonValue>] | ["host-ask", string, Array<JsonValue>, HostAskCompletion];
125
119
  type ClientEffectByTrait = {
126
120
  traitName: string;
127
121
  effect: ClientEffect;
@@ -143,134 +137,48 @@ type ClientEffectByTrait = {
143
137
  */
144
138
  repaint?: RepaintReason;
145
139
  };
146
- type ConfigVariant = {
147
- /**
148
- * `knob = value`.
149
- */
150
- label: string;
151
- field: string;
152
- /**
153
- * The baseline defaults with `field` changed.
154
- */
155
- config: JsonObject;
156
- };
157
- type ContractEvents = {
158
- /**
159
- * False when no language data is installed: the table cannot be read, so nothing is planned.
160
- */
161
- available: boolean;
162
- steps: Array<ContractStep>;
140
+ type ConnectFailure = {
141
+ kind: ConnectFailureKind;
142
+ message: string;
163
143
  };
164
- type ContractStep = {
165
- trait: string;
166
- from: string;
167
- event: string;
168
- pattern: string;
169
- coverageKey: string;
144
+ type ConnectFailureKind = "unavailable" | "unsigned" | "denied" | "invalid_grant" | "invalid_client" | "transport" | "malformed" | "refused";
145
+ type CredentialGrantWire = {
146
+ name: string;
147
+ principal?: string;
148
+ tokenEndpoint: string;
149
+ grant: string;
150
+ code: string;
151
+ redirectUri: string;
152
+ verifier?: string;
153
+ clientId: string;
154
+ clientSecret?: string;
155
+ clientAuth: ClientAuth;
156
+ scopes: Array<string>;
157
+ refreshCredential?: string;
158
+ assertion?: AssertionSpec;
159
+ jsonToken?: JsonTokenSpec;
170
160
  };
161
+ type CredentialKind = "admin";
171
162
  type CredentialStanding = {
172
163
  connected: boolean;
173
164
  label?: string | null;
174
165
  };
175
- type Credit = {
176
- index: number;
177
- stateBefore: string;
178
- stateAfter: string;
179
- };
180
- type CreditStep = {
181
- trait: string;
182
- from: string;
183
- event: string;
184
- arm?: number;
185
- reply?: ReplyRoute;
186
- fired: Array<FiredHop>;
187
- };
188
- type CrudChain = {
189
- kind: CrudKind;
190
- entity: string;
191
- persistor: string;
192
- sourceTrait: string;
193
- openFrom: string;
194
- openEvent: string;
195
- openTo: string;
196
- submitEvent: string;
197
- successEvent: string;
198
- rowDelta: number;
199
- /**
200
- * The event the rendered button carries when the open event reaches the overlay through a listener.
201
- */
202
- openAffordanceEvent: string;
203
- /**
204
- * The open transition renders into a portal slot or a self-overlay pattern.
205
- */
206
- opensOverlay: boolean;
207
- requiresRowContext: boolean;
208
- payloadRowShape: Array<RowShapeField>;
209
- /**
210
- * The payload the submit event carries, built from its declared schema.
211
- */
212
- submitPayload: JsonValue;
213
- /**
214
- * A minimal row of the linked entity: the values a form's fields are filled with.
215
- */
216
- entityRow: JsonValue;
217
- /**
218
- * The same row with every non-id value changed, so an edit has something to change.
219
- */
220
- editEntityRow: JsonValue;
221
- /**
222
- * Entity fields restricted to declared values: a changed value would leave the vocabulary, so a row-content
223
- * assertion skips them.
224
- */
225
- enumFields: Array<string>;
226
- viewer?: ViewerRequirement;
227
- precondition?: Precondition;
228
- /**
229
- * Delete only: self-relation fields (restrict rule) a deletable row must not be referenced through.
230
- */
231
- avoidReferencedVia: Array<string>;
232
- /**
233
- * Delete only: fields of OTHER entities (restrict rule) that reference this entity.
234
- */
235
- avoidReferencedByOtherEntities: Array<InboundRelation>;
236
- /**
237
- * Delete only: when the entity can run out of unreferenced rows, the create to dispatch first.
238
- */
239
- deleteEstablishFallback?: EstablishFallback;
240
- coverageKey: string;
241
- };
242
- type CrudKind = "create" | "edit" | "delete";
243
- type DataMutation = {
244
- trait: string;
245
- from: string;
246
- event: string;
247
- to: string;
248
- payload: JsonValue;
249
- entity: string;
250
- kind: MutationKind;
251
- rowDelta: number;
252
- successEvent?: string;
253
- viewer?: ViewerRequirement;
254
- /**
255
- * Update or delete whose own persist argument names the target row: the host binds a real row there.
256
- */
257
- bindRow?: PersistBinding;
258
- avoidReferencedVia: Array<string>;
259
- avoidReferencedByOtherEntities: Array<InboundRelation>;
260
- rowEstablish?: RowEstablish;
261
- precondition?: Precondition;
262
- coverageKey: string;
263
- };
264
166
  type DeliverRefusal = {
265
167
  kind: DeliverRefusalKind;
266
168
  id: string;
267
169
  };
268
- type DeliverRefusalKind = "mailbox-full" | "hop-cap" | "unknown-instance" | "denied" | "down";
170
+ type DeliverRefusalKind = "mailbox-full" | "hop-cap" | "unknown-instance" | "denied" | "down" | "payload-invalid" | "key-invalid";
269
171
  type DeliveryRecord = {
270
172
  event: string;
271
173
  payload?: EventPayload;
272
174
  source: BusEventSource;
273
175
  };
176
+ type DesktopKind = "notify" | "speak" | "brightness" | "volume" | "power";
177
+ type DevGrant = {
178
+ target: string;
179
+ kinds: Array<DevKind>;
180
+ };
181
+ type DevKind = "read" | "write" | "wait" | "ack";
274
182
  type DispatchLog = {
275
183
  prevEvents: Array<DeliveryRecord>;
276
184
  prevStates: Array<string>;
@@ -278,6 +186,11 @@ type DispatchLog = {
278
186
  type DispatchMode = "persistedAwaited" | "hybridClientOnly" | "runtimeOptimistic";
279
187
  type DispatchWire = {
280
188
  orbital: string;
189
+ /**
190
+ * The flight this dispatch holds while it owes the host a leg: its answers fold in flight order
191
+ * (`foldInOrder`) and the host ends it when the last is folded (`endFlight`). Absent when nothing is owed.
192
+ */
193
+ flight?: number | null;
281
194
  seed: SeedWire;
282
195
  response: EventResponse;
283
196
  serverLegs: Array<RoutedLeg>;
@@ -302,28 +215,6 @@ type EffectTraceWire = {
302
215
  error?: string;
303
216
  evalTrace?: Array<EvalStepWire>;
304
217
  };
305
- type EmitRowBinding = {
306
- entity: string;
307
- payloadField: string;
308
- wholeRow: boolean;
309
- /**
310
- * A delete's restrict relations: the host binds a row nothing references.
311
- */
312
- avoidReferencedVia: Array<string>;
313
- avoidReferencedByOtherEntities: Array<InboundRelation>;
314
- };
315
- type EmitStep = {
316
- trait: string;
317
- from: string;
318
- event: string;
319
- payload: JsonValue;
320
- navigates: boolean;
321
- coverageKey: string;
322
- /**
323
- * A listener persists an update or delete keyed by this emit's payload: the host binds a real row there.
324
- */
325
- bindRow?: EmitRowBinding;
326
- };
327
218
  type EmittedEffectWire = {
328
219
  event: string;
329
220
  payload?: JsonValue;
@@ -334,6 +225,10 @@ type EmittedEvent = {
334
225
  source?: BusEventSource;
335
226
  };
336
227
  type EnsuresVerdict = "held" | "broken" | "inconclusive";
228
+ type Entered = {
229
+ seeds: Array<MountSeed>;
230
+ left: Array<Left>;
231
+ };
337
232
  type EntityBinding = {
338
233
  kind: EntityBindingKind;
339
234
  /**
@@ -355,6 +250,16 @@ type EntityWriteWire = {
355
250
  field: string;
356
251
  value: JsonValue;
357
252
  };
253
+ type EnvTail = {
254
+ name: string;
255
+ last4?: string;
256
+ };
257
+ type EnvTails = {
258
+ "kind": "held";
259
+ tails: Array<EnvTail>;
260
+ } | {
261
+ "kind": "unsupported";
262
+ };
358
263
  type Envelope = {
359
264
  id: string;
360
265
  from: InstanceRef;
@@ -364,12 +269,6 @@ type Envelope = {
364
269
  causalId: string;
365
270
  hop: number;
366
271
  };
367
- type EstablishFallback = {
368
- event: string;
369
- payload: JsonValue;
370
- trait: string;
371
- viewer?: ViewerRequirement;
372
- };
373
272
  type EvalContextWire = {
374
273
  entity?: JsonValue;
375
274
  payload?: JsonValue;
@@ -425,7 +324,6 @@ type EventRequest = {
425
324
  payload?: EventPayload;
426
325
  entityId?: string;
427
326
  targetTrait?: string;
428
- user?: RawUserClaims;
429
327
  clientId?: string;
430
328
  /**
431
329
  * The viewer's locale (one of the program's declared `locales`); `None` → the first declared.
@@ -457,10 +355,20 @@ type EventRequest = {
457
355
  * with the shared `payload` (`bus.ts` `OrbitalEventRequest.mount`).
458
356
  */
459
357
  mount?: Array<MountSeed>;
358
+ /**
359
+ * The route a `mount` batch opens: the kernel delivers `$MOUNT { page, route, traits, entities }` to the traits that
360
+ * listen for it before the batch's seeds run (EXEC-SEED-7). Absent: a mount that opens no route delivers none.
361
+ */
362
+ route?: string;
460
363
  /**
461
364
  * Where this leg runs, set by the kernel on every leg it builds (EXEC-DIST-6).
462
365
  */
463
366
  residence?: LegResidence;
367
+ /**
368
+ * Not a dispatch: the client holds this version of the session's frames and asks what it is missing. The answer
369
+ * is a response carrying only `frames`, a snapshot unless the client is current (EXEC-DIST-7).
370
+ */
371
+ framesSince?: number;
464
372
  };
465
373
  type EventResponse = {
466
374
  success: boolean;
@@ -484,10 +392,10 @@ type EventResponse = {
484
392
  dataRefs?: {
485
393
  [key in string]: RowSetRef;
486
394
  };
487
- entityByTrait?: {
488
- [key in string]: EntityRow;
489
- };
490
- clientEffects?: Array<ClientEffect>;
395
+ /**
396
+ * What this response changes in the frames the client holds, against the kernel's view record (EXEC-DIST-7).
397
+ */
398
+ frames?: FrameDelta;
491
399
  clientEffectsByTrait?: Array<ClientEffectByTrait>;
492
400
  effectResults?: Array<ServerEffectResult$1>;
493
401
  /**
@@ -506,41 +414,55 @@ type EventResponse = {
506
414
  transitions?: Array<TransitionHop>;
507
415
  error?: string;
508
416
  };
509
- type Expectation = {
417
+ type FfiGrant = {
418
+ library: string;
419
+ symbol: string;
420
+ signature: string;
421
+ };
422
+ type FiredTick = {
510
423
  trait: string;
511
- from: string;
512
- event: string;
513
- toStates: Array<string>;
514
- guarded: boolean;
515
- arm?: number;
516
- solved: boolean;
517
- reply?: ReplyRoute;
518
- payloadCase: PayloadCase;
519
- guardCase?: GuardCase;
520
- guardSteerable?: boolean;
521
- acceptStates: Array<string>;
424
+ tick: string;
425
+ };
426
+ type FoldProgressWire = {
427
+ "status": "applied";
428
+ fold: AppliedWire;
429
+ } | {
430
+ "status": "queued";
431
+ ticket: number;
432
+ };
433
+ type FoldedNextWire = {
434
+ "outcome": "applied";
435
+ ticket: number;
436
+ fold: AppliedWire;
437
+ } | {
438
+ "outcome": "failed";
439
+ ticket: number;
440
+ error: string;
441
+ };
442
+ type FrameDelta = {
443
+ session?: string;
444
+ from: number;
445
+ to: number;
446
+ ops: Array<FrameOp>;
522
447
  /**
523
- * The step's precondition is not shown to hold; a failure is then inconclusive.
448
+ * The session's bound identity (EXEC-IDENTITY-4), present when it changed since the last delta of this record (a
449
+ * snapshot always carries it); absent leaves the client's mirror as it is.
524
450
  */
525
- preconditionGap?: UnprovenReason;
526
- };
527
- type FiredHop = {
528
- trait: string;
529
- from: string;
530
- event: string;
531
- to: string;
451
+ identity?: FrameIdentity;
532
452
  /**
533
- * Position of the arm among the state's `from --event-->` arms.
453
+ * The session's bound theme (G-CROSS-395), present when it changed since the last delta of this record (a snapshot
454
+ * always carries it); absent leaves the client's mirror as it is.
534
455
  */
535
- arm?: number;
536
- };
537
- type FiredTick = {
538
- trait: string;
539
- tick: string;
456
+ theme?: FrameTheme;
540
457
  };
541
458
  type FrameDispatch = {
542
459
  trait: string;
543
460
  orbital: string;
461
+ /**
462
+ * The flight this dispatch holds while it owes the host a leg: its answers fold in flight order
463
+ * (`foldInOrder`) and the host ends it when the last is folded (`endFlight`). Absent when nothing is owed.
464
+ */
465
+ flight?: number | null;
544
466
  seed: SeedWire;
545
467
  response: EventResponse;
546
468
  serverLegs: Array<RoutedLeg>;
@@ -557,9 +479,22 @@ type FrameDispatch = {
557
479
  */
558
480
  foldSeeded: Array<string>;
559
481
  };
560
- type FrameStatus = "pass" | "fail" | "inconclusive" | "gap";
482
+ type FrameIdentity = {
483
+ user?: JsonValue;
484
+ };
485
+ type FrameOp = ["put", string, EntityRow] | ["set", {
486
+ [key in string]: EntityRow;
487
+ }] | ["del", string] | ["clear"];
488
+ type FrameTheme = {
489
+ key?: string;
490
+ };
561
491
  type FrameWire = {
562
- fired: Array<FiredTick>;
492
+ /**
493
+ * The fired ticks under the orbital that declares them: the one a `runTick` request is addressed to.
494
+ */
495
+ fired: {
496
+ [key in string]: Array<FiredTick>;
497
+ };
563
498
  response: EventResponse;
564
499
  dispatches: Array<FrameDispatch>;
565
500
  /**
@@ -569,13 +504,23 @@ type FrameWire = {
569
504
  droppedServerEffects: number;
570
505
  errors: Array<string>;
571
506
  };
572
- type GapReason = "not-reachable-without-network" | "delivered-only-by-remount";
507
+ type FramesResync = {
508
+ session: string;
509
+ since: number;
510
+ };
511
+ type FsGrant = {
512
+ glob: string;
513
+ modes: Array<FsMode>;
514
+ };
515
+ type FsMode = "read" | "write" | "create" | "remove" | "meta";
516
+ type GrantAnchor = "exe" | "exe-dir" | "cwd" | {
517
+ "env": string;
518
+ };
573
519
  type GuardCapabilities = {
574
520
  leaves: Array<RowLeafKind>;
575
521
  combinators: Array<RowCombinator>;
576
522
  compareOps: Array<RowCompareOp>;
577
523
  };
578
- type GuardCase = "pass" | "fail";
579
524
  type GuardOutcomeWire = {
580
525
  "kind": "value";
581
526
  value: boolean;
@@ -596,45 +541,15 @@ type HopObservation = {
596
541
  entityBefore: JsonValue;
597
542
  entityAfter: JsonValue;
598
543
  };
599
- type HttpBody = {
600
- "kind": "empty";
601
- } | {
602
- "kind": "text";
603
- text: string;
604
- } | {
605
- "kind": "base64";
606
- data: string;
607
- };
608
- type HttpFailureWire = {
609
- "kind": "timedOut";
610
- } | {
611
- "kind": "failed";
612
- message: string;
613
- } | {
614
- "kind": "refused";
615
- message: string;
616
- };
617
- type HttpRequestWire = {
618
- method: string;
619
- url: string;
620
- headers: Array<[string, string]>;
621
- body: HttpBody;
622
- timeoutMs?: number;
623
- };
624
- type HttpResponseWire = {
625
- status: number;
626
- headers: Array<[string, string]>;
627
- body: HttpBody;
628
- };
629
- type InboundRelation = {
630
- entity: string;
631
- field: string;
632
- };
633
- type InitCredit = {
544
+ type HostAskCompletion = {
634
545
  trait: string;
635
- state: string;
636
- coverageKey: string;
546
+ entityId?: string;
547
+ key?: string;
548
+ success?: string;
549
+ failure?: string;
550
+ onMessage?: string;
637
551
  };
552
+ type IndexRealization = "runtime" | "deploy" | "none";
638
553
  type InstanceRef = {
639
554
  instance: string;
640
555
  orbital: string;
@@ -680,12 +595,6 @@ type IoAnswerWire = {
680
595
  } | {
681
596
  "kind": "substrate";
682
597
  result: Settled<JsonValue, SubstrateFailureWire>;
683
- } | {
684
- "kind": "http";
685
- result: Settled<HttpResponseWire, HttpFailureWire>;
686
- } | {
687
- "kind": "httpBeacon";
688
- result: Settled<BeaconOutcomeWire, HttpFailureWire>;
689
598
  } | {
690
599
  "kind": "pageFacts";
691
600
  result: Settled<PageFactsWire, string>;
@@ -713,6 +622,9 @@ type IoAnswerWire = {
713
622
  } | {
714
623
  "kind": "clock";
715
624
  result: Settled<number, string>;
625
+ } | {
626
+ "kind": "sealed";
627
+ result: Settled<JsonValue, string>;
716
628
  } | {
717
629
  "kind": "os";
718
630
  result: Settled<JsonValue, OsError>;
@@ -722,9 +634,15 @@ type IoAnswerWire = {
722
634
  } | {
723
635
  "kind": "credentialForget";
724
636
  result: Settled<null, string>;
637
+ } | {
638
+ "kind": "credentialConnect";
639
+ result: Settled<CredentialStanding, ConnectFailure>;
725
640
  } | {
726
641
  "kind": "credentialStoreList";
727
642
  result: Settled<StoreListing | null, string>;
643
+ } | {
644
+ "kind": "credentialEnvTails";
645
+ result: Settled<EnvTails, string>;
728
646
  } | {
729
647
  "kind": "credentialStoreRead";
730
648
  result: Settled<string | null, string>;
@@ -743,9 +661,6 @@ type IoAnswerWire = {
743
661
  } | {
744
662
  "kind": "credentialModeWrite";
745
663
  result: Settled<string, string>;
746
- } | {
747
- "kind": "oauth";
748
- result: Settled<OAuthReply, string>;
749
664
  } | {
750
665
  "kind": "deliver";
751
666
  result: Settled<Accepted, DeliverRefusal>;
@@ -802,23 +717,6 @@ type IoRequestWire = {
802
717
  args: Array<JsonValue>;
803
718
  key?: string;
804
719
  site?: CallSiteWire;
805
- } | {
806
- "kind": "http";
807
- request: HttpRequestWire;
808
- key?: string;
809
- delayMs?: number;
810
- site?: CallSiteWire;
811
- } | {
812
- "kind": "httpStream";
813
- request: HttpRequestWire;
814
- key?: string;
815
- framing: StreamFramingWire;
816
- site?: CallSiteWire;
817
- } | {
818
- "kind": "httpBeacon";
819
- request: HttpRequestWire;
820
- key?: string;
821
- site?: CallSiteWire;
822
720
  } | {
823
721
  "kind": "pageFacts";
824
722
  fields: Array<PageFactFieldWire>;
@@ -850,26 +748,37 @@ type IoRequestWire = {
850
748
  name: string;
851
749
  value: string;
852
750
  principal?: string;
853
- } | {
854
- "kind": "oauth";
855
- ask: OAuthAsk;
856
- principal?: string;
857
751
  } | {
858
752
  "kind": "deliver";
859
753
  envelope: Envelope;
860
754
  key?: string;
861
755
  site: CallSiteWire;
756
+ } | {
757
+ "kind": "guest";
758
+ guest: string;
759
+ targets: Array<string>;
760
+ event: string;
761
+ payload: JsonValue;
762
+ grants: OsGrants;
763
+ key?: string;
764
+ site?: CallSiteWire;
862
765
  } | {
863
766
  "kind": "random";
864
767
  bytes: number;
865
768
  } | {
866
769
  "kind": "clock";
770
+ } | {
771
+ "kind": "sealed";
772
+ op: string;
773
+ args: Array<JsonValue>;
867
774
  } | {
868
775
  "kind": "os";
869
776
  op: OsOp;
870
777
  args: Array<JsonValue>;
871
778
  key?: string;
872
779
  site?: CallSiteWire;
780
+ principal?: string;
781
+ orbital?: string;
873
782
  } | {
874
783
  "kind": "credentialStatus";
875
784
  name: string;
@@ -878,8 +787,14 @@ type IoRequestWire = {
878
787
  "kind": "credentialForget";
879
788
  name: string;
880
789
  principal?: string;
790
+ } | {
791
+ "kind": "credentialConnect";
792
+ grant: CredentialGrantWire;
881
793
  } | {
882
794
  "kind": "credentialStoreList";
795
+ } | {
796
+ "kind": "credentialEnvTails";
797
+ names: Array<string>;
883
798
  } | {
884
799
  "kind": "credentialStoreRead";
885
800
  name: string;
@@ -899,6 +814,26 @@ type IoRequestWire = {
899
814
  "kind": "credentialModeWrite";
900
815
  mode: string;
901
816
  };
817
+ type JsonTokenSpec = {
818
+ clientIdField: string;
819
+ clientSecretField: string;
820
+ accessField: string;
821
+ refreshField?: string | null;
822
+ expiresInField?: string | null;
823
+ refreshEndpoint?: string | null;
824
+ refreshBodyField?: string | null;
825
+ };
826
+ type KernelGrant = {
827
+ target: string;
828
+ kinds: Array<KernelKind>;
829
+ };
830
+ type KernelKind = "call" | "reorder" | "read" | "spawn";
831
+ type KvMode = "read" | "write";
832
+ type Left = {
833
+ trait: string;
834
+ orbital: string;
835
+ leg: EventRequest;
836
+ };
902
837
  type LegResidence = "browser" | "server";
903
838
  type LifecycleEvent = "INIT" | "LOAD" | "$MOUNT";
904
839
  type MachineRow = {
@@ -913,6 +848,11 @@ type MachineRow = {
913
848
  guarded: boolean;
914
849
  payload: Array<PayloadSlot>;
915
850
  };
851
+ type MemGrant = {
852
+ target: string;
853
+ kinds: Array<MemKind>;
854
+ };
855
+ type MemKind = "create" | "free" | "atomic";
916
856
  type ModelFailureKindWire = "unconfigured" | "unavailable" | "failed";
917
857
  type ModelFailureWire = {
918
858
  kind: ModelFailureKindWire;
@@ -956,7 +896,6 @@ type MountWire = {
956
896
  */
957
897
  failed: MountFailure | null;
958
898
  };
959
- type MutationKind = "create" | "update" | "delete";
960
899
  type MutationOpWire = "create" | "update" | "delete";
961
900
  type MutationVerdictWire = {
962
901
  allowed: boolean;
@@ -965,173 +904,106 @@ type MutationVerdictWire = {
965
904
  type NavigateOptions = {
966
905
  crumb?: string;
967
906
  };
968
- type OAuthAsk = {
969
- ask: "pendingPut";
970
- state: string;
971
- grant: OAuthPendingGrant;
972
- ttlMs: number;
973
- } | {
974
- ask: "pendingTake";
975
- state: string;
976
- } | {
977
- ask: "connectionAvailable";
978
- } | {
979
- ask: "connectionSave";
980
- provider: OAuthProvider;
981
- grant: OAuthTokenGrant;
982
- } | {
983
- ask: "connectionStatus";
984
- provider: OAuthProvider;
985
- } | {
986
- ask: "connectionRemove";
987
- provider: OAuthProvider;
988
- } | {
989
- ask: "subjectRemember";
990
- accessToken: string;
991
- subject: string;
992
- } | {
993
- ask: "subjectLookup";
994
- accessToken: string;
995
- } | {
996
- ask: "subjectForget";
997
- accessToken: string;
998
- } | {
999
- ask: "metadataGet";
1000
- issuer: string;
1001
- } | {
1002
- ask: "metadataPut";
1003
- issuer: string;
1004
- metadata: {
1005
- [key in string]: JsonValue;
1006
- };
1007
- } | {
1008
- ask: "clock";
1009
- } | {
1010
- ask: "mockTokenPut";
1011
- accessToken: string;
1012
- refreshToken: string;
1013
- expiresAtMs: number;
1014
- provider: OAuthProvider;
1015
- } | {
1016
- ask: "mockTokenRefresh";
1017
- refreshToken: string;
1018
- newAccessToken: string;
1019
- expiresAtMs: number;
1020
- } | {
1021
- ask: "mockTokenRevoke";
1022
- token: string;
1023
- } | {
1024
- ask: "mockTokenCheck";
1025
- accessToken: string;
1026
- } | {
1027
- ask: "consent";
1028
- authUrl: string;
1029
- state: string;
1030
- redirectUri: string;
1031
- };
1032
- type OAuthConnectionRow = {
1033
- provider: OAuthProvider;
1034
- connected: boolean;
1035
- account: string;
1036
- avatarUrl: string;
1037
- scope: Array<string>;
1038
- connectedAt: string;
1039
- };
1040
- type OAuthPendingGrant = {
1041
- provider: string;
1042
- redirectUri: string;
1043
- verifier: string;
1044
- subject: string | null;
1045
- scopes: Array<string>;
907
+ type NetGrant = {
908
+ target: string;
909
+ kinds: Array<NetKind>;
1046
910
  };
1047
- type OAuthPendingTake = {
1048
- found: "missing";
911
+ type NetKind = "tcp" | "udp" | "listen";
912
+ type NetPart = {
913
+ "literal": string;
1049
914
  } | {
1050
- found: "expired";
1051
- } | {
1052
- found: "grant";
1053
- grant: OAuthPendingGrant;
915
+ "anchor": GrantAnchor;
1054
916
  };
1055
- type OAuthProvider = "google" | "github" | "auth0";
1056
- type OAuthReply = {
1057
- reply: "done";
1058
- } | {
1059
- reply: "flag";
1060
- value: boolean;
1061
- } | {
1062
- reply: "taken";
1063
- taken: OAuthPendingTake;
1064
- } | {
1065
- reply: "row";
1066
- row: OAuthConnectionRow;
1067
- } | {
1068
- reply: "subject";
1069
- subject: string | null;
1070
- } | {
1071
- reply: "metadata";
1072
- metadata: {
1073
- [key in string]: JsonValue;
1074
- } | null;
1075
- } | {
1076
- reply: "millis";
1077
- value: number;
917
+ type NextWire = {
918
+ "outcome": "started";
919
+ ticket: number;
920
+ progress: ServerProgressWire;
1078
921
  } | {
1079
- reply: "mockToken";
1080
- state: "missing" | "expired" | "valid";
1081
- provider: OAuthProvider | null;
1082
- } | {
1083
- reply: "code";
1084
- code: string | null;
922
+ "outcome": "failed";
923
+ ticket: number;
924
+ error: string;
1085
925
  };
1086
- type OAuthTokenGrant = {
1087
- accessToken: string;
1088
- refreshToken: string | null;
1089
- expiresIn: number;
1090
- tokenType: string;
1091
- scope: Array<string> | null;
1092
- subject: string | null;
1093
- };
1094
- type Observation = {
1095
- stateBefore: string;
1096
- stateAfter: string;
1097
- /**
1098
- * The arm the kernel selected among the `from --event-->` arms.
1099
- */
1100
- firedArm?: number;
1101
- effects: Array<ObservedEffect>;
1102
- };
1103
- type ObservedEffect = {
1104
- outcome: ObservedOutcome;
1105
- /**
1106
- * The declared `emit.failure` event the program routed this failure to.
1107
- */
1108
- routed?: string;
1109
- };
1110
- type ObservedOutcome = "executed" | "noop" | "delegated" | "failed";
1111
- type OperatorValueKinds = {
1112
- operator: RowOperator;
1113
- valueKinds: Array<RowValueKind>;
926
+ type OperatorValueKinds = {
927
+ operator: RowOperator;
928
+ valueKinds: Array<RowValueKind>;
1114
929
  };
1115
930
  type OsError = {
1116
931
  kind: OsErrorKind;
1117
932
  message: string;
1118
933
  };
1119
- type OsErrorKind = "denied" | "not-found" | "exists" | "invalid" | "io" | "timeout" | "unsupported" | "closed";
1120
- type OsOp = "os/read-file" | "os/write-file" | "os/append-file" | "os/open" | "os/close" | "os/read" | "os/write" | "os/seek" | "os/truncate" | "os/fsync" | "os/copy" | "os/rename" | "os/remove" | "os/link" | "os/symlink" | "os/readlink" | "os/watch-files" | "os/mkdir" | "os/rmdir" | "os/list-dir" | "os/glob" | "os/mktemp" | "os/realpath" | "os/cwd" | "os/chdir" | "os/stat" | "os/lstat" | "os/access" | "os/exists" | "os/chmod" | "os/chown" | "os/utimes" | "os/spawn" | "os/wait" | "os/kill" | "os/pid" | "os/ppid" | "os/current-exe" | "os/watch-process" | "os/watch-signal" | "os/getenv" | "os/setenv" | "os/unsetenv" | "os/environ" | "os/watch-env" | "os/stdin-read" | "os/stdout-write" | "os/stderr-write" | "os/isatty" | "os/tty-size" | "os/tcp-connect" | "os/tcp-listen" | "os/send" | "os/recv" | "os/udp-bind" | "os/sendto" | "os/recvfrom" | "os/dns-resolve" | "os/shutdown" | "os/watch-port" | "os/clock-monotonic" | "os/uid" | "os/gid" | "os/username" | "os/group-of" | "os/watch-cron" | "os/cpu-usage" | "os/memory-info" | "os/uptime" | "os/load-avg" | "os/hostname" | "os/uname" | "os/disk-usage" | "os/mounts" | "os/disk-io" | "os/network-interfaces" | "os/network-stats" | "os/network-connected" | "os/default-gateway" | "os/battery-status" | "os/ac-power" | "os/thermal-zones" | "os/notify" | "os/speak" | "os/brightness-get" | "os/brightness-set" | "os/volume-get" | "os/volume-set" | "os/volume-mute" | "os/suspend" | "os/hibernate" | "os/mmio-read" | "os/mmio-write" | "os/irq-wait" | "os/irq-ack" | "kv/get" | "kv/put" | "kv/delete" | "kv/scan" | "kv/batch";
1121
- type OwnerRequirement = {
1122
- sourceEntity: string;
1123
- sourceField: string;
1124
- useDefaultId?: boolean;
1125
- payloadOwnerField?: string;
934
+ type OsErrorKind = "denied" | "not-found" | "exists" | "invalid" | "io" | "timeout" | "unsupported" | "closed" | "tls" | "borrowed";
935
+ type OsGrantFinding = {
936
+ code: OsGrantFindingCode;
937
+ orbital?: string;
938
+ call?: string;
939
+ entry?: string;
940
+ site: string;
941
+ grant?: string;
942
+ app?: boolean;
943
+ argument?: number;
944
+ via?: OsGrantVia;
945
+ };
946
+ type OsGrantFindingCode = "missing" | "unused" | "entry-invalid" | "target-not-static";
947
+ type OsGrantVia = "config" | "config-unresolvable" | "computed-path";
948
+ type OsGrants = {
949
+ fs?: Array<FsGrant>;
950
+ exec?: Array<string>;
951
+ net?: Array<NetGrant>;
952
+ env?: Array<string>;
953
+ stdio?: Array<StdioKind>;
954
+ sys?: Array<SysKind>;
955
+ desktop?: Array<DesktopKind>;
956
+ dev?: Array<DevGrant>;
957
+ mem?: Array<MemGrant>;
958
+ kernel?: Array<KernelGrant>;
959
+ ffi?: Array<FfiGrant>;
960
+ /**
961
+ * `credentials: [admin]`: the raw credential-store operators, closed unless declared.
962
+ */
963
+ credentials?: Array<CredentialKind>;
964
+ /**
965
+ * `kv: { <store>: [read, write] }`: a store name, or a `*`/`?` glob over one, and the modes it grants.
966
+ */
967
+ kv?: {
968
+ [key in string]: Array<KvMode>;
969
+ };
970
+ anchored?: AnchoredGrants;
971
+ };
972
+ type OsGrantsReport = {
973
+ findings: Array<OsGrantFinding>;
974
+ };
975
+ type OsOp = "os/read-file" | "os/write-file" | "os/append-file" | "os/open" | "os/close" | "os/read" | "os/write" | "os/seek" | "os/truncate" | "os/fsync" | "os/copy" | "os/rename" | "os/remove" | "os/link" | "os/symlink" | "os/readlink" | "os/watch-files" | "os/mkdir" | "os/rmdir" | "os/list-dir" | "os/glob" | "os/mktemp" | "os/realpath" | "os/cwd" | "os/chdir" | "os/stat" | "os/lstat" | "os/access" | "os/exists" | "os/chmod" | "os/chown" | "os/utimes" | "os/spawn" | "os/wait" | "os/kill" | "os/pid" | "os/ppid" | "os/current-exe" | "os/watch-process" | "os/watch-signal" | "os/getenv" | "os/setenv" | "os/unsetenv" | "os/environ" | "os/watch-env" | "os/stdin-read" | "os/stdout-write" | "os/stderr-write" | "os/isatty" | "os/tty-size" | "os/tcp-connect" | "os/tcp-listen" | "os/tls-upgrade" | "os/send" | "os/recv" | "os/udp-bind" | "os/sendto" | "os/recvfrom" | "os/dns-resolve" | "os/shutdown" | "os/watch-port" | "os/fetch" | "os/clock-monotonic" | "os/uid" | "os/gid" | "os/username" | "os/group-of" | "os/watch-cron" | "os/cpu-usage" | "os/memory-info" | "os/uptime" | "os/load-avg" | "os/hostname" | "os/uname" | "os/disk-usage" | "os/mounts" | "os/disk-io" | "os/network-interfaces" | "os/network-stats" | "os/network-connected" | "os/default-gateway" | "os/battery-status" | "os/ac-power" | "os/thermal-zones" | "os/notify" | "os/speak" | "os/brightness-get" | "os/brightness-set" | "os/volume-get" | "os/volume-set" | "os/volume-mute" | "os/suspend" | "os/hibernate" | "os/mmio-read" | "os/mmio-write" | "os/irq-wait" | "os/irq-ack" | "kv/get" | "kv/put" | "kv/delete" | "kv/scan" | "kv/batch" | "mem/arena-new" | "mem/arena-drop" | "mem/alloc" | "mem/free" | "mem/borrow" | "mem/release" | "mem/write" | "mem/freeze" | "mem/atomic-load" | "mem/atomic-store" | "mem/atomic-add" | "mem/atomic-cas" | "kernel/queue-front" | "kernel/queue-back" | "ffi/call";
976
+ type PageCircuit = {
977
+ route?: string;
978
+ page?: string;
979
+ notFound: boolean;
980
+ mounts: Array<MountSeed>;
981
+ embedded: Array<string>;
982
+ embeddedBy: Array<string>;
983
+ orbitalByTrait: {
984
+ [key in string]: string;
985
+ };
986
+ linkedEntityByTrait: {
987
+ [key in string]: string;
988
+ };
989
+ /**
990
+ * The traits the page binds: its own, then the ones it embeds.
991
+ */
992
+ traits: Array<string>;
993
+ /**
994
+ * The entities the page needs: each bound trait's linked entity and every entity reached through declared
995
+ * relation fields of those, transitively, sorted (EXEC-SEED-7).
996
+ */
997
+ entities: Array<string>;
1126
998
  };
1127
- type PageFactFieldWire = "hostname" | "referrer" | "screenWidth";
999
+ type PageFactFieldWire = "hostname" | "referrer" | "screenWidth" | "href";
1128
1000
  type PageFactsWire = {
1129
1001
  available: boolean;
1130
1002
  hostname: string;
1131
1003
  referrer: string;
1132
1004
  screenWidth: number | null;
1005
+ href: string;
1133
1006
  };
1134
- type PayloadCase = "success" | "malformed" | "guard-fail";
1135
1007
  type PayloadSlot = {
1136
1008
  name: string;
1137
1009
  type: string;
@@ -1145,53 +1017,16 @@ type PayloadSlot = {
1145
1017
  */
1146
1018
  entity?: string;
1147
1019
  };
1020
+ type PendingAsk = {
1021
+ trait: string;
1022
+ operator: string;
1023
+ args: Array<JsonValue>;
1024
+ key: string;
1025
+ };
1148
1026
  type PendingRequestWire = {
1149
1027
  id: number;
1150
1028
  request: IoRequestWire;
1151
1029
  };
1152
- type PersistBinding = {
1153
- payloadField: string;
1154
- wholeRow: boolean;
1155
- };
1156
- type PlanFailure = {
1157
- "kind": "invalid-program";
1158
- message: string;
1159
- } | {
1160
- "kind": "invalid-input";
1161
- message: string;
1162
- } | {
1163
- "kind": "unknown-trait";
1164
- name: string;
1165
- available: string;
1166
- };
1167
- type PlanOptions = {
1168
- /**
1169
- * Restrict the plan to these traits (either name spelling a trait carries after resolve).
1170
- */
1171
- traits?: Array<string>;
1172
- /**
1173
- * The bound viewer's id; shapes the seed row id and ownership-stamped payloads.
1174
- */
1175
- viewerId?: string;
1176
- /**
1177
- * Events the caller already covers; the contract plan skips them.
1178
- */
1179
- coveredEvents?: Array<string>;
1180
- };
1181
- type PlanOutcome = {
1182
- "outcome": "planned";
1183
- steps: Array<StepWire>;
1184
- configVariants: Array<TraitConfigVariants>;
1185
- initCredits: Array<InitCredit>;
1186
- emitSweep: Array<EmitStep>;
1187
- contractEvents: ContractEvents;
1188
- crudChains: Array<CrudChain>;
1189
- tickSteps: Array<TickStep>;
1190
- dataMutations: Array<DataMutation>;
1191
- } | {
1192
- "outcome": "refused";
1193
- failure: PlanFailure;
1194
- };
1195
1030
  type PlayedEffect = {
1196
1031
  type: string;
1197
1032
  args: Array<JsonValue>;
@@ -1224,6 +1059,17 @@ type PlayedGuard = {
1224
1059
  trace: Array<EvalStepWire>;
1225
1060
  error?: string;
1226
1061
  };
1062
+ type PlayedOutcome = {
1063
+ orbital: string;
1064
+ trait: string;
1065
+ event: string;
1066
+ from: string;
1067
+ to: string;
1068
+ arm?: number;
1069
+ fired: boolean;
1070
+ effects: Array<PlayedEffect>;
1071
+ emitted: Array<PlayedEmit>;
1072
+ };
1227
1073
  type PlayedResult = {
1228
1074
  trait: string;
1229
1075
  event: string;
@@ -1248,6 +1094,19 @@ type PlayedResult = {
1248
1094
  * The slots the played trait filled, walked by the kernel's render probe; present when `options.render` asked.
1249
1095
  */
1250
1096
  rendered?: Array<RenderedSlot>;
1097
+ /**
1098
+ * Why the requested trait's step failed, when it did.
1099
+ */
1100
+ failure?: string;
1101
+ /**
1102
+ * The step's row after its effects.
1103
+ */
1104
+ entityAfter: EventPayload | null;
1105
+ pendingAsks: Array<PendingAsk>;
1106
+ /**
1107
+ * Every trait the request's event moved, the requested one among them.
1108
+ */
1109
+ outcomes: Array<PlayedOutcome>;
1251
1110
  };
1252
1111
  type PlayedState = {
1253
1112
  before: string | null;
@@ -1260,50 +1119,24 @@ type PlayedStep = {
1260
1119
  event: string;
1261
1120
  payload: EventPayload;
1262
1121
  result: PlayedResult;
1122
+ entity?: {
1123
+ [key in string]: JsonValue;
1124
+ };
1125
+ config?: {
1126
+ [key in string]: JsonValue;
1127
+ };
1128
+ now?: number;
1129
+ settleMs?: number;
1130
+ viewer?: {
1131
+ [key in string]: JsonValue;
1132
+ } | null;
1133
+ credentials?: {
1134
+ [key in string]: string;
1135
+ };
1263
1136
  };
1264
- type PreambleEvent = {
1265
- event: string;
1266
- payload: JsonValue;
1267
- /**
1268
- * The state the machine stands in when this hop is fired, and where the declared transition leads.
1269
- */
1270
- from: string;
1271
- to: string;
1272
- /**
1273
- * States the machine may settle in beyond `to`, because an effect-emitted event advances it on its own.
1274
- */
1275
- acceptStates?: Array<string>;
1276
- /**
1277
- * Firing the hop can change the route.
1278
- */
1279
- navigates: boolean;
1280
- };
1281
- type Precondition = {
1282
- "kind": "established";
1283
- trait: string;
1284
- event: string;
1285
- payload: JsonValue;
1286
- establishAtState: string;
1287
- bindRowFrom?: BindRowFrom;
1288
- role?: RoleWire;
1289
- /**
1290
- * Further unestablished guard fields this preamble does not cover.
1291
- */
1292
- unplannedFields: Array<string>;
1293
- proof: Proof;
1294
- } | {
1295
- "kind": "same-trait-setter";
1296
- fields: Array<string>;
1297
- proof: Proof;
1298
- } | {
1299
- "kind": "unreachable";
1300
- fields: Array<string>;
1301
- };
1302
- type Proof = {
1303
- "kind": "proven";
1304
- } | {
1305
- "kind": "unproven";
1306
- reason: UnprovenReason;
1137
+ type ProgramSurface = {
1138
+ traits: Array<TraitSurface>;
1139
+ browserEntities: Array<string>;
1307
1140
  };
1308
1141
  type PropositionBindings = {
1309
1142
  entity: JsonValue;
@@ -1334,6 +1167,34 @@ type PropositionVerdict = {
1334
1167
  "verdict": "inconclusive";
1335
1168
  reason: string;
1336
1169
  };
1170
+ type ProveFinding = {
1171
+ verdict: ProveVerdict;
1172
+ reason: string;
1173
+ counterexample?: JsonValue;
1174
+ site: string;
1175
+ proposition: ProvedProposition;
1176
+ };
1177
+ type ProveReport = {
1178
+ findings: Array<ProveFinding>;
1179
+ };
1180
+ type ProveVerdict = "violated" | "unproved";
1181
+ type ProvedProposition = {
1182
+ "kind": "row";
1183
+ entity: string;
1184
+ expr: JsonValue;
1185
+ } | {
1186
+ "kind": "state";
1187
+ trait: string;
1188
+ state: string;
1189
+ expr: JsonValue;
1190
+ } | {
1191
+ "kind": "transition";
1192
+ trait: string;
1193
+ from: string;
1194
+ event: string;
1195
+ to: string;
1196
+ expr: JsonValue;
1197
+ };
1337
1198
  type QueryCapabilities = {
1338
1199
  leaves: Array<RowLeafKind>;
1339
1200
  combinators: Array<RowCombinator>;
@@ -1347,6 +1208,10 @@ type QueryCapabilities = {
1347
1208
  * `nearest` is pushed down: the store ranks by cosine similarity itself (EXEC-FETCH-2).
1348
1209
  */
1349
1210
  nearest?: boolean;
1211
+ /**
1212
+ * How the driver realizes the entity's declared `@index` paths; absent is `none`.
1213
+ */
1214
+ indexes?: IndexRealization;
1350
1215
  };
1351
1216
  type RenderedNode = {
1352
1217
  /**
@@ -1385,13 +1250,18 @@ type RenderedSlot = {
1385
1250
  * The rendered tree in pre-order, each `@trait` embed's content visited once where it is embedded.
1386
1251
  */
1387
1252
  nodes: Array<RenderedNode>;
1253
+ /**
1254
+ * The slot's content exactly as the kernel resolved it for a host to paint (EXEC-STEP-4); present only when
1255
+ * `options.renderProps` asked.
1256
+ */
1257
+ props?: JsonValue;
1258
+ /**
1259
+ * The slot's repaint failed to resolve and it keeps its last paint (G-ORBITAL-CORE-090); present only when
1260
+ * `options.renderProps` asked and the failure happened.
1261
+ */
1262
+ fault?: SlotFault;
1388
1263
  };
1389
1264
  type RepaintReason = "rows-changed";
1390
- type ReplayQuery = {
1391
- trait: string;
1392
- state: string;
1393
- };
1394
- type ReplyRoute = "other" | "failure";
1395
1265
  type ResolveProgressWire = {
1396
1266
  "status": "done";
1397
1267
  rows: Array<EntityRow>;
@@ -1408,10 +1278,6 @@ type ResolvedTheme = {
1408
1278
  mode: "light" | "dark";
1409
1279
  tokens: JsonObject;
1410
1280
  };
1411
- type RoleWire = {
1412
- field: string;
1413
- value: string;
1414
- };
1415
1281
  type RotateCounts = {
1416
1282
  rotated: number;
1417
1283
  alreadyCurrent: number;
@@ -1451,22 +1317,6 @@ type RowCommitWrite = {
1451
1317
  };
1452
1318
  type RowCompareOp = "==" | "!=" | "<" | "<=" | ">" | ">=";
1453
1319
  type RowDirection = "asc" | "desc";
1454
- type RowEstablish = {
1455
- "kind": "established";
1456
- event: string;
1457
- payload: JsonValue;
1458
- viewer?: ViewerRequirement;
1459
- bindRowFrom?: BindRowFrom;
1460
- /**
1461
- * Dispatched before the replay path rather than inline with the step.
1462
- */
1463
- beforeReplay: boolean;
1464
- } | {
1465
- "kind": "unreachable";
1466
- trait: string;
1467
- entity: string;
1468
- atState: string;
1469
- };
1470
1320
  type RowIdPage = {
1471
1321
  ids: Array<string>;
1472
1322
  total: number;
@@ -1547,10 +1397,6 @@ type RowSetRef = {
1547
1397
  total: number;
1548
1398
  query: RowQuery;
1549
1399
  };
1550
- type RowShapeField = {
1551
- name: string;
1552
- wholeRow: boolean;
1553
- };
1554
1400
  type RowTotalMode = "exact" | "none";
1555
1401
  type RowValueKind = "string" | "number" | "boolean" | "date" | "null";
1556
1402
  type RowWriteBatch = {
@@ -1614,14 +1460,14 @@ type SeedWire = {
1614
1460
  trait: string;
1615
1461
  event: string;
1616
1462
  };
1617
- type ServerEffectCode = "not-found" | "no-row-key" | "duplicate-id" | "denied";
1618
- type ServerEffectKind = "set" | "persist" | "call-service" | "http" | "fetch" | "fetch-stream" | "ref" | "deref" | "swap" | "atomic" | "emit" | "substrate";
1463
+ type ServerEffectCode = "not-found" | "no-row-key" | "duplicate-id" | "denied" | "derived-failed";
1464
+ type ServerEffectKind = "set" | "persist" | "call-service" | "fetch" | "fetch-stream" | "emit" | "substrate";
1619
1465
  type ServerEffectResult$1 = {
1620
1466
  effect: ServerEffectKind;
1621
1467
  action?: string;
1622
1468
  entityType?: string;
1623
1469
  /**
1624
- * The namespaced operator (`memory/store`) — only on `ServerEffectKind::Substrate`.
1470
+ * The namespaced operator (`llm/generate`) — only on `ServerEffectKind::Substrate`.
1625
1471
  */
1626
1472
  name?: NamespacedEffectName;
1627
1473
  data?: EntityRow | ServerBatchSummary | EventPayloadValue;
@@ -1637,7 +1483,7 @@ type ServerEffectResult$1 = {
1637
1483
  */
1638
1484
  code?: ServerEffectCode;
1639
1485
  /**
1640
- * What an `http` effect reached, `"<METHOD> <origin><path>"`; only on `ServerEffectKind::Http`.
1486
+ * The event an `emit` effect targets; only on `ServerEffectKind::Emit`.
1641
1487
  */
1642
1488
  target?: string;
1643
1489
  /**
@@ -1652,12 +1498,19 @@ type ServerProgressWire = {
1652
1498
  "status": "await";
1653
1499
  flight: number;
1654
1500
  requests: Array<PendingRequestWire>;
1501
+ } | {
1502
+ "status": "queued";
1503
+ ticket: number;
1655
1504
  };
1656
1505
  type Settled<T, E> = {
1657
1506
  "ok": T;
1658
1507
  } | {
1659
1508
  "error": E;
1660
1509
  };
1510
+ type SlotFault = {
1511
+ code: TransitionRejectionCode;
1512
+ error: string;
1513
+ };
1661
1514
  type SnapshotWire = {
1662
1515
  states: JsonObject;
1663
1516
  ambiguousTraits: Array<AmbiguousTrait>;
@@ -1670,66 +1523,54 @@ type StatefulLegWire = {
1670
1523
  leg: EventRequest;
1671
1524
  awaiting: Array<AwaitingTrait>;
1672
1525
  };
1673
- type StepWire = {
1526
+ type StdioKind = "in" | "out" | "err";
1527
+ type StepEmit = {
1528
+ event: string;
1529
+ payload: EventPayload | null;
1530
+ };
1531
+ type StepGuard = {
1532
+ arm: number;
1533
+ guard: JsonValue;
1534
+ passed: boolean;
1535
+ error?: string;
1536
+ };
1537
+ type StepOutcome = {
1674
1538
  trait: string;
1675
- linkedEntity?: string;
1676
- /**
1677
- * The instance the step fires on: the seed row id of the linked entity, or the verifier's fixed id.
1678
- */
1679
- instanceId: string;
1680
- /**
1681
- * The id of the row to seed before the step; absent when the step's own create makes that row.
1682
- */
1683
- seedRowId?: string;
1684
- /**
1685
- * The role a role-only persist policy needs the viewer to carry for this step.
1686
- */
1687
- role?: RoleWire;
1688
- from: string;
1539
+ executed: boolean;
1540
+ previousState: string;
1541
+ newState: string;
1542
+ emits: Array<StepEmit>;
1543
+ firedArm: number | null;
1544
+ guards: Array<StepGuard>;
1545
+ effects: Array<PlayedEffect>;
1546
+ failure: string | null;
1547
+ orbital: string;
1689
1548
  event: string;
1690
- to: string;
1691
- toStates: Array<string>;
1692
- variant: Variant;
1693
- payload: JsonValue;
1694
- guarded: boolean;
1695
- arm?: number;
1696
- solved: boolean;
1697
- reply?: ReplyRoute;
1698
- /**
1699
- * The events (with payloads) that place a fresh machine in `from`; absent when `from` is unreachable.
1700
- * Each is a repositioning step: it moves the machine, it is not under test.
1701
- */
1702
- preamble?: Array<PreambleEvent>;
1703
- payloadCase: PayloadCase;
1704
- guardCase?: GuardCase;
1705
- /**
1706
- * The payload can steer the arm's guard; absent on an unguarded step.
1707
- */
1708
- guardSteerable?: boolean;
1709
- /**
1710
- * On a `guard-fail` step: the targets of the sibling arms that may fire in its place.
1711
- */
1712
- guardSiblingTargets: Array<string>;
1713
- /**
1714
- * Why the planned payload does not exercise this arm; the step is then unsolved.
1715
- */
1716
- armConflict?: ArmConflict;
1717
- /**
1718
- * What must be dispatched first for a guard reading `@entity` fields this trait does not set.
1719
- */
1720
- precondition?: Precondition;
1721
- /**
1722
- * States beyond `toStates` the machine may settle in, because an effect-emitted event advances it on its own.
1723
- */
1724
- acceptStates: Array<string>;
1725
- /**
1726
- * Firing the event can change the route, so the trait may unmount.
1727
- */
1728
- navigates: boolean;
1729
- /**
1730
- * `trait:from+event->to` plus `[payloadCase]` (`[guardCase]` without one); the boot INIT carries no suffix.
1731
- */
1732
- coverageKey: string;
1549
+ ensures: Array<PlayedEnsures>;
1550
+ };
1551
+ type StepRefusal = {
1552
+ success: false;
1553
+ error: string;
1554
+ trait: string | null;
1555
+ outcomes: Array<StepOutcome>;
1556
+ };
1557
+ type StepReport = {
1558
+ success: true;
1559
+ steps: Array<StepResult>;
1560
+ dispatchModes: {
1561
+ [key in string]: DispatchMode;
1562
+ };
1563
+ };
1564
+ type StepResult = {
1565
+ outcomes: Array<StepOutcome>;
1566
+ states: {
1567
+ [key in string]: string;
1568
+ };
1569
+ entities: {
1570
+ [key in string]: JsonValue;
1571
+ };
1572
+ entityAfter: EventPayload | null;
1573
+ pendingAsks: Array<PendingAsk>;
1733
1574
  };
1734
1575
  type StoreListing = {
1735
1576
  enabled: boolean;
@@ -1738,12 +1579,37 @@ type StoreListing = {
1738
1579
  type StoredName = {
1739
1580
  service: string;
1740
1581
  name: string;
1582
+ last4?: string;
1741
1583
  };
1742
- type StreamFramingWire = "sse" | "jsonLines";
1743
1584
  type SubstrateFailureWire = {
1744
1585
  message: string;
1745
1586
  errors: Array<JsonValue>;
1746
1587
  };
1588
+ type SurfaceEmit = {
1589
+ event: string;
1590
+ eventId?: string;
1591
+ };
1592
+ type SurfaceListen = {
1593
+ event: string;
1594
+ source?: SurfaceListenSource;
1595
+ };
1596
+ type SurfaceListenSource = {
1597
+ orbital: string;
1598
+ trait: string;
1599
+ };
1600
+ type SurfaceTick = {
1601
+ name: string;
1602
+ whileVisible: boolean;
1603
+ runsInBackground: boolean;
1604
+ };
1605
+ type SurfaceTransition = {
1606
+ from: string;
1607
+ to: string;
1608
+ event: string;
1609
+ guard?: JsonValue;
1610
+ awaitRender?: JsonValue;
1611
+ };
1612
+ type SysKind = "cpu" | "memory" | "disk" | "network" | "power-state" | "identity" | "self-signal";
1747
1613
  type TabAction = "click" | "focus" | "type";
1748
1614
  type TabApply = {
1749
1615
  elementId: string;
@@ -1835,32 +1701,12 @@ type TabStyle = {
1835
1701
  property: string;
1836
1702
  value: string;
1837
1703
  };
1838
- type TickStep = {
1839
- trait: string;
1840
- from: string;
1841
- /**
1842
- * The tick's name, fired as the step's event.
1843
- */
1844
- event: string;
1845
- waitMs: number;
1846
- /**
1847
- * A tick's effects may move the trait anywhere in its declared topology: any declared state is a landing.
1848
- */
1849
- acceptStates: Array<string>;
1850
- coverageKey: string;
1851
- };
1852
1704
  type TraceEffectsWire = {
1853
1705
  effects: Array<EffectTraceWire>;
1854
1706
  emitted: Array<EmittedEffectWire>;
1855
1707
  writes: Array<EntityWriteWire>;
1856
1708
  entity: JsonValue;
1857
1709
  };
1858
- type TraitConfigVariants = {
1859
- trait: string;
1860
- baseline: JsonObject;
1861
- variants: Array<ConfigVariant>;
1862
- noDeclaredValues: Array<string>;
1863
- };
1864
1710
  type TraitFrom = {
1865
1711
  trait: string;
1866
1712
  from: string;
@@ -1881,45 +1727,27 @@ type TraitSnapshot = {
1881
1727
  state: string;
1882
1728
  entity: JsonValue;
1883
1729
  };
1884
- type TransientFinding = {
1885
- "kind": "no-entering-persist";
1886
- event: string;
1887
- } | {
1888
- "kind": "no-denying-viewer";
1889
- entity: string;
1890
- operation: string;
1891
- };
1892
- type TransientOutcome = {
1893
- "outcome": "not-transient";
1894
- } | {
1895
- "outcome": "probe";
1896
- step: TransientProbe;
1897
- } | {
1898
- "outcome": "finding";
1899
- finding: TransientFinding;
1900
- };
1901
- type TransientProbe = {
1902
- trait: string;
1903
- from: string;
1904
- event: string;
1905
- to: string;
1906
- payload: JsonValue;
1907
- acceptStates: Array<string>;
1908
- role: RoleWire;
1909
- /**
1910
- * The nominal failure arm the cascade is expected to prove.
1911
- */
1912
- verifiesPortalFor: TransientQuery;
1913
- instanceId: string;
1914
- seedRowId?: string;
1915
- preamble?: Array<PreambleEvent>;
1916
- coverageKey: string;
1917
- };
1918
- type TransientQuery = {
1919
- trait: string;
1920
- from: string;
1921
- event: string;
1922
- to: string;
1730
+ type TraitSurface = {
1731
+ name: string;
1732
+ orbital: string;
1733
+ orbitalId?: string;
1734
+ traitId?: string;
1735
+ entity?: string;
1736
+ shared: boolean;
1737
+ browser: boolean;
1738
+ frameKey: string;
1739
+ ticks: Array<SurfaceTick>;
1740
+ states: Array<string>;
1741
+ initial?: string;
1742
+ events: Array<string>;
1743
+ emits: Array<SurfaceEmit>;
1744
+ listens: Array<SurfaceListen>;
1745
+ transitions: Array<SurfaceTransition>;
1746
+ /**
1747
+ * The trait paints a `guest-view` (G-CROSS-400): a host hands it every event raised in its scope, and the kernel
1748
+ * routes one a painted guest control carries or ignores it.
1749
+ */
1750
+ paintsGuestViews: boolean;
1923
1751
  };
1924
1752
  type TransitionHop = {
1925
1753
  trait: string;
@@ -1948,67 +1776,59 @@ type TransitionRejection = {
1948
1776
  event?: string;
1949
1777
  statesDeclaringEvent?: Array<string>;
1950
1778
  transition?: string;
1951
- guard?: unknown;
1779
+ guard?: JsonValue;
1952
1780
  /**
1953
1781
  * `effect-failed`: the failure's message.
1954
1782
  */
1955
1783
  error?: string;
1784
+ /**
1785
+ * `repaint-failed`: the slot whose repaint failed.
1786
+ */
1787
+ slot?: string;
1956
1788
  };
1957
- type TransitionRejectionCode = "no-matching-transition" | "guard-rejected" | "no-dispatchable-traits" | "not-an-external-input" | "inbound-only-event" | "effect-failed";
1958
- type UnprovenReason = "setter-value-unresolved" | "setter-not-on-replay-path" | "multiple-preconditions-unplanned" | "unreachable";
1959
- type Variant = "auto-init" | "success";
1960
- type VerdictReason = {
1961
- "kind": "reached";
1962
- } | {
1963
- "kind": "held-under-guard";
1964
- } | {
1965
- "kind": "not-driven";
1966
- } | {
1967
- "kind": "preamble-missed";
1968
- actual: string;
1969
- } | {
1970
- "kind": "arm-unsolved";
1971
- } | {
1972
- "kind": "guard-rejected";
1973
- } | {
1974
- "kind": "guard-accepted";
1975
- } | {
1976
- "kind": "guard-unsteerable";
1977
- } | {
1978
- "kind": "payload-validator-not-run";
1979
- } | {
1980
- "kind": "arm-not-fired";
1981
- fired: number | null;
1982
- } | {
1983
- "kind": "wrong-state";
1984
- actual: string;
1985
- } | {
1986
- "kind": "effect-failed";
1987
- } | {
1988
- "kind": "mutation-landed";
1989
- } | {
1990
- "kind": "mutation-refused";
1991
- outcome: string;
1992
- error: string | null;
1993
- } | {
1994
- "kind": "success-not-emitted";
1995
- expected: string;
1996
- emitted: Array<string>;
1997
- } | {
1998
- "kind": "row-delta-mismatch";
1999
- expected: number;
2000
- actual: number | null;
2001
- } | {
2002
- "kind": "precondition-unproven";
2003
- reason: UnprovenReason;
2004
- } | {
2005
- "kind": "produced-by-effect";
2006
- failed: string;
1789
+ type TransitionRejectionCode = "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";
1790
+ type ValidationJsonError = {
1791
+ code: string;
1792
+ path: string;
1793
+ message: string;
1794
+ suggestion?: string;
1795
+ fixGuidance?: string;
1796
+ expectedShape?: string;
1797
+ validValues?: Array<string>;
1798
+ line?: number;
1799
+ column?: number;
1800
+ endLine?: number;
1801
+ endColumn?: number;
1802
+ approximate: boolean;
1803
+ needsInstall?: boolean;
1804
+ entity?: string;
1805
+ field?: string;
1806
+ };
1807
+ type ValidationJsonOutput = {
1808
+ success: boolean;
1809
+ valid: boolean;
1810
+ errors?: Array<ValidationJsonError>;
1811
+ warnings?: Array<ValidationJsonWarning>;
1812
+ stats?: ValidationStats;
1813
+ };
1814
+ type ValidationJsonWarning = {
1815
+ code: string;
1816
+ path: string;
1817
+ message: string;
1818
+ suggestion?: string;
1819
+ line?: number;
1820
+ column?: number;
1821
+ endLine?: number;
1822
+ endColumn?: number;
1823
+ approximate: boolean;
1824
+ entity?: string;
1825
+ field?: string;
2007
1826
  };
2008
- type VerdictWire = {
2009
- status: FrameStatus;
2010
- gap?: GapReason;
2011
- reason: VerdictReason;
1827
+ type ValidationStats = {
1828
+ orbitals: number;
1829
+ entities: number;
1830
+ traits: number;
1831
+ pages: number;
2012
1832
  };
2013
1833
  type Viewer = {
2014
1834
  /**
@@ -2027,10 +1847,6 @@ type Viewer = {
2027
1847
  permissions?: Array<string>;
2028
1848
  claims: Array<Claim>;
2029
1849
  };
2030
- type ViewerRequirement = {
2031
- role?: RoleWire;
2032
- owner?: OwnerRequirement;
2033
- };
2034
1850
  type WriteCapabilities = {
2035
1851
  guards: GuardCapabilities;
2036
1852
  conditional: boolean;
@@ -2044,110 +1860,99 @@ type WriteCapabilities = {
2044
1860
  */
2045
1861
  commitRows?: boolean;
2046
1862
  };
2047
- /** The check of a kernel response at the host boundary: every field of `EventResponse` and of the wire types nested in it. */
1863
+ /** The check of a kernel `AppliedWire` at the host boundary: every field, and every wire type nested in it. */
1864
+ declare function isAppliedWire(value: JsonValue): value is JsonValue & AppliedWire;
1865
+ /** The `AppliedWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1866
+ declare function decodeAppliedWire(value: JsonValue): AppliedWire;
1867
+ /** The check of a kernel `DispatchWire` at the host boundary: every field, and every wire type nested in it. */
1868
+ declare function isDispatchWire(value: JsonValue): value is JsonValue & DispatchWire;
1869
+ /** The `DispatchWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1870
+ declare function decodeDispatchWire(value: JsonValue): DispatchWire;
1871
+ /** The check of a kernel `Entered` at the host boundary: every field, and every wire type nested in it. */
1872
+ declare function isEntered(value: JsonValue): value is JsonValue & Entered;
1873
+ /** The `Entered` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1874
+ declare function decodeEntered(value: JsonValue): Entered;
1875
+ /** The check of a kernel `EventRequest` at the host boundary: every field, and every wire type nested in it. */
1876
+ declare function isEventRequest(value: JsonValue): value is JsonValue & EventRequest;
1877
+ /** The `EventRequest` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1878
+ declare function decodeEventRequest(value: JsonValue): EventRequest;
1879
+ /** The check of a kernel `EventResponse` at the host boundary: every field, and every wire type nested in it. */
2048
1880
  declare function isEventResponse(value: JsonValue): value is JsonValue & EventResponse;
2049
-
2050
- /**
2051
- * Authenticated user context — what `@user.x` resolves against.
2052
- *
2053
- * The canonical shape for the `user` binding root, shared by both execution
2054
- * paths: the JS interpreter resolves `@user.id` through
2055
- * `EvaluationContext.user`, and the compiled shell emits `user?.id` against the
2056
- * `UserContext` its `@app/shared` re-exports from here.
2057
- *
2058
- * `id` is the field the behavior library reads for ownership scoping and `role`
2059
- * the field it reads for capability gating. Auth providers that name the subject
2060
- * `uid` must normalize at their boundary — {@link normalizeUserContext} does that.
2061
- *
2062
- * @packageDocumentation
2063
- */
2064
-
2065
- /**
2066
- * What a host's auth provider has resolved the viewer to be — from session
2067
- * resolution only, never from an interactive sign-in action: `pending` until
2068
- * the session is known; `anonymous` / `authenticated` once it is; `failed`
2069
- * when connecting or resolving the session failed; `unavailable` when the host
2070
- * has no sign-in configured. An `access: authenticated` page mounts only on
2071
- * `authenticated`.
2072
- */
2073
- type ViewerAuthority = 'pending' | 'anonymous' | 'authenticated' | 'failed' | 'unavailable';
2074
- /**
2075
- * The `@user` binding: a {@link Viewer} held flat. Its named fields are the viewer's; each claim is a key holding its
2076
- * JSON value, readable as `@user.<claim>`. The Rust twin of the conversion is `orbital_core_base::viewer`
2077
- * (`Viewer::from_user` / `Viewer::to_user`).
2078
- */
2079
- interface UserContext extends Omit<Viewer, 'claims'> {
2080
- [key: string]: FieldValue | undefined;
2081
- }
2082
- /** Zod twin of the generated {@link Viewer}: the record a `.lolo` program names as `Viewer`. */
2083
- declare const ViewerSchema: z.ZodType<Viewer>;
2084
- /**
2085
- * The identity of an unauthenticated viewer. A resolvable object rather than
2086
- * `undefined` so a role predicate evaluates to a definite `false` instead of
2087
- * comparing against nothing.
2088
- */
2089
- declare const ANONYMOUS_USER: UserContext;
2090
- /** Provider-shaped identity claims, before normalization. */
2091
- interface RawUserClaims {
2092
- id?: string;
2093
- uid?: string;
2094
- email?: string | null;
2095
- name?: string | null;
2096
- displayName?: string | null;
2097
- /** Absent or `null` when the token carries none, as the kernel's `Viewer.role` (`Option`). */
2098
- role?: string | null;
2099
- permissions?: string[] | null;
2100
- [key: string]: FieldValue | undefined;
2101
- }
2102
- /** Zod twin of `RawUserClaims` — the wire shape of `OrbitalEventRequest.user`. */
2103
- declare const RawUserClaimsSchema: z.ZodType<RawUserClaims>;
2104
- /**
2105
- * Normalize provider claims into a {@link UserContext}.
2106
- *
2107
- * Firebase (and most OIDC providers) name the subject `uid` and the display name
2108
- * `displayName`, while every `.lolo` behavior reads `@user.id` / `@user.name`.
2109
- * Without this normalization `@user.id` is `undefined` against a fully
2110
- * authenticated request and every ownership filter silently matches no rows.
2111
- * `uid` is preserved so `@user.uid` keeps working.
2112
- *
2113
- * Returns `undefined` for absent or subject-less claims so callers can
2114
- * distinguish "no auth ran" from "anonymous"; use {@link ANONYMOUS_USER} where a
2115
- * definite identity is required.
2116
- */
2117
- declare function normalizeUserContext(claims: RawUserClaims | null | undefined): UserContext | undefined;
2118
- /**
2119
- * Turn a row of an app's `[identity]` entity into a viewer.
2120
- *
2121
- * There is no separate persona shape: an identity row IS the persona
2122
- * (`Almadar_LOLO_Identity.md` §4.3), so this only guards the one field the
2123
- * behavior library requires — a non-empty string `id` — and passes every other
2124
- * declared field through as a `@user.<field>` claim. Rows without a usable id
2125
- * yield `undefined` rather than a persona nobody can own rows as.
2126
- */
2127
- declare function personaFromIdentityRow(row: Record<string, FieldValue | undefined>): UserContext | undefined;
2128
- /** Look a persona up in a roster by id, or by role when no id matches. */
2129
- declare function findPersonaInRoster(roster: readonly UserContext[], idOrRole: string): UserContext | undefined;
2130
- /**
2131
- * Resolve a persona spec — a bare id/role (`Person Id 3`, `moderator`) or a full
2132
- * JSON `UserContext` — into a viewer. This is the `ALMADAR_PERSONA` contract,
2133
- * shared by every host that presents an app as somebody.
2134
- *
2135
- * The roster is the app's OWN declared personas — the seeded rows of its
2136
- * `[identity]` entity (`Almadar_LOLO_Identity.md` §4.3) — supplied by the host
2137
- * that has them in hand (the runtime's live store on the interpreter path, the
2138
- * schema-derived seed rows on the compiled path). There is no global roster:
2139
- * an app without an `[identity]` entity resolves only JSON-form specs.
2140
- *
2141
- * Throws on anything unresolvable rather than returning `undefined`: "no persona"
2142
- * and "persona silently ignored" look identical on screen, so a bad spec must
2143
- * fail at boot instead of rendering as nobody.
2144
- */
2145
- declare function resolvePersonaSpec(spec: string, roster: readonly UserContext[]): UserContext;
1881
+ /** The `EventResponse` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1882
+ declare function decodeEventResponse(value: JsonValue): EventResponse;
1883
+ /** The check of a kernel `FiredTick` at the host boundary: every field, and every wire type nested in it. */
1884
+ declare function isFiredTick(value: JsonValue): value is JsonValue & FiredTick;
1885
+ /** The `FiredTick` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1886
+ declare function decodeFiredTick(value: JsonValue): FiredTick;
1887
+ /** The check of a kernel `FoldProgressWire` at the host boundary: every field, and every wire type nested in it. */
1888
+ declare function isFoldProgressWire(value: JsonValue): value is JsonValue & FoldProgressWire;
1889
+ /** The `FoldProgressWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1890
+ declare function decodeFoldProgressWire(value: JsonValue): FoldProgressWire;
1891
+ /** The check of a kernel `FoldedNextWire` at the host boundary: every field, and every wire type nested in it. */
1892
+ declare function isFoldedNextWire(value: JsonValue): value is JsonValue & FoldedNextWire;
1893
+ /** The `FoldedNextWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1894
+ declare function decodeFoldedNextWire(value: JsonValue): FoldedNextWire;
1895
+ /** The check of a kernel `FrameWire` at the host boundary: every field, and every wire type nested in it. */
1896
+ declare function isFrameWire(value: JsonValue): value is JsonValue & FrameWire;
1897
+ /** The `FrameWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1898
+ declare function decodeFrameWire(value: JsonValue): FrameWire;
1899
+ /** The check of a kernel `IoReplyWire` at the host boundary: every field, and every wire type nested in it. */
1900
+ declare function isIoReplyWire(value: JsonValue): value is JsonValue & IoReplyWire;
1901
+ /** The `IoReplyWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1902
+ declare function decodeIoReplyWire(value: JsonValue): IoReplyWire;
1903
+ /** The check of a kernel `IoRequestWire` at the host boundary: every field, and every wire type nested in it. */
1904
+ declare function isIoRequestWire(value: JsonValue): value is JsonValue & IoRequestWire;
1905
+ /** The `IoRequestWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1906
+ declare function decodeIoRequestWire(value: JsonValue): IoRequestWire;
1907
+ /** The check of a kernel `MountWire` at the host boundary: every field, and every wire type nested in it. */
1908
+ declare function isMountWire(value: JsonValue): value is JsonValue & MountWire;
1909
+ /** The `MountWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1910
+ declare function decodeMountWire(value: JsonValue): MountWire;
1911
+ /** The check of a kernel `NextWire` at the host boundary: every field, and every wire type nested in it. */
1912
+ declare function isNextWire(value: JsonValue): value is JsonValue & NextWire;
1913
+ /** The `NextWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1914
+ declare function decodeNextWire(value: JsonValue): NextWire;
1915
+ /** The check of a kernel `OsGrantsReport` at the host boundary: every field, and every wire type nested in it. */
1916
+ declare function isOsGrantsReport(value: JsonValue): value is JsonValue & OsGrantsReport;
1917
+ /** The `OsGrantsReport` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1918
+ declare function decodeOsGrantsReport(value: JsonValue): OsGrantsReport;
1919
+ /** The check of a kernel `PlayedStep` at the host boundary: every field, and every wire type nested in it. */
1920
+ declare function isPlayedStep(value: JsonValue): value is JsonValue & PlayedStep;
1921
+ /** The `PlayedStep` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1922
+ declare function decodePlayedStep(value: JsonValue): PlayedStep;
1923
+ /** The check of a kernel `ProveReport` at the host boundary: every field, and every wire type nested in it. */
1924
+ declare function isProveReport(value: JsonValue): value is JsonValue & ProveReport;
1925
+ /** The `ProveReport` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1926
+ declare function decodeProveReport(value: JsonValue): ProveReport;
1927
+ /** The check of a kernel `ResolveProgressWire` at the host boundary: every field, and every wire type nested in it. */
1928
+ declare function isResolveProgressWire(value: JsonValue): value is JsonValue & ResolveProgressWire;
1929
+ /** The `ResolveProgressWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1930
+ declare function decodeResolveProgressWire(value: JsonValue): ResolveProgressWire;
1931
+ /** The check of a kernel `ServerProgressWire` at the host boundary: every field, and every wire type nested in it. */
1932
+ declare function isServerProgressWire(value: JsonValue): value is JsonValue & ServerProgressWire;
1933
+ /** The `ServerProgressWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1934
+ declare function decodeServerProgressWire(value: JsonValue): ServerProgressWire;
1935
+ /** The check of a kernel `SnapshotWire` at the host boundary: every field, and every wire type nested in it. */
1936
+ declare function isSnapshotWire(value: JsonValue): value is JsonValue & SnapshotWire;
1937
+ /** The `SnapshotWire` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1938
+ declare function decodeSnapshotWire(value: JsonValue): SnapshotWire;
1939
+ /** The check of a kernel `StepRefusal` at the host boundary: every field, and every wire type nested in it. */
1940
+ declare function isStepRefusal(value: JsonValue): value is JsonValue & StepRefusal;
1941
+ /** The `StepRefusal` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1942
+ declare function decodeStepRefusal(value: JsonValue): StepRefusal;
1943
+ /** The check of a kernel `StepReport` at the host boundary: every field, and every wire type nested in it. */
1944
+ declare function isStepReport(value: JsonValue): value is JsonValue & StepReport;
1945
+ /** The `StepReport` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1946
+ declare function decodeStepReport(value: JsonValue): StepReport;
1947
+ /** The check of a kernel `ValidationJsonOutput` at the host boundary: every field, and every wire type nested in it. */
1948
+ declare function isValidationJsonOutput(value: JsonValue): value is JsonValue & ValidationJsonOutput;
1949
+ /** The `ValidationJsonOutput` the host received, as serde reads it: integers in range, defaults filled in, unknown fields dropped (or refused where the type denies them); a throw names the first path that is not one. */
1950
+ declare function decodeValidationJsonOutput(value: JsonValue): ValidationJsonOutput;
2146
1951
 
2147
1952
  /**
2148
1953
  * Server-side effect result — the wire shape a server-executed effect
2149
1954
  * (`SERVER_REPORTED_EFFECTS` in `effect.ts`) reports back to the client,
2150
- * closing the circuit on `OrbitalEventResponse.effectResults`.
1955
+ * closing the circuit on `EventResponse.effectResults`.
2151
1956
  *
2152
1957
  * Promoted from `@almadar/runtime`'s `ServerEffectHandlers.ts` (the JS
2153
1958
  * interpreter's own definition, canonical per `CLAUDE.md`'s "converge on
@@ -2162,14 +1967,14 @@ declare function resolvePersonaSpec(spec: string, roster: readonly UserContext[]
2162
1967
  * runtime's `EffectResult`. Callers who want telemetry pass an array that
2163
1968
  * the factory appends to; otherwise it's unused.
2164
1969
  */
2165
- interface ServerBatchSummary {
2166
- operations: EntityRow[];
1970
+ type ServerBatchSummary = {
1971
+ operations: EntityRow$1[];
2167
1972
  completedCount: number;
2168
1973
  totalCount: number;
2169
- }
1974
+ };
2170
1975
  /** Zod twin of `ServerBatchSummary`. */
2171
1976
  declare const ServerBatchSummarySchema: z.ZodType<ServerBatchSummary>;
2172
- interface ServerEffectResult {
1977
+ type ServerEffectResult = {
2173
1978
  /**
2174
1979
  * The reported effect's head (`SERVER_REPORTED_EFFECTS`, derived from the
2175
1980
  * effect union in `effect.ts`), or `"substrate"` — the one wire grouping
@@ -2179,10 +1984,10 @@ interface ServerEffectResult {
2179
1984
  effect: ServerReportedEffect | "substrate";
2180
1985
  action?: string;
2181
1986
  entityType?: string;
2182
- /** The invoked namespaced operator (e.g. `"memory/store"`), set only on `effect: "substrate"`. */
1987
+ /** The invoked namespaced operator (e.g. `"llm/generate"`), set only on `effect: "substrate"`. */
2183
1988
  name?: NamespacedEffectName;
2184
1989
  /** Entity row for CRUD/set/swap, the batch summary for `persist batch`, the raw service/substrate result. */
2185
- data?: EntityRow | ServerBatchSummary | EventPayloadValue;
1990
+ data?: EntityRow$1 | ServerBatchSummary | EventPayloadValue$1;
2186
1991
  success: boolean;
2187
1992
  /**
2188
1993
  * Set when a persist failed because an access policy rejected it or the
@@ -2192,15 +1997,15 @@ interface ServerEffectResult {
2192
1997
  */
2193
1998
  denied?: true;
2194
1999
  error?: string;
2195
- /** Coded failure reason for a persist that resolved no target row (`not-found`, `no-row-key`), created on a taken id (`duplicate-id`), or was refused by a declared policy (`denied`, EXEC-STEP-8). */
2196
- code?: "not-found" | "no-row-key" | "duplicate-id" | "denied";
2000
+ /** Coded failure reason for a persist that resolved no target row (`not-found`, `no-row-key`), created on a taken id (`duplicate-id`), or was refused by a declared policy (`denied`), or a `@derived` field could not be computed (`derived-failed`, EXEC-STEP-8). */
2001
+ code?: "not-found" | "no-row-key" | "duplicate-id" | "denied" | "derived-failed";
2197
2002
  /** What the effect addressed: an `http` effect's `<METHOD> <origin><path>`, an `emit` entry's event name. */
2198
2003
  target?: string;
2199
2004
  /** The declared `emit.failure` event the program routed this effect's failure to; absent when it declares none. */
2200
2005
  routed?: string;
2201
- }
2006
+ };
2202
2007
  /** Zod twin of `ServerEffectResult`. */
2203
2008
  declare const ServerEffectResultSchema: z.ZodType<ServerEffectResult>;
2204
2009
 
2205
- export { ANONYMOUS_USER as A, isEventResponse as cD, RawUserClaimsSchema as o, ServerBatchSummarySchema as q, ServerEffectResultSchema as r, ViewerSchema as t, findPersonaInRoster as u, normalizeUserContext as v, personaFromIdentityRow as w, resolvePersonaSpec as x };
2206
- export type { ClientEffectByTrait as $, Accepted as B, Claim as C, AffordanceQuery as D, EvalContextWire as E, AffordanceStep as F, GuardOutcomeWire as G, HopObservation as H, AmbiguousTrait as I, AppliedWire as J, ArmConflict as K, AwaitingTrait as L, MutationOpWire as M, BeaconOutcomeWire as N, BindRowFrom as O, PayloadSlot as P, BusEventSource as Q, RepaintReason as R, ServerEffectResult as S, TraceEffectsWire as T, UserContext as U, Viewer as V, CallRoutesWire as W, CallSiteWire as X, CallerWire as Y, CanvasTheme as Z, ClientEffect as _, RawUserClaims as a, OAuthConnectionRow as a$, ConfigVariant as a0, ContractEvents as a1, ContractStep as a2, CredentialStanding as a3, Credit as a4, CreditStep as a5, CrudChain as a6, CrudKind as a7, DataMutation as a8, DeliverRefusal as a9, FrameWire as aA, GapReason as aB, GuardCapabilities as aC, GuardCase as aD, HopEffect as aE, HopEffectStatus as aF, HttpBody as aG, HttpFailureWire as aH, HttpRequestWire as aI, HttpResponseWire as aJ, InboundRelation as aK, InitCredit as aL, InstanceRef as aM, IoAnswerWire as aN, IoReplyWire as aO, IoRequestWire as aP, LegResidence as aQ, LifecycleEvent as aR, ModelFailureKindWire as aS, ModelFailureWire as aT, MountFailure as aU, MountLegWire as aV, MountSeed as aW, MountWire as aX, MutationKind as aY, NavigateOptions as aZ, OAuthAsk as a_, DeliverRefusalKind as aa, DeliveryRecord as ab, DispatchLog as ac, DispatchMode as ad, DispatchWire as ae, EffectStatusWire as af, EffectTraceWire as ag, EmitRowBinding as ah, EmitStep as ai, EmittedEffectWire as aj, EmittedEvent as ak, EnsuresVerdict as al, EntityBinding as am, EntityBindingKind as an, EntityWriteWire as ao, Envelope as ap, EstablishFallback as aq, EvalStepKind as ar, EvalStepWire as as, EventRequest as at, EventResponse as au, Expectation as av, FiredHop as aw, FiredTick as ax, FrameDispatch as ay, FrameStatus as az, EvalOutcomeWire as b, RunTick as b$, OAuthPendingGrant as b0, OAuthPendingTake as b1, OAuthProvider as b2, OAuthReply as b3, OAuthTokenGrant as b4, Observation as b5, ObservedEffect as b6, ObservedOutcome as b7, OperatorValueKinds as b8, OsError as b9, RoleWire as bA, RotateCounts as bB, RoutedLeg as bC, RowCombinator as bD, RowCommit as bE, RowCommitWrite as bF, RowCompareOp as bG, RowDirection as bH, RowEstablish as bI, RowIdPage as bJ, RowLeafKind as bK, RowNearest as bL, RowOperator as bM, RowOrder as bN, RowOrderableFields as bO, RowPage as bP, RowPredicate as bQ, RowProjection as bR, RowQuery as bS, RowSetRef as bT, RowShapeField as bU, RowTotalMode as bV, RowValueKind as bW, RowWriteBatch as bX, RowWriteFailureMode as bY, RowWriteOp as bZ, RowWriteOutcome as b_, OsErrorKind as ba, OsOp as bb, OwnerRequirement as bc, PageFactFieldWire as bd, PageFactsWire as be, PayloadCase as bf, PendingRequestWire as bg, PersistBinding as bh, PlanFailure as bi, PlanOptions as bj, PlanOutcome as bk, PlayedEnsures as bl, PreambleEvent as bm, Precondition as bn, Proof as bo, PropositionBindings as bp, PropositionObservation as bq, PropositionVerdict as br, QueryCapabilities as bs, RenderedNode as bt, RenderedSlot as bu, ReplayQuery as bv, ReplyRoute as bw, ResolveProgressWire as bx, ResolvedMotion as by, ResolvedTheme as bz, EvalTracedWire as c, SeedWire as c0, ServerEffectCode as c1, ServerEffectKind as c2, ServerEffectResult$1 as c3, ServerProgressWire as c4, Settled as c5, SnapshotWire as c6, StatefulLegWire as c7, StepWire as c8, StoreListing as c9, VerdictWire as cA, ViewerRequirement as cB, WriteCapabilities as cC, StoredName as ca, StreamFramingWire as cb, SubstrateFailureWire as cc, TabAction as cd, TabApply as ce, TabCommand as cf, TabDelivery as cg, TabFailure as ch, TabField as ci, TabImageFormat as cj, TabStyle as ck, TickStep as cl, TraitConfigVariants as cm, TraitFrom as cn, TraitRef as co, TraitSnapshot as cp, TransientFinding as cq, TransientOutcome as cr, TransientProbe as cs, TransientQuery as ct, TransitionHop as cu, TransitionRejection as cv, TransitionRejectionCode as cw, UnprovenReason as cx, Variant as cy, VerdictReason as cz, MutationVerdictWire as d, RowBindingWire as e, GuardVerdict as f, MachineRow as g, PlayedEffect as h, PlayedEffectStatus as i, PlayedEmit as j, PlayedGuard as k, PlayedResult as l, PlayedState as m, PlayedStep as n, ServerBatchSummary as p, ViewerAuthority as s, TabAsk as y, TabFailureKind as z };
2010
+ export { ServerEffectResultSchema as B, isDispatchWire as c$, decodeAppliedWire as cE, decodeDispatchWire as cF, decodeEntered as cG, decodeEventRequest as cH, decodeEventResponse as cI, decodeFiredTick as cJ, decodeFoldProgressWire as cK, decodeFoldedNextWire as cL, decodeFrameWire as cM, decodeIoReplyWire as cN, decodeIoRequestWire as cO, decodeMountWire as cP, decodeNextWire as cQ, decodeOsGrantsReport as cR, decodePlayedStep as cS, decodeProveReport as cT, decodeResolveProgressWire as cU, decodeServerProgressWire as cV, decodeSnapshotWire as cW, decodeStepRefusal as cX, decodeStepReport as cY, decodeValidationJsonOutput as cZ, isAppliedWire as c_, isEntered as d0, isEventRequest as d1, isEventResponse as d2, isFiredTick as d3, isFoldProgressWire as d4, isFoldedNextWire as d5, isFrameWire as d6, isIoReplyWire as d7, isIoRequestWire as d8, isMountWire as d9, isNextWire as da, isOsGrantsReport as db, isPlayedStep as dc, isProveReport as dd, isResolveProgressWire as de, isServerProgressWire as df, isSnapshotWire as dg, isStepRefusal as dh, isStepReport as di, isValidationJsonOutput as dj, ServerBatchSummarySchema as y };
2011
+ export type { AnchoredExec as $, AnchoredGrants as A, Claim as C, DesktopKind as D, EventRequest as E, FsGrant as F, GuardOutcomeWire as G, HostAskCompletion as H, StdioKind as I, SysKind as J, KvMode as K, TransitionHop as L, MutationOpWire as M, NetGrant as N, OsGrants as O, PayloadSlot as P, TransitionRejection as Q, RowBindingWire as R, ServerBatchSummary as S, TraceEffectsWire as T, TransitionRejectionCode as U, Viewer as V, HopObservation as W, TabAsk as X, TabFailureKind as Y, Accepted as Z, AmbiguousTrait as _, EventResponse as a, MemGrant as a$, AnchoredFsGrant as a0, AnchoredNetGrant as a1, AppliedWire as a2, AssertionSpec as a3, BusEventSource as a4, CallRoutesWire as a5, CallSiteWire as a6, CallerWire as a7, CanvasTheme as a8, ClientAuth as a9, EvalStepWire as aA, EventPayload as aB, EventPayloadValue as aC, FfiGrant as aD, FieldValue as aE, FiredTick as aF, FoldProgressWire as aG, FoldedNextWire as aH, FrameDelta as aI, FrameDispatch as aJ, FrameIdentity as aK, FrameOp as aL, FrameTheme as aM, FrameWire as aN, FramesResync as aO, GuardCapabilities as aP, IndexRealization as aQ, InstanceRef as aR, IoAnswerWire as aS, IoReplyWire as aT, IoRequestWire as aU, JsonTokenSpec as aV, KernelGrant as aW, KernelKind as aX, Left as aY, LegResidence as aZ, LifecycleEvent as a_, ClientEffect as aa, ConnectFailure as ab, ConnectFailureKind as ac, CredentialGrantWire as ad, CredentialKind as ae, CredentialStanding as af, DeliverRefusal as ag, DeliverRefusalKind as ah, DeliveryRecord as ai, DispatchLog as aj, DispatchMode as ak, DispatchWire as al, EffectStatusWire as am, EffectTraceWire as an, EmittedEffectWire as ao, EmittedEvent as ap, EnsuresVerdict as aq, Entered as ar, EntityBinding as as, EntityBindingKind as at, EntityRow as au, EntityWriteWire as av, EnvTail as aw, EnvTails as ax, Envelope as ay, EvalStepKind as az, EvalContextWire as b, RunTick as b$, MemKind as b0, ModelFailureKindWire as b1, ModelFailureWire as b2, MountFailure as b3, MountLegWire as b4, MountSeed as b5, MountWire as b6, NavigateOptions as b7, NextWire as b8, OperatorValueKinds as b9, ResolveProgressWire as bA, ResolvedMotion as bB, ResolvedTheme as bC, RotateCounts as bD, RoutedLeg as bE, RowCombinator as bF, RowCommit as bG, RowCommitWrite as bH, RowCompareOp as bI, RowDirection as bJ, RowIdPage as bK, RowLeafKind as bL, RowNearest as bM, RowOperator as bN, RowOrder as bO, RowOrderableFields as bP, RowPage as bQ, RowPredicate as bR, RowProjection as bS, RowQuery as bT, RowSetRef as bU, RowTotalMode as bV, RowValueKind as bW, RowWriteBatch as bX, RowWriteFailureMode as bY, RowWriteOp as bZ, RowWriteOutcome as b_, OsError as ba, OsErrorKind as bb, OsGrantFinding as bc, OsGrantFindingCode as bd, OsGrantVia as be, OsGrantsReport as bf, OsOp as bg, PageCircuit as bh, PageFactFieldWire as bi, PageFactsWire as bj, PendingAsk as bk, PendingRequestWire as bl, PlayedEnsures as bm, PlayedOutcome as bn, ProgramSurface as bo, PropositionBindings as bp, PropositionObservation as bq, PropositionVerdict as br, ProveFinding as bs, ProveReport as bt, ProveVerdict as bu, ProvedProposition as bv, QueryCapabilities as bw, RenderedNode as bx, RenderedSlot as by, RepaintReason as bz, EvalOutcomeWire as c, SeedWire as c0, ServerEffectCode as c1, ServerEffectKind as c2, ServerEffectResult$1 as c3, ServerProgressWire as c4, Settled as c5, SlotFault as c6, SnapshotWire as c7, StatefulLegWire as c8, StepEmit as c9, ValidationJsonOutput as cA, ValidationJsonWarning as cB, ValidationStats as cC, WriteCapabilities as cD, StepGuard as ca, StepOutcome as cb, StepRefusal as cc, StepReport as cd, StepResult as ce, StoreListing as cf, StoredName as cg, SubstrateFailureWire as ch, SurfaceEmit as ci, SurfaceListen as cj, SurfaceListenSource as ck, SurfaceTick as cl, SurfaceTransition as cm, TabAction as cn, TabApply as co, TabCommand as cp, TabDelivery as cq, TabFailure as cr, TabField as cs, TabImageFormat as ct, TabStyle as cu, TraitFrom as cv, TraitRef as cw, TraitSnapshot as cx, TraitSurface as cy, ValidationJsonError as cz, EvalTracedWire as d, MutationVerdictWire as e, AwaitingTrait as f, ClientEffectByTrait as g, DevGrant as h, DevKind as i, FsMode as j, GrantAnchor as k, GuardVerdict as l, HopEffect as m, HopEffectStatus as n, MachineRow as o, NetKind as p, NetPart as q, PlayedEffect as r, PlayedEffectStatus as s, PlayedEmit as t, PlayedGuard as u, PlayedResult as v, PlayedState as w, PlayedStep as x, ServerEffectResult as z };