@cavelang/cli 0.29.1 → 0.31.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.
Files changed (83) hide show
  1. package/README.md +15 -1
  2. package/dist/internal/act/engine.d.ts +5 -1
  3. package/dist/internal/act/engine.d.ts.map +1 -1
  4. package/dist/internal/act/engine.js +39 -32
  5. package/dist/internal/act/engine.js.map +1 -1
  6. package/dist/internal/automate/engine.d.ts +4 -0
  7. package/dist/internal/automate/engine.d.ts.map +1 -1
  8. package/dist/internal/automate/engine.js +31 -25
  9. package/dist/internal/automate/engine.js.map +1 -1
  10. package/dist/internal/automate/main.d.ts.map +1 -1
  11. package/dist/internal/automate/main.js +7 -4
  12. package/dist/internal/automate/main.js.map +1 -1
  13. package/dist/internal/eval/loop.d.ts +1 -0
  14. package/dist/internal/eval/loop.d.ts.map +1 -1
  15. package/dist/internal/eval/loop.js +2 -1
  16. package/dist/internal/eval/loop.js.map +1 -1
  17. package/dist/internal/eval/main.d.ts.map +1 -1
  18. package/dist/internal/eval/main.js +2 -1
  19. package/dist/internal/eval/main.js.map +1 -1
  20. package/dist/internal/eval/run.d.ts +2 -0
  21. package/dist/internal/eval/run.d.ts.map +1 -1
  22. package/dist/internal/eval/run.js +6 -4
  23. package/dist/internal/eval/run.js.map +1 -1
  24. package/dist/internal/ingest/index.d.ts +1 -1
  25. package/dist/internal/ingest/index.d.ts.map +1 -1
  26. package/dist/internal/ingest/index.js.map +1 -1
  27. package/dist/internal/ingest/main.d.ts.map +1 -1
  28. package/dist/internal/ingest/main.js +4 -2
  29. package/dist/internal/ingest/main.js.map +1 -1
  30. package/dist/internal/ingest/run.d.ts +8 -1
  31. package/dist/internal/ingest/run.d.ts.map +1 -1
  32. package/dist/internal/ingest/run.js +17 -34
  33. package/dist/internal/ingest/run.js.map +1 -1
  34. package/dist/internal/loop/index.d.ts +2 -0
  35. package/dist/internal/loop/index.d.ts.map +1 -1
  36. package/dist/internal/loop/index.js +1 -0
  37. package/dist/internal/loop/index.js.map +1 -1
  38. package/dist/internal/loop/llm.d.ts +6 -0
  39. package/dist/internal/loop/llm.d.ts.map +1 -1
  40. package/dist/internal/loop/llm.js +22 -49
  41. package/dist/internal/loop/llm.js.map +1 -1
  42. package/dist/internal/loop/process-worker.d.ts +3 -0
  43. package/dist/internal/loop/process-worker.d.ts.map +1 -0
  44. package/dist/internal/loop/process-worker.js +32 -0
  45. package/dist/internal/loop/process-worker.js.map +1 -0
  46. package/dist/internal/loop/process.d.ts +61 -0
  47. package/dist/internal/loop/process.d.ts.map +1 -0
  48. package/dist/internal/loop/process.js +268 -0
  49. package/dist/internal/loop/process.js.map +1 -0
  50. package/dist/internal/mcp/guide.d.ts +12 -0
  51. package/dist/internal/mcp/guide.d.ts.map +1 -0
  52. package/dist/internal/mcp/guide.js +56 -0
  53. package/dist/internal/mcp/guide.js.map +1 -0
  54. package/dist/internal/mcp/index.d.ts +2 -2
  55. package/dist/internal/mcp/index.d.ts.map +1 -1
  56. package/dist/internal/mcp/index.js +2 -2
  57. package/dist/internal/mcp/index.js.map +1 -1
  58. package/dist/internal/mcp/server.d.ts +36 -36
  59. package/dist/internal/mcp/server.d.ts.map +1 -1
  60. package/dist/internal/mcp/server.js +90 -141
  61. package/dist/internal/mcp/server.js.map +1 -1
  62. package/dist/internal/mcp/tools.d.ts +5 -1
  63. package/dist/internal/mcp/tools.d.ts.map +1 -1
  64. package/dist/internal/mcp/tools.js +26 -1
  65. package/dist/internal/mcp/tools.js.map +1 -1
  66. package/dist/internal/view/scope.d.ts +19 -4
  67. package/dist/internal/view/scope.d.ts.map +1 -1
  68. package/dist/internal/view/scope.js +115 -31
  69. package/dist/internal/view/scope.js.map +1 -1
  70. package/dist/src/cli.d.ts +6 -2
  71. package/dist/src/cli.d.ts.map +1 -1
  72. package/dist/src/cli.js +12 -5
  73. package/dist/src/cli.js.map +1 -1
  74. package/dist/src/dispatch.d.ts.map +1 -1
  75. package/dist/src/dispatch.js +2 -2
  76. package/dist/src/dispatch.js.map +1 -1
  77. package/dist/src/doctor.d.ts.map +1 -1
  78. package/dist/src/doctor.js +19 -7
  79. package/dist/src/doctor.js.map +1 -1
  80. package/package.json +22 -21
  81. package/src/cli.ts +18 -5
  82. package/src/dispatch.ts +4 -2
  83. package/src/doctor.ts +18 -7
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,26 @@
1
- /** Build a read-only sensitivity-scoped store snapshot for data-leaving views. */
1
+ /** Reusable read-only sensitivity projections for data-leaving views. */
2
2
  import { Sensitivity } from '@cavelang/store';
