@candledottv/agent-sdk 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -44,6 +44,14 @@ export interface CandleClientOptions {
44
44
  apiKey?: string;
45
45
  /** Injectable fetch for tests; defaults to the global. */
46
46
  fetch?: typeof fetch;
47
+ /**
48
+ * Allow an `http://` {@link apiUrl} pointing at a NON-loopback host. Off by default: this client
49
+ * attaches `x-api-key` to every authenticated call, so cleartext hands the key to anything on the
50
+ * path, and a redirect to HTTPS is too late to help. Loopback (`localhost`, `127.0.0.0/8`, `::1`)
51
+ * is always allowed and needs no flag. Set this only for a trusted local endpoint that is not
52
+ * loopback, such as a devcontainer reaching its host.
53
+ */
54
+ allowInsecureHttp?: boolean;
47
55
  /** Max launch() retries after the initial attempt. Default 3. */
48
56
  maxRetries?: number;
49
57
  /**
@@ -482,9 +490,30 @@ export interface BuildTradeRequest {
482
490
  */
483
491
  quoteAsset?: "sol" | "usdc" | "cndl";
484
492
  }
485
- /** The platform fee actually itemized on this trade. `treasury` is null only when the fee is disabled server-side (unset AGENT_FEE_TREASURY_*). */
493
+ /**
494
+ * The platform fee actually itemized on this trade.
495
+ *
496
+ * WHICH SIDE IT COMES FROM, because it is not symmetric and cost-basis math depends on it.
497
+ * The fee is always denominated in the QUOTE asset, on both chains and both sides. What differs
498
+ * is the amount it is charged on:
499
+ *
500
+ * - **Buy**: charged on what you SPEND. `feeRaw = amountRaw * bps / 10000`, and it is an
501
+ * ADDITIONAL transfer -- the full `amountRaw` still enters the swap. So the wallet parts with
502
+ * `amountRaw + feeRaw`, and `expectedOutRaw`/`minOutRaw` (the token you receive) are
503
+ * unaffected by the fee entirely.
504
+ * - **Sell**: charged on what you RECEIVE. `feeRaw = expectedOutRaw * bps / 10000`, drawn from
505
+ * the swap's own output in the same transaction. So `expectedOutRaw` and `minOutRaw` are
506
+ * **gross**, and the wallet nets `expectedOutRaw - feeRaw`.
507
+ *
508
+ * A caller computing realised PnL therefore subtracts the fee on a buy from the cost side, and
509
+ * on a sell from the proceeds -- never from the token amount on either.
510
+ *
511
+ * `treasury` is null only when the fee is disabled server-side (unset AGENT_FEE_TREASURY_*), in
512
+ * which case `feeRaw` is "0" and `bps` is 0; the pair is never a nonzero rate with a zero amount.
513
+ */
486
514
  export interface TradeFee {
487
515
  bps: number;
516
+ /** Base units of the QUOTE asset. Never the token being traded, on either side. */
488
517
  feeRaw: string;
489
518
  treasury: string | null;
490
519
  }
@@ -535,6 +564,8 @@ export type BuildTradeBuiltResult = {
535
564
  expectedOutRaw: string;
536
565
  minOutRaw: string;
537
566
  expiresAt: number;
567
+ /** The linked payer's own base58 address: the wallet that must sign this build. */
568
+ walletAddress: string;
538
569
  } | {
539
570
  success: true;
540
571
  status: "built";
@@ -574,6 +605,21 @@ export interface ExecutedTradeResult {
574
605
  expectedOutRaw: string;
575
606
  minOutRaw: string;
576
607
  quoteAsset: string;
608
+ /**
609
+ * What the trade ACTUALLY delivered, in the output asset's raw units.
610
+ *
611
+ * `expectedOutRaw` beside it is the quote taken at BUILD time -- what you agreed to, not what
612
+ * arrived. The difference between them is your realised slippage, and it is the number a
613
+ * position ledger needs: without this you had to re-read the transaction the server had
614
+ * already read to confirm it.
615
+ *
616
+ * Present on SOLANA confirmations, where the server derives the payer's own balance delta
617
+ * for the mint as the gate that proves the trade happened and moved the right way, so the
618
+ * figure is decoded truth rather than an estimate. Absent on Hood, whose confirm verifies a
619
+ * fee receipt and decodes no balance delta -- absent rather than a guess or a zero, so
620
+ * `"actualOutRaw" in result.amounts` is a truthful test.
621
+ */
622
+ actualOutRaw?: string;
577
623
  };
578
624
  }
579
625
  /** POST /api/v1/trade/agent/build response: "built" for a linked payer, "executed" for a main payer (or an idempotent replay of an already-confirmed trade under the same clientTradeId). */
