kompass-sdk 0.2.0 → 0.3.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.js +98 -0
- package/dist/cli.js.map +1 -1
- package/dist/wallet/handlers/acp.d.ts +16 -0
- package/dist/wallet/handlers/acp.d.ts.map +1 -0
- package/dist/wallet/handlers/acp.js +65 -0
- package/dist/wallet/handlers/acp.js.map +1 -0
- package/dist/wallet/handlers/free.d.ts +10 -0
- package/dist/wallet/handlers/free.d.ts.map +1 -0
- package/dist/wallet/handlers/free.js +25 -0
- package/dist/wallet/handlers/free.js.map +1 -0
- package/dist/wallet/handlers/l402.d.ts +13 -0
- package/dist/wallet/handlers/l402.d.ts.map +1 -0
- package/dist/wallet/handlers/l402.js +94 -0
- package/dist/wallet/handlers/l402.js.map +1 -0
- package/dist/wallet/handlers/mpp.d.ts +21 -0
- package/dist/wallet/handlers/mpp.d.ts.map +1 -0
- package/dist/wallet/handlers/mpp.js +78 -0
- package/dist/wallet/handlers/mpp.js.map +1 -0
- package/dist/wallet/handlers/nanopayments.d.ts +25 -0
- package/dist/wallet/handlers/nanopayments.d.ts.map +1 -0
- package/dist/wallet/handlers/nanopayments.js +24 -0
- package/dist/wallet/handlers/nanopayments.js.map +1 -0
- package/dist/wallet/handlers/x402.d.ts +13 -0
- package/dist/wallet/handlers/x402.d.ts.map +1 -0
- package/dist/wallet/handlers/x402.js +48 -0
- package/dist/wallet/handlers/x402.js.map +1 -0
- package/dist/wallet/index.d.ts +9393 -0
- package/dist/wallet/index.d.ts.map +1 -0
- package/dist/wallet/index.js +135 -0
- package/dist/wallet/index.js.map +1 -0
- package/dist/wallet/keystore.d.ts +26 -0
- package/dist/wallet/keystore.d.ts.map +1 -0
- package/dist/wallet/keystore.js +48 -0
- package/dist/wallet/keystore.js.map +1 -0
- package/dist/wallet/payment-router.d.ts +20 -0
- package/dist/wallet/payment-router.d.ts.map +1 -0
- package/dist/wallet/payment-router.js +77 -0
- package/dist/wallet/payment-router.js.map +1 -0
- package/package.json +4 -1
- package/src/cli.ts +105 -1
- package/src/wallet/handlers/acp.ts +83 -0
- package/src/wallet/handlers/free.ts +28 -0
- package/src/wallet/handlers/l402.ts +119 -0
- package/src/wallet/handlers/mpp.ts +91 -0
- package/src/wallet/handlers/nanopayments.ts +31 -0
- package/src/wallet/handlers/x402.ts +58 -0
- package/src/wallet/index.ts +160 -0
- package/src/wallet/keystore.ts +70 -0
- package/src/wallet/payment-router.ts +101 -0
package/dist/cli.js
CHANGED
|
@@ -162,6 +162,42 @@ program
|
|
|
162
162
|
console.log(`ETH: ${formatEther(eth)}`);
|
|
163
163
|
console.log(`Backend: ACP (Virtuals Protocol)`);
|
|
164
164
|
});
|
|
165
|
+
// ── Wallet Commands ──────────────────────────────────────
|
|
166
|
+
const walletCmd = program.command("wallet").description("Manage Kompass spending wallet");
|
|
167
|
+
walletCmd
|
|
168
|
+
.command("create")
|
|
169
|
+
.description("Create a new Kompass spending wallet")
|
|
170
|
+
.option("-n, --network <network>", "base or base-sepolia", "base-sepolia")
|
|
171
|
+
.option("-p, --path <path>", "keystore file path")
|
|
172
|
+
.action(async (opts) => {
|
|
173
|
+
const { KompassWallet } = await import("./wallet/index.js");
|
|
174
|
+
const wallet = KompassWallet.create({
|
|
175
|
+
network: opts.network,
|
|
176
|
+
path: opts.path,
|
|
177
|
+
});
|
|
178
|
+
const balance = await wallet.getBalance();
|
|
179
|
+
console.log(`\n🔑 Kompass Wallet Created`);
|
|
180
|
+
console.log(` Address: ${balance.address}`);
|
|
181
|
+
console.log(` Network: ${balance.network}`);
|
|
182
|
+
console.log(` ETH: ${balance.eth}`);
|
|
183
|
+
console.log(` USDC: ${balance.usdc}`);
|
|
184
|
+
console.log(`\n Fund this address with USDC to start using Kompass.`);
|
|
185
|
+
console.log(` Keystore saved. Your private key is encrypted and never leaves your machine.\n`);
|
|
186
|
+
});
|
|
187
|
+
walletCmd
|
|
188
|
+
.command("balance")
|
|
189
|
+
.description("Check wallet balance")
|
|
190
|
+
.option("-p, --path <path>", "keystore file path")
|
|
191
|
+
.action(async (opts) => {
|
|
192
|
+
const { KompassWallet } = await import("./wallet/index.js");
|
|
193
|
+
const wallet = KompassWallet.load(opts.path);
|
|
194
|
+
const balance = await wallet.getBalance();
|
|
195
|
+
console.log(`\n💰 Kompass Wallet`);
|
|
196
|
+
console.log(` Address: ${balance.address}`);
|
|
197
|
+
console.log(` Network: ${balance.network}`);
|
|
198
|
+
console.log(` ETH: ${balance.eth}`);
|
|
199
|
+
console.log(` USDC: ${balance.usdc}\n`);
|
|
200
|
+
});
|
|
165
201
|
// ── Core Command: Do ─────────────────────────────────────
|
|
166
202
|
program
|
|
167
203
|
.command("do <task>")
|
|
@@ -171,8 +207,11 @@ program
|
|
|
171
207
|
.option("-p, --protocol <protocol>", "prefer specific protocol (acp, x402, mcp, skill)")
|
|
172
208
|
.option("--dry-run", "show options without executing")
|
|
173
209
|
.option("--json", "output as JSON")
|
|
210
|
+
.option("--log <path>", "write structured agent_log.json to path")
|
|
211
|
+
.option("--manifest <path>", "write agent.json manifest to path")
|
|
174
212
|
.action(async (task, opts) => {
|
|
175
213
|
const { KompassUnified } = await import("./unified.js");
|
|
214
|
+
const { writeFileSync } = await import("fs");
|
|
176
215
|
const kompass = await KompassUnified.create();
|
|
177
216
|
if (!opts.json) {
|
|
178
217
|
console.log(`\n⚡ Kompass: Getting it done — "${task}"\n`);
|
|
@@ -213,6 +252,65 @@ program
|
|
|
213
252
|
: JSON.stringify(result.execution.deliverable, null, 2).slice(0, 500));
|
|
214
253
|
}
|
|
215
254
|
}
|
|
255
|
+
// Write agent_log.json if requested
|
|
256
|
+
if (opts.log) {
|
|
257
|
+
const log = {
|
|
258
|
+
agentName: "Kompass",
|
|
259
|
+
startTime: new Date(Date.now() - (result.discovery.queryTimeMs + (result.execution?.durationMs ?? 0))).toISOString(),
|
|
260
|
+
endTime: new Date().toISOString(),
|
|
261
|
+
intent: task,
|
|
262
|
+
entries: [
|
|
263
|
+
{ timestamp: new Date().toISOString(), phase: "discovery", action: "search-all-sources", decision: `Searched ${result.discovery.sourcesQueried} sources, found ${result.discovery.totalFound} options in ${result.discovery.queryTimeMs}ms` },
|
|
264
|
+
...result.options.slice(0, 5).map((o) => ({
|
|
265
|
+
timestamp: new Date().toISOString(),
|
|
266
|
+
phase: "ranking",
|
|
267
|
+
action: `evaluate:${o.agent.name}`,
|
|
268
|
+
decision: `${o.protocol} | $${o.estimatedCost ?? "unknown"} | ${o.why}`,
|
|
269
|
+
})),
|
|
270
|
+
...(result.selected ? [{
|
|
271
|
+
timestamp: new Date().toISOString(),
|
|
272
|
+
phase: "selection",
|
|
273
|
+
action: `selected:${result.selected.agent.name}`,
|
|
274
|
+
decision: result.reasoning,
|
|
275
|
+
}] : []),
|
|
276
|
+
...(result.execution ? [{
|
|
277
|
+
timestamp: new Date().toISOString(),
|
|
278
|
+
phase: "execution",
|
|
279
|
+
action: result.execution.success ? "success" : "failed",
|
|
280
|
+
decision: result.execution.error ?? "Execution completed",
|
|
281
|
+
txHash: result.execution.txHash,
|
|
282
|
+
durationMs: result.execution.durationMs,
|
|
283
|
+
}] : []),
|
|
284
|
+
],
|
|
285
|
+
summary: {
|
|
286
|
+
sourcesQueried: result.discovery.sourcesQueried,
|
|
287
|
+
optionsFound: result.options.length,
|
|
288
|
+
selected: result.selected?.agent.name ?? null,
|
|
289
|
+
protocol: result.selected?.protocol ?? null,
|
|
290
|
+
success: result.success,
|
|
291
|
+
costUSDC: result.selected?.estimatedCost ?? 0,
|
|
292
|
+
},
|
|
293
|
+
};
|
|
294
|
+
writeFileSync(opts.log, JSON.stringify(log, null, 2));
|
|
295
|
+
console.log(`agent_log.json written to ${opts.log}`);
|
|
296
|
+
}
|
|
297
|
+
// Write agent.json manifest if requested
|
|
298
|
+
if (opts.manifest) {
|
|
299
|
+
const manifest = {
|
|
300
|
+
name: "Kompass",
|
|
301
|
+
version: "0.2.0",
|
|
302
|
+
description: "Universal capability discovery + coordination across ACP, MCP, x402, A2A, skills, ERC-8004, L402",
|
|
303
|
+
operatorWallet: process.env.KOMPASS_PRIVATE_KEY ? "configured" : "not-set",
|
|
304
|
+
supportedTools: ["kompass-find", "kompass-do", "kompass-serve", "kompass-coordinate"],
|
|
305
|
+
techStacks: ["typescript", "a2a", "mcp", "x402", "acp", "erc-8183", "erc-8004", "ens"],
|
|
306
|
+
computeConstraints: { maxBudgetUSDC: parseFloat(opts.budget), timeoutSeconds: 300 },
|
|
307
|
+
taskCategories: ["discovery", "coordination", "defi", "data", "development"],
|
|
308
|
+
sourceCount: result.discovery.sourcesQueried,
|
|
309
|
+
registeredAt: new Date().toISOString(),
|
|
310
|
+
};
|
|
311
|
+
writeFileSync(opts.manifest, JSON.stringify(manifest, null, 2));
|
|
312
|
+
console.log(`agent.json written to ${opts.manifest}`);
|
|
313
|
+
}
|
|
216
314
|
console.log();
|
|
217
315
|
});
|
|
218
316
|
// ── A2A Server Command ───────────────────────────────────
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP Escrow Payment Handler
|
|
3
|
+
* Creates ERC-8183 escrow jobs on Virtuals ACP
|
|
4
|
+
*
|
|
5
|
+
* Uses @virtuals-protocol/acp-node SDK programmatically
|
|
6
|
+
* Falls back to CLI if SDK init fails (requires ACP registration)
|
|
7
|
+
*/
|
|
8
|
+
import type { KompassWallet } from "../index.js";
|
|
9
|
+
import type { UnifiedAgent } from "../../sources/types.js";
|
|
10
|
+
export declare function handleACPPayment(wallet: KompassWallet, agent: UnifiedAgent, task: string, budget?: bigint): Promise<{
|
|
11
|
+
success: boolean;
|
|
12
|
+
deliverable?: unknown;
|
|
13
|
+
txHash?: string;
|
|
14
|
+
jobId?: string;
|
|
15
|
+
}>;
|
|
16
|
+
//# sourceMappingURL=acp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/acp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8DvF"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP Escrow Payment Handler
|
|
3
|
+
* Creates ERC-8183 escrow jobs on Virtuals ACP
|
|
4
|
+
*
|
|
5
|
+
* Uses @virtuals-protocol/acp-node SDK programmatically
|
|
6
|
+
* Falls back to CLI if SDK init fails (requires ACP registration)
|
|
7
|
+
*/
|
|
8
|
+
import { execFile } from "child_process";
|
|
9
|
+
import { promisify } from "util";
|
|
10
|
+
const execFileAsync = promisify(execFile);
|
|
11
|
+
export async function handleACPPayment(wallet, agent, task, budget) {
|
|
12
|
+
const offering = agent.raw?.jobs?.[0] ?? agent.raw?.jobOfferings?.[0];
|
|
13
|
+
if (!offering) {
|
|
14
|
+
return { success: false, deliverable: { error: "Agent has no ACP job offerings" } };
|
|
15
|
+
}
|
|
16
|
+
const walletAddress = agent.endpoints.acp?.walletAddress;
|
|
17
|
+
if (!walletAddress) {
|
|
18
|
+
return { success: false, deliverable: { error: "No ACP wallet address for agent" } };
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
// Use ACP CLI with execFile (not execSync) to avoid shell injection
|
|
22
|
+
// Arguments passed as array, not concatenated string
|
|
23
|
+
const requirements = JSON.stringify({ description: task });
|
|
24
|
+
const { stdout } = await execFileAsync("npx", [
|
|
25
|
+
"acp", "job", "create",
|
|
26
|
+
walletAddress,
|
|
27
|
+
String(offering.id),
|
|
28
|
+
"--requirements", requirements,
|
|
29
|
+
"--isAutomated", "true",
|
|
30
|
+
"--json",
|
|
31
|
+
], {
|
|
32
|
+
cwd: "/tmp/openclaw-acp",
|
|
33
|
+
timeout: 60000,
|
|
34
|
+
env: { ...process.env, NODE_NO_WARNINGS: "1" },
|
|
35
|
+
});
|
|
36
|
+
const jobData = JSON.parse(stdout.trim());
|
|
37
|
+
return {
|
|
38
|
+
success: true,
|
|
39
|
+
deliverable: {
|
|
40
|
+
type: "acp-escrow",
|
|
41
|
+
jobId: jobData.jobId ?? jobData.id,
|
|
42
|
+
status: "created",
|
|
43
|
+
message: "ACP escrow job created with ERC-8183. Agent will process and deliver.",
|
|
44
|
+
offering: offering.name,
|
|
45
|
+
price: offering.price,
|
|
46
|
+
agent: agent.name,
|
|
47
|
+
},
|
|
48
|
+
jobId: String(jobData.jobId ?? jobData.id),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
53
|
+
// If CLI fails, return helpful error
|
|
54
|
+
return {
|
|
55
|
+
success: false,
|
|
56
|
+
deliverable: {
|
|
57
|
+
error: `ACP job creation failed: ${message}`,
|
|
58
|
+
hint: "Ensure ACP CLI is set up: cd /tmp/openclaw-acp && npx acp setup",
|
|
59
|
+
agent: agent.name,
|
|
60
|
+
offering: offering.name,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=acp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/wallet/handlers/acp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAIjC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAqB,EACrB,KAAmB,EACnB,IAAY,EACZ,MAAe;IAEf,MAAM,QAAQ,GAAI,KAAK,CAAC,GAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAK,KAAK,CAAC,GAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,gCAAgC,EAAE,EAAE,CAAC;IACtF,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;IACzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,CAAC;IACvF,CAAC;IAED,IAAI,CAAC;QACH,oEAAoE;QACpE,qDAAqD;QACrD,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL;YACE,KAAK,EAAE,KAAK,EAAE,QAAQ;YACtB,aAAa;YACb,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnB,gBAAgB,EAAE,YAAY;YAC9B,eAAe,EAAE,MAAM;YACvB,QAAQ;SACT,EACD;YACE,GAAG,EAAE,mBAAmB;YACxB,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE;SAC/C,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAE1C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW,EAAE;gBACX,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE;gBAClC,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,uEAAuE;gBAChF,QAAQ,EAAE,QAAQ,CAAC,IAAI;gBACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,KAAK,EAAE,KAAK,CAAC,IAAI;aAClB;YACD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC;SAC3C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,qCAAqC;QACrC,OAAO;YACL,OAAO,EAAE,KAAK;YACd,WAAW,EAAE;gBACX,KAAK,EAAE,4BAA4B,OAAO,EAAE;gBAC5C,IAAI,EAAE,iEAAiE;gBACvE,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;aACxB;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Free Payment Handler
|
|
3
|
+
* For MCP tools, free skills, and open APIs — no payment needed
|
|
4
|
+
*/
|
|
5
|
+
import type { UnifiedAgent } from "../../sources/types.js";
|
|
6
|
+
export declare function handleFreePayment(agent: UnifiedAgent, task: string): Promise<{
|
|
7
|
+
success: boolean;
|
|
8
|
+
deliverable?: unknown;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=free.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/free.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAoB/H"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Free Payment Handler
|
|
3
|
+
* For MCP tools, free skills, and open APIs — no payment needed
|
|
4
|
+
*/
|
|
5
|
+
export async function handleFreePayment(agent, task) {
|
|
6
|
+
// No payment needed — just call the endpoint if available
|
|
7
|
+
const endpoint = agent.endpoints.http ?? agent.endpoints.mcp;
|
|
8
|
+
if (!endpoint) {
|
|
9
|
+
return { success: true, deliverable: { type: "free", message: "Free capability — install or call directly", agent: agent.name } };
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const res = await fetch(endpoint, {
|
|
13
|
+
method: "POST",
|
|
14
|
+
headers: { "Content-Type": "application/json" },
|
|
15
|
+
body: JSON.stringify({ task }),
|
|
16
|
+
signal: AbortSignal.timeout(30000),
|
|
17
|
+
});
|
|
18
|
+
const data = await res.json().catch(() => null);
|
|
19
|
+
return { success: res.ok, deliverable: data };
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return { success: true, deliverable: { type: "free", message: "Free capability available", agent: agent.name, endpoint } };
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=free.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"free.js","sourceRoot":"","sources":["../../../src/wallet/handlers/free.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAmB,EAAE,IAAY;IACvE,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC;IAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,4CAA4C,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACpI,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;YAC9B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC7H,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L402 Lightning Payment Handler
|
|
3
|
+
* Uses @getalby/lightning-tools fetchWithL402
|
|
4
|
+
* Requires a Nostr Wallet Connect (NWC) URI for Lightning payments
|
|
5
|
+
*/
|
|
6
|
+
import type { KompassWallet } from "../index.js";
|
|
7
|
+
import type { UnifiedAgent } from "../../sources/types.js";
|
|
8
|
+
export declare function handleL402Payment(wallet: KompassWallet, agent: UnifiedAgent, task: string, nwcUri?: string): Promise<{
|
|
9
|
+
success: boolean;
|
|
10
|
+
deliverable?: unknown;
|
|
11
|
+
txHash?: string;
|
|
12
|
+
}>;
|
|
13
|
+
//# sourceMappingURL=l402.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l402.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/l402.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAyC3D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgEvE"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* L402 Lightning Payment Handler
|
|
3
|
+
* Uses @getalby/lightning-tools fetchWithL402
|
|
4
|
+
* Requires a Nostr Wallet Connect (NWC) URI for Lightning payments
|
|
5
|
+
*/
|
|
6
|
+
import { fetchWithL402 } from "@getalby/lightning-tools/l402";
|
|
7
|
+
// In-memory token storage for L402 macaroons
|
|
8
|
+
class L402Store {
|
|
9
|
+
store = new Map();
|
|
10
|
+
getItem(key) { return this.store.get(key) ?? null; }
|
|
11
|
+
setItem(key, value) { this.store.set(key, value); }
|
|
12
|
+
}
|
|
13
|
+
const l402Store = new L402Store();
|
|
14
|
+
/**
|
|
15
|
+
* Create an NWC wallet adapter that implements the Wallet interface
|
|
16
|
+
* required by fetchWithL402: { sendPayment(invoice) → { preimage } }
|
|
17
|
+
*/
|
|
18
|
+
function createNWCWallet(nwcUri) {
|
|
19
|
+
return {
|
|
20
|
+
async sendPayment(paymentRequest) {
|
|
21
|
+
// NWC protocol: connect to relay, send pay_invoice request
|
|
22
|
+
// For now, use a simple HTTP-based NWC relay approach
|
|
23
|
+
// In production, use @getalby/sdk or nostr-tools for full NWC
|
|
24
|
+
// Parse NWC URI: nostr+walletconnect://<pubkey>?relay=<url>&secret=<hex>
|
|
25
|
+
const url = new URL(nwcUri.replace("nostr+walletconnect://", "https://"));
|
|
26
|
+
const relay = url.searchParams.get("relay");
|
|
27
|
+
const secret = url.searchParams.get("secret");
|
|
28
|
+
if (!relay || !secret) {
|
|
29
|
+
throw new Error("Invalid NWC URI. Format: nostr+walletconnect://<pubkey>?relay=<url>&secret=<hex>");
|
|
30
|
+
}
|
|
31
|
+
// For hackathon: throw with clear instructions rather than silently fail
|
|
32
|
+
throw new Error(`L402 payment prepared. Invoice: ${paymentRequest.slice(0, 40)}... ` +
|
|
33
|
+
`To complete: pay this Lightning invoice using your NWC-connected wallet. ` +
|
|
34
|
+
`NWC relay: ${relay}`);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export async function handleL402Payment(wallet, agent, task, nwcUri) {
|
|
39
|
+
const endpoint = agent.endpoints.l402 ?? agent.endpoints.http;
|
|
40
|
+
if (!endpoint) {
|
|
41
|
+
return { success: false, deliverable: { error: "No L402 endpoint" } };
|
|
42
|
+
}
|
|
43
|
+
if (!nwcUri) {
|
|
44
|
+
return {
|
|
45
|
+
success: false,
|
|
46
|
+
deliverable: {
|
|
47
|
+
error: "L402 requires a Lightning wallet. Configure with: kompass wallet set-nwc 'nostr+walletconnect://...'",
|
|
48
|
+
hint: "Get a NWC URI from Alby (getalby.com) or any NWC-compatible Lightning wallet.",
|
|
49
|
+
endpoint,
|
|
50
|
+
protocol: "L402",
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const nwcWallet = createNWCWallet(nwcUri);
|
|
56
|
+
// fetchWithL402 handles the full flow:
|
|
57
|
+
// 1. Makes initial request
|
|
58
|
+
// 2. Gets 402 with WWW-Authenticate: L402 macaroon="...", invoice="..."
|
|
59
|
+
// 3. Pays invoice via wallet.sendPayment(invoice) → gets preimage
|
|
60
|
+
// 4. Retries with Authorization: L402 <base64(macaroon)>:<hex(preimage)>
|
|
61
|
+
// 5. Stores token in l402Store for future requests
|
|
62
|
+
const res = await fetchWithL402(endpoint, {
|
|
63
|
+
method: "POST",
|
|
64
|
+
headers: { "Content-Type": "application/json" },
|
|
65
|
+
body: JSON.stringify({ task }),
|
|
66
|
+
}, {
|
|
67
|
+
wallet: nwcWallet,
|
|
68
|
+
store: l402Store,
|
|
69
|
+
});
|
|
70
|
+
const data = await res.json().catch(() => null);
|
|
71
|
+
return { success: res.ok, deliverable: data };
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
75
|
+
// If the error is from our NWC wallet (invoice prepared but not paid),
|
|
76
|
+
// return the invoice details so the agent can handle it
|
|
77
|
+
if (message.includes("L402 payment prepared")) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
deliverable: {
|
|
81
|
+
type: "l402-pending",
|
|
82
|
+
message,
|
|
83
|
+
protocol: "L402",
|
|
84
|
+
endpoint,
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
success: false,
|
|
90
|
+
deliverable: { error: message },
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=l402.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l402.js","sourceRoot":"","sources":["../../../src/wallet/handlers/l402.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MPP/Tempo Payment Handler
|
|
3
|
+
* Machine Payments Protocol — co-authored by Stripe & Tempo
|
|
4
|
+
* Uses HTTP 402 + payment credentials (stablecoins or cards)
|
|
5
|
+
*
|
|
6
|
+
* MPP supports multiple payment methods:
|
|
7
|
+
* - Crypto: USDC stablecoin payments (similar to x402 but different credential format)
|
|
8
|
+
* - Cards: Visa/Mastercard via Stripe PaymentIntent
|
|
9
|
+
* - Lightning: via Lightspark integration
|
|
10
|
+
*
|
|
11
|
+
* For crypto payments, MPP uses a payment credential signed by the wallet.
|
|
12
|
+
* For card payments, MPP uses Stripe SDK.
|
|
13
|
+
*/
|
|
14
|
+
import type { KompassWallet } from "../index.js";
|
|
15
|
+
import type { UnifiedAgent } from "../../sources/types.js";
|
|
16
|
+
export declare function handleMPPPayment(wallet: KompassWallet, agent: UnifiedAgent, task: string): Promise<{
|
|
17
|
+
success: boolean;
|
|
18
|
+
deliverable?: unknown;
|
|
19
|
+
txHash?: string;
|
|
20
|
+
}>;
|
|
21
|
+
//# sourceMappingURL=mpp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mpp.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/mpp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqEvE"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MPP/Tempo Payment Handler
|
|
3
|
+
* Machine Payments Protocol — co-authored by Stripe & Tempo
|
|
4
|
+
* Uses HTTP 402 + payment credentials (stablecoins or cards)
|
|
5
|
+
*
|
|
6
|
+
* MPP supports multiple payment methods:
|
|
7
|
+
* - Crypto: USDC stablecoin payments (similar to x402 but different credential format)
|
|
8
|
+
* - Cards: Visa/Mastercard via Stripe PaymentIntent
|
|
9
|
+
* - Lightning: via Lightspark integration
|
|
10
|
+
*
|
|
11
|
+
* For crypto payments, MPP uses a payment credential signed by the wallet.
|
|
12
|
+
* For card payments, MPP uses Stripe SDK.
|
|
13
|
+
*/
|
|
14
|
+
export async function handleMPPPayment(wallet, agent, task) {
|
|
15
|
+
const endpoint = agent.endpoints.http ?? agent.endpoints.x402;
|
|
16
|
+
if (!endpoint) {
|
|
17
|
+
return { success: false, deliverable: { error: "No MPP endpoint" } };
|
|
18
|
+
}
|
|
19
|
+
try {
|
|
20
|
+
// Step 1: Make initial request to get 402 challenge
|
|
21
|
+
const initialRes = await fetch(endpoint, {
|
|
22
|
+
method: "POST",
|
|
23
|
+
headers: { "Content-Type": "application/json" },
|
|
24
|
+
body: JSON.stringify({ task }),
|
|
25
|
+
signal: AbortSignal.timeout(15000),
|
|
26
|
+
});
|
|
27
|
+
// If no 402, service doesn't require payment
|
|
28
|
+
if (initialRes.status !== 402) {
|
|
29
|
+
const data = await initialRes.json().catch(() => null);
|
|
30
|
+
return { success: initialRes.ok, deliverable: data };
|
|
31
|
+
}
|
|
32
|
+
// Step 2: Parse MPP payment requirements from 402 response
|
|
33
|
+
const paymentRequiredHeader = initialRes.headers.get("X-Payment") ??
|
|
34
|
+
initialRes.headers.get("Payment-Required") ??
|
|
35
|
+
initialRes.headers.get("WWW-Authenticate") ?? "";
|
|
36
|
+
// MPP 402 response includes payment details
|
|
37
|
+
// Try to parse as JSON (MPP style) or as x402-style header
|
|
38
|
+
let paymentDetails;
|
|
39
|
+
try {
|
|
40
|
+
// MPP may return payment details in response body
|
|
41
|
+
paymentDetails = await initialRes.json();
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
paymentDetails = { raw: paymentRequiredHeader };
|
|
45
|
+
}
|
|
46
|
+
// Step 3: For crypto MPP, we can use x402-style payment since both use
|
|
47
|
+
// EIP-3009 transferWithAuthorization for stablecoin payments.
|
|
48
|
+
// MPP's crypto rail is compatible with x402 signing.
|
|
49
|
+
if (paymentDetails?.paymentMethod === "crypto" || paymentDetails?.scheme === "exact" || !paymentDetails?.paymentMethod) {
|
|
50
|
+
// Attempt x402-style payment (EIP-3009)
|
|
51
|
+
const { handleX402Payment } = await import("./x402.js");
|
|
52
|
+
const x402Result = await handleX402Payment(wallet, { ...agent, endpoints: { ...agent.endpoints, x402: endpoint } }, task);
|
|
53
|
+
if (x402Result.success) {
|
|
54
|
+
return { ...x402Result, txHash: x402Result.txHash };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Step 4: If crypto payment didn't work, return the payment requirements
|
|
58
|
+
// so the agent or human can handle it (e.g., card payment via Stripe)
|
|
59
|
+
return {
|
|
60
|
+
success: false,
|
|
61
|
+
deliverable: {
|
|
62
|
+
type: "mpp-payment-required",
|
|
63
|
+
message: "MPP payment required. Crypto payment attempted but may need card/Stripe.",
|
|
64
|
+
paymentDetails,
|
|
65
|
+
endpoint,
|
|
66
|
+
supportedMethods: ["crypto (USDC)", "card (Stripe)", "lightning (Lightspark)"],
|
|
67
|
+
hint: "For card payments, configure Stripe integration. For crypto, ensure wallet has USDC on the required network.",
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
return {
|
|
73
|
+
success: false,
|
|
74
|
+
deliverable: { error: err instanceof Error ? err.message : String(err) },
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=mpp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mpp.js","sourceRoot":"","sources":["../../../src/wallet/handlers/mpp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Circle Nanopayments Handler
|
|
3
|
+
* Gas-free USDC micro-transfers via EIP-3009
|
|
4
|
+
*
|
|
5
|
+
* Circle Nanopayments follows the x402 standard:
|
|
6
|
+
* - Agent signs EIP-3009 transferWithAuthorization
|
|
7
|
+
* - Circle validates and adjusts internal ledger
|
|
8
|
+
* - Settlement batched in background (gas-free for agent)
|
|
9
|
+
* - Supports sub-penny payments ($0.000001 minimum)
|
|
10
|
+
*
|
|
11
|
+
* Since Nanopayments uses the x402 standard, our x402 handler
|
|
12
|
+
* handles the signing correctly. The difference is on the server/facilitator
|
|
13
|
+
* side (Circle batches settlement), which is transparent to the client.
|
|
14
|
+
*
|
|
15
|
+
* Note: Requires USDC deposited in a Circle Gateway Wallet.
|
|
16
|
+
* Currently on testnet (Arbitrum, Base, Ethereum, Polygon, Optimism, +7 chains).
|
|
17
|
+
*/
|
|
18
|
+
import type { KompassWallet } from "../index.js";
|
|
19
|
+
import type { UnifiedAgent } from "../../sources/types.js";
|
|
20
|
+
export declare function handleNanopayment(wallet: KompassWallet, agent: UnifiedAgent, task: string): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
deliverable?: unknown;
|
|
23
|
+
txHash?: string;
|
|
24
|
+
}>;
|
|
25
|
+
//# sourceMappingURL=nanopayments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanopayments.d.ts","sourceRoot":"","sources":["../../../src/wallet/handlers/nanopayments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAIvE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Circle Nanopayments Handler
|
|
3
|
+
* Gas-free USDC micro-transfers via EIP-3009
|
|
4
|
+
*
|
|
5
|
+
* Circle Nanopayments follows the x402 standard:
|
|
6
|
+
* - Agent signs EIP-3009 transferWithAuthorization
|
|
7
|
+
* - Circle validates and adjusts internal ledger
|
|
8
|
+
* - Settlement batched in background (gas-free for agent)
|
|
9
|
+
* - Supports sub-penny payments ($0.000001 minimum)
|
|
10
|
+
*
|
|
11
|
+
* Since Nanopayments uses the x402 standard, our x402 handler
|
|
12
|
+
* handles the signing correctly. The difference is on the server/facilitator
|
|
13
|
+
* side (Circle batches settlement), which is transparent to the client.
|
|
14
|
+
*
|
|
15
|
+
* Note: Requires USDC deposited in a Circle Gateway Wallet.
|
|
16
|
+
* Currently on testnet (Arbitrum, Base, Ethereum, Polygon, Optimism, +7 chains).
|
|
17
|
+
*/
|
|
18
|
+
import { handleX402Payment } from "./x402.js";
|
|
19
|
+
export async function handleNanopayment(wallet, agent, task) {
|
|
20
|
+
// Circle Nanopayments uses x402 standard — same EIP-3009 signing
|
|
21
|
+
// The batching/gas-free settlement happens on Circle's facilitator side
|
|
22
|
+
return handleX402Payment(wallet, agent, task);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=nanopayments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nanopayments.js","sourceRoot":"","sources":["../../../src/wallet/handlers/nanopayments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAqB,EACrB,KAAmB,EACnB,IAAY;IAEZ,iEAAiE;IACjE,wEAAwE;IACxE,OAAO,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAChD,CAAC"}
|