@artblocks/abx-storage 0.1.0-alpha.4 → 0.1.0-alpha.41

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 (48) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/arweave.d.ts +45 -44
  3. package/dist/arweave.d.ts.map +1 -1
  4. package/dist/arweave.js +98 -155
  5. package/dist/arweave.js.map +1 -1
  6. package/dist/backend.d.ts +1 -4
  7. package/dist/backend.d.ts.map +1 -1
  8. package/dist/backend.js +4 -33
  9. package/dist/backend.js.map +1 -1
  10. package/dist/content-index.d.ts.map +1 -1
  11. package/dist/content-index.js +3 -1
  12. package/dist/content-index.js.map +1 -1
  13. package/dist/content-plan.d.ts +78 -0
  14. package/dist/content-plan.d.ts.map +1 -0
  15. package/dist/content-plan.js +68 -0
  16. package/dist/content-plan.js.map +1 -0
  17. package/dist/fs.d.ts.map +1 -1
  18. package/dist/fs.js +3 -1
  19. package/dist/fs.js.map +1 -1
  20. package/dist/index.d.ts +7 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +7 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/ipfs.d.ts +17 -1
  25. package/dist/ipfs.d.ts.map +1 -1
  26. package/dist/ipfs.js +60 -2
  27. package/dist/ipfs.js.map +1 -1
  28. package/dist/migrate.d.ts +37 -0
  29. package/dist/migrate.d.ts.map +1 -0
  30. package/dist/migrate.js +55 -0
  31. package/dist/migrate.js.map +1 -0
  32. package/dist/probe.d.ts +66 -0
  33. package/dist/probe.d.ts.map +1 -0
  34. package/dist/probe.js +155 -0
  35. package/dist/probe.js.map +1 -0
  36. package/dist/readiness.d.ts +158 -0
  37. package/dist/readiness.d.ts.map +1 -0
  38. package/dist/readiness.js +183 -0
  39. package/dist/readiness.js.map +1 -0
  40. package/dist/upload-readiness.d.ts +89 -0
  41. package/dist/upload-readiness.d.ts.map +1 -0
  42. package/dist/upload-readiness.js +85 -0
  43. package/dist/upload-readiness.js.map +1 -0
  44. package/dist/upload.d.ts +28 -0
  45. package/dist/upload.d.ts.map +1 -0
  46. package/dist/upload.js +41 -0
  47. package/dist/upload.js.map +1 -0
  48. package/package.json +17 -9
package/CHANGELOG.md ADDED
@@ -0,0 +1,69 @@
1
+ # @artblocks/abx-storage
2
+
3
+ ## 0.1.0-alpha.41
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [8ccbede]
8
+ - @artblocks/abx-sdk@0.1.0-alpha.41
9
+
10
+ ## 0.1.0-alpha.40
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [b9197bc]
15
+ - @artblocks/abx-sdk@0.1.0-alpha.40
16
+
17
+ ## 0.1.0-alpha.39
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies [3d7fe3c]
22
+ - Updated dependencies [7b462e2]
23
+ - @artblocks/abx-sdk@0.1.0-alpha.39
24
+
25
+ ## 0.1.0-alpha.38
26
+
27
+ ### Patch Changes
28
+
29
+ - Updated dependencies [c2400a7]
30
+ - @artblocks/abx-sdk@0.1.0-alpha.38
31
+
32
+ ## 0.1.0-alpha.37
33
+
34
+ ### Patch Changes
35
+
36
+ - Updated dependencies [4512962]
37
+ - @artblocks/abx-sdk@0.1.0-alpha.37
38
+
39
+ ## 0.1.0-alpha.36
40
+
41
+ ### Patch Changes
42
+
43
+ - Updated dependencies [5522192]
44
+ - @artblocks/abx-sdk@0.1.0-alpha.36
45
+
46
+ ## 0.1.0-alpha.35
47
+
48
+ ### Patch Changes
49
+
50
+ - Updated dependencies [21e3d6c]
51
+ - Updated dependencies [a73922c]
52
+ - @artblocks/abx-sdk@0.1.0-alpha.35
53
+
54
+ ## 0.1.0-alpha.34
55
+
56
+ ### Patch Changes
57
+
58
+ - Updated dependencies [3ddba71]
59
+ - Updated dependencies [9065128]
60
+ - @artblocks/abx-sdk@0.1.0-alpha.34
61
+
62
+ ## 0.1.0-alpha.33
63
+
64
+ ### Patch Changes
65
+
66
+ - 9242a05: Prepare package metadata, release notes, and public-facing source comments for the initial public
67
+ source release.
68
+ - Updated dependencies [9242a05]
69
+ - @artblocks/abx-sdk@0.1.0-alpha.33
package/dist/arweave.d.ts CHANGED
@@ -10,10 +10,16 @@ import { type ArweaveJwk } from './arweave-identity.js';
10
10
  * Upload must go through a bundler that signs an ANS-104 data item, so the uploader is a