@@ -993,6 +1039,24 @@ export declare class CandleClient {
993
1039
  *
994
1040
  * Requires an agent key with the `swap:write` scope -- opt-in, omitted by default when a key is
995
1041
  * issued; pass `scopes: [..., "swap:write"]` to `POST /api/v1/agent/keys` to grant it.
1042
+ *
1043
+ * ## Rebuilding an UNCONFIRMED `clientTradeId`
1044
+ *
1045
+ * The idempotency notes elsewhere on this rail describe the CONFIRMED case (you get the
1046
+ * original result back). The unconfirmed case, which a caller hits whenever a build expires
1047
+ * before it is signed, was undocumented until an integrator asked on 2026-08-27:
1048
+ *
1049
+ * - **It re-quotes, and does NOT create a second intent.** There is one row per
1050
+ * `(account, clientTradeId)`, and a rebuild patches it in place with a fresh plan. That is
1051
+ * deliberate rather than incidental: a Solana blockhash dies in about 90 seconds, so a
1052
+ * replayed build MUST re-plan or it would hand back an artifact that can no longer land.
1053
+ * - **The request body is conflict-checked on every build**, not only after confirmation. A
1054
+ * differing body under the same id is refused with `IDEMPOTENCY_CONFLICT`, exactly as the
1055
+ * launch rail does -- so an id cannot be reused for a different trade.
1056
+ * - **A `failed` row is reset to `built`** by a matching rebuild, so one id survives a failed
1057
+ * attempt and stays the anti-double-spend key across the retry.
1058
+ * - Beyond `BuildTradeBuiltResult.expiresAt`, the server-side states are
1059
+ * `built | confirmed | failed`.
996
1060
  */
997
1061
  buildTrade(req: BuildTradeRequest): Promise<BuildTradeResult>;
998
1062
  /**
@@ -1073,8 +1137,14 @@ export declare class CandleClient {
1073
1137
  * read at all -- `solanaRpcUrl` is unused on this path, and there is no client-side
1074
1138
  * blockhash-rebuild loop; the server controls broadcast and its own blockhash freshness now.
1075
1139
  * The lower-level `buildTrade`/`signLinkedTransaction`/`broadcastSignedTransaction`/
1076
- * `confirmTrade` sequence (with its own blockhash-rebuild loop) stays available, unchanged,
1077
- * for callers who want to broadcast client-side instead -- see those methods' own jsdoc.
1140
+ * `confirmTrade` sequence stays available for callers who want to broadcast client-side.
1141
+ * **That path has NO blockhash-rebuild loop, and never did.**
1142
+ * `broadcastSignedTransaction` is a single unretried JSON-RPC send, so a caller who takes it
1143
+ * owns expiry themselves: a Solana blockhash dies in about 90 seconds, and a send that
1144
+ * arrives after that fails with no recovery unless the caller rebuilds. This doc previously
1145
+ * said the opposite, which was the worst possible way to be wrong -- a caller who trusted it
1146
+ * would lose transactions and have no reason to look for the retry that was not there.
1147
+ * Reported by an integrator on 2026-08-27.
1078
1148
  * - **Hood/EVM**: unchanged from before -- `artifacts.approval` (when present), then
1079
1149
  * `artifacts.trade`, then `artifacts.feeTransfer` (when present) -- in that exact order, EACH
1080
1150
  * leg's receipt awaited (`waitForReceipt`) before the next leg is even assembled, then
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -39,9 +39,34 @@ export declare class CandleApiError extends Error {
39
39
  * Solana `-32002` "Transaction simulation failed", `data` is typically `{ err, logs }`, naming
40
40
  * the actual on-chain failure (e.g. `err: "BlockhashNotFound"`) that the top-level `message`
41
41
  * alone does not surface. `broadcastSignedTransaction()` lets this propagate unchanged, and the
42
- * Solana linked one-shots (`trade()`/`selfLaunch()`) inspect `.data.err` to decide whether a
43
- * failed broadcast is a blockhash-expiry worth rebuilding and retrying.
42
+ * `selfLaunch()` inspects `.data.err` to decide whether a failed broadcast is a blockhash expiry
43
+ * worth rebuilding and retrying. `trade()` no longer does: it hands broadcast to the server and
44
+ * has no client-side rebuild loop, so nothing there reads this field. (This sentence used to
45
+ * name both; corrected 2026-08-27 after an integrator found the pair of claims disagreed.)
44
46
  */
47
+ /**
48
+ * The shape a Solana JSON-RPC error's `data` takes for a failed simulation or send.
49
+ *
50
+ * `JsonRpcError.data` stays `unknown`, deliberately: it is a third party's field and a different
51
+ * endpoint may answer with anything. But the doc above has always told callers what to expect,
52
+ * so the type is exported rather than left for each integration to hand-roll -- pair it with
53
+ * `isSolanaRpcErrorData` instead of asserting.
54
+ *
55
+ * `logs` is the FULL array, untruncated. The preview inside `JsonRpcError.message` is three
56
+ * lines from the tail; anything doing real diagnosis should read this.
57
+ */
58
+ export interface SolanaRpcErrorData {
59
+ /** The on-chain failure, e.g. `"BlockhashNotFound"` or `{ InstructionError: [3, ...] }`. */
60
+ err: unknown;
61
+ logs: string[];
62
+ }
63
+ /**
64
+ * Whether a `JsonRpcError.data` carries the Solana `{ err, logs }` shape.
65
+ *
66
+ * Checks `logs` is an array of strings rather than trusting the key's presence, because that is
67
+ * the field callers iterate and a non-array there would throw at the call site instead of here.
68
+ */
69
+ export declare function isSolanaRpcErrorData(data: unknown): data is SolanaRpcErrorData;
45
70
  export declare class JsonRpcError extends Error {
46
71
  /** The JSON-RPC error's numeric code, e.g. -32002. */
47
72
  readonly code: number;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;gBAEX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAQxG;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;gBAEV,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAMpE;AAkBD,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuB3F"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;gBAEX,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAQxG;AAED;;;;;;;;;;;GAWG;AACH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,kBAAkB,CAK9E;AAED,qBAAa,YAAa,SAAQ,KAAK;IACrC,sDAAsD;IACtD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;gBAEV,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAMpE;AAkBD,gGAAgG;AAChG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuB3F"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * A cross-process exclusive lock, for the read-modify-write cycles that share one file.
3
+ *
4
+ * credentials.enc and wallets.enc are each a SINGLE json document holding every entry, so a write
5
+ * is read-whole, modify-one, write-whole. Two of those interleaving is not a torn file (the write
6
+ * itself is atomic via rename) but a LOST ENTRY: both readers see the same starting state, both
7
+ * add their own ref, and whichever renames second silently drops the other's. Running `candle keys
8
+ * create` in one terminal while `candle auth login` finishes in another is enough.
9
+ *
10
+ * O_EXCL is the primitive because the guarantee has to hold across PROCESSES, which an in-memory
11
+ * mutex cannot do. A lock older than STALE_MS is broken rather than waited on, so a process killed
12
+ * while holding one does not wedge the CLI for the next operator; the window is long enough that
13
+ * no honest holder is mistaken for a corpse.
14
+ *
15
+ * node:fs is imported lazily inside the function, matching secret-store.ts: importing this module
16
+ * must not drag a filesystem dependency into a bundle that only wanted InMemorySecretStore.
17
+ */
18
+ export declare function withFileLock<T>(target: string, fn: () => Promise<T>): Promise<T>;
19
+ //# sourceMappingURL=file-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-lock.d.ts","sourceRoot":"","sources":["../src/file-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,wBAAsB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgCtF"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export type { AcceptedJob, AgentProfile, AgentTierInfo, BaseAssetKey, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, Chain, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, MarketState, MigrationStatus, PresetsPayload, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfLaunchRequest, SignLinkedTransactionParams, SignLinkedTransactionResult, SolanaTradeArtifacts, SpendLimit, SwapRequest, SwapResult, TradeFee, TradePayer, TradeRequest, TradeSide, VerifyResult, } from "./client";
1
+ export type { AcceptedJob, AgentProfile, AgentTierInfo, AtomicBundleLegRole, AtomicBundleLegSigner, AtomicBundleResponseLeg, AtomicFirstBuyRequest, AtomicLaunchPayer, BaseAssetKey, BuildAtomicLaunchRequest, BuildAtomicLaunchResult, BuildSelfLaunchHoodResult, BuildSelfLaunchRequest, BuildSelfLaunchResult, BuildSelfLaunchSolanaResult, BuildTradeBuiltResult, BuildTradeRequest, BuildTradeResult, CandleClientOptions, Chain, ConfirmSelfLaunchRequest, ConfirmSelfLaunchResult, ConfirmTradeRequest, ConfirmTradeResult, CurveTerms, DryRunResult, EvmSignTransactionParams, ExecutedTradeResult, FeedBucket, FeedResult, FeedToken, HoodTradeArtifacts, ImportWalletResult, LaunchAtomicFirstBuyRequest, LaunchAtomicPayer, LaunchAtomicRequest, LaunchJob, LaunchPreset, LaunchRequest, LaunchResult, LaunchTier, LinkedSwapRequest, LinkedSwapResult, LinkedWalletRow, ListWalletsResult, MarketState, MigrationStatus, PresetsPayload, QuoteBreakdown, QuotePair, QuotePairsPayload, QuoteResult, SelfLaunchRequest, SignLinkedTransactionParams, SignLinkedTransactionResult, SolanaTradeArtifacts, SpendLimit, SpendLimitsResult, SubmitAtomicLaunchRequest, SubmitAtomicLaunchResult, SubmitTradeRequest, SwapRequest, SwapResult, TradeFee, TradePayer, TradeRequest, TradeSide, VerifyResult, } from "./client";
2
2
  export { CandleClient } from "./client";
3
- export type { CandleErrorPayload } from "./errors";
4
- export { CandleApiError, JsonRpcError } from "./errors";
3
+ export type { CandleErrorPayload, SolanaRpcErrorData } from "./errors";
4
+ export { CandleApiError, isSolanaRpcErrorData, JsonRpcError } from "./errors";
5
5
  export { KeychainSecretStore } from "./keychain-secret-store";
6
6
  export type { SecretStore } from "./secret-store";
7
7
  export { EncryptedFileSecretStore, InMemorySecretStore } from "./secret-store";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,EAC3B,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,SAAS,EACT,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjH,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA"}
package/dist/index.js CHANGED
@@ -87,6 +87,14 @@ class CandleApiError extends Error {
87
87
  this.field = args.field;
88
88
  }
89
89
  }
90
+ function isSolanaRpcErrorData(data) {
91
+ if (typeof data !== "object" || data === null)
92
+ return false;
93
+ const candidate = data;
94
+ if (!("err" in candidate))
95
+ return false;
96
+ return Array.isArray(candidate.logs) && candidate.logs.every((line) => typeof line === "string");
97
+ }
90
98
 
91
99
  class JsonRpcError extends Error {
92
100
  code;
@@ -234,6 +242,15 @@ async function waitForReceipt(rpc, txHash, opts = {}) {
234
242
  }
235
243
  }
236
244
 
245
+ // src/internal/rpc-endpoint.ts
246
+ function describeRpcEndpoint(url) {
247
+ try {
248
+ return new URL(url).origin;
249
+ } catch {
250
+ return "<unparseable rpc endpoint>";
251
+ }
252
+ }
253
+
237
254
  // src/wallet-import.ts
238
255
  import { Chacha20Poly1305 } from "@hpke/chacha20poly1305";
239
256
  import { CipherSuite, DhkemP256HkdfSha256, HkdfSha256 } from "@hpke/core";
@@ -248,11 +265,16 @@ function buildCipherSuite() {
248
265
  function parseSolanaSecret(input) {
249
266
  const trimmed = input.trim();
250
267
  if (!trimmed.startsWith("[")) {
268
+ let decoded;
251
269
  try {
252
- return base58.decode(trimmed);
270
+ decoded = base58.decode(trimmed);
253
271
  } catch {
254
272
  throw new Error("Invalid Solana private key: expected a base58 string or an id.json byte array.");
255
273
  }
274
+ if (decoded.length !== 64) {
275
+ throw new Error(`Invalid Solana private key: expected 64 bytes, got ${decoded.length}. A 32-byte value is the ` + "SEED, not the keypair; export the full secret key, which is what solana-keygen writes to id.json.");
276
+ }
277
+ return decoded;
256
278
  }
257
279
  const parsed = (() => {
258
280
  try {
@@ -270,8 +292,8 @@ function parseSolanaSecret(input) {
270
292
  function decodeWalletPrivateKey(chain, privateKey) {
271
293
  if (chain === "evm") {
272
294
  const hex = privateKey.startsWith("0x") ? privateKey.slice(2) : privateKey;
273
- if (hex.length === 0 || hex.length % 2 !== 0 || !/^[0-9a-fA-F]+$/.test(hex)) {
274
- throw new Error('Invalid EVM private key: expected a hex string (optionally "0x"-prefixed)');
295
+ if (hex.length !== 64 || !/^[0-9a-fA-F]+$/.test(hex)) {
296
+ throw new Error("Invalid EVM private key: expected 32 bytes as 64 hex characters " + `(optionally "0x"-prefixed), got ${hex.length} characters`);
275
297
  }
276
298
  return Uint8Array.from(Buffer.from(hex, "hex"));
277
299
  }
@@ -346,7 +368,7 @@ function withRpcLagHint(error) {
346
368
  });
347
369
  }
348
370
  function formatJsonRpcErrorMessage(method, url, rpcError) {
349
- const base = `JSON-RPC ${method} against ${url} was rejected (code ${rpcError.code}): ${rpcError.message}`;
371
+ const base = `JSON-RPC ${method} against ${describeRpcEndpoint(url)} was rejected (code ${rpcError.code}): ${rpcError.message}`;
350
372
  const data = rpcError.data;
351
373
  if (typeof data !== "object" || data === null)
352
374
  return base;
@@ -356,7 +378,8 @@ function formatJsonRpcErrorMessage(method, url, rpcError) {
356
378
  parts.push(`err: ${typeof d.err === "string" ? d.err : JSON.stringify(d.err)}`);
357
379
  }
358
380
  if (Array.isArray(d.logs) && d.logs.length > 0) {
359
- parts.push(`logs: ${d.logs.slice(0, 3).join(" | ")}`);
381
+ const logs = d.logs.filter((line) => typeof line === "string");
382
+ parts.push(`logs: ${logs.slice(-3).join(" | ")}`);
360
383
  }
361
384
  return parts.length > 0 ? `${base} [${parts.join("; ")}]` : base;
362
385
  }
@@ -379,6 +402,50 @@ function isAtomicSubmitOutcome(value) {
379
402
  var DEFAULT_MAX_RETRIES = 3;
380
403
  var DEFAULT_POLL_MS = 2000;
381
404
  var DEFAULT_WAIT_TIMEOUT_MS = 180000;
405
+ function isLoopbackHost(hostname) {
406
+ const host = hostname.toLowerCase();
407
+ if (host === "localhost" || host.endsWith(".localhost"))
408
+ return true;
409
+ if (host === "::1" || host === "[::1]")
410
+ return true;
411
+ return /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(host);
412
+ }
413
+ function isPrivateHost(hostname) {
414
+ const host = hostname.toLowerCase().replace(/^\[|\]$/g, "");
415
+ if (!host.includes(".") && !host.includes(":"))
416
+ return true;
417
+ if (/\.(local|internal|home\.arpa)$/.test(host))
418
+ return true;
419
+ if (/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(host))
420
+ return true;
421
+ if (/^192\.168\.\d{1,3}\.\d{1,3}$/.test(host))
422
+ return true;
423
+ if (/^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/.test(host))
424
+ return true;
425
+ if (/^169\.254\.\d{1,3}\.\d{1,3}$/.test(host))
426
+ return true;
427
+ if (/^f[cd][0-9a-f]{2}:/.test(host))
428
+ return true;
429
+ return /^fe[89ab][0-9a-f]:/.test(host);
430
+ }
431
+ function assertTransportSecurity(apiUrl, allowInsecureHttp) {
432
+ let parsed;
433
+ try {
434
+ parsed = new URL(apiUrl);
435
+ } catch {
436
+ throw new Error(`CandleClient: apiUrl is not a valid URL: ${JSON.stringify(apiUrl)}`);
437
+ }
438
+ if (parsed.protocol === "https:")
439
+ return;
440
+ if (parsed.protocol !== "http:") {
441
+ throw new Error(`CandleClient: apiUrl must be http or https, got ${parsed.protocol.replace(":", "")}`);
442
+ }
443
+ if (isLoopbackHost(parsed.hostname))
444
+ return;
445
+ if (allowInsecureHttp && isPrivateHost(parsed.hostname))
446
+ return;
447
+ throw new Error(`CandleClient: refusing to send credentials in the clear to ${parsed.origin}. Use https://.` + (isPrivateHost(parsed.hostname) ? " Pass allowInsecureHttp: true if this really is a trusted local endpoint." : " allowInsecureHttp does not apply here: it covers private networks only, and this is a" + " public address."));
448
+ }
382
449
 
383
450
  class CandleClient {
384
451
  apiUrl;
@@ -390,10 +457,14 @@ class CandleClient {
390
457
  solanaRpcUrl;
391
458
  evmRpcUrl;
392
459
  constructor(opts) {
460
+ assertTransportSecurity(opts.apiUrl, opts.allowInsecureHttp === true);
393
461
  this.apiUrl = opts.apiUrl.replace(/\/+$/, "");
394
462
  if (opts.apiKey !== undefined)
395
463
  this.apiKey = opts.apiKey;
396
464
  this.fetchImpl = opts.fetch ?? fetch;
465
+ if (opts.maxRetries !== undefined && (!Number.isInteger(opts.maxRetries) || opts.maxRetries < 0)) {
466
+ throw new Error(`CandleClient: maxRetries must be a non-negative integer, got ${opts.maxRetries}`);
467
+ }
397
468
  this.maxRetries = opts.maxRetries ?? DEFAULT_MAX_RETRIES;
398
469
  if (opts.privyAppId !== undefined)
399
470
  this.privyAppId = opts.privyAppId;
@@ -910,7 +981,7 @@ class CandleClient {
910
981
  });
911
982
  const text = await res.text();
912
983
  if (!res.ok) {
913
- throw new Error(`JSON-RPC ${method} against ${url} failed: HTTP ${res.status}: ${text}`);
984
+ throw new Error(`JSON-RPC ${method} against ${describeRpcEndpoint(url)} failed: HTTP ${res.status}: ${text}`);
914
985
  }
915
986
  const parsed = JSON.parse(text);
916
987
  if (parsed.error) {
@@ -921,7 +992,7 @@ class CandleClient {
921
992
  });
922
993
  }
923
994
  if (typeof parsed.result !== "string") {
924
- throw new Error(`JSON-RPC ${method} against ${url} returned a non-string result: ${JSON.stringify(parsed.result)}`);
995
+ throw new Error(`JSON-RPC ${method} against ${describeRpcEndpoint(url)} returned a non-string result: ${JSON.stringify(parsed.result)}`);
925
996
  }
926
997
  return parsed.result;
927
998
  }
@@ -933,7 +1004,7 @@ class CandleClient {
933
1004
  });
