@beam-network/sdk 0.2.15 → 0.2.17

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 CHANGED
@@ -91,4 +91,10 @@ Use `S3ProviderConfig` for ordinary AWS S3 if preferred, and keep using
91
91
  `S3CompatibleProviderConfig` when a provider needs a custom S3-compatible
92
92
  endpoint.
93
93
 
94
- For low-level BeamCore `/transfers/create` calls with raw HTTP-style configs, use `createRawTransfer`.
94
+ For low-level raw transfer configs, use `createRawTransfer`; lifecycle transport still goes through NATS.
95
+
96
+ ## Route Streaming And Payload Size
97
+
98
+ Provider transfers stream signed routes over NATS in target batches of 512 routes. The SDK still splits a batch earlier when the encoded MessagePack request would exceed `maxPayloadBytes`, which defaults to 24 MiB.
99
+
100
+ NATS requires this guard because the broker rejects messages above its configured `max_payload`. This limit applies only to lifecycle/control metadata; transfer file bytes do not flow through NATS.
package/dist/client.d.ts CHANGED
@@ -1,15 +1,19 @@
1
1
  import type { AttachSignedUrlsResponse, BeamClientOptions, DistributeResponse, PlanningHttpSource, PreparedDestination, PreparedHttpSource, ProviderTransferCreateInput, RawTransferCreateInput, SignedChunkRoute, SignedUrlFlow, TransferCancelResponse, TransferCreateResponse, TransferPlanResponse, TransferPrepareResponse, TransferStatusInfo } from "./models.js";
2
- export declare const BEAM_DEFAULT_URL = "https://beamcore.b1m.ai";
2
+ import { BEAM_DEFAULT_NATS_URL } from "./nats-control.js";
3
+ export { BEAM_DEFAULT_NATS_URL };
3
4
  export declare class BeamApiError extends Error {
4
5
  readonly status: number;
5
6
  readonly body: string;
6
7
  constructor(message: string, status: number, body: string);
7
8
  }
8
9
  export declare class BeamClient {
9
- readonly baseUrl: string;
10
10
  readonly apiKey: string;
11
+ readonly natsUrl: string;
11
12
  private readonly fetchImpl;
13
+ private readonly control;
14
+ private readonly recoverySigners;
12
15
  constructor(options?: BeamClientOptions);
16
+ close(): Promise<void>;
13
17
  createRawTransfer(input: RawTransferCreateInput): Promise<TransferCreateResponse>;
14
18
  createTransfer(input: ProviderTransferCreateInput): Promise<TransferPrepareResponse>;
15
19
  transferStatus(transferId: string): Promise<TransferStatusInfo>;
@@ -20,7 +24,6 @@ export declare class BeamClient {
20
24
  destinations: PreparedDestination[];
21
25
  name?: string;
22
26
  testMode?: boolean;
23
- experimental?: boolean;
24
27
  urlsExpiresAt?: string;
25
28
  signedUrlFlow?: SignedUrlFlow;
26
29
  }): Promise<TransferPlanResponse>;
@@ -29,7 +32,6 @@ export declare class BeamClient {
29
32
  destinations: PreparedDestination[];
30
33
  name?: string;
31
34
  testMode?: boolean;
32
- experimental?: boolean;
33
35
  urlsExpiresAt?: string;
34
36
  signedUrlFlow?: SignedUrlFlow;
35
37
  }): Promise<TransferPrepareResponse>;
@@ -37,17 +39,20 @@ export declare class BeamClient {
37
39
  chunkRoutes: SignedChunkRoute[];
38
40
  transferKey?: string;
39
41
  urlsExpiresAt?: string;
42
+ signedUrlFlow?: SignedUrlFlow;
43
+ autoDistribute?: boolean;
40
44
  }): Promise<AttachSignedUrlsResponse>;
41
45
  prepareProviderTransfer(input: ProviderTransferCreateInput): Promise<TransferPrepareResponse>;
42
46
  private signProviderRoute;
47
+ private startProviderRouteRecoverySigner;
48
+ private stopRecoverySigner;
49
+ private stopAllRecoverySigners;
43
50
  createAndDistribute(input: RawTransferCreateInput): Promise<TransferCreateResponse>;
44
51
  waitForTransfer(transferId: string, options?: {
45
52
  timeoutMs?: number;
46
53
  pollIntervalMs?: number;
47
54
  }): Promise<TransferStatusInfo>;
48
- private request;
49
55
  }
50
- export declare function calculateOptimalChunkSize(totalSize: number): number;
51
56
  export declare function buildStagingObjectPrefix(input: {
52
57
  finalObjectKey: string;
53
58
  transferId: string;