11
11
  * **swappable provider** behind {@link ArweaveUploader}:
12
12
  *
13
- * - **`turbo`** (default, recommended) — {@link TurboUploader}, backed by ArDrive Turbo. Uploads
14
- * under 100 KiB are **free with no setup**; larger uploads draw on prepaid credits you top up
15
- * with a card (or crypto). Lazy-loads the optional `@ardrive/turbo-sdk` only when an upload or
16
- * top-up actually runs, so the retrieve-only resolver path stays dependency-free.
13
+ * - **`turbo`** (default, recommended) — backed by ArDrive Turbo. Uploads under 100 KiB are
14
+ * **free with no setup**; larger uploads draw on prepaid credits you top up with a card (or
15
+ * crypto). The actual Turbo/arbundles implementation lives in the SEPARATE, OPTIONAL
16
+ * `@artblocks/abx-storage-arweave` package — `@ardrive/turbo-sdk` depends on
17
+ * `x402-fetch` -> `x402` -> `wagmi`, which drags in the entire browser wallet-connector
18
+ * ecosystem, so a default CLI/SDK install must never pull it in. `buildUploader` below
19
+ * `await import()`s it only when an upload/balance/top-up actually runs — never for retrieval
20
+ * (get/locator/health) and never merely because `arweave` is the configured backend — and
21
+ * throws a clear "install this package" error if it isn't present. `npm install
22
+ * @artblocks/abx-storage-arweave` to use it.
17
23
  * - **`http-bundler`** — {@link HttpBundlerUploader}, a dep-free token-authenticated POST to a
18
24
  * managed endpoint you run/point at (the escape hatch / bring-your-own-bundler).
19
25
  *
@@ -161,15 +167,6 @@ export declare function isEthIdentity(id: TurboIdentity): id is Extract<TurboIde
161
167
  /** The credit-holding / signing address for an identity — Arweave `base64url(sha256(n))` or an
162
168
  * EVM `0x…`. Pure derivation, no network. Its balance is what `abx storage balance` reports. */
163
169
  export declare function turboIdentityAddress(id: TurboIdentity): string;
164
- /**
165
- * The Arweave data-item id from a Turbo `uploadFile` response. Normally `res.id`; but Turbo
166
- * **deduplicates identical bytes** — a re-upload of the same data item (same signer + tags + bytes →
167
- * same deterministic id) returns a plain-text `"Data item with ID <id> has already been uploaded to
168
- * this service!"` instead of the usual JSON. Both are success: the bytes ARE on Turbo. We extract
169
- * the 43-char base64url txid so idempotent re-uploads (retries, redeploys, duplicate images in a
170
- * series) resolve to the real locator instead of throwing. Returns null if no id is present.
171
- */
172
- export declare function turboUploadId(res: unknown): string | null;
173
170
  /** Dep-free uploader for token-authenticated managed Arweave upload endpoints. */
174
171
  export declare class HttpBundlerUploader implements ArweaveUploader {
175
172
  private readonly cfg;
@@ -181,31 +178,6 @@ export declare class HttpBundlerUploader implements ArweaveUploader {
181
178
  id: string;
182
179
  }>;
183
180
  }
184
- /**
185
- * ArDrive Turbo uploader — the recommended Arweave path. Lazy-loads the optional
186
- * `@ardrive/turbo-sdk` only when an upload / balance / top-up actually runs (the retrieve-only
187
- * resolver never touches it). The signing {@link TurboIdentity} is multi-chain: the CLI-managed
188
- * Arweave JWK (default), an `.env` EVM key, or a remote browser wallet — each both signs uploads
189
- * and holds the prepaid credits at its own address.
190
- */
191
- export declare class TurboUploader implements ArweaveUploader {
192
- private readonly identity;
193
- constructor(identity: TurboIdentity);
194
- private sdk;
195
- /** arbundles (the signing lib Turbo uses) — for `InjectedEthereumSigner`, which turbo-sdk does NOT
196
- * re-export. Optional dep, loaded only on the remote-wallet upload path. */
197
- private arbundles;
198
- private clientPromise?;
199
- private client;
200
- /** Authenticate a Turbo client for the selected identity. Arweave uses the JWK directly; an EVM
201
- * identity uses an arbundles `EthereumSigner` (local key) or `InjectedEthereumSigner` (remote
202
- * wallet) — the SDK re-exports both, so no direct arbundles dependency. */
203
- private buildClient;
204
- upload(bytes: Uint8Array, contentType: string): Promise<{
205
- id: string;
206
- }>;
207
- readonly funding: ArweaveFunding;
208
- }
209
181
  /** The upload route for a config: explicit `provider`, else `http-bundler` when an `uploadUrl`
210
182
  * is set, else the recommended `turbo`. */
