@nosana/api 2.6.1 → 2.7.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/README.md +128 -4
- package/dist/client/blockchain-indexer/index.d.ts +7 -0
- package/dist/client/blockchain-indexer/index.d.ts.map +1 -0
- package/dist/client/blockchain-indexer/index.js +7 -0
- package/dist/client/blockchain-indexer/index.js.map +1 -0
- package/dist/client/blockchain-indexer/schema.d.ts +774 -0
- package/dist/client/blockchain-indexer/schema.d.ts.map +1 -0
- package/dist/client/blockchain-indexer/schema.js.map +1 -0
- package/dist/client/client-manager/index.d.ts +6 -0
- package/dist/client/client-manager/index.d.ts.map +1 -0
- package/dist/client/{clientManagerClient.js → client-manager/index.js} +2 -2
- package/dist/client/client-manager/index.js.map +1 -0
- package/dist/client/{clientManagerSchema.d.ts → client-manager/schema.d.ts} +4 -1
- package/dist/client/client-manager/schema.d.ts.map +1 -0
- package/dist/client/{clientManagerSchema.js → client-manager/schema.js} +1 -1
- package/dist/client/client-manager/schema.js.map +1 -0
- package/dist/client/createClient.d.ts +8 -0
- package/dist/client/createClient.d.ts.map +1 -0
- package/dist/client/{dashboardClient.js → createClient.js} +8 -5
- package/dist/client/createClient.js.map +1 -0
- package/dist/client/deployment-manager/index.d.ts +6 -0
- package/dist/client/deployment-manager/index.d.ts.map +1 -0
- package/dist/client/deployment-manager/index.js +8 -0
- package/dist/client/deployment-manager/index.js.map +1 -0
- package/dist/client/{deployment-manager-schema.d.ts → deployment-manager/schema.d.ts} +400 -138
- package/dist/client/deployment-manager/schema.d.ts.map +1 -0
- package/dist/client/{deployment-manager-schema.js → deployment-manager/schema.js} +1 -1
- package/dist/client/deployment-manager/schema.js.map +1 -0
- package/dist/client/host-manager/index.d.ts +6 -0
- package/dist/client/host-manager/index.d.ts.map +1 -0
- package/dist/client/host-manager/index.js +7 -0
- package/dist/client/host-manager/index.js.map +1 -0
- package/dist/client/host-manager/schema.d.ts +9746 -0
- package/dist/client/host-manager/schema.d.ts.map +1 -0
- package/dist/client/host-manager/schema.js +6 -0
- package/dist/client/host-manager/schema.js.map +1 -0
- package/dist/client/index.d.ts +6 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +5 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/type.utils.d.ts +8 -5
- package/dist/client/type.utils.d.ts.map +1 -1
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +10 -4
- package/dist/defaults/index.js.map +1 -1
- package/dist/index.d.ts +31 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -10
- package/dist/index.js.map +1 -1
- package/dist/routes/auth/index.d.ts +1 -1
- package/dist/routes/auth/index.d.ts.map +1 -1
- package/dist/routes/auth/index.js +18 -0
- package/dist/routes/auth/index.js.map +1 -1
- package/dist/routes/auth/types.d.ts +5 -0
- package/dist/routes/auth/types.d.ts.map +1 -1
- package/dist/routes/benchmarks/index.d.ts +7 -0
- package/dist/routes/benchmarks/index.d.ts.map +1 -0
- package/dist/routes/benchmarks/index.js +116 -0
- package/dist/routes/benchmarks/index.js.map +1 -0
- package/dist/routes/benchmarks/types.d.ts +24 -0
- package/dist/routes/benchmarks/types.d.ts.map +1 -0
- package/dist/routes/benchmarks/types.js +2 -0
- package/dist/routes/benchmarks/types.js.map +1 -0
- package/dist/routes/credits/index.d.ts +5 -3
- package/dist/routes/credits/index.d.ts.map +1 -1
- package/dist/routes/credits/index.js +73 -4
- package/dist/routes/credits/index.js.map +1 -1
- package/dist/routes/credits/types.d.ts +13 -2
- package/dist/routes/credits/types.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentArchive.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentArchive.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentArchive.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentArchive.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentCreateNewRevision.d.ts +3 -3
- package/dist/routes/deployments/deployment/actions/deploymentCreateNewRevision.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentCreateNewRevision.js +3 -3
- package/dist/routes/deployments/deployment/actions/deploymentCreateNewRevision.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentDelete.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentDelete.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentDelete.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentDelete.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGenerateAuthHeader.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentGenerateAuthHeader.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGenerateAuthHeader.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGenerateAuthHeader.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetEvents.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentGetEvents.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetEvents.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetEvents.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetJob.d.ts +3 -5
- package/dist/routes/deployments/deployment/actions/deploymentGetJob.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetJob.js +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentGetJob.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetJobs.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentGetJobs.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetJobs.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetJobs.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetRevisions.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentGetRevisions.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetRevisions.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetRevisions.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetTasks.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentGetTasks.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetTasks.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentGetTasks.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStart.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentStart.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStart.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStart.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStop.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentStop.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStop.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStop.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateActiveRevision.d.ts +3 -3
- package/dist/routes/deployments/deployment/actions/deploymentUpdateActiveRevision.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateActiveRevision.js +3 -3
- package/dist/routes/deployments/deployment/actions/deploymentUpdateActiveRevision.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateName.d.ts +10 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateName.d.ts.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateName.js +21 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateName.js.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateReplicaCount.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentUpdateReplicaCount.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateReplicaCount.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateReplicaCount.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateSchedule.d.ts +3 -3
- package/dist/routes/deployments/deployment/actions/deploymentUpdateSchedule.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateSchedule.js +3 -3
- package/dist/routes/deployments/deployment/actions/deploymentUpdateSchedule.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateTimeout.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/deploymentUpdateTimeout.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateTimeout.js +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateTimeout.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/index.d.ts +1 -0
- package/dist/routes/deployments/deployment/actions/index.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/index.js +1 -0
- package/dist/routes/deployments/deployment/actions/index.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/vaultGetBalance.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/vaultGetBalance.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/vaultGetBalance.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/vaultTopup.d.ts +2 -2
- package/dist/routes/deployments/deployment/actions/vaultTopup.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/vaultTopup.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/vaultWithdraw.d.ts +3 -3
- package/dist/routes/deployments/deployment/actions/vaultWithdraw.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/vaultWithdraw.js +3 -3
- package/dist/routes/deployments/deployment/actions/vaultWithdraw.js.map +1 -1
- package/dist/routes/deployments/deployment/createDeployment.d.ts +4 -4
- package/dist/routes/deployments/deployment/createDeployment.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/createDeployment.js +42 -29
- package/dist/routes/deployments/deployment/createDeployment.js.map +1 -1
- package/dist/routes/deployments/deployment/createVault.d.ts +3 -3
- package/dist/routes/deployments/deployment/createVault.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/createVault.js +5 -5
- package/dist/routes/deployments/deployment/createVault.js.map +1 -1
- package/dist/routes/deployments/index.d.ts +3 -3
- package/dist/routes/deployments/index.d.ts.map +1 -1
- package/dist/routes/deployments/index.js +41 -18
- package/dist/routes/deployments/index.js.map +1 -1
- package/dist/routes/deployments/types.d.ts +17 -10
- package/dist/routes/deployments/types.d.ts.map +1 -1
- package/dist/routes/hosts/index.d.ts +7 -0
- package/dist/routes/hosts/index.d.ts.map +1 -0
- package/dist/routes/hosts/index.js +213 -0
- package/dist/routes/hosts/index.js.map +1 -0
- package/dist/routes/hosts/types.d.ts +40 -0
- package/dist/routes/hosts/types.d.ts.map +1 -0
- package/dist/routes/hosts/types.js +2 -0
- package/dist/routes/hosts/types.js.map +1 -0
- package/dist/routes/index.d.ts +7 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +7 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/jobs/index.d.ts +6 -2
- package/dist/routes/jobs/index.d.ts.map +1 -1
- package/dist/routes/jobs/index.js +99 -21
- package/dist/routes/jobs/index.js.map +1 -1
- package/dist/routes/jobs/types.d.ts +40 -32
- package/dist/routes/jobs/types.d.ts.map +1 -1
- package/dist/routes/markets/index.d.ts +4 -2
- package/dist/routes/markets/index.d.ts.map +1 -1
- package/dist/routes/markets/index.js +58 -10
- package/dist/routes/markets/index.js.map +1 -1
- package/dist/routes/markets/types.d.ts +10 -3
- package/dist/routes/markets/types.d.ts.map +1 -1
- package/dist/routes/newsletter/index.d.ts +7 -0
- package/dist/routes/newsletter/index.d.ts.map +1 -0
- package/dist/routes/newsletter/index.js +17 -0
- package/dist/routes/newsletter/index.js.map +1 -0
- package/dist/routes/newsletter/types.d.ts +6 -0
- package/dist/routes/newsletter/types.d.ts.map +1 -0
- package/dist/routes/newsletter/types.js +2 -0
- package/dist/routes/newsletter/types.js.map +1 -0
- package/dist/routes/payments/index.d.ts +7 -0
- package/dist/routes/payments/index.d.ts.map +1 -0
- package/dist/routes/payments/index.js +58 -0
- package/dist/routes/payments/index.js.map +1 -0
- package/dist/routes/payments/types.d.ts +12 -0
- package/dist/routes/payments/types.d.ts.map +1 -0
- package/dist/routes/payments/types.js +2 -0
- package/dist/routes/payments/types.js.map +1 -0
- package/dist/routes/stats/index.d.ts +8 -0
- package/dist/routes/stats/index.d.ts.map +1 -0
- package/dist/routes/stats/index.js +41 -0
- package/dist/routes/stats/index.js.map +1 -0
- package/dist/routes/stats/types.d.ts +11 -0
- package/dist/routes/stats/types.d.ts.map +1 -0
- package/dist/routes/stats/types.js +2 -0
- package/dist/routes/stats/types.js.map +1 -0
- package/dist/routes/templates/index.d.ts +7 -0
- package/dist/routes/templates/index.d.ts.map +1 -0
- package/dist/routes/templates/index.js +48 -0
- package/dist/routes/templates/index.js.map +1 -0
- package/dist/routes/templates/types.d.ts +9 -0
- package/dist/routes/templates/types.d.ts.map +1 -0
- package/dist/routes/templates/types.js +2 -0
- package/dist/routes/templates/types.js.map +1 -0
- package/dist/routes/user/index.d.ts +7 -0
- package/dist/routes/user/index.d.ts.map +1 -0
- package/dist/routes/user/index.js +61 -0
- package/dist/routes/user/index.js.map +1 -0
- package/dist/routes/user/types.d.ts +20 -0
- package/dist/routes/user/types.d.ts.map +1 -0
- package/dist/routes/user/types.js +2 -0
- package/dist/routes/user/types.js.map +1 -0
- package/dist/types.d.ts +22 -6
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/idempotency.d.ts +2 -5
- package/dist/utils/idempotency.d.ts.map +1 -1
- package/dist/utils/idempotency.js +2 -5
- package/dist/utils/idempotency.js.map +1 -1
- package/package.json +17 -7
- package/dist/client/clientManagerClient.d.ts +0 -31
- package/dist/client/clientManagerClient.d.ts.map +0 -1
- package/dist/client/clientManagerClient.js.map +0 -1
- package/dist/client/clientManagerSchema.d.ts.map +0 -1
- package/dist/client/clientManagerSchema.js.map +0 -1
- package/dist/client/clientManagerSchema.lockstep.d.ts +0 -22
- package/dist/client/clientManagerSchema.lockstep.d.ts.map +0 -1
- package/dist/client/clientManagerSchema.lockstep.js +0 -2
- package/dist/client/clientManagerSchema.lockstep.js.map +0 -1
- package/dist/client/dashboardClient.d.ts +0 -10
- package/dist/client/dashboardClient.d.ts.map +0 -1
- package/dist/client/dashboardClient.js.map +0 -1
- package/dist/client/deployment-manager-schema.d.ts.map +0 -1
- package/dist/client/deployment-manager-schema.js.map +0 -1
- package/dist/client/jobsBatch.d.ts +0 -72
- package/dist/client/jobsBatch.d.ts.map +0 -1
- package/dist/client/jobsBatch.js +0 -10
- package/dist/client/jobsBatch.js.map +0 -1
- package/dist/client/schema.d.ts +0 -3167
- package/dist/client/schema.d.ts.map +0 -1
- package/dist/client/schema.js.map +0 -1
- /package/dist/client/{schema.js → blockchain-indexer/schema.js} +0 -0
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import createClient from "openapi-fetch";
|
|
2
2
|
export type EnumValues<T> = T[keyof T];
|
|
3
3
|
/**
|
|
4
|
-
* Utility type
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Utility type that relaxes header *requirements* on OpenAPI parameters: auth
|
|
5
|
+
* headers (Authorization/x-user-id) are injected by the client middleware, so
|
|
6
|
+
* callers must never be forced to pass them. We make the whole `header` bag
|
|
7
|
+
* optional rather than removing it, so typed request headers the caller does
|
|
8
|
+
* supply (e.g. `Idempotency-Key`) still flow through. Responses and requestBody
|
|
9
|
+
* are left untouched.
|
|
7
10
|
*/
|
|
8
11
|
type OmitHeaders<T> = T extends {
|
|
9
12
|
parameters: {
|
|
10
|
-
header?:
|
|
13
|
+
header?: infer Header;
|
|
11
14
|
path?: infer Path;
|
|
12
15
|
query?: infer Query;
|
|
13
16
|
cookie?: infer Cookie;
|
|
@@ -16,7 +19,7 @@ type OmitHeaders<T> = T extends {
|
|
|
16
19
|
requestBody?: infer RequestBody;
|
|
17
20
|
} ? {
|
|
18
21
|
parameters: {
|
|
19
|
-
header?:
|
|
22
|
+
header?: Header;
|
|
20
23
|
} & (Path extends undefined ? {} : {
|
|
21
24
|
path: Path;
|
|
22
25
|
}) & (Query extends undefined ? {} : {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.utils.d.ts","sourceRoot":"","sources":["../../src/client/type.utils.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"type.utils.d.ts","sourceRoot":"","sources":["../../src/client/type.utils.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvC;;;;;;;GAOG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAC9B,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;KACvB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,WAAW,CAAC;CACjC,GACG;IACA,UAAU,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,CAAC,IAAI,SAAS,SAAS,GAAG,EAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,GAClD,CAAC,KAAK,SAAS,SAAS,GAAG,EAAE,GAAG;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,GACjD,CAAC,MAAM,SAAS,SAAS,GAAG,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtD,GAAG,CAAC,SAAS,SAAS,SAAS,GAAG,EAAE,GAAG;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC,GACjE,CAAC,WAAW,SAAS,SAAS,GAAG,EAAE,GAAG;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,GACjE,CAAC,CAAC;AAEN;;;GAGG;AAEH,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KACjE,CAAC,IAAI,MAAM,KAAK,GAAG;SACjB,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChD;CACF,CAAC;AAEF;;GAEG;AAEH,MAAM,MAAM,mBAAmB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,UAAU,CAC7E,OAAO,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,EAAE,MAAM,CAsB1F,CAAC"}
|
package/dist/defaults/index.js
CHANGED
|
@@ -2,18 +2,24 @@ import { NOS_MINT_ADDRESSES } from "@nosana/types";
|
|
|
2
2
|
import { NosanaNetwork } from "../types.js";
|
|
3
3
|
export const defaultConfig = {
|
|
4
4
|
[NosanaNetwork.MAINNET]: {
|
|
5
|
-
backend_url: 'https://dashboard.k8s.prd.nos.ci',
|
|
6
5
|
client_manager_url: 'https://client-manager.k8s.prd.nosana.com',
|
|
6
|
+
host_manager_url: 'https://host-manager.k8s.prd.nosana.com',
|
|
7
|
+
blockchain_indexer_url: 'https://blockchain-indexer.k8s.prd.nos.ci',
|
|
8
|
+
deployment_manager_url: 'https://deployment-manager.k8s.prd.nos.ci',
|
|
7
9
|
nos_address: NOS_MINT_ADDRESSES[NosanaNetwork.MAINNET]
|
|
8
10
|
},
|
|
9
11
|
[NosanaNetwork.DEVNET]: {
|
|
10
|
-
backend_url: 'https://dashboard.k8s.dev.nos.ci',
|
|
11
12
|
client_manager_url: 'https://client-manager.k8s.dev.nosana.com',
|
|
13
|
+
host_manager_url: 'https://host-manager.k8s.dev.nosana.com',
|
|
14
|
+
blockchain_indexer_url: 'https://blockchain-indexer.k8s.dev.nos.ci',
|
|
15
|
+
deployment_manager_url: 'https://deployment-manager.k8s.dev.nos.ci',
|
|
12
16
|
nos_address: NOS_MINT_ADDRESSES[NosanaNetwork.DEVNET]
|
|
13
17
|
},
|
|
14
18
|
[NosanaNetwork.LOCALNET]: {
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
client_manager_url: 'http://localhost:3002',
|
|
20
|
+
host_manager_url: 'http://localhost:3004',
|
|
21
|
+
blockchain_indexer_url: 'http://localhost:3003',
|
|
22
|
+
deployment_manager_url: 'http://localhost:3001',
|
|
17
23
|
nos_address: NOS_MINT_ADDRESSES[NosanaNetwork.LOCALNET]
|
|
18
24
|
}
|
|
19
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAqE;IAC7F,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACvB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/defaults/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAEzD,MAAM,CAAC,MAAM,aAAa,GAAqE;IAC7F,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACvB,kBAAkB,EAAE,2CAA2C;QAC/D,gBAAgB,EAAE,yCAAyC;QAC3D,sBAAsB,EAAE,2CAA2C;QACnE,sBAAsB,EAAE,2CAA2C;QACnE,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC;KACvD;IACD,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACtB,kBAAkB,EAAE,2CAA2C;QAC/D,gBAAgB,EAAE,yCAAyC;QAC3D,sBAAsB,EAAE,2CAA2C;QACnE,sBAAsB,EAAE,2CAA2C;QACnE,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC;KACtD;IACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,kBAAkB,EAAE,uBAAuB;QAC3C,gBAAgB,EAAE,uBAAuB;QACzC,sBAAsB,EAAE,uBAAuB;QAC/C,sBAAsB,EAAE,uBAAuB;QAC/C,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC;KACxD;CACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import { NosanaAuthApi } from './routes/auth/types.js';
|
|
2
|
-
import { type NosanaJobsApi, type NosanaCreditsApi, type NosanaMarketsApi, type DeploymentsApi, type ApiDeploymentsApi } from './routes/index.js';
|
|
3
|
-
import type { ApiKeyAuth, CreateNosanaApiOptions, SignerAuth, NosanaNetwork as NosanaNetworkType } from './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 } from './routes/index.js';
|
|
3
|
+
import type { ApiKeyAuth, CreateNosanaApiOptions, SignerAuth, NosanaNetwork as NosanaNetworkType, NosanaClients } from './types.js';
|
|
4
4
|
export interface NosanaApi {
|
|
5
5
|
auth: NosanaAuthApi;
|
|
6
6
|
jobs: NosanaJobsApi;
|
|
7
7
|
credits: NosanaCreditsApi;
|
|
8
8
|
markets: NosanaMarketsApi;
|
|
9
9
|
deployments: DeploymentsApi;
|
|
10
|
+
user: NosanaUserApi;
|
|
11
|
+
templates: NosanaTemplatesApi;
|
|
12
|
+
hosts: NosanaHostsApi;
|
|
13
|
+
stats: NosanaStatsApi;
|
|
14
|
+
payments: NosanaPaymentsApi;
|
|
15
|
+
newsletter: NosanaNewsletterApi;
|
|
16
|
+
benchmarks: NosanaBenchmarksApi;
|
|
17
|
+
/**
|
|
18
|
+
* The raw, fully-typed per-service OpenAPI clients. Use these to call any
|
|
19
|
+
* endpoint not covered by the curated groups above — every route of each
|
|
20
|
+
* service is available with path autocompletion and typed params/responses,
|
|
21
|
+
* e.g. `api.clients.hostManager.POST('/nodes/ban', { body })`.
|
|
22
|
+
*/
|
|
23
|
+
clients: NosanaClients;
|
|
10
24
|
}
|
|
11
25
|
export interface NosanaApiWithApiKey {
|
|
12
26
|
auth: NosanaAuthApi;
|
|
@@ -14,6 +28,20 @@ export interface NosanaApiWithApiKey {
|
|
|
14
28
|
credits: NosanaCreditsApi;
|
|
15
29
|
markets: NosanaMarketsApi;
|
|
16
30
|
deployments: ApiDeploymentsApi;
|
|
31
|
+
user: NosanaUserApi;
|
|
32
|
+
templates: NosanaTemplatesApi;
|
|
33
|
+
hosts: NosanaHostsApi;
|
|
34
|
+
stats: NosanaStatsApi;
|
|
35
|
+
payments: NosanaPaymentsApi;
|
|
36
|
+
newsletter: NosanaNewsletterApi;
|
|
37
|
+
benchmarks: NosanaBenchmarksApi;
|
|
38
|
+
/**
|
|
39
|
+
* The raw, fully-typed per-service OpenAPI clients. Use these to call any
|
|
40
|
+
* endpoint not covered by the curated groups above — every route of each
|
|
41
|
+
* service is available with path autocompletion and typed params/responses,
|
|
42
|
+
* e.g. `api.clients.hostManager.POST('/nodes/ban', { body })`.
|
|
43
|
+
*/
|
|
44
|
+
clients: NosanaClients;
|
|
17
45
|
}
|
|
18
46
|
export type NosanaApiClient = NosanaApi | NosanaApiWithApiKey;
|
|
19
47
|
export declare function createNosanaApi(environment: NosanaNetworkType, noAuth: undefined, options?: CreateNosanaApiOptions): NosanaApi;
|
|
@@ -22,7 +50,7 @@ export declare function createNosanaApi(environment: NosanaNetworkType, apiKeyAu
|
|
|
22
50
|
export { generateIdempotencyKey, IdempotencyCode } from './utils/idempotency.js';
|
|
23
51
|
export { isNosanaApiError, isIdempotencyControlSignal } from './utils/errorFormatter.js';
|
|
24
52
|
export * from './types.js';
|
|
25
|
-
export type { CreateNosanaApiOptions as ApiConfig, CreateNosanaApiOptions } from './types.js';
|
|
53
|
+
export type { CreateNosanaApiOptions as ApiConfig, CreateNosanaApiOptions, } from './types.js';
|
|
26
54
|
export type { NosanaApiError } from './utils/errorFormatter.js';
|
|
27
55
|
export type * from './routes/jobs/types.js';
|
|
28
56
|
export type * from './routes/credits/types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EAErB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAGtB,KAAK,aAAa,EAElB,KAAK,kBAAkB,EAEvB,KAAK,cAAc,EAEnB,KAAK,cAAc,EAEnB,KAAK,iBAAiB,EAEtB,KAAK,mBAAmB,EAExB,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EACV,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,aAAa,IAAI,iBAAiB,EAClC,aAAa,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,cAAc,CAAC;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC;;;;;OAKG;IACH,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC;;;;;OAKG;IACH,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,mBAAmB,CAAC;AA4B9D,wBAAgB,eAAe,CAC7B,WAAW,EAAE,iBAAiB,EAC9B,MAAM,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,SAAS,CAAC;AACb,wBAAgB,eAAe,CAC7B,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,SAAS,CAAC;AACb,wBAAgB,eAAe,CAC7B,WAAW,EAAE,iBAAiB,EAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,mBAAmB,CAAC;AAiDvB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAGzF,cAAc,YAAY,CAAC;AAC3B,YAAY,EACV,sBAAsB,IAAI,SAAS,EACnC,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,+BAA+B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,18 +1,45 @@
|
|
|
1
|
-
import { createNosanaClientManagerApiClient,
|
|
2
|
-
import { createNosanaJobsApi, createNosanaCreditsApi, createNosanaMarketsApi, createDeploymentsApi, createNosanaAuthApi } from './routes/index.js';
|
|
1
|
+
import { createNosanaClientManagerApiClient, createBlockchainIndexerClient, createHostManagerClient, createDeploymentManagerClient, } from './client/index.js';
|
|
2
|
+
import { createNosanaJobsApi, createNosanaCreditsApi, createNosanaMarketsApi, createDeploymentsApi, createNosanaAuthApi, createNosanaUserApi, createNosanaTemplatesApi, createNosanaHostsApi, createNosanaStatsApi, createNosanaPaymentsApi, createNosanaNewsletterApi, createNosanaBenchmarksApi, } from './routes/index.js';
|
|
3
3
|
import { NosanaNetwork } from './types.js';
|
|
4
|
+
function createClients(environment, authParams, options) {
|
|
5
|
+
return {
|
|
6
|
+
clientManager: createNosanaClientManagerApiClient(environment, authParams, options),
|
|
7
|
+
hostManager: createHostManagerClient(environment, authParams, options),
|
|
8
|
+
blockchainIndexer: createBlockchainIndexerClient(environment, authParams, options),
|
|
9
|
+
deploymentManager: createDeploymentManagerClient(environment, authParams, options),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
4
12
|
export function createNosanaApi(environment = NosanaNetwork.MAINNET, signerOrApiKey, options) {
|
|
5
13
|
const hasApiKey = typeof signerOrApiKey === 'string';
|
|
6
|
-
const
|
|
7
|
-
const dashboardClient = createNosanaDashboardApiClient(environment, signerOrApiKey, options);
|
|
14
|
+
const clients = createClients(environment, signerOrApiKey, options);
|
|
8
15
|
return {
|
|
9
|
-
auth: createNosanaAuthApi(
|
|
10
|
-
jobs: createNosanaJobsApi(
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
auth: createNosanaAuthApi(clients.clientManager),
|
|
17
|
+
jobs: createNosanaJobsApi({
|
|
18
|
+
blockchainIndexer: clients.blockchainIndexer,
|
|
19
|
+
clientManager: clients.clientManager,
|
|
20
|
+
}),
|
|
21
|
+
credits: createNosanaCreditsApi({ clientManager: clients.clientManager }),
|
|
22
|
+
markets: createNosanaMarketsApi({ hostManager: clients.hostManager }),
|
|
13
23
|
deployments: !hasApiKey && signerOrApiKey
|
|
14
|
-
? createDeploymentsApi({
|
|
15
|
-
|
|
24
|
+
? createDeploymentsApi({
|
|
25
|
+
deploymentManager: clients.deploymentManager,
|
|
26
|
+
solana: signerOrApiKey.solana,
|
|
27
|
+
}, false)
|
|
28
|
+
: createDeploymentsApi({ deploymentManager: clients.deploymentManager }, true),
|
|
29
|
+
user: createNosanaUserApi({ clientManager: clients.clientManager }),
|
|
30
|
+
templates: createNosanaTemplatesApi({
|
|
31
|
+
clientManager: clients.clientManager,
|
|
32
|
+
}),
|
|
33
|
+
hosts: createNosanaHostsApi({ hostManager: clients.hostManager }),
|
|
34
|
+
stats: createNosanaStatsApi({
|
|
35
|
+
blockchainIndexer: clients.blockchainIndexer,
|
|
36
|
+
}),
|
|
37
|
+
payments: createNosanaPaymentsApi({ clientManager: clients.clientManager }),
|
|
38
|
+
newsletter: createNosanaNewsletterApi({
|
|
39
|
+
clientManager: clients.clientManager,
|
|
40
|
+
}),
|
|
41
|
+
benchmarks: createNosanaBenchmarksApi({ hostManager: clients.hostManager }),
|
|
42
|
+
clients,
|
|
16
43
|
};
|
|
17
44
|
}
|
|
18
45
|
// Export helpers
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClientManagerClient } from '../../client/
|
|
1
|
+
import { ClientManagerClient } from '../../client/client-manager/index.js';
|
|
2
2
|
import type { NosanaAuthApi } from './types.js';
|
|
3
3
|
export declare function createNosanaAuthApi(client: ClientManagerClient): NosanaAuthApi;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
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,CA0Cf"}
|
|
@@ -13,6 +13,24 @@ export function createNosanaAuthApi(client) {
|
|
|
13
13
|
}
|
|
14
14
|
return data.signature;
|
|
15
15
|
},
|
|
16
|
+
async validateSession(cookieHeader) {
|
|
17
|
+
const { data, error } = await client.POST('/auth/validate-session', {
|
|
18
|
+
body: cookieHeader ? { cookieHeader } : {},
|
|
19
|
+
});
|
|
20
|
+
if (error || !data) {
|
|
21
|
+
throw errorFormatter('Failed to validate session', error);
|
|
22
|
+
}
|
|
23
|
+
return data;
|
|
24
|
+
},
|
|
25
|
+
async validateApiKey(apiKey) {
|
|
26
|
+
const { data, error } = await client.POST('/auth/validate-api-key', {
|
|
27
|
+
body: { apiKey },
|
|
28
|
+
});
|
|
29
|
+
if (error || !data) {
|
|
30
|
+
throw errorFormatter('Failed to validate API key', error);
|
|
31
|
+
}
|
|
32
|
+
return data;
|
|
33
|
+
},
|
|
16
34
|
};
|
|
17
35
|
}
|
|
18
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -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;KACF,CAAC;AACJ,CAAC"}
|
|
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,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,6 +1,11 @@
|
|
|
1
|
+
import type { paths } from '../../client/client-manager/schema.js';
|
|
2
|
+
export type ValidateSessionResponse = paths['/auth/validate-session']['post']['responses'][200]['content']['application/json'];
|
|
3
|
+
export type ValidateApiKeyResponse = paths['/auth/validate-api-key']['post']['responses'][200]['content']['application/json'];
|
|
1
4
|
export type NosanaAuthApi = {
|
|
2
5
|
signMessage: (message: string, options?: {
|
|
3
6
|
includeTime?: boolean;
|
|
4
7
|
}) => Promise<string>;
|
|
8
|
+
validateSession: (cookieHeader?: string) => Promise<ValidateSessionResponse>;
|
|
9
|
+
validateApiKey: (apiKey: string) => Promise<ValidateApiKeyResponse>;
|
|
5
10
|
};
|
|
6
11
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/auth/types.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { HostManagerClient } from '../../client/host-manager/index.js';
|
|
2
|
+
import type { NosanaBenchmarksApi } from './types.js';
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export declare function createNosanaBenchmarksApi(clients: {
|
|
5
|
+
hostManager: HostManagerClient;
|
|
6
|
+
}): NosanaBenchmarksApi;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/benchmarks/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EACV,mBAAmB,EAQpB,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAE3B,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,iBAAiB,CAAC;CAChC,GAAG,mBAAmB,CA6KtB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { errorFormatter } from '../../utils/errorFormatter.js';
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export function createNosanaBenchmarksApi(clients) {
|
|
4
|
+
const { hostManager: client } = clients;
|
|
5
|
+
return {
|
|
6
|
+
async getRecent() {
|
|
7
|
+
const { data, error } = await client.GET('/benchmarks/recent', {});
|
|
8
|
+
if (error || !data) {
|
|
9
|
+
throw errorFormatter('Failed to get recent benchmarks', error);
|
|
10
|
+
}
|
|
11
|
+
return data;
|
|
12
|
+
},
|
|
13
|
+
async getMarketMetricAggregates(request) {
|
|
14
|
+
const { data, error } = await client.GET('/benchmarks/market-metric-aggregates', {
|
|
15
|
+
params: { query: request ?? {} },
|
|
16
|
+
});
|
|
17
|
+
if (error || !data) {
|
|
18
|
+
throw errorFormatter('Failed to get market metric aggregates', error);
|
|
19
|
+
}
|
|
20
|
+
return data;
|
|
21
|
+
},
|
|
22
|
+
async getVersion() {
|
|
23
|
+
const { data, error } = await client.GET('/benchmarks/benchmark-version', {});
|
|
24
|
+
if (error || !data) {
|
|
25
|
+
throw errorFormatter('Failed to get benchmark version', error);
|
|
26
|
+
}
|
|
27
|
+
return data;
|
|
28
|
+
},
|
|
29
|
+
async getThresholds(request) {
|
|
30
|
+
const { data, error } = await client.GET('/benchmarks/thresholds', {
|
|
31
|
+
params: { query: request ?? {} },
|
|
32
|
+
});
|
|
33
|
+
if (error || !data) {
|
|
34
|
+
throw errorFormatter('Failed to get benchmark thresholds', error);
|
|
35
|
+
}
|
|
36
|
+
return data;
|
|
37
|
+
},
|
|
38
|
+
async getMetrics(request) {
|
|
39
|
+
const { data, error } = await client.GET('/benchmarks/metrics', {
|
|
40
|
+
params: { query: request ?? {} },
|
|
41
|
+
});
|
|
42
|
+
if (error || !data) {
|
|
43
|
+
throw errorFormatter('Failed to get benchmark metrics', error);
|
|
44
|
+
}
|
|
45
|
+
return data;
|
|
46
|
+
},
|
|
47
|
+
async getOperations() {
|
|
48
|
+
const { data, error } = await client.GET('/benchmarks/operations', {});
|
|
49
|
+
if (error || !data) {
|
|
50
|
+
throw errorFormatter('Failed to get benchmark operations', error);
|
|
51
|
+
}
|
|
52
|
+
return data;
|
|
53
|
+
},
|
|
54
|
+
async getMetricProcessors() {
|
|
55
|
+
const { data, error } = await client.GET('/benchmarks/metric-processors', {});
|
|
56
|
+
if (error || !data) {
|
|
57
|
+
throw errorFormatter('Failed to get metric processors', error);
|
|
58
|
+
}
|
|
59
|
+
return data;
|
|
60
|
+
},
|
|
61
|
+
async getMarketThresholds(request) {
|
|
62
|
+
const { data, error } = await client.GET('/benchmarks/market-thresholds', {
|
|
63
|
+
params: { query: request ?? {} },
|
|
64
|
+
});
|
|
65
|
+
if (error || !data) {
|
|
66
|
+
throw errorFormatter('Failed to get market thresholds', error);
|
|
67
|
+
}
|
|
68
|
+
return data;
|
|
69
|
+
},
|
|
70
|
+
async getTemplatesConfig() {
|
|
71
|
+
const { data, error } = await client.GET('/benchmark-templates/config', {});
|
|
72
|
+
if (error || !data) {
|
|
73
|
+
throw errorFormatter('Failed to get benchmark templates config', error);
|
|
74
|
+
}
|
|
75
|
+
return data;
|
|
76
|
+
},
|
|
77
|
+
async getTemplatesRefresh() {
|
|
78
|
+
const { data, error } = await client.GET('/benchmark-templates/refresh', {});
|
|
79
|
+
if (error || !data) {
|
|
80
|
+
throw errorFormatter('Failed to refresh benchmark templates', error);
|
|
81
|
+
}
|
|
82
|
+
return data;
|
|
83
|
+
},
|
|
84
|
+
async getPrediction(id, request) {
|
|
85
|
+
const { data, error } = await client.POST('/benchmarks/{id}/prediction', {
|
|
86
|
+
params: { path: { id } },
|
|
87
|
+
body: request,
|
|
88
|
+
});
|
|
89
|
+
if (error || !data) {
|
|
90
|
+
throw errorFormatter('Failed to get benchmark prediction', error);
|
|
91
|
+
}
|
|
92
|
+
return data;
|
|
93
|
+
},
|
|
94
|
+
async submitResults(id, request) {
|
|
95
|
+
const { data, error } = await client.POST('/benchmarks/{id}/submit-results', {
|
|
96
|
+
params: { path: { id } },
|
|
97
|
+
body: request,
|
|
98
|
+
});
|
|
99
|
+
if (error || !data) {
|
|
100
|
+
throw errorFormatter('Failed to submit benchmark results', error);
|
|
101
|
+
}
|
|
102
|
+
return data;
|
|
103
|
+
},
|
|
104
|
+
async seed(id, request) {
|
|
105
|
+
const { data, error } = await client.POST('/benchmarks/{id}/seed', {
|
|
106
|
+
params: { path: { id } },
|
|
107
|
+
body: request,
|
|
108
|
+
});
|
|
109
|
+
if (error || !data) {
|
|
110
|
+
throw errorFormatter('Failed to seed benchmark', error);
|
|
111
|
+
}
|
|
112
|
+
return data;
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/benchmarks/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { operations } from '../../client/host-manager/schema.js';
|
|
2
|
+
export type MarketMetricAggregatesRequest = NonNullable<operations['getBenchmarksMarket-metric-aggregates']['parameters']['query']>;
|
|
3
|
+
export type BenchmarkThresholdsRequest = NonNullable<operations['getBenchmarksThresholds']['parameters']['query']>;
|
|
4
|
+
export type BenchmarkMetricsRequest = NonNullable<operations['getBenchmarksMetrics']['parameters']['query']>;
|
|
5
|
+
export type MarketThresholdsRequest = NonNullable<operations['getBenchmarksMarket-thresholds']['parameters']['query']>;
|
|
6
|
+
export type BenchmarkPredictionRequest = NonNullable<operations['postBenchmarksByIdPrediction']['requestBody']>['content']['application/json'];
|
|
7
|
+
export type BenchmarkSubmitResultsRequest = NonNullable<operations['postBenchmarksByIdSubmit-results']['requestBody']>['content']['application/json'];
|
|
8
|
+
export type BenchmarkSeedRequest = NonNullable<operations['postBenchmarksByIdSeed']['requestBody']>['content']['application/json'];
|
|
9
|
+
export interface NosanaBenchmarksApi {
|
|
10
|
+
getRecent: () => Promise<Record<string, unknown>>;
|
|
11
|
+
getMarketMetricAggregates: (request?: MarketMetricAggregatesRequest) => Promise<Record<string, unknown>>;
|
|
12
|
+
getVersion: () => Promise<Record<string, unknown>>;
|
|
13
|
+
getThresholds: (request?: BenchmarkThresholdsRequest) => Promise<Record<string, unknown>>;
|
|
14
|
+
getMetrics: (request?: BenchmarkMetricsRequest) => Promise<Record<string, unknown>>;
|
|
15
|
+
getOperations: () => Promise<Record<string, unknown>>;
|
|
16
|
+
getMetricProcessors: () => Promise<Record<string, unknown>>;
|
|
17
|
+
getMarketThresholds: (request?: MarketThresholdsRequest) => Promise<Record<string, unknown>>;
|
|
18
|
+
getTemplatesConfig: () => Promise<Record<string, unknown>>;
|
|
19
|
+
getTemplatesRefresh: () => Promise<Record<string, unknown>>;
|
|
20
|
+
getPrediction: (id: string, request: BenchmarkPredictionRequest) => Promise<Record<string, unknown>>;
|
|
21
|
+
submitResults: (id: string, request: BenchmarkSubmitResultsRequest) => Promise<Record<string, unknown>>;
|
|
22
|
+
seed: (id: string, request: BenchmarkSeedRequest) => Promise<Record<string, unknown>>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/benchmarks/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/routes/benchmarks/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ClientManagerClient } from '../../client/client-manager/index.js';
|
|
2
2
|
import type { NosanaCreditsApi } from './types.js';
|
|
3
|
-
export * from
|
|
4
|
-
export declare function createNosanaCreditsApi(
|
|
3
|
+
export * from './types.js';
|
|
4
|
+
export declare function createNosanaCreditsApi(clients: {
|
|
5
|
+
clientManager: ClientManagerClient;
|
|
6
|
+
}): NosanaCreditsApi;
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/credits/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/credits/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAEV,gBAAgB,EAGjB,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAE3B,wBAAgB,sBAAsB,CAAC,OAAO,EAAE;IAC9C,aAAa,EAAE,mBAAmB,CAAC;CACpC,GAAG,gBAAgB,CAmGnB"}
|
|
@@ -1,14 +1,83 @@
|
|
|
1
1
|
import { errorFormatter } from '../../utils/errorFormatter.js';
|
|
2
|
-
export * from
|
|
3
|
-
export function createNosanaCreditsApi(
|
|
2
|
+
export * from './types.js';
|
|
3
|
+
export function createNosanaCreditsApi(clients) {
|
|
4
|
+
const { clientManager: client } = clients;
|
|
4
5
|
return {
|
|
5
6
|
async balance() {
|
|
6
|
-
const { data, error } = await client.GET('/
|
|
7
|
+
const { data, error } = await client.GET('/credits/balance', {});
|
|
7
8
|
if (error || !data) {
|
|
8
9
|
throw errorFormatter('Failed to fetch balance', error);
|
|
9
10
|
}
|
|
10
11
|
return data;
|
|
11
|
-
}
|
|
12
|
+
},
|
|
13
|
+
async claim(code) {
|
|
14
|
+
const { data, error } = await client.POST('/credits/claim', {
|
|
15
|
+
body: { code },
|
|
16
|
+
});
|
|
17
|
+
if (error || !data) {
|
|
18
|
+
throw errorFormatter('Failed to claim credits', error);
|
|
19
|
+
}
|
|
20
|
+
return data;
|
|
21
|
+
},
|
|
22
|
+
async request() {
|
|
23
|
+
const { data, error } = await client.POST('/credits/request', {
|
|
24
|
+
body: undefined,
|
|
25
|
+
});
|
|
26
|
+
if (error || !data) {
|
|
27
|
+
throw errorFormatter('Failed to request credits', error);
|
|
28
|
+
}
|
|
29
|
+
return data;
|
|
30
|
+
},
|
|
31
|
+
async checkEligibility() {
|
|
32
|
+
const { data, error } = await client.GET('/credits/request/eligibility', {});
|
|
33
|
+
if (error || !data) {
|
|
34
|
+
throw errorFormatter('Failed to check eligibility', error);
|
|
35
|
+
}
|
|
36
|
+
return data;
|
|
37
|
+
},
|
|
38
|
+
async getSpendingHistory(request) {
|
|
39
|
+
const { data, error } = await client.GET('/credits/spending-history', {
|
|
40
|
+
params: { query: request },
|
|
41
|
+
});
|
|
42
|
+
if (error || !data) {
|
|
43
|
+
throw errorFormatter('Failed to fetch credit spending history', error);
|
|
44
|
+
}
|
|
45
|
+
return data;
|
|
46
|
+
},
|
|
47
|
+
async getTransactions(request) {
|
|
48
|
+
const { data, error } = await client.GET('/credits/transactions', {
|
|
49
|
+
params: { query: request },
|
|
50
|
+
});
|
|
51
|
+
if (error || !data) {
|
|
52
|
+
throw errorFormatter('Failed to list credit transactions', error);
|
|
53
|
+
}
|
|
54
|
+
return data;
|
|
55
|
+
},
|
|
56
|
+
invitations: {
|
|
57
|
+
async get(token) {
|
|
58
|
+
const { data, error } = await client.GET('/credits/invitations/{token}', {
|
|
59
|
+
params: {
|
|
60
|
+
path: { token },
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
if (error || !data) {
|
|
64
|
+
throw errorFormatter('Failed to get invitation', error);
|
|
65
|
+
}
|
|
66
|
+
return data;
|
|
67
|
+
},
|
|
68
|
+
async claim(token) {
|
|
69
|
+
const { data, error } = await client.POST('/credits/invitations/{token}/claim', {
|
|
70
|
+
params: {
|
|
71
|
+
path: { token },
|
|
72
|
+
},
|
|
73
|
+
body: undefined,
|
|
74
|
+
});
|
|
75
|
+
if (error || !data) {
|
|
76
|
+
throw errorFormatter('Failed to claim invitation', error);
|
|
77
|
+
}
|
|
78
|
+
return data;
|
|
79
|
+
},
|
|
80
|
+
},
|
|
12
81
|
};
|
|
13
82
|
}
|
|
14
83
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/credits/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/credits/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAU/D,cAAc,YAAY,CAAC;AAE3B,MAAM,UAAU,sBAAsB,CAAC,OAEtC;IACC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC1C,OAAO;QACL,KAAK,CAAC,OAAO;YACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YAEjE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAY;YACtB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1D,IAAI,EAAE,EAAE,IAAI,EAAE;aACf,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC5D,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,gBAAgB;YACpB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;YAE7E,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,CAAC,kBAAkB,CACtB,OAAsC;YAEtC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE;gBACpE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;aAC3B,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,IAA0C,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,eAAe,CACnB,OAAmC;YAEnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBAChE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;aAC3B,CAAC,CAAC;YAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACnB,MAAM,cAAc,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YACpE,CAAC;YAED,OAAO,IAA0C,CAAC;QACpD,CAAC;QACD,WAAW,EAAE;YACX,KAAK,CAAC,GAAG,CAAC,KAAa;gBACrB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,8BAA8B,EAAE;oBACvE,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,KAAK,EAAE;qBAChB;iBACF,CAAC,CAAC;gBAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;gBAC1D,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,KAAa;gBACvB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;oBAC9E,MAAM,EAAE;wBACN,IAAI,EAAE,EAAE,KAAK,EAAE;qBAChB;oBACD,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;gBAEH,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnB,MAAM,cAAc,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBAC5D,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
import { operations } from
|
|
2
|
-
export type Balance = operations['
|
|
1
|
+
import type { operations } from '../../client/client-manager/schema.js';
|
|
2
|
+
export type Balance = operations['getCreditsBalance']['responses'][200]['content']['application/json'];
|
|
3
|
+
export type CreditsSpendingHistoryRequest = NonNullable<operations['getCreditsSpending-history']['parameters']['query']>;
|
|
4
|
+
export type CreditsTransactionsRequest = NonNullable<operations['getCreditsTransactions']['parameters']['query']>;
|
|
3
5
|
export interface NosanaCreditsApi {
|
|
4
6
|
balance: () => Promise<Balance>;
|
|
7
|
+
claim: (code: string) => Promise<Record<string, unknown>>;
|
|
8
|
+
request: () => Promise<Record<string, unknown>>;
|
|
9
|
+
checkEligibility: () => Promise<Record<string, unknown>>;
|
|
10
|
+
getSpendingHistory: (request: CreditsSpendingHistoryRequest) => Promise<Record<string, unknown>>;
|
|
11
|
+
getTransactions: (request: CreditsTransactionsRequest) => Promise<Record<string, unknown>>;
|
|
12
|
+
invitations: {
|
|
13
|
+
get: (token: string) => Promise<Record<string, unknown>>;
|
|
14
|
+
claim: (token: string) => Promise<Record<string, unknown>>;
|
|
15
|
+
};
|
|
5
16
|
}
|
|
6
17
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/credits/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/routes/credits/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,MAAM,OAAO,GACjB,UAAU,CAAC,mBAAmB,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAEnF,MAAM,MAAM,6BAA6B,GAAG,WAAW,CACrD,UAAU,CAAC,4BAA4B,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAChE,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,WAAW,CAClD,UAAU,CAAC,wBAAwB,CAAC,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAC5D,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,gBAAgB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,kBAAkB,EAAE,CAClB,OAAO,EAAE,6BAA6B,KACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,eAAe,EAAE,CACf,OAAO,EAAE,0BAA0B,KAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE;QACX,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC5D,CAAC;CACH"}
|