@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.
Files changed (95) hide show
  1. package/README.md +406 -5
  2. package/dist/account-add.d.ts +101 -0
  3. package/dist/account-add.d.ts.map +1 -0
  4. package/dist/account-movement-lock.d.ts +10 -0
  5. package/dist/account-movement-lock.d.ts.map +1 -0
  6. package/dist/agent-link.d.ts +16 -1
  7. package/dist/agent-link.d.ts.map +1 -1
  8. package/dist/agent-link.js +131 -54
  9. package/dist/agent-link.js.map +3 -3
  10. package/dist/agent-profile.d.ts +47 -6
  11. package/dist/agent-profile.d.ts.map +1 -1
  12. package/dist/agent-run.d.ts +12 -0
  13. package/dist/agent-run.d.ts.map +1 -0
  14. package/dist/allocation.d.ts +64 -0
  15. package/dist/allocation.d.ts.map +1 -0
  16. package/dist/api-key.js +4 -2
  17. package/dist/api-key.js.map +1 -1
  18. package/dist/atomic-file.d.ts +23 -0
  19. package/dist/atomic-file.d.ts.map +1 -0
  20. package/dist/audit.d.ts +4 -1
  21. package/dist/audit.d.ts.map +1 -1
  22. package/dist/backup.d.ts +307 -0
  23. package/dist/backup.d.ts.map +1 -0
  24. package/dist/backup.js +49938 -0
  25. package/dist/backup.js.map +6 -0
  26. package/dist/call-contracts-wire.d.ts +12 -12
  27. package/dist/ceiling.d.ts +98 -0
  28. package/dist/ceiling.d.ts.map +1 -0
  29. package/dist/cloud-backup.d.ts +123 -0
  30. package/dist/cloud-backup.d.ts.map +1 -0
  31. package/dist/cloud-backup.js +50827 -0
  32. package/dist/cloud-backup.js.map +6 -0
  33. package/dist/config.d.ts +5 -0
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/device.d.ts +15 -0
  36. package/dist/device.d.ts.map +1 -0
  37. package/dist/distribute.d.ts +68 -0
  38. package/dist/distribute.d.ts.map +1 -0
  39. package/dist/index.d.ts +17 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +10131 -1228
  42. package/dist/index.js.map +3 -3
  43. package/dist/keystore.d.ts +24 -1
  44. package/dist/keystore.d.ts.map +1 -1
  45. package/dist/marketplace-contracts.d.ts +14 -14
  46. package/dist/member-bundle.d.ts +110 -0
  47. package/dist/member-bundle.d.ts.map +1 -0
  48. package/dist/movement-open.d.ts +10 -0
  49. package/dist/movement-open.d.ts.map +1 -0
  50. package/dist/movement.d.ts +172 -0
  51. package/dist/movement.d.ts.map +1 -0
  52. package/dist/networks.d.ts +1 -0
  53. package/dist/networks.d.ts.map +1 -1
  54. package/dist/receipts.d.ts +33 -0
  55. package/dist/receipts.d.ts.map +1 -1
  56. package/dist/router-client.d.ts +9 -1
  57. package/dist/router-client.d.ts.map +1 -1
  58. package/dist/router-client.js +36500 -16308
  59. package/dist/router-client.js.map +3 -3
  60. package/dist/run-budget.d.ts +17 -0
  61. package/dist/run-budget.d.ts.map +1 -0
  62. package/dist/secret-store.d.ts +23 -5
  63. package/dist/secret-store.d.ts.map +1 -1
  64. package/dist/secrets.d.ts +2 -0
  65. package/dist/secrets.d.ts.map +1 -1
  66. package/dist/secrets.js +1439 -56
  67. package/dist/secrets.js.map +3 -3
  68. package/dist/siblings.d.ts +41 -0
  69. package/dist/siblings.d.ts.map +1 -0
  70. package/dist/spend-policy.d.ts +12 -0
  71. package/dist/spend-policy.d.ts.map +1 -1
  72. package/dist/status.d.ts +73 -0
  73. package/dist/status.d.ts.map +1 -0
  74. package/dist/support-report.d.ts +1 -1
  75. package/dist/swarm-capital.d.ts +147 -0
  76. package/dist/swarm-capital.d.ts.map +1 -0
  77. package/dist/swarm.d.ts +224 -0
  78. package/dist/swarm.d.ts.map +1 -0
  79. package/dist/transfer-journal.d.ts +11 -0
  80. package/dist/transfer-journal.d.ts.map +1 -0
  81. package/dist/transfer.d.ts +65 -0
  82. package/dist/transfer.d.ts.map +1 -0
  83. package/dist/vault-key.d.ts +41 -0
  84. package/dist/vault-key.d.ts.map +1 -0
  85. package/dist/vault-migrate.d.ts +29 -0
  86. package/dist/vault-migrate.d.ts.map +1 -0
  87. package/dist/vault.d.ts +104 -0
  88. package/dist/vault.d.ts.map +1 -0
  89. package/dist/wallet-store.d.ts +135 -39
  90. package/dist/wallet-store.d.ts.map +1 -1
  91. package/dist/x402-pay.d.ts +12 -0
  92. package/dist/x402-pay.d.ts.map +1 -1
  93. package/dist/x402.d.ts +3 -0
  94. package/dist/x402.d.ts.map +1 -1
  95. 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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"}