@artblocks/abx-cli 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.
- package/CHANGELOG.md +161 -0
- package/assets/renderer-scaffold/README.md +41 -11
- package/assets/renderer-scaffold/foundry.toml +5 -0
- package/assets/renderer-scaffold/remappings.txt +1 -1
- package/assets/renderer-scaffold/script/DeployHooks.s.sol +24 -0
- package/assets/renderer-scaffold/script/Preview.s.sol +99 -0
- package/assets/renderer-scaffold/src/MyHooks.sol +20 -0
- package/assets/renderer-scaffold/src/MyRenderer.sol +4 -4
- package/assets/renderer-scaffold/src/MyTraits.sol +2 -2
- package/assets/renderer-scaffold/test/MyRenderer.t.sol +60 -3
- package/dist/bin.d.ts +26 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +63 -0
- package/dist/bin.js.map +1 -0
- package/dist/capabilities.d.ts +99 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +144 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/commands/auth.d.ts +54 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +447 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/deploy.d.ts +242 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +5429 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/feedback.d.ts +7 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +147 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/maintenance.d.ts +4 -0
- package/dist/commands/maintenance.d.ts.map +1 -0
- package/dist/commands/maintenance.js +114 -0
- package/dist/commands/maintenance.js.map +1 -0
- package/dist/commands/project.d.ts +429 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +1720 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/reads.d.ts +85 -0
- package/dist/commands/reads.d.ts.map +1 -0
- package/dist/commands/reads.js +868 -0
- package/dist/commands/reads.js.map +1 -0
- package/dist/commands/scaffold.d.ts +89 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/scaffold.js +738 -0
- package/dist/commands/scaffold.js.map +1 -0
- package/dist/commands/service.d.ts +67 -0
- package/dist/commands/service.d.ts.map +1 -0
- package/dist/commands/service.js +748 -0
- package/dist/commands/service.js.map +1 -0
- package/dist/commands/storage.d.ts +51 -0
- package/dist/commands/storage.d.ts.map +1 -0
- package/dist/commands/storage.js +399 -0
- package/dist/commands/storage.js.map +1 -0
- package/dist/commands/submit-app.d.ts +102 -0
- package/dist/commands/submit-app.d.ts.map +1 -0
- package/dist/commands/submit-app.js +622 -0
- package/dist/commands/submit-app.js.map +1 -0
- package/dist/config.d.ts +105 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +351 -12
- package/dist/config.js.map +1 -1
- package/dist/conformance.d.ts +31 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +390 -0
- package/dist/conformance.js.map +1 -0
- package/dist/contract-read-error.d.ts +5 -0
- package/dist/contract-read-error.d.ts.map +1 -0
- package/dist/contract-read-error.js +37 -0
- package/dist/contract-read-error.js.map +1 -0
- package/dist/deploy-plan.d.ts +150 -0
- package/dist/deploy-plan.d.ts.map +1 -0
- package/dist/deploy-plan.js +31 -0
- package/dist/deploy-plan.js.map +1 -0
- package/dist/deps.d.ts +6 -39
- package/dist/deps.d.ts.map +1 -1
- package/dist/deps.js +4 -68
- package/dist/deps.js.map +1 -1
- package/dist/errors.d.ts +20 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +25 -0
- package/dist/errors.js.map +1 -0
- package/dist/flag-allowlists.d.ts +53 -0
- package/dist/flag-allowlists.d.ts.map +1 -0
- package/dist/flag-allowlists.js +184 -0
- package/dist/flag-allowlists.js.map +1 -0
- package/dist/flags.d.ts +47 -0
- package/dist/flags.d.ts.map +1 -1
- package/dist/flags.js +125 -1
- package/dist/flags.js.map +1 -1
- package/dist/jsonout.d.ts +37 -0
- package/dist/jsonout.d.ts.map +1 -0
- package/dist/jsonout.js +79 -0
- package/dist/jsonout.js.map +1 -0
- package/dist/kind.d.ts +57 -0
- package/dist/kind.d.ts.map +1 -0
- package/dist/kind.js +122 -0
- package/dist/kind.js.map +1 -0
- package/dist/main.js +786 -4838
- package/dist/main.js.map +1 -1
- package/dist/mintpage.d.ts +17 -2
- package/dist/mintpage.d.ts.map +1 -1
- package/dist/mintpage.js +241 -54
- package/dist/mintpage.js.map +1 -1
- package/dist/output.d.ts +179 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +780 -0
- package/dist/output.js.map +1 -0
- package/dist/ownerops.d.ts +381 -57
- package/dist/ownerops.d.ts.map +1 -1
- package/dist/ownerops.js +2014 -359
- package/dist/ownerops.js.map +1 -1
- package/dist/preview.d.ts +23 -5
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +95 -43
- package/dist/preview.js.map +1 -1
- package/dist/prompt.d.ts +17 -0
- package/dist/prompt.d.ts.map +1 -0
- package/dist/prompt.js +19 -0
- package/dist/prompt.js.map +1 -0
- package/dist/provision.d.ts +3 -13
- package/dist/provision.d.ts.map +1 -1
- package/dist/provision.js +19 -21
- package/dist/provision.js.map +1 -1
- package/dist/remote.d.ts +157 -52
- package/dist/remote.d.ts.map +1 -1
- package/dist/remote.js +435 -46
- package/dist/remote.js.map +1 -1
- package/dist/riskgate.d.ts +62 -0
- package/dist/riskgate.d.ts.map +1 -0
- package/dist/riskgate.js +234 -0
- package/dist/riskgate.js.map +1 -0
- package/dist/scaffold.d.ts +12 -0
- package/dist/scaffold.d.ts.map +1 -0
- package/dist/scaffold.js +56 -0
- package/dist/scaffold.js.map +1 -0
- package/dist/schema.d.ts +36 -1
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +121 -26
- package/dist/schema.js.map +1 -1
- package/dist/script-chunks.d.ts +8 -0
- package/dist/script-chunks.d.ts.map +1 -0
- package/dist/script-chunks.js +35 -0
- package/dist/script-chunks.js.map +1 -0
- package/dist/served.d.ts +30 -0
- package/dist/served.d.ts.map +1 -0
- package/dist/served.js +112 -0
- package/dist/served.js.map +1 -0
- package/dist/signer.d.ts +13 -0
- package/dist/signer.d.ts.map +1 -1
- package/dist/signer.js +84 -15
- package/dist/signer.js.map +1 -1
- package/dist/update-check.d.ts +86 -5
- package/dist/update-check.d.ts.map +1 -1
- package/dist/update-check.js +161 -20
- package/dist/update-check.js.map +1 -1
- package/package.json +13 -12
- package/skill/SKILL.md +181 -347
- package/skill/agents/openai.yaml +4 -0
- package/skill/reference/capabilities.md +188 -0
- package/skill/reference/code.md +220 -0
- package/skill/reference/creator-token.md +94 -0
- package/skill/reference/deploy.md +174 -0
- package/skill/reference/diagnose.md +178 -0
- package/skill/reference/hosting.md +186 -93
- package/skill/reference/operate.md +220 -0
- package/skill/reference/services.md +121 -0
- package/skill/reference/setup.md +154 -36
- package/assets/renderer-scaffold/src/interfaces/IAbxFieldRenderer.sol +0 -32
- package/assets/renderer-scaffold/src/interfaces/IAbxParams.sol +0 -26
- package/dist/inspect.d.ts +0 -48
- package/dist/inspect.d.ts.map +0 -1
- package/dist/inspect.js +0 -184
- package/dist/inspect.js.map +0 -1
- package/dist/migrate.d.ts +0 -65
- package/dist/migrate.d.ts.map +0 -1
- package/dist/migrate.js +0 -180
- package/dist/migrate.js.map +0 -1
- package/dist/onchain-uri.d.ts +0 -97
- package/dist/onchain-uri.d.ts.map +0 -1
- package/dist/onchain-uri.js +0 -243
- package/dist/onchain-uri.js.map +0 -1
- package/dist/upload.d.ts +0 -28
- package/dist/upload.d.ts.map +0 -1
- package/dist/upload.js +0 -41
- package/dist/upload.js.map +0 -1
- package/skill/reference/code-projects.md +0 -246
- package/skill/reference/operating.md +0 -116
- package/skill/reference/troubleshooting.md +0 -28
package/dist/preview.js
CHANGED
|
@@ -22,9 +22,10 @@
|
|
|
22
22
|
import { createServer } from 'node:http';
|
|
23
23
|
import { readFile, mkdir, writeFile } from 'node:fs/promises';
|
|
24
24
|
import { createHash, randomBytes } from 'node:crypto';
|
|
25
|
-
import { extname, join, resolve as resolvePath } from 'node:path';
|
|
25
|
+
import { dirname, extname, join, resolve as resolvePath } from 'node:path';
|
|
26
|
+
import { createRequire } from 'node:module';
|
|
26
27
|
import { PARAM_TYPES, canonicalTokenDataJson } from '@artblocks/abx-sdk';
|
|
27
|
-
import {
|
|
28
|
+
import { buildGeneratorDocument, injectTokenDataIntoHtml, registryDepUrl } from '@artblocks/abx-token-api';
|
|
28
29
|
import { parseSchemaSpecs } from './schema.js';
|
|
29
30
|
import { parseDepFlag } from './deps.js';
|
|
30
31
|
/** The studio's default port — deliberately not the resolver's (8787), so both can run at once. */
|
|
@@ -36,7 +37,7 @@ const PREVIEW_CHAIN_ID = 84532;
|
|
|
36
37
|
/**
|
|
37
38
|
* A deterministic preview seed per index. The on-chain seed is a full bytes32, and sha256 hex is
|
|
38
39
|
* exactly 64 chars — real width, well mixed, and STABLE across runs, so re-rendering after an edit
|
|
39
|
-
* is a like-for-like comparison instead of a whole new set of
|
|
40
|
+
* is a like-for-like comparison instead of a whole new set of output. (A short stub seed would starve
|
|
40
41
|
* the sketch's PRNG of entropy and can hide a distribution bug until it's permanent.)
|
|
41
42
|
*/
|
|
42
43
|
export function previewSeed(index) {
|
|
@@ -64,25 +65,22 @@ function previewTokenData(cfg, seed, tokenId, params) {
|
|
|
64
65
|
tokenId,
|
|
65
66
|
seed,
|
|
66
67
|
};
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
case 'Int256Range':
|
|
82
|
-
case 'DecimalRange': return '0';
|
|
83
|
-
case 'Bytes': return '0x';
|
|
84
|
-
default: return '';
|
|
68
|
+
// Inject ONLY params that actually have a value — exactly what production does. `buildTokenData`
|
|
69
|
+
// (the real path) walks the params that exist on-chain, so a declared schema key nobody has set is
|
|
70
|
+
// ABSENT from tokenData and the program's own `?? fallback` runs.
|
|
71
|
+
//
|
|
72
|
+
// This used to inject a per-type default for every declared key (Select → its FIRST option) on the
|
|
73
|
+
// theory that "a key that only appears once someone sets it is a preview that lies". That had it
|
|
74
|
+
// backwards: the fabricated value is the lie. An optional `theme:Select[Newsprint|…]` override made
|
|
75
|
+
// every frame render `theme: "Newsprint"` with nobody having set anything — nine seed-distinct
|
|
76
|
+
// puzzles collapsed into one palette here, while the deployed drop (where the key is absent) would
|
|
77
|
+
// take the program's other branch entirely. Unset must be indistinguishable from on-chain unset.
|
|
78
|
+
for (const s of cfg.schemas) {
|
|
79
|
+
const v = params[s.key];
|
|
80
|
+
if (v !== undefined && v !== '')
|
|
81
|
+
data[s.key] = v;
|
|
85
82
|
}
|
|
83
|
+
return { data, json: canonicalTokenDataJson(data) };
|
|
86
84
|
}
|
|
87
85
|
/**
|
|
88
86
|
* Dependency script tags for the preview. Without a chain we can't read registry on-chain bytes,
|
|
@@ -109,23 +107,14 @@ export function previewDepTags(deps) {
|
|
|
109
107
|
return { tags, notes };
|
|
110
108
|
}
|
|
111
109
|
/**
|
|
112
|
-
* The template-mode document
|
|
113
|
-
* `assembleGeneratorDocument` in @artblocks/abx-token-api (token-api/src/code.ts)
|
|
114
|
-
* change this with it
|
|
110
|
+
* The template-mode document. This used to be a hand-maintained duplicate of
|
|
111
|
+
* `assembleGeneratorDocument`'s shape in @artblocks/abx-token-api (token-api/src/code.ts), kept
|
|
112
|
+
* byte-identical by a "if that changes, change this with it" comment and nothing else enforcing
|
|
113
|
+
* it. Now it just IS that shape: a re-export of the token-api package's own
|
|
114
|
+
* `buildGeneratorDocument`, the pure (chain-free) half `assembleGeneratorDocument` calls after
|
|
115
|
+
* fetching the script + dep tags from chain. One definition; the studio cannot drift from it.
|
|
115
116
|
*/
|
|
116
|
-
export
|
|
117
|
-
return [
|
|
118
|
-
'<!doctype html>',
|
|
119
|
-
'<html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">',
|
|
120
|
-
'<style>html,body{margin:0;padding:0;overflow:hidden}canvas{display:block}</style>',
|
|
121
|
-
`<script>window.abxTokenData=${escapeInlineJson(tokenDataJson)};</script>`,
|
|
122
|
-
`<script>${ABX_JS}</script>`,
|
|
123
|
-
...depTags,
|
|
124
|
-
'</head><body>',
|
|
125
|
-
`<script>\n${escapeInlineScript(script)}\n</script>`,
|
|
126
|
-
'</body></html>',
|
|
127
|
-
].join('\n');
|
|
128
|
-
}
|
|
117
|
+
export const buildPreviewDocument = buildGeneratorDocument;
|
|
129
118
|
/**
|
|
130
119
|
* The logical viewport every preview frame renders into, then CSS-scaled to fit its slot.
|
|
131
120
|
*
|
|
@@ -193,7 +182,11 @@ function paramControl(s) {
|
|
|
193
182
|
input = `<input type="checkbox" id="${id}" data-key="${escapeHtml(s.key)}" data-kind="bool">`;
|
|
194
183
|
break;
|
|
195
184
|
case 'Select':
|
|
196
|
-
|
|
185
|
+
// "— unset —" is FIRST and therefore the default position, so a fresh studio frame renders like
|
|
186
|
+
// a fresh token: the key absent, the program's own fallback in charge. Without it, HTML selects
|
|
187
|
+
// the first real option and there is no way to express "nobody has set this yet" — the state
|
|
188
|
+
// every token is actually in until an owner writes one.
|
|
189
|
+
input = `<select id="${id}" data-key="${escapeHtml(s.key)}" data-kind="text"><option value="">— unset (program fallback) —</option>${s.selectOptions
|
|
197
190
|
.map((o) => `<option value="${escapeHtml(o)}">${escapeHtml(o)}</option>`)
|
|
198
191
|
.join('')}</select>`;
|
|
199
192
|
break;
|
|
@@ -433,22 +426,62 @@ export async function shootPreview(base, outDir, count, opts = {}) {
|
|
|
433
426
|
const width = opts.width ?? STAGE_PX;
|
|
434
427
|
const timeoutMs = opts.timeoutMs ?? 10_000;
|
|
435
428
|
await mkdir(outDir, { recursive: true });
|
|
436
|
-
|
|
429
|
+
// A missing BROWSER BUILD is a different failure from a missing package, and its stock message
|
|
430
|
+
// ("please run npx playwright install") can send you in a circle: `npx playwright install` resolves
|
|
431
|
+
// whatever playwright npm feels like, which may be a DIFFERENT version than the one that just
|
|
432
|
+
// launched — you download a browser revision this playwright won't use, get the identical error,
|
|
433
|
+
// and run the same command again. Name the install command for the playwright we ACTUALLY loaded.
|
|
434
|
+
let browser;
|
|
435
|
+
try {
|
|
436
|
+
browser = await chromium.launch();
|
|
437
|
+
}
|
|
438
|
+
catch (err) {
|
|
439
|
+
const msg = err.message ?? '';
|
|
440
|
+
if (!/Executable doesn't exist|playwright install/i.test(msg))
|
|
441
|
+
throw err;
|
|
442
|
+
let hint = 'npx playwright install chromium';
|
|
443
|
+
let version = '';
|
|
444
|
+
try {
|
|
445
|
+
const req = createRequire(import.meta.url);
|
|
446
|
+
const pkgDir = dirname(req.resolve('playwright/package.json'));
|
|
447
|
+
version = ` ${JSON.parse(await readFile(join(pkgDir, 'package.json'), 'utf8')).version}`;
|
|
448
|
+
hint = `node ${join(pkgDir, 'cli.js')} install chromium`;
|
|
449
|
+
}
|
|
450
|
+
catch {
|
|
451
|
+
/* fall back to the generic command */
|
|
452
|
+
}
|
|
453
|
+
throw new Error(`--shoot loaded Playwright${version} but its Chromium build is missing.\n` +
|
|
454
|
+
` install the build THIS Playwright expects:\n ${hint}\n` +
|
|
455
|
+
` (a bare \`npx playwright install\` may fetch a build for a different Playwright version — same error, again.)`);
|
|
456
|
+
}
|
|
437
457
|
try {
|
|
438
458
|
const page = await browser.newPage({ viewport: { width, height: width } });
|
|
439
459
|
const out = [];
|
|
440
460
|
for (let i = 0; i < count; i++) {
|
|
441
461
|
const seed = previewSeed(i);
|
|
442
|
-
|
|
462
|
+
// Forward any --param overrides, so a batch can answer "what does the collection look like when
|
|
463
|
+
// a collector HAS set this?" — previously unreachable: --shoot rendered only the unset state, and
|
|
464
|
+
// seeing the other one meant hand-rolling a Playwright script against /view.
|
|
465
|
+
const overrides = Object.entries(opts.params ?? {})
|
|
466
|
+
.map(([k, v]) => `&${encodeURIComponent(k)}=${encodeURIComponent(v)}`)
|
|
467
|
+
.join('');
|
|
468
|
+
await page.goto(`${base}/view?tokenId=${i}&seed=${seed}&report=0${overrides}`, { waitUntil: 'load' });
|
|
443
469
|
// Wait for the sketch's own completion signal; a piece that never calls abx.done() (or
|
|
444
470
|
// animates forever) still gets captured — same timeout fallback the render effect uses.
|
|
471
|
+
// A timeout here is NOT a verdict on the program — the machine may simply be loaded (a studio
|
|
472
|
+
// instance + a second Chromium is enough). Record it instead of swallowing it, so the caller
|
|
473
|
+
// can tell "the program reported nothing" from "we stopped waiting".
|
|
474
|
+
let timedOut = false;
|
|
445
475
|
await page
|
|
446
476
|
.waitForFunction('window.abx && (window.abx.__done || window.abx.__traits)', { timeout: timeoutMs })
|
|
447
|
-
.catch(() => { });
|
|
477
|
+
.catch(() => { timedOut = true; });
|
|
448
478
|
const file = join(outDir, `seed-${i}.png`);
|
|
449
479
|
await page.screenshot({ path: file });
|
|
450
480
|
const probe = (await page.evaluate('({traits: (window.abx && window.abx.__traits) || null, done: !!(window.abx && window.abx.__done)})'));
|
|
451
|
-
|
|
481
|
+
// The wait can expire and the program still land its traits a moment later (the screenshot +
|
|
482
|
+
// probe cost real time) — so a frame that timed out but DID report is not a timeout for
|
|
483
|
+
// reporting purposes. Only an expiry that also produced nothing is worth flagging.
|
|
484
|
+
out.push({ seed, file, traits: probe.traits, done: probe.done, timedOut: timedOut && !probe.traits });
|
|
452
485
|
}
|
|
453
486
|
await writeFile(join(outDir, 'traits.json'), JSON.stringify(out.map(({ seed, traits, done }) => ({ seed, traits, done })), null, 2));
|
|
454
487
|
return out;
|
|
@@ -459,8 +492,27 @@ export async function shootPreview(base, outDir, count, opts = {}) {
|
|
|
459
492
|
}
|
|
460
493
|
// ── flag surface ─────────────────────────────────────────────────────────────────
|
|
461
494
|
export const PREVIEW_FLAGS = new Set([
|
|
462
|
-
'script', 'code-dir', 'schema', 'dep', 'port', 'shoot', 'count', 'width', 'timeout-ms',
|
|
495
|
+
'script', 'code-dir', 'schema', 'dep', 'port', 'shoot', 'count', 'width', 'timeout-ms', 'param',
|
|
463
496
|
]);
|
|
497
|
+
/**
|
|
498
|
+
* Parse `--param key=value` (repeatable, comma-joined by the flag parser) into overrides for a
|
|
499
|
+
* `--shoot` batch. Values are the same human form the studio's controls submit, so a Select takes its
|
|
500
|
+
* label. An empty value means "unset" — the same wire shape production uses for a param nobody has
|
|
501
|
+
* written — which makes `--param theme=` a way to shoot the fallback state explicitly.
|
|
502
|
+
*/
|
|
503
|
+
export function parsePreviewParams(raw) {
|
|
504
|
+
const out = {};
|
|
505
|
+
for (const pair of String(raw ?? '').split(',')) {
|
|
506
|
+
const t = pair.trim();
|
|
507
|
+
if (!t)
|
|
508
|
+
continue;
|
|
509
|
+
const eq = t.indexOf('=');
|
|
510
|
+
if (eq === -1)
|
|
511
|
+
throw new Error(`--param "${t}" — expected key=value (a Select takes its label; an empty value means unset).`);
|
|
512
|
+
out[t.slice(0, eq).trim()] = t.slice(eq + 1).trim();
|
|
513
|
+
}
|
|
514
|
+
return out;
|
|
515
|
+
}
|
|
464
516
|
/** Resolve `--script`/`--code-dir` into a source, with the same either-or rule as `deploy-code`. */
|
|
465
517
|
export function previewSourceFromFlags(flags) {
|
|
466
518
|
const script = flags.script && flags.script !== 'true' ? String(flags.script) : undefined;
|
package/dist/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
|
package/dist/prompt.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive-prompt helpers.
|
|
3
|
+
*
|
|
4
|
+
* These live outside `main.ts` on purpose: `main.ts` calls `main()` at module scope, so importing it
|
|
5
|
+
* from a test RUNS the CLI. Anything worth unit-testing belongs in a module that only defines things.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Does this answer to a `[Y/n]` prompt mean "no"?
|
|
9
|
+
*
|
|
10
|
+
* Used by `abx doctor`'s offer to install/resync the agent skill, which defaults to YES so the
|
|
11
|
+
* documented flow (`npm i -g @artblocks/abx-cli` → `abx doctor`) sets the agent up in one pass. Since
|
|
12
|
+
* Enter accepts, the exact refusal set is what matters: an over-eager match would refuse a "yes", and
|
|
13
|
+
* a sloppy `/^n/i` would swallow anything starting with n. Only the explicit forms decline; the caller
|
|
14
|
+
* maps EOF (Ctrl-D) to `'n'` so a closed stream never writes files.
|
|
15
|
+
*/
|
|
16
|
+
export declare function declinesSkillInstall(answer: string): boolean;
|
|
17
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D"}
|
package/dist/prompt.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interactive-prompt helpers.
|
|
3
|
+
*
|
|
4
|
+
* These live outside `main.ts` on purpose: `main.ts` calls `main()` at module scope, so importing it
|
|
5
|
+
* from a test RUNS the CLI. Anything worth unit-testing belongs in a module that only defines things.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Does this answer to a `[Y/n]` prompt mean "no"?
|
|
9
|
+
*
|
|
10
|
+
* Used by `abx doctor`'s offer to install/resync the agent skill, which defaults to YES so the
|
|
11
|
+
* documented flow (`npm i -g @artblocks/abx-cli` → `abx doctor`) sets the agent up in one pass. Since
|
|
12
|
+
* Enter accepts, the exact refusal set is what matters: an over-eager match would refuse a "yes", and
|
|
13
|
+
* a sloppy `/^n/i` would swallow anything starting with n. Only the explicit forms decline; the caller
|
|
14
|
+
* maps EOF (Ctrl-D) to `'n'` so a closed stream never writes files.
|
|
15
|
+
*/
|
|
16
|
+
export function declinesSkillInstall(answer) {
|
|
17
|
+
return /^n(o|ope)?$/i.test(answer.trim());
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/provision.d.ts
CHANGED
|
@@ -2,26 +2,16 @@
|
|
|
2
2
|
* Hosted-resolver provisioning — scaffolds a **self-contained** deploy artifact for the read-only
|
|
3
3
|
* ABX token API to a provider the operator owns, under a custom domain they control.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* buildable artifact. Nothing is ever copied out of a repo, and no config points at a file that
|
|
8
|
-
* doesn't exist in the artifact dir. (The old scaffold declared `dockerfile = "Dockerfile"` but
|
|
9
|
-
* never emitted one, which forced people to reach into the monorepo — the bug this file fixes.)
|
|
5
|
+
* Every provider emits its own `Dockerfile` and `.dockerignore` alongside its config, producing a
|
|
6
|
+
* complete artifact that does not depend on paths in this repository.
|
|
10
7
|
*
|
|
11
8
|
* TWO WAYS the image obtains the ABX code:
|
|
12
9
|
* - **Production (default):** an npm-based image — `npm i -g @artblocks/abx-cli` → `abx serve`. Tiny, no
|
|
13
|
-
* build step, self-contained.
|
|
10
|
+
* build step, self-contained.
|
|
14
11
|
* - **Dev (`fromSource`):** build from the workspace source the CLI vendors INTO the artifact
|
|
15
12
|
* dir, so it builds pre-publish. Same `abx serve` entrypoint; converges to the npm image after
|
|
16
13
|
* publish. This is a permanent dev capability — we sandbox-e2e locally without publishing.
|
|
17
14
|
*
|
|
18
|
-
* ROADMAP (README Distribution #3, do BEFORE publish): the from-source variant is the *pre-bundle*
|
|
19
|
-
* mechanism — it exists only because, until the packages are compiled (roadmap #1 drops the tsx
|
|
20
|
-
* shebang), a plain `npm install` of the CLI can't run. Once #1 lands, converge to ONE recipe:
|
|
21
|
-
* dev `npm pack`s the working tree and the Dockerfile does `npm i -g ./<pkg>.tgz` (registry in prod,
|
|
22
|
-
* local tarball in dev). That retires this source-build path, makes dev packaging-faithful (Tier 2),
|
|
23
|
-
* and keeps the same `ABX_RESOLVER_SOURCE=1` switch — only what it emits changes.
|
|
24
|
-
*
|
|
25
15
|
* This is the DEFAULT off-chain path: the resolver builds metadata dynamically from chain + IPFS,
|
|
26
16
|
* so changing name/description/etc. never touches the on-chain pointer — only a frozen `ipfs://`
|
|
27
17
|
* override does. The provisioned host is **read-only**: it serves the token API (`abx serve`) and
|
package/dist/provision.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;AAExD,MAAM,WAAW,gBAAgB;IAC/B,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAC9C,oFAAoF;IACpF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,2GAA2G;IAC3G,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mGAAmG;IACnG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAoQD,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ,uGAAuG;IACvG,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qGAAqG;IACrG,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA2BD;6FAC6F;AAC7F,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,gBAAgB,CA6DnE;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,gBAAgB,CAIxE"}
|
package/dist/provision.js
CHANGED
|
@@ -2,26 +2,16 @@
|
|
|
2
2
|
* Hosted-resolver provisioning — scaffolds a **self-contained** deploy artifact for the read-only
|
|
3
3
|
* ABX token API to a provider the operator owns, under a custom domain they control.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* buildable artifact. Nothing is ever copied out of a repo, and no config points at a file that
|
|
8
|
-
* doesn't exist in the artifact dir. (The old scaffold declared `dockerfile = "Dockerfile"` but
|
|
9
|
-
* never emitted one, which forced people to reach into the monorepo — the bug this file fixes.)
|
|
5
|
+
* Every provider emits its own `Dockerfile` and `.dockerignore` alongside its config, producing a
|
|
6
|
+
* complete artifact that does not depend on paths in this repository.
|
|
10
7
|
*
|
|
11
8
|
* TWO WAYS the image obtains the ABX code:
|
|
12
9
|
* - **Production (default):** an npm-based image — `npm i -g @artblocks/abx-cli` → `abx serve`. Tiny, no
|
|
13
|
-
* build step, self-contained.
|
|
10
|
+
* build step, self-contained.
|
|
14
11
|
* - **Dev (`fromSource`):** build from the workspace source the CLI vendors INTO the artifact
|
|
15
12
|
* dir, so it builds pre-publish. Same `abx serve` entrypoint; converges to the npm image after
|
|
16
13
|
* publish. This is a permanent dev capability — we sandbox-e2e locally without publishing.
|
|
17
14
|
*
|
|
18
|
-
* ROADMAP (README Distribution #3, do BEFORE publish): the from-source variant is the *pre-bundle*
|
|
19
|
-
* mechanism — it exists only because, until the packages are compiled (roadmap #1 drops the tsx
|
|
20
|
-
* shebang), a plain `npm install` of the CLI can't run. Once #1 lands, converge to ONE recipe:
|
|
21
|
-
* dev `npm pack`s the working tree and the Dockerfile does `npm i -g ./<pkg>.tgz` (registry in prod,
|
|
22
|
-
* local tarball in dev). That retires this source-build path, makes dev packaging-faithful (Tier 2),
|
|
23
|
-
* and keeps the same `ABX_RESOLVER_SOURCE=1` switch — only what it emits changes.
|
|
24
|
-
*
|
|
25
15
|
* This is the DEFAULT off-chain path: the resolver builds metadata dynamically from chain + IPFS,
|
|
26
16
|
* so changing name/description/etc. never touches the on-chain pointer — only a frozen `ipfs://`
|
|
27
17
|
* override does. The provisioned host is **read-only**: it serves the token API (`abx serve`) and
|
|
@@ -150,8 +140,10 @@ primary_region = "iad"
|
|
|
150
140
|
`fly volumes create abx_data --size 1 --region iad # BEFORE first deploy — the SQLite projection lives here; skip it and a redeploy/restart loses the index (and any published render locators)`,
|
|
151
141
|
loadEnv,
|
|
152
142
|
`fly secrets set ABX_RPC_URLS="$ABX_RPC_URLS" # read-only RPC for this chain; NO signing key on the host`,
|
|
153
|
-
// The admin token authorizes remote `abx add`/index (NOT signing).
|
|
154
|
-
|
|
143
|
+
// The admin token authorizes remote `abx add`/index (NOT signing). LHS is the resolver's OWN
|
|
144
|
+
// var name (server-side, unchanged); RHS pulls the value from your local ABX_REMOTE_SELF_TOKEN
|
|
145
|
+
// (the named-remote grammar's "self" entry — `abx deploy-resolver` generated + saved it).
|
|
146
|
+
`fly secrets set ABX_RESOLVER_ADMIN_TOKEN="$ABX_REMOTE_SELF_TOKEN" # index-control only, never signing`,
|
|
155
147
|
`fly deploy`,
|
|
156
148
|
o.domain ? `fly certs add ${o.domain}` : `# (add a custom domain: fly certs add meta.yourproject.xyz)`,
|
|
157
149
|
],
|
|
@@ -188,7 +180,7 @@ services:
|
|
|
188
180
|
- key: ABX_RPC_URLS
|
|
189
181
|
sync: false # set in the dashboard (secret); read-only RPC for this chain, NO signing key
|
|
190
182
|
- key: ABX_RESOLVER_ADMIN_TOKEN
|
|
191
|
-
sync: false # set in the dashboard; authorizes remote \`abx add\`/index (NOT signing). Match your .env.
|
|
183
|
+
sync: false # set in the dashboard; authorizes remote \`abx add\`/index (NOT signing). Match ABX_REMOTE_SELF_TOKEN in your local .env.
|
|
192
184
|
`;
|
|
193
185
|
return {
|
|
194
186
|
baseUrl: baseUrlFor(o),
|
|
@@ -200,7 +192,7 @@ services:
|
|
|
200
192
|
steps: [
|
|
201
193
|
`commit render.yaml + the emitted Dockerfile, then in the Render dashboard: New → Blueprint → pick this repo`,
|
|
202
194
|
`set ABX_RPC_URLS in the service's Environment (read-only RPC for this chain; NO signing key)`,
|
|
203
|
-
`set ABX_RESOLVER_ADMIN_TOKEN to the value in your local .env (lets you remote-register contracts)`,
|
|
195
|
+
`set ABX_RESOLVER_ADMIN_TOKEN to the value of ABX_REMOTE_SELF_TOKEN in your local .env (lets you remote-register contracts)`,
|
|
204
196
|
o.domain ? `Settings → Custom Domains → add ${o.domain}, then add the DNS record below` : `# add a custom domain in Settings → Custom Domains`,
|
|
205
197
|
],
|
|
206
198
|
dns: o.domain ? `${o.domain} CNAME ${o.app}.onrender.com` : undefined,
|
|
@@ -238,7 +230,7 @@ set -euo pipefail
|
|
|
238
230
|
DOMAIN="${domain}"
|
|
239
231
|
RPC_URL="\${ABX_RPC_URLS:?set ABX_RPC_URLS to your read-only RPC endpoint(s) for this chain}"
|
|
240
232
|
# Authorizes remote \`abx add\`/index (NOT on-chain signing). Must match your workstation's .env.
|
|
241
|
-
ADMIN_TOKEN="\${ABX_RESOLVER_ADMIN_TOKEN:?set ABX_RESOLVER_ADMIN_TOKEN (the value abx deploy-resolver saved to your .env)}"
|
|
233
|
+
ADMIN_TOKEN="\${ABX_RESOLVER_ADMIN_TOKEN:?set ABX_RESOLVER_ADMIN_TOKEN (the value of ABX_REMOTE_SELF_TOKEN that abx deploy-resolver saved to your .env)}"
|
|
242
234
|
|
|
243
235
|
# 1. Docker
|
|
244
236
|
curl -fsSL https://get.docker.com | sh
|
|
@@ -274,7 +266,7 @@ echo "Resolver up at https://\${DOMAIN} (point the domain's A record at this dr
|
|
|
274
266
|
steps: [
|
|
275
267
|
`create a droplet, point ${domain}'s A record at its IP`,
|
|
276
268
|
`copy THIS artifact dir (deploy/vps — it is self-contained) to the droplet`,
|
|
277
|
-
`ABX_RPC_URLS=<your-rpc-url> ABX_RESOLVER_ADMIN_TOKEN=<from
|
|
269
|
+
`ABX_RPC_URLS=<your-rpc-url> ABX_RESOLVER_ADMIN_TOKEN=<ABX_REMOTE_SELF_TOKEN from your .env> bash setup.sh # read-only RPC; NO signing key`,
|
|
278
270
|
],
|
|
279
271
|
dns: `${domain} A <droplet-ip>`,
|
|
280
272
|
hardening: 'Caddy auto-TLS; compose runs only `abx serve` (read-only); no signing key; app port loopback-only.',
|
|
@@ -348,11 +340,17 @@ primary_region = "iad"
|
|
|
348
340
|
`fly launch --no-deploy --copy-config --name ${o.app} # uses Dockerfile.effects + fly.toml in THIS dir`,
|
|
349
341
|
loadEnv,
|
|
350
342
|
`fly secrets set ABX_RPC_URLS="$ABX_RPC_URLS" # augment hooks / data-backed params need reads`,
|
|
351
|
-
|
|
343
|
+
// LHS is the resolver's OWN var name (server-side); RHS is your local ABX_REMOTE_SELF_TOKEN.
|
|
344
|
+
`fly secrets set ABX_RESOLVER_ADMIN_TOKEN="$ABX_REMOTE_SELF_TOKEN" # the SAME token as the resolver — publishing is admin-gated`,
|
|
352
345
|
`fly secrets set ABX_EFFECTS_TOKEN="$ABX_EFFECTS_TOKEN" # gates this PUBLIC runner's /run + /notify (an open force-render endpoint burns Chromium/storage)`,
|
|
353
346
|
`# set your storage-home secrets so renders land where the resolver can read them, e.g.:`,
|
|
354
347
|
`# fly secrets set PINATA_JWT="$PINATA_JWT" (ipfs)`,
|
|
355
|
-
|
|
348
|
+
// ARWEAVE_JWK (the JWK inline), NOT ABX_ARWEAVE_KEY — no such var is read anywhere, so the
|
|
349
|
+
// old line was a silent no-op for anyone who pasted it: the runner would come up with no
|
|
350
|
+
// Arweave identity and fail at its first upload, pointing at a variable that was "set".
|
|
351
|
+
// The hosted runner cannot use the CLI's managed key file (that lives on the operator's
|
|
352
|
+
// machine), so the inline form is the one that applies here.
|
|
353
|
+
`# fly secrets set ARWEAVE_JWK="$(cat .abx-self-host/arweave-key.json)" (arweave — the JWK itself; ABX_ARWEAVE_KEY_FILE is a local path and won't help a remote host)`,
|
|
356
354
|
`# fly secrets set ABX_S3_ACCESS_KEY_ID="$ABX_S3_ACCESS_KEY_ID" ABX_S3_SECRET_ACCESS_KEY="$ABX_S3_SECRET_ACCESS_KEY" (s3/cloud)`,
|
|
357
355
|
`fly deploy`,
|
|
358
356
|
`# WIRE THE WATCHER — on the RESOLVER app, point its chain watcher at this runner (this is what`,
|
package/dist/provision.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"provision.js","sourceRoot":"","sources":["../src/provision.ts"],"names":[],"mappings":"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"}
|