@monoes/monograph 1.5.7 → 1.5.8
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/README.md +9 -9
- package/dist/src/analysis/changed-files.d.ts +3 -0
- package/dist/src/analysis/changed-files.d.ts.map +1 -1
- package/dist/src/analysis/changed-files.js +11 -9
- package/dist/src/analysis/changed-files.js.map +1 -1
- package/dist/src/analysis/changed-workspaces.d.ts.map +1 -1
- package/dist/src/analysis/changed-workspaces.js +2 -9
- package/dist/src/analysis/changed-workspaces.js.map +1 -1
- package/dist/src/analysis/git-changed-files.d.ts +3 -0
- package/dist/src/analysis/git-changed-files.d.ts.map +1 -1
- package/dist/src/analysis/git-changed-files.js +17 -12
- package/dist/src/analysis/git-changed-files.js.map +1 -1
- package/dist/src/analysis/git-ref.d.ts +33 -0
- package/dist/src/analysis/git-ref.d.ts.map +1 -0
- package/dist/src/analysis/git-ref.js +54 -0
- package/dist/src/analysis/git-ref.js.map +1 -0
- package/dist/src/analyze/boundary-analysis.d.ts.map +1 -1
- package/dist/src/analyze/boundary-analysis.js +42 -42
- package/dist/src/analyze/boundary-analysis.js.map +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lsp/server.d.ts +1 -1
- package/dist/src/lsp/server.d.ts.map +1 -1
- package/dist/src/lsp/server.js +48 -13
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/mcp-tools/api-impact.d.ts.map +1 -1
- package/dist/src/mcp-tools/api-impact.js +1 -16
- package/dist/src/mcp-tools/api-impact.js.map +1 -1
- package/dist/src/mcp-tools/context.d.ts.map +1 -1
- package/dist/src/mcp-tools/context.js +12 -23
- package/dist/src/mcp-tools/context.js.map +1 -1
- package/dist/src/mcp-tools/explain.d.ts.map +1 -1
- package/dist/src/mcp-tools/explain.js +15 -20
- package/dist/src/mcp-tools/explain.js.map +1 -1
- package/dist/src/mcp-tools/graph-query.d.ts.map +1 -1
- package/dist/src/mcp-tools/graph-query.js +10 -19
- package/dist/src/mcp-tools/graph-query.js.map +1 -1
- package/dist/src/mcp-tools/impact.d.ts.map +1 -1
- package/dist/src/mcp-tools/impact.js +38 -32
- package/dist/src/mcp-tools/impact.js.map +1 -1
- package/dist/src/mcp-tools/neighbors.d.ts.map +1 -1
- package/dist/src/mcp-tools/neighbors.js +4 -22
- package/dist/src/mcp-tools/neighbors.js.map +1 -1
- package/dist/src/mcp-tools/query.d.ts.map +1 -1
- package/dist/src/mcp-tools/query.js +14 -9
- package/dist/src/mcp-tools/query.js.map +1 -1
- package/dist/src/mcp-tools/rename.d.ts.map +1 -1
- package/dist/src/mcp-tools/rename.js +3 -20
- package/dist/src/mcp-tools/rename.js.map +1 -1
- package/dist/src/parsers/c.d.ts.map +1 -1
- package/dist/src/parsers/c.js +12 -0
- package/dist/src/parsers/c.js.map +1 -1
- package/dist/src/parsers/extractor.d.ts.map +1 -1
- package/dist/src/parsers/extractor.js +2 -1
- package/dist/src/parsers/extractor.js.map +1 -1
- package/dist/src/parsers/go.d.ts.map +1 -1
- package/dist/src/parsers/go.js +19 -1
- package/dist/src/parsers/go.js.map +1 -1
- package/dist/src/parsers/language-config.d.ts +4 -0
- package/dist/src/parsers/language-config.d.ts.map +1 -1
- package/dist/src/parsers/language-parsers.d.ts.map +1 -1
- package/dist/src/parsers/language-parsers.js +3 -1
- package/dist/src/parsers/language-parsers.js.map +1 -1
- package/dist/src/parsers/loader.d.ts +1 -0
- package/dist/src/parsers/loader.d.ts.map +1 -1
- package/dist/src/parsers/loader.js +161 -20
- package/dist/src/parsers/loader.js.map +1 -1
- package/dist/src/parsers/python.d.ts.map +1 -1
- package/dist/src/parsers/python.js +6 -0
- package/dist/src/parsers/python.js.map +1 -1
- package/dist/src/parsers/rust.d.ts.map +1 -1
- package/dist/src/parsers/rust.js +10 -0
- package/dist/src/parsers/rust.js.map +1 -1
- package/dist/src/pipeline/orchestrator.d.ts.map +1 -1
- package/dist/src/pipeline/orchestrator.js +17 -0
- package/dist/src/pipeline/orchestrator.js.map +1 -1
- package/dist/src/pipeline/phases/pdf-parse.d.ts.map +1 -1
- package/dist/src/pipeline/phases/pdf-parse.js +10 -11
- package/dist/src/pipeline/phases/pdf-parse.js.map +1 -1
- package/dist/src/storage/edge-store.d.ts +1 -0
- package/dist/src/storage/edge-store.d.ts.map +1 -1
- package/dist/src/storage/edge-store.js +5 -8
- package/dist/src/storage/edge-store.js.map +1 -1
- package/dist/src/storage/node-store.d.ts +1 -0
- package/dist/src/storage/node-store.d.ts.map +1 -1
- package/dist/src/storage/node-store.js +11 -12
- package/dist/src/storage/node-store.js.map +1 -1
- package/dist/src/storage/schema.d.ts.map +1 -1
- package/dist/src/storage/schema.js +6 -0
- package/dist/src/storage/schema.js.map +1 -1
- package/dist/src/storage/utils.d.ts +11 -0
- package/dist/src/storage/utils.d.ts.map +1 -0
- package/dist/src/storage/utils.js +24 -0
- package/dist/src/storage/utils.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/src/fix/deps.d.ts +0 -14
- package/dist/src/fix/deps.d.ts.map +0 -1
- package/dist/src/fix/deps.js +0 -47
- package/dist/src/fix/deps.js.map +0 -1
- package/dist/src/fix/enum-members.d.ts +0 -20
- package/dist/src/fix/enum-members.d.ts.map +0 -1
- package/dist/src/fix/enum-members.js +0 -95
- package/dist/src/fix/enum-members.js.map +0 -1
- package/dist/src/fix/export-surgery.d.ts +0 -14
- package/dist/src/fix/export-surgery.d.ts.map +0 -1
- package/dist/src/fix/export-surgery.js +0 -140
- package/dist/src/fix/export-surgery.js.map +0 -1
- package/dist/src/fix/exports.d.ts +0 -16
- package/dist/src/fix/exports.d.ts.map +0 -1
- package/dist/src/fix/exports.js +0 -65
- package/dist/src/fix/exports.js.map +0 -1
- package/dist/src/fix/orchestrator.d.ts +0 -28
- package/dist/src/fix/orchestrator.d.ts.map +0 -1
- package/dist/src/fix/orchestrator.js +0 -39
- package/dist/src/fix/orchestrator.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { toNormLabel, MonographError } from '../types.js';
|
|
2
|
+
import { safeJsonParse } from './utils.js';
|
|
2
3
|
export function insertNode(db, node) {
|
|
3
4
|
db.prepare(`
|
|
4
5
|
INSERT OR REPLACE INTO nodes
|
|
@@ -43,15 +44,11 @@ export function getNodesByIds(db, ids) {
|
|
|
43
44
|
return results;
|
|
44
45
|
}
|
|
45
46
|
export function getNode(db, id) {
|
|
46
|
-
const row = db
|
|
47
|
-
.prepare('SELECT * FROM nodes WHERE id = ?')
|
|
48
|
-
.get(id);
|
|
47
|
+
const row = db.prepare('SELECT * FROM nodes WHERE id = ?').get(id);
|
|
49
48
|
return row ? rowToNode(row) : undefined;
|
|
50
49
|
}
|
|
51
50
|
export function getNodesForFile(db, filePath) {
|
|
52
|
-
const rows = db
|
|
53
|
-
.prepare('SELECT * FROM nodes WHERE file_path = ?')
|
|
54
|
-
.all(filePath);
|
|
51
|
+
const rows = db.prepare('SELECT * FROM nodes WHERE file_path = ?').all(filePath);
|
|
55
52
|
return rows.map(rowToNode);
|
|
56
53
|
}
|
|
57
54
|
export function deleteNodesForFile(db, filePath) {
|
|
@@ -67,7 +64,7 @@ function rowToPropDef(row) {
|
|
|
67
64
|
type: row.type,
|
|
68
65
|
cardinality: row.cardinality,
|
|
69
66
|
viewContext: row.view_context,
|
|
70
|
-
closedValues:
|
|
67
|
+
closedValues: safeJsonParse(row.closed_values, null),
|
|
71
68
|
description: row.description ?? null,
|
|
72
69
|
queryable: row.queryable === 1,
|
|
73
70
|
};
|
|
@@ -112,14 +109,16 @@ export function queryByProperty(db, ident, value, comparator = '=', limit = 100)
|
|
|
112
109
|
throw new MonographError(`Property '${ident}' is not queryable (view_context may be 'never' or queryable=false).`);
|
|
113
110
|
}
|
|
114
111
|
const extractExpr = `json_extract(properties, '$.${ident}')`;
|
|
115
|
-
const rows = db
|
|
112
|
+
const rows = db
|
|
113
|
+
.prepare(`
|
|
116
114
|
SELECT id, name, label, file_path, ${extractExpr} AS property_value
|
|
117
115
|
FROM nodes
|
|
118
116
|
WHERE properties IS NOT NULL
|
|
119
117
|
AND ${extractExpr} ${comparator} ?
|
|
120
118
|
LIMIT ?
|
|
121
|
-
`)
|
|
122
|
-
|
|
119
|
+
`)
|
|
120
|
+
.all(value, limit);
|
|
121
|
+
return rows.map((r) => ({
|
|
123
122
|
id: r.id,
|
|
124
123
|
name: r.name,
|
|
125
124
|
label: r.label,
|
|
@@ -127,7 +126,7 @@ export function queryByProperty(db, ident, value, comparator = '=', limit = 100)
|
|
|
127
126
|
propertyValue: r.property_value,
|
|
128
127
|
}));
|
|
129
128
|
}
|
|
130
|
-
function rowToNode(row) {
|
|
129
|
+
export function rowToNode(row) {
|
|
131
130
|
return {
|
|
132
131
|
id: row.id,
|
|
133
132
|
label: row.label,
|
|
@@ -139,7 +138,7 @@ function rowToNode(row) {
|
|
|
139
138
|
communityId: row.community_id,
|
|
140
139
|
isExported: row.is_exported === 1,
|
|
141
140
|
language: row.language,
|
|
142
|
-
properties:
|
|
141
|
+
properties: safeJsonParse(row.properties, undefined),
|
|
143
142
|
};
|
|
144
143
|
}
|
|
145
144
|
//# sourceMappingURL=node-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-store.js","sourceRoot":"","sources":["../../../src/storage/node-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"node-store.js","sourceRoot":"","sources":["../../../src/storage/node-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,UAAU,CAAC,EAAqB,EAAE,IAAmB;IACnE,EAAE,CAAC,OAAO,CAAC;;;;;GAKV,CAAC,CAAC,GAAG,CACJ,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,SAAS,IAAI,IAAI,EACtB,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB,IAAI,CAAC,WAAW,IAAI,IAAI,EACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACvB,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG;;;;;GAKhB,CAAC;AAEJ,MAAM,UAAU,WAAW,CAAC,EAAqB,EAAE,KAAsB;IACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,4EAA4E;IAC5E,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,IAAqB,EAAE,EAAE;QAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,EAAE,EACJ,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAClC,CAAC,CAAC,QAAQ,IAAI,IAAI,EAClB,CAAC,CAAC,SAAS,IAAI,IAAI,EACnB,CAAC,CAAC,OAAO,IAAI,IAAI,EACjB,CAAC,CAAC,WAAW,IAAI,IAAI,EACrB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,CAAC,CAAC,QAAQ,IAAI,IAAI,EAClB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CACnD,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,EAAqB,EAAE,GAAa;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CAAC,oCAAoC,YAAY,GAAG,CAAC;aAC5D,GAAG,CAAC,GAAG,KAAK,CAA8B,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAqB,EAAE,EAAU;IACvD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAEpD,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAqB,EAAE,QAAgB;IACrE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAG5E,CAAC;IACJ,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAqB,EAAE,QAAgB;IACxE,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAqB;IAC9C,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAmB,CAAC;IACjF,OAAO,GAAG,CAAC,CAAC,CAAC;AACf,CAAC;AAcD,SAAS,YAAY,CAAC,GAA4B;IAChD,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAe;QAC1B,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,WAAW,EAAE,GAAG,CAAC,WAAqB;QACtC,WAAW,EAAE,GAAG,CAAC,YAAsB;QACvC,YAAY,EAAE,aAAa,CAAkB,GAAG,CAAC,aAA8B,EAAE,IAAI,CAAC;QACtF,WAAW,EAAG,GAAG,CAAC,WAA6B,IAAI,IAAI;QACvD,SAAS,EAAG,GAAG,CAAC,SAAoB,KAAK,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,EAAqB;IAClD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAGxE,CAAC;IACJ,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,WAAW,CAAC,EAAqB,EAAE,KAAa;IAC9D,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,CAAC,KAAK,CAEpE,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,cAAc,CAAC,EAAqB,EAAE,GAAgB;IACpE,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;GAUV,CAAC,CAAC,GAAG,CACJ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAClE,GAAG,CAAC,WAAW,IAAI,IAAI,EACvB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,KAAa,EACb,KAAgC,EAChC,UAAU,GAA6B,GAAG,EAC1C,KAAK,GAAG,GAAG;IAQX,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,cAAc,CACtB,sBAAsB,KAAK,2CAA2C,CACvE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,cAAc,CACtB,aAAa,KAAK,sEAAsE,CACzF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,+BAA+B,KAAK,IAAI,CAAC;IAC7D,MAAM,IAAI,GAAG,EAAE;SACZ,OAAO,CAAC;yCAC4B,WAAW;;;YAGxC,WAAW,IAAI,UAAU;;GAElC,CAAC;SACC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAmC,CAAC;IAEvD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtB,EAAE,EAAE,CAAC,CAAC,EAAY;QAClB,IAAI,EAAE,CAAC,CAAC,IAAc;QACtB,KAAK,EAAE,CAAC,CAAC,KAAe;QACxB,QAAQ,EAAG,CAAC,CAAC,SAA2B,IAAI,IAAI;QAChD,aAAa,EAAE,CAAC,CAAC,cAAc;KAChC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAA4B;IACpD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAY;QACpB,KAAK,EAAE,GAAG,CAAC,KAA+B;QAC1C,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,SAAS,EAAE,GAAG,CAAC,UAAoB;QACnC,QAAQ,EAAE,GAAG,CAAC,SAA+B;QAC7C,SAAS,EAAE,GAAG,CAAC,UAAgC;QAC/C,OAAO,EAAE,GAAG,CAAC,QAA8B;QAC3C,WAAW,EAAE,GAAG,CAAC,YAAkC;QACnD,UAAU,EAAG,GAAG,CAAC,WAAsB,KAAK,CAAC;QAC7C,QAAQ,EAAE,GAAG,CAAC,QAA8B;QAC5C,UAAU,EAAE,aAAa,CACvB,GAAG,CAAC,UAA2B,EAC/B,SAAS,CACV;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/storage/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,sVAcvB,CAAC;AAEH,eAAO,MAAM,YAAY,+ZAavB,CAAC;AAEH,eAAO,MAAM,kBAAkB,4KAM7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,iGAI5B,CAAC;AAEH,eAAO,MAAM,gBAAgB,iNAU3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,sGAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,2IAK5B,CAAC;AAEH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/storage/schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,sVAcvB,CAAC;AAEH,eAAO,MAAM,YAAY,+ZAavB,CAAC;AAEH,eAAO,MAAM,kBAAkB,4KAM7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,iGAI5B,CAAC;AAEH,eAAO,MAAM,gBAAgB,iNAU3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,sGAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,2IAK5B,CAAC;AAEH,eAAO,MAAM,cAAc,UAkB1B,CAAC;AAEF,eAAO,MAAM,sBAAsB,ubASjC,CAAC;AAEH,eAAO,MAAM,oBAAoB,21BAS0D,CAAC;AAE5F,eAAO,MAAM,mBAAmB,kNAQ9B,CAAC;AAEH,eAAO,MAAM,iBAAiB,mPAQ7B,CAAC;AAEF,eAAO,MAAM,yBAAyB,6dAgBpC,CAAC;AAEH,eAAO,MAAM,6BAA6B,kGACkD,CAAC;AAE7F,eAAO,MAAM,iCAAiC,4FACwC,CAAC;AAEvF,eAAO,MAAM,kCAAkC,+FAC0C,CAAC;AAE1F,eAAO,MAAM,gCAAgC,4FACyC,CAAC;AAEvF,eAAO,MAAM,iBAAiB,64BAc1B,CAAC"}
|
|
@@ -72,6 +72,12 @@ export const CREATE_INDEXES = [
|
|
|
72
72
|
`CREATE INDEX IF NOT EXISTS idx_edges_target ON edges(target_id)`,
|
|
73
73
|
`CREATE INDEX IF NOT EXISTS idx_edges_relation ON edges(relation)`,
|
|
74
74
|
`CREATE INDEX IF NOT EXISTS idx_edges_confidence ON edges(confidence)`,
|
|
75
|
+
// MONO-6: compound (target_id, relation) index — hottest path for blast-radius
|
|
76
|
+
// queries (reverseBfs in impact.ts:70-72 filters on `target_id + relation IN (...)`).
|
|
77
|
+
// The partial idx_edges_calls_lookup only helps `relation='CALLS'`; this compound
|
|
78
|
+
// index covers the default `['CALLS','IMPORTS','REFERENCES','EXTENDS','RE_EXPORTS']`
|
|
79
|
+
// set. Idempotent — safe on pre-existing DBs (CREATE INDEX IF NOT EXISTS).
|
|
80
|
+
`CREATE INDEX IF NOT EXISTS idx_edges_target_relation ON edges(target_id, relation)`,
|
|
75
81
|
`CREATE INDEX IF NOT EXISTS idx_edges_calls_lookup ON edges(source_id, target_id, relation) WHERE relation = 'CALLS'`,
|
|
76
82
|
];
|
|
77
83
|
export const CREATE_NODE_PROPERTIES = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/storage/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;EAc1B,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;EAa1B,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;EAMhC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;EAI/B,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;EAU9B,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;EAI/B,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;EAK/B,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,+DAA+D;IAC/D,4DAA4D;IAC5D,gEAAgE;IAChE,0DAA0D;IAC1D,gFAAgF;IAChF,mGAAmG;IACnG,iEAAiE;IACjE,iEAAiE;IACjE,kEAAkE;IAClE,sEAAsE;IACtE,qHAAqH;CACtH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;EASpC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;2FASuD,CAAC;AAE5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;EAQjC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;CAQhC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;EAgBvC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG;4FAC+C,CAAC;AAE7F,MAAM,CAAC,MAAM,iCAAiC,GAAG;sFACqC,CAAC;AAEvF,MAAM,CAAC,MAAM,kCAAkC,GAAG;yFACuC,CAAC;AAE1F,MAAM,CAAC,MAAM,gCAAgC,GAAG;sFACsC,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;IAc7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/storage/schema.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;EAc1B,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;EAa1B,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;EAMhC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;EAI/B,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;EAU9B,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;EAI/B,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;EAK/B,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,+DAA+D;IAC/D,4DAA4D;IAC5D,gEAAgE;IAChE,0DAA0D;IAC1D,gFAAgF;IAChF,mGAAmG;IACnG,iEAAiE;IACjE,iEAAiE;IACjE,kEAAkE;IAClE,sEAAsE;IACtE,+EAA+E;IAC/E,sFAAsF;IACtF,kFAAkF;IAClF,qFAAqF;IACrF,2EAA2E;IAC3E,oFAAoF;IACpF,qHAAqH;CACtH,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG;;;;;;;;;EASpC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG;;;;;;;;;2FASuD,CAAC;AAE5F,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;EAQjC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;CAQhC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;EAgBvC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG;4FAC+C,CAAC;AAE7F,MAAM,CAAC,MAAM,iCAAiC,GAAG;sFACqC,CAAC;AAEvF,MAAM,CAAC,MAAM,kCAAkC,GAAG;yFACuC,CAAC;AAE1F,MAAM,CAAC,MAAM,gCAAgC,GAAG;sFACsC,CAAC;AAEvF,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;IAc7B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a JSON string from a DB column (or any string source) without throwing.
|
|
3
|
+
* Returns `fallback` for null/undefined/empty input or any parse error.
|
|
4
|
+
*
|
|
5
|
+
* Used to guard the 9+ sites that read `properties` / `evidence` / `closed_values`
|
|
6
|
+
* blobs — a single corrupted row would otherwise crash the entire query response.
|
|
7
|
+
* Failures are logged to stderr when MONOMIND_DEBUG is set, so poisoned blobs are
|
|
8
|
+
* discoverable without taking down the request.
|
|
9
|
+
*/
|
|
10
|
+
export declare function safeJsonParse<T>(s: string | null | undefined, fallback: T): T;
|
|
11
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAa7E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a JSON string from a DB column (or any string source) without throwing.
|
|
3
|
+
* Returns `fallback` for null/undefined/empty input or any parse error.
|
|
4
|
+
*
|
|
5
|
+
* Used to guard the 9+ sites that read `properties` / `evidence` / `closed_values`
|
|
6
|
+
* blobs — a single corrupted row would otherwise crash the entire query response.
|
|
7
|
+
* Failures are logged to stderr when MONOMIND_DEBUG is set, so poisoned blobs are
|
|
8
|
+
* discoverable without taking down the request.
|
|
9
|
+
*/
|
|
10
|
+
export function safeJsonParse(s, fallback) {
|
|
11
|
+
if (s == null || s === '')
|
|
12
|
+
return fallback;
|
|
13
|
+
try {
|
|
14
|
+
return JSON.parse(s);
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
if (process.env.MONOMIND_DEBUG) {
|
|
18
|
+
// eslint-disable-next-line no-console
|
|
19
|
+
console.error(`[monograph] safeJsonParse: failed to parse (${String(err)}); input length=${s.length}`);
|
|
20
|
+
}
|
|
21
|
+
return fallback;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAI,CAA4B,EAAE,QAAW;IACxE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAM,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAC/B,sCAAsC;YACtC,OAAO,CAAC,KAAK,CACX,+CAA+C,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,MAAM,EAAE,CACxF,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
|