@hew-lang/sandbox-vm 0.6.2 → 0.6.4

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 (40) hide show
  1. package/README.md +43 -4
  2. package/cli/test-runner.mjs +4 -1
  3. package/dist/interpreter/interpreter.d.ts +1 -1
  4. package/dist/interpreter/interpreter.js +1 -1
  5. package/dist/interpreter/parity-runner.js +26 -1
  6. package/dist/interpreter/run-program.d.ts +3 -2
  7. package/dist/interpreter/run-program.js +5 -3
  8. package/dist/interpreter/schema-validator.d.ts +9 -4
  9. package/dist/interpreter/schema-validator.js +15 -49
  10. package/dist/interpreter/types.d.ts +4 -0
  11. package/dist/interpreter/v1/browser-directory.d.ts +107 -0
  12. package/dist/interpreter/v1/browser-directory.js +288 -0
  13. package/dist/interpreter/v1/calendar.d.ts +4 -0
  14. package/dist/interpreter/v1/calendar.js +64 -0
  15. package/dist/interpreter/v1/codecs.js +2 -2
  16. package/dist/interpreter/v1/exec.d.ts +2 -2
  17. package/dist/interpreter/v1/exec.js +439 -183
  18. package/dist/interpreter/v1/instructions.generated.d.ts +1135 -0
  19. package/dist/interpreter/v1/instructions.generated.js +106 -0
  20. package/dist/interpreter/v1/package-graph.d.ts +2 -0
  21. package/dist/interpreter/v1/package-graph.js +729 -0
  22. package/dist/interpreter/v1/package-validator.generated.d.ts +3 -0
  23. package/dist/interpreter/v1/package-validator.generated.js +75846 -0
  24. package/dist/interpreter/v1/package.d.ts +5 -680
  25. package/dist/interpreter/v1/package.js +0 -12
  26. package/dist/interpreter/v1/scheduler.d.ts +5 -1
  27. package/dist/interpreter/v1/scheduler.js +32 -3
  28. package/dist/interpreter/v1/shims.d.ts +250 -7
  29. package/dist/interpreter/v1/shims.js +429 -150
  30. package/dist/interpreter/v1/structural.d.ts +2 -28
  31. package/dist/interpreter/v1/timestamp.d.ts +7 -0
  32. package/dist/interpreter/v1/timestamp.js +54 -0
  33. package/dist/interpreter/v1/validate.d.ts +8 -2
  34. package/dist/interpreter/v1/validate.js +190 -202
  35. package/dist/interpreter/v1/value-operations.d.ts +7 -2
  36. package/dist/interpreter/v1/value-operations.js +13 -6
  37. package/dist/interpreter/values.d.ts +4 -0
  38. package/dist/interpreter/values.js +6 -0
  39. package/dist/interpreter/worker.js +4 -3
  40. package/package.json +4 -4