3
3
  import type { Store } from '@cavelang/store';
4
+ /** Allocation and reuse evidence used by tests and the representative benchmark. */
5
+ export type ScopedStoreCacheStats = {
6
+ readonly projections: number;
7
+ readonly hits: number;
8
+ readonly builds: number;
9
+ readonly invalidations: number;
10
+ readonly retries: number;
11
+ readonly cachedClaims: number;
12
+ readonly cachedEdges: number;
13
+ readonly cachedBytes: number;
14
+ };
15
+ export declare const scopedStoreCacheStats: (source: Store) => ScopedStoreCacheStats;
16
+ /** Close and forget all projections owned by one source (primarily tests/tools). */
17
+ export declare const clearScopedStoreCache: (source: Store) => void;
4
18
  /**
5
19
  * Runs `body` against rows at or below `maximum`. Restricted includes every
6
- * row, so it can use the source directly; narrower views get an isolated
7
- * in-memory store whose counts, aliases, history, search, and lineage cannot
8
- * observe filtered rows indirectly.
20
+ * row and uses the source directly. Narrower audiences share an immutable,
21
+ * indexed projection keyed by policy and source revision; appends invalidate
22
+ * it before the next read. Hidden rows and edges never enter that projection,
23
+ * preserving the fail-closed boundary for every downstream query.
9
24
  */
10
25
  export declare const withScopedStore: <T>(source: Store, maximum: Sensitivity.Level, body: (store: Store) => T) => T;
11
26
  //# sourceMappingURL=scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/scope.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAIlF,OAAO,EAAE,WAAW,EAAQ,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,EAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,QAAQ,KAAK,EAAE,SAAS,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,KAAG,CA8BzG,CAAA"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/scope.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAIzE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAqBjD,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B,CAAA;AAaD,eAAO,MAAM,qBAAqB,GAAI,QAAQ,KAAK,KAAG,qBAcrD,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,KAAK,KAAG,IAMrD,CAAA;AAmFD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,QAAQ,KAAK,EAAE,SAAS,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,KAAG,CAC3B,CAAA"}
@@ -1,41 +1,125 @@
1
- /** Build a read-only sensitivity-scoped store snapshot for data-leaving views. */
1
+ /** Reusable read-only sensitivity projections for data-leaving views. */
2
2
  import { Uuidv7 } from '@cavelang/core';
