@aionis/substrate 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,13 +4,23 @@ All notable changes to Aionis Substrate are documented here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.1.3 - 2026-06-26
8
+
9
+ ### Added
10
+
11
+ - Runtime Lite snapshot import summaries now expose structured source-table, skip-reason, and JSON issue diagnostics.
12
+ - Runtime snapshot corpus reports now aggregate bucket totals plus node, relation, feedback, decision, source-table, skip-reason, and JSON issue matrix diagnostics.
13
+
14
+ ## 0.1.2 - 2026-06-26
15
+
7
16
  ### Added
8
17
 
9
- - Nothing yet.
18
+ - CLI commands for `inspect`, `preview-context`, `backup`, `restore`, `compact`, and `import-runtime-snapshot`.
19
+ - CLI integration tests that run the store commands against real SQLite stores and Runtime Lite snapshot fixtures.
10
20
 
11
21
  ### Changed
12
22
 
13
- - Nothing yet.
23
+ - CLI documentation now covers store operations, Runtime snapshot import, and sidecar checks as separate surfaces.
14
24
 
15
25
  ## 0.1.1 - 2026-06-26
16
26
 
package/README.md CHANGED
@@ -35,6 +35,16 @@ After installing into a project:
35
35
  npx aionis-substrate --help
36
36
  ```
37
37
 
38
+ Common CLI operations:
39
+
40
+ ```bash
41
+ npx aionis-substrate inspect --adapter sqlite --path ./substrate.sqlite --scope repo-a
42
+ npx aionis-substrate preview-context --adapter sqlite --path ./substrate.sqlite --scope repo-a
43
+ npx aionis-substrate backup --adapter sqlite --path ./substrate.sqlite --output ./backup.json
44
+ npx aionis-substrate restore --adapter sqlite --path ./restored.sqlite --input ./backup.json
45
+ npx aionis-substrate compact --adapter sqlite --path ./substrate.sqlite
46
+ ```
47
+
38
48
  ## Goal
39
49
 
40
50
  Define the storage semantics Aionis needs before choosing or building a storage engine:
@@ -193,7 +203,7 @@ npm run check:runtime-corpus -- \
193
203
  --max-scopes-per-file 3
194
204
  ```
195
205
 
196
- This scans Runtime Lite SQLite files read-only, imports selected scopes into temporary Substrate stores, and writes an aggregate report under `reports/runtime-snapshot-corpus-*`.
206
+ This scans Runtime Lite SQLite files read-only, imports selected scopes into temporary Substrate stores, and writes an aggregate matrix report under `reports/runtime-snapshot-corpus-*`. The report includes bucket totals, node/relation/feedback/decision coverage, source-table presence, skip reasons, and Runtime JSON issues.
197
207
 
198
208
  Runtime reference corpus parity:
199
209
 
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AA2MA,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxE"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAiqBA,wBAAsB,MAAM,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCxE"}
package/dist/cli.js CHANGED
@@ -1,22 +1,61 @@
1
1
  #!/usr/bin/env node
