gitnexus 1.6.10-rc.2 → 1.6.10-rc.21
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 +56 -12
- package/dist/cli/analyze.js +166 -5
- package/dist/cli/clean.js +17 -3
- package/dist/cli/cli-message.d.ts +1 -1
- package/dist/cli/doctor.d.ts +18 -0
- package/dist/cli/doctor.js +76 -3
- package/dist/cli/embeddings.d.ts +12 -0
- package/dist/cli/embeddings.js +49 -0
- package/dist/cli/help-i18n.js +4 -0
- package/dist/cli/i18n/en.d.ts +10 -5
- package/dist/cli/i18n/en.js +10 -5
- package/dist/cli/i18n/resources.d.ts +15 -5
- package/dist/cli/i18n/zh-CN.d.ts +5 -0
- package/dist/cli/i18n/zh-CN.js +10 -5
- package/dist/cli/index.js +12 -1
- package/dist/core/augmentation/engine.js +4 -3
- package/dist/core/embeddings/embedder.js +16 -2
- package/dist/core/embeddings/embedding-pipeline.d.ts +20 -0
- package/dist/core/embeddings/embedding-pipeline.js +10 -2
- package/dist/core/embeddings/http-client.d.ts +28 -1
- package/dist/core/embeddings/http-client.js +107 -15
- package/dist/core/embeddings/node-module-compat.d.ts +23 -0
- package/dist/core/embeddings/node-module-compat.js +23 -0
- package/dist/core/embeddings/onnxruntime-common-resolver.js +6 -3
- package/dist/core/embeddings/onnxruntime-node-resolver.js +31 -5
- package/dist/core/embeddings/runtime-install.d.ts +119 -0
- package/dist/core/embeddings/runtime-install.js +372 -0
- package/dist/core/embeddings/runtime-support.d.ts +48 -17
- package/dist/core/embeddings/runtime-support.js +96 -0
- package/dist/core/group/extractors/http-patterns/python.js +246 -108
- package/dist/core/group/extractors/manifest-extractor.js +4 -0
- package/dist/core/incremental/escalation-gate.d.ts +38 -0
- package/dist/core/incremental/escalation-gate.js +48 -0
- package/dist/core/incremental/shadow-candidates.d.ts +3 -3
- package/dist/core/incremental/shadow-candidates.js +3 -3
- package/dist/core/incremental/subgraph-extract.d.ts +2 -2
- package/dist/core/incremental/subgraph-extract.js +2 -2
- package/dist/core/ingestion/cobol/jcl-processor.js +9 -8
- package/dist/core/ingestion/cobol-processor.js +27 -26
- package/dist/core/ingestion/community-processor.d.ts +51 -1
- package/dist/core/ingestion/community-processor.js +316 -63
- package/dist/core/ingestion/emit-references.js +3 -2
- package/dist/core/ingestion/languages/cpp/captures.js +157 -74
- package/dist/core/ingestion/markdown-processor.js +3 -2
- package/dist/core/ingestion/parsing-processor.d.ts +3 -1
- package/dist/core/ingestion/parsing-processor.js +4 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +42 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +83 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.js +131 -0
- package/dist/core/ingestion/route-extractors/python-const-resolver.d.ts +75 -0
- package/dist/core/ingestion/route-extractors/python-const-resolver.js +299 -0
- package/dist/core/ingestion/tree-sitter-queries.d.ts +1 -1
- package/dist/core/ingestion/tree-sitter-queries.js +12 -1
- package/dist/core/ingestion/utils/line-base.d.ts +20 -0
- package/dist/core/ingestion/utils/line-base.js +20 -0
- package/dist/core/ingestion/utils/symbol-labels.d.ts +21 -0
- package/dist/core/ingestion/utils/symbol-labels.js +45 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +34 -0
- package/dist/core/ingestion/workers/parse-worker.js +40 -5
- package/dist/core/ingestion/workers/result-merge.js +4 -0
- package/dist/core/ingestion/workers/worker-pool.d.ts +14 -0
- package/dist/core/ingestion/workers/worker-pool.js +85 -5
- package/dist/core/lbug/csv-generator.js +8 -2
- package/dist/core/lbug/cypher-escape.d.ts +20 -0
- package/dist/core/lbug/cypher-escape.js +20 -0
- package/dist/core/lbug/extension-load-error.d.ts +67 -0
- package/dist/core/lbug/extension-load-error.js +320 -0
- package/dist/core/lbug/extension-loader.d.ts +17 -2
- package/dist/core/lbug/extension-loader.js +38 -13
- package/dist/core/lbug/lbug-adapter.d.ts +147 -1
- package/dist/core/lbug/lbug-adapter.js +390 -70
- package/dist/core/lbug/lbug-config.d.ts +28 -0
- package/dist/core/lbug/lbug-config.js +114 -4
- package/dist/core/lbug/native-check.d.ts +22 -0
- package/dist/core/lbug/native-check.js +66 -0
- package/dist/core/lbug/pool-adapter.js +10 -1
- package/dist/core/lbug/sidecar-recovery.d.ts +172 -0
- package/dist/core/lbug/sidecar-recovery.js +418 -16
- package/dist/core/platform/capabilities.js +27 -1
- package/dist/core/run-analyze.js +470 -108
- package/dist/core/search/fts-indexes.d.ts +7 -0
- package/dist/core/search/fts-indexes.js +37 -0
- package/dist/core/tree-sitter/safe-parse.d.ts +8 -3
- package/dist/core/tree-sitter/safe-parse.js +21 -7
- package/dist/core/wiki/graph-queries.js +6 -5
- package/dist/mcp/core/embedder.js +16 -2
- package/dist/mcp/local/line-display.d.ts +22 -0
- package/dist/mcp/local/line-display.js +3 -0
- package/dist/mcp/local/local-backend.d.ts +14 -0
- package/dist/mcp/local/local-backend.js +63 -19
- package/dist/mcp/local/pdg-impact.d.ts +5 -3
- package/dist/mcp/local/pdg-impact.js +5 -2
- package/dist/mcp/resources.js +1 -0
- package/dist/mcp/tools.js +1 -1
- package/dist/server/analyze-launch.d.ts +6 -0
- package/dist/server/analyze-launch.js +82 -6
- package/dist/server/api.d.ts +30 -0
- package/dist/server/api.js +63 -21
- package/dist/storage/parse-cache.js +1 -1
- package/dist/storage/repo-manager.d.ts +65 -1
- package/dist/storage/repo-manager.js +18 -1
- package/hooks/antigravity/gitnexus-antigravity-hook.cjs +50 -3
- package/hooks/claude/gitnexus-hook.cjs +59 -9
- package/package.json +5 -3
- package/scripts/cross-platform-tests.ts +43 -0
- package/scripts/ensure-fts.ts +32 -0
- package/scripts/install-duckdb-extension.mjs +85 -24
- package/scripts/run-cross-platform.ts +46 -6
- package/scripts/shard-arg.ts +30 -0
- package/web/assets/ProcessFlowModal-Dna7GkwO.js +22 -0
- package/web/assets/{agent-Dli_x7bU.js → agent-DNYDy-KA.js} +49 -49
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-BVWFvYz2.js +1 -0
- package/web/assets/architectureDiagram-UL44E2DR-BU5ZRITg.js +36 -0
- package/web/assets/{blockDiagram-7IZFK4PR-BkWhpzWB.js → blockDiagram-7IZFK4PR-Dut1BpTV.js} +2 -2
- package/web/assets/{c4Diagram-Y2BXMSZH-DtBvpzWD.js → c4Diagram-Y2BXMSZH-DOXVs7-C.js} +2 -2
- package/web/assets/chunk-2T2R6R2M-pkw2oXHH.js +4 -0
- package/web/assets/chunk-2UTLFMKG-CXlhF3Pt.js +1 -0
- package/web/assets/chunk-3SSMPTDK-rPsRM1x0.js +321 -0
- package/web/assets/chunk-4R4BOZG6-Be_F0JoX.js +159 -0
- package/web/assets/{chunk-6764PJDD-DpIS7hxD.js → chunk-6764PJDD-C7xxk063.js} +1 -1
- package/web/assets/{chunk-67TQ5CYL-4sNPJU1q.js → chunk-67TQ5CYL-zxhDWgyF.js} +3 -3
- package/web/assets/chunk-7FYTHRHK-CsmYIswB.js +32 -0
- package/web/assets/chunk-7J6CGLKN-AmkN8jJN.js +10 -0
- package/web/assets/chunk-7W6UQGC5-pyKGssV3.js +1 -0
- package/web/assets/chunk-C62D2QBJ-3gdL8EKc.js +1 -0
- package/web/assets/chunk-CEXFNPSA-CjwtMDkc.js +1 -0
- package/web/assets/{chunk-INKRHTLW-Nu4ri9P-.js → chunk-INKRHTLW-D9BM9HWZ.js} +1 -1
- package/web/assets/chunk-J5EP6P6S-L19oz55R.js +1 -0
- package/web/assets/{chunk-KGFNY3KK-JGMJvKCK.js → chunk-KGFNY3KK-tD2F6wxK.js} +1 -1
- package/web/assets/chunk-KGYTTC2M-zm6n242I.js +1 -0
- package/web/assets/{chunk-KRXBNO2N-BW5o0KUN.js → chunk-KRXBNO2N-C-UNuKKf.js} +1 -1
- package/web/assets/{chunk-LCXTWHL2-CfLLCywY.js → chunk-LCXTWHL2-Ba9JK-6F.js} +2 -2
- package/web/assets/{chunk-LII3EMHJ-D-jm-dLa.js → chunk-LII3EMHJ-EGx-eBIu.js} +1 -1
- package/web/assets/chunk-LRIF4GLE-C3_PqUBq.js +1 -0
- package/web/assets/{chunk-QA3QBVWF-BgRW3SXd.js → chunk-QA3QBVWF-D4cSJBf6.js} +1 -1
- package/web/assets/chunk-RERM46MO-B5dAdWpP.js +1 -0
- package/web/assets/{chunk-RG4AUYOV-CqWzWsV3.js → chunk-RG4AUYOV-OqBBMwuQ.js} +4 -4
- package/web/assets/chunk-RKZBBQEN-MyIQbGgD.js +1 -0
- package/web/assets/chunk-RLI5ZMPA-CkXZ0y0U.js +1 -0
- package/web/assets/{chunk-T2UQINTJ-DSBqkzH7.js → chunk-T2UQINTJ-BJusEiGe.js} +1 -1
- package/web/assets/chunk-UP6H54XL-BG-n7qDp.js +1 -0
- package/web/assets/chunk-UXSXWOXI-CW1_r5cS.js +1 -0
- package/web/assets/{chunk-UY5QBCOK-DyF0vyGd.js → chunk-UY5QBCOK-BCpUlARQ.js} +1 -1
- package/web/assets/chunk-VU6ZFW4Y-BeXVk45_.js +2 -0
- package/web/assets/{chunk-W44A43WB-JqMLIpR0.js → chunk-W44A43WB-BN8EQc_u.js} +1 -1
- package/web/assets/{chunk-ZXARS5L4-CxN8oiwI.js → chunk-ZXARS5L4-BI_qR2Nm.js} +1 -1
- package/web/assets/classDiagram-KGZ6W3CR-D9zSIg0x.js +1 -0
- package/web/assets/classDiagram-v2-72OJOZXJ-D9zSIg0x.js +1 -0
- package/web/assets/cose-bilkent-UX7MHV2Q-BmnZ7Mvj.js +1 -0
- package/web/assets/dagre-ND4H6XIP-CpcV5kbl.js +4 -0
- package/web/assets/diagram-3NCE3AQN-6SMxBRpj.js +43 -0
- package/web/assets/diagram-GF46GFSD-BZEdNcRZ.js +24 -0
- package/web/assets/{diagram-HNR7UZ2L-DFCfd5LI.js → diagram-HNR7UZ2L-DxKW2a2Y.js} +2 -2
- package/web/assets/diagram-QXG6HAR7-HfTHcXX_.js +24 -0
- package/web/assets/diagram-WEQXMOUZ-CyijUS8r.js +10 -0
- package/web/assets/{erDiagram-L5TCEMPS-8X1y6R4Y.js → erDiagram-L5TCEMPS-D0fvpWEX.js} +3 -3
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-CgFBM7e-.js +1 -0
- package/web/assets/flowDiagram-H6V6AXG4-Bvr9bbhk.js +162 -0
- package/web/assets/{ganttDiagram-JCBTUEKG-D3iL2Aet.js → ganttDiagram-JCBTUEKG-TzODrLzv.js} +2 -2
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DCJv7SII.js +1 -0
- package/web/assets/gitGraphDiagram-S2ZK5IYY-ONQSwJIY.js +106 -0
- package/web/assets/index-B4eB4dNZ.js +575 -0
- package/web/assets/index-CX_fADmQ.css +2 -0
- package/web/assets/info-J43DQDTF-KCYPFFUO-BfNy-9Nd.js +1 -0
- package/web/assets/infoDiagram-3YFTVSEB-DIPVUIQ6.js +2 -0
- package/web/assets/{ishikawaDiagram-BNXS4ZKH-DfYpxnE5.js → ishikawaDiagram-BNXS4ZKH-BLjivjXL.js} +3 -3
- package/web/assets/{journeyDiagram-M6C3CM3L-CvArszLo.js → journeyDiagram-M6C3CM3L-Cetgs3NH.js} +3 -3
- package/web/assets/{kanban-definition-75IXJCU3-CpfVLLf9.js → kanban-definition-75IXJCU3-DMlCaIpf.js} +5 -5
- package/web/assets/{katex-K3KEBU37-CTc5BslQ.js → katex-K3KEBU37-qRQBy-EZ.js} +2 -2
- package/web/assets/{mindmap-definition-2TDM6QVE-DypvbOMQ.js → mindmap-definition-2TDM6QVE-B4GbXQBc.js} +3 -3
- package/web/assets/packet-YPE3B663-LP52Z2RK-D4qkeG9k.js +1 -0
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-B_yMKyQa.js +1 -0
- package/web/assets/{pieDiagram-CU6KROY3-s27EFWgP.js → pieDiagram-CU6KROY3-D3YC_xyg.js} +2 -2
- package/web/assets/{quadrantDiagram-VICAPDV7-yXSZ2lLz.js → quadrantDiagram-VICAPDV7-B1TQnlm0.js} +2 -2
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DeD6yN_0.js +1 -0
- package/web/assets/{requirementDiagram-JXO7QTGE-CWhqInuf.js → requirementDiagram-JXO7QTGE-f8wczLQf.js} +3 -3
- package/web/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/assets/{sankeyDiagram-URQDO5SZ-1qEjlFIB.js → sankeyDiagram-URQDO5SZ-BTxzG5j0.js} +2 -2
- package/web/assets/{sequenceDiagram-VS2MUI6T-RyTlZ5cR.js → sequenceDiagram-VS2MUI6T-DuamM-IR.js} +5 -5
- package/web/assets/src-BNCXICdA.js +1 -0
- package/web/assets/stateDiagram-7D4R322I-Ch2pEUcw.js +1 -0
- package/web/assets/stateDiagram-v2-36443NZ5-7ANuoZLL.js +1 -0
- package/web/assets/{timeline-definition-O6YCAMPW-DrrqLYAf.js → timeline-definition-O6YCAMPW-07BR8R8G.js} +3 -3
- package/web/assets/treeView-BLDUP644-QA4HXRO3-CDuSYnd4.js +1 -0
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-imazucyJ.js +1 -0
- package/web/assets/{vennDiagram-MWXL3ELB-B0RkWAim.js → vennDiagram-MWXL3ELB-BQX2ossk.js} +4 -4
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-DqrT9tB8.js +1 -0
- package/web/assets/{wardleyDiagram-CUQ6CDDI-boUxiQ5F.js → wardleyDiagram-CUQ6CDDI-CGIJBBiK.js} +3 -3
- package/web/assets/{xychartDiagram-N2JHSOCM-BOLm0eNm.js → xychartDiagram-N2JHSOCM-B3HNMuWp.js} +4 -4
- package/web/index.html +17 -10
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-DxJw65fT.js +0 -1
- package/web/assets/architectureDiagram-UL44E2DR-dEkqUZN9.js +0 -36
- package/web/assets/chunk-3SSMPTDK-B4_etUhr.js +0 -321
- package/web/assets/chunk-7W6UQGC5-KyEG0HQg.js +0 -1
- package/web/assets/chunk-KGYTTC2M-CWC_c3H9.js +0 -161
- package/web/assets/classDiagram-KGZ6W3CR-CMne4tG9.js +0 -1
- package/web/assets/classDiagram-v2-72OJOZXJ-CMne4tG9.js +0 -1
- package/web/assets/cose-bilkent-UX7MHV2Q-D71wNYRJ.js +0 -1
- package/web/assets/dagre-ND4H6XIP-Co5rRx9X.js +0 -4
- package/web/assets/diagram-3NCE3AQN-DBp4O00j.js +0 -43
- package/web/assets/diagram-GF46GFSD-6N_8yS0i.js +0 -24
- package/web/assets/diagram-QXG6HAR7-Di093rFg.js +0 -24
- package/web/assets/diagram-WEQXMOUZ-DZWi4SUN.js +0 -10
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-BQm9QzEa.js +0 -1
- package/web/assets/flowDiagram-H6V6AXG4-CMpY8Ufn.js +0 -162
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-Cr_Bm2Nb.js +0 -1
- package/web/assets/gitGraphDiagram-S2ZK5IYY-CPIDgxGm.js +0 -106
- package/web/assets/index-KctnI3Vq.js +0 -635
- package/web/assets/index-_lgn7hs5.css +0 -2
- package/web/assets/info-J43DQDTF-KCYPFFUO-Cs4p2oyk.js +0 -1
- package/web/assets/infoDiagram-3YFTVSEB-BaLMZkUg.js +0 -2
- package/web/assets/packet-YPE3B663-LP52Z2RK-CKCrztD2.js +0 -1
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-BB7pHqoD.js +0 -1
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DhoTOcuK.js +0 -1
- package/web/assets/stateDiagram-7D4R322I-DTjVfX4A.js +0 -1
- package/web/assets/stateDiagram-v2-36443NZ5-xY9_k9_Q.js +0 -1
- package/web/assets/treeView-BLDUP644-QA4HXRO3-ODehyGKL.js +0 -1
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-BfpgC-7o.js +0 -1
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-CNeL6VHE.js +0 -1
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { parseJcl } from './jcl-parser.js';
|
|
19
19
|
import { generateId } from '../../../lib/utils.js';
|
|
20
|
+
import { toZeroBasedLine } from '../utils/line-base.js';
|
|
20
21
|
/**
|
|
21
22
|
* Process JCL files and integrate into the knowledge graph.
|
|
22
23
|
*
|
|
@@ -71,8 +72,8 @@ function integrateJclResults(graph, parsed, filePath, moduleNames) {
|
|
|
71
72
|
properties: {
|
|
72
73
|
name: job.name,
|
|
73
74
|
filePath,
|
|
74
|
-
startLine: job.line,
|
|
75
|
-
endLine: job.line,
|
|
75
|
+
startLine: toZeroBasedLine(job.line),
|
|
76
|
+
endLine: toZeroBasedLine(job.line),
|
|
76
77
|
description: `jcl-job${classPart}${msgPart}`,
|
|
77
78
|
},
|
|
78
79
|
});
|
|
@@ -105,8 +106,8 @@ function integrateJclResults(graph, parsed, filePath, moduleNames) {
|
|
|
105
106
|
properties: {
|
|
106
107
|
name: step.name,
|
|
107
108
|
filePath,
|
|
108
|
-
startLine: step.line,
|
|
109
|
-
endLine: step.line,
|
|
109
|
+
startLine: toZeroBasedLine(step.line),
|
|
110
|
+
endLine: toZeroBasedLine(step.line),
|
|
110
111
|
description: `jcl-step${pgmPart}${procPart}`,
|
|
111
112
|
},
|
|
112
113
|
});
|
|
@@ -170,8 +171,8 @@ function integrateJclResults(graph, parsed, filePath, moduleNames) {
|
|
|
170
171
|
properties: {
|
|
171
172
|
name: dd.dataset,
|
|
172
173
|
filePath,
|
|
173
|
-
startLine: dd.line,
|
|
174
|
-
endLine: dd.line,
|
|
174
|
+
startLine: toZeroBasedLine(dd.line),
|
|
175
|
+
endLine: toZeroBasedLine(dd.line),
|
|
175
176
|
description: `jcl-dataset${dispPart}`,
|
|
176
177
|
},
|
|
177
178
|
});
|
|
@@ -202,8 +203,8 @@ function integrateJclResults(graph, parsed, filePath, moduleNames) {
|
|
|
202
203
|
properties: {
|
|
203
204
|
name: proc.name,
|
|
204
205
|
filePath,
|
|
205
|
-
startLine: proc.line,
|
|
206
|
-
endLine: proc.line,
|
|
206
|
+
startLine: toZeroBasedLine(proc.line),
|
|
207
|
+
endLine: toZeroBasedLine(proc.line),
|
|
207
208
|
description: 'jcl-proc-instream',
|
|
208
209
|
},
|
|
209
210
|
});
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import path from 'node:path';
|
|
16
16
|
import { generateId } from '../../lib/utils.js';
|
|
17
|
+
import { toZeroBasedLine } from './utils/line-base.js';
|
|
17
18
|
import { SupportedLanguages } from '../../_shared/index.js';
|
|
18
19
|
import { preprocessCobolSource, extractCobolSymbolsWithRegex, } from './cobol/cobol-preprocessor.js';
|
|
19
20
|
import { expandCopies } from './cobol/cobol-copy-expander.js';
|
|
@@ -275,8 +276,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
275
276
|
properties: {
|
|
276
277
|
name: extracted.programName,
|
|
277
278
|
filePath,
|
|
278
|
-
startLine: 1,
|
|
279
|
-
endLine: lines.length,
|
|
279
|
+
startLine: toZeroBasedLine(1),
|
|
280
|
+
endLine: toZeroBasedLine(lines.length),
|
|
280
281
|
language: SupportedLanguages.Cobol,
|
|
281
282
|
isExported: true,
|
|
282
283
|
description: metaDesc || undefined,
|
|
@@ -310,8 +311,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
310
311
|
properties: {
|
|
311
312
|
name: prog.name,
|
|
312
313
|
filePath,
|
|
313
|
-
startLine: prog.startLine,
|
|
314
|
-
endLine: prog.endLine,
|
|
314
|
+
startLine: toZeroBasedLine(prog.startLine),
|
|
315
|
+
endLine: toZeroBasedLine(prog.endLine),
|
|
315
316
|
language: SupportedLanguages.Cobol,
|
|
316
317
|
isExported: true,
|
|
317
318
|
description: `nested-program${prog.isCommon ? ' common' : ''}`,
|
|
@@ -349,8 +350,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
349
350
|
properties: {
|
|
350
351
|
name: sec.name,
|
|
351
352
|
filePath,
|
|
352
|
-
startLine: sec.line,
|
|
353
|
-
endLine: nextLine,
|
|
353
|
+
startLine: toZeroBasedLine(sec.line),
|
|
354
|
+
endLine: toZeroBasedLine(nextLine),
|
|
354
355
|
language: SupportedLanguages.Cobol,
|
|
355
356
|
isExported: true,
|
|
356
357
|
},
|
|
@@ -379,8 +380,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
379
380
|
properties: {
|
|
380
381
|
name: para.name,
|
|
381
382
|
filePath,
|
|
382
|
-
startLine: para.line,
|
|
383
|
-
endLine: nextLine,
|
|
383
|
+
startLine: toZeroBasedLine(para.line),
|
|
384
|
+
endLine: toZeroBasedLine(nextLine),
|
|
384
385
|
language: SupportedLanguages.Cobol,
|
|
385
386
|
isExported: true,
|
|
386
387
|
},
|
|
@@ -412,8 +413,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
412
413
|
properties: {
|
|
413
414
|
name: item.name,
|
|
414
415
|
filePath,
|
|
415
|
-
startLine: item.line,
|
|
416
|
-
endLine: item.line,
|
|
416
|
+
startLine: toZeroBasedLine(item.line),
|
|
417
|
+
endLine: toZeroBasedLine(item.line),
|
|
417
418
|
language: SupportedLanguages.Cobol,
|
|
418
419
|
description: `level:${item.level} section:${item.section}${item.pic ? ` pic:${item.pic}` : ''}`,
|
|
419
420
|
},
|
|
@@ -506,8 +507,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
506
507
|
properties: {
|
|
507
508
|
name: `CALL ${call.target}`,
|
|
508
509
|
filePath,
|
|
509
|
-
startLine: call.line,
|
|
510
|
-
endLine: call.line,
|
|
510
|
+
startLine: toZeroBasedLine(call.line),
|
|
511
|
+
endLine: toZeroBasedLine(call.line),
|
|
511
512
|
language: SupportedLanguages.Cobol,
|
|
512
513
|
description: 'dynamic-call (target is a data item, not resolvable statically)',
|
|
513
514
|
},
|
|
@@ -619,8 +620,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
619
620
|
properties: {
|
|
620
621
|
name: `EXEC SQL ${sql.operation}`,
|
|
621
622
|
filePath,
|
|
622
|
-
startLine: sql.line,
|
|
623
|
-
endLine: sql.line,
|
|
623
|
+
startLine: toZeroBasedLine(sql.line),
|
|
624
|
+
endLine: toZeroBasedLine(sql.line),
|
|
624
625
|
language: SupportedLanguages.Cobol,
|
|
625
626
|
description: `tables:[${sql.tables.join(',')}] cursors:[${sql.cursors.join(',')}]`,
|
|
626
627
|
},
|
|
@@ -691,8 +692,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
691
692
|
properties: {
|
|
692
693
|
name: `EXEC CICS ${cics.command}`,
|
|
693
694
|
filePath,
|
|
694
|
-
startLine: cics.line,
|
|
695
|
-
endLine: cics.line,
|
|
695
|
+
startLine: toZeroBasedLine(cics.line),
|
|
696
|
+
endLine: toZeroBasedLine(cics.line),
|
|
696
697
|
language: SupportedLanguages.Cobol,
|
|
697
698
|
description: [
|
|
698
699
|
cics.mapName && `map:${cics.mapName}`,
|
|
@@ -726,8 +727,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
726
727
|
properties: {
|
|
727
728
|
name: `CICS ${cics.command} ${cics.programName}`,
|
|
728
729
|
filePath,
|
|
729
|
-
startLine: cics.line,
|
|
730
|
-
endLine: cics.line,
|
|
730
|
+
startLine: toZeroBasedLine(cics.line),
|
|
731
|
+
endLine: toZeroBasedLine(cics.line),
|
|
731
732
|
language: SupportedLanguages.Cobol,
|
|
732
733
|
description: `cics-dynamic-program (target is data item ${cics.programName})`,
|
|
733
734
|
},
|
|
@@ -879,8 +880,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
879
880
|
properties: {
|
|
880
881
|
name: entry.name,
|
|
881
882
|
filePath,
|
|
882
|
-
startLine: entry.line,
|
|
883
|
-
endLine: entry.line,
|
|
883
|
+
startLine: toZeroBasedLine(entry.line),
|
|
884
|
+
endLine: toZeroBasedLine(entry.line),
|
|
884
885
|
language: SupportedLanguages.Cobol,
|
|
885
886
|
isExported: true,
|
|
886
887
|
description: entry.parameters.length > 0 ? `using:${entry.parameters.join(',')}` : undefined,
|
|
@@ -1014,8 +1015,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
1014
1015
|
properties: {
|
|
1015
1016
|
name: `EXEC DLI ${dli.verb}`,
|
|
1016
1017
|
filePath,
|
|
1017
|
-
startLine: dli.line,
|
|
1018
|
-
endLine: dli.line,
|
|
1018
|
+
startLine: toZeroBasedLine(dli.line),
|
|
1019
|
+
endLine: toZeroBasedLine(dli.line),
|
|
1019
1020
|
language: SupportedLanguages.Cobol,
|
|
1020
1021
|
description: [
|
|
1021
1022
|
dli.segmentName && `segment:${dli.segmentName}`,
|
|
@@ -1148,8 +1149,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
1148
1149
|
properties: {
|
|
1149
1150
|
name: fd.selectName,
|
|
1150
1151
|
filePath,
|
|
1151
|
-
startLine: fd.line,
|
|
1152
|
-
endLine: fd.line,
|
|
1152
|
+
startLine: toZeroBasedLine(fd.line),
|
|
1153
|
+
endLine: toZeroBasedLine(fd.line),
|
|
1153
1154
|
language: SupportedLanguages.Cobol,
|
|
1154
1155
|
description: `assign:${fd.assignTo}${fd.isOptional ? ' optional' : ''}${fd.organization ? ` org:${fd.organization}` : ''}${fd.access ? ` access:${fd.access}` : ''}`,
|
|
1155
1156
|
},
|
|
@@ -1231,8 +1232,8 @@ function mapToGraph(graph, extracted, file, copyResolutions, moduleNodeIds) {
|
|
|
1231
1232
|
properties: {
|
|
1232
1233
|
name: `CANCEL ${cancel.target}`,
|
|
1233
1234
|
filePath,
|
|
1234
|
-
startLine: cancel.line,
|
|
1235
|
-
endLine: cancel.line,
|
|
1235
|
+
startLine: toZeroBasedLine(cancel.line),
|
|
1236
|
+
endLine: toZeroBasedLine(cancel.line),
|
|
1236
1237
|
language: SupportedLanguages.Cobol,
|
|
1237
1238
|
description: 'dynamic-cancel (target is a data item, not resolvable statically)',
|
|
1238
1239
|
},
|
|
@@ -7,7 +7,45 @@
|
|
|
7
7
|
* Communities represent groups of code that work together frequently,
|
|
8
8
|
* helping agents navigate the codebase by functional area rather than file structure.
|
|
9
9
|
*/
|
|
10
|
+
import type { AbstractGraph, Attributes } from 'graphology-types';
|
|
11
|
+
import type { NodeLabel } from '../../_shared/index.js';
|
|
10
12
|
import { KnowledgeGraph } from '../graph/types.js';
|
|
13
|
+
/** Graphology Graph instance type (AbstractGraph from graphology-types avoids CJS/ESM interop namespace issue) */
|
|
14
|
+
type GraphInstance = AbstractGraph<Attributes, Attributes, Attributes>;
|
|
15
|
+
type CommunityEngine = 'graphology' | 'icebug';
|
|
16
|
+
export type CommunityDetectionEngine = CommunityEngine | 'auto';
|
|
17
|
+
export interface CommunityDetectionOptions {
|
|
18
|
+
/**
|
|
19
|
+
* Graphology remains the default. `icebug`/`auto` are guarded prototype
|
|
20
|
+
* paths for #2337 and fall back to Graphology if the optional native module
|
|
21
|
+
* is not available or does not expose the expected API.
|
|
22
|
+
*/
|
|
23
|
+
engine?: CommunityDetectionEngine;
|
|
24
|
+
icebug?: {
|
|
25
|
+
threads?: number;
|
|
26
|
+
seed?: number;
|
|
27
|
+
iterations?: number;
|
|
28
|
+
gamma?: number;
|
|
29
|
+
randomize?: boolean;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface CommunityProjectionNode {
|
|
33
|
+
id: string;
|
|
34
|
+
name: unknown;
|
|
35
|
+
filePath: unknown;
|
|
36
|
+
type: NodeLabel;
|
|
37
|
+
}
|
|
38
|
+
export interface CommunityProjection {
|
|
39
|
+
nodes: CommunityProjectionNode[];
|
|
40
|
+
edges: Array<readonly [number, number]>;
|
|
41
|
+
symbolCount: number;
|
|
42
|
+
isLarge: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface CommunityCsr {
|
|
45
|
+
indptr: BigUint64Array;
|
|
46
|
+
indices: BigUint64Array;
|
|
47
|
+
}
|
|
48
|
+
export declare const resolveCommunityDetectionEngine: (raw?: string) => CommunityDetectionEngine;
|
|
11
49
|
export interface CommunityNode {
|
|
12
50
|
id: string;
|
|
13
51
|
label: string;
|
|
@@ -26,6 +64,9 @@ export interface CommunityDetectionResult {
|
|
|
26
64
|
totalCommunities: number;
|
|
27
65
|
modularity: number;
|
|
28
66
|
nodesProcessed: number;
|
|
67
|
+
engine?: CommunityEngine;
|
|
68
|
+
engineRequested?: CommunityDetectionEngine;
|
|
69
|
+
fallbackReason?: string;
|
|
29
70
|
};
|
|
30
71
|
}
|
|
31
72
|
export declare const COMMUNITY_COLORS: string[];
|
|
@@ -36,4 +77,13 @@ export declare const getCommunityColor: (communityIndex: number) => string;
|
|
|
36
77
|
* This runs AFTER all relationships (CALLS, IMPORTS, etc.) have been built.
|
|
37
78
|
* It uses primarily CALLS edges to cluster code that works together.
|
|
38
79
|
*/
|
|
39
|
-
export declare const processCommunities: (knowledgeGraph: KnowledgeGraph, onProgress?: (message: string, progress: number) => void) => Promise<CommunityDetectionResult>;
|
|
80
|
+
export declare const processCommunities: (knowledgeGraph: KnowledgeGraph, onProgress?: (message: string, progress: number) => void, options?: CommunityDetectionOptions) => Promise<CommunityDetectionResult>;
|
|
81
|
+
/**
|
|
82
|
+
* Build a community projection containing only symbol nodes and clustering edges.
|
|
83
|
+
* For large graphs (>10K symbols), filter out low-confidence fuzzy-global edges
|
|
84
|
+
* and degree-1 nodes that add noise and massively increase Leiden runtime.
|
|
85
|
+
*/
|
|
86
|
+
export declare const buildCommunityProjection: (knowledgeGraph: KnowledgeGraph) => CommunityProjection;
|
|
87
|
+
export declare const buildCommunityCsr: (projection: CommunityProjection) => CommunityCsr;
|
|
88
|
+
export declare const buildGraphologyGraph: (projection: CommunityProjection) => GraphInstance;
|
|
89
|
+
export {};
|