@artblocks/abx-storage 0.1.0-alpha.30 → 0.1.0-alpha.31
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/CHANGELOG.md +63 -0
- package/dist/arweave.d.ts +34 -47
- package/dist/arweave.d.ts.map +1 -1
- package/dist/arweave.js +64 -160
- package/dist/arweave.js.map +1 -1
- package/dist/content-index.d.ts.map +1 -1
- package/dist/content-index.js +3 -1
- package/dist/content-index.js.map +1 -1
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +3 -1
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ipfs.d.ts +17 -1
- package/dist/ipfs.d.ts.map +1 -1
- package/dist/ipfs.js +60 -2
- package/dist/ipfs.js.map +1 -1
- package/dist/probe.js +1 -1
- package/dist/probe.js.map +1 -1
- package/dist/upload-readiness.js +1 -1
- package/dist/upload-readiness.js.map +1 -1
- package/package.json +12 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,68 @@
|
|
|
1
1
|
# @artblocks/abx-storage
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.31
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c068a0f: `--backend ipfs` in `kubo` mode now supports directory upload (recursive add through a local Kubo
|
|
8
|
+
node's `/api/v0/add`), matching the `putDirectory` contract Pinata and Arweave already implement —
|
|
9
|
+
so a code drop or multi-file collection no longer needs a Pinata JWT to publish through a
|
|
10
|
+
self-hosted node. A truncated stream or a mid-stream Kubo error now fails the upload outright
|
|
11
|
+
instead of ever returning a CID for a partial directory.
|
|
12
|
+
- c068a0f: The ArDrive Turbo (Arweave) upload implementation moves out of `@artblocks/abx-storage` into a new,
|
|
13
|
+
separately-installed package, `@artblocks/abx-storage-arweave`. `@ardrive/turbo-sdk` depends on
|
|
14
|
+
`x402-fetch` -> `x402` -> `wagmi`, which drags in the entire browser wallet-connector ecosystem
|
|
15
|
+
(`@reown/appkit`, `@walletconnect/*`, `@metamask/sdk`, `@coinbase/wallet-sdk`, `@base-org/account`,
|
|
16
|
+
`porto`) — hundreds of megabytes a Node CLI never executes. `@artblocks/abx-storage` previously
|
|
17
|
+
listed it under `optionalDependencies`, which does not help: npm installs an optional dependency by
|
|
18
|
+
default whenever it installs successfully (it only tolerates install _failure_, e.g. `fsevents`).
|
|
19
|
+
|
|
20
|
+
A default install of `@artblocks/abx-cli` / `@artblocks/abx-storage` now installs none of it.
|
|
21
|
+
`--backend arweave` (provider `turbo`, the default) needs the new package installed explicitly:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @artblocks/abx-storage-arweave
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Without it, `--backend arweave` names this exact install command (or the dependency-free
|
|
28
|
+
`--provider http-bundler --upload-url <bundler>` alternative) instead of failing unhelpfully.
|
|
29
|
+
`@artblocks/abx-storage` declares the new package only as an _optional peer dependency_
|
|
30
|
+
(`peerDependenciesMeta.optional`), which — unlike `optionalDependencies` — is never auto-installed;
|
|
31
|
+
`ArweaveBackend` reaches it only through a lazy `await import()` at actual upload/balance/top-up
|
|
32
|
+
time, never for retrieval.
|
|
33
|
+
|
|
34
|
+
Breaking change for direct API consumers: `arweaveFunding()` and `ArweaveBackend#funding()` are now
|
|
35
|
+
async (they resolve the optional package on the `turbo` path). `TurboUploader` and `turboUploadId`
|
|
36
|
+
move to `@artblocks/abx-storage-arweave` and are no longer exported from `@artblocks/abx-storage`.
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- c068a0f: Local data-directory resolution (`.abx-self-host` / `ABX_DATA_DIR`) is now centralized in one SDK
|
|
41
|
+
resolver (`resolveDataDir` from `@artblocks/abx-sdk/node`) instead of five independent copies of the
|
|
42
|
+
same fallback across the CLI, indexer, and storage packages — the setup that could silently split a
|
|
43
|
+
project's SQLite projection from its managed Arweave key into two different directories.
|
|
44
|
+
|
|
45
|
+
A handful of READ commands (`status`, `state`, `verify`, `doctor`, `capabilities`, `tokens`,
|
|
46
|
+
`tokenuri`, `contracturi`, `inspect`, `minter show`) now search upward from the current directory,
|
|
47
|
+
git-style, for an already-existing `.abx-self-host` before falling back to creating one at cwd —
|
|
48
|
+
bounded at the home directory, a `.git` repository root, or the filesystem root, and never crossing
|
|
49
|
+
into an unrelated directory tree. Running one of these from a project subdirectory (e.g. a
|
|
50
|
+
`contracts/` folder) now finds the same node a run from the project root would, instead of quietly
|
|
51
|
+
reporting an empty one. `abx status`'s existing `data: <path>` line — and a new one-line notice —
|
|
52
|
+
name the directory whenever it was found this way. Every WRITE command is unaffected: it always
|
|
53
|
+
resolves strictly to the current directory, exactly as before, so nothing is ever created somewhere
|
|
54
|
+
you didn't `cd` into. `ABX_DATA_DIR`, when set, still always wins outright and disables the search
|
|
55
|
+
entirely.
|
|
56
|
+
|
|
57
|
+
- Updated dependencies [c068a0f]
|
|
58
|
+
- Updated dependencies [c068a0f]
|
|
59
|
+
- Updated dependencies [c068a0f]
|
|
60
|
+
- Updated dependencies [c068a0f]
|
|
61
|
+
- Updated dependencies [c068a0f]
|
|
62
|
+
- Updated dependencies [c068a0f]
|
|
63
|
+
- Updated dependencies [c068a0f]
|
|
64
|
+
- @artblocks/abx-sdk@0.1.0-alpha.31
|
|
65
|
+
|
|
3
66
|
## 0.1.0-alpha.30
|
|
4
67
|
|
|
5
68
|
### Patch Changes
|
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) —
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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 (issue #108) — `@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
|
|
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
|
|
231
|
-
* directly for an actionable error; this accessor is the safe
|
|
232
|
-
|
|
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,8 +232,17 @@ 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;
|
|
259
|
-
/**
|
|
260
|
-
|
|
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 (issue #121's 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;
|
|
261
246
|
/**
|
|
262
247
|
* The ONE place either layer resolves an Arweave identity: `ARWEAVE_JWK` (an explicit, inline
|
|
263
248
|
* secret) if set, else the CLI-managed key file.
|
|
@@ -268,6 +253,8 @@ export declare function arweaveKeyFilePath(): string;
|
|
|
268
253
|
* with "Arweave via Turbo needs an identity". The message said storage was never configured; the
|
|
269
254
|
* truth was that two layers disagreed about where the identity lives, and it named neither the file
|
|
270
255
|
* nor the mismatch. They reimplemented this lookup themselves to get moving.
|
|
256
|
+
*
|
|
257
|
+
* `dataDir` forwards straight to {@link arweaveKeyFilePath} — see its doc comment.
|
|
271
258
|
*/
|
|
272
|
-
export declare function resolveArweaveJwk(): ArweaveJwk | undefined;
|
|
259
|
+
export declare function resolveArweaveJwk(dataDir?: string): ArweaveJwk | undefined;
|
|
273
260
|
//# sourceMappingURL=arweave.d.ts.map
|
package/dist/arweave.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../src/arweave.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"arweave.d.ts","sourceRoot":"","sources":["../src/arweave.ts"],"names":[],"mappings":"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"}
|
package/dist/arweave.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
2
|
import { resolve as resolvePath } from 'node:path';
|
|
3
|
+
import { resolveDataDir } from '@artblocks/abx-sdk/node';
|
|
3
4
|
import { privateKeyToAccount } from 'viem/accounts';
|
|
4
5
|
import { ContentIndex } from './content-index.js';
|
|
5
6
|
import { arweaveAddress } from './arweave-identity.js';
|
|
@@ -122,7 +123,6 @@ export function isEthIdentity(id) {
|
|
|
122
123
|
return id.kind === 'ethereum' || id.kind === 'ethereum-remote';
|
|
123
124
|
}
|
|
124
125
|
const withHexPrefix = (k) => (k.startsWith('0x') ? k : `0x${k}`);
|
|
125
|
-
const stripHexPrefix = (k) => (k.startsWith('0x') ? k.slice(2) : k);
|
|
126
126
|
/** The credit-holding / signing address for an identity — Arweave `base64url(sha256(n))` or an
|
|
127
127
|
* EVM `0x…`. Pure derivation, no network. Its balance is what `abx storage balance` reports. */
|
|
128
128
|
export function turboIdentityAddress(id) {
|
|
@@ -136,42 +136,11 @@ export function turboIdentityAddress(id) {
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
const trim = (u) => u.replace(/\/+$/, '');
|
|
139
|
-
/**
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
return res;
|
|
145
|
-
if (res && typeof res === 'object') {
|
|
146
|
-
if ('id' in res && res.id)
|
|
147
|
-
return String(res.id);
|
|
148
|
-
try {
|
|
149
|
-
return Object.values(res).join('');
|
|
150
|
-
}
|
|
151
|
-
catch {
|
|
152
|
-
return '';
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
return '';
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* The Arweave data-item id from a Turbo `uploadFile` response. Normally `res.id`; but Turbo
|
|
159
|
-
* **deduplicates identical bytes** — a re-upload of the same data item (same signer + tags + bytes →
|
|
160
|
-
* same deterministic id) returns a plain-text `"Data item with ID <id> has already been uploaded to
|
|
161
|
-
* this service!"` instead of the usual JSON. Both are success: the bytes ARE on Turbo. We extract
|
|
162
|
-
* the 43-char base64url txid so idempotent re-uploads (retries, redeploys, duplicate images in a
|
|
163
|
-
* series) resolve to the real locator instead of throwing. Returns null if no id is present.
|
|
164
|
-
*/
|
|
165
|
-
export function turboUploadId(res) {
|
|
166
|
-
if (res && typeof res === 'object' && 'id' in res && res.id) {
|
|
167
|
-
return String(res.id);
|
|
168
|
-
}
|
|
169
|
-
const m = turboResponseText(res).match(/\bID\s+([A-Za-z0-9_-]{43})\b/);
|
|
170
|
-
return m ? m[1] : null;
|
|
171
|
-
}
|
|
172
|
-
/** Optional deps, loaded lazily via indirect specifiers so they're not required to install/build. */
|
|
173
|
-
const TURBO_SDK_PACKAGE = '@ardrive/turbo-sdk';
|
|
174
|
-
const ARBUNDLES_PACKAGE = '@dha-team/arbundles';
|
|
139
|
+
/** The optional package carrying the Turbo/arbundles implementation (issue #108) — 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';
|
|
175
144
|
const WINC_PER_CREDIT = 1e12;
|
|
176
145
|
const wincToCredits = (winc) => {
|
|
177
146
|
const n = Number(winc) / WINC_PER_CREDIT;
|
|
@@ -200,115 +169,34 @@ export class HttpBundlerUploader {
|
|
|
200
169
|
return { id: String(id) };
|
|
201
170
|
}
|
|
202
171
|
}
|
|
203
|
-
/**
|
|
204
|
-
* ArDrive Turbo uploader — the recommended Arweave path. Lazy-loads the optional
|
|
205
|
-
* `@ardrive/turbo-sdk` only when an upload / balance / top-up actually runs (the retrieve-only
|
|
206
|
-
* resolver never touches it). The signing {@link TurboIdentity} is multi-chain: the CLI-managed
|
|
207
|
-
* Arweave JWK (default), an `.env` EVM key, or a remote browser wallet — each both signs uploads
|
|
208
|
-
* and holds the prepaid credits at its own address.
|
|
209
|
-
*/
|
|
210
|
-
export class TurboUploader {
|
|
211
|
-
identity;
|
|
212
|
-
constructor(identity) {
|
|
213
|
-
this.identity = identity;
|
|
214
|
-
if (identity.kind === 'arweave' && !identity.jwk?.n) {
|
|
215
|
-
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`.');
|
|
216
|
-
}
|
|
217
|
-
if (identity.kind === 'ethereum' && !identity.privateKey) {
|
|
218
|
-
throw new Error('Turbo Ethereum identity needs a private key.');
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
async sdk() {
|
|
222
|
-
try {
|
|
223
|
-
// Indirect specifier: keeps the OPTIONAL dep out of the type graph so the package
|
|
224
|
-
// type-checks and runs without it installed (the retrieve-only resolver path never calls this).
|
|
225
|
-
return await import(/* @vite-ignore */ TURBO_SDK_PACKAGE);
|
|
226
|
-
}
|
|
227
|
-
catch {
|
|
228
|
-
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>`.");
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
/** arbundles (the signing lib Turbo uses) — for `InjectedEthereumSigner`, which turbo-sdk does NOT
|
|
232
|
-
* re-export. Optional dep, loaded only on the remote-wallet upload path. */
|
|
233
|
-
async arbundles() {
|
|
234
|
-
try {
|
|
235
|
-
return await import(/* @vite-ignore */ ARBUNDLES_PACKAGE);
|
|
236
|
-
}
|
|
237
|
-
catch {
|
|
238
|
-
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.");
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
clientPromise;
|
|
242
|
-
client() {
|
|
243
|
-
return (this.clientPromise ??= this.buildClient());
|
|
244
|
-
}
|
|
245
|
-
/** Authenticate a Turbo client for the selected identity. Arweave uses the JWK directly; an EVM
|
|
246
|
-
* identity uses an arbundles `EthereumSigner` (local key) or `InjectedEthereumSigner` (remote
|
|
247
|
-
* wallet) — the SDK re-exports both, so no direct arbundles dependency. */
|
|
248
|
-
async buildClient() {
|
|
249
|
-
const m = await this.sdk();
|
|
250
|
-
const id = this.identity;
|
|
251
|
-
if (id.kind === 'arweave') {
|
|
252
|
-
return m.TurboFactory.authenticated({ privateKey: id.jwk, token: 'arweave' });
|
|
253
|
-
}
|
|
254
|
-
if (id.kind === 'ethereum') {
|
|
255
|
-
const signer = new m.EthereumSigner(stripHexPrefix(id.privateKey));
|
|
256
|
-
return m.TurboFactory.authenticated({ signer, token: 'ethereum' });
|
|
257
|
-
}
|
|
258
|
-
// ethereum-remote: drive arbundles' own InjectedEthereumSigner via a provider shim that
|
|
259
|
-
// round-trips each signMessage to the browser wallet. arbundles calls `signer.signMessage(msg)`
|
|
260
|
-
// with a STRING challenge (setPublicKey → pubkey recovery, one prompt) and a Uint8Array per data
|
|
261
|
-
// item, and expects back a `0x…` hex signature (it does `sig.slice(2)`). ethers'
|
|
262
|
-
// signMessage(string) ≡ signMessage(utf8Bytes(string)), so normalizing to bytes is faithful.
|
|
263
|
-
// NOTE: turbo-sdk re-exports EthereumSigner but NOT InjectedEthereumSigner — import it from
|
|
264
|
-
// arbundles (the same package turbo signs with) directly.
|
|
265
|
-
const { InjectedEthereumSigner } = await this.arbundles();
|
|
266
|
-
const signMessage = id.signMessage;
|
|
267
|
-
const provider = {
|
|
268
|
-
getSigner: () => ({
|
|
269
|
-
signMessage: (message) => signMessage(typeof message === 'string' ? new TextEncoder().encode(message) : Uint8Array.from(message)),
|
|
270
|
-
}),
|
|
271
|
-
};
|
|
272
|
-
const signer = new InjectedEthereumSigner(provider);
|
|
273
|
-
await signer.setPublicKey();
|
|
274
|
-
return m.TurboFactory.authenticated({ signer, token: 'ethereum' });
|
|
275
|
-
}
|
|
276
|
-
async upload(bytes, contentType) {
|
|
277
|
-
const turbo = await this.client();
|
|
278
|
-
const { Readable } = await import('node:stream');
|
|
279
|
-
const buf = Buffer.from(bytes);
|
|
280
|
-
const res = await turbo.uploadFile({
|
|
281
|
-
fileStreamFactory: () => Readable.from(buf),
|
|
282
|
-
fileSizeFactory: () => buf.byteLength,
|
|
283
|
-
dataItemOpts: { tags: [{ name: 'Content-Type', value: contentType }] },
|
|
284
|
-
});
|
|
285
|
-
const id = turboUploadId(res);
|
|
286
|
-
if (!id)
|
|
287
|
-
throw new Error(`Turbo upload returned no transaction id (response: ${turboResponseText(res).slice(0, 200)})`);
|
|
288
|
-
return { id };
|
|
289
|
-
}
|
|
290
|
-
funding = {
|
|
291
|
-
address: async () => turboIdentityAddress(this.identity),
|
|
292
|
-
balance: async () => {
|
|
293
|
-
const turbo = await this.client();
|
|
294
|
-
const { winc } = (await turbo.getBalance());
|
|
295
|
-
return { winc: String(winc), credits: wincToCredits(winc) };
|
|
296
|
-
},
|
|
297
|
-
topup: async ({ usd }) => {
|
|
298
|
-
const [turbo, m] = await Promise.all([this.client(), this.sdk()]);
|
|
299
|
-
const session = (await turbo.createCheckoutSession({ amount: m.USD(usd), owner: turboIdentityAddress(this.identity) }));
|
|
300
|
-
if (!session?.url)
|
|
301
|
-
throw new Error('Turbo top-up returned no checkout URL');
|
|
302
|
-
return { url: String(session.url), winc: String(session.winc ?? '') };
|
|
303
|
-
},
|
|
304
|
-
};
|
|
305
|
-
}
|
|
306
172
|
/** The upload route for a config: explicit `provider`, else `http-bundler` when an `uploadUrl`
|
|
307
173
|
* is set, else the recommended `turbo`. */
|
|
308
174
|
export function arweaveProvider(cfg) {
|
|
309
175
|
return cfg.provider ?? (cfg.uploadUrl ? 'http-bundler' : 'turbo');
|
|
310
176
|
}
|
|
311
|
-
|
|
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 (issue #108); 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 = {}) {
|
|
312
200
|
if (arweaveProvider(cfg) === 'http-bundler') {
|
|
313
201
|
return new HttpBundlerUploader({ uploadUrl: cfg.uploadUrl, token: cfg.token });
|
|
314
202
|
}
|
|
@@ -319,15 +207,15 @@ function buildUploader(cfg, opts = {}) {
|
|
|
319
207
|
if (!id) {
|
|
320
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>`.');
|
|
321
209
|
}
|
|
322
|
-
return
|
|
210
|
+
return loadTurboUploader(id);
|
|
323
211
|
}
|
|
324
212
|
/**
|
|
325
213
|
* The funding capability for a config's provider, or throw a clear reason if that provider has
|
|
326
214
|
* none — capability negotiation, so `abx storage topup`/`balance` dispatch through one verb and
|
|
327
215
|
* a crypto-only provider says "fund the wallet directly" rather than pretending.
|
|
328
216
|
*/
|
|
329
|
-
export function arweaveFunding(cfg) {
|
|
330
|
-
const f = buildUploader(cfg).funding;
|
|
217
|
+
export async function arweaveFunding(cfg) {
|
|
218
|
+
const f = (await buildUploader(cfg)).funding;
|
|
331
219
|
if (!f)
|
|
332
220
|
throw new Error(`The '${arweaveProvider(cfg)}' Arweave provider has no prepaid balance — fund its wallet directly.`);
|
|
333
221
|
return f;
|
|
@@ -344,24 +232,29 @@ export class ArweaveBackend {
|
|
|
344
232
|
this.injectedUploader = uploader;
|
|
345
233
|
}
|
|
346
234
|
/** Built lazily on first use — retrieval (get/locator/health, the resolver path) needs only the
|
|
347
|
-
* gateway, never an upload identity or the Turbo
|
|
348
|
-
* managed default create its key here; reads/probes pass false so they never mint.
|
|
349
|
-
|
|
350
|
-
|
|
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 })));
|
|
351
242
|
}
|
|
352
243
|
/** Funding capability of the active provider, or null if it has none (e.g. http-bundler) or
|
|
353
|
-
* can't yet be built (e.g. Turbo without an identity key
|
|
354
|
-
* directly for an actionable error; this accessor is the safe
|
|
355
|
-
|
|
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() {
|
|
356
248
|
try {
|
|
357
|
-
return this.uploader(false).funding ?? null;
|
|
249
|
+
return (await this.uploader(false)).funding ?? null;
|
|
358
250
|
}
|
|
359
251
|
catch {
|
|
360
252
|
return null;
|
|
361
253
|
}
|
|
362
254
|
}
|
|
363
255
|
async put(hash, content) {
|
|
364
|
-
const
|
|
256
|
+
const uploader = await this.uploader(true);
|
|
257
|
+
const { id } = await uploader.upload(content.bytes, content.contentType);
|
|
365
258
|
this.index.set(hash, { pointer: id, contentType: content.contentType });
|
|
366
259
|
}
|
|
367
260
|
async get(hash) {
|
|
@@ -393,7 +286,7 @@ export class ArweaveBackend {
|
|
|
393
286
|
* permanent, content-addressed root → integrity for the whole set, no per-file keccak needed.
|
|
394
287
|
*/
|
|
395
288
|
async putDirectory(entries) {
|
|
396
|
-
const up = this.uploader(true);
|
|
289
|
+
const up = await this.uploader(true);
|
|
397
290
|
const paths = {};
|
|
398
291
|
for (const e of entries) {
|
|
399
292
|
const { id } = await up.upload(e.bytes, e.contentType);
|
|
@@ -446,10 +339,19 @@ export function arweaveConfigFromEnv() {
|
|
|
446
339
|
ethSignerKey: process.env.ABX_ARWEAVE_ETH_SIGNER_KEY,
|
|
447
340
|
};
|
|
448
341
|
}
|
|
449
|
-
/**
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
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 (issue #121's 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');
|
|
453
355
|
}
|
|
454
356
|
/**
|
|
455
357
|
* The ONE place either layer resolves an Arweave identity: `ARWEAVE_JWK` (an explicit, inline
|
|
@@ -461,12 +363,14 @@ export function arweaveKeyFilePath() {
|
|
|
461
363
|
* with "Arweave via Turbo needs an identity". The message said storage was never configured; the
|
|
462
364
|
* truth was that two layers disagreed about where the identity lives, and it named neither the file
|
|
463
365
|
* nor the mismatch. They reimplemented this lookup themselves to get moving.
|
|
366
|
+
*
|
|
367
|
+
* `dataDir` forwards straight to {@link arweaveKeyFilePath} — see its doc comment.
|
|
464
368
|
*/
|
|
465
|
-
export function resolveArweaveJwk() {
|
|
369
|
+
export function resolveArweaveJwk(dataDir) {
|
|
466
370
|
const fromEnv = parseJwkEnv(process.env.ARWEAVE_JWK);
|
|
467
371
|
if (fromEnv)
|
|
468
372
|
return fromEnv;
|
|
469
|
-
const file = arweaveKeyFilePath();
|
|
373
|
+
const file = arweaveKeyFilePath(dataDir);
|
|
470
374
|
if (!existsSync(file))
|
|
471
375
|
return undefined;
|
|
472
376
|
const raw = readFileSync(file, 'utf8');
|
package/dist/arweave.js.map
CHANGED
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-index.d.ts","sourceRoot":"","sources":["../src/content-index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"content-index.d.ts","sourceRoot":"","sources":["../src/content-index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;AAG9B;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,IAAI,CAA6B;gBAE7B,OAAO,CAAC,EAAE,MAAM;IAQ5B,OAAO,CAAC,GAAG;IAIX,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,UAAU,GAAG,IAAI;IAIjC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAIvB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;CAIxC"}
|
package/dist/content-index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
|
+
import { resolveDataDir } from '@artblocks/abx-sdk/node';
|
|
3
4
|
export class ContentIndex {
|
|
4
5
|
path;
|
|
5
6
|
data;
|
|
6
7
|
constructor(dataDir) {
|
|
7
|
-
|
|
8
|
+
// Centralized in the SDK (issue #121) — see resolveDataDir's doc comment.
|
|
9
|
+
const base = dataDir ?? resolveDataDir().dir;
|
|
8
10
|
mkdirSync(base, { recursive: true });
|
|
9
11
|
this.path = resolve(base, 'content-index.json');
|
|
10
12
|
this.data = existsSync(this.path) ? JSON.parse(readFileSync(this.path, 'utf8')) : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-index.js","sourceRoot":"","sources":["../src/content-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"content-index.js","sourceRoot":"","sources":["../src/content-index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAcvD,MAAM,OAAO,YAAY;IACd,IAAI,CAAS;IACd,IAAI,CAA6B;IAEzC,YAAY,OAAgB;QAC1B,0EAA0E;QAC1E,MAAM,IAAI,GAAG,OAAO,IAAI,cAAc,EAAE,CAAC,GAAG,CAAC;QAC7C,SAAS,CAAC,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvH,CAAC;IAEO,GAAG,CAAC,IAAS;QACnB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,GAAG,CAAC,IAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,GAAG,CAAC,IAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,IAAS,EAAE,KAAiB;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;QAClC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF"}
|
package/dist/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;AAE9B,OAAO,KAAK,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,QAAQ,CAAC,EAAE,QAAQ;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBAET,OAAO,CAAC,EAAE,MAAM;IAO5B,OAAO,CAAC,IAAI;IAIN,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAS7C,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhC,MAAM,IAAI,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CAWxD"}
|
package/dist/fs.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
2
2
|
import { join, resolve } from 'node:path';
|
|
3
|
+
import { resolveDataDir } from '@artblocks/abx-sdk/node';
|
|
3
4
|
/**
|
|
4
5
|
* The reference backend: content-addressed files on the local disk — "store the
|
|
5
6
|
* bytes on your droplet and serve them." Zero dependencies, the natural floor for
|
|
@@ -11,7 +12,8 @@ export class LocalFsBackend {
|
|
|
11
12
|
id = 'fs';
|
|
12
13
|
dir;
|
|
13
14
|
constructor(dataDir) {
|
|
14
|
-
|
|
15
|
+
// Centralized in the SDK (issue #121) — see resolveDataDir's doc comment.
|
|
16
|
+
const base = dataDir ?? resolveDataDir().dir;
|
|
15
17
|
this.dir = resolve(base, 'content');
|
|
16
18
|
mkdirSync(this.dir, { recursive: true });
|
|
17
19
|
}
|
package/dist/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACnF,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AACnF,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,MAAM,WAAW,CAAC;AAExC,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAGvD;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IAChB,EAAE,GAAG,IAAI,CAAC;IACV,GAAG,CAAS;IAErB,YAAY,OAAgB;QAC1B,0EAA0E;QAC1E,MAAM,IAAI,GAAG,OAAO,IAAI,cAAc,EAAE,CAAC,GAAG,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACpC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACzC,CAAC;IAEO,IAAI,CAAC,IAAS;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS,EAAE,OAAsB;QACzC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS;QACjB,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC;QAC7B,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;QACvG,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS;QACjB,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,OAAO,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAC,CAAC;QACnD,CAAC;IACH,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { LocalFsBackend } from './fs.js';
|
|
|
12
12
|
export { CloudStorageBackend, cloudConfigFromEnv, deriveSigningKey, sigv4Signature, type CloudStorageConfig, type SigV4Input, } from './cloud.js';
|
|
13
13
|
export { ContentIndex, type IndexEntry } from './content-index.js';
|
|
14
14
|
export { IpfsBackend, ipfsConfigFromEnv, type IpfsConfig } from './ipfs.js';
|
|
15
|
-
export { ArweaveBackend, HttpBundlerUploader,
|
|
15
|
+
export { ArweaveBackend, HttpBundlerUploader, arweaveConfigFromEnv, resolveArweaveJwk, arweaveKeyFilePath, arweaveFunding, arweaveProvider, turboIdentity, resolveTurboIdentity, turboIdentityAddress, isEthIdentity, ARWEAVE_FREE_UPLOAD_LIMIT, turboUploadCostUsd, turboUploadWinc, turboBalanceForAddress, type ArweaveConfig, type ArweaveProvider, type ArweaveUploader, type ArweaveFunding, type TurboIdentity, } from './arweave.js';
|
|
16
16
|
export { generateArweaveJwk, arweaveAddress, type ArweaveJwk } from './arweave-identity.js';
|
|
17
17
|
export { resolveBackend, type ResolveStorageOptions } from './resolve.js';
|
|
18
18
|
export { repinNodeCustody, type RepinResult } from './migrate.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,YAAY,EAAE,KAAK,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,YAAY,EAAE,KAAK,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAE,KAAK,UAAU,EAAC,MAAM,WAAW,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAE,KAAK,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAC,cAAc,EAAE,KAAK,qBAAqB,EAAC,MAAM,cAAc,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAE,KAAK,WAAW,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,eAAe,EAAE,KAAK,YAAY,EAAC,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ export { LocalFsBackend } from './fs.js';
|
|
|
3
3
|
export { CloudStorageBackend, cloudConfigFromEnv, deriveSigningKey, sigv4Signature, } from './cloud.js';
|
|
4
4
|
export { ContentIndex } from './content-index.js';
|
|
5
5
|
export { IpfsBackend, ipfsConfigFromEnv } from './ipfs.js';
|
|
6
|
-
export { ArweaveBackend, HttpBundlerUploader,
|
|
6
|
+
export { ArweaveBackend, HttpBundlerUploader, arweaveConfigFromEnv, resolveArweaveJwk, arweaveKeyFilePath, arweaveFunding, arweaveProvider, turboIdentity, resolveTurboIdentity, turboIdentityAddress, isEthIdentity, ARWEAVE_FREE_UPLOAD_LIMIT, turboUploadCostUsd, turboUploadWinc, turboBalanceForAddress, } from './arweave.js';
|
|
7
7
|
export { generateArweaveJwk, arweaveAddress } from './arweave-identity.js';
|
|
8
8
|
export { resolveBackend } from './resolve.js';
|
|
9
9
|
export { repinNodeCustody } from './migrate.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAkB,MAAM,WAAW,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GAGf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAC,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAkB,MAAM,WAAW,CAAC;AAC1E,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GAMvB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,kBAAkB,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAAC,cAAc,EAA6B,MAAM,cAAc,CAAC;AACxE,OAAO,EAAC,gBAAgB,EAAmB,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,eAAe,EAAoB,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAK3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,GAIjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,kBAAkB,GASnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GAGf,MAAM,YAAY,CAAC"}
|
package/dist/ipfs.d.ts
CHANGED
|
@@ -44,7 +44,8 @@ export declare class IpfsBackend implements StorageBackend {
|
|
|
44
44
|
/**
|
|
45
45
|
* Pin a directory of files as ONE IPFS object and return its gateway base
|
|
46
46
|
* (`<gateway>/ipfs/<dirCID>`), so `<base>/0.png` resolves. The CID is content-addressed →
|
|
47
|
-
* gateway-agnostic integrity for the whole set.
|
|
47
|
+
* gateway-agnostic integrity for the whole set. `kubo` recurses through a local node (below);
|
|
48
|
+
* `pinata` pins through the managed service.
|
|
48
49
|
*/
|
|
49
50
|
putDirectory(entries: DirEntry[]): Promise<{
|
|
50
51
|
base: string;
|
|
@@ -55,6 +56,21 @@ export declare class IpfsBackend implements StorageBackend {
|
|
|
55
56
|
}>;
|
|
56
57
|
private form;
|
|
57
58
|
private addKubo;
|
|
59
|
+
/**
|
|
60
|
+
* Recursive directory add through a local Kubo node's `/api/v0/add`. Each entry is appended as
|
|
61
|
+
* its own multipart part with a filename under a common `abx/` prefix — Kubo infers the
|
|
62
|
+
* directory tree from the slash-separated filenames (the same trick the Pinata path above uses),
|
|
63
|
+
* so `abx/index.html` lands at `index.html` under the returned root, not nested under a temp
|
|
64
|
+
* wrapper name. `recursive=true` tells Kubo to accept and pin that multi-file tree rather than
|
|
65
|
+
* erroring on more than one `file` part.
|
|
66
|
+
*
|
|
67
|
+
* Kubo streams one NDJSON object per added path, ending with the wrapping `abx` directory once
|
|
68
|
+
* everything beneath it has landed — so that final line is the "the whole tree is in and
|
|
69
|
+
* pinned" signal. A dropped connection, a killed node, or a mid-stream error object never
|
|
70
|
+
* produces it, so anything short of a clean, fully-parsed stream ending in that line throws
|
|
71
|
+
* rather than returning a CID for a partial upload.
|
|
72
|
+
*/
|
|
73
|
+
private addKuboDirectory;
|
|
58
74
|
private addPinata;
|
|
59
75
|
}
|
|
60
76
|
/** Build an IPFS config from the environment (non-secret values; PINATA_JWT is the secret). */
|
package/dist/ipfs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../src/ipfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,EAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAG1E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,kGAAkG;IAClG,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,WAAY,YAAW,cAAc;IAIpC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,QAAQ,CAAC,EAAE,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAER,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM;IAIxD,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAU7C,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKhD
|
|
1
|
+
{"version":3,"file":"ipfs.d.ts","sourceRoot":"","sources":["../src/ipfs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,EAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAG1E;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,kGAAkG;IAClG,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,qBAAa,WAAY,YAAW,cAAc;IAIpC,OAAO,CAAC,QAAQ,CAAC,GAAG;IAHhC,QAAQ,CAAC,EAAE,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAER,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,MAAM;IAIxD,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAU7C,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAItC;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKhD;;;;;OAKG;IACG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAwB1D,MAAM,IAAI,OAAO,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAiBvD,OAAO,CAAC,IAAI;YAME,OAAO;IAUrB;;;;;;;;;;;;;OAaG;YACW,gBAAgB;YAsChB,SAAS;CAYxB;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,IAAI,UAAU,CAS9C"}
|
package/dist/ipfs.js
CHANGED
|
@@ -42,11 +42,13 @@ export class IpfsBackend {
|
|
|
42
42
|
/**
|
|
43
43
|
* Pin a directory of files as ONE IPFS object and return its gateway base
|
|
44
44
|
* (`<gateway>/ipfs/<dirCID>`), so `<base>/0.png` resolves. The CID is content-addressed →
|
|
45
|
-
* gateway-agnostic integrity for the whole set.
|
|
45
|
+
* gateway-agnostic integrity for the whole set. `kubo` recurses through a local node (below);
|
|
46
|
+
* `pinata` pins through the managed service.
|
|
46
47
|
*/
|
|
47
48
|
async putDirectory(entries) {
|
|
48
49
|
if (this.cfg.mode !== 'pinata') {
|
|
49
|
-
|
|
50
|
+
const cid = await this.addKuboDirectory(entries);
|
|
51
|
+
return { base: `${trim(this.cfg.gateway)}/ipfs/${cid}` };
|
|
50
52
|
}
|
|
51
53
|
if (!this.cfg.pinataJwt)
|
|
52
54
|
throw new Error('IPFS pinata mode needs PINATA_JWT');
|
|
@@ -105,6 +107,62 @@ export class IpfsBackend {
|
|
|
105
107
|
throw new Error('IPFS add returned no CID');
|
|
106
108
|
return cid;
|
|
107
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Recursive directory add through a local Kubo node's `/api/v0/add`. Each entry is appended as
|
|
112
|
+
* its own multipart part with a filename under a common `abx/` prefix — Kubo infers the
|
|
113
|
+
* directory tree from the slash-separated filenames (the same trick the Pinata path above uses),
|
|
114
|
+
* so `abx/index.html` lands at `index.html` under the returned root, not nested under a temp
|
|
115
|
+
* wrapper name. `recursive=true` tells Kubo to accept and pin that multi-file tree rather than
|
|
116
|
+
* erroring on more than one `file` part.
|
|
117
|
+
*
|
|
118
|
+
* Kubo streams one NDJSON object per added path, ending with the wrapping `abx` directory once
|
|
119
|
+
* everything beneath it has landed — so that final line is the "the whole tree is in and
|
|
120
|
+
* pinned" signal. A dropped connection, a killed node, or a mid-stream error object never
|
|
121
|
+
* produces it, so anything short of a clean, fully-parsed stream ending in that line throws
|
|
122
|
+
* rather than returning a CID for a partial upload.
|
|
123
|
+
*/
|
|
124
|
+
async addKuboDirectory(entries) {
|
|
125
|
+
if (!this.cfg.apiUrl)
|
|
126
|
+
throw new Error('IPFS kubo mode needs an apiUrl (e.g. http://127.0.0.1:5001)');
|
|
127
|
+
const wrapName = 'abx';
|
|
128
|
+
const fd = new FormData();
|
|
129
|
+
for (const e of entries) {
|
|
130
|
+
fd.append('file', new Blob([e.bytes], { type: e.contentType }), `${wrapName}/${e.name}`);
|
|
131
|
+
}
|
|
132
|
+
const res = await fetch(`${trim(this.cfg.apiUrl)}/api/v0/add?recursive=true&pin=true&cid-version=1`, {
|
|
133
|
+
method: 'POST',
|
|
134
|
+
body: fd,
|
|
135
|
+
});
|
|
136
|
+
const text = await res.text();
|
|
137
|
+
if (!res.ok)
|
|
138
|
+
throw new Error(`IPFS directory add failed (${res.status}): ${text}`);
|
|
139
|
+
const lines = text
|
|
140
|
+
.split('\n')
|
|
141
|
+
.map((l) => l.trim())
|
|
142
|
+
.filter(Boolean);
|
|
143
|
+
if (lines.length === 0)
|
|
144
|
+
throw new Error('IPFS directory add returned no output');
|
|
145
|
+
let root;
|
|
146
|
+
for (const line of lines) {
|
|
147
|
+
let obj;
|
|
148
|
+
try {
|
|
149
|
+
obj = JSON.parse(line);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
// A cut-off connection lands mid-object — surface that as a truncation, not a JSON bug.
|
|
153
|
+
throw new Error(`IPFS directory add returned malformed output (truncated stream?): ${line}`);
|
|
154
|
+
}
|
|
155
|
+
// Kubo reports a failed file (e.g. it ran out of disk mid-add) as a JSON object on the same
|
|
156
|
+
// stream instead of a non-2xx status, so a per-line check is the only way to catch it.
|
|
157
|
+
if (obj.Type === 'error')
|
|
158
|
+
throw new Error(`IPFS directory add failed mid-stream: ${obj.Message ?? line}`);
|
|
159
|
+
if (obj.Name === wrapName && obj.Hash)
|
|
160
|
+
root = obj.Hash;
|
|
161
|
+
}
|
|
162
|
+
if (!root)
|
|
163
|
+
throw new Error('IPFS directory add stream ended without the wrapping directory CID (partial upload?)');
|
|
164
|
+
return root;
|
|
165
|
+
}
|
|
108
166
|
async addPinata(content) {
|
|
109
167
|
if (!this.cfg.pinataJwt)
|
|
110
168
|
throw new Error('IPFS pinata mode needs PINATA_JWT');
|
package/dist/ipfs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../src/ipfs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AA2BhD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE1D,MAAM,OAAO,WAAW;IAIO;IAHpB,EAAE,GAAG,MAAM,CAAC;IACJ,KAAK,CAAe;IAErC,YAA6B,GAAe,EAAE,OAAgB;QAAjC,QAAG,GAAH,GAAG,CAAY;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS,EAAE,OAAsB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,+EAA+E;QAC/E,OAAO,EAAC,KAAK,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,IAAS;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ipfs.js","sourceRoot":"","sources":["../src/ipfs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AA2BhD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAE1D,MAAM,OAAO,WAAW;IAIO;IAHpB,EAAE,GAAG,MAAM,CAAC;IACJ,KAAK,CAAe;IAErC,YAA6B,GAAe,EAAE,OAAgB;QAAjC,QAAG,GAAH,GAAG,CAAY;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS,EAAE,OAAsB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAC,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS;QACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACxE,+EAA+E;QAC/E,OAAO,EAAC,KAAK,EAAE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAS;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,IAAS;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,OAAmB;QACpC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,OAAO,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC9E,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,0FAA0F;QAC1F,mEAAmE;QACnE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAC,UAAU,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,0BAA0B,CAAC,wBAAwB,EAAE;YAC9G,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,aAAa,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC;YACxD,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjG,MAAM,GAAG,GAAI,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyB,CAAC,QAAQ,CAAC;QACjE,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAClE,OAAO,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,EAAE,EAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS;oBAAE,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,oBAAoB,EAAC,CAAC;gBAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,0BAA0B,CAAC,0BAA0B,EAAE;oBAChH,OAAO,EAAE,EAAC,aAAa,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC;iBACzD,CAAC,CAAC;gBACH,OAAO,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,uBAAuB,GAAG,CAAC,MAAM,GAAG,EAAC,CAAC;YAC9H,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAC,CAAC;YACxE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;YACrF,OAAO,EAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,cAAc,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,qBAAqB,GAAG,CAAC,MAAM,GAAG,EAAC,CAAC;QACrI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,OAAsB;QACjC,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAClF,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAAsB;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACrG,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,oCAAoC,EAAE,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,CAAC;QAClI,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,CAAC,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC,IAAI,CAAC;QACvD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,KAAK,CAAC,gBAAgB,CAAC,OAAmB;QAChD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACrG,MAAM,QAAQ,GAAG,KAAK,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAC,CAAC,EAAE,GAAG,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,mDAAmD,EAAE;YACnG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAEnF,MAAM,KAAK,GAAG,IAAI;aACf,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAEjF,IAAI,IAAwB,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,GAAoE,CAAC;YACzE,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,wFAAwF;gBACxF,MAAM,IAAI,KAAK,CAAC,qEAAqE,IAAI,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,4FAA4F;YAC5F,uFAAuF;YACvF,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;YAC1G,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI;gBAAE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACnH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,OAAsB;QAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,0BAA0B,CAAC,wBAAwB,EAAE;YAC9G,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAC,aAAa,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAC;YACxD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvF,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAA0B,CAAA,CAAC,QAAQ,CAAC;QAC/D,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB;IAC/B,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAsB,CAAC;IAC9G,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,uBAAuB,CAAC;QACvH,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,uBAAuB;QAC/D,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,0BAA0B;QAC7E,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;KAClC,CAAC;AACJ,CAAC"}
|
package/dist/probe.js
CHANGED
|
@@ -125,7 +125,7 @@ export async function checkArweaveBackend(backend, cfg, opts = {}) {
|
|
|
125
125
|
return { backend: 'arweave', ok: base.ok, detail: [base.detail, 'no identity yet — created free on first upload (nothing to check)'].filter(Boolean).join(' · ') };
|
|
126
126
|
}
|
|
127
127
|
try {
|
|
128
|
-
const funding = arweaveFunding(cfg);
|
|
128
|
+
const funding = await arweaveFunding(cfg);
|
|
129
129
|
const { credits } = await race(funding.balance(), timeoutMs, `balance check timed out after ${timeoutMs}ms`);
|
|
130
130
|
const address = turboIdentityAddress(id);
|
|
131
131
|
return {
|
package/dist/probe.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"probe.js","sourceRoot":"","sources":["../src/probe.ts"],"names":[],"mappings":"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"}
|
package/dist/upload-readiness.js
CHANGED
|
@@ -62,7 +62,7 @@ export async function assessTurboFunds(cfg, sizes, walletAddr) {
|
|
|
62
62
|
const chargeable = sizes.filter((s) => s >= ARWEAVE_FREE_UPLOAD_LIMIT);
|
|
63
63
|
if (chargeable.length === 0)
|
|
64
64
|
return null; // all free
|
|
65
|
-
const funding = arweaveFunding(cfg);
|
|
65
|
+
const funding = await arweaveFunding(cfg);
|
|
66
66
|
let address;
|
|
67
67
|
let haveWinc;
|
|
68
68
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-readiness.js","sourceRoot":"","sources":["../src/upload-readiness.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,yBAAyB,EAAE,cAAc,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAqB,MAAM,cAAc,CAAC;AAExJ;;;;;;;;;;;;;;;GAeG;AAEH;;0FAE0F;AAC1F,MAAM,UAAU,cAAc,CAAC,IAA2B;IACxD,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;AACvF,CAAC;AASD;;2BAE2B;AAC3B,MAAM,UAAU,eAAe,CAAC,IAA2B,EAAE,IAAY;IACvE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,EAAC,UAAU,EAAE,IAAI,IAAI,yBAAyB,EAAE,MAAM,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC;AAC3F,CAAC;AAaD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,IAA2B,EAAE,KAAe;IACvF,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvG,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACpE,OAAO,EAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC;IACpG,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,CAAC;IAClH,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAC,CAAC;IACxE,CAAC;IACD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;AAC5B,CAAC;AAoBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,GAAkB,EAAE,KAAe,EAAE,UAAmB;IAC7F,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,yBAAyB,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,WAAW;IACrD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"upload-readiness.js","sourceRoot":"","sources":["../src/upload-readiness.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artblocks/abx-storage",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.31",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Storage adapters for ABX content using filesystem, S3-compatible, IPFS, or Arweave backends.",
|
|
6
6
|
"type": "module",
|
|
@@ -40,11 +40,18 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"viem": "^2.56.0",
|
|
43
|
-
"@artblocks/abx-sdk": "0.1.0-alpha.
|
|
43
|
+
"@artblocks/abx-sdk": "0.1.0-alpha.31"
|
|
44
44
|
},
|
|
45
|
-
"
|
|
46
|
-
"@
|
|
47
|
-
|
|
45
|
+
"peerDependencies": {
|
|
46
|
+
"@artblocks/abx-storage-arweave": ">=0.1.0-alpha.0"
|
|
47
|
+
},
|
|
48
|
+
"peerDependenciesMeta": {
|
|
49
|
+
"@artblocks/abx-storage-arweave": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@artblocks/abx-storage-arweave": "0.1.0-alpha.1"
|
|
48
55
|
},
|
|
49
56
|
"scripts": {
|
|
50
57
|
"build": "tsc -b tsconfig.build.json"
|