@nosana/types 2.20.1 → 2.21.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 (55) hide show
  1. package/dist/Common/index.d.ts +29 -7
  2. package/dist/Common/index.d.ts.map +1 -1
  3. package/dist/Common/index.js +6 -0
  4. package/dist/Common/index.js.map +1 -1
  5. package/dist/Jobs/Flows/index.d.ts +9 -5
  6. package/dist/Jobs/Flows/index.d.ts.map +1 -1
  7. package/dist/Jobs/JobDefinition/args/expose.d.ts +17 -2
  8. package/dist/Jobs/JobDefinition/args/expose.d.ts.map +1 -1
  9. package/dist/Jobs/JobDefinition/args/expose.js.map +1 -1
  10. package/dist/Jobs/JobDefinition/args/index.d.ts +38 -0
  11. package/dist/Jobs/JobDefinition/args/index.d.ts.map +1 -1
  12. package/dist/Jobs/JobDefinition/args/index.js +660 -41
  13. package/dist/Jobs/JobDefinition/args/index.js.map +1 -1
  14. package/dist/Jobs/JobDefinition/args/output.d.ts +2 -0
  15. package/dist/Jobs/JobDefinition/args/output.d.ts.map +1 -0
  16. package/dist/Jobs/JobDefinition/args/output.js +2 -0
  17. package/dist/Jobs/JobDefinition/args/output.js.map +1 -0
  18. package/dist/Jobs/JobDefinition/args/required_vram.d.ts +2 -0
  19. package/dist/Jobs/JobDefinition/args/required_vram.d.ts.map +1 -0
  20. package/dist/Jobs/JobDefinition/args/required_vram.js +2 -0
  21. package/dist/Jobs/JobDefinition/args/required_vram.js.map +1 -0
  22. package/dist/Jobs/JobDefinition/args/trusted_execution_env.d.ts +6 -0
  23. package/dist/Jobs/JobDefinition/args/trusted_execution_env.d.ts.map +1 -0
  24. package/dist/Jobs/JobDefinition/args/trusted_execution_env.js +5 -0
  25. package/dist/Jobs/JobDefinition/args/trusted_execution_env.js.map +1 -0
  26. package/dist/Jobs/JobDefinition/index.d.ts +8 -4
  27. package/dist/Jobs/JobDefinition/index.d.ts.map +1 -1
  28. package/dist/Jobs/JobDefinition/logistics/index.d.ts +2 -2
  29. package/dist/Jobs/JobDefinition/logistics/index.d.ts.map +1 -1
  30. package/dist/Jobs/JobDefinition/logistics/index.js +10 -10
  31. package/dist/Jobs/JobDefinition/meta/index.d.ts +1 -1
  32. package/dist/Jobs/JobDefinition/meta/index.d.ts.map +1 -1
  33. package/dist/Jobs/JobDefinition/meta/index.js +2 -48
  34. package/dist/Jobs/JobDefinition/meta/index.js.map +1 -1
  35. package/dist/Jobs/JobDefinition/operations/index.d.ts +18 -3
  36. package/dist/Jobs/JobDefinition/operations/index.d.ts.map +1 -1
  37. package/dist/Jobs/JobDefinition/operations/index.js +759 -201
  38. package/dist/Jobs/JobDefinition/operations/index.js.map +1 -1
  39. package/dist/Jobs/JobDefinition/operations/rules.d.ts +1 -0
  40. package/dist/Jobs/JobDefinition/operations/rules.d.ts.map +1 -1
  41. package/dist/Jobs/JobDefinition/operations/rules.js +3 -0
  42. package/dist/Jobs/JobDefinition/operations/rules.js.map +1 -1
  43. package/dist/Jobs/index.d.ts +2 -2
  44. package/dist/Jobs/index.d.ts.map +1 -1
  45. package/dist/Jobs/index.js +450 -215
  46. package/dist/Jobs/index.js.map +1 -1
  47. package/dist/Schemas/job.js +198 -85
  48. package/dist/Schemas/job.js.map +1 -1
  49. package/dist/Schemas/node.d.ts +57 -17
  50. package/dist/Schemas/node.d.ts.map +1 -1
  51. package/dist/Schemas/nodeOpenApi.d.ts.map +1 -1
  52. package/dist/Schemas/nodeOpenApi.js +206 -79
  53. package/dist/Schemas/nodeOpenApi.js.map +1 -1
  54. package/openapi/node.openapi.json +211 -79
  55. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Jobs/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Jobs/index.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,11 @@ export const jobSchemas = {
7
7
  type: "object",
8
8
  properties: {
9
9
  version: {
10
- type: "string",
11
- "enum": [
12
- "0.1"
13
- ]
10
+ type: "string"
14
11
  },
15
12
  type: {
16
13
  type: "string",
17
- "enum": [
18
- "container"
19
- ]
14
+ deprecated: true
20
15
  },
21
16
  logistics: {
22
17
  $ref: "#/components/schemas/Logistics"
@@ -39,7 +34,6 @@ export const jobSchemas = {
39
34
  },
40
35
  required: [
41
36
  "version",
42
- "type",
43
37
  "ops"
44
38
  ]
45
39
  },
@@ -53,10 +47,7 @@ export const jobSchemas = {
53
47
  $ref: "#/components/schemas/Logistic"
54
48
  }
55
49
  },
56
- required: [
57
- "send",
58
- "receive"
59
- ]
50
+ required: []
60
51
  },
