@almadar/core 10.129.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) 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-BhnofAik.d.ts} +5966 -7116
  4. package/dist/builders.d.ts +6 -6
  5. package/dist/builders.js +7 -6
  6. package/dist/{bus-CcbB__oo.d.ts → bus-BrRFWDQK.d.ts} +270 -354
  7. package/dist/chunk-347APWFM.js +286 -0
  8. package/dist/chunk-347APWFM.js.map +1 -0
  9. package/dist/chunk-3URQAGD7.js +98 -0
  10. package/dist/chunk-3URQAGD7.js.map +1 -0
  11. package/dist/chunk-7GHJU5WI.js +39 -0
  12. package/dist/chunk-7GHJU5WI.js.map +1 -0
  13. package/dist/chunk-B4MNHGBP.js +8 -0
  14. package/dist/chunk-B4MNHGBP.js.map +1 -0
  15. package/dist/{chunk-KDMV222Q.js → chunk-F6KHUW7T.js} +304 -373
  16. package/dist/chunk-F6KHUW7T.js.map +1 -0
  17. package/dist/chunk-FGT5OS2Y.js +918 -0
  18. package/dist/chunk-FGT5OS2Y.js.map +1 -0
  19. package/dist/chunk-FQLEAMAB.js +24 -0
  20. package/dist/chunk-FQLEAMAB.js.map +1 -0
  21. package/dist/chunk-HEXOGHQ4.js +3264 -0
  22. package/dist/chunk-HEXOGHQ4.js.map +1 -0
  23. package/dist/chunk-JCD6GLBX.js +412 -0
  24. package/dist/chunk-JCD6GLBX.js.map +1 -0
  25. package/dist/{chunk-QUOTJULD.js → chunk-MGLG2XLD.js} +20 -219
  26. package/dist/chunk-MGLG2XLD.js.map +1 -0
  27. package/dist/chunk-MTBEBSNO.js +1293 -0
  28. package/dist/chunk-MTBEBSNO.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-UZPYYI37.js} +524 -26
  32. package/dist/{chunk-RYPVOI6H.js.map → chunk-UZPYYI37.js.map} +1 -1
  33. package/dist/chunk-VG7BRFUD.js +152 -0
  34. package/dist/chunk-VG7BRFUD.js.map +1 -0
  35. package/dist/chunk-Y2DYZPP5.js +2329 -0
  36. package/dist/chunk-Y2DYZPP5.js.map +1 -0
  37. package/dist/chunk-ZEI7C32D.js +1566 -0
  38. package/dist/chunk-ZEI7C32D.js.map +1 -0
  39. package/dist/{domain-Dz3jP-UM.d.ts → domain-CfKPpXCP.d.ts} +51 -51
  40. package/dist/{effect-result-Bebwu9yT.d.ts → effect-result-DPERsn_v.d.ts} +641 -851
  41. package/dist/{effect-CiEVLsZz.d.ts → effect-wP-IdRt2.d.ts} +236 -443
  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-DomgmRBG.d.ts} +29 -729
  54. package/dist/index.d.ts +69 -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 +1205 -1215
  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/index.d.ts +24 -120
  74. package/dist/patterns/index.js +3 -3
  75. package/dist/patterns/patterns-registry.json +522 -24
  76. package/dist/patterns/registry.json +522 -24
  77. package/dist/trait-CzG9M89M.d.ts +3519 -0
  78. package/dist/types/index.d.ts +9 -10
  79. package/dist/types/index.js +11 -5
  80. package/dist/{types-DGwrltUF.d.ts → types-BHlTjwWd.d.ts} +3 -3
  81. package/fixtures/events-wire/client-effects-by-trait/response.json +0 -18
  82. package/fixtures/events-wire/client-effects-provenance/response.json +0 -18
  83. package/fixtures/events-wire/effect-results-every-kind/response.json +2 -27
  84. package/fixtures/events-wire/navigate-1/response.json +8 -5
  85. package/fixtures/events-wire/navigate-2/response.json +11 -8
  86. package/fixtures/events-wire/navigate-3/response.json +14 -11
  87. package/fixtures/events-wire/navigate-back/response.json +7 -4
  88. package/fixtures/events-wire/render-ui-3/response.json +12 -9
  89. package/fixtures/events-wire/render-ui-clear/response.json +0 -7
  90. package/fixtures/events-wire/sse-stream/response.json +0 -20
  91. package/fixtures/events-wire/sse-stream/stream.json +0 -20
  92. package/fixtures/events-wire/stateless-traits/response.json +14 -5
  93. package/fixtures/kernel-wire/golden/basic-entity.json +1687 -0
  94. package/fixtures/kernel-wire/golden/entity-rerender.json +743 -0
  95. package/fixtures/kernel-wire/golden/rollback.json +793 -0
  96. package/fixtures/kernel-wire/golden/tick-counter.json +1538 -0
  97. package/fixtures/kernel-wire/golden/two-orbital-chore.json +847 -0
  98. package/fixtures/kernel-wire/golden/two-orbital-task.json +457 -0
  99. package/fixtures/kernel-wire/played-step.json +136 -0
  100. package/fixtures/kernel-wire/scripts/basic-entity.json +28 -0
  101. package/fixtures/kernel-wire/scripts/entity-rerender.json +13 -0
  102. package/fixtures/kernel-wire/scripts/rollback.json +53 -0
  103. package/fixtures/kernel-wire/scripts/tick-counter.json +26 -0
  104. package/fixtures/kernel-wire/scripts/two-orbital-chore.json +9 -0
  105. package/fixtures/kernel-wire/scripts/two-orbital-task.json +9 -0
  106. package/package.json +28 -19
  107. package/dist/builders-DmZE5By0.d.ts +0 -2663
  108. package/dist/chunk-45I2O4SJ.js +0 -4646
  109. package/dist/chunk-45I2O4SJ.js.map +0 -1
  110. package/dist/chunk-6LR43Z5E.js +0 -3061
  111. package/dist/chunk-6LR43Z5E.js.map +0 -1
  112. package/dist/chunk-GIUA3NUJ.js +0 -809
  113. package/dist/chunk-GIUA3NUJ.js.map +0 -1
  114. package/dist/chunk-GTY53NS5.js +0 -1908
  115. package/dist/chunk-GTY53NS5.js.map +0 -1
  116. package/dist/chunk-JOHDVS6J.js +0 -1614
  117. package/dist/chunk-JOHDVS6J.js.map +0 -1
  118. package/dist/chunk-KDMV222Q.js.map +0 -1
  119. package/dist/chunk-QRHJUS3D.js +0 -23
  120. package/dist/chunk-QRHJUS3D.js.map +0 -1
  121. package/dist/chunk-QUOTJULD.js.map +0 -1
  122. package/dist/chunk-V5VNGRVU.js +0 -66
  123. package/dist/chunk-V5VNGRVU.js.map +0 -1
  124. package/dist/chunk-X4SC7FGF.js.map +0 -1
  125. package/dist/entityAccess-BPSz1i2n.d.ts +0 -80
  126. package/dist/mock/index.d.ts +0 -153
  127. package/dist/mock/index.js +0 -190
  128. package/dist/mock/index.js.map +0 -1
  129. package/dist/schema-T5RT5s6H.d.ts +0 -282
  130. package/dist/state-machine/index.d.ts +0 -359
  131. package/dist/state-machine/index.js +0 -3
  132. 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-wP-IdRt2.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.
