@dzhechkov/harness-core 0.7.12 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dz-manifest.json +210 -70
- package/README.md +34 -1
- package/dist/book-kb.d.ts.map +1 -1
- package/dist/book-kb.js +17 -0
- package/dist/book-kb.js.map +1 -1
- package/dist/feature-adr-checkpoints.d.ts +61 -0
- package/dist/feature-adr-checkpoints.d.ts.map +1 -1
- package/dist/feature-adr-checkpoints.js +116 -2
- package/dist/feature-adr-checkpoints.js.map +1 -1
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/loop-blobs.generated.js +2 -2
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/mutation-gate.d.ts +31 -8
- package/dist/mutation-gate.d.ts.map +1 -1
- package/dist/mutation-gate.js +57 -16
- package/dist/mutation-gate.js.map +1 -1
- package/dist/named-lock.d.ts.map +1 -1
- package/dist/named-lock.js +11 -9
- package/dist/named-lock.js.map +1 -1
- package/dist/native-dep-probe.d.ts +11 -0
- package/dist/native-dep-probe.d.ts.map +1 -0
- package/dist/native-dep-probe.js +100 -0
- package/dist/native-dep-probe.js.map +1 -0
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +82 -1
- package/dist/operations.js.map +1 -1
- package/dist/parser-safe-region.d.ts +47 -0
- package/dist/parser-safe-region.d.ts.map +1 -0
- package/dist/parser-safe-region.js +47 -0
- package/dist/parser-safe-region.js.map +1 -0
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +10 -1
- package/dist/patterns.js.map +1 -1
- package/dist/profile.d.ts +202 -0
- package/dist/profile.d.ts.map +1 -0
- package/dist/profile.js +536 -0
- package/dist/profile.js.map +1 -0
- package/dist/publish.d.ts +5 -3
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +46 -8
- package/dist/publish.js.map +1 -1
- package/dist/qe-rounds.d.ts +75 -0
- package/dist/qe-rounds.d.ts.map +1 -0
- package/dist/qe-rounds.js +174 -0
- package/dist/qe-rounds.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +5 -1
- package/dist/registry.js.map +1 -1
- package/dist/run-records.d.ts.map +1 -1
- package/dist/run-records.js +8 -1
- package/dist/run-records.js.map +1 -1
- package/dist/setup.d.ts +35 -4
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +86 -23
- package/dist/setup.js.map +1 -1
- package/dist/sign.d.ts +29 -24
- package/dist/sign.d.ts.map +1 -1
- package/dist/sign.js +183 -61
- package/dist/sign.js.map +1 -1
- package/dist/store-location.d.ts +56 -0
- package/dist/store-location.d.ts.map +1 -0
- package/dist/store-location.js +56 -0
- package/dist/store-location.js.map +1 -0
- package/dist/store-lock.d.ts +1 -0
- package/dist/store-lock.d.ts.map +1 -1
- package/dist/store-lock.js +7 -1
- package/dist/store-lock.js.map +1 -1
- package/dist/store-merge.d.ts +55 -0
- package/dist/store-merge.d.ts.map +1 -0
- package/dist/store-merge.js +77 -0
- package/dist/store-merge.js.map +1 -0
- package/dist/teach-target.d.ts +61 -0
- package/dist/teach-target.d.ts.map +1 -0
- package/dist/teach-target.js +105 -0
- package/dist/teach-target.js.map +1 -0
- package/dist/vector-tier.d.ts.map +1 -1
- package/dist/vector-tier.js +63 -20
- package/dist/vector-tier.js.map +1 -1
- package/package.json +13 -13
- package/sbom.json +424 -70
- package/src/book-kb.ts +17 -0
- package/src/feature-adr-checkpoints.ts +111 -2
- package/src/index.ts +39 -1
- package/src/loop-blobs.generated.ts +2 -2
- package/src/mutation-gate.ts +74 -17
- package/src/named-lock.ts +10 -8
- package/src/native-dep-probe.ts +118 -0
- package/src/operations.ts +77 -1
- package/src/parser-safe-region.ts +65 -0
- package/src/patterns.ts +10 -1
- package/src/profile.ts +593 -0
- package/src/publish.ts +43 -7
- package/src/qe-rounds.ts +226 -0
- package/src/registry.ts +5 -1
- package/src/run-records.ts +9 -1
- package/src/setup.ts +87 -23
- package/src/sign.ts +180 -60
- package/src/store-location.ts +76 -0
- package/src/store-lock.ts +8 -1
- package/src/store-merge.ts +91 -0
- package/src/teach-target.ts +126 -0
- package/src/vector-tier.ts +58 -9
package/dist/setup.d.ts
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* 1. Skills installation (via init)
|
|
7
7
|
* 2. Claude Code session hooks (start/end) — with `--memory agentdb`, a real vector-store
|
|
8
8
|
* write via `.dz/agentdb-writer.mjs`; otherwise a `.dz/sessions.jsonl` marker
|
|
9
|
-
* 3. Memory store: `.dz/agentdb.db` (agentdb
|
|
9
|
+
* 3. Memory store: `.dz/agentdb.db` (agentdb — the session-hook writer's OWN file; the agentdb
|
|
10
|
+
* MCP server gets a SEPARATE `.dz/agentdb-mcp.db` via AGENTDB_PATH, never this one)
|
|
10
11
|
* or `.dz/sessions.jsonl` + `.dz/patterns.jsonl` (jsonl default)
|
|
11
12
|
* 4. Pretrain (project analysis → auto-recommend)
|
|
12
13
|
*
|
|
@@ -42,19 +43,49 @@ export interface SetupStep {
|
|
|
42
43
|
readonly status: 'done' | 'skipped' | 'error';
|
|
43
44
|
readonly detail: string;
|
|
44
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* Absolute path to the store the generated session-hook writer opens NATIVELY (better-sqlite3).
|
|
48
|
+
* It is the writer's own file: the agentdb MCP server must never be pointed at it — see
|
|
49
|
+
* {@link agentdbMcpStorePath}.
|
|
50
|
+
*/
|
|
51
|
+
export declare function agentdbStorePath(projectRoot: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Absolute path to the agentdb MCP server's OWN store — never the hook writer's
|
|
54
|
+
* (ADR-001 `agentdb-setup-shared-store-fix`, 2026-08-26).
|
|
55
|
+
*
|
|
56
|
+
* WHY two files: a single SQLite file opened by two different engines is a measured data-loss
|
|
57
|
+
* path. `agentdb` falls back to sql.js when better-sqlite3 has no usable binary (no prebuild for
|
|
58
|
+
* Node 24+/ABI 137, no binary in the npm tarball) — and sql.js persists by rewriting the WHOLE
|
|
59
|
+
* file from its in-memory image, discarding whatever the native writer committed meanwhile.
|
|
60
|
+
* MEASURED in this repo 2026-07-09 (commits 1d47a916 / 9ede3fb5): of 20 samples, 5 were zero
|
|
61
|
+
* bytes and 4 were torn. The cure is separation, not a lock: a lock cannot bind a third-party
|
|
62
|
+
* `npx` process, and sql.js ignores SQLite locking outright.
|
|
63
|
+
*/
|
|
64
|
+
export declare function agentdbMcpStorePath(projectRoot: string): string;
|
|
65
|
+
/**
|
|
66
|
+
* The ONE separation predicate — used by both printers (`runSetup`'s `agentdb wiring` step and
|
|
67
|
+
* `runDoctor`'s `agentdb store separation` check), so a surface can never drift into its own
|
|
68
|
+
* copied comparison.
|
|
69
|
+
*
|
|
70
|
+
* @param projectRoot the project whose `.mcp.json` was read
|
|
71
|
+
* @param pinned the observed `mcpServers.agentdb.env.AGENTDB_PATH` (`undefined` when absent)
|
|
72
|
+
* @returns `null` when the registration is correctly separated, else the WHY message
|
|
73
|
+
*/
|
|
74
|
+
export declare function agentdbStoreSeparationProblem(projectRoot: string, pinned: string | undefined): string | null;
|
|
45
75
|
/**
|
|
46
76
|
* Version of the generated `.dz/agentdb-writer.mjs`. Bump on ANY change to
|
|
47
77
|
* {@link generateAgentdbWriter}'s output — setup regenerates deployed writers whose
|
|
48
78
|
* `dz-writer-version` stamp is older, WITHOUT requiring `--force` (audit gap G4: generated code
|
|
49
79
|
* must not fossilize outside the package lifecycle).
|
|
50
80
|
*/
|
|
51
|
-
export declare const AGENTDB_WRITER_VERSION =
|
|
81
|
+
export declare const AGENTDB_WRITER_VERSION = 5;
|
|
52
82
|
/**
|
|
53
83
|
* Generate the `.dz/agentdb-writer.mjs` helper invoked by the session hooks.
|
|
54
84
|
*
|
|
55
85
|
* v2 (ADR-002, audit gaps G3 + code#1 + code#4): session markers are **metadata-only telemetry** —
|
|
56
|
-
* a plain row in the `dz_session_events` table inside the
|
|
57
|
-
* server is pinned to
|
|
86
|
+
* a plain row in the `dz_session_events` table inside the writer's OWN `.dz/agentdb.db` (v5: the
|
|
87
|
+
* MCP server is pinned to a SEPARATE `.dz/agentdb-mcp.db`). No embedding, no model load, no
|
|
88
|
+
* `successRate`:
|
|
58
89
|
* - ~ms latency (v1 loaded a ~90 MB transformers model → 12 s cold-timeout losing the marker);
|
|
59
90
|
* - zero pollution of the HNSW index real learnings live in (those enter via `agentdb_*` MCP tools);
|
|
60
91
|
* - uses better-sqlite3 DIRECTLY (WAL + busy_timeout) — if it is unavailable the writer falls back
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,2BAA2B;AAC3B,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhD,qBAAqB;AACrB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9C;AAED,oBAAoB;AACpB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAY5G;AAWD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA+FjE;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,kEAAkE;AAClE;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAInD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,CAwCvF;AAmOD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,CA4QxD"}
|
package/dist/setup.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* 1. Skills installation (via init)
|
|
7
7
|
* 2. Claude Code session hooks (start/end) — with `--memory agentdb`, a real vector-store
|
|
8
8
|
* write via `.dz/agentdb-writer.mjs`; otherwise a `.dz/sessions.jsonl` marker
|
|
9
|
-
* 3. Memory store: `.dz/agentdb.db` (agentdb
|
|
9
|
+
* 3. Memory store: `.dz/agentdb.db` (agentdb — the session-hook writer's OWN file; the agentdb
|
|
10
|
+
* MCP server gets a SEPARATE `.dz/agentdb-mcp.db` via AGENTDB_PATH, never this one)
|
|
10
11
|
* or `.dz/sessions.jsonl` + `.dz/patterns.jsonl` (jsonl default)
|
|
11
12
|
* 4. Pretrain (project analysis → auto-recommend)
|
|
12
13
|
*
|
|
@@ -18,10 +19,51 @@ import { existsSync, mkdirSync, writeFileSync, readFileSync, rmSync } from 'node
|
|
|
18
19
|
import { join } from 'node:path';
|
|
19
20
|
import { execSync } from 'node:child_process';
|
|
20
21
|
import { mergeManagedHookEntries } from './managed-hooks.js';
|
|
21
|
-
/**
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Absolute path to the store the generated session-hook writer opens NATIVELY (better-sqlite3).
|
|
24
|
+
* It is the writer's own file: the agentdb MCP server must never be pointed at it — see
|
|
25
|
+
* {@link agentdbMcpStorePath}.
|
|
26
|
+
*/
|
|
27
|
+
export function agentdbStorePath(projectRoot) {
|
|
23
28
|
return join(projectRoot, '.dz', 'agentdb.db');
|
|
24
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Absolute path to the agentdb MCP server's OWN store — never the hook writer's
|
|
32
|
+
* (ADR-001 `agentdb-setup-shared-store-fix`, 2026-08-26).
|
|
33
|
+
*
|
|
34
|
+
* WHY two files: a single SQLite file opened by two different engines is a measured data-loss
|
|
35
|
+
* path. `agentdb` falls back to sql.js when better-sqlite3 has no usable binary (no prebuild for
|
|
36
|
+
* Node 24+/ABI 137, no binary in the npm tarball) — and sql.js persists by rewriting the WHOLE
|
|
37
|
+
* file from its in-memory image, discarding whatever the native writer committed meanwhile.
|
|
38
|
+
* MEASURED in this repo 2026-07-09 (commits 1d47a916 / 9ede3fb5): of 20 samples, 5 were zero
|
|
39
|
+
* bytes and 4 were torn. The cure is separation, not a lock: a lock cannot bind a third-party
|
|
40
|
+
* `npx` process, and sql.js ignores SQLite locking outright.
|
|
41
|
+
*/
|
|
42
|
+
export function agentdbMcpStorePath(projectRoot) {
|
|
43
|
+
return join(projectRoot, '.dz', 'agentdb-mcp.db');
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The ONE separation predicate — used by both printers (`runSetup`'s `agentdb wiring` step and
|
|
47
|
+
* `runDoctor`'s `agentdb store separation` check), so a surface can never drift into its own
|
|
48
|
+
* copied comparison.
|
|
49
|
+
*
|
|
50
|
+
* @param projectRoot the project whose `.mcp.json` was read
|
|
51
|
+
* @param pinned the observed `mcpServers.agentdb.env.AGENTDB_PATH` (`undefined` when absent)
|
|
52
|
+
* @returns `null` when the registration is correctly separated, else the WHY message
|
|
53
|
+
*/
|
|
54
|
+
export function agentdbStoreSeparationProblem(projectRoot, pinned) {
|
|
55
|
+
if (pinned === agentdbStorePath(projectRoot)) {
|
|
56
|
+
return 'SHARED STORE — .mcp.json pins the agentdb MCP server at the same file the session-hook '
|
|
57
|
+
+ 'writer opens (.dz/agentdb.db). Two engines on one SQLite file: an agentdb server that '
|
|
58
|
+
+ 'falls back to sql.js rewrites the WHOLE file and discards the writer\'s pages. Measured '
|
|
59
|
+
+ '2026-07-09: 5 of 20 samples zero bytes, 4 torn. Re-run `dz setup --memory agentdb` to '
|
|
60
|
+
+ 'repoint the server at .dz/agentdb-mcp.db.';
|
|
61
|
+
}
|
|
62
|
+
if (pinned !== agentdbMcpStorePath(projectRoot)) {
|
|
63
|
+
return '.mcp.json agentdb missing or not pinned to the MCP store (.dz/agentdb-mcp.db)';
|
|
64
|
+
}
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
25
67
|
/**
|
|
26
68
|
* Absolute path to the throttle marker holding the epoch-ms timestamp of the last consolidate the
|
|
27
69
|
* writer spawned. Read before every SessionEnd/PreCompact consolidate: within THROTTLE_MS the spawn
|
|
@@ -36,13 +78,14 @@ function consolidateMarkerPath(projectRoot) {
|
|
|
36
78
|
* `dz-writer-version` stamp is older, WITHOUT requiring `--force` (audit gap G4: generated code
|
|
37
79
|
* must not fossilize outside the package lifecycle).
|
|
38
80
|
*/
|
|
39
|
-
export const AGENTDB_WRITER_VERSION =
|
|
81
|
+
export const AGENTDB_WRITER_VERSION = 5;
|
|
40
82
|
/**
|
|
41
83
|
* Generate the `.dz/agentdb-writer.mjs` helper invoked by the session hooks.
|
|
42
84
|
*
|
|
43
85
|
* v2 (ADR-002, audit gaps G3 + code#1 + code#4): session markers are **metadata-only telemetry** —
|
|
44
|
-
* a plain row in the `dz_session_events` table inside the
|
|
45
|
-
* server is pinned to
|
|
86
|
+
* a plain row in the `dz_session_events` table inside the writer's OWN `.dz/agentdb.db` (v5: the
|
|
87
|
+
* MCP server is pinned to a SEPARATE `.dz/agentdb-mcp.db`). No embedding, no model load, no
|
|
88
|
+
* `successRate`:
|
|
46
89
|
* - ~ms latency (v1 loaded a ~90 MB transformers model → 12 s cold-timeout losing the marker);
|
|
47
90
|
* - zero pollution of the HNSW index real learnings live in (those enter via `agentdb_*` MCP tools);
|
|
48
91
|
* - uses better-sqlite3 DIRECTLY (WAL + busy_timeout) — if it is unavailable the writer falls back
|
|
@@ -60,9 +103,11 @@ export function generateAgentdbWriter(projectRoot) {
|
|
|
60
103
|
// dz-writer-version: ${AGENTDB_WRITER_VERSION}
|
|
61
104
|
// Auto-generated by \`dz setup --memory agentdb\`. Do not edit — re-run \`dz setup\` to upgrade
|
|
62
105
|
// (setup regenerates automatically when this version stamp is outdated; --force not required).
|
|
63
|
-
// Writes a metadata-only session-event row into the
|
|
64
|
-
//
|
|
65
|
-
//
|
|
106
|
+
// Writes a metadata-only session-event row into the writer's OWN AgentDB store (.dz/agentdb.db).
|
|
107
|
+
// This file is NEVER shared with the agentdb MCP server — that server has its own
|
|
108
|
+
// .dz/agentdb-mcp.db, because two engines on one SQLite file is a measured corruption path
|
|
109
|
+
// (2026-07-09: 5 of 20 samples zero bytes, 4 torn). Real learnings go into the vector index via
|
|
110
|
+
// the agentdb_* MCP tools; this is deliberately non-semantic telemetry.
|
|
66
111
|
// On SessionEnd AND PreCompact it ALSO fires a detached \`dz consolidate\` (Option C, ADR-003):
|
|
67
112
|
// harvest this session's learnings into the lexical store and mirror them — with real embeddings —
|
|
68
113
|
// into the shared AgentDB vector index. PreCompact is the RELIABLE periodic trigger: it fires on
|
|
@@ -79,7 +124,13 @@ import { spawn } from 'node:child_process';
|
|
|
79
124
|
const arg = process.argv[2];
|
|
80
125
|
const event = arg === 'end' ? 'end' : arg === 'precompact' ? 'precompact' : 'start';
|
|
81
126
|
const ts = new Date().toISOString();
|
|
82
|
-
|
|
127
|
+
// PINNED, deliberately NOT read from the ambient environment. Honouring an ambient store path re-opened the
|
|
128
|
+
// exact hole this feature closes: export AGENTDB_PATH=.dz/agentdb-mcp.db and the writer and the MCP
|
|
129
|
+
// server share ONE file again — two engines, one database — while the separation invariant still
|
|
130
|
+
// reports PASS, because it inspects the registration and not the writer's runtime resolution.
|
|
131
|
+
// Found by cross-family QE (Codex gpt-5.6-sol) against the first version of this fix. A store that
|
|
132
|
+
// needs to move is a REGENERATION (\`dz setup --memory agentdb\`), never an env override.
|
|
133
|
+
const DB = ${JSON.stringify(dbPath)};
|
|
83
134
|
const SESSIONS = ${JSON.stringify(sessionsPath)};
|
|
84
135
|
const ROOT = ${JSON.stringify(projectRoot)};
|
|
85
136
|
const CONSOLIDATE_MARKER = ${JSON.stringify(markerPath)};
|
|
@@ -96,7 +147,7 @@ function fallback(err) {
|
|
|
96
147
|
|
|
97
148
|
try {
|
|
98
149
|
// Native better-sqlite3 ONLY (prebuilt; synchronous; WAL). Never the sql.js fallback — its
|
|
99
|
-
// whole-file-in-memory persistence is
|
|
150
|
+
// whole-file-in-memory persistence is the mechanism that corrupted a shared store.
|
|
100
151
|
// Records start/end AND the lightweight precompact row via the SAME insert path.
|
|
101
152
|
const { default: Database } = await import('better-sqlite3');
|
|
102
153
|
const db = new Database(DB);
|
|
@@ -219,16 +270,18 @@ function generateDzConfig(target, preset, backend) {
|
|
|
219
270
|
},
|
|
220
271
|
memory: {
|
|
221
272
|
backend,
|
|
222
|
-
// agentdb: the native SQLite vector store
|
|
223
|
-
//
|
|
273
|
+
// agentdb: the native SQLite vector store the session-hook writer opens. The agentdb MCP
|
|
274
|
+
// server is pinned (via AGENTDB_PATH) to a SEPARATE file — see `mcpStorePath` below.
|
|
224
275
|
path: backend === 'agentdb' ? '.dz/agentdb.db' : '.dz/sessions.jsonl',
|
|
225
276
|
maxSizeMb: backend === 'agentdb' ? 100 : 10,
|
|
226
277
|
agentdb: backend === 'agentdb' ? {
|
|
227
278
|
learning: true,
|
|
228
279
|
vectorDim: 384,
|
|
229
280
|
mcpServer: 'agentdb',
|
|
230
|
-
//
|
|
281
|
+
// The hook writer's own file. The MCP server gets `mcpStorePath` (env AGENTDB_PATH) —
|
|
282
|
+
// the two are deliberately different files (ADR-001, 2026-08-26).
|
|
231
283
|
storePath: '.dz/agentdb.db',
|
|
284
|
+
mcpStorePath: '.dz/agentdb-mcp.db',
|
|
232
285
|
embeddingModel: 'Xenova/paraphrase-multilingual-MiniLM-L12-v2',
|
|
233
286
|
sessionHookWrites: true,
|
|
234
287
|
} : undefined,
|
|
@@ -563,9 +616,10 @@ export function runSetup(opts) {
|
|
|
563
616
|
// Pin to the INSTALLED agentdb version (not @latest) so the MCP server and the hook
|
|
564
617
|
// writer run the same alpha schema against one DB.
|
|
565
618
|
args: [installedAgentdbSpec(opts.projectRoot), 'mcp', 'start'],
|
|
566
|
-
// Pin the
|
|
567
|
-
//
|
|
568
|
-
|
|
619
|
+
// Pin the server to its OWN store — NEVER the writer's .dz/agentdb.db. Two engines on one
|
|
620
|
+
// SQLite file (native better-sqlite3 + a silent sql.js fallback) whole-file-rewrite each
|
|
621
|
+
// other: measured 2026-07-09, 5 of 20 samples zero bytes and 4 torn (ADR-001, 2026-08-26).
|
|
622
|
+
env: { AGENTDB_PATH: agentdbMcpStorePath(opts.projectRoot) },
|
|
569
623
|
};
|
|
570
624
|
const mcpConfigPath = join(opts.projectRoot, '.mcp.json');
|
|
571
625
|
try {
|
|
@@ -578,7 +632,13 @@ export function runSetup(opts) {
|
|
|
578
632
|
mcpConfig.mcpServers = servers;
|
|
579
633
|
if (before !== JSON.stringify(agentdbEntry)) {
|
|
580
634
|
writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2));
|
|
581
|
-
steps.push({
|
|
635
|
+
steps.push({
|
|
636
|
+
name: 'Register agentdb MCP',
|
|
637
|
+
status: 'done',
|
|
638
|
+
// No tool count: a hardcoded number is a lie waiting to age (the live server answered
|
|
639
|
+
// 35 while its own banner said 32 and the README said 41 — measured 2026-08-26).
|
|
640
|
+
detail: `.mcp.json: ${installedAgentdbSpec(opts.projectRoot)} → .dz/agentdb-mcp.db (own store; hooks keep .dz/agentdb.db)`,
|
|
641
|
+
});
|
|
582
642
|
}
|
|
583
643
|
else {
|
|
584
644
|
steps.push({ name: 'Register agentdb MCP', status: 'skipped', detail: 'already registered and current' });
|
|
@@ -625,15 +685,16 @@ export function runSetup(opts) {
|
|
|
625
685
|
}
|
|
626
686
|
try {
|
|
627
687
|
const mcp = JSON.parse(readFileSync(join(opts.projectRoot, '.mcp.json'), 'utf-8'));
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
688
|
+
// Separation is the REQUIRED state; a shared store is the error (inverted 2026-08-26).
|
|
689
|
+
const sep = agentdbStoreSeparationProblem(opts.projectRoot, mcp.mcpServers?.['agentdb']?.env?.['AGENTDB_PATH']);
|
|
690
|
+
if (sep)
|
|
691
|
+
problems.push(sep);
|
|
631
692
|
}
|
|
632
693
|
catch {
|
|
633
694
|
problems.push('.mcp.json unreadable');
|
|
634
695
|
}
|
|
635
696
|
steps.push(problems.length === 0
|
|
636
|
-
? { name: 'agentdb wiring', status: 'done', detail: 'hooks → writer → .dz/agentdb.db
|
|
697
|
+
? { name: 'agentdb wiring', status: 'done', detail: 'hooks → writer → .dz/agentdb.db · MCP → .dz/agentdb-mcp.db (separate stores, by design)' }
|
|
637
698
|
: { name: 'agentdb wiring', status: 'error', detail: `INCOMPLETE: ${problems.join('; ')}` });
|
|
638
699
|
}
|
|
639
700
|
// Step 6: Update .gitignore. Append only the ENTRIES that are actually missing — a single
|
|
@@ -641,7 +702,9 @@ export function runSetup(opts) {
|
|
|
641
702
|
// on the documented jsonl→agentdb `--force` switch, leaking the binary store into git.
|
|
642
703
|
const gitignorePath = join(opts.projectRoot, '.gitignore');
|
|
643
704
|
const dzIgnoreLines = backend === 'agentdb'
|
|
644
|
-
? ['.dz/agentdb.db', '.dz/agentdb.db-wal', '.dz/agentdb.db-shm',
|
|
705
|
+
? ['.dz/agentdb.db', '.dz/agentdb.db-wal', '.dz/agentdb.db-shm',
|
|
706
|
+
'.dz/agentdb-mcp.db', '.dz/agentdb-mcp.db-wal', '.dz/agentdb-mcp.db-shm',
|
|
707
|
+
'.dz/sessions.jsonl']
|
|
645
708
|
: ['.dz/sessions.jsonl', '.dz/patterns.jsonl'];
|
|
646
709
|
const existing = existsSync(gitignorePath) ? readFileSync(gitignorePath, 'utf-8') : '';
|
|
647
710
|
const missing = dzIgnoreLines.filter((line) => !existing.split(/\r?\n/).includes(line));
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/sign.d.ts
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const MANIFEST_NAME = ".dz-manifest.json";
|
|
15
15
|
export declare const SBOM_NAME = "sbom.json";
|
|
16
|
-
|
|
16
|
+
/** v3 preserves order-sensitive package.json condition maps while canonicalising packer noise. */
|
|
17
|
+
export declare const MANIFEST_VERSION = 3;
|
|
17
18
|
export interface ManifestEntry {
|
|
18
19
|
readonly path: string;
|
|
19
20
|
readonly sha256: string;
|
|
@@ -36,14 +37,20 @@ export interface VerifyResult {
|
|
|
36
37
|
readonly ok: boolean;
|
|
37
38
|
readonly failures: readonly VerifyFailure[];
|
|
38
39
|
}
|
|
40
|
+
/** CycloneDX 1.5 JSON for current output. Canonical JSON digests are always explicitly labelled. */
|
|
41
|
+
export declare function buildSbom(manifest: Manifest): Sbom;
|
|
39
42
|
/**
|
|
40
43
|
* Hash the bytes of one pack file. A packer-rewritten file is hashed canonically; everything else
|
|
41
|
-
* byte-for-byte. Unparseable
|
|
42
|
-
*
|
|
44
|
+
* byte-for-byte. Unparseable, ambiguous, or precision-losing root `package.json` bytes are refused:
|
|
45
|
+
* a current/v3 signer must never emit a raw digest under a canonical-digest SBOM label.
|
|
46
|
+
*/
|
|
47
|
+
export declare function hashPackBytes(relPath: string, bytes: Buffer, manifestVersion?: number): string;
|
|
48
|
+
/**
|
|
49
|
+
* sha256 of a file's bytes, hex. Follows symlinks — used only when building a manifest we control.
|
|
50
|
+
* Canonical pack rewriting is opt-in through the explicit root-relative path. Omitting `relPath`
|
|
51
|
+
* hashes raw bytes, so an unrelated nested file merely named `package.json` is never relaxed.
|
|
43
52
|
*/
|
|
44
|
-
export declare function
|
|
45
|
-
/** sha256 of a file's bytes, hex. Follows symlinks — used only when building a manifest we control. */
|
|
46
|
-
export declare function hashFile(absPath: string, relPath?: string): string;
|
|
53
|
+
export declare function hashFile(absPath: string, relPath?: string, manifestVersion?: number): string;
|
|
47
54
|
/**
|
|
48
55
|
* Round-2 review (codex exec): `lstat` then `readFile` is a TOCTOU window — the path can be swapped
|
|
49
56
|
* for a symlink between the two calls. Open ONCE with `O_NOFOLLOW`, `fstat` the descriptor, and read
|
|
@@ -51,7 +58,9 @@ export declare function hashFile(absPath: string, relPath?: string): string;
|
|
|
51
58
|
*
|
|
52
59
|
* Returns `null` when the path is not a regular file, or is a symlink.
|
|
53
60
|
*/
|
|
54
|
-
export declare function hashRegularFileNoFollow(absPath: string, relPath?: string): string | null;
|
|
61
|
+
export declare function hashRegularFileNoFollow(absPath: string, relPath?: string, manifestVersion?: number): string | null;
|
|
62
|
+
/** Read one regular file through the same no-follow descriptor used by hashing. */
|
|
63
|
+
export declare function readRegularFileNoFollow(absPath: string, expectedLength?: number | readonly number[]): Buffer | null;
|
|
55
64
|
export declare function isSafeManifestPath(p: unknown): p is string;
|
|
56
65
|
/** Returns an error message, or `null` when the entry list is structurally sound. */
|
|
57
66
|
export declare function checkManifestEntries(files: unknown): string | null;
|
|
@@ -102,20 +111,7 @@ export declare function signManifest(manifest: Manifest, privateKeyPem: string):
|
|
|
102
111
|
* silently allow an unsigned `evil.js` to sit in the pack. A safety option that a caller may disable
|
|
103
112
|
* is not a safety option. The pack is always scanned.
|
|
104
113
|
*/
|
|
105
|
-
export declare function verifyManifest(root: string, signed: SignedManifest | null | undefined, pubKeyPem: string
|
|
106
|
-
/**
|
|
107
|
-
* The paths the pack actually SHIPS, when the caller can establish them (from `npm pack`). The
|
|
108
|
-
* added-file sweep is then scoped to those, because a working-tree file `files[]` excludes was
|
|
109
|
-
* never "added to the pack" — it simply is not part of it.
|
|
110
|
-
*
|
|
111
|
-
* Omit it and the sweep covers the whole tree, exactly as before. That is correct for the case that
|
|
112
|
-
* matters most: a consumer verifying an EXTRACTED tarball, where the tree IS the shipped set.
|
|
113
|
-
*
|
|
114
|
-
* This parameter exists because the signer and the sweep must never disagree about what a pack
|
|
115
|
-
* contains — the 10-false-TAMPERED lesson, recorded at `packFiles` and re-learned on 2026-08-21 the
|
|
116
|
-
* moment the signer started scoping and the sweep did not.
|
|
117
|
-
*/
|
|
118
|
-
shippedPaths?: readonly string[]): VerifyResult;
|
|
114
|
+
export declare function verifyManifest(root: string, signed: SignedManifest | null | undefined, pubKeyPem: string): VerifyResult;
|
|
119
115
|
/**
|
|
120
116
|
* FR-5, the one irreversible mistake. `.gitignore` covers `*.pem` and `*.key` and nothing else — a key
|
|
121
117
|
* written as `signing-key.json` would be committed without complaint. Refuse by location, not by name.
|
|
@@ -125,10 +121,16 @@ export declare function assertKeyOutsideTree(keyPath: string, repoRoot: string):
|
|
|
125
121
|
export interface SbomComponent {
|
|
126
122
|
readonly type: 'file';
|
|
127
123
|
readonly name: string;
|
|
128
|
-
|
|
124
|
+
/** Raw file-byte digests only. A canonical JSON verification digest must never masquerade here. */
|
|
125
|
+
readonly hashes?: readonly {
|
|
129
126
|
readonly alg: 'SHA-256';
|
|
130
127
|
readonly content: string;
|
|
131
128
|
}[];
|
|
129
|
+
/** Explicit verification-digest metadata for packer-rewritten JSON such as package.json. */
|
|
130
|
+
readonly properties?: readonly {
|
|
131
|
+
readonly name: string;
|
|
132
|
+
readonly value: string;
|
|
133
|
+
}[];
|
|
132
134
|
}
|
|
133
135
|
export interface Sbom {
|
|
134
136
|
readonly bomFormat: 'CycloneDX';
|
|
@@ -142,8 +144,11 @@ export interface Sbom {
|
|
|
142
144
|
};
|
|
143
145
|
readonly components: readonly SbomComponent[];
|
|
144
146
|
}
|
|
145
|
-
/**
|
|
146
|
-
|
|
147
|
+
/**
|
|
148
|
+
* ADR-003: SBOM authenticity is acyclic. The SBOM is not self-hashed; instead its sole canonical
|
|
149
|
+
* value is derived from the already signature-authenticated manifest and compared byte-for-byte.
|
|
150
|
+
*/
|
|
151
|
+
export declare function verifySbomAgainstManifest(root: string, manifest: Manifest): string | null;
|
|
147
152
|
export type PublishGateAction = 'block' | 'publish-unsigned' | 'publish-verified';
|
|
148
153
|
export interface PublishGateInput {
|
|
149
154
|
readonly trustRootPresent: boolean;
|
package/dist/sign.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../src/sign.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,eAAO,MAAM,aAAa,sBAAsB,CAAC;AACjD,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,kGAAkG;AAClG,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAGD,oGAAoG;AACpG,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAElD;AAwID;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,SAAmB,GAAG,MAAM,CAcxG;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,SAAmB,GAAG,MAAM,CAEtG;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,eAAe,SAAmB,GAAG,MAAM,GAAG,IAAI,CAa5H;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAenH;AAeD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAK1D;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAkBlE;AA8BD,+FAA+F;AAC/F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBpD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAc5D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,CAI5E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAG7D;AAED,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAM5F;AAED,gGAAgG;AAChG,MAAM,WAAW,cAAc;IAC7B,uGAAuG;IACvG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAMvD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,cAAc,CAWtF;AAED;;;;;GAKG;AACH;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACzC,SAAS,EAAE,MAAM,GAChB,YAAY,CAmEd;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWvE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAQ5E;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mGAAmG;IACnG,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnF,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpF;AAED,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,SAAS,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;YAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC/F,QAAQ,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,CAAC;CAC/C;AA4BD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAkBzF;AAaD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAElF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,CAuB9E;AAOD,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,CAAC;AAEjG,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,mDAAmD;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAKzE;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,GAAG,cAAc,CAqBhG"}
|