@nexart/cli 0.2.0 → 0.2.2

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/README.md CHANGED
@@ -1,23 +1,74 @@
1
- # @nexart/cli v0.2
1
+ # @nexart/cli v0.2.2
2
2
 
3
3
  Command-line interface for NexArt CodeMode — run, replay, and verify deterministic generative art.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
+ # Global install (recommended)
8
9
  npm install -g @nexart/cli
10
+
11
+ # After global install, use the `nexart` command directly:
12
+ nexart run sketch.js --seed 12345
13
+ ```
14
+
15
+ ## Quick Start (npx)
16
+
17
+ Run without installing globally:
18
+
19
+ ```bash
20
+ # Using npx (no install required)
21
+ npx @nexart/cli run sketch.js --seed 12345
22
+ npx @nexart/cli verify out.snapshot.json
23
+ npx @nexart/cli replay out.snapshot.json --out replay.png
9
24
  ```
10
25
 
11
26
  ## Overview
12
27
 
13
28
  The CLI renders Code Mode sketches via a **remote canonical renderer** and creates verifiable snapshots.
14
29
 
15
- **v0.2 features:**
30
+ **v0.2.2 features:**
31
+ - Authenticated remote rendering with API keys
16
32
  - Real PNG output via remote renderer
17
33
  - Snapshot v1 format with SHA-256 hashing
18
34
  - Verify and replay commands
19
35
  - Optional code embedding in snapshots
20
36
 
37
+ ## Authentication
38
+
39
+ Remote rendering requires an API key for metered access.
40
+
41
+ ### Setup
42
+
43
+ ```bash
44
+ # Set environment variables
45
+ export NEXART_RENDERER_ENDPOINT=https://nexart-canonical-renderer-production.up.railway.app
46
+ export NEXART_API_KEY=nx_live_your_key_here
47
+
48
+ # Run with authentication
49
+ npx @nexart/cli@0.2.2 run sketch.js --seed 12345 --include-code --out out.png
50
+ ```
51
+
52
+ ### API Key Options
53
+
54
+ ```bash
55
+ # Via environment variable (recommended)
56
+ export NEXART_API_KEY=nx_live_...
57
+ nexart run sketch.js --seed 12345
58
+
59
+ # Via CLI flag
60
+ nexart run sketch.js --seed 12345 --api-key nx_live_...
61
+ ```
62
+
63
+ ### Error Messages
64
+
65
+ If authentication fails:
66
+ ```
67
+ [nexart] Error: Missing API key for remote rendering.
68
+ [nexart] Set NEXART_API_KEY environment variable or pass --api-key.
69
+ [nexart] Get your API key at: https://nexart.art/dashboard/api
70
+ ```
71
+
21
72
  ## Commands
22
73
 
23
74
  ### Run
@@ -25,13 +76,13 @@ The CLI renders Code Mode sketches via a **remote canonical renderer** and creat
25
76
  Execute a sketch and create a snapshot:
26
77
 
27
78
  ```bash
28
- # With remote renderer (default)
79
+ # With remote renderer (default, requires API key for remote endpoints)
29
80
  nexart run sketch.js --seed 12345 --out render.png
30
81
 
31
82
  # With code embedded for standalone verify/replay
32
83
  nexart run sketch.js --seed 12345 --include-code
33
84
 
34
- # Offline mode (placeholder PNG)
85
+ # Local mode (placeholder PNG, no auth required)
35
86
  nexart run sketch.js --renderer local
36
87
  ```
37
88
 
@@ -45,6 +96,7 @@ nexart run sketch.js --renderer local
45
96
  | `--height` | 2400 | Canvas height |
46
97
  | `--renderer` | remote | `remote` or `local` |
47
98
  | `--endpoint` | env/localhost:5000 | Remote renderer URL |
99
+ | `--api-key` | env | API key for authentication |
48
100
  | `--include-code` | false | Embed code in snapshot |
49
101
  | `--runtime-hash` | auto | Override runtime hash |
50
102
 
@@ -86,10 +138,11 @@ The CLI calls a canonical Node.js renderer endpoint for real PNG generation.
86
138
 
87
139
  ```bash
88
140
  # Via environment variable