@@ -461,6 +359,11 @@ type EventRequest = {
461
359
  * Where this leg runs, set by the kernel on every leg it builds (EXEC-DIST-6).
462
360
  */
463
361
  residence?: LegResidence;
362
+ /**
363
+ * Not a dispatch: the client holds this version of the session's frames and asks what it is missing. The answer
364
+ * is a response carrying only `frames`, a snapshot unless the client is current (EXEC-DIST-7).
365
+ */
366
+ framesSince?: number;
464
367
  };
465
368
  type EventResponse = {
466
369
  success: boolean;
@@ -484,10 +387,10 @@ type EventResponse = {
484
387
  dataRefs?: {
485
388
  [key in string]: RowSetRef;
486
389
  };
487
- entityByTrait?: {
488
- [key in string]: EntityRow;
489
- };
490
- clientEffects?: Array<ClientEffect>;
390
+ /**
391
+ * What this response changes in the frames the client holds, against the kernel's view record (EXEC-DIST-7).
392
+ */
393
+ frames?: FrameDelta;
491
394
  clientEffectsByTrait?: Array<ClientEffectByTrait>;
492
395
  effectResults?: Array<ServerEffectResult$1>;
493
396
  /**
@@ -506,41 +409,55 @@ type EventResponse = {
506
409
  transitions?: Array<TransitionHop>;
507
410
  error?: string;
508
411
  };
509
- type Expectation = {
412
+ type FfiGrant = {
413
+ library: string;
414
+ symbol: string;
415
+ signature: string;
416
+ };
417
+ type FiredTick = {
510
418
  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>;
419
+ tick: string;
420
+ };
421
+ type FoldProgressWire = {
422
+ "status": "applied";
423
+ fold: AppliedWire;
424
+ } | {
425
+ "status": "queued";
426
+ ticket: number;
427
+ };
428
+ type FoldedNextWire = {
429
+ "outcome": "applied";
430
+ ticket: number;
431
+ fold: AppliedWire;
432
+ } | {
433
+ "outcome": "failed";
434
+ ticket: number;
435
+ error: string;
436
+ };
437
+ type FrameDelta = {
438
+ session?: string;
439
+ from: number;
440
+ to: number;
441
+ ops: Array<FrameOp>;
522
442
  /**
523
- * The step's precondition is not shown to hold; a failure is then inconclusive.
443
+ * The session's bound identity (EXEC-IDENTITY-4), present when it changed since the last delta of this record (a
444
+ * snapshot always carries it); absent leaves the client's mirror as it is.
524
445
  */
525
- preconditionGap?: UnprovenReason;
526
- };
527
- type FiredHop = {
528
- trait: string;
529
- from: string;
530
- event: string;
531
- to: string;
446
+ identity?: FrameIdentity;
532
447
  /**
533
- * Position of the arm among the state's `from --event-->` arms.
448
+ * The session's bound theme (G-CROSS-395), present when it changed since the last delta of this record (a snapshot
449
+ * always carries it); absent leaves the client's mirror as it is.
534
450
  */
535
- arm?: number;
536
- };
537
- type FiredTick = {
538
- trait: string;
539
- tick: string;
451
+ theme?: FrameTheme;
540
452
  };
541
453
  type FrameDispatch = {
542
454
  trait: string;
543
455
  orbital: string;
456
+ /**
457
+ * The flight this dispatch holds while it owes the host a leg: its answers fold in flight order
458
+ * (`foldInOrder`) and the host ends it when the last is folded (`endFlight`). Absent when nothing is owed.
459
+ */
460
+ flight?: number | null;
544
461
  seed: SeedWire;
545
462
  response: EventResponse;
546
463
  serverLegs: Array<RoutedLeg>;
@@ -557,9 +474,22 @@ type FrameDispatch = {
557
474
  */
558
475
  foldSeeded: Array<string>;
559
476
  };
560
- type FrameStatus = "pass" | "fail" | "inconclusive" | "gap";
477
+ type FrameIdentity = {
478
+ user?: JsonValue;
479
+ };
480
+ type FrameOp = ["put", string, EntityRow] | ["set", {
481
+ [key in string]: EntityRow;
482
+ }] | ["del", string] | ["clear"];
483
+ type FrameTheme = {
484
+ key?: string;
485
+ };
561
486
  type FrameWire = {
562
- fired: Array<FiredTick>;
487
+ /**
488
+ * The fired ticks under the orbital that declares them: the one a `runTick` request is addressed to.
489
+ */
490
+ fired: {
491
+ [key in string]: Array<FiredTick>;
492
+ };
563
493
  response: EventResponse;
564
494
  dispatches: Array<FrameDispatch>;
565
495
  /**
@@ -569,13 +499,23 @@ type FrameWire = {
569
499
  droppedServerEffects: number;
570
500
  errors: Array<string>;
571
501
  };
572
- type GapReason = "not-reachable-without-network" | "delivered-only-by-remount";
502
+ type FramesResync = {
503
+ session: string;
504
+ since: number;
505
+ };
506
+ type FsGrant = {
507
+ glob: string;
508
+ modes: Array<FsMode>;
509
+ };
510
+ type FsMode = "read" | "write" | "create" | "remove" | "meta";
511
+ type GrantAnchor = "exe" | "exe-dir" | "cwd" | {
512
+ "env": string;
513
+ };
573
514
  type GuardCapabilities = {
574
515
  leaves: Array<RowLeafKind>;
575
516
  combinators: Array<RowCombinator>;
576
517
  compareOps: Array<RowCompareOp>;
577
518
  };
578
- type GuardCase = "pass" | "fail";
579
519
  type GuardOutcomeWire = {
580
520
  "kind": "value";
581
521
  value: boolean;
@@ -596,45 +536,14 @@ type HopObservation = {
596
536
  entityBefore: JsonValue;
597
537
  entityAfter: JsonValue;
598
538
  };
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 = {
539
+ type HostAskCompletion = {
634
540
  trait: string;
635
- state: string;
636
- coverageKey: string;
541
+ entityId?: string;
542
+ key?: string;
543
+ success?: string;
544
+ failure?: string;
637
545
  };
546
+ type IndexRealization = "runtime" | "deploy" | "none";
638
547
  type InstanceRef = {
639
548
  instance: string;
640
549
  orbital: string;
@@ -680,12 +589,6 @@ type IoAnswerWire = {
680
589
  } | {
681
590
  "kind": "substrate";
682
591
  result: Settled<JsonValue, SubstrateFailureWire>;
683
- } | {
684
- "kind": "http";
685
- result: Settled<HttpResponseWire, HttpFailureWire>;
686
- } | {
687
- "kind": "httpBeacon";
688
- result: Settled<BeaconOutcomeWire, HttpFailureWire>;
689
592
  } | {
690
593
  "kind": "pageFacts";
691
594
  result: Settled<PageFactsWire, string>;
@@ -713,6 +616,9 @@ type IoAnswerWire = {
713
616
  } | {
714
617
  "kind": "clock";
715
618
  result: Settled<number, string>;
619
+ } | {
620
+ "kind": "sealed";
621
+ result: Settled<JsonValue, string>;
716
622
  } | {
717
623
  "kind": "os";
718
624
  result: Settled<JsonValue, OsError>;
@@ -722,9 +628,15 @@ type IoAnswerWire = {
722
628
  } | {
723
629
  "kind": "credentialForget";
724
630
  result: Settled<null, string>;
631
+ } | {
632
+ "kind": "credentialConnect";
633
+ result: Settled<CredentialStanding, ConnectFailure>;
725
634
  } | {
726
635
  "kind": "credentialStoreList";
727
636
  result: Settled<StoreListing | null, string>;
637
+ } | {
638
+ "kind": "credentialEnvTails";
639
+ result: Settled<EnvTails, string>;
728
640
  } | {
729
641
  "kind": "credentialStoreRead";
730
642
  result: Settled<string | null, string>;
@@ -743,9 +655,6 @@ type IoAnswerWire = {
743
655
  } | {
744
656
  "kind": "credentialModeWrite";
745
657
  result: Settled<string, string>;
746
- } | {
747
- "kind": "oauth";
748
- result: Settled<OAuthReply, string>;
749
658
  } | {
750
659
  "kind": "deliver";
751
660
  result: Settled<Accepted, DeliverRefusal>;
@@ -802,23 +711,6 @@ type IoRequestWire = {
802
711
  args: Array<JsonValue>;
803
712
  key?: string;
804
713
  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
714
  } | {
823
715
  "kind": "pageFacts";
824
716
  fields: Array<PageFactFieldWire>;
@@ -850,26 +742,37 @@ type IoRequestWire = {
850
742
  name: string;
851
743
  value: string;
852
744
  principal?: string;
853
- } | {
854
- "kind": "oauth";
855
- ask: OAuthAsk;
856
- principal?: string;
857
745
  } | {
858
746
  "kind": "deliver";
859
747
  envelope: Envelope;
860
748
  key?: string;
861
749
  site: CallSiteWire;
750
+ } | {
751
+ "kind": "guest";
752
+ guest: string;
753
+ targets: Array<string>;
754
+ event: string;
755
+ payload: JsonValue;
756
+ grants: OsGrants;
757
+ key?: string;
758
+ site?: CallSiteWire;
862
759
  } | {
863
760
  "kind": "random";
864
761
  bytes: number;
865
762
  } | {
866
763
  "kind": "clock";
764
+ } | {
765
+ "kind": "sealed";
766
+ op: string;
767
+ args: Array<JsonValue>;
867
768
  } | {
868
769
  "kind": "os";
869
770
  op: OsOp;
870
771
  args: Array<JsonValue>;
871
772
  key?: string;
872
773
  site?: CallSiteWire;
774
+ principal?: string;
775
+ orbital?: string;
873
776
  } | {
874
777
  "kind": "credentialStatus";
875
778
  name: string;
@@ -878,8 +781,14 @@ type IoRequestWire = {
878
781
  "kind": "credentialForget";
879
782
  name: string;
880
783
  principal?: string;
784
+ } | {
785
+ "kind": "credentialConnect";
786
+ grant: CredentialGrantWire;
881
787
  } | {
882
788
  "kind": "credentialStoreList";
789
+ } | {
790
+ "kind": "credentialEnvTails";
791
+ names: Array<string>;
883
792
  } | {
884
793
  "kind": "credentialStoreRead";
885
794
  name: string;
@@ -899,6 +808,26 @@ type IoRequestWire = {
899
808
  "kind": "credentialModeWrite";
900
809
  mode: string;
901
810
  };
811
+ type JsonTokenSpec = {
812
+ clientIdField: string;
813
+ clientSecretField: string;
814
+ accessField: string;
815
+ refreshField?: string | null;
816
+ expiresInField?: string | null;
817
+ refreshEndpoint?: string | null;
818
+ refreshBodyField?: string | null;
819
+ };
820
+ type KernelGrant = {
821
+ target: string;
822
+ kinds: Array<KernelKind>;
823
+ };
824
+ type KernelKind = "call" | "reorder" | "read" | "spawn";
825
+ type KvMode = "read" | "write";
826
+ type Left = {
827
+ trait: string;
828
+ orbital: string;
829
+ leg: EventRequest;
830
+ };
902
831
  type LegResidence = "browser" | "server";
903
832
  type LifecycleEvent = "INIT" | "LOAD" | "$MOUNT";
904
833
  type MachineRow = {
@@ -913,6 +842,11 @@ type MachineRow = {
913
842
  guarded: boolean;
914
843
  payload: Array<PayloadSlot>;
915
844
  };
845
+ type MemGrant = {
846
+ target: string;
847
+ kinds: Array<MemKind>;
848
+ };
849
+ type MemKind = "create" | "free" | "atomic";
916
850
  type ModelFailureKindWire = "unconfigured" | "unavailable" | "failed";
917
851
  type ModelFailureWire = {
918
852
  kind: ModelFailureKindWire;
@@ -956,7 +890,6 @@ type MountWire = {
956
890
  */
957
891
  failed: MountFailure | null;
958
892
  };
959
- type MutationKind = "create" | "update" | "delete";
960
893
  type MutationOpWire = "create" | "update" | "delete";
961
894
  type MutationVerdictWire = {
962
895
  allowed: boolean;
@@ -965,173 +898,97 @@ type MutationVerdictWire = {
965
898
  type NavigateOptions = {
966
899
  crumb?: string;
967
900
  };
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>;
901
+ type NetGrant = {
902
+ target: string;
903
+ kinds: Array<NetKind>;
1046
904
  };
1047
- type OAuthPendingTake = {
1048
- found: "missing";
1049
- } | {
1050
- found: "expired";
905
+ type NetKind = "tcp" | "udp" | "listen";
906
+ type NetPart = {
907
+ "literal": string;
1051
908
  } | {
1052
- found: "grant";
1053
- grant: OAuthPendingGrant;
909
+ "anchor": GrantAnchor;
1054
910
  };
1055
- type OAuthProvider = "google" | "github" | "auth0";
1056
- type OAuthReply = {
1057
- reply: "done";
1058
- } | {
1059
- reply: "flag";
1060
- value: boolean;
911
+ type NextWire = {
912
+ "outcome": "started";
913
+ ticket: number;
914
+ progress: ServerProgressWire;
1061
915
  } | {
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;
1078
- } | {
1079
- reply: "mockToken";
1080
- state: "missing" | "expired" | "valid";
1081
- provider: OAuthProvider | null;
1082
- } | {
1083
- reply: "code";
1084
- code: string | null;
916
+ "outcome": "failed";
917
+ ticket: number;
918
+ error: string;
1085
919
  };
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>;
920
+ type OperatorValueKinds = {
921
+ operator: RowOperator;
922
+ valueKinds: Array<RowValueKind>;
1114
923
  };
1115
924
  type OsError = {
1116
925
  kind: OsErrorKind;
1117
926
  message: string;
1118
927
  };
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;
928
+ type OsErrorKind = "denied" | "not-found" | "exists" | "invalid" | "io" | "timeout" | "unsupported" | "closed" | "tls" | "borrowed";
929
+ type OsGrantFinding = {
930
+ code: OsGrantFindingCode;
931
+ orbital?: string;
932
+ call?: string;
933
+ entry?: string;
934
+ site: string;
935
+ grant?: string;
936
+ app?: boolean;
937
+ argument?: number;
938
+ via?: OsGrantVia;
939
+ };
940
+ type OsGrantFindingCode = "missing" | "unused" | "entry-invalid" | "target-not-static";
941
+ type OsGrantVia = "config" | "config-unresolvable" | "computed-path";
942
+ type OsGrants = {
943
+ fs?: Array<FsGrant>;
944
+ exec?: Array<string>;
945
+ net?: Array<NetGrant>;
946
+ env?: Array<string>;
947
+ stdio?: Array<StdioKind>;
948
+ sys?: Array<SysKind>;
949
+ desktop?: Array<DesktopKind>;
950
+ dev?: Array<DevGrant>;
951
+ mem?: Array<MemGrant>;
952
+ kernel?: Array<KernelGrant>;
953
+ ffi?: Array<FfiGrant>;
954
+ /**
955
+ * `credentials: [admin]`: the raw credential-store operators, closed unless declared.
956
+ */
957
+ credentials?: Array<CredentialKind>;
958
+ /**
959
+ * `kv: { <store>: [read, write] }`: a store name, or a `*`/`?` glob over one, and the modes it grants.
960
+ */
961
+ kv?: {
962
+ [key in string]: Array<KvMode>;
963
+ };
964
+ anchored?: AnchoredGrants;
965
+ };
966
+ type OsGrantsReport = {
967
+ findings: Array<OsGrantFinding>;
968
+ };
969
+ 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";
970
+ type PageCircuit = {
971
+ route?: string;
972
+ page?: string;
973
+ notFound: boolean;
974
+ mounts: Array<MountSeed>;
975
+ embedded: Array<string>;
976
+ embeddedBy: Array<string>;
977
+ orbitalByTrait: {
978
+ [key in string]: string;
979
+ };
980
+ linkedEntityByTrait: {
981
+ [key in string]: string;
982
+ };
1126
983
  };
1127
- type PageFactFieldWire = "hostname" | "referrer" | "screenWidth";
984
+ type PageFactFieldWire = "hostname" | "referrer" | "screenWidth" | "href";
1128
985
  type PageFactsWire = {
1129
986
  available: boolean;
1130
987
  hostname: string;
1131
988
  referrer: string;
1132
989
  screenWidth: number | null;
990
+ href: string;
1133
991
  };
1134
- type PayloadCase = "success" | "malformed" | "guard-fail";
1135
992
  type PayloadSlot = {
1136
993
  name: string;
1137
994
  type: string;
@@ -1145,53 +1002,16 @@ type PayloadSlot = {
1145
1002
  */
1146
1003
  entity?: string;
1147
1004
  };
1005
+ type PendingAsk = {
1006
+ trait: string;
1007
+ operator: string;
1008
+ args: Array<JsonValue>;
1009
+ key: string;
1010
+ };
1148
1011
  type PendingRequestWire = {
1149
1012
  id: number;
1150
1013
  request: IoRequestWire;
1151
1014
  };
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
1015
  type PlayedEffect = {
1196
1016
  type: string;
1197
1017
  args: Array<JsonValue>;
@@ -1224,6 +1044,17 @@ type PlayedGuard = {
1224
1044
  trace: Array<EvalStepWire>;
1225
1045
  error?: string;
1226
1046
  };
1047
+ type PlayedOutcome = {
1048
+ orbital: string;
1049
+ trait: string;
1050
+ event: string;
1051
+ from: string;
1052
+ to: string;
1053
+ arm?: number;
1054
+ fired: boolean;
1055
+ effects: Array<PlayedEffect>;
1056
+ emitted: Array<PlayedEmit>;
1057
+ };
1227
1058
  type PlayedResult = {
1228
1059
  trait: string;
1229
1060
  event: string;
@@ -1248,6 +1079,19 @@ type PlayedResult = {
1248
1079
  * The slots the played trait filled, walked by the kernel's render probe; present when `options.render` asked.
1249
1080
  */
1250
1081
  rendered?: Array<RenderedSlot>;
1082
+ /**
1083
+ * Why the requested trait's step failed, when it did.
1084
+ */
1085
+ failure?: string;
1086
+ /**
1087
+ * The step's row after its effects.
1088
+ */
1089
+ entityAfter: EventPayload | null;
1090
+ pendingAsks: Array<PendingAsk>;
1091
+ /**
1092
+ * Every trait the request's event moved, the requested one among them.
1093
+ */
1094
+ outcomes: Array<PlayedOutcome>;
1251
1095
  };
1252
1096
  type PlayedState = {
1253
1097
  before: string | null;
@@ -1260,50 +1104,24 @@ type PlayedStep = {
1260
1104
  event: string;
1261
1105
  payload: EventPayload;
1262
1106
  result: PlayedResult;
1107
+ entity?: {
1108
+ [key in string]: JsonValue;
1109
+ };
1110
+ config?: {
1111
+ [key in string]: JsonValue;
1112
+ };
1113
+ now?: number;
1114
+ settleMs?: number;
1115
+ viewer?: {
1116
+ [key in string]: JsonValue;
1117
+ } | null;
1118
+ credentials?: {
1119
+ [key in string]: string;
1120
+ };
1263
1121
  };
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;
1122
+ type ProgramSurface = {
1123
+ traits: Array<TraitSurface>;
1124
+ browserEntities: Array<string>;
1307
1125
  };
1308
1126
  type PropositionBindings = {
1309
1127
  entity: JsonValue;
@@ -1334,6 +1152,34 @@ type PropositionVerdict = {
1334
1152
  "verdict": "inconclusive";
1335
1153
  reason: string;
1336
1154
  };
1155
+ type ProveFinding = {
1156
+ verdict: ProveVerdict;
1157
+ reason: string;
1158
+ counterexample?: JsonValue;
1159
+ site: string;
1160
+ proposition: ProvedProposition;
1161
+ };
1162
+ type ProveReport = {
1163
+ findings: Array<ProveFinding>;
1164
+ };
1165
+ type ProveVerdict = "violated" | "unproved";
1166
+ type ProvedProposition = {
1167
+ "kind": "row";
1168
+ entity: string;
1169
+ expr: JsonValue;
1170
+ } | {
1171
+ "kind": "state";
1172
+ trait: string;
1173
+ state: string;
1174
+ expr: JsonValue;
1175
+ } | {
1176
+ "kind": "transition";
1177
+ trait: string;
1178
+ from: string;
1179
+ event: string;
1180
+ to: string;
1181
+ expr: JsonValue;
1182
+ };
1337
1183
  type QueryCapabilities = {
1338
1184
  leaves: Array<RowLeafKind>;
1339
1185
  combinators: Array<RowCombinator>;
@@ -1347,6 +1193,10 @@ type QueryCapabilities = {
1347
1193
  * `nearest` is pushed down: the store ranks by cosine similarity itself (EXEC-FETCH-2).
1348
1194
  */
1349
1195
  nearest?: boolean;
1196
+ /**
1197
+ * How the driver realizes the entity's declared `@index` paths; absent is `none`.
1198
+ */
1199
+ indexes?: IndexRealization;
1350
1200
  };
1351
1201
  type RenderedNode = {
1352
1202
  /**
@@ -1385,13 +1235,18 @@ type RenderedSlot = {
1385
1235
  * The rendered tree in pre-order, each `@trait` embed's content visited once where it is embedded.
1386
1236
  */
1387
1237
  nodes: Array<RenderedNode>;
1238
+ /**
1239
+ * The slot's content exactly as the kernel resolved it for a host to paint (EXEC-STEP-4); present only when
1240
+ * `options.renderProps` asked.
1241
+ */
1242
+ props?: JsonValue;
1243
+ /**
1244
+ * The slot's repaint failed to resolve and it keeps its last paint (G-ORBITAL-CORE-090); present only when
1245
+ * `options.renderProps` asked and the failure happened.
1246
+ */
1247
+ fault?: SlotFault;
1388
1248
  };
1389
1249
  type RepaintReason = "rows-changed";
1390
- type ReplayQuery = {
1391
- trait: string;
1392
- state: string;
1393
- };
1394
- type ReplyRoute = "other" | "failure";
1395
1250
  type ResolveProgressWire = {
1396
1251
  "status": "done";
1397
1252
  rows: Array<EntityRow>;
@@ -1408,10 +1263,6 @@ type ResolvedTheme = {
1408
1263
  mode: "light" | "dark";
1409
1264
  tokens: JsonObject;
1410
1265
  };
1411
- type RoleWire = {
1412
- field: string;
1413
- value: string;
1414
- };
1415
1266
  type RotateCounts = {
1416
1267
  rotated: number;
1417
1268
  alreadyCurrent: number;
@@ -1451,22 +1302,6 @@ type RowCommitWrite = {
1451
1302
  };
1452
1303
  type RowCompareOp = "==" | "!=" | "<" | "<=" | ">" | ">=";
1453
1304
  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
1305
  type RowIdPage = {
1471
1306
  ids: Array<string>;
1472
1307
  total: number;
@@ -1547,10 +1382,6 @@ type RowSetRef = {
1547
1382
  total: number;
1548
1383
  query: RowQuery;
1549
1384
  };
1550
- type RowShapeField = {
1551
- name: string;
1552
- wholeRow: boolean;
1553
- };
1554
1385
  type RowTotalMode = "exact" | "none";
1555
1386
  type RowValueKind = "string" | "number" | "boolean" | "date" | "null";
1556
1387
  type RowWriteBatch = {
@@ -1614,14 +1445,14 @@ type SeedWire = {
1614
1445
  trait: string;
1615
1446
  event: string;
1616
1447
  };
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";
1448
+ type ServerEffectCode = "not-found" | "no-row-key" | "duplicate-id" | "denied" | "derived-failed";
1449
+ type ServerEffectKind = "set" | "persist" | "call-service" | "fetch" | "fetch-stream" | "emit" | "substrate";
1619
1450
  type ServerEffectResult$1 = {
1620
1451
  effect: ServerEffectKind;
1621
1452
  action?: string;
1622
1453
  entityType?: string;
1623
1454
  /**
1624
- * The namespaced operator (`memory/store`) — only on `ServerEffectKind::Substrate`.
1455
+ * The namespaced operator (`llm/generate`) — only on `ServerEffectKind::Substrate`.
1625
1456
  */
1626
1457
  name?: NamespacedEffectName;
1627
1458
  data?: EntityRow | ServerBatchSummary | EventPayloadValue;
@@ -1637,7 +1468,7 @@ type ServerEffectResult$1 = {
1637
1468
  */
1638
1469
  code?: ServerEffectCode;
1639
1470
  /**
1640
- * What an `http` effect reached, `"<METHOD> <origin><path>"`; only on `ServerEffectKind::Http`.
1471
+ * The event an `emit` effect targets; only on `ServerEffectKind::Emit`.
1641
1472
  */
1642
1473
  target?: string;
1643
1474
  /**
@@ -1652,12 +1483,19 @@ type ServerProgressWire = {
1652
1483
  "status": "await";
1653
1484
  flight: number;
1654
1485
  requests: Array<PendingRequestWire>;
1486
+ } | {
1487
+ "status": "queued";
1488
+ ticket: number;
1655
1489
  };
1656
1490
  type Settled<T, E> = {
1657
1491
  "ok": T;
1658
1492
  } | {
1659
1493
  "error": E;
1660
1494
  };
1495
+ type SlotFault = {
1496
+ code: TransitionRejectionCode;
1497
+ error: string;
1498
+ };
1661
1499
  type SnapshotWire = {
1662
1500
  states: JsonObject;
1663
1501
  ambiguousTraits: Array<AmbiguousTrait>;
@@ -1670,66 +1508,54 @@ type StatefulLegWire = {
1670
1508
  leg: EventRequest;
1671
1509
  awaiting: Array<AwaitingTrait>;
1672
1510
  };
1673
- type StepWire = {
1511
+ type StdioKind = "in" | "out" | "err";
1512
+ type StepEmit = {
1513
+ event: string;
1514
+ payload: EventPayload | null;
1515
+ };
1516
+ type StepGuard = {
1517
+ arm: number;
1518
+ guard: JsonValue;
1519
+ passed: boolean;
1520
+ error?: string;
1521
+ };
1522
+ type StepOutcome = {
1674
1523
  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;
1524
+ executed: boolean;
1525
+ previousState: string;
1526
+ newState: string;
1527
+ emits: Array<StepEmit>;
1528
+ firedArm: number | null;
1529
+ guards: Array<StepGuard>;
1530
+ effects: Array<PlayedEffect>;
1531
+ failure: string | null;
1532
+ orbital: string;
1689
1533
  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;
1534
+ ensures: Array<PlayedEnsures>;
1535
+ };
1536
+ type StepRefusal = {
1537
+ success: false;
1538
+ error: string;
1539
+ trait: string | null;
1540
+ outcomes: Array<StepOutcome>;
1541
+ };
1542
+ type StepReport = {
1543
+ success: true;
1544
+ steps: Array<StepResult>;
1545
+ dispatchModes: {
1546
+ [key in string]: DispatchMode;
1547
+ };
1548
+ };
1549
+ type StepResult = {
1550
+ outcomes: Array<StepOutcome>;
1551
+ states: {
1552
+ [key in string]: string;
1553
+ };
1554
+ entities: {
1555
+ [key in string]: JsonValue;
1556
+ };
1557
+ entityAfter: EventPayload | null;
1558
+ pendingAsks: Array<PendingAsk>;
1733
1559
  };
1734
1560
  type StoreListing = {
1735
1561
  enabled: boolean;
@@ -1738,12 +1564,37 @@ type StoreListing = {
1738
1564
  type StoredName = {
1739
1565
  service: string;
1740
1566
  name: string;
1567
+ last4?: string;
1741
1568
  };
1742
- type StreamFramingWire = "sse" | "jsonLines";
1743
1569
  type SubstrateFailureWire = {
1744
1570
  message: string;
1745
1571
  errors: Array<JsonValue>;
1746
1572
  };
1573
+ type SurfaceEmit = {
1574
+ event: string;
1575
+ eventId?: string;
1576
+ };
1577
+ type SurfaceListen = {
1578
+ event: string;
1579
+ source?: SurfaceListenSource;
1580
+ };
1581
+ type SurfaceListenSource = {
1582
+ orbital: string;
1583
+ trait: string;
1584
+ };
1585
+ type SurfaceTick = {
1586
+ name: string;
1587
+ whileVisible: boolean;
1588
+ runsInBackground: boolean;
1589
+ };
1590
+ type SurfaceTransition = {
1591
+ from: string;
1592
+ to: string;
1593
+ event: string;
1594
+ guard?: JsonValue;
1595
+ awaitRender?: JsonValue;
1596
+ };
1597
+ type SysKind = "cpu" | "memory" | "disk" | "network" | "power-state" | "identity";
1747
1598
  type TabAction = "click" | "focus" | "type";
1748
1599
  type TabApply = {
1749
1600
  elementId: string;
@@ -1835,32 +1686,12 @@ type TabStyle = {
1835
1686
  property: string;
1836
1687
  value: string;
1837
1688
  };
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
1689
  type TraceEffectsWire = {
1853
1690
  effects: Array<EffectTraceWire>;
1854
1691
  emitted: Array<EmittedEffectWire>;
1855
1692
  writes: Array<EntityWriteWire>;
1856
1693
  entity: JsonValue;
1857
1694
  };
1858
- type TraitConfigVariants = {
1859
- trait: string;
1860
- baseline: JsonObject;
1861
- variants: Array<ConfigVariant>;
1862
- noDeclaredValues: Array<string>;
1863
- };
1864
1695
  type TraitFrom = {
1865
1696
  trait: string;
1866
1697
  from: string;
@@ -1881,45 +1712,27 @@ type TraitSnapshot = {
1881
1712
  state: string;
1882
1713
  entity: JsonValue;
1883
1714
  };
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;
1715
+ type TraitSurface = {
1716
+ name: string;
1717
+ orbital: string;
1718
+ orbitalId?: string;
1719
+ traitId?: string;
1720
+ entity?: string;
1721
+ shared: boolean;
1722
+ browser: boolean;
1723
+ frameKey: string;
1724
+ ticks: Array<SurfaceTick>;
1725
+ states: Array<string>;
1726
+ initial?: string;
1727
+ events: Array<string>;
1728
+ emits: Array<SurfaceEmit>;
1729
+ listens: Array<SurfaceListen>;
1730
+ transitions: Array<SurfaceTransition>;
1731
+ /**
1732
+ * The trait paints a `guest-view` (G-CROSS-400): a host hands it every event raised in its scope, and the kernel
1733
+ * routes one a painted guest control carries or ignores it.
1734
+ */
1735
+ paintsGuestViews: boolean;
1923
1736
  };
1924
1737
  type TransitionHop = {
1925
1738
  trait: string;
@@ -1948,67 +1761,59 @@ type TransitionRejection = {
1948
1761
  event?: string;
1949
1762
  statesDeclaringEvent?: Array<string>;
1950
1763
  transition?: string;
1951
- guard?: unknown;
1764
+ guard?: JsonValue;
1952
1765
  /**
1953
1766
  * `effect-failed`: the failure's message.
1954
1767
  */
1955
1768
  error?: string;
1769
+ /**
1770
+ * `repaint-failed`: the slot whose repaint failed.
1771
+ */
1772
+ slot?: string;
1956
1773
  };
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;
1774
+ 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";
1775
+ type ValidationJsonError = {
1776
+ code: string;
1777
+ path: string;
1778
+ message: string;
1779
+ suggestion?: string;
1780
+ fixGuidance?: string;
1781
+ expectedShape?: string;
1782
+ validValues?: Array<string>;
1783
+ line?: number;
1784
+ column?: number;
1785
+ endLine?: number;
1786
+ endColumn?: number;
1787
+ approximate: boolean;
1788
+ needsInstall?: boolean;
1789
+ entity?: string;
1790
+ field?: string;
1791
+ };
1792
+ type ValidationJsonOutput = {
1793
+ success: boolean;
1794
+ valid: boolean;
1795
+ errors?: Array<ValidationJsonError>;
1796
+ warnings?: Array<ValidationJsonWarning>;
1797
+ stats?: ValidationStats;
1798
+ };
1799
+ type ValidationJsonWarning = {
1800
+ code: string;
1801
+ path: string;
1802
+ message: string;
1803
+ suggestion?: string;
1804
+ line?: number;
1805
+ column?: number;
1806
+ endLine?: number;
1807
+ endColumn?: number;
1808
+ approximate: boolean;
1809
+ entity?: string;
1810
+ field?: string;
2007
1811
  };
2008
- type VerdictWire = {
2009
- status: FrameStatus;
2010
- gap?: GapReason;
2011
- reason: VerdictReason;
1812
+ type ValidationStats = {
1813
+ orbitals: number;
1814
+ entities: number;
1815
+ traits: number;
1816
+ pages: number;
2012
1817
  };
2013
1818
  type Viewer = {
2014
1819
  /**
@@ -2027,10 +1832,6 @@ type Viewer = {
2027
1832
  permissions?: Array<string>;
2028
1833
  claims: Array<Claim>;
2029
1834
  };
2030
- type ViewerRequirement = {
2031
- role?: RoleWire;
2032
- owner?: OwnerRequirement;
2033
- };
2034
1835
  type WriteCapabilities = {
2035
1836
  guards: GuardCapabilities;
2036
1837
  conditional: boolean;
@@ -2044,110 +1845,99 @@ type WriteCapabilities = {
2044
1845
  */
2045
1846
  commitRows?: boolean;
2046
1847
  };
2047
- /** The check of a kernel response at the host boundary: every field of `EventResponse` and of the wire types nested in it. */
1848
+ /** The check of a kernel `AppliedWire` at the host boundary: every field, and every wire type nested in it. */
1849
+ declare function isAppliedWire(value: JsonValue): value is JsonValue & AppliedWire;
1850
+ /** 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. */
1851
+ declare function decodeAppliedWire(value: JsonValue): AppliedWire;
1852
+ /** The check of a kernel `DispatchWire` at the host boundary: every field, and every wire type nested in it. */
1853
+ declare function isDispatchWire(value: JsonValue): value is JsonValue & DispatchWire;
1854
+ /** 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. */
1855
+ declare function decodeDispatchWire(value: JsonValue): DispatchWire;
1856
+ /** The check of a kernel `Entered` at the host boundary: every field, and every wire type nested in it. */
1857
+ declare function isEntered(value: JsonValue): value is JsonValue & Entered;
1858
+ /** 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. */
1859
+ declare function decodeEntered(value: JsonValue): Entered;
1860
+ /** The check of a kernel `EventRequest` at the host boundary: every field, and every wire type nested in it. */
1861
+ declare function isEventRequest(value: JsonValue): value is JsonValue & EventRequest;
1862
+ /** 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. */
1863
+ declare function decodeEventRequest(value: JsonValue): EventRequest;
1864
+ /** The check of a kernel `EventResponse` at the host boundary: every field, and every wire type nested in it. */
2048
1865
  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;
1866
+ /** 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. */
1867
+ declare function decodeEventResponse(value: JsonValue): EventResponse;
1868
+ /** The check of a kernel `FiredTick` at the host boundary: every field, and every wire type nested in it. */
1869
+ declare function isFiredTick(value: JsonValue): value is JsonValue & FiredTick;
1870
+ /** 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. */
1871
+ declare function decodeFiredTick(value: JsonValue): FiredTick;
1872
+ /** The check of a kernel `FoldProgressWire` at the host boundary: every field, and every wire type nested in it. */
1873
+ declare function isFoldProgressWire(value: JsonValue): value is JsonValue & FoldProgressWire;
1874
+ /** 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. */
1875
+ declare function decodeFoldProgressWire(value: JsonValue): FoldProgressWire;
1876
+ /** The check of a kernel `FoldedNextWire` at the host boundary: every field, and every wire type nested in it. */
1877
+ declare function isFoldedNextWire(value: JsonValue): value is JsonValue & FoldedNextWire;
1878
+ /** 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. */
1879
+ declare function decodeFoldedNextWire(value: JsonValue): FoldedNextWire;
1880
+ /** The check of a kernel `FrameWire` at the host boundary: every field, and every wire type nested in it. */
1881
+ declare function isFrameWire(value: JsonValue): value is JsonValue & FrameWire;
1882
+ /** 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. */
1883
+ declare function decodeFrameWire(value: JsonValue): FrameWire;
1884
+ /** The check of a kernel `IoReplyWire` at the host boundary: every field, and every wire type nested in it. */
1885
+ declare function isIoReplyWire(value: JsonValue): value is JsonValue & IoReplyWire;
1886
+ /** 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. */
1887
+ declare function decodeIoReplyWire(value: JsonValue): IoReplyWire;
1888
+ /** The check of a kernel `IoRequestWire` at the host boundary: every field, and every wire type nested in it. */
1889
+ declare function isIoRequestWire(value: JsonValue): value is JsonValue & IoRequestWire;
1890
+ /** 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. */
1891
+ declare function decodeIoRequestWire(value: JsonValue): IoRequestWire;
1892
+ /** The check of a kernel `MountWire` at the host boundary: every field, and every wire type nested in it. */
1893
+ declare function isMountWire(value: JsonValue): value is JsonValue & MountWire;
1894
+ /** 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. */
1895
+ declare function decodeMountWire(value: JsonValue): MountWire;
1896
+ /** The check of a kernel `NextWire` at the host boundary: every field, and every wire type nested in it. */
1897
+ declare function isNextWire(value: JsonValue): value is JsonValue & NextWire;
1898
+ /** 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. */
1899
+ declare function decodeNextWire(value: JsonValue): NextWire;
1900
+ /** The check of a kernel `OsGrantsReport` at the host boundary: every field, and every wire type nested in it. */
1901
+ declare function isOsGrantsReport(value: JsonValue): value is JsonValue & OsGrantsReport;
1902
+ /** 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. */
1903
+ declare function decodeOsGrantsReport(value: JsonValue): OsGrantsReport;
1904
+ /** The check of a kernel `PlayedStep` at the host boundary: every field, and every wire type nested in it. */
1905
+ declare function isPlayedStep(value: JsonValue): value is JsonValue & PlayedStep;
1906
+ /** 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. */
1907
+ declare function decodePlayedStep(value: JsonValue): PlayedStep;
1908
+ /** The check of a kernel `ProveReport` at the host boundary: every field, and every wire type nested in it. */
1909
+ declare function isProveReport(value: JsonValue): value is JsonValue & ProveReport;
1910
+ /** 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. */
1911
+ declare function decodeProveReport(value: JsonValue): ProveReport;
1912
+ /** The check of a kernel `ResolveProgressWire` at the host boundary: every field, and every wire type nested in it. */
1913
+ declare function isResolveProgressWire(value: JsonValue): value is JsonValue & ResolveProgressWire;
1914
+ /** 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. */
1915
+ declare function decodeResolveProgressWire(value: JsonValue): ResolveProgressWire;
1916
+ /** The check of a kernel `ServerProgressWire` at the host boundary: every field, and every wire type nested in it. */
1917
+ declare function isServerProgressWire(value: JsonValue): value is JsonValue & ServerProgressWire;
1918
+ /** 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. */
1919
+ declare function decodeServerProgressWire(value: JsonValue): ServerProgressWire;
1920
+ /** The check of a kernel `SnapshotWire` at the host boundary: every field, and every wire type nested in it. */
1921
+ declare function isSnapshotWire(value: JsonValue): value is JsonValue & SnapshotWire;
1922
+ /** 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. */
1923
+ declare function decodeSnapshotWire(value: JsonValue): SnapshotWire;
1924
+ /** The check of a kernel `StepRefusal` at the host boundary: every field, and every wire type nested in it. */
1925
+ declare function isStepRefusal(value: JsonValue): value is JsonValue & StepRefusal;
1926
+ /** 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. */
1927
+ declare function decodeStepRefusal(value: JsonValue): StepRefusal;
1928
+ /** The check of a kernel `StepReport` at the host boundary: every field, and every wire type nested in it. */
1929
+ declare function isStepReport(value: JsonValue): value is JsonValue & StepReport;
1930
+ /** 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. */
1931
+ declare function decodeStepReport(value: JsonValue): StepReport;
1932
+ /** The check of a kernel `ValidationJsonOutput` at the host boundary: every field, and every wire type nested in it. */
1933
+ declare function isValidationJsonOutput(value: JsonValue): value is JsonValue & ValidationJsonOutput;
1934
+ /** 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. */
1935
+ declare function decodeValidationJsonOutput(value: JsonValue): ValidationJsonOutput;
2146
1936
 
2147
1937
  /**
2148
1938
  * Server-side effect result — the wire shape a server-executed effect
2149
1939
  * (`SERVER_REPORTED_EFFECTS` in `effect.ts`) reports back to the client,
2150
- * closing the circuit on `OrbitalEventResponse.effectResults`.
1940
+ * closing the circuit on `EventResponse.effectResults`.
2151
1941
  *
2152
1942
  * Promoted from `@almadar/runtime`'s `ServerEffectHandlers.ts` (the JS
2153
1943
  * interpreter's own definition, canonical per `CLAUDE.md`'s "converge on
@@ -2162,14 +1952,14 @@ declare function resolvePersonaSpec(spec: string, roster: readonly UserContext[]
2162
1952
  * runtime's `EffectResult`. Callers who want telemetry pass an array that
2163
1953
  * the factory appends to; otherwise it's unused.
2164
1954
  */
2165
- interface ServerBatchSummary {
2166
- operations: EntityRow[];
1955
+ type ServerBatchSummary = {
1956
+ operations: EntityRow$1[];
2167
1957
  completedCount: number;
2168
1958
  totalCount: number;
2169
- }
1959
+ };
2170
1960
  /** Zod twin of `ServerBatchSummary`. */
2171
1961
  declare const ServerBatchSummarySchema: z.ZodType<ServerBatchSummary>;
2172
- interface ServerEffectResult {
1962
+ type ServerEffectResult = {
2173
1963
  /**
2174
1964
  * The reported effect's head (`SERVER_REPORTED_EFFECTS`, derived from the
2175
1965
  * effect union in `effect.ts`), or `"substrate"` — the one wire grouping
@@ -2179,10 +1969,10 @@ interface ServerEffectResult {
2179
1969
  effect: ServerReportedEffect | "substrate";
2180
1970
  action?: string;
2181
1971
  entityType?: string;
2182
- /** The invoked namespaced operator (e.g. `"memory/store"`), set only on `effect: "substrate"`. */
1972
+ /** The invoked namespaced operator (e.g. `"llm/generate"`), set only on `effect: "substrate"`. */
2183
1973
  name?: NamespacedEffectName;
2184
1974
  /** Entity row for CRUD/set/swap, the batch summary for `persist batch`, the raw service/substrate result. */
2185
- data?: EntityRow | ServerBatchSummary | EventPayloadValue;
1975
+ data?: EntityRow$1 | ServerBatchSummary | EventPayloadValue$1;
2186
1976
  success: boolean;
2187
1977
  /**
2188
1978
  * Set when a persist failed because an access policy rejected it or the
@@ -2192,15 +1982,15 @@ interface ServerEffectResult {
2192
1982
  */
2193
1983
  denied?: true;
2194
1984
  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";
1985
+ /** 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). */
1986
+ code?: "not-found" | "no-row-key" | "duplicate-id" | "denied" | "derived-failed";
2197
1987
  /** What the effect addressed: an `http` effect's `<METHOD> <origin><path>`, an `emit` entry's event name. */
2198
1988
  target?: string;
2199
1989
  /** The declared `emit.failure` event the program routed this effect's failure to; absent when it declares none. */
2200
1990
  routed?: string;
2201
- }
1991
+ };
2202
1992
  /** Zod twin of `ServerEffectResult`. */
2203
1993
  declare const ServerEffectResultSchema: z.ZodType<ServerEffectResult>;
2204
1994
 
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 };
1995
+ export { 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 x, ServerEffectResultSchema as z };
1996
+ export type { AnchoredFsGrant as $, AnchoredGrants as A, StdioKind as B, Claim as C, DesktopKind as D, EventRequest as E, FsGrant as F, GuardOutcomeWire as G, HopEffect as H, SysKind as I, TransitionHop as J, KvMode as K, TransitionRejection as L, MutationOpWire as M, NetGrant as N, OsGrants as O, PayloadSlot as P, TransitionRejectionCode as Q, RowBindingWire as R, ServerBatchSummary as S, TraceEffectsWire as T, HopObservation as U, Viewer as V, TabAsk as W, TabFailureKind as X, Accepted as Y, AmbiguousTrait as Z, AnchoredExec as _, EventResponse as a, MemGrant as a$, AnchoredNetGrant as a0, AppliedWire as a1, AssertionSpec as a2, BusEventSource as a3, CallRoutesWire as a4, CallSiteWire as a5, CallerWire as a6, CanvasTheme as a7, ClientAuth as a8, ClientEffect as a9, EventPayload as aA, EventPayloadValue as aB, FfiGrant as aC, FieldValue as aD, FiredTick as aE, FoldProgressWire as aF, FoldedNextWire as aG, FrameDelta as aH, FrameDispatch as aI, FrameIdentity as aJ, FrameOp as aK, FrameTheme as aL, FrameWire as aM, FramesResync as aN, GuardCapabilities as aO, HostAskCompletion 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_, ConnectFailure as aa, ConnectFailureKind as ab, CredentialGrantWire as ac, CredentialKind as ad, CredentialStanding as ae, DeliverRefusal as af, DeliverRefusalKind as ag, DeliveryRecord as ah, DispatchLog as ai, DispatchMode as aj, DispatchWire as ak, EffectStatusWire as al, EffectTraceWire as am, EmittedEffectWire as an, EmittedEvent as ao, EnsuresVerdict as ap, Entered as aq, EntityBinding as ar, EntityBindingKind as as, EntityRow as at, EntityWriteWire as au, EnvTail as av, EnvTails as aw, Envelope as ax, EvalStepKind as ay, EvalStepWire 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, HopEffectStatus as m, MachineRow as n, NetKind as o, NetPart as p, PlayedEffect as q, PlayedEffectStatus as r, PlayedEmit as s, PlayedGuard as t, PlayedResult as u, PlayedState as v, PlayedStep as w, ServerEffectResult as y };