@daski/pay 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +18 -11
  2. package/dist/bin/daski.js +26 -11
  3. package/dist/bin/daski.js.map +1 -1
  4. package/dist/chain/reader.d.ts +92 -0
  5. package/dist/chain/reader.d.ts.map +1 -0
  6. package/dist/chain/reader.js +130 -0
  7. package/dist/chain/reader.js.map +1 -0
  8. package/dist/commands/approval.js +2 -2
  9. package/dist/commands/approval.js.map +1 -1
  10. package/dist/commands/buy.d.ts +0 -1
  11. package/dist/commands/buy.d.ts.map +1 -1
  12. package/dist/commands/buy.js +15 -22
  13. package/dist/commands/buy.js.map +1 -1
  14. package/dist/commands/confirmation.d.ts +322 -4
  15. package/dist/commands/confirmation.d.ts.map +1 -1
  16. package/dist/commands/confirmation.js +771 -60
  17. package/dist/commands/confirmation.js.map +1 -1
  18. package/dist/commands/doctor.d.ts +20 -0
  19. package/dist/commands/doctor.d.ts.map +1 -1
  20. package/dist/commands/doctor.js +204 -59
  21. package/dist/commands/doctor.js.map +1 -1
  22. package/dist/commands/order.d.ts +37 -6
  23. package/dist/commands/order.d.ts.map +1 -1
  24. package/dist/commands/order.js +181 -103
  25. package/dist/commands/order.js.map +1 -1
  26. package/dist/commands/signPayment.d.ts.map +1 -1
  27. package/dist/commands/signPayment.js +8 -3
  28. package/dist/commands/signPayment.js.map +1 -1
  29. package/dist/commands/wallet.d.ts +3 -0
  30. package/dist/commands/wallet.d.ts.map +1 -1
  31. package/dist/commands/wallet.js +72 -16
  32. package/dist/commands/wallet.js.map +1 -1
  33. package/dist/config.d.ts +10 -2
  34. package/dist/config.d.ts.map +1 -1
  35. package/dist/config.js +41 -1
  36. package/dist/config.js.map +1 -1
  37. package/dist/context.d.ts +28 -3
  38. package/dist/context.d.ts.map +1 -1
  39. package/dist/context.js +72 -3
  40. package/dist/context.js.map +1 -1
  41. package/dist/gateway/client.d.ts +20 -17
  42. package/dist/gateway/client.d.ts.map +1 -1
  43. package/dist/gateway/client.js +62 -43
  44. package/dist/gateway/client.js.map +1 -1
  45. package/dist/gateway/lifecycle.d.ts +4 -1
  46. package/dist/gateway/lifecycle.d.ts.map +1 -1
  47. package/dist/gateway/lifecycle.js +10 -5
  48. package/dist/gateway/lifecycle.js.map +1 -1
  49. package/dist/gateway/metadata.d.ts +66 -0
  50. package/dist/gateway/metadata.d.ts.map +1 -0
  51. package/dist/gateway/metadata.js +152 -0
  52. package/dist/gateway/metadata.js.map +1 -0
  53. package/dist/gateway/purchase.d.ts +51 -67
  54. package/dist/gateway/purchase.d.ts.map +1 -1
  55. package/dist/gateway/purchase.js +153 -125
  56. package/dist/gateway/purchase.js.map +1 -1
  57. package/dist/host.d.ts +41 -0
  58. package/dist/host.d.ts.map +1 -0
  59. package/dist/host.js +112 -0
  60. package/dist/host.js.map +1 -0
  61. package/dist/index.d.ts +12 -6
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +10 -4
  64. package/dist/index.js.map +1 -1
  65. package/dist/signers/circleAgent.d.ts +37 -0
  66. package/dist/signers/circleAgent.d.ts.map +1 -0
  67. package/dist/signers/circleAgent.js +244 -0
  68. package/dist/signers/circleAgent.js.map +1 -0
  69. package/dist/signers/contract.d.ts +34 -0
  70. package/dist/signers/contract.d.ts.map +1 -0
  71. package/dist/signers/contract.js +47 -0
  72. package/dist/signers/contract.js.map +1 -0
  73. package/dist/signers/index.d.ts +16 -7
  74. package/dist/signers/index.d.ts.map +1 -1
  75. package/dist/signers/index.js +7 -3
  76. package/dist/signers/index.js.map +1 -1
  77. package/dist/signers/local.d.ts +5 -1
  78. package/dist/signers/local.d.ts.map +1 -1
  79. package/dist/signers/local.js +16 -3
  80. package/dist/signers/local.js.map +1 -1
  81. package/dist/signers/selfTest.d.ts +32 -12
  82. package/dist/signers/selfTest.d.ts.map +1 -1
  83. package/dist/signers/selfTest.js +85 -12
  84. package/dist/signers/selfTest.js.map +1 -1
  85. package/dist/signers/signature.d.ts +10 -0
  86. package/dist/signers/signature.d.ts.map +1 -0
  87. package/dist/signers/signature.js +11 -0
  88. package/dist/signers/signature.js.map +1 -0
  89. package/dist/store/keystore.d.ts +48 -6
  90. package/dist/store/keystore.d.ts.map +1 -1
  91. package/dist/store/keystore.js +414 -110
  92. package/dist/store/keystore.js.map +1 -1
  93. package/dist/store/lock.d.ts +59 -0
  94. package/dist/store/lock.d.ts.map +1 -0
  95. package/dist/store/lock.js +269 -0
  96. package/dist/store/lock.js.map +1 -0
  97. package/dist/store/orders.d.ts +49 -9
  98. package/dist/store/orders.d.ts.map +1 -1
  99. package/dist/store/orders.js +173 -37
  100. package/dist/store/orders.js.map +1 -1
  101. package/package.json +2 -2
