@nosana/api 0.1.7 → 0.1.9

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 (38) hide show
  1. package/README.md +73 -0
  2. package/dist/client/schema.d.ts +188 -776
  3. package/dist/routes/credits/index.js +1 -1
  4. package/dist/routes/credits/index.js.map +1 -1
  5. package/dist/routes/deployments/deployment/actions/deploymentArchive.js +3 -2
  6. package/dist/routes/deployments/deployment/actions/deploymentArchive.js.map +1 -1
  7. package/dist/routes/deployments/deployment/actions/deploymentDelete.d.ts +13 -0
  8. package/dist/routes/deployments/deployment/actions/deploymentDelete.js +26 -0
  9. package/dist/routes/deployments/deployment/actions/deploymentDelete.js.map +1 -0
  10. package/dist/routes/deployments/deployment/actions/deploymentGetJob.js +1 -1
  11. package/dist/routes/deployments/deployment/actions/deploymentGetJob.js.map +1 -1
  12. package/dist/routes/deployments/deployment/actions/deploymentStart.js +3 -2
  13. package/dist/routes/deployments/deployment/actions/deploymentStart.js.map +1 -1
  14. package/dist/routes/deployments/deployment/actions/deploymentStop.js +3 -2
  15. package/dist/routes/deployments/deployment/actions/deploymentStop.js.map +1 -1
  16. package/dist/routes/deployments/deployment/actions/deploymentUpdateActiveRevision.js +1 -1
  17. package/dist/routes/deployments/deployment/actions/deploymentUpdateActiveRevision.js.map +1 -1
  18. package/dist/routes/deployments/deployment/actions/deploymentUpdateReplicaCount.js +3 -2
  19. package/dist/routes/deployments/deployment/actions/deploymentUpdateReplicaCount.js.map +1 -1
  20. package/dist/routes/deployments/deployment/actions/deploymentUpdateSchedule.js +2 -1
  21. package/dist/routes/deployments/deployment/actions/deploymentUpdateSchedule.js.map +1 -1
  22. package/dist/routes/deployments/deployment/actions/deploymentUpdateTimeout.js +3 -2
  23. package/dist/routes/deployments/deployment/actions/deploymentUpdateTimeout.js.map +1 -1
  24. package/dist/routes/deployments/deployment/actions/index.d.ts +1 -0
  25. package/dist/routes/deployments/deployment/actions/index.js +1 -0
  26. package/dist/routes/deployments/deployment/actions/index.js.map +1 -1
  27. package/dist/routes/deployments/deployment/actions/vaultWithdraw.js +1 -1
  28. package/dist/routes/deployments/deployment/actions/vaultWithdraw.js.map +1 -1
  29. package/dist/routes/deployments/deployment/createDeployment.js +24 -3
  30. package/dist/routes/deployments/deployment/createDeployment.js.map +1 -1
  31. package/dist/routes/deployments/index.js +0 -3
  32. package/dist/routes/deployments/index.js.map +1 -1
  33. package/dist/routes/deployments/types.d.ts +1 -0
  34. package/dist/routes/jobs/index.js +4 -4
  35. package/dist/routes/jobs/index.js.map +1 -1
  36. package/dist/routes/markets/index.js +3 -3
  37. package/dist/routes/markets/index.js.map +1 -1
  38. package/package.json +2 -2
@@ -296,7 +296,64 @@ export interface paths {
296
296
  };
297
297
  put?: never;
298
298
  post?: never;