2
- import { resolve } from "node:path";
3
- import { runRuntimeSidecarCheck } from "./index.js";
2
+ import { access, mkdir } from "node:fs/promises";
3
+ import { dirname, resolve } from "node:path";
4
+ import { exportAionisSubstrateBackup, importRuntimeLiteSnapshot, openFileAionisSubstrate, openSqliteAionisSubstrate, readAionisSubstrateBackupFile, restoreAionisSubstrateBackupToFile, restoreAionisSubstrateBackupToSqlite, runRuntimeSidecarCheck, verifyAionisSubstrateBackup, writeAionisSubstrateBackupFile, } from "./index.js";
4
5
  function rootUsage() {
5
6
  return [
6
7
  "Aionis Substrate CLI",
7
8
  "",
8
9
  "Usage:",
9
10
  " aionis-substrate sidecar --source <runtime.sqlite> --scope <scope> [--reference <guide.json>]",
11
+ " aionis-substrate import-runtime-snapshot --source <runtime.sqlite> --target <store> --adapter sqlite",
12
+ " aionis-substrate preview-context --adapter sqlite --path <store> --scope <scope>",
13
+ " aionis-substrate inspect --adapter sqlite --path <store> [--scope <scope>]",
14
+ " aionis-substrate backup --adapter sqlite --path <store> --output <backup.json>",
15
+ " aionis-substrate restore --adapter sqlite --path <store> --input <backup.json>",
16
+ " aionis-substrate compact --adapter sqlite --path <store>",
10
17
  " aionis-substrate sidecar --source-root <runtime-root> --reference-root <reference-root>",
11
18
  "",
12
19
  "Commands:",
13
- " sidecar Run read-only Runtime sidecar stabilization checks.",
14
- " help Show this help message.",
20
+ " sidecar Run read-only Runtime sidecar stabilization checks.",
21
+ " import-runtime-snapshot Import a Runtime Lite SQLite snapshot into a separate Substrate store.",
22
+ " inspect Inspect store metadata and scoped audit counts.",
23
+ " preview-context Compile governed buckets without writing a decision receipt.",
24
+ " backup Export and verify a checksum-covered event backup.",
25
+ " restore Restore a checksum-verified backup into an empty target.",
26
+ " compact Rewrite event history into a checkpoint without changing state.",
27
+ " help Show this help message.",
15
28
  "",
16
29
  "Substrate is an external durable evidence layer. It does not start Runtime,",
17
30
  "replace Runtime storage, or mutate Runtime source code.",
18
31
  ].join("\n");
19
32
  }
