@nexart/cli 0.7.0 → 0.8.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 +74 -10
- package/dist/index.d.ts +106 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +314 -131
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @nexart/cli v0.
|
|
1
|
+
# @nexart/cli v0.8.0
|
|
2
2
|
|
|
3
3
|
Command-line interface for NexArt — run, replay, and verify deterministic generative art, plus AI execution certification commands.
|
|
4
4
|
|
|
@@ -287,9 +287,63 @@ attestation: present
|
|
|
287
287
|
- `0` — Certified successfully
|
|
288
288
|
- `1` — API error (e.g. 401 Unauthorized), missing input, or invalid response
|
|
289
289
|
|
|
290
|
+
### `nexart ai seal` (v0.8.0+)
|
|
291
|
+
|
|
292
|
+
Create a Certified Execution Record **locally** — no node required. Produces an integrity-only bundle suitable for offline workflows, CI, pre-certification, or piping straight into `nexart ai verify`. All snapshot construction, canonicalization, and certificate hashing is delegated to `createSnapshot()` + `sealCer()` from `@nexart/ai-execution` — the canonical source of truth.
|
|
293
|
+
|
|
294
|
+
```bash
|
|
295
|
+
# Seal from file
|
|
296
|
+
nexart ai seal execution.json
|
|
297
|
+
|
|
298
|
+
# Seal from stdin
|
|
299
|
+
cat execution.json | nexart ai seal
|
|
300
|
+
|
|
301
|
+
# Seal then verify in a pipe (--quiet keeps the pipe clean)
|
|
302
|
+
cat execution.json | nexart ai seal --quiet | nexart ai verify
|
|
303
|
+
|
|
304
|
+
# Save sealed bundle to file
|
|
305
|
+
nexart ai seal execution.json --out cer.json
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
**Default output (stdout — bundle JSON):**
|
|
309
|
+
```json
|
|
310
|
+
{
|
|
311
|
+
"bundleType": "cer.ai.execution.v1",
|
|
312
|
+
"certificateHash": "sha256:...",
|
|
313
|
+
"createdAt": "2026-04-30T12:00:00.000Z",
|
|
314
|
+
"version": "0.1",
|
|
315
|
+
"snapshot": { ... }
|
|
316
|
+
}
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
**Status banner (stderr):**
|
|
320
|
+
```
|
|
321
|
+
[nexart] Local CER created
|
|
322
|
+
[nexart] State: Sealed (integrity only)
|
|
323
|
+
[nexart] No node attestation present
|
|
324
|
+
[nexart] This record is not certified — use `nexart ai certify` to attest via a node
|
|
325
|
+
[nexart] certificateHash: sha256:...
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
**Options:**
|
|
329
|
+
| Flag | Default | Description |
|
|
330
|
+
|------|---------|-------------|
|
|
331
|
+
| `--out` / `-o` | stdout | Save sealed CER bundle to this file |
|
|
332
|
+
| `--quiet` / `-q` | false | Suppress the stderr banner (clean pipe output) |
|
|
333
|
+
|
|
334
|
+
**Sealed vs Certified:**
|
|
335
|
+
- **Sealed** (`ai seal`): integrity only. No node receipt, no signature, no envelope. Verifies as `VERIFIED` with Receipt and Envelope reported as `SKIPPED` — that is correct, not a failure.
|
|
336
|
+
- **Certified** (`ai certify`): integrity + node attestation receipt + signature. Requires a node and an API key.
|
|
337
|
+
|
|
338
|
+
**Exit codes:**
|
|
339
|
+
- `0` — Sealed successfully
|
|
340
|
+
- `1` — Missing required fields, invalid input JSON, or stdin error
|
|
341
|
+
|
|
342
|
+
---
|
|
343
|
+
|
|
290
344
|
### `nexart ai verify`
|
|
291
345
|
|
|
292
|
-
Verify a CER bundle **or CER package** locally. No network call —
|
|
346
|
+
Verify a CER bundle **or CER package** locally. No network call. All verification logic — `bundleType` discriminant, package detection / inner-CER unwrap, canonicalization, hash recomputation, and 3-layer status (Integrity / Receipt / Envelope) — is delegated to `verifyAiCerBundleDetailed()` from `@nexart/ai-execution`. The CLI owns input routing and output formatting only. Fully compatible with v0.11.0+ CERs that include `context.signals`, v0.6.0+ CER packages, and v0.8.0+ locally-sealed bundles from `nexart ai seal`.
|
|
293
347
|
|
|
294
348
|
```bash
|
|
295
349
|
# Verify a raw CER bundle from file
|
|
@@ -343,9 +397,13 @@ bundleIntegrity: FAIL
|
|
|
343
397
|
"reasonCodes": [],
|
|
344
398
|
"certificateHash": "sha256:a1b2c3...",
|
|
345
399
|
"bundleType": "cer.ai.execution.v1",
|
|
346
|
-
"
|
|
347
|
-
"
|
|
348
|
-
"
|
|
400
|
+
"verifiedAt": "2026-04-30T12:00:00.000Z",
|
|
401
|
+
"verifier": "@nexart/ai-execution",
|
|
402
|
+
"cli": {
|
|
403
|
+
"version": "0.8.0",
|
|
404
|
+
"sdkVersion": "0.16.1",
|
|
405
|
+
"inputType": "bundle"
|
|
406
|
+
}
|
|
349
407
|
}
|
|
350
408
|
```
|
|
351
409
|
|
|
@@ -361,14 +419,20 @@ bundleIntegrity: FAIL
|
|
|
361
419
|
"reasonCodes": [],
|
|
362
420
|
"certificateHash": "sha256:a1b2c3...",
|
|
363
421
|
"bundleType": "cer.ai.execution.v1",
|
|
364
|
-
"
|
|
365
|
-
"
|
|
366
|
-
"
|
|
367
|
-
|
|
368
|
-
|
|
422
|
+
"verifiedAt": "2026-04-30T12:00:00.000Z",
|
|
423
|
+
"verifier": "@nexart/ai-execution",
|
|
424
|
+
"cli": {
|
|
425
|
+
"version": "0.8.0",
|
|
426
|
+
"sdkVersion": "0.16.1",
|
|
427
|
+
"inputType": "package",
|
|
428
|
+
"verifiedInnerCer": true,
|
|
429
|
+
"packageTrustLayersVerified": false
|
|
430
|
+
}
|
|
369
431
|
}
|
|
370
432
|
```
|
|
371
433
|
|
|
434
|
+
The top-level fields (`status`, `checks`, `reasonCodes`, `certificateHash`, `bundleType`, `verifiedAt`, `verifier`) are the SDK's `CerVerificationResult` verbatim. The additive `cli` envelope carries CLI-only metadata (`version`, `sdkVersion`, `inputType`, and package-specific flags when applicable).
|
|
435
|
+
|
|
372
436
|
**Options:**
|
|
373
437
|
| Flag | Default | Description |
|
|
374
438
|
|------|---------|-------------|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,34 +1,60 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* @nexart/cli v0.
|
|
3
|
+
* @nexart/cli v0.8.0 — NexArt CLI
|
|
4
4
|
*
|
|
5
5
|
* Code Mode commands:
|
|
6
|
-
* - nexart run <file>
|
|
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
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
|
|
13
|
+
* - nexart ai seal <file> — Seal a CER bundle locally (offline, no node)
|
|
14
|
+
* - nexart ai verify <file> — Verify a CER bundle or CER package locally
|
|
14
15
|
* - nexart ai project-verify <file> — Verify a cer.project.bundle.v1 artifact locally
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
+
* Sealed vs Certified:
|
|
18
|
+
* - Sealed = integrity only. Bundle is locally produced via SDK sealCer().
|
|
19
|
+
* No node receipt, no signature, no envelope. Use for offline
|
|
20
|
+
* workflows, CI, or pre-certification staging. `ai seal` builds
|
|
21
|
+
* these.
|
|
22
|
+
* - Certified = integrity + node attestation receipt. Bundle has been
|
|
23
|
+
* attested by a NexArt node and includes a signed receipt.
|
|
24
|
+
* `ai certify` builds these.
|
|
25
|
+
* `ai verify` works on both. For sealed bundles, the Receipt and Envelope
|
|
26
|
+
* layers report SKIPPED — that is correct, not a failure.
|
|
27
|
+
*
|
|
28
|
+
* VERIFICATION ALIGNMENT (v0.8.0):
|
|
29
|
+
* `ai verify` and `ai project-verify` both delegate ALL verification logic to
|
|
30
|
+
* @nexart/ai-execution (>=0.16.1). The CLI implements ZERO independent
|
|
31
|
+
* cryptographic logic — no canonicalization, no hash recomputation, no
|
|
32
|
+
* integrity checks. This guarantees byte-for-byte parity with:
|
|
33
|
+
* - the SDK (`verifyAiCerBundleDetailed`, `verifyProjectBundle`)
|
|
34
|
+
* - NexArt Node (`/v1/cer/verify`)
|
|
35
|
+
* - verify.nexart.io
|
|
36
|
+
*
|
|
37
|
+
* `ai verify` reports the three SDK protocol layers independently:
|
|
38
|
+
* - bundleIntegrity (Integrity: certificate hash recomputation)
|
|
39
|
+
* - nodeSignature (Receipt: node attestation signature validity)
|
|
40
|
+
* - receiptConsistency (Envelope: bundle/receipt envelope consistency)
|
|
41
|
+
* Each layer is reported as PASS / FAIL / SKIPPED with no aggregation, and
|
|
42
|
+
* the SDK reason codes are passed through unmodified.
|
|
43
|
+
*
|
|
44
|
+
* Context signals:
|
|
17
45
|
* Pass --signals-file <path> to ai create / ai certify to attach upstream
|
|
18
|
-
* context signals to the CER. Signals are evidence
|
|
19
|
-
* the certificateHash. ai verify
|
|
20
|
-
*
|
|
21
|
-
* CER packages
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* nexart ai project-verify verifies cer.project.bundle.v1 artifacts locally.
|
|
29
|
-
* Delegates all verification logic to verifyProjectBundle() from @nexart/ai-execution.
|
|
30
|
-
* No network required. The CLI provides the command surface and output formatting only.
|
|
46
|
+
* context signals to the CER. Signals are evidence and are bound by the
|
|
47
|
+
* SDK into the certificateHash. ai verify validates them via the SDK.
|
|
48
|
+
*
|
|
49
|
+
* CER packages:
|
|
50
|
+
* ai verify accepts raw CER bundles and CER packages. For packages, the
|
|
51
|
+
* inner CER bundle is unwrapped and passed to the SDK verifier.
|
|
52
|
+
*
|
|
53
|
+
* Project bundles:
|
|
54
|
+
* ai project-verify delegates to verifyProjectBundle() from @nexart/ai-execution.
|
|
55
|
+
* No network required. The CLI provides command surface and output formatting only.
|
|
31
56
|
*/
|
|
57
|
+
import { hasAttestation as sdkHasAttestation } from '@nexart/ai-execution';
|
|
32
58
|
/**
|
|
33
59
|
* Read all bytes from stdin (non-TTY only).
|
|
34
60
|
*/
|
|
@@ -46,29 +72,55 @@ export declare function callNodeApi(endpoint: string, apiPath: string, body: unk
|
|
|
46
72
|
data: unknown;
|
|
47
73
|
}>;
|
|
48
74
|
/**
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* ensuring signals are tamper-evident. When absent, the hash is identical to pre-v0.11.0.
|
|
61
|
-
*/
|
|
62
|
-
export declare function computeBundleHash(bundle: Record<string, unknown>): string;
|
|
63
|
-
/**
|
|
64
|
-
* Check whether a CER bundle has a valid-looking attestation.
|
|
75
|
+
* NOTE: As of v0.8.0, the CLI implements ZERO independent cryptographic logic.
|
|
76
|
+
*
|
|
77
|
+
* Removed in v0.8.0 (drift hazard — canonical CER semantics live in the SDK):
|
|
78
|
+
* - canonicalJson() → use @nexart/ai-execution canonicalization
|
|
79
|
+
* - computeBundleHash() → use verifyAiCerBundleDetailed() / verifyCer()
|
|
80
|
+
* - hasAttestation() → re-exported below from @nexart/ai-execution
|
|
81
|
+
*
|
|
82
|
+
* The CLI MUST NOT recompute certificateHash, canonicalize CER JSON, or compare
|
|
83
|
+
* hashes by hand. All such logic is owned by @nexart/ai-execution. This is what
|
|
84
|
+
* guarantees CLI verification matches the SDK, NexArt Node (`/v1/cer/verify`),
|
|
85
|
+
* and verify.nexart.io exactly.
|
|
65
86
|
*/
|
|
66
|
-
export declare
|
|
87
|
+
export declare const hasAttestation: typeof sdkHasAttestation;
|
|
67
88
|
/**
|
|
68
89
|
* Load a JSON array of context signals from a file path.
|
|
69
90
|
* Exits with an error message if the file is missing, invalid JSON, or not an array.
|
|
70
91
|
*/
|
|
71
92
|
export declare function loadSignalsFile(signalsPath: string): unknown[];
|
|
93
|
+
/**
|
|
94
|
+
* nexart ai seal — Build a Certified Execution Record locally.
|
|
95
|
+
*
|
|
96
|
+
* This command is offline-only. It performs ZERO network I/O and ZERO local
|
|
97
|
+
* cryptography: all snapshot construction, canonicalization, and certificate
|
|
98
|
+
* hashing are delegated to @nexart/ai-execution via createSnapshot() and
|
|
99
|
+
* sealCer(). The CLI's job is parsing input, calling the SDK, and formatting
|
|
100
|
+
* output.
|
|
101
|
+
*
|
|
102
|
+
* Output contract:
|
|
103
|
+
* - stdout: the CER bundle JSON (pipe-friendly into `nexart ai verify`)
|
|
104
|
+
* - stderr: a status banner (suppress with --quiet)
|
|
105
|
+
* - --out: also writes the bundle JSON to the given file
|
|
106
|
+
*
|
|
107
|
+
* The sealed bundle is integrity-only. It does NOT contain a node attestation
|
|
108
|
+
* receipt, a node signature, or an envelope. Use `nexart ai certify` (or
|
|
109
|
+
* `attest()` from the SDK) to upgrade a sealed bundle to a certified one.
|
|
110
|
+
*
|
|
111
|
+
* Compatibility guarantee: a sealed bundle from this command verifies as
|
|
112
|
+
* VERIFIED by `nexart ai verify`, by SDK `verifyAiCerBundleDetailed`, and by
|
|
113
|
+
* NexArt Node `/v1/cer/verify` (Integrity layer PASS, Receipt and Envelope
|
|
114
|
+
* layers SKIPPED — that is by design, not a failure).
|
|
115
|
+
*
|
|
116
|
+
* To merge upstream context signals into the bundle, include `signals: [...]`
|
|
117
|
+
* in the input JSON. Signals are bound by the SDK into certificateHash via
|
|
118
|
+
* context.contextHash + signalCount + contextSummary.
|
|
119
|
+
*/
|
|
120
|
+
export declare function aiSealCommand(file: string | undefined, opts: {
|
|
121
|
+
out?: string;
|
|
122
|
+
quiet?: boolean;
|
|
123
|
+
}, stdinReader?: () => Promise<string>): Promise<void>;
|
|
72
124
|
/**
|
|
73
125
|
* nexart ai create — Read execution input, call POST /v1/cer/ai/create,
|
|
74
126
|
* print CER bundle JSON to stdout, optionally save to --out file.
|
|
@@ -95,12 +147,27 @@ export declare function aiCertifyCommand(file: string | undefined, opts: {
|
|
|
95
147
|
}, fetchFn?: typeof fetch, stdinReader?: () => Promise<string>): Promise<void>;
|
|
96
148
|
/**
|
|
97
149
|
* nexart ai verify — Read a CER bundle or CER package JSON from file or stdin,
|
|
98
|
-
*
|
|
99
|
-
*
|
|
150
|
+
* delegate verification to verifyAiCerBundleDetailed() from @nexart/ai-execution,
|
|
151
|
+
* and report the protocol layer results.
|
|
152
|
+
*
|
|
153
|
+
* The CLI does ZERO crypto here. It only:
|
|
154
|
+
* 1. parses input
|
|
155
|
+
* 2. unwraps a CER package to its inner CER bundle (via SDK's isCerPackage / getCerFromPackage)
|
|
156
|
+
* 3. calls verifyAiCerBundleDetailed(bundle)
|
|
157
|
+
* 4. formats the SDK's CerVerificationResult for human / JSON output
|
|
158
|
+
*
|
|
159
|
+
* The three SDK protocol layers are reported INDEPENDENTLY (no aggregation):
|
|
160
|
+
* - bundleIntegrity (Integrity layer: certificate hash recomputation)
|
|
161
|
+
* - nodeSignature (Receipt layer: node attestation signature validity)
|
|
162
|
+
* - receiptConsistency (Envelope layer: bundle/receipt envelope consistency)
|
|
163
|
+
*
|
|
164
|
+
* Each layer is PASS / FAIL / SKIPPED. SDK reason codes are passed through
|
|
165
|
+
* unmodified. Exit code is driven by the SDK's `status` field (VERIFIED → 0,
|
|
166
|
+
* anything else → 1).
|
|
100
167
|
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
*
|
|
168
|
+
* --json prints the SDK's CerVerificationResult verbatim, plus a minimal
|
|
169
|
+
* `cli` envelope describing input handling. The SDK fields are never rewritten
|
|
170
|
+
* or reinterpreted.
|
|
104
171
|
*/
|
|
105
172
|
export declare function aiVerifyCommand(file: string | undefined, opts: {
|
|
106
173
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAYH,OAAO,EAGL,cAAc,IAAI,iBAAiB,EAYpC,MAAM,sBAAsB,CAAC;AAulB9B;;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;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,0BAAoB,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,EAAE,CAwB9D;AAuDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,EACD,WAAW,GAAE,MAAM,OAAO,CAAC,MAAM,CAAiB,GACjD,OAAO,CAAC,IAAI,CAAC,CAuCf;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;;;;;;;;;;;;;;;;;;;;;;;GAuBG;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,CA0Ef;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,sBAAsB,CAC1C,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,CAwBf"}
|
package/dist/index.js
CHANGED
|
@@ -1,33 +1,58 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* @nexart/cli v0.
|
|
3
|
+
* @nexart/cli v0.8.0 — NexArt CLI
|
|
4
4
|
*
|
|
5
5
|
* Code Mode commands:
|
|
6
|
-
* - nexart run <file>
|
|
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
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
|
|
13
|
+
* - nexart ai seal <file> — Seal a CER bundle locally (offline, no node)
|
|
14
|
+
* - nexart ai verify <file> — Verify a CER bundle or CER package locally
|
|
14
15
|
* - nexart ai project-verify <file> — Verify a cer.project.bundle.v1 artifact locally
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
+
* Sealed vs Certified:
|
|
18
|
+
* - Sealed = integrity only. Bundle is locally produced via SDK sealCer().
|
|
19
|
+
* No node receipt, no signature, no envelope. Use for offline
|
|
20
|
+
* workflows, CI, or pre-certification staging. `ai seal` builds
|
|
21
|
+
* these.
|
|
22
|
+
* - Certified = integrity + node attestation receipt. Bundle has been
|
|
23
|
+
* attested by a NexArt node and includes a signed receipt.
|
|
24
|
+
* `ai certify` builds these.
|
|
25
|
+
* `ai verify` works on both. For sealed bundles, the Receipt and Envelope
|
|
26
|
+
* layers report SKIPPED — that is correct, not a failure.
|
|
27
|
+
*
|
|
28
|
+
* VERIFICATION ALIGNMENT (v0.8.0):
|
|
29
|
+
* `ai verify` and `ai project-verify` both delegate ALL verification logic to
|
|
30
|
+
* @nexart/ai-execution (>=0.16.1). The CLI implements ZERO independent
|
|
31
|
+
* cryptographic logic — no canonicalization, no hash recomputation, no
|
|
32
|
+
* integrity checks. This guarantees byte-for-byte parity with:
|
|
33
|
+
* - the SDK (`verifyAiCerBundleDetailed`, `verifyProjectBundle`)
|
|
34
|
+
* - NexArt Node (`/v1/cer/verify`)
|
|
35
|
+
* - verify.nexart.io
|
|
36
|
+
*
|
|
37
|
+
* `ai verify` reports the three SDK protocol layers independently:
|
|
38
|
+
* - bundleIntegrity (Integrity: certificate hash recomputation)
|
|
39
|
+
* - nodeSignature (Receipt: node attestation signature validity)
|
|
40
|
+
* - receiptConsistency (Envelope: bundle/receipt envelope consistency)
|
|
41
|
+
* Each layer is reported as PASS / FAIL / SKIPPED with no aggregation, and
|
|
42
|
+
* the SDK reason codes are passed through unmodified.
|
|
43
|
+
*
|
|
44
|
+
* Context signals:
|
|
17
45
|
* Pass --signals-file <path> to ai create / ai certify to attach upstream
|
|
18
|
-
* context signals to the CER. Signals are evidence
|
|
19
|
-
* the certificateHash. ai verify
|
|
46
|
+
* context signals to the CER. Signals are evidence and are bound by the
|
|
47
|
+
* SDK into the certificateHash. ai verify validates them via the SDK.
|
|
20
48
|
*
|
|
21
|
-
* CER packages
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* Only the inner cer bundle is verified. Package-level receipt/signature/
|
|
25
|
-
* envelope fields are not verified by this command.
|
|
49
|
+
* CER packages:
|
|
50
|
+
* ai verify accepts raw CER bundles and CER packages. For packages, the
|
|
51
|
+
* inner CER bundle is unwrapped and passed to the SDK verifier.
|
|
26
52
|
*
|
|
27
|
-
* Project bundles
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* No network required. The CLI provides the command surface and output formatting only.
|
|
53
|
+
* Project bundles:
|
|
54
|
+
* ai project-verify delegates to verifyProjectBundle() from @nexart/ai-execution.
|
|
55
|
+
* No network required. The CLI provides command surface and output formatting only.
|
|
31
56
|
*/
|
|
32
57
|
import yargs from 'yargs';
|
|
33
58
|
import { hideBin } from 'yargs/helpers';
|
|
@@ -38,13 +63,44 @@ import * as http from 'http';
|
|
|
38
63
|
import * as https from 'https';
|
|
39
64
|
import { fileURLToPath } from 'url';
|
|
40
65
|
import { realpathSync } from 'fs';
|
|
41
|
-
import {
|
|
42
|
-
|
|
43
|
-
const
|
|
66
|
+
import { createRequire } from 'module';
|
|
67
|
+
import { verifyProjectBundle, verifyAiCerBundleDetailed, hasAttestation as sdkHasAttestation, isCerPackage as sdkIsCerPackage, getCerFromPackage, createSnapshot as sdkCreateSnapshot, sealCer as sdkSealCer, } from '@nexart/ai-execution';
|
|
68
|
+
const CLI_VERSION = '0.8.0';
|
|
69
|
+
/**
|
|
70
|
+
* Code Mode renderer protocol version. This is the wire-protocol version the
|
|
71
|
+
* CLI sends to the remote renderer for snapshot creation. It is unrelated to
|
|
72
|
+
* the AI CER protocol (which is owned and versioned by @nexart/ai-execution).
|
|
73
|
+
*/
|
|
44
74
|
const PROTOCOL_VERSION = '1.2.0';
|
|
75
|
+
/**
|
|
76
|
+
* Stable fallback identifier used when computing a Code Mode `runtimeHash`
|
|
77
|
+
* locally (e.g. when the remote renderer doesn't supply one). This is NOT a
|
|
78
|
+
* CER hash and is NOT part of any verification path — it just needs to be
|
|
79
|
+
* stable across replays of the same CLI version.
|
|
80
|
+
*/
|
|
81
|
+
const CODE_MODE_RUNTIME_TAG = `nexart-cli/${CLI_VERSION}`;
|
|
82
|
+
/**
|
|
83
|
+
* Read the installed @nexart/ai-execution version at runtime from its
|
|
84
|
+
* package.json. Used by --version output so what the CLI reports always
|
|
85
|
+
* matches what is actually loaded.
|
|
86
|
+
*/
|
|
87
|
+
function getSdkVersion() {
|
|
88
|
+
try {
|
|
89
|
+
const req = createRequire(import.meta.url);
|
|
90
|
+
const pkg = req('@nexart/ai-execution/package.json');
|
|
91
|
+
return typeof pkg.version === 'string' ? pkg.version : 'unknown';
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return 'unknown';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
45
97
|
const DEFAULT_ENDPOINT = process.env.NEXART_RENDERER_ENDPOINT || 'http://localhost:5000';
|
|
46
98
|
const DEFAULT_API_KEY = process.env.NEXART_API_KEY || '';
|
|
47
99
|
const DEFAULT_NODE_ENDPOINT = process.env.NEXART_NODE_ENDPOINT || 'https://node.nexart.art';
|
|
100
|
+
// NOTE: A local `CerBundle` shape used to live here. It has been removed in
|
|
101
|
+
// v0.8.0 — the canonical CER bundle type is `CerAiExecutionBundle` from
|
|
102
|
+
// @nexart/ai-execution, which the CLI imports directly. Keeping a parallel
|
|
103
|
+
// type would risk drift from the SDK schema.
|
|
48
104
|
function sha256(data) {
|
|
49
105
|
const buffer = typeof data === 'string' ? Buffer.from(data, 'utf-8') : data;
|
|
50
106
|
return crypto.createHash('sha256').update(buffer).digest('hex');
|
|
@@ -193,7 +249,7 @@ async function callRenderer(endpoint, code, seed, VAR, width, height, apiKey) {
|
|
|
193
249
|
return;
|
|
194
250
|
}
|
|
195
251
|
if (contentType.includes('image/png')) {
|
|
196
|
-
const runtimeHash = res.headers['x-runtime-hash'] || sha256(
|
|
252
|
+
const runtimeHash = res.headers['x-runtime-hash'] || sha256(CODE_MODE_RUNTIME_TAG);
|
|
197
253
|
resolve({ pngBytes: responseBuffer, runtimeHash });
|
|
198
254
|
return;
|
|
199
255
|
}
|
|
@@ -205,7 +261,7 @@ async function callRenderer(endpoint, code, seed, VAR, width, height, apiKey) {
|
|
|
205
261
|
}
|
|
206
262
|
if (json.pngBase64) {
|
|
207
263
|
const pngBytes = Buffer.from(json.pngBase64, 'base64');
|
|
208
|
-
const runtimeHash = json.runtimeHash || sha256(
|
|
264
|
+
const runtimeHash = json.runtimeHash || sha256(CODE_MODE_RUNTIME_TAG);
|
|
209
265
|
resolve({ pngBytes, runtimeHash });
|
|
210
266
|
return;
|
|
211
267
|
}
|
|
@@ -276,7 +332,7 @@ async function runCommand(file, options) {
|
|
|
276
332
|
else {
|
|
277
333
|
console.log(`[nexart] WARNING: Local renderer NOT implemented yet — outputs placeholder image only`);
|
|
278
334
|
pngBytes = createPlaceholderPng();
|
|
279
|
-
runtimeHash = options.runtimeHash || sha256(
|
|
335
|
+
runtimeHash = options.runtimeHash || sha256(CODE_MODE_RUNTIME_TAG);
|
|
280
336
|
}
|
|
281
337
|
const outputHash = sha256(pngBytes);
|
|
282
338
|
const snapshot = {
|
|
@@ -553,48 +609,19 @@ export async function callNodeApi(endpoint, apiPath, body, apiKey, fetchFn = glo
|
|
|
553
609
|
return { status: response.status, data };
|
|
554
610
|
}
|
|
555
611
|
/**
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
*
|
|
559
|
-
*
|
|
560
|
-
*
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
return '[' + value.map(canonicalJson).join(',') + ']';
|
|
568
|
-
}
|
|
569
|
-
const obj = value;
|
|
570
|
-
const keys = Object.keys(obj).sort();
|
|
571
|
-
const pairs = keys
|
|
572
|
-
.filter(k => obj[k] !== undefined)
|
|
573
|
-
.map(k => JSON.stringify(k) + ':' + canonicalJson(obj[k]));
|
|
574
|
-
return '{' + pairs.join(',') + '}';
|
|
575
|
-
}
|
|
576
|
-
/**
|
|
577
|
-
* Recompute the certificateHash for a CER v1 bundle.
|
|
578
|
-
* Protected set: { bundleType, version, createdAt, snapshot }
|
|
579
|
-
* v0.11.0+: context is included in the protected set when present (non-null/non-undefined),
|
|
580
|
-
* ensuring signals are tamper-evident. When absent, the hash is identical to pre-v0.11.0.
|
|
581
|
-
*/
|
|
582
|
-
export function computeBundleHash(bundle) {
|
|
583
|
-
const { bundleType, version, createdAt, snapshot } = bundle;
|
|
584
|
-
const protectedSet = { bundleType, version, createdAt, snapshot };
|
|
585
|
-
const context = bundle['context'];
|
|
586
|
-
if (context !== undefined && context !== null) {
|
|
587
|
-
protectedSet['context'] = context;
|
|
588
|
-
}
|
|
589
|
-
return 'sha256:' + sha256(canonicalJson(protectedSet));
|
|
590
|
-
}
|
|
591
|
-
/**
|
|
592
|
-
* Check whether a CER bundle has a valid-looking attestation.
|
|
612
|
+
* NOTE: As of v0.8.0, the CLI implements ZERO independent cryptographic logic.
|
|
613
|
+
*
|
|
614
|
+
* Removed in v0.8.0 (drift hazard — canonical CER semantics live in the SDK):
|
|
615
|
+
* - canonicalJson() → use @nexart/ai-execution canonicalization
|
|
616
|
+
* - computeBundleHash() → use verifyAiCerBundleDetailed() / verifyCer()
|
|
617
|
+
* - hasAttestation() → re-exported below from @nexart/ai-execution
|
|
618
|
+
*
|
|
619
|
+
* The CLI MUST NOT recompute certificateHash, canonicalize CER JSON, or compare
|
|
620
|
+
* hashes by hand. All such logic is owned by @nexart/ai-execution. This is what
|
|
621
|
+
* guarantees CLI verification matches the SDK, NexArt Node (`/v1/cer/verify`),
|
|
622
|
+
* and verify.nexart.io exactly.
|
|
593
623
|
*/
|
|
594
|
-
export
|
|
595
|
-
return (typeof bundle['attestationId'] === 'string' &&
|
|
596
|
-
bundle['attestationId'].length > 0);
|
|
597
|
-
}
|
|
624
|
+
export const hasAttestation = sdkHasAttestation;
|
|
598
625
|
/**
|
|
599
626
|
* Load a JSON array of context signals from a file path.
|
|
600
627
|
* Exits with an error message if the file is missing, invalid JSON, or not an array.
|
|
@@ -626,6 +653,111 @@ export function loadSignalsFile(signalsPath) {
|
|
|
626
653
|
}
|
|
627
654
|
return parsed;
|
|
628
655
|
}
|
|
656
|
+
/**
|
|
657
|
+
* Internal: validate that `raw` looks like a CreateSnapshotParams payload and
|
|
658
|
+
* return a typed object (plus optional seal-time inputs). The CLI owns input
|
|
659
|
+
* shape validation only — it does NOT touch crypto or canonicalization. All
|
|
660
|
+
* structural CER semantics belong to the SDK.
|
|
661
|
+
*
|
|
662
|
+
* Required fields: executionId, provider, model, prompt, input, output, parameters
|
|
663
|
+
* Seal-time optionals (top-level on the payload): createdAt, signals, meta, declaration
|
|
664
|
+
*/
|
|
665
|
+
function buildSealInputs(raw) {
|
|
666
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
667
|
+
console.error('[nexart] Error: Input must be a JSON object describing an AI execution.');
|
|
668
|
+
process.exit(1);
|
|
669
|
+
}
|
|
670
|
+
const obj = raw;
|
|
671
|
+
const required = ['executionId', 'provider', 'model', 'prompt', 'input', 'output', 'parameters'];
|
|
672
|
+
const missing = required.filter((k) => obj[k] === undefined || obj[k] === null);
|
|
673
|
+
if (missing.length > 0) {
|
|
674
|
+
console.error(`[nexart] Error: Missing required field(s) for ai seal: ${missing.join(', ')}`);
|
|
675
|
+
console.error('[nexart] Required fields: executionId, provider, model, prompt, input, output, parameters');
|
|
676
|
+
process.exit(1);
|
|
677
|
+
}
|
|
678
|
+
if (typeof obj.parameters !== 'object' || obj.parameters === null || Array.isArray(obj.parameters)) {
|
|
679
|
+
console.error('[nexart] Error: `parameters` must be an object (AiExecutionParameters).');
|
|
680
|
+
process.exit(1);
|
|
681
|
+
}
|
|
682
|
+
// Pass the payload through to createSnapshot. The SDK is the schema authority
|
|
683
|
+
// and will throw structured errors on anything it does not accept.
|
|
684
|
+
const snapshotParams = obj;
|
|
685
|
+
const sealOptions = {};
|
|
686
|
+
if (typeof obj.createdAt === 'string')
|
|
687
|
+
sealOptions.createdAt = obj.createdAt;
|
|
688
|
+
if (Array.isArray(obj.signals))
|
|
689
|
+
sealOptions.signals = obj.signals;
|
|
690
|
+
if (obj.meta && typeof obj.meta === 'object' && !Array.isArray(obj.meta)) {
|
|
691
|
+
sealOptions.meta = obj.meta;
|
|
692
|
+
}
|
|
693
|
+
if (obj.declaration && typeof obj.declaration === 'object' && !Array.isArray(obj.declaration)) {
|
|
694
|
+
sealOptions.declaration = obj.declaration;
|
|
695
|
+
}
|
|
696
|
+
return { snapshotParams, sealOptions };
|
|
697
|
+
}
|
|
698
|
+
/**
|
|
699
|
+
* nexart ai seal — Build a Certified Execution Record locally.
|
|
700
|
+
*
|
|
701
|
+
* This command is offline-only. It performs ZERO network I/O and ZERO local
|
|
702
|
+
* cryptography: all snapshot construction, canonicalization, and certificate
|
|
703
|
+
* hashing are delegated to @nexart/ai-execution via createSnapshot() and
|
|
704
|
+
* sealCer(). The CLI's job is parsing input, calling the SDK, and formatting
|
|
705
|
+
* output.
|
|
706
|
+
*
|
|
707
|
+
* Output contract:
|
|
708
|
+
* - stdout: the CER bundle JSON (pipe-friendly into `nexart ai verify`)
|
|
709
|
+
* - stderr: a status banner (suppress with --quiet)
|
|
710
|
+
* - --out: also writes the bundle JSON to the given file
|
|
711
|
+
*
|
|
712
|
+
* The sealed bundle is integrity-only. It does NOT contain a node attestation
|
|
713
|
+
* receipt, a node signature, or an envelope. Use `nexart ai certify` (or
|
|
714
|
+
* `attest()` from the SDK) to upgrade a sealed bundle to a certified one.
|
|
715
|
+
*
|
|
716
|
+
* Compatibility guarantee: a sealed bundle from this command verifies as
|
|
717
|
+
* VERIFIED by `nexart ai verify`, by SDK `verifyAiCerBundleDetailed`, and by
|
|
718
|
+
* NexArt Node `/v1/cer/verify` (Integrity layer PASS, Receipt and Envelope
|
|
719
|
+
* layers SKIPPED — that is by design, not a failure).
|
|
720
|
+
*
|
|
721
|
+
* To merge upstream context signals into the bundle, include `signals: [...]`
|
|
722
|
+
* in the input JSON. Signals are bound by the SDK into certificateHash via
|
|
723
|
+
* context.contextHash + signalCount + contextSummary.
|
|
724
|
+
*/
|
|
725
|
+
export async function aiSealCommand(file, opts, stdinReader = readStdinText) {
|
|
726
|
+
const raw = await readInputJson(file, stdinReader);
|
|
727
|
+
const { snapshotParams, sealOptions } = buildSealInputs(raw);
|
|
728
|
+
// Single source of truth: SDK builds the snapshot and seals it.
|
|
729
|
+
let bundle;
|
|
730
|
+
try {
|
|
731
|
+
const snapshot = sdkCreateSnapshot(snapshotParams);
|
|
732
|
+
bundle = sdkSealCer(snapshot, sealOptions);
|
|
733
|
+
}
|
|
734
|
+
catch (e) {
|
|
735
|
+
console.error(`[nexart] Error: SDK seal failed: ${e.message}`);
|
|
736
|
+
process.exit(1);
|
|
737
|
+
}
|
|
738
|
+
// Defensive invariant: a freshly sealed bundle must NOT carry an attestation.
|
|
739
|
+
// If the SDK ever returns one, surface it loudly rather than silently shipping
|
|
740
|
+
// a misclassified artifact.
|
|
741
|
+
if (sdkHasAttestation(bundle)) {
|
|
742
|
+
console.error('[nexart] Error: SDK returned a bundle with an attestation; refusing to label as sealed.');
|
|
743
|
+
process.exit(1);
|
|
744
|
+
}
|
|
745
|
+
const bundleJson = JSON.stringify(bundle, null, 2);
|
|
746
|
+
process.stdout.write(bundleJson + '\n');
|
|
747
|
+
if (opts.out) {
|
|
748
|
+
const outPath = writeFileAndVerify(opts.out, bundleJson);
|
|
749
|
+
console.error(`[nexart] Saved to: ${outPath}`);
|
|
750
|
+
}
|
|
751
|
+
if (!opts.quiet) {
|
|
752
|
+
const certHash = bundle.certificateHash ?? '(missing)';
|
|
753
|
+
console.error('');
|
|
754
|
+
console.error('[nexart] Local CER created');
|
|
755
|
+
console.error('[nexart] State: Sealed (integrity only)');
|
|
756
|
+
console.error('[nexart] No node attestation present');
|
|
757
|
+
console.error('[nexart] This record is not certified — use `nexart ai certify` to attest via a node');
|
|
758
|
+
console.error(`[nexart] certificateHash: ${certHash}`);
|
|
759
|
+
}
|
|
760
|
+
}
|
|
629
761
|
/**
|
|
630
762
|
* nexart ai create — Read execution input, call POST /v1/cer/ai/create,
|
|
631
763
|
* print CER bundle JSON to stdout, optionally save to --out file.
|
|
@@ -736,95 +868,101 @@ export async function aiCertifyCommand(file, opts, fetchFn = globalThis.fetch, s
|
|
|
736
868
|
console.error(`[nexart] Saved to: ${outPath}`);
|
|
737
869
|
}
|
|
738
870
|
}
|
|
739
|
-
/**
|
|
740
|
-
* Check whether the input looks like a CER package — an envelope object with
|
|
741
|
-
* a `cer` field whose `bundleType` is 'cer.ai.execution.v1'.
|
|
742
|
-
*
|
|
743
|
-
* Mirrors the logic of isCerPackage() from @nexart/ai-execution without
|
|
744
|
-
* adding a runtime dependency. The CLI is intentionally self-contained.
|
|
745
|
-
*/
|
|
746
|
-
function isCerPackageInput(value) {
|
|
747
|
-
const cer = value['cer'];
|
|
748
|
-
if (typeof cer !== 'object' || cer === null)
|
|
749
|
-
return false;
|
|
750
|
-
return cer['bundleType'] === 'cer.ai.execution.v1';
|
|
751
|
-
}
|
|
752
871
|
/**
|
|
753
872
|
* nexart ai verify — Read a CER bundle or CER package JSON from file or stdin,
|
|
754
|
-
*
|
|
755
|
-
*
|
|
873
|
+
* delegate verification to verifyAiCerBundleDetailed() from @nexart/ai-execution,
|
|
874
|
+
* and report the protocol layer results.
|
|
875
|
+
*
|
|
876
|
+
* The CLI does ZERO crypto here. It only:
|
|
877
|
+
* 1. parses input
|
|
878
|
+
* 2. unwraps a CER package to its inner CER bundle (via SDK's isCerPackage / getCerFromPackage)
|
|
879
|
+
* 3. calls verifyAiCerBundleDetailed(bundle)
|
|
880
|
+
* 4. formats the SDK's CerVerificationResult for human / JSON output
|
|
756
881
|
*
|
|
757
|
-
*
|
|
758
|
-
*
|
|
759
|
-
*
|
|
882
|
+
* The three SDK protocol layers are reported INDEPENDENTLY (no aggregation):
|
|
883
|
+
* - bundleIntegrity (Integrity layer: certificate hash recomputation)
|
|
884
|
+
* - nodeSignature (Receipt layer: node attestation signature validity)
|
|
885
|
+
* - receiptConsistency (Envelope layer: bundle/receipt envelope consistency)
|
|
886
|
+
*
|
|
887
|
+
* Each layer is PASS / FAIL / SKIPPED. SDK reason codes are passed through
|
|
888
|
+
* unmodified. Exit code is driven by the SDK's `status` field (VERIFIED → 0,
|
|
889
|
+
* anything else → 1).
|
|
890
|
+
*
|
|
891
|
+
* --json prints the SDK's CerVerificationResult verbatim, plus a minimal
|
|
892
|
+
* `cli` envelope describing input handling. The SDK fields are never rewritten
|
|
893
|
+
* or reinterpreted.
|
|
760
894
|
*/
|
|
761
895
|
export async function aiVerifyCommand(file, opts, stdinReader = readStdinText) {
|
|
762
896
|
const raw = await readInputJson(file, stdinReader);
|
|
763
897
|
if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {
|
|
764
|
-
console.error('[nexart] Error: Input is not a valid CER bundle object');
|
|
898
|
+
console.error('[nexart] Error: Input is not a valid CER bundle or CER package object');
|
|
765
899
|
process.exit(1);
|
|
766
900
|
}
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
const isPackage = isCerPackageInput(input);
|
|
901
|
+
// Detect package vs raw bundle and unwrap. Both helpers are from the SDK,
|
|
902
|
+
// so the CLI stays in sync with however the SDK defines a "package".
|
|
903
|
+
const isPackage = sdkIsCerPackage(raw);
|
|
771
904
|
const inputType = isPackage ? 'package' : 'bundle';
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
if (bundleType !== 'cer.ai.execution.v1') {
|
|
779
|
-
console.error(`[nexart] Error: Unsupported bundleType: ${bundleType}`);
|
|
780
|
-
console.error('[nexart] Expected: cer.ai.execution.v1');
|
|
781
|
-
process.exit(1);
|
|
905
|
+
let bundleForVerification;
|
|
906
|
+
if (isPackage) {
|
|
907
|
+
bundleForVerification = getCerFromPackage(raw);
|
|
908
|
+
}
|
|
909
|
+
else {
|
|
910
|
+
bundleForVerification = raw;
|
|
782
911
|
}
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
const
|
|
786
|
-
const nodeSignature = attestationPresent ? 'PASS' : 'SKIPPED';
|
|
787
|
-
const receiptConsistency = attestationPresent ? 'PASS' : 'SKIPPED';
|
|
788
|
-
const reasonCodes = integrityPass ? [] : ['BUNDLE_HASH_MISMATCH'];
|
|
789
|
-
const status = integrityPass ? 'VERIFIED' : 'FAILED';
|
|
912
|
+
// Delegate ALL verification to the SDK. The CLI does not interpret, fall
|
|
913
|
+
// back, or aggregate. The result object is the protocol's source of truth.
|
|
914
|
+
const result = verifyAiCerBundleDetailed(bundleForVerification);
|
|
790
915
|
if (opts.json) {
|
|
916
|
+
// Pass the SDK result through verbatim. Add only a small `cli` envelope
|
|
917
|
+
// so callers can tell whether the input was a bundle or a package and
|
|
918
|
+
// which CLI version produced the output. SDK fields are NOT modified.
|
|
791
919
|
const output = {
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
920
|
+
...result,
|
|
921
|
+
cli: {
|
|
922
|
+
version: CLI_VERSION,
|
|
923
|
+
sdkVersion: getSdkVersion(),
|
|
924
|
+
inputType,
|
|
925
|
+
...(isPackage
|
|
926
|
+
? {
|
|
927
|
+
verifiedInnerCer: true,
|
|
928
|
+
packageTrustLayersVerified: false,
|
|
929
|
+
}
|
|
930
|
+
: {}),
|
|
797
931
|
},
|
|
798
|
-
reasonCodes,
|
|
799
|
-
certificateHash,
|
|
800
|
-
bundleType,
|
|
801
|
-
inputType,
|
|
802
|
-
verifiedAt,
|
|
803
|
-
verifier: '@nexart/cli',
|
|
804
932
|
};
|
|
805
|
-
if (isPackage) {
|
|
806
|
-
output['verifiedInnerCer'] = true;
|
|
807
|
-
output['packageTrustLayersVerified'] = false;
|
|
808
|
-
}
|
|
809
933
|
process.stdout.write(JSON.stringify(output, null, 2) + '\n');
|
|
810
934
|
}
|
|
811
935
|
else {
|
|
812
936
|
if (isPackage) {
|
|
813
937
|
console.log('Input type: CER package');
|
|
814
938
|
}
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
console.log(`
|
|
939
|
+
else {
|
|
940
|
+
console.log('Input type: CER bundle');
|
|
941
|
+
}
|
|
942
|
+
console.log(`Verification result: ${result.status}`);
|
|
943
|
+
console.log(`bundleType: ${result.bundleType || '(missing)'}`);
|
|
944
|
+
console.log(`certificateHash: ${result.certificateHash || '(missing)'}`);
|
|
945
|
+
console.log('');
|
|
946
|
+
console.log('Layers:');
|
|
947
|
+
console.log(` bundleIntegrity (Integrity): ${result.checks.bundleIntegrity}`);
|
|
948
|
+
console.log(` nodeSignature (Receipt): ${result.checks.nodeSignature}`);
|
|
949
|
+
console.log(` receiptConsistency (Envelope): ${result.checks.receiptConsistency}`);
|
|
950
|
+
if (result.reasonCodes.length > 0) {
|
|
951
|
+
console.log('');
|
|
952
|
+
console.log('Reason codes:');
|
|
953
|
+
for (const code of result.reasonCodes) {
|
|
954
|
+
console.log(` - ${code}`);
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
console.log('');
|
|
958
|
+
console.log(`Verifier: ${result.verifier} (via @nexart/cli ${CLI_VERSION})`);
|
|
959
|
+
console.log(`VerifiedAt: ${result.verifiedAt}`);
|
|
819
960
|
if (isPackage) {
|
|
961
|
+
console.log('');
|
|
820
962
|
console.log('Note: Verified inner CER bundle only. Package-level receipt/signature/envelope not verified by this command.');
|
|
821
963
|
}
|
|
822
|
-
if (!integrityPass) {
|
|
823
|
-
console.error(`[nexart] Expected hash: ${certificateHash}`);
|
|
824
|
-
console.error(`[nexart] Computed hash: ${computedHash}`);
|
|
825
|
-
}
|
|
826
964
|
}
|
|
827
|
-
process.exit(
|
|
965
|
+
process.exit(result.status === 'VERIFIED' ? 0 : 1);
|
|
828
966
|
}
|
|
829
967
|
/**
|
|
830
968
|
* nexart ai project-verify — Read a cer.project.bundle.v1 JSON from file or stdin,
|
|
@@ -1161,7 +1299,38 @@ if (_isMainModule) {
|
|
|
1161
1299
|
}, async (argv) => {
|
|
1162
1300
|
await aiCertifyCommand(argv.file, { out: argv.out, json: argv.json, endpoint: argv.endpoint, apiKey: argv['api-key'], signalsFile: argv['signals-file'] });
|
|
1163
1301
|
})
|
|
1164
|
-
.command('
|
|
1302
|
+
.command('seal [file]', 'Create a Certified Execution Record locally (no node required) — produces an integrity-only bundle for offline workflows, CI, or pre-certification', (yargs) => {
|
|
1303
|
+
return yargs
|
|
1304
|
+
.positional('file', {
|
|
1305
|
+
describe: 'Path to execution input JSON (omit to read from stdin)',
|
|
1306
|
+
type: 'string',
|
|
1307
|
+
})
|
|
1308
|
+
.option('out', {
|
|
1309
|
+
alias: 'o',
|
|
1310
|
+
describe: 'Save sealed CER bundle to this file',
|
|
1311
|
+
type: 'string',
|
|
1312
|
+
})
|
|
1313
|
+
.option('quiet', {
|
|
1314
|
+
alias: 'q',
|
|
1315
|
+
describe: 'Suppress the human-readable status banner on stderr (clean pipe output)',
|
|
1316
|
+
type: 'boolean',
|
|
1317
|
+
default: false,
|
|
1318
|
+
})
|
|
1319
|
+
.example('$0 ai seal execution.json', 'Seal locally and print bundle JSON')
|
|
1320
|
+
.example('cat execution.json | $0 ai seal --quiet | $0 ai verify', 'Seal then verify in a pipe')
|
|
1321
|
+
.example('$0 ai seal execution.json --out cer.json', 'Save sealed bundle to file')
|
|
1322
|
+
.example('$0 ai seal execution.json --quiet > cer.json', 'Redirect bundle JSON only')
|
|
1323
|
+
.epilogue([
|
|
1324
|
+
'Sealed (this command): integrity only. No node receipt, no signature, no envelope.',
|
|
1325
|
+
'Certified (ai certify): integrity + node attestation receipt + signature.',
|
|
1326
|
+
'',
|
|
1327
|
+
'A sealed bundle verifies as VERIFIED with Receipt and Envelope reported as SKIPPED.',
|
|
1328
|
+
'That is correct, not a failure: only the Integrity layer applies to local artifacts.',
|
|
1329
|
+
].join('\n'));
|
|
1330
|
+
}, async (argv) => {
|
|
1331
|
+
await aiSealCommand(argv.file, { out: argv.out, quiet: argv.quiet });
|
|
1332
|
+
})
|
|
1333
|
+
.command('verify [file]', 'Verify a CER bundle or CER package locally via @nexart/ai-execution (no network required)', (yargs) => {
|
|
1165
1334
|
return yargs
|
|
1166
1335
|
.positional('file', {
|
|
1167
1336
|
describe: 'Path to CER bundle or CER package JSON (omit to read from stdin)',
|
|
@@ -1203,18 +1372,32 @@ if (_isMainModule) {
|
|
|
1203
1372
|
}, () => { })
|
|
1204
1373
|
.demandCommand(1, 'You must provide a command')
|
|
1205
1374
|
.help()
|
|
1206
|
-
.version(CLI_VERSION
|
|
1375
|
+
.version(`@nexart/cli ${CLI_VERSION}
|
|
1376
|
+
@nexart/ai-execution ${getSdkVersion()}
|
|
1377
|
+
codemode protocol ${PROTOCOL_VERSION}`)
|
|
1207
1378
|
.epilog(`
|
|
1208
1379
|
Environment Variables:
|
|
1209
1380
|
NEXART_RENDERER_ENDPOINT Remote renderer URL (default: http://localhost:5000)
|
|
1210
1381
|
NEXART_NODE_ENDPOINT NexArt node API URL (default: https://node.nexart.art)
|
|
1211
1382
|
NEXART_API_KEY API key for authenticated requests
|
|
1212
1383
|
|
|
1213
|
-
Output Files:
|
|
1384
|
+
Output Files (Code Mode):
|
|
1214
1385
|
--out ./out.png creates:
|
|
1215
1386
|
./out.png - The rendered PNG image
|
|
1216
1387
|
./out.snapshot.json - Snapshot for replay/verify
|
|
1217
1388
|
|
|
1389
|
+
AI verification (ai verify, ai project-verify):
|
|
1390
|
+
All cryptographic verification is delegated to @nexart/ai-execution
|
|
1391
|
+
(verifyAiCerBundleDetailed, verifyProjectBundle). The CLI itself implements
|
|
1392
|
+
no hashing or canonicalization and produces results that match the SDK,
|
|
1393
|
+
NexArt Node (/v1/cer/verify), and verify.nexart.io exactly.
|
|
1394
|
+
|
|
1395
|
+
ai verify reports the three SDK protocol layers independently:
|
|
1396
|
+
- bundleIntegrity (Integrity: certificate hash recomputation)
|
|
1397
|
+
- nodeSignature (Receipt: node attestation signature validity)
|
|
1398
|
+
- receiptConsistency (Envelope: bundle/receipt envelope consistency)
|
|
1399
|
+
No aggregation, no reinterpretation, SDK reason codes preserved verbatim.
|
|
1400
|
+
|
|
1218
1401
|
Examples:
|
|
1219
1402
|
# Run with remote renderer
|
|
1220
1403
|
npx @nexart/cli run ./sketch.js --seed 123 --include-code --out ./out.png
|
|
@@ -1234,10 +1417,10 @@ Examples:
|
|
|
1234
1417
|
# AI: Certify with context signals
|
|
1235
1418
|
npx @nexart/cli ai certify execution.json --signals-file signals.json
|
|
1236
1419
|
|
|
1237
|
-
# AI: Verify a raw CER bundle locally (
|
|
1420
|
+
# AI: Verify a raw CER bundle locally (delegates to SDK)
|
|
1238
1421
|
npx @nexart/cli ai verify cer.json
|
|
1239
1422
|
|
|
1240
|
-
# AI: Verify a CER package (inner bundle verified;
|
|
1423
|
+
# AI: Verify a CER package (inner bundle verified via SDK; package envelope not)
|
|
1241
1424
|
npx @nexart/cli ai verify cer-package.json
|
|
1242
1425
|
|
|
1243
1426
|
# AI: Verify a project bundle locally (no network required)
|
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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexart/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "NexArt CLI — Code Mode and AI execution certification",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"author": "NexArt",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@nexart/ai-execution": "^0.
|
|
32
|
+
"@nexart/ai-execution": "^0.16.1",
|
|
33
33
|
"yargs": "^17.7.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|