@artblocks/abx-cli 0.1.0-alpha.36 → 0.1.0-alpha.38

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 CHANGED
@@ -1,5 +1,92 @@
1
1
  # @artblocks/abx-cli
2
2
 
3
+ ## 0.1.0-alpha.38
4
+
5
+ ### Patch Changes
6
+
7
+ - d4b1de8: Fixes from the 2026-08-27 w7 agent sandbox sweep — a co-located `abx effects` bug that silently
8
+ defeated auto-rendering, and four help-text truthfulness gaps.
9
+
10
+ - **`abx effects --resolver-port <n>`** — the "no manual `abx render`" pipeline could silently never
11
+ render for two compounding reasons, both hit live on Sepolia in the sweep (real deploy, real mint,
12
+ two confirmed `configure-param` txs, zero renders landed): co-located mode had no way to say which
13
+ port the local `abx serve` was actually on (it assumed the default, 8787), and a leftover
14
+ `ABX_REMOTE_SELF_TOKEN` — auto-saved to `.env` by any earlier `deploy-resolver`/`deploy-effects` run
15
+ in the same project — silently flipped a later, unrelated `abx effects` into remote/control-plane
16
+ mode against a bare `abx serve` that never implements it, producing a 404 whose own suggested fix
17
+ ("check the token") was a dead end. `--resolver-port` fixes the first outright and, by declaring
18
+ co-location explicitly, ignores the stale token instead of being ambushed by it. When the same
19
+ combination shows up _without_ the flag (an existing loopback `ABX_RESOLVER_URL` + a stale token),
20
+ `abx effects` now warns up front with the actual fix, rather than failing silently at the first
21
+ publish attempt. The decision logic is split into `resolveEffectsTarget()` (`commands/service.ts`),
22
+ unit-tested directly (`test/effects-target.test.ts`) without needing a chain client or HTTP server.
23
+ - **`--dry-run`'s "no signer known" hint no longer suggests a flag most commands don't have.** It used
24
+ to say `pass --for 0x.. (or set a signing key)` unconditionally — but `--for` is only accepted by
25
+ `deploy`/`predict`/`doctor`/`storage balance`; every owner-op write (`configure-param`, `set-field`,
26
+ `lock-field`, …) funnels through the same shared `gatedSend`/`simulateDryRun` choke point and doesn't
27
+ accept it. The hint now leads with what's universally true (set a signing key, or `--sign`) and only
28
+ mentions `--for` as a caveat for the commands that take it.
29
+ - **`abx help lock-field` / `abx help lock-uri` now list `--dry-run`.** Both flags already worked
30
+ (confirmed on a live Sepolia contract in the sweep); neither `--help` output said so, so the exact
31
+ preview a creator most wants before an irreversible freeze was undiscoverable without already
32
+ knowing to try it.
33
+ - **`abx help set-field` / `abx help attach` now state that every write pings ERC-4906** — the on-chain
34
+ behavior (`MetadataUpdate(tokenId)` per token-scope write, `BatchMetadataUpdate` for `--collection`)
35
+ was already correct and load-bearing (marketplaces rely on it to self-refresh after a metadata edit),
36
+ but the only place ERC-4906 was named anywhere in the discoverable surface was a side remark in
37
+ `abx help ping-uri` about a different, edition-only command.
38
+
39
+ Also corrects this repo's own `dev-loop-test` skill, which claimed `.env` duplicate keys are
40
+ last-wins — the sweep proved the real CLI is first-wins (confirmed live: a duplicate
41
+ `ABX_RPC_URLS_SEPOLIA` silently routed every read to the wrong RPC, ignoring an intentionally later
42
+ override).
43
+
44
+ ## 0.1.0-alpha.37
45
+
46
+ ### Patch Changes
47
+
48
+ - c5e0d84: The skill and CLI now name the extension and setup paths agents were missing: a shared on-chain
49
+ program with a per-token `Bytes` payload, `abx set-param-hooks`, and Foundry's stricter private-key
50
+ prefix requirement.
51
+
52
+ The routing table in the bundled skill, `reference/code.md`, and `abx capabilities` all list
53
+ `deploy-code --script` + `<key>:Bytes:Creator` as a native lane — not an escape hatch — so an agent
54
+ does not conclude the shape is out of scope and hand-roll Solidity. They now say truthfully that the
55
+ payload is configured after mint with `configure-param --file`; `mint` has no payload flag. Top-level
56
+ `abx help` lists `set-param-hooks` (the only command that wires a custom hook), and the `--schema`
57
+ description in `deploy-code --help` points at it for mint-time snapshot / veto / live derivation. Setup guidance
58
+ also distinguishes the CLI's optional `0x` private-key prefix from Foundry `vm.envUint`'s required one.
59
+
60
+ Reported in the 2026-08-27 tester batch (feedback 599722e5, d12929f5, ff28d128, 3d4eda3f).
61
+
62
+ - c5e0d84: Published package `homepage` and `bugs` fields now point at docs.abx.io instead of a private GitHub
63
+ repo that 404s. File reports with `abx feedback`; `npm bugs` no longer names a repository the public
64
+ cannot open.
65
+
66
+ Reported in the 2026-08-27 tester batch (feedback 40142396).
67
+
68
+ - c5e0d84: Read commands no longer collapse "the RPC is down" into "this isn't an ABX contract."
69
+
70
+ `abx state` now refuses an ignored singular `ABX_RPC_URL`, probes chain reachability, and retains the
71
+ errors from its required getter reads. A dead endpoint, a node that answers block/code queries but
72
+ rate-limits `eth_call`, a codeless address, and code without ABX getters now receive distinct answers;
73
+ an RPC failure is never stated as a contract verdict. `abx add`'s deploy-block discovery no longer
74
+ guesses "a non-archive RPC?" when the same node `abx doctor` just certified — the failure can also be
75
+ rate-limiting or a refused historical `getCode`. The `deploy-code` Surfaces block still flags an
76
+ orphaned collection-wide thumbnail, and now names the per-token `set-field --field image` hatch (raw
77
+ SVG bytes, not a data-URI) instead of claiming you cannot backfill at all. `submit-app` now confirms
78
+ only the on-chain update and tells users to verify hosted catalog copy separately instead of promising
79
+ an unverified refresh on the provider's "next read."
80
+
81
+ Reported in the 2026-08-27 tester batch (feedback ae7cc4a8, bd75dc5f, 89315be8, 1f3c0992, c2101d6f).
82
+
83
+ - Updated dependencies [c5e0d84]
84
+ - Updated dependencies [c5e0d84]
85
+ - @artblocks/abx-sdk@0.1.0-alpha.28
86
+ - @artblocks/abx-indexer@0.1.0-alpha.29
87
+ - @artblocks/abx-storage@0.1.0-alpha.28
88
+ - @artblocks/abx-token-api@0.1.0-alpha.31
89
+
3
90
  ## 0.1.0-alpha.36
