@nosana/api 2.15.0 → 2.16.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.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { NosanaAuthApi } from './routes/auth/types.js';
2
- import { type NosanaJobsApi, type NosanaCreditsApi, type NosanaMarketsApi, type DeploymentsApi, type ApiDeploymentsApi, type NosanaUserApi, type NosanaTemplatesApi, type NosanaHostsApi, type NosanaStatsApi, type NosanaPaymentsApi, type NosanaNewsletterApi, type NosanaBenchmarksApi, type NodeInfo } from './routes/index.js';
2
+ import { type NosanaJobsApi, type NosanaCreditsApi, type NosanaMarketsApi, type DeploymentsApi, type ApiDeploymentsApi, type NosanaUserApi, type NosanaTemplatesApi, type NosanaHostsApi, type NosanaStatsApi, type NosanaPaymentsApi, type NosanaNewsletterApi, type NosanaBenchmarksApi, type NosanaReservationsApi, type NodeInfo } from './routes/index.js';
3
3
  import type { ApiKeyAuth, CreateNosanaApiOptions, SignerAuth, NosanaNetwork as NosanaNetworkType, NosanaClients } from './types.js';
4
4
  export interface NosanaApi {
5
5
  auth: NosanaAuthApi;
@@ -14,6 +14,7 @@ export interface NosanaApi {
14
14
  payments: NosanaPaymentsApi;
15
15
  newsletter: NosanaNewsletterApi;
16
16
  benchmarks: NosanaBenchmarksApi;
17
+ reservations: NosanaReservationsApi;
17
18
  /** A node's public info, addressed by node address. */
18
19
  node: (address: string) => Promise<NodeInfo>;
19
20
  /**
@@ -42,6 +43,7 @@ export interface NosanaApiWithApiKey {
42
43
  payments: NosanaPaymentsApi;
43
44
  newsletter: NosanaNewsletterApi;
44
45
  benchmarks: NosanaBenchmarksApi;
46
+ reservations: NosanaReservationsApi;
45
47
  /** A node's public info, addressed by node address. */
46
48
  node: (address: string) => Promise<NodeInfo>;
47
49
  clients: NosanaClients;
@@ -64,6 +66,7 @@ export type { NosanaApiError } from './utils/errorFormatter.js';
64
66
  export type * from './routes/jobs/types.js';
65
67
  export type * from './routes/credits/types.js';
66
68
  export type * from './routes/markets/types.js';
69
+ export type * from './routes/reservations/types.js';
67
70
  export type * from './routes/deployments/types.js';
68
71
  export type * from './routes/node/types.js';
69
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createNosanaClientManagerApiClient, createBlockchainIndexerClient, createHostManagerClient, createDeploymentManagerClient, } from './client/index.js';
2
- import { createNosanaJobsApi, createNosanaCreditsApi, createNosanaMarketsApi, createDeploymentsApi, createNosanaAuthApi, createNosanaUserApi, createNosanaTemplatesApi, createNosanaHostsApi, createNosanaStatsApi, createNosanaPaymentsApi, createNosanaNewsletterApi, createNosanaBenchmarksApi, createNosanaNodeApi, } from './routes/index.js';
2
+ import { createNosanaJobsApi, createNosanaCreditsApi, createNosanaMarketsApi, createDeploymentsApi, createNosanaAuthApi, createNosanaUserApi, createNosanaTemplatesApi, createNosanaHostsApi, createNosanaStatsApi, createNosanaPaymentsApi, createNosanaNewsletterApi, createNosanaBenchmarksApi, createNosanaReservationsApi, createNosanaNodeApi, } from './routes/index.js';
3
3
  import { NosanaNetwork } from './types.js';
4
4
  function createClients(environment, authParams, options) {
5
5
  return {
@@ -57,6 +57,9 @@ export function createNosanaApi(environment = NosanaNetwork.MAINNET, signerOrApi
57
57
  clientManager: clients.clientManager,
58
58
  }),
59
59
  benchmarks: createNosanaBenchmarksApi({ hostManager: clients.hostManager }),
60
+ reservations: createNosanaReservationsApi({
61
+ hostManager: clients.hostManager,
62
+ }),
60
63
  node: (address) => node(address).info(),
61
64
  clients,
62
65
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export * from "./markets/index.js";
8
8
  export * from "./newsletter/index.js";
9
9
  export * from "./node/index.js";
10
10
  export * from "./payments/index.js";
11
+ export * from "./reservations/index.js";
11
12
  export * from "./stats/index.js";
12
13
  export * from "./templates/index.js";
13
14
  export * from "./user/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,iBAAiB,CAAC;AAChC,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,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -8,6 +8,7 @@ export * from "./markets/index.js";
8
8
  export * from "./newsletter/index.js";
9
9
  export * from "./node/index.js";
10
10
  export * from "./payments/index.js";
11
+ export * from "./reservations/index.js";
11
12
  export * from "./stats/index.js";
12
13
  export * from "./templates/index.js";
13
14
  export * from "./user/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,iBAAiB,CAAC;AAChC,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,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { HostManagerClient } from '../../client/host-manager/index.js';
2
+ import type { NosanaReservationsApi } from './types.js';
3
+ export * from './types.js';
4
+ /**
5
+ * host-manager's public reservation lookups: the GPU catalogue, the
6
+ * requirement options and which hosts meet a set of requirements. Creating a
7
+ * reservation is not here; only the deployment manager may do that.
8
+ */
9
+ export declare function createNosanaReservationsApi(clients: {
10
+ hostManager: HostManagerClient;
11
+ }): NosanaReservationsApi;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/reservations/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAMV,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE;IACnD,WAAW,EAAE,iBAAiB,CAAC;CAChC,GAAG,qBAAqB,CAgDxB"}
@@ -0,0 +1,34 @@
1
+ import { errorFormatter } from '../../utils/errorFormatter.js';
2
+ export * from './types.js';
3
+ /**
4
+ * host-manager's public reservation lookups: the GPU catalogue, the
5
+ * requirement options and which hosts meet a set of requirements. Creating a
6
+ * reservation is not here; only the deployment manager may do that.
7
+ */
8
+ export function createNosanaReservationsApi(clients) {
9
+ const { hostManager: client } = clients;
10
+ return {
11
+ async listGpus() {
12
+ const { data, error, response } = await client.GET('/reservations/gpus', {});
13
+ if (error || !data) {
14
+ throw errorFormatter('Failed to fetch GPU models', error, response);
15
+ }
16
+ return data;
17
+ },
18
+ async getRequirementOptions(request = {}) {
19
+ const { data, error, response } = await client.POST('/reservations/requirements', { body: request });
20
+ if (error || !data) {
21
+ throw errorFormatter('Failed to fetch requirement options', error, response);
22
+ }
23
+ return data;
24
+ },
25
+ async findAvailable(request = {}) {
26
+ const { data, error, response } = await client.POST('/reservations/available', { body: request });
27
+ if (error || !data) {
28
+ throw errorFormatter('Failed to find available nodes', error, response);
29
+ }
30
+ return data;
31
+ },
32
+ };
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/reservations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAY/D,cAAc,YAAY,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAE3C;IACC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACxC,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAChD,oBAAoB,EACpB,EAAE,CACH,CAAC;YAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,4BAA4B,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,qBAAqB,CACzB,UAA2C,EAAE;YAE7C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CACjD,4BAA4B,EAC5B,EAAE,IAAI,EAAE,OAAO,EAAE,CAClB,CAAC;YAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAClB,qCAAqC,EACrC,KAAK,EACL,QAAQ,CACT,CAAC;YACJ,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,aAAa,CACjB,UAAuC,EAAE;YAEzC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CACjD,yBAAyB,EACzB,EAAE,IAAI,EAAE,OAAO,EAAE,CAClB,CAAC;YAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,gCAAgC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,37 @@
1
+ import type { operations } from '../../client/host-manager/schema.js';
2
+ type Json<T> = T extends {
3
+ content: {
4
+ 'application/json': infer Body;
5
+ };
6
+ } ? Body : never;
7
+ /**
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" }`.
11
+ */
12
+ export type NosanaRequirements = Record<string, number | string | boolean>;
13
+ /** GPU models on the network: VRAM, host counts and the markets they serve. */
14
+ export type NosanaGpuModels = Json<operations['getReservationsGpus']['responses']['200']>;
15
+ export type NosanaGpuModel = NosanaGpuModels['gpus'][number];
16
+ /** Which requirement metrics to describe, scoped to hosts meeting `requirements`. */
17
+ export type NosanaRequirementOptionsRequest = Json<operations['postReservationsRequirements']['requestBody']>;
18
+ /** Each metric's type, match rule and the values hosts report, with counts. */
19
+ export type NosanaRequirementOptions = Json<operations['postReservationsRequirements']['responses']['200']>;
20
+ export type NosanaRequirementOption = NosanaRequirementOptions['metrics'][number];
21
+ /** The requirements to check queued hosts against; none means every host. */
22
+ export type NosanaAvailableNodesRequest = Json<operations['postReservationsAvailable']['requestBody']>;
23
+ /** Queued hosts meeting the requirements right now, and their price range. */
24
+ export type NosanaAvailableNodes = Json<operations['postReservationsAvailable']['responses']['200']>;
25
+ export interface NosanaReservationsApi {
26
+ /** Every GPU model on the network, with available and working host counts. */
27
+ listGpus: () => Promise<NosanaGpuModels>;
28
+ /**
29
+ * The options for each requirement metric (values and host counts), over
30
+ * the hosts that meet `requirements`. Omit `metrics` for all of them.
31
+ */
32
+ getRequirementOptions: (request?: NosanaRequirementOptionsRequest) => Promise<NosanaRequirementOptions>;
33
+ /** The queued hosts that meet `requirements` right now, across every market. */
34
+ findAvailable: (request?: NosanaAvailableNodesRequest) => Promise<NosanaAvailableNodes>;
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/routes/reservations/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nosana/api",
3
- "version": "2.15.0",
3
+ "version": "2.16.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": "54b41e5997ab1af66c127d1343ce2dae827ae0bc"
72
+ "gitHead": "c26a477efbdcb2a2877f42ad1462e6a3a5fb3400"
73
73
  }