299
- delete?: never;
299
+ /** @description Delete a deployment permanently */
300
+ delete: {
301
+ parameters: {
302
+ query?: never;
303
+ header: {
304
+ /** @description Required when using Wallet Authentication. The public key used to sign authentication header. */
305
+ "x-user-id"?: string;
306
+ /**
307
+ * @description Authentication token, either an API key or a wallet-signed message.
308
+ * @example Bearer <ApiKey> or WalletSignedMessage
309
+ */
310
+ authorization: string;
311
+ };
312
+ path: {
313
+ deployment: components["schemas"]["PublicKey"];
314
+ };
315
+ cookie?: never;
316
+ };
317
+ requestBody?: never;
318
+ responses: {
319
+ /** @description Deployment deleted successfully. */
320
+ 204: {
321
+ headers: {
322
+ [name: string]: unknown;
323
+ };
324
+ content: {
325
+ "application/json": unknown;
326
+ };
327
+ };
328
+ /** @description Unauthorized. Invalid or missing authentication. */
329
+ 401: {
330
+ headers: {
331
+ [name: string]: unknown;
332
+ };
333
+ content: {
334
+ "application/json": "Unauthorized";
335
+ };
336
+ };
337
+ /** @description Deployment not found. */
338
+ 404: {
339
+ headers: {
340
+ [name: string]: unknown;
341
+ };
342
+ content: {
343
+ "application/json": components["schemas"]["Error"];
344
+ };
345
+ };
346
+ /** @description Internal Server Error. */
347
+ 500: {
348
+ headers: {
349
+ [name: string]: unknown;
350
+ };
351
+ content: {
352
+ "application/json": components["schemas"]["Error"];
353
+ };
354
+ };
355
+ };
356
+ };
300
357
  options?: never;
301
358
  head?: never;
302
359
  patch?: never;
@@ -661,190 +718,7 @@ export interface paths {
661
718
  revision: number;
662
719
  deployment: string;
663
720
  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
- };
721
+ job_definition: components["schemas"]["JobDefinition"];
848
722
  /** Format: date-time */
849
723
  created_at: string;
850
724
  }[];
@@ -1831,190 +1705,7 @@ export interface components {
1831
1705
  revision: number;
1832
1706
  deployment: string;
1833
1707
  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
- };
1708
+ job_definition: components["schemas"]["JobDefinition"];
2018
1709
  /** Format: date-time */
2019
1710
  created_at: string;
2020
1711
  }[];
@@ -2024,10 +1715,14 @@ export interface components {
2024
1715
  tx: string;
2025
1716
  job: string;
2026
1717
  deployment: string;
1718
+ market: string;
2027
1719
  revision: number;
2028
- status: "PENDING" | "CONFIRMED" | "COMPLETED";
1720
+ state: "QUEUED" | "RUNNING" | "COMPLETED" | "STOPPED";
1721
+ time_start: number;
2029
1722
  /** Format: date-time */
2030
1723
  created_at: string;
1724
+ /** Format: date-time */
1725
+ updated_at: string;
2031
1726
  }[];
2032
1727
  events: {
2033
1728
  category: "Deployment" | "Event";
@@ -2050,12 +1745,17 @@ export interface components {
2050
1745
  /** Format: date-time */
2051
1746
  updated_at: string;
2052
1747
  } & ({
2053
- strategy: "SIMPLE" | "SIMPLE-EXTEND" | "INFINITE";
1748
+ strategy: "SIMPLE" | "SIMPLE-EXTEND";
2054
1749
  } | {
2055
1750
  /** @enum {string} */
2056
1751
  strategy: "SCHEDULED";
2057
1752
  /** @description Cron expression for scheduled deployments */
2058
1753
  schedule: string;
1754
+ } | {
1755
+ timeout: number;
1756
+ /** @enum {string} */
1757
+ strategy: "INFINITE";
1758
+ rotation_time: number;
2059
1759
  });
2060
1760
  /** Deployments */
2061
1761
  Deployments: components["schemas"]["Deployment"][];
@@ -2068,200 +1768,25 @@ export interface components {
2068
1768
  name: string;
2069
1769
  market: string;
2070
1770
  replicas: number;
1771
+ /** @description Timeout in minutes, must be at least 1 minute. */
2071
1772
  timeout: number;
2072
1773
  vault?: string;
2073
1774
  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
- };
1775
+ job_definition: components["schemas"]["JobDefinition"];
2258
1776
  } & ({
2259
- strategy: "SIMPLE" | "SIMPLE-EXTEND" | "INFINITE";
1777
+ strategy: "SIMPLE" | "SIMPLE-EXTEND";
2260
1778
  } | {
2261
1779
  /** @enum {string} */
2262
1780
  strategy: "SCHEDULED";
2263
1781
  /** @description Cron expression for scheduled deployments */
2264
1782
  schedule: string;
1783
+ } | {
1784
+ /** @description Timeout in minutes, must be at least 60 minute. */
1785
+ timeout: number;
1786
+ /** @enum {string} */
1787
+ strategy: "INFINITE";
1788
+ /** @description Rotation time in seconds. Must be at least 10 minutes less than timeout to allow for proper rotation. */
1789
+ rotation_time?: number;
2265
1790
  });