89
- export NEXART_RENDERER_ENDPOINT=http://localhost:5000
141
+ export NEXART_RENDERER_ENDPOINT=https://nexart-canonical-renderer-production.up.railway.app
142
+ export NEXART_API_KEY=nx_live_...
90
143
 
91
- # Via CLI flag
92
- nexart run sketch.js --endpoint http://render.nexart.io
144
+ # Via CLI flags
145
+ nexart run sketch.js --endpoint https://render.nexart.io --api-key nx_live_...
93
146
  ```
94
147
 
95
148
  ### Expected API
@@ -97,6 +150,7 @@ nexart run sketch.js --endpoint http://render.nexart.io
97
150
  ```
98
151
  POST /api/render
99
152
  Content-Type: application/json
153
+ Authorization: Bearer <api_key>
100
154
 
101
155
  {
102
156
  "code": "...",
@@ -112,12 +166,14 @@ Headers:
112
166
  X-Runtime-Hash: <hash>
113
167
  ```
114
168
 
115
- Or JSON response:
116
- ```json
117
- {
118
- "pngBase64": "...",
119
- "runtimeHash": "..."
120
- }
169
+ ### Equivalent curl
170
+
171
+ ```bash
172
+ curl -X POST https://nexart-canonical-renderer-production.up.railway.app/api/render \
173
+ -H "Content-Type: application/json" \
174
+ -H "Authorization: Bearer nx_live_..." \
175
+ -d '{"code":"createCanvas(400,400);\nbackground(0);\n","seed":12345,"VAR":[0,0,0,0,0,0,0,0,0,0],"width":400,"height":400,"protocolVersion":"1.2.0"}' \
176
+ --output render.png
121
177
  ```
122
178
 
123
179
  ## Snapshot Format (v1)
@@ -133,7 +189,7 @@ Or JSON response:
133
189
  "VAR": [0,0,0,0,0,0,0,0,0,0],
134
190
  "canvas": { "width": 1950, "height": 2400 },
135
191
  "outputHash": "<sha256>",
136
- "createdAt": "2026-01-24T...",
192
+ "createdAt": "2026-01-25T...",
137
193
  "code": "..." // optional, if --include-code
138
194
  }
139
195
  ```
@@ -143,15 +199,29 @@ Or JSON response:
143
199
  - `codeHash` = SHA-256 of normalized code
144
200
  - `runtimeHash` = From renderer or SHA-256 of SDK version
145
201
 
146
- ## Offline Mode
202
+ ## Renderer Modes
147
203
 
148
- For development without a renderer:
204
+ | Mode | Description |
205
+ |------|-------------|
206
+ | `--renderer remote` | **Default.** Calls canonical renderer with auth, produces real PNG output. |
207
+ | `--renderer local` | **NOT implemented yet.** Outputs a 1x1 placeholder image only. No auth required. |
149
208
 
150
209
  ```bash
210
+ # Remote (default) — real PNG output, requires API key for remote endpoints
211
+ nexart run sketch.js --seed 12345
212
+
213
+ # Local — NOT implemented, placeholder only, no auth
151
214
  nexart run sketch.js --renderer local