33
+ function storeUsage(command) {
34
+ return [
35
+ `Aionis Substrate ${command}`,
36
+ "",
37
+ "Store options:",
38
+ " --adapter <sqlite|file>",
39
+ " --path <path>",
40
+ "",
41
+ "Examples:",
42
+ " aionis-substrate inspect --adapter sqlite --path ./substrate.sqlite --scope repo-a",
43
+ " aionis-substrate preview-context --adapter file --path ./substrate-store --scope repo-a --query runtime",
44
+ " aionis-substrate backup --adapter sqlite --path ./substrate.sqlite --output ./backup.json",
45
+ " aionis-substrate restore --adapter sqlite --path ./restored.sqlite --input ./backup.json",
46
+ " aionis-substrate compact --adapter sqlite --path ./substrate.sqlite",
47
+ ].join("\n");
48
+ }
49
+ function runtimeImportUsage() {
50
+ return [
51
+ "Aionis Substrate Runtime snapshot import",
52
+ "",
53
+ "Usage:",
54
+ " aionis-substrate import-runtime-snapshot --source <runtime.sqlite> --target <store> --adapter <sqlite|file> [--scope <scope>] [--limit <n>]",
55
+ "",
56
+ "The Runtime SQLite source is opened read-only. The target is a separate Substrate store.",
57
+ ].join("\n");
58
+ }
20
59
  function sidecarUsage() {
21
60
  return [
22
61
  "Aionis Substrate sidecar check",
@@ -61,6 +100,250 @@ function parseInteger(raw, label) {
61
100
  throw new Error(`${label} must be a non-negative integer`);
62
101
  return parsed;
63
102
  }
103
+ function parseAdapter(raw) {
104
+ if (raw !== "sqlite" && raw !== "file")
105
+ throw new Error("--adapter must be sqlite or file");
106
+ return raw;
107
+ }
108
+ async function pathExists(path) {
109
+ try {
110
+ await access(path);
111
+ return true;
112
+ }
113
+ catch (err) {
114
+ if (err.code === "ENOENT")
115
+ return false;
116
+ throw err;
117
+ }
118
+ }
119
+ async function openExistingStore(args) {
120
+ if (!args.adapter)
121
+ throw new Error("--adapter is required");
122
+ if (!args.path)
123
+ throw new Error("--path is required");
124
+ const path = resolve(args.path);
125
+ if (!(await pathExists(path)))
126
+ throw new Error(`store path does not exist: ${path}`);
127
+ return args.adapter === "file"
128
+ ? await openFileAionisSubstrate({ dir: path })
129
+ : await openSqliteAionisSubstrate({ path });
130
+ }
131
+ async function openTargetStore(args) {
132
+ if (!args.adapter)
133
+ throw new Error("--adapter is required");
134
+ if (!args.path)
135
+ throw new Error("--path is required");
136
+ const path = resolve(args.path);
137
+ if (args.adapter === "file") {
138
+ await mkdir(path, { recursive: true });
139
+ return await openFileAionisSubstrate({ dir: path });
140
+ }
141
+ await mkdir(dirname(path), { recursive: true });
142
+ return await openSqliteAionisSubstrate({ path });
143
+ }
144
+ function parseInspectArgs(argv) {
145
+ const args = {};
146
+ for (let i = 0; i < argv.length; i += 1) {
147
+ const flag = argv[i];
148
+ const value = argv[i + 1];
149
+ if (flag === "--adapter") {
150
+ args.adapter = parseAdapter(value);
151
+ i += 1;
152
+ }
153
+ else if (flag === "--path") {
154
+ if (!value)
155
+ throw new Error("--path requires a value");
156
+ args.path = value;
157
+ i += 1;
158
+ }
159
+ else if (flag === "--scope") {
160
+ if (!value)
161
+ throw new Error("--scope requires a value");
162
+ args.scope = value;
163
+ i += 1;
164
+ }
165
+ else if (flag === "--help" || flag === "-h") {
166
+ console.log(storeUsage("inspect"));
167
+ process.exit(0);
168
+ }
169
+ else {
170
+ throw new Error(`unknown inspect argument: ${flag}`);
171
+ }
172
+ }
173
+ return args;
174
+ }
175
+ function parseContextArgs(argv) {
176
+ const args = {};
177
+ for (let i = 0; i < argv.length; i += 1) {
178
+ const flag = argv[i];
179
+ const value = argv[i + 1];
180
+ if (flag === "--adapter") {
181
+ args.adapter = parseAdapter(value);
182
+ i += 1;
183
+ }
184
+ else if (flag === "--path") {
185
+ if (!value)
186
+ throw new Error("--path requires a value");
187
+ args.path = value;
188
+ i += 1;
189
+ }
190
+ else if (flag === "--scope") {
191
+ if (!value)
192
+ throw new Error("--scope requires a value");
193
+ args.scope = value;
194
+ i += 1;
195
+ }
196
+ else if (flag === "--query") {
197
+ if (!value)
198
+ throw new Error("--query requires a value");
199
+ args.query = value;
200
+ i += 1;
201
+ }
202
+ else if (flag === "--max-per-bucket") {
203
+ args.maxPerBucket = parseInteger(value, "--max-per-bucket");
204
+ i += 1;
205
+ }
206
+ else if (flag === "--help" || flag === "-h") {
207
+ console.log(storeUsage("preview-context"));
208
+ process.exit(0);
209
+ }
210
+ else {
211
+ throw new Error(`unknown preview-context argument: ${flag}`);
212
+ }
213
+ }
214
+ return args;
215
+ }
216
+ function parseBackupArgs(argv) {
217
+ const args = {};
218
+ for (let i = 0; i < argv.length; i += 1) {
219
+ const flag = argv[i];
220
+ const value = argv[i + 1];
221
+ if (flag === "--adapter") {
222
+ args.adapter = parseAdapter(value);
223
+ i += 1;
224
+ }
225
+ else if (flag === "--path") {
226
+ if (!value)
227
+ throw new Error("--path requires a value");
228
+ args.path = value;
229
+ i += 1;
230
+ }
231
+ else if (flag === "--output") {
232
+ if (!value)
233
+ throw new Error("--output requires a value");
234
+ args.output = value;
235
+ i += 1;
236
+ }
237
+ else if (flag === "--help" || flag === "-h") {
238
+ console.log(storeUsage("backup"));
239
+ process.exit(0);
240
+ }
241
+ else {
242
+ throw new Error(`unknown backup argument: ${flag}`);
243
+ }
244
+ }
245
+ return args;
246
+ }
247
+ function parseRestoreArgs(argv) {
248
+ const args = {};
249
+ for (let i = 0; i < argv.length; i += 1) {
250
+ const flag = argv[i];
251
+ const value = argv[i + 1];
252
+ if (flag === "--adapter") {
253
+ args.adapter = parseAdapter(value);
254
+ i += 1;
255
+ }
256
+ else if (flag === "--path") {
257
+ if (!value)
258
+ throw new Error("--path requires a value");
259
+ args.path = value;
260
+ i += 1;
261
+ }
262
+ else if (flag === "--input") {
263
+ if (!value)
264
+ throw new Error("--input requires a value");
265
+ args.input = value;
266
+ i += 1;
267
+ }
268
+ else if (flag === "--overwrite") {
269
+ args.overwrite = true;
270
+ }
271
+ else if (flag === "--help" || flag === "-h") {
272
+ console.log(storeUsage("restore"));
273
+ process.exit(0);
274
+ }
275
+ else {
276
+ throw new Error(`unknown restore argument: ${flag}`);
277
+ }
278
+ }
279
+ return args;
280
+ }
281
+ function parseCompactArgs(argv) {
282
+ const args = {};
283
+ for (let i = 0; i < argv.length; i += 1) {
284
+ const flag = argv[i];
285
+ const value = argv[i + 1];
286
+ if (flag === "--adapter") {
287
+ args.adapter = parseAdapter(value);
288
+ i += 1;
289
+ }
290
+ else if (flag === "--path") {
291
+ if (!value)
292
+ throw new Error("--path requires a value");
293
+ args.path = value;
294
+ i += 1;
295
+ }
296
+ else if (flag === "--help" || flag === "-h") {
297
+ console.log(storeUsage("compact"));
298
+ process.exit(0);
299
+ }
300
+ else {
301
+ throw new Error(`unknown compact argument: ${flag}`);
302
+ }
303
+ }
304
+ return args;
305
+ }
306
+ function parseRuntimeImportArgs(argv) {
307
+ const args = {};
308
+ for (let i = 0; i < argv.length; i += 1) {
309
+ const flag = argv[i];
310
+ const value = argv[i + 1];
311
+ if (flag === "--source") {
312
+ if (!value)
313
+ throw new Error("--source requires a value");
314
+ args.source = value;
315
+ i += 1;
316
+ }
317
+ else if (flag === "--target") {
318
+ if (!value)
319
+ throw new Error("--target requires a value");
320
+ args.target = value;
321
+ i += 1;
322
+ }
323
+ else if (flag === "--adapter") {
324
+ args.adapter = parseAdapter(value);
325
+ i += 1;
326
+ }
327
+ else if (flag === "--scope") {
328
+ if (!value)
329
+ throw new Error("--scope requires a value");
330
+ args.scope = value;
331
+ i += 1;
332
+ }
333
+ else if (flag === "--limit") {
334
+ args.limit = parseInteger(value, "--limit");
335
+ i += 1;
336
+ }
337
+ else if (flag === "--help" || flag === "-h") {
338
+ console.log(runtimeImportUsage());
339
+ process.exit(0);
340
+ }
341
+ else {
342
+ throw new Error(`unknown import-runtime-snapshot argument: ${flag}`);
343
+ }
344
+ }
345
+ return args;
346
+ }
64
347
  function parseSidecarArgs(argv) {
65
348
  const args = { sourceRoots: [], referenceRoots: [] };
66
349
  for (let i = 0; i < argv.length; i += 1) {
@@ -201,6 +484,189 @@ async function runSidecar(argv) {
201
484
  if (!report.summary.passed)
202
485
  process.exitCode = 1;
203
486
  }
487
+ async function runInspect(argv) {
488
+ const args = parseInspectArgs(argv);
489
+ const store = await openExistingStore(args);
490
+ try {
491
+ const info = await store.getStoreInfo();
492
+ const report = {
493
+ contract_version: "aionis_substrate_inspect_report_v1",
494
+ store: {
495
+ adapter: args.adapter,
496
+ path: resolve(args.path ?? ""),
497
+ },
498
+ info,
499
+ };
500
+ if (args.scope) {
501
+ const [nodes, relations, feedback, decisions] = await Promise.all([
502
+ store.listNodes(args.scope),
503
+ store.listRelations(args.scope),
504
+ store.listFeedback({ scope: args.scope }),
505
+ store.listDecisions(args.scope),
506
+ ]);
507
+ report.scope = args.scope;
508
+ report.counts = {
509
+ nodes: nodes.length,
510
+ relations: relations.length,
511
+ feedback: feedback.length,
512
+ decisions: decisions.length,
513
+ };
514
+ report.nodes = nodes.map((node) => ({
515
+ id: node.id,
516
+ kind: node.kind,
517
+ lifecycle: node.lifecycle,
518
+ authority: node.authority,
519
+ confidence: node.confidence,
520
+ targetFiles: node.targetFiles ?? [],
521
+ payloadRef: node.payloadRef ?? null,
522
+ }));
523
+ }
524
+ console.log(JSON.stringify(report, null, 2));
525
+ }
526
+ finally {
527
+ await store.close();
528
+ }
529
+ }
530
+ async function runPreviewContext(argv) {
531
+ const args = parseContextArgs(argv);
532
+ if (!args.scope)
533
+ throw new Error("--scope is required");
534
+ const store = await openExistingStore(args);
535
+ try {
536
+ const before = await store.getStoreInfo();
537
+ const context = await store.previewContext({
538
+ scope: args.scope,
539
+ query: args.query,
540
+ maxPerBucket: args.maxPerBucket,
541
+ });
542
+ const after = await store.getStoreInfo();
543
+ console.log(JSON.stringify({
544
+ contract_version: "aionis_substrate_preview_context_report_v1",
545
+ read_only: before.lastSequence === after.lastSequence && before.eventCount === after.eventCount,
546
+ context,
547
+ }, null, 2));
548
+ }
549
+ finally {
550
+ await store.close();
551
+ }
552
+ }
553
+ async function runBackup(argv) {
554
+ const args = parseBackupArgs(argv);
555
+ if (!args.output)
556
+ throw new Error("--output is required");
557
+ const store = await openExistingStore(args);
558
+ try {
559
+ const backup = await exportAionisSubstrateBackup(store);
560
+ const output = resolve(args.output);
561
+ await writeAionisSubstrateBackupFile(output, backup);
562
+ const verification = verifyAionisSubstrateBackup(backup);
563
+ console.log(JSON.stringify({
564
+ contract_version: "aionis_substrate_backup_export_report_v1",
565
+ output,
566
+ ok: verification.ok,
567
+ eventCount: backup.eventCount,
568
+ lastSequence: backup.lastSequence,
569
+ eventsSha256: backup.checksum.eventsSha256,
570
+ source: backup.source,
571
+ }, null, 2));
572
+ if (!verification.ok)
573
+ process.exitCode = 1;
574
+ }
575
+ finally {
576
+ await store.close();
577
+ }
578
+ }
579
+ async function runRestore(argv) {
580
+ const args = parseRestoreArgs(argv);
581
+ if (!args.adapter)
582
+ throw new Error("--adapter is required");
583
+ if (!args.path)
584
+ throw new Error("--path is required");
585
+ if (!args.input)
586
+ throw new Error("--input is required");
587
+ const input = resolve(args.input);
588
+ const target = resolve(args.path);
589
+ const backup = await readAionisSubstrateBackupFile(input);
590
+ const verification = verifyAionisSubstrateBackup(backup);
591
+ if (!verification.ok) {
592
+ console.log(JSON.stringify({
593
+ contract_version: "aionis_substrate_restore_report_v1",
594
+ input,
595
+ target,
596
+ adapter: args.adapter,
597
+ restored: false,
598
+ verification,
599
+ }, null, 2));
600
+ process.exitCode = 1;
601
+ return;
602
+ }
603
+ const snapshot = args.adapter === "file"
604
+ ? await restoreAionisSubstrateBackupToFile(backup, target, { overwrite: args.overwrite })
605
+ : await restoreAionisSubstrateBackupToSqlite(backup, target, { overwrite: args.overwrite });
606
+ console.log(JSON.stringify({
607
+ contract_version: "aionis_substrate_restore_report_v1",
608
+ input,
609
+ target,
610
+ adapter: args.adapter,
611
+ restored: true,
612
+ overwrite: args.overwrite === true,
613
+ counts: {
614
+ nodes: snapshot.nodes.length,
615
+ relations: snapshot.relations.length,
616
+ feedback: snapshot.feedback.length,
617
+ decisions: snapshot.decisions.length,
618
+ lastSequence: snapshot.lastSequence,
619
+ },
620
+ }, null, 2));
621
+ }
622
+ async function runCompact(argv) {
623
+ const args = parseCompactArgs(argv);
624
+ const store = await openExistingStore(args);
625
+ try {
626
+ const report = await store.compact();
627
+ console.log(JSON.stringify({
628
+ contract_version: "aionis_substrate_compaction_report_v1",
629
+ store: {
630
+ adapter: args.adapter,
631
+ path: resolve(args.path ?? ""),
632
+ },
633
+ ...report,
634
+ }, null, 2));
635
+ }
636
+ finally {
637
+ await store.close();
638
+ }
639
+ }
640
+ async function runRuntimeImport(argv) {
641
+ const args = parseRuntimeImportArgs(argv);
642
+ if (!args.source)
643
+ throw new Error("--source is required");
644
+ if (!args.target)
645
+ throw new Error("--target is required");
646
+ if (!args.adapter)
647
+ throw new Error("--adapter is required");
648
+ const store = await openTargetStore({
649
+ adapter: args.adapter,
650
+ path: args.target,
651
+ });
652
+ try {
653
+ const summary = await importRuntimeLiteSnapshot({
654
+ sourcePath: resolve(args.source),
655
+ target: store,
656
+ scope: args.scope,
657
+ limit: args.limit,
658
+ });
659
+ console.log(JSON.stringify({
660
+ contract_version: "aionis_runtime_lite_snapshot_import_summary_v1",
661
+ target_adapter: args.adapter,
662
+ target: resolve(args.target),
663
+ ...summary,
664
+ }, null, 2));
665
+ }
666
+ finally {
667
+ await store.close();
668
+ }
669
+ }
204
670
  export async function runCli(argv = process.argv.slice(2)) {
205
671
  const command = argv[0];
206
672
  if (!command || command === "help" || command === "--help" || command === "-h") {
@@ -211,6 +677,30 @@ export async function runCli(argv = process.argv.slice(2)) {
211
677
  await runSidecar(argv.slice(1));
212
678
  return;
213
679
  }
680
+ if (command === "import-runtime-snapshot") {
681
+ await runRuntimeImport(argv.slice(1));
682
+ return;
683
+ }
684
+ if (command === "inspect") {
685
+ await runInspect(argv.slice(1));
686
+ return;
687
+ }
688
+ if (command === "preview-context") {
689
+ await runPreviewContext(argv.slice(1));
690
+ return;
691
+ }
692
+ if (command === "backup") {
693
+ await runBackup(argv.slice(1));
694
+ return;
695
+ }
696
+ if (command === "restore") {
697
+ await runRestore(argv.slice(1));
698
+ return;
699
+ }
700
+ if (command === "compact") {
701
+ await runCompact(argv.slice(1));
702
+ return;
703
+ }
214
704
  throw new Error(`unknown command: ${command}`);
215
705
  }
216
706
  runCli().catch((err) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}