@nosana/api 0.1.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 (41) hide show
  1. package/README.md +0 -0
  2. package/dist/client/index.d.ts +9 -0
  3. package/dist/client/index.js +21 -0
  4. package/dist/client/index.js.map +1 -0
  5. package/dist/client/schema.d.ts +3551 -0
  6. package/dist/client/schema.js +6 -0
  7. package/dist/client/schema.js.map +1 -0
  8. package/dist/client/type.utils.d.ts +45 -0
  9. package/dist/client/type.utils.js +2 -0
  10. package/dist/client/type.utils.js.map +1 -0
  11. package/dist/credits/index.d.ts +4 -0
  12. package/dist/credits/index.js +14 -0
  13. package/dist/credits/index.js.map +1 -0
  14. package/dist/credits/types.d.ts +5 -0
  15. package/dist/credits/types.js +2 -0
  16. package/dist/credits/types.js.map +1 -0
  17. package/dist/defaults/index.d.ts +2 -0
  18. package/dist/defaults/index.js +6 -0
  19. package/dist/defaults/index.js.map +1 -0
  20. package/dist/index.d.ts +16 -0
  21. package/dist/index.js +18 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/jobs/index.d.ts +4 -0
  24. package/dist/jobs/index.js +56 -0
  25. package/dist/jobs/index.js.map +1 -0
  26. package/dist/jobs/types.d.ts +13 -0
  27. package/dist/jobs/types.js +2 -0
  28. package/dist/jobs/types.js.map +1 -0
  29. package/dist/markets/index.d.ts +4 -0
  30. package/dist/markets/index.js +38 -0
  31. package/dist/markets/index.js.map +1 -0
  32. package/dist/markets/types.d.ts +8 -0
  33. package/dist/markets/types.js +2 -0
  34. package/dist/markets/types.js.map +1 -0
  35. package/dist/types.d.ts +15 -0
  36. package/dist/types.js +6 -0
  37. package/dist/types.js.map +1 -0
  38. package/dist/utils/errorFormatter.d.ts +13 -0
  39. package/dist/utils/errorFormatter.js +23 -0
  40. package/dist/utils/errorFormatter.js.map +1 -0
  41. package/package.json +44 -0