211
183
  export declare function arweaveProvider(cfg: ArweaveConfig): ArweaveProvider;
@@ -214,7 +186,7 @@ export declare function arweaveProvider(cfg: ArweaveConfig): ArweaveProvider;
214
186
  * none — capability negotiation, so `abx storage topup`/`balance` dispatch through one verb and
215
187
  * a crypto-only provider says "fund the wallet directly" rather than pretending.
216
188
  */
217
- export declare function arweaveFunding(cfg: ArweaveConfig): ArweaveFunding;
189
+ export declare function arweaveFunding(cfg: ArweaveConfig): Promise<ArweaveFunding>;
218
190
  export declare class ArweaveBackend implements StorageBackend {
219
191
  private readonly cfg;
220
192
  readonly id = "arweave";
@@ -223,13 +195,17 @@ export declare class ArweaveBackend implements StorageBackend {
223
195
  private readonly injectedUploader?;
224
196
  constructor(cfg: ArweaveConfig, dataDir?: string, uploader?: ArweaveUploader);
225
197
  /** Built lazily on first use — retrieval (get/locator/health, the resolver path) needs only the
226
- * gateway, never an upload identity or the Turbo SDK. `mint` (passed by the write ops) lets a
227
- * managed default create its key here; reads/probes pass false so they never mint. */
198
+ * gateway, never an upload identity or the optional Turbo package. `mint` (passed by the write
199
+ * ops) lets a managed default create its key here; reads/probes pass false so they never mint.
200
+ * `??=` short-circuits on an already-built or explicitly injected uploader, so the `turbo` path
201
+ * never awaits (and so never triggers) `buildUploader`'s `@artblocks/abx-storage-arweave` import
202
+ * unless one is actually needed. */
228
203
  private uploader;
229
204
  /** Funding capability of the active provider, or null if it has none (e.g. http-bundler) or
230
- * can't yet be built (e.g. Turbo without an identity key). The CLI uses {@link arweaveFunding}
231
- * directly for an actionable error; this accessor is the safe boolean-ish capability probe. */
232
- funding(): ArweaveFunding | null;
205
+ * can't yet be built (e.g. Turbo without an identity key, or the optional package not installed).
206
+ * The CLI uses {@link arweaveFunding} directly for an actionable error; this accessor is the safe
207
+ * boolean-ish capability probe. */
208
+ funding(): Promise<ArweaveFunding | null>;
233
209
  put(hash: Hex, content: StoredContent): Promise<void>;
234
210
  get(hash: Hex): Promise<StoredContent | null>;
235
211
  has(hash: Hex): Promise<boolean>;
@@ -256,4 +232,29 @@ export declare class ArweaveBackend implements StorageBackend {
256
232
  * secrets). `ABX_ARWEAVE_ETH_SIGNER_KEY` selects an EVM Turbo identity (the CLI usually sets this
257
233
  * from the resolved signing key instead). */
258
234
  export declare function arweaveConfigFromEnv(): ArweaveConfig;
235
+ /**
236
+ * Where the CLI keeps the Turbo identity it creates and manages on first upload.
237
+ *
238
+ * `dataDir`, when given, is the CALLER'S already-resolved data directory (the CLI passes its own
239
+ * `dataDir()` — see `config.ts`) — pass it whenever one is available so this can't disagree with
240
+ * wherever the caller's SQLite projection / content index live (the data-directory coherence
241
+ * criterion). Omit it only for a caller with no data-dir context of its own (e.g. an SDK
242
+ * integrator reading `arweaveConfigFromEnv()` directly), which falls back to the same centralized
243
+ * `resolveDataDir()` every other unparameterized call site uses.
244
+ */
245
+ export declare function arweaveKeyFilePath(dataDir?: string): string;
246
+ /**
247
+ * The ONE place either layer resolves an Arweave identity: `ARWEAVE_JWK` (an explicit, inline
248
+ * secret) if set, else the CLI-managed key file.
249
+ *
250
+ * That fallback is the whole point. The CLI mints and manages `.abx-self-host/arweave-key.json` on
251
+ * first upload, but this function used to read `ARWEAVE_JWK` and nothing else — so an integrator
252
+ * porting a working CLI flow to the SDK, on the same machine, minutes later, had every upload fail
253
+ * with "Arweave via Turbo needs an identity". The message said storage was never configured; the
254
+ * truth was that two layers disagreed about where the identity lives, and it named neither the file
255
+ * nor the mismatch. They reimplemented this lookup themselves to get moving.
256
+ *
257
+ * `dataDir` forwards straight to {@link arweaveKeyFilePath} — see its doc comment.
258
+ */
259
+ export declare function resolveArweaveJwk(dataDir?: string): ArweaveJwk | undefined;
259
260
  //# sourceMappingURL=arweave.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../src/arweave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../src/arweave.ts"],"names":[],"mappings":"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"}
package/dist/arweave.js CHANGED
@@ -1,3 +1,6 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { resolve as resolvePath } from 'node:path';
3
+ import { resolveDataDir } from '@artblocks/abx-sdk/node';
1
4
  import { privateKeyToAccount } from 'viem/accounts';
2
5
  import { ContentIndex } from './content-index.js';
3
6
  import { arweaveAddress } from './arweave-identity.js';
@@ -120,7 +123,6 @@ export function isEthIdentity(id) {
120
123
  return id.kind === 'ethereum' || id.kind === 'ethereum-remote';
121
124
  }
122
125
  const withHexPrefix = (k) => (k.startsWith('0x') ? k : `0x${k}`);
123
- const stripHexPrefix = (k) => (k.startsWith('0x') ? k.slice(2) : k);
124
126
  /** The credit-holding / signing address for an identity — Arweave `base64url(sha256(n))` or an
125
127
  * EVM `0x…`. Pure derivation, no network. Its balance is what `abx storage balance` reports. */
126
128
  export function turboIdentityAddress(id) {
@@ -134,42 +136,11 @@ export function turboIdentityAddress(id) {
134
136
  }
135
137
  }
136
138
  const trim = (u) => u.replace(/\/+$/, '');
137
- /** Coerce a Turbo `uploadFile` response to text. It's normally an object, but the idempotent
138
- * "already uploaded" path returns a plain string (which JSON/stream layers may surface as a
139
- * char-indexed object) — Object.values(...).join('') recovers it either way. */
140
- function turboResponseText(res) {
141
- if (typeof res === 'string')
142
- return res;
143
- if (res && typeof res === 'object') {
144
- if ('id' in res && res.id)
145
- return String(res.id);
146
- try {
147
- return Object.values(res).join('');
148
- }
149
- catch {
150
- return '';
151
- }
152
- }
153
- return '';
154
- }
155
- /**
156
- * The Arweave data-item id from a Turbo `uploadFile` response. Normally `res.id`; but Turbo
157
- * **deduplicates identical bytes** — a re-upload of the same data item (same signer + tags + bytes →
158
- * same deterministic id) returns a plain-text `"Data item with ID <id> has already been uploaded to
159
- * this service!"` instead of the usual JSON. Both are success: the bytes ARE on Turbo. We extract
160
- * the 43-char base64url txid so idempotent re-uploads (retries, redeploys, duplicate images in a
161
- * series) resolve to the real locator instead of throwing. Returns null if no id is present.
162
- */
163
- export function turboUploadId(res) {
164
- if (res && typeof res === 'object' && 'id' in res && res.id) {
165
- return String(res.id);
166
- }
167
- const m = turboResponseText(res).match(/\bID\s+([A-Za-z0-9_-]{43})\b/);
168
- return m ? m[1] : null;
169
- }
170
- /** Optional deps, loaded lazily via indirect specifiers so they're not required to install/build. */
171
- const TURBO_SDK_PACKAGE = '@ardrive/turbo-sdk';
172
- const ARBUNDLES_PACKAGE = '@dha-team/arbundles';
139
+ /** The optional package carrying the Turbo/arbundles implementation — loaded lazily
140
+ * via an INDIRECT specifier (a variable, not a string literal) so TypeScript resolves the
141
+ * `import()` below as `any` instead of trying to resolve real types for a package this file
142
+ * deliberately has no build-time dependency on (see the module doc and {@link buildUploader}). */
143
+ const TURBO_ARWEAVE_PACKAGE = '@artblocks/abx-storage-arweave';
173
144
  const WINC_PER_CREDIT = 1e12;
174
145
  const wincToCredits = (winc) => {
175
146
  const n = Number(winc) / WINC_PER_CREDIT;
@@ -198,115 +169,34 @@ export class HttpBundlerUploader {
198
169
  return { id: String(id) };
199
170
  }
200
171
  }
201
- /**
202
- * ArDrive Turbo uploader — the recommended Arweave path. Lazy-loads the optional
203
- * `@ardrive/turbo-sdk` only when an upload / balance / top-up actually runs (the retrieve-only
204
- * resolver never touches it). The signing {@link TurboIdentity} is multi-chain: the CLI-managed
205
- * Arweave JWK (default), an `.env` EVM key, or a remote browser wallet — each both signs uploads
206
- * and holds the prepaid credits at its own address.
207
- */
208
- export class TurboUploader {
209
- identity;
210
- constructor(identity) {
211
- this.identity = identity;
212
- if (identity.kind === 'arweave' && !identity.jwk?.n) {
213
- throw new Error('Turbo needs an Arweave identity key (JWK). The CLI manages one at `.abx-self-host/arweave-key.json` — or set ARWEAVE_JWK, or use `--provider http-bundler`.');
214
- }
215
- if (identity.kind === 'ethereum' && !identity.privateKey) {
216
- throw new Error('Turbo Ethereum identity needs a private key.');
217
- }
218
- }
219
- async sdk() {
220
- try {
221
- // Indirect specifier: keeps the OPTIONAL dep out of the type graph so the package
222
- // type-checks and runs without it installed (the retrieve-only resolver path never calls this).
223
- return await import(/* @vite-ignore */ TURBO_SDK_PACKAGE);
224
- }
225
- catch {
226
- throw new Error("The Turbo provider needs the optional '@ardrive/turbo-sdk' package — install it (`pnpm add @ardrive/turbo-sdk`), or switch with `--backend arweave --provider http-bundler --upload-url <bundler>`.");
227
- }
228
- }
229
- /** arbundles (the signing lib Turbo uses) — for `InjectedEthereumSigner`, which turbo-sdk does NOT
230
- * re-export. Optional dep, loaded only on the remote-wallet upload path. */
231
- async arbundles() {
232
- try {
233
- return await import(/* @vite-ignore */ ARBUNDLES_PACKAGE);
234
- }
235
- catch {
236
- throw new Error("The browser-wallet Arweave upload lane needs the optional '@dha-team/arbundles' package — install it (`pnpm add @dha-team/arbundles`), or use `--storage-signer eth` with a key in .env, or the managed Arweave key.");
237
- }
238
- }
239
- clientPromise;
240
- client() {
241
- return (this.clientPromise ??= this.buildClient());
242
- }
243
- /** Authenticate a Turbo client for the selected identity. Arweave uses the JWK directly; an EVM
244
- * identity uses an arbundles `EthereumSigner` (local key) or `InjectedEthereumSigner` (remote
245
- * wallet) — the SDK re-exports both, so no direct arbundles dependency. */
246
- async buildClient() {
247
- const m = await this.sdk();
248
- const id = this.identity;
249
- if (id.kind === 'arweave') {
250
- return m.TurboFactory.authenticated({ privateKey: id.jwk, token: 'arweave' });
251
- }
252
- if (id.kind === 'ethereum') {
253
- const signer = new m.EthereumSigner(stripHexPrefix(id.privateKey));
254
- return m.TurboFactory.authenticated({ signer, token: 'ethereum' });
255
- }
256
- // ethereum-remote: drive arbundles' own InjectedEthereumSigner via a provider shim that
257
- // round-trips each signMessage to the browser wallet. arbundles calls `signer.signMessage(msg)`
258
- // with a STRING challenge (setPublicKey → pubkey recovery, one prompt) and a Uint8Array per data
259
- // item, and expects back a `0x…` hex signature (it does `sig.slice(2)`). ethers'
260
- // signMessage(string) ≡ signMessage(utf8Bytes(string)), so normalizing to bytes is faithful.
261
- // NOTE: turbo-sdk re-exports EthereumSigner but NOT InjectedEthereumSigner — import it from
262
- // arbundles (the same package turbo signs with) directly.
263
- const { InjectedEthereumSigner } = await this.arbundles();
264
- const signMessage = id.signMessage;
265
- const provider = {
266
- getSigner: () => ({
267
- signMessage: (message) => signMessage(typeof message === 'string' ? new TextEncoder().encode(message) : Uint8Array.from(message)),
268
- }),
269
- };
270
- const signer = new InjectedEthereumSigner(provider);
271
- await signer.setPublicKey();
272
- return m.TurboFactory.authenticated({ signer, token: 'ethereum' });
273
- }
274
- async upload(bytes, contentType) {
275
- const turbo = await this.client();
276
- const { Readable } = await import('node:stream');
277
- const buf = Buffer.from(bytes);
278
- const res = await turbo.uploadFile({
279
- fileStreamFactory: () => Readable.from(buf),
280
- fileSizeFactory: () => buf.byteLength,
281
- dataItemOpts: { tags: [{ name: 'Content-Type', value: contentType }] },
282
- });
283
- const id = turboUploadId(res);
284
- if (!id)
285
- throw new Error(`Turbo upload returned no transaction id (response: ${turboResponseText(res).slice(0, 200)})`);
286
- return { id };
287
- }
288
- funding = {
289
- address: async () => turboIdentityAddress(this.identity),
290
- balance: async () => {
291
- const turbo = await this.client();
292
- const { winc } = (await turbo.getBalance());
293
- return { winc: String(winc), credits: wincToCredits(winc) };
294
- },
295
- topup: async ({ usd }) => {
296
- const [turbo, m] = await Promise.all([this.client(), this.sdk()]);
297
- const session = (await turbo.createCheckoutSession({ amount: m.USD(usd), owner: turboIdentityAddress(this.identity) }));
298
- if (!session?.url)
299
- throw new Error('Turbo top-up returned no checkout URL');
300
- return { url: String(session.url), winc: String(session.winc ?? '') };
301
- },
302
- };
303
- }
304
172
  /** The upload route for a config: explicit `provider`, else `http-bundler` when an `uploadUrl`
305
173
  * is set, else the recommended `turbo`. */
306
174
  export function arweaveProvider(cfg) {
307
175
  return cfg.provider ?? (cfg.uploadUrl ? 'http-bundler' : 'turbo');
308
176
  }
309
- function buildUploader(cfg, opts = {}) {
177
+ /**
178
+ * Loads the optional `@artblocks/abx-storage-arweave` package and constructs its `TurboUploader`
179
+ * for `id` — the ONLY place this file reaches for that package, and only on this call path (never
180
+ * for retrieval/health). A clean install of `@artblocks/abx-cli` / `@artblocks/abx-storage` never
181
+ * installs it; this throws the actionable "install it, or switch provider" error the
182
+ * unavailable-adapter case needs.
183
+ *
184
+ * `TURBO_ARWEAVE_PACKAGE` is a variable, not a string literal, specifically so TypeScript types the
185
+ * `import()` result as `any` instead of trying (and failing) to resolve real declarations for a
186
+ * package this file has no build-time dependency on — this package's build/typecheck/test never
187
+ * needs `@artblocks/abx-storage-arweave` to be installed at all.
188
+ */
189
+ async function loadTurboUploader(id) {
190
+ let mod;
191
+ try {
192
+ mod = await import(/* @vite-ignore */ TURBO_ARWEAVE_PACKAGE);
193
+ }
194
+ catch {
195
+ throw new Error("The Turbo provider needs the optional '@artblocks/abx-storage-arweave' package — install it (`npm install @artblocks/abx-storage-arweave`), or switch with `--backend arweave --provider http-bundler --upload-url <bundler>`.");
196
+ }
197
+ return new mod.TurboUploader(id);
198
+ }
199
+ async function buildUploader(cfg, opts = {}) {
310
200
  if (arweaveProvider(cfg) === 'http-bundler') {
311
201
  return new HttpBundlerUploader({ uploadUrl: cfg.uploadUrl, token: cfg.token });
312
202
  }
@@ -317,15 +207,15 @@ function buildUploader(cfg, opts = {}) {
317
207
  if (!id) {
318
208
  throw new Error('Arweave via Turbo needs an identity. Run an upload through the CLI (it creates a managed key at `.abx-self-host/arweave-key.json`), set ARWEAVE_JWK, sign with an EVM key/wallet (`--storage-signer eth`), or use `--provider http-bundler --upload-url <bundler>`.');
319
209
  }
320
- return new TurboUploader(id);
210
+ return loadTurboUploader(id);
321
211
  }
322
212
  /**
323
213
  * The funding capability for a config's provider, or throw a clear reason if that provider has
324
214
  * none — capability negotiation, so `abx storage topup`/`balance` dispatch through one verb and
325
215
  * a crypto-only provider says "fund the wallet directly" rather than pretending.
326
216
  */
327
- export function arweaveFunding(cfg) {
328
- const f = buildUploader(cfg).funding;
217
+ export async function arweaveFunding(cfg) {
218
+ const f = (await buildUploader(cfg)).funding;
329
219
  if (!f)
330
220
  throw new Error(`The '${arweaveProvider(cfg)}' Arweave provider has no prepaid balance — fund its wallet directly.`);
331
221
  return f;
@@ -342,24 +232,29 @@ export class ArweaveBackend {
342
232
  this.injectedUploader = uploader;
343
233
  }
344
234
  /** Built lazily on first use — retrieval (get/locator/health, the resolver path) needs only the
345
- * gateway, never an upload identity or the Turbo SDK. `mint` (passed by the write ops) lets a
346
- * managed default create its key here; reads/probes pass false so they never mint. */
347
- uploader(mint = false) {
348
- return (this.uploaderInstance ??= this.injectedUploader ?? buildUploader(this.cfg, { mint }));
235
+ * gateway, never an upload identity or the optional Turbo package. `mint` (passed by the write
236
+ * ops) lets a managed default create its key here; reads/probes pass false so they never mint.
237
+ * `??=` short-circuits on an already-built or explicitly injected uploader, so the `turbo` path
238
+ * never awaits (and so never triggers) `buildUploader`'s `@artblocks/abx-storage-arweave` import
239
+ * unless one is actually needed. */
240
+ async uploader(mint = false) {
241
+ return (this.uploaderInstance ??= this.injectedUploader ?? (await buildUploader(this.cfg, { mint })));
349
242
  }
350
243
  /** Funding capability of the active provider, or null if it has none (e.g. http-bundler) or
351
- * can't yet be built (e.g. Turbo without an identity key). The CLI uses {@link arweaveFunding}
352
- * directly for an actionable error; this accessor is the safe boolean-ish capability probe. */
353
- funding() {
244
+ * can't yet be built (e.g. Turbo without an identity key, or the optional package not installed).
245
+ * The CLI uses {@link arweaveFunding} directly for an actionable error; this accessor is the safe
246
+ * boolean-ish capability probe. */
247
+ async funding() {
354
248
  try {
355
- return this.uploader(false).funding ?? null;
249
+ return (await this.uploader(false)).funding ?? null;
356
250
  }
357
251
  catch {
358
252
  return null;
359
253
  }
360
254
  }
361
255
  async put(hash, content) {
362
- const { id } = await this.uploader(true).upload(content.bytes, content.contentType);
256
+ const uploader = await this.uploader(true);
257
+ const { id } = await uploader.upload(content.bytes, content.contentType);
363
258
  this.index.set(hash, { pointer: id, contentType: content.contentType });
364
259
  }
365
260
  async get(hash) {
@@ -391,7 +286,7 @@ export class ArweaveBackend {
391
286
  * permanent, content-addressed root → integrity for the whole set, no per-file keccak needed.
392
287
  */
393
288
  async putDirectory(entries) {
394
- const up = this.uploader(true);
289
+ const up = await this.uploader(true);
395
290
  const paths = {};
396
291
  for (const e of entries) {
397
292
  const { id } = await up.upload(e.bytes, e.contentType);
@@ -440,10 +335,58 @@ export function arweaveConfigFromEnv() {
440
335
  provider: process.env.ABX_ARWEAVE_PROVIDER,
441
336
  uploadUrl: process.env.ABX_ARWEAVE_UPLOAD_URL,
442
337
  token: process.env.ARWEAVE_UPLOAD_TOKEN,
443
- jwk: parseJwkEnv(process.env.ARWEAVE_JWK),
338
+ jwk: resolveArweaveJwk(),
444
339
  ethSignerKey: process.env.ABX_ARWEAVE_ETH_SIGNER_KEY,
445
340
  };
446
341
  }
342
+ /**
343
+ * Where the CLI keeps the Turbo identity it creates and manages on first upload.
344
+ *
345
+ * `dataDir`, when given, is the CALLER'S already-resolved data directory (the CLI passes its own
346
+ * `dataDir()` — see `config.ts`) — pass it whenever one is available so this can't disagree with
347
+ * wherever the caller's SQLite projection / content index live (the data-directory coherence
348
+ * criterion). Omit it only for a caller with no data-dir context of its own (e.g. an SDK
349
+ * integrator reading `arweaveConfigFromEnv()` directly), which falls back to the same centralized
350
+ * `resolveDataDir()` every other unparameterized call site uses.
351
+ */
352
+ export function arweaveKeyFilePath(dataDir) {
353
+ const dir = dataDir ?? resolveDataDir().dir;
354
+ return process.env.ABX_ARWEAVE_KEY_FILE ?? resolvePath(dir, 'arweave-key.json');
355
+ }
356
+ /**
357
+ * The ONE place either layer resolves an Arweave identity: `ARWEAVE_JWK` (an explicit, inline
358
+ * secret) if set, else the CLI-managed key file.
359
+ *
360
+ * That fallback is the whole point. The CLI mints and manages `.abx-self-host/arweave-key.json` on
361
+ * first upload, but this function used to read `ARWEAVE_JWK` and nothing else — so an integrator
362
+ * porting a working CLI flow to the SDK, on the same machine, minutes later, had every upload fail
363
+ * with "Arweave via Turbo needs an identity". The message said storage was never configured; the
364
+ * truth was that two layers disagreed about where the identity lives, and it named neither the file
365
+ * nor the mismatch. They reimplemented this lookup themselves to get moving.
366
+ *
367
+ * `dataDir` forwards straight to {@link arweaveKeyFilePath} — see its doc comment.
368
+ */
369
+ export function resolveArweaveJwk(dataDir) {
370
+ const fromEnv = parseJwkEnv(process.env.ARWEAVE_JWK);
371
+ if (fromEnv)
372
+ return fromEnv;
373
+ const file = arweaveKeyFilePath(dataDir);
374
+ if (!existsSync(file))
375
+ return undefined;
376
+ const raw = readFileSync(file, 'utf8');
377
+ if (raw.trim() === '') {
378
+ // An empty key file is a real state (an interrupted first upload), and the bare parser error it
379
+ // used to produce — "Unexpected end of JSON input" from `abx doctor` — pointed at a parser
380
+ // rather than the file or the remedy.
381
+ throw new Error(`Arweave key file ${file} is empty — delete it and re-run; the CLI mints a fresh managed identity on the next upload.`);
382
+ }
383
+ try {
384
+ return JSON.parse(raw);
385
+ }
386
+ catch {
387
+ throw new Error(`Arweave key file ${file} is not valid JSON — delete it to regenerate, or point ABX_ARWEAVE_KEY_FILE at a valid JWK.`);
388
+ }
389
+ }
447
390
  function parseJwkEnv(raw) {
448
391
  if (!raw)
449
392
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"arweave.js","sourceRoot":"","sources":["../src/arweave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arweave.js","sourceRoot":"","sources":["../src/arweave.ts"],"names":[],"mappings":"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"}
package/dist/backend.d.ts CHANGED
@@ -80,8 +80,5 @@ export interface StorageBackend {
80
80
  }
81
81
  /** keccak256 of arbitrary content bytes — the value committed on-chain (the image `keccak256` field). */
82
82
  export declare function hashContent(bytes: Uint8Array): Hex;
83
- /** Best-effort MIME type from a file path — a *labeled* extension-map fallback (the data plane's
84
- * declared-type rule permits it for locator forms; bytes are never sniffed). Unknown → the
85
- * honest floor, `application/octet-stream`. */
86
- export declare function contentTypeFromPath(path: string): string;
83
+ export { contentTypeFromPath } from '@artblocks/abx-sdk';
87
84
  //# sourceMappingURL=backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8FAA8F;AAC9F,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,yFAAyF;IACzF,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC9C,iEAAiE;IACjE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,8DAA8D;IAC9D,MAAM,CAAC,IAAI,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAE5D;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,gGAAgG;IAChG,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,yGAAyG;AACzG,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAElD;AAED;;gDAEgD;AAChD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA6BxD"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAC,MAAM,MAAM,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8FAA8F;AAC9F,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,yFAAyF;IACzF,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC9C,iEAAiE;IACjE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,8DAA8D;IAC9D,MAAM,CAAC,IAAI,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IACnD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5C;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAE5D;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/D,gGAAgG;IAChG,SAAS,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,yGAAyG;AACzG,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,GAAG,CAElD;AAKD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC"}