3
- import { Sensitivity, open } from '@cavelang/store';
3
+ import { Sensitivity } from '@cavelang/store';
4
+ import { openWith } from '@cavelang/store/adapter';
5
+ const caches = new WeakMap();
6
+ const emptyStats = {
7
+ projections: 0,
8
+ hits: 0,
9
+ builds: 0,
10
+ invalidations: 0,
11
+ retries: 0,
12
+ cachedClaims: 0,
13
+ cachedEdges: 0,
14
+ cachedBytes: 0
15
+ };
16
+ export const scopedStoreCacheStats = (source) => {
17
+ const cache = caches.get(source);
18
+ if (cache === undefined)
19
+ return emptyStats;
20
+ const projections = [...cache.projections.values()];
21
+ return {
22
+ projections: projections.length,
23
+ hits: cache.hits,
24
+ builds: cache.builds,
25
+ invalidations: cache.invalidations,
26
+ retries: cache.retries,
27
+ cachedClaims: projections.reduce((total, projection) => total + projection.claims, 0),
28
+ cachedEdges: projections.reduce((total, projection) => total + projection.edges, 0),
29
+ cachedBytes: projections.reduce((total, projection) => total + projection.bytes, 0)
30
+ };
31
+ };
32
+ /** Close and forget all projections owned by one source (primarily tests/tools). */
33
+ export const clearScopedStoreCache = (source) => {
34
+ const cache = caches.get(source);
35
+ if (cache === undefined)
36
+ return;
37
+ for (const projection of cache.projections.values())
38
+ projection.store.close();
39
+ cache.projections.clear();
40
+ caches.delete(source);
41
+ };
4
42
  /**
5
- * Runs `body` against rows at or below `maximum`. Restricted includes every
6
- * row, so it can use the source directly; narrower views get an isolated
7
- * in-memory store whose counts, aliases, history, search, and lineage cannot
8
- * observe filtered rows indirectly.
43
+ * SQLite's data_version changes after commits from other connections, while
44
+ * total_changes changes after writes through this connection. Together they
45
+ * cheaply invalidate an append-only store projection without scanning rows.
9
46
  */