152
215
  ```
153
216
 
154
- This creates a placeholder 1x1 PNG. Real local rendering is planned for v0.3.
217
+ Real local/offline rendering is planned for a future release.
218
+
219
+ ## Environment Variables
220
+
221
+ | Variable | Description |
222
+ |----------|-------------|
223
+ | `NEXART_RENDERER_ENDPOINT` | Remote renderer URL (default: http://localhost:5000) |
224
+ | `NEXART_API_KEY` | API key for authenticated rendering |
155
225
 
156
226
  ## License
157
227
 
package/dist/index.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @nexart/cli v0.2 — NexArt CodeMode CLI
3
+ * @nexart/cli v0.2.2 — NexArt CodeMode CLI
4
4
  *
5
5
  * Commands:
6
6
  * - nexart run <file> — Execute via remote renderer and create snapshot
7
7
  * - nexart replay <snapshot> — Re-execute from snapshot
8
8
  * - nexart verify <snapshot> — Verify snapshot hash
9
9
  *
10
- * Remote rendering via canonical Node renderer endpoint.
10
+ * Remote rendering via canonical Node renderer endpoint with API key auth.
11
11
  */
12
12
  export {};
13
13
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,24 +1,26 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @nexart/cli v0.2 — NexArt CodeMode CLI
3
+ * @nexart/cli v0.2.2 — NexArt CodeMode CLI
4
4
  *
5
5
  * Commands:
6
6
  * - nexart run <file> — Execute via remote renderer and create snapshot
7
7
  * - nexart replay <snapshot> — Re-execute from snapshot
8
8
  * - nexart verify <snapshot> — Verify snapshot hash
9
9
  *
10
- * Remote rendering via canonical Node renderer endpoint.
10
+ * Remote rendering via canonical Node renderer endpoint with API key auth.
11
11
  */
12
12
  import yargs from 'yargs';
13
13
  import { hideBin } from 'yargs/helpers';
14
14
  import * as fs from 'fs';
15
+ import * as path from 'path';
15
16
  import * as crypto from 'crypto';
16
17
  import * as http from 'http';
17
18
  import * as https from 'https';
18
- const CLI_VERSION = '0.2.0';
19
- const SDK_VERSION = '1.8.3';
19
+ const CLI_VERSION = '0.2.2';
20
+ const SDK_VERSION = '1.8.4';
20
21
  const PROTOCOL_VERSION = '1.2.0';
21
22
  const DEFAULT_ENDPOINT = process.env.NEXART_RENDERER_ENDPOINT || 'http://localhost:5000';
23
+ const DEFAULT_API_KEY = process.env.NEXART_API_KEY || '';
22
24
  function sha256(data) {
23
25
  const buffer = typeof data === 'string' ? Buffer.from(data, 'utf-8') : data;
24
26
  return crypto.createHash('sha256').update(buffer).digest('hex');
@@ -47,10 +49,40 @@ function parseVars(varsStr) {
47
49
  const parts = varsStr.split(',').map(s => parseInt(s.trim(), 10) || 0);
48
50
  return normalizeVAR(parts);
49
51
  }
52
+ function isRemoteEndpoint(endpoint) {
53
+ try {
54
+ const url = new URL(endpoint);
55
+ const host = url.hostname.toLowerCase();
56
+ return host !== 'localhost' && host !== '127.0.0.1' && host !== '::1';
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
62
+ function validateApiKey(apiKey, endpoint) {
63
+ if (isRemoteEndpoint(endpoint) && !apiKey) {
64
+ console.error('[nexart] Error: Missing API key for remote rendering.');
65
+ console.error('[nexart] Set NEXART_API_KEY environment variable or pass --api-key.');
66
+ console.error('[nexart] Get your API key at: https://nexart.art/dashboard/api');
67
+ process.exit(1);
68
+ }
69
+ }
70
+ function writeFileWithAbsolutePath(filePath, data) {
71
+ const absolutePath = path.resolve(process.cwd(), filePath);
72
+ try {
73
+ fs.writeFileSync(absolutePath, data);
74
+ return absolutePath;
75
+ }
76
+ catch (error) {
77
+ console.error(`[nexart] Error: Failed to write file: ${absolutePath}`);
78
+ console.error(`[nexart] ${error}`);
79
+ process.exit(1);
80
+ }
81
+ }
50
82
  /**
51
- * Call remote renderer endpoint
83
+ * Call remote renderer endpoint with optional API key auth
52
84
  */
53
- async function callRenderer(endpoint, code, seed, VAR, width, height) {
85
+ async function callRenderer(endpoint, code, seed, VAR, width, height, apiKey) {
54
86
  const url = new URL('/api/render', endpoint);
55
87
  const isHttps = url.protocol === 'https:';
56
88
  const httpModule = isHttps ? https : http;
@@ -62,29 +94,53 @@ async function callRenderer(endpoint, code, seed, VAR, width, height) {
62
94
  height,
63
95
  protocolVersion: PROTOCOL_VERSION,
64
96
  });
97
+ const headers = {
98
+ 'Content-Type': 'application/json',
99
+ 'Content-Length': Buffer.byteLength(body),
100
+ };
101
+ if (apiKey) {
102
+ headers['Authorization'] = `Bearer ${apiKey}`;
103
+ }
65
104
  return new Promise((resolve, reject) => {
66
105
  const req = httpModule.request({
67
106
  hostname: url.hostname,
68
107
  port: url.port || (isHttps ? 443 : 80),
69
108
  path: url.pathname,
70
109
  method: 'POST',
71
- headers: {
72
- 'Content-Type': 'application/json',
73
- 'Content-Length': Buffer.byteLength(body),
74
- },
110
+ headers,
75
111
  }, (res) => {
76
112
  const chunks = [];
77
113
  res.on('data', (chunk) => chunks.push(chunk));
78
114
  res.on('end', () => {
79
115
  const responseBuffer = Buffer.concat(chunks);
80
116
  const contentType = res.headers['content-type'] || '';
81
- // Handle binary PNG response
117
+ if (res.statusCode === 401) {
118
+ reject(new Error('Authentication failed. Check your API key.'));
119
+ return;
120
+ }
121
+ if (res.statusCode === 403) {
122
+ reject(new Error('Access denied. Your API key may not have render permissions.'));
123
+ return;
124
+ }
125
+ if (res.statusCode === 429) {
126
+ reject(new Error('Rate limited. Please wait before making more requests.'));
127
+ return;
128
+ }
129
+ if (res.statusCode && res.statusCode >= 400) {
130
+ try {
131
+ const json = JSON.parse(responseBuffer.toString('utf-8'));
132
+ reject(new Error(json.error || `Server error: ${res.statusCode}`));
133
+ }
134
+ catch {
135
+ reject(new Error(`Server error: ${res.statusCode}`));
136
+ }
137
+ return;
138
+ }
82
139
  if (contentType.includes('image/png')) {
83
140
  const runtimeHash = res.headers['x-runtime-hash'] || sha256(SDK_VERSION);
84
141
  resolve({ pngBytes: responseBuffer, runtimeHash });
85
142
  return;
86
143
  }
87
- // Handle JSON response (with base64 PNG or error)
88
144
  try {
89
145
  const json = JSON.parse(responseBuffer.toString('utf-8'));
90
146
  if (json.error) {
@@ -131,7 +187,7 @@ async function runCommand(file, options) {
131
187
  console.log(`[nexart] Running: ${file}`);
132
188
  console.log(`[nexart] Renderer: ${options.renderer}`);
133
189
  if (!fs.existsSync(file)) {
134
- console.error(`Error: File not found: ${file}`);
190
+ console.error(`[nexart] Error: File not found: ${file}`);
135
191
  process.exit(1);
136
192
  }
137
193
  const code = fs.readFileSync(file, 'utf-8');
@@ -144,22 +200,24 @@ async function runCommand(file, options) {
144
200
  let pngBytes;
145
201
  let runtimeHash;
146
202
  if (options.renderer === 'remote') {
203
+ validateApiKey(options.apiKey, options.endpoint);
147
204
  console.log(`[nexart] Endpoint: ${options.endpoint}`);
205
+ if (options.apiKey) {
206
+ console.log(`[nexart] Auth: Bearer ***${options.apiKey.slice(-4)}`);
207
+ }
148
208
  try {
149
- const result = await callRenderer(options.endpoint, code, seed, VAR, width, height);
209
+ const result = await callRenderer(options.endpoint, code, seed, VAR, width, height, options.apiKey);
150
210
  pngBytes = result.pngBytes;
151
211
  runtimeHash = options.runtimeHash || result.runtimeHash;
152
212
  console.log(`[nexart] Received ${pngBytes.length} bytes from renderer`);
153
213
  }
154
214
  catch (error) {
155
215
  console.error(`[nexart] Remote render failed: ${error}`);
156
- console.error(`[nexart] Falling back to local placeholder`);
157
- pngBytes = createPlaceholderPng();
158
- runtimeHash = options.runtimeHash || sha256(SDK_VERSION);
216
+ process.exit(1);
159
217
  }
160
218
  }
161
219
  else {
162
- console.log(`[nexart] Using local placeholder (full local rendering planned for v0.3)`);
220
+ console.log(`[nexart] WARNING: Local renderer NOT implemented yet outputs placeholder image only`);
163
221
  pngBytes = createPlaceholderPng();
164
222
  runtimeHash = options.runtimeHash || sha256(SDK_VERSION);
165
223
  }
@@ -181,25 +239,24 @@ async function runCommand(file, options) {
181
239
  }
182
240
  const outPath = options.out;
183
241
  const snapshotPath = outPath.replace(/\.png$/i, '.snapshot.json');
184
- fs.writeFileSync(outPath, pngBytes);
185
- fs.writeFileSync(snapshotPath, JSON.stringify(snapshot, null, 2));
186
- console.log(`[nexart] Output: ${outPath}`);
187
- console.log(`[nexart] Snapshot: ${snapshotPath}`);
242
+ const pngAbsPath = writeFileWithAbsolutePath(outPath, pngBytes);
243
+ const snapshotAbsPath = writeFileWithAbsolutePath(snapshotPath, JSON.stringify(snapshot, null, 2));
244
+ console.log(`[nexart] Wrote PNG: ${pngAbsPath}`);
245
+ console.log(`[nexart] Wrote Snapshot: ${snapshotAbsPath}`);
188
246
  console.log(`[nexart] outputHash: ${outputHash}`);
189
247
  console.log(`[nexart] codeHash: ${codeHash}`);
190
248
  }
191
249
  async function replayCommand(snapshotFile, options) {
192
250
  console.log(`[nexart] Replaying from: ${snapshotFile}`);
193
251
  if (!fs.existsSync(snapshotFile)) {
194
- console.error(`Error: Snapshot not found: ${snapshotFile}`);
252
+ console.error(`[nexart] Error: Snapshot not found: ${snapshotFile}`);
195
253
  process.exit(1);
196
254
  }
197
255
  const snapshot = JSON.parse(fs.readFileSync(snapshotFile, 'utf-8'));
198
256
  if (snapshot.protocol !== 'nexart') {
199
- console.error('Error: Invalid snapshot format');
257
+ console.error('[nexart] Error: Invalid snapshot format');
200
258
  process.exit(1);
201
259
  }
202
- // Get code from snapshot, --code flag, or error
203
260
  let code;
204
261
  if (options.code && fs.existsSync(options.code)) {
205
262
  code = fs.readFileSync(options.code, 'utf-8');
@@ -210,8 +267,8 @@ async function replayCommand(snapshotFile, options) {
210
267
  console.log(`[nexart] Using embedded code from snapshot`);
211
268
  }
212
269
  else {
213
- console.error('Error: No code available. Provide --code <file> or use a snapshot with embedded code.');
214
- console.error('Hint: Use --include-code when running to embed code in snapshot.');
270
+ console.error('[nexart] Error: No code available. Provide --code <file> or use a snapshot with embedded code.');
271
+ console.error('[nexart] Hint: Use --include-code when running to embed code in snapshot.');
215
272
  process.exit(1);
216
273
  }
217
274
  console.log(`[nexart] Protocol: ${snapshot.protocolVersion}`);
@@ -220,37 +277,41 @@ async function replayCommand(snapshotFile, options) {
220
277
  console.log(`[nexart] Canvas: ${snapshot.canvas.width}x${snapshot.canvas.height}`);
221
278
  let pngBytes;
222
279
  if (options.renderer === 'remote') {
280
+ validateApiKey(options.apiKey, options.endpoint);
223
281
  console.log(`[nexart] Endpoint: ${options.endpoint}`);
282
+ if (options.apiKey) {
283
+ console.log(`[nexart] Auth: Bearer ***${options.apiKey.slice(-4)}`);
284
+ }
224
285
  try {
225
- const result = await callRenderer(options.endpoint, code, snapshot.seed, snapshot.VAR, snapshot.canvas.width, snapshot.canvas.height);
286
+ const result = await callRenderer(options.endpoint, code, snapshot.seed, snapshot.VAR, snapshot.canvas.width, snapshot.canvas.height, options.apiKey);
226
287
  pngBytes = result.pngBytes;
227
288
  console.log(`[nexart] Received ${pngBytes.length} bytes from renderer`);
228
289
  }
229
290
  catch (error) {
230
291
  console.error(`[nexart] Remote render failed: ${error}`);
231
- pngBytes = createPlaceholderPng();
292
+ process.exit(1);
232
293
  }
233
294
  }
234
295
  else {
296
+ console.log(`[nexart] WARNING: Local renderer NOT implemented yet — outputs placeholder image only`);
235
297
  pngBytes = createPlaceholderPng();
236
298
  }
237
299
  const outputHash = sha256(pngBytes);
238
- fs.writeFileSync(options.out, pngBytes);
239
- console.log(`[nexart] Output: ${options.out}`);
300
+ const pngAbsPath = writeFileWithAbsolutePath(options.out, pngBytes);
301
+ console.log(`[nexart] Wrote PNG: ${pngAbsPath}`);
240
302
  console.log(`[nexart] outputHash: ${outputHash}`);
241
303
  }
242
304
  async function verifyCommand(snapshotFile, options) {
243
305
  console.log(`[nexart] Verifying: ${snapshotFile}`);
244
306
  if (!fs.existsSync(snapshotFile)) {
245
- console.error(`Error: Snapshot not found: ${snapshotFile}`);
307
+ console.error(`[nexart] Error: Snapshot not found: ${snapshotFile}`);
246
308
  process.exit(1);
247
309
  }
248
310
  const snapshot = JSON.parse(fs.readFileSync(snapshotFile, 'utf-8'));
249
311
  if (snapshot.protocol !== 'nexart') {
250
- console.error('Error: Invalid snapshot format');
312
+ console.error('[nexart] Error: Invalid snapshot format');
251
313
  process.exit(1);
252
314
  }
253
- // Get code
254
315
  let code;
255
316
  if (options.code && fs.existsSync(options.code)) {
256
317
  code = fs.readFileSync(options.code, 'utf-8');
@@ -261,12 +322,11 @@ async function verifyCommand(snapshotFile, options) {
261
322
  console.log(`[nexart] Using embedded code from snapshot`);
262
323
  }
263
324
  else {
264
- console.error('Error: No code available for verification.');
265
- console.error('Provide --code <file> or use a snapshot with embedded code.');
266
- console.error('Hint: Use --include-code when running to embed code in snapshot.');
325
+ console.error('[nexart] Error: No code available for verification.');
326
+ console.error('[nexart] Provide --code <file> or use a snapshot with embedded code.');
327
+ console.error('[nexart] Hint: Use --include-code when running to embed code in snapshot.');
267
328
  process.exit(1);
268
329
  }
269
- // Verify codeHash matches
270
330
  const computedCodeHash = hashCode(code);
271
331
  if (computedCodeHash !== snapshot.codeHash) {
272
332
  console.error(`[nexart] Code hash mismatch!`);
@@ -278,9 +338,13 @@ async function verifyCommand(snapshotFile, options) {
278
338
  const expected = snapshot.outputHash;
279
339
  let actual;
280
340
  if (options.renderer === 'remote') {
341
+ validateApiKey(options.apiKey, options.endpoint);
281
342
  console.log(`[nexart] Endpoint: ${options.endpoint}`);
343
+ if (options.apiKey) {
344
+ console.log(`[nexart] Auth: Bearer ***${options.apiKey.slice(-4)}`);
345
+ }
282
346
  try {
283
- const result = await callRenderer(options.endpoint, code, snapshot.seed, snapshot.VAR, snapshot.canvas.width, snapshot.canvas.height);
347
+ const result = await callRenderer(options.endpoint, code, snapshot.seed, snapshot.VAR, snapshot.canvas.width, snapshot.canvas.height, options.apiKey);
284
348
  actual = sha256(result.pngBytes);
285
349
  }
286
350
  catch (error) {
@@ -290,6 +354,7 @@ async function verifyCommand(snapshotFile, options) {
290
354
  }
291
355
  }
292
356
  else {
357
+ console.log(`[nexart] WARNING: Local renderer NOT implemented — using placeholder hash`);
293
358
  actual = sha256(createPlaceholderPng());
294
359
  }
295
360
  console.log(`[nexart] Expected: ${expected}`);
@@ -303,7 +368,13 @@ async function verifyCommand(snapshotFile, options) {
303
368
  process.exit(1);
304
369
  }
305
370
  }
306
- // CLI setup
371
+ const apiKeyOption = {
372
+ 'api-key': {
373
+ describe: 'API key for authenticated remote rendering',
374
+ type: 'string',
375
+ default: DEFAULT_API_KEY,
376
+ },
377
+ };
307
378
  yargs(hideBin(process.argv))
308
379
  .command('run <file>', 'Execute a Code Mode sketch and create snapshot', (yargs) => {
309
380
  return yargs
@@ -342,7 +413,7 @@ yargs(hideBin(process.argv))
342
413
  default: 2400,
343
414
  })
344
415
  .option('renderer', {
345
- describe: 'Renderer mode: local (placeholder) or remote (canonical)',
416
+ describe: 'Renderer mode: remote (default, real PNG) or local (NOT implemented, placeholder only)',
346
417
  choices: ['local', 'remote'],
347
418
  default: 'remote',
348
419
  })
@@ -351,6 +422,7 @@ yargs(hideBin(process.argv))
351
422
  type: 'string',
352
423
  default: DEFAULT_ENDPOINT,
353
424
  })
425
+ .options(apiKeyOption)
354
426
  .option('runtime-hash', {
355
427
  describe: 'Override runtime hash (advanced)',
356
428
  type: 'string',
@@ -369,6 +441,7 @@ yargs(hideBin(process.argv))
369
441
  height: argv.height,
370
442
  renderer: argv.renderer,
371
443
  endpoint: argv.endpoint,
444
+ apiKey: argv['api-key'],
372
445
  runtimeHash: argv['runtime-hash'],
373
446
  includeCode: argv['include-code'],
374
447
  });
@@ -400,13 +473,15 @@ yargs(hideBin(process.argv))
400
473
  describe: 'Remote renderer endpoint URL',
401
474
  type: 'string',
402
475
  default: DEFAULT_ENDPOINT,
403
- });
476
+ })
477
+ .options(apiKeyOption);
404
478
  }, async (argv) => {
405
479
  await replayCommand(argv.snapshot, {
406
480
  out: argv.out,
407
481
  code: argv.code,
408
482
  renderer: argv.renderer,
409
483
  endpoint: argv.endpoint,
484
+ apiKey: argv['api-key'],
410
485
  });
411
486
  })
412
487
  .command('verify <snapshot>', 'Verify a snapshot produces the expected output', (yargs) => {
@@ -430,12 +505,14 @@ yargs(hideBin(process.argv))
430
505
  describe: 'Remote renderer endpoint URL',
431
506
  type: 'string',
432
507
  default: DEFAULT_ENDPOINT,
433
- });
508
+ })
509
+ .options(apiKeyOption);
434
510
  }, async (argv) => {
435
511
  await verifyCommand(argv.snapshot, {
436
512
  code: argv.code,
437
513
  renderer: argv.renderer,
438
514
  endpoint: argv.endpoint,
515
+ apiKey: argv['api-key'],
439
516
  });
440
517
  })
441
518
  .demandCommand(1, 'You must provide a command')
@@ -443,13 +520,24 @@ yargs(hideBin(process.argv))
443
520
  .version(CLI_VERSION)
444
521
  .epilog(`
