@daski/pay 0.1.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/LICENSE +21 -0
- package/README.md +102 -0
- package/dist/bin/daski.d.ts +3 -0
- package/dist/bin/daski.d.ts.map +1 -0
- package/dist/bin/daski.js +187 -0
- package/dist/bin/daski.js.map +1 -0
- package/dist/cli/args.d.ts +11 -0
- package/dist/cli/args.d.ts.map +1 -0
- package/dist/cli/args.js +82 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/errors.d.ts +24 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +23 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/output.d.ts +8 -0
- package/dist/cli/output.d.ts.map +1 -0
- package/dist/cli/output.js +76 -0
- package/dist/cli/output.js.map +1 -0
- package/dist/cli/prompt.d.ts +12 -0
- package/dist/cli/prompt.d.ts.map +1 -0
- package/dist/cli/prompt.js +101 -0
- package/dist/cli/prompt.js.map +1 -0
- package/dist/cli/redact.d.ts +26 -0
- package/dist/cli/redact.d.ts.map +1 -0
- package/dist/cli/redact.js +55 -0
- package/dist/cli/redact.js.map +1 -0
- package/dist/commands/buy.d.ts +15 -0
- package/dist/commands/buy.d.ts.map +1 -0
- package/dist/commands/buy.js +276 -0
- package/dist/commands/buy.js.map +1 -0
- package/dist/commands/doctor.d.ts +29 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +173 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/order.d.ts +18 -0
- package/dist/commands/order.d.ts.map +1 -0
- package/dist/commands/order.js +256 -0
- package/dist/commands/order.js.map +1 -0
- package/dist/commands/signPayment.d.ts +10 -0
- package/dist/commands/signPayment.d.ts.map +1 -0
- package/dist/commands/signPayment.js +162 -0
- package/dist/commands/signPayment.js.map +1 -0
- package/dist/commands/wallet.d.ts +11 -0
- package/dist/commands/wallet.d.ts.map +1 -0
- package/dist/commands/wallet.js +104 -0
- package/dist/commands/wallet.js.map +1 -0
- package/dist/config.d.ts +64 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +200 -0
- package/dist/config.js.map +1 -0
- package/dist/context.d.ts +36 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +54 -0
- package/dist/context.js.map +1 -0
- package/dist/gateway/balance.d.ts +16 -0
- package/dist/gateway/balance.d.ts.map +1 -0
- package/dist/gateway/balance.js +23 -0
- package/dist/gateway/balance.js.map +1 -0
- package/dist/gateway/catalog.d.ts +49 -0
- package/dist/gateway/catalog.d.ts.map +1 -0
- package/dist/gateway/catalog.js +161 -0
- package/dist/gateway/catalog.js.map +1 -0
- package/dist/gateway/client.d.ts +80 -0
- package/dist/gateway/client.d.ts.map +1 -0
- package/dist/gateway/client.js +128 -0
- package/dist/gateway/client.js.map +1 -0
- package/dist/gateway/lifecycle.d.ts +45 -0
- package/dist/gateway/lifecycle.d.ts.map +1 -0
- package/dist/gateway/lifecycle.js +96 -0
- package/dist/gateway/lifecycle.js.map +1 -0
- package/dist/gateway/purchase.d.ts +119 -0
- package/dist/gateway/purchase.d.ts.map +1 -0
- package/dist/gateway/purchase.js +250 -0
- package/dist/gateway/purchase.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/paths.d.ts +6 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +11 -0
- package/dist/paths.js.map +1 -0
- package/dist/signers/cdp.d.ts +7 -0
- package/dist/signers/cdp.d.ts.map +1 -0
- package/dist/signers/cdp.js +42 -0
- package/dist/signers/cdp.js.map +1 -0
- package/dist/signers/circle.d.ts +53 -0
- package/dist/signers/circle.d.ts.map +1 -0
- package/dist/signers/circle.js +136 -0
- package/dist/signers/circle.js.map +1 -0
- package/dist/signers/index.d.ts +23 -0
- package/dist/signers/index.d.ts.map +1 -0
- package/dist/signers/index.js +22 -0
- package/dist/signers/index.js.map +1 -0
- package/dist/signers/local.d.ts +3 -0
- package/dist/signers/local.d.ts.map +1 -0
- package/dist/signers/local.js +24 -0
- package/dist/signers/local.js.map +1 -0
- package/dist/signers/selfTest.d.ts +46 -0
- package/dist/signers/selfTest.d.ts.map +1 -0
- package/dist/signers/selfTest.js +113 -0
- package/dist/signers/selfTest.js.map +1 -0
- package/dist/store/keystore.d.ts +19 -0
- package/dist/store/keystore.d.ts.map +1 -0
- package/dist/store/keystore.js +226 -0
- package/dist/store/keystore.js.map +1 -0
- package/dist/store/orders.d.ts +39 -0
- package/dist/store/orders.d.ts.map +1 -0
- package/dist/store/orders.js +91 -0
- package/dist/store/orders.js.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +21 -0
- package/dist/version.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/store/keystore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type OrderState = "INTENT_RECORDED" | "AUTHORIZED" | "SUBMITTED" | "FULFILLED" | "INPUT_REQUIRED" | "PROVIDER_FAILED" | "CANCELED" | "PENDING_RECONCILIATION";
|
|
2
|
+
/** A stored read capability, when the gateway issues one (spec 01 §8). */
|
|
3
|
+
export interface ReadCapability {
|
|
4
|
+
token: string;
|
|
5
|
+
/** Unix seconds. */
|
|
6
|
+
expiresAt: number;
|
|
7
|
+
}
|
|
8
|
+
export interface OrderRecord {
|
|
9
|
+
/** The gateway's order handle, once known. */
|
|
10
|
+
handle?: string | undefined;
|
|
11
|
+
/** Our payment identifier: the reconciliation key, known before signing. */
|
|
12
|
+
intentId: string;
|
|
13
|
+
profile: string;
|
|
14
|
+
providerAgentId: string;
|
|
15
|
+
outcomeId: string;
|
|
16
|
+
payer: string;
|
|
17
|
+
/** Atomic USDC. */
|
|
18
|
+
amount: string;
|
|
19
|
+
state: OrderState;
|
|
20
|
+
/** The recomputed authorization nonce; identifies the order on-chain. */
|
|
21
|
+
authorizationNonce?: string | undefined;
|
|
22
|
+
readCapability?: ReadCapability | undefined;
|
|
23
|
+
createdAt: string;
|
|
24
|
+
updatedAt: string;
|
|
25
|
+
/** The request body, kept so an interrupted purchase can be replayed byte-identically. */
|
|
26
|
+
request?: Record<string, unknown> | undefined;
|
|
27
|
+
}
|
|
28
|
+
export declare function listOrders(profile?: string): OrderRecord[];
|
|
29
|
+
/** Finds by handle first, then by intent id, so either identifier works. */
|
|
30
|
+
export declare function findOrder(handleOrIntent: string, profile?: string): OrderRecord | undefined;
|
|
31
|
+
export declare function findByIntent(intentId: string): OrderRecord | undefined;
|
|
32
|
+
/** Inserts or updates by intent id. The intent id is the stable key. */
|
|
33
|
+
export declare function upsertOrder(record: OrderRecord): OrderRecord;
|
|
34
|
+
export declare function updateOrder(intentId: string, changes: Partial<Omit<OrderRecord, "intentId" | "createdAt">>): OrderRecord | undefined;
|
|
35
|
+
/** Total atomic USDC authorized for a profile: the §4.1.5 session running total. */
|
|
36
|
+
export declare function authorizedTotalAtomic(profile: string): bigint;
|
|
37
|
+
/** A stored capability that is still usable, or undefined. */
|
|
38
|
+
export declare function activeReadCapability(record: OrderRecord, nowSeconds?: number): ReadCapability | undefined;
|
|
39
|
+
//# sourceMappingURL=orders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/store/orders.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,YAAY,GACZ,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,UAAU,GACV,wBAAwB,CAAC;AAE7B,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC/C;AA0BD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAG1D;AAED,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAI3F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEtE;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,WAAW,CAa5D;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC,GAC5D,WAAW,GAAG,SAAS,CAYzB;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,UAAU,SAAiC,GAC1C,cAAc,GAAG,SAAS,CAM5B"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* §5 — the order store.
|
|
3
|
+
*
|
|
4
|
+
* This file is what makes a multi-day order survive the agent process that
|
|
5
|
+
* placed it. `daski order status <handle>` works from a cold start with
|
|
6
|
+
* nothing but the handle, because everything needed to re-derive authority
|
|
7
|
+
* lives here rather than in memory.
|
|
8
|
+
*
|
|
9
|
+
* It is also the reconciliation index: a purchase records its intent *before*
|
|
10
|
+
* the signature goes out, so an interrupted buy can be looked up instead of
|
|
11
|
+
* re-signed.
|
|
12
|
+
*/
|
|
13
|
+
import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
14
|
+
import { dirname } from "node:path";
|
|
15
|
+
import { ordersPath } from "../paths.js";
|
|
16
|
+
function read() {
|
|
17
|
+
try {
|
|
18
|
+
const parsed = JSON.parse(readFileSync(ordersPath(), "utf8"));
|
|
19
|
+
if (parsed.version !== 1 || !Array.isArray(parsed.orders))
|
|
20
|
+
throw new Error("shape");
|
|
21
|
+
return parsed;
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return { version: 1, orders: [] };
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** Writes via a temp file and rename, so a crash cannot truncate the store. */
|
|
28
|
+
function write(file) {
|
|
29
|
+
const path = ordersPath();
|
|
30
|
+
mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
|
|
31
|
+
const temporary = `${path}.${process.pid}.tmp`;
|
|
32
|
+
writeFileSync(temporary, `${JSON.stringify(file, null, 2)}\n`, { mode: 0o600 });
|
|
33
|
+
renameSync(temporary, path);
|
|
34
|
+
}
|
|
35
|
+
export function listOrders(profile) {
|
|
36
|
+
const orders = read().orders;
|
|
37
|
+
return profile ? orders.filter((order) => order.profile === profile) : orders;
|
|
38
|
+
}
|
|
39
|
+
/** Finds by handle first, then by intent id, so either identifier works. */
|
|
40
|
+
export function findOrder(handleOrIntent, profile) {
|
|
41
|
+
return listOrders(profile).find((order) => order.handle === handleOrIntent || order.intentId === handleOrIntent);
|
|
42
|
+
}
|
|
43
|
+
export function findByIntent(intentId) {
|
|
44
|
+
return read().orders.find((order) => order.intentId === intentId);
|
|
45
|
+
}
|
|
46
|
+
/** Inserts or updates by intent id. The intent id is the stable key. */
|
|
47
|
+
export function upsertOrder(record) {
|
|
48
|
+
const file = read();
|
|
49
|
+
const now = new Date().toISOString();
|
|
50
|
+
const index = file.orders.findIndex((order) => order.intentId === record.intentId);
|
|
51
|
+
const merged = { ...record, updatedAt: now };
|
|
52
|
+
if (index >= 0) {
|
|
53
|
+
merged.createdAt = file.orders[index].createdAt;
|
|
54
|
+
file.orders[index] = merged;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
file.orders.push(merged);
|
|
58
|
+
}
|
|
59
|
+
write(file);
|
|
60
|
+
return merged;
|
|
61
|
+
}
|
|
62
|
+
export function updateOrder(intentId, changes) {
|
|
63
|
+
const file = read();
|
|
64
|
+
const index = file.orders.findIndex((order) => order.intentId === intentId);
|
|
65
|
+
if (index < 0)
|
|
66
|
+
return undefined;
|
|
67
|
+
const merged = {
|
|
68
|
+
...file.orders[index],
|
|
69
|
+
...changes,
|
|
70
|
+
updatedAt: new Date().toISOString(),
|
|
71
|
+
};
|
|
72
|
+
file.orders[index] = merged;
|
|
73
|
+
write(file);
|
|
74
|
+
return merged;
|
|
75
|
+
}
|
|
76
|
+
/** Total atomic USDC authorized for a profile: the §4.1.5 session running total. */
|
|
77
|
+
export function authorizedTotalAtomic(profile) {
|
|
78
|
+
return listOrders(profile)
|
|
79
|
+
.filter((order) => order.state !== "INTENT_RECORDED")
|
|
80
|
+
.reduce((total, order) => total + BigInt(order.amount), 0n);
|
|
81
|
+
}
|
|
82
|
+
/** A stored capability that is still usable, or undefined. */
|
|
83
|
+
export function activeReadCapability(record, nowSeconds = Math.floor(Date.now() / 1_000)) {
|
|
84
|
+
const capability = record.readCapability;
|
|
85
|
+
if (!capability)
|
|
86
|
+
return undefined;
|
|
87
|
+
// A capability about to expire is treated as expired: a read that starts
|
|
88
|
+
// valid and finishes invalid is a worse failure than fetching a fresh one.
|
|
89
|
+
return capability.expiresAt > nowSeconds + 15 ? capability : undefined;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=orders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/store/orders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6CzC,SAAS,IAAI;IACX,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAc,CAAC;QAC3E,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACpF,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACpC,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,KAAK,CAAC,IAAe;IAC5B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,MAAM,CAAC;IAC/C,aAAa,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC;IAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AAChF,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,cAAsB,EAAE,OAAgB;IAChE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,cAAc,IAAI,KAAK,CAAC,QAAQ,KAAK,cAAc,CAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;IACpB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnF,MAAM,MAAM,GAAgB,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC1D,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,SAAS,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,OAA6D;IAE7D,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC5E,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,MAAM,GAAgB;QAC1B,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE;QACtB,GAAG,OAAO;QACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACnD,OAAO,UAAU,CAAC,OAAO,CAAC;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,iBAAiB,CAAC;SACpD,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;AAChE,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,oBAAoB,CAClC,MAAmB,EACnB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;IACzC,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,yEAAyE;IACzE,2EAA2E;IAC3E,OAAO,UAAU,CAAC,SAAS,GAAG,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,WAAW,QAAgB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** The published CLI version, read from the package manifest at build time. */
|
|
2
|
+
import { readFileSync } from "node:fs";
|
|
3
|
+
import { dirname, join } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
function readVersion() {
|
|
6
|
+
// dist/version.js -> dist -> package root
|
|
7
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
for (const candidate of [join(here, "..", "package.json"), join(here, "..", "..", "package.json")]) {
|
|
9
|
+
try {
|
|
10
|
+
const parsed = JSON.parse(readFileSync(candidate, "utf8"));
|
|
11
|
+
if (parsed.name === "@daski/pay" && parsed.version)
|
|
12
|
+
return parsed.version;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// Try the next candidate.
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return "0.0.0-unknown";
|
|
19
|
+
}
|
|
20
|
+
export const CLI_VERSION = readVersion();
|
|
21
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,WAAW;IAClB,0CAA0C;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,KAAK,MAAM,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAwC,CAAC;YAClG,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,EAAE,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@daski/pay",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The Daski buyer bridge CLI. Server proposes, the bridge validates and recomputes, the wallet signs, the gateway never sees the key.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=20"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/daski-io/buyer.git",
|
|
13
|
+
"directory": "packages/pay"
|
|
14
|
+
},
|
|
15
|
+
"homepage": "https://github.com/daski-io/buyer/tree/main/packages/pay#readme",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/daski-io/buyer/issues"
|
|
18
|
+
},
|
|
19
|
+
"keywords": [
|
|
20
|
+
"daski",
|
|
21
|
+
"x402",
|
|
22
|
+
"cli",
|
|
23
|
+
"agent-payments",
|
|
24
|
+
"usdc"
|
|
25
|
+
],
|
|
26
|
+
"bin": {
|
|
27
|
+
"daski": "./dist/bin/daski.js"
|
|
28
|
+
},
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"default": "./dist/index.js"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"files": [
|
|
36
|
+
"dist",
|
|
37
|
+
"README.md",
|
|
38
|
+
"LICENSE"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "tsc --build tsconfig.build.json",
|
|
42
|
+
"test": "tsc -p tsconfig.test.json && node --test .test-dist/test/*.test.js",
|
|
43
|
+
"conformance": "tsc -p conformance/tsconfig.json && node .conformance-dist/conformance/run.js",
|
|
44
|
+
"prepublishOnly": "npm run build"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@daski/x402-scheme": "0.1.0",
|
|
48
|
+
"@modelcontextprotocol/sdk": "1.30.0",
|
|
49
|
+
"@x402/core": "2.24.0",
|
|
50
|
+
"viem": "2.21.55"
|
|
51
|
+
},
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public",
|
|
54
|
+
"provenance": true
|
|
55
|
+
},
|
|
56
|
+
"optionalDependencies": {
|
|
57
|
+
"@napi-rs/keyring": "2.0.0"
|
|
58
|
+
}
|
|
59
|
+
}
|