10
- export const withScopedStore = (source, maximum, body) => {
11
- if (maximum === 'restricted') {
12
- return body(source);
13
- }
14
- return Uuidv7.withStatePreserved(() => {
15
- const target = open(':memory:', { registry: source.baseRegistry() });
16
- try {
17
- const rows = source.db.prepare(`
47
+ const revisionOf = (source) => {
48
+ const data = source.db.prepare('PRAGMA data_version').get();
49
+ const local = source.db.prepare('SELECT total_changes() AS total_changes').get();
50
+ return `${data.data_version}:${local.total_changes}`;
51
+ };
52
+ const sizeOf = (store) => {
53
+ const pages = store.db.prepare('PRAGMA page_count').get();
54
+ const pageSize = store.db.prepare('PRAGMA page_size').get();
55
+ return Number(pages.page_count) * Number(pageSize.page_size);
56
+ };
57
+ const buildProjection = (source, maximum, revision) => Uuidv7.withStatePreserved(() => {
58
+ const target = openWith(source.adapter, ':memory:', { registry: source.baseRegistry() });
59
+ try {
60
+ const rows = source.db.prepare(`
18
61
  SELECT c.* FROM cave_claim c
19
62
  WHERE ${Sensitivity.sql('c', maximum)} ORDER BY c.tx
20
63
  `).all();
21
- const index = new Map(rows.map((row, at) => [row.id, at]));
22
- const edges = source.db.prepare('SELECT parent_id, role, child_id FROM cave_edge ORDER BY rowid').all().flatMap(edge => {
23
- const parent = index.get(edge.parent_id);
24
- const child = index.get(edge.child_id);
25
- return parent === undefined || child === undefined ? [] : [{ parent, role: edge.role, child }];
26
- });
27
- target.insertResult({
28
- claims: rows.map(row => ({ claim: source.toClaim(row), line: 0 })),
29
- edges,
30
- registry: source.baseRegistry(),
31
- problems: []
32
- }, { ids: rows.map(row => row.id) });
33
- target.reloadRegistry();
34
- return body(target);
64
+ const index = new Map(rows.map((row, at) => [row.id, at]));
65
+ const edges = source.db.prepare('SELECT parent_id, role, child_id FROM cave_edge ORDER BY rowid').all().flatMap(edge => {
66
+ const parent = index.get(edge.parent_id);
67
+ const child = index.get(edge.child_id);
68
+ return parent === undefined || child === undefined ? [] : [{ parent, role: edge.role, child }];
69
+ });
70
+ target.insertResult({
71
+ claims: rows.map(row => ({ claim: source.toClaim(row), line: 0 })),
72
+ edges,
73
+ registry: source.baseRegistry(),
74
+ problems: []
75
+ }, { ids: rows.map(row => row.id) });
76
+ target.reloadRegistry();
77
+ // Cached projections are shared across callbacks. Make their database
78
+ // representation immutable so an accidental write cannot taint later reads.
79
+ target.db.exec('PRAGMA query_only = ON');
80
+ return { revision, store: target, claims: rows.length, edges: edges.length, bytes: sizeOf(target) };
81
+ }
82
+ catch (error) {
83
+ target.close();
84
+ throw error;
85
+ }
86
+ });
87
+ const projectionOf = (source, maximum) => {
88
+ let cache = caches.get(source);
89
+ if (cache === undefined) {
90
+ cache = { projections: new Map(), hits: 0, builds: 0, invalidations: 0, retries: 0 };
91
+ caches.set(source, cache);
92
+ }
93
+ // An external writer can commit while a projection is being copied. Retry
94
+ // until the before/after revision agrees; continuous churn fails closed.
95
+ for (let attempt = 0; attempt < 4; attempt += 1) {
96
+ const before = revisionOf(source);
97
+ const existing = cache.projections.get(maximum);
98
+ if (existing?.revision === before) {
99
+ cache.hits += 1;
100
+ return existing.store;
35
101
  }
36
- finally {
37
- target.close();
102
+ const candidate = buildProjection(source, maximum, before);
103
+ if (revisionOf(source) !== before) {
104
+ candidate.store.close();
105
+ cache.retries += 1;
106
+ continue;
38
107
  }
39
- });
108
+ cache.builds += 1;
109
+ if (existing !== undefined)
110
+ cache.invalidations += 1;
111
+ cache.projections.set(maximum, candidate);
112
+ existing?.store.close();
113
+ return candidate.store;
114
+ }
115
+ throw new Error('CAVE view: source changed continuously while building a sensitivity projection');
40
116
  };
117
+ /**
118
+ * Runs `body` against rows at or below `maximum`. Restricted includes every
119
+ * row and uses the source directly. Narrower audiences share an immutable,
120
+ * indexed projection keyed by policy and source revision; appends invalidate
121
+ * it before the next read. Hidden rows and edges never enter that projection,
122
+ * preserving the fail-closed boundary for every downstream query.
123
+ */
124
+ export const withScopedStore = (source, maximum, body) => maximum === 'restricted' ? body(source) : body(projectionOf(source, maximum));
41
125
  //# sourceMappingURL=scope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/scope.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAGnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,MAAa,EAAE,OAA0B,EAAE,IAAyB,EAAK,EAAE;IAC5G,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QACpE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;;gBAErB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;OACtC,CAAC,CAAC,GAAG,EAAwB,CAAA;YAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1D,MAAM,KAAK,GAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,EAC1C,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACtC,OAAO,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAChG,CAAC,CAAC,CAAA;YACJ,MAAM,CAAC,YAAY,CAAC;gBAClB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;gBAClE,KAAK;gBACL,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE;gBAC/B,QAAQ,EAAE,EAAE;aACb,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACpC,MAAM,CAAC,cAAc,EAAE,CAAA;YACvB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAA;QAChB,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/scope.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAkBlD,MAAM,MAAM,GAAG,IAAI,OAAO,EAAgB,CAAA;AAc1C,MAAM,UAAU,GAA0B;IACxC,WAAW,EAAE,CAAC;IACd,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;CACf,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAa,EAAyB,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,UAAU,CAAA;IAC1C,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IACnD,OAAO;QACL,WAAW,EAAE,WAAW,CAAC,MAAM;QAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;KACpF,CAAA;AACH,CAAC,CAAA;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAa,EAAQ,EAAE;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAM;IAC/B,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE;QAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC7E,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IACzB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;AACvB,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,MAAa,EAAU,EAAE;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAuC,CAAA;IAChG,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAC1C,CAAA;IACpC,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,EAAE,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,KAAY,EAAU,EAAE;IACtC,MAAM,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAqC,CAAA;IAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAoC,CAAA;IAC7F,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CAAC,MAAa,EAAE,OAA0B,EAAE,QAAgB,EAAc,EAAE,CAClG,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IACxF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;;gBAErB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;OACtC,CAAC,CAAC,GAAG,EAAwB,CAAA;QAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAI,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,gEAAgE,CAAC,CAAC,GAAG,EAC1C,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtC,OAAO,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAChG,CAAC,CAAC,CAAA;QACJ,MAAM,CAAC,YAAY,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,KAAK;YACL,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE;YAC/B,QAAQ,EAAE,EAAE;SACb,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;QACpC,MAAM,CAAC,cAAc,EAAE,CAAA;QACvB,sEAAsE;QACtE,4EAA4E;QAC5E,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QACxC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAA;IACrG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,EAAE,CAAA;QACd,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,MAAM,YAAY,GAAG,CAAC,MAAa,EAAE,OAA0B,EAAS,EAAE;IACxE,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;QACpF,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC/C,IAAI,QAAQ,EAAE,QAAQ,KAAK,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAA;YACf,OAAO,QAAQ,CAAC,KAAK,CAAA;QACvB,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC1D,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;YAClC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;YACvB,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;QACjB,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,IAAI,CAAC,CAAA;QACpD,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACzC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;QACvB,OAAO,SAAS,CAAC,KAAK,CAAA;IACxB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;AACnG,CAAC,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,MAAa,EAAE,OAA0B,EAAE,IAAyB,EAAK,EAAE,CAC5G,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA"}
package/dist/src/cli.d.ts CHANGED
@@ -80,7 +80,9 @@ export declare const restoreCommand: (argv: readonly string[]) => Output;
80
80
  * candidates as suggested `ALIAS` claims for review. Async when the optional
81
81
  * judge runs a shell agent.
82
82
  */
83
- export declare const suggestAliasCommand: (argv: readonly string[]) => Promise<Output>;
83
+ export declare const suggestAliasCommand: (argv: readonly string[], runtime?: {
84
+ readonly signal?: AbortSignal;
85
+ }) => Promise<Output>;
84
86
  /**
85
87
  * `cave sync` — store merge (spec §28): another store's rows arrive by
86
88
  * identity — a store file merges through SQL, `;@`-annotated canonical
@@ -104,7 +106,9 @@ export declare const generateCommand: (argv: readonly string[]) => Output;
104
106
  * default (the eval baseline), the LLM policy over a shell-agent template
105
107
  * with `--agent`. Async because the agent runs once per step.
106
108
  */
107
- export declare const reconstructCommand: (argv: readonly string[]) => Promise<Output>;
109
+ export declare const reconstructCommand: (argv: readonly string[], runtime?: {
110
+ readonly signal?: AbortSignal;
111
+ }) => Promise<Output>;
108
112
  export declare const demoCommand: () => Output;
109
113
  export declare const versionCommand: () => Output;
110
114
  /** `cave help [command]` — the overview, or one command's help text. */
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA8BH,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAA;AAyCD,eAAO,MAAM,KAAK,+rGAkCgC,CAAA;AAIlD,2FAA2F;AAC3F,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsjB9C,CAAA;AAyBD,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAyBtD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAM9E,CAAA;AAuED,eAAO,MAAM,UAAU,SA1CkC,SAAS,MAAM,EAAE,KAAG,MA0C/B,CAAA;AAE9C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,SAxD+B,SAAS,MAAM,EAAE,KAAG,MAwDzB,CAAA;AAEpD,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA2DtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA+CxD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAsHvD,CAAA;AA8CD,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAsFpD,CAAA;AAqCD,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA0BtD,CAAA;AASD,2EAA2E;AAC3E,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAqCvD,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA2BxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CA6DjF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAmDrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA+CvD,CAAA;AAoBD,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAsCvD,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAoCzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAgEhF,CAAA;AAED,eAAO,MAAM,WAAW,QAAO,MACS,CAAA;AAExC,eAAO,MAAM,cAAc,QAAO,MACJ,CAAA;AAE9B,wEAAwE;AACxE,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAcrD,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAqD9C,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AA8BH,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB,CAAA;AAyCD,eAAO,MAAM,KAAK,+rGAkCgC,CAAA;AAIlD,2FAA2F;AAC3F,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAujB9C,CAAA;AAyBD,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAyBtD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAM9E,CAAA;AAuED,eAAO,MAAM,UAAU,SA1CkC,SAAS,MAAM,EAAE,KAAG,MA0C/B,CAAA;AAE9C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,SAxD+B,SAAS,MAAM,EAAE,KAAG,MAwDzB,CAAA;AAEpD,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA2DtD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA+CxD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAsHvD,CAAA;AA8CD,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAsFpD,CAAA;AAqCD,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA0BtD,CAAA;AASD,2EAA2E;AAC3E,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAqCvD,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA2BxD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,MAAM,EAAE,EACvB,UAAS;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,KAC9C,OAAO,CAAC,MAAM,CAgEhB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAmDrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MA+CvD,CAAA;AAoBD,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAsCvD,CAAA;AAED,2EAA2E;AAC3E,eAAO,MAAM,eAAe,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAoCzD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,SAAS,MAAM,EAAE,EACvB,UAAS;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,KAC9C,OAAO,CAAC,MAAM,CAmEhB,CAAA;AAED,eAAO,MAAM,WAAW,QAAO,MACS,CAAA;AAExC,eAAO,MAAM,cAAc,QAAO,MACJ,CAAA;AAE9B,wEAAwE;AACxE,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAcrD,CAAA;AAED,iCAAiC;AACjC,eAAO,MAAM,IAAI,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAqD9C,CAAA"}
package/dist/src/cli.js CHANGED
@@ -344,7 +344,8 @@ Options:
344
344
  rolled back
345
345
  --aliases preconditions match through the alias closure (spec §13.6)
346
346
  --hooks <file> JSON file of out-of-band hook command templates,
347
- name → shell template (spec §25.4); default: $CAVE_HOOKS
347
+ name → shell template (spec §25.4); /bin/sh on POSIX,
348
+ PowerShell 7 (pwsh) on Windows; default: $CAVE_HOOKS
348
349
  --declare declare the actions of CAVE documents (stdin when no
349
350
  file); other lines are prelude, ingested first
350
351
  --list print the store's current actions and exit
@@ -1311,7 +1312,7 @@ export const restoreCommand = (argv) => {
1311
1312
  * candidates as suggested `ALIAS` claims for review. Async when the optional
1312
1313
  * judge runs a shell agent.
1313
1314
  */
1314
- export const suggestAliasCommand = async (argv) => {
1315
+ export const suggestAliasCommand = async (argv, runtime = {}) => {
1315
1316
  try {
1316
1317
  const { values } = parseArgs({
1317
1318
  args: [...argv],
@@ -1349,7 +1350,10 @@ export const suggestAliasCommand = async (argv) => {
1349
1350
  try {
1350
1351
  let suggestions = suggestAliases(store, { minScore, ...limit === undefined ? {} : { limit } });
1351
1352
  if (values.agent !== undefined && suggestions.length > 0) {
1352
- const reply = await shellComplete(values.agent, timeoutSeconds === undefined ? {} : { timeoutSeconds })(judgePrompt(store, suggestions));
1353
+ const reply = await shellComplete(values.agent, {
1354
+ ...timeoutSeconds === undefined ? {} : { timeoutSeconds },
1355
+ ...runtime.signal === undefined ? {} : { signal: runtime.signal }
1356
+ })(judgePrompt(store, suggestions));
1353
1357
  suggestions = parseJudgeReply(reply, suggestions.length).map(index => suggestions[index]);
1354
1358
  }
1355
1359
  if (values.json === true) {
@@ -1594,7 +1598,7 @@ export const generateCommand = (argv) => {
1594
1598
  * default (the eval baseline), the LLM policy over a shell-agent template
1595
1599
  * with `--agent`. Async because the agent runs once per step.
1596
1600
  */
1597
- export const reconstructCommand = async (argv) => {
1601
+ export const reconstructCommand = async (argv, runtime = {}) => {
1598
1602
  try {
1599
1603
  const { values, positionals } = parseArgs({
1600
1604
  args: [...argv],
@@ -1637,7 +1641,10 @@ export const reconstructCommand = async (argv) => {
1637
1641
  const graph = sqliteStore(store);
1638
1642
  const result = values.agent === undefined ?
1639
1643
  reconstruct(graph, heuristicPolicy(budgets), positionals) :
1640
- await reconstructAsync(graph, llmPolicy(shellComplete(values.agent, timeoutSeconds === undefined ? {} : { timeoutSeconds }), { ...values.query === undefined ? {} : { query: values.query }, ...budgets }), positionals);
1644
+ await reconstructAsync(graph, llmPolicy(shellComplete(values.agent, {
1645
+ ...timeoutSeconds === undefined ? {} : { timeoutSeconds },
1646
+ ...runtime.signal === undefined ? {} : { signal: runtime.signal }
1647
+ }), { ...values.query === undefined ? {} : { query: values.query }, ...budgets }), positionals);
1641
1648
  const lines = [
1642
1649
  ...values.trace === true ?
1643
1650
  result.trace.map(step => `; ${step.step}. ${step.cue.entity} @ ${step.cue.score.toFixed(2)} +${step.collected} claim(s)`) :