@nexart/cli 0.3.3 → 0.5.0
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 +59 -2
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +185 -51
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @nexart/cli v0.
|
|
1
|
+
# @nexart/cli v0.5.0
|
|
2
2
|
|
|
3
3
|
Command-line interface for NexArt — run, replay, and verify deterministic generative art, plus AI execution certification commands.
|
|
4
4
|
|
|
@@ -231,6 +231,7 @@ nexart ai create execution.json --out cer.json
|
|
|
231
231
|
| `--endpoint` | env/`https://node.nexart.art` | NexArt node URL |
|
|
232
232
|
| `--api-key` | env | API key |
|
|
233
233
|
| `--out` | stdout | Save bundle to file |
|
|
234
|
+
| `--signals-file` | (none) | Path to a JSON array of context signals to attach |
|
|
234
235
|
|
|
235
236
|
**Exit codes:**
|
|
236
237
|
- `0` — Success
|
|
@@ -280,6 +281,7 @@ attestation: present
|
|
|
280
281
|
| `--api-key` | env | API key |
|
|
281
282
|
| `--out` | stdout | Save bundle to file |
|
|
282
283
|
| `--json` | false | Machine-readable JSON output |
|
|
284
|
+
| `--signals-file` | (none) | Path to a JSON array of context signals to attach |
|
|
283
285
|
|
|
284
286
|
**Exit codes:**
|
|
285
287
|
- `0` — Certified successfully
|
|
@@ -287,7 +289,7 @@ attestation: present
|
|
|
287
289
|
|
|
288
290
|
### `nexart ai verify`
|
|
289
291
|
|
|
290
|
-
Verify a CER bundle locally. No network call — computes and compares the `certificateHash` against the bundle contents.
|
|
292
|
+
Verify a CER bundle locally. No network call — computes and compares the `certificateHash` against the bundle contents. Fully compatible with v0.11.0+ CERs that include `context.signals`.
|
|
291
293
|
|
|
292
294
|
```bash
|
|
293
295
|
# From file
|
|
@@ -337,6 +339,61 @@ computed : sha256:d4e5f6...
|
|
|
337
339
|
|
|
338
340
|
---
|
|
339
341
|
|
|
342
|
+
## Context Signals (v0.5.0+)
|
|
343
|
+
|
|
344
|
+
Context signals attach upstream evidence — CI approvals, webhook events, human-review records — to a CER. They are included in the `context.signals` array and are **tamper-evident**: the `certificateHash` covers the full `context` block, so any post-creation modification to signals is detected by `nexart ai verify`.
|
|
345
|
+
|
|
346
|
+
### Preparing a signals file
|
|
347
|
+
|
|
348
|
+
A signals file is a plain JSON array of signal objects:
|
|
349
|
+
|
|
350
|
+
```json
|
|
351
|
+
[
|
|
352
|
+
{
|
|
353
|
+
"type": "approval",
|
|
354
|
+
"source": "github-actions",
|
|
355
|
+
"step": 0,
|
|
356
|
+
"timestamp": "2026-03-15T12:00:00.000Z",
|
|
357
|
+
"actor": "alice",
|
|
358
|
+
"status": "ok",
|
|
359
|
+
"payload": { "pr": 42 }
|
|
360
|
+
}
|
|
361
|
+
]
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Attaching signals when creating / certifying
|
|
365
|
+
|
|
366
|
+
```bash
|
|
367
|
+
# Create CER with signals
|
|
368
|
+
nexart ai create execution.json --signals-file signals.json --out cer.json
|
|
369
|
+
|
|
370
|
+
# Certify with signals
|
|
371
|
+
nexart ai certify execution.json --signals-file signals.json
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
The CLI reads the JSON array from `--signals-file`, merges it into the request body as `{ signals: [...] }`, and sends it to the node API. The node then embeds the signals in the CER under `context.signals` and includes them in the `certificateHash`.
|
|
375
|
+
|
|
376
|
+
### Verifying a signals-containing CER
|
|
377
|
+
|
|
378
|
+
No extra flags are needed — `nexart ai verify` handles both plain CERs and CERs with `context.signals`:
|
|
379
|
+
|
|
380
|
+
```bash
|
|
381
|
+
nexart ai verify cer.json
|
|
382
|
+
# Verification result: VERIFIED
|
|
383
|
+
# bundleIntegrity: PASS
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
If any signal field is altered after creation, the hash will mismatch and verification fails:
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
# (tampered context.signals)
|
|
390
|
+
nexart ai verify tampered-cer.json
|
|
391
|
+
# Verification result: FAILED
|
|
392
|
+
# bundleIntegrity: FAIL
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
---
|
|
396
|
+
|
|
340
397
|
## Remote Renderer
|
|
341
398
|
|
|
342
399
|
The CLI calls a canonical Node.js renderer endpoint for real PNG generation.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* @nexart/cli v0.
|
|
3
|
+
* @nexart/cli v0.5.0 — NexArt CLI
|
|
4
4
|
*
|
|
5
5
|
* Code Mode commands:
|
|
6
6
|
* - nexart run <file> — Execute via remote renderer and create snapshot
|
|
@@ -10,7 +10,12 @@
|
|
|
10
10
|
* AI Certification commands:
|
|
11
11
|
* - nexart ai create <file> — Create a CER bundle via node API
|
|
12
12
|
* - nexart ai certify <file> — Certify an AI execution and attest
|
|
13
|
-
* - nexart ai verify <file> — Verify a CER bundle locally
|
|
13
|
+
* - nexart ai verify <file> — Verify a CER bundle locally (signals-aware)
|
|
14
|
+
*
|
|
15
|
+
* Context signals (v0.5.0+):
|
|
16
|
+
* Pass --signals-file <path> to ai create / ai certify to attach upstream
|
|
17
|
+
* context signals to the CER. Signals are evidence-only and are included in
|
|
18
|
+
* the certificateHash. ai verify handles signals-containing bundles correctly.
|
|
14
19
|
*/
|
|
15
20
|
/**
|
|
16
21
|
* Read all bytes from stdin (non-TTY only).
|
|
@@ -39,36 +44,47 @@ export declare function canonicalJson(value: unknown): string;
|
|
|
39
44
|
/**
|
|
40
45
|
* Recompute the certificateHash for a CER v1 bundle.
|
|
41
46
|
* Protected set: { bundleType, version, createdAt, snapshot }
|
|
47
|
+
* v0.11.0+: context is included in the protected set when present (non-null/non-undefined),
|
|
48
|
+
* ensuring signals are tamper-evident. When absent, the hash is identical to pre-v0.11.0.
|
|
42
49
|
*/
|
|
43
50
|
export declare function computeBundleHash(bundle: Record<string, unknown>): string;
|
|
44
51
|
/**
|
|
45
52
|
* Check whether a CER bundle has a valid-looking attestation.
|
|
46
53
|
*/
|
|
47
54
|
export declare function hasAttestation(bundle: Record<string, unknown>): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Load a JSON array of context signals from a file path.
|
|
57
|
+
* Exits with an error message if the file is missing, invalid JSON, or not an array.
|
|
58
|
+
*/
|
|
59
|
+
export declare function loadSignalsFile(signalsPath: string): unknown[];
|
|
48
60
|
/**
|
|
49
61
|
* nexart ai create — Read execution input, call POST /v1/cer/ai/create,
|
|
50
62
|
* print CER bundle JSON to stdout, optionally save to --out file.
|
|
63
|
+
* --signals-file merges an array of context signals into the request body.
|
|
51
64
|
*/
|
|
52
65
|
export declare function aiCreateCommand(file: string | undefined, opts: {
|
|
53
66
|
out?: string;
|
|
54
67
|
endpoint: string;
|
|
55
68
|
apiKey?: string;
|
|
69
|
+
signalsFile?: string;
|
|
56
70
|
}, fetchFn?: typeof fetch, stdinReader?: () => Promise<string>): Promise<void>;
|
|
57
71
|
/**
|
|
58
72
|
* nexart ai certify — Read execution input, call POST /v1/cer/ai/certify,
|
|
59
73
|
* print certificateHash / verificationUrl / attestationId summary.
|
|
60
74
|
* --json prints full JSON response instead.
|
|
75
|
+
* --signals-file merges an array of context signals into the request body.
|
|
61
76
|
*/
|
|
62
77
|
export declare function aiCertifyCommand(file: string | undefined, opts: {
|
|
63
78
|
out?: string;
|
|
64
79
|
json: boolean;
|
|
65
80
|
endpoint: string;
|
|
66
81
|
apiKey?: string;
|
|
82
|
+
signalsFile?: string;
|
|
67
83
|
}, fetchFn?: typeof fetch, stdinReader?: () => Promise<string>): Promise<void>;
|
|
68
84
|
/**
|
|
69
85
|
* nexart ai verify — Read a CER bundle JSON from file or stdin,
|
|
70
|
-
* verify integrity locally, report
|
|
71
|
-
* --json
|
|
86
|
+
* verify integrity locally, report VERIFIED/FAILED.
|
|
87
|
+
* --json outputs a canonical CerVerificationResult object.
|
|
72
88
|
*/
|
|
73
89
|
export declare function aiVerifyCommand(file: string | undefined, opts: {
|
|
74
90
|
json: boolean;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;GAiBG;AA4kBH;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAerD;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAiB,GACjD,OAAO,CAAC,OAAO,CAAC,CA0BlB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE,OAAO,KAAwB,GACvC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAoB5C;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAapD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQzE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAKvE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAwB9D;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,OAAO,GAAE,OAAO,KAAwB,EACxC,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAiB,GACjD,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,EACD,OAAO,GAAE,OAAO,KAAwB,EACxC,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAiB,GACjD,OAAO,CAAC,IAAI,CAAC,CA8Df;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,EACvB,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAiB,GACjD,OAAO,CAAC,IAAI,CAAC,CAuDf"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* @nexart/cli v0.
|
|
3
|
+
* @nexart/cli v0.5.0 — NexArt CLI
|
|
4
4
|
*
|
|
5
5
|
* Code Mode commands:
|
|
6
6
|
* - nexart run <file> — Execute via remote renderer and create snapshot
|
|
@@ -10,7 +10,12 @@
|
|
|
10
10
|
* AI Certification commands:
|
|
11
11
|
* - nexart ai create <file> — Create a CER bundle via node API
|
|
12
12
|
* - nexart ai certify <file> — Certify an AI execution and attest
|
|
13
|
-
* - nexart ai verify <file> — Verify a CER bundle locally
|
|
13
|
+
* - nexart ai verify <file> — Verify a CER bundle locally (signals-aware)
|
|
14
|
+
*
|
|
15
|
+
* Context signals (v0.5.0+):
|
|
16
|
+
* Pass --signals-file <path> to ai create / ai certify to attach upstream
|
|
17
|
+
* context signals to the CER. Signals are evidence-only and are included in
|
|
18
|
+
* the certificateHash. ai verify handles signals-containing bundles correctly.
|
|
14
19
|
*/
|
|
15
20
|
import yargs from 'yargs';
|
|
16
21
|
import { hideBin } from 'yargs/helpers';
|
|
@@ -21,8 +26,8 @@ import * as http from 'http';
|
|
|
21
26
|
import * as https from 'https';
|
|
22
27
|
import { fileURLToPath } from 'url';
|
|
23
28
|
import { realpathSync } from 'fs';
|
|
24
|
-
const CLI_VERSION = '0.
|
|
25
|
-
const SDK_VERSION = '1.
|
|
29
|
+
const CLI_VERSION = '0.5.0';
|
|
30
|
+
const SDK_VERSION = '1.10.1';
|
|
26
31
|
const PROTOCOL_VERSION = '1.2.0';
|
|
27
32
|
const DEFAULT_ENDPOINT = process.env.NEXART_RENDERER_ENDPOINT || 'http://localhost:5000';
|
|
28
33
|
const DEFAULT_API_KEY = process.env.NEXART_API_KEY || '';
|
|
@@ -342,7 +347,7 @@ async function replayCommand(snapshotFile, options) {
|
|
|
342
347
|
console.log(`[nexart] outputHash: ${outputHash}`);
|
|
343
348
|
}
|
|
344
349
|
async function verifyCommand(snapshotFile, options) {
|
|
345
|
-
|
|
350
|
+
const verifiedAt = new Date().toISOString();
|
|
346
351
|
if (!fs.existsSync(snapshotFile)) {
|
|
347
352
|
console.error(`[nexart] Error: Snapshot not found: ${snapshotFile}`);
|
|
348
353
|
process.exit(1);
|
|
@@ -355,11 +360,13 @@ async function verifyCommand(snapshotFile, options) {
|
|
|
355
360
|
let code;
|
|
356
361
|
if (options.code && fs.existsSync(options.code)) {
|
|
357
362
|
code = fs.readFileSync(options.code, 'utf-8');
|
|
358
|
-
|
|
363
|
+
if (!options.json)
|
|
364
|
+
console.log(`[nexart] Using code from: ${options.code}`);
|
|
359
365
|
}
|
|
360
366
|
else if (snapshot.code) {
|
|
361
367
|
code = snapshot.code;
|
|
362
|
-
|
|
368
|
+
if (!options.json)
|
|
369
|
+
console.log(`[nexart] Using embedded code from snapshot`);
|
|
363
370
|
}
|
|
364
371
|
else {
|
|
365
372
|
console.error('[nexart] Error: No code available for verification.');
|
|
@@ -369,44 +376,91 @@ async function verifyCommand(snapshotFile, options) {
|
|
|
369
376
|
}
|
|
370
377
|
const computedCodeHash = hashCode(code);
|
|
371
378
|
if (computedCodeHash !== snapshot.codeHash) {
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
379
|
+
if (options.json) {
|
|
380
|
+
process.stdout.write(JSON.stringify({
|
|
381
|
+
status: 'FAILED',
|
|
382
|
+
checks: { bundleIntegrity: 'FAIL', nodeSignature: 'SKIPPED', receiptConsistency: 'SKIPPED' },
|
|
383
|
+
reasonCodes: ['BUNDLE_HASH_MISMATCH'],
|
|
384
|
+
certificateHash: snapshot.outputHash,
|
|
385
|
+
bundleType: 'codemode.snapshot.v1',
|
|
386
|
+
verifiedAt,
|
|
387
|
+
verifier: '@nexart/cli',
|
|
388
|
+
}, null, 2) + '\n');
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
console.error(`[nexart] Code hash mismatch!`);
|
|
392
|
+
console.error(`[nexart] Expected: ${snapshot.codeHash}`);
|
|
393
|
+
console.error(`[nexart] Actual: ${computedCodeHash}`);
|
|
394
|
+
console.log('[nexart] Verification result: FAILED');
|
|
395
|
+
console.log('bundleIntegrity: FAIL');
|
|
396
|
+
console.log('nodeSignature: SKIPPED');
|
|
397
|
+
console.log('receiptConsistency: SKIPPED');
|
|
398
|
+
}
|
|
376
399
|
process.exit(1);
|
|
377
400
|
}
|
|
378
401
|
const expected = snapshot.outputHash;
|
|
379
402
|
let actual;
|
|
380
403
|
if (options.renderer === 'remote') {
|
|
381
404
|
validateApiKey(options.apiKey, options.endpoint);
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
console.log(`[nexart]
|
|
405
|
+
if (!options.json) {
|
|
406
|
+
console.log(`[nexart] Verifying: ${snapshotFile}`);
|
|
407
|
+
console.log(`[nexart] Endpoint: ${options.endpoint}`);
|
|
408
|
+
if (options.apiKey)
|
|
409
|
+
console.log(`[nexart] Auth: Bearer ***${options.apiKey.slice(-4)}`);
|
|
385
410
|
}
|
|
386
411
|
try {
|
|
387
412
|
const result = await callRenderer(options.endpoint, code, snapshot.seed, snapshot.VAR, snapshot.canvas.width, snapshot.canvas.height, options.apiKey);
|
|
388
413
|
actual = sha256(result.pngBytes);
|
|
389
414
|
}
|
|
390
415
|
catch (error) {
|
|
391
|
-
|
|
392
|
-
|
|
416
|
+
if (options.json) {
|
|
417
|
+
process.stdout.write(JSON.stringify({
|
|
418
|
+
status: 'FAILED',
|
|
419
|
+
checks: { bundleIntegrity: 'FAIL', nodeSignature: 'SKIPPED', receiptConsistency: 'SKIPPED' },
|
|
420
|
+
reasonCodes: ['BUNDLE_CORRUPTED'],
|
|
421
|
+
certificateHash: snapshot.outputHash,
|
|
422
|
+
bundleType: 'codemode.snapshot.v1',
|
|
423
|
+
verifiedAt,
|
|
424
|
+
verifier: '@nexart/cli',
|
|
425
|
+
}, null, 2) + '\n');
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
console.error(`[nexart] Remote render failed: ${error}`);
|
|
429
|
+
console.log('[nexart] Verification result: FAILED');
|
|
430
|
+
}
|
|
393
431
|
process.exit(1);
|
|
394
432
|
}
|
|
395
433
|
}
|
|
396
434
|
else {
|
|
397
|
-
|
|
435
|
+
if (!options.json)
|
|
436
|
+
console.log(`[nexart] WARNING: Local renderer NOT implemented — using placeholder hash`);
|
|
398
437
|
actual = sha256(createPlaceholderPng());
|
|
399
438
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
439
|
+
const outputMatch = expected === actual;
|
|
440
|
+
if (options.json) {
|
|
441
|
+
process.stdout.write(JSON.stringify({
|
|
442
|
+
status: outputMatch ? 'VERIFIED' : 'FAILED',
|
|
443
|
+
checks: {
|
|
444
|
+
bundleIntegrity: outputMatch ? 'PASS' : 'FAIL',
|
|
445
|
+
nodeSignature: 'SKIPPED',
|
|
446
|
+
receiptConsistency: 'SKIPPED',
|
|
447
|
+
},
|
|
448
|
+
reasonCodes: outputMatch ? [] : ['BUNDLE_HASH_MISMATCH'],
|
|
449
|
+
certificateHash: snapshot.outputHash,
|
|
450
|
+
bundleType: 'codemode.snapshot.v1',
|
|
451
|
+
verifiedAt,
|
|
452
|
+
verifier: '@nexart/cli',
|
|
453
|
+
}, null, 2) + '\n');
|
|
405
454
|
}
|
|
406
455
|
else {
|
|
407
|
-
console.log(`[nexart]
|
|
408
|
-
|
|
409
|
-
|
|
456
|
+
console.log(`[nexart] Expected: ${expected}`);
|
|
457
|
+
console.log(`[nexart] Actual: ${actual}`);
|
|
458
|
+
console.log(`[nexart] Verification result: ${outputMatch ? 'VERIFIED' : 'FAILED'}`);
|
|
459
|
+
console.log(`bundleIntegrity: ${outputMatch ? 'PASS' : 'FAIL'}`);
|
|
460
|
+
console.log('nodeSignature: SKIPPED');
|
|
461
|
+
console.log('receiptConsistency: SKIPPED');
|
|
462
|
+
}
|
|
463
|
+
process.exit(outputMatch ? 0 : 1);
|
|
410
464
|
}
|
|
411
465
|
// ─── AI Execution Certification ────────────────────────────────────────────
|
|
412
466
|
/**
|
|
@@ -509,10 +563,16 @@ export function canonicalJson(value) {
|
|
|
509
563
|
/**
|
|
510
564
|
* Recompute the certificateHash for a CER v1 bundle.
|
|
511
565
|
* Protected set: { bundleType, version, createdAt, snapshot }
|
|
566
|
+
* v0.11.0+: context is included in the protected set when present (non-null/non-undefined),
|
|
567
|
+
* ensuring signals are tamper-evident. When absent, the hash is identical to pre-v0.11.0.
|
|
512
568
|
*/
|
|
513
569
|
export function computeBundleHash(bundle) {
|
|
514
570
|
const { bundleType, version, createdAt, snapshot } = bundle;
|
|
515
571
|
const protectedSet = { bundleType, version, createdAt, snapshot };
|
|
572
|
+
const context = bundle['context'];
|
|
573
|
+
if (context !== undefined && context !== null) {
|
|
574
|
+
protectedSet['context'] = context;
|
|
575
|
+
}
|
|
516
576
|
return 'sha256:' + sha256(canonicalJson(protectedSet));
|
|
517
577
|
}
|
|
518
578
|
/**
|
|
@@ -522,9 +582,41 @@ export function hasAttestation(bundle) {
|
|
|
522
582
|
return (typeof bundle['attestationId'] === 'string' &&
|
|
523
583
|
bundle['attestationId'].length > 0);
|
|
524
584
|
}
|
|
585
|
+
/**
|
|
586
|
+
* Load a JSON array of context signals from a file path.
|
|
587
|
+
* Exits with an error message if the file is missing, invalid JSON, or not an array.
|
|
588
|
+
*/
|
|
589
|
+
export function loadSignalsFile(signalsPath) {
|
|
590
|
+
if (!fs.existsSync(signalsPath)) {
|
|
591
|
+
console.error(`[nexart] Error: Signals file not found: ${signalsPath}`);
|
|
592
|
+
process.exit(1);
|
|
593
|
+
}
|
|
594
|
+
let raw;
|
|
595
|
+
try {
|
|
596
|
+
raw = fs.readFileSync(signalsPath, 'utf-8');
|
|
597
|
+
}
|
|
598
|
+
catch (e) {
|
|
599
|
+
console.error(`[nexart] Error: Failed to read signals file: ${signalsPath}`);
|
|
600
|
+
process.exit(1);
|
|
601
|
+
}
|
|
602
|
+
let parsed;
|
|
603
|
+
try {
|
|
604
|
+
parsed = JSON.parse(raw);
|
|
605
|
+
}
|
|
606
|
+
catch {
|
|
607
|
+
console.error(`[nexart] Error: Invalid JSON in signals file: ${signalsPath}`);
|
|
608
|
+
process.exit(1);
|
|
609
|
+
}
|
|
610
|
+
if (!Array.isArray(parsed)) {
|
|
611
|
+
console.error(`[nexart] Error: Signals file must contain a JSON array: ${signalsPath}`);
|
|
612
|
+
process.exit(1);
|
|
613
|
+
}
|
|
614
|
+
return parsed;
|
|
615
|
+
}
|
|
525
616
|
/**
|
|
526
617
|
* nexart ai create — Read execution input, call POST /v1/cer/ai/create,
|
|
527
618
|
* print CER bundle JSON to stdout, optionally save to --out file.
|
|
619
|
+
* --signals-file merges an array of context signals into the request body.
|
|
528
620
|
*/
|
|
529
621
|
export async function aiCreateCommand(file, opts, fetchFn = globalThis.fetch, stdinReader = readStdinText) {
|
|
530
622
|
const input = await readInputJson(file, stdinReader);
|
|
@@ -533,9 +625,14 @@ export async function aiCreateCommand(file, opts, fetchFn = globalThis.fetch, st
|
|
|
533
625
|
console.error('[nexart] Set NEXART_API_KEY environment variable or pass --api-key.');
|
|
534
626
|
process.exit(1);
|
|
535
627
|
}
|
|
628
|
+
let body = input;
|
|
629
|
+
if (opts.signalsFile) {
|
|
630
|
+
const signals = loadSignalsFile(opts.signalsFile);
|
|
631
|
+
body = Object.assign({}, input, { signals });
|
|
632
|
+
}
|
|
536
633
|
let result;
|
|
537
634
|
try {
|
|
538
|
-
result = await callNodeApi(opts.endpoint, '/v1/cer/ai/create',
|
|
635
|
+
result = await callNodeApi(opts.endpoint, '/v1/cer/ai/create', body, opts.apiKey, fetchFn);
|
|
539
636
|
}
|
|
540
637
|
catch (e) {
|
|
541
638
|
console.error(`[nexart] Error: Failed to connect to node at ${opts.endpoint}: ${e.message}`);
|
|
@@ -567,6 +664,7 @@ export async function aiCreateCommand(file, opts, fetchFn = globalThis.fetch, st
|
|
|
567
664
|
* nexart ai certify — Read execution input, call POST /v1/cer/ai/certify,
|
|
568
665
|
* print certificateHash / verificationUrl / attestationId summary.
|
|
569
666
|
* --json prints full JSON response instead.
|
|
667
|
+
* --signals-file merges an array of context signals into the request body.
|
|
570
668
|
*/
|
|
571
669
|
export async function aiCertifyCommand(file, opts, fetchFn = globalThis.fetch, stdinReader = readStdinText) {
|
|
572
670
|
const input = await readInputJson(file, stdinReader);
|
|
@@ -575,9 +673,14 @@ export async function aiCertifyCommand(file, opts, fetchFn = globalThis.fetch, s
|
|
|
575
673
|
console.error('[nexart] Set NEXART_API_KEY environment variable or pass --api-key.');
|
|
576
674
|
process.exit(1);
|
|
577
675
|
}
|
|
676
|
+
let body = input;
|
|
677
|
+
if (opts.signalsFile) {
|
|
678
|
+
const signals = loadSignalsFile(opts.signalsFile);
|
|
679
|
+
body = Object.assign({}, input, { signals });
|
|
680
|
+
}
|
|
578
681
|
let result;
|
|
579
682
|
try {
|
|
580
|
-
result = await callNodeApi(opts.endpoint, '/v1/cer/ai/certify',
|
|
683
|
+
result = await callNodeApi(opts.endpoint, '/v1/cer/ai/certify', body, opts.apiKey, fetchFn);
|
|
581
684
|
}
|
|
582
685
|
catch (e) {
|
|
583
686
|
console.error(`[nexart] Error: Failed to connect to node at ${opts.endpoint}: ${e.message}`);
|
|
@@ -622,8 +725,8 @@ export async function aiCertifyCommand(file, opts, fetchFn = globalThis.fetch, s
|
|
|
622
725
|
}
|
|
623
726
|
/**
|
|
624
727
|
* nexart ai verify — Read a CER bundle JSON from file or stdin,
|
|
625
|
-
* verify integrity locally, report
|
|
626
|
-
* --json
|
|
728
|
+
* verify integrity locally, report VERIFIED/FAILED.
|
|
729
|
+
* --json outputs a canonical CerVerificationResult object.
|
|
627
730
|
*/
|
|
628
731
|
export async function aiVerifyCommand(file, opts, stdinReader = readStdinText) {
|
|
629
732
|
const raw = await readInputJson(file, stdinReader);
|
|
@@ -632,39 +735,48 @@ export async function aiVerifyCommand(file, opts, stdinReader = readStdinText) {
|
|
|
632
735
|
process.exit(1);
|
|
633
736
|
}
|
|
634
737
|
const bundle = raw;
|
|
635
|
-
|
|
636
|
-
|
|
738
|
+
const bundleType = typeof bundle['bundleType'] === 'string' ? bundle['bundleType'] : '';
|
|
739
|
+
const certificateHash = typeof bundle['certificateHash'] === 'string' ? bundle['certificateHash'] : '';
|
|
740
|
+
const verifiedAt = new Date().toISOString();
|
|
741
|
+
if (bundleType !== 'cer.ai.execution.v1') {
|
|
742
|
+
console.error(`[nexart] Error: Unsupported bundleType: ${bundleType}`);
|
|
637
743
|
console.error('[nexart] Expected: cer.ai.execution.v1');
|
|
638
744
|
process.exit(1);
|
|
639
745
|
}
|
|
640
746
|
const computedHash = computeBundleHash(bundle);
|
|
641
|
-
const
|
|
642
|
-
const integrityPass = computedHash === storedHash;
|
|
747
|
+
const integrityPass = computedHash === certificateHash;
|
|
643
748
|
const attestationPresent = hasAttestation(bundle);
|
|
644
|
-
const
|
|
645
|
-
const
|
|
749
|
+
const nodeSignature = attestationPresent ? 'PASS' : 'SKIPPED';
|
|
750
|
+
const receiptConsistency = attestationPresent ? 'PASS' : 'SKIPPED';
|
|
751
|
+
const reasonCodes = integrityPass ? [] : ['BUNDLE_HASH_MISMATCH'];
|
|
752
|
+
const status = integrityPass ? 'VERIFIED' : 'FAILED';
|
|
646
753
|
if (opts.json) {
|
|
647
754
|
const output = {
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
755
|
+
status,
|
|
756
|
+
checks: {
|
|
757
|
+
bundleIntegrity: integrityPass ? 'PASS' : 'FAIL',
|
|
758
|
+
nodeSignature,
|
|
759
|
+
receiptConsistency,
|
|
760
|
+
},
|
|
761
|
+
reasonCodes,
|
|
762
|
+
certificateHash,
|
|
763
|
+
bundleType,
|
|
764
|
+
verifiedAt,
|
|
765
|
+
verifier: '@nexart/cli',
|
|
655
766
|
};
|
|
656
767
|
process.stdout.write(JSON.stringify(output, null, 2) + '\n');
|
|
657
768
|
}
|
|
658
769
|
else {
|
|
659
|
-
console.log(`Verification result: ${
|
|
770
|
+
console.log(`Verification result: ${status}`);
|
|
660
771
|
console.log(`bundleIntegrity: ${integrityPass ? 'PASS' : 'FAIL'}`);
|
|
661
|
-
console.log(`
|
|
772
|
+
console.log(`nodeSignature: ${nodeSignature}`);
|
|
773
|
+
console.log(`receiptConsistency: ${receiptConsistency}`);
|
|
662
774
|
if (!integrityPass) {
|
|
663
|
-
console.error(`[nexart] Expected hash: ${
|
|
775
|
+
console.error(`[nexart] Expected hash: ${certificateHash}`);
|
|
664
776
|
console.error(`[nexart] Computed hash: ${computedHash}`);
|
|
665
777
|
}
|
|
666
778
|
}
|
|
667
|
-
process.exit(
|
|
779
|
+
process.exit(integrityPass ? 0 : 1);
|
|
668
780
|
}
|
|
669
781
|
// ─── CLI Setup ─────────────────────────────────────────────────────────────
|
|
670
782
|
const _isMainModule = (() => {
|
|
@@ -829,6 +941,11 @@ if (_isMainModule) {
|
|
|
829
941
|
describe: 'Remote renderer endpoint URL',
|
|
830
942
|
type: 'string',
|
|
831
943
|
default: DEFAULT_ENDPOINT,
|
|
944
|
+
})
|
|
945
|
+
.option('json', {
|
|
946
|
+
describe: 'Output canonical CerVerificationResult JSON',
|
|
947
|
+
type: 'boolean',
|
|
948
|
+
default: false,
|
|
832
949
|
})
|
|
833
950
|
.options(apiKeyOption);
|
|
834
951
|
}, async (argv) => {
|
|
@@ -837,6 +954,7 @@ if (_isMainModule) {
|
|
|
837
954
|
renderer: argv.renderer,
|
|
838
955
|
endpoint: argv.endpoint,
|
|
839
956
|
apiKey: argv['api-key'],
|
|
957
|
+
json: argv.json,
|
|
840
958
|
});
|
|
841
959
|
})
|
|
842
960
|
.command('ai', 'AI execution certification commands', (yargs) => {
|
|
@@ -851,14 +969,19 @@ if (_isMainModule) {
|
|
|
851
969
|
alias: 'o',
|
|
852
970
|
describe: 'Save returned CER bundle to this file',
|
|
853
971
|
type: 'string',
|
|
972
|
+
})
|
|
973
|
+
.option('signals-file', {
|
|
974
|
+
describe: 'Path to a JSON array of context signals to attach to the CER',
|
|
975
|
+
type: 'string',
|
|
854
976
|
})
|
|
855
977
|
.options(nodeEndpointOption)
|
|
856
978
|
.options(nodeApiKeyOption)
|
|
857
979
|
.example('$0 ai create execution.json', 'Create CER from file')
|
|
858
980
|
.example('cat execution.json | $0 ai create', 'Create CER from stdin')
|
|
859
|
-
.example('$0 ai create execution.json --out cer.json', 'Save CER to file')
|
|
981
|
+
.example('$0 ai create execution.json --out cer.json', 'Save CER to file')
|
|
982
|
+
.example('$0 ai create execution.json --signals-file signals.json', 'Attach context signals');
|
|
860
983
|
}, async (argv) => {
|
|
861
|
-
await aiCreateCommand(argv.file, { out: argv.out, endpoint: argv.endpoint, apiKey: argv['api-key'] });
|
|
984
|
+
await aiCreateCommand(argv.file, { out: argv.out, endpoint: argv.endpoint, apiKey: argv['api-key'], signalsFile: argv['signals-file'] });
|
|
862
985
|
})
|
|
863
986
|
.command('certify [file]', 'Certify an AI execution and receive attestation from the node', (yargs) => {
|
|
864
987
|
return yargs
|
|
@@ -876,14 +999,19 @@ if (_isMainModule) {
|
|
|
876
999
|
describe: 'Print full JSON response instead of summary',
|
|
877
1000
|
type: 'boolean',
|
|
878
1001
|
default: false,
|
|
1002
|
+
})
|
|
1003
|
+
.option('signals-file', {
|
|
1004
|
+
describe: 'Path to a JSON array of context signals to attach to the CER',
|
|
1005
|
+
type: 'string',
|
|
879
1006
|
})
|
|
880
1007
|
.options(nodeEndpointOption)
|
|
881
1008
|
.options(nodeApiKeyOption)
|
|
882
1009
|
.example('$0 ai certify execution.json', 'Certify and print summary')
|
|
883
1010
|
.example('$0 ai certify execution.json --json', 'Print full JSON response')
|
|
884
|
-
.example('$0 ai certify execution.json --out response.json', 'Save response')
|
|
1011
|
+
.example('$0 ai certify execution.json --out response.json', 'Save response')
|
|
1012
|
+
.example('$0 ai certify execution.json --signals-file signals.json', 'Certify with context signals');
|
|
885
1013
|
}, async (argv) => {
|
|
886
|
-
await aiCertifyCommand(argv.file, { out: argv.out, json: argv.json, endpoint: argv.endpoint, apiKey: argv['api-key'] });
|
|
1014
|
+
await aiCertifyCommand(argv.file, { out: argv.out, json: argv.json, endpoint: argv.endpoint, apiKey: argv['api-key'], signalsFile: argv['signals-file'] });
|
|
887
1015
|
})
|
|
888
1016
|
.command('verify [file]', 'Verify a CER bundle locally (no network required)', (yargs) => {
|
|
889
1017
|
return yargs
|
|
@@ -930,10 +1058,16 @@ Examples:
|
|
|
930
1058
|
# AI: Create a CER bundle
|
|
931
1059
|
npx @nexart/cli ai create execution.json
|
|
932
1060
|
|
|
1061
|
+
# AI: Create a CER bundle with context signals
|
|
1062
|
+
npx @nexart/cli ai create execution.json --signals-file signals.json
|
|
1063
|
+
|
|
933
1064
|
# AI: Certify an execution
|
|
934
1065
|
npx @nexart/cli ai certify execution.json
|
|
935
1066
|
|
|
936
|
-
# AI:
|
|
1067
|
+
# AI: Certify with context signals
|
|
1068
|
+
npx @nexart/cli ai certify execution.json --signals-file signals.json
|
|
1069
|
+
|
|
1070
|
+
# AI: Verify a CER bundle locally (signals-containing bundles supported)
|
|
937
1071
|
npx @nexart/cli ai verify cer.json
|
|
938
1072
|
`)
|
|
939
1073
|
.parse();
|
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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"}
|