2266
1791
  /** Endpoint */
2267
1792
  Endpoint: {
@@ -2288,10 +1813,14 @@ export interface components {
2288
1813
  tx: string;
2289
1814
  job: string;
2290
1815
  deployment: string;
1816
+ market: string;
2291
1817
  revision: number;
2292
- status: "PENDING" | "CONFIRMED" | "COMPLETED";
1818
+ state: "QUEUED" | "RUNNING" | "COMPLETED" | "STOPPED";
1819
+ time_start: number;
2293
1820
  /** Format: date-time */
2294
1821
  created_at: string;
1822
+ /** Format: date-time */
1823
+ updated_at: string;
2295
1824
  };
2296
1825
  /** PublicKey */
2297
1826
  PublicKey: string;
@@ -2300,6 +1829,9 @@ export interface components {
2300
1829
  task: "LIST" | "EXTEND" | "STOP";
2301
1830
  deploymentId: string;
2302
1831
  tx?: string;
1832
+ job?: string;
1833
+ limit?: number;
1834
+ active_revision?: number;
2303
1835
  /** Format: date-time */
2304
1836
  due_at: string;
2305
1837
  /** Format: date-time */
@@ -2324,217 +1856,37 @@ export interface components {
2324
1856
  revision: number;
2325
1857
  deployment: string;
2326
1858
  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
- };
1859
+ job_definition: components["schemas"]["JobDefinition"];
2511
1860
  /** Format: date-time */
2512
1861
  created_at: string;
2513
1862
  };
2514
1863
  /** JobDefinition */
2515
1864
  JobDefinition: {
2516
- version: string;
1865
+ /** @enum {string} */
1866
+ version: "0.1";
2517
1867
  /** @enum {string} */
2518
1868
  type: "container";
2519
1869
  logistics?: {
2520
- send?: {
1870
+ send: {
2521
1871
  /**
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
1872
+ * @description api - we receive and send via an endpoint endpoint
1873
+ * api-listen - we create an endpoint to listen for incoming requests
2524
1874
  * @enum {string}
2525
1875
  */
2526
1876
  type: "api" | "api-listen";
1877
+ /** @description Make all properties in T optional */
2527
1878
  args: {
2528
1879
  endpoint?: string;
2529
1880
  };
2530
1881
  };
2531
- receive?: {
1882
+ receive: {
2532
1883
  /**
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
1884
+ * @description api - we receive and send via an endpoint endpoint
1885
+ * api-listen - we create an endpoint to listen for incoming requests
2535
1886
  * @enum {string}
2536
1887
  */
2537
1888
  type: "api" | "api-listen";
1889
+ /** @description Make all properties in T optional */
2538
1890
  args: {
2539
1891
  endpoint?: string;
2540
1892
  };
@@ -2543,11 +1895,14 @@ export interface components {
2543
1895
  deployment_id?: string;
2544
1896
  meta?: {
2545
1897
  trigger?: string;
1898
+ /** @description Construct a type with a set of properties K of type T */
2546
1899
  system_resources?: {
2547
1900
  [key: string]: string | number;
2548
1901
  };
2549
1902
  } & {
2550
- [key: string]: unknown;
1903
+ [key: string]: string | number | (string | number)[] | {
1904
+ [key: string]: string | number | (string | number)[];
1905
+ };
2551
1906
  };
2552
1907
  global?: {
2553
1908
  image?: string;
@@ -2561,11 +1916,6 @@ export interface components {
2561
1916
  [key: string]: string;
2562
1917
  };
2563
1918
  };
2564
- /**
2565
- * @description **********************
2566
- * Job Definition Types *
2567
- * **********************
2568
- */
2569
1919
  ops: {
2570
1920
  /** @enum {string} */
2571
1921
  type: "container/run" | "container/create-volume";
@@ -2580,10 +1930,11 @@ export interface components {
2580
1930
  }[];
2581
1931
  expose?: number | string | {
2582
1932
  __spread__: string;
2583
- } | (number | string | {
2584
- port: number | string;
1933
+ chunked?: boolean;
1934
+ } | {
1935
+ port: number;
2585
1936
  /** @enum {string} */
2586
- type?: "web" | "api" | "websocket" | "webapi" | "none";
1937
+ type?: "api" | "web" | "websocket" | "webapi" | "none";
2587
1938
  health_checks?: ({
2588
1939
  /** @enum {string} */
2589
1940
  type: "http";
@@ -2603,19 +1954,49 @@ export interface components {
2603
1954
  expected_response: string;
2604
1955
  continuous: boolean;
2605
1956
  })[];
2606
- } | {
1957
+ } | (number | string | {
2607
1958
  __spread__: string;
1959
+ chunked?: boolean;
1960
+ } | {
1961
+ port: number;
1962
+ /** @enum {string} */
1963
+ type?: "api" | "web" | "websocket" | "webapi" | "none";
1964
+ health_checks?: ({
1965
+ /** @enum {string} */
1966
+ type: "http";
1967
+ path: string;
1968
+ /** @enum {string} */
1969
+ method: "GET" | "POST" | "PUT" | "DELETE";
1970
+ expected_status: number;
1971
+ /** @description Construct a type with a set of properties K of type T */
1972
+ headers?: {
1973
+ [key: string]: string;
1974
+ };
1975
+ body?: unknown;
1976
+ continuous: boolean;
1977
+ } | {
1978
+ /** @enum {string} */
1979
+ type: "websocket";
1980
+ expected_response: string;
1981
+ continuous: boolean;
1982
+ })[];
2608
1983
  })[];
2609
- private?: boolean;
2610
1984
  gpu?: boolean;
2611
1985
  work_dir?: string;
2612
- output?: string;
2613
1986
  entrypoint?: string | string[];
2614
1987
  env?: {
2615
1988
  [key: string]: string;
2616
1989
  };
2617
- required_vram?: number;
2618
- resources?: (({
1990
+ restart_policy?: {
1991
+ /** @enum {string} */
1992
+ policy: "on-failure";
1993
+ restart_tries?: number;
1994
+ } | ("no" | "always" | "unless-stopped" | "on-failure");
1995
+ private?: boolean;
1996
+ resources?: ({
1997
+ __spread__: string;
1998
+ chunked?: boolean;
1999
+ } | {
2619
2000
  /** @enum {string} */
2620
2001
  type: "S3";
2621
2002
  target: string;
@@ -2627,7 +2008,7 @@ export interface components {
2627
2008
  ACCESS_KEY_ID: string;
2628
2009
  SECRET_ACCESS_KEY: string;
2629
2010
  };
2630
- } & Record<string, never>) | ({
2011
+ } | {
2631
2012
  /** @enum {string} */
2632
2013
  type: "S3";
2633
2014
  target: string;
@@ -2639,7 +2020,7 @@ export interface components {
2639
2020
  ACCESS_KEY_ID: string;
2640
2021
  SECRET_ACCESS_KEY: string;
2641
2022
  };
2642
- } & Record<string, never>) | ({
2023
+ } | {
2643
2024
  /** @enum {string} */
2644
2025
  type: "S3";
2645
2026
  target: string;
@@ -2654,7 +2035,7 @@ export interface components {
2654
2035
  ACCESS_KEY_ID: string;
2655
2036
  SECRET_ACCESS_KEY: string;
2656
2037
  };
2657
- } & Record<string, never>) | {
2038
+ } | {
2658
2039
  /** @enum {string} */
2659
2040
  type: "HF";
2660
2041
  target: string;
@@ -2667,8 +2048,6 @@ export interface components {
2667
2048
  type: "Ollama";
2668
2049
  model: string;
2669
2050
  target?: string;
2670
- } | {
2671
- __spread__: string;
2672
2051
  } | "__remove-if-empty__")[];
2673
2052
  authentication?: {
2674
2053
  docker?: {
@@ -2696,12 +2075,7 @@ export interface components {
2696
2075
  };
2697
2076
  }[];
2698
2077
  };
2699
- /**
2700
- * JobResults
2701
- * @description **********************
2702
- * Job Result Types *
2703
- * **********************
2704
- */
2078
+ /** JobResults */
2705
2079
  JobResults: {
2706
2080
  status: string;
2707
2081
  startTime: number;
@@ -2719,10 +2093,48 @@ export interface components {
2719
2093
  /** @enum {string} */
2720
2094
  type: "stdin" | "stdout" | "stderr" | "nodeerr";
2721
2095
  log?: string;
2096
+ timestamp?: string;
2722
2097
  }[];
2723
2098
  results?: {
2724
2099
  [key: string]: string | string[];
2725
2100
  };
2101
+ error?: {
2102
+ event: string;
2103
+ message: string;
2104
+ code?: number;
2105
+ };
2106
+ diagnostics: {
2107
+ reason: {
2108
+ hostShutDown: boolean;
2109
+ jobStopped: boolean;
2110
+ jobExpired: boolean;
2111
+ reason?: string;
2112
+ };
2113
+ state?: {
2114
+ Status: string;
2115
+ Running: boolean;
2116
+ Paused: boolean;
2117
+ Restarting: boolean;
2118
+ OOMKilled: boolean;
2119
+ Dead: boolean;
2120
+ Pid: number;
2121
+ ExitCode: number;
2122
+ Error: string;
2123
+ StartedAt: string;
2124
+ FinishedAt: string;
2125
+ Health?: {
2126
+ Status: string;
2127
+ FailingStreak: number;
2128
+ Log: {
2129
+ Start: string;
2130
+ End: string;
2131
+ ExitCode: number;
2132
+ Output: string;
2133
+ }[];
2134
+ };
2135
+ RestartCount: number;
2136
+ };
2137
+ };
2726
2138
  }[];
2727
2139
  secrets?: {
2728
2140
  /** @enum {string} */
@@ -2957,7 +2369,7 @@ export interface operations {
2957
2369
  benchmarkProcessedAt: (Record<string, never> | string) | null;
2958
2370
  timeout: number;
2959
2371
  usdRewardPerHour: number | null;
2960
- listedAt: number;
2372
+ listedAt: number | null;
2961
2373
  };
2962
2374
  "multipart/form-data": {
2963
2375
  ipfsJob: string;
@@ -2977,7 +2389,7 @@ export interface operations {
2977
2389
  benchmarkProcessedAt: (Record<string, never> | string) | null;
2978
2390
  timeout: number;
2979
2391
  usdRewardPerHour: number | null;
2980
- listedAt: number;
2392
+ listedAt: number | null;
2981
2393
  };
2982
2394
  "text/plain": {
2983
2395
  ipfsJob: string;
@@ -2997,7 +2409,7 @@ export interface operations {
2997
2409
  benchmarkProcessedAt: (Record<string, never> | string) | null;
2998
2410
  timeout: number;
2999
2411
  usdRewardPerHour: number | null;
3000
- listedAt: number;
2412
+ listedAt: number | null;
3001
2413
  };
3002
2414
  };
3003
2415
  };