445
522
  Environment Variables:
446
- NEXART_RENDERER_ENDPOINT Default remote renderer URL (default: http://localhost:5000)
523
+ NEXART_RENDERER_ENDPOINT Remote renderer URL (default: http://localhost:5000)
524
+ NEXART_API_KEY API key for authenticated rendering
447
525
 
448
526
  Examples:
527
+ # Run with API key (remote)
528
+ export NEXART_RENDERER_ENDPOINT=https://nexart-canonical-renderer-production.up.railway.app
529
+ export NEXART_API_KEY=nx_live_...
449
530
  nexart run sketch.js --seed 12345 --include-code
531
+
532
+ # Or pass API key directly
533
+ nexart run sketch.js --seed 12345 --api-key nx_live_...
534
+
535
+ # Local mode (placeholder only, no auth needed)
536
+ nexart run sketch.js --renderer local
537
+
538
+ # Verify and replay
450
539
  nexart verify out.snapshot.json
451
540
  nexart replay out.snapshot.json --out replay.png
452
- nexart run sketch.js --renderer local # Use placeholder (offline)
453
541
  `)
454
542
  .parse();
455
543
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@nexart/cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "NexArt CodeMode CLI - Run, replay, and verify deterministic generative art",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
7
8
  "bin": {
8
- "nexart": "./dist/index.js"
9
+ "nexart": "dist/index.js"
9
10
  },
10
11
  "scripts": {
11
12
  "build": "tsc",