@vapi-network/core 0.5.0 → 0.8.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 +406 -5
- package/dist/account-add.d.ts +101 -0
- package/dist/account-add.d.ts.map +1 -0
- package/dist/account-movement-lock.d.ts +10 -0
- package/dist/account-movement-lock.d.ts.map +1 -0
- package/dist/agent-link.d.ts +16 -1
- package/dist/agent-link.d.ts.map +1 -1
- package/dist/agent-link.js +131 -54
- package/dist/agent-link.js.map +3 -3
- package/dist/agent-profile.d.ts +47 -6
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/agent-run.d.ts +12 -0
- package/dist/agent-run.d.ts.map +1 -0
- package/dist/allocation.d.ts +64 -0
- package/dist/allocation.d.ts.map +1 -0
- package/dist/api-key.js +4 -2
- package/dist/api-key.js.map +1 -1
- package/dist/atomic-file.d.ts +23 -0
- package/dist/atomic-file.d.ts.map +1 -0
- package/dist/audit.d.ts +4 -1
- package/dist/audit.d.ts.map +1 -1
- package/dist/backup.d.ts +307 -0
- package/dist/backup.d.ts.map +1 -0
- package/dist/backup.js +49938 -0
- package/dist/backup.js.map +6 -0
- package/dist/call-contracts-wire.d.ts +12 -12
- package/dist/ceiling.d.ts +98 -0
- package/dist/ceiling.d.ts.map +1 -0
- package/dist/cloud-backup.d.ts +123 -0
- package/dist/cloud-backup.d.ts.map +1 -0
- package/dist/cloud-backup.js +50827 -0
- package/dist/cloud-backup.js.map +6 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/device.d.ts +15 -0
- package/dist/device.d.ts.map +1 -0
- package/dist/distribute.d.ts +68 -0
- package/dist/distribute.d.ts.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10131 -1228
- package/dist/index.js.map +3 -3
- package/dist/keystore.d.ts +24 -1
- package/dist/keystore.d.ts.map +1 -1
- package/dist/marketplace-contracts.d.ts +14 -14
- package/dist/member-bundle.d.ts +110 -0
- package/dist/member-bundle.d.ts.map +1 -0
- package/dist/movement-open.d.ts +10 -0
- package/dist/movement-open.d.ts.map +1 -0
- package/dist/movement.d.ts +172 -0
- package/dist/movement.d.ts.map +1 -0
- package/dist/networks.d.ts +1 -0
- package/dist/networks.d.ts.map +1 -1
- package/dist/receipts.d.ts +33 -0
- package/dist/receipts.d.ts.map +1 -1
- package/dist/router-client.d.ts +9 -1
- package/dist/router-client.d.ts.map +1 -1
- package/dist/router-client.js +36500 -16308
- package/dist/router-client.js.map +3 -3
- package/dist/run-budget.d.ts +17 -0
- package/dist/run-budget.d.ts.map +1 -0
- package/dist/secret-store.d.ts +23 -5
- package/dist/secret-store.d.ts.map +1 -1
- package/dist/secrets.d.ts +2 -0
- package/dist/secrets.d.ts.map +1 -1
- package/dist/secrets.js +1439 -56
- package/dist/secrets.js.map +3 -3
- package/dist/siblings.d.ts +41 -0
- package/dist/siblings.d.ts.map +1 -0
- package/dist/spend-policy.d.ts +12 -0
- package/dist/spend-policy.d.ts.map +1 -1
- package/dist/status.d.ts +73 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/support-report.d.ts +1 -1
- package/dist/swarm-capital.d.ts +147 -0
- package/dist/swarm-capital.d.ts.map +1 -0
- package/dist/swarm.d.ts +224 -0
- package/dist/swarm.d.ts.map +1 -0
- package/dist/transfer-journal.d.ts +11 -0
- package/dist/transfer-journal.d.ts.map +1 -0
- package/dist/transfer.d.ts +65 -0
- package/dist/transfer.d.ts.map +1 -0
- package/dist/vault-key.d.ts +41 -0
- package/dist/vault-key.d.ts.map +1 -0
- package/dist/vault-migrate.d.ts +29 -0
- package/dist/vault-migrate.d.ts.map +1 -0
- package/dist/vault.d.ts +104 -0
- package/dist/vault.d.ts.map +1 -0
- package/dist/wallet-store.d.ts +135 -39
- package/dist/wallet-store.d.ts.map +1 -1
- package/dist/x402-pay.d.ts +12 -0
- package/dist/x402-pay.d.ts.map +1 -1
- package/dist/x402.d.ts +3 -0
- package/dist/x402.d.ts.map +1 -1
- package/package.json +9 -1
|
@@ -2,8 +2,8 @@ import { z } from "zod";
|
|
|
2
2
|
export declare const CALLABLE_KIND: "agent";
|
|
3
3
|
export declare const CALLABLE_CATEGORIES: readonly ["ai", "data", "crypto", "compute", "search"];
|
|
4
4
|
export declare const callableCategorySchema: z.ZodEnum<{
|
|
5
|
-
data: "data";
|
|
6
5
|
search: "search";
|
|
6
|
+
data: "data";
|
|
7
7
|
crypto: "crypto";
|
|
8
8
|
ai: "ai";
|
|
9
9
|
compute: "compute";
|
|
@@ -11,8 +11,8 @@ export declare const callableCategorySchema: z.ZodEnum<{
|
|
|
11
11
|
export type CallableCategory = z.infer<typeof callableCategorySchema>;
|
|
12
12
|
export declare const DISCOVERY_CATEGORIES: readonly ["ai", "data", "crypto", "compute", "search", "other"];
|
|
13
13
|
export declare const discoveryCategorySchema: z.ZodEnum<{
|
|
14
|
-
data: "data";
|
|
15
14
|
search: "search";
|
|
15
|
+
data: "data";
|
|
16
16
|
crypto: "crypto";
|
|
17
17
|
ai: "ai";
|
|
18
18
|
compute: "compute";
|
|
@@ -95,10 +95,10 @@ export declare const serviceSummarySchema: z.ZodObject<{
|
|
|
95
95
|
}, z.core.$loose>>;
|
|
96
96
|
}, z.core.$loose>>;
|
|
97
97
|
group: z.ZodOptional<z.ZodEnum<{
|
|
98
|
+
external: "external";
|
|
98
99
|
vapi: "vapi";
|
|
99
100
|
partner: "partner";
|
|
100
101
|
added: "added";
|
|
101
|
-
external: "external";
|
|
102
102
|
}>>;
|
|
103
103
|
fee: z.ZodOptional<z.ZodObject<{
|
|
104
104
|
bps: z.ZodNumber;
|
|
@@ -136,8 +136,8 @@ export declare const serviceSummarySchema: z.ZodObject<{
|
|
|
136
136
|
name: z.ZodString;
|
|
137
137
|
description: z.ZodString;
|
|
138
138
|
category: z.ZodEnum<{
|
|
139
|
-
data: "data";
|
|
140
139
|
search: "search";
|
|
140
|
+
data: "data";
|
|
141
141
|
crypto: "crypto";
|
|
142
142
|
ai: "ai";
|
|
143
143
|
compute: "compute";
|
|
@@ -177,10 +177,10 @@ export declare const searchServicesResponseSchema: z.ZodObject<{
|
|
|
177
177
|
}, z.core.$loose>>;
|
|
178
178
|
}, z.core.$loose>>;
|
|
179
179
|
group: z.ZodOptional<z.ZodEnum<{
|
|
180
|
+
external: "external";
|
|
180
181
|
vapi: "vapi";
|
|
181
182
|
partner: "partner";
|
|
182
183
|
added: "added";
|
|
183
|
-
external: "external";
|
|
184
184
|
}>>;
|
|
185
185
|
fee: z.ZodOptional<z.ZodObject<{
|
|
186
186
|
bps: z.ZodNumber;
|
|
@@ -218,8 +218,8 @@ export declare const searchServicesResponseSchema: z.ZodObject<{
|
|
|
218
218
|
name: z.ZodString;
|
|
219
219
|
description: z.ZodString;
|
|
220
220
|
category: z.ZodEnum<{
|
|
221
|
-
data: "data";
|
|
222
221
|
search: "search";
|
|
222
|
+
data: "data";
|
|
223
223
|
crypto: "crypto";
|
|
224
224
|
ai: "ai";
|
|
225
225
|
compute: "compute";
|
|
@@ -260,10 +260,10 @@ export declare const listServicesResponseSchema: z.ZodObject<{
|
|
|
260
260
|
}, z.core.$loose>>;
|
|
261
261
|
}, z.core.$loose>>;
|
|
262
262
|
group: z.ZodOptional<z.ZodEnum<{
|
|
263
|
+
external: "external";
|
|
263
264
|
vapi: "vapi";
|
|
264
265
|
partner: "partner";
|
|
265
266
|
added: "added";
|
|
266
|
-
external: "external";
|
|
267
267
|
}>>;
|
|
268
268
|
fee: z.ZodOptional<z.ZodObject<{
|
|
269
269
|
bps: z.ZodNumber;
|
|
@@ -301,8 +301,8 @@ export declare const listServicesResponseSchema: z.ZodObject<{
|
|
|
301
301
|
name: z.ZodString;
|
|
302
302
|
description: z.ZodString;
|
|
303
303
|
category: z.ZodEnum<{
|
|
304
|
-
data: "data";
|
|
305
304
|
search: "search";
|
|
305
|
+
data: "data";
|
|
306
306
|
crypto: "crypto";
|
|
307
307
|
ai: "ai";
|
|
308
308
|
compute: "compute";
|
|
@@ -342,10 +342,10 @@ export declare const discoveryServiceSchema: z.ZodObject<{
|
|
|
342
342
|
}, z.core.$loose>>;
|
|
343
343
|
}, z.core.$loose>>;
|
|
344
344
|
group: z.ZodOptional<z.ZodEnum<{
|
|
345
|
+
external: "external";
|
|
345
346
|
vapi: "vapi";
|
|
346
347
|
partner: "partner";
|
|
347
348
|
added: "added";
|
|
348
|
-
external: "external";
|
|
349
349
|
}>>;
|
|
350
350
|
fee: z.ZodOptional<z.ZodObject<{
|
|
351
351
|
bps: z.ZodNumber;
|
|
@@ -383,8 +383,8 @@ export declare const discoveryServiceSchema: z.ZodObject<{
|
|
|
383
383
|
name: z.ZodString;
|
|
384
384
|
description: z.ZodString;
|
|
385
385
|
category: z.ZodEnum<{
|
|
386
|
-
data: "data";
|
|
387
386
|
search: "search";
|
|
387
|
+
data: "data";
|
|
388
388
|
crypto: "crypto";
|
|
389
389
|
ai: "ai";
|
|
390
390
|
compute: "compute";
|
|
@@ -424,10 +424,10 @@ export declare const discoveryResponseSchema: z.ZodObject<{
|
|
|
424
424
|
}, z.core.$loose>>;
|
|
425
425
|
}, z.core.$loose>>;
|
|
426
426
|
group: z.ZodOptional<z.ZodEnum<{
|
|
427
|
+
external: "external";
|
|
427
428
|
vapi: "vapi";
|
|
428
429
|
partner: "partner";
|
|
429
430
|
added: "added";
|
|
430
|
-
external: "external";
|
|
431
431
|
}>>;
|
|
432
432
|
fee: z.ZodOptional<z.ZodObject<{
|
|
433
433
|
bps: z.ZodNumber;
|
|
@@ -465,8 +465,8 @@ export declare const discoveryResponseSchema: z.ZodObject<{
|
|
|
465
465
|
name: z.ZodString;
|
|
466
466
|
description: z.ZodString;
|
|
467
467
|
category: z.ZodEnum<{
|
|
468
|
-
data: "data";
|
|
469
468
|
search: "search";
|
|
469
|
+
data: "data";
|
|
470
470
|
crypto: "crypto";
|
|
471
471
|
ai: "ai";
|
|
472
472
|
compute: "compute";
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { type Hex } from "viem";
|
|
2
|
+
import { type AuthorizationState } from "./authorization-state.js";
|
|
3
|
+
import { type VapiConfig } from "./config.js";
|
|
4
|
+
import { type LookupFn } from "./net-guard.js";
|
|
5
|
+
import { type Receipt } from "./receipts.js";
|
|
6
|
+
import type { SecretStore } from "./secret-store.js";
|
|
7
|
+
import { type SiblingsResult } from "./siblings.js";
|
|
8
|
+
import { type TransferArgs, type TransferResult } from "./transfer.js";
|
|
9
|
+
import type { WalletCeilingSweepPending, WalletName, WalletStore } from "./wallet-store.js";
|
|
10
|
+
export declare const CEILING_SWEEP_MINIMUM_ATOMIC = 100000n;
|
|
11
|
+
export declare const CEILING_SWEEP_GUARD_MS: number;
|
|
12
|
+
export declare const CEILING_SWEEP_TIMEOUT_MS = 10000;
|
|
13
|
+
export type SweepTargetAccount = {
|
|
14
|
+
account: WalletName;
|
|
15
|
+
owner: `0x${string}`;
|
|
16
|
+
parent?: {
|
|
17
|
+
account: WalletName;
|
|
18
|
+
address: `0x${string}`;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/** The single recipient seam future swarm treasury routing will replace. */
|
|
22
|
+
export declare function sweepTarget(account: SweepTargetAccount): `0x${string}`;
|
|
23
|
+
/** A disabled ceiling stays disabled; otherwise the daily cap is its floor. */
|
|
24
|
+
export declare function effectiveCeiling(ceilingAtomic: bigint | null, perDayCapAtomic?: bigint | null): bigint | null;
|
|
25
|
+
/** True when the per-day cap, rather than the configured ceiling, sets the floor. */
|
|
26
|
+
export declare function ceilingFloorApplies(ceilingAtomic: bigint | null, perDayCapAtomic?: bigint | null): boolean;
|
|
27
|
+
export type CeilingSweepStatus = "swept" | "skipped" | "failed" | "unknown";
|
|
28
|
+
export type CeilingSweepResult = {
|
|
29
|
+
account: WalletName;
|
|
30
|
+
status: CeilingSweepStatus;
|
|
31
|
+
reason?: string;
|
|
32
|
+
amountUsd?: string;
|
|
33
|
+
txHash?: string;
|
|
34
|
+
};
|
|
35
|
+
export type CeilingBalanceReader = (args: {
|
|
36
|
+
address: `0x${string}`;
|
|
37
|
+
signal?: AbortSignal;
|
|
38
|
+
}) => Promise<bigint>;
|
|
39
|
+
export type CeilingSiblingsFetcher = (args: {
|
|
40
|
+
apiBase: string;
|
|
41
|
+
account: WalletName;
|
|
42
|
+
secrets: SecretStore;
|
|
43
|
+
wallets: WalletStore;
|
|
44
|
+
fetchImpl?: typeof fetch;
|
|
45
|
+
now?: () => number;
|
|
46
|
+
signal?: AbortSignal;
|
|
47
|
+
timeoutMs?: number;
|
|
48
|
+
}) => Promise<SiblingsResult>;
|
|
49
|
+
export type CeilingTransfer = (args: TransferArgs) => Promise<TransferResult>;
|
|
50
|
+
export type CeilingAuthorizationStateReader = (input: {
|
|
51
|
+
receipt: Receipt;
|
|
52
|
+
pending: Readonly<WalletCeilingSweepPending>;
|
|
53
|
+
}) => Promise<AuthorizationState>;
|
|
54
|
+
export type SweepAboveCeilingArgs = {
|
|
55
|
+
store: WalletStore;
|
|
56
|
+
secrets: SecretStore;
|
|
57
|
+
apiBase: string;
|
|
58
|
+
account: WalletName;
|
|
59
|
+
config?: VapiConfig;
|
|
60
|
+
balanceReader?: CeilingBalanceReader;
|
|
61
|
+
addressReader?: (account: WalletName) => Promise<string | undefined>;
|
|
62
|
+
resolveParent?: (account: WalletName) => Promise<{
|
|
63
|
+
account: WalletName;
|
|
64
|
+
address: `0x${string}`;
|
|
65
|
+
} | undefined>;
|
|
66
|
+
fetchSiblingsImpl?: CeilingSiblingsFetcher;
|
|
67
|
+
transfer?: CeilingTransfer;
|
|
68
|
+
authorizationState?: CeilingAuthorizationStateReader;
|
|
69
|
+
randomNonce?: () => Hex;
|
|
70
|
+
unlock?: TransferArgs["unlock"];
|
|
71
|
+
fetchImpl?: typeof fetch;
|
|
72
|
+
lookup?: LookupFn;
|
|
73
|
+
now?: () => number;
|
|
74
|
+
signal?: AbortSignal;
|
|
75
|
+
timeoutMs?: number;
|
|
76
|
+
auditHome?: string;
|
|
77
|
+
warn?: (message: string) => void;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Best-effort Base USDC ceiling enforcement for one local account. Expected
|
|
81
|
+
* network, link, balance, signing, and relay failures are returned, not thrown.
|
|
82
|
+
*/
|
|
83
|
+
export declare function sweepAboveCeiling(args: SweepAboveCeilingArgs): Promise<CeilingSweepResult>;
|
|
84
|
+
export type SweepAllAboveCeilingArgs = Omit<SweepAboveCeilingArgs, "account">;
|
|
85
|
+
/** Runs local accounts in registry order; relay and registry work stays serial. */
|
|
86
|
+
export declare function sweepAllAboveCeiling(args: SweepAllAboveCeilingArgs): Promise<CeilingSweepResult[]>;
|
|
87
|
+
export type CeilingSweepHook = {
|
|
88
|
+
account: WalletName;
|
|
89
|
+
auditHome: string;
|
|
90
|
+
run: (signal: AbortSignal) => Promise<unknown>;
|
|
91
|
+
timeoutMs?: number;
|
|
92
|
+
now?: () => number;
|
|
93
|
+
};
|
|
94
|
+
/** Starts a settled-call sweep off the result path and tracks it for short-lived clients. */
|
|
95
|
+
export declare function scheduleCeilingSweep(hook: CeilingSweepHook): void;
|
|
96
|
+
/** Waits for currently queued sweeps without holding a CLI longer than the bound. */
|
|
97
|
+
export declare function drainCeilingSweeps(timeoutMs?: number): Promise<void>;
|
|
98
|
+
//# sourceMappingURL=ceiling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ceiling.d.ts","sourceRoot":"","sources":["../src/ceiling.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { type BackupKdf, type BackupExportSkipped, type BackupOmittedSection, type BackupPlaintext, type BackupRestoreResult } from "./backup.js";
|
|
2
|
+
import type { AgentProfileParser } from "./agent-profile.js";
|
|
3
|
+
import type { SecretStore } from "./secret-store.js";
|
|
4
|
+
import { type VaultEnv } from "./vault-key.js";
|
|
5
|
+
import type { WalletStore } from "./wallet-store.js";
|
|
6
|
+
export type RelayPurpose = "enroll" | "restore";
|
|
7
|
+
export type RelayKeyPair = {
|
|
8
|
+
publicKey: Uint8Array;
|
|
9
|
+
privateKey: Uint8Array;
|
|
10
|
+
};
|
|
11
|
+
export type RelayPayload = {
|
|
12
|
+
format: "vapi-vault-relay-payload";
|
|
13
|
+
v: 1;
|
|
14
|
+
purpose: RelayPurpose;
|
|
15
|
+
owner: `0x${string}`;
|
|
16
|
+
device: string;
|
|
17
|
+
kdf: BackupKdf;
|
|
18
|
+
key: Uint8Array;
|
|
19
|
+
vault?: BackupPlaintext;
|
|
20
|
+
};
|
|
21
|
+
export type CloudBackupErrorCode = "relay_create_failed" | "relay_expired" | "relay_aborted" | "payload_invalid" | "payload_device_mismatch" | "payload_purpose_mismatch" | "payload_owner_mismatch" | "secret_store_unavailable" | "vault_exists" | "restore_failed";
|
|
22
|
+
export declare class CloudBackupError extends Error {
|
|
23
|
+
readonly code: CloudBackupErrorCode;
|
|
24
|
+
constructor(code: CloudBackupErrorCode);
|
|
25
|
+
}
|
|
26
|
+
export type StoredBackupKey = {
|
|
27
|
+
owner: `0x${string}`;
|
|
28
|
+
device: string;
|
|
29
|
+
kdf: BackupKdf;
|
|
30
|
+
key: Uint8Array;
|
|
31
|
+
};
|
|
32
|
+
export type CloudBackupState = {
|
|
33
|
+
enabled: boolean;
|
|
34
|
+
lastUploadAt?: string;
|
|
35
|
+
sizeBytes?: number;
|
|
36
|
+
};
|
|
37
|
+
export type UploadBackupResult = {
|
|
38
|
+
status: "uploaded";
|
|
39
|
+
account: string;
|
|
40
|
+
bytes: number;
|
|
41
|
+
uploadedAt: string;
|
|
42
|
+
omitted?: BackupOmittedSection[];
|
|
43
|
+
skipped?: BackupExportSkipped[];
|
|
44
|
+
} | {
|
|
45
|
+
status: "skipped";
|
|
46
|
+
reason: "no_backup_key" | "no_vault" | "vault_locked" | "not_linked" | "device_unknown" | "snapshot_busy" | "rejected" | "network" | "timeout";
|
|
47
|
+
httpStatus?: number;
|
|
48
|
+
};
|
|
49
|
+
type RandomBytes = (length: number) => Uint8Array;
|
|
50
|
+
export declare function startRelay(options: {
|
|
51
|
+
apiBase: string;
|
|
52
|
+
device: string;
|
|
53
|
+
purpose: RelayPurpose;
|
|
54
|
+
fetchImpl?: typeof fetch;
|
|
55
|
+
now?: () => Date;
|
|
56
|
+
randomBytes?: RandomBytes;
|
|
57
|
+
}): Promise<{
|
|
58
|
+
code: string;
|
|
59
|
+
expiresAt: string;
|
|
60
|
+
keyPair: RelayKeyPair;
|
|
61
|
+
}>;
|
|
62
|
+
export declare function awaitRelay(options: {
|
|
63
|
+
apiBase: string;
|
|
64
|
+
code: string;
|
|
65
|
+
keyPair: RelayKeyPair;
|
|
66
|
+
expiresAt: string;
|
|
67
|
+
expectedOwner?: string;
|
|
68
|
+
device: string;
|
|
69
|
+
purpose: RelayPurpose;
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
pollMs?: number;
|
|
72
|
+
fetchImpl?: typeof fetch;
|
|
73
|
+
now?: () => Date;
|
|
74
|
+
sleep?: (milliseconds: number, signal?: AbortSignal) => Promise<void>;
|
|
75
|
+
}): Promise<RelayPayload>;
|
|
76
|
+
export declare function backupKeyAccount(device: string): string;
|
|
77
|
+
export declare function backupStateAccount(device: string): string;
|
|
78
|
+
export declare function storeBackupKey(options: {
|
|
79
|
+
secrets: SecretStore;
|
|
80
|
+
device: string;
|
|
81
|
+
owner: string;
|
|
82
|
+
kdf: BackupKdf;
|
|
83
|
+
key: Uint8Array;
|
|
84
|
+
}): Promise<void>;
|
|
85
|
+
export declare function readBackupKey(options: {
|
|
86
|
+
secrets: SecretStore;
|
|
87
|
+
device: string;
|
|
88
|
+
}): Promise<StoredBackupKey | undefined>;
|
|
89
|
+
export declare function forgetBackupKey(options: {
|
|
90
|
+
secrets: SecretStore;
|
|
91
|
+
device: string;
|
|
92
|
+
}): Promise<boolean>;
|
|
93
|
+
export declare function readCloudBackupState(options: {
|
|
94
|
+
secrets: SecretStore;
|
|
95
|
+
device: string;
|
|
96
|
+
}): Promise<CloudBackupState>;
|
|
97
|
+
export declare function uploadBackup(options: {
|
|
98
|
+
store: WalletStore;
|
|
99
|
+
secrets: SecretStore;
|
|
100
|
+
device: string;
|
|
101
|
+
apiBase?: string;
|
|
102
|
+
account?: string;
|
|
103
|
+
networks?: readonly string[];
|
|
104
|
+
env?: VaultEnv;
|
|
105
|
+
fetchImpl?: typeof fetch;
|
|
106
|
+
now?: () => Date;
|
|
107
|
+
randomBytes?: RandomBytes;
|
|
108
|
+
timeoutMs?: number;
|
|
109
|
+
signal?: AbortSignal;
|
|
110
|
+
agentProfileSchema?: AgentProfileParser;
|
|
111
|
+
}): Promise<UploadBackupResult>;
|
|
112
|
+
export { buildRelayRestorePayload } from "./backup.js";
|
|
113
|
+
export declare function restoreFromOwner(options: {
|
|
114
|
+
payload: RelayPayload;
|
|
115
|
+
home: string;
|
|
116
|
+
vaultKey: Uint8Array;
|
|
117
|
+
secrets: SecretStore;
|
|
118
|
+
password?: string;
|
|
119
|
+
env?: VaultEnv;
|
|
120
|
+
randomBytes?: RandomBytes;
|
|
121
|
+
now?: () => Date;
|
|
122
|
+
}): Promise<BackupRestoreResult>;
|
|
123
|
+
//# sourceMappingURL=cloud-backup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-backup.d.ts","sourceRoot":"","sources":["../src/cloud-backup.ts"],"names":[],"mappings":"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"}
|