@@ -0,0 +1,3551 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/api/jobs/list": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get?: never;
14
+ put?: never;
15
+ /**
16
+ * Create a job using credits
17
+ * @description Create a job using credits. Supports both JWT tokens (Bearer <jwt>) and API keys (Bearer nos_...)
18
+ */
19
+ post: operations["postApiJobsList"];
20
+ delete?: never;
21
+ options?: never;
22
+ head?: never;
23
+ patch?: never;
24
+ trace?: never;
25
+ };
26
+ "/api/jobs/{address}/extend": {
27
+ parameters: {
28
+ query?: never;
29
+ header?: never;
30
+ path?: never;
31
+ cookie?: never;
32
+ };
33
+ get?: never;
34
+ put?: never;
35
+ /**
36
+ * Extend a job using credits
37
+ * @description Extend a job using credits. Supports both JWT tokens (Bearer <jwt>) and API keys (Bearer nos_...)
38
+ */
39
+ post: operations["postApiJobsByAddressExtend"];
40
+ delete?: never;
41
+ options?: never;
42
+ head?: never;
43
+ patch?: never;
44
+ trace?: never;
45
+ };
46
+ "/api/jobs/{address}/stop": {
47
+ parameters: {
48
+ query?: never;
49
+ header?: never;
50
+ path?: never;
51
+ cookie?: never;
52
+ };
53
+ get?: never;
54
+ put?: never;
55
+ /**
56
+ * Stop a job paid with credits
57
+ * @description Stop a job paid with credits. Supports both JWT tokens (Bearer <jwt>) and API keys (Bearer nos_...)
58
+ */
59
+ post: operations["postApiJobsByAddressStop"];
60
+ delete?: never;
61
+ options?: never;
62
+ head?: never;
63
+ patch?: never;
64
+ trace?: never;
65
+ };
66
+ "/api/jobs/{address}": {
67
+ parameters: {
68
+ query?: never;
69
+ header?: never;
70
+ path?: never;
71
+ cookie?: never;
72
+ };
73
+ get: operations["getApiJobsByAddress"];
74
+ put?: never;
75
+ post?: never;
76
+ delete?: never;
77
+ options?: never;
78
+ head?: never;
79
+ patch?: never;
80
+ trace?: never;
81
+ };
82
+ "/api/markets/": {
83
+ parameters: {
84
+ query?: never;
85
+ header?: never;
86
+ path?: never;
87
+ cookie?: never;
88
+ };
89
+ get: operations["getApiMarkets"];
90
+ put?: never;
91
+ post?: never;
92
+ delete?: never;
93
+ options?: never;
94
+ head?: never;
95
+ patch?: never;
96
+ trace?: never;
97
+ };
98
+ "/api/markets/{id}/": {
99
+ parameters: {
100
+ query?: never;
101
+ header?: never;
102
+ path?: never;
103
+ cookie?: never;
104
+ };
105
+ get: operations["getApiMarketsById"];
106
+ put?: never;
107
+ post?: never;
108
+ delete?: never;
109
+ options?: never;
110
+ head?: never;
111
+ patch?: never;
112
+ trace?: never;
113
+ };
114
+ "/api/markets/{id}/required-resources": {
115
+ parameters: {
116
+ query?: never;
117
+ header?: never;
118
+ path?: never;
119
+ cookie?: never;
120
+ };
121
+ get: operations["getApiMarketsByIdRequired-resources"];
122
+ put?: never;
123
+ post?: never;
124
+ delete?: never;
125
+ options?: never;
126
+ head?: never;
127
+ patch?: never;
128
+ trace?: never;
129
+ };
130
+ "/api/auth/sign-message/external": {
131
+ parameters: {
132
+ query?: never;
133
+ header?: never;
134
+ path?: never;
135
+ cookie?: never;
136
+ };
137
+ get?: never;
138
+ put?: never;
139
+ /**
140
+ * Get the signed message for external service authentication
141
+ * @description Authentication required via Authorization header. Supports either JWT (Bearer <jwt>) or API key (Bearer <key>).
142
+ */
143
+ post: operations["postApiAuthSign-messageExternal"];
144
+ delete?: never;
145
+ options?: never;
146
+ head?: never;
147
+ patch?: never;
148
+ trace?: never;
149
+ };
150
+ "/api/credits/balance": {
151
+ parameters: {
152
+ query?: never;
153
+ header?: never;
154
+ path?: never;
155
+ cookie?: never;
156
+ };
157
+ /**
158
+ * Get the current user's credit balance
159
+ * @description Authentication required via Authorization header. Supports either JWT (Bearer <jwt>) or API key (Bearer <key>). Available balance is assignedCredits - reservedCredits - settledCredits.
160
+ */
161
+ get: operations["getApiCreditsBalance"];
162
+ put?: never;
163
+ post?: never;
164
+ delete?: never;
165
+ options?: never;
166
+ head?: never;
167
+ patch?: never;
168
+ trace?: never;
169
+ };
170
+ "/api/deployments": {
171
+ parameters: {
172
+ query?: never;
173
+ header?: never;
174
+ path?: never;
175
+ cookie?: never;
176
+ };
177
+ /** @description List all user deployments. */
178
+ get: {
179
+ parameters: {
180
+ query?: never;
181
+ header: {
182
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
183
+ "x-user-id"?: string;
184
+ /**
185
+ * @description Authentication token, either an API key or a wallet-signed message.
186
+ * @example Bearer <ApiKey> or WalletSignedMessage
187
+ */
188
+ authorization: string;
189
+ };
190
+ path?: never;
191
+ cookie?: never;
192
+ };
193
+ requestBody?: never;
194
+ responses: {
195
+ /** @description List of deployments. */
196
+ 200: {
197
+ headers: {
198
+ [name: string]: unknown;
199
+ };
200
+ content: {
201
+ "application/json": components["schemas"]["Deployments"];
202
+ };
203
+ };
204
+ /** @description Unauthorized. Invalid or missing authentication. */
205
+ 401: {
206
+ headers: {
207
+ [name: string]: unknown;
208
+ };
209
+ content: {
210
+ "application/json": "Unauthorized";
211
+ };
212
+ };
213
+ /** @description Internal Server Error. */
214
+ 500: {
215
+ headers: {
216
+ [name: string]: unknown;
217
+ };
218
+ content: {
219
+ "application/json": components["schemas"]["Error"];
220
+ };
221
+ };
222
+ };
223
+ };
224
+ put?: never;
225
+ post?: never;
226
+ delete?: never;
227
+ options?: never;
228
+ head?: never;
229
+ patch?: never;
230
+ trace?: never;
231
+ };
232
+ "/api/deployments/{deployment}": {
233
+ parameters: {
234
+ query?: never;
235
+ header?: never;
236
+ path?: never;
237
+ cookie?: never;
238
+ };
239
+ /** @description Get a specific deployment by ID. */
240
+ get: {
241
+ parameters: {
242
+ query?: never;
243
+ header: {
244
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
245
+ "x-user-id"?: string;
246
+ /**
247
+ * @description Authentication token, either an API key or a wallet-signed message.
248
+ * @example Bearer <ApiKey> or WalletSignedMessage
249
+ */
250
+ authorization: string;
251
+ };
252
+ path: {
253
+ deployment: components["schemas"]["PublicKey"];
254
+ };
255
+ cookie?: never;
256
+ };
257
+ requestBody?: never;
258
+ responses: {
259
+ /** @description Gets a deployment by ID. */
260
+ 200: {
261
+ headers: {
262
+ [name: string]: unknown;
263
+ };
264
+ content: {
265
+ "application/json": components["schemas"]["Deployment"];
266
+ };
267
+ };
268
+ /** @description Unauthorized. Invalid or missing authentication. */
269
+ 401: {
270
+ headers: {
271
+ [name: string]: unknown;
272
+ };
273
+ content: {
274
+ "application/json": "Unauthorized";
275
+ };
276
+ };
277
+ /** @description Deployment not found. */
278
+ 404: {
279
+ headers: {
280
+ [name: string]: unknown;
281
+ };
282
+ content: {
283
+ "application/json": components["schemas"]["Error"];
284
+ };
285
+ };
286
+ /** @description Internal Server Error. */
287
+ 500: {
288
+ headers: {
289
+ [name: string]: unknown;
290
+ };
291
+ content: {
292
+ "application/json": components["schemas"]["Error"];
293
+ };
294
+ };
295
+ };
296
+ };
297
+ put?: never;
298
+ post?: never;
299
+ delete?: never;
300
+ options?: never;
301
+ head?: never;
302
+ patch?: never;
303
+ trace?: never;
304
+ };
305
+ "/api/deployments/{deployment}/tasks": {
306
+ parameters: {
307
+ query?: never;
308
+ header?: never;
309
+ path?: never;
310
+ cookie?: never;
311
+ };
312
+ /** @description Get scheduled tasks for a specific deployment. */
313
+ get: {
314
+ parameters: {
315
+ query?: never;
316
+ header: {
317
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
318
+ "x-user-id"?: string;
319
+ /**
320
+ * @description Authentication token, either an API key or a wallet-signed message.
321
+ * @example Bearer <ApiKey> or WalletSignedMessage
322
+ */
323
+ authorization: string;
324
+ };
325
+ path: {
326
+ deployment: components["schemas"]["PublicKey"];
327
+ };
328
+ cookie?: never;
329
+ };
330
+ requestBody?: never;
331
+ responses: {
332
+ /** @description List of scheduled tasks for the deployment. */
333
+ 200: {
334
+ headers: {
335
+ [name: string]: unknown;
336
+ };
337
+ content: {
338
+ "application/json": components["schemas"]["Task"][];
339
+ };
340
+ };
341
+ /** @description Unauthorized. Invalid or missing authentication. */
342
+ 401: {
343
+ headers: {
344
+ [name: string]: unknown;
345
+ };
346
+ content: {
347
+ "application/json": "Unauthorized";
348
+ };
349
+ };
350
+ /** @description Deployment not found. */
351
+ 404: {
352
+ headers: {
353
+ [name: string]: unknown;
354
+ };
355
+ content: {
356
+ "application/json": components["schemas"]["Error"];
357
+ };
358
+ };
359
+ /** @description Internal Server Error. */
360
+ 500: {
361
+ headers: {
362
+ [name: string]: unknown;
363
+ };
364
+ content: {
365
+ "application/json": components["schemas"]["Error"];
366
+ };
367
+ };
368
+ };
369
+ };
370
+ put?: never;
371
+ post?: never;
372
+ delete?: never;
373
+ options?: never;
374
+ head?: never;
375
+ patch?: never;
376
+ trace?: never;
377
+ };
378
+ "/api/deployments/{deployment}/header": {
379
+ parameters: {
380
+ query?: never;
381
+ header?: never;
382
+ path?: never;
383
+ cookie?: never;
384
+ };
385
+ /** @description Get header for a specific deployment. */
386
+ get: {
387
+ parameters: {
388
+ query?: never;
389
+ header: {
390
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
391
+ "x-user-id"?: string;
392
+ /**
393
+ * @description Authentication token, either an API key or a wallet-signed message.
394
+ * @example Bearer <ApiKey> or WalletSignedMessage
395
+ */
396
+ authorization: string;
397
+ };
398
+ path: {
399
+ deployment: components["schemas"]["PublicKey"];
400
+ };
401
+ cookie?: never;
402
+ };
403
+ requestBody?: never;
404
+ responses: {
405
+ /** @description Returns authorization header to interact with the vaults jobs. */
406
+ 200: {
407
+ headers: {
408
+ [name: string]: unknown;
409
+ };
410
+ content: {
411
+ "application/json": {
412
+ header: string;
413
+ };
414
+ };
415
+ };
416
+ /** @description Unauthorized. Invalid or missing authentication. */
417
+ 401: {
418
+ headers: {
419
+ [name: string]: unknown;
420
+ };
421
+ content: {
422
+ "application/json": "Unauthorized";
423
+ };
424
+ };
425
+ /** @description Deployment not found. */
426
+ 404: {
427
+ headers: {
428
+ [name: string]: unknown;
429
+ };
430
+ content: {
431
+ "application/json": components["schemas"]["Error"];
432
+ };
433
+ };
434
+ /** @description Internal Server Error. */
435
+ 500: {
436
+ headers: {
437
+ [name: string]: unknown;
438
+ };
439
+ content: {
440
+ "application/json": components["schemas"]["Error"];
441
+ };
442
+ };
443
+ };
444
+ };
445
+ put?: never;
446
+ post?: never;
447
+ delete?: never;
448
+ options?: never;
449
+ head?: never;
450
+ patch?: never;
451
+ trace?: never;
452
+ };
453
+ "/api/deployments/{deployment}/jobs/{job}": {
454
+ parameters: {
455
+ query?: never;
456
+ header?: never;
457
+ path?: never;
458
+ cookie?: never;
459
+ };
460
+ /** @description Get a specific deployment job by ID. */
461
+ get: {
462
+ parameters: {
463
+ query?: never;
464
+ header: {
465
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
466
+ "x-user-id"?: string;
467
+ /**
468
+ * @description Authentication token, either an API key or a wallet-signed message.
469
+ * @example Bearer <ApiKey> or WalletSignedMessage
470
+ */
471
+ authorization: string;
472
+ };
473
+ path: {
474
+ deployment: components["schemas"]["PublicKey"];
475
+ job: components["schemas"]["PublicKey"];
476
+ };
477
+ cookie?: never;
478
+ };
479
+ requestBody?: never;
480
+ responses: {
481
+ /** @description Gets a deployment job by ID. */
482
+ 200: {
483
+ headers: {
484
+ [name: string]: unknown;
485
+ };
486
+ content: {
487
+ "application/json": {
488
+ confidential: boolean;
489
+ revision: number;
490
+ market: string;
491
+ node: string;
492
+ state: string | number;
493
+ jobStatus: string | null;
494
+ jobDefinition: components["schemas"]["JobDefinition"];
495
+ jobResult: components["schemas"]["JobResults"] | null;
496
+ timeStart: number;
497
+ timeEnd: number;
498
+ listedAt: number;
499
+ };
500
+ };
501
+ };
502
+ /** @description Unauthorized. Invalid or missing authentication. */
503
+ 401: {
504
+ headers: {
505
+ [name: string]: unknown;
506
+ };
507
+ content: {
508
+ "application/json": "Unauthorized";
509
+ };
510
+ };
511
+ /** @description Deployment not found. */
512
+ 404: {
513
+ headers: {
514
+ [name: string]: unknown;
515
+ };
516
+ content: {
517
+ "application/json": components["schemas"]["Error"];
518
+ };
519
+ };
520
+ /** @description Internal Server Error. */
521
+ 500: {
522
+ headers: {
523
+ [name: string]: unknown;
524
+ };
525
+ content: {
526
+ "application/json": components["schemas"]["Error"];
527
+ };
528
+ };
529
+ };
530
+ };
531
+ put?: never;
532
+ post?: never;
533
+ delete?: never;
534
+ options?: never;
535
+ head?: never;
536
+ patch?: never;
537
+ trace?: never;
538
+ };
539
+ "/api/deployments/create": {
540
+ parameters: {
541
+ query?: never;
542
+ header?: never;
543
+ path?: never;
544
+ cookie?: never;
545
+ };
546
+ get?: never;
547
+ put?: never;
548
+ /** @description Create a new deployment. */
549
+ post: {
550
+ parameters: {
551
+ query?: never;
552
+ header: {
553
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
554
+ "x-user-id"?: string;
555
+ /**
556
+ * @description Authentication token, either an API key or a wallet-signed message.
557
+ * @example Bearer <ApiKey> or WalletSignedMessage
558
+ */
559
+ authorization: string;
560
+ };
561
+ path?: never;
562
+ cookie?: never;
563
+ };
564
+ requestBody?: {
565
+ content: {
566
+ "application/json": components["schemas"]["DeploymentCreateBody"];
567
+ };
568
+ };
569
+ responses: {
570
+ /** @description Deployment created successfully. */
571
+ 200: {
572
+ headers: {
573
+ [name: string]: unknown;
574
+ };
575
+ content: {
576
+ "application/json": components["schemas"]["Deployment"];
577
+ };
578
+ };
579
+ /** @description Invalid request body. */
580
+ 400: {
581
+ headers: {
582
+ [name: string]: unknown;
583
+ };
584
+ content: {
585
+ "application/json": components["schemas"]["Error"];
586
+ };
587
+ };
588
+ /** @description Unauthorized. Invalid or missing authentication. */
589
+ 401: {
590
+ headers: {
591
+ [name: string]: unknown;
592
+ };
593
+ content: {
594
+ "application/json": "Unauthorized";
595
+ };
596
+ };
597
+ /** @description Internal Server Error. */
598
+ 500: {
599
+ headers: {
600
+ [name: string]: unknown;
601
+ };
602
+ content: {
603
+ "application/json": components["schemas"]["Error"];
604
+ };
605
+ };
606
+ };
607
+ };
608
+ delete?: never;
609
+ options?: never;
610
+ head?: never;
611
+ patch?: never;
612
+ trace?: never;
613
+ };
614
+ "/api/deployments/{deployment}/create-revision": {
615
+ parameters: {
616
+ query?: never;
617
+ header?: never;
618
+ path?: never;
619
+ cookie?: never;
620
+ };
621
+ get?: never;
622
+ put?: never;
623
+ /** @description Create a new deployment revision. */
624
+ post: {
625
+ parameters: {
626
+ query?: never;
627
+ header: {
628
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
629
+ "x-user-id"?: string;
630
+ /**
631
+ * @description Authentication token, either an API key or a wallet-signed message.
632
+ * @example Bearer <ApiKey> or WalletSignedMessage
633
+ */
634
+ authorization: string;
635
+ };
636
+ path: {
637
+ deployment: components["schemas"]["PublicKey"];
638
+ };
639
+ cookie?: never;
640
+ };
641
+ requestBody?: {
642
+ content: {
643
+ "application/json": components["schemas"]["JobDefinition"];
644
+ };
645
+ };
646
+ responses: {
647
+ /** @description Deployment CreateRevisioned successfully. */
648
+ 200: {
649
+ headers: {
650
+ [name: string]: unknown;
651
+ };
652
+ content: {
653
+ "application/json": {
654
+ active_revision: number;
655
+ endpoints: {
656
+ opId: string;
657
+ port: number | string;
658
+ url: string;
659
+ }[];
660
+ revisions: {
661
+ revision: number;
662
+ deployment: string;
663
+ ipfs_definition_hash: string;
664
+ job_definition: {
665
+ version: string;
666
+ /** @enum {string} */
667
+ type: "container";
668
+ logistics?: {
669
+ send?: {
670
+ /**
671
+ * @description api-listen - we have an api listenening for the job poster to send the job description
672
+ * api - we recieve an api endpoint to query and it will return the job description
673
+ * @enum {string}
674
+ */
675
+ type: "api" | "api-listen";
676
+ args: {
677
+ endpoint?: string;
678
+ };
679
+ };
680
+ receive?: {
681
+ /**
682
+ * @description api-listen - we have an api that listen for request from the job poster, so we can return the result to them
683
+ * api - we get an api to post the result to
684
+ * @enum {string}
685
+ */
686
+ type: "api" | "api-listen";
687
+ args: {
688
+ endpoint?: string;
689
+ };
690
+ };
691
+ };
692
+ deployment_id?: string;
693
+ meta?: {
694
+ trigger?: string;
695
+ system_resources?: {
696
+ [key: string]: string | number;
697
+ };
698
+ } & {
699
+ [key: string]: unknown;
700
+ };
701
+ global?: {
702
+ image?: string;
703
+ gpu?: boolean;
704
+ entrypoint?: string | string[];
705
+ env?: {
706
+ [key: string]: string;
707
+ };
708
+ work_dir?: string;
709
+ variables?: {
710
+ [key: string]: string;
711
+ };
712
+ };
713
+ /**
714
+ * @description **********************
715
+ * Job Definition Types *
716
+ * **********************
717
+ */
718
+ ops: {
719
+ /** @enum {string} */
720
+ type: "container/run" | "container/create-volume";
721
+ id: string;
722
+ args: {
723
+ image: string;
724
+ aliases?: string | string[];
725
+ cmd?: string | string[];
726
+ volumes?: {
727
+ name: string;
728
+ dest: string;
729
+ }[];
730
+ expose?: number | string | {
731
+ __spread__: string;
732
+ } | (number | string | {
733
+ port: number | string;
734
+ /** @enum {string} */
735
+ type?: "web" | "api" | "websocket" | "webapi" | "none";
736
+ health_checks?: ({
737
+ /** @enum {string} */
738
+ type: "http";
739
+ path: string;
740
+ /** @enum {string} */
741
+ method: "GET" | "POST" | "PUT" | "DELETE";
742
+ expected_status: number;
743
+ /** @description Construct a type with a set of properties K of type T */
744
+ headers?: {
745
+ [key: string]: string;
746
+ };
747
+ body?: unknown;
748
+ continuous: boolean;
749
+ } | {
750
+ /** @enum {string} */
751
+ type: "websocket";
752
+ expected_response: string;
753
+ continuous: boolean;
754
+ })[];
755
+ } | {
756
+ __spread__: string;
757
+ })[];
758
+ private?: boolean;
759
+ gpu?: boolean;
760
+ work_dir?: string;
761
+ output?: string;
762
+ entrypoint?: string | string[];
763
+ env?: {
764
+ [key: string]: string;
765
+ };
766
+ required_vram?: number;
767
+ resources?: (({
768
+ /** @enum {string} */
769
+ type: "S3";
770
+ target: string;
771
+ url?: string;
772
+ allowWrite?: boolean;
773
+ files?: string[];
774
+ IAM?: {
775
+ REGION: string;
776
+ ACCESS_KEY_ID: string;
777
+ SECRET_ACCESS_KEY: string;
778
+ };
779
+ } & Record<string, never>) | ({
780
+ /** @enum {string} */
781
+ type: "S3";
782
+ target: string;
783
+ bucket: string;
784
+ url?: string;
785
+ allowWrite?: boolean;
786
+ IAM?: {
787
+ REGION: string;
788
+ ACCESS_KEY_ID: string;
789
+ SECRET_ACCESS_KEY: string;
790
+ };
791
+ } & Record<string, never>) | ({
792
+ /** @enum {string} */
793
+ type: "S3";
794
+ target: string;
795
+ buckets: {
796
+ url: string;
797
+ files?: string[];
798
+ }[];
799
+ url?: string;
800
+ allowWrite?: boolean;
801
+ IAM?: {
802
+ REGION: string;
803
+ ACCESS_KEY_ID: string;
804
+ SECRET_ACCESS_KEY: string;
805
+ };
806
+ } & Record<string, never>) | {
807
+ /** @enum {string} */
808
+ type: "HF";
809
+ target: string;
810
+ repo: string;
811
+ revision?: string;
812
+ files?: string[];
813
+ accessToken?: string;
814
+ } | {
815
+ /** @enum {string} */
816
+ type: "Ollama";
817
+ model: string;
818
+ target?: string;
819
+ } | {
820
+ __spread__: string;
821
+ } | "__remove-if-empty__")[];
822
+ authentication?: {
823
+ docker?: {
824
+ username?: string;
825
+ password?: string;
826
+ email?: string;
827
+ server?: string;
828
+ };
829
+ };
830
+ } | {
831
+ name: string;
832
+ };
833
+ results?: {
834
+ [key: string]: string | {
835
+ regex: string;
836
+ logType: ("stdin" | "stdout" | "stderr" | "nodeerr")[];
837
+ };
838
+ };
839
+ execution?: {
840
+ group?: string;
841
+ depends_on: string[];
842
+ stop_if_dependent_stops?: boolean;
843
+ } | {
844
+ group?: string;
845
+ };
846
+ }[];
847
+ };
848
+ /** Format: date-time */
849
+ created_at: string;
850
+ }[];
851
+ /** Format: date-time */
852
+ updated_at: string;
853
+ };
854
+ };
855
+ };
856
+ /** @description Unauthorized. Invalid or missing authentication. */
857
+ 401: {
858
+ headers: {
859
+ [name: string]: unknown;
860
+ };
861
+ content: {
862
+ "application/json": "Unauthorized";
863
+ };
864
+ };
865
+ /** @description Deployment not found. */
866
+ 404: {
867
+ headers: {
868
+ [name: string]: unknown;
869
+ };
870
+ content: {
871
+ "application/json": components["schemas"]["Error"];
872
+ };
873
+ };
874
+ /** @description Internal Server Error. */
875
+ 500: {
876
+ headers: {
877
+ [name: string]: unknown;
878
+ };
879
+ content: {
880
+ "application/json": components["schemas"]["Error"];
881
+ };
882
+ };
883
+ };
884
+ };
885
+ delete?: never;
886
+ options?: never;
887
+ head?: never;
888
+ patch?: never;
889
+ trace?: never;
890
+ };
891
+ "/api/deployments/{deployment}/start": {
892
+ parameters: {
893
+ query?: never;
894
+ header?: never;
895
+ path?: never;
896
+ cookie?: never;
897
+ };
898
+ get?: never;
899
+ put?: never;
900
+ /** @description Start an existing deployment. */
901
+ post: {
902
+ parameters: {
903
+ query?: never;
904
+ header: {
905
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
906
+ "x-user-id"?: string;
907
+ /**
908
+ * @description Authentication token, either an API key or a wallet-signed message.
909
+ * @example Bearer <ApiKey> or WalletSignedMessage
910
+ */
911
+ authorization: string;
912
+ };
913
+ path: {
914
+ deployment: components["schemas"]["PublicKey"];
915
+ };
916
+ cookie?: never;
917
+ };
918
+ requestBody?: never;
919
+ responses: {
920
+ /** @description Deployment started successfully. */
921
+ 200: {
922
+ headers: {
923
+ [name: string]: unknown;
924
+ };
925
+ content: {
926
+ "application/json": {
927
+ /** @enum {string} */
928
+ status: "STARTING";
929
+ /** Format: date-time */
930
+ updated_at: string;
931
+ };
932
+ };
933
+ };
934
+ /** @description Unauthorized. Invalid or missing authentication. */
935
+ 401: {
936
+ headers: {
937
+ [name: string]: unknown;
938
+ };
939
+ content: {
940
+ "application/json": "Unauthorized";
941
+ };
942
+ };
943
+ /** @description Deployment not found. */
944
+ 404: {
945
+ headers: {
946
+ [name: string]: unknown;
947
+ };
948
+ content: {
949
+ "application/json": components["schemas"]["Error"];
950
+ };
951
+ };
952
+ /** @description Internal Server Error. */
953
+ 500: {
954
+ headers: {
955
+ [name: string]: unknown;
956
+ };
957
+ content: {
958
+ "application/json": components["schemas"]["Error"];
959
+ };
960
+ };
961
+ };
962
+ };
963
+ delete?: never;
964
+ options?: never;
965
+ head?: never;
966
+ patch?: never;
967
+ trace?: never;
968
+ };
969
+ "/api/deployments/{deployment}/stop": {
970
+ parameters: {
971
+ query?: never;
972
+ header?: never;
973
+ path?: never;
974
+ cookie?: never;
975
+ };
976
+ get?: never;
977
+ put?: never;
978
+ /** @description Stop a deployment */
979
+ post: {
980
+ parameters: {
981
+ query?: never;
982
+ header: {
983
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
984
+ "x-user-id"?: string;
985
+ /**
986
+ * @description Authentication token, either an API key or a wallet-signed message.
987
+ * @example Bearer <ApiKey> or WalletSignedMessage
988
+ */
989
+ authorization: string;
990
+ };
991
+ path: {
992
+ deployment: components["schemas"]["PublicKey"];
993
+ };
994
+ cookie?: never;
995
+ };
996
+ requestBody?: never;
997
+ responses: {
998
+ /** @description Deployment stopped successfully. */
999
+ 200: {
1000
+ headers: {
1001
+ [name: string]: unknown;
1002
+ };
1003
+ content: {
1004
+ "application/json": {
1005
+ /** @enum {string} */
1006
+ status: "STOPPING";
1007
+ /** Format: date-time */
1008
+ updated_at: string;
1009
+ };
1010
+ };
1011
+ };
1012
+ /** @description Unauthorized. Invalid or missing authentication. */
1013
+ 401: {
1014
+ headers: {
1015
+ [name: string]: unknown;
1016
+ };
1017
+ content: {
1018
+ "application/json": "Unauthorized";
1019
+ };
1020
+ };
1021
+ /** @description Deployment not found. */
1022
+ 404: {
1023
+ headers: {
1024
+ [name: string]: unknown;
1025
+ };
1026
+ content: {
1027
+ "application/json": components["schemas"]["Error"];
1028
+ };
1029
+ };
1030
+ /** @description Internal Server Error. */
1031
+ 500: {
1032
+ headers: {
1033
+ [name: string]: unknown;
1034
+ };
1035
+ content: {
1036
+ "application/json": components["schemas"]["Error"];
1037
+ };
1038
+ };
1039
+ };
1040
+ };
1041
+ delete?: never;
1042
+ options?: never;
1043
+ head?: never;
1044
+ patch?: never;
1045
+ trace?: never;
1046
+ };
1047
+ "/api/deployments/{deployment}/archive": {
1048
+ parameters: {
1049
+ query?: never;
1050
+ header?: never;
1051
+ path?: never;
1052
+ cookie?: never;
1053
+ };
1054
+ get?: never;
1055
+ put?: never;
1056
+ /** @description Archive a deployment */
1057
+ post: {
1058
+ parameters: {
1059
+ query?: never;
1060
+ header: {
1061
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1062
+ "x-user-id"?: string;
1063
+ /**
1064
+ * @description Authentication token, either an API key or a wallet-signed message.
1065
+ * @example Bearer <ApiKey> or WalletSignedMessage
1066
+ */
1067
+ authorization: string;
1068
+ };
1069
+ path: {
1070
+ deployment: components["schemas"]["PublicKey"];
1071
+ };
1072
+ cookie?: never;
1073
+ };
1074
+ requestBody?: never;
1075
+ responses: {
1076
+ /** @description Deployment archived successfully. */
1077
+ 200: {
1078
+ headers: {
1079
+ [name: string]: unknown;
1080
+ };
1081
+ content: {
1082
+ "application/json": {
1083
+ /** @enum {string} */
1084
+ status: "ARCHIVED";
1085
+ /** Format: date-time */
1086
+ updated_at: string;
1087
+ };
1088
+ };
1089
+ };
1090
+ /** @description Unauthorized. Invalid or missing authentication. */
1091
+ 401: {
1092
+ headers: {
1093
+ [name: string]: unknown;
1094
+ };
1095
+ content: {
1096
+ "application/json": "Unauthorized";
1097
+ };
1098
+ };
1099
+ /** @description Deployment not found. */
1100
+ 404: {
1101
+ headers: {
1102
+ [name: string]: unknown;
1103
+ };
1104
+ content: {
1105
+ "application/json": components["schemas"]["Error"];
1106
+ };
1107
+ };
1108
+ /** @description Internal Server Error. */
1109
+ 500: {
1110
+ headers: {
1111
+ [name: string]: unknown;
1112
+ };
1113
+ content: {
1114
+ "application/json": components["schemas"]["Error"];
1115
+ };
1116
+ };
1117
+ };
1118
+ };
1119
+ delete?: never;
1120
+ options?: never;
1121
+ head?: never;
1122
+ patch?: never;
1123
+ trace?: never;
1124
+ };
1125
+ "/api/deployments/{deployment}/update-active-revision": {
1126
+ parameters: {
1127
+ query?: never;
1128
+ header?: never;
1129
+ path?: never;
1130
+ cookie?: never;
1131
+ };
1132
+ get?: never;
1133
+ put?: never;
1134
+ post?: never;
1135
+ delete?: never;
1136
+ options?: never;
1137
+ head?: never;
1138
+ /** @description Update deployment active revision. */
1139
+ patch: {
1140
+ parameters: {
1141
+ query?: never;
1142
+ header: {
1143
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1144
+ "x-user-id"?: string;
1145
+ /**
1146
+ * @description Authentication token, either an API key or a wallet-signed message.
1147
+ * @example Bearer <ApiKey> or WalletSignedMessage
1148
+ */
1149
+ authorization: string;
1150
+ };
1151
+ path: {
1152
+ deployment: components["schemas"]["PublicKey"];
1153
+ };
1154
+ cookie?: never;
1155
+ };
1156
+ requestBody: {
1157
+ content: {
1158
+ "application/json": {
1159
+ active_revision: number;
1160
+ };
1161
+ };
1162
+ };
1163
+ responses: {
1164
+ /** @description Deployment active revision updated successfully. */
1165
+ 200: {
1166
+ headers: {
1167
+ [name: string]: unknown;
1168
+ };
1169
+ content: {
1170
+ "application/json": {
1171
+ active_revision: number;
1172
+ endpoints: components["schemas"]["Endpoint"][];
1173
+ updated_at: string;
1174
+ };
1175
+ };
1176
+ };
1177
+ /** @description Bad Request. Invalid input data. */
1178
+ 400: {
1179
+ headers: {
1180
+ [name: string]: unknown;
1181
+ };
1182
+ content: {
1183
+ "application/json": components["schemas"]["Error"];
1184
+ };
1185
+ };
1186
+ /** @description Deployment not found. */
1187
+ 404: {
1188
+ headers: {
1189
+ [name: string]: unknown;
1190
+ };
1191
+ content: {
1192
+ "application/json": components["schemas"]["Error"];
1193
+ };
1194
+ };
1195
+ /** @description Internal Server Error. */
1196
+ 500: {
1197
+ headers: {
1198
+ [name: string]: unknown;
1199
+ };
1200
+ content: {
1201
+ "application/json": components["schemas"]["Error"];
1202
+ };
1203
+ };
1204
+ };
1205
+ };
1206
+ trace?: never;
1207
+ };
1208
+ "/api/deployments/{deployment}/update-replica-count": {
1209
+ parameters: {
1210
+ query?: never;
1211
+ header?: never;
1212
+ path?: never;
1213
+ cookie?: never;
1214
+ };
1215
+ get?: never;
1216
+ put?: never;
1217
+ post?: never;
1218
+ delete?: never;
1219
+ options?: never;
1220
+ head?: never;
1221
+ /** @description Update the replica count of a deployment */
1222
+ patch: {
1223
+ parameters: {
1224
+ query?: never;
1225
+ header: {
1226
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1227
+ "x-user-id"?: string;
1228
+ /**
1229
+ * @description Authentication token, either an API key or a wallet-signed message.
1230
+ * @example Bearer <ApiKey> or WalletSignedMessage
1231
+ */
1232
+ authorization: string;
1233
+ };
1234
+ path: {
1235
+ deployment: components["schemas"]["PublicKey"];
1236
+ };
1237
+ cookie?: never;
1238
+ };
1239
+ requestBody: {
1240
+ content: {
1241
+ "application/json": {
1242
+ replicas: number;
1243
+ };
1244
+ };
1245
+ };
1246
+ responses: {
1247
+ /** @description Deployment replica count updated successfully. */
1248
+ 200: {
1249
+ headers: {
1250
+ [name: string]: unknown;
1251
+ };
1252
+ content: {
1253
+ "application/json": {
1254
+ replicas: number;
1255
+ /** Format: date-time */
1256
+ updated_at: string;
1257
+ };
1258
+ };
1259
+ };
1260
+ /** @description Unauthorized. Invalid or missing authentication. */
1261
+ 401: {
1262
+ headers: {
1263
+ [name: string]: unknown;
1264
+ };
1265
+ content: {
1266
+ "application/json": "Unauthorized";
1267
+ };
1268
+ };
1269
+ /** @description Deployment not found. */
1270
+ 404: {
1271
+ headers: {
1272
+ [name: string]: unknown;
1273
+ };
1274
+ content: {
1275
+ "application/json": components["schemas"]["Error"];
1276
+ };
1277
+ };
1278
+ /** @description Internal Server Error. */
1279
+ 500: {
1280
+ headers: {
1281
+ [name: string]: unknown;
1282
+ };
1283
+ content: {
1284
+ "application/json": components["schemas"]["Error"];
1285
+ };
1286
+ };
1287
+ };
1288
+ };
1289
+ trace?: never;
1290
+ };
1291
+ "/api/deployments/{deployment}/update-schedule": {
1292
+ parameters: {
1293
+ query?: never;
1294
+ header?: never;
1295
+ path?: never;
1296
+ cookie?: never;
1297
+ };
1298
+ get?: never;
1299
+ put?: never;
1300
+ post?: never;
1301
+ delete?: never;
1302
+ options?: never;
1303
+ head?: never;
1304
+ /** @description Update deployment schedule. */
1305
+ patch: {
1306
+ parameters: {
1307
+ query?: never;
1308
+ header: {
1309
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1310
+ "x-user-id"?: string;
1311
+ /**
1312
+ * @description Authentication token, either an API key or a wallet-signed message.
1313
+ * @example Bearer <ApiKey> or WalletSignedMessage
1314
+ */
1315
+ authorization: string;
1316
+ };
1317
+ path: {
1318
+ deployment: components["schemas"]["PublicKey"];
1319
+ };
1320
+ cookie?: never;
1321
+ };
1322
+ requestBody: {
1323
+ content: {
1324
+ "application/json": {
1325
+ /** @description Cron expression for scheduled deployments */
1326
+ schedule: string;
1327
+ };
1328
+ };
1329
+ };
1330
+ responses: {
1331
+ /** @description Deployment schedule updated successfully. */
1332
+ 200: {
1333
+ headers: {
1334
+ [name: string]: unknown;
1335
+ };
1336
+ content: {
1337
+ "application/json": {
1338
+ /** @description Cron expression for scheduled deployments */
1339
+ schedule: string;
1340
+ updated_at: string;
1341
+ };
1342
+ };
1343
+ };
1344
+ /** @description Bad Request. Invalid input data. */
1345
+ 400: {
1346
+ headers: {
1347
+ [name: string]: unknown;
1348
+ };
1349
+ content: {
1350
+ "application/json": components["schemas"]["Error"];
1351
+ };
1352
+ };
1353
+ /** @description Deployment not found. */
1354
+ 404: {
1355
+ headers: {
1356
+ [name: string]: unknown;
1357
+ };
1358
+ content: {
1359
+ "application/json": components["schemas"]["Error"];
1360
+ };
1361
+ };
1362
+ /** @description Internal Server Error. */
1363
+ 500: {
1364
+ headers: {
1365
+ [name: string]: unknown;
1366
+ };
1367
+ content: {
1368
+ "application/json": components["schemas"]["Error"];
1369
+ };
1370
+ };
1371
+ };
1372
+ };
1373
+ trace?: never;
1374
+ };
1375
+ "/api/deployments/{deployment}/update-timeout": {
1376
+ parameters: {
1377
+ query?: never;
1378
+ header?: never;
1379
+ path?: never;
1380
+ cookie?: never;
1381
+ };
1382
+ get?: never;
1383
+ put?: never;
1384
+ post?: never;
1385
+ delete?: never;
1386
+ options?: never;
1387
+ head?: never;
1388
+ /** @description Update deployment timeout */
1389
+ patch: {
1390
+ parameters: {
1391
+ query?: never;
1392
+ header: {
1393
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1394
+ "x-user-id"?: string;
1395
+ /**
1396
+ * @description Authentication token, either an API key or a wallet-signed message.
1397
+ * @example Bearer <ApiKey> or WalletSignedMessage
1398
+ */
1399
+ authorization: string;
1400
+ };
1401
+ path: {
1402
+ deployment: components["schemas"]["PublicKey"];
1403
+ };
1404
+ cookie?: never;
1405
+ };
1406
+ requestBody: {
1407
+ content: {
1408
+ "application/json": {
1409
+ timeout: number;
1410
+ };
1411
+ };
1412
+ };
1413
+ responses: {
1414
+ /** @description Deployment timeout updated successfully. */
1415
+ 200: {
1416
+ headers: {
1417
+ [name: string]: unknown;
1418
+ };
1419
+ content: {
1420
+ "application/json": {
1421
+ timeout: number;
1422
+ updated_at: string;
1423
+ };
1424
+ };
1425
+ };
1426
+ /** @description Unauthorized. Invalid or missing authentication. */
1427
+ 401: {
1428
+ headers: {
1429
+ [name: string]: unknown;
1430
+ };
1431
+ content: {
1432
+ "application/json": "Unauthorized";
1433
+ };
1434
+ };
1435
+ /** @description Deployment not found. */
1436
+ 404: {
1437
+ headers: {
1438
+ [name: string]: unknown;
1439
+ };
1440
+ content: {
1441
+ "application/json": components["schemas"]["Error"];
1442
+ };
1443
+ };
1444
+ /** @description Internal Server Error. */
1445
+ 500: {
1446
+ headers: {
1447
+ [name: string]: unknown;
1448
+ };
1449
+ content: {
1450
+ "application/json": components["schemas"]["Error"];
1451
+ };
1452
+ };
1453
+ };
1454
+ };
1455
+ trace?: never;
1456
+ };
1457
+ "/api/deployments/jobs/{job}/job-definition": {
1458
+ parameters: {
1459
+ query?: never;
1460
+ header?: never;
1461
+ path?: never;
1462
+ cookie?: never;
1463
+ };
1464
+ /** @description Returns the job definition for a job. */
1465
+ get: {
1466
+ parameters: {
1467
+ query?: never;
1468
+ header: {
1469
+ /** @description Signed authentication message, */
1470
+ authorization: string;
1471
+ };
1472
+ path: {
1473
+ job: string;
1474
+ };
1475
+ cookie?: never;
1476
+ };
1477
+ requestBody?: never;
1478
+ responses: {
1479
+ /** @description Job definition details. */
1480
+ 200: {
1481
+ headers: {
1482
+ [name: string]: unknown;
1483
+ };
1484
+ content: {
1485
+ "application/json": components["schemas"]["JobDefinition"];
1486
+ };
1487
+ };
1488
+ /** @description Unauthorized. Invalid or missing authentication. */
1489
+ 401: {
1490
+ headers: {
1491
+ [name: string]: unknown;
1492
+ };
1493
+ content: {
1494
+ "application/json": "Unauthorized";
1495
+ };
1496
+ };
1497
+ /** @description Internal Server Error. */
1498
+ 500: {
1499
+ headers: {
1500
+ [name: string]: unknown;
1501
+ };
1502
+ content: {
1503
+ "application/json": components["schemas"]["Error"];
1504
+ };
1505
+ };
1506
+ };
1507
+ };
1508
+ put?: never;
1509
+ post?: never;
1510
+ delete?: never;
1511
+ options?: never;
1512
+ head?: never;
1513
+ patch?: never;
1514
+ trace?: never;
1515
+ };
1516
+ "/api/deployments/jobs/{job}/results": {
1517
+ parameters: {
1518
+ query?: never;
1519
+ header?: never;
1520
+ path?: never;
1521
+ cookie?: never;
1522
+ };
1523
+ get?: never;
1524
+ put?: never;
1525
+ /** @description Post results for your running job. */
1526
+ post: {
1527
+ parameters: {
1528
+ query?: never;
1529
+ header: {
1530
+ /** @description Signed authentication message, */
1531
+ authorization: string;
1532
+ };
1533
+ path: {
1534
+ job: string;
1535
+ };
1536
+ cookie?: never;
1537
+ };
1538
+ requestBody?: {
1539
+ content: {
1540
+ "application/json": components["schemas"]["JobResults"];
1541
+ };
1542
+ };
1543
+ responses: {
1544
+ /** @description Job results details. */
1545
+ 200: {
1546
+ headers: {
1547
+ [name: string]: unknown;
1548
+ };
1549
+ content: {
1550
+ "application/json": {
1551
+ /** @enum {string} */
1552
+ message: "Success";
1553
+ };
1554
+ };
1555
+ };
1556
+ /** @description Unauthorized. Invalid or missing authentication. */
1557
+ 401: {
1558
+ headers: {
1559
+ [name: string]: unknown;
1560
+ };
1561
+ content: {
1562
+ "application/json": "Unauthorized";
1563
+ };
1564
+ };
1565
+ /** @description Internal Server Error. */
1566
+ 500: {
1567
+ headers: {
1568
+ [name: string]: unknown;
1569
+ };
1570
+ content: {
1571
+ "application/json": components["schemas"]["Error"];
1572
+ };
1573
+ };
1574
+ };
1575
+ };
1576
+ delete?: never;
1577
+ options?: never;
1578
+ head?: never;
1579
+ patch?: never;
1580
+ trace?: never;
1581
+ };
1582
+ "/api/deployments/vaults": {
1583
+ parameters: {
1584
+ query?: never;
1585
+ header?: never;
1586
+ path?: never;
1587
+ cookie?: never;
1588
+ };
1589
+ /** @description List all user vaults. */
1590
+ get: {
1591
+ parameters: {
1592
+ query?: never;
1593
+ header: {
1594
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1595
+ "x-user-id"?: string;
1596
+ /**
1597
+ * @description Authentication token, either an API key or a wallet-signed message.
1598
+ * @example Bearer <ApiKey> or WalletSignedMessage
1599
+ */
1600
+ authorization: string;
1601
+ };
1602
+ path?: never;
1603
+ cookie?: never;
1604
+ };
1605
+ requestBody?: never;
1606
+ responses: {
1607
+ /** @description List of vaults. */
1608
+ 200: {
1609
+ headers: {
1610
+ [name: string]: unknown;
1611
+ };
1612
+ content: {
1613
+ "application/json": components["schemas"]["Vaults"];
1614
+ };
1615
+ };
1616
+ /** @description Unauthorized. Invalid or missing authentication. */
1617
+ 401: {
1618
+ headers: {
1619
+ [name: string]: unknown;
1620
+ };
1621
+ content: {
1622
+ "application/json": "Unauthorized";
1623
+ };
1624
+ };
1625
+ /** @description Internal Server Error. */
1626
+ 500: {
1627
+ headers: {
1628
+ [name: string]: unknown;
1629
+ };
1630
+ content: {
1631
+ "application/json": components["schemas"]["Error"];
1632
+ };
1633
+ };
1634
+ };
1635
+ };
1636
+ put?: never;
1637
+ post?: never;
1638
+ delete?: never;
1639
+ options?: never;
1640
+ head?: never;
1641
+ patch?: never;
1642
+ trace?: never;
1643
+ };
1644
+ "/api/deployments/vaults/create": {
1645
+ parameters: {
1646
+ query?: never;
1647
+ header?: never;
1648
+ path?: never;
1649
+ cookie?: never;
1650
+ };
1651
+ get?: never;
1652
+ put?: never;
1653
+ /** @description Create a shared vault. */
1654
+ post: {
1655
+ parameters: {
1656
+ query?: never;
1657
+ header: {
1658
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1659
+ "x-user-id"?: string;
1660
+ /**
1661
+ * @description Authentication token, either an API key or a wallet-signed message.
1662
+ * @example Bearer <ApiKey> or WalletSignedMessage
1663
+ */
1664
+ authorization: string;
1665
+ };
1666
+ path?: never;
1667
+ cookie?: never;
1668
+ };
1669
+ requestBody?: never;
1670
+ responses: {
1671
+ /** @description Vault created successfully. */
1672
+ 200: {
1673
+ headers: {
1674
+ [name: string]: unknown;
1675
+ };
1676
+ content: {
1677
+ "application/json": components["schemas"]["Vault"];
1678
+ };
1679
+ };
1680
+ /** @description Unauthorized. Invalid or missing authentication. */
1681
+ 401: {
1682
+ headers: {
1683
+ [name: string]: unknown;
1684
+ };
1685
+ content: {
1686
+ "application/json": "Unauthorized";
1687
+ };
1688
+ };
1689
+ /** @description Internal Server Error. */
1690
+ 500: {
1691
+ headers: {
1692
+ [name: string]: unknown;
1693
+ };
1694
+ content: {
1695
+ "application/json": components["schemas"]["Error"];
1696
+ };
1697
+ };
1698
+ };
1699
+ };
1700
+ delete?: never;
1701
+ options?: never;
1702
+ head?: never;
1703
+ patch?: never;
1704
+ trace?: never;
1705
+ };
1706
+ "/api/deployments/vaults/{vault}/withdraw": {
1707
+ parameters: {
1708
+ query?: never;
1709
+ header?: never;
1710
+ path?: never;
1711
+ cookie?: never;
1712
+ };
1713
+ get?: never;
1714
+ put?: never;
1715
+ /** @description Withdraw from a vault. */
1716
+ post: {
1717
+ parameters: {
1718
+ query?: never;
1719
+ header: {
1720
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1721
+ "x-user-id"?: string;
1722
+ /**
1723
+ * @description Authentication token, either an API key or a wallet-signed message.
1724
+ * @example Bearer <ApiKey> or WalletSignedMessage
1725
+ */
1726
+ authorization: string;
1727
+ };
1728
+ path: {
1729
+ vault: components["schemas"]["PublicKey"];
1730
+ };
1731
+ cookie?: never;
1732
+ };
1733
+ requestBody?: {
1734
+ content: {
1735
+ "application/json": {
1736
+ SOL?: number;
1737
+ NOS?: number;
1738
+ };
1739
+ };
1740
+ };
1741
+ responses: {
1742
+ /** @description Withdrawal successful. */
1743
+ 200: {
1744
+ headers: {
1745
+ [name: string]: unknown;
1746
+ };
1747
+ content: {
1748
+ "application/json": {
1749
+ transaction: string;
1750
+ };
1751
+ };
1752
+ };
1753
+ /** @description Invalid request body. */
1754
+ 400: {
1755
+ headers: {
1756
+ [name: string]: unknown;
1757
+ };
1758
+ content: {
1759
+ "application/json": components["schemas"]["Error"];
1760
+ };
1761
+ };
1762
+ /** @description Unauthorized. Invalid or missing authentication. */
1763
+ 401: {
1764
+ headers: {
1765
+ [name: string]: unknown;
1766
+ };
1767
+ content: {
1768
+ "application/json": "Unauthorized";
1769
+ };
1770
+ };
1771
+ /** @description Vault not found. */
1772
+ 404: {
1773
+ headers: {
1774
+ [name: string]: unknown;
1775
+ };
1776
+ content: {
1777
+ "application/json": components["schemas"]["Error"];
1778
+ };
1779
+ };
1780
+ /** @description Internal Server Error. */
1781
+ 500: {
1782
+ headers: {
1783
+ [name: string]: unknown;
1784
+ };
1785
+ content: {
1786
+ "application/json": components["schemas"]["Error"];
1787
+ };
1788
+ };
1789
+ };
1790
+ };
1791
+ delete?: never;
1792
+ options?: never;
1793
+ head?: never;
1794
+ patch?: never;
1795
+ trace?: never;
1796
+ };
1797
+ }
1798
+ export type webhooks = Record<string, never>;
1799
+ export interface components {
1800
+ schemas: {
1801
+ /**
1802
+ * Headers
1803
+ * @description Headers for deployment routes
1804
+ */
1805
+ Headers: {
1806
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
1807
+ "x-user-id": string;
1808
+ /**
1809
+ * @description Authentication token, either an API key or a wallet-signed message.
1810
+ * @example Bearer <ApiKey> or WalletSignedMessage
1811
+ */
1812
+ authorization: string;
1813
+ };
1814
+ /**
1815
+ * HostHeaders
1816
+ * @description Headers for deployment routes
1817
+ */
1818
+ HostHeaders: {
1819
+ /** @description Signed authentication message, */
1820
+ authorization: string;
1821
+ };
1822
+ /** Deployment */
1823
+ Deployment: {
1824
+ id: string;
1825
+ name: string;
1826
+ vault: string;
1827
+ market: string;
1828
+ owner: string;
1829
+ status: "DRAFT" | "ERROR" | "STARTING" | "RUNNING" | "STOPPING" | "STOPPED" | "INSUFFICIENT_FUNDS" | "ARCHIVED";
1830
+ revisions: {
1831
+ revision: number;
1832
+ deployment: string;
1833
+ ipfs_definition_hash: string;
1834
+ job_definition: {
1835
+ version: string;
1836
+ /** @enum {string} */
1837
+ type: "container";
1838
+ logistics?: {
1839
+ send?: {
1840
+ /**
1841
+ * @description api-listen - we have an api listenening for the job poster to send the job description
1842
+ * api - we recieve an api endpoint to query and it will return the job description
1843
+ * @enum {string}
1844
+ */
1845
+ type: "api" | "api-listen";
1846
+ args: {
1847
+ endpoint?: string;
1848
+ };
1849
+ };
1850
+ receive?: {
1851
+ /**
1852
+ * @description api-listen - we have an api that listen for request from the job poster, so we can return the result to them
1853
+ * api - we get an api to post the result to
1854
+ * @enum {string}
1855
+ */
1856
+ type: "api" | "api-listen";
1857
+ args: {
1858
+ endpoint?: string;
1859
+ };
1860
+ };
1861
+ };
1862
+ deployment_id?: string;
1863
+ meta?: {
1864
+ trigger?: string;
1865
+ system_resources?: {
1866
+ [key: string]: string | number;
1867
+ };
1868
+ } & {
1869
+ [key: string]: unknown;
1870
+ };
1871
+ global?: {
1872
+ image?: string;
1873
+ gpu?: boolean;
1874
+ entrypoint?: string | string[];
1875
+ env?: {
1876
+ [key: string]: string;
1877
+ };
1878
+ work_dir?: string;
1879
+ variables?: {
1880
+ [key: string]: string;
1881
+ };
1882
+ };
1883
+ /**
1884
+ * @description **********************
1885
+ * Job Definition Types *
1886
+ * **********************
1887
+ */
1888
+ ops: {
1889
+ /** @enum {string} */
1890
+ type: "container/run" | "container/create-volume";
1891
+ id: string;
1892
+ args: {
1893
+ image: string;
1894
+ aliases?: string | string[];
1895
+ cmd?: string | string[];
1896
+ volumes?: {
1897
+ name: string;
1898
+ dest: string;
1899
+ }[];
1900
+ expose?: number | string | {
1901
+ __spread__: string;
1902
+ } | (number | string | {
1903
+ port: number | string;
1904
+ /** @enum {string} */
1905
+ type?: "web" | "api" | "websocket" | "webapi" | "none";
1906
+ health_checks?: ({
1907
+ /** @enum {string} */
1908
+ type: "http";
1909
+ path: string;
1910
+ /** @enum {string} */
1911
+ method: "GET" | "POST" | "PUT" | "DELETE";
1912
+ expected_status: number;
1913
+ /** @description Construct a type with a set of properties K of type T */
1914
+ headers?: {
1915
+ [key: string]: string;
1916
+ };
1917
+ body?: unknown;
1918
+ continuous: boolean;
1919
+ } | {
1920
+ /** @enum {string} */
1921
+ type: "websocket";
1922
+ expected_response: string;
1923
+ continuous: boolean;
1924
+ })[];
1925
+ } | {
1926
+ __spread__: string;
1927
+ })[];
1928
+ private?: boolean;
1929
+ gpu?: boolean;
1930
+ work_dir?: string;
1931
+ output?: string;
1932
+ entrypoint?: string | string[];
1933
+ env?: {
1934
+ [key: string]: string;
1935
+ };
1936
+ required_vram?: number;
1937
+ resources?: (({
1938
+ /** @enum {string} */
1939
+ type: "S3";
1940
+ target: string;
1941
+ url?: string;
1942
+ allowWrite?: boolean;
1943
+ files?: string[];
1944
+ IAM?: {
1945
+ REGION: string;
1946
+ ACCESS_KEY_ID: string;
1947
+ SECRET_ACCESS_KEY: string;
1948
+ };
1949
+ } & Record<string, never>) | ({
1950
+ /** @enum {string} */
1951
+ type: "S3";
1952
+ target: string;
1953
+ bucket: string;
1954
+ url?: string;
1955
+ allowWrite?: boolean;
1956
+ IAM?: {
1957
+ REGION: string;
1958
+ ACCESS_KEY_ID: string;
1959
+ SECRET_ACCESS_KEY: string;
1960
+ };
1961
+ } & Record<string, never>) | ({
1962
+ /** @enum {string} */
1963
+ type: "S3";
1964
+ target: string;
1965
+ buckets: {
1966
+ url: string;
1967
+ files?: string[];
1968
+ }[];
1969
+ url?: string;
1970
+ allowWrite?: boolean;
1971
+ IAM?: {
1972
+ REGION: string;
1973
+ ACCESS_KEY_ID: string;
1974
+ SECRET_ACCESS_KEY: string;
1975
+ };
1976
+ } & Record<string, never>) | {
1977
+ /** @enum {string} */
1978
+ type: "HF";
1979
+ target: string;
1980
+ repo: string;
1981
+ revision?: string;
1982
+ files?: string[];
1983
+ accessToken?: string;
1984
+ } | {
1985
+ /** @enum {string} */
1986
+ type: "Ollama";
1987
+ model: string;
1988
+ target?: string;
1989
+ } | {
1990
+ __spread__: string;
1991
+ } | "__remove-if-empty__")[];
1992
+ authentication?: {
1993
+ docker?: {
1994
+ username?: string;
1995
+ password?: string;
1996
+ email?: string;
1997
+ server?: string;
1998
+ };
1999
+ };
2000
+ } | {
2001
+ name: string;
2002
+ };
2003
+ results?: {
2004
+ [key: string]: string | {
2005
+ regex: string;
2006
+ logType: ("stdin" | "stdout" | "stderr" | "nodeerr")[];
2007
+ };
2008
+ };
2009
+ execution?: {
2010
+ group?: string;
2011
+ depends_on: string[];
2012
+ stop_if_dependent_stops?: boolean;
2013
+ } | {
2014
+ group?: string;
2015
+ };
2016
+ }[];
2017
+ };
2018
+ /** Format: date-time */
2019
+ created_at: string;
2020
+ }[];
2021
+ replicas: number;
2022
+ timeout: number;
2023
+ jobs: {
2024
+ tx: string;
2025
+ job: string;
2026
+ deployment: string;
2027
+ revision: number;
2028
+ status: "PENDING" | "CONFIRMED" | "COMPLETED";
2029
+ /** Format: date-time */
2030
+ created_at: string;
2031
+ }[];
2032
+ events: {
2033
+ category: "Deployment" | "Event";
2034
+ deploymentId: string;
2035
+ type: string;
2036
+ message: string;
2037
+ tx?: string;
2038
+ /** Format: date-time */
2039
+ created_at: string;
2040
+ }[];
2041
+ endpoints: {
2042
+ opId: string;
2043
+ port: number | string;
2044
+ url: string;
2045
+ }[];
2046
+ confidential: boolean;
2047
+ active_revision: number;
2048
+ /** Format: date-time */
2049
+ created_at: string;
2050
+ /** Format: date-time */
2051
+ updated_at: string;
2052
+ } & ({
2053
+ strategy: "SIMPLE" | "SIMPLE-EXTEND" | "INFINITE";
2054
+ } | {
2055
+ /** @enum {string} */
2056
+ strategy: "SCHEDULED";
2057
+ /** @description Cron expression for scheduled deployments */
2058
+ schedule: string;
2059
+ });
2060
+ /** Deployments */
2061
+ Deployments: components["schemas"]["Deployment"][];
2062
+ /** DeploymentStatus */
2063
+ DeploymentStatus: "DRAFT" | "ERROR" | "STARTING" | "RUNNING" | "STOPPING" | "STOPPED" | "INSUFFICIENT_FUNDS" | "ARCHIVED";
2064
+ /** DeploymentStrategy */
2065
+ DeploymentStrategy: "SIMPLE" | "SIMPLE-EXTEND" | "SCHEDULED" | "INFINITE";
2066
+ /** DeploymentCreateBody */
2067
+ DeploymentCreateBody: {
2068
+ name: string;
2069
+ market: string;
2070
+ replicas: number;
2071
+ timeout: number;
2072
+ vault?: string;
2073
+ confidential?: boolean;
2074
+ job_definition: {
2075
+ version: string;
2076
+ /** @enum {string} */
2077
+ type: "container";
2078
+ logistics?: {
2079
+ send?: {
2080
+ /**
2081
+ * @description api-listen - we have an api listenening for the job poster to send the job description
2082
+ * api - we recieve an api endpoint to query and it will return the job description
2083
+ * @enum {string}
2084
+ */
2085
+ type: "api" | "api-listen";
2086
+ args: {
2087
+ endpoint?: string;
2088
+ };
2089
+ };
2090
+ receive?: {
2091
+ /**
2092
+ * @description api-listen - we have an api that listen for request from the job poster, so we can return the result to them
2093
+ * api - we get an api to post the result to
2094
+ * @enum {string}
2095
+ */
2096
+ type: "api" | "api-listen";
2097
+ args: {
2098
+ endpoint?: string;
2099
+ };
2100
+ };
2101
+ };
2102
+ deployment_id?: string;
2103
+ meta?: {
2104
+ trigger?: string;
2105
+ system_resources?: {
2106
+ [key: string]: string | number;
2107
+ };
2108
+ } & {
2109
+ [key: string]: unknown;
2110
+ };
2111
+ global?: {
2112
+ image?: string;
2113
+ gpu?: boolean;
2114
+ entrypoint?: string | string[];
2115
+ env?: {
2116
+ [key: string]: string;
2117
+ };
2118
+ work_dir?: string;
2119
+ variables?: {
2120
+ [key: string]: string;
2121
+ };
2122
+ };
2123
+ /**
2124
+ * @description **********************
2125
+ * Job Definition Types *
2126
+ * **********************
2127
+ */
2128
+ ops: {
2129
+ /** @enum {string} */
2130
+ type: "container/run" | "container/create-volume";
2131
+ id: string;
2132
+ args: {
2133
+ image: string;
2134
+ aliases?: string | string[];
2135
+ cmd?: string | string[];
2136
+ volumes?: {
2137
+ name: string;
2138
+ dest: string;
2139
+ }[];
2140
+ expose?: number | string | {
2141
+ __spread__: string;
2142
+ } | (number | string | {
2143
+ port: number | string;
2144
+ /** @enum {string} */
2145
+ type?: "web" | "api" | "websocket" | "webapi" | "none";
2146
+ health_checks?: ({
2147
+ /** @enum {string} */
2148
+ type: "http";
2149
+ path: string;
2150
+ /** @enum {string} */
2151
+ method: "GET" | "POST" | "PUT" | "DELETE";
2152
+ expected_status: number;
2153
+ /** @description Construct a type with a set of properties K of type T */
2154
+ headers?: {
2155
+ [key: string]: string;
2156
+ };
2157
+ body?: unknown;
2158
+ continuous: boolean;
2159
+ } | {
2160
+ /** @enum {string} */
2161
+ type: "websocket";
2162
+ expected_response: string;
2163
+ continuous: boolean;
2164
+ })[];
2165
+ } | {
2166
+ __spread__: string;
2167
+ })[];
2168
+ private?: boolean;
2169
+ gpu?: boolean;
2170
+ work_dir?: string;
2171
+ output?: string;
2172
+ entrypoint?: string | string[];
2173
+ env?: {
2174
+ [key: string]: string;
2175
+ };
2176
+ required_vram?: number;
2177
+ resources?: (({
2178
+ /** @enum {string} */
2179
+ type: "S3";
2180
+ target: string;
2181
+ url?: string;
2182
+ allowWrite?: boolean;
2183
+ files?: string[];
2184
+ IAM?: {
2185
+ REGION: string;
2186
+ ACCESS_KEY_ID: string;
2187
+ SECRET_ACCESS_KEY: string;
2188
+ };
2189
+ } & Record<string, never>) | ({
2190
+ /** @enum {string} */
2191
+ type: "S3";
2192
+ target: string;
2193
+ bucket: string;
2194
+ url?: string;
2195
+ allowWrite?: boolean;
2196
+ IAM?: {
2197
+ REGION: string;
2198
+ ACCESS_KEY_ID: string;
2199
+ SECRET_ACCESS_KEY: string;
2200
+ };
2201
+ } & Record<string, never>) | ({
2202
+ /** @enum {string} */
2203
+ type: "S3";
2204
+ target: string;
2205
+ buckets: {
2206
+ url: string;
2207
+ files?: string[];
2208
+ }[];
2209
+ url?: string;
2210
+ allowWrite?: boolean;
2211
+ IAM?: {
2212
+ REGION: string;
2213
+ ACCESS_KEY_ID: string;
2214
+ SECRET_ACCESS_KEY: string;
2215
+ };
2216
+ } & Record<string, never>) | {
2217
+ /** @enum {string} */
2218
+ type: "HF";
2219
+ target: string;
2220
+ repo: string;
2221
+ revision?: string;
2222
+ files?: string[];
2223
+ accessToken?: string;
2224
+ } | {
2225
+ /** @enum {string} */
2226
+ type: "Ollama";
2227
+ model: string;
2228
+ target?: string;
2229
+ } | {
2230
+ __spread__: string;
2231
+ } | "__remove-if-empty__")[];
2232
+ authentication?: {
2233
+ docker?: {
2234
+ username?: string;
2235
+ password?: string;
2236
+ email?: string;
2237
+ server?: string;
2238
+ };
2239
+ };
2240
+ } | {
2241
+ name: string;
2242
+ };
2243
+ results?: {
2244
+ [key: string]: string | {
2245
+ regex: string;
2246
+ logType: ("stdin" | "stdout" | "stderr" | "nodeerr")[];
2247
+ };
2248
+ };
2249
+ execution?: {
2250
+ group?: string;
2251
+ depends_on: string[];
2252
+ stop_if_dependent_stops?: boolean;
2253
+ } | {
2254
+ group?: string;
2255
+ };
2256
+ }[];
2257
+ };
2258
+ } & ({
2259
+ strategy: "SIMPLE" | "SIMPLE-EXTEND" | "INFINITE";
2260
+ } | {
2261
+ /** @enum {string} */
2262
+ strategy: "SCHEDULED";
2263
+ /** @description Cron expression for scheduled deployments */
2264
+ schedule: string;
2265
+ });
2266
+ /** Endpoint */
2267
+ Endpoint: {
2268
+ opId: string;
2269
+ port: number | string;
2270
+ url: string;
2271
+ };
2272
+ /** Error */
2273
+ Error: {
2274
+ error: string;
2275
+ };
2276
+ /** Events */
2277
+ Events: {
2278
+ category: "Deployment" | "Event";
2279
+ deploymentId: string;
2280
+ type: string;
2281
+ message: string;
2282
+ tx?: string;
2283
+ /** Format: date-time */
2284
+ created_at: string;
2285
+ };
2286
+ /** Jobs */
2287
+ Jobs: {
2288
+ tx: string;
2289
+ job: string;
2290
+ deployment: string;
2291
+ revision: number;
2292
+ status: "PENDING" | "CONFIRMED" | "COMPLETED";
2293
+ /** Format: date-time */
2294
+ created_at: string;
2295
+ };
2296
+ /** PublicKey */
2297
+ PublicKey: string;
2298
+ /** Task */
2299
+ Task: {
2300
+ task: "LIST" | "EXTEND" | "STOP";
2301
+ deploymentId: string;
2302
+ tx?: string;
2303
+ /** Format: date-time */
2304
+ due_at: string;
2305
+ /** Format: date-time */
2306
+ created_at: string;
2307
+ };
2308
+ /** Vault */
2309
+ Vault: {
2310
+ vault: string;
2311
+ owner: string;
2312
+ /** Format: date-time */
2313
+ created_at: string;
2314
+ };
2315
+ /** Vaults */
2316
+ Vaults: {
2317
+ vault: string;
2318
+ owner: string;
2319
+ /** Format: date-time */
2320
+ created_at: string;
2321
+ }[];
2322
+ /** Revision */
2323
+ Revision: {
2324
+ revision: number;
2325
+ deployment: string;
2326
+ ipfs_definition_hash: string;
2327
+ job_definition: {
2328
+ version: string;
2329
+ /** @enum {string} */
2330
+ type: "container";
2331
+ logistics?: {
2332
+ send?: {
2333
+ /**
2334
+ * @description api-listen - we have an api listenening for the job poster to send the job description
2335
+ * api - we recieve an api endpoint to query and it will return the job description
2336
+ * @enum {string}
2337
+ */
2338
+ type: "api" | "api-listen";
2339
+ args: {
2340
+ endpoint?: string;
2341
+ };
2342
+ };
2343
+ receive?: {
2344
+ /**
2345
+ * @description api-listen - we have an api that listen for request from the job poster, so we can return the result to them
2346
+ * api - we get an api to post the result to
2347
+ * @enum {string}
2348
+ */
2349
+ type: "api" | "api-listen";
2350
+ args: {
2351
+ endpoint?: string;
2352
+ };
2353
+ };
2354
+ };
2355
+ deployment_id?: string;
2356
+ meta?: {
2357
+ trigger?: string;
2358
+ system_resources?: {
2359
+ [key: string]: string | number;
2360
+ };
2361
+ } & {
2362
+ [key: string]: unknown;
2363
+ };
2364
+ global?: {
2365
+ image?: string;
2366
+ gpu?: boolean;
2367
+ entrypoint?: string | string[];
2368
+ env?: {
2369
+ [key: string]: string;
2370
+ };
2371
+ work_dir?: string;
2372
+ variables?: {
2373
+ [key: string]: string;
2374
+ };
2375
+ };
2376
+ /**
2377
+ * @description **********************
2378
+ * Job Definition Types *
2379
+ * **********************
2380
+ */
2381
+ ops: {
2382
+ /** @enum {string} */
2383
+ type: "container/run" | "container/create-volume";
2384
+ id: string;
2385
+ args: {
2386
+ image: string;
2387
+ aliases?: string | string[];
2388
+ cmd?: string | string[];
2389
+ volumes?: {
2390
+ name: string;
2391
+ dest: string;
2392
+ }[];
2393
+ expose?: number | string | {
2394
+ __spread__: string;
2395
+ } | (number | string | {
2396
+ port: number | string;
2397
+ /** @enum {string} */
2398
+ type?: "web" | "api" | "websocket" | "webapi" | "none";
2399
+ health_checks?: ({
2400
+ /** @enum {string} */
2401
+ type: "http";
2402
+ path: string;
2403
+ /** @enum {string} */
2404
+ method: "GET" | "POST" | "PUT" | "DELETE";
2405
+ expected_status: number;
2406
+ /** @description Construct a type with a set of properties K of type T */
2407
+ headers?: {
2408
+ [key: string]: string;
2409
+ };
2410
+ body?: unknown;
2411
+ continuous: boolean;
2412
+ } | {
2413
+ /** @enum {string} */
2414
+ type: "websocket";
2415
+ expected_response: string;
2416
+ continuous: boolean;
2417
+ })[];
2418
+ } | {
2419
+ __spread__: string;
2420
+ })[];
2421
+ private?: boolean;
2422
+ gpu?: boolean;
2423
+ work_dir?: string;
2424
+ output?: string;
2425
+ entrypoint?: string | string[];
2426
+ env?: {
2427
+ [key: string]: string;
2428
+ };
2429
+ required_vram?: number;
2430
+ resources?: (({
2431
+ /** @enum {string} */
2432
+ type: "S3";
2433
+ target: string;
2434
+ url?: string;
2435
+ allowWrite?: boolean;
2436
+ files?: string[];
2437
+ IAM?: {
2438
+ REGION: string;
2439
+ ACCESS_KEY_ID: string;
2440
+ SECRET_ACCESS_KEY: string;
2441
+ };
2442
+ } & Record<string, never>) | ({
2443
+ /** @enum {string} */
2444
+ type: "S3";
2445
+ target: string;
2446
+ bucket: string;
2447
+ url?: string;
2448
+ allowWrite?: boolean;
2449
+ IAM?: {
2450
+ REGION: string;
2451
+ ACCESS_KEY_ID: string;
2452
+ SECRET_ACCESS_KEY: string;
2453
+ };
2454
+ } & Record<string, never>) | ({
2455
+ /** @enum {string} */
2456
+ type: "S3";
2457
+ target: string;
2458
+ buckets: {
2459
+ url: string;
2460
+ files?: string[];
2461
+ }[];
2462
+ url?: string;
2463
+ allowWrite?: boolean;
2464
+ IAM?: {
2465
+ REGION: string;
2466
+ ACCESS_KEY_ID: string;
2467
+ SECRET_ACCESS_KEY: string;
2468
+ };
2469
+ } & Record<string, never>) | {
2470
+ /** @enum {string} */
2471
+ type: "HF";
2472
+ target: string;
2473
+ repo: string;
2474
+ revision?: string;
2475
+ files?: string[];
2476
+ accessToken?: string;
2477
+ } | {
2478
+ /** @enum {string} */
2479
+ type: "Ollama";
2480
+ model: string;
2481
+ target?: string;
2482
+ } | {
2483
+ __spread__: string;
2484
+ } | "__remove-if-empty__")[];
2485
+ authentication?: {
2486
+ docker?: {
2487
+ username?: string;
2488
+ password?: string;
2489
+ email?: string;
2490
+ server?: string;
2491
+ };
2492
+ };
2493
+ } | {
2494
+ name: string;
2495
+ };
2496
+ results?: {
2497
+ [key: string]: string | {
2498
+ regex: string;
2499
+ logType: ("stdin" | "stdout" | "stderr" | "nodeerr")[];
2500
+ };
2501
+ };
2502
+ execution?: {
2503
+ group?: string;
2504
+ depends_on: string[];
2505
+ stop_if_dependent_stops?: boolean;
2506
+ } | {
2507
+ group?: string;
2508
+ };
2509
+ }[];
2510
+ };
2511
+ /** Format: date-time */
2512
+ created_at: string;
2513
+ };
2514
+ /** JobDefinition */
2515
+ JobDefinition: {
2516
+ version: string;
2517
+ /** @enum {string} */
2518
+ type: "container";
2519
+ logistics?: {
2520
+ send?: {
2521
+ /**
2522
+ * @description api-listen - we have an api listenening for the job poster to send the job description
2523
+ * api - we recieve an api endpoint to query and it will return the job description
2524
+ * @enum {string}
2525
+ */
2526
+ type: "api" | "api-listen";
2527
+ args: {
2528
+ endpoint?: string;
2529
+ };
2530
+ };
2531
+ receive?: {
2532
+ /**
2533
+ * @description api-listen - we have an api that listen for request from the job poster, so we can return the result to them
2534
+ * api - we get an api to post the result to
2535
+ * @enum {string}
2536
+ */
2537
+ type: "api" | "api-listen";
2538
+ args: {
2539
+ endpoint?: string;
2540
+ };
2541
+ };
2542
+ };
2543
+ deployment_id?: string;
2544
+ meta?: {
2545
+ trigger?: string;
2546
+ system_resources?: {
2547
+ [key: string]: string | number;
2548
+ };
2549
+ } & {
2550
+ [key: string]: unknown;
2551
+ };
2552
+ global?: {
2553
+ image?: string;
2554
+ gpu?: boolean;
2555
+ entrypoint?: string | string[];
2556
+ env?: {
2557
+ [key: string]: string;
2558
+ };
2559
+ work_dir?: string;
2560
+ variables?: {
2561
+ [key: string]: string;
2562
+ };
2563
+ };
2564
+ /**
2565
+ * @description **********************
2566
+ * Job Definition Types *
2567
+ * **********************
2568
+ */
2569
+ ops: {
2570
+ /** @enum {string} */
2571
+ type: "container/run" | "container/create-volume";
2572
+ id: string;
2573
+ args: {
2574
+ image: string;
2575
+ aliases?: string | string[];
2576
+ cmd?: string | string[];
2577
+ volumes?: {
2578
+ name: string;
2579
+ dest: string;
2580
+ }[];
2581
+ expose?: number | string | {
2582
+ __spread__: string;
2583
+ } | (number | string | {
2584
+ port: number | string;
2585
+ /** @enum {string} */
2586
+ type?: "web" | "api" | "websocket" | "webapi" | "none";
2587
+ health_checks?: ({
2588
+ /** @enum {string} */
2589
+ type: "http";
2590
+ path: string;
2591
+ /** @enum {string} */
2592
+ method: "GET" | "POST" | "PUT" | "DELETE";
2593
+ expected_status: number;
2594
+ /** @description Construct a type with a set of properties K of type T */
2595
+ headers?: {
2596
+ [key: string]: string;
2597
+ };
2598
+ body?: unknown;
2599
+ continuous: boolean;
2600
+ } | {
2601
+ /** @enum {string} */
2602
+ type: "websocket";
2603
+ expected_response: string;
2604
+ continuous: boolean;
2605
+ })[];
2606
+ } | {
2607
+ __spread__: string;
2608
+ })[];
2609
+ private?: boolean;
2610
+ gpu?: boolean;
2611
+ work_dir?: string;
2612
+ output?: string;
2613
+ entrypoint?: string | string[];
2614
+ env?: {
2615
+ [key: string]: string;
2616
+ };
2617
+ required_vram?: number;
2618
+ resources?: (({
2619
+ /** @enum {string} */
2620
+ type: "S3";
2621
+ target: string;
2622
+ url?: string;
2623
+ allowWrite?: boolean;
2624
+ files?: string[];
2625
+ IAM?: {
2626
+ REGION: string;
2627
+ ACCESS_KEY_ID: string;
2628
+ SECRET_ACCESS_KEY: string;
2629
+ };
2630
+ } & Record<string, never>) | ({
2631
+ /** @enum {string} */
2632
+ type: "S3";
2633
+ target: string;
2634
+ bucket: string;
2635
+ url?: string;
2636
+ allowWrite?: boolean;
2637
+ IAM?: {
2638
+ REGION: string;
2639
+ ACCESS_KEY_ID: string;
2640
+ SECRET_ACCESS_KEY: string;
2641
+ };
2642
+ } & Record<string, never>) | ({
2643
+ /** @enum {string} */
2644
+ type: "S3";
2645
+ target: string;
2646
+ buckets: {
2647
+ url: string;
2648
+ files?: string[];
2649
+ }[];
2650
+ url?: string;
2651
+ allowWrite?: boolean;
2652
+ IAM?: {
2653
+ REGION: string;
2654
+ ACCESS_KEY_ID: string;
2655
+ SECRET_ACCESS_KEY: string;
2656
+ };
2657
+ } & Record<string, never>) | {
2658
+ /** @enum {string} */
2659
+ type: "HF";
2660
+ target: string;
2661
+ repo: string;
2662
+ revision?: string;
2663
+ files?: string[];
2664
+ accessToken?: string;
2665
+ } | {
2666
+ /** @enum {string} */
2667
+ type: "Ollama";
2668
+ model: string;
2669
+ target?: string;
2670
+ } | {
2671
+ __spread__: string;
2672
+ } | "__remove-if-empty__")[];
2673
+ authentication?: {
2674
+ docker?: {
2675
+ username?: string;
2676
+ password?: string;
2677
+ email?: string;
2678
+ server?: string;
2679
+ };
2680
+ };
2681
+ } | {
2682
+ name: string;
2683
+ };
2684
+ results?: {
2685
+ [key: string]: string | {
2686
+ regex: string;
2687
+ logType: ("stdin" | "stdout" | "stderr" | "nodeerr")[];
2688
+ };
2689
+ };
2690
+ execution?: {
2691
+ group?: string;
2692
+ depends_on: string[];
2693
+ stop_if_dependent_stops?: boolean;
2694
+ } | {
2695
+ group?: string;
2696
+ };
2697
+ }[];
2698
+ };
2699
+ /**
2700
+ * JobResults
2701
+ * @description **********************
2702
+ * Job Result Types *
2703
+ * **********************
2704
+ */
2705
+ JobResults: {
2706
+ status: string;
2707
+ startTime: number;
2708
+ endTime: number | null;
2709
+ errors?: unknown[];
2710
+ opStates: {
2711
+ providerId: string | null;
2712
+ operationId: string | null;
2713
+ group: string | null;
2714
+ status: string | null;
2715
+ startTime: number | null;
2716
+ endTime: number | null;
2717
+ exitCode: number | null;
2718
+ logs: {
2719
+ /** @enum {string} */
2720
+ type: "stdin" | "stdout" | "stderr" | "nodeerr";
2721
+ log?: string;
2722
+ }[];
2723
+ results?: {
2724
+ [key: string]: string | string[];
2725
+ };
2726
+ }[];
2727
+ secrets?: {
2728
+ /** @enum {string} */
2729
+ urlmode?: "private" | "public";
2730
+ } & {
2731
+ [key: string]: {
2732
+ [key: string]: {
2733
+ opID: string;
2734
+ port: string | number;
2735
+ url: string;
2736
+ /** @enum {string} */
2737
+ status: "ONLINE" | "OFFLINE" | "UNKNOWN";
2738
+ };
2739
+ } | ("private" | "public");
2740
+ };
2741
+ };
2742
+ };
2743
+ responses: never;
2744
+ parameters: never;
2745
+ requestBodies: never;
2746
+ headers: never;
2747
+ pathItems: never;
2748
+ }
2749
+ export type $defs = Record<string, never>;
2750
+ export interface operations {
2751
+ postApiJobsList: {
2752
+ parameters: {
2753
+ query?: never;
2754
+ header: {
2755
+ /** @description Authorization header: Bearer <jwt> or Bearer <key> */
2756
+ authorization: string;
2757
+ };
2758
+ path?: never;
2759
+ cookie?: never;
2760
+ };
2761
+ requestBody: {
2762
+ content: {
2763
+ "application/json": {
2764
+ ipfsHash: string;
2765
+ market: string;
2766
+ timeout?: string | number;
2767
+ node?: string;
2768
+ };
2769
+ "multipart/form-data": {
2770
+ ipfsHash: string;
2771
+ market: string;
2772
+ timeout?: string | number;
2773
+ node?: string;
2774
+ };
2775
+ "text/plain": {
2776
+ ipfsHash: string;
2777
+ market: string;
2778
+ timeout?: string | number;
2779
+ node?: string;
2780
+ };
2781
+ };
2782
+ };
2783
+ responses: {
2784
+ 200: {
2785
+ headers: {
2786
+ [name: string]: unknown;
2787
+ };
2788
+ content: {
2789
+ "application/json": {
2790
+ tx: string;
2791
+ job: string;
2792
+ run: string;
2793
+ credits: {
2794
+ costUSD: number;
2795
+ creditsUsed: number;
2796
+ reservationId: string;
2797
+ project: string;
2798
+ };
2799
+ };
2800
+ "multipart/form-data": {
2801
+ tx: string;
2802
+ job: string;
2803
+ run: string;
2804
+ credits: {
2805
+ costUSD: number;
2806
+ creditsUsed: number;
2807
+ reservationId: string;
2808
+ project: string;
2809
+ };
2810
+ };
2811
+ "text/plain": {
2812
+ tx: string;
2813
+ job: string;
2814
+ run: string;
2815
+ credits: {
2816
+ costUSD: number;
2817
+ creditsUsed: number;
2818
+ reservationId: string;
2819
+ project: string;
2820
+ };
2821
+ };
2822
+ };
2823
+ };
2824
+ };
2825
+ };
2826
+ postApiJobsByAddressExtend: {
2827
+ parameters: {
2828
+ query?: never;
2829
+ header: {
2830
+ /** @description Authorization header: Bearer <jwt> or Bearer <key> */
2831
+ authorization: string;
2832
+ };
2833
+ path: {
2834
+ address: string;
2835
+ };
2836
+ cookie?: never;
2837
+ };
2838
+ requestBody: {
2839
+ content: {
2840
+ "application/json": {
2841
+ seconds?: number;
2842
+ };
2843
+ "multipart/form-data": {
2844
+ seconds?: number;
2845
+ };
2846
+ "text/plain": {
2847
+ seconds?: number;
2848
+ };
2849
+ };
2850
+ };
2851
+ responses: {
2852
+ 200: {
2853
+ headers: {
2854
+ [name: string]: unknown;
2855
+ };
2856
+ content: {
2857
+ "application/json": {
2858
+ tx: string;
2859
+ job: string;
2860
+ credits: {
2861
+ costUSD: number;
2862
+ creditsUsed: number;
2863
+ reservationId: string;
2864
+ };
2865
+ };
2866
+ "multipart/form-data": {
2867
+ tx: string;
2868
+ job: string;
2869
+ credits: {
2870
+ costUSD: number;
2871
+ creditsUsed: number;
2872
+ reservationId: string;
2873
+ };
2874
+ };
2875
+ "text/plain": {
2876
+ tx: string;
2877
+ job: string;
2878
+ credits: {
2879
+ costUSD: number;
2880
+ creditsUsed: number;
2881
+ reservationId: string;
2882
+ };
2883
+ };
2884
+ };
2885
+ };
2886
+ };
2887
+ };
2888
+ postApiJobsByAddressStop: {
2889
+ parameters: {
2890
+ query?: never;
2891
+ header: {
2892
+ /** @description Authorization header: Bearer <jwt> or Bearer <key> */
2893
+ authorization: string;
2894
+ };
2895
+ path: {
2896
+ address: string;
2897
+ };
2898
+ cookie?: never;
2899
+ };
2900
+ requestBody?: never;
2901
+ responses: {
2902
+ 200: {
2903
+ headers: {
2904
+ [name: string]: unknown;
2905
+ };
2906
+ content: {
2907
+ "application/json": {
2908
+ tx: string;
2909
+ job: string;
2910
+ delisted: boolean;
2911
+ };
2912
+ "multipart/form-data": {
2913
+ tx: string;
2914
+ job: string;
2915
+ delisted: boolean;
2916
+ };
2917
+ "text/plain": {
2918
+ tx: string;
2919
+ job: string;
2920
+ delisted: boolean;
2921
+ };
2922
+ };
2923
+ };
2924
+ };
2925
+ };
2926
+ getApiJobsByAddress: {
2927
+ parameters: {
2928
+ query?: never;
2929
+ header?: never;
2930
+ path: {
2931
+ address: string;
2932
+ };
2933
+ cookie?: never;
2934
+ };
2935
+ requestBody?: never;
2936
+ responses: {
2937
+ 200: {
2938
+ headers: {
2939
+ [name: string]: unknown;
2940
+ };
2941
+ content: {
2942
+ "application/json": {
2943
+ ipfsJob: string;
2944
+ ipfsResult: string | null;
2945
+ market: string;
2946
+ node: string;
2947
+ payer: string;
2948
+ price: number;
2949
+ project: string;
2950
+ state: number;
2951
+ type: string | null;
2952
+ jobDefinition: unknown | null;
2953
+ jobResult: unknown | null;
2954
+ jobStatus: string | null;
2955
+ timeEnd: number;
2956
+ timeStart: number;
2957
+ benchmarkProcessedAt: (Record<string, never> | string) | null;
2958
+ timeout: number;
2959
+ usdRewardPerHour: number | null;
2960
+ listedAt: number;
2961
+ };
2962
+ "multipart/form-data": {
2963
+ ipfsJob: string;
2964
+ ipfsResult: string | null;
2965
+ market: string;
2966
+ node: string;
2967
+ payer: string;
2968
+ price: number;
2969
+ project: string;
2970
+ state: number;
2971
+ type: string | null;
2972
+ jobDefinition: unknown | null;
2973
+ jobResult: unknown | null;
2974
+ jobStatus: string | null;
2975
+ timeEnd: number;
2976
+ timeStart: number;
2977
+ benchmarkProcessedAt: (Record<string, never> | string) | null;
2978
+ timeout: number;
2979
+ usdRewardPerHour: number | null;
2980
+ listedAt: number;
2981
+ };
2982
+ "text/plain": {
2983
+ ipfsJob: string;
2984
+ ipfsResult: string | null;
2985
+ market: string;
2986
+ node: string;
2987
+ payer: string;
2988
+ price: number;
2989
+ project: string;
2990
+ state: number;
2991
+ type: string | null;
2992
+ jobDefinition: unknown | null;
2993
+ jobResult: unknown | null;
2994
+ jobStatus: string | null;
2995
+ timeEnd: number;
2996
+ timeStart: number;
2997
+ benchmarkProcessedAt: (Record<string, never> | string) | null;
2998
+ timeout: number;
2999
+ usdRewardPerHour: number | null;
3000
+ listedAt: number;
3001
+ };
3002
+ };
3003
+ };
3004
+ };
3005
+ };
3006
+ getApiMarkets: {
3007
+ parameters: {
3008
+ query?: {
3009
+ filterKey?: string;
3010
+ filterValue?: string;
3011
+ limit?: string;
3012
+ type?: "PREMIUM" | "COMMUNITY" | "OTHER";
3013
+ };
3014
+ header?: never;
3015
+ path?: never;
3016
+ cookie?: never;
3017
+ };
3018
+ requestBody?: never;
3019
+ responses: {
3020
+ 200: {
3021
+ headers: {
3022
+ [name: string]: unknown;
3023
+ };
3024
+ content: {
3025
+ "application/json": {
3026
+ address: string;
3027
+ slug: string;
3028
+ name: string;
3029
+ sft: string;
3030
+ type: "PREMIUM" | "COMMUNITY" | "OTHER";
3031
+ usd_reward_per_hour: unknown;
3032
+ nos_reward_per_second: number;
3033
+ nos_job_price_per_second: number;
3034
+ network_fee_percentage: number;
3035
+ premium_community_relation: string | null;
3036
+ gpu_types: string[];
3037
+ required_images: string[];
3038
+ required_remote_resources: ({
3039
+ /** @constant */
3040
+ type: "Ollama";
3041
+ model: string;
3042
+ } | {
3043
+ type: "S3" | "Ollama" | "HF";
3044
+ url: string;
3045
+ IAM: {
3046
+ access_key_id: string;
3047
+ secret_access_key: string;
3048
+ };
3049
+ } | {
3050
+ type: "S3" | "Ollama" | "HF";
3051
+ url: string;
3052
+ })[];
3053
+ nodes?: unknown[];
3054
+ client: boolean;
3055
+ lowest_vram?: number;
3056
+ max_usd_uptime_reward_per_day?: number;
3057
+ }[];
3058
+ "multipart/form-data": {
3059
+ address: string;
3060
+ slug: string;
3061
+ name: string;
3062
+ sft: string;
3063
+ type: "PREMIUM" | "COMMUNITY" | "OTHER";
3064
+ usd_reward_per_hour: unknown;
3065
+ nos_reward_per_second: number;
3066
+ nos_job_price_per_second: number;
3067
+ network_fee_percentage: number;
3068
+ premium_community_relation: string | null;
3069
+ gpu_types: string[];
3070
+ required_images: string[];
3071
+ required_remote_resources: ({
3072
+ /** @constant */
3073
+ type: "Ollama";
3074
+ model: string;
3075
+ } | {
3076
+ type: "S3" | "Ollama" | "HF";
3077
+ url: string;
3078
+ IAM: {
3079
+ access_key_id: string;
3080
+ secret_access_key: string;
3081
+ };
3082
+ } | {
3083
+ type: "S3" | "Ollama" | "HF";
3084
+ url: string;
3085
+ })[];
3086
+ nodes?: unknown[];
3087
+ client: boolean;
3088
+ lowest_vram?: number;
3089
+ max_usd_uptime_reward_per_day?: number;
3090
+ }[];
3091
+ "text/plain": {
3092
+ address: string;
3093
+ slug: string;
3094
+ name: string;
3095
+ sft: string;
3096
+ type: "PREMIUM" | "COMMUNITY" | "OTHER";
3097
+ usd_reward_per_hour: unknown;
3098
+ nos_reward_per_second: number;
3099
+ nos_job_price_per_second: number;
3100
+ network_fee_percentage: number;
3101
+ premium_community_relation: string | null;
3102
+ gpu_types: string[];
3103
+ required_images: string[];
3104
+ required_remote_resources: ({
3105
+ /** @constant */
3106
+ type: "Ollama";
3107
+ model: string;
3108
+ } | {
3109
+ type: "S3" | "Ollama" | "HF";
3110
+ url: string;
3111
+ IAM: {
3112
+ access_key_id: string;
3113
+ secret_access_key: string;
3114
+ };
3115
+ } | {
3116
+ type: "S3" | "Ollama" | "HF";
3117
+ url: string;
3118
+ })[];
3119
+ nodes?: unknown[];
3120
+ client: boolean;
3121
+ lowest_vram?: number;
3122
+ max_usd_uptime_reward_per_day?: number;
3123
+ }[];
3124
+ };
3125
+ };
3126
+ 500: {
3127
+ headers: {
3128
+ [name: string]: unknown;
3129
+ };
3130
+ content: {
3131
+ "application/json": {
3132
+ name: string;
3133
+ message: string;
3134
+ };
3135
+ "multipart/form-data": {
3136
+ name: string;
3137
+ message: string;
3138
+ };
3139
+ "text/plain": {
3140
+ name: string;
3141
+ message: string;
3142
+ };
3143
+ };
3144
+ };
3145
+ };
3146
+ };
3147
+ getApiMarketsById: {
3148
+ parameters: {
3149
+ query?: never;
3150
+ header?: never;
3151
+ path: {
3152
+ id: string;
3153
+ };
3154
+ cookie?: never;
3155
+ };
3156
+ requestBody?: never;
3157
+ responses: {
3158
+ 200: {
3159
+ headers: {
3160
+ [name: string]: unknown;
3161
+ };
3162
+ content: {
3163
+ "application/json": {
3164
+ address: string;
3165
+ slug: string;
3166
+ name: string;
3167
+ sft: string;
3168
+ type: "PREMIUM" | "COMMUNITY" | "OTHER";
3169
+ usd_reward_per_hour: unknown;
3170
+ nos_reward_per_second: number;
3171
+ nos_job_price_per_second: number;
3172
+ network_fee_percentage: number;
3173
+ premium_community_relation: string | null;
3174
+ gpu_types: string[];
3175
+ required_images: string[];
3176
+ required_remote_resources: ({
3177
+ /** @constant */
3178
+ type: "Ollama";
3179
+ model: string;
3180
+ } | {
3181
+ type: "S3" | "Ollama" | "HF";
3182
+ url: string;
3183
+ IAM: {
3184
+ access_key_id: string;
3185
+ secret_access_key: string;
3186
+ };
3187
+ } | {
3188
+ type: "S3" | "Ollama" | "HF";
3189
+ url: string;
3190
+ })[];
3191
+ nodes?: unknown[];
3192
+ client: boolean;
3193
+ lowest_vram?: number;
3194
+ max_usd_uptime_reward_per_day?: number;
3195
+ };
3196
+ "multipart/form-data": {
3197
+ address: string;
3198
+ slug: string;
3199
+ name: string;
3200
+ sft: string;
3201
+ type: "PREMIUM" | "COMMUNITY" | "OTHER";
3202
+ usd_reward_per_hour: unknown;
3203
+ nos_reward_per_second: number;
3204
+ nos_job_price_per_second: number;
3205
+ network_fee_percentage: number;
3206
+ premium_community_relation: string | null;
3207
+ gpu_types: string[];
3208
+ required_images: string[];
3209
+ required_remote_resources: ({
3210
+ /** @constant */
3211
+ type: "Ollama";
3212
+ model: string;
3213
+ } | {
3214
+ type: "S3" | "Ollama" | "HF";
3215
+ url: string;
3216
+ IAM: {
3217
+ access_key_id: string;
3218
+ secret_access_key: string;
3219
+ };
3220
+ } | {
3221
+ type: "S3" | "Ollama" | "HF";
3222
+ url: string;
3223
+ })[];
3224
+ nodes?: unknown[];
3225
+ client: boolean;
3226
+ lowest_vram?: number;
3227
+ max_usd_uptime_reward_per_day?: number;
3228
+ };
3229
+ "text/plain": {
3230
+ address: string;
3231
+ slug: string;
3232
+ name: string;
3233
+ sft: string;
3234
+ type: "PREMIUM" | "COMMUNITY" | "OTHER";
3235
+ usd_reward_per_hour: unknown;
3236
+ nos_reward_per_second: number;
3237
+ nos_job_price_per_second: number;
3238
+ network_fee_percentage: number;
3239
+ premium_community_relation: string | null;
3240
+ gpu_types: string[];
3241
+ required_images: string[];
3242
+ required_remote_resources: ({
3243
+ /** @constant */
3244
+ type: "Ollama";
3245
+ model: string;
3246
+ } | {
3247
+ type: "S3" | "Ollama" | "HF";
3248
+ url: string;
3249
+ IAM: {
3250
+ access_key_id: string;
3251
+ secret_access_key: string;
3252
+ };
3253
+ } | {
3254
+ type: "S3" | "Ollama" | "HF";
3255
+ url: string;
3256
+ })[];
3257
+ nodes?: unknown[];
3258
+ client: boolean;
3259
+ lowest_vram?: number;
3260
+ max_usd_uptime_reward_per_day?: number;
3261
+ };
3262
+ };
3263
+ };
3264
+ 500: {
3265
+ headers: {
3266
+ [name: string]: unknown;
3267
+ };
3268
+ content: {
3269
+ "application/json": {
3270
+ name: string;
3271
+ message: string;
3272
+ };
3273
+ "multipart/form-data": {
3274
+ name: string;
3275
+ message: string;
3276
+ };
3277
+ "text/plain": {
3278
+ name: string;
3279
+ message: string;
3280
+ };
3281
+ };
3282
+ };
3283
+ };
3284
+ };
3285
+ "getApiMarketsByIdRequired-resources": {
3286
+ parameters: {
3287
+ query?: never;
3288
+ header?: never;
3289
+ path: {
3290
+ id: string;
3291
+ };
3292
+ cookie?: never;
3293
+ };
3294
+ requestBody?: never;
3295
+ responses: {
3296
+ 200: {
3297
+ headers: {
3298
+ [name: string]: unknown;
3299
+ };
3300
+ content: {
3301
+ "application/json": {
3302
+ required_images: string[];
3303
+ required_remote_resources: ({
3304
+ /** @constant */
3305
+ type: "Ollama";
3306
+ model: string;
3307
+ } | {
3308
+ type: "S3" | "Ollama" | "HF";
3309
+ url?: string;
3310
+ files?: string[];
3311
+ buckets?: {
3312
+ url: string;
3313
+ files?: string[];
3314
+ }[];
3315
+ IAM: {
3316
+ access_key_id: string;
3317
+ secret_access_key: string;
3318
+ };
3319
+ } | {
3320
+ type: "S3" | "Ollama" | "HF";
3321
+ url?: string;
3322
+ files?: string[];
3323
+ buckets?: {
3324
+ url: string;
3325
+ files?: string[];
3326
+ }[];
3327
+ })[];
3328
+ };
3329
+ "multipart/form-data": {
3330
+ required_images: string[];
3331
+ required_remote_resources: ({
3332
+ /** @constant */
3333
+ type: "Ollama";
3334
+ model: string;
3335
+ } | {
3336
+ type: "S3" | "Ollama" | "HF";
3337
+ url?: string;
3338
+ files?: string[];
3339
+ buckets?: {
3340
+ url: string;
3341
+ files?: string[];
3342
+ }[];
3343
+ IAM: {
3344
+ access_key_id: string;
3345
+ secret_access_key: string;
3346
+ };
3347
+ } | {
3348
+ type: "S3" | "Ollama" | "HF";
3349
+ url?: string;
3350
+ files?: string[];
3351
+ buckets?: {
3352
+ url: string;
3353
+ files?: string[];
3354
+ }[];
3355
+ })[];
3356
+ };
3357
+ "text/plain": {
3358
+ required_images: string[];
3359
+ required_remote_resources: ({
3360
+ /** @constant */
3361
+ type: "Ollama";
3362
+ model: string;
3363
+ } | {
3364
+ type: "S3" | "Ollama" | "HF";
3365
+ url?: string;
3366
+ files?: string[];
3367
+ buckets?: {
3368
+ url: string;
3369
+ files?: string[];
3370
+ }[];
3371
+ IAM: {
3372
+ access_key_id: string;
3373
+ secret_access_key: string;
3374
+ };
3375
+ } | {
3376
+ type: "S3" | "Ollama" | "HF";
3377
+ url?: string;
3378
+ files?: string[];
3379
+ buckets?: {
3380
+ url: string;
3381
+ files?: string[];
3382
+ }[];
3383
+ })[];
3384
+ };
3385
+ };
3386
+ };
3387
+ 500: {
3388
+ headers: {
3389
+ [name: string]: unknown;
3390
+ };
3391
+ content: {
3392
+ "application/json": {
3393
+ name: string;
3394
+ message: string;
3395
+ };
3396
+ "multipart/form-data": {
3397
+ name: string;
3398
+ message: string;
3399
+ };
3400
+ "text/plain": {
3401
+ name: string;
3402
+ message: string;
3403
+ };
3404
+ };
3405
+ };
3406
+ };
3407
+ };
3408
+ "postApiAuthSign-messageExternal": {
3409
+ parameters: {
3410
+ query?: never;
3411
+ header: {
3412
+ /** @description JWT token (with or without Bearer prefix) */
3413
+ authorization: string;
3414
+ };
3415
+ path?: never;
3416
+ cookie?: never;
3417
+ };
3418
+ requestBody: {
3419
+ content: {
3420
+ "application/json": {
3421
+ /** @description The message to be signed with the user's private key */
3422
+ message: string;
3423
+ };
3424
+ "multipart/form-data": {
3425
+ /** @description The message to be signed with the user's private key */
3426
+ message: string;
3427
+ };
3428
+ "text/plain": {
3429
+ /** @description The message to be signed with the user's private key */
3430
+ message: string;
3431
+ };
3432
+ };
3433
+ };
3434
+ responses: {
3435
+ 200: {
3436
+ headers: {
3437
+ [name: string]: unknown;
3438
+ };
3439
+ content: {
3440
+ "application/json": {
3441
+ /** @description The signed message in base58 format */
3442
+ signature: string;
3443
+ /** @description The original message that was signed */
3444
+ message: string;
3445
+ /** @description The address of the user whose private key should be used for signing */
3446
+ userAddress: string;
3447
+ };
3448
+ "multipart/form-data": {
3449
+ /** @description The signed message in base58 format */
3450
+ signature: string;
3451
+ /** @description The original message that was signed */
3452
+ message: string;
3453
+ /** @description The address of the user whose private key should be used for signing */
3454
+ userAddress: string;
3455
+ };
3456
+ "text/plain": {
3457
+ /** @description The signed message in base58 format */
3458
+ signature: string;
3459
+ /** @description The original message that was signed */
3460
+ message: string;
3461
+ /** @description The address of the user whose private key should be used for signing */
3462
+ userAddress: string;
3463
+ };
3464
+ };
3465
+ };
3466
+ 401: {
3467
+ headers: {
3468
+ [name: string]: unknown;
3469
+ };
3470
+ content: {
3471
+ "application/json": {
3472
+ name: string;
3473
+ message: string;
3474
+ };
3475
+ "multipart/form-data": {
3476
+ name: string;
3477
+ message: string;
3478
+ };
3479
+ "text/plain": {
3480
+ name: string;
3481
+ message: string;
3482
+ };
3483
+ };
3484
+ };
3485
+ 500: {
3486
+ headers: {
3487
+ [name: string]: unknown;
3488
+ };
3489
+ content: {
3490
+ "application/json": {
3491
+ name: string;
3492
+ message: string;
3493
+ };
3494
+ "multipart/form-data": {
3495
+ name: string;
3496
+ message: string;
3497
+ };
3498
+ "text/plain": {
3499
+ name: string;
3500
+ message: string;
3501
+ };
3502
+ };
3503
+ };
3504
+ };
3505
+ };
3506
+ getApiCreditsBalance: {
3507
+ parameters: {
3508
+ query?: never;
3509
+ header: {
3510
+ /** @description Authorization header: Bearer <jwt> or Bearer <key> */
3511
+ authorization: string;
3512
+ };
3513
+ path?: never;
3514
+ cookie?: never;
3515
+ };
3516
+ requestBody?: never;
3517
+ responses: {
3518
+ 200: {
3519
+ headers: {
3520
+ [name: string]: unknown;
3521
+ };
3522
+ content: {
3523
+ "application/json": {
3524
+ /** @description Total credits assigned to the user (USD) */
3525
+ assignedCredits: number;
3526
+ /** @description Credits reserved for pending jobs (USD) */
3527
+ reservedCredits: number;
3528
+ /** @description Credits spent/settled for completed jobs (USD) */
3529
+ settledCredits: number;
3530
+ };
3531
+ "multipart/form-data": {
3532
+ /** @description Total credits assigned to the user (USD) */
3533
+ assignedCredits: number;
3534
+ /** @description Credits reserved for pending jobs (USD) */
3535
+ reservedCredits: number;
3536
+ /** @description Credits spent/settled for completed jobs (USD) */
3537
+ settledCredits: number;
3538
+ };
3539
+ "text/plain": {
3540
+ /** @description Total credits assigned to the user (USD) */
3541
+ assignedCredits: number;
3542
+ /** @description Credits reserved for pending jobs (USD) */
3543
+ reservedCredits: number;
3544
+ /** @description Credits spent/settled for completed jobs (USD) */
3545
+ settledCredits: number;
3546
+ };
3547
+ };
3548
+ };
3549
+ };
3550
+ };
3551
+ }