@cleocode/core 2026.9.16 → 2026.9.18
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/changesets/parser.d.ts.map +1 -1
- package/dist/changesets/parser.js +67 -0
- package/dist/changesets/parser.js.map +1 -1
- package/dist/crypto/credentials.d.ts +128 -26
- package/dist/crypto/credentials.d.ts.map +1 -1
- package/dist/crypto/credentials.js +183 -142
- package/dist/crypto/credentials.js.map +1 -1
- package/dist/docs/export-document.js +14705 -12949
- package/dist/docs/export-document.js.map +3 -3
- package/dist/doctor/index.d.ts +1 -1
- package/dist/doctor/index.d.ts.map +1 -1
- package/dist/doctor/index.js +1 -1
- package/dist/doctor/index.js.map +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts +1 -1
- package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
- package/dist/doctor/nexus-schema-residency.js +1 -0
- package/dist/doctor/nexus-schema-residency.js.map +1 -1
- package/dist/doctor/project-identity.d.ts +124 -0
- package/dist/doctor/project-identity.d.ts.map +1 -0
- package/dist/doctor/project-identity.js +307 -0
- package/dist/doctor/project-identity.js.map +1 -0
- package/dist/doctor/superseded-store.d.ts +8 -0
- package/dist/doctor/superseded-store.d.ts.map +1 -1
- package/dist/doctor/superseded-store.js +48 -3
- package/dist/doctor/superseded-store.js.map +1 -1
- package/dist/init.d.ts +7 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +17 -2
- package/dist/init.js.map +1 -1
- package/dist/internal.d.ts +6 -3
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +4 -2
- package/dist/internal.js.map +1 -1
- package/dist/llm/credentials-store.d.ts +10 -0
- package/dist/llm/credentials-store.d.ts.map +1 -1
- package/dist/llm/credentials-store.js +7 -1
- package/dist/llm/credentials-store.js.map +1 -1
- package/dist/llm/plugin-facade.js +13368 -1550
- package/dist/llm/plugin-facade.js.map +3 -3
- package/dist/nexus/analyze-orchestrator.d.ts +20 -3
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +210 -16
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-store.d.ts +86 -0
- package/dist/nexus/assessment-store.d.ts.map +1 -0
- package/dist/nexus/assessment-store.js +113 -0
- package/dist/nexus/assessment-store.js.map +1 -0
- package/dist/nexus/freshness.d.ts +131 -0
- package/dist/nexus/freshness.d.ts.map +1 -0
- package/dist/nexus/freshness.js +391 -0
- package/dist/nexus/freshness.js.map +1 -0
- package/dist/nexus/graph-manifest.d.ts +88 -0
- package/dist/nexus/graph-manifest.d.ts.map +1 -0
- package/dist/nexus/graph-manifest.js +114 -0
- package/dist/nexus/graph-manifest.js.map +1 -0
- package/dist/nexus/knowledge.d.ts +21 -1
- package/dist/nexus/knowledge.d.ts.map +1 -1
- package/dist/nexus/knowledge.js +74 -37
- package/dist/nexus/knowledge.js.map +1 -1
- package/dist/nexus/path-map.d.ts +55 -0
- package/dist/nexus/path-map.d.ts.map +1 -0
- package/dist/nexus/path-map.js +87 -0
- package/dist/nexus/path-map.js.map +1 -0
- package/dist/nexus/projects-clean.d.ts +21 -28
- package/dist/nexus/projects-clean.d.ts.map +1 -1
- package/dist/nexus/projects-clean.js +168 -85
- package/dist/nexus/projects-clean.js.map +1 -1
- package/dist/nexus/query.d.ts.map +1 -1
- package/dist/nexus/query.js +3 -2
- package/dist/nexus/query.js.map +1 -1
- package/dist/nexus/registry-hygiene.d.ts +70 -0
- package/dist/nexus/registry-hygiene.d.ts.map +1 -0
- package/dist/nexus/registry-hygiene.js +113 -0
- package/dist/nexus/registry-hygiene.js.map +1 -0
- package/dist/nexus/registry.d.ts +2 -2
- package/dist/nexus/registry.d.ts.map +1 -1
- package/dist/nexus/registry.js +48 -12
- package/dist/nexus/registry.js.map +1 -1
- package/dist/paths.d.ts +26 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +99 -6
- package/dist/paths.js.map +1 -1
- package/dist/release/index.d.ts +1 -1
- package/dist/release/index.d.ts.map +1 -1
- package/dist/release/index.js.map +1 -1
- package/dist/release/plan.d.ts +84 -2
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +61 -14
- package/dist/release/plan.js.map +1 -1
- package/dist/release/pr-evidence.d.ts +81 -1
- package/dist/release/pr-evidence.d.ts.map +1 -1
- package/dist/release/pr-evidence.js +149 -9
- package/dist/release/pr-evidence.js.map +1 -1
- package/dist/render/nexus/graph/index.d.ts.map +1 -1
- package/dist/render/nexus/graph/index.js +8 -0
- package/dist/render/nexus/graph/index.js.map +1 -1
- package/dist/scaffold/ensure-config.d.ts +12 -3
- package/dist/scaffold/ensure-config.d.ts.map +1 -1
- package/dist/scaffold/ensure-config.js +61 -38
- package/dist/scaffold/ensure-config.js.map +1 -1
- package/dist/scaffold/project-identity.d.ts +136 -0
- package/dist/scaffold/project-identity.d.ts.map +1 -0
- package/dist/scaffold/project-identity.js +225 -0
- package/dist/scaffold/project-identity.js.map +1 -0
- package/dist/selfimprove/fix-gen.js +13319 -1556
- package/dist/selfimprove/fix-gen.js.map +3 -3
- package/dist/store/agent-api-key.d.ts +114 -0
- package/dist/store/agent-api-key.d.ts.map +1 -0
- package/dist/store/agent-api-key.js +136 -0
- package/dist/store/agent-api-key.js.map +1 -0
- package/dist/store/agent-registry-accessor.d.ts +4 -2
- package/dist/store/agent-registry-accessor.d.ts.map +1 -1
- package/dist/store/agent-registry-accessor.js +39 -89
- package/dist/store/agent-registry-accessor.js.map +1 -1
- package/dist/store/api-key-kdf.d.ts +7 -0
- package/dist/store/api-key-kdf.d.ts.map +1 -1
- package/dist/store/api-key-kdf.js +7 -0
- package/dist/store/api-key-kdf.js.map +1 -1
- package/dist/store/backup-crypto.d.ts +49 -0
- package/dist/store/backup-crypto.d.ts.map +1 -1
- package/dist/store/backup-crypto.js +154 -0
- package/dist/store/backup-crypto.js.map +1 -1
- package/dist/store/credential-transfer.d.ts +303 -0
- package/dist/store/credential-transfer.d.ts.map +1 -0
- package/dist/store/credential-transfer.js +774 -0
- package/dist/store/credential-transfer.js.map +1 -0
- package/dist/store/exodus/column-transforms.d.ts +79 -4
- package/dist/store/exodus/column-transforms.d.ts.map +1 -1
- package/dist/store/exodus/column-transforms.js +121 -4
- package/dist/store/exodus/column-transforms.js.map +1 -1
- package/dist/store/exodus/index.d.ts +1 -0
- package/dist/store/exodus/index.d.ts.map +1 -1
- package/dist/store/exodus/index.js +1 -0
- package/dist/store/exodus/index.js.map +1 -1
- package/dist/store/exodus/migrate.d.ts +17 -1
- package/dist/store/exodus/migrate.d.ts.map +1 -1
- package/dist/store/exodus/migrate.js +155 -33
- package/dist/store/exodus/migrate.js.map +1 -1
- package/dist/store/exodus/on-open.d.ts +14 -0
- package/dist/store/exodus/on-open.d.ts.map +1 -1
- package/dist/store/exodus/on-open.js +115 -6
- package/dist/store/exodus/on-open.js.map +1 -1
- package/dist/store/exodus/reconcile.d.ts +103 -0
- package/dist/store/exodus/reconcile.d.ts.map +1 -0
- package/dist/store/exodus/reconcile.js +728 -0
- package/dist/store/exodus/reconcile.js.map +1 -0
- package/dist/store/exodus/recovery.d.ts.map +1 -1
- package/dist/store/exodus/recovery.js +14 -2
- package/dist/store/exodus/recovery.js.map +1 -1
- package/dist/store/exodus/runtime-targets.d.ts +39 -0
- package/dist/store/exodus/runtime-targets.d.ts.map +1 -0
- package/dist/store/exodus/runtime-targets.js +63 -0
- package/dist/store/exodus/runtime-targets.js.map +1 -0
- package/dist/store/exodus/table-name-map.d.ts.map +1 -1
- package/dist/store/exodus/table-name-map.js +5 -0
- package/dist/store/exodus/table-name-map.js.map +1 -1
- package/dist/store/exodus/table-order.d.ts +35 -0
- package/dist/store/exodus/table-order.d.ts.map +1 -0
- package/dist/store/exodus/table-order.js +62 -0
- package/dist/store/exodus/table-order.js.map +1 -0
- package/dist/store/exodus/verify-migration.d.ts +4 -1
- package/dist/store/exodus/verify-migration.d.ts.map +1 -1
- package/dist/store/exodus/verify-migration.js +142 -10
- package/dist/store/exodus/verify-migration.js.map +1 -1
- package/dist/store/global-salt.d.ts +16 -0
- package/dist/store/global-salt.d.ts.map +1 -1
- package/dist/store/global-salt.js +22 -7
- package/dist/store/global-salt.js.map +1 -1
- package/dist/store/legacy-tasks-lineage.d.ts +86 -0
- package/dist/store/legacy-tasks-lineage.d.ts.map +1 -0
- package/dist/store/legacy-tasks-lineage.js +285 -0
- package/dist/store/legacy-tasks-lineage.js.map +1 -0
- package/dist/store/migration-manager.d.ts +27 -0
- package/dist/store/migration-manager.d.ts.map +1 -1
- package/dist/store/migration-manager.js +63 -0
- package/dist/store/migration-manager.js.map +1 -1
- package/dist/store/portable-bundle-import.d.ts +117 -0
- package/dist/store/portable-bundle-import.d.ts.map +1 -0
- package/dist/store/portable-bundle-import.js +589 -0
- package/dist/store/portable-bundle-import.js.map +1 -0
- package/dist/store/portable-bundle-relocate.d.ts +66 -0
- package/dist/store/portable-bundle-relocate.d.ts.map +1 -0
- package/dist/store/portable-bundle-relocate.js +304 -0
- package/dist/store/portable-bundle-relocate.js.map +1 -0
- package/dist/store/portable-bundle-scan.d.ts +167 -0
- package/dist/store/portable-bundle-scan.d.ts.map +1 -0
- package/dist/store/portable-bundle-scan.js +569 -0
- package/dist/store/portable-bundle-scan.js.map +1 -0
- package/dist/store/portable-bundle.d.ts +146 -0
- package/dist/store/portable-bundle.d.ts.map +1 -0
- package/dist/store/portable-bundle.js +674 -0
- package/dist/store/portable-bundle.js.map +1 -0
- package/dist/store/regenerators.d.ts +3 -1
- package/dist/store/regenerators.d.ts.map +1 -1
- package/dist/store/regenerators.js +6 -2
- package/dist/store/regenerators.js.map +1 -1
- package/dist/store/schema/cleo-global/nexus.d.ts +98 -0
- package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
- package/dist/store/schema/cleo-global/nexus.js +19 -0
- package/dist/store/schema/cleo-global/nexus.js.map +1 -1
- package/dist/store/schema/nexus-schema.d.ts +102 -0
- package/dist/store/schema/nexus-schema.d.ts.map +1 -1
- package/dist/store/schema/nexus-schema.js +24 -0
- package/dist/store/schema/nexus-schema.js.map +1 -1
- package/dist/store/split-brain-import.d.ts +176 -0
- package/dist/store/split-brain-import.d.ts.map +1 -0
- package/dist/store/split-brain-import.js +680 -0
- package/dist/store/split-brain-import.js.map +1 -0
- package/dist/store/sqlite.d.ts +29 -0
- package/dist/store/sqlite.d.ts.map +1 -1
- package/dist/store/sqlite.js +57 -5
- package/dist/store/sqlite.js.map +1 -1
- package/dist/system/health.d.ts.map +1 -1
- package/dist/system/health.js +30 -5
- package/dist/system/health.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +5 -27
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/evidence.js +1 -1
- package/dist/tasks/evidence.js.map +1 -1
- package/dist/tasks/verification-policy.d.ts +55 -0
- package/dist/tasks/verification-policy.d.ts.map +1 -0
- package/dist/tasks/verification-policy.js +75 -0
- package/dist/tasks/verification-policy.js.map +1 -0
- package/dist/upgrade.d.ts.map +1 -1
- package/dist/upgrade.js +60 -0
- package/dist/upgrade.js.map +1 -1
- package/dist/validation/doctor/checks.d.ts +14 -0
- package/dist/validation/doctor/checks.d.ts.map +1 -1
- package/dist/validation/doctor/checks.js +33 -0
- package/dist/validation/doctor/checks.js.map +1 -1
- package/migrations/drizzle-cleo-global/20260924000000_t12354-project-paths/migration.sql +40 -0
- package/migrations/drizzle-nexus/20260924000000_t12315-nexus-parse-cache/migration.sql +21 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +3 -3
- package/templates/cleo-gitignore +7 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compact per-generation bookkeeping for cheap freshness checks (T12316).
|
|
3
|
+
*
|
|
4
|
+
* The published `graph_assessment` carries every retained reference with its
|
|
5
|
+
* full evidence — 472 MB of JSON on this repository — so it cannot be read on
|
|
6
|
+
* the query path. The file manifest records only what a freshness check needs
|
|
7
|
+
* (path, size, mtime, content hash per indexed file), and the run summary
|
|
8
|
+
* records what the last analysis cost, so a refresh can be estimated before it
|
|
9
|
+
* is started. Both live in `_nexus_meta` next to the generation they describe.
|
|
10
|
+
*
|
|
11
|
+
* Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
|
|
12
|
+
*
|
|
13
|
+
* @task T12316
|
|
14
|
+
* @module nexus/graph-manifest
|
|
15
|
+
*/
|
|
16
|
+
import type { GraphIndexAssessment, GraphIndexRunSummary } from '@cleocode/contracts';
|
|
17
|
+
import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
|
|
18
|
+
/** One indexed file: `[path, size, mtimeMs, contentHash]`. */
|
|
19
|
+
export type GraphManifestEntry = [path: string, size: number, mtimeMs: number, hash: string];
|
|
20
|
+
/** Compact description of the files a published generation was built from. */
|
|
21
|
+
export interface GraphFileManifest {
|
|
22
|
+
/** Generation the manifest describes. */
|
|
23
|
+
generation: string | null;
|
|
24
|
+
/** Canonical root the paths are relative to. */
|
|
25
|
+
sourceRoot: string;
|
|
26
|
+
/** Explicitly included nested repositories, needed to walk the same tree. */
|
|
27
|
+
includedRepositories: string[];
|
|
28
|
+
/** When the generation was assessed. */
|
|
29
|
+
assessedAt: string;
|
|
30
|
+
/** Every indexed file with a content hash. */
|
|
31
|
+
files: GraphManifestEntry[];
|
|
32
|
+
}
|
|
33
|
+
/** Cost record of the last analysis that published a generation. */
|
|
34
|
+
export interface GraphRunCost {
|
|
35
|
+
/** Mode, counts and per-phase milliseconds of that run. */
|
|
36
|
+
summary: GraphIndexRunSummary;
|
|
37
|
+
/** End-to-end milliseconds, including provenance and publication. */
|
|
38
|
+
durationMs: number;
|
|
39
|
+
/** When the run finished. */
|
|
40
|
+
recordedAt: string;
|
|
41
|
+
}
|
|
42
|
+
/** Files with an observed size, mtime and hash, as recorded by an index scan. */
|
|
43
|
+
interface ObservedFile {
|
|
44
|
+
path: string;
|
|
45
|
+
size?: number;
|
|
46
|
+
mtimeMs?: number;
|
|
47
|
+
contentHash?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Build the manifest for a generation from its observed files.
|
|
51
|
+
* @param assessment - Assessment of the generation (source root, scope, timestamp).
|
|
52
|
+
* @param files - Files whose size, mtime and hash were observed; others are omitted.
|
|
53
|
+
* @returns The compact manifest.
|
|
54
|
+
*/
|
|
55
|
+
export declare function buildFileManifest(assessment: Pick<GraphIndexAssessment, 'generation' | 'sourceRoot' | 'includedRepositories' | 'assessedAt'>, files: readonly ObservedFile[]): GraphFileManifest;
|
|
56
|
+
/**
|
|
57
|
+
* Write the manifest; call inside the transaction that publishes its generation.
|
|
58
|
+
* @param tx - Open transaction on the project graph database.
|
|
59
|
+
* @param manifest - Manifest of the generation being committed.
|
|
60
|
+
*/
|
|
61
|
+
export declare function writeFileManifest(tx: NodeSQLiteDatabase, manifest: GraphFileManifest): void;
|
|
62
|
+
/**
|
|
63
|
+
* Remove the manifest; call when a generation is published without one, so a
|
|
64
|
+
* stale manifest can never describe a different generation.
|
|
65
|
+
* @param tx - Open transaction on the project graph database.
|
|
66
|
+
*/
|
|
67
|
+
export declare function clearFileManifest(tx: NodeSQLiteDatabase): void;
|
|
68
|
+
/**
|
|
69
|
+
* Read the manifest of the committed generation.
|
|
70
|
+
* @param db - Project graph database.
|
|
71
|
+
* @returns The manifest, or `null` when the generation predates manifests.
|
|
72
|
+
* @throws When a stored manifest is malformed.
|
|
73
|
+
*/
|
|
74
|
+
export declare function readFileManifest(db: NodeSQLiteDatabase): GraphFileManifest | null;
|
|
75
|
+
/**
|
|
76
|
+
* Record what the last publishing analysis cost; advisory, used for estimates.
|
|
77
|
+
* @param db - Project graph database.
|
|
78
|
+
* @param cost - Summary and duration of the run.
|
|
79
|
+
*/
|
|
80
|
+
export declare function writeRunCost(db: NodeSQLiteDatabase, cost: GraphRunCost): void;
|
|
81
|
+
/**
|
|
82
|
+
* Read the last recorded run cost.
|
|
83
|
+
* @param db - Project graph database.
|
|
84
|
+
* @returns The cost, or `null` when none (or an unreadable one) is recorded.
|
|
85
|
+
*/
|
|
86
|
+
export declare function readRunCost(db: NodeSQLiteDatabase): GraphRunCost | null;
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=graph-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-manifest.d.ts","sourceRoot":"","sources":["../../src/nexus/graph-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAQlE,8DAA8D;AAC9D,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAE7F,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,EAAE,oBAAoB,CAAC;IAC9B,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AA0BD,iFAAiF;AACjF,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,IAAI,CACd,oBAAoB,EACpB,YAAY,GAAG,YAAY,GAAG,sBAAsB,GAAG,YAAY,CACpE,EACD,KAAK,EAAE,SAAS,YAAY,EAAE,GAC7B,iBAAiB,CAanB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAG3F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,kBAAkB,GAAG,IAAI,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,kBAAkB,GAAG,iBAAiB,GAAG,IAAI,CAMjF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAG7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAOvE"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compact per-generation bookkeeping for cheap freshness checks (T12316).
|
|
3
|
+
*
|
|
4
|
+
* The published `graph_assessment` carries every retained reference with its
|
|
5
|
+
* full evidence — 472 MB of JSON on this repository — so it cannot be read on
|
|
6
|
+
* the query path. The file manifest records only what a freshness check needs
|
|
7
|
+
* (path, size, mtime, content hash per indexed file), and the run summary
|
|
8
|
+
* records what the last analysis cost, so a refresh can be estimated before it
|
|
9
|
+
* is started. Both live in `_nexus_meta` next to the generation they describe.
|
|
10
|
+
*
|
|
11
|
+
* Code placed in `packages/core/` per Package-Boundary Check — verified against AGENTS.md.
|
|
12
|
+
*
|
|
13
|
+
* @task T12316
|
|
14
|
+
* @module nexus/graph-manifest
|
|
15
|
+
*/
|
|
16
|
+
import { sql } from 'drizzle-orm';
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
/** `_nexus_meta` key of the compact file manifest. */
|
|
19
|
+
const MANIFEST_KEY = 'graph_file_manifest';
|
|
20
|
+
/** `_nexus_meta` key of the last analysis run summary. */
|
|
21
|
+
const RUN_SUMMARY_KEY = 'graph_run_summary';
|
|
22
|
+
const manifestSchema = z.object({
|
|
23
|
+
generation: z.string().nullable(),
|
|
24
|
+
sourceRoot: z.string(),
|
|
25
|
+
includedRepositories: z.array(z.string()),
|
|
26
|
+
assessedAt: z.string(),
|
|
27
|
+
files: z.array(z.tuple([z.string(), z.number(), z.number(), z.string()])),
|
|
28
|
+
});
|
|
29
|
+
const runCostSchema = z.object({
|
|
30
|
+
summary: z.object({
|
|
31
|
+
mode: z.enum(['incremental', 'full', 'unchanged']),
|
|
32
|
+
reason: z.string(),
|
|
33
|
+
changedFiles: z.number(),
|
|
34
|
+
addedFiles: z.number(),
|
|
35
|
+
deletedFiles: z.number(),
|
|
36
|
+
parsedFiles: z.number(),
|
|
37
|
+
reusedFiles: z.number(),
|
|
38
|
+
resolvedFiles: z.number(),
|
|
39
|
+
phaseMs: z.record(z.string(), z.number()),
|
|
40
|
+
}),
|
|
41
|
+
durationMs: z.number(),
|
|
42
|
+
recordedAt: z.string(),
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Build the manifest for a generation from its observed files.
|
|
46
|
+
* @param assessment - Assessment of the generation (source root, scope, timestamp).
|
|
47
|
+
* @param files - Files whose size, mtime and hash were observed; others are omitted.
|
|
48
|
+
* @returns The compact manifest.
|
|
49
|
+
*/
|
|
50
|
+
export function buildFileManifest(assessment, files) {
|
|
51
|
+
const entries = [];
|
|
52
|
+
for (const file of files) {
|
|
53
|
+
if (file.contentHash && file.size !== undefined && file.mtimeMs !== undefined)
|
|
54
|
+
entries.push([file.path, file.size, file.mtimeMs, file.contentHash]);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
generation: assessment.generation ?? null,
|
|
58
|
+
sourceRoot: assessment.sourceRoot,
|
|
59
|
+
includedRepositories: [...(assessment.includedRepositories ?? [])],
|
|
60
|
+
assessedAt: assessment.assessedAt,
|
|
61
|
+
files: entries,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Write the manifest; call inside the transaction that publishes its generation.
|
|
66
|
+
* @param tx - Open transaction on the project graph database.
|
|
67
|
+
* @param manifest - Manifest of the generation being committed.
|
|
68
|
+
*/
|
|
69
|
+
export function writeFileManifest(tx, manifest) {
|
|
70
|
+
tx.run(sql `INSERT INTO main._nexus_meta (key, value) VALUES (${MANIFEST_KEY}, ${JSON.stringify(manifest)})
|
|
71
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = strftime('%s', 'now')`);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Remove the manifest; call when a generation is published without one, so a
|
|
75
|
+
* stale manifest can never describe a different generation.
|
|
76
|
+
* @param tx - Open transaction on the project graph database.
|
|
77
|
+
*/
|
|
78
|
+
export function clearFileManifest(tx) {
|
|
79
|
+
tx.run(sql `DELETE FROM main._nexus_meta WHERE key = ${MANIFEST_KEY}`);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Read the manifest of the committed generation.
|
|
83
|
+
* @param db - Project graph database.
|
|
84
|
+
* @returns The manifest, or `null` when the generation predates manifests.
|
|
85
|
+
* @throws When a stored manifest is malformed.
|
|
86
|
+
*/
|
|
87
|
+
export function readFileManifest(db) {
|
|
88
|
+
const value = db.values(sql `SELECT value FROM main._nexus_meta WHERE key = ${MANIFEST_KEY}`)[0]?.[0];
|
|
89
|
+
if (typeof value !== 'string')
|
|
90
|
+
return null;
|
|
91
|
+
return manifestSchema.parse(JSON.parse(value));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Record what the last publishing analysis cost; advisory, used for estimates.
|
|
95
|
+
* @param db - Project graph database.
|
|
96
|
+
* @param cost - Summary and duration of the run.
|
|
97
|
+
*/
|
|
98
|
+
export function writeRunCost(db, cost) {
|
|
99
|
+
db.run(sql `INSERT INTO main._nexus_meta (key, value) VALUES (${RUN_SUMMARY_KEY}, ${JSON.stringify(cost)})
|
|
100
|
+
ON CONFLICT(key) DO UPDATE SET value = excluded.value, updated_at = strftime('%s', 'now')`);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Read the last recorded run cost.
|
|
104
|
+
* @param db - Project graph database.
|
|
105
|
+
* @returns The cost, or `null` when none (or an unreadable one) is recorded.
|
|
106
|
+
*/
|
|
107
|
+
export function readRunCost(db) {
|
|
108
|
+
const value = db.values(sql `SELECT value FROM main._nexus_meta WHERE key = ${RUN_SUMMARY_KEY}`)[0]?.[0];
|
|
109
|
+
if (typeof value !== 'string')
|
|
110
|
+
return null;
|
|
111
|
+
const parsed = runCostSchema.safeParse(JSON.parse(value));
|
|
112
|
+
return parsed.success ? parsed.data : null;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=graph-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-manifest.js","sourceRoot":"","sources":["../../src/nexus/graph-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sDAAsD;AACtD,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,0DAA0D;AAC1D,MAAM,eAAe,GAAG,mBAAmB,CAAC;AA6B5C,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;QACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;QACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAC1C,CAAC;IACF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAUH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAGC,EACD,KAA8B;IAE9B,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,IAAI;QACzC,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,oBAAoB,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QAClE,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAsB,EAAE,QAA2B;IACnF,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qDAAqD,YAAY,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;8FACZ,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAAsB;IACtD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,4CAA4C,YAAY,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAsB;IACrD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CACrB,GAAG,CAAA,kDAAkD,YAAY,EAAE,CACpE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACV,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAAsB,EAAE,IAAkB;IACrE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAA,qDAAqD,eAAe,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;8FACX,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAsB;IAChD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CACrB,GAAG,CAAA,kDAAkD,eAAe,EAAE,CACvE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACV,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
|
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
* Code placed in `packages/core/` per Package-Boundary Check — verified
|
|
5
5
|
* against AGENTS.md. These services do not invoke a language model.
|
|
6
6
|
*/
|
|
7
|
-
import type { GraphIndexAssessment, KnowledgeCoverage, KnowledgeCoverageStatus, KnowledgeSymbolCandidate } from '@cleocode/contracts';
|
|
7
|
+
import type { GraphIndexAssessment, GraphIndexReferenceReport, KnowledgeCoverage, KnowledgeCoverageStatus, KnowledgeSymbolCandidate } from '@cleocode/contracts';
|
|
8
8
|
/**
|
|
9
9
|
* Read validated generation provenance without treating malformed metadata as healthy.
|
|
10
|
+
*
|
|
11
|
+
* T12348: this is the SUMMARY — the retained reference list is stored
|
|
12
|
+
* separately and reported as `referenceCount`; read it with
|
|
13
|
+
* {@link readKnowledgeIndexReferences}. A historical value with inline
|
|
14
|
+
* `references` is returned as stored.
|
|
10
15
|
* @param projectRoot - Explicit project root, or the ambient canonical project when omitted.
|
|
11
16
|
* @returns The published assessment, or null for a legacy generation.
|
|
12
17
|
* @remarks Reads only through the canonical project store. Malformed metadata throws.
|
|
@@ -16,6 +21,21 @@ import type { GraphIndexAssessment, KnowledgeCoverage, KnowledgeCoverageStatus,
|
|
|
16
21
|
* ```
|
|
17
22
|
*/
|
|
18
23
|
export declare function readKnowledgeIndexAssessment(projectRoot?: string): Promise<GraphIndexAssessment | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Read the published generation's retained reference list — the detail behind
|
|
26
|
+
* `referenceCount` (T12348).
|
|
27
|
+
*
|
|
28
|
+
* This is the expensive read (hundreds of MB on a large repository), so only
|
|
29
|
+
* explicit detail requests make it. A historical assessment with inline
|
|
30
|
+
* `references` is honoured; a published graph with neither yields an empty list.
|
|
31
|
+
* @param projectRoot - Explicit project root, or the ambient canonical project when omitted.
|
|
32
|
+
* @returns Every retained reference, validated; `null` when no graph is published.
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const references = await readKnowledgeIndexReferences(projectRoot);
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function readKnowledgeIndexReferences(projectRoot?: string): Promise<GraphIndexReferenceReport[] | null>;
|
|
19
39
|
/**
|
|
20
40
|
* An unresolved short name with exact identifiers the caller can choose from.
|
|
21
41
|
* @remarks Consumers preserve the candidate list in their error envelope.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/nexus/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,oBAAoB,EAEpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/nexus/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,oBAAoB,EAEpB,yBAAyB,EACzB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAsM7B;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsBtC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,CAkB7C;AAED;;;;;;;GAOG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,wBAAwB;IAErC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC;IAEhD;;;;OAIG;gBACS,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE;CAKlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,wBAAwB,EAAE,GACzC,wBAAwB,GAAG,IAAI,CAWjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,CAUN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,SAAO,GACd,OAAO,CAAC,iBAAiB,CAAC,CAS5B"}
|
package/dist/nexus/knowledge.js
CHANGED
|
@@ -16,6 +16,7 @@ import { z } from 'zod';
|
|
|
16
16
|
import { worktreeScope } from '../paths.js';
|
|
17
17
|
import { getProjectInfoSync } from '../project-info.js';
|
|
18
18
|
import { getNexusDb, getNexusNativeDb, nexusSchema } from '../store/nexus-sqlite.js';
|
|
19
|
+
import { ASSESSMENT_KEY, ASSESSMENT_REFERENCES_KEY, decodeStoredReferences, } from './assessment-store.js';
|
|
19
20
|
import { generateProjectHash } from './hash.js';
|
|
20
21
|
import { resolveSourceRoots } from './source-roots.js';
|
|
21
22
|
const execFileAsync = promisify(execFile);
|
|
@@ -135,6 +136,31 @@ const fileCapabilitiesSchema = z
|
|
|
135
136
|
message: 'A known role requires positive classification evidence',
|
|
136
137
|
});
|
|
137
138
|
});
|
|
139
|
+
/** One retained unresolved or unmodeled static reference (T12348: stored separately). */
|
|
140
|
+
const referenceSchema = z.object({
|
|
141
|
+
kind: z.enum(['unmodeled-source', 'ambiguous', 'external', 'dynamic', 'shadowed', 'unresolved']),
|
|
142
|
+
filePath: z.string(),
|
|
143
|
+
sourceId: z.string(),
|
|
144
|
+
targetId: z.string().optional(),
|
|
145
|
+
targetName: z.string(),
|
|
146
|
+
relationship: z.enum(['calls', 'accesses']),
|
|
147
|
+
reason: z.string(),
|
|
148
|
+
candidateIds: z.array(z.string()).optional(),
|
|
149
|
+
generation: z.string().optional(),
|
|
150
|
+
publicationGeneration: z.uuid().optional(),
|
|
151
|
+
span: z
|
|
152
|
+
.object({
|
|
153
|
+
startIndex: z.number().int().nonnegative(),
|
|
154
|
+
endIndex: z.number().int().nonnegative(),
|
|
155
|
+
startLine: z.number().int().positive(),
|
|
156
|
+
endLine: z.number().int().positive(),
|
|
157
|
+
startColumn: z.number().int().nonnegative(),
|
|
158
|
+
endColumn: z.number().int().nonnegative(),
|
|
159
|
+
offsetEncoding: z.literal('utf16'),
|
|
160
|
+
})
|
|
161
|
+
.refine((span) => span.endIndex >= span.startIndex && span.endLine >= span.startLine, 'Reference span must be an ordered original source range')
|
|
162
|
+
.optional(),
|
|
163
|
+
});
|
|
138
164
|
const assessmentSchema = z.object({
|
|
139
165
|
generation: z.uuid().optional(),
|
|
140
166
|
sourceRoots: sourceRootsSchema.optional(),
|
|
@@ -142,39 +168,8 @@ const assessmentSchema = z.object({
|
|
|
142
168
|
assessedRevision: z.string().nullable(),
|
|
143
169
|
assessedAt: z.string(),
|
|
144
170
|
includedRepositories: z.array(z.string()).optional(),
|
|
145
|
-
references: z
|
|
146
|
-
|
|
147
|
-
kind: z.enum([
|
|
148
|
-
'unmodeled-source',
|
|
149
|
-
'ambiguous',
|
|
150
|
-
'external',
|
|
151
|
-
'dynamic',
|
|
152
|
-
'shadowed',
|
|
153
|
-
'unresolved',
|
|
154
|
-
]),
|
|
155
|
-
filePath: z.string(),
|
|
156
|
-
sourceId: z.string(),
|
|
157
|
-
targetId: z.string().optional(),
|
|
158
|
-
targetName: z.string(),
|
|
159
|
-
relationship: z.enum(['calls', 'accesses']),
|
|
160
|
-
reason: z.string(),
|
|
161
|
-
candidateIds: z.array(z.string()).optional(),
|
|
162
|
-
generation: z.string().optional(),
|
|
163
|
-
publicationGeneration: z.uuid().optional(),
|
|
164
|
-
span: z
|
|
165
|
-
.object({
|
|
166
|
-
startIndex: z.number().int().nonnegative(),
|
|
167
|
-
endIndex: z.number().int().nonnegative(),
|
|
168
|
-
startLine: z.number().int().positive(),
|
|
169
|
-
endLine: z.number().int().positive(),
|
|
170
|
-
startColumn: z.number().int().nonnegative(),
|
|
171
|
-
endColumn: z.number().int().nonnegative(),
|
|
172
|
-
offsetEncoding: z.literal('utf16'),
|
|
173
|
-
})
|
|
174
|
-
.refine((span) => span.endIndex >= span.startIndex && span.endLine >= span.startLine, 'Reference span must be an ordered original source range')
|
|
175
|
-
.optional(),
|
|
176
|
-
}))
|
|
177
|
-
.optional(),
|
|
171
|
+
references: z.array(referenceSchema).optional(),
|
|
172
|
+
referenceCount: z.number().int().nonnegative().optional(),
|
|
178
173
|
files: z.array(z.object({
|
|
179
174
|
path: z.string(),
|
|
180
175
|
status: z.enum(['analyzed', 'excluded', 'unsupported', 'oversized', 'failed']),
|
|
@@ -187,6 +182,11 @@ const assessmentSchema = z.object({
|
|
|
187
182
|
});
|
|
188
183
|
/**
|
|
189
184
|
* Read validated generation provenance without treating malformed metadata as healthy.
|
|
185
|
+
*
|
|
186
|
+
* T12348: this is the SUMMARY — the retained reference list is stored
|
|
187
|
+
* separately and reported as `referenceCount`; read it with
|
|
188
|
+
* {@link readKnowledgeIndexReferences}. A historical value with inline
|
|
189
|
+
* `references` is returned as stored.
|
|
190
190
|
* @param projectRoot - Explicit project root, or the ambient canonical project when omitted.
|
|
191
191
|
* @returns The published assessment, or null for a legacy generation.
|
|
192
192
|
* @remarks Reads only through the canonical project store. Malformed metadata throws.
|
|
@@ -201,8 +201,8 @@ export async function readKnowledgeIndexAssessment(projectRoot) {
|
|
|
201
201
|
if (!native)
|
|
202
202
|
throw new Error('The graph database is unavailable.');
|
|
203
203
|
const row = native
|
|
204
|
-
.prepare(
|
|
205
|
-
.get();
|
|
204
|
+
.prepare('SELECT value FROM main._nexus_meta WHERE key = ?')
|
|
205
|
+
.get(ASSESSMENT_KEY);
|
|
206
206
|
if (!row)
|
|
207
207
|
return null;
|
|
208
208
|
if (typeof row.value !== 'string')
|
|
@@ -219,6 +219,42 @@ export async function readKnowledgeIndexAssessment(projectRoot) {
|
|
|
219
219
|
}
|
|
220
220
|
return assessment;
|
|
221
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Read the published generation's retained reference list — the detail behind
|
|
224
|
+
* `referenceCount` (T12348).
|
|
225
|
+
*
|
|
226
|
+
* This is the expensive read (hundreds of MB on a large repository), so only
|
|
227
|
+
* explicit detail requests make it. A historical assessment with inline
|
|
228
|
+
* `references` is honoured; a published graph with neither yields an empty list.
|
|
229
|
+
* @param projectRoot - Explicit project root, or the ambient canonical project when omitted.
|
|
230
|
+
* @returns Every retained reference, validated; `null` when no graph is published.
|
|
231
|
+
* @example
|
|
232
|
+
* ```ts
|
|
233
|
+
* const references = await readKnowledgeIndexReferences(projectRoot);
|
|
234
|
+
* ```
|
|
235
|
+
*/
|
|
236
|
+
export async function readKnowledgeIndexReferences(projectRoot) {
|
|
237
|
+
const assessment = await readKnowledgeIndexAssessment(projectRoot);
|
|
238
|
+
if (!assessment)
|
|
239
|
+
return null;
|
|
240
|
+
if (assessment.references)
|
|
241
|
+
return assessment.references;
|
|
242
|
+
const native = getNexusNativeDb(projectRoot);
|
|
243
|
+
if (!native)
|
|
244
|
+
throw new Error('The graph database is unavailable.');
|
|
245
|
+
const row = native
|
|
246
|
+
.prepare('SELECT value FROM main._nexus_meta WHERE key = ?')
|
|
247
|
+
.get(ASSESSMENT_REFERENCES_KEY);
|
|
248
|
+
if (!row) {
|
|
249
|
+
if ((assessment.referenceCount ?? 0) > 0)
|
|
250
|
+
throw new Error('Graph assessment reports references, but none are stored.');
|
|
251
|
+
return [];
|
|
252
|
+
}
|
|
253
|
+
const references = z.array(referenceSchema).parse(JSON.parse(decodeStoredReferences(row.value)));
|
|
254
|
+
if (assessment.referenceCount !== undefined && references.length !== assessment.referenceCount)
|
|
255
|
+
throw new Error('Stored graph references disagree with the assessment reference count.');
|
|
256
|
+
return references;
|
|
257
|
+
}
|
|
222
258
|
/**
|
|
223
259
|
* An unresolved short name with exact identifiers the caller can choose from.
|
|
224
260
|
* @remarks Consumers preserve the candidate list in their error envelope.
|
|
@@ -589,8 +625,9 @@ async function assessCoverage(projectRoot, projectId, deadline, coverage, invent
|
|
|
589
625
|
}
|
|
590
626
|
if (files.length === 0)
|
|
591
627
|
recordKnowledgeGap(coverage, 'missing', 'The published graph has no indexed nodes.');
|
|
592
|
-
|
|
593
|
-
|
|
628
|
+
const referenceCount = assessment.referenceCount ?? assessment.references?.length ?? 0;
|
|
629
|
+
if (referenceCount > 0) {
|
|
630
|
+
recordKnowledgeGap(coverage, 'partial', `${referenceCount} unresolved or unmodeled static references remain; known callers are incomplete. Inspect them with cleo nexus status --references.`);
|
|
594
631
|
coverage.nextAction = 'cleo nexus status';
|
|
595
632
|
}
|
|
596
633
|
for (const file of assessment.files) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/nexus/knowledge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/nexus/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAStC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,gBAAgB,GAAG,CAAC;KACvB,MAAM,CAAC;IACN,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAC1E,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC,CAAC,QAAQ,EAAE;IAC1F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC/B,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,KAAK,CAAC,iCAAiC,CAAC;SACxC,QAAQ,EAAE;IACb,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5E,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC;KACD,WAAW,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7B,IACE,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC;QACrD,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,CAAC,IAAI,CAAC,kBAAkB;YACtB,IAAI,CAAC,aAAa,KAAK,IAAI;YAC3B,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC;QAE5C,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kDAAkD;SAC5D,CAAC,CAAC;IACL,IACE,IAAI,CAAC,MAAM,KAAK,WAAW;QACzB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa;QACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;QAEtD,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wDAAwD;SAClE,CAAC,CAAC;IACL,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,kBAAkB;QAC1D,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,yDAAyD;SACnE,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEL,MAAM,iBAAiB,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC;KACD,WAAW,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE;IACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACpC,IACE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9B,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAClE,OAAO,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,aAAa;YAEvE,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAC1F,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,aAAa;YAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,KAAK,EAAE;QACzC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;AAC/F,CAAC,CAAC,CAAC;AAEL,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,eAAe;IACf,sBAAsB;IACtB,wBAAwB;IACxB,iBAAiB;IACjB,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,SAAS;IACT,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,oBAAoB;IACpB,gBAAgB;IAChB,cAAc;IACd,iBAAiB;IACjB,wBAAwB;IACxB,wBAAwB;CACzB,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,YAAY;QACZ,KAAK;QACL,eAAe;QACf,eAAe;QACf,QAAQ;QACR,gBAAgB;QAChB,MAAM;QACN,OAAO;QACP,SAAS;KACV,CAAC;IACF,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,wCAAwC,CAAC;KAC1F,CAAC;IACF,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,wBAAwB,CAAC;SAC/B,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAClD,uCAAuC,CACxC;IACH,SAAS,EAAE,CAAC;SACT,KAAK,CAAC,wBAAwB,CAAC;SAC/B,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAClD,uCAAuC,CACxC;IACH,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACjC,CAAC;KACD,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9B,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7E,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,KAAK,SAAS;QACtE,OAAO,CAAC,QAAQ,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,wDAAwD;SAClE,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEL,yFAAyF;AACzF,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAChG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,qBAAqB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC1C,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACzC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;KACnC,CAAC;SACD,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAC5E,yDAAyD,CAC1D;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IACzD,KAAK,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC9E,YAAY,EAAE,sBAAsB,CAAC,QAAQ,EAAE;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CACH;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,WAAoB;IAEpB,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,MAAM;SACf,OAAO,CAAC,kDAAkD,CAAC;SAC3D,GAAG,CAAC,cAAc,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK;aAC1C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;aACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,IACE,UAAU,CAAC,WAAW,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;YAC3D,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,UAAU,CAAC,gBAAgB;YACzE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,oBAAoB,IAAI,EAAE,CAAC;YAElF,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,WAAoB;IAEpB,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,UAAU,CAAC,UAAU;QAAE,OAAO,UAAU,CAAC,UAAU,CAAC;IACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,MAAM;SACf,OAAO,CAAC,kDAAkD,CAAC;SAC3D,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,CAAC,UAAU,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjG,IAAI,UAAU,CAAC,cAAc,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,cAAc;QAC5F,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,4CAA4C;IACnC,IAAI,GAAG,oBAAoB,CAAC;IAErC,uEAAuE;IAC9D,UAAU,CAA6B;IAEhD;;;;OAIG;IACH,YAAY,KAAa,EAAE,UAAsC;QAC/D,KAAK,CAAC,WAAW,KAAK,oDAAoD,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,KAA0C;IAE1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;IACxD,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChG,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM;QAC1B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACxF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA2B,EAC3B,MAA+B,EAC/B,MAAc;IAEd,MAAM,QAAQ,GAA4C;QACxD,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;KACV,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;IAC3E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,WAAmB,EACnB,SAAkB,EAClB,QAAQ,GAAG,IAAI;IAEf,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;IAC3C,IAAI,SAAS,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,YAAY;QAC5F,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,OAAO,aAAa,CAAC,GAAG,CACtB,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,CAAC,YAAY,CAAC,EAAE,EAC5F,GAAG,EAAE,CAAC,oBAAoB,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAC9D,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,SAAS,mBAAmB,CAAC,QAA2B;IACtD,kBAAkB,CAChB,QAAQ,EACR,SAAS,EACT,+DAA+D,CAChE,CAAC;IACF,QAAQ,CAAC,gBAAgB,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,UAAU,GAAG,uBAAuB,CAAC;AAChD,CAAC;AAED,wFAAwF;AACxF,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,SAA6B,EAC7B,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAgD;QAC7D,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,CAAC;KACV,CAAC;IACF,MAAM,YAAY,GAAmD;QACnE,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,CAAC;QACd,eAAe,EAAE,CAAC;QAClB,qBAAqB,EAAE,CAAC;QACxB,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;KACjB,CAAC;IACF,MAAM,QAAQ,GAAsB;QAClC,YAAY;QACZ,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,WAAW,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;QAC9F,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACpC,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,CAAC,6EAA6E,CAAC;QAC5F,SAAS;KACV,CAAC;IACF,IAAI,KAAgD,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAoB,CAAC,eAAe,EAAE,EAAE;QAClE,KAAK,GAAG,UAAU,CAChB,GAAG,EAAE;YACH,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9B,yEAAyE;YACzE,8DAA8D;YAC9D,eAAe,CAAC;gBACd,GAAG,QAAQ;gBACX,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE;gBAC3B,YAAY,EAAE,eAAe,CAAC,YAAY,CAAC;gBAC3C,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC9B,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAChC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;aACvC,CAAC,CAAC;QACL,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CACnC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACxB,cAAc,CAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;YACrE,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,SAAS,sBAAsB,CAAC,IAA0B,EAAE,QAA2B;IACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,QAAQ,CAAC,WAAW,CAAC,IAAI,CACvB,oBAAoB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,8BAA8B,EAAE,CAClF,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,CAAC,eAAe,EAAE,CAAC;IAChE,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,UAAU,GAAG,IAAI,CAAC;QAClB,kBAAkB,CAChB,QAAQ,EACR,SAAS,EACT,uDAAuD,IAAI,CAAC,IAAI,EAAE,CACnE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACrE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI;gBAChD,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBACjB,eAAe,EAAE,CAAC;aACnB,CAAC;YACF,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,KAAK,CAAC,cAAc,EAAE,CAAC;;gBAC7D,KAAK,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAChG,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YACvD,CAAC,CAAE;gBACC,eAAe;gBACf,cAAc;gBACd,SAAS;gBACT,iBAAiB;gBACjB,mBAAmB;gBACnB,eAAe;aACN;YACb,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;gBACrB,CAAC,CAAE;oBACC,eAAe;oBACf,oBAAoB;oBACpB,gBAAgB;oBAChB,cAAc;oBACd,iBAAiB;oBACjB,wBAAwB;oBACxB,wBAAwB;iBACf;gBACb,CAAC,CAAE,CAAC,eAAe,CAAW,CAAC;QACrC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5F,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtE,UAAU,GAAG,IAAI,CAAC;YAClB,kBAAkB,CAChB,QAAQ,EACR,SAAS,EACT,cAAc,MAAM,CAAC,IAAI,kBAAkB,IAAI,CAAC,IAAI,iBAAiB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,iBAAiB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CACnJ,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW;YACzC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,qBAAqB,EAAE,CAAC;QAChC,UAAU,GAAG,IAAI,CAAC;QAClB,kBAAkB,CAChB,QAAQ,EACR,QAAQ,EACR,sBAAsB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1E,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACjE,IACE,CAAC,MAAM;YACP,MAAM,CAAC,IAAI,KAAK,YAAY;YAC5B,MAAM,CAAC,IAAI,KAAK,KAAK;YACrB,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,UAAU,EACV,CAAC;YACD,UAAU,GAAG,IAAI,CAAC;YAClB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;;YACC,QAAQ,CAAC,WAAW,CAAC,IAAI,CACvB,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvE,CAAC;IACN,CAAC;IACD,IAAI,UAAU;QAAE,OAAO,CAAC,eAAe,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,cAAc,CAC3B,WAAmB,EACnB,SAA6B,EAC7B,QAAgB,EAChB,QAA2B,EAC3B,SAAsD;IAEtD,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9B,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC;QACrC,MAAM,KAAK,GAAG,EAAE;aACb,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;aACrE,IAAI,CAAC,KAAK,CAAC;aACX,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;aACvB,GAAG,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;YACxB,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;YACzB,QAAQ,CAAC,YAAY,GAAG;gBACtB,cAAc,EAAE,CAAC;gBACjB,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,CAAC;gBAClB,qBAAqB,EAAE,CAAC;gBACxB,MAAM,EAAE,EAAE;gBACV,YAAY,EAAE,EAAE;aACjB,CAAC;YACF,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAChF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YAClF,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;YACzC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;YAC1C,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBAC1B,QAAQ,CAAC,YAAY,CAAC,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC1D,QAAQ,CAAC,YAAY,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;gBAC3D,QAAQ,CAAC,YAAY,CAAC,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YACrF,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;YACvD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE;wBACnE,GAAG,EAAE,UAAU;wBACf,OAAO,EAAE,GAAG;qBACb,CAAC,CAAC;oBACH,QAAQ,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;gBACpD,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBACnC,CAAC;gBACD,QAAQ,CAAC,MAAM;oBACb,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBAChF,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBAC5D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;gBAClF,CAAC;qBAAM,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,CAAC,gBAAgB,EAAE,CAAC;oBAClE,kBAAkB,CAChB,QAAQ,EACR,OAAO,EACP,wDAAwD,CACzD,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,gBAAgB,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC7E,IACE,UAAU,CAAC,WAAW,CAAC,WAAW,KAAK,YAAY,CAAC,WAAW,CAAC;oBAChE,CAAC,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;oBAEzF,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC3F,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC;gBACtD,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5B,kBAAkB,CAChB,QAAQ,EACR,SAAS,EACT,gFAAgF,CACjF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC;oBACxC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,SAAS;oBAC3C,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,WAAW;oBAC/C,UAAU;oBACV,QAAQ;oBACR,oBAAoB,EAClB,UAAU,CAAC,oBAAoB;wBAC/B,UAAU,CAAC,WAAW,CAAC,KAAK;6BACzB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC;6BACzC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;iBACrC,CAAC,CAAC;gBACH,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;gBAChE,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM;oBAC/D,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,4CAA4C,CAAC,CAAC;gBACtF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAC/C,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAC1D,CAAC;oBACF,IACE,CAAC,OAAO;wBACR,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa;wBAC5C,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;wBAElC,kBAAkB,CAChB,QAAQ,EACR,OAAO,EACP,yCAAyC,IAAI,CAAC,aAAa,EAAE,CAC9D,CAAC;oBACJ,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW;wBAC7B,kBAAkB,CAChB,QAAQ,EACR,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC5E,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxD,CAAC;oBACJ,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACrB,EAAE,EAAE,eAAe,IAAI,CAAC,WAAW,IAAI,GAAG,EAAE;wBAC5C,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,MAAM,EAAE,OAAO;wBACf,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,IAAI;wBACnC,SAAS,EAAE,SAAS;qBACrB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBACpB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,2CAA2C,CAAC,CAAC;YACvF,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;YACvF,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACvB,kBAAkB,CAChB,QAAQ,EACR,SAAS,EACT,GAAG,cAAc,oIAAoI,CACtJ,CAAC;gBACF,QAAQ,CAAC,UAAU,GAAG,mBAAmB,CAAC;YAC5C,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAC9B,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,sBAAsB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAC9B,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACpD,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC9D,SAAS,CAAC,MAAM,EAAE,CAAC;oBACnB,SAAS,CAAC,SAAS,EAAE,CAAC;oBACtB,SAAS,CAAC,UAAU,EAAE,CAAC;oBACvB,kBAAkB,CAChB,QAAQ,EACR,QAAQ,EACR,6CAA6C,IAAI,CAAC,IAAI,EAAE,CACzD,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;wBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAC9B,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC5E,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACtB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvF,QAAQ,CAAC,UAAU,GAAG,oBAAoB,CAAC;oBAC7C,CAAC;yBAAM,CAAC;wBACN,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;4BAC1C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;yBAChE,CAAC,CAAC;wBACH,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;4BAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;4BAC9B,OAAO,QAAQ,CAAC;wBAClB,CAAC;wBACD,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;4BAC5E,OAAO,GAAG,IAAI,CAAC;4BACf,kBAAkB,CAChB,QAAQ,EACR,OAAO,EACP,0CAA0C,IAAI,CAAC,IAAI,EAAE,CACtD,CAAC;4BACF,QAAQ,CAAC,UAAU,GAAG,oBAAoB,CAAC;wBAC7C,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC1D,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,+BAA+B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACtF,CAAC;yBAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;wBACpE,OAAO,GAAG,IAAI,CAAC;wBACf,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAkC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACvF,CAAC;oBACD,IAAI,OAAO;wBAAE,SAAS,CAAC,OAAO,EAAE,CAAC;gBACnC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;wBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAC9B,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBACD,IACE,KAAK,YAAY,KAAK;wBACtB,MAAM,IAAI,KAAK;wBACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EACrD,CAAC;wBACD,SAAS,CAAC,OAAO,EAAE,CAAC;wBACpB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACnF,CAAC;yBAAM,CAAC;wBACN,SAAS,CAAC,MAAM,EAAE,CAAC;wBACnB,kBAAkB,CAChB,QAAQ,EACR,QAAQ,EACR,iCAAiC,IAAI,CAAC,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxG,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,SAAS,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,CAAC,UAAU,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACpC,KAAK,EACL,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,CAAC,EAChE;oBACE,GAAG,EAAE,UAAU;oBACf,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAC1D,SAAS,EAAE,IAAI,GAAG,IAAI;iBACvB,CACF,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/E,IAAI,KAAK,CAAC,MAAM;oBACd,kBAAkB,CAChB,QAAQ,EACR,SAAS,EACT,sDAAsD,CACvD,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;oBAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;;oBACrD,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,2CAA2C,CAAC,CAAC;YAC5F,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;gBAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC1D,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACrB,EAAE,EAAE,kBAAkB;gBACtB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,QAAQ,CAAC,eAAe;gBAClC,SAAS,EAAE,SAAS;aACrB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,8EAA8E,CAC/E,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,EAAE,EAAE,aAAa;YACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QACnE,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC;QACzC,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;QAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;gBAC9B,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,SAAS,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,CAAC,UAAU,EAAE,CAAC;gBACvB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,+BAA+B,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9D,SAAS,CAAC,MAAM,EAAE,CAAC;gBACnB,SAAS,CAAC,SAAS,EAAE,CAAC;gBACtB,SAAS,CAAC,UAAU,EAAE,CAAC;gBACvB,kBAAkB,CAChB,QAAQ,EACR,QAAQ,EACR,8CAA8C,IAAI,CAAC,QAAQ,EAAE,CAC9D,CAAC;gBACF,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,SAAS;oBAChB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,0CAA0C,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnF,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;wBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;wBAC9B,OAAO,QAAQ,CAAC;oBAClB,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC5E,IAAI,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE,CAAC;wBAC7B,SAAS,CAAC,OAAO,EAAE,CAAC;wBACpB,kBAAkB,CAChB,QAAQ,EACR,OAAO,EACP,kCAAkC,IAAI,CAAC,QAAQ,EAAE,CAClD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;oBAC3B,mBAAmB,CAAC,QAAQ,CAAC,CAAC;oBAC9B,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBACD,IACE,KAAK,YAAY,KAAK;oBACtB,MAAM,IAAI,KAAK;oBACf,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EACrD,CAAC;oBACD,SAAS,CAAC,OAAO,EAAE,CAAC;oBACpB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,8BAA8B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,MAAM,EAAE,CAAC;oBACnB,kBAAkB,CAChB,QAAQ,EACR,QAAQ,EACR,iCAAiC,IAAI,CAAC,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5G,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,SAAS,CAAC,SAAS,EAAE,CAAC;YACtB,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,IAAI,CACnB,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device-local project path map (`nexus_project_paths`).
|
|
3
|
+
*
|
|
4
|
+
* The registry row is keyed by the immutable `project_id` (ADR-094), so its
|
|
5
|
+
* `project_path` names one checkout — the one encountered most recently. The
|
|
6
|
+
* path map records EVERY checkout of a project on this device, keyed by path,
|
|
7
|
+
* so two checkouts of one project coexist instead of fighting over one row.
|
|
8
|
+
*
|
|
9
|
+
* Every writer that records a checkout in the registry records it here in the
|
|
10
|
+
* same transaction: encounter registration, `nexusRegister`, `nexusReconcile`
|
|
11
|
+
* and `nexusMoveProject`. Rows whose directory is gone are pruned when their
|
|
12
|
+
* project is next recorded, so a move leaves one checkout, not two.
|
|
13
|
+
*
|
|
14
|
+
* @task T12354
|
|
15
|
+
*/
|
|
16
|
+
import type { NexusProjectCheckout } from '@cleocode/contracts';
|
|
17
|
+
import type { NodeSQLiteDatabase } from 'drizzle-orm/node-sqlite';
|
|
18
|
+
/** A registry handle or an open transaction on one. */
|
|
19
|
+
export type PathMapWriter = Pick<NodeSQLiteDatabase, 'select' | 'insert' | 'delete'>;
|
|
20
|
+
/** One checkout to record. */
|
|
21
|
+
export interface ProjectCheckoutRecord {
|
|
22
|
+
/** Immutable project id. */
|
|
23
|
+
projectId: string;
|
|
24
|
+
/** Absolute checkout root. */
|
|
25
|
+
projectPath: string;
|
|
26
|
+
/** Path fingerprint of the checkout. */
|
|
27
|
+
projectHash: string;
|
|
28
|
+
/** ISO 8601 timestamp of the encounter. */
|
|
29
|
+
now: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Record a checkout in the path map and prune this project's vanished paths.
|
|
33
|
+
*
|
|
34
|
+
* A path belongs to exactly one project, so recording it re-points a row that
|
|
35
|
+
* previously named another project. Runs synchronously so it composes with the
|
|
36
|
+
* registry writers' immediate transactions.
|
|
37
|
+
*
|
|
38
|
+
* @param db - Registry handle or transaction.
|
|
39
|
+
* @param record - The checkout encountered.
|
|
40
|
+
* @returns Number of vanished checkouts pruned for this project.
|
|
41
|
+
*/
|
|
42
|
+
export declare function recordProjectCheckout(db: PathMapWriter, record: ProjectCheckoutRecord): number;
|
|
43
|
+
/**
|
|
44
|
+
* List every recorded checkout of a project on this device, newest first.
|
|
45
|
+
*
|
|
46
|
+
* @param projectId - Immutable project id.
|
|
47
|
+
* @returns Checkouts with an `exists` flag; a vanished one stays listed until
|
|
48
|
+
* the project is next recorded.
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const checkouts = await listProjectCheckouts(projectId);
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare function listProjectCheckouts(projectId: string): Promise<NexusProjectCheckout[]>;
|
|
55
|
+
//# sourceMappingURL=path-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-map.d.ts","sourceRoot":"","sources":["../../src/nexus/path-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAErF,8BAA8B;AAC9B,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAgC9F;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAiB7F"}
|