@@ -0,0 +1,1135 @@
1
+ export type ActorField = {
2
+ mutable: boolean;
3
+ deferred: boolean;
4
+ };
5
+ export type ActorHandler = {
6
+ name: string;
7
+ message_id: number;
8
+ every_ns?: number | null;
9
+ callable: number;
10
+ params: number;
11
+ streams: boolean;
12
+ fallible: boolean;
13
+ result_shape: number | null;
14
+ };
15
+ export type ActorOperation = {
16
+ op: "identity";
17
+ } | {
18
+ op: "spawn";
19
+ actor: number;
20
+ } | {
21
+ op: "self_handle";
22
+ actor: number;
23
+ } | ({
24
+ op: "stop";
25
+ } & ({
26
+ actor: number;
27
+ } | {
28
+ supervisor: number;
29
+ })) | ({
30
+ op: "terminate";
31
+ } & ({
32
+ actor: number;
33
+ } | {
34
+ supervisor: number;
35
+ })) | ({
36
+ op: "await_stopped";
37
+ } & ({
38
+ actor: number;
39
+ } | {
40
+ supervisor: number;
41
+ })) | ({
42
+ op: "await_restarted";
43
+ } & ({
44
+ actor: number;
45
+ } | {
46
+ supervisor: number;
47
+ })) | {
48
+ op: "call_start";
49
+ protocol: ActorProtocol;
50
+ } | {
51
+ op: "call_take";
52
+ protocol: ActorProtocol;
53
+ } | {
54
+ op: "submit";
55
+ actor: number;
56
+ policy: SendPolicy;
57
+ } | {
58
+ op: "stream_start";
59
+ actor: number;
60
+ message: number;
61
+ } | {
62
+ op: "timer_schedule";
63
+ actor: number;
64
+ message: number;
65
+ resource: number;
66
+ policy: TimerSendPolicy;
67
+ } | {
68
+ op: "local_observation";
69
+ kind: string;
70
+ } | {
71
+ op: "supervisor_spawn";
72
+ supervisor: number;
73
+ } | {
74
+ op: "supervisor_child";
75
+ supervisor: number;
76
+ child: number;
77
+ } | {
78
+ op: "supervisor_pool_view";
79
+ supervisor: number;
80
+ child: number;
81
+ };
82
+ export type ActorOverflow = "block" | "drop_new" | "drop_old" | "fail" | "coalesce";
83
+ export type ActorProtocol = {
84
+ actor: number;
85
+ message: number;
86
+ policy: SendPolicy;
87
+ sealed: boolean;
88
+ };
89
+ export type ActorShape = {
90
+ id: number;
91
+ name: string;
92
+ state_fields: Array<ActorField>;
93
+ init?: number | null;
94
+ start?: number | null;
95
+ stop: Array<number>;
96
+ crash?: number | null;
97
+ crash_info?: number | null;
98
+ crash_kind?: number | null;
99
+ crash_action?: number | null;
100
+ exit?: number | null;
101
+ down?: number | null;
102
+ handlers: Array<ActorHandler>;
103
+ mailbox_capacity?: number | null;
104
+ overflow: ActorOverflow;
105
+ coalesce?: Coalesce | null;
106
+ max_heap_bytes?: number | null;
107
+ };
108
+ export type AggregateBuiltin = "Timestamp";
109
+ export type AggregateShape = {
110
+ id: number;
111
+ name: string;
112
+ fields: Array<string>;
113
+ builtin?: AggregateBuiltin | null;
114
+ };
115
+ export type ArrayValueOp = "Len" | "Index" | "IndexBorrow" | "Set";
116
+ export type AskDetail = {
117
+ actor: number;
118
+ message: number;
119
+ policy: SendPolicy;
120
+ sealed: boolean;
121
+ };
122
+ export type AsyncIoOp = "TcpRead" | "TcpWrite" | "TcpAccept" | "TcpConnect" | "TcpConnectTimeout" | "StdinReadLine" | "SinkFinish" | "TlsConnect" | "TlsRead" | "TlsWrite" | "FileRead" | "FileWrite";
123
+ export type BlockV1 = {
124
+ id: number;
125
+ params: Array<ValueDef>;
126
+ ops: Array<OpV1>;
127
+ term: TermV1;
128
+ };
129
+ export type BoundaryDecision = "borrow" | "borrow_mut" | "copy" | "move" | "snapshot";
130
+ export type BoundaryOperand = {
131
+ value: number;
132
+ decision: BoundaryDecision;
133
+ };
134
+ export type CallResult = null | CallResultNever | ValueDef;
135
+ export type CallResultNever = "never";
136
+ export type Capability = "Eq" | "Hash" | "Less" | "LessEqual" | "Greater" | "GreaterEqual";
137
+ export type CheckedFailure = {
138
+ trap: TrapName;
139
+ edge: Edge;
140
+ };
141
+ export type ClosureEntry = {
142
+ body: number;
143
+ specialization: number | null;
144
+ };
145
+ export type ClosureShape = {
146
+ id: number;
147
+ entries: Array<ClosureEntry>;
148
+ fields: number;
149
+ };
150
+ export type Coalesce = {
151
+ fallback: CoalesceFallback;
152
+ keys: Array<CoalesceKey>;
153
+ };
154
+ export type CoalesceFallback = "drop_new" | "drop_old" | "fail";
155
+ export type CoalesceKey = {
156
+ message: number;
157
+ param: number;
158
+ };
159
+ export type CodecDirection = "encode" | "decode" | "test_input";
160
+ export type CodecKey = {
161
+ name: string;
162
+ tag: number | null;
163
+ flags: number;
164
+ };
165
+ export type CodecNode = "Unit" | "Bool" | {
166
+ Signed: {
167
+ min: number;
168
+ max: number;
169
+ };
170
+ } | {
171
+ Unsigned: {
172
+ max: number;
173
+ };
174
+ } | {
175
+ Float: {
176
+ bits: number;
177
+ };
178
+ } | "Char" | "String" | "Bytes" | {
179
+ Tuple: Array<number>;
180
+ } | {
181
+ Array: {
182
+ element: number;
183
+ len: number;
184
+ };
185
+ } | {
186
+ Sequence: number;
187
+ } | {
188
+ Set: number;
189
+ } | {
190
+ Map: {
191
+ key: number;
192
+ value: number;
193
+ };
194
+ } | {
195
+ Record: Array<[CodecKey, number]>;
196
+ } | {
197
+ Variant: Array<[CodecKey, number | null]>;
198
+ } | {
199
+ Option: number;
200
+ };
201
+ export type CodecShape = {
202
+ root: number;
203
+ nodes: Array<CodecNode>;
204
+ names: Array<string>;
205
+ aggregates: Array<number | null>;
206
+ variants: Array<number | null>;
207
+ /**
208
+ * Synthetic tuple or record groups expand into separate enum payload fields.
209
+ */
210
+ grouped_payloads: Array<boolean>;
211
+ };
212
+ export type DecodedCodec = {
213
+ shape: number;
214
+ ok: number;
215
+ error: number;
216
+ error_root: number;
217
+ };
218
+ export type DirectInvocation = {
219
+ direct: number;
220
+ };
221
+ export type DynInvocation = {
222
+ dyn: number;
223
+ method: string;
224
+ receiver: BoundaryOperand;
225
+ };
226
+ export type Edge = {
227
+ to: number;
228
+ args: Array<number>;
229
+ };
230
+ export type EncodingFormat = "Json" | "Yaml" | "Toml";
231
+ export type EncodingOp = "Parse" | "LastError" | "Stringify" | "Type" | "IntStatus" | "GetBool" | "GetInt" | "GetU64" | "GetFloat" | "GetString" | "GetDatetime" | "GetField" | "ArrayLen" | "ArrayGet" | "ObjectKeys" | "ObjectNew" | "ArrayNew" | "FromBool" | "FromInt" | "FromU64" | "FromFloat" | "FromString" | "FromNull" | "Eq" | "ObjectSet" | "ArrayPush" | "Clone" | "Free";
232
+ export type EntryExit = "unit" | "status";
233
+ export type EntryPlan = {
234
+ function: number;
235
+ exit: EntryExit;
236
+ };
237
+ export type ExternEntry = {
238
+ id: number;
239
+ symbol: string;
240
+ /**
241
+ * The capability manifest's label for a native-only runtime endpoint,
242
+ * so a refusal can name what needs native execution. Admission still
243
+ * keys on `symbol` alone.
244
+ */
245
+ native_capability?: string | null;
246
+ };
247
+ export type FileReadOp = "Open" | "IsValid" | "Collect" | "Close" | "StreamOpen" | "StreamIsValid" | "StreamCollect" | "HasError" | "LastErrorKind" | "LastErrno" | "LastError";
248
+ export type FloatMethodOp = "ToBits" | "IsNan" | "IsFinite" | "IsInfinite" | "IsSignNegative";
249
+ export type FunctionV1 = {
250
+ actor_construction?: boolean;
251
+ id: number;
252
+ name: string;
253
+ params: Array<ValueDef>;
254
+ entry: number;
255
+ places: Array<PlaceDecl>;
256
+ blocks: Array<BlockV1>;
257
+ };
258
+ export type IndirectInvocation = {
259
+ receiver: BoundaryOperand;
260
+ specialization: number | null;
261
+ };
262
+ export type IntArithKind = "WrappingAdd" | "WrappingSub" | "WrappingMul" | "SaturatingAdd" | "SaturatingSub" | "SaturatingMul" | "CheckedAdd" | "CheckedSub" | "CheckedMul";
263
+ export type IntBitOp = "CountOnes" | "CountZeros" | "LeadingZeros" | "TrailingZeros" | "SwapBytes" | "ReverseBits" | "RotateLeft" | "RotateRight";
264
+ export type IntMethodWidth = "I8" | "I16" | "I32" | "I64" | "Isize" | "U8" | "U16" | "U32" | "U64" | "Usize";
265
+ export type InvocationCallee = DirectInvocation | MutableInvocation | DynInvocation | IndirectInvocation;
266
+ export type JoinDetail = {
267
+ scope: number;
268
+ mode: JoinMode;
269
+ };
270
+ export type JoinMode = "wait" | "cancel_losers" | "propagate_fault";
271
+ export type MapValueOp = "New" | "Len" | "Index" | "Get" | "GetBorrow" | "ContainsKey" | "Insert" | "Remove" | "Clear" | "Keys" | "Values" | "Entries";
272
+ export type MathIntrinsic = "Sqrt" | "Exp" | "Log" | "Sin" | "Cos" | "AbsI64" | "MinI64" | "MaxI64" | "AbsF64" | "MinF64" | "MaxF64" | "Pow" | "Floor" | "Ceil" | "Round" | "Tan" | "Asin" | "Acos" | "Atan" | "Atan2" | "Sinh" | "Cosh" | "Tanh" | "Exp2" | "Log2" | "Log10" | "Log1p" | "Expm1" | "Cbrt" | "Hypot" | "Fma" | "Trunc" | "Copysign" | "Powi" | "FromBits";
273
+ export type MutableInvocation = {
274
+ mutable: number;
275
+ receiver: BoundaryOperand;
276
+ staged: boolean;
277
+ };
278
+ export type NativeIoDetail = {
279
+ operation: AsyncIoOp;
280
+ };
281
+ export type Nonfinite = "nan" | "inf" | "-inf";
282
+ export type OffloadDetail = {
283
+ function: number;
284
+ };
285
+ export type OpV1 = {
286
+ own?: Own | null;
287
+ span?: SpanV1 | null | null;
288
+ } & ({
289
+ op: "coverage.hit";
290
+ counter: number;
291
+ } | {
292
+ op: "const.int";
293
+ dst: number;
294
+ value: string;
295
+ ty: string;
296
+ } | {
297
+ op: "const.bool";
298
+ dst: number;
299
+ value: boolean;
300
+ } | {
301
+ op: "const.float";
302
+ dst: number;
303
+ value?: number | null;
304
+ ty: string;
305
+ nonfinite?: Nonfinite | null;
306
+ } | {
307
+ op: "const.char";
308
+ dst: number;
309
+ value: string;
310
+ } | {
311
+ op: "const.unit";
312
+ dst: number;
313
+ } | {
314
+ op: "const.duration";
315
+ dst: number;
316
+ nanos: string;
317
+ } | {
318
+ op: "const.str";
319
+ dst: number;
320
+ str: number;
321
+ } | {
322
+ op: "const.bytes";
323
+ dst: number;
324
+ bytes: number;
325
+ } | {
326
+ op: "copy_value";
327
+ dst: number;
328
+ source: number;
329
+ } | {
330
+ op: "move";
331
+ dst: number;
332
+ source: number;
333
+ } | {
334
+ op: "fork";
335
+ dst: number;
336
+ source: number;
337
+ } | {
338
+ op: "destroy_value";
339
+ dst?: number | null | null;
340
+ value: number;
341
+ } | {
342
+ op: "begin_borrow";
343
+ dst: number;
344
+ owner: number;
345
+ } | {
346
+ op: "end_borrow";
347
+ dst?: number | null | null;
348
+ borrow: number;
349
+ } | {
350
+ op: "finish_linear_receiver";
351
+ dst?: number | null | null;
352
+ } | {
353
+ op: "alloc_place";
354
+ dst?: number | null | null;
355
+ place: number;
356
+ } | {
357
+ op: "store.init";
358
+ dst?: number | null | null;
359
+ place: number;
360
+ value: number;
361
+ } | {
362
+ op: "store.assign";
363
+ dst?: number | null | null;
364
+ place: number;
365
+ value: number;
366
+ } | {
367
+ op: "load.copy";
368
+ dst: number;
369
+ place: number;
370
+ } | {
371
+ op: "load.take";
372
+ dst: number;
373
+ place: number;
374
+ } | {
375
+ op: "load.borrow";
376
+ dst: number;
377
+ place: number;
378
+ } | {
379
+ op: "end_lifetime";
380
+ dst?: number | null | null;
381
+ place: number;
382
+ } | {
383
+ op: "tuple.make";
384
+ dst: number;
385
+ elements: Array<number>;
386
+ } | {
387
+ op: "tuple.get";
388
+ dst: number;
389
+ tuple: number;
390
+ index: number;
391
+ } | {
392
+ op: "aggregate.make";
393
+ dst: number;
394
+ shape: number | null;
395
+ fields: Array<number>;
396
+ } | {
397
+ op: "aggregate.project_copy";
398
+ dst: number;
399
+ shape: number | null;
400
+ aggregate: number;
401
+ field: number;
402
+ } | {
403
+ op: "aggregate.project_borrow";
404
+ dst: number;
405
+ shape: number | null;
406
+ aggregate: number;
407
+ field: number;
408
+ } | {
409
+ op: "destructure";
410
+ dst?: number | null | null;
411
+ shape: number | null;
412
+ aggregate: number;
413
+ results: Array<number>;
414
+ } | {
415
+ op: "array.make";
416
+ dst: number;
417
+ elements: Array<number>;
418
+ } | {
419
+ op: "array.repeat";
420
+ dst: number;
421
+ value: number;
422
+ count?: number | null;
423
+ } | {
424
+ op: "variant.make";
425
+ dst: number;
426
+ shape: number;
427
+ variant: number;
428
+ fields: Array<number>;
429
+ } | {
430
+ op: "variant.is";
431
+ dst: number;
432
+ shape: number;
433
+ variant: number;
434
+ source: number;
435
+ } | {
436
+ op: "variant.project_copy";
437
+ dst: number;
438
+ shape: number;
439
+ variant: number;
440
+ source: number;
441
+ field: number;
442
+ } | {
443
+ op: "variant.project_borrow";
444
+ dst: number;
445
+ shape: number;
446
+ variant: number;
447
+ source: number;
448
+ field: number;
449
+ } | {
450
+ op: "variant.destructure";
451
+ dst?: number | null | null;
452
+ shape: number;
453
+ variant: number;
454
+ source: number;
455
+ results: Array<number>;
456
+ } | {
457
+ op: "unary";
458
+ dst: number;
459
+ unary_op: string;
460
+ value: number;
461
+ ty: string;
462
+ } | {
463
+ op: "binary";
464
+ dst: number;
465
+ binary_op: string;
466
+ lhs: number;
467
+ rhs: number;
468
+ ty: string;
469
+ } | {
470
+ op: "cast";
471
+ dst: number;
472
+ value: number;
473
+ from: string;
474
+ to: string;
475
+ } | {
476
+ op: "str.eq";
477
+ dst: number;
478
+ lhs: number;
479
+ rhs: number;
480
+ } | {
481
+ op: "bytes.eq";
482
+ dst: number;
483
+ lhs: number;
484
+ rhs: number;
485
+ } | {
486
+ op: "function.make";
487
+ dst: number;
488
+ callable: number;
489
+ } | {
490
+ op: "closure.make";
491
+ dst: number;
492
+ closure: number;
493
+ fields: Array<number>;
494
+ } | {
495
+ op: "callable.coerce";
496
+ dst: number;
497
+ source: number;
498
+ specialization: number | null;
499
+ } | {
500
+ op: "dyn.make";
501
+ dst: number;
502
+ vtable: number;
503
+ value: number;
504
+ } | {
505
+ op: "register_defer";
506
+ dst?: number | null | null;
507
+ defer: number;
508
+ scope: number;
509
+ dependencies: Array<number>;
510
+ } | {
511
+ op: "generator.make";
512
+ dst: number;
513
+ closure: number;
514
+ callable: number;
515
+ } | {
516
+ op: "actor.ingress_adapter";
517
+ dst?: number | null | null;
518
+ actor: number;
519
+ message: number;
520
+ } | {
521
+ op: "stream.pipe";
522
+ dst?: number | null | null;
523
+ capacity: number;
524
+ results: Array<ValueDef>;
525
+ } | {
526
+ op: "task_scope.enter";
527
+ dst?: number | null | null;
528
+ scope: number;
529
+ parent: number | null;
530
+ duration: number | null;
531
+ } | {
532
+ op: "task_scope.close";
533
+ dst?: number | null | null;
534
+ scope: number;
535
+ } | {
536
+ op: "task.race";
537
+ dst: number;
538
+ scope: number;
539
+ members: Array<number>;
540
+ } | {
541
+ op: "task.spawn";
542
+ dst: number;
543
+ scope: number;
544
+ callable: number;
545
+ } | {
546
+ op: "task.invoke";
547
+ dst: number;
548
+ scope: number;
549
+ callee: InvocationCallee;
550
+ args: Array<BoundaryOperand>;
551
+ });
552
+ export type Own = "none" | "owned" | "guaranteed";
553
+ export type PackageV1 = {
554
+ codecs?: Array<string>;
555
+ structural_render?: Array<StructuralRecipe>;
556
+ resources?: Array<Resource>;
557
+ schema_version: SchemaVersion;
558
+ hew_version: string;
559
+ compiler_version: string;
560
+ profile: string;
561
+ entry?: EntryPlan | null;
562
+ strings: Array<string>;
563
+ bytes: Array<Array<number>>;
564
+ regex_patterns: Array<string>;
565
+ aggregates: Array<AggregateShape>;
566
+ variants: Array<VariantShape>;
567
+ closures: Array<ClosureShape>;
568
+ actors?: Array<ActorShape>;
569
+ supervisors?: Array<SupervisorShape>;
570
+ vtables: Array<VtableShape>;
571
+ value_capabilities: Array<ValueCapability>;
572
+ runtime_families: Array<RuntimeFamilyEntry>;
573
+ externs: Array<ExternEntry>;
574
+ /**
575
+ * Every suspension kind the instruction stream reaches, so load-time
576
+ * admission stays a walk of the package's own manifest.
577
+ */
578
+ suspend_kinds: Array<Extract<TermV1, {
579
+ op: "suspend";
580
+ }>["kind"]>;
581
+ functions: Array<FunctionV1>;
582
+ };
583
+ export type PlaceBase = {
584
+ place: number;
585
+ } | {
586
+ value: number;
587
+ };
588
+ export type PlaceDecl = {
589
+ origin: "local";
590
+ id: number;
591
+ } | {
592
+ origin: "runtime";
593
+ id: number;
594
+ } | {
595
+ origin: "aggregate";
596
+ id: number;
597
+ base: PlaceBase;
598
+ shape?: number | null;
599
+ field: number;
600
+ } | {
601
+ origin: "capture";
602
+ id: number;
603
+ environment: number;
604
+ field: number;
605
+ } | {
606
+ origin: "actor_state";
607
+ id: number;
608
+ environment: number;
609
+ field: number;
610
+ initialized: boolean;
611
+ };
612
+ export type PrintKind = "I32" | "I64" | "U8" | "U32" | "U64" | "F64" | "Bool" | "Str";
613
+ export type RequestShapes = {
614
+ failure: number | null;
615
+ reason: number | null;
616
+ message: number | null;
617
+ request: number | null;
618
+ };
619
+ export type Resource = {
620
+ kind: "record";
621
+ shape: number;
622
+ ty?: string | null;
623
+ close: number;
624
+ } | {
625
+ kind: "opaque";
626
+ ty?: string | null;
627
+ close: number;
628
+ } | {
629
+ kind: "nominal";
630
+ ty?: string | null;
631
+ release: string;
632
+ } | {
633
+ kind: "task";
634
+ } | {
635
+ kind: "actor_call";
636
+ } | {
637
+ kind: "actor_request";
638
+ } | {
639
+ kind: "generator";
640
+ } | {
641
+ kind: "stream";
642
+ } | {
643
+ kind: "sink";
644
+ };
645
+ export type RestartPolicy = "permanent" | "transient" | "temporary";
646
+ export type RestartStrategy = "one_for_one" | "one_for_all" | "rest_for_one" | "simple_one_for_one";
647
+ export type RuntimeCallFamily = {
648
+ AsyncIo: AsyncIoOp;
649
+ } | {
650
+ Semaphore: SemaphoreOp;
651
+ } | {
652
+ FileRead: FileReadOp;
653
+ } | {
654
+ Service: ServiceOp;
655
+ } | {
656
+ Tcp: TcpOp;
657
+ } | {
658
+ Encoding: {
659
+ format: EncodingFormat;
660
+ op: EncodingOp;
661
+ };
662
+ } | "ActorDemonitor" | "ActorLink" | "ActorMonitor" | "ActorCaller" | "ActorRefusalLog" | "ActorUnlink" | "AutoMutexAlloc" | "AutoMutexFree" | "AutoMutexLock" | "AutoMutexUnlock" | "DequePopFront" | "DequePopBack" | "BytesAppend" | "BytesClear" | "BytesConcat" | "BytesContains" | "BytesDecodeUtf8" | "BytesDecodeUtf8Lossy" | "BytesEndsWith" | "BytesGet" | "BytesIndex" | "BytesIsEmpty" | "BytesLen" | "BytesPop" | "BytesPush" | "BytesSet" | "BytesSlice" | "BytesSliceFrom" | "BytesStartsWith" | "BytesNew" | "CancelTokenIsRequested" | "CancelTokenRelease" | "CancelTokenRetain" | "ActorRequestRelease" | "ActorCallFree" | "ActorRequestTake" | "DurationAbs" | "DurationHours" | "DurationIsZero" | "DurationMicros" | "DurationMillis" | "DurationMins" | "DurationNanos" | "DurationSecs" | "DynBoxAlloc" | "DynBoxFree" | "HashMapContainsKeyLayout" | "HashMapClearLayout" | "HashMapCloneLayout" | "HashMapEntriesLayout" | "HashMapFreeLayout" | "HashMapGetLayout" | "HashMapInsertLayout" | "HashMapKeysLayout" | "HashMapLenLayout" | "HashMapNew" | "HashMapNewWithLayout" | "HashMapRemoveLayout" | "HashMapValuesLayout" | "HashSetContainsLayout" | "HashSetClearLayout" | "HashSetCloneLayout" | "HashSetFreeLayout" | "HashSetInsertLayout" | "HashSetIsEmptyLayout" | "HashSetLenLayout" | "HashSetNew" | "HashSetNewWithLayout" | "HashSetRemoveLayout" | "HashSetToVecLayout" | "InstantDurationSince" | "InstantElapsed" | "InstantNow" | "TimestampNow" | {
663
+ MathIntrinsic: MathIntrinsic;
664
+ } | {
665
+ IntMethod: [IntBitOp, IntMethodWidth];
666
+ } | {
667
+ IntArith: [IntArithKind, IntMethodWidth];
668
+ } | {
669
+ FloatMethod: FloatMethodOp;
670
+ } | "NodeConnect" | "NodeId" | "NodeIdDisplay" | "LocationNodeId" | "LocationIncarnation" | "LocationDisplay" | "NodeIdentityKey" | "NodeLoadKeys" | "NodeLookup" | "NodeRegister" | "NodeSetTransport" | "NodeShutdown" | "NodeStart" | "MetricCounterRegister" | "MetricCounterInc" | "MetricCounterAdd" | "MetricGaugeRegister" | "MetricGaugeSet" | "MetricGaugeInc" | "MetricGaugeDec" | "MetricGaugeAdd" | "MetricHistogramRegister" | "MetricHistogramRegisterSimple" | "MetricHistogramRecord" | "MetricVecRegister" | "MetricVecWith" | "ObserveReadU64" | "ObserveScrape" | "ObserveSeries" | "ObserveBarrier" | "RcClone" | "RcDowngrade" | "RcDrop" | "RcGet" | "RcIsUnique" | "RcNew" | "RcSet" | "RcStrongCount" | "RcWeakCount" | "WeakCloneRc" | "WeakDropRc" | "WeakUpgradeRc" | "RegexCapture" | "RegexCompile" | "RegexFreeCapture" | "RegexHandle" | "RegexMatch" | "ReplyChannelCancel" | "ReplyChannelFree" | "ReplyChannelNew" | "ReplyPayloadFree" | "ReplyWait" | "SelectFirst" | "SinkClone" | "SinkClose" | "StreamClose" | "StreamChunks" | "StreamForward" | "StreamFromGenerator" | "SinkFromEncoder" | "StreamLines" | "StreamNextLayout" | "StreamPairSink" | "StreamPairStream" | "StreamSendLayout" | "StreamTake" | "StreamTryNextLayout" | "StreamTrySendLayout" | "CharIsDigit" | "CharIsLetter" | "CharIsAlphanumeric" | "CharIsWhitespace" | "CharIsUpper" | "CharIsLower" | "CharIsPunctuation" | "CharIsControl" | "CharIsAscii" | "CharToUpper" | "CharToLower" | "CharToTitle" | "CharLenUtf8" | "CharToDigit" | "CharFromI64" | "CharFromU64" | "StringGet" | "StringGetRange" | "StringSliceRange" | "StringAppend" | "StringPush" | "StringClear" | "StringFindFrom" | "StringByteLen" | "StringConcat" | "StringEquals" | "StringCompare" | "StringStartsWith" | "StringEndsWith" | "StringContains" | "StringIsEmpty" | "StructuralFormat" | "StringFind" | "StringIndex" | "StringLen" | "StringRepeat" | "StringReplace" | "StringClone" | "StringSplit" | "StringLines" | "StringSliceCodepoints" | "StringSliceCodepointsFrom" | "StringToLowercase" | "StringToBytes" | "StringToUppercase" | "StringTrim" | "U8ToString" | "I32ToString" | "I64ToString" | "U32ToString" | "U64ToString" | "F64ToString" | "CharToString" | {
671
+ Print: {
672
+ kind: PrintKind;
673
+ newline: boolean;
674
+ };
675
+ } | "ProcessExit" | "StderrWrite" | "BoolToString" | "SupervisorDirectId" | "SupervisorChildGet" | "LocalPidSupervisorChildGet" | "SupervisorNestedGet" | "SupervisorPoolChildGet" | "LocalPidSupervisorPoolChildRefGet" | "SupervisorPoolLen" | "SupervisorStop" | "TlsAttachLocal" | "WebSocketAttachLocal" | "TaskFree" | "GeneratorFree" | {
676
+ Vector: VecValueOp;
677
+ } | {
678
+ Array: ArrayValueOp;
679
+ } | {
680
+ SupervisorPool: SupervisorPoolOp;
681
+ } | {
682
+ Map: MapValueOp;
683
+ } | {
684
+ Set: SetValueOp;
685
+ } | "VecAppend" | "VecClear" | "VecClone" | "VecCloneLayout" | "VecCloneOwned" | "VecContainsLayout" | "VecTakeAll" | "VecContainsOwned" | {
686
+ VecContainsScalar: VecContainsScalarElem;
687
+ } | {
688
+ VecGet: VecGetElem;
689
+ } | "VecIsEmpty" | "VecJoinStr" | "VecLen" | "VecNew" | "VecPopBool" | "VecPopLayout" | "VecPopOwned" | "VecPushBool" | "VecPushLayout" | "VecPushOwned" | "VecPushOwnedMove" | {
690
+ VecScalar: {
691
+ op: VecScalarOp;
692
+ elem: VecScalarElem;
693
+ };
694
+ } | "VecRemoveAtBool" | "VecRemoveAtLayout" | "VecRemoveAtOwned" | "VecSetBool" | "VecSetLayout" | "VecSetOwned" | "VecSetOwnedMove" | {
695
+ VecSliceRange: VecSliceElem;
696
+ } | "VtableDispatchPanicOnOob";
697
+ export type RuntimeVariantRole = "CrashKindFault" | "CrashKindHeapExceeded" | "CrashKindPartitionDetected" | "CrashKindHandlerFailed" | "CrashKindTimerOverdue" | "OptionSome" | "OptionNone" | "ResultOk" | "ResultErr" | "ActorErrorRejected" | "ActorErrorFailed" | "ActorErrorTrapped" | "ActorErrorRefused" | "CallerActor" | "CallerTask" | "CallerTimer" | "CallerNode" | "ActorErrorDead" | "ActorErrorTimedOut" | "ActorErrorNodeNotRunning" | "ActorErrorRoutingFailed" | "ActorErrorEncodeFailed" | "ActorErrorMessageTooLarge" | "ActorErrorConnectionDropped" | "ActorErrorPartition" | "SendErrorFull" | "SendErrorClosed" | "SendErrorPartition" | "SendErrorStaleRef" | "SendErrorLocalShutdown" | "SendErrorCancelled" | "SendErrorVersionMismatch" | "SendErrorBackpressure" | "SendErrorDead" | "SendErrorUnauthorized" | "SendErrorInvalidMessage" | "SendErrorMessageTooLarge" | "SendErrorTimedOut" | "SendErrorWriteTimedOut" | "DeliveryAccepted" | "DeliveryDiscarded" | "LinkErrorNoContext";
698
+ export type SafepointDetail = {
699
+ budget: number;
700
+ };
701
+ export type SchemaVersion = "hew.sandbox.bytecode.v1";
702
+ export type SelectDetail = {
703
+ has_timeout: boolean;
704
+ order: SelectionOrder;
705
+ };
706
+ export type SelectionOrder = "source" | "completion";
707
+ export type SemaphoreAcquireDetail = {
708
+ operation: SemaphoreOp;
709
+ };
710
+ export type SemaphoreOp = "Acquire" | "AcquireTimeout";
711
+ export type SendPolicy = "reject" | "wait" | "drop_newest";
712
+ export type ServiceAcquireDetail = {
713
+ actor: number;
714
+ export: boolean;
715
+ };
716
+ export type ServiceOp = "Peer" | "Export" | "Receive" | "ClosePeer" | "CloseExport";
717
+ export type SetValueOp = "New" | "Len" | "Contains" | "Insert" | "Remove" | "Clear" | "Elements";
718
+ export type SpanV1 = {
719
+ start: number;
720
+ end: number;
721
+ };
722
+ export type StreamNextDetail = {
723
+ park: boolean;
724
+ };
725
+ export type StreamSendDetail = {
726
+ park: boolean;
727
+ };
728
+ export type StructuralCase = {
729
+ name: string;
730
+ kind: StructuralCaseKind;
731
+ fields: Array<StructuralField>;
732
+ };
733
+ export type StructuralCaseKind = "unit" | "tuple" | "struct";
734
+ export type StructuralField = {
735
+ name: string;
736
+ recipe: number;
737
+ };
738
+ export type StructuralRecipe = {
739
+ kind: "scalar";
740
+ } | {
741
+ kind: "unit";
742
+ } | {
743
+ kind: "display";
744
+ callee: number;
745
+ } | {
746
+ kind: "identity";
747
+ name: string;
748
+ } | {
749
+ kind: "tuple";
750
+ members: Array<number>;
751
+ } | {
752
+ kind: "vector";
753
+ members: Array<number>;
754
+ } | {
755
+ kind: "map";
756
+ members: Array<number>;
757
+ } | {
758
+ kind: "record";
759
+ name: string;
760
+ fields: Array<StructuralField>;
761
+ } | {
762
+ kind: "enum";
763
+ cases: Array<StructuralCase>;
764
+ };
765
+ export type SubmissionShapes = {
766
+ success: number | null;
767
+ failure: number | null;
768
+ reason: number | null;
769
+ };
770
+ export type SupervisedRole = {
771
+ actor: number;
772
+ } | {
773
+ supervisor: number;
774
+ };
775
+ export type SupervisorChild = {
776
+ name: string;
777
+ dependencies?: Array<number>;
778
+ /**
779
+ * The role this child plays, as `{"actor": id}` or `{"supervisor": id}`.
780
+ */
781
+ role: SupervisedRole;
782
+ restart: RestartPolicy;
783
+ stop_ns?: number | null;
784
+ stop_config?: number | null;
785
+ is_pool?: boolean;
786
+ spawn: number;
787
+ };
788
+ export type SupervisorPoolOp = "Len" | "Member" | "Get";
789
+ export type SupervisorShape = {
790
+ id: number;
791
+ strategy: RestartStrategy;
792
+ max_restarts: number;
793
+ window_secs: number;
794
+ children: Array<SupervisorChild>;
795
+ startup_order?: Array<number>;
796
+ };
797
+ export type SwitchArm = {
798
+ variant: number;
799
+ fields: Array<ValueDef>;
800
+ edge: Edge;
801
+ };
802
+ export type TcpOp = "Listen" | "ListenerValid" | "ConnectionValid" | "ListenerPort" | "ListenerClose" | "ConnectionClose" | "ReadTimeout" | "WriteTimeout" | "BroadcastExcept";
803
+ export type TermV1 = {
804
+ span?: SpanV1 | null | null;
805
+ } & ({
806
+ op: "return";
807
+ value: BoundaryOperand | null;
808
+ } | {
809
+ op: "goto";
810
+ edge: Edge;
811
+ } | {
812
+ op: "branch";
813
+ condition: number;
814
+ then: Edge;
815
+ else: Edge;
816
+ } | {
817
+ op: "switch.variant";
818
+ shape: number;
819
+ scrutinee: number;
820
+ arms: Array<SwitchArm>;
821
+ } | {
822
+ op: "checked.binary";
823
+ binary_op: string;
824
+ lhs: number;
825
+ rhs: number;
826
+ result: ValueDef;
827
+ normal: Edge;
828
+ failures: Array<CheckedFailure>;
829
+ ty: string;
830
+ } | {
831
+ op: "timestamp.binary";
832
+ binary_op: TimestampBinaryOp;
833
+ lhs: number;
834
+ rhs: number;
835
+ lhs_timestamp: boolean;
836
+ rhs_timestamp: boolean;
837
+ shape: number | null;
838
+ result: ValueDef;
839
+ normal: Edge;
840
+ failures: Array<CheckedFailure>;
841
+ } | {
842
+ op: "unreachable";
843
+ } | {
844
+ op: "call";
845
+ args: Array<BoundaryOperand>;
846
+ result: CallResult;
847
+ normal?: Edge | null | null;
848
+ unwind: Edge | null;
849
+ request_shapes?: RequestShapes | null | null;
850
+ callee: number;
851
+ handback?: ValueDef | null | null;
852
+ } | {
853
+ op: "indirect.call";
854
+ args: Array<BoundaryOperand>;
855
+ result: CallResult;
856
+ normal?: Edge | null | null;
857
+ unwind: Edge | null;
858
+ request_shapes?: RequestShapes | null | null;
859
+ callee: BoundaryOperand;
860
+ specialization: number | null;
861
+ } | {
862
+ op: "dyn.call";
863
+ args: Array<BoundaryOperand>;
864
+ result: CallResult;
865
+ normal?: Edge | null | null;
866
+ unwind: Edge | null;
867
+ request_shapes?: RequestShapes | null | null;
868
+ receiver: BoundaryOperand;
869
+ slot: number;
870
+ } | {
871
+ op: "value.call";
872
+ args: Array<BoundaryOperand>;
873
+ result: CallResult;
874
+ normal?: Edge | null | null;
875
+ unwind: Edge | null;
876
+ request_shapes?: RequestShapes | null | null;
877
+ plan: number;
878
+ } | {
879
+ op: "wire.codec";
880
+ args: Array<BoundaryOperand>;
881
+ result: CallResult;
882
+ normal?: Edge | null | null;
883
+ unwind: Edge | null;
884
+ request_shapes?: RequestShapes | null | null;
885
+ codec: number;
886
+ format: number;
887
+ direction: CodecDirection;
888
+ decoded: DecodedCodec | null;
889
+ callbacks: {
890
+ [key in string]: Array<number>;
891
+ };
892
+ } | {
893
+ op: "runtime.call";
894
+ args: Array<BoundaryOperand>;
895
+ result: CallResult;
896
+ normal?: Edge | null | null;
897
+ unwind: Edge | null;
898
+ request_shapes?: RequestShapes | null | null;
899
+ shared_payload_type?: string | null;
900
+ family: number;
901
+ structural?: number | null | null;
902
+ callbacks?: Array<number> | null;
903
+ releases_contents?: boolean | null;
904
+ keeps_inputs_on_failure?: boolean | null;
905
+ result_member_shapes?: Array<number | null> | null;
906
+ variant_result_shapes?: VariantResultShapes | null;
907
+ result_shape: number | null;
908
+ /**
909
+ * Checked aggregate descriptor supplied by the SIR result type.
910
+ */
911
+ aggregate_result_shape?: number | null | null;
912
+ } | {
913
+ op: "extern.call";
914
+ /**
915
+ * Exact resource release slot selected from the checked result type.
916
+ */
917
+ result_resource?: number | null;
918
+ args: Array<BoundaryOperand>;
919
+ result: CallResult;
920
+ normal?: Edge | null | null;
921
+ unwind: Edge | null;
922
+ request_shapes?: RequestShapes | null | null;
923
+ extern: number;
924
+ result_shape: number | null;
925
+ /**
926
+ * Checked aggregate descriptor supplied by the SIR result type.
927
+ */
928
+ aggregate_result_shape?: number | null | null;
929
+ } | {
930
+ op: "actor.call";
931
+ args: Array<BoundaryOperand>;
932
+ result: CallResult;
933
+ normal?: Edge | null | null;
934
+ unwind: Edge | null;
935
+ request_shapes?: RequestShapes | null | null;
936
+ operation: ActorOperation;
937
+ submission_shapes?: SubmissionShapes | null | null;
938
+ result_shape: number | null;
939
+ error_shape: number | null;
940
+ } | {
941
+ op: "panic";
942
+ message: BoundaryOperand;
943
+ assertion?: [BoundaryOperand, BoundaryOperand, BoundaryOperand] | null | null;
944
+ cleanup: Edge;
945
+ } | {
946
+ op: "trap";
947
+ trap: TrapName;
948
+ } | {
949
+ op: "checked_raise";
950
+ trap: TrapName;
951
+ cleanup: Edge;
952
+ } | {
953
+ op: "cleanup.dispatch";
954
+ normal: Edge;
955
+ fault: Edge;
956
+ } | {
957
+ op: "resume_unwind";
958
+ handback?: BoundaryOperand | null | null;
959
+ } | {
960
+ op: "enter_defer";
961
+ defer: number;
962
+ park: number;
963
+ body: Edge;
964
+ } | {
965
+ op: "finish_defer";
966
+ defer: number;
967
+ park: number;
968
+ next: Edge;
969
+ } | {
970
+ op: "recover_fault";
971
+ result_shape?: number | null | null;
972
+ result: ValueDef;
973
+ deadline_variant: number;
974
+ fault_variant: number;
975
+ normal: Edge;
976
+ unwind: Edge | null;
977
+ } | ({
978
+ op: "suspend";
979
+ request_shapes?: RequestShapes | null | null;
980
+ result_shape?: number | null | null;
981
+ error_shape?: number | null | null;
982
+ inputs: Array<BoundaryOperand>;
983
+ result: CallResult;
984
+ resumes: Array<Edge>;
985
+ cancel: Edge | null;
986
+ unwind: Edge | null;
987
+ } & ({
988
+ kind: "Sleep";
989
+ detail?: null | null | null;
990
+ } | {
991
+ kind: "SleepUntil";
992
+ detail?: null | null | null;
993
+ } | {
994
+ kind: "Await";
995
+ detail?: null | null | null;
996
+ } | {
997
+ kind: "ActorSend";
998
+ detail?: null | null | null;
999
+ } | {
1000
+ kind: "RestartWait";
1001
+ detail?: null | null | null;
1002
+ } | {
1003
+ kind: "Read";
1004
+ detail?: null | null | null;
1005
+ } | {
1006
+ kind: "Accept";
1007
+ detail?: null | null | null;
1008
+ } | {
1009
+ kind: "CallClosure";
1010
+ detail?: null | null | null;
1011
+ } | {
1012
+ kind: "Timeout";
1013
+ detail?: null | null | null;
1014
+ } | {
1015
+ kind: "ScopeDeadline";
1016
+ detail?: null | null | null;
1017
+ } | {
1018
+ kind: "Yield";
1019
+ detail?: null | null | null;
1020
+ } | {
1021
+ kind: "GeneratorNext";
1022
+ detail?: null | null | null;
1023
+ } | {
1024
+ kind: "Safepoint";
1025
+ detail: SafepointDetail;
1026
+ } | {
1027
+ kind: "ServiceAcquire";
1028
+ detail: ServiceAcquireDetail;
1029
+ } | {
1030
+ kind: "SemaphoreAcquire";
1031
+ detail: SemaphoreAcquireDetail;
1032
+ } | {
1033
+ kind: "NativeIo";
1034
+ detail: NativeIoDetail;
1035
+ } | {
1036
+ kind: "Offload";
1037
+ detail: OffloadDetail;
1038
+ } | {
1039
+ kind: "Ask";
1040
+ detail: AskDetail;
1041
+ } | {
1042
+ kind: "Join";
1043
+ detail: JoinDetail;
1044
+ } | {
1045
+ kind: "StreamSend";
1046
+ detail: StreamSendDetail;
1047
+ } | {
1048
+ kind: "StreamNext";
1049
+ detail: StreamNextDetail;
1050
+ } | {
1051
+ kind: "Select";
1052
+ detail: SelectDetail;
1053
+ })));
1054
+ export type TimerSendPolicy = "reject" | "drop_newest";
1055
+ export type TimestampBinaryOp = "Add" | "Subtract";
1056
+ export type TrapName = "integer_overflow" | "divide_by_zero" | "shift_out_of_range" | "vector_bounds" | "actor_refused";
1057
+ export type ValueCapability = {
1058
+ id: number;
1059
+ capability: Capability;
1060
+ ty: string;
1061
+ callable?: number | null;
1062
+ components?: Array<ValueComponentCapabilities>;
1063
+ variants?: Array<Array<ValueComponentCapabilities>> | null;
1064
+ };
1065
+ export type ValueComponentCapabilities = {
1066
+ selected: number;
1067
+ ordering?: ValueOrderingCapabilities | null;
1068
+ };
1069
+ export type ValueDef = {
1070
+ value: number;
1071
+ own: Own;
1072
+ };
1073
+ export type ValueOrderingCapabilities = {
1074
+ less: number;
1075
+ less_equal: number;
1076
+ greater: number;
1077
+ greater_equal: number;
1078
+ };
1079
+ export type VariantCase = {
1080
+ name: string;
1081
+ fields: Array<string>;
1082
+ };
1083
+ export type VariantResultShapes = {
1084
+ error: number;
1085
+ error_len: number;
1086
+ };
1087
+ export type VariantShape = {
1088
+ id: number;
1089
+ name: string;
1090
+ cases: Array<VariantCase>;
1091
+ runtime_tags?: {
1092
+ [key in RuntimeVariantRole]?: number;
1093
+ };
1094
+ };
1095
+ export type VecContainsScalarElem = "F64" | "I32" | "I64" | "Str";
1096
+ export type VecGetElem = "Bool" | "F32" | "F64" | "I8" | "I16" | "I32" | "I64" | "Clone" | "Take" | "Layout" | "Owned" | "Ptr" | "Str" | "U8" | "U16";
1097
+ export type VecScalarElem = "F32" | "F64" | "I8" | "I16" | "I32" | "I64" | "Ptr" | "Str" | "U8" | "U16";
1098
+ export type VecScalarOp = "Push" | "Pop" | "Set" | "RemoveAt";
1099
+ export type VecSliceElem = "Bytesize" | "F64" | "I32" | "I64" | "Layout" | "Owned" | "Ptr" | "Str";
1100
+ export type VecValueOp = "New" | "Len" | "Contains" | "Index" | "Get" | "Push" | "Set" | "Pop" | "Remove" | "Clear" | "IndexBorrow" | "GetBorrow" | "TakeFirst" | "TakeAll" | "Slice" | "SliceFrom" | "Append" | "Join";
1101
+ export type VtableShape = {
1102
+ id: number;
1103
+ slots: Array<VtableSlot>;
1104
+ };
1105
+ export type VtableSlot = {
1106
+ slot: number;
1107
+ method: string;
1108
+ callee: number;
1109
+ /**
1110
+ * How the erased receiver crosses the dispatch boundary. A `dyn.call`
1111
+ * passes the wrapped value to the callee's `self` parameter under this
1112
+ * decision, which the verifier proves matches the boundary the concrete
1113
+ * type was erased under.
1114
+ */
1115
+ receiver: BoundaryDecision;
1116
+ receiver_handback?: boolean;
1117
+ };
1118
+ type RuntimeIdentity<T> = T extends string ? {
1119
+ family: T;
1120
+ detail?: null;
1121
+ } : {
1122
+ [K in keyof T]: {
1123
+ family: K;
1124
+ detail: T[K];
1125
+ };
1126
+ }[keyof T];
1127
+ export type RuntimeFamilyEntry = {
1128
+ id: number;
1129
+ } & RuntimeIdentity<RuntimeCallFamily>;
1130
+ export declare const OP_NAMES: readonly ["coverage.hit", "const.int", "const.bool", "const.float", "const.char", "const.unit", "const.duration", "const.str", "const.bytes", "copy_value", "move", "fork", "destroy_value", "begin_borrow", "end_borrow", "finish_linear_receiver", "alloc_place", "store.init", "store.assign", "load.copy", "load.take", "load.borrow", "end_lifetime", "tuple.make", "tuple.get", "aggregate.make", "aggregate.project_copy", "aggregate.project_borrow", "destructure", "array.make", "array.repeat", "variant.make", "variant.is", "variant.project_copy", "variant.project_borrow", "variant.destructure", "unary", "binary", "cast", "str.eq", "bytes.eq", "function.make", "closure.make", "callable.coerce", "dyn.make", "register_defer", "generator.make", "actor.ingress_adapter", "stream.pipe", "task_scope.enter", "task_scope.close", "task.race", "task.spawn", "task.invoke"];
1131
+ export declare const TERM_NAMES: readonly ["return", "goto", "branch", "switch.variant", "checked.binary", "timestamp.binary", "unreachable", "call", "indirect.call", "dyn.call", "value.call", "wire.codec", "runtime.call", "extern.call", "actor.call", "panic", "trap", "checked_raise", "cleanup.dispatch", "resume_unwind", "enter_defer", "finish_defer", "recover_fault", "suspend"];
1132
+ export declare const SUSPENSION_NAMES: readonly ["Sleep", "SleepUntil", "Await", "ActorSend", "RestartWait", "Read", "Accept", "CallClosure", "Timeout", "ScopeDeadline", "Yield", "GeneratorNext", "Safepoint", "ServiceAcquire", "SemaphoreAcquire", "NativeIo", "Offload", "Ask", "Join", "StreamSend", "StreamNext", "Select"];
1133
+ export type OpName = OpV1["op"];
1134
+ export type TermName = TermV1["op"];
1135
+ export {};