@nosana/api 2.12.0 → 2.13.2

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 (214) hide show
  1. package/README.md +35 -0
  2. package/dist/client/createClient.d.ts +5 -3
  3. package/dist/client/createClient.d.ts.map +1 -1
  4. package/dist/client/createClient.js +4 -2
  5. package/dist/client/createClient.js.map +1 -1
  6. package/dist/client/deployment-manager/schema.d.ts +166 -100
  7. package/dist/client/deployment-manager/schema.d.ts.map +1 -1
  8. package/dist/client/index.d.ts +1 -0
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +1 -0
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/node/index.d.ts +23 -0
  13. package/dist/client/node/index.d.ts.map +1 -0
  14. package/dist/client/node/index.js +24 -0
  15. package/dist/client/node/index.js.map +1 -0
  16. package/dist/defaults/index.d.ts.map +1 -1
  17. package/dist/defaults/index.js +3 -0
  18. package/dist/defaults/index.js.map +1 -1
  19. package/dist/index.d.ts +18 -8
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +15 -3
  22. package/dist/index.js.map +1 -1
  23. package/dist/routes/auth/index.d.ts.map +1 -1
  24. package/dist/routes/auth/index.js +12 -0
  25. package/dist/routes/auth/index.js.map +1 -1
  26. package/dist/routes/auth/types.d.ts +8 -0
  27. package/dist/routes/auth/types.d.ts.map +1 -1
  28. package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.d.ts +9 -0
  29. package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.d.ts.map +1 -0
  30. package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.js +17 -0
  31. package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.js.map +1 -0
  32. package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.d.ts +7 -0
  33. package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.d.ts.map +1 -0
  34. package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.js +14 -0
  35. package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.js.map +1 -0
  36. package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.d.ts +9 -0
  37. package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.d.ts.map +1 -0
  38. package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.js +17 -0
  39. package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.js.map +1 -0
  40. package/dist/routes/deployments/deployment/actions/deploymentStream.d.ts.map +1 -1
  41. package/dist/routes/deployments/deployment/actions/deploymentStream.js +10 -30
  42. package/dist/routes/deployments/deployment/actions/deploymentStream.js.map +1 -1
  43. package/dist/routes/deployments/deployment/actions/index.d.ts +3 -0
  44. package/dist/routes/deployments/deployment/actions/index.d.ts.map +1 -1
  45. package/dist/routes/deployments/deployment/actions/index.js +3 -0
  46. package/dist/routes/deployments/deployment/actions/index.js.map +1 -1
  47. package/dist/routes/deployments/deployment/createDeployment.d.ts.map +1 -1
  48. package/dist/routes/deployments/deployment/createDeployment.js +68 -12
  49. package/dist/routes/deployments/deployment/createDeployment.js.map +1 -1
  50. package/dist/routes/deployments/types.d.ts +44 -10
  51. package/dist/routes/deployments/types.d.ts.map +1 -1
  52. package/dist/routes/index.d.ts +1 -0
  53. package/dist/routes/index.d.ts.map +1 -1
  54. package/dist/routes/index.js +1 -0
  55. package/dist/routes/index.js.map +1 -1
  56. package/dist/routes/jobs/index.d.ts +8 -2
  57. package/dist/routes/jobs/index.d.ts.map +1 -1
  58. package/dist/routes/jobs/index.js +64 -14
  59. package/dist/routes/jobs/index.js.map +1 -1
  60. package/dist/routes/jobs/types.d.ts +17 -1
  61. package/dist/routes/jobs/types.d.ts.map +1 -1
  62. package/dist/routes/node/__tests__/fixtures.d.ts +30 -0
  63. package/dist/routes/node/__tests__/fixtures.d.ts.map +1 -0
  64. package/dist/routes/node/__tests__/fixtures.js +38 -0
  65. package/dist/routes/node/__tests__/fixtures.js.map +1 -0
  66. package/dist/routes/node/actions/authorization.d.ts +4 -0
  67. package/dist/routes/node/actions/authorization.d.ts.map +1 -0
  68. package/dist/routes/node/actions/authorization.js +9 -0
  69. package/dist/routes/node/actions/authorization.js.map +1 -0
  70. package/dist/routes/node/actions/nodeInfo.d.ts +4 -0
  71. package/dist/routes/node/actions/nodeInfo.d.ts.map +1 -0
  72. package/dist/routes/node/actions/nodeInfo.js +9 -0
  73. package/dist/routes/node/actions/nodeInfo.js.map +1 -0
  74. package/dist/routes/node/actions/nodeJob/index.d.ts +14 -0
  75. package/dist/routes/node/actions/nodeJob/index.d.ts.map +1 -0
  76. package/dist/routes/node/actions/nodeJob/index.js +14 -0
  77. package/dist/routes/node/actions/nodeJob/index.js.map +1 -0
  78. package/dist/routes/node/actions/nodeJob/nodeJobDefinition.d.ts +4 -0
  79. package/dist/routes/node/actions/nodeJob/nodeJobDefinition.d.ts.map +1 -0
  80. package/dist/routes/node/actions/nodeJob/nodeJobDefinition.js +9 -0
  81. package/dist/routes/node/actions/nodeJob/nodeJobDefinition.js.map +1 -0
  82. package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.d.ts +4 -0
  83. package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.d.ts.map +1 -0
  84. package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.js +9 -0
  85. package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.js.map +1 -0
  86. package/dist/routes/node/actions/nodeJob/nodeJobGroup.d.ts +4 -0
  87. package/dist/routes/node/actions/nodeJob/nodeJobGroup.d.ts.map +1 -0
  88. package/dist/routes/node/actions/nodeJob/nodeJobGroup.js +11 -0
  89. package/dist/routes/node/actions/nodeJob/nodeJobGroup.js.map +1 -0
  90. package/dist/routes/node/actions/nodeJob/nodeJobOperation.d.ts +3 -0
  91. package/dist/routes/node/actions/nodeJob/nodeJobOperation.d.ts.map +1 -0
  92. package/dist/routes/node/actions/nodeJob/nodeJobOperation.js +9 -0
  93. package/dist/routes/node/actions/nodeJob/nodeJobOperation.js.map +1 -0
  94. package/dist/routes/node/actions/nodeJob/nodeJobOperations.d.ts +4 -0
  95. package/dist/routes/node/actions/nodeJob/nodeJobOperations.d.ts.map +1 -0
  96. package/dist/routes/node/actions/nodeJob/nodeJobOperations.js +9 -0
  97. package/dist/routes/node/actions/nodeJob/nodeJobOperations.js.map +1 -0
  98. package/dist/routes/node/actions/nodeJob/nodeJobResults.d.ts +4 -0
  99. package/dist/routes/node/actions/nodeJob/nodeJobResults.d.ts.map +1 -0
  100. package/dist/routes/node/actions/nodeJob/nodeJobResults.js +9 -0
  101. package/dist/routes/node/actions/nodeJob/nodeJobResults.js.map +1 -0
  102. package/dist/routes/node/actions/nodeJob/nodeJobStats.d.ts +4 -0
  103. package/dist/routes/node/actions/nodeJob/nodeJobStats.d.ts.map +1 -0
  104. package/dist/routes/node/actions/nodeJob/nodeJobStats.js +9 -0
  105. package/dist/routes/node/actions/nodeJob/nodeJobStats.js.map +1 -0
  106. package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.d.ts +3 -0
  107. package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.d.ts.map +1 -0
  108. package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.js +10 -0
  109. package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.js.map +1 -0
  110. package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.d.ts +3 -0
  111. package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.d.ts.map +1 -0
  112. package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.js +10 -0
  113. package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.js.map +1 -0
  114. package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.d.ts +4 -0
  115. package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.d.ts.map +1 -0
  116. package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.js +12 -0
  117. package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.js.map +1 -0
  118. package/dist/routes/node/actions/nodeJob/stopNodeJob.d.ts +3 -0
  119. package/dist/routes/node/actions/nodeJob/stopNodeJob.d.ts.map +1 -0
  120. package/dist/routes/node/actions/nodeJob/stopNodeJob.js +11 -0
  121. package/dist/routes/node/actions/nodeJob/stopNodeJob.js.map +1 -0
  122. package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.d.ts +3 -0
  123. package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.d.ts.map +1 -0
  124. package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.js +10 -0
  125. package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.js.map +1 -0
  126. package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.d.ts +3 -0
  127. package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.d.ts.map +1 -0
  128. package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.js +10 -0
  129. package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.js.map +1 -0
  130. package/dist/routes/node/actions/nodeJobSsh/index.d.ts +4 -0
  131. package/dist/routes/node/actions/nodeJobSsh/index.d.ts.map +1 -0
  132. package/dist/routes/node/actions/nodeJobSsh/index.js +4 -0
  133. package/dist/routes/node/actions/nodeJobSsh/index.js.map +1 -0
  134. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.d.ts +5 -0
  135. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.d.ts.map +1 -0
  136. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.js +25 -0
  137. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.js.map +1 -0
  138. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.d.ts +4 -0
  139. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.d.ts.map +1 -0
  140. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.js +12 -0
  141. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.js.map +1 -0
  142. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.d.ts +4 -0
  143. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.d.ts.map +1 -0
  144. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.js +14 -0
  145. package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.js.map +1 -0
  146. package/dist/routes/node/actions/nodeJobStreams/index.d.ts +3 -0
  147. package/dist/routes/node/actions/nodeJobStreams/index.d.ts.map +1 -0
  148. package/dist/routes/node/actions/nodeJobStreams/index.js +3 -0
  149. package/dist/routes/node/actions/nodeJobStreams/index.js.map +1 -0
  150. package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.d.ts +4 -0
  151. package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.d.ts.map +1 -0
  152. package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.js +5 -0
  153. package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.js.map +1 -0
  154. package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.d.ts +4 -0
  155. package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.d.ts.map +1 -0
  156. package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.js +6 -0
  157. package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.js.map +1 -0
  158. package/dist/routes/node/actions/nodeJobStreams/nodeStream.d.ts +5 -0
  159. package/dist/routes/node/actions/nodeJobStreams/nodeStream.d.ts.map +1 -0
  160. package/dist/routes/node/actions/nodeJobStreams/nodeStream.js +10 -0
  161. package/dist/routes/node/actions/nodeJobStreams/nodeStream.js.map +1 -0
  162. package/dist/routes/node/actions/nodeSocket/index.d.ts +4 -0
  163. package/dist/routes/node/actions/nodeSocket/index.d.ts.map +1 -0
  164. package/dist/routes/node/actions/nodeSocket/index.js +4 -0
  165. package/dist/routes/node/actions/nodeSocket/index.js.map +1 -0
  166. package/dist/routes/node/actions/nodeSocket/nodeJobLogs.d.ts +3 -0
  167. package/dist/routes/node/actions/nodeSocket/nodeJobLogs.d.ts.map +1 -0
  168. package/dist/routes/node/actions/nodeSocket/nodeJobLogs.js +10 -0
  169. package/dist/routes/node/actions/nodeSocket/nodeJobLogs.js.map +1 -0
  170. package/dist/routes/node/actions/nodeSocket/nodeJobStatus.d.ts +3 -0
  171. package/dist/routes/node/actions/nodeSocket/nodeJobStatus.d.ts.map +1 -0
  172. package/dist/routes/node/actions/nodeSocket/nodeJobStatus.js +5 -0
  173. package/dist/routes/node/actions/nodeSocket/nodeJobStatus.js.map +1 -0
  174. package/dist/routes/node/actions/nodeSocket/socket.d.ts +19 -0
  175. package/dist/routes/node/actions/nodeSocket/socket.d.ts.map +1 -0
  176. package/dist/routes/node/actions/nodeSocket/socket.js +38 -0
  177. package/dist/routes/node/actions/nodeSocket/socket.js.map +1 -0
  178. package/dist/routes/node/actions/terminal/grant.d.ts +21 -0
  179. package/dist/routes/node/actions/terminal/grant.d.ts.map +1 -0
  180. package/dist/routes/node/actions/terminal/grant.js +28 -0
  181. package/dist/routes/node/actions/terminal/grant.js.map +1 -0
  182. package/dist/routes/node/actions/terminal/openTerminal.d.ts +4 -0
  183. package/dist/routes/node/actions/terminal/openTerminal.d.ts.map +1 -0
  184. package/dist/routes/node/actions/terminal/openTerminal.js +22 -0
  185. package/dist/routes/node/actions/terminal/openTerminal.js.map +1 -0
  186. package/dist/routes/node/actions/terminal/session.d.ts +7 -0
  187. package/dist/routes/node/actions/terminal/session.d.ts.map +1 -0
  188. package/dist/routes/node/actions/terminal/session.js +133 -0
  189. package/dist/routes/node/actions/terminal/session.js.map +1 -0
  190. package/dist/routes/node/createNodeJob.d.ts +3 -0
  191. package/dist/routes/node/createNodeJob.d.ts.map +1 -0
  192. package/dist/routes/node/createNodeJob.js +39 -0
  193. package/dist/routes/node/createNodeJob.js.map +1 -0
  194. package/dist/routes/node/index.d.ts +8 -0
  195. package/dist/routes/node/index.d.ts.map +1 -0
  196. package/dist/routes/node/index.js +21 -0
  197. package/dist/routes/node/index.js.map +1 -0
  198. package/dist/routes/node/types.d.ts +148 -0
  199. package/dist/routes/node/types.d.ts.map +1 -0
  200. package/dist/routes/node/types.js +2 -0
  201. package/dist/routes/node/types.js.map +1 -0
  202. package/dist/types.d.ts +31 -2
  203. package/dist/types.d.ts.map +1 -1
  204. package/dist/types.js +2 -1
  205. package/dist/types.js.map +1 -1
  206. package/dist/utils/eventStream.d.ts +15 -0
  207. package/dist/utils/eventStream.d.ts.map +1 -0
  208. package/dist/utils/eventStream.js +36 -0
  209. package/dist/utils/eventStream.js.map +1 -0
  210. package/dist/utils/json.d.ts +3 -0
  211. package/dist/utils/json.d.ts.map +1 -0
  212. package/dist/utils/json.js +10 -0
  213. package/dist/utils/json.js.map +1 -0
  214. package/package.json +7 -3