934
1005
  const text = await res.text();
935
1006
  if (!res.ok) {
936
- throw new Error(`JSON-RPC ${method} against ${url} failed: HTTP ${res.status}: ${text}`);
1007
+ throw new Error(`JSON-RPC ${method} against ${describeRpcEndpoint(url)} failed: HTTP ${res.status}: ${text}`);
937
1008
  }
938
1009
  const parsed = JSON.parse(text);
939
1010
  if (parsed.error) {
@@ -977,6 +1048,12 @@ function assertStorable(value) {
977
1048
  throw new Error("Refusing to store a signer value that is not single-line base64");
978
1049
  }
979
1050
  }
1051
+ var UNSAFE_FOR_SECURITY_COMMAND_LINE = /["\\\n\r]/;
1052
+ function assertSafeRef(ref) {
1053
+ if (UNSAFE_FOR_SECURITY_COMMAND_LINE.test(ref)) {
1054
+ throw new Error("Refusing to use this wallet reference against the macOS Keychain: it contains a quote, " + "backslash, or newline, which could break out of the quoted argument on security's " + "command-on-stdin line");
1055
+ }
1056
+ }
980
1057
  var RUN_TIMEOUT_MS = 1e4;
981
1058
  var realExec = (binary, args, stdin) => new Promise((resolvePromise, reject) => {
982
1059
  const child = spawn(binary, args, { stdio: ["pipe", "pipe", "ignore"], env: process.env });
@@ -1036,6 +1113,7 @@ class KeychainSecretStore {
1036
1113
  const value = pemToStoredSigner(privateKeyPem);
1037
1114
  assertStorable(value);
1038
1115
  if (this.backend === "security") {
1116
+ assertSafeRef(ref);
1039
1117
  const command = `add-generic-password -U -s "${SERVICE}" -a "${ref}" -w "${value}"
1040
1118
  `;
1041
1119
  const result2 = await this.exec("security", ["-i"], command);
@@ -1050,6 +1128,7 @@ class KeychainSecretStore {
1050
1128
  async delete(walletRef) {
1051
1129
  const ref = walletSignerRef(walletRef);
1052
1130
  if (this.backend === "security") {
1131
+ assertSafeRef(ref);
1053
1132
  await this.exec("security", ["-i"], `delete-generic-password -s "${SERVICE}" -a "${ref}"
1054
1133
  `);
1055
1134
  return;
@@ -1057,6 +1136,39 @@ class KeychainSecretStore {
1057
1136
  await this.exec("secret-tool", ["clear", "service", SERVICE, "account", ref]);
1058
1137
  }
1059
1138
  }
1139
+ // src/file-lock.ts
1140
+ var STALE_MS = 30000;
1141
+ var RETRY_MS = 25;
1142
+ var TIMEOUT_MS = 1e4;
1143
+ async function withFileLock(target, fn) {
1144
+ const { open, rm, stat } = await import("node:fs/promises");
1145
+ const lockPath = `${target}.lock`;
1146
+ const deadline = Date.now() + TIMEOUT_MS;
1147
+ for (;; ) {
1148
+ try {
1149
+ await (await open(lockPath, "wx")).close();
1150
+ break;
1151
+ } catch (error) {
1152
+ if (error.code !== "EEXIST")
1153
+ throw error;
1154
+ const age = await stat(lockPath).then((s) => Date.now() - s.mtimeMs).catch(() => 0);
1155
+ if (age > STALE_MS) {
1156
+ await rm(lockPath, { force: true });
1157
+ continue;
1158
+ }
1159
+ if (Date.now() > deadline) {
1160
+ throw new Error(`Timed out waiting for ${lockPath}. Another candle process is writing; if none is running, delete that file.`);
1161
+ }
1162
+ await new Promise((resolve) => setTimeout(resolve, RETRY_MS));
1163
+ }
1164
+ }
1165
+ try {
1166
+ return await fn();
1167
+ } finally {
1168
+ await rm(lockPath, { force: true });
1169
+ }
1170
+ }
1171
+
1060
1172
  // src/secret-store.ts
1061
1173
  class InMemorySecretStore {
1062
1174
  entries = new Map;
@@ -1100,25 +1212,29 @@ class EncryptedFileSecretStore {
1100
1212
  return new TextDecoder().decode(plaintext);
1101
1213
  }
1102
1214
  async set(walletRef, privateKeyPem) {
1103
- const contents = await this.readFile();
1104
- const salt = crypto.getRandomValues(new Uint8Array(SALT_LENGTH_BYTES));
1105
- const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH_BYTES));
1106
- const key = await deriveKey(this.passphrase, salt, PBKDF2_ITERATIONS);
1107
- const ciphertext = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, new TextEncoder().encode(privateKeyPem));
1108
- contents[walletRef] = {
1109
- salt: toBase64(salt),
1110
- iv: toBase64(iv),
1111
- ciphertext: toBase64(new Uint8Array(ciphertext)),
1112
- iterations: PBKDF2_ITERATIONS
1113
- };
1114
- await this.writeFile(contents);
1215
+ return withFileLock(this.path, async () => {
1216
+ const contents = await this.readFile();
1217
+ const salt = crypto.getRandomValues(new Uint8Array(SALT_LENGTH_BYTES));
1218
+ const iv = crypto.getRandomValues(new Uint8Array(IV_LENGTH_BYTES));
1219
+ const key = await deriveKey(this.passphrase, salt, PBKDF2_ITERATIONS);
1220
+ const ciphertext = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, new TextEncoder().encode(privateKeyPem));
1221
+ contents[walletRef] = {
1222
+ salt: toBase64(salt),
1223
+ iv: toBase64(iv),
1224
+ ciphertext: toBase64(new Uint8Array(ciphertext)),
1225
+ iterations: PBKDF2_ITERATIONS
1226
+ };
1227
+ await this.writeFile(contents);
1228
+ });
1115
1229
  }
1116
1230
  async delete(walletRef) {
1117
- const contents = await this.readFile();
1118
- if (!(walletRef in contents))
1119
- return;
1120
- delete contents[walletRef];
1121
- await this.writeFile(contents);
1231
+ return withFileLock(this.path, async () => {
1232
+ const contents = await this.readFile();
1233
+ if (!Object.hasOwn(contents, walletRef))
1234
+ return;
1235
+ delete contents[walletRef];
1236
+ await this.writeFile(contents);
1237
+ });
1122
1238
  }
1123
1239
  async readFile() {
1124
1240
  const { readFile } = await import("node:fs/promises");
@@ -1132,10 +1248,15 @@ class EncryptedFileSecretStore {
1132
1248
  }
1133
1249
  }
1134
1250
  async writeFile(contents) {
1135
- const { mkdir, writeFile } = await import("node:fs/promises");
1251
+ const { chmod, mkdir, rename, writeFile } = await import("node:fs/promises");
1136
1252
  const { dirname } = await import("node:path");
1137
- await mkdir(dirname(this.path), { recursive: true });
1138
- await writeFile(this.path, JSON.stringify(contents, null, 2), "utf8");
1253
+ const dir = dirname(this.path);
1254
+ await mkdir(dir, { recursive: true });
1255
+ await chmod(dir, 448);
1256
+ const tmpPath = `${this.path}.${crypto.randomUUID()}.tmp`;
1257
+ await writeFile(tmpPath, JSON.stringify(contents, null, 2), { encoding: "utf8", mode: 384 });
1258
+ await chmod(tmpPath, 384);
1259
+ await rename(tmpPath, this.path);
1139
1260
  }
1140
1261
  }
1141
1262
  // src/webhooks.ts
@@ -1175,6 +1296,7 @@ function verifyWebhookSignature(secret, header, body, nowSec, toleranceSec = 300
1175
1296
  }
1176
1297
  export {
1177
1298
  verifyWebhookSignature,
1299
+ isSolanaRpcErrorData,
1178
1300
  generateSignerKeypair,
1179
1301
  encryptWalletKeyForImport,
1180
1302
  KeychainSecretStore,
@@ -0,0 +1,30 @@
1
+ /**
2
+ * How an RPC endpoint is named in an error message.
3
+ *
4
+ * Every JSON-RPC failure the SDK throws used to interpolate the endpoint URL verbatim, and most
5
+ * Solana and EVM providers authenticate by API key: Helius carries it in the query string
6
+ * (`?api-key=...`), Alchemy in the path (`/v2/<key>`). So a thrown message could contain a live
7
+ * credential, and error messages are the most widely copied strings a program produces -- they
8
+ * reach logs, alerting, exception trackers, support tickets and chat.
9
+ *
10
+ * That is not hypothetical. A caller forwarded one of these messages to a Discord alert channel
11
+ * on 2026-08-27 and had to rotate a production Helius key. They fixed the forwarding; this makes
12
+ * the SDK stop handing out the credential in the first place, so the next caller cannot make the
13
+ * same mistake as cheaply.
14
+ *
15
+ * The origin is what survives. `https://mainnet.helius-rpc.com/?api-key=SECRET` and
16
+ * `https://x.g.alchemy.com/v2/SECRET` both reduce to their host, which is the part with
17
+ * diagnostic value -- WHICH provider refused, paired with the method name the caller already
18
+ * has. Neither the path nor the query is ever needed to read one of these errors.
19
+ */
20
+ /**
21
+ * The endpoint as it may appear in an error message: scheme and host, never the path or query.
22
+ *
23
+ * Never throws. It is called only while BUILDING an error, so a throw here would replace a real
24
+ * failure with a URL-parsing one and lose the original entirely. A value that will not parse is
25
+ * therefore reported as unknown rather than passed through -- passing it through is exactly the
26
+ * leak this exists to prevent, and a caller who configured a malformed URL has a bigger problem
27
+ * this message would not help with.
28
+ */
29
+ export declare function describeRpcEndpoint(url: string): string;
30
+ //# sourceMappingURL=rpc-endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-endpoint.d.ts","sourceRoot":"","sources":["../../src/internal/rpc-endpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD"}
@@ -20,9 +20,11 @@
20
20
  *
21
21
  * Secrets travel exclusively via the child's STDIN or its stdout, never argv, mirroring the
22
22
  * CLI's own stores: macOS `security` only takes secrets as a `-w` argv flag in its normal form,
23
- * so writes go through `security -i` (command-on-stdin mode) instead. The stored value is
24
- * base64 by construction, so embedding it in the quoted `-w "<value>"` token cannot break out
25
- * of the quoting; `assertStorable` makes that invariant checked rather than assumed.
23
+ * so writes go through `security -i` (command-on-stdin mode) instead. BOTH interpolated halves of
24
+ * that command line are checked rather than assumed: `assertStorable` for the `-w "<value>"` token
25
+ * and `assertSafeRef` for the `-a "<ref>"` one. The value check alone is not enough, and saying so
26
+ * here is the point: this doc previously reasoned only about the value, and the unchecked ref was
27
+ * a command-injection path through `security -i` for anything that could influence a wallet id.
26
28
  */
27
29
  import type { SecretStore } from "./secret-store";
28
30
  export interface ExecResult {
@@ -1 +1 @@
1
- {"version":3,"file":"keychain-secret-store.d.ts","sourceRoot":"","sources":["../src/keychain-secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA4BjD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAiC5F,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;gBAEjB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO;IAK9E;;;;;OAKG;IACH,MAAM,CAAC,MAAM,IAAI,mBAAmB,GAAG,IAAI;IAMrC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAS/C"}
1
+ {"version":3,"file":"keychain-secret-store.d.ts","sourceRoot":"","sources":["../src/keychain-secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAsDjD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAiC5F,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;gBAEjB,IAAI,GAAE;QAAE,OAAO,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAO;IAK9E;;;;;OAKG;IACH,MAAM,CAAC,MAAM,IAAI,mBAAmB,GAAG,IAAI;IAMrC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAa9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY/C"}
@@ -60,14 +60,17 @@ export declare class InMemorySecretStore implements SecretStore {
60
60
  * re-derive the key even after {@link PBKDF2_ITERATIONS} is raised for new entries later.
61
61
  * - Encryption: AES-GCM-256, a random {@link IV_LENGTH_BYTES}-byte IV generated fresh for every
62
62
  * `set` call (never reused across entries or across overwrites of the same entry).
63
- * - At rest: one JSON object per file, one salt/iv/iterations/ciphertext record per `walletRef`.
64
- * The ciphertext is AES-GCM's own output (ciphertext + auth tag), so a wrong passphrase
65
- * derives the wrong key and `crypto.subtle.decrypt` throws on the auth-tag check -- it can
66
- * never silently return garbage plaintext instead of the real PEM.
63
+ * - At rest: one JSON object per file (mode 0600, parent directory 0700), one
64
+ * salt/iv/iterations/ciphertext record per `walletRef`. The ciphertext is AES-GCM's own output
65
+ * (ciphertext + auth tag), so a wrong passphrase derives the wrong key and
66
+ * `crypto.subtle.decrypt` throws on the auth-tag check -- it can never silently return garbage
67
+ * plaintext instead of the real PEM. Writes go to a temp file in the same directory and are
68
+ * renamed over the real path, so an interrupted write cannot leave a half-written file.
67
69
  *
68
70
  * Not safe for concurrent writers against the same file: `set` and `delete` both do a
69
71
  * read-modify-write of the whole file, so two concurrent calls (same process or different
70
- * processes) against the same `path` can race and lose one write.
72
+ * processes) against the same `path` can race and lose one write. The atomic rename bounds the
73
+ * damage to a lost update; it does not make the read-modify-write itself safe.
71
74
  */
72
75
  export declare class EncryptedFileSecretStore implements SecretStore {
73
76
  private readonly path;
@@ -77,6 +80,21 @@ export declare class EncryptedFileSecretStore implements SecretStore {
77
80
  set(walletRef: string, privateKeyPem: string): Promise<void>;
78
81
  delete(walletRef: string): Promise<void>;
79
82
  private readFile;
83
+ /**
84
+ * Write the whole store, owner-only and atomically. Mirrors `writeContents` in the CLI's
85
+ * secret-store.ts, which has done both from the start; this copy did neither.
86
+ *
87
+ * The modes matter because the file holds signer ciphertext whose only protection is a
88
+ * PBKDF2 passphrase: created with no `mode`, a normal `umask 022` left the directory 0755 and
89
+ * the file 0644, so any other local account could copy the ciphertext and attack the passphrase
90
+ * offline, at its leisure. `chmod` runs after `mkdir`/`writeFile` because the `mode` options
91
+ * apply only when the entry is newly created, and a directory or leftover temp file from an
92
+ * earlier run would otherwise keep its old, wider mode.
93
+ *
94
+ * The rename matters because `set` and `delete` rewrite the entire file: truncating it in place
95
+ * means an interrupted write loses EVERY stored signer, not just the entry being changed.
96
+ * `rename` within one directory is atomic, so a reader sees either the old file or the new one.
97
+ */
80
98
  private writeFile;
81
99
  }
82
100
  //# sourceMappingURL=secret-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../src/secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC9C,2FAA2F;IAC3F,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,wFAAwF;IACxF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzC;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAE9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C;AA6CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,wBAAyB,YAAW,WAAW;IAExD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAG/B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoB9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAOhC,QAAQ;YAWR,SAAS;CAMxB"}
1
+ {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../src/secret-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,6FAA6F;IAC7F,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAC9C,2FAA2F;IAC3F,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,wFAAwF;IACxF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzC;AAED;;;;;GAKG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAE9C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/C;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,wBAAyB,YAAW,WAAW;IAExD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;IAG/B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoB9C,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAShC,QAAQ;IAWtB;;;;;;;;;;;;;;OAcG;YACW,SAAS;CAWxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-import.d.ts","sourceRoot":"","sources":["../src/wallet-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAeH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE1C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CA0B3D;AAkBD,MAAM,WAAW,sBAAsB;IACrC,kGAAkG;IAClG,KAAK,EAAE,WAAW,CAAA;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,4GAA4G;IAC5G,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAY/G;AAED,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,aAAa,EAAE,MAAM,CAAA;IACrB,iHAAiH;IACjH,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAUpE"}
1
+ {"version":3,"file":"wallet-import.d.ts","sourceRoot":"","sources":["../src/wallet-import.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAeH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE1C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAsC3D;AAuBD,MAAM,WAAW,sBAAsB;IACrC,kGAAkG;IAClG,KAAK,EAAE,WAAW,CAAA;IAClB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,4GAA4G;IAC5G,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,0FAA0F;IAC1F,UAAU,EAAE,MAAM,CAAA;IAClB,oGAAoG;IACpG,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAY/G;AAED,MAAM,WAAW,aAAa;IAC5B,iGAAiG;IACjG,aAAa,EAAE,MAAM,CAAA;IACrB,iHAAiH;IACjH,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,aAAa,CAAC,CAUpE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@candledottv/agent-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "TypeScript SDK for the Candle agent rail: typed headless launches, market reads, and webhook verification",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -17,7 +17,7 @@
17
17
  "url": "git+https://github.com/candledottv/agentic.git",
18
18
  "directory": "packages/sdk"
19
19
  },
20
- "homepage": "https://docs.candle.tv/developers/agent-sdk",
20
+ "homepage": "https://docs.candle.tv/developers/sdk",
21
21
  "bugs": {
22
22
  "url": "https://github.com/candledottv/agentic/issues"
23
23
  },