gitnexus 1.6.13-rc.41 → 1.6.13-rc.42
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/_shared/index.d.ts +1 -1
- package/dist/_shared/index.d.ts.map +1 -1
- package/dist/_shared/index.js +1 -1
- package/dist/_shared/index.js.map +1 -1
- package/dist/_shared/language-detection.d.ts +2 -0
- package/dist/_shared/language-detection.d.ts.map +1 -1
- package/dist/_shared/language-detection.js +5 -1
- package/dist/_shared/language-detection.js.map +1 -1
- package/dist/core/embeddings/ast-utils.js +15 -2
- package/dist/core/ingestion/cfg/collect.d.ts +1 -1
- package/dist/core/ingestion/cfg/collect.js +25 -3
- package/dist/core/ingestion/ipynb-extractor.d.ts +28 -0
- package/dist/core/ingestion/ipynb-extractor.js +679 -0
- package/dist/core/ingestion/language-provider.d.ts +3 -0
- package/dist/core/ingestion/languages/python/captures.d.ts +6 -2
- package/dist/core/ingestion/languages/python/captures.js +56 -7
- package/dist/core/ingestion/languages/python.js +1 -1
- package/dist/core/ingestion/scope-extractor-bridge.d.ts +2 -1
- package/dist/core/ingestion/scope-extractor-bridge.js +5 -2
- package/dist/core/ingestion/workers/parse-worker.js +20 -9
- package/dist/core/lbug/csv-generator.js +11 -3
- package/dist/storage/parse-cache.js +3 -1
- package/package.json +1 -1
- package/web/assets/{abnfDiagram-PAR5IXJI-CM9OPETj.js → abnfDiagram-PAR5IXJI-ghbj7sD2.js} +1 -1
- package/web/assets/{agent-C8bWDcKv.js → agent-D7pSP6kP.js} +2 -2
- package/web/assets/{architectureDiagram-2PNWDENW-CFGPVOFL.js → architectureDiagram-2PNWDENW-BVvAcFF7.js} +1 -1
- package/web/assets/{chunk-32MCUW2P-BAKWSoJ_.js → chunk-32MCUW2P-CgOfbkmb.js} +1 -1
- package/web/assets/{chunk-CLS4B6BI-C6Eyf-Zq.js → chunk-CLS4B6BI-DyGNmlKM.js} +1 -1
- package/web/assets/{chunk-NF366YI6-BjQUpZZg.js → chunk-NF366YI6-Bt1kQ0DM.js} +1 -1
- package/web/assets/{chunk-SLDQ463B-DAs7sJcm.js → chunk-SLDQ463B-DJlRPBQc.js} +1 -1
- package/web/assets/{classDiagram-FGAMPOII-ipJcwT2g.js → classDiagram-FGAMPOII-bO3X0enT.js} +1 -1
- package/web/assets/{classDiagram-v2-AI5RJEK4-ipJcwT2g.js → classDiagram-v2-AI5RJEK4-bO3X0enT.js} +1 -1
- package/web/assets/{cynefinDiagram-2OOWUY4M-BfCkzyqC.js → cynefinDiagram-2OOWUY4M-CFGjqhSu.js} +1 -1
- package/web/assets/{dagre-MPVFI544-CMeiFj2H.js → dagre-MPVFI544-j_X2O-kN.js} +1 -1
- package/web/assets/{diagram-AE4NWXFW-B7JUvrjH.js → diagram-AE4NWXFW-Caf0uquT.js} +1 -1
- package/web/assets/{diagram-BUJID5UG-KMWjNniB.js → diagram-BUJID5UG-f7DAZMD-.js} +1 -1
- package/web/assets/{diagram-C44CZ5NI-Bx93uHLb.js → diagram-C44CZ5NI-CNCoqTas.js} +1 -1
- package/web/assets/{diagram-EYOLEXXS-Dsja58oR.js → diagram-EYOLEXXS-iKWoG2R-.js} +1 -1
- package/web/assets/{ebnfDiagram-FTPZ3PV6-Iwxb9NAS.js → ebnfDiagram-FTPZ3PV6-0PKjNF3M.js} +1 -1
- package/web/assets/{erDiagram-H3ERR26V-CJU6qpcb.js → erDiagram-H3ERR26V-B3e3vtyL.js} +1 -1
- package/web/assets/{flowDiagram-YHGXBVSY-Dz6dhw6j.js → flowDiagram-YHGXBVSY-DSNLZyy6.js} +1 -1
- package/web/assets/{index-dXsywuPQ.js → index-D9vqZ2Mx.js} +67 -67
- package/web/assets/{infoDiagram-LV547AFH-P074dR6u.js → infoDiagram-LV547AFH-BrgvPVBW.js} +1 -1
- package/web/assets/{ishikawaDiagram-PUJQGNDS-CZlaIkzm.js → ishikawaDiagram-PUJQGNDS-DWEisfAp.js} +1 -1
- package/web/assets/{kanban-definition-JSQERAZB-BLX38hbF.js → kanban-definition-JSQERAZB-DPJa_ZMA.js} +1 -1
- package/web/assets/{mindmap-definition-VBJCLQLM-Bnu-7Z_9.js → mindmap-definition-VBJCLQLM-B-r6pcv4.js} +1 -1
- package/web/assets/{node.browser-DIc1knUO.js → node.browser-BsMEScc4.js} +1 -1
- package/web/assets/{pegDiagram-7WILOQTJ-SH-3F770.js → pegDiagram-7WILOQTJ-zbINieeM.js} +1 -1
- package/web/assets/{pieDiagram-EFA7CBSB-BGEXuMLa.js → pieDiagram-EFA7CBSB-CzTvsZCX.js} +1 -1
- package/web/assets/{railroadDiagram-5NIQVNLQ-DZMK703w.js → railroadDiagram-5NIQVNLQ-fS4iyUKq.js} +1 -1
- package/web/assets/{requirementDiagram-SXREGOKZ-DLW6bNTm.js → requirementDiagram-SXREGOKZ-DMQvhRON.js} +1 -1
- package/web/assets/{sequenceDiagram-52ZFIFDL-Bu6IKvYQ.js → sequenceDiagram-52ZFIFDL-BA5rAu4o.js} +1 -1
- package/web/assets/{stateDiagram-3QAKPIVI-BrLxhUMB.js → stateDiagram-3QAKPIVI-D_CKobMX.js} +1 -1
- package/web/assets/{stateDiagram-v2-HN2P4RDZ-yZRLNv94.js → stateDiagram-v2-HN2P4RDZ-CB2PHRuW.js} +1 -1
- package/web/assets/{swimlanes-QLVP42QD-BN3CFF8X.js → swimlanes-QLVP42QD-CQPtxHem.js} +1 -1
- package/web/assets/{swimlanesDiagram-JKPDBFCN-BQ7NwLky.js → swimlanesDiagram-JKPDBFCN-BOFXsJZx.js} +1 -1
- package/web/assets/{timeline-definition-GS45XAXW-DMlAtIe0.js → timeline-definition-GS45XAXW-bVpCnHzz.js} +1 -1
- package/web/assets/{vennDiagram-QIQU2ZRJ-DWmjtOEV.js → vennDiagram-QIQU2ZRJ-BiMVB-Bi.js} +1 -1
- package/web/assets/{wardleyDiagram-U6YNM66N-BRdmEKKB.js → wardleyDiagram-U6YNM66N-CvE7A-TC.js} +1 -1
- package/web/assets/{xychartDiagram-XJAZEDNM-roHne1SF.js → xychartDiagram-XJAZEDNM-DpPintys.js} +1 -1
- package/web/index.html +1 -1
package/dist/_shared/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export type { NodeLabel, NodeProperties, RelationshipType, GraphNode, GraphRelat
|
|
|
2
2
|
export { NODE_TABLES, REL_TABLE_NAME, REL_TYPES, EMBEDDING_TABLE_NAME, } from './lbug/schema-constants.js';
|
|
3
3
|
export type { NodeTableName, RelType } from './lbug/schema-constants.js';
|
|
4
4
|
export { SupportedLanguages } from './languages.js';
|
|
5
|
-
export { getLanguageFromFilename, getSyntaxLanguageFromFilename, isBladeTemplateFilename, } from './language-detection.js';
|
|
5
|
+
export { getLanguageFromFilename, getSyntaxLanguageFromFilename, isBladeTemplateFilename, isNotebookFilename, } from './language-detection.js';
|
|
6
6
|
export type { MroStrategy } from './mro-strategy.js';
|
|
7
7
|
export { scoreImpactRisk, unusedAxesForImpactWalk } from './impact-risk.js';
|
|
8
8
|
export type { ImpactRisk, ImpactRiskAxis, ImpactRiskInput, ImpactRiskResult, UnusedImpactRiskAxis, UnusedImpactRiskReason, } from './impact-risk.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,SAAS,EACT,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/_shared/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export { NODE_TABLES, REL_TABLE_NAME, REL_TYPES, EMBEDDING_TABLE_NAME, } from './lbug/schema-constants.js';
|
|
3
3
|
// Language support
|
|
4
4
|
export { SupportedLanguages } from './languages.js';
|
|
5
|
-
export { getLanguageFromFilename, getSyntaxLanguageFromFilename, isBladeTemplateFilename, } from './language-detection.js';
|
|
5
|
+
export { getLanguageFromFilename, getSyntaxLanguageFromFilename, isBladeTemplateFilename, isNotebookFilename, } from './language-detection.js';
|
|
6
6
|
// Impact risk scoring
|
|
7
7
|
export { scoreImpactRisk, unusedAxesForImpactWalk } from './impact-risk.js';
|
|
8
8
|
// Evidence + tie-break constants (RFC Appendix A, Appendix B)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,mBAAmB;AACnB,OAAO,EACL,WAAW,EACX,cAAc,EACd,SAAS,EACT,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAGpC,mBAAmB;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAGjC,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AA4C5E,8DAA8D;AAC9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,yDAAyD;AACzD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAGvD,sEAAsE;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,gEAAgE;AAChE,yEAAyE;AACzE,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AA6BxE,oFAAoF;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAMvF,uEAAuE;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAWpE,sEAAsE;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAKvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAKrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAEpG,OAAO,EACL,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,0CAA0C,CAAC;AAUlD,2EAA2E;AAC3E,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAErF,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAG1E,8EAA8E;AAC9E,wEAAwE;AACxE,wEAAwE;AACxE,8DAA8D;AAC9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAEjG,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAG3C,mDAAmD;AACnD,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,sCAAsC,CAAC"}
|
|
@@ -15,6 +15,8 @@ import { SupportedLanguages } from './languages.js';
|
|
|
15
15
|
* pure PHP translation unit and must not enter the generic PHP provider path.
|
|
16
16
|
*/
|
|
17
17
|
export declare const isBladeTemplateFilename: (filePath: string) => boolean;
|
|
18
|
+
/** Jupyter notebooks: ingested as Python; on-disk bytes are JSON. */
|
|
19
|
+
export declare const isNotebookFilename: (filePath: string) => boolean;
|
|
18
20
|
/**
|
|
19
21
|
* Map file extension to SupportedLanguage enum.
|
|
20
22
|
* Returns null if the file extension is not recognized.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-detection.d.ts","sourceRoot":"","sources":["../src/language-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA2DpD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,OACQ,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,kBAAkB,GAAG,IAkB/E,CAAC;AA0DF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,aAAc,MAAM,KAAG,
|
|
1
|
+
{"version":3,"file":"language-detection.d.ts","sourceRoot":"","sources":["../src/language-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA2DpD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,OACQ,CAAC;AAEpE,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,aAAc,MAAM,KAAG,OACS,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,kBAAkB,GAAG,IAkB/E,CAAC;AA0DF;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,aAAc,MAAM,KAAG,MAWhE,CAAC"}
|
|
@@ -26,7 +26,7 @@ const RUBY_EXTENSIONLESS_FILES = new Set([
|
|
|
26
26
|
const EXTENSION_MAP = {
|
|
27
27
|
[SupportedLanguages.JavaScript]: ['.js', '.jsx', '.mjs', '.cjs'],
|
|
28
28
|
[SupportedLanguages.TypeScript]: ['.ts', '.tsx', '.mts', '.cts'],
|
|
29
|
-
[SupportedLanguages.Python]: ['.py'],
|
|
29
|
+
[SupportedLanguages.Python]: ['.py', '.ipynb'],
|
|
30
30
|
[SupportedLanguages.Java]: ['.java'],
|
|
31
31
|
[SupportedLanguages.C]: ['.c'],
|
|
32
32
|
[SupportedLanguages.ObjectiveC]: ['.m', '.mm'],
|
|
@@ -66,6 +66,8 @@ for (const [lang, exts] of Object.entries(EXTENSION_MAP)) {
|
|
|
66
66
|
* pure PHP translation unit and must not enter the generic PHP provider path.
|
|
67
67
|
*/
|
|
68
68
|
export const isBladeTemplateFilename = (filePath) => filePath.replace(/\\/g, '/').toLowerCase().endsWith('.blade.php');
|
|
69
|
+
/** Jupyter notebooks: ingested as Python; on-disk bytes are JSON. */
|
|
70
|
+
export const isNotebookFilename = (filePath) => filePath.replace(/\\/g, '/').toLowerCase().endsWith('.ipynb');
|
|
69
71
|
/**
|
|
70
72
|
* Map file extension to SupportedLanguage enum.
|
|
71
73
|
* Returns null if the file extension is not recognized.
|
|
@@ -149,6 +151,8 @@ const AUXILIARY_BASENAME_MAP = {
|
|
|
149
151
|
export const getSyntaxLanguageFromFilename = (filePath) => {
|
|
150
152
|
if (isBladeTemplateFilename(filePath))
|
|
151
153
|
return 'markup';
|
|
154
|
+
if (isNotebookFilename(filePath))
|
|
155
|
+
return 'json';
|
|
152
156
|
const lang = getLanguageFromFilename(filePath);
|
|
153
157
|
if (lang)
|
|
154
158
|
return SYNTAX_MAP[lang];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-detection.js","sourceRoot":"","sources":["../src/language-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,6DAA6D;AAC7D,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,UAAU;IACV,SAAS;IACT,WAAW;IACX,aAAa;IACb,UAAU;CACX,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,aAAa,GAAkD;IACnE,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAChE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"language-detection.js","sourceRoot":"","sources":["../src/language-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { createParserForLanguage, isLanguageAvailable, resolveLanguageKey, } from '../tree-sitter/parser-loader.js';
|
|
7
7
|
import { parseSourceSafe } from '../tree-sitter/safe-parse.js';
|
|
8
8
|
import { getLanguageForFileContent, getProvider } from '../ingestion/languages/index.js';
|
|
9
|
+
import { extractNotebookPython, isNotebookPath } from '../ingestion/ipynb-extractor.js';
|
|
9
10
|
const parserCache = new Map();
|
|
10
11
|
/**
|
|
11
12
|
* Ensure parser is initialized and language is loaded, then parse content.
|
|
@@ -31,8 +32,20 @@ export const ensureAndParse = async (content, filePath) => {
|
|
|
31
32
|
// C++ UE macros, Dart extension types) would leave embeddings looking at an
|
|
32
33
|
// error-recovered tree. Resolved from `language` so the transform and the
|
|
33
34
|
// parser always come from the same provider. Length-preserving, so node
|
|
34
|
-
// offsets still index `content`.
|
|
35
|
-
|
|
35
|
+
// offsets still index `content` except for `.ipynb`, which is replaced by
|
|
36
|
+
// concatenated code-cell Python (same as the parse worker).
|
|
37
|
+
const provider = getProvider(language);
|
|
38
|
+
if (isNotebookPath(filePath)) {
|
|
39
|
+
const body = content.charCodeAt(0) === 0xfeff ? content.slice(1) : content;
|
|
40
|
+
if (body.trimStart().startsWith('{')) {
|
|
41
|
+
const extracted = extractNotebookPython(content);
|
|
42
|
+
if (!extracted)
|
|
43
|
+
return null;
|
|
44
|
+
const parseContent = provider.preprocessSource?.(extracted.pythonSource, filePath) ?? extracted.pythonSource;
|
|
45
|
+
return parseSourceSafe(parserInstance, parseContent);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const parseContent = provider.preprocessSource?.(content, filePath) ?? content;
|
|
36
49
|
return parseSourceSafe(parserInstance, parseContent);
|
|
37
50
|
};
|
|
38
51
|
const FUNCTION_LIKE_TYPES = new Set([
|
|
@@ -48,4 +48,4 @@ export interface CollectedCfgs {
|
|
|
48
48
|
/** Per-reason skip counts (#2195). */
|
|
49
49
|
readonly skipped: CfgSkipCounts;
|
|
50
50
|
}
|
|
51
|
-
export declare function collectFunctionCfgs(root: SyntaxNode, visitor: CfgVisitor<SyntaxNode>, filePath: string, maxFunctionLines?: number, lineOffset?: number): CollectedCfgs;
|
|
51
|
+
export declare function collectFunctionCfgs(root: SyntaxNode, visitor: CfgVisitor<SyntaxNode>, filePath: string, maxFunctionLines?: number, lineOffset?: number, mapLine?: (row: number) => number): CollectedCfgs;
|
|
@@ -34,7 +34,28 @@ function shiftCfgLines(cfg, offset) {
|
|
|
34
34
|
bindings: cfg.bindings?.map((bd) => bd.declLine > 0 ? { ...bd, declLine: bd.declLine + offset } : bd),
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
function remapCfgLines(cfg, mapLine) {
|
|
38
|
+
// CFG visitors store 1-based source lines; `mapLine` maps 0-based tree-sitter rows.
|
|
39
|
+
const map1 = (line) => mapLine(line - 1) + 1;
|
|
40
|
+
const mapSite = (site) => site.at !== undefined ? { ...site, at: [map1(site.at[0]), site.at[1]] } : site;
|
|
41
|
+
return {
|
|
42
|
+
...cfg,
|
|
43
|
+
functionStartLine: map1(cfg.functionStartLine),
|
|
44
|
+
functionEndLine: map1(cfg.functionEndLine),
|
|
45
|
+
blocks: cfg.blocks.map((b) => ({
|
|
46
|
+
...b,
|
|
47
|
+
startLine: map1(b.startLine),
|
|
48
|
+
endLine: map1(b.endLine),
|
|
49
|
+
statements: b.statements?.map((s) => ({
|
|
50
|
+
...s,
|
|
51
|
+
line: map1(s.line),
|
|
52
|
+
sites: s.sites?.map(mapSite),
|
|
53
|
+
})),
|
|
54
|
+
})),
|
|
55
|
+
bindings: cfg.bindings?.map((bd) => bd.declLine > 0 ? { ...bd, declLine: map1(bd.declLine) } : bd),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export function collectFunctionCfgs(root, visitor, filePath, maxFunctionLines = 0, lineOffset = 0, mapLine) {
|
|
38
59
|
const cfgs = [];
|
|
39
60
|
let tooManyLines = 0;
|
|
40
61
|
let tooDeeplyNested = 0;
|
|
@@ -54,8 +75,9 @@ export function collectFunctionCfgs(root, visitor, filePath, maxFunctionLines =
|
|
|
54
75
|
// and silently drop every remaining function's CFG (#2195).
|
|
55
76
|
try {
|
|
56
77
|
const cfg = visitor.buildFunctionCfg(node, filePath);
|
|
57
|
-
if (cfg)
|
|
58
|
-
cfgs.push(shiftCfgLines(cfg, lineOffset));
|
|
78
|
+
if (cfg) {
|
|
79
|
+
cfgs.push(mapLine ? remapCfgLines(cfg, mapLine) : shiftCfgLines(cfg, lineOffset));
|
|
80
|
+
}
|
|
59
81
|
}
|
|
60
82
|
catch (err) {
|
|
61
83
|
if (err instanceof CfgNestingDepthError)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Jupyter notebook (.ipynb) Python extractor.
|
|
3
|
+
*
|
|
4
|
+
* Pulls code-cell source from nbformat JSON so the Python tree-sitter
|
|
5
|
+
* grammar can parse it. Extraction helpers are I/O-free and worker-safe.
|
|
6
|
+
* `extractNotebookPythonCached` is an optional process-local LRU for FTS.
|
|
7
|
+
*
|
|
8
|
+
* Graph coordinates stay 0-based lines in the on-disk JSON file. Extract
|
|
9
|
+
* buffer lines map through {@link mapExtractLine}.
|
|
10
|
+
*/
|
|
11
|
+
export interface NotebookLineSegment {
|
|
12
|
+
readonly extractStartLine: number;
|
|
13
|
+
readonly extractEndLine: number;
|
|
14
|
+
readonly jsonStartLine: number;
|
|
15
|
+
readonly jsonEndLine: number;
|
|
16
|
+
}
|
|
17
|
+
export interface NotebookPythonExtraction {
|
|
18
|
+
readonly pythonSource: string;
|
|
19
|
+
readonly segments: readonly NotebookLineSegment[];
|
|
20
|
+
}
|
|
21
|
+
export declare function isNotebookPath(filePath: string): boolean;
|
|
22
|
+
export declare function isPythonFamilyLanguage(name: string | undefined | null): boolean;
|
|
23
|
+
export declare function extractNotebookPython(content: string): NotebookPythonExtraction | null;
|
|
24
|
+
export declare function mapExtractLine(row: number, segments: readonly NotebookLineSegment[]): number;
|
|
25
|
+
export declare function extractNotebookPythonCached(filePath: string, content: string): NotebookPythonExtraction | null;
|
|
26
|
+
/** Python snippet for a graph span stored in JSON file coordinates. */
|
|
27
|
+
export declare function notebookPythonSnippetFromExtract(extracted: NotebookPythonExtraction, startLine: number, endLine: number): string | null;
|
|
28
|
+
export declare function notebookPythonSnippet(fileContent: string, startLine: number, endLine: number, filePath?: string): string | null;
|