@vapi-network/core 0.8.0 → 0.9.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 +14 -1
- package/dist/agent-link.d.ts.map +1 -1
- package/dist/agent-link.js +6 -1
- package/dist/agent-link.js.map +1 -1
- package/dist/agent-profile.d.ts +4 -0
- package/dist/agent-profile.d.ts.map +1 -1
- package/dist/api-key.js +47 -0
- package/dist/api-key.js.map +1 -1
- package/dist/backup.d.ts +2 -0
- package/dist/backup.d.ts.map +1 -1
- package/dist/backup.js +65 -0
- package/dist/backup.js.map +1 -1
- package/dist/cloud-backup.js +71 -1
- package/dist/cloud-backup.js.map +1 -1
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/docs.d.ts +40 -0
- package/dist/docs.d.ts.map +1 -0
- package/dist/funding-policy.d.ts +29 -0
- package/dist/funding-policy.d.ts.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +718 -35
- package/dist/index.js.map +3 -3
- package/dist/router-client.js +230 -33
- package/dist/router-client.js.map +2 -2
- package/dist/secrets.js +29 -1
- package/dist/secrets.js.map +1 -1
- package/dist/spend-policy.d.ts +41 -7
- package/dist/spend-policy.d.ts.map +1 -1
- package/dist/support-report.d.ts +1 -1
- package/dist/tasks/actions.d.ts +152 -0
- package/dist/tasks/actions.d.ts.map +1 -0
- package/dist/tasks/canonical-json.d.ts +6 -0
- package/dist/tasks/canonical-json.d.ts.map +1 -0
- package/dist/tasks/chain-error.d.ts +6 -0
- package/dist/tasks/chain-error.d.ts.map +1 -0
- package/dist/tasks/chain-port.d.ts +88 -0
- package/dist/tasks/chain-port.d.ts.map +1 -0
- package/dist/tasks/chain-verification.d.ts +36 -0
- package/dist/tasks/chain-verification.d.ts.map +1 -0
- package/dist/tasks/chain.d.ts +22 -0
- package/dist/tasks/chain.d.ts.map +1 -0
- package/dist/tasks/client.d.ts +76 -0
- package/dist/tasks/client.d.ts.map +1 -0
- package/dist/tasks/delivery-manifest.d.ts +24 -0
- package/dist/tasks/delivery-manifest.d.ts.map +1 -0
- package/dist/tasks/dispute-fee.d.ts +4 -0
- package/dist/tasks/dispute-fee.d.ts.map +1 -0
- package/dist/tasks/index.d.ts +22 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/money.d.ts +17 -0
- package/dist/tasks/money.d.ts.map +1 -0
- package/dist/tasks/operation-support.d.ts +127 -0
- package/dist/tasks/operation-support.d.ts.map +1 -0
- package/dist/tasks/operations.d.ts +722 -0
- package/dist/tasks/operations.d.ts.map +1 -0
- package/dist/tasks/pending-transactions.d.ts +52 -0
- package/dist/tasks/pending-transactions.d.ts.map +1 -0
- package/dist/tasks/plan-guard.d.ts +326 -0
- package/dist/tasks/plan-guard.d.ts.map +1 -0
- package/dist/tasks/rpc.d.ts +8 -0
- package/dist/tasks/rpc.d.ts.map +1 -0
- package/dist/tasks/scope-bindings.d.ts +20 -0
- package/dist/tasks/scope-bindings.d.ts.map +1 -0
- package/dist/tasks/scope-terms.d.ts +75 -0
- package/dist/tasks/scope-terms.d.ts.map +1 -0
- package/dist/tasks/trusted-deployments.d.ts +14 -0
- package/dist/tasks/trusted-deployments.d.ts.map +1 -0
- package/dist/tasks/types.d.ts +4439 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/tasks/verbs.d.ts +4 -0
- package/dist/tasks/verbs.d.ts.map +1 -0
- package/dist/tasks.js +43906 -0
- package/dist/tasks.js.map +6 -0
- package/dist/transfer.d.ts.map +1 -1
- package/package.json +5 -1
package/dist/cloud-backup.js
CHANGED
|
@@ -46109,6 +46109,8 @@ var DEFAULT_SPEND_CAPS = {
|
|
|
46109
46109
|
perCallAtomic: "100000",
|
|
46110
46110
|
perDayAtomic: "1000000"
|
|
46111
46111
|
};
|
|
46112
|
+
var DEFAULT_MAX_PER_TASK_USD = 100;
|
|
46113
|
+
var DEFAULT_AUTO_RELEASE_BELOW_USD = 25;
|
|
46112
46114
|
var DEFAULT_CEILING_ATOMIC = 5000000n;
|
|
46113
46115
|
var atomicString = external_exports.string().regex(/^\d+$/, "Expected non-negative atomic units.");
|
|
46114
46116
|
var spendCapsSchema = external_exports.object({
|
|
@@ -46125,6 +46127,14 @@ var configSchema = external_exports.object({
|
|
|
46125
46127
|
})
|
|
46126
46128
|
).optional(),
|
|
46127
46129
|
allowPrivateNetwork: external_exports.boolean().default(false).optional(),
|
|
46130
|
+
tasksEscrowDurationOverrides: external_exports.record(
|
|
46131
|
+
external_exports.string().regex(/^\d+$/),
|
|
46132
|
+
external_exports.object({
|
|
46133
|
+
workDurationSeconds: external_exports.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional(),
|
|
46134
|
+
reviewWindowSeconds: external_exports.number().int().positive().max(Number.MAX_SAFE_INTEGER).optional()
|
|
46135
|
+
}).strict()
|
|
46136
|
+
).optional(),
|
|
46137
|
+
tasksEscrowFactoryOverrides: external_exports.record(external_exports.string().regex(/^\d+$/), external_exports.string()).optional(),
|
|
46128
46138
|
networks: external_exports.record(
|
|
46129
46139
|
external_exports.string().refine((network) => isSupportedPaymentNetwork(network), {
|
|
46130
46140
|
message: "Expected a supported eip155:<chainId> or Solana network identifier."
|
|
@@ -46143,6 +46153,17 @@ var configSchema = external_exports.object({
|
|
|
46143
46153
|
spendCaps: spendCapsSchema,
|
|
46144
46154
|
device: external_exports.string().regex(/^[a-z0-9][a-z0-9-]{0,31}$/).optional()
|
|
46145
46155
|
}).superRefine((config2, context) => {
|
|
46156
|
+
for (const [chainId, factory] of Object.entries(config2.tasksEscrowFactoryOverrides ?? {})) {
|
|
46157
|
+
try {
|
|
46158
|
+
getAddress(factory);
|
|
46159
|
+
} catch {
|
|
46160
|
+
context.addIssue({
|
|
46161
|
+
code: "custom",
|
|
46162
|
+
path: ["tasksEscrowFactoryOverrides", chainId],
|
|
46163
|
+
message: "Expected a valid EVM escrow factory address."
|
|
46164
|
+
});
|
|
46165
|
+
}
|
|
46166
|
+
}
|
|
46146
46167
|
for (const [network, configured] of Object.entries(config2.networks)) {
|
|
46147
46168
|
if (isSolanaNetwork(network)) {
|
|
46148
46169
|
if (configured.usdc !== NETWORKS[SOLANA_MAINNET_CAIP2].usdc) {
|
|
@@ -46288,6 +46309,7 @@ function getDefaultConfig(source = process.env, options = {}) {
|
|
|
46288
46309
|
const registry2 = registryEndpoints(source.VAPI_REGISTRY_URL?.trim() || DEFAULT_REGISTRY_URL);
|
|
46289
46310
|
const requested = new Set(options.networks ?? ["base"]);
|
|
46290
46311
|
const networks = {};
|
|
46312
|
+
const tasksEscrowFactoryOverrides = tasksFactoryOverridesFromEnv(source);
|
|
46291
46313
|
if (requested.has("base") || requested.has(BASE_MAINNET_CAIP2)) {
|
|
46292
46314
|
networks[BASE_MAINNET_CAIP2] = {
|
|
46293
46315
|
rpcUrl: source.BASE_RPC_URL?.trim() || NETWORKS[BASE_MAINNET_CAIP2].publicRpcUrl,
|
|
@@ -46325,6 +46347,8 @@ function getDefaultConfig(source = process.env, options = {}) {
|
|
|
46325
46347
|
marketplaceDiscoveryUrl: source.VAPI_MARKETPLACE_DISCOVERY_URL?.trim() || registry2.marketplaceDiscoveryUrl,
|
|
46326
46348
|
registryFallbacks: DEFAULT_REGISTRY_FALLBACKS.map((fallback) => ({ ...fallback })),
|
|
46327
46349
|
allowPrivateNetwork: false,
|
|
46350
|
+
tasksEscrowFactoryOverrides,
|
|
46351
|
+
tasksEscrowDurationOverrides: tasksDurationOverridesFromEnv(source),
|
|
46328
46352
|
networks,
|
|
46329
46353
|
spendCaps: { ...DEFAULT_SPEND_CAPS }
|
|
46330
46354
|
};
|
|
@@ -46342,8 +46366,10 @@ async function loadConfig(path = getVapiPaths().config, source = process.env, op
|
|
|
46342
46366
|
}
|
|
46343
46367
|
const parsed = configSchema.parse(JSON.parse(raw));
|
|
46344
46368
|
parsed.registryFallbacks ??= DEFAULT_REGISTRY_FALLBACKS.map((fallback) => ({ ...fallback }));
|
|
46369
|
+
parsed.tasksEscrowFactoryOverrides ??= {};
|
|
46345
46370
|
const migrated = rewriteLegacyRegistryUrls(parsed);
|
|
46346
46371
|
const config2 = migrated.config;
|
|
46372
|
+
config2.tasksEscrowFactoryOverrides ??= {};
|
|
46347
46373
|
if (migrated.changes.length > 0 && options.notice) {
|
|
46348
46374
|
options.notice(
|
|
46349
46375
|
`${formatLegacyRegistryRewrites(migrated.changes)}
|
|
@@ -46357,6 +46383,14 @@ Run vapi init to write the new URLs to ${path}.`
|
|
|
46357
46383
|
const discoveryUrl = source.VAPI_DISCOVERY_URL?.trim();
|
|
46358
46384
|
const marketplaceDiscoveryUrl = source.VAPI_MARKETPLACE_DISCOVERY_URL?.trim();
|
|
46359
46385
|
const registryUrl = source.VAPI_REGISTRY_URL?.trim();
|
|
46386
|
+
Object.assign(config2.tasksEscrowFactoryOverrides, tasksFactoryOverridesFromEnv(source));
|
|
46387
|
+
config2.tasksEscrowDurationOverrides ??= {};
|
|
46388
|
+
for (const [chainId, overrides] of Object.entries(tasksDurationOverridesFromEnv(source))) {
|
|
46389
|
+
config2.tasksEscrowDurationOverrides[chainId] = {
|
|
46390
|
+
...config2.tasksEscrowDurationOverrides[chainId],
|
|
46391
|
+
...overrides
|
|
46392
|
+
};
|
|
46393
|
+
}
|
|
46360
46394
|
if (config2.networks[BASE_MAINNET_CAIP2] && baseRpcUrl) {
|
|
46361
46395
|
config2.networks[BASE_MAINNET_CAIP2].rpcUrl = baseRpcUrl;
|
|
46362
46396
|
}
|
|
@@ -46397,6 +46431,31 @@ Run vapi init to write the new URLs to ${path}.`
|
|
|
46397
46431
|
}
|
|
46398
46432
|
return config2;
|
|
46399
46433
|
}
|
|
46434
|
+
function tasksDurationOverridesFromEnv(source) {
|
|
46435
|
+
const result = {};
|
|
46436
|
+
for (const [name, raw] of Object.entries(source)) {
|
|
46437
|
+
const match = /^VAPI_TASKS_(WORK_DURATION|REVIEW_WINDOW)_SECONDS_(\d+)$/.exec(name);
|
|
46438
|
+
const value = raw?.trim();
|
|
46439
|
+
if (!match || !value) continue;
|
|
46440
|
+
const seconds = Number(value);
|
|
46441
|
+
if (!/^\d+$/.test(value) || !Number.isSafeInteger(seconds) || seconds <= 0)
|
|
46442
|
+
throw new Error(`Invalid trusted Tasks duration ${name}.`);
|
|
46443
|
+
const entry = result[match[2]] ??= {};
|
|
46444
|
+
if (match[1] === "WORK_DURATION") entry.workDurationSeconds = seconds;
|
|
46445
|
+
else entry.reviewWindowSeconds = seconds;
|
|
46446
|
+
}
|
|
46447
|
+
return result;
|
|
46448
|
+
}
|
|
46449
|
+
function tasksFactoryOverridesFromEnv(source) {
|
|
46450
|
+
const overrides = {};
|
|
46451
|
+
for (const [name, raw] of Object.entries(source)) {
|
|
46452
|
+
const match = /^VAPI_TASKS_ESCROW_FACTORY_(\d+)$/.exec(name);
|
|
46453
|
+
const value = raw?.trim();
|
|
46454
|
+
if (!match || !value) continue;
|
|
46455
|
+
overrides[match[1]] = getAddress(value);
|
|
46456
|
+
}
|
|
46457
|
+
return overrides;
|
|
46458
|
+
}
|
|
46400
46459
|
function registryEndpoints(baseUrl) {
|
|
46401
46460
|
const base = new URL(baseUrl);
|
|
46402
46461
|
base.search = "";
|
|
@@ -46443,6 +46502,8 @@ var agentProfileShape = {
|
|
|
46443
46502
|
instructions: external_exports.string().max(2e4),
|
|
46444
46503
|
verifiedOnly: external_exports.boolean().default(true),
|
|
46445
46504
|
approveAboveUsd: external_exports.number().min(0).default(0.5),
|
|
46505
|
+
maxPerTaskUsd: external_exports.number().min(0).default(DEFAULT_MAX_PER_TASK_USD),
|
|
46506
|
+
autoReleaseBelowUsd: external_exports.number().min(0).default(DEFAULT_AUTO_RELEASE_BELOW_USD),
|
|
46446
46507
|
maxSteps: external_exports.number().int().min(1).max(50).default(12),
|
|
46447
46508
|
paused: external_exports.boolean().default(false),
|
|
46448
46509
|
grants: external_exports.array(external_exports.enum(AGENT_GRANTS)).default([]),
|
|
@@ -46917,7 +46978,12 @@ var AgentLinkError = class extends Error {
|
|
|
46917
46978
|
code;
|
|
46918
46979
|
};
|
|
46919
46980
|
var DEFAULT_AGENT_SCOPES = ["mcp:call", "router.use"];
|
|
46920
|
-
var ALLOWED_AGENT_SCOPES = /* @__PURE__ */ new Set([
|
|
46981
|
+
var ALLOWED_AGENT_SCOPES = /* @__PURE__ */ new Set([
|
|
46982
|
+
...DEFAULT_AGENT_SCOPES,
|
|
46983
|
+
"call.publish",
|
|
46984
|
+
"tasks:read",
|
|
46985
|
+
"tasks:write"
|
|
46986
|
+
]);
|
|
46921
46987
|
var publicFetch = createPublicFetch({ allowPrivateNetwork: false });
|
|
46922
46988
|
var agentSecretAccounts = (wallet) => ({
|
|
46923
46989
|
tokens: `vapi.agent.${wallet}.tokens`,
|
|
@@ -48569,6 +48635,8 @@ var backupAgentProfileSchema = external_exports.strictObject({
|
|
|
48569
48635
|
instructions: external_exports.string().max(2e4),
|
|
48570
48636
|
verifiedOnly: external_exports.boolean(),
|
|
48571
48637
|
approveAboveUsd: external_exports.number().min(0),
|
|
48638
|
+
maxPerTaskUsd: external_exports.number().min(0).optional(),
|
|
48639
|
+
autoReleaseBelowUsd: external_exports.number().min(0).optional(),
|
|
48572
48640
|
maxSteps: external_exports.number().int().min(1).max(50),
|
|
48573
48641
|
paused: external_exports.boolean(),
|
|
48574
48642
|
createdAt: external_exports.string(),
|
|
@@ -49995,6 +50063,8 @@ function copyAgentProfile(profile) {
|
|
|
49995
50063
|
instructions: profile.instructions,
|
|
49996
50064
|
verifiedOnly: profile.verifiedOnly,
|
|
49997
50065
|
approveAboveUsd: profile.approveAboveUsd,
|
|
50066
|
+
...profile.maxPerTaskUsd === void 0 ? {} : { maxPerTaskUsd: profile.maxPerTaskUsd },
|
|
50067
|
+
...profile.autoReleaseBelowUsd === void 0 ? {} : { autoReleaseBelowUsd: profile.autoReleaseBelowUsd },
|
|
49998
50068
|
maxSteps: profile.maxSteps,
|
|
49999
50069
|
paused: profile.paused,
|
|
50000
50070
|
createdAt: profile.createdAt,
|