@nosana/api 2.17.0 → 2.19.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 (36) hide show
  1. package/README.md +3 -3
  2. package/dist/client/client-manager/schema.d.ts +81 -0
  3. package/dist/client/client-manager/schema.d.ts.map +1 -1
  4. package/dist/client/deployment-manager/schema.d.ts +138 -10
  5. package/dist/client/deployment-manager/schema.d.ts.map +1 -1
  6. package/dist/client/host-manager/schema.d.ts +230 -28
  7. package/dist/client/host-manager/schema.d.ts.map +1 -1
  8. package/dist/routes/auth/index.d.ts.map +1 -1
  9. package/dist/routes/auth/index.js +12 -0
  10. package/dist/routes/auth/index.js.map +1 -1
  11. package/dist/routes/auth/types.d.ts +7 -0
  12. package/dist/routes/auth/types.d.ts.map +1 -1
  13. package/dist/routes/deployments/deployment/actions/deploymentGetAllJobHeaders.d.ts +5 -0
  14. package/dist/routes/deployments/deployment/actions/deploymentGetAllJobHeaders.d.ts.map +1 -0
  15. package/dist/routes/deployments/deployment/actions/deploymentGetAllJobHeaders.js +12 -0
  16. package/dist/routes/deployments/deployment/actions/deploymentGetAllJobHeaders.js.map +1 -0
  17. package/dist/routes/deployments/deployment/actions/deploymentUpdateRequirements.d.ts +6 -5
  18. package/dist/routes/deployments/deployment/actions/deploymentUpdateRequirements.d.ts.map +1 -1
  19. package/dist/routes/deployments/deployment/actions/deploymentUpdateRequirements.js +6 -5
  20. package/dist/routes/deployments/deployment/actions/deploymentUpdateRequirements.js.map +1 -1
  21. package/dist/routes/deployments/deployment/actions/index.d.ts +1 -0
  22. package/dist/routes/deployments/deployment/actions/index.d.ts.map +1 -1
  23. package/dist/routes/deployments/deployment/actions/index.js +1 -0
  24. package/dist/routes/deployments/deployment/actions/index.js.map +1 -1
  25. package/dist/routes/deployments/deployment/createDeployment.d.ts.map +1 -1
  26. package/dist/routes/deployments/deployment/createDeployment.js +45 -7
  27. package/dist/routes/deployments/deployment/createDeployment.js.map +1 -1
  28. package/dist/routes/deployments/deployment/jobHeaderStore.d.ts +21 -0
  29. package/dist/routes/deployments/deployment/jobHeaderStore.d.ts.map +1 -0
  30. package/dist/routes/deployments/deployment/jobHeaderStore.js +51 -0
  31. package/dist/routes/deployments/deployment/jobHeaderStore.js.map +1 -0
  32. package/dist/routes/deployments/types.d.ts +16 -2
  33. package/dist/routes/deployments/types.d.ts.map +1 -1
  34. package/dist/routes/reservations/types.d.ts +6 -3
  35. package/dist/routes/reservations/types.d.ts.map +1 -1
  36. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,YAAY,CAAC;AAEjG,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,GAC1B,aAAa,CA2Df"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG3E,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,YAAY,CAAC;AAEjG,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,GAC1B,aAAa,CA4Ef"}
@@ -25,6 +25,18 @@ export function createNosanaAuthApi(client) {
25
25
  const header = `${message}:${data.signature}`;
26
26
  return includeTime && data.timestamp !== undefined ? `${header}:${data.timestamp}` : header;
27
27
  },
