@aifinpay/agent 1.0.1 → 1.2.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/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +127 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/unifiedAgent.d.ts +79 -81
- package/dist/unifiedAgent.d.ts.map +1 -1
- package/dist/unifiedAgent.js +175 -107
- package/dist/unifiedAgent.js.map +1 -1
- package/package.json +5 -2
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* `npx @aifinpay/agent init` — one command from zero to a paying agent.
|
|
4
|
+
*
|
|
5
|
+
* 1. generates the agent's wallet LOCALLY (key never leaves this machine),
|
|
6
|
+
* writes .env (AGENT_PK) and protects it via .gitignore
|
|
7
|
+
* 2. detects an MCP host (Claude Code / Cursor) and prints the one-liner
|
|
8
|
+
* 3. prints funding instructions + a ready-to-run code snippet
|
|
9
|
+
*
|
|
10
|
+
* npx @aifinpay/agent init # interactive
|
|
11
|
+
* npx @aifinpay/agent init --yes # zero questions, sane defaults
|
|
12
|
+
* npx @aifinpay/agent init --merchant # ALSO register you as a merchant (paywall side)
|
|
13
|
+
*/
|
|
14
|
+
import { appendFileSync, existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
15
|
+
import { homedir } from 'node:os';
|
|
16
|
+
import { join } from 'node:path';
|
|
17
|
+
import { createInterface } from 'node:readline/promises';
|
|
18
|
+
import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
19
|
+
const API = process.env.AIFP_API || 'https://api.aifinpay.io';
|
|
20
|
+
const args = process.argv.slice(2);
|
|
21
|
+
const cmd = args.find((a) => !a.startsWith('-')) || 'init';
|
|
22
|
+
const YES = args.includes('--yes') || args.includes('-y');
|
|
23
|
+
const MERCHANT = args.includes('--merchant');
|
|
24
|
+
const c = {
|
|
25
|
+
b: (s) => `\x1b[1m${s}\x1b[0m`,
|
|
26
|
+
dim: (s) => `\x1b[2m${s}\x1b[0m`,
|
|
27
|
+
ok: (s) => `\x1b[32m${s}\x1b[0m`,
|
|
28
|
+
warn: (s) => `\x1b[33m${s}\x1b[0m`,
|
|
29
|
+
code: (s) => `\x1b[36m${s}\x1b[0m`,
|
|
30
|
+
};
|
|
31
|
+
async function ask(q, def) {
|
|
32
|
+
if (YES)
|
|
33
|
+
return def;
|
|
34
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
35
|
+
const a = (await rl.question(`${q} ${c.dim(`(${def})`)} `)).trim();
|
|
36
|
+
rl.close();
|
|
37
|
+
return a || def;
|
|
38
|
+
}
|
|
39
|
+
function upsertEnv(key, value) {
|
|
40
|
+
const envPath = join(process.cwd(), '.env');
|
|
41
|
+
const cur = existsSync(envPath) ? readFileSync(envPath, 'utf8') : '';
|
|
42
|
+
if (new RegExp(`^${key}=`, 'm').test(cur))
|
|
43
|
+
return 'kept';
|
|
44
|
+
appendFileSync(envPath, `${cur.endsWith('\n') || cur === '' ? '' : '\n'}${key}=${value}\n`);
|
|
45
|
+
return 'created';
|
|
46
|
+
}
|
|
47
|
+
function protectEnvInGitignore() {
|
|
48
|
+
const gi = join(process.cwd(), '.gitignore');
|
|
49
|
+
const cur = existsSync(gi) ? readFileSync(gi, 'utf8') : '';
|
|
50
|
+
if (!/^\.env$/m.test(cur))
|
|
51
|
+
writeFileSync(gi, `${cur}${cur && !cur.endsWith('\n') ? '\n' : ''}.env\n`);
|
|
52
|
+
}
|
|
53
|
+
function detectMcpHost() {
|
|
54
|
+
if (existsSync(join(homedir(), '.claude.json')) || existsSync(join(homedir(), '.claude')))
|
|
55
|
+
return 'claude';
|
|
56
|
+
if (existsSync(join(homedir(), '.cursor')))
|
|
57
|
+
return 'cursor';
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
async function init() {
|
|
61
|
+
console.log(`\n${c.b('◈ AiFinPay')} — set up your agent's wallet\n`);
|
|
62
|
+
// 1. wallet — local generation, or keep the existing key
|
|
63
|
+
const envPath = join(process.cwd(), '.env');
|
|
64
|
+
let pk = '';
|
|
65
|
+
const existing = existsSync(envPath) && readFileSync(envPath, 'utf8').match(/^AGENT_PK=(0x[0-9a-fA-F]{64})$/m);
|
|
66
|
+
if (existing) {
|
|
67
|
+
pk = existing[1];
|
|
68
|
+
console.log(`${c.ok('✓')} found existing AGENT_PK in .env — reusing it`);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
pk = generatePrivateKey();
|
|
72
|
+
upsertEnv('AGENT_PK', pk);
|
|
73
|
+
console.log(`${c.ok('✓')} wallet generated ${c.dim('locally — the key stays on this machine, saved to .env')}`);
|
|
74
|
+
}
|
|
75
|
+
protectEnvInGitignore();
|
|
76
|
+
console.log(`${c.ok('✓')} .env is covered by .gitignore`);
|
|
77
|
+
const address = privateKeyToAccount(pk).address;
|
|
78
|
+
// 2. MCP host one-liner
|
|
79
|
+
const host = detectMcpHost();
|
|
80
|
+
if (host) {
|
|
81
|
+
console.log(`\n${c.b(`Detected ${host === 'claude' ? 'Claude Code' : 'Cursor'}`)} — give your assistant payment tools:`);
|
|
82
|
+
console.log(` ${c.code('claude mcp add aifinpay -- npx -y @aifinpay/mcp')}`);
|
|
83
|
+
}
|
|
84
|
+
// 3. funding + snippet
|
|
85
|
+
console.log(`\n${c.b('Fund your agent')} ${c.dim("(its own wallet — only you hold the key)")}:`);
|
|
86
|
+
console.log(` address : ${c.code(address)}`);
|
|
87
|
+
console.log(` network : Polygon · send ~1 USDC + ~0.5 POL (gas)`);
|
|
88
|
+
console.log(`\n${c.b('Make your first paid call')}:`);
|
|
89
|
+
console.log(c.code(` import { AiFinPayAgent } from "@aifinpay/agent";\n` +
|
|
90
|
+
` const agent = await AiFinPayAgent.new({ privateKey: process.env.AGENT_PK });\n` +
|
|
91
|
+
` const r = await agent.call({ provider: "exa", body: { query: "hello" } });`));
|
|
92
|
+
console.log(`\n docs: https://aifinpay.io/llms.txt · registry: ${API}/registry`);
|
|
93
|
+
// 4. optional merchant registration (the paywall side)
|
|
94
|
+
if (MERCHANT) {
|
|
95
|
+
console.log(`\n${c.b('Merchant registration')} — charge agents for YOUR API:`);
|
|
96
|
+
const name = await ask(' Service name?', 'My Paid API');
|
|
97
|
+
const payout = await ask(' Payout wallet (0x…)?', address);
|
|
98
|
+
const res = await fetch(`${API}/v1/merchants`, {
|
|
99
|
+
method: 'POST',
|
|
100
|
+
headers: { 'content-type': 'application/json' },
|
|
101
|
+
body: JSON.stringify({ name, pay_to: { polygon: payout } }),
|
|
102
|
+
});
|
|
103
|
+
const j = await res.json();
|
|
104
|
+
if (!res.ok) {
|
|
105
|
+
console.log(`${c.warn('✗')} registration failed: ${j.detail || res.status}`);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
upsertEnv('AIFP_MERCHANT_ID', j.merchant_id);
|
|
109
|
+
upsertEnv('AIFP_MERCHANT_SECRET', j.merchant_secret);
|
|
110
|
+
console.log(`${c.ok('✓')} registered ${c.code(j.merchant_id)} ${c.dim('(id + one-time secret saved to .env)')}`);
|
|
111
|
+
console.log(` agents pay you with: POST ${API}/v1/quote {"merchant_id":"${j.merchant_id}", …}`);
|
|
112
|
+
console.log(` verify receipts against: ${API}/.well-known/jwks.json`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
console.log(`\n${c.ok('Done.')} Fund the address above and your agent can pay for search, inference and data.\n`);
|
|
116
|
+
}
|
|
117
|
+
if (cmd === 'init') {
|
|
118
|
+
init().catch((e) => {
|
|
119
|
+
console.error(`${c.warn('✗')} ${e.message}`);
|
|
120
|
+
process.exit(1);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log(`Unknown command "${cmd}". Usage: npx @aifinpay/agent init [--yes] [--merchant]`);
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* const res = await agent.pay("https://aifinpay.io/api/stats");
|
|
20
20
|
*/
|
|
21
21
|
export { AiFinPayAgent } from "./unifiedAgent.js";
|
|
22
|
-
export type { AiFinPayAgentOptions, CallOptions,
|
|
22
|
+
export type { AiFinPayAgentOptions, CallOptions, ChainId, ProviderEntry, BalanceSnapshot, ReputationSnapshot, BudgetCaps, SessionHandle, SessionReceipt, NetworkAgent, } from "./unifiedAgent.js";
|
|
23
23
|
export { ProviderUnknownError, WrongChainBalanceError, InsufficientFundsError, BudgetCapExceededError, SettlementError, SessionExpiredError, } from "./unifiedAgent.js";
|
|
24
24
|
export { bridgeQuote, bridgeExecute, bridgeWaitForArrival, EVM_CHAINS, USDC_NATIVE, USDC_BRIDGED, } from "./crossChain.js";
|
|
25
25
|
export type { BridgeQuote, BridgeReceipt, BridgeQuoteOptions, EvmChainName, } from "./crossChain.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,OAAO,EACP,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,YAAY,GACb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,UAAU,GACX,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAalD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,4EAA4E;AAC5E,oEAAoE;AACpE,uEAAuE;AACvE,0EAA0E;AAC1E,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAC;AAQzB,2EAA2E;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EACL,aAAa,EACb,8BAA8B,EAC9B,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,2BAA2B,EAC3B,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,UAAU,EACV,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
|
package/dist/unifiedAgent.d.ts
CHANGED
|
@@ -25,47 +25,6 @@ export interface CallOptions {
|
|
|
25
25
|
timeoutMs?: number;
|
|
26
26
|
signal?: AbortSignal;
|
|
27
27
|
}
|
|
28
|
-
/** A provider as seen through the Discovery surface (`/api/registry`): the
|
|
29
|
-
* full catalog record plus live connectivity and — when returned by the
|
|
30
|
-
* routing endpoint (`/api/registry/best`) — a transparent score. */
|
|
31
|
-
export interface DiscoveredProvider {
|
|
32
|
-
slug: string;
|
|
33
|
-
name: string;
|
|
34
|
-
display_name?: string;
|
|
35
|
-
service_type?: string | null;
|
|
36
|
-
category?: string | null;
|
|
37
|
-
tagline?: string | null;
|
|
38
|
-
url?: string | null;
|
|
39
|
-
logo?: string | null;
|
|
40
|
-
price_usd: number | null;
|
|
41
|
-
availability: "available" | "recruiting";
|
|
42
|
-
status: "live" | "down" | "unknown";
|
|
43
|
-
latency_ms: number | null;
|
|
44
|
-
last_check: number | null;
|
|
45
|
-
modes?: Record<string, unknown>;
|
|
46
|
-
on_chain?: unknown;
|
|
47
|
-
score?: number;
|
|
48
|
-
score_breakdown?: Record<string, number>;
|
|
49
|
-
}
|
|
50
|
-
export interface DiscoverOptions {
|
|
51
|
-
category?: string;
|
|
52
|
-
q?: string;
|
|
53
|
-
limit?: number;
|
|
54
|
-
}
|
|
55
|
-
/** Options shared by the convenience capability methods (webSearch/image/…). */
|
|
56
|
-
export interface CapabilityOptions {
|
|
57
|
-
/** Free-text refinement for provider selection (matched against the catalog). */
|
|
58
|
-
q?: string;
|
|
59
|
-
/** Cap candidate providers at this per-call price during selection. */
|
|
60
|
-
maxPriceUsd?: number;
|
|
61
|
-
/** Skip routing and force a specific provider slug. */
|
|
62
|
-
provider?: string;
|
|
63
|
-
cost?: number;
|
|
64
|
-
chain?: ChainId;
|
|
65
|
-
method?: string;
|
|
66
|
-
timeoutMs?: number;
|
|
67
|
-
signal?: AbortSignal;
|
|
68
|
-
}
|
|
69
28
|
export interface BalanceSnapshot {
|
|
70
29
|
agent_balance_usd: number;
|
|
71
30
|
chains: {
|
|
@@ -134,6 +93,12 @@ export interface AiFinPayAgentOptions extends AgentOptions {
|
|
|
134
93
|
solanaRpc?: string;
|
|
135
94
|
/** RPC overrides for non-Polygon EVM chains used in bridge flows. */
|
|
136
95
|
evmRpcUrls?: Partial<Record<EvmChainName, string>>;
|
|
96
|
+
/**
|
|
97
|
+
* Throttle window (ms) for the auto-heartbeat fired opportunistically
|
|
98
|
+
* after a successful call()/pay(). Default 5 minutes. See
|
|
99
|
+
* `maybeHeartbeat()` for the throttle + balance-reuse rationale.
|
|
100
|
+
*/
|
|
101
|
+
heartbeatIntervalMs?: number;
|
|
137
102
|
}
|
|
138
103
|
export declare class ProviderUnknownError extends AiFinPayError {
|
|
139
104
|
}
|
|
@@ -188,10 +153,14 @@ export declare class AiFinPayAgent {
|
|
|
188
153
|
private budgetCaps;
|
|
189
154
|
private spend24h;
|
|
190
155
|
private telemetry;
|
|
156
|
+
private heartbeatIntervalMs;
|
|
157
|
+
private lastHeartbeatTs;
|
|
158
|
+
private lastBalanceSnapshot?;
|
|
191
159
|
private _polygonPublic?;
|
|
192
160
|
private _polygonWallet?;
|
|
193
161
|
private _evmClients;
|
|
194
162
|
private evmRpcUrls;
|
|
163
|
+
private userSessionCookie?;
|
|
195
164
|
private constructor();
|
|
196
165
|
private polygonClients;
|
|
197
166
|
private evmClients;
|
|
@@ -235,46 +204,6 @@ export declare class AiFinPayAgent {
|
|
|
235
204
|
get evmAddress(): string;
|
|
236
205
|
fetchRegistry(force?: boolean): Promise<ProviderEntry[]>;
|
|
237
206
|
resolveProvider(name: string): Promise<ProviderEntry>;
|
|
238
|
-
/**
|
|
239
|
-
* Browse the provider catalog. Filter by `category` (e.g. "search",
|
|
240
|
-
* "inference", "image", "speech") and/or free-text `q`. Each entry carries
|
|
241
|
-
* live connectivity (`status`, `latency_ms`) so you can rank client-side too.
|
|
242
|
-
*
|
|
243
|
-
* Note: this discovers *services* (the marketplace). To discover *agents*
|
|
244
|
-
* published on the public network, use `search()`.
|
|
245
|
-
*/
|
|
246
|
-
discover(opts?: DiscoverOptions): Promise<DiscoveredProvider[]>;
|
|
247
|
-
/**
|
|
248
|
-
* Automatic provider selection. Asks the gateway for the single best
|
|
249
|
-
* available provider in a category (ranked by price, latency, liveness,
|
|
250
|
-
* on-chain trust). Throws `ProviderUnknownError` when nothing payable
|
|
251
|
-
* matches. Pass `maxPriceUsd` to cap the candidate set.
|
|
252
|
-
*/
|
|
253
|
-
pickProvider(category: string, opts?: {
|
|
254
|
-
q?: string;
|
|
255
|
-
maxPriceUsd?: number;
|
|
256
|
-
}): Promise<DiscoveredProvider>;
|
|
257
|
-
/**
|
|
258
|
-
* Capability-first paid call: pick the best provider for `category`, pay it,
|
|
259
|
-
* and return the upstream response — the "agent talks only to AiFinPay" flow.
|
|
260
|
-
* Pass `opts.provider` to skip routing and force a specific provider.
|
|
261
|
-
* Resolves to `null` only when a budget cap is hit in "skip" mode (see call()).
|
|
262
|
-
*/
|
|
263
|
-
capability(category: string, body: unknown, opts?: CapabilityOptions): Promise<Response | null>;
|
|
264
|
-
/**
|
|
265
|
-
* Web search via the best available search provider.
|
|
266
|
-
*
|
|
267
|
-
* Named `webSearch` (not `search`) on purpose: `search()` already searches
|
|
268
|
-
* the public *agent* network directory and is part of the published 1.0 API.
|
|
269
|
-
* `webSearch()` is the marketplace capability the vision calls `search()`.
|
|
270
|
-
*/
|
|
271
|
-
webSearch(query: string | Record<string, unknown>, opts?: CapabilityOptions): Promise<Response | null>;
|
|
272
|
-
/** Image generation via the best available image provider. */
|
|
273
|
-
image(prompt: string | Record<string, unknown>, opts?: CapabilityOptions): Promise<Response | null>;
|
|
274
|
-
/** Text-to-speech via the best available speech provider. */
|
|
275
|
-
voice(text: string | Record<string, unknown>, opts?: CapabilityOptions): Promise<Response | null>;
|
|
276
|
-
/** LLM inference via the best available inference/compute provider. */
|
|
277
|
-
infer(body: unknown, opts?: CapabilityOptions): Promise<Response | null>;
|
|
278
207
|
/**
|
|
279
208
|
* Publish this agent to the public AiFinPay network so other agents can
|
|
280
209
|
* discover and call it. Self-sovereign: proves control of the EVM address by
|
|
@@ -456,6 +385,75 @@ export declare class AiFinPayAgent {
|
|
|
456
385
|
* TODO(phase-4 / phase-5): query operator backend reputation engine.
|
|
457
386
|
*/
|
|
458
387
|
reputation(): Promise<ReputationSnapshot>;
|
|
388
|
+
/**
|
|
389
|
+
* Establish the operator's user-session by hitting a magic-link URL —
|
|
390
|
+
* same mechanism `agent_claim_self` (MCP) uses inline: the link is a
|
|
391
|
+
* one-shot, ~15-min-TTL sign-in URL like
|
|
392
|
+
* `https://aifinpay.io/api/auth/verify?token=…` that the user pastes in
|
|
393
|
+
* after signing in at https://aifinpay.io/login. The resulting session
|
|
394
|
+
* cookie (`__aifinpay_user_session`) is cached on this instance and
|
|
395
|
+
* reused by `listMyAgents()` — call this once per process, not per call.
|
|
396
|
+
*/
|
|
397
|
+
establishUserSession(magicLinkUrl: string): Promise<void>;
|
|
398
|
+
/**
|
|
399
|
+
* Adopt an already-computed session cookie header (e.g. one the MCP
|
|
400
|
+
* `agent_claim_self` tool derived from the same magic link while doing
|
|
401
|
+
* its own claim flow) without re-fetching the magic link. Lets
|
|
402
|
+
* `listMyAgents()` reuse a session established by a sibling flow.
|
|
403
|
+
*/
|
|
404
|
+
adoptUserSessionCookie(cookieHeader: string): void;
|
|
405
|
+
/**
|
|
406
|
+
* List agents owned by the signed-in operator, with balance/spend/health
|
|
407
|
+
* fields for each, over a rolling window. Requires `establishUserSession()`
|
|
408
|
+
* (or the MCP `agent_claim_self` flow, which also captures the cookie on
|
|
409
|
+
* this same agent instance) to have run first — otherwise throws.
|
|
410
|
+
*
|
|
411
|
+
* Calls `GET {baseUrl}/api/me/agents/overview` — owner-gated, same
|
|
412
|
+
* `__aifinpay_user_session` cookie as `/api/me/agents/challenge` and
|
|
413
|
+
* `/api/me/agents/claim`. Returns the parsed `agents` array from
|
|
414
|
+
* `{ window, agents: [...] }`.
|
|
415
|
+
*/
|
|
416
|
+
listMyAgents(): Promise<Array<Record<string, unknown>>>;
|
|
459
417
|
private reportTelemetry;
|
|
418
|
+
/**
|
|
419
|
+
* Opt-in "advisory" heartbeat — reports the agent's own view of its
|
|
420
|
+
* budget caps, 24h spend, and balances so an operator dashboard can show
|
|
421
|
+
* "reported by your agent" liveness. This is NOT server-enforced: the
|
|
422
|
+
* backend does not verify these numbers on-chain, it just displays what
|
|
423
|
+
* the agent self-reports. Respects the same `telemetry: false` opt-out
|
|
424
|
+
* as `call()`'s per-request reporting. Fire-and-forget — never throws.
|
|
425
|
+
*/
|
|
426
|
+
reportHeartbeat(): void;
|
|
427
|
+
/**
|
|
428
|
+
* Opportunistic, throttled heartbeat — called internally after a
|
|
429
|
+
* SUCCESSFUL call()/pay() so the dashboard's "agent-reported caps"
|
|
430
|
+
* section stays warm without every caller having to remember to invoke
|
|
431
|
+
* reportHeartbeat() by hand.
|
|
432
|
+
*
|
|
433
|
+
* Throttle: at most once per `heartbeatIntervalMs` (default 5 min),
|
|
434
|
+
* tracked via `lastHeartbeatTs` — never fires more often than that
|
|
435
|
+
* regardless of call volume.
|
|
436
|
+
*
|
|
437
|
+
* Cost control: does NOT force a fresh balance() RPC round-trip on every
|
|
438
|
+
* heartbeat. It reuses `lastBalanceSnapshot` if one exists and is no
|
|
439
|
+
* older than `heartbeatIntervalMs`; otherwise it sends budget_caps +
|
|
440
|
+
* spend_24h only (balances omitted) rather than paying for a live RPC
|
|
441
|
+
* call on this opportunistic path. Call `balance()` or `reportHeartbeat()`
|
|
442
|
+
* explicitly if you want a heartbeat with a guaranteed-fresh balance.
|
|
443
|
+
*
|
|
444
|
+
* Always fire-and-forget: never awaited by call()/pay(), never throws.
|
|
445
|
+
*/
|
|
446
|
+
private maybeHeartbeat;
|
|
447
|
+
/**
|
|
448
|
+
* Generic x402 payment with telemetry — thin wrapper over
|
|
449
|
+
* `inner.pay(url)` that reports a `kind:"call", via:"pay"` telemetry
|
|
450
|
+
* event on success, mirroring the reporting `call()` already does for
|
|
451
|
+
* registry-resolved payments. Unlike `call()`, the generic x402 flow
|
|
452
|
+
* (native AiFinPay + Coinbase facilitators) does not settle through a
|
|
453
|
+
* bridge that returns a verifiable tx hash here, so `cost` reflects the
|
|
454
|
+
* caller's declared `options.maxAmountUsd` cap (if any) rather than a
|
|
455
|
+
* confirmed on-chain amount — same "advisory" caveat as heartbeat.
|
|
456
|
+
*/
|
|
457
|
+
pay(url: string, init?: Parameters<Agent["pay"]>[1]): Promise<Response>;
|
|
460
458
|
}
|
|
461
459
|
//# sourceMappingURL=unifiedAgent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unifiedAgent.d.ts","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"AAqBA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAWvB,OAAO,EACL,aAAa,EAEd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAML,KAAK,WAAW,EAChB,KAAK,aAAa,EAElB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAIzB,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAa,MAAM,CAAC;IACxB,YAAY,CAAC,EAAI,MAAM,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,SAAS,EAAQ,MAAM,CAAC;IACxB,IAAI,EAAa,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACjD,UAAU,EAAO,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAI,MAAM,CAAC;IACxB,GAAG,CAAC,EAAa,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAK,MAAM,CAAC;IACpB,IAAI,CAAC,EAAQ,MAAM,CAAC;IACpB,KAAK,CAAC,EAAO,OAAO,CAAC;IACrB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,IAAI,CAAC,EAAQ,OAAO,CAAC;IACrB,MAAM,CAAC,EAAM,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,MAAM,CAAC,EAAM,WAAW,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"unifiedAgent.d.ts","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|
package/dist/unifiedAgent.js
CHANGED
|
@@ -137,12 +137,26 @@ export class AiFinPayAgent {
|
|
|
137
137
|
budgetCaps;
|
|
138
138
|
spend24h = new SpendTracker();
|
|
139
139
|
telemetry;
|
|
140
|
+
// Auto-heartbeat throttle (see maybeHeartbeat()). lastHeartbeatTs=0 means
|
|
141
|
+
// "never fired yet this process" so the first opportunistic heartbeat
|
|
142
|
+
// always goes out.
|
|
143
|
+
heartbeatIntervalMs;
|
|
144
|
+
lastHeartbeatTs = 0;
|
|
145
|
+
// Cheap reuse: the last balance() snapshot taken by ANY caller (explicit
|
|
146
|
+
// agent.balance() or a prior heartbeat). maybeHeartbeat() reuses it if
|
|
147
|
+
// fresh enough instead of forcing a new RPC round-trip.
|
|
148
|
+
lastBalanceSnapshot;
|
|
140
149
|
_polygonPublic;
|
|
141
150
|
_polygonWallet;
|
|
142
151
|
// Multi-chain client cache for cross-chain orchestration (bridge flows).
|
|
143
152
|
// Keyed by EVM chain name (see crossChain.ts EVM_CHAINS).
|
|
144
153
|
_evmClients = new Map();
|
|
145
154
|
evmRpcUrls = {};
|
|
155
|
+
// Cookie for the operator's user-session (magic-link login), captured by
|
|
156
|
+
// establishUserSession(). Same mechanism the MCP agent_claim_self tool
|
|
157
|
+
// uses inline; here it's held on the instance so subsequent calls
|
|
158
|
+
// (listMyAgents()) can reuse it without re-clicking the magic link.
|
|
159
|
+
userSessionCookie;
|
|
146
160
|
constructor(inner, evmAccount, opts = {}) {
|
|
147
161
|
this.inner = inner;
|
|
148
162
|
this.evmAccount = evmAccount;
|
|
@@ -150,6 +164,7 @@ export class AiFinPayAgent {
|
|
|
150
164
|
?? `${inner.baseUrl}${DEFAULT_REGISTRY_PATH}`;
|
|
151
165
|
this.budgetCaps = opts.budgetCaps ?? {};
|
|
152
166
|
this.telemetry = opts.telemetry !== false;
|
|
167
|
+
this.heartbeatIntervalMs = opts.heartbeatIntervalMs ?? 5 * 60 * 1000;
|
|
153
168
|
this.polygonRpc = opts.polygonRpc ?? "https://polygon.drpc.org";
|
|
154
169
|
this.solanaRpc = opts.solanaRpc
|
|
155
170
|
?? process.env.AIFINPAY_SOLANA_RPC
|
|
@@ -286,108 +301,6 @@ export class AiFinPayAgent {
|
|
|
286
301
|
}
|
|
287
302
|
return hit;
|
|
288
303
|
}
|
|
289
|
-
// ── Discovery + routing (Gateway) ───────────────────────────────────────────
|
|
290
|
-
//
|
|
291
|
-
// The vision: an agent asks AiFinPay for a *capability* ("search this",
|
|
292
|
-
// "voice this") and AiFinPay finds the best provider, pays, and returns the
|
|
293
|
-
// result. Provider selection is server-side (`/api/registry/best`) so the
|
|
294
|
-
// ranking is identical whether you call via the SDK, MCP, or raw HTTP. These
|
|
295
|
-
// methods are the convenience layer over those endpoints.
|
|
296
|
-
/**
|
|
297
|
-
* Browse the provider catalog. Filter by `category` (e.g. "search",
|
|
298
|
-
* "inference", "image", "speech") and/or free-text `q`. Each entry carries
|
|
299
|
-
* live connectivity (`status`, `latency_ms`) so you can rank client-side too.
|
|
300
|
-
*
|
|
301
|
-
* Note: this discovers *services* (the marketplace). To discover *agents*
|
|
302
|
-
* published on the public network, use `search()`.
|
|
303
|
-
*/
|
|
304
|
-
async discover(opts = {}) {
|
|
305
|
-
const base = this.inner.baseUrl;
|
|
306
|
-
const params = new URLSearchParams();
|
|
307
|
-
if (opts.category)
|
|
308
|
-
params.set("category", opts.category);
|
|
309
|
-
if (opts.q)
|
|
310
|
-
params.set("q", opts.q);
|
|
311
|
-
const r = await fetch(`${base}/api/registry?${params.toString()}`);
|
|
312
|
-
if (!r.ok)
|
|
313
|
-
throw new AiFinPayError(`discover ${base} → ${r.status}`);
|
|
314
|
-
const j = (await r.json());
|
|
315
|
-
const list = j.providers ?? [];
|
|
316
|
-
return opts.limit != null ? list.slice(0, Math.max(0, opts.limit)) : list;
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Automatic provider selection. Asks the gateway for the single best
|
|
320
|
-
* available provider in a category (ranked by price, latency, liveness,
|
|
321
|
-
* on-chain trust). Throws `ProviderUnknownError` when nothing payable
|
|
322
|
-
* matches. Pass `maxPriceUsd` to cap the candidate set.
|
|
323
|
-
*/
|
|
324
|
-
async pickProvider(category, opts = {}) {
|
|
325
|
-
const base = this.inner.baseUrl;
|
|
326
|
-
const params = new URLSearchParams();
|
|
327
|
-
if (category)
|
|
328
|
-
params.set("category", category);
|
|
329
|
-
if (opts.q)
|
|
330
|
-
params.set("q", opts.q);
|
|
331
|
-
if (opts.maxPriceUsd != null)
|
|
332
|
-
params.set("max_price_usd", String(opts.maxPriceUsd));
|
|
333
|
-
const r = await fetch(`${base}/api/registry/best?${params.toString()}`);
|
|
334
|
-
if (r.status === 404) {
|
|
335
|
-
throw new ProviderUnknownError(`No available provider for category "${category}"${opts.q ? ` matching "${opts.q}"` : ""}`);
|
|
336
|
-
}
|
|
337
|
-
if (!r.ok)
|
|
338
|
-
throw new AiFinPayError(`pickProvider ${base} → ${r.status}`);
|
|
339
|
-
const j = (await r.json());
|
|
340
|
-
if (!j.best)
|
|
341
|
-
throw new ProviderUnknownError(`No best provider returned for "${category}"`);
|
|
342
|
-
return j.best;
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Capability-first paid call: pick the best provider for `category`, pay it,
|
|
346
|
-
* and return the upstream response — the "agent talks only to AiFinPay" flow.
|
|
347
|
-
* Pass `opts.provider` to skip routing and force a specific provider.
|
|
348
|
-
* Resolves to `null` only when a budget cap is hit in "skip" mode (see call()).
|
|
349
|
-
*/
|
|
350
|
-
async capability(category, body, opts = {}) {
|
|
351
|
-
let providerName = opts.provider;
|
|
352
|
-
if (!providerName) {
|
|
353
|
-
const chosen = await this.pickProvider(category, { q: opts.q, maxPriceUsd: opts.maxPriceUsd });
|
|
354
|
-
providerName = chosen.name || chosen.slug;
|
|
355
|
-
}
|
|
356
|
-
return this.call({
|
|
357
|
-
provider: providerName,
|
|
358
|
-
body,
|
|
359
|
-
cost: opts.cost,
|
|
360
|
-
chain: opts.chain,
|
|
361
|
-
method: opts.method,
|
|
362
|
-
timeoutMs: opts.timeoutMs,
|
|
363
|
-
signal: opts.signal,
|
|
364
|
-
});
|
|
365
|
-
}
|
|
366
|
-
/**
|
|
367
|
-
* Web search via the best available search provider.
|
|
368
|
-
*
|
|
369
|
-
* Named `webSearch` (not `search`) on purpose: `search()` already searches
|
|
370
|
-
* the public *agent* network directory and is part of the published 1.0 API.
|
|
371
|
-
* `webSearch()` is the marketplace capability the vision calls `search()`.
|
|
372
|
-
*/
|
|
373
|
-
async webSearch(query, opts = {}) {
|
|
374
|
-
const body = typeof query === "string" ? { query } : query;
|
|
375
|
-
return this.capability("search", body, opts);
|
|
376
|
-
}
|
|
377
|
-
/** Image generation via the best available image provider. */
|
|
378
|
-
async image(prompt, opts = {}) {
|
|
379
|
-
const body = typeof prompt === "string" ? { prompt } : prompt;
|
|
380
|
-
return this.capability("image", body, opts);
|
|
381
|
-
}
|
|
382
|
-
/** Text-to-speech via the best available speech provider. */
|
|
383
|
-
async voice(text, opts = {}) {
|
|
384
|
-
const body = typeof text === "string" ? { input: text } : text;
|
|
385
|
-
return this.capability("speech", body, opts);
|
|
386
|
-
}
|
|
387
|
-
/** LLM inference via the best available inference/compute provider. */
|
|
388
|
-
async infer(body, opts = {}) {
|
|
389
|
-
return this.capability("inference", body, opts);
|
|
390
|
-
}
|
|
391
304
|
// ── Network directory ─────────────────────────────────────────────────────
|
|
392
305
|
/**
|
|
393
306
|
* Publish this agent to the public AiFinPay network so other agents can
|
|
@@ -697,10 +610,6 @@ export class AiFinPayAgent {
|
|
|
697
610
|
return "/run";
|
|
698
611
|
if (provider.service_type === "analytics")
|
|
699
612
|
return "/query";
|
|
700
|
-
if (provider.service_type === "image")
|
|
701
|
-
return "/images/generations";
|
|
702
|
-
if (provider.service_type === "speech")
|
|
703
|
-
return "/audio/speech";
|
|
704
613
|
return "/";
|
|
705
614
|
})();
|
|
706
615
|
const buildInit = (extraHeaders = {}) => ({
|
|
@@ -719,6 +628,7 @@ export class AiFinPayAgent {
|
|
|
719
628
|
// Nothing was paid, so the call does NOT count against budget caps.
|
|
720
629
|
if (this.telemetry)
|
|
721
630
|
this.reportTelemetry({ kind: "call", provider: provider.name, chain, cost, free: true });
|
|
631
|
+
this.maybeHeartbeat();
|
|
722
632
|
return initialResp;
|
|
723
633
|
}
|
|
724
634
|
let challenge;
|
|
@@ -759,6 +669,7 @@ export class AiFinPayAgent {
|
|
|
759
669
|
this.spend24h.add(cost);
|
|
760
670
|
if (this.telemetry)
|
|
761
671
|
this.reportTelemetry({ kind: "call", provider: provider.name, chain, cost, tx: solTxSig });
|
|
672
|
+
this.maybeHeartbeat();
|
|
762
673
|
// @internal — attach settlement metadata for consumers (MCP, telemetry
|
|
763
674
|
// dashboards) that need to surface the tx hash without an extra RPC
|
|
764
675
|
// call. Response headers are read-only after construction so we use
|
|
@@ -821,6 +732,7 @@ export class AiFinPayAgent {
|
|
|
821
732
|
this.spend24h.add(cost);
|
|
822
733
|
if (this.telemetry)
|
|
823
734
|
this.reportTelemetry({ kind: "call", provider: provider.name, chain, cost, tx: txHash });
|
|
735
|
+
this.maybeHeartbeat();
|
|
824
736
|
// @internal — see Solana branch above for rationale on property-attach.
|
|
825
737
|
paidResp.aifinpayTx = txHash;
|
|
826
738
|
paidResp.aifinpayChain = "polygon";
|
|
@@ -913,7 +825,7 @@ export class AiFinPayAgent {
|
|
|
913
825
|
const solanaUsd = solana * solUsd;
|
|
914
826
|
const solanaUsdcUsd = solana_usdc; // USDC ≈ $1
|
|
915
827
|
const polygonUsdcUsd = polygon_usdc; // USDC ≈ $1
|
|
916
|
-
|
|
828
|
+
const snapshot = {
|
|
917
829
|
agent_balance_usd: polygonUsd + solanaUsd + solanaUsdcUsd + polygonUsdcUsd,
|
|
918
830
|
chains: {
|
|
919
831
|
solana: { sol: solana, usdc: solana_usdc, msecco_balance: 0 },
|
|
@@ -923,6 +835,9 @@ export class AiFinPayAgent {
|
|
|
923
835
|
budget_caps: this.budgetCaps,
|
|
924
836
|
priced_at: Math.floor(Date.now() / 1000),
|
|
925
837
|
};
|
|
838
|
+
// Cache for maybeHeartbeat() reuse — see rationale there.
|
|
839
|
+
this.lastBalanceSnapshot = { at: Date.now(), snapshot };
|
|
840
|
+
return snapshot;
|
|
926
841
|
}
|
|
927
842
|
async fetchPolygonNative() {
|
|
928
843
|
const { publicClient } = this.polygonClients();
|
|
@@ -1049,6 +964,69 @@ export class AiFinPayAgent {
|
|
|
1049
964
|
flags: [],
|
|
1050
965
|
};
|
|
1051
966
|
}
|
|
967
|
+
// ── Owner user-session (magic-link) ───────────────────────────────────
|
|
968
|
+
/**
|
|
969
|
+
* Establish the operator's user-session by hitting a magic-link URL —
|
|
970
|
+
* same mechanism `agent_claim_self` (MCP) uses inline: the link is a
|
|
971
|
+
* one-shot, ~15-min-TTL sign-in URL like
|
|
972
|
+
* `https://aifinpay.io/api/auth/verify?token=…` that the user pastes in
|
|
973
|
+
* after signing in at https://aifinpay.io/login. The resulting session
|
|
974
|
+
* cookie (`__aifinpay_user_session`) is cached on this instance and
|
|
975
|
+
* reused by `listMyAgents()` — call this once per process, not per call.
|
|
976
|
+
*/
|
|
977
|
+
async establishUserSession(magicLinkUrl) {
|
|
978
|
+
const res = await fetch(magicLinkUrl, { redirect: "manual" });
|
|
979
|
+
const setCookie = res.headers.get("set-cookie");
|
|
980
|
+
if (!setCookie) {
|
|
981
|
+
throw new AiFinPayError(`Magic link did not return a session cookie (HTTP ${res.status}). Link may be expired or already used.`);
|
|
982
|
+
}
|
|
983
|
+
// Some setups split multiple cookies; keep the header verbatim minus
|
|
984
|
+
// attributes (Path=/, HttpOnly, …) — same trim as agent-claim-self.ts.
|
|
985
|
+
this.userSessionCookie = setCookie
|
|
986
|
+
.split(",")
|
|
987
|
+
.map((c) => c.trim().split(";")[0])
|
|
988
|
+
.join("; ");
|
|
989
|
+
}
|
|
990
|
+
/**
|
|
991
|
+
* Adopt an already-computed session cookie header (e.g. one the MCP
|
|
992
|
+
* `agent_claim_self` tool derived from the same magic link while doing
|
|
993
|
+
* its own claim flow) without re-fetching the magic link. Lets
|
|
994
|
+
* `listMyAgents()` reuse a session established by a sibling flow.
|
|
995
|
+
*/
|
|
996
|
+
adoptUserSessionCookie(cookieHeader) {
|
|
997
|
+
this.userSessionCookie = cookieHeader;
|
|
998
|
+
}
|
|
999
|
+
/**
|
|
1000
|
+
* List agents owned by the signed-in operator, with balance/spend/health
|
|
1001
|
+
* fields for each, over a rolling window. Requires `establishUserSession()`
|
|
1002
|
+
* (or the MCP `agent_claim_self` flow, which also captures the cookie on
|
|
1003
|
+
* this same agent instance) to have run first — otherwise throws.
|
|
1004
|
+
*
|
|
1005
|
+
* Calls `GET {baseUrl}/api/me/agents/overview` — owner-gated, same
|
|
1006
|
+
* `__aifinpay_user_session` cookie as `/api/me/agents/challenge` and
|
|
1007
|
+
* `/api/me/agents/claim`. Returns the parsed `agents` array from
|
|
1008
|
+
* `{ window, agents: [...] }`.
|
|
1009
|
+
*/
|
|
1010
|
+
async listMyAgents() {
|
|
1011
|
+
if (!this.userSessionCookie) {
|
|
1012
|
+
throw new AiFinPayError("No user session established. Run the claim flow first — " +
|
|
1013
|
+
"sign in at https://aifinpay.io/login, then call " +
|
|
1014
|
+
"establishUserSession(magicLinkUrl) (Node) with the emailed link, " +
|
|
1015
|
+
"or use the MCP agent_claim_self tool, before calling listMyAgents().");
|
|
1016
|
+
}
|
|
1017
|
+
const r = await this.inner.fetchImpl(`${this.inner.baseUrl}/api/me/agents/overview`, {
|
|
1018
|
+
method: "GET",
|
|
1019
|
+
headers: { accept: "application/json", cookie: this.userSessionCookie },
|
|
1020
|
+
});
|
|
1021
|
+
if (r.status === 401) {
|
|
1022
|
+
throw new AiFinPayError("User session expired or invalid — re-run establishUserSession() with a fresh magic link.");
|
|
1023
|
+
}
|
|
1024
|
+
if (!r.ok) {
|
|
1025
|
+
throw new AiFinPayError(`GET /api/me/agents/overview → ${r.status}`);
|
|
1026
|
+
}
|
|
1027
|
+
const j = (await r.json());
|
|
1028
|
+
return j.agents ?? [];
|
|
1029
|
+
}
|
|
1052
1030
|
// ── Telemetry (opt-out) ─────────────────────────────────────────────────
|
|
1053
1031
|
reportTelemetry(payload) {
|
|
1054
1032
|
// Fire-and-forget. No body content, only metadata.
|
|
@@ -1058,6 +1036,96 @@ export class AiFinPayAgent {
|
|
|
1058
1036
|
body: JSON.stringify({ agent_id: this.id, ...payload, ts: Date.now() }),
|
|
1059
1037
|
}).catch(() => { });
|
|
1060
1038
|
}
|
|
1039
|
+
/**
|
|
1040
|
+
* Opt-in "advisory" heartbeat — reports the agent's own view of its
|
|
1041
|
+
* budget caps, 24h spend, and balances so an operator dashboard can show
|
|
1042
|
+
* "reported by your agent" liveness. This is NOT server-enforced: the
|
|
1043
|
+
* backend does not verify these numbers on-chain, it just displays what
|
|
1044
|
+
* the agent self-reports. Respects the same `telemetry: false` opt-out
|
|
1045
|
+
* as `call()`'s per-request reporting. Fire-and-forget — never throws.
|
|
1046
|
+
*/
|
|
1047
|
+
reportHeartbeat() {
|
|
1048
|
+
if (!this.telemetry)
|
|
1049
|
+
return;
|
|
1050
|
+
void this.balance()
|
|
1051
|
+
.then((bal) => {
|
|
1052
|
+
this.reportTelemetry({
|
|
1053
|
+
kind: "heartbeat",
|
|
1054
|
+
budget_caps: this.budgetCaps,
|
|
1055
|
+
spend_24h_usd: bal.spend_24h_usd,
|
|
1056
|
+
balances: bal.chains,
|
|
1057
|
+
});
|
|
1058
|
+
this.lastHeartbeatTs = Date.now();
|
|
1059
|
+
})
|
|
1060
|
+
.catch(() => { });
|
|
1061
|
+
}
|
|
1062
|
+
/**
|
|
1063
|
+
* Opportunistic, throttled heartbeat — called internally after a
|
|
1064
|
+
* SUCCESSFUL call()/pay() so the dashboard's "agent-reported caps"
|
|
1065
|
+
* section stays warm without every caller having to remember to invoke
|
|
1066
|
+
* reportHeartbeat() by hand.
|
|
1067
|
+
*
|
|
1068
|
+
* Throttle: at most once per `heartbeatIntervalMs` (default 5 min),
|
|
1069
|
+
* tracked via `lastHeartbeatTs` — never fires more often than that
|
|
1070
|
+
* regardless of call volume.
|
|
1071
|
+
*
|
|
1072
|
+
* Cost control: does NOT force a fresh balance() RPC round-trip on every
|
|
1073
|
+
* heartbeat. It reuses `lastBalanceSnapshot` if one exists and is no
|
|
1074
|
+
* older than `heartbeatIntervalMs`; otherwise it sends budget_caps +
|
|
1075
|
+
* spend_24h only (balances omitted) rather than paying for a live RPC
|
|
1076
|
+
* call on this opportunistic path. Call `balance()` or `reportHeartbeat()`
|
|
1077
|
+
* explicitly if you want a heartbeat with a guaranteed-fresh balance.
|
|
1078
|
+
*
|
|
1079
|
+
* Always fire-and-forget: never awaited by call()/pay(), never throws.
|
|
1080
|
+
*/
|
|
1081
|
+
maybeHeartbeat() {
|
|
1082
|
+
if (!this.telemetry)
|
|
1083
|
+
return;
|
|
1084
|
+
const now = Date.now();
|
|
1085
|
+
if (now - this.lastHeartbeatTs < this.heartbeatIntervalMs)
|
|
1086
|
+
return;
|
|
1087
|
+
this.lastHeartbeatTs = now; // claim the slot before the async work starts
|
|
1088
|
+
const fresh = this.lastBalanceSnapshot
|
|
1089
|
+
&& (now - this.lastBalanceSnapshot.at) < this.heartbeatIntervalMs
|
|
1090
|
+
? this.lastBalanceSnapshot.snapshot
|
|
1091
|
+
: undefined;
|
|
1092
|
+
const payload = {
|
|
1093
|
+
kind: "heartbeat",
|
|
1094
|
+
budget_caps: this.budgetCaps,
|
|
1095
|
+
spend_24h_usd: this.spend24h.total24h(),
|
|
1096
|
+
};
|
|
1097
|
+
if (fresh)
|
|
1098
|
+
payload.balances = fresh.chains;
|
|
1099
|
+
this.reportTelemetry(payload);
|
|
1100
|
+
}
|
|
1101
|
+
/**
|
|
1102
|
+
* Generic x402 payment with telemetry — thin wrapper over
|
|
1103
|
+
* `inner.pay(url)` that reports a `kind:"call", via:"pay"` telemetry
|
|
1104
|
+
* event on success, mirroring the reporting `call()` already does for
|
|
1105
|
+
* registry-resolved payments. Unlike `call()`, the generic x402 flow
|
|
1106
|
+
* (native AiFinPay + Coinbase facilitators) does not settle through a
|
|
1107
|
+
* bridge that returns a verifiable tx hash here, so `cost` reflects the
|
|
1108
|
+
* caller's declared `options.maxAmountUsd` cap (if any) rather than a
|
|
1109
|
+
* confirmed on-chain amount — same "advisory" caveat as heartbeat.
|
|
1110
|
+
*/
|
|
1111
|
+
async pay(url, init = {}) {
|
|
1112
|
+
const resp = await this.inner.pay(url, init);
|
|
1113
|
+
if (this.telemetry) {
|
|
1114
|
+
let host = null;
|
|
1115
|
+
try {
|
|
1116
|
+
host = new URL(url).host;
|
|
1117
|
+
}
|
|
1118
|
+
catch { /* leave null */ }
|
|
1119
|
+
this.reportTelemetry({
|
|
1120
|
+
kind: "call",
|
|
1121
|
+
via: "pay",
|
|
1122
|
+
provider: host,
|
|
1123
|
+
cost: init.options?.maxAmountUsd ?? null,
|
|
1124
|
+
});
|
|
1125
|
+
}
|
|
1126
|
+
this.maybeHeartbeat();
|
|
1127
|
+
return resp;
|
|
1128
|
+
}
|
|
1061
1129
|
}
|
|
1062
1130
|
// ── Internal hex helpers (small, no extra deps) ────────────────────────────
|
|
1063
1131
|
function hexToBytes(hex) {
|
package/dist/unifiedAgent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unifiedAgent.js","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unifiedAgent.js","sourceRoot":"","sources":["../src/unifiedAgent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aifinpay/agent",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "Unified agent-economy SDK for autonomous AI agents
|
|
3
|
+
"version": "1.2.0",
|
|
4
|
+
"description": "Unified agent-economy SDK for autonomous AI agents — chain-opaque AiFinPayAgent surface (call/openSession/balance/verify) over Polygon and Solana execution environments.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -66,5 +66,8 @@
|
|
|
66
66
|
},
|
|
67
67
|
"publishConfig": {
|
|
68
68
|
"access": "public"
|
|
69
|
+
},
|
|
70
|
+
"bin": {
|
|
71
|
+
"aifinpay": "./dist/cli.js"
|
|
69
72
|
}
|
|
70
73
|
}
|