@nosana/api 2.11.2 → 2.13.1
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 +37 -0
- package/dist/client/createClient.d.ts +5 -3
- package/dist/client/createClient.d.ts.map +1 -1
- package/dist/client/createClient.js +4 -2
- package/dist/client/createClient.js.map +1 -1
- package/dist/client/deployment-manager/schema.d.ts +268 -41
- package/dist/client/deployment-manager/schema.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/node/index.d.ts +23 -0
- package/dist/client/node/index.d.ts.map +1 -0
- package/dist/client/node/index.js +24 -0
- package/dist/client/node/index.js.map +1 -0
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +3 -0
- package/dist/defaults/index.js.map +1 -1
- package/dist/index.d.ts +32 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -7
- package/dist/index.js.map +1 -1
- package/dist/routes/auth/index.d.ts.map +1 -1
- package/dist/routes/auth/index.js +12 -0
- package/dist/routes/auth/index.js.map +1 -1
- package/dist/routes/auth/types.d.ts +8 -0
- package/dist/routes/auth/types.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.d.ts +9 -0
- package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.d.ts.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.js +17 -0
- package/dist/routes/deployments/deployment/actions/deploymentAddSshKeys.js.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentDuplicate.d.ts +17 -0
- package/dist/routes/deployments/deployment/actions/deploymentDuplicate.d.ts.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentDuplicate.js +22 -0
- package/dist/routes/deployments/deployment/actions/deploymentDuplicate.js.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.d.ts +7 -0
- package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.d.ts.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.js +14 -0
- package/dist/routes/deployments/deployment/actions/deploymentGetSshKeys.js.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.d.ts +9 -0
- package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.d.ts.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.js +17 -0
- package/dist/routes/deployments/deployment/actions/deploymentRemoveSshKeys.js.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentStream.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentStream.js +10 -30
- package/dist/routes/deployments/deployment/actions/deploymentStream.js.map +1 -1
- package/dist/routes/deployments/deployment/actions/deploymentUpdateMarket.d.ts +13 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateMarket.d.ts.map +1 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateMarket.js +24 -0
- package/dist/routes/deployments/deployment/actions/deploymentUpdateMarket.js.map +1 -0
- package/dist/routes/deployments/deployment/actions/index.d.ts +5 -0
- package/dist/routes/deployments/deployment/actions/index.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/actions/index.js +5 -0
- package/dist/routes/deployments/deployment/actions/index.js.map +1 -1
- package/dist/routes/deployments/deployment/createDeployment.d.ts.map +1 -1
- package/dist/routes/deployments/deployment/createDeployment.js +95 -12
- package/dist/routes/deployments/deployment/createDeployment.js.map +1 -1
- package/dist/routes/deployments/types.d.ts +51 -11
- package/dist/routes/deployments/types.d.ts.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/jobs/index.d.ts +8 -2
- package/dist/routes/jobs/index.d.ts.map +1 -1
- package/dist/routes/jobs/index.js +28 -14
- package/dist/routes/jobs/index.js.map +1 -1
- package/dist/routes/jobs/types.d.ts +16 -1
- package/dist/routes/jobs/types.d.ts.map +1 -1
- package/dist/routes/node/__tests__/fixtures.d.ts +30 -0
- package/dist/routes/node/__tests__/fixtures.d.ts.map +1 -0
- package/dist/routes/node/__tests__/fixtures.js +38 -0
- package/dist/routes/node/__tests__/fixtures.js.map +1 -0
- package/dist/routes/node/actions/authorization.d.ts +4 -0
- package/dist/routes/node/actions/authorization.d.ts.map +1 -0
- package/dist/routes/node/actions/authorization.js +9 -0
- package/dist/routes/node/actions/authorization.js.map +1 -0
- package/dist/routes/node/actions/nodeInfo.d.ts +4 -0
- package/dist/routes/node/actions/nodeInfo.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeInfo.js +9 -0
- package/dist/routes/node/actions/nodeInfo.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/index.d.ts +14 -0
- package/dist/routes/node/actions/nodeJob/index.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/index.js +14 -0
- package/dist/routes/node/actions/nodeJob/index.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobDefinition.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/nodeJobDefinition.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobDefinition.js +9 -0
- package/dist/routes/node/actions/nodeJob/nodeJobDefinition.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.js +9 -0
- package/dist/routes/node/actions/nodeJob/nodeJobEndpoints.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobGroup.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/nodeJobGroup.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobGroup.js +11 -0
- package/dist/routes/node/actions/nodeJob/nodeJobGroup.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperation.d.ts +3 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperation.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperation.js +9 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperation.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperations.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperations.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperations.js +9 -0
- package/dist/routes/node/actions/nodeJob/nodeJobOperations.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobResults.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/nodeJobResults.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobResults.js +9 -0
- package/dist/routes/node/actions/nodeJob/nodeJobResults.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobStats.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/nodeJobStats.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/nodeJobStats.js +9 -0
- package/dist/routes/node/actions/nodeJob/nodeJobStats.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.d.ts +3 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.js +10 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobGroup.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.d.ts +3 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.js +10 -0
- package/dist/routes/node/actions/nodeJob/restartNodeJobOperation.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.d.ts +4 -0
- package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.js +12 -0
- package/dist/routes/node/actions/nodeJob/setNodeJobDefinition.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJob.d.ts +3 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJob.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJob.js +11 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJob.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.d.ts +3 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.js +10 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobGroup.js.map +1 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.d.ts +3 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.js +10 -0
- package/dist/routes/node/actions/nodeJob/stopNodeJobOperation.js.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/index.d.ts +4 -0
- package/dist/routes/node/actions/nodeJobSsh/index.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/index.js +4 -0
- package/dist/routes/node/actions/nodeJobSsh/index.js.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.d.ts +5 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.js +25 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshAdd.js.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.d.ts +4 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.js +12 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshKeys.js.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.d.ts +4 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.js +14 -0
- package/dist/routes/node/actions/nodeJobSsh/nodeJobSshRemove.js.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/index.d.ts +3 -0
- package/dist/routes/node/actions/nodeJobStreams/index.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/index.js +3 -0
- package/dist/routes/node/actions/nodeJobStreams/index.js.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.d.ts +4 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.js +5 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobInfoStream.js.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.d.ts +4 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.js +6 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeJobStatsStream.js.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeStream.d.ts +5 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeStream.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeStream.js +10 -0
- package/dist/routes/node/actions/nodeJobStreams/nodeStream.js.map +1 -0
- package/dist/routes/node/actions/nodeSocket/index.d.ts +4 -0
- package/dist/routes/node/actions/nodeSocket/index.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeSocket/index.js +4 -0
- package/dist/routes/node/actions/nodeSocket/index.js.map +1 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobLogs.d.ts +3 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobLogs.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobLogs.js +10 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobLogs.js.map +1 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobStatus.d.ts +3 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobStatus.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobStatus.js +5 -0
- package/dist/routes/node/actions/nodeSocket/nodeJobStatus.js.map +1 -0
- package/dist/routes/node/actions/nodeSocket/socket.d.ts +19 -0
- package/dist/routes/node/actions/nodeSocket/socket.d.ts.map +1 -0
- package/dist/routes/node/actions/nodeSocket/socket.js +38 -0
- package/dist/routes/node/actions/nodeSocket/socket.js.map +1 -0
- package/dist/routes/node/actions/terminal/grant.d.ts +21 -0
- package/dist/routes/node/actions/terminal/grant.d.ts.map +1 -0
- package/dist/routes/node/actions/terminal/grant.js +28 -0
- package/dist/routes/node/actions/terminal/grant.js.map +1 -0
- package/dist/routes/node/actions/terminal/openTerminal.d.ts +4 -0
- package/dist/routes/node/actions/terminal/openTerminal.d.ts.map +1 -0
- package/dist/routes/node/actions/terminal/openTerminal.js +22 -0
- package/dist/routes/node/actions/terminal/openTerminal.js.map +1 -0
- package/dist/routes/node/actions/terminal/session.d.ts +7 -0
- package/dist/routes/node/actions/terminal/session.d.ts.map +1 -0
- package/dist/routes/node/actions/terminal/session.js +133 -0
- package/dist/routes/node/actions/terminal/session.js.map +1 -0
- package/dist/routes/node/createNodeJob.d.ts +3 -0
- package/dist/routes/node/createNodeJob.d.ts.map +1 -0
- package/dist/routes/node/createNodeJob.js +39 -0
- package/dist/routes/node/createNodeJob.js.map +1 -0
- package/dist/routes/node/index.d.ts +8 -0
- package/dist/routes/node/index.d.ts.map +1 -0
- package/dist/routes/node/index.js +21 -0
- package/dist/routes/node/index.js.map +1 -0
- package/dist/routes/node/types.d.ts +148 -0
- package/dist/routes/node/types.d.ts.map +1 -0
- package/dist/routes/node/types.js +2 -0
- package/dist/routes/node/types.js.map +1 -0
- package/dist/types.d.ts +31 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/eventStream.d.ts +15 -0
- package/dist/utils/eventStream.d.ts.map +1 -0
- package/dist/utils/eventStream.js +36 -0
- package/dist/utils/eventStream.js.map +1 -0
- package/dist/utils/json.d.ts +3 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +10 -0
- package/dist/utils/json.js.map +1 -0
- package/package.json +7 -3
package/dist/types.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ import type { ClientManagerClient } from './client/client-manager/index.js';
|
|
|
2
2
|
import type { BlockchainIndexerClient } from './client/blockchain-indexer/index.js';
|
|
3
3
|
import type { HostManagerClient } from './client/host-manager/index.js';
|
|
4
4
|
import type { DeploymentManagerClient } from './client/deployment-manager/index.js';
|
|
5
|
+
import type { GenerateOptions } from '@nosana/authorization';
|
|
5
6
|
import { TopupVaultOptions } from './routes/deployments/types.js';
|
|
6
|
-
|
|
7
|
+
import { NosanaNetwork } from '@nosana/types';
|
|
8
|
+
export { NosanaNetwork };
|
|
7
9
|
export type { NosanaNetwork as NosanaNetworkType } from '@nosana/types';
|
|
8
10
|
export interface SolanaConfig {
|
|
9
11
|
network: string;
|
|
@@ -26,15 +28,28 @@ export type ExternalSolanaFunctions = {
|
|
|
26
28
|
};
|
|
27
29
|
export type SignerAuth = {
|
|
28
30
|
identifier: string;
|
|
29
|
-
generate:
|
|
31
|
+
generate: SignedHeaderAuth['generate'];
|
|
30
32
|
solana: ExternalSolanaFunctions;
|
|
31
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* The minimal auth a node needs. A node verifies the signed `authorization`
|
|
36
|
+
* header against the job owner's key, so only a header generator is required;
|
|
37
|
+
* `x-user-id` is optional and unused by nodes. `SignerAuth` satisfies it, and
|
|
38
|
+
* an API-key caller supplies one backed by the client manager's signing service.
|
|
39
|
+
*/
|
|
40
|
+
export type SignedHeaderAuth = {
|
|
41
|
+
identifier?: string;
|
|
42
|
+
/** Terminal grants request fresh signing without touching the normal auth cache. */
|
|
43
|
+
generate: (message: string, options?: Pick<GenerateOptions, 'skipCache'>) => Promise<string>;
|
|
44
|
+
};
|
|
32
45
|
export type CreateNosanaApiOptions = Partial<{
|
|
33
46
|
client_manager_url: string;
|
|
34
47
|
host_manager_url: string;
|
|
35
48
|
blockchain_indexer_url: string;
|
|
36
49
|
/** Under API key auth this becomes the client manager proxy's forwarding target. */
|
|
37
50
|
deployment_manager_url: string;
|
|
51
|
+
/** Domain under which every node's API answers, as `<address>.<domain>`. */
|
|
52
|
+
node_domain: string;
|
|
38
53
|
include_credentials: boolean;
|
|
39
54
|
}>;
|
|
40
55
|
export interface Config {
|
|
@@ -42,6 +57,7 @@ export interface Config {
|
|
|
42
57
|
host_manager_url: string;
|
|
43
58
|
blockchain_indexer_url: string;
|
|
44
59
|
deployment_manager_url: string;
|
|
60
|
+
node_domain: string;
|
|
45
61
|
nos_address: string;
|
|
46
62
|
}
|
|
47
63
|
/**
|
|
@@ -53,8 +69,21 @@ export interface NosanaClients {
|
|
|
53
69
|
blockchainIndexer: BlockchainIndexerClient;
|
|
54
70
|
deploymentManager: DeploymentManagerClient;
|
|
55
71
|
}
|
|
72
|
+
/** An open stream, for as long as the caller wants it. */
|
|
73
|
+
export type StreamSubscription = {
|
|
74
|
+
close: () => void;
|
|
75
|
+
};
|
|
76
|
+
/** What every stream reports besides its frames. */
|
|
77
|
+
export interface StreamLifecycleHandlers {
|
|
78
|
+
/** The stream opened, or reopened after dropping: resynchronise from here. */
|
|
79
|
+
onOpen?: () => void;
|
|
80
|
+
onError?: (error: unknown) => void;
|
|
81
|
+
}
|
|
56
82
|
export interface DeploymentRouteClients {
|
|
57
83
|
deploymentManager: DeploymentManagerClient;
|
|
84
|
+
/** Network and options a deployment needs to reach its jobs' nodes directly. */
|
|
85
|
+
environment: NosanaNetwork;
|
|
86
|
+
options?: CreateNosanaApiOptions;
|
|
58
87
|
}
|
|
59
88
|
export type DeploymentRouteClientsWithSigner = DeploymentRouteClients & {
|
|
60
89
|
solana: ExternalSolanaFunctions;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,YAAY,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,iEAAiE;IACjE,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEvE,0EAA0E;IAC1E,yBAAyB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3F,oEAAoE;IACpE,wCAAwC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACpF,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ClientConnection } from '../client/type.utils.js';
|
|
2
|
+
import type { StreamLifecycleHandlers, StreamSubscription } from '../types.js';
|
|
3
|
+
export interface EventStreamHandlers extends StreamLifecycleHandlers {
|
|
4
|
+
/** One parsed frame. Frames that are not JSON are dropped before this. */
|
|
5
|
+
onMessage: (frame: unknown) => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Opens a server-sent event stream addressed and authenticated exactly as an
|
|
9
|
+
* ordinary request on the same connection. `EventSource` reconnects by itself,
|
|
10
|
+
* so errors are reported rather than thrown and `onOpen` may fire more than
|
|
11
|
+
* once. A handler that throws is swallowed with the malformed frames, the
|
|
12
|
+
* price of never letting one bad frame end the stream.
|
|
13
|
+
*/
|
|
14
|
+
export declare function openEventStream(connection: ClientConnection, path: string, handlers: EventStreamHandlers): StreamSubscription;
|
|
15
|
+
//# sourceMappingURL=eventStream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventStream.d.ts","sourceRoot":"","sources":["../../src/utils/eventStream.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,0EAA0E;IAC1E,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,mBAAmB,GAC5B,kBAAkB,CA0BpB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventSource } from 'eventsource';
|
|
2
|
+
import { tryParseJson } from './json.js';
|
|
3
|
+
/**
|
|
4
|
+
* Opens a server-sent event stream addressed and authenticated exactly as an
|
|
5
|
+
* ordinary request on the same connection. `EventSource` reconnects by itself,
|
|
6
|
+
* so errors are reported rather than thrown and `onOpen` may fire more than
|
|
7
|
+
* once. A handler that throws is swallowed with the malformed frames, the
|
|
8
|
+
* price of never letting one bad frame end the stream.
|
|
9
|
+
*/
|
|
10
|
+
export function openEventStream(connection, path, handlers) {
|
|
11
|
+
const { baseUrl, headers, credentials } = connection;
|
|
12
|
+
const source = new EventSource(`${baseUrl}${path}`, {
|
|
13
|
+
fetch: async (input, init) => fetch(input, {
|
|
14
|
+
...init,
|
|
15
|
+
// Under cookie auth there are no headers to copy, so the stream has to
|
|
16
|
+
// opt into sending the cookie or it authenticates as nobody.
|
|
17
|
+
...(credentials ? { credentials } : {}),
|
|
18
|
+
headers: { ...init.headers, ...(await headers()) },
|
|
19
|
+
}),
|
|
20
|
+
});
|
|
21
|
+
source.onopen = () => handlers.onOpen?.();
|
|
22
|
+
source.onerror = (error) => handlers.onError?.(error);
|
|
23
|
+
source.onmessage = ({ data }) => {
|
|
24
|
+
const frame = tryParseJson(data);
|
|
25
|
+
if (frame === undefined)
|
|
26
|
+
return;
|
|
27
|
+
try {
|
|
28
|
+
handlers.onMessage(frame);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
return { close: () => source.close() };
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=eventStream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventStream.js","sourceRoot":"","sources":["../../src/utils/eventStream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,UAA4B,EAC5B,IAAY,EACZ,QAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;IACrD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;QAClD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAC3B,KAAK,CAAC,KAAK,EAAE;YACX,GAAG,IAAI;YACP,uEAAuE;YACvE,6DAA6D;YAC7D,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,EAAE;SACnD,CAAC;KACL,CAAC,CAAC;IAEH,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1C,MAAM,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,IAAI,CAAC;YACH,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/utils/json.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nosana/api",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.1",
|
|
4
4
|
"description": "Nosana API module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -49,15 +49,19 @@
|
|
|
49
49
|
"@typescript-eslint/eslint-plugin": "^8.38.0",
|
|
50
50
|
"@typescript-eslint/parser": "^8.38.0",
|
|
51
51
|
"@vitest/coverage-v8": "^4.0.3",
|
|
52
|
+
"bs58": "^6.0.0",
|
|
52
53
|
"eslint": "^9.31.0",
|
|
53
54
|
"eslint-plugin-import": "^2.32.0",
|
|
54
55
|
"husky": "^9.1.7",
|
|
55
56
|
"openapi-typescript": "^7.8.0",
|
|
57
|
+
"tweetnacl": "^1.0.3",
|
|
56
58
|
"typescript": "^5.9.3",
|
|
57
59
|
"vitest": "^4.0.3"
|
|
58
60
|
},
|
|
59
61
|
"dependencies": {
|
|
60
|
-
"@nosana/
|
|
62
|
+
"@nosana/authorization": "2.13.0",
|
|
63
|
+
"@nosana/ssh": "2.13.1",
|
|
64
|
+
"@nosana/types": "2.13.0",
|
|
61
65
|
"eventsource": "^4.1.0",
|
|
62
66
|
"openapi-fetch": "^0.14.0"
|
|
63
67
|
},
|
|
@@ -65,5 +69,5 @@
|
|
|
65
69
|
"engines": {
|
|
66
70
|
"node": ">=20.18.0"
|
|
67
71
|
},
|
|
68
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "694cadb116a2dcb5d27a591ceba5f91daaf39c73"
|
|
69
73
|
}
|