61
52
  Logistic: {
62
53
  type: "object",
@@ -114,32 +105,7 @@ export const jobSchemas = {
114
105
  }
115
106
  },
116
107
  required: [],
117
- additionalProperties: {
118
- oneOf: [
119
- {
120
- type: "string"
121
- },
122
- {
123
- type: "number"
124
- },
125
- {
126
- type: "array",
127
- items: {
128
- oneOf: [
129
- {
130
- type: "string"
131
- },
132
- {
133
- type: "number"
134
- }
135
- ]
136
- }
137
- },
138
- {
139
- $ref: "#/components/schemas/Recordstringstringnumber(stringnumber)"
140
- }
141
- ]
142
- }
108
+ additionalProperties: {}
143
109
  },
144
110
  Recordstringstringnumber: {
145
111
  type: "object",
@@ -157,35 +123,6 @@ export const jobSchemas = {
157
123
  ]
158
124
  }
159
125
  },
160
- "Recordstringstringnumber(stringnumber)": {
161
- type: "object",
162
- properties: {},
163
- required: [],
164
- description: "Construct a type with a set of properties K of type T",
165
- additionalProperties: {
166
- oneOf: [
167
- {
168
- type: "string"
169
- },
170
- {
171
- type: "number"
172
- },
173
- {
174
- type: "array",
175
- items: {
176
- oneOf: [
177
- {
178
- type: "string"
179
- },
180
- {
181
- type: "number"
182
- }
183
- ]
184
- }
185
- }
186
- ]
187
- }
188
- },
189
126
  Global: {
190
127
  type: "object",
191
128
  properties: {
@@ -252,7 +189,9 @@ export const jobSchemas = {
252
189
  type: "string",
253
190
  "enum": [
254
191
  "container/run",
255
- "container/create-volume"
192
+ "container/create-volume",
193
+ "vm/run",
194
+ "cvm/run"
256
195
  ]
257
196
  },
258
197
  id: {
@@ -263,6 +202,9 @@ export const jobSchemas = {
263
202
  {
264
203
  $ref: "#/components/schemas/ContainerRun"
265
204
  },
205
+ {
206
+ $ref: "#/components/schemas/VmRunArgs"
207
+ },
266
208
  {
267
209
  $ref: "#/components/schemas/ContainerCreateVolume"
268
210
  }
@@ -338,6 +280,9 @@ export const jobSchemas = {
338
280
  "__spread__"
339
281
  ]
340
282
  },
283
+ {
284
+ $ref: "#/components/schemas/PortRangeString"
285
+ },
341
286
  {
342
287
  $ref: "#/components/schemas/ExposedPort"
343
288
  },
@@ -352,6 +297,9 @@ export const jobSchemas = {
352
297
  work_dir: {
353
298
  type: "string"
354
299
  },
300
+ output: {
301
+ type: "string"
302
+ },
355
303
  entrypoint: {
356
304
  oneOf: [
357
305
  {
@@ -395,6 +343,9 @@ export const jobSchemas = {
395
343
  }
396
344
  ]
397
345
  },
346
+ required_vram: {
347
+ type: "number"
348
+ },
398
349
  "private": {
399
350
  type: "boolean"
400
351
  },
@@ -403,6 +354,13 @@ export const jobSchemas = {
403
354
  },
404
355
  authentication: {
405
356
  $ref: "#/components/schemas/Authentication"
357
+ },
358
+ trusted_execution_env: {
359
+ type: "string",
360
+ "enum": [
361
+ "SEV-SNP",
362
+ "SEV-GUEST"
363
+ ]
406
364
  }
407
365
  },
408
366
  required: [
@@ -433,11 +391,21 @@ export const jobSchemas = {
433
391
  LiteralString: {
434
392
  type: "string"
435
393
  },
394
+ PortRangeString: {
395
+ type: "string"
396
+ },
436
397
  ExposedPort: {
437
398
  type: "object",
438
399
  properties: {
439
400
  port: {
440
- type: "number"
401
+ oneOf: [
402
+ {
403
+ type: "number"
404
+ },
405
+ {
406
+ $ref: "#/components/schemas/PortRangeString"
407
+ }
408
+ ]
441
409
  },
442
410
  type: {
443
411
  type: "string",
@@ -569,6 +537,9 @@ export const jobSchemas = {
569
537
  "__spread__"
570
538
  ]
571
539
  },
540
+ {
541
+ $ref: "#/components/schemas/PortRangeString"
542
+ },
572
543
  {
573
544
  $ref: "#/components/schemas/ExposedPort"
574
545
  }
@@ -829,6 +800,136 @@ export const jobSchemas = {
829
800
  },
830
801
  required: []
831
802
  },
803
+ VmRunArgs: {
804
+ type: "object",
805
+ properties: {
806
+ image: {
807
+ type: "string",
808
+ description: "Disk image to fetch and boot (OCI artifact, URL, or IPFS CID). Required."
809
+ },
810
+ cpu: {
811
+ type: "number",
812
+ description: "vCPU count."
813
+ },
814
+ memory: {
815
+ oneOf: [
816
+ {
817
+ type: "string"
818
+ },
819
+ {
820
+ type: "number"
821
+ }
822
+ ],
823
+ description: "Memory \u2014 MiB as a number, or a human string like \"4G\"."
824
+ },
825
+ disk: {
826
+ oneOf: [
827
+ {
828
+ type: "string"
829
+ },
830
+ {
831
+ type: "number"
832
+ }
833
+ ],
834
+ description: "Root disk size \u2014 MiB as a number, or a human string like \"20G\"."
835
+ },
836
+ gpu: {
837
+ type: "boolean",
838
+ description: "Pass a GPU through to the guest (VFIO)."
839
+ },
840
+ cmd: {
841
+ oneOf: [
842
+ {
843
+ type: "string"
844
+ },
845
+ {
846
+ type: "array",
847
+ items: {
848
+ type: "string"
849
+ }
850
+ }
851
+ ],
852
+ description: "Command to run on boot (delivered via cloud-init / the guest agent)."
853
+ },
854
+ env: {
855
+ $ref: "#/components/schemas/Env",
856
+ description: "Environment variables injected into the guest."
857
+ },
858
+ expose: {
859
+ oneOf: [
860
+ {
861
+ type: "number"
862
+ },
863
+ {
864
+ $ref: "#/components/schemas/LiteralString"
865
+ },
866
+ {
867
+ type: "object",
868
+ properties: {
869
+ __spread__: {
870
+ $ref: "#/components/schemas/LiteralString"
871
+ },
872
+ chunked: {
873
+ type: "boolean"
874
+ }
875
+ },
876
+ required: [
877
+ "__spread__"
878
+ ]
879
+ },
880
+ {
881
+ $ref: "#/components/schemas/PortRangeString"
882
+ },
883
+ {
884
+ $ref: "#/components/schemas/ExposedPort"
885
+ },
886
+ {
887
+ $ref: "#/components/schemas/UniqueExposedPorts"
888
+ }
889
+ ],
890
+ description: "Ports to expose \u2014 same grammar as `container/run`."
891
+ },
892
+ "private": {
893
+ type: "boolean",
894
+ description: "Publish exposed URLs privately (auth-gated) rather than publicly."
895
+ },
896
+ restart_policy: {
897
+ oneOf: [
898
+ {
899
+ type: "object",
900
+ properties: {
901
+ policy: {
902
+ type: "string",
903
+ "enum": [
904
+ "on-failure"
905
+ ]
906
+ },
907
+ restart_tries: {
908
+ type: "number"
909
+ }
910
+ },
911
+ required: [
912
+ "policy"
913
+ ]
914
+ },
915
+ {
916
+ type: "string",
917
+ "enum": [
918
+ "on-failure",
919
+ "no",
920
+ "always",
921
+ "unless-stopped"
922
+ ]
923
+ }
924
+ ],
925
+ description: "Restart policy \u2014 same grammar as `container/run`."
926
+ }
927
+ },
928
+ required: [
929
+ "image"
930
+ ],
931
+ description: "Arguments for a `vm/run` / `cvm/run` hypervisor operation \u2014 a declarative\nfa\u00E7ade over the VM orchestrator that mirrors `container/run` (the QEMU knobs\nare hidden). `cvm/run` is the confidential (SEV-SNP) variant and shares this\nexact arg shape: the operation *key* selects confidentiality, not an argument."
932
+ },
832
933
  ContainerCreateVolume: {
833
934
  type: "object",
834
935
  properties: {
@@ -995,23 +1096,16 @@ export const jobSchemas = {
995
1096
  ]
996
1097
  }
997
1098
  },
998
- error: {
999
- type: "object",
1000
- properties: {
1001
- event: {
1002
- type: "string"
1003
- },
1004
- message: {
1005
- type: "string"
1006
- },
1007
- code: {
1008
- type: "number"
1009
- }
1099
+ errors: {
1100
+ type: "array",
1101
+ items: {
1102
+ $ref: "#/components/schemas/OpStateError"
1010
1103
  },
1011
- required: [
1012
- "event",
1013
- "message"
1014
- ]
1104
+ description: "Every error the operation hit, in order."
1105
+ },
1106
+ error: {
1107
+ $ref: "#/components/schemas/OpStateError",
1108
+ description: "Single-error form; the node records each error in `errors`."
1015
1109
  },
1016
1110
  diagnostics: {
1017
1111
  type: "object",
@@ -1037,6 +1131,7 @@ export const jobSchemas = {
1037
1131
  "endTime",
1038
1132
  "exitCode",
1039
1133
  "logs",
1134
+ "errors",
1040
1135
  "diagnostics"
1041
1136
  ]
1042
1137
  },
@@ -1058,6 +1153,24 @@ export const jobSchemas = {
1058
1153
  "timestamp"
1059
1154
  ]
1060
1155
  },
1156
+ OpStateError: {
1157
+ type: "object",
1158
+ properties: {
1159
+ event: {
1160
+ type: "string"
1161
+ },
1162
+ message: {
1163
+ type: "string"
1164
+ },
1165
+ code: {
1166
+ type: "number"
1167
+ }
1168
+ },
1169
+ required: [
1170
+ "event",
1171
+ "message"
1172
+ ]
1173
+ },
1061
1174
  DiagnosticsReason: {
1062
1175
  type: "object",
1063
1176
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/Schemas/job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,CAAC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0D,CAAC"}
1
+ {"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/Schemas/job.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,CAAC,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA0D,CAAC"}
@@ -398,8 +398,8 @@ export interface components {
398
398
  schemas: {
399
399
  JobDefinition: JobDefinition;
400
400
  Logistics: {
401
- send: components["schemas"]["Logistic"];
402
- receive: components["schemas"]["Logistic"];
401
+ send?: components["schemas"]["Logistic"];
402
+ receive?: components["schemas"]["Logistic"];
403
403
  };
404
404
  Logistic: {
405
405
  type: components["schemas"]["LogisticType"];
@@ -421,16 +421,12 @@ export interface components {
421
421
  trigger?: string;
422
422
  system_resources?: components["schemas"]["Recordstringstringnumber"];
423
423
  } & {
424
- [key: string]: string | number | (string | number)[] | components["schemas"]["Recordstringstringnumber_stringnumber_"];
424
+ [key: string]: unknown;
425
425
  };
426
426
  /** @description Construct a type with a set of properties K of type T */
427
427
  Recordstringstringnumber: {
428
428
  [key: string]: string | number;
429
429
  };
430
- /** @description Construct a type with a set of properties K of type T */
431
- Recordstringstringnumber_stringnumber_: {
432
- [key: string]: string | number | (string | number)[];
433
- };
434
430
  Global: {
435
431
  image?: string;
436
432
  gpu?: boolean;
@@ -448,9 +444,9 @@ export interface components {
448
444
  };
449
445
  Ops: components["schemas"]["OperationkeyofOperationArgsMap"][];
450
446
  OperationkeyofOperationArgsMap: {
451
- type: "container/run" | "container/create-volume";
447
+ type: "container/run" | "container/create-volume" | "vm/run" | "cvm/run";
452
448
  id: components["schemas"]["OperationId"];
453
- args: components["schemas"]["ContainerRun"] | components["schemas"]["ContainerCreateVolume"];
449
+ args: components["schemas"]["ContainerRun"] | components["schemas"]["VmRunArgs"] | components["schemas"]["ContainerCreateVolume"];
454
450
  results?: components["schemas"]["OperationResults"];
455
451
  execution?: components["schemas"]["Execution"];
456
452
  };
@@ -463,9 +459,10 @@ export interface components {
463
459
  expose?: number | components["schemas"]["LiteralString"] | {
464
460
  __spread__: components["schemas"]["LiteralString"];
465
461
  chunked?: boolean;
466
- } | components["schemas"]["ExposedPort"] | components["schemas"]["UniqueExposedPorts"];
462
+ } | components["schemas"]["PortRangeString"] | components["schemas"]["ExposedPort"] | components["schemas"]["UniqueExposedPorts"];
467
463
  gpu?: boolean;
468
464
  work_dir?: string;
465
+ output?: string;
469
466
  entrypoint?: string | components["schemas"]["CMDArray"];
470
467
  env?: components["schemas"]["Env"];
471
468
  restart_policy?: "on-failure" | "no" | "always" | "unless-stopped" | {
@@ -473,9 +470,11 @@ export interface components {
473
470
  policy: "on-failure";
474
471
  restart_tries?: number;
475
472
  };
473
+ required_vram?: number;
476
474
  private?: boolean;
477
475
  resources?: components["schemas"]["Resources"];
478
476
  authentication?: components["schemas"]["Authentication"];
477
+ trusted_execution_env?: "SEV-SNP" | "SEV-GUEST";
479
478
  };
480
479
  Aliases: string[];
481
480
  Volume: {
@@ -483,8 +482,9 @@ export interface components {
483
482
  dest: string;
484
483
  };
485
484
  LiteralString: string;
485
+ PortRangeString: string;
486
486
  ExposedPort: {
487
- port: number;
487
+ port: number | components["schemas"]["PortRangeString"];
488
488
  type?: "api" | "web" | "websocket" | "webapi" | "none";
489
489
  health_checks?: components["schemas"]["HealthCheck"][];
490
490
  };
@@ -513,7 +513,7 @@ export interface components {
513
513
  ExposeBase: number | components["schemas"]["LiteralString"] | {
514
514
  __spread__: components["schemas"]["LiteralString"];
515
515
  chunked?: boolean;
516
- } | components["schemas"]["ExposedPort"];
516
+ } | components["schemas"]["PortRangeString"] | components["schemas"]["ExposedPort"];
517
517
  Resources: ("__remove-if-empty__" | {
518
518
  __spread__: components["schemas"]["LiteralString"];
519
519
  chunked?: boolean;
@@ -577,6 +577,41 @@ export interface components {
577
577
  email?: string;
578
578
  server?: string;
579
579
  };
580
+ /**
581
+ * @description Arguments for a `vm/run` / `cvm/run` hypervisor operation — a declarative
582
+ * façade over the VM orchestrator that mirrors `container/run` (the QEMU knobs
583
+ * are hidden). `cvm/run` is the confidential (SEV-SNP) variant and shares this
584
+ * exact arg shape: the operation *key* selects confidentiality, not an argument.
585
+ */
586
+ VmRunArgs: {
587
+ /** @description Disk image to fetch and boot (OCI artifact, URL, or IPFS CID). Required. */
588
+ image: string;
589
+ /** @description vCPU count. */
590
+ cpu?: number;
591
+ /** @description Memory — MiB as a number, or a human string like "4G". */
592
+ memory?: string | number;
593
+ /** @description Root disk size — MiB as a number, or a human string like "20G". */
594
+ disk?: string | number;
595
+ /** @description Pass a GPU through to the guest (VFIO). */
596
+ gpu?: boolean;
597
+ /** @description Command to run on boot (delivered via cloud-init / the guest agent). */
598
+ cmd?: string | string[];
599
+ /** @description Environment variables injected into the guest. */
600
+ env?: components["schemas"]["Env"];
601
+ /** @description Ports to expose — same grammar as `container/run`. */
602
+ expose?: number | components["schemas"]["LiteralString"] | {
603
+ __spread__: components["schemas"]["LiteralString"];
604
+ chunked?: boolean;
605
+ } | components["schemas"]["PortRangeString"] | components["schemas"]["ExposedPort"] | components["schemas"]["UniqueExposedPorts"];
606
+ /** @description Publish exposed URLs privately (auth-gated) rather than publicly. */
607
+ private?: boolean;
608
+ /** @description Restart policy — same grammar as `container/run`. */
609
+ restart_policy?: "on-failure" | "no" | "always" | "unless-stopped" | {
610
+ /** @constant */
611
+ policy: "on-failure";
612
+ restart_tries?: number;
613
+ };
614
+ };
580
615
  ContainerCreateVolume: {
581
616
  name: string;
582
617
  };
@@ -608,11 +643,10 @@ export interface components {
608
643
  results?: {
609
644
  [key: string]: string | string[];
610
645
  };
611
- error?: {
612
- event: string;
613
- message: string;
614
- code?: number;
615
- };
646
+ /** @description Every error the operation hit, in order. */
647
+ errors: components["schemas"]["OpStateError"][];
648
+ /** @description Single-error form; the node records each error in `errors`. */
649
+ error?: components["schemas"]["OpStateError"];
616
650
  diagnostics: {
617
651
  reason: components["schemas"]["DiagnosticsReason"];
618
652
  state?: components["schemas"]["DiagnosticsState"];
@@ -623,6 +657,11 @@ export interface components {
623
657
  log?: string;
624
658
  timestamp: string;
625
659
  };
660
+ OpStateError: {
661
+ event: string;
662
+ message: string;
663
+ code?: number;
664
+ };
626
665
  DiagnosticsReason: {
627
666
  hostShutDown: boolean;
628
667
  jobStopped: boolean;
@@ -721,6 +760,7 @@ export interface components {
721
760
  message: string;
722
761
  code?: number;
723
762
  };
763
+ errors?: components["schemas"]["OpStateError"][];
724
764
  diagnostics?: {
725
765
  reason: components["schemas"]["DiagnosticsReason"];
726
766
  state?: components["schemas"]["DiagnosticsState"];