@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 +1 @@
1
- {"version":3,"file":"purchase.js","sourceRoot":"","sources":["../../src/gateway/purchase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purchase.js","sourceRoot":"","sources":["../../src/gateway/purchase.ts"],"names":[],"mappings":"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"}
package/dist/host.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ import { CliError } from "./cli/errors.js";
2
+ import type { SignerKind } from "./config.js";
3
+ export type HostClass = "durable" | "ephemeral" | "undeclared";
4
+ export type KeyBackend = "keychain" | "file" | "circle-agent" | "cdp" | "none";
5
+ export type KeyDurability = "persistent" | "encrypted-file" | "session-memory" | "environment" | "none";
6
+ export declare const KEY_BACKENDS: readonly KeyBackend[];
7
+ /** Backends under which no local key exists: the wallet is somewhere else, or nowhere. */
8
+ export declare const HOSTED_BACKENDS: ReadonlySet<KeyBackend>;
9
+ export interface HostEnvironment {
10
+ platform: NodeJS.Platform;
11
+ hostClass: HostClass;
12
+ /** The backend `DASKI_KEY_BACKEND` names, or undefined when it is unset. */
13
+ declaredBackend: KeyBackend | undefined;
14
+ /** `DASKI_KEYSTORE_PASSPHRASE_FILE`, when set. */
15
+ passphraseFile: string | undefined;
16
+ /** The kernel key listing the Linux legacy detector reads. */
17
+ procKeysPath: string;
18
+ }
19
+ /** Resolves the host facts from an environment and platform, refusing unknown values. */
20
+ export declare function resolveHost(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): HostEnvironment;
21
+ /**
22
+ * The backend a signer kind uses on this host. An explicit declaration wins;
23
+ * otherwise a local key goes to the platform store that is persistent by
24
+ * construction (the OS keychain on macOS and Windows, the encrypted file on
25
+ * Linux), and a hosted signer names itself.
26
+ */
27
+ export declare function keyBackendFor(host: HostEnvironment, signer: SignerKind): KeyBackend;
28
+ /** The account name the 0.3.x keyring wrapper registered, namespaced per profile. */
29
+ export declare function legacyKeyringDescription(profile: string): string;
30
+ /**
31
+ * Detects a key the 0.3.x CLI stored through `@napi-rs/keyring` on a Linux
32
+ * host without a Secret Service, where the wrapper silently fell back to the
33
+ * kernel session keyring. The entry lives only until the login session ends.
34
+ *
35
+ * This is a detector and nothing more: it reads `/proc/keys`, never the
36
+ * keyring itself, and the key it finds is never loaded.
37
+ */
38
+ export declare function detectLegacyKeyringEntry(host: HostEnvironment, profile: string): boolean;
39
+ /** The refusal every paid path raises for a key that lives in session memory. */
40
+ export declare function keyNotDurable(profile: string): CliError;
41
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;AAC/D,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,aAAa,GAAG,MAAM,CAAC;AAGxG,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAAwD,CAAC;AACvG,0FAA0F;AAC1F,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,UAAU,CAAwD,CAAC;AAE7G,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,4EAA4E;IAC5E,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC,kDAAkD;IAClD,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,8DAA8D;IAC9D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,yFAAyF;AACzF,wBAAgB,WAAW,CACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,eAAe,CAgCjB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAYnF;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAUxF;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAYvD"}
package/dist/host.js ADDED
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Where this CLI runs, and where a local key may live.
3
+ *
4
+ * Two declarations come from the environment and are reported by `doctor` as
5
+ * separate facts: the host class (`DASKI_HOST_CLASS`) and the key backend
6
+ * (`DASKI_KEY_BACKEND`). Neither is inferred from the other, and neither can
7
+ * override the paid-use gate on a key found in session-only storage: a
8
+ * declaration says what the operator believes, the backend says what the
9
+ * store guarantees by construction, and only the second decides durability.
10
+ *
11
+ * Everything here is resolved once per command from an explicit environment
12
+ * and platform, so tests can describe a Linux host with a legacy keyring entry
13
+ * without touching the real machine.
14
+ */
15
+ import { readFileSync } from "node:fs";
16
+ import { CliError } from "./cli/errors.js";
17
+ const DOC = "https://github.com/daski-io/buyer/blob/main/docs/keys.md";
18
+ const HOST_CLASSES = ["durable", "ephemeral"];
19
+ export const KEY_BACKENDS = ["keychain", "file", "circle-agent", "cdp", "none"];
20
+ /** Backends under which no local key exists: the wallet is somewhere else, or nowhere. */
21
+ export const HOSTED_BACKENDS = new Set(["circle-agent", "cdp", "none"]);
22
+ /** Resolves the host facts from an environment and platform, refusing unknown values. */
23
+ export function resolveHost(env = process.env, platform = process.platform) {
24
+ const declaredClass = env.DASKI_HOST_CLASS;
25
+ let hostClass = "undeclared";
26
+ if (declaredClass !== undefined && declaredClass !== "") {
27
+ if (!HOST_CLASSES.includes(declaredClass)) {
28
+ throw new CliError({
29
+ code: "DASKI_HOST_CLASS_INVALID",
30
+ message: `DASKI_HOST_CLASS is "${declaredClass}"; it must be durable or ephemeral.`,
31
+ remediation: "Set DASKI_HOST_CLASS=durable on the user's own machine, or " +
32
+ `DASKI_HOST_CLASS=ephemeral on an agent-managed, shared, or resettable host. See ${DOC}`,
33
+ });
34
+ }
35
+ hostClass = declaredClass;
36
+ }
37
+ const declaredBackend = env.DASKI_KEY_BACKEND;
38
+ if (declaredBackend !== undefined && declaredBackend !== "" &&
39
+ !KEY_BACKENDS.includes(declaredBackend)) {
40
+ throw new CliError({
41
+ code: "DASKI_KEY_BACKEND_INVALID",
42
+ message: `DASKI_KEY_BACKEND is "${declaredBackend}"; it must be one of ${KEY_BACKENDS.join(", ")}.`,
43
+ remediation: `Set DASKI_KEY_BACKEND=file for an encrypted local key, or name the hosted wallet. See ${DOC}`,
44
+ });
45
+ }
46
+ const passphraseFile = env.DASKI_KEYSTORE_PASSPHRASE_FILE;
47
+ return {
48
+ platform,
49
+ hostClass,
50
+ declaredBackend: declaredBackend ? declaredBackend : undefined,
51
+ passphraseFile: passphraseFile ? passphraseFile : undefined,
52
+ procKeysPath: "/proc/keys",
53
+ };
54
+ }
55
+ /**
56
+ * The backend a signer kind uses on this host. An explicit declaration wins;
57
+ * otherwise a local key goes to the platform store that is persistent by
58
+ * construction (the OS keychain on macOS and Windows, the encrypted file on
59
+ * Linux), and a hosted signer names itself.
60
+ */
61
+ export function keyBackendFor(host, signer) {
62
+ if (host.declaredBackend)
63
+ return host.declaredBackend;
64
+ switch (signer) {
65
+ case "local":
66
+ return host.platform === "linux" ? "file" : "keychain";
67
+ case "circle-agent":
68
+ return "circle-agent";
69
+ case "cdp":
70
+ return "cdp";
71
+ default:
72
+ return "none";
73
+ }
74
+ }
75
+ /** The account name the 0.3.x keyring wrapper registered, namespaced per profile. */
76
+ export function legacyKeyringDescription(profile) {
77
+ return `keyring:payer:${profile}@io.daski.pay`;
78
+ }
79
+ /**
80
+ * Detects a key the 0.3.x CLI stored through `@napi-rs/keyring` on a Linux
81
+ * host without a Secret Service, where the wrapper silently fell back to the
82
+ * kernel session keyring. The entry lives only until the login session ends.
83
+ *
84
+ * This is a detector and nothing more: it reads `/proc/keys`, never the
85
+ * keyring itself, and the key it finds is never loaded.
86
+ */
87
+ export function detectLegacyKeyringEntry(host, profile) {
88
+ if (host.platform !== "linux")
89
+ return false;
90
+ let listing;
91
+ try {
92
+ listing = readFileSync(host.procKeysPath, "utf8");
93
+ }
94
+ catch {
95
+ return false;
96
+ }
97
+ const description = legacyKeyringDescription(profile);
98
+ return listing.split("\n").some((line) => line.includes(description));
99
+ }
100
+ /** The refusal every paid path raises for a key that lives in session memory. */
101
+ export function keyNotDurable(profile) {
102
+ return new CliError({
103
+ code: "DASKI_KEY_NOT_DURABLE",
104
+ message: `The "${profile}" key was stored by an earlier release in the Linux kernel session ` +
105
+ "keyring, which does not survive the login session. It is not used.",
106
+ remediation: "Create a new wallet with the encrypted file backend: " +
107
+ `DASKI_KEY_BACKEND=file daski wallet create --profile ${profile}. There is no migration ` +
108
+ "command; sandbox funds only exist before mainnet. The session entry disappears when " +
109
+ `the login session ends. See ${DOC}`,
110
+ });
111
+ }
112
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,MAAM,GAAG,GAAG,0DAA0D,CAAC;AAMvE,MAAM,YAAY,GAAyB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AACvG,0FAA0F;AAC1F,MAAM,CAAC,MAAM,eAAe,GAA4B,IAAI,GAAG,CAAa,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAa7G,yFAAyF;AACzF,MAAM,UAAU,WAAW,CACzB,MAAyB,OAAO,CAAC,GAAG,EACpC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC;IAC3C,IAAI,SAAS,GAAc,YAAY,CAAC;IACxC,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAA0B,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,QAAQ,CAAC;gBACjB,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,wBAAwB,aAAa,qCAAqC;gBACnF,WAAW,EACT,6DAA6D;oBAC7D,mFAAmF,GAAG,EAAE;aAC3F,CAAC,CAAC;QACL,CAAC;QACD,SAAS,GAAG,aAA0B,CAAC;IACzC,CAAC;IACD,MAAM,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,KAAK,EAAE;QACvD,CAAC,YAAY,CAAC,QAAQ,CAAC,eAA6B,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,QAAQ,CAAC;YACjB,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,yBAAyB,eAAe,wBAAwB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACnG,WAAW,EAAE,yFAAyF,GAAG,EAAE;SAC5G,CAAC,CAAC;IACL,CAAC;IACD,MAAM,cAAc,GAAG,GAAG,CAAC,8BAA8B,CAAC;IAC1D,OAAO;QACL,QAAQ;QACR,SAAS;QACT,eAAe,EAAE,eAAe,CAAC,CAAC,CAAE,eAA8B,CAAC,CAAC,CAAC,SAAS;QAC9E,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;QAC3D,YAAY,EAAE,YAAY;KAC3B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAqB,EAAE,MAAkB;IACrE,IAAI,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC,eAAe,CAAC;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QACzD,KAAK,cAAc;YACjB,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,KAAK,CAAC;QACf;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,iBAAiB,OAAO,eAAe,CAAC;AACjD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAqB,EAAE,OAAe;IAC7E,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAI,QAAQ,CAAC;QAClB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EACL,QAAQ,OAAO,qEAAqE;YACpF,oEAAoE;QACtE,WAAW,EACT,uDAAuD;YACvD,wDAAwD,OAAO,0BAA0B;YACzF,sFAAsF;YACtF,+BAA+B,GAAG,EAAE;KACvC,CAAC,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,20 +7,26 @@
7
7
  */
8
8
  export { runBuy, type BuyOptions } from "./commands/buy.js";
9
9
  export { runDoctor, type DoctorIssue, type DoctorOptions, type DoctorReport } from "./commands/doctor.js";
10
- export { orderArtifact, orderCancel, orderConfirm, orderInput, orderStatus, orderReconcile, type OrderArtifactOptions, type OrderInputOptions, type OrderOptions, } from "./commands/order.js";
10
+ export { orderArtifact, orderCancel, orderConfirm, orderImport, orderInput, orderStatus, orderReconcile, type OrderArtifactOptions, type OrderImportOptions, type OrderInputOptions, type OrderOptions, } from "./commands/order.js";
11
+ export { selectConfirmationMode, validateConfirmationPreparation, validateDirectCall, type ConfirmationFacts, type ConfirmationMode, type ConfirmationOptions, type DirectCall, } from "./commands/confirmation.js";
11
12
  export { runSignPayment, type SignPaymentOptions } from "./commands/signPayment.js";
12
13
  export { createWallet, walletAddress, walletBalance, type WalletOptions } from "./commands/wallet.js";
13
14
  export { CliError, type CliErrorOptions } from "./cli/errors.js";
14
15
  export { redactText, redactValue } from "./cli/redact.js";
15
16
  export { applyCapOverrides, atomicUsdc, configureBudgets, ensureConfig, loadConfig, permissionWarnings, type DaskiConfig, type LoadedConfig, type ProfileConfig, type SignerKind, } from "./config.js";
16
- export { createContext, type CommandContext, type ContextOptions } from "./context.js";
17
+ export { createContext, type CommandContext, type ContextOptions, type OrderBinding } from "./context.js";
18
+ export { detectLegacyKeyringEntry, keyBackendFor, resolveHost, type HostClass, type HostEnvironment, type KeyBackend, type KeyDurability, } from "./host.js";
19
+ export { createChainReader, finalityTagFor, type ChainReader, type FinalityTag } from "./chain/reader.js";
17
20
  export { Catalog, CATALOG_TTL_SECONDS, type OutcomeSummary } from "./gateway/catalog.js";
18
21
  export { GatewayClient, readiness, type GatewayCallLog, type PaymentChallenge, type PaymentRequirement, type PaymentSubmission, } from "./gateway/client.js";
19
22
  export { callAuthorizedLifecycleTool, callWalletQuery } from "./gateway/lifecycle.js";
20
- export { authorizePayment, listPayerOrders, newIntentId, reconcileAmbiguousPurchase, reconcileByIdentifier, recordIntent, requestChallenge, submitPayment, type AuthorizedPayment, type ChallengeResult, type ReconcileOutcome, } from "./gateway/purchase.js";
23
+ export { parseGatewayMetadata, pinnedBuyerCli, readGatewayMetadata, type GatewayMetadata, type PinnedBuyerCli, } from "./gateway/metadata.js";
24
+ export { authorizePayment, listPayerOrders, localOrderState, readPayerOrderRows, readSettlement, reconcileByIdentifier, recordIntent, requestChallenge, submitPayment, type AuthorizedPayment, type ChallengeResult, type PayerOrderRow, type SettlementReading, } from "./gateway/purchase.js";
21
25
  export { createSigner, type SignerSelection } from "./signers/index.js";
22
- export { runSignerSelfTest, selfTestVector, type SignerSelfTestResult } from "./signers/selfTest.js";
23
- export { activeReadCapability, authorizedTotalAtomic, findByIntent, findOrder, listOrders, updateOrder, upsertOrder, type OrderRecord, type OrderState, } from "./store/orders.js";
24
- export { hasKey, locateKey, type KeyLocation, type KeySource } from "./store/keystore.js";
26
+ export { createCircleAgentSigner, type CircleAgentSignerOptions } from "./signers/circleAgent.js";
27
+ export { assertContractSignerUsable, checkDeployment, type Deployment } from "./signers/contract.js";
28
+ export { runContractSignerSelfTest, runEoaSignerSelfTest, runSignerSelfTest, selfTestVector, type SignerSelfTestResult, } from "./signers/selfTest.js";
29
+ export { activeReadCapability, authorizedTotalAtomic, findByIntent, findOrder, listOrders, updateOrder, upsertOrder, type ConfirmationTxRecord, type ConfirmationTxState, type OrderRecord, type OrderState, } from "./store/orders.js";
30
+ export { hasKey, locateKey, type KeyLocation, type KeySource, type KeyStoreSelection, } from "./store/keystore.js";
25
31
  export { CLI_VERSION } from "./version.js";
26
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EACjF,KAAK,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,GACrE,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAC7F,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,GACzE,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EACL,aAAa,EAAE,SAAS,EACxB,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,GAC5F,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,0BAA0B,EAAE,qBAAqB,EACjG,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAC7C,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,GACpE,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,GACxE,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,20 +7,26 @@
7
7
  */
8
8
  export { runBuy } from "./commands/buy.js";
9
9
  export { runDoctor } from "./commands/doctor.js";
10
- export { orderArtifact, orderCancel, orderConfirm, orderInput, orderStatus, orderReconcile, } from "./commands/order.js";
10
+ export { orderArtifact, orderCancel, orderConfirm, orderImport, orderInput, orderStatus, orderReconcile, } from "./commands/order.js";
11
+ export { selectConfirmationMode, validateConfirmationPreparation, validateDirectCall, } from "./commands/confirmation.js";
11
12
  export { runSignPayment } from "./commands/signPayment.js";
12
13
  export { createWallet, walletAddress, walletBalance } from "./commands/wallet.js";
13
14
  export { CliError } from "./cli/errors.js";
14
15
  export { redactText, redactValue } from "./cli/redact.js";
15
16
  export { applyCapOverrides, atomicUsdc, configureBudgets, ensureConfig, loadConfig, permissionWarnings, } from "./config.js";
16
17
  export { createContext } from "./context.js";
18
+ export { detectLegacyKeyringEntry, keyBackendFor, resolveHost, } from "./host.js";
19
+ export { createChainReader, finalityTagFor } from "./chain/reader.js";
17
20
  export { Catalog, CATALOG_TTL_SECONDS } from "./gateway/catalog.js";
18
21
  export { GatewayClient, readiness, } from "./gateway/client.js";
19
22
  export { callAuthorizedLifecycleTool, callWalletQuery } from "./gateway/lifecycle.js";
20
- export { authorizePayment, listPayerOrders, newIntentId, reconcileAmbiguousPurchase, reconcileByIdentifier, recordIntent, requestChallenge, submitPayment, } from "./gateway/purchase.js";
23
+ export { parseGatewayMetadata, pinnedBuyerCli, readGatewayMetadata, } from "./gateway/metadata.js";
24
+ export { authorizePayment, listPayerOrders, localOrderState, readPayerOrderRows, readSettlement, reconcileByIdentifier, recordIntent, requestChallenge, submitPayment, } from "./gateway/purchase.js";
21
25
  export { createSigner } from "./signers/index.js";
22
- export { runSignerSelfTest, selfTestVector } from "./signers/selfTest.js";
26
+ export { createCircleAgentSigner } from "./signers/circleAgent.js";
27
+ export { assertContractSignerUsable, checkDeployment } from "./signers/contract.js";
28
+ export { runContractSignerSelfTest, runEoaSignerSelfTest, runSignerSelfTest, selfTestVector, } from "./signers/selfTest.js";
23
29
  export { activeReadCapability, authorizedTotalAtomic, findByIntent, findOrder, listOrders, updateOrder, upsertOrder, } from "./store/orders.js";
24
- export { hasKey, locateKey } from "./store/keystore.js";
30
+ export { hasKey, locateKey, } from "./store/keystore.js";
25
31
  export { CLI_VERSION } from "./version.js";
26
32
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAA2D,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,GAElF,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,cAAc,EAA2B,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAwB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,GAE9F,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAA4C,MAAM,cAAc,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AACzF,OAAO,EACL,aAAa,EAAE,SAAS,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,0BAA0B,EAAE,qBAAqB,EACjG,YAAY,EAAE,gBAAgB,EAAE,aAAa,GAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAA6B,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,WAAW,EAAE,WAAW,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAoC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAA2D,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EACL,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,GAE/F,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,sBAAsB,EAAE,+BAA+B,EAAE,kBAAkB,GAE5E,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAA2B,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAsB,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAE,QAAQ,EAAwB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,GAE9F,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAA+D,MAAM,cAAc,CAAC;AAC1G,OAAO,EACL,wBAAwB,EAAE,aAAa,EAAE,WAAW,GAErD,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAsC,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AACzF,OAAO,EACL,aAAa,EAAE,SAAS,GAEzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EACL,oBAAoB,EAAE,cAAc,EAAE,mBAAmB,GAE1D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,qBAAqB,EAC7G,YAAY,EAAE,gBAAgB,EAAE,aAAa,GAE9C,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAiC,MAAM,0BAA0B,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACrG,OAAO,EACL,yBAAyB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,cAAc,GAEnF,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EACpE,UAAU,EAAE,WAAW,EAAE,WAAW,GAErC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,MAAM,EAAE,SAAS,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type Address, type Hex } from "viem";
2
+ import type { SignerAdapter } from "@daski/x402-scheme";
3
+ export declare const CIRCLE_CLI_PACKAGE = "@circle-fin/cli";
4
+ export declare const CIRCLE_COMMAND_TIMEOUT_MS = 30000;
5
+ export interface CommandResult {
6
+ status: number | null;
7
+ signal: NodeJS.Signals | null;
8
+ timedOut: boolean;
9
+ stdout: string;
10
+ }
11
+ /** Runs `circle <args>`; injectable so tests supply a scripted vendor CLI. */
12
+ export type CommandRunner = (args: readonly string[], options: {
13
+ timeoutMs: number;
14
+ }) => Promise<CommandResult>;
15
+ export interface CircleAgentSignerOptions {
16
+ /** The profile's chain id; only Base and Base Sepolia map to Circle chain names. */
17
+ chainId: number;
18
+ /** Selects one wallet when the CLI lists several. */
19
+ address?: string | undefined;
20
+ run?: CommandRunner | undefined;
21
+ }
22
+ /** Circle's chain name for a profile chain id. */
23
+ export declare function circleChainName(chainId: number): "BASE" | "BASE-SEPOLIA";
24
+ /**
25
+ * The environment the vendor CLI runs with: this process's, minus every
26
+ * `DASKI_*` variable. The vendor never needs them, and two of them can carry
27
+ * key material (`DASKI_PAYER_PRIVATE_KEY`, `DASKI_KEYSTORE_PASSPHRASE_FILE`).
28
+ */
29
+ export declare function vendorEnvironment(env?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
30
+ /** Spawns the vendor CLI directly from PATH with an argument array. */
31
+ export declare const spawnCircle: CommandRunner;
32
+ /** Wallet addresses in a `circle wallet list --output json` document, whatever its envelope. */
33
+ export declare function walletAddressesFromListing(document: unknown): Address[];
34
+ export declare function createCircleAgentSigner(options: CircleAgentSignerOptions): Promise<SignerAdapter>;
35
+ /** The signature in `--quiet` output: bare hex, or a JSON object carrying `signature`. */
36
+ export declare function signatureFromOutput(output: string): Hex | undefined;
37
+ //# sourceMappingURL=circleAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circleAgent.d.ts","sourceRoot":"","sources":["../../src/signers/circleAgent.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAyB,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AAO1E,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AACpD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAIhD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAEhH,MAAM,WAAW,wBAAwB;IACvC,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,GAAG,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACjC;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,CAQxE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,UAAU,CAEzF;AAED,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,aAwBxB,CAAC;AAqDH,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,EAAE,CAoBvE;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoEvG;AAYD,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAUnE"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * The Circle agent wallet — a deployed contract account operated through the
3
+ * pinned `@circle-fin/cli`, and the default signer for agent-hosted runtimes.
4
+ * Candidate pending conformance.
5
+ *
6
+ * The adapter shells out to the `circle` command with an argument array,
7
+ * never a shell string: the wallet address comes from `circle wallet list`,
8
+ * and a signature from `circle wallet sign typed-data`, which receives exactly
9
+ * the typed data the policy validator produced and nothing else. Each command
10
+ * has a 30-second deadline. Only the signature is retained; command output is
11
+ * never logged or included in an error.
12
+ *
13
+ * Login, terms, wallet creation, deployment, funding, and spending limits are
14
+ * the user's steps with the vendor CLI, described by the gateway's setup
15
+ * skill. This adapter never performs them and never sends a transaction.
16
+ */
17
+ import { spawn } from "node:child_process";
18
+ import { getAddress, isAddress } from "viem";
19
+ import { CliError } from "../cli/errors.js";
20
+ import { serializeTypedData } from "./circle.js";
21
+ import { NOT_DEPLOYED_REMEDIATION } from "./contract.js";
22
+ import { hasErc6492Suffix, isBoundedSignature } from "./signature.js";
23
+ const DOC = "https://github.com/daski-io/buyer/blob/main/docs/signers.md#circle-agent";
24
+ export const CIRCLE_CLI_PACKAGE = "@circle-fin/cli";
25
+ export const CIRCLE_COMMAND_TIMEOUT_MS = 30_000;
26
+ /** More output than this is not a wallet listing or a signature. */
27
+ const MAX_OUTPUT_BYTES = 256 * 1024;
28
+ /** Circle's chain name for a profile chain id. */
29
+ export function circleChainName(chainId) {
30
+ if (chainId === 8453)
31
+ return "BASE";
32
+ if (chainId === 84532)
33
+ return "BASE-SEPOLIA";
34
+ throw new CliError({
35
+ code: "DASKI_CIRCLE_AGENT_CHAIN_UNSUPPORTED",
36
+ message: `The Circle agent wallet signer supports Base (8453) and Base Sepolia (84532), not chain ${chainId}.`,
37
+ remediation: `Select a profile on Base or Base Sepolia. See ${DOC}`,
38
+ });
39
+ }
40
+ /**
41
+ * The environment the vendor CLI runs with: this process's, minus every
42
+ * `DASKI_*` variable. The vendor never needs them, and two of them can carry
43
+ * key material (`DASKI_PAYER_PRIVATE_KEY`, `DASKI_KEYSTORE_PASSPHRASE_FILE`).
44
+ */
45
+ export function vendorEnvironment(env = process.env) {
46
+ return Object.fromEntries(Object.entries(env).filter(([name]) => !name.startsWith("DASKI_")));
47
+ }
48
+ /** Spawns the vendor CLI directly from PATH with an argument array. */
49
+ export const spawnCircle = (args, options) => new Promise((resolve, reject) => {
50
+ const child = spawn("circle", args, {
51
+ stdio: ["ignore", "pipe", "ignore"],
52
+ env: vendorEnvironment(),
53
+ timeout: options.timeoutMs,
54
+ killSignal: "SIGKILL",
55
+ windowsHide: true,
56
+ });
57
+ const chunks = [];
58
+ let collected = 0;
59
+ child.stdout.on("data", (chunk) => {
60
+ if (collected >= MAX_OUTPUT_BYTES)
61
+ return;
62
+ collected += chunk.length;
63
+ chunks.push(chunk.subarray(0, Math.max(0, MAX_OUTPUT_BYTES - (collected - chunk.length))));
64
+ });
65
+ child.once("error", (error) => reject(error));
66
+ child.once("close", (status, signal) => {
67
+ resolve({
68
+ status,
69
+ signal,
70
+ timedOut: signal === "SIGKILL" && status === null,
71
+ stdout: Buffer.concat(chunks).toString("utf8"),
72
+ });
73
+ });
74
+ });
75
+ function cliMissing() {
76
+ return new CliError({
77
+ code: "DASKI_CIRCLE_CLI_MISSING",
78
+ message: `The \`circle\` command is not on PATH; the Circle agent wallet signer needs ${CIRCLE_CLI_PACKAGE}.`,
79
+ remediation: "Verify provenance, then install the version the gateway pins under signerClis.circle-agent in " +
80
+ `/.well-known/mcp.json: npm view ${CIRCLE_CLI_PACKAGE} repository.url && npm install -g ` +
81
+ `${CIRCLE_CLI_PACKAGE}@<pinned>. See ${DOC}`,
82
+ });
83
+ }
84
+ async function runCircle(run, args, what) {
85
+ let result;
86
+ try {
87
+ result = await run(args, { timeoutMs: CIRCLE_COMMAND_TIMEOUT_MS });
88
+ }
89
+ catch (error) {
90
+ if (error.code === "ENOENT")
91
+ throw cliMissing();
92
+ throw new CliError({
93
+ code: "DASKI_CIRCLE_CLI_FAILED",
94
+ message: `The circle CLI could not be started to ${what}.`,
95
+ remediation: `Run \`circle --version\` in this environment to check the installation. See ${DOC}`,
96
+ });
97
+ }
98
+ if (result.timedOut) {
99
+ throw new CliError({
100
+ code: "DASKI_CIRCLE_CLI_TIMEOUT",
101
+ message: `The circle CLI did not ${what} within ${CIRCLE_COMMAND_TIMEOUT_MS / 1000} seconds.`,
102
+ remediation: "Check the wallet login (circle wallet login) and connectivity, then re-run.",
103
+ });
104
+ }
105
+ if (result.status !== 0) {
106
+ // The vendor's output is never repeated here: it is not this CLI's to print.
107
+ throw new CliError({
108
+ code: "DASKI_CIRCLE_CLI_FAILED",
109
+ message: `The circle CLI exited with status ${result.status ?? "unknown"} when asked to ${what}.`,
110
+ remediation: "Run the same circle command in the user's terminal to see the vendor's message; a " +
111
+ `logged-out session (circle wallet login) is the usual cause. See ${DOC}`,
112
+ });
113
+ }
114
+ return result.stdout;
115
+ }
116
+ function outputInvalid(what) {
117
+ return new CliError({
118
+ code: "DASKI_CIRCLE_CLI_OUTPUT_INVALID",
119
+ message: `The circle CLI answered the ${what} request with output this CLI cannot read.`,
120
+ remediation: `Check that the installed ${CIRCLE_CLI_PACKAGE} matches the gateway's pin. See ${DOC}`,
121
+ });
122
+ }
123
+ /** Wallet addresses in a `circle wallet list --output json` document, whatever its envelope. */
124
+ export function walletAddressesFromListing(document) {
125
+ const candidates = [];
126
+ const visit = (value, depth) => {
127
+ if (depth > 4 || !value || typeof value !== "object")
128
+ return;
129
+ if (Array.isArray(value)) {
130
+ for (const item of value)
131
+ visit(item, depth + 1);
132
+ return;
133
+ }
134
+ const record = value;
135
+ if (typeof record.address === "string")
136
+ candidates.push(record.address);
137
+ for (const key of ["wallets", "data", "items", "result"]) {
138
+ if (key in record)
139
+ visit(record[key], depth + 1);
140
+ }
141
+ };
142
+ visit(document, 0);
143
+ const addresses = new Set();
144
+ for (const candidate of candidates) {
145
+ if (typeof candidate === "string" && isAddress(candidate, { strict: false }))
146
+ addresses.add(getAddress(candidate));
147
+ }
148
+ return [...addresses];
149
+ }
150
+ export async function createCircleAgentSigner(options) {
151
+ const chain = circleChainName(options.chainId);
152
+ const run = options.run ?? spawnCircle;
153
+ const listing = await runCircle(run, ["wallet", "list", "--chain", chain, "--type", "agent", "--output", "json"], "list wallets");
154
+ let document;
155
+ try {
156
+ document = JSON.parse(listing);
157
+ }
158
+ catch {
159
+ throw outputInvalid("wallet list");
160
+ }
161
+ const addresses = walletAddressesFromListing(document);
162
+ let address;
163
+ if (options.address !== undefined) {
164
+ if (!isAddress(options.address, { strict: false })) {
165
+ throw new CliError({
166
+ code: "DASKI_CIRCLE_AGENT_WALLET_NOT_FOUND",
167
+ message: `"${options.address}" is not an EVM address.`,
168
+ remediation: `Pass --circle-wallet <address> with one of the agent wallets on ${chain}. See ${DOC}`,
169
+ });
170
+ }
171
+ address = getAddress(options.address);
172
+ if (!addresses.includes(address)) {
173
+ throw new CliError({
174
+ code: "DASKI_CIRCLE_AGENT_WALLET_NOT_FOUND",
175
+ message: `The circle CLI lists no agent wallet ${address} on ${chain}.`,
176
+ remediation: `Run: circle wallet list --chain ${chain} --type agent --output json. See ${DOC}`,
177
+ });
178
+ }
179
+ }
180
+ else if (addresses.length === 1) {
181
+ address = addresses[0];
182
+ }
183
+ else if (addresses.length === 0) {
184
+ throw new CliError({
185
+ code: "DASKI_CIRCLE_AGENT_WALLET_MISSING",
186
+ message: `The circle CLI lists no agent wallet on ${chain}.`,
187
+ remediation: "Log in with the user's email (circle wallet login <email> --type agent --init), then " +
188
+ `create one: circle wallet create --output json. See ${DOC}`,
189
+ });
190
+ }
191
+ else {
192
+ throw new CliError({
193
+ code: "DASKI_CIRCLE_AGENT_WALLET_AMBIGUOUS",
194
+ message: `The circle CLI lists ${addresses.length} agent wallets on ${chain}.`,
195
+ remediation: `Select one with --circle-wallet <address>. See ${DOC}`,
196
+ });
197
+ }
198
+ return {
199
+ getAddress: async () => address,
200
+ signTypedData: async (payload) => {
201
+ const output = await runCircle(run, [
202
+ "wallet", "sign", "typed-data", serializeTypedData(payload),
203
+ "--address", address, "--chain", chain, "--quiet",
204
+ ], "sign typed data");
205
+ const signature = signatureFromOutput(output);
206
+ if (!signature)
207
+ throw outputInvalid("signing");
208
+ // An ERC-6492 wrapper means the wallet signed counterfactually; the
209
+ // gateway and the facilitator refuse it, so it is refused here first.
210
+ if (hasErc6492Suffix(signature))
211
+ throw counterfactualSignature(address);
212
+ return signature;
213
+ },
214
+ describe: () => ({
215
+ provider: "circle-agent",
216
+ accountType: "contract",
217
+ conformance: "candidate-pending-conformance",
218
+ }),
219
+ };
220
+ }
221
+ function counterfactualSignature(address) {
222
+ return new CliError({
223
+ code: "DASKI_SIGNER_NOT_DEPLOYED",
224
+ message: `The circle CLI returned an ERC-6492 (counterfactual) signature for ${address}: the wallet ` +
225
+ "signed as an undeployed account, and Daski refuses ERC-6492 wrappers.",
226
+ remediation: NOT_DEPLOYED_REMEDIATION,
227
+ });
228
+ }
229
+ /** The signature in `--quiet` output: bare hex, or a JSON object carrying `signature`. */
230
+ export function signatureFromOutput(output) {
231
+ const trimmed = output.trim();
232
+ if (isBoundedSignature(trimmed))
233
+ return trimmed;
234
+ try {
235
+ const parsed = JSON.parse(trimmed);
236
+ if (parsed && typeof parsed === "object" && isBoundedSignature(parsed.signature))
237
+ return parsed.signature;
238
+ }
239
+ catch {
240
+ // Not JSON either.
241
+ }
242
+ return undefined;
243
+ }
244
+ //# sourceMappingURL=circleAgent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circleAgent.js","sourceRoot":"","sources":["../../src/signers/circleAgent.ts"],"names":[],"mappings":"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"}