4
91
 
5
92
  ### Minor Changes
@@ -3427,7 +3427,7 @@ export async function cmdDeployCodeBody(flags, emit) {
3427
3427
  ? `on-chain url-template → your bucket (renders upload there; marketplace-visible ✓)`
3428
3428
  : resolverInGraph
3429
3429
  ? `served by the resolver (/image; renders publish to it ✓)`
3430
- : `⚠ NO PUBLIC DESTINATION — the on-chain image is a placeholder. \`abx render\` to a local store is ORPHANED (marketplaces never see it) and you CANNOT backfill a thumbnail to an on-chain image with no pointer. Decide NOW: --image-renderer <a Solidity SVG renderer>, --image-base <public bucket>, or run a resolver`;
3430
+ : `⚠ NO PUBLIC DESTINATION — the collection-wide image is a placeholder. \`abx render\` to a local store is ORPHANED (marketplaces never see it). A collection-wide default needs --image-renderer, --image-base, or a resolver NOW; per token, \`abx set-field --field image\` (raw SVG bytes, not a data-URI) still writes after mint`;
3431
3431
  // TRAITS — on-chain renderer / off-chain resolver / omitted / codeless-renderer.
3432
3432
  const attributesRendererCodeless = hasAttributesRenderer && attributesRendererCodePresent === false;
3433
3433
  const traitsOmitted = !hasAttributesRenderer && !resolverInGraph && !!scriptAnalysis?.traits.present;