@@ -5,6 +5,14 @@ export type NosanaAuthApi = {
5
5
  signMessage: (message: string, options?: {
6
6
  includeTime?: boolean;
7
7
  }) => Promise<string>;
8
+ /**
9
+ * Signs `message` and returns it as a Nosana `authorization` header
10
+ * (`message:signature[:timestamp]`), the form a node verifies against the job
11
+ * owner. Lets an API-key caller reach a node without a local wallet.
12
+ */
13
+ signHeader: (message: string, options?: {
14
+ includeTime?: boolean;
15
+ }) => Promise<string>;
8
16
  validateSession: (cookieHeader?: string) => Promise<ValidateSessionResponse>;
9
17
  validateApiKey: (apiKey: string) => Promise<ValidateApiKeyResponse>;
10
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC/H,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAE9H,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrE,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAEnE,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC/H,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAE9H,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvF;;;;OAIG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtF,eAAe,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC7E,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACrE,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { DeploymentManagerClient } from '../../../../client/deployment-manager/index.js';
2
+ import type { DeploymentSshKeysResult, DeploymentState } from '../../types.js';
3
+ /**
4
+ * Grants one or more SSH public keys access to a deployment's jobs. Keys already
5
+ * present (same type and material) are left as they are; the node authorizes the
6
+ * new keys on every job currently running.
7
+ */
8
+ export declare function deploymentAddSshKeys(publicKeys: string | string[], client: DeploymentManagerClient, state: DeploymentState): Promise<DeploymentSshKeysResult>;
9
+ //# sourceMappingURL=deploymentAddSshKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentAddSshKeys.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentAddSshKeys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/E;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAWlC"}
@@ -0,0 +1,17 @@
1
+ import { errorFormatter } from '../../../../utils/errorFormatter.js';
2
+ /**
3
+ * Grants one or more SSH public keys access to a deployment's jobs. Keys already
4
+ * present (same type and material) are left as they are; the node authorizes the
5
+ * new keys on every job currently running.
6
+ */
7
+ export async function deploymentAddSshKeys(publicKeys, client, state) {
8
+ const { data, error } = await client.POST('/deployments/{deployment}/ssh-keys', {
9
+ params: { path: { deployment: state.id } },
10
+ body: { public_keys: Array.isArray(publicKeys) ? publicKeys : [publicKeys] },
11
+ });
12
+ if (error || !data) {
13
+ throw errorFormatter('Error adding deployment SSH keys', error);
14
+ }
15
+ return data;
16
+ }
17
+ //# sourceMappingURL=deploymentAddSshKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentAddSshKeys.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentAddSshKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAA6B,EAC7B,MAA+B,EAC/B,KAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;QAC9E,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;QAC1C,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;KAC7E,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DeploymentManagerClient } from '../../../../client/deployment-manager/index.js';
2
+ import type { DeploymentSshKeys, DeploymentState } from '../../types.js';
3
+ /**
4
+ * Gets the SSH public keys configured for a deployment.
5
+ */
6
+ export declare function deploymentGetSshKeys(client: DeploymentManagerClient, state: DeploymentState): Promise<DeploymentSshKeys>;
7
+ //# sourceMappingURL=deploymentGetSshKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentGetSshKeys.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentGetSshKeys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAa5B"}
@@ -0,0 +1,14 @@
1
+ import { errorFormatter } from '../../../../utils/errorFormatter.js';
2
+ /**
3
+ * Gets the SSH public keys configured for a deployment.
4
+ */
5
+ export async function deploymentGetSshKeys(client, state) {
6
+ const { data, error } = await client.GET('/deployments/{deployment}/ssh-keys', {
7
+ params: { path: { deployment: state.id } },
8
+ });
9
+ if (error || !data) {
10
+ throw errorFormatter('Error getting deployment SSH keys', error);
11
+ }
12
+ return data;
13
+ }
14
+ //# sourceMappingURL=deploymentGetSshKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentGetSshKeys.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentGetSshKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA+B,EAC/B,KAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CACtC,oCAAoC,EACpC;QACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;KAC3C,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { DeploymentManagerClient } from '../../../../client/deployment-manager/index.js';
2
+ import type { DeploymentSshKeysResult, DeploymentState } from '../../types.js';
3
+ /**
4
+ * Revokes one or more SSH public keys from a deployment's jobs. A key is matched
5
+ * by its type and material, so a differing comment still revokes it; the node
6
+ * revokes it on every job currently running.
7
+ */
8
+ export declare function deploymentRemoveSshKeys(publicKeys: string | string[], client: DeploymentManagerClient, state: DeploymentState): Promise<DeploymentSshKeysResult>;
9
+ //# sourceMappingURL=deploymentRemoveSshKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentRemoveSshKeys.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentRemoveSshKeys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/E;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,EAC7B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,uBAAuB,CAAC,CAWlC"}
@@ -0,0 +1,17 @@
1
+ import { errorFormatter } from '../../../../utils/errorFormatter.js';
2
+ /**
3
+ * Revokes one or more SSH public keys from a deployment's jobs. A key is matched
4
+ * by its type and material, so a differing comment still revokes it; the node
5
+ * revokes it on every job currently running.
6
+ */
7
+ export async function deploymentRemoveSshKeys(publicKeys, client, state) {
8
+ const { data, error } = await client.DELETE('/deployments/{deployment}/ssh-keys', {
9
+ params: { path: { deployment: state.id } },
10
+ body: { public_keys: Array.isArray(publicKeys) ? publicKeys : [publicKeys] },
11
+ });
12
+ if (error || !data) {
13
+ throw errorFormatter('Error revoking deployment SSH keys', error);
14
+ }
15
+ return data;
16
+ }
17
+ //# sourceMappingURL=deploymentRemoveSshKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentRemoveSshKeys.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentRemoveSshKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,UAA6B,EAC7B,MAA+B,EAC/B,KAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,oCAAoC,EAAE;QAChF,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;QAC1C,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;KAC7E,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploymentStream.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentStream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EACV,eAAe,EAGf,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,gBAAgB,CAAC;AAkDxB;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,wBAAwB,GACjC,4BAA4B,CAmC9B"}
1
+ {"version":3,"file":"deploymentStream.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentStream.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EACV,eAAe,EAGf,wBAAwB,EACxB,4BAA4B,EAC7B,MAAM,gBAAgB,CAAC;AAiDxB;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,wBAAwB,GACjC,4BAA4B,CAQ9B"}
@@ -1,4 +1,4 @@
1
- import { EventSource } from 'eventsource';
1
+ import { openEventStream } from '../../../../utils/eventStream.js';
2
2
  /**
3
3
  * Every frame arrives as an unnamed `message`, discriminated by a `type` field
4
4
  * in its payload rather than by the SSE `event:` line, so the handler for a
@@ -30,7 +30,8 @@ function dispatch(handlers, type, event) {
30
30
  * manager's schema.
31
31
  */
32
32
  function isDeploymentStreamEvent(value) {
33
- return typeof value?.type === 'string' && value.type in DISPATCH;
33
+ const type = value?.type;
34
+ return typeof type === 'string' && type in DISPATCH;
34
35
  }
35
36
  /**
36
37
  * @returns A function that closes the stream.
@@ -46,34 +47,13 @@ function isDeploymentStreamEvent(value) {
46
47
  * caller that gave up on the first failure would lose the signal for good.
47
48
  */
48
49
  export function deploymentStream(client, state, handlers) {
49
- const { baseUrl, headers, credentials } = client.connection;
50
- const url = `${baseUrl}/deployments/${encodeURIComponent(state.id)}/stream`;
51
- const source = new EventSource(url, {
52
- fetch: async (input, init) => fetch(input, {
53
- ...init,
54
- // Under cookie auth there are no headers to copy, so the stream has to
55
- // opt into sending the cookie or it authenticates as nobody.
56
- ...(credentials ? { credentials } : {}),
57
- headers: { ...init.headers, ...(await headers()) },
58
- }),
50
+ return openEventStream(client.connection, `/deployments/${encodeURIComponent(state.id)}/stream`, {
51
+ onOpen: handlers.onOpen,
52
+ onError: handlers.onError,
53
+ onMessage: (frame) => {
54
+ if (isDeploymentStreamEvent(frame))
55
+ dispatch(handlers, frame.type, frame);
56
+ },
59
57
  });
60
- source.onopen = () => handlers.onOpen?.();
61
- source.onerror = (error) => handlers.onError?.(error);
62
- source.onmessage = ({ data }) => {
63
- // Malformed frames are ignored; the catch also swallows a handler that
64
- // throws, the price of keeping `parsed` inside the try.
65
- try {
66
- const parsed = JSON.parse(data);
67
- if (!isDeploymentStreamEvent(parsed))
68
- return;
69
- dispatch(handlers, parsed.type, parsed);
70
- }
71
- catch {
72
- return;
73
- }
74
- };
75
- return {
76
- close: () => source.close(),
77
- };
78
58
  }
79
59
  //# sourceMappingURL=deploymentStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploymentStream.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploymentStream.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAWnE;;;;;;;GAOG;AACH,MAAM,QAAQ,GAKV;IACF,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC;IAC/D,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC;IACjD,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IACnD,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;IACrD,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IACnD,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;CAC5D,CAAC;AAEF;;;;GAIG;AACH,SAAS,QAAQ,CACf,QAAkC,EAClC,IAAO,EACP,KAAiC;IAEjC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,MAAM,IAAI,GAAI,KAAmC,EAAE,IAAI,CAAC;IACxD,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,QAAQ,CAAC;AACtD,CAAC;AAGD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAA+B,EAC/B,KAAsB,EACtB,QAAkC;IAElC,OAAO,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE;QAC/F,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,uBAAuB,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5E,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './deploymentAddSshKeys.js';
1
2
  export * from './deploymentArchive.js';
2
3
  export * from './deploymentCreateNewRevision.js';
3
4
  export * from './deploymentDelete.js';
@@ -6,7 +7,9 @@ export * from './deploymentGetEvents.js';
6
7
  export * from './deploymentGetJob.js';
7
8
  export * from './deploymentGetJobs.js';
8
9
  export * from './deploymentGetRevisions.js';
10
+ export * from './deploymentGetSshKeys.js';
9
11
  export * from './deploymentGetTasks.js';
12
+ export * from './deploymentRemoveSshKeys.js';
10
13
  export * from './deploymentStart.js';
11
14
  export * from './deploymentStop.js';
12
15
  export * from './deploymentGenerateAuthHeader.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './deploymentAddSshKeys.js';
1
2
  export * from './deploymentArchive.js';
2
3
  export * from './deploymentCreateNewRevision.js';
3
4
  export * from './deploymentDelete.js';
@@ -6,7 +7,9 @@ export * from './deploymentGetEvents.js';
6
7
  export * from './deploymentGetJob.js';
7
8
  export * from './deploymentGetJobs.js';
8
9
  export * from './deploymentGetRevisions.js';
10
+ export * from './deploymentGetSshKeys.js';
9
11
  export * from './deploymentGetTasks.js';
12
+ export * from './deploymentRemoveSshKeys.js';
10
13
  export * from './deploymentStart.js';
11
14
  export * from './deploymentStop.js';
12
15
  export * from './deploymentGenerateAuthHeader.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createDeployment.d.ts","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAEV,UAAU,EAEV,aAAa,EAad,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE/E,KAAK,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,sBAAsB,EAC/B,SAAS,EAAE,IAAI,GACd,aAAa,CAAC;AACjB,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,KAAK,GACf,UAAU,CAAC"}
1
+ {"version":3,"file":"createDeployment.d.ts","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAEV,UAAU,EAEV,aAAa,EAgBd,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,sBAAsB,EACtB,gCAAgC,EACjC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE/E,KAAK,gBAAgB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AAE5D,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,sBAAsB,EAC/B,SAAS,EAAE,IAAI,GACd,aAAa,CAAC;AACjB,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,EAAE,gCAAgC,EACzC,SAAS,EAAE,KAAK,GACf,UAAU,CAAC"}
@@ -1,5 +1,6 @@
1
- import { deploymentStop, deploymentStart, deploymentGetEvents, deploymentStream, deploymentGetJob, deploymentGetJobs, deploymentGetRevisions, deploymentArchive, deploymentUpdateReplicaCount, deploymentGetTasks, deploymentUpdateTimeout, deploymentCreateNewRevision, deploymentUpdateActiveRevision, deploymentUpdateSchedule, deploymentUpdateName, deploymentGenerateAuthHeader, deploymentDelete, deploymentUpdateMarket, deploymentDuplicate, } from './actions/index.js';
1
+ import { deploymentStop, deploymentStart, deploymentGetEvents, deploymentStream, deploymentGetJob, deploymentGetJobs, deploymentGetRevisions, deploymentGetSshKeys, deploymentArchive, deploymentUpdateReplicaCount, deploymentGetTasks, deploymentUpdateTimeout, deploymentCreateNewRevision, deploymentUpdateActiveRevision, deploymentUpdateSchedule, deploymentAddSshKeys, deploymentRemoveSshKeys, deploymentUpdateName, deploymentGenerateAuthHeader, deploymentDelete, deploymentUpdateMarket, deploymentDuplicate, } from './actions/index.js';
2
2
  import { createVault } from './createVault.js';
3
+ import { createNosanaNodeApi } from '../../node/index.js';
3
4
  export function createDeployment(deployment, clients, hasApiKey) {
4
5
  const client = clients.deploymentManager;
5
6
  let state = {
@@ -146,21 +147,75 @@ export function createDeployment(deployment, clients, hasApiKey) {
146
147
  const generateAuthHeader = async (query) => {
147
148
  return await deploymentGenerateAuthHeader(client, state, query);
148
149
  };
149
- const getJob = async (job) => {
150
- return await deploymentGetJob(client, state.id, job);
150
+ /**
151
+ * @description SSH key management for the deployment's jobs.
152
+ * Keys are stored on the deployment (no new revision or restart) and injected
153
+ * into every job posted from then on. Running jobs are updated in place where
154
+ * their node allows it; check the returned `jobs` for nodes that did not.
155
+ */
156
+ const ssh = {
157
+ /**
158
+ * @throws Error if there is an error fetching the keys
159
+ * @returns Promise<string[]> The SSH public keys currently granted access
160
+ */
161
+ keys: async () => {
162
+ const { public_keys } = await deploymentGetSshKeys(client, state);
163
+ return public_keys;
164
+ },
165
+ /**
166
+ * @param publicKeys One or more OpenSSH public keys to grant access
167
+ * @throws Error if there is an error updating the keys
168
+ * @returns Promise<DeploymentSshKeysResult> The stored set and per-job node results
169
+ * @description Grants the keys access. Keys already present are left as they are.
170
+ */
171
+ add: async (publicKeys) => {
172
+ return await deploymentAddSshKeys(publicKeys, client, state);
173
+ },
174
+ /**
175
+ * @param publicKeys One or more OpenSSH public keys to revoke
176
+ * @throws Error if there is an error updating the keys
177
+ * @returns Promise<DeploymentSshKeysResult> The stored set and per-job node results
178
+ * @description Revokes the keys. A removed key stops working on a running job only when that job restarts.
179
+ */
180
+ remove: async (publicKeys) => {
181
+ return await deploymentRemoveSshKeys(publicKeys, client, state);
182
+ },
151
183
  };
184
+ // Built lazily on first node access and reused. Every node call is authorized
185
+ // by the deployment manager signing on the deployment's behalf (no local
186
+ // wallet; works under API-key auth).
187
+ let nodeFactory;
188
+ const nodeJob = (node, jobAddress) => {
189
+ nodeFactory ?? (nodeFactory = createNosanaNodeApi({
190
+ environment: clients.environment,
191
+ authParams: { generate: (message) => generateAuthHeader({ message, includeTime: 'true' }) },
192
+ options: clients.options,
193
+ }));
194
+ return nodeFactory(node).job(jobAddress);
195
+ };
196
+ /** Attaches a job's node job API once it has been scheduled onto a node. */
197
+ const attachNode = (item) => (item.node ? Object.assign({}, item, nodeJob(item.node, item.job)) : item);
198
+ const attachJobList = (list) => ({
199
+ ...list,
200
+ jobs: list.jobs.map(attachNode),
201
+ nextPage: list.nextPage ? async () => attachJobList(await list.nextPage()) : null,
202
+ previousPage: list.previousPage ? async () => attachJobList(await list.previousPage()) : null,
203
+ });
152
204
  /**
153
- * @param params Pagination parameters (optional: cursor, limit, sort_order)
154
- * @returns Promise<JobListResult>
155
- * @throws Error if there is an error fetching the jobs
156
- * @throws Error if the deployment is not found
157
- * @description Fetches all jobs for the deployment.
158
- * This will return the current jobs associated with the deployment.
159
- * It is useful for monitoring the deployment's job status.
205
+ * One of the deployment's jobs, with its node job API (`ssh`, `terminal`,
206
+ * `definition`, `logs`, …) attached: `(await getJob(id)).ssh.add(key)`.
160
207
  */
161
- const getJobs = async (searchParams) => {
162
- return await deploymentGetJobs(client, state, searchParams);
208
+ const getJob = async (jobId) => {
209
+ const data = await deploymentGetJob(client, state.id, jobId);
210
+ if (!data.node)
211
+ throw new Error(`Job ${jobId} has no assigned node.`);
212
+ return Object.assign({}, data, nodeJob(data.node, jobId));
163
213
  };
214
+ /**
215
+ * The deployment's jobs. Each job that has been scheduled onto a node carries
216
+ * its node job API (`ssh`, `terminal`, …); queued jobs are returned as-is.
217
+ */
218
+ const getJobs = async (searchParams) => attachJobList(await deploymentGetJobs(client, state, searchParams));
164
219
  /**
165
220
  * @param params Pagination parameters (optional: cursor, limit, sort_order)
166
221
  * @returns Promise<RevisionListResult>
@@ -228,6 +283,7 @@ export function createDeployment(deployment, clients, hasApiKey) {
228
283
  getEvents,
229
284
  stream,
230
285
  generateAuthHeader,
286
+ ssh,
231
287
  createRevision,
232
288
  updateReplicaCount,
233
289
  updateActiveRevision,
@@ -1 +1 @@
1
- {"version":3,"file":"createDeployment.js","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createDeployment.js","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { JobDefinition } from '@nosana/types';
2
2
  import type { components, paths } from '../../client/deployment-manager/schema.js';
3
+ import type { StreamLifecycleHandlers, StreamSubscription } from '../../types.js';
4
+ import type { NodeJobApi } from '../node/types.js';
3
5
  export type { JobDefinition } from '@nosana/types';
4
6
  export type JobResults = components['schemas']['JobResults'];
5
7
  export type DeploymentState = Omit<components['schemas']['Deployment'], "updated_at" | "created_at"> & {
@@ -29,6 +31,16 @@ export type ApiDeploymentListResult = PaginatedResult<{
29
31
  export type JobListResult = PaginatedResult<{
30
32
  jobs: DeploymentJobItem[];
31
33
  }>;
34
+ /**
35
+ * A deployment job with its node job API attached (`ssh`, `terminal`, …). On a
36
+ * list item the node methods are optional, since a job that has not been
37
+ * scheduled onto a node yet cannot be reached.
38
+ */
39
+ export type DeploymentNodeJob = DeploymentJob & NodeJobApi;
40
+ export type DeploymentJobItemWithNode = DeploymentJobItem & Partial<NodeJobApi>;
41
+ export type NodeJobListResult = PaginatedResult<{
42
+ jobs: DeploymentJobItemWithNode[];
43
+ }>;
32
44
  export type EventListResult = PaginatedResult<{
33
45
  events: DeploymentEventItem[];
34
46
  }>;
@@ -73,6 +85,9 @@ export type DeploymentEventsSearchParams = paths['/deployments/{deployment}/even
73
85
  export type DeploymentRevisionsSearchParams = paths['/deployments/{deployment}/revisions']['get']['parameters']['query'];
74
86
  export type DeploymentAuthHeaderParams = paths['/deployments/{deployment}/header']['get']['parameters']['query'];
75
87
  export type DeploymentDuplicateOptions = paths['/deployments/{deployment}/duplicate']['post']['requestBody']['content']['application/json'];
88
+ export type DeploymentSshKeys = paths['/deployments/{deployment}/ssh-keys']['get']['responses']['200']['content']['application/json'];
89
+ export type DeploymentSshKeysBody = paths['/deployments/{deployment}/ssh-keys']['post']['requestBody']['content']['application/json'];
90
+ export type DeploymentSshKeysResult = paths['/deployments/{deployment}/ssh-keys']['post']['responses']['200']['content']['application/json'];
76
91
  export type DeploymentJobItem = DeploymentJobs['jobs'][number];
77
92
  export type DeploymentRevisionItem = DeploymentRevisions['revisions'][number];
78
93
  export type DeploymentEventItem = DeploymentEvents['events'][number];
@@ -88,12 +103,9 @@ export type DeploymentStreamEvent = components['schemas']['DeploymentStreamEvent
88
103
  export type DeploymentStreamEventOf<T extends DeploymentStreamEvent['type']> = Extract<DeploymentStreamEvent, {
89
104
  type: T;
90
105
  }>;
91
- /** An open stream, for as long as the caller wants it. */
92
- export type DeploymentStreamSubscription = {
93
- close: () => void;
94
- };
106
+ export type DeploymentStreamSubscription = StreamSubscription;
95
107
  /** What a caller wants to hear about while streaming a deployment. */
96
- export type DeploymentStreamHandlers = {
108
+ export type DeploymentStreamHandlers = StreamLifecycleHandlers & {
97
109
  onDeployment?: (event: DeploymentStreamEventOf<'deployment'>) => void;
98
110
  onJob?: (event: DeploymentStreamEventOf<'job'>) => void;
99
111
  /** A new entry in the deployment's event log. */
@@ -112,9 +124,23 @@ export type DeploymentStreamHandlers = {
112
124
  * replayed as a `job` frame, so this is the only signal that it is gone.
113
125
  */
114
126
  onJobs?: (event: DeploymentStreamEventOf<'jobs'>) => void;
115
- /** The stream opened, or reopened after dropping: resynchronise from here. */
116
- onOpen?: () => void;
117
- onError?: (error: unknown) => void;
127
+ };
128
+ /** SSH key management for a deployment's jobs, under `deployment.ssh`. */
129
+ export type DeploymentSsh = {
130
+ /** The SSH public keys currently granted access to the deployment's jobs. */
131
+ keys: () => Promise<string[]>;
132
+ /**
133
+ * Grant one or more OpenSSH public keys access. Keys already present are left
134
+ * as they are: a key is identified by its type and material, so a differing
135
+ * comment does not add it twice.
136
+ */
137
+ add: (publicKeys: string | string[]) => Promise<DeploymentSshKeysResult>;
138
+ /**
139
+ * Revoke one or more OpenSSH public keys. A key is identified by its type and
140
+ * material, so a differing comment still revokes it; access is removed from
141
+ * every running job at once, not only when a job restarts.
142
+ */
143
+ remove: (publicKeys: string | string[]) => Promise<DeploymentSshKeysResult>;
118
144
  };
119
145
  export type ApiDeployment = DeploymentState & {
120
146
  start: () => Promise<void>;
@@ -122,13 +148,21 @@ export type ApiDeployment = DeploymentState & {
122
148
  archive: () => Promise<void>;
123
149
  delete: () => Promise<void>;
124
150
  getTasks: (searchParams?: PaginationParams) => Promise<TaskListResult>;
125
- getJob: (job: string) => Promise<DeploymentJob>;
126
- getJobs: (searchParams?: DeploymentJobsSearchParams) => Promise<JobListResult>;
151
+ /**
152
+ * One of the deployment's jobs, with the node job API (`ssh`, `terminal`,
153
+ * `definition`, `logs`, …) attached — authorized by the deployment manager
154
+ * signing on the deployment's behalf, so `(await getJob(id)).ssh.add(key)`
155
+ * works without a local wallet.
156
+ */
157
+ getJob: (job: string) => Promise<DeploymentNodeJob>;
158
+ /** The deployment's jobs; each job that has a node carries its node job API (`ssh`, `terminal`, …). */
159
+ getJobs: (searchParams?: DeploymentJobsSearchParams) => Promise<NodeJobListResult>;
127
160
  getRevisions: (searchParams?: DeploymentRevisionsSearchParams) => Promise<RevisionListResult>;
128
161
  getEvents: (searchParams?: DeploymentEventsSearchParams) => Promise<EventListResult>;
129
162
  /** Stream changes over server-sent events; close it to stop. */
130
163
  stream: (handlers: DeploymentStreamHandlers) => DeploymentStreamSubscription;
131
164
  generateAuthHeader: (query?: DeploymentAuthHeaderParams) => Promise<string>;
165
+ ssh: DeploymentSsh;
132
166
  createRevision: (jobDefinition: JobDefinition) => Promise<void>;
133
167
  updateActiveRevision: (revision: number) => Promise<void>;
134
168
  updateReplicaCount: (replicas: number) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/deployments/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/deployments/types.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export * from "./hosts/index.js";
6
6
  export * from "./jobs/index.js";
7
7
  export * from "./markets/index.js";
8
8
  export * from "./newsletter/index.js";
9
+ export * from "./node/index.js";
9
10
  export * from "./payments/index.js";
10
11
  export * from "./stats/index.js";
11
12
  export * from "./templates/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -6,6 +6,7 @@ export * from "./hosts/index.js";
6
6
  export * from "./jobs/index.js";
7
7
  export * from "./markets/index.js";
8
8
  export * from "./newsletter/index.js";
9
+ export * from "./node/index.js";
9
10
  export * from "./payments/index.js";
10
11
  export * from "./stats/index.js";
11
12
  export * from "./templates/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -1,9 +1,15 @@
1
1
  import type { BlockchainIndexerClient } from '../../client/blockchain-indexer/index.js';
2
2
  import type { ClientManagerClient } from '../../client/client-manager/index.js';
3
- import type { NosanaJobsApi } from './types.js';
3
+ import type { NosanaNodeApi } from '../node/types.js';
4
+ import type { NosanaJobsApi, NosanaApiKeyJobsApi } from './types.js';
4
5
  export * from './types.js';
5
- export declare function createNosanaJobsApi(clients: {
6
+ interface JobsRouteClients {
6
7
  blockchainIndexer: BlockchainIndexerClient;
7
8
  clientManager: ClientManagerClient;
9
+ }
10
+ /** With a node API the jobs API can reach a job on its node; without one it cannot. */
11
+ export declare function createNosanaJobsApi(clients: JobsRouteClients & {
12
+ node: NosanaNodeApi;
8
13
  }): NosanaJobsApi;
14
+ export declare function createNosanaJobsApi(clients: JobsRouteClients): NosanaApiKeyJobsApi;
9
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EACV,aAAa,EA0Bd,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAU3B,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,aAAa,EAAE,mBAAmB,CAAC;CACpC,GAAG,aAAa,CAwNhB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/jobs/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EA2BpB,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAU3B,UAAU,gBAAgB;IACxB,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,aAAa,EAAE,mBAAmB,CAAC;CACpC;AAED,uFAAuF;AACvF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GAAG,aAAa,CAAC;AACxG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,mBAAmB,CAAC"}