28
+ async signHeaders(messages, { includeTime } = {}) {
29
+ const { data, error } = await client.POST('/auth/sign-messages/external', {
30
+ body: { messages, includeTime },
31
+ });
32
+ if (error || !data) {
33
+ throw errorFormatter('Failed to sign messages', error);
34
+ }
35
+ return data.signatures.map(({ message, signature, timestamp }) => {
36
+ const header = `${message}:${signature}`;
37
+ return includeTime && timestamp !== undefined ? `${header}:${timestamp}` : header;
38
+ });
39
+ },
28
40
  async validateSession(cookieHeader) {
29
41
  const { data, error } = await client.POST('/auth/validate-session', {
30
42
  body: cookieHeader ? { cookieHeader } : {},
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/auth/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,MAAM,UAAU,mBAAmB,CACjC,MAA2B;IAE3B,OAAO;QACL,KAAK,CAAC,WAAW,CACf,OAAe,EACf,EAAE,WAAW,KAAgC,EAAE;YAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACvE,IAAI,EAAE;oBACJ,OAAO;oBACP,WAAW;iBACZ;aACF,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;QACxB,CAAC;QACD,KAAK,CAAC,UAAU,CACd,OAAe,EACf,EAAE,WAAW,KAAgC,EAAE;YAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACvE,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;aAC/B,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;YAED,qEAAqE;YACrE,wDAAwD;YACxD,MAAM,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC9C,OAAO,WAAW,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9F,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,YAAqB;YACzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAClE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;aAC3C,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,MAAc;YACjC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAClE,IAAI,EAAE,EAAE,MAAM,EAAE;aACjB,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/auth/index.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,13 @@ export type NosanaAuthApi = {
13
13
  signHeader: (message: string, options?: {
14
14
  includeTime?: boolean;
15
15
  }) => Promise<string>;
16
+ /**
17
+ * {@link signHeader} for up to 100 messages in one call; headers are returned
18
+ * in the order of `messages`.
19
+ */
20
+ signHeaders: (messages: string[], options?: {
21
+ includeTime?: boolean;
22
+ }) => Promise<string[]>;
16
23
  validateSession: (cookieHeader?: string) => Promise<ValidateSessionResponse>;
17
24
  validateApiKey: (apiKey: string) => Promise<ValidateApiKeyResponse>;
18
25
  };
@@ -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;;;;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"}
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;;;OAGG;IACH,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5F,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,5 @@
1
+ import type { DeploymentManagerClient } from '../../../../client/deployment-manager/index.js';
2
+ import type { DeploymentState } from '../../types.js';
3
+ /** A timestamped authorization header for each of the deployment's running jobs, keyed by job address. */
4
+ export declare function deploymentGetAllJobHeaders(client: DeploymentManagerClient, state: DeploymentState): Promise<Record<string, string>>;
5
+ //# sourceMappingURL=deploymentGetAllJobHeaders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentGetAllJobHeaders.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentGetAllJobHeaders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,0GAA0G;AAC1G,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAUjC"}
@@ -0,0 +1,12 @@
1
+ import { errorFormatter } from '../../../../utils/errorFormatter.js';
2
+ /** A timestamped authorization header for each of the deployment's running jobs, keyed by job address. */
3
+ export async function deploymentGetAllJobHeaders(client, state) {
4
+ const { data, error } = await client.GET('/deployments/{deployment}/headers', {
5
+ params: { path: { deployment: state.id } },
6
+ });
7
+ if (error || !data) {
8
+ throw errorFormatter('Error generating deployment job headers', error);
9
+ }
10
+ return data.headers;
11
+ }
12
+ //# sourceMappingURL=deploymentGetAllJobHeaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploymentGetAllJobHeaders.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentGetAllJobHeaders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE,0GAA0G;AAC1G,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAA+B,EAC/B,KAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;QAC5E,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;KAC3C,CAAC,CAAC;IAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC;AACtB,CAAC"}
@@ -2,13 +2,14 @@ import type { DeploymentManagerClient } from '../../../../client/deployment-mana
2
2
  import type { DeploymentState } from '../../types.js';
3
3
  /**
4
4
  * @param requirements The node requirements to replace the deployment's with, or null to clear them
5
- * @param market The market that serves them; it follows the GPU, as on create
5
+ * @param market The market to post every job in; omit it (or pass null) to post across
6
+ * markets: each job goes to the cheapest PREMIUM market with a node that meets the requirements
6
7
  * @throws Error if there is an error updating the requirements
7
8
  * @returns Promise<void>
8
9
  * @description Replaces the node requirements of the deployment together with
9
- * its market. Every job listed from now on is reserved on nodes that meet the new
10
- * requirements. On the same market running jobs keep their hosts; on a new one, a
11
- * RUNNING deployment's jobs are stopped and relisted on it.
10
+ * its market, as on create. Every job listed from now on is reserved on nodes that
11
+ * meet the new requirements. Running jobs keep their hosts, unless the market changes
12
+ * to another one: then a RUNNING deployment's jobs are stopped and relisted on it.
12
13
  */
13
- export declare function deploymentUpdateRequirements(requirements: DeploymentState['requirements'], market: string, client: DeploymentManagerClient, state: DeploymentState): Promise<void>;
14
+ export declare function deploymentUpdateRequirements(requirements: DeploymentState['requirements'], market: string | null | undefined, client: DeploymentManagerClient, state: DeploymentState): Promise<void>;
14
15
  //# sourceMappingURL=deploymentUpdateRequirements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploymentUpdateRequirements.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentUpdateRequirements.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,EAC7C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
1
+ {"version":3,"file":"deploymentUpdateRequirements.d.ts","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentUpdateRequirements.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC,EAC7C,MAAM,EAAE,MAAM,GAAG,IAAI,YAAO,EAC5B,MAAM,EAAE,uBAAuB,EAC/B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -1,15 +1,16 @@
1
1
  import { errorFormatter } from '../../../../utils/errorFormatter.js';
2
2
  /**
3
3
  * @param requirements The node requirements to replace the deployment's with, or null to clear them
4
- * @param market The market that serves them; it follows the GPU, as on create
4
+ * @param market The market to post every job in; omit it (or pass null) to post across
5
+ * markets: each job goes to the cheapest PREMIUM market with a node that meets the requirements
5
6
  * @throws Error if there is an error updating the requirements
6
7
  * @returns Promise<void>
7
8
  * @description Replaces the node requirements of the deployment together with
8
- * its market. Every job listed from now on is reserved on nodes that meet the new
9
- * requirements. On the same market running jobs keep their hosts; on a new one, a
10
- * RUNNING deployment's jobs are stopped and relisted on it.
9
+ * its market, as on create. Every job listed from now on is reserved on nodes that
10
+ * meet the new requirements. Running jobs keep their hosts, unless the market changes
11
+ * to another one: then a RUNNING deployment's jobs are stopped and relisted on it.
11
12
  */
12
- export async function deploymentUpdateRequirements(requirements, market, client, state) {
13
+ export async function deploymentUpdateRequirements(requirements, market = null, client, state) {
13
14
  const { data, error } = await client.PATCH('/deployments/{deployment}/update-requirements', {
14
15
  params: { path: { deployment: state.id } },
15
16
  body: { requirements, market },
@@ -1 +1 @@
1
- {"version":3,"file":"deploymentUpdateRequirements.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentUpdateRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,YAA6C,EAC7C,MAAc,EACd,MAA+B,EAC/B,KAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CACxC,+CAA+C,EAC/C;QACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;QAC1C,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;KAC/B,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"deploymentUpdateRequirements.js","sourceRoot":"","sources":["../../../../../src/routes/deployments/deployment/actions/deploymentUpdateRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,YAA6C,EAC7C,SAAwB,IAAI,EAC5B,MAA+B,EAC/B,KAAsB;IAEtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CACxC,+CAA+C,EAC/C;QACE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;QAC1C,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;KAC/B,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,cAAc,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QACnB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;KACtC,CAAC,CAAC;AACL,CAAC"}
@@ -13,6 +13,7 @@ export * from './deploymentRemoveSshKeys.js';
13
13
  export * from './deploymentStart.js';
14
14
  export * from './deploymentStop.js';
15
15
  export * from './deploymentGenerateAuthHeader.js';
16
+ export * from './deploymentGetAllJobHeaders.js';
16
17
  export * from './deploymentUpdateActiveRevision.js';
17
18
  export * from './deploymentUpdateMarket.js';
18
19
  export * from './deploymentUpdateRequirements.js';
@@ -1 +1 @@
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,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,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,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"}
@@ -13,6 +13,7 @@ export * from './deploymentRemoveSshKeys.js';
13
13
  export * from './deploymentStart.js';
14
14
  export * from './deploymentStop.js';
15
15
  export * from './deploymentGenerateAuthHeader.js';
16
+ export * from './deploymentGetAllJobHeaders.js';
16
17
  export * from './deploymentUpdateActiveRevision.js';
17
18
  export * from './deploymentUpdateMarket.js';
18
19
  export * from './deploymentUpdateRequirements.js';
@@ -1 +1 @@
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,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,iCAAiC,CAAC;AAChD,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,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":"AA4BA,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
+ {"version":3,"file":"createDeployment.d.ts","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"AAgCA,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,7 @@
1
- import { deploymentStop, deploymentStart, deploymentGetEvents, deploymentStream, deploymentGetJob, deploymentGetJobs, deploymentGetRevisions, deploymentGetSshKeys, deploymentArchive, deploymentUpdateReplicaCount, deploymentGetTasks, deploymentUpdateTimeout, deploymentCreateNewRevision, deploymentUpdateActiveRevision, deploymentUpdateSchedule, deploymentAddSshKeys, deploymentRemoveSshKeys, deploymentUpdateName, deploymentGenerateAuthHeader, deploymentDelete, deploymentUpdateMarket, deploymentUpdateRequirements, 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, deploymentGetAllJobHeaders, deploymentDelete, deploymentUpdateMarket, deploymentUpdateRequirements, deploymentDuplicate, } from './actions/index.js';
2
+ import { isSolanaAddress } from '@nosana/types';
2
3
  import { createVault } from './createVault.js';
4
+ import { jobHeaderStoreFor } from './jobHeaderStore.js';
3
5
  import { createNosanaNodeApi } from '../../node/index.js';
4
6
  export function createDeployment(deployment, clients, hasApiKey) {
5
7
  const client = clients.deploymentManager;
@@ -105,14 +107,15 @@ export function createDeployment(deployment, clients, hasApiKey) {
105
107
  };
106
108
  /**
107
109
  * @param requirements The node requirements to replace the deployment's with, or null to clear them
108
- * @param market The market that serves them; it follows the GPU, as on create
110
+ * @param market The market to post every job in; omit it (or pass null) to post across
111
+ * markets: each job goes to the cheapest PREMIUM market with a node that meets the requirements
109
112
  * @throws Error if there is an error updating the requirements
110
113
  * @returns Promise<void>
111
114
  * @description Replaces the node requirements of the deployment together with
112
- * its market. Running jobs keep their hosts unless the market changes; jobs
113
- * listed from now on meet the new requirements.
115
+ * its market, as on create. Running jobs keep their hosts unless the market changes;
116
+ * jobs listed from now on meet the new requirements.
114
117
  */
115
- const updateRequirements = async (requirements, market) => {
118
+ const updateRequirements = async (requirements, market = null) => {
116
119
  await deploymentUpdateRequirements(requirements, market, client, state);
117
120
  };
118
121
  /**
@@ -162,6 +165,33 @@ export function createDeployment(deployment, clients, hasApiKey) {
162
165
  const generateAuthHeader = async (query) => {
163
166
  return await deploymentGenerateAuthHeader(client, state, query);
164
167
  };
168
+ // Job headers outlive this object: see jobHeaderStore.ts.
169
+ const jobHeaders = jobHeaderStoreFor(client, state.id);
170
+ /**
171
+ * @param job The job address the header is bound to
172
+ * @returns Promise<string> A timestamped header the job's node accepts
173
+ * @description Returns the job's stored header while it is still valid, and
174
+ * otherwise signs a fresh one and stores it.
175
+ */
176
+ const generateJobAuthHeader = async (job) => {
177
+ const stored = jobHeaders.get(job);
178
+ if (stored)
179
+ return stored;
180
+ const header = await generateAuthHeader({ message: job, includeTime: 'true' });
181
+ jobHeaders.set(job, header);
182
+ return header;
183
+ };
184
+ /**
185
+ * @returns Promise<Record<string, string>> A header per running job, keyed by job address
186
+ * @description Signs a header for every running job in one request and stores
187
+ * them, so the jobs' node calls need no further signing until they expire.
188
+ */
189
+ const generateAllJobAuthHeaders = async () => {
190
+ const headers = await deploymentGetAllJobHeaders(client, state);
191
+ for (const [job, header] of Object.entries(headers))
192
+ jobHeaders.set(job, header);
193
+ return headers;
194
+ };
165
195
  /**
166
196
  * @description SSH key management for the deployment's jobs.
167
197
  * Keys are stored on the deployment (no new revision or restart) and injected
@@ -198,12 +228,18 @@ export function createDeployment(deployment, clients, hasApiKey) {
198
228
  };
199
229
  // Built lazily on first node access and reused. Every node call is authorized
200
230
  // by the deployment manager signing on the deployment's behalf (no local
201
- // wallet; works under API-key auth).
231
+ // wallet; works under API-key auth). A job's own header (its address as the
232
+ // message) comes from the store; any other message (a terminal grant scoped to
233
+ // an op and expiry) is signed afresh.
202
234
  let nodeFactory;
203
235
  const nodeJob = (node, jobAddress) => {
204
236
  nodeFactory ?? (nodeFactory = createNosanaNodeApi({
205
237
  environment: clients.environment,
206
- authParams: { generate: (message) => generateAuthHeader({ message, includeTime: 'true' }) },
238
+ authParams: {
239
+ generate: (message) => isSolanaAddress(message)
240
+ ? generateJobAuthHeader(message)
241
+ : generateAuthHeader({ message, includeTime: 'true' }),
242
+ },
207
243
  options: clients.options,
208
244
  }));
209
245
  return nodeFactory(node).job(jobAddress);
@@ -298,6 +334,8 @@ export function createDeployment(deployment, clients, hasApiKey) {
298
334
  getEvents,
299
335
  stream,
300
336
  generateAuthHeader,
337
+ generateJobAuthHeader,
338
+ generateAllJobAuthHeaders,
301
339
  ssh,
302
340
  createRevision,
303
341
  updateReplicaCount,
@@ -1 +1 @@
1
- {"version":3,"file":"createDeployment.js","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,4BAA4B,EAC5B,gBAAgB,EAChB,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AA2C1D,MAAM,UAAU,gBAAgB,CAC9B,UAA4B,EAC5B,OAAkE,EAClE,SAAuB;IAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACzC,IAAI,KAAK,GAAoB;QAC3B,GAAG,UAAU;QACb,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAC3C,UAAU,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;KAC5C,CAAC;IAEF;;;;;OAKG;IACH,MAAM,KAAK,GAAG,KAAK,IAAmB,EAAE;QACtC,MAAM,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,MAAM,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAyB,EAA2B,EAAE;QAC5E,OAAO,MAAM,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,cAAc,GAAG,KAAK,EAAE,aAA4B,EAAE,EAAE;QAC5D,MAAM,2BAA2B,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QACpD,MAAM,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC;IAEF;;;;;;;OAOG;IACH,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QAC9C,MAAM,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;QACxC,MAAM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,YAAY,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QAC5C,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,YAA6C,EAAE,MAAc,EAAE,EAAE;QACjG,MAAM,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC,CAAC;IAEF;;;;;;;;;;;OAWG;IACH,MAAM,SAAS,GAAG,KAAK,EAAE,OAAoC,EAAE,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE/D,OAAO,CAAC,SAAS,IAAI,QAAQ,IAAI,OAAO;YACtC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC;YACxC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,oBAAoB,GAAG,KAAK,EAAE,eAAuB,EAAE,EAAE;QAC7D,MAAM,8BAA8B,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QAChD,MAAM,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAkC,EAAE,EAAE;QACtE,OAAO,MAAM,4BAA4B,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,GAAG,GAAG;QACV;;;WAGG;QACH,IAAI,EAAE,KAAK,IAAuB,EAAE;YAClC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,WAAW,CAAC;QACrB,CAAC;QAED;;;;;WAKG;QACH,GAAG,EAAE,KAAK,EAAE,UAA6B,EAAoC,EAAE;YAC7E,OAAO,MAAM,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED;;;;;WAKG;QACH,MAAM,EAAE,KAAK,EAAE,UAA6B,EAAoC,EAAE;YAChF,OAAO,MAAM,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;KACF,CAAC;IAEF,8EAA8E;IAC9E,yEAAyE;IACzE,qCAAqC;IACrC,IAAI,WAA+D,CAAC;IACpE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,UAAkB,EAAE,EAAE;QACnD,WAAW,KAAX,WAAW,GAAK,mBAAmB,CAAC;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE;YAC3F,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,EAAC;QACH,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,4EAA4E;IAC5E,MAAM,UAAU,GAAG,CACjB,IAAO,EACkB,EAAE,CAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CACpD,CAAC;IAExB,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAqB,EAAE,CAAC,CAAC;QACjE,GAAG,IAAI;QACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,QAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;QAClF,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,YAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;KAC/F,CAAC,CAAC;IAEH;;;OAGG;IACH,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAA8B,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,wBAAwB,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAsB,CAAC;IACjF,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,OAAO,GAAG,KAAK,EAAE,YAAyC,EAA8B,EAAE,CAC9F,aAAa,CAAC,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtE;;;;;;;;OAQG;IACH,MAAM,YAAY,GAAG,KAAK,EAAE,YAA8C,EAA+B,EAAE;QACzG,OAAO,MAAM,sBAAsB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC,CAAC;IAEF;;;;;;;;OAQG;IACH,MAAM,SAAS,GAAG,KAAK,EAAE,YAA2C,EAA4B,EAAE;QAChG,OAAO,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,CACb,QAAkC,EACJ,EAAE;QAChC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF;;;;;;;;;OASG;IACH,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,OAAO,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE;YAChD,kEAAkE;YAClE,KAAK,GAAG,SAAS,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;QAC1B,GAAG,CAAC,CAAC,SAAS,IAAI,QAAQ,IAAI,OAAO;YACnC,CAAC,CAAC;gBACA,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC;aAC3D;YACD,CAAC,CAAC,EAAE,CAAC;QACP,KAAK;QACL,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,gBAAgB;QACxB,QAAQ;QACR,MAAM;QACN,OAAO;QACP,YAAY;QACZ,SAAS;QACT,MAAM;QACN,kBAAkB;QAClB,GAAG;QACH,cAAc;QACd,kBAAkB;QAClB,oBAAoB;QACpB,aAAa;QACb,cAAc;QACd,UAAU;QACV,YAAY;QACZ,kBAAkB;QAClB,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"createDeployment.js","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/createDeployment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Nodes accept a timestamped job header for this long (the `validate` default
3
+ * in @nosana/authorization).
4
+ */
5
+ export declare const NODE_HEADER_VALIDITY_MS = 300000;
6
+ /** Headers stop being served this long before the node would reject them, to absorb clock skew. */
7
+ export declare const HEADER_REFRESH_MARGIN_MS = 60000;
8
+ export type JobHeaderStore = {
9
+ /** The job's header while the node will still accept it. */
10
+ get: (job: string) => string | undefined;
11
+ set: (job: string, header: string) => void;
12
+ };
13
+ /**
14
+ * When a header stops being served: its signing timestamp plus the node's
15
+ * validity window, less the refresh margin. A header without a timestamp never
16
+ * expires on the node, so it is kept for the same window from when it was stored.
17
+ */
18
+ export declare function headerExpiresAt(header: string, storedAt: number): number;
19
+ export declare function createJobHeaderStore(now?: () => number): JobHeaderStore;
20
+ export declare function jobHeaderStoreFor(client: object, deploymentId: string): JobHeaderStore;
21
+ //# sourceMappingURL=jobHeaderStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobHeaderStore.d.ts","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/jobHeaderStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,uBAAuB,SAAU,CAAC;AAE/C,mGAAmG;AACnG,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IAC3B,4DAA4D;IAC5D,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACzC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,MAAiB,GAAG,cAAc,CAWjF;AASD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,cAAc,CAYtF"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Nodes accept a timestamped job header for this long (the `validate` default
3
+ * in @nosana/authorization).
4
+ */
5
+ export const NODE_HEADER_VALIDITY_MS = 300000;
6
+ /** Headers stop being served this long before the node would reject them, to absorb clock skew. */
7
+ export const HEADER_REFRESH_MARGIN_MS = 60000;
8
+ /**
9
+ * When a header stops being served: its signing timestamp plus the node's
10
+ * validity window, less the refresh margin. A header without a timestamp never
11
+ * expires on the node, so it is kept for the same window from when it was stored.
12
+ */
13
+ export function headerExpiresAt(header, storedAt) {
14
+ // `message:signature[:timestamp]`; a job address message holds no separator.
15
+ const parts = header.split(':');
16
+ const timestamp = parts.length >= 3 ? Number(parts[parts.length - 1]) : NaN;
17
+ const signedAt = Number.isFinite(timestamp) && timestamp > 0 ? timestamp : storedAt;
18
+ return signedAt + NODE_HEADER_VALIDITY_MS - HEADER_REFRESH_MARGIN_MS;
19
+ }
20
+ export function createJobHeaderStore(now = Date.now) {
21
+ const headers = new Map();
22
+ return {
23
+ get: (job) => {
24
+ const entry = headers.get(job);
25
+ return entry && entry.expiresAt > now() ? entry.header : undefined;
26
+ },
27
+ set: (job, header) => {
28
+ headers.set(job, { header, expiresAt: headerExpiresAt(header, now()) });
29
+ },
30
+ };
31
+ }
32
+ /**
33
+ * Stores outlive the deployment objects that use them: callers commonly
34
+ * re-fetch a deployment (`deployments.get`) while its jobs keep streaming, so a
35
+ * store is kept per shared deployment-manager client and deployment id.
36
+ */
37
+ const stores = new WeakMap();
38
+ export function jobHeaderStoreFor(client, deploymentId) {
39
+ let byDeployment = stores.get(client);
40
+ if (!byDeployment) {
41
+ byDeployment = new Map();
42
+ stores.set(client, byDeployment);
43
+ }
44
+ let store = byDeployment.get(deploymentId);
45
+ if (!store) {
46
+ store = createJobHeaderStore();
47
+ byDeployment.set(deploymentId, store);
48
+ }
49
+ return store;
50
+ }
51
+ //# sourceMappingURL=jobHeaderStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobHeaderStore.js","sourceRoot":"","sources":["../../../../src/routes/deployments/deployment/jobHeaderStore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAO,CAAC;AAE/C,mGAAmG;AACnG,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAM,CAAC;AAQ/C;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,QAAgB;IAC9D,6EAA6E;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpF,OAAO,QAAQ,GAAG,uBAAuB,GAAG,wBAAwB,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAoB,IAAI,CAAC,GAAG;IAC/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiD,CAAC;IACzE,OAAO;QACL,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,OAAO,KAAK,IAAI,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,CAAC;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,MAAM,GAAG,IAAI,OAAO,EAAuC,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,YAAoB;IACpE,IAAI,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,oBAAoB,EAAE,CAAC;QAC/B,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -8,6 +8,12 @@ export type DeploymentState = Omit<components['schemas']['Deployment'], "updated
8
8
  updated_at: Date;
9
9
  created_at: Date;
10
10
  };
11
+ /**
12
+ * Node requirements: metric key → required value. A number is a minimum, a
13
+ * string or boolean must match exactly, and a list is any of its values, e.g.
14
+ * `{ name: ['NVIDIA GeForce RTX 4090', 'NVIDIA GeForce RTX 5090'], ram_gb: 64 }`.
15
+ */
16
+ export type DeploymentRequirements = NonNullable<DeploymentState['requirements']>;
11
17
  export type DeploymentCreateBody = components['schemas']['DeploymentCreateBody'];
12
18
  export type CreateDeployment = Omit<DeploymentCreateBody, 'job_definition'> & {
13
19
  job_definition: JobDefinition;
@@ -162,6 +168,10 @@ export type ApiDeployment = DeploymentState & {
162
168
  /** Stream changes over server-sent events; close it to stop. */
163
169
  stream: (handlers: DeploymentStreamHandlers) => DeploymentStreamSubscription;
164
170
  generateAuthHeader: (query?: DeploymentAuthHeaderParams) => Promise<string>;
171
+ /** A job's timestamped node header: the stored one while still valid, else freshly signed. */
172
+ generateJobAuthHeader: (job: string) => Promise<string>;
173
+ /** Sign every running job's header in one request and store them for the jobs' node calls. */
174
+ generateAllJobAuthHeaders: () => Promise<Record<string, string>>;
165
175
  ssh: DeploymentSsh;
166
176
  createRevision: (jobDefinition: JobDefinition) => Promise<void>;
167
177
  updateActiveRevision: (revision: number) => Promise<void>;
@@ -170,8 +180,12 @@ export type ApiDeployment = DeploymentState & {
170
180
  updateSchedule: (schedule: string) => Promise<void>;
171
181
  updateName: (name: string) => Promise<void>;
172
182
  updateMarket: (market: string) => Promise<void>;
173
- /** Replace the node requirements, or clear them with null, together with the market that serves them. */
174
- updateRequirements: (requirements: DeploymentState['requirements'], market: string) => Promise<void>;
183
+ /**
184
+ * Replace the node requirements, or clear them with null, together with the market
185
+ * that serves them. Omit the market (or pass null) to post across markets: each job
186
+ * goes to the cheapest PREMIUM market with a node that meets the requirements.
187
+ */
188
+ updateRequirements: (requirements: DeploymentState['requirements'], market?: string | null) => Promise<void>;
175
189
  /** Copy this deployment into a new one; the source is left untouched. */
176
190
  duplicate: (options?: DeploymentDuplicateOptions) => Promise<ApiDeployment>;
177
191
  };
@@ -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,10 +6,13 @@ type Json<T> = T extends {
6
6
  } ? Body : never;
7
7
  /**
8
8
  * Metric key → required value. A number is a minimum (`ram_gb: 64` means at
9
- * least 64 GB); a string or boolean must match exactly (`country: "NL"`).
10
- * The GPU model is the `name` key, e.g. `{ name: "NVIDIA GeForce RTX 4090" }`.
9
+ * least 64 GB); a string or boolean must match exactly (`country: "NL"`); a
10
+ * list is any of its values. The GPU model is the `name` key, e.g.
11
+ * `{ name: ["NVIDIA GeForce RTX 4090", "NVIDIA GeForce RTX 5090"] }`.
11
12
  */
12
- export type NosanaRequirements = Record<string, number | string | boolean>;
13
+ export type NosanaRequirements = NonNullable<NosanaAvailableNodesRequest['requirements']>;
14
+ /** One requirement's value: a scalar, or a list of them meaning any of. */
15
+ export type NosanaRequirementValue = NosanaRequirements[string];
13
16
  /** GPU models on the network: VRAM, host counts and the markets they serve. */
14
17
  export type NosanaGpuModels = Json<operations['getReservationsGpus']['responses']['200']>;
15
18
  export type NosanaGpuModel = NosanaGpuModels['gpus'][number];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/reservations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE;QAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;CAAE,GACpE,IAAI,GACJ,KAAK,CAAC;AAEV;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAE3E,+EAA+E;AAC/E,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,UAAU,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CACtD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,qFAAqF;AACrF,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAChD,UAAU,CAAC,8BAA8B,CAAC,CAAC,aAAa,CAAC,CAC1D,CAAC;AACF,+EAA+E;AAC/E,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,UAAU,CAAC,8BAA8B,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAC/D,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,UAAU,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC,CACvD,CAAC;AACF,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,UAAU,CAAC,2BAA2B,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAC5D,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IACzC;;;OAGG;IACH,qBAAqB,EAAE,CACrB,OAAO,CAAC,EAAE,+BAA+B,KACtC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,gFAAgF;IAChF,aAAa,EAAE,CACb,OAAO,CAAC,EAAE,2BAA2B,KAClC,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/reservations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEtE,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,OAAO,EAAE;QAAE,kBAAkB,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;CAAE,GACpE,IAAI,GACJ,KAAK,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAC1C,2BAA2B,CAAC,cAAc,CAAC,CAC5C,CAAC;AACF,2EAA2E;AAC3E,MAAM,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAEhE,+EAA+E;AAC/E,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,UAAU,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CACtD,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,qFAAqF;AACrF,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAChD,UAAU,CAAC,8BAA8B,CAAC,CAAC,aAAa,CAAC,CAC1D,CAAC;AACF,+EAA+E;AAC/E,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,UAAU,CAAC,8BAA8B,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAC/D,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,6EAA6E;AAC7E,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,UAAU,CAAC,2BAA2B,CAAC,CAAC,aAAa,CAAC,CACvD,CAAC;AACF,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,UAAU,CAAC,2BAA2B,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAC5D,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IACzC;;;OAGG;IACH,qBAAqB,EAAE,CACrB,OAAO,CAAC,EAAE,+BAA+B,KACtC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,gFAAgF;IAChF,aAAa,EAAE,CACb,OAAO,CAAC,EAAE,2BAA2B,KAClC,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nosana/api",
3
- "version": "2.17.0",
3
+ "version": "2.19.0",
4
4
  "description": "Nosana API module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -69,5 +69,5 @@
69
69
  "engines": {
70
70
  "node": ">=20.18.0"
71
71
  },
72
- "gitHead": "08dd7050ba9bb8dcf213186fbda66bdc0e366a00"
72
+ "gitHead": "436844e9a88bd40910c22e42e7423e99b9c352d8"
73
73
  }