@@ -1,17 +1,66 @@
1
- /** Wallet creation requires setup authorization and preserves existing profile keys. */
1
+ /**
2
+ * `daski wallet` — create a local key, or read the active payer.
3
+ *
4
+ * Creation is refused unless every fact lines up: the signer kind is `local`
5
+ * (hosted wallets are created with the vendor's tool), the host is not
6
+ * declared ephemeral, the key backend is one that holds a local key, the
7
+ * platform supports that backend, no key exists yet, and a human approved
8
+ * the step. Existing profile keys are never overwritten.
9
+ */
2
10
  import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
3
11
  import { getAddress } from "viem";
4
12
  import { CliError } from "../cli/errors.js";
5
13
  import { confirmPhrase, isInteractive } from "../cli/prompt.js";
6
- import { loadConfig } from "../config.js";
14
+ import { loadConfig, SIGNER_KINDS } from "../config.js";
7
15
  import { readBalances } from "../gateway/balance.js";
8
- import { hasKey, locateKey, storeKey } from "../store/keystore.js";
16
+ import { HOSTED_BACKENDS, keyBackendFor, resolveHost, } from "../host.js";
9
17
  import { createSigner } from "../signers/index.js";
18
+ import { localKeyStore } from "../signers/local.js";
19
+ import { hasKey, keychainUnsupportedOnLinux, localKeyRefusedOnHost, locateKey, storeKey, } from "../store/keystore.js";
20
+ const DOC = "https://github.com/daski-io/buyer/blob/main/docs/keys.md";
10
21
  const CREATE_PHRASE = "create a new key";
