@claude-flow/cli 3.13.0 → 3.13.1
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/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +47 -6
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/memory/graph-edge-writer.d.ts +37 -9
- package/dist/src/memory/graph-edge-writer.d.ts.map +1 -1
- package/dist/src/memory/graph-edge-writer.js +76 -75
- package/dist/src/memory/graph-edge-writer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAiC,MAAM,aAAa,CAAC;AAu6B1E,eAAO,MAAM,aAAa,EAAE,OAgN3B,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -547,14 +547,41 @@ async function checkVersionFreshness() {
|
|
|
547
547
|
* - plugins/ruflo-metaharness/skills/harness-drift-from-history/SKILL.md (iter 53)
|
|
548
548
|
*/
|
|
549
549
|
async function checkMetaharnessIntegration() {
|
|
550
|
-
// Locate plugins dir
|
|
551
|
-
//
|
|
550
|
+
// Locate plugins dir.
|
|
551
|
+
//
|
|
552
|
+
// Pre-#2437 fix this only walked up from `process.cwd()` + checked one
|
|
553
|
+
// hard-coded `<cwd>/node_modules/@claude-flow/cli/...` candidate. That
|
|
554
|
+
// missed the two cases users actually run from:
|
|
555
|
+
// (a) `npx @claude-flow/cli@<tag>` → resolves to a per-version cache
|
|
556
|
+
// under `~/.npm/_npx/<hash>/node_modules/@claude-flow/cli/...`
|
|
557
|
+
// (b) `npm install -g @claude-flow/cli` → lives at
|
|
558
|
+
// `$(npm prefix -g)/lib/node_modules/@claude-flow/cli/...`
|
|
559
|
+
//
|
|
560
|
+
// The bulletproof fix: resolve relative to THIS file's own location via
|
|
561
|
+
// `import.meta.url`. The plugins dir is always a sibling of the package
|
|
562
|
+
// root regardless of where the package was installed. Walk up from
|
|
563
|
+
// `dist/src/commands/doctor.js` (built) or `src/commands/doctor.ts`
|
|
564
|
+
// (dev) until we find a directory containing `plugins/ruflo-metaharness/`.
|
|
552
565
|
const candidates = [];
|
|
566
|
+
// Strategy 1: walk up from this module's own URL — covers npx + global install.
|
|
567
|
+
try {
|
|
568
|
+
const selfDir = dirname(fileURLToPath(import.meta.url));
|
|
569
|
+
let q = selfDir;
|
|
570
|
+
for (let i = 0; i < 8; i++) {
|
|
571
|
+
candidates.push(join(q, 'plugins', 'ruflo-metaharness'));
|
|
572
|
+
q = dirname(q);
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
catch {
|
|
576
|
+
// import.meta.url unavailable under some bundlers — fall through to cwd walk.
|
|
577
|
+
}
|
|
578
|
+
// Strategy 2: walk up from cwd — covers monorepo dev (running from a sub-package).
|
|
553
579
|
let p = process.cwd();
|
|
554
580
|
for (let i = 0; i < 8; i++) {
|
|
555
581
|
candidates.push(join(p, 'plugins', 'ruflo-metaharness'));
|
|
556
582
|
p = dirname(p);
|
|
557
583
|
}
|
|
584
|
+
// Strategy 3: explicit node_modules path relative to cwd — covers project-local install.
|
|
558
585
|
candidates.push(join(process.cwd(), 'node_modules', '@claude-flow', 'cli', 'plugins', 'ruflo-metaharness'));
|
|
559
586
|
let pluginDir = null;
|
|
560
587
|
for (const c of candidates) {
|
|
@@ -564,14 +591,20 @@ async function checkMetaharnessIntegration() {
|
|
|
564
591
|
}
|
|
565
592
|
}
|
|
566
593
|
if (!pluginDir) {
|
|
594
|
+
// #2437: MetaHarness is documented as an optional dependency in
|
|
595
|
+
// optionalDependencies (per ADR-150 architectural constraint #2 —
|
|
596
|
+
// "Optional in package.json"). A genuinely-absent plugin therefore
|
|
597
|
+
// warrants WARN, not FAIL — same posture as the runtime path which
|
|
598
|
+
// returns {degraded: true, exit 0}. FAIL is reserved for misconfigured
|
|
599
|
+
// installs where the plugin SHOULD be present but is broken.
|
|
567
600
|
return {
|
|
568
601
|
name: 'MetaHarness integration (ADR-150)',
|
|
569
|
-
status: '
|
|
570
|
-
message: 'plugins/ruflo-metaharness/ not found
|
|
571
|
-
fix: '
|
|
602
|
+
status: 'warn',
|
|
603
|
+
message: 'plugins/ruflo-metaharness/ not found — MetaHarness skills will degrade gracefully',
|
|
604
|
+
fix: 'Optional: install via `npm i -D @metaharness/darwin metaharness` or run `ruflo plugins install ruflo-metaharness`',
|
|
572
605
|
};
|
|
573
606
|
}
|
|
574
|
-
// Required files (iter 36+44 surfaces)
|
|
607
|
+
// Required files (iter 36+44 surfaces, +ADR-153 darwin surfaces in v3.13.0)
|
|
575
608
|
const required = [
|
|
576
609
|
'scripts/_harness.mjs',
|
|
577
610
|
'scripts/_similarity.mjs',
|
|
@@ -581,6 +614,14 @@ async function checkMetaharnessIntegration() {
|
|
|
581
614
|
'scripts/drift-from-history.mjs',
|
|
582
615
|
'skills/harness-similarity/SKILL.md',
|
|
583
616
|
'skills/harness-drift-from-history/SKILL.md',
|
|
617
|
+
// ADR-153 Darwin Mode surfaces (v3.13.0) — added to gate against silent deletion
|
|
618
|
+
'scripts/_darwin.mjs',
|
|
619
|
+
'scripts/evolve.mjs',
|
|
620
|
+
'scripts/security-bench.mjs',
|
|
621
|
+
'scripts/bench.mjs',
|
|
622
|
+
'skills/harness-evolve/SKILL.md',
|
|
623
|
+
'skills/harness-security-bench/SKILL.md',
|
|
624
|
+
'skills/harness-bench/SKILL.md',
|
|
584
625
|
];
|
|
585
626
|
const missing = required.filter((f) => !existsSync(join(pluginDir, f)));
|
|
586
627
|
if (missing.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,oFAAoF;AACpF,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,YAAoB,IAAI;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;QAC1C,QAAQ,EAAE,MAAwB;QAClC,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,gCAAgC;QAC7F,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,sCAAsC;QAC/D,WAAW,EAAE,IAAI,EAAE,yBAAyB;KAC7C,CAAC,CAAC;IACH,OAAQ,MAAiB,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AASD,wBAAwB;AACxB,KAAK,UAAU,gBAAgB;IAC7B,MAAM,aAAa,GAAG,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3D,IAAI,KAAK,IAAI,aAAa,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,QAAQ,aAAa,YAAY,EAAE,CAAC;IAC3G,CAAC;SAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,QAAQ,aAAa,eAAe,EAAE,GAAG,EAAE,8BAA8B,EAAE,CAAC;IACnJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,QAAQ,aAAa,YAAY,EAAE,GAAG,EAAE,8BAA8B,EAAE,CAAC;IAChJ,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC;QACzE,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,OAAO,qBAAqB,EAAE,GAAG,EAAE,2BAA2B,EAAE,CAAC;QAC9H,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,yCAAyC,EAAE,CAAC;IAC3H,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,KAAK,UAAU,eAAe;IAC5B,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,SAAS,GAAG;QAChB,0BAA0B;QAC1B,yBAAyB;QACzB,mBAAmB;KACpB,CAAC;IACF,2EAA2E;IAC3E,MAAM,SAAS,GAAG;QAChB,0BAA0B;QAC1B,yBAAyB;QACzB,yBAAyB;KAC1B,CAAC;IAEF,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,4CAA4C;IAC5C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,gCAAgC,EAAE,CAAC;IAC5I,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,gDAAgD;IAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,4BAA4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC;YACxH,GAAG,EAAE,+BAA+B,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,kBAAkB,SAAS,CAAC,CAAC,CAAC,0BAA0B;SACzH,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpF,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iCAAiC,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC;AAC7H,CAAC;AAED,sBAAsB;AACtB,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,yBAAyB,CAAC;QAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B;gBAC9D,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,GAAG,EAAE,CAAC;YACrF,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,wDAAwD,EAAE,CAAC;YAC7I,CAAC;QACH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,0BAA0B,EAAE,CAAC;IAC5G,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,2BAA2B,EAAE,CAAC;IACjH,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,KAAK,UAAU,mBAAmB;IAChC,0DAA0D;IAC1D,6EAA6E;IAC7E,0EAA0E;IAC1E,oEAAoE;IACpE,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;QAC1E,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;IACD,UAAU,CAAC,IAAI,CACb,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EAAE,gDAAgD;IACzE,gBAAgB,CACjB,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,KAAK,MAAM,MAAM,EAAE,CAAC;YAC1F,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,+CAA+C,EAAE,CAAC;AACvI,CAAC;AAED,iBAAiB;AACjB,KAAK,UAAU,YAAY;IACzB,MAAM,IAAI,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEjH,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACrF,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kCAAkC,EAAE,CAAC;IAC3F,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,mCAAmC,EAAE,CAAC;IAC/I,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,GAAG,EAAE,mCAAmC,EAAE,CAAC;IACtH,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,KAAK,UAAU,QAAQ;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;QAClD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,sCAAsC,EAAE,CAAC;IAChH,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,mEAAmE;AACnE,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACpF,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;QACzE,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,0BAA0B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,kEAAkE;oBACtH,GAAG,EAAE,wFAAwF;iBAC9F,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,MAAM,KAAK,GAAG;gBAAE,MAAM;YAC1B,GAAG,GAAG,MAAM,CAAC;QACf,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC;IACtG,CAAC;AACH,CAAC;AAED,+CAA+C;AAC/C,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,qEAAqE;AACrE,qEAAqE;AACrE,iEAAiE;AACjE,EAAE;AACF,uEAAuE;AACvE,wEAAwE;AACxE,0EAA0E;AAC1E,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,8DAA8D;QAC9D,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oEAAoE;SAC9E,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0FAA0F;YACnG,GAAG,EAAE,qIAAqI;SAC3I,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,sBAAsB;IACnC,IAAI,CAAC;QACH,kEAAkE;QAClE,+DAA+D;QAC/D,8DAA8D;QAC9D,gEAAgE;QAChE,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxE,MAAM,GAAG,GAAsC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAC7B,OAAO;gBACL,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAE,MAAM;gBACd,OAAO,EACL,yHAAyH;gBAC3H,GAAG,EAAE,iEAAiE;aACvE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EACL,qHAAqH;SACxH,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EACL,kGAAkG;YACpG,GAAG,EAAE,+DAA+D;SACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,oBAAoB;AACpB,KAAK,UAAU,eAAe;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAC/D,iEAAiE;IACjE,sEAAsE;IACtE,sEAAsE;IACtE,yBAAyB;IACzB,MAAM,cAAc,GAAG;QACrB,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,oCAAoC,CAAC;QAChD,IAAI,CAAC,IAAI,EAAE,yBAAyB,CAAC;QACrC,WAAW;KACZ,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAC/B,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,mBAAmB,CAAC;IAE3F,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7D,+CAA+C;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;YAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEnD,mEAAmE;YACnE,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC7D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACzD,MAAM,EAAE,GAAI,UAAuD,EAAE,UAAU,CAAC;oBAChF,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;wBACjC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBAC7B,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC;wBACrC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;4BAAE,WAAW,IAAI,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,qBAAqB,CAAC;YAClE,IAAI,WAAW,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,WAAW;oBACvB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,GAAG,WAAW,iBAAiB,CAAC;gBACpC,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,YAAY,+BAA+B,KAAK,GAAG;iBAChE,CAAC;YACJ,CAAC;YACD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO;oBACL,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,GAAG,YAAY,4BAA4B;oBACpD,GAAG,EAAE,uDAAuD;iBAC7D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,qBAAqB;QAC9B,GAAG,EAAE,uDAAuD;KAC7D,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;QACrF,CAAC;QACD,wFAAwF;QACxF,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,4DAA4D;QAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,IAAI,SAAS,oCAAoC,EAAE,CAAC;QACxH,CAAC;QAED,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,eAAe,UAAU,SAAS,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC;QACpI,CAAC;aAAM,IAAI,UAAU,GAAG,EAAE,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,eAAe,UAAU,SAAS,EAAE,CAAC;QACzG,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,YAAY,EAAE,CAAC;IACnF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,6DAA6D;AAC7D,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,kBAAkB;QACnF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,2BAA2B,EAAE,CAAC;QACpH,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;IAC9F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,2BAA2B,EAAE,CAAC;IACpH,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,KAAK,UAAU,qBAAqB;IAClC,IAAI,CAAC;QACH,4CAA4C;QAC5C,+DAA+D;QAC/D,2EAA2E;QAC3E,IAAI,cAAc,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE5B,8DAA8D;YAC9D,sEAAsE;YACtE,qEAAqE;YACrE,SAAS,CAAC;gBACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBAC5C,IAAI,CAAC;oBACH,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;wBACxD,IACE,GAAG,CAAC,OAAO;4BACX,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;4BAC5B,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,EACvF,CAAC;4BACD,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;4BAC7B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,sDAAsD;gBACxD,CAAC;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,MAAM,KAAK,GAAG;oBAAE,MAAM,CAAC,eAAe;gBAC1C,GAAG,GAAG,MAAM,CAAC;YACf,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;YACzB,cAAc,GAAG,OAAO,CAAC;QAC3B,CAAC;QAED,mEAAmE;QACnE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC;YACzC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE7C,iFAAiF;QACjF,IAAI,aAAa,GAAG,cAAc,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,yCAAyC,EAAE,IAAI,CAAC,CAAC;YAClF,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;YACxC,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,cAAc,0BAA0B;aACtD,CAAC;QACJ,CAAC;QAED,+EAA+E;QAC/E,MAAM,YAAY,GAAG,CAAC,CAAS,EAAuE,EAAE;YACtG,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YACpE,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;YACnE,OAAO;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;gBAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;gBAClC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;aACxC,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAE3C,iDAAiD;QACjD,MAAM,UAAU,GAAG,CACjB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK;YAC5B,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAChE,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAClG,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAC/I,CAAC;QAEF,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK;gBACf,CAAC,CAAC,wDAAwD;gBAC1D,CAAC,CAAC,6BAA6B,CAAC;YAElC,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,cAAc,cAAc,aAAa,IAAI,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7F,GAAG;aACJ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,cAAc,eAAe;SAC3C,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mCAAmC;SAC7C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,mEAAmE;AACnE,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,KAAK,UAAU,2BAA2B;IACxC,2DAA2D;IAC3D,0EAA0E;IAC1E,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACzD,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE5G,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YACnD,SAAS,GAAG,CAAC,CAAC;YACd,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,mCAAmC;YACzC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,4DAA4D;YACrE,GAAG,EAAE,0CAA0C;SAChD,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG;QACf,sBAAsB;QACtB,yBAAyB;QACzB,wBAAwB;QACxB,+BAA+B;QAC/B,mDAAmD;QACnD,gCAAgC;QAChC,oCAAoC;QACpC,4CAA4C;KAC7C,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,mCAAmC;YACzC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC/C,GAAG,EAAE,wFAAwF;SAC9F,CAAC;IACJ,CAAC;IAED,8DAA8D;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAsE,CAAC;QACvG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO;gBACL,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,8CAA8C;gBACvD,GAAG,EAAE,8CAA8C;aACpD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,MAAM,EAAE,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO;gBACL,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,6DAA6D;aACvE,CAAC;QACJ,CAAC;QAED,iEAAiE;QACjE,mEAAmE;QACnE,+DAA+D;QAC/D,0DAA0D;QAC1D,EAAE;QACF,wDAAwD;QACxD,yDAAyD;QACzD,8DAA8D;QAC9D,mEAAmE;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,WAAW,CAI1C,CAAC;QACF,IAAI,OAAO,UAAU,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACtD,OAAO;gBACL,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,0FAA0F;gBACnG,GAAG,EAAE,kDAAkD;aACxD,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,eAAe,KAAK,UAAU,IAAI,OAAO,UAAU,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YAC7G,OAAO;gBACL,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,0HAA0H;gBACnI,GAAG,EAAE,kDAAkD;aACxD,CAAC;QACJ,CAAC;QACD,+CAA+C;QAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAA2B,CAAC;QACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,2DAA2D;aACrE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,mCAAmC;YACzC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0EAA0E;SACpF,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,mCAAmC;YACzC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,0BAA2B,CAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;SACvE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;QACpF,oEAAoE;QACpE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;gBACL,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,wEAAwE;aAClF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,+DAA+D;SAC5F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,4EAA4E;YACrF,GAAG,EAAE,0EAA0E;SAChF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrD,wEAAwE;QACxE,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,eAAe;YACxB,GAAG,EAAE,0CAA0C;SAChD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,0BAA0B;AAC1B,KAAK,UAAU,iBAAiB;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,0CAA0C,EAAE;YACnD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAClE,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,gBAAgB;IAC7B,IAAI,CAAC;QACH,mEAAmE;QACnE,MAAM,UAAU,GAAG;YACjB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC;SAC1E,CAAC;QACF,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,WAAW,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAChD,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,kEAAkE;gBAC3E,GAAG,EAAE,iCAAiC;aACvC,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;QACzC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG;YACf,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI;YACnD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACrC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;SAC5C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClB,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,IAAI,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SAChD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,EAAE;AACF,yDAAyD;AACzD,yDAAyD;AACzD,2EAA2E;AAC3E,0EAA0E;AAC1E,wEAAwE;AACxE,wEAAwE;AACxE,8EAA8E;AAC9E,6EAA6E;AAC7E,KAAK,UAAU,qBAAqB;IAClC,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,qEAAqE;YAC9E,GAAG,EAAE,yFAAyF;SAC/F,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,kEAAkE;YAC3E,GAAG,EAAE,kFAAkF;SACxF,CAAC;IACJ,CAAC;IACD,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAClG,GAAG,EAAE,wDAAwD;SAC9D,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAA2C;QACrD,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;QACnE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE;QAClF,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE;KAC/D,CAAC;IACF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,uCAAuC;gBACvC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAClE,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,eAAe,cAAc,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;KAChE,CAAC;AACJ,CAAC;AAED,6BAA6B;AAC7B,SAAS,WAAW,CAAC,KAAkB;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC;AAED,sBAAsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,sCAAsC;IACnD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,GAAG;YACV,oEAAoE;YACpE,iEAAiE;YACjE,qDAAqD;YACrD,WAAW,EAAE,+EAA+E;YAC5F,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,qDAAqD;YAClE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,mKAAmK;YAChL,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,gBAAgB;YAC7B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;KACF;IACD,QAAQ,EAAE;QACR,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACvE,EAAE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,oDAAoD,EAAE;QAC1G,EAAE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,mCAAmC,EAAE;QAC7F,EAAE,OAAO,EAAE,+BAA+B,EAAE,WAAW,EAAE,2BAA2B,EAAE;QACtF,EAAE,OAAO,EAAE,8BAA8B,EAAE,WAAW,EAAE,4BAA4B,EAAE;KACvF;IACD,MAAM,EAAE,KAAK,EAAE,GAAmB,EAA0B,EAAE;QAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAc,CAAC;QACzC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,OAAkB,CAAC;QACjD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAmB,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,OAAkB,CAAC;QAE7C,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,MAAM,SAAS,GAAmC;YAChD,qBAAqB;YACrB,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,QAAQ;YACR,YAAY;YACZ,eAAe;YACf,iBAAiB;YACjB,mBAAmB;YACnB,YAAY;YACZ,eAAe;YACf,cAAc,EAAE,QAAQ;YACxB,cAAc;YACd,eAAe;YACf,gBAAgB;YAChB,qBAAqB,EAAE,kBAAkB;YACzC,sBAAsB,EAAE,kBAAkB;YAC1C,gBAAgB,EAAE,yCAAyC;YAC3D,2BAA2B,EAAE,yCAAyC;SACvE,CAAC;QAEF,MAAM,YAAY,GAA+C;YAC/D,SAAS,EAAE,qBAAqB;YAChC,WAAW,EAAE,qBAAqB;YAClC,MAAM,EAAE,gBAAgB;YACxB,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,eAAe;YACzB,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,mBAAmB;YAC7B,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,eAAe;YACtB,WAAW,EAAE,cAAc,EAAE,QAAQ;YACrC,MAAM,EAAE,cAAc;YACtB,YAAY,EAAE,eAAe;YAC7B,cAAc,EAAE,gBAAgB;YAChC,YAAY,EAAE,qBAAqB,EAAE,kBAAkB;YACvD,YAAY,EAAE,sBAAsB,EAAE,kBAAkB;YACxD,aAAa,EAAE,gBAAgB,EAAE,6BAA6B;YAC9D,yBAAyB,EAAE,2BAA2B,EAAE,uBAAuB;SAChF,CAAC;QAEF,IAAI,WAAW,GAAG,SAAS,CAAC;QAC5B,IAAI,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,WAAW,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,sCAAsC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxG,OAAO,CAAC,KAAK,EAAE,CAAC;QAEhB,IAAI,CAAC;YACH,kCAAkC;YAClC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,2BAA2B;YAC3B,KAAK,MAAM,aAAa,IAAI,YAAY,EAAE,CAAC;gBACzC,IAAI,aAAa,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC;oBACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;oBAEpC,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;wBACzE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,WAAW,GAAgB;wBAC/B,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,IAAI,eAAe;qBAC1D,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1B,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,iDAAiD;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;YACzE,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3D,MAAM,SAAS,GAAG,MAAM,iBAAiB,EAAE,CAAC;gBAC5C,IAAI,SAAS,EAAE,CAAC;oBACd,0CAA0C;oBAC1C,MAAM,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;oBACjE,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;wBACf,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;wBACxB,oBAAoB;wBACpB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;wBACtE,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;4BAChD,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAC1B,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QAE/D,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC;QAEjB,MAAM,YAAY,GAAG;YACnB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,SAAS,CAAC;YAClC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI;YAC5D,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;SACrD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElB,MAAM,CAAC,OAAO,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEtD,wEAAwE;QACxE,yCAAyC;QACzC,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACvE,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,MAAM,qBAAqB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC;QAC5I,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC,CAAC;YACrF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACtF,CAAC;aAAM,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;CACF,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,26 +2,45 @@
|
|
|
2
2
|
* Graph Edge Writer — ADR-130 Phase 1
|
|
3
3
|
*
|
|
4
4
|
* Provides a minimal interface for inserting rows into the graph_edges
|
|
5
|
-
*
|
|
5
|
+
* SQLite table defined by MEMORY_SCHEMA_V3.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* #2431 fix (2026-06-22) — replaces the prior sql.js implementation. The
|
|
8
|
+
* prior version opened sql.js, performed in-memory updates, then called
|
|
9
|
+
* `fs.writeFileSync(dbPath, db.export())` after every edge insert. This
|
|
10
|
+
* whole-file flush overwrote the main `memory.db` while the better-sqlite3
|
|
11
|
+
* bridge was actively writing through its WAL — exactly the dual-write
|
|
12
|
+
* race that ADR-068 (#1257) removed. Symptom: PRAGMA integrity_check
|
|
13
|
+
* reports `database disk image is malformed (11)` after a single
|
|
14
|
+
* memory_store + causal-edge sequence.
|
|
11
15
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
16
|
+
* Fix posture: use better-sqlite3 directly (the same native engine the
|
|
17
|
+
* memory bridge uses). WAL-native, no whole-file fsync, no race. Keeps
|
|
18
|
+
* the public API surface identical so callers don't have to change.
|
|
19
|
+
*
|
|
20
|
+
* Note: this is the minimum-safe fix. The architecturally cleaner fix
|
|
21
|
+
* (route writes through the bridge's controller layer) is scoped to a
|
|
22
|
+
* future ADR — see #2431 for the discussion. Until that ADR lands, this
|
|
23
|
+
* module owns its own better-sqlite3 handle but on the same file, with
|
|
24
|
+
* WAL mode enabled (which makes concurrent writers safe by SQLite's own
|
|
25
|
+
* design — no overlapping fsync).
|
|
26
|
+
*
|
|
27
|
+
* The module is designed for fire-and-forget callers — every public
|
|
28
|
+
* function suppresses errors internally so callers never need try/catch.
|
|
14
29
|
*
|
|
15
30
|
* @module v3/cli/memory/graph-edge-writer
|
|
16
31
|
*/
|
|
17
32
|
/**
|
|
18
|
-
* Return the
|
|
33
|
+
* Return the better-sqlite3 Database instance for graph_edges writes.
|
|
19
34
|
* Creates the graph_edges table if it is absent (idempotent).
|
|
20
|
-
* Returns null if
|
|
35
|
+
* Returns null if better-sqlite3 is not available or db cannot be opened.
|
|
21
36
|
*
|
|
22
37
|
* #2246 fix: `createIfMissing` (default false for back-compat) — when true,
|
|
23
38
|
* lazily creates an empty memory.db with the graph_edges schema so
|
|
24
39
|
* graph-pathfinder works on fresh environments before any memory writes.
|
|
40
|
+
*
|
|
41
|
+
* #2431 fix: better-sqlite3 + WAL mode replaces sql.js + whole-file
|
|
42
|
+
* writeFileSync. Eliminates the dual-write race that corrupted memory.db
|
|
43
|
+
* when called alongside the memory bridge's better-sqlite3 writer.
|
|
25
44
|
*/
|
|
26
45
|
export declare function getBridgeDb(customDbPath?: string, opts?: {
|
|
27
46
|
createIfMissing?: boolean;
|
|
@@ -43,6 +62,11 @@ export interface GraphEdgeInput {
|
|
|
43
62
|
* Insert a single edge into graph_edges.
|
|
44
63
|
* Fire-and-forget — errors are suppressed.
|
|
45
64
|
* Returns true if the write succeeded, false otherwise.
|
|
65
|
+
*
|
|
66
|
+
* #2431 fix: uses better-sqlite3 prepared statements + implicit WAL
|
|
67
|
+
* journal. No `fs.writeFileSync` whole-file flush — the WAL handles
|
|
68
|
+
* durability without overwriting the main file out from under other
|
|
69
|
+
* writers.
|
|
46
70
|
*/
|
|
47
71
|
export declare function insertGraphEdge(input: GraphEdgeInput): Promise<boolean>;
|
|
48
72
|
/**
|
|
@@ -62,6 +86,10 @@ export declare function queryEdgesBySource(sourceId: string, relation?: string,
|
|
|
62
86
|
export declare function countGraphEdges(dbPath?: string): Promise<number>;
|
|
63
87
|
/**
|
|
64
88
|
* Reset the cached db handle (for tests that need a fresh DB).
|
|
89
|
+
*
|
|
90
|
+
* #2431 fix: also explicitly closes the prior handle so file locks
|
|
91
|
+
* release immediately — better-sqlite3 holds an OS-level file handle
|
|
92
|
+
* which the prior sql.js implementation did not.
|
|
65
93
|
*/
|
|
66
94
|
export declare function _resetBridgeDb(): void;
|
|
67
95
|
//# sourceMappingURL=graph-edge-writer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-edge-writer.d.ts","sourceRoot":"","sources":["../../../src/memory/graph-edge-writer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graph-edge-writer.d.ts","sourceRoot":"","sources":["../../../src/memory/graph-edge-writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAgBH;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAsElH;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC7E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoBxG;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAStE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAMrC"}
|
|
@@ -2,15 +2,30 @@
|
|
|
2
2
|
* Graph Edge Writer — ADR-130 Phase 1
|
|
3
3
|
*
|
|
4
4
|
* Provides a minimal interface for inserting rows into the graph_edges
|
|
5
|
-
*
|
|
5
|
+
* SQLite table defined by MEMORY_SCHEMA_V3.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* #2431 fix (2026-06-22) — replaces the prior sql.js implementation. The
|
|
8
|
+
* prior version opened sql.js, performed in-memory updates, then called
|
|
9
|
+
* `fs.writeFileSync(dbPath, db.export())` after every edge insert. This
|
|
10
|
+
* whole-file flush overwrote the main `memory.db` while the better-sqlite3
|
|
11
|
+
* bridge was actively writing through its WAL — exactly the dual-write
|
|
12
|
+
* race that ADR-068 (#1257) removed. Symptom: PRAGMA integrity_check
|
|
13
|
+
* reports `database disk image is malformed (11)` after a single
|
|
14
|
+
* memory_store + causal-edge sequence.
|
|
11
15
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
16
|
+
* Fix posture: use better-sqlite3 directly (the same native engine the
|
|
17
|
+
* memory bridge uses). WAL-native, no whole-file fsync, no race. Keeps
|
|
18
|
+
* the public API surface identical so callers don't have to change.
|
|
19
|
+
*
|
|
20
|
+
* Note: this is the minimum-safe fix. The architecturally cleaner fix
|
|
21
|
+
* (route writes through the bridge's controller layer) is scoped to a
|
|
22
|
+
* future ADR — see #2431 for the discussion. Until that ADR lands, this
|
|
23
|
+
* module owns its own better-sqlite3 handle but on the same file, with
|
|
24
|
+
* WAL mode enabled (which makes concurrent writers safe by SQLite's own
|
|
25
|
+
* design — no overlapping fsync).
|
|
26
|
+
*
|
|
27
|
+
* The module is designed for fire-and-forget callers — every public
|
|
28
|
+
* function suppresses errors internally so callers never need try/catch.
|
|
14
29
|
*
|
|
15
30
|
* @module v3/cli/memory/graph-edge-writer
|
|
16
31
|
*/
|
|
@@ -20,19 +35,23 @@ import * as crypto from 'crypto';
|
|
|
20
35
|
import { getMemoryRoot } from './memory-initializer.js';
|
|
21
36
|
import { encodeEmbedding } from './embedding-quantization.js';
|
|
22
37
|
// ============================================================================
|
|
23
|
-
// Lazy-cached
|
|
38
|
+
// Lazy-cached better-sqlite3 db handle
|
|
24
39
|
// ============================================================================
|
|
25
40
|
let _db = null;
|
|
26
41
|
let _dbPath = '';
|
|
27
42
|
let _dbInitializing = false;
|
|
28
43
|
/**
|
|
29
|
-
* Return the
|
|
44
|
+
* Return the better-sqlite3 Database instance for graph_edges writes.
|
|
30
45
|
* Creates the graph_edges table if it is absent (idempotent).
|
|
31
|
-
* Returns null if
|
|
46
|
+
* Returns null if better-sqlite3 is not available or db cannot be opened.
|
|
32
47
|
*
|
|
33
48
|
* #2246 fix: `createIfMissing` (default false for back-compat) — when true,
|
|
34
49
|
* lazily creates an empty memory.db with the graph_edges schema so
|
|
35
50
|
* graph-pathfinder works on fresh environments before any memory writes.
|
|
51
|
+
*
|
|
52
|
+
* #2431 fix: better-sqlite3 + WAL mode replaces sql.js + whole-file
|
|
53
|
+
* writeFileSync. Eliminates the dual-write race that corrupted memory.db
|
|
54
|
+
* when called alongside the memory bridge's better-sqlite3 writer.
|
|
36
55
|
*/
|
|
37
56
|
export async function getBridgeDb(customDbPath, opts) {
|
|
38
57
|
const dbPath = customDbPath ?? path.join(getMemoryRoot(), 'memory.db');
|
|
@@ -46,23 +65,34 @@ export async function getBridgeDb(customDbPath, opts) {
|
|
|
46
65
|
const dbExists = fs.existsSync(dbPath);
|
|
47
66
|
if (!dbExists && !createIfMissing)
|
|
48
67
|
return null;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
let db;
|
|
52
|
-
if (dbExists) {
|
|
53
|
-
const fileBuffer = fs.readFileSync(dbPath);
|
|
54
|
-
db = new SQL.Database(fileBuffer);
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
// Lazy-create empty DB + ensure parent dir exists.
|
|
68
|
+
// Ensure parent dir exists for createIfMissing case.
|
|
69
|
+
if (!dbExists && createIfMissing) {
|
|
58
70
|
const dir = path.dirname(dbPath);
|
|
59
71
|
if (!fs.existsSync(dir))
|
|
60
72
|
fs.mkdirSync(dir, { recursive: true });
|
|
61
|
-
db = new SQL.Database();
|
|
62
73
|
}
|
|
74
|
+
// better-sqlite3 may not be available on all platforms (it's a native
|
|
75
|
+
// module, so platform-specific binaries are required). If unavailable,
|
|
76
|
+
// return null and let callers degrade gracefully — same posture as the
|
|
77
|
+
// prior sql.js version when sql.js failed to load.
|
|
78
|
+
let BetterSqlite3;
|
|
79
|
+
try {
|
|
80
|
+
BetterSqlite3 = (await import('better-sqlite3')).default;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
const db = new BetterSqlite3(dbPath);
|
|
86
|
+
// WAL mode is the load-bearing piece of the #2431 fix: it lets multiple
|
|
87
|
+
// connections (this module + the memory bridge) write to the same file
|
|
88
|
+
// without overlapping fsyncs corrupting each other. SQLite's WAL is
|
|
89
|
+
// designed for exactly this case.
|
|
90
|
+
db.pragma('journal_mode = WAL');
|
|
91
|
+
db.pragma('synchronous = NORMAL'); // WAL-safe + faster than FULL
|
|
92
|
+
db.pragma('busy_timeout = 5000'); // wait up to 5s on lock contention
|
|
63
93
|
// Ensure graph_edges table exists (in case this is an older DB that
|
|
64
94
|
// predates ADR-130 Phase 1 schema migration).
|
|
65
|
-
db.
|
|
95
|
+
db.exec(`
|
|
66
96
|
CREATE TABLE IF NOT EXISTS graph_edges (
|
|
67
97
|
id TEXT PRIMARY KEY,
|
|
68
98
|
source_id TEXT NOT NULL,
|
|
@@ -76,23 +106,14 @@ export async function getBridgeDb(customDbPath, opts) {
|
|
|
76
106
|
embedding_ref TEXT,
|
|
77
107
|
metadata TEXT,
|
|
78
108
|
created_at TEXT NOT NULL
|
|
79
|
-
)
|
|
109
|
+
);
|
|
110
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges (source_id);
|
|
111
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges (target_id);
|
|
112
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_relation ON graph_edges (relation);
|
|
113
|
+
CREATE INDEX IF NOT EXISTS idx_graph_edges_reinforced ON graph_edges (last_reinforced);
|
|
80
114
|
`);
|
|
81
|
-
db.run(`CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges (source_id)`);
|
|
82
|
-
db.run(`CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges (target_id)`);
|
|
83
|
-
db.run(`CREATE INDEX IF NOT EXISTS idx_graph_edges_relation ON graph_edges (relation)`);
|
|
84
|
-
db.run(`CREATE INDEX IF NOT EXISTS idx_graph_edges_reinforced ON graph_edges (last_reinforced)`);
|
|
85
115
|
_db = db;
|
|
86
116
|
_dbPath = dbPath;
|
|
87
|
-
// #2246 — if we just lazy-created the DB, persist the empty file so
|
|
88
|
-
// subsequent calls can read it back without re-creating.
|
|
89
|
-
if (!dbExists && createIfMissing) {
|
|
90
|
-
try {
|
|
91
|
-
const data = db.export();
|
|
92
|
-
fs.writeFileSync(dbPath, Buffer.from(data));
|
|
93
|
-
}
|
|
94
|
-
catch { /* non-fatal — caller will re-flush on first write */ }
|
|
95
|
-
}
|
|
96
117
|
return db;
|
|
97
118
|
}
|
|
98
119
|
catch {
|
|
@@ -102,23 +123,15 @@ export async function getBridgeDb(customDbPath, opts) {
|
|
|
102
123
|
_dbInitializing = false;
|
|
103
124
|
}
|
|
104
125
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Persist the in-memory sql.js database back to disk.
|
|
107
|
-
* Called after each write to keep the file consistent.
|
|
108
|
-
*/
|
|
109
|
-
async function flushDb(db) {
|
|
110
|
-
try {
|
|
111
|
-
if (!_dbPath)
|
|
112
|
-
return;
|
|
113
|
-
const data = db.export();
|
|
114
|
-
fs.writeFileSync(_dbPath, Buffer.from(data));
|
|
115
|
-
}
|
|
116
|
-
catch { /* non-fatal */ }
|
|
117
|
-
}
|
|
118
126
|
/**
|
|
119
127
|
* Insert a single edge into graph_edges.
|
|
120
128
|
* Fire-and-forget — errors are suppressed.
|
|
121
129
|
* Returns true if the write succeeded, false otherwise.
|
|
130
|
+
*
|
|
131
|
+
* #2431 fix: uses better-sqlite3 prepared statements + implicit WAL
|
|
132
|
+
* journal. No `fs.writeFileSync` whole-file flush — the WAL handles
|
|
133
|
+
* durability without overwriting the main file out from under other
|
|
134
|
+
* writers.
|
|
122
135
|
*/
|
|
123
136
|
export async function insertGraphEdge(input) {
|
|
124
137
|
try {
|
|
@@ -132,24 +145,10 @@ export async function insertGraphEdge(input) {
|
|
|
132
145
|
embeddingRef = encodeEmbedding(input.embedding);
|
|
133
146
|
}
|
|
134
147
|
const metaStr = input.metadata ? JSON.stringify(input.metadata) : null;
|
|
135
|
-
db.
|
|
148
|
+
db.prepare(`INSERT OR IGNORE INTO graph_edges
|
|
136
149
|
(id, source_id, target_id, relation, weight, confidence, decay_rate,
|
|
137
150
|
last_reinforced, witness_id, embedding_ref, metadata, created_at)
|
|
138
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
139
|
-
id,
|
|
140
|
-
input.sourceId,
|
|
141
|
-
input.targetId,
|
|
142
|
-
input.relation,
|
|
143
|
-
input.weight ?? 1.0,
|
|
144
|
-
input.confidence ?? 1.0,
|
|
145
|
-
input.decayRate ?? 0.0,
|
|
146
|
-
input.lastReinforced ?? null,
|
|
147
|
-
input.witnessId ?? null,
|
|
148
|
-
embeddingRef,
|
|
149
|
-
metaStr,
|
|
150
|
-
createdAt,
|
|
151
|
-
]);
|
|
152
|
-
await flushDb(db);
|
|
151
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, input.sourceId, input.targetId, input.relation, input.weight ?? 1.0, input.confidence ?? 1.0, input.decayRate ?? 0.0, input.lastReinforced ?? null, input.witnessId ?? null, embeddingRef, metaStr, createdAt);
|
|
153
152
|
return true;
|
|
154
153
|
}
|
|
155
154
|
catch {
|
|
@@ -169,15 +168,7 @@ export async function queryEdgesBySource(sourceId, relation, dbPath) {
|
|
|
169
168
|
? `SELECT id, source_id, target_id, relation, weight FROM graph_edges WHERE source_id = ? AND relation = ? LIMIT 1000`
|
|
170
169
|
: `SELECT id, source_id, target_id, relation, weight FROM graph_edges WHERE source_id = ? LIMIT 1000`;
|
|
171
170
|
const args = relation ? [sourceId, relation] : [sourceId];
|
|
172
|
-
|
|
173
|
-
if (!result?.[0])
|
|
174
|
-
return [];
|
|
175
|
-
const cols = result[0].columns;
|
|
176
|
-
return result[0].values.map((row) => {
|
|
177
|
-
const obj = {};
|
|
178
|
-
cols.forEach((c, i) => { obj[c] = row[i]; });
|
|
179
|
-
return obj;
|
|
180
|
-
});
|
|
171
|
+
return db.prepare(sql).all(...args);
|
|
181
172
|
}
|
|
182
173
|
catch {
|
|
183
174
|
return [];
|
|
@@ -191,8 +182,8 @@ export async function countGraphEdges(dbPath) {
|
|
|
191
182
|
const db = await getBridgeDb(dbPath);
|
|
192
183
|
if (!db)
|
|
193
184
|
return 0;
|
|
194
|
-
const
|
|
195
|
-
return
|
|
185
|
+
const row = db.prepare(`SELECT COUNT(*) AS n FROM graph_edges`).get();
|
|
186
|
+
return row?.n ?? 0;
|
|
196
187
|
}
|
|
197
188
|
catch {
|
|
198
189
|
return 0;
|
|
@@ -200,8 +191,18 @@ export async function countGraphEdges(dbPath) {
|
|
|
200
191
|
}
|
|
201
192
|
/**
|
|
202
193
|
* Reset the cached db handle (for tests that need a fresh DB).
|
|
194
|
+
*
|
|
195
|
+
* #2431 fix: also explicitly closes the prior handle so file locks
|
|
196
|
+
* release immediately — better-sqlite3 holds an OS-level file handle
|
|
197
|
+
* which the prior sql.js implementation did not.
|
|
203
198
|
*/
|
|
204
199
|
export function _resetBridgeDb() {
|
|
200
|
+
if (_db) {
|
|
201
|
+
try {
|
|
202
|
+
_db.close();
|
|
203
|
+
}
|
|
204
|
+
catch { /* best-effort */ }
|
|
205
|
+
}
|
|
205
206
|
_db = null;
|
|
206
207
|
_dbPath = '';
|
|
207
208
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-edge-writer.js","sourceRoot":"","sources":["../../../src/memory/graph-edge-writer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"graph-edge-writer.js","sourceRoot":"","sources":["../../../src/memory/graph-edge-writer.ts"],"names":[],"mappings":"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"}
|