22
+ function signerKindOf(options, configured) {
23
+ const kind = (options.signerOverride ?? configured);
24
+ if (!SIGNER_KINDS.includes(kind)) {
25
+ throw new CliError({
26
+ code: "DASKI_SIGNER_UNKNOWN",
27
+ message: `Unknown signer "${kind}".`,
28
+ remediation: `Use one of: ${SIGNER_KINDS.join(", ")}.`,
29
+ });
30
+ }
31
+ return kind;
32
+ }
11
33
  export async function createWallet(options) {
12
34
  const loaded = loadConfig(options.profile);
13
35
  const profileName = loaded.profileName;
14
- if (await hasKey(profileName)) {
36
+ const host = options.host ?? resolveHost();
37
+ const signerKind = signerKindOf(options, loaded.profile.signer);
38
+ if (signerKind !== "local") {
39
+ throw new CliError({
40
+ code: "DASKI_WALLET_CREATE_LOCAL_ONLY",
41
+ message: `daski wallet create generates local keys only; the "${signerKind}" signer holds its ` +
42
+ "wallet with the vendor.",
43
+ remediation: `Set up the hosted wallet with the vendor's tool, then run daski doctor --json --signer ` +
44
+ `${signerKind}. To keep a local key instead, pass --signer local. See ${DOC}`,
45
+ });
46
+ }
47
+ if (host.hostClass === "ephemeral") {
48
+ throw new CliError({
49
+ code: "DASKI_LOCAL_KEY_REFUSED_ON_HOST",
50
+ message: "This host is declared ephemeral (DASKI_HOST_CLASS=ephemeral); a local key created here " +
51
+ "would be lost with the host.",
52
+ remediation: "Use the Circle agent wallet: set DASKI_KEY_BACKEND=circle-agent, set the profile signer " +
53
+ "to circle-agent, and follow the gateway's setup skill. Only a durable machine " +
54
+ `(DASKI_HOST_CLASS=durable) may hold a local key. See ${DOC}`,
55
+ });
56
+ }
57
+ const backend = keyBackendFor(host, "local");
58
+ if (HOSTED_BACKENDS.has(backend))
59
+ throw localKeyRefusedOnHost(profileName, backend);
60
+ if (backend === "keychain" && host.platform === "linux")
61
+ throw keychainUnsupportedOnLinux(profileName);
62
+ const store = localKeyStore(host);
63
+ if (await hasKey(profileName, store)) {
15
64
  throw new CliError({
16
65
  code: "DASKI_KEY_ALREADY_EXISTS",
17
66
  message: `A signing key already exists for the "${profileName}" profile.`,
@@ -42,7 +91,7 @@ export async function createWallet(options) {
42
91
  }
43
92
  const privateKey = generatePrivateKey();
44
93
  const account = privateKeyToAccount(privateKey);
45
- const location = await storeKey(profileName, privateKey);
94
+ const location = await storeKey(profileName, privateKey, store);
46
95
  // The address is public; the key is not, and does not appear here or anywhere.
47
96
  return {
48
97
  created: true,
@@ -50,34 +99,41 @@ export async function createWallet(options) {
50
99
  address: account.address,
51
100
  network: loaded.profile.network,
52
101
  storedIn: location.description,
102
+ keyBackend: backend,
103
+ keyDurability: location.durability,
104
+ hostClass: host.hostClass,
53
105
  keyMaterial: "never printed, never logged, never sent to the gateway",
54
106
  };
55
107
  }
56
- export async function walletAddress(options) {
108
+ async function activeSigner(options) {
57
109
  const loaded = loadConfig(options.profile);
110
+ const host = options.host ?? resolveHost();
111
+ const kind = signerKindOf(options, loaded.profile.signer);
58
112
  const signer = await createSigner({
59
- kind: options.signerOverride ?? loaded.profile.signer,
113
+ kind,
60
114
  profile: loaded.profileName,
115
+ host,
116
+ chainId: loaded.profile.chainId,
61
117
  cdpAccount: options.cdpAccount,
62
118
  circleWallet: options.circleWallet,
63
119
  });
64
- const location = await locateKey(loaded.profileName);
120
+ const location = kind === "local" ? await locateKey(loaded.profileName, localKeyStore(host)) : undefined;
121
+ return { loaded, signer, location };
122
+ }
123
+ export async function walletAddress(options) {
124
+ const { loaded, signer, location } = await activeSigner(options);
65
125
  return {
66
126
  profile: loaded.profileName,
67
127
  network: loaded.profile.network,
68
128
  address: await signer.getAddress(),
69
129
  signer: signer.describe().provider,
70
- keySource: location?.source ?? "unknown",
130
+ accountType: signer.describe().accountType,
131
+ keySource: location?.source ?? "none",
132
+ keyDurability: location?.durability ?? "none",
71
133
  };
72
134
  }
73
135
  export async function walletBalance(options) {
74
- const loaded = loadConfig(options.profile);
75
- const signer = await createSigner({
76
- kind: options.signerOverride ?? loaded.profile.signer,
77
- profile: loaded.profileName,
78
- cdpAccount: options.cdpAccount,
79
- circleWallet: options.circleWallet,
80
- });
136
+ const { loaded, signer } = await activeSigner(options);
81
137
  const address = getAddress(await signer.getAddress());
82
138
  const balances = await readBalances({
83
139
  rpcUrl: loaded.profile.rpcUrl,
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Address } from "viem";
2
2
  export type ProfileName = "sandbox" | "mainnet" | (string & {});
3
- export type SignerKind = "local" | "cdp" | "circle";
3
+ export type SignerKind = "local" | "circle-agent" | "cdp" | "circle";
4
+ export declare const SIGNER_KINDS: readonly SignerKind[];
4
5
  export interface ProfileConfig {
5
6
  /** Gateway base URL; also the audience for lifecycle signatures. */
6
7
  gatewayUrl: string;
@@ -9,8 +10,13 @@ export interface ProfileConfig {
9
10
  chainId: number;
10
11
  /** The only token this profile will ever sign a transfer of. */
11
12
  usdcAddress: Address;
12
- /** EVM RPC used for balance reads. Never for signing. */
13
+ /** EVM RPC used for reads only: balances, code, receipts, attestations. Never for sending. */
13
14
  rpcUrl: string;
15
+ /**
16
+ * The EAS contract delivery confirmations are attested through. Pinned per
17
+ * profile; the gateway's `confirmationSigning.eas` must equal it.
18
+ */
19
+ easAddress: Address;
14
20
  /** Optional budget for a single purchase; null means no additional budget. */
15
21
  maxPerOrderUsdc: string | null;
16
22
  /** Optional budget across the profile's recorded authorizations. */
@@ -30,6 +36,8 @@ export interface DaskiConfig {
30
36
  export declare const SANDBOX_USDC: `0x${string}`;
31
37
  /** Base mainnet USDC, for the scaffolded-but-disabled profile. */
32
38
  export declare const MAINNET_USDC: `0x${string}`;
39
+ /** The canonical EAS predeploy on Base and Base Sepolia. */
40
+ export declare const EAS_PREDEPLOY: `0x${string}`;
33
41
  export declare const DEFAULT_CONFIG: DaskiConfig;
34
42
  export interface LoadedConfig {
35
43
  config: DaskiConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAIhD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,WAAW,EAAE,OAAO,CAAC;IACrB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,2EAA2E;IAC3E,wBAAwB,EAAE,MAAM,CAAC;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IACf,cAAc,EAAE,WAAW,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;CAC9C;AAED,+DAA+D;AAC/D,eAAO,MAAM,YAAY,eAA2D,CAAC;AACrF,kEAAkE;AAClE,eAAO,MAAM,YAAY,eAA2D,CAAC;AAErF,eAAO,MAAM,cAAc,EAAE,WA8B5B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;IACvB,iEAAiE;IACjE,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,GAAG,+DAA+D,CAAC;AAEzE,6EAA6E;AAC7E,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,YAAY,CA0CjE;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAuBhE;AA0CD,sEAAsE;AACtE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACvF,aAAa,CA2Bf;AAMD,6EAA6E;AAC7E,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD;AAED,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;AAE7B,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwB1B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -4,11 +4,16 @@ import { mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
4
4
  import { dirname } from "node:path";
5
5
  import { getAddress } from "viem";
6
6
  import { CliError } from "./cli/errors.js";
7
- import { configPath, daskiHome } from "./paths.js";
7
+ import { configPath, daskiHome, keystorePath } from "./paths.js";
8
+ export const SIGNER_KINDS = ["local", "circle-agent", "cdp", "circle"];
8
9
  /** Base Sepolia USDC — the canonical sandbox token, pinned. */
9
10
  export const SANDBOX_USDC = getAddress("0x036CbD53842c5426634e7929541eC2318f3dCF7e");
10
11
  /** Base mainnet USDC, for the scaffolded-but-disabled profile. */
11
12
  export const MAINNET_USDC = getAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913");
13
+ /** The canonical EAS predeploy on Base and Base Sepolia. */
14
+ export const EAS_PREDEPLOY = getAddress("0x4200000000000000000000000000000000000021");
15
+ /** Chains whose profiles default `easAddress` to the predeploy. */
16
+ const EAS_PREDEPLOY_CHAINS = new Set([8453, 84532]);
12
17
  export const DEFAULT_CONFIG = {
13
18
  version: 2,
14
19
  defaultProfile: "sandbox",
@@ -19,6 +24,7 @@ export const DEFAULT_CONFIG = {
19
24
  chainId: 84532,
20
25
  usdcAddress: SANDBOX_USDC,
21
26
  rpcUrl: "https://sepolia.base.org",
27
+ easAddress: EAS_PREDEPLOY,
22
28
  maxPerOrderUsdc: null,
23
29
  sessionCapUsdc: null,
24
30
  requireApprovalAboveUsdc: "0.00",
@@ -32,6 +38,7 @@ export const DEFAULT_CONFIG = {
32
38
  chainId: 8453,
33
39
  usdcAddress: MAINNET_USDC,
34
40
  rpcUrl: "https://mainnet.base.org",
41
+ easAddress: EAS_PREDEPLOY,
35
42
  maxPerOrderUsdc: null,
36
43
  sessionCapUsdc: null,
37
44
  requireApprovalAboveUsdc: "0.00",
@@ -120,6 +127,25 @@ export function permissionWarnings(path) {
120
127
  // A missing target is not a permissions problem; other checks report it.
121
128
  }
122
129
  }
130
+ // The keystore's entries are encrypted, so another user reading the file
131
+ // gets ciphertext to attack offline rather than a key; still a posture worth
132
+ // naming, never a reason to block.
133
+ try {
134
+ const keystore = keystorePath();
135
+ const mode = statSync(keystore).mode;
136
+ if ((mode & 0o077) !== 0) {
137
+ warnings.push({
138
+ code: "DASKI_KEYSTORE_NOT_PRIVATE",
139
+ message: `The keystore file ${keystore} is readable or writable by other users ` +
140
+ `(mode ${(mode & 0o777).toString(8)}); its entries are encrypted, but the ciphertext should ` +
141
+ "not be exposed.",
142
+ remediation: `Run: chmod 600 ${keystore}`,
143
+ });
144
+ }
145
+ }
146
+ catch {
147
+ // No keystore file: nothing to check.
148
+ }
123
149
  return warnings;
124
150
  }
125
151
  function assertProfileSane(name, profile, path) {
@@ -160,6 +186,20 @@ function assertProfileSane(name, profile, path) {
160
186
  remediation: `Use an https:// gateway URL in ${path}. See ${DOC}`,
161
187
  });
162
188
  }
189
+ if (profile.easAddress === undefined && EAS_PREDEPLOY_CHAINS.has(profile.chainId)) {
190
+ profile.easAddress = EAS_PREDEPLOY;
191
+ }
192
+ try {
193
+ profile.easAddress = getAddress(profile.easAddress);
194
+ }
195
+ catch {
196
+ throw new CliError({
197
+ code: "DASKI_PROFILE_EAS_MALFORMED",
198
+ message: `Profile "${name}" has no usable easAddress: ${String(profile.easAddress)}`,
199
+ remediation: `Set easAddress to the EAS contract for chain ${profile.chainId} in ${path} ` +
200
+ `(Base and Base Sepolia default to ${EAS_PREDEPLOY}). See ${DOC}`,
201
+ });
202
+ }
163
203
  }
164
204
  /** Apply a temporary budget within any existing configured budget. */
165
205
  export function applyCapOverrides(profile, overrides) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -1,16 +1,25 @@
1
1
  /**
2
- * The per-invocation context every command shares: profile, signer, gateway,
3
- * catalog, and the assembled PolicyConfig.
2
+ * The per-invocation context every command shares: profile, host, signer,
3
+ * gateway, catalog, chain reader, and the assembled PolicyConfig.
4
4
  *
5
5
  * The PolicyConfig is built here and nowhere else, so there is exactly one
6
6
  * place where caps, pins and the session ledger are wired together — and one
7
7
  * place to audit that none of them came from a challenge.
8
+ *
9
+ * A context bound to an order builds its signer lazily: a stored, unexpired
10
+ * read capability serves a read without the key store being opened at all,
11
+ * and the signer is constructed on the first signature. The order's recorded
12
+ * payer stands in for the address until then and is checked against the
13
+ * signer the moment it exists.
8
14
  */
9
15
  import type { PolicyConfig, SignerAdapter } from "@daski/x402-scheme";
10
16
  import { type Address } from "viem";
17
+ import { type ChainReader, type FinalityTag } from "./chain/reader.js";
11
18
  import { type LoadedConfig, type ProfileConfig } from "./config.js";
12
19
  import { Catalog } from "./gateway/catalog.js";
13
20
  import { GatewayClient, type GatewayCallLog } from "./gateway/client.js";
21
+ import { type GatewayMetadata } from "./gateway/metadata.js";
22
+ import { type HostEnvironment } from "./host.js";
14
23
  export interface ContextOptions {
15
24
  profile?: string | undefined;
16
25
  /** Lowering only; see §4.2. */
@@ -20,17 +29,33 @@ export interface ContextOptions {
20
29
  cdpAccount?: string | undefined;
21
30
  circleWallet?: string | undefined;
22
31
  onCall?: ((entry: GatewayCallLog) => void) | undefined;
32
+ /** The resolved host; defaults to this process's environment and platform. */
33
+ host?: HostEnvironment | undefined;
34
+ /** A chain reader factory; defaults to the profile RPC. Injectable for tests. */
35
+ chain?: ((rpcUrl: string, finalityTag: FinalityTag) => ChainReader) | undefined;
36
+ /** A well-known document reader; defaults to fetching it. Injectable for tests. */
37
+ metadata?: ((gatewayUrl: string) => Promise<GatewayMetadata>) | undefined;
23
38
  }
24
39
  export interface CommandContext {
25
40
  loaded: LoadedConfig;
26
41
  profileName: string;
27
42
  profile: ProfileConfig;
43
+ host: HostEnvironment;
28
44
  client: GatewayClient;
29
45
  catalog: Catalog;
30
46
  signer: SignerAdapter;
31
47
  payerAddress: Address;
32
48
  policy: PolicyConfig;
49
+ chain: ChainReader;
50
+ /** The gateway's well-known document, read once. */
51
+ metadata(): Promise<GatewayMetadata>;
52
+ /** The real adapter, building it if the context is order-bound and it has not been needed yet. */
53
+ resolveSigner(): Promise<SignerAdapter>;
33
54
  close(): Promise<void>;
34
55
  }
35
- export declare function createContext(options: ContextOptions): Promise<CommandContext>;
56
+ /** Binds a context to an order: its payer is known before any signer exists. */
57
+ export interface OrderBinding {
58
+ expectedPayer: string;
59
+ }
60
+ export declare function createContext(options: ContextOptions, binding?: OrderBinding): Promise<CommandContext>;
36
61
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAChD,OAAO,EAAiC,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIzE,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACxD;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAiDpF"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAc,KAAK,OAAO,EAAY,MAAM,MAAM,CAAC;AAC1D,OAAO,EAAqC,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAiC,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAI9D,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACvD,8EAA8E;IAC9E,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,iFAAiF;IACjF,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,KAAK,WAAW,CAAC,GAAG,SAAS,CAAC;IAChF,mFAAmF;IACnF,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB,oDAAoD;IACpD,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,kGAAkG;IAClG,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,cAAc,CAAC,CA4EzB"}
package/dist/context.js CHANGED
@@ -1,11 +1,16 @@
1
1
  import { getAddress } from "viem";
2
+ import { createChainReader, finalityTagFor } from "./chain/reader.js";
3
+ import { CliError } from "./cli/errors.js";
2
4
  import { applyCapOverrides, loadConfig } from "./config.js";
3
5
  import { Catalog } from "./gateway/catalog.js";
4
6
  import { GatewayClient } from "./gateway/client.js";
7
+ import { readGatewayMetadata } from "./gateway/metadata.js";
8
+ import { resolveHost } from "./host.js";
5
9
  import { createSigner } from "./signers/index.js";
6
10
  import { authorizedTotalAtomic, findByIntent, isUnspent } from "./store/orders.js";
7
- export async function createContext(options) {
11
+ export async function createContext(options, binding) {
8
12
  const loaded = loadConfig(options.profile);
13
+ const host = options.host ?? resolveHost();
9
14
  const profile = applyCapOverrides(loaded.profile, {
10
15
  maxPerOrderUsdc: options.maxPerOrderUsdc,
11
16
  sessionCapUsdc: options.sessionCapUsdc,
@@ -15,13 +20,31 @@ export async function createContext(options) {
15
20
  ...(options.onCall ? { onCall: options.onCall } : {}),
16
21
  });
17
22
  const catalog = new Catalog(client);
18
- const signer = await createSigner({
23
+ const build = () => createSigner({
19
24
  kind: options.signerOverride ?? profile.signer,
20
25
  profile: loaded.profileName,
26
+ host,
27
+ chainId: profile.chainId,
21
28
  cdpAccount: options.cdpAccount,
22
29
  circleWallet: options.circleWallet,
23
30
  });
24
- const payerAddress = getAddress(await signer.getAddress());
31
+ let signer;
32
+ let payerAddress;
33
+ let resolveSigner;
34
+ if (binding) {
35
+ payerAddress = getAddress(binding.expectedPayer);
36
+ const lazy = lazySigner(build, payerAddress);
37
+ signer = lazy;
38
+ resolveSigner = lazy.resolve;
39
+ }
40
+ else {
41
+ const built = await build();
42
+ payerAddress = getAddress(await built.getAddress());
43
+ signer = built;
44
+ resolveSigner = async () => built;
45
+ }
46
+ const chain = (options.chain ?? createChainReader)(profile.rpcUrl, finalityTagFor(profile.chainId));
47
+ let metadata;
25
48
  const policy = {
26
49
  payerAddress,
27
50
  chainId: profile.chainId,
@@ -43,12 +66,58 @@ export async function createContext(options) {
43
66
  loaded,
44
67
  profileName: loaded.profileName,
45
68
  profile,
69
+ host,
46
70
  client,
47
71
  catalog,
48
72
  signer,
49
73
  payerAddress,
50
74
  policy,
75
+ chain,
76
+ metadata: () => {
77
+ metadata ??= (options.metadata ?? readGatewayMetadata)(profile.gatewayUrl);
78
+ return metadata;
79
+ },
80
+ resolveSigner,
51
81
  close: () => client.close(),
52
82
  };
53
83
  }
84
+ /**
85
+ * A signer that is built on first use and must report the payer the order
86
+ * was placed with. Its description is available only once it exists;
87
+ * commands that need the account type call `resolveSigner()` first.
88
+ */
89
+ function lazySigner(build, expectedPayer) {
90
+ let pending;
91
+ let resolved;
92
+ const resolve = () => {
93
+ pending ??= build().then(async (adapter) => {
94
+ const actual = getAddress(await adapter.getAddress());
95
+ if (actual !== expectedPayer) {
96
+ throw new CliError({
97
+ code: "DASKI_ORDER_PAYER_MISMATCH",
98
+ message: `The active signer (${actual}) differs from this order's payer (${expectedPayer}).`,
99
+ remediation: "Select the profile or --signer that placed this order.",
100
+ });
101
+ }
102
+ resolved = adapter;
103
+ return adapter;
104
+ });
105
+ return pending;
106
+ };
107
+ return {
108
+ resolve,
109
+ getAddress: async () => (await resolve()).getAddress(),
110
+ signTypedData: async (payload) => (await resolve()).signTypedData(payload),
111
+ describe: () => {
112
+ if (!resolved) {
113
+ throw new CliError({
114
+ code: "DASKI_SIGNER_NOT_RESOLVED",
115
+ message: "The signer has not been built yet, so it cannot describe itself.",
116
+ remediation: "This is a defect in the calling command: it must resolve the signer first.",
117
+ });
118
+ }
119
+ return resolved.describe();
120
+ },
121
+ };
122
+ }
54
123
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAyC,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAyBnF,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAuB;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE;QAChD,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;QAChC,IAAI,EAAG,OAAO,CAAC,cAAsD,IAAI,OAAO,CAAC,MAAM;QACvF,OAAO,EAAE,MAAM,CAAC,WAAW;QAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IAE3D,MAAM,MAAM,GAAiB;QAC3B,YAAY;QACZ,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/C,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,eAAe,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,CAC9C,OAAO,CAAC,gBAAgB,CAAC,eAAe,EAAE,SAAS,CAAC;QACtD,OAAO,EAAE;YACP,wEAAwE;YACxE,0CAA0C;YAC1C,WAAW,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5D,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE;gBAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxD,CAAC;SACF;KACF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO;QACP,MAAM;QACN,OAAO;QACP,MAAM;QACN,YAAY;QACZ,MAAM;QACN,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;KAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -78,10 +78,11 @@ export declare class GatewayClient {
78
78
  */
79
79
  static json(result: McpToolResult): Record<string, unknown> | undefined;
80
80
  /**
81
- * The x402 challenge in a tool result. Three places, in order: the x402 MCP
82
- * transport's `_meta["x402/payment-required"]`; the prepare tool's body,
83
- * which nests the challenge under `paymentRequired` beside its `preflight`;
84
- * and a bare PaymentRequired body, which the unpaid buy call returns.
81
+ * The x402 challenge in a tool result. Two places, in order: the x402 MCP
82
+ * transport's `_meta["x402/payment-required"]`, and the prepare tool's
83
+ * body, which nests the challenge under `paymentRequired` beside its
84
+ * `preflight`. A bare PaymentRequired body is not a challenge this CLI
85
+ * reads: only the prepare tool issues challenges.
85
86
  */
86
87
  static challenge(result: McpToolResult): PaymentChallenge | undefined;
87
88
  /** The prepare tool's `preflight` block, when the result carries one. */
@@ -105,6 +106,13 @@ export declare function describeResult(result: McpToolResult): Record<string, un
105
106
  export declare function unreadableResultError(toolName: string, result: McpToolResult, options?: {
106
107
  afterSubmit?: boolean | undefined;
107
108
  }): CliError;
109
+ /**
110
+ * A gateway that does not advertise a tool every purchase or order read goes
111
+ * through. This release negotiates nothing: the prepare tool issues every
112
+ * challenge and grant-read serves every read, so their absence is not a
113
+ * gateway to read around but one this CLI does not support.
114
+ */
115
+ export declare function gatewayUnsupported(gatewayUrl: string, tool: string): CliError;
108
116
  export interface GatewayProtocolProbe {
109
117
  reachable: boolean;
110
118
  tools: string[];
@@ -126,19 +134,6 @@ export interface ProbeTarget {
126
134
  * could not complete a single call.
127
135
  */
128
136
  export declare function probeGatewayProtocol(target: ProbeTarget): Promise<GatewayProtocolProbe>;
129
- /** The buyer CLI release a gateway pins, from its `/.well-known/mcp.json`. */
130
- export interface PinnedBuyerCli {
131
- package: string;
132
- version: string;
133
- install?: string | undefined;
134
- }
135
- /**
136
- * Reads the gateway's pinned buyer CLI. Gateways before 2026-09-04 publish no
137
- * `buyerCli`; that reads as `null`, never as an error, because the pin is
138
- * advisory to the gateway's own operation and the doctor must not block on a
139
- * field the gateway does not have.
140
- */
141
- export declare function pinnedBuyerCli(gatewayUrl: string, timeoutMs?: number): Promise<PinnedBuyerCli | null>;
142
137
  /**
143
138
  * Compares two `major.minor.patch` versions. Returns a negative number when
144
139
  * `installed` is older than `pinned`, zero when equal, positive when newer,
@@ -153,4 +148,12 @@ export declare function readiness(gatewayUrl: string, timeoutMs?: number): Promi
153
148
  version?: string | undefined;
154
149
  error?: string | undefined;
155
150
  }>;
151
+ /** Gateway refusals after which the same request may simply be retried. */
152
+ export declare function isRetryableGatewayCode(code: string | undefined): boolean;
153
+ /**
154
+ * Remediations for gateway refusals whose next step is a flag of this CLI.
155
+ * The gateway's own `next_action` speaks in tool terms; these speak in
156
+ * command terms, and win when the code is one the CLI knows how to act on.
157
+ */
158
+ export declare function gatewayRefusalRemediation(code: string | undefined, body: Record<string, unknown> | undefined): string | undefined;
156
159
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/gateway/client.ts"],"names":[],"mappings":"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"}