gitnexus 1.6.13-rc.40 → 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.
Files changed (88) hide show
  1. package/dist/_shared/index.d.ts +1 -1
  2. package/dist/_shared/index.d.ts.map +1 -1
  3. package/dist/_shared/index.js +1 -1
  4. package/dist/_shared/index.js.map +1 -1
  5. package/dist/_shared/language-detection.d.ts +2 -0
  6. package/dist/_shared/language-detection.d.ts.map +1 -1
  7. package/dist/_shared/language-detection.js +5 -1
  8. package/dist/_shared/language-detection.js.map +1 -1
  9. package/dist/core/embeddings/ast-utils.js +15 -2
  10. package/dist/core/graph/edge-reasons.d.ts +12 -0
  11. package/dist/core/graph/edge-reasons.js +12 -0
  12. package/dist/core/ingestion/cfg/collect.d.ts +1 -1
  13. package/dist/core/ingestion/cfg/collect.js +25 -3
  14. package/dist/core/ingestion/import-resolvers/configs/swift.d.ts +4 -3
  15. package/dist/core/ingestion/import-resolvers/configs/swift.js +4 -3
  16. package/dist/core/ingestion/ipynb-extractor.d.ts +28 -0
  17. package/dist/core/ingestion/ipynb-extractor.js +679 -0
  18. package/dist/core/ingestion/language-config.d.ts +97 -4
  19. package/dist/core/ingestion/language-config.js +186 -32
  20. package/dist/core/ingestion/language-provider.d.ts +3 -0
  21. package/dist/core/ingestion/languages/python/captures.d.ts +6 -2
  22. package/dist/core/ingestion/languages/python/captures.js +56 -7
  23. package/dist/core/ingestion/languages/python.js +1 -1
  24. package/dist/core/ingestion/languages/swift/implicit-imports.d.ts +27 -29
  25. package/dist/core/ingestion/languages/swift/implicit-imports.js +63 -47
  26. package/dist/core/ingestion/languages/swift/import-target.d.ts +12 -4
  27. package/dist/core/ingestion/languages/swift/import-target.js +59 -6
  28. package/dist/core/ingestion/languages/swift/index.d.ts +1 -1
  29. package/dist/core/ingestion/languages/swift/index.js +1 -1
  30. package/dist/core/ingestion/languages/swift/name-fallback-visibility.d.ts +8 -4
  31. package/dist/core/ingestion/languages/swift/name-fallback-visibility.js +35 -5
  32. package/dist/core/ingestion/languages/swift/scope-resolver.d.ts +9 -10
  33. package/dist/core/ingestion/languages/swift/scope-resolver.js +20 -20
  34. package/dist/core/ingestion/languages/swift/sibling-type-bindings.d.ts +12 -13
  35. package/dist/core/ingestion/languages/swift/sibling-type-bindings.js +31 -38
  36. package/dist/core/ingestion/languages/swift/target-grouping.d.ts +56 -37
  37. package/dist/core/ingestion/languages/swift/target-grouping.js +186 -68
  38. package/dist/core/ingestion/languages/swift/target-siblings.d.ts +22 -20
  39. package/dist/core/ingestion/languages/swift/target-siblings.js +66 -40
  40. package/dist/core/ingestion/languages/swift/workspace-config.d.ts +20 -0
  41. package/dist/core/ingestion/languages/swift/workspace-config.js +174 -0
  42. package/dist/core/ingestion/languages/swift/xcode-project.d.ts +52 -0
  43. package/dist/core/ingestion/languages/swift/xcode-project.js +326 -0
  44. package/dist/core/ingestion/scope-extractor-bridge.d.ts +2 -1
  45. package/dist/core/ingestion/scope-extractor-bridge.js +5 -2
  46. package/dist/core/ingestion/workers/parse-worker.js +20 -9
  47. package/dist/core/lbug/csv-generator.js +11 -3
  48. package/dist/core/lbug/lbug-adapter.js +61 -35
  49. package/dist/storage/parse-cache.js +3 -1
  50. package/package.json +1 -1
  51. package/web/assets/{abnfDiagram-PAR5IXJI-CM9OPETj.js → abnfDiagram-PAR5IXJI-ghbj7sD2.js} +1 -1
  52. package/web/assets/{agent-C8bWDcKv.js → agent-D7pSP6kP.js} +2 -2
  53. package/web/assets/{architectureDiagram-2PNWDENW-CFGPVOFL.js → architectureDiagram-2PNWDENW-BVvAcFF7.js} +1 -1
  54. package/web/assets/{chunk-32MCUW2P-BAKWSoJ_.js → chunk-32MCUW2P-CgOfbkmb.js} +1 -1
  55. package/web/assets/{chunk-CLS4B6BI-C6Eyf-Zq.js → chunk-CLS4B6BI-DyGNmlKM.js} +1 -1
  56. package/web/assets/{chunk-NF366YI6-BjQUpZZg.js → chunk-NF366YI6-Bt1kQ0DM.js} +1 -1
  57. package/web/assets/{chunk-SLDQ463B-DAs7sJcm.js → chunk-SLDQ463B-DJlRPBQc.js} +1 -1
  58. package/web/assets/{classDiagram-FGAMPOII-ipJcwT2g.js → classDiagram-FGAMPOII-bO3X0enT.js} +1 -1
  59. package/web/assets/{classDiagram-v2-AI5RJEK4-ipJcwT2g.js → classDiagram-v2-AI5RJEK4-bO3X0enT.js} +1 -1
  60. package/web/assets/{cynefinDiagram-2OOWUY4M-BfCkzyqC.js → cynefinDiagram-2OOWUY4M-CFGjqhSu.js} +1 -1
  61. package/web/assets/{dagre-MPVFI544-CMeiFj2H.js → dagre-MPVFI544-j_X2O-kN.js} +1 -1
  62. package/web/assets/{diagram-AE4NWXFW-B7JUvrjH.js → diagram-AE4NWXFW-Caf0uquT.js} +1 -1
  63. package/web/assets/{diagram-BUJID5UG-KMWjNniB.js → diagram-BUJID5UG-f7DAZMD-.js} +1 -1
  64. package/web/assets/{diagram-C44CZ5NI-Bx93uHLb.js → diagram-C44CZ5NI-CNCoqTas.js} +1 -1
  65. package/web/assets/{diagram-EYOLEXXS-Dsja58oR.js → diagram-EYOLEXXS-iKWoG2R-.js} +1 -1
  66. package/web/assets/{ebnfDiagram-FTPZ3PV6-Iwxb9NAS.js → ebnfDiagram-FTPZ3PV6-0PKjNF3M.js} +1 -1
  67. package/web/assets/{erDiagram-H3ERR26V-CJU6qpcb.js → erDiagram-H3ERR26V-B3e3vtyL.js} +1 -1
  68. package/web/assets/{flowDiagram-YHGXBVSY-Dz6dhw6j.js → flowDiagram-YHGXBVSY-DSNLZyy6.js} +1 -1
  69. package/web/assets/{index-dXsywuPQ.js → index-D9vqZ2Mx.js} +67 -67
  70. package/web/assets/{infoDiagram-LV547AFH-P074dR6u.js → infoDiagram-LV547AFH-BrgvPVBW.js} +1 -1
  71. package/web/assets/{ishikawaDiagram-PUJQGNDS-CZlaIkzm.js → ishikawaDiagram-PUJQGNDS-DWEisfAp.js} +1 -1
  72. package/web/assets/{kanban-definition-JSQERAZB-BLX38hbF.js → kanban-definition-JSQERAZB-DPJa_ZMA.js} +1 -1
  73. package/web/assets/{mindmap-definition-VBJCLQLM-Bnu-7Z_9.js → mindmap-definition-VBJCLQLM-B-r6pcv4.js} +1 -1
  74. package/web/assets/{node.browser-DIc1knUO.js → node.browser-BsMEScc4.js} +1 -1
  75. package/web/assets/{pegDiagram-7WILOQTJ-SH-3F770.js → pegDiagram-7WILOQTJ-zbINieeM.js} +1 -1
  76. package/web/assets/{pieDiagram-EFA7CBSB-BGEXuMLa.js → pieDiagram-EFA7CBSB-CzTvsZCX.js} +1 -1
  77. package/web/assets/{railroadDiagram-5NIQVNLQ-DZMK703w.js → railroadDiagram-5NIQVNLQ-fS4iyUKq.js} +1 -1
  78. package/web/assets/{requirementDiagram-SXREGOKZ-DLW6bNTm.js → requirementDiagram-SXREGOKZ-DMQvhRON.js} +1 -1
  79. package/web/assets/{sequenceDiagram-52ZFIFDL-Bu6IKvYQ.js → sequenceDiagram-52ZFIFDL-BA5rAu4o.js} +1 -1
  80. package/web/assets/{stateDiagram-3QAKPIVI-BrLxhUMB.js → stateDiagram-3QAKPIVI-D_CKobMX.js} +1 -1
  81. package/web/assets/{stateDiagram-v2-HN2P4RDZ-yZRLNv94.js → stateDiagram-v2-HN2P4RDZ-CB2PHRuW.js} +1 -1
  82. package/web/assets/{swimlanes-QLVP42QD-BN3CFF8X.js → swimlanes-QLVP42QD-CQPtxHem.js} +1 -1
  83. package/web/assets/{swimlanesDiagram-JKPDBFCN-BQ7NwLky.js → swimlanesDiagram-JKPDBFCN-BOFXsJZx.js} +1 -1
  84. package/web/assets/{timeline-definition-GS45XAXW-DMlAtIe0.js → timeline-definition-GS45XAXW-bVpCnHzz.js} +1 -1
  85. package/web/assets/{vennDiagram-QIQU2ZRJ-DWmjtOEV.js → vennDiagram-QIQU2ZRJ-BiMVB-Bi.js} +1 -1
  86. package/web/assets/{wardleyDiagram-U6YNM66N-BRdmEKKB.js → wardleyDiagram-U6YNM66N-CvE7A-TC.js} +1 -1
  87. package/web/assets/{xychartDiagram-XJAZEDNM-roHne1SF.js → xychartDiagram-XJAZEDNM-DpPintys.js} +1 -1
  88. package/web/index.html +1 -1
@@ -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":"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"}
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,EACvB,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIrE,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,GACd,MAAM,yCAAyC,CAAC;AACjD,YAAY,EACV,OAAO,EACP,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,EACP,YAAY,EACZ,UAAU,EACV,UAAU,EACV,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,GACZ,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAG/E,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAG5F,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAKrF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAGpF,YAAY,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,YAAY,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAClG,YAAY,EACV,aAAa,EACb,aAAa,EACb,QAAQ,EACR,cAAc,GACf,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,mBAAmB,EACnB,6BAA6B,EAC7B,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,YAAY,EACV,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,uBAAuB,GACxB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,YAAY,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,YAAY,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,8CAA8C,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACpF,YAAY,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACpG,YAAY,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EACL,gCAAgC,EAChC,kBAAkB,GACnB,MAAM,6CAA6C,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,GAClB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACrF,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EACL,cAAc,EACd,cAAc,EACd,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAM1E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjG,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,4BAA4B,EAC5B,kBAAkB,EAClB,eAAe,EACf,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,4BAA4B,EAC5B,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC"}
@@ -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,GACxB,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"}
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,MAUhE,CAAC"}
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":"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"}
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
- const parseContent = getProvider(language).preprocessSource?.(content, filePath) ?? content;
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([
@@ -24,3 +24,15 @@
24
24
  export declare const GLOBAL_NAME_FALLBACK_REASON = "global-name-fallback";
25
25
  /** True when this edge's target was guessed by name rather than resolved. */
26
26
  export declare const isHeuristicEdgeReason: (reason: string) => boolean;
27
+ /**
28
+ * An IMPORTS edge from a File to the `Module` node of the compiler module it
29
+ * belongs to, for languages where every file of a module sees every other
30
+ * file's declarations with no `import` (whole-module visibility).
31
+ *
32
+ * One edge per member file instead of one per ordered file pair: the pairwise
33
+ * form is n·(n−1) edges and exhausted V8's Map limit on large modules (#3355).
34
+ * Consumers that need "files that see this file" follow the hub: two files are
35
+ * co-members when both have a membership edge to the same `Module` node
36
+ * (`queryImportersBatch`).
37
+ */
38
+ export declare const MODULE_MEMBERSHIP_REASON = "module-membership";
@@ -32,3 +32,15 @@ export const GLOBAL_NAME_FALLBACK_REASON = 'global-name-fallback';
32
32
  const HEURISTIC_EDGE_REASONS = new Set([GLOBAL_NAME_FALLBACK_REASON]);
33
33
  /** True when this edge's target was guessed by name rather than resolved. */
34
34
  export const isHeuristicEdgeReason = (reason) => HEURISTIC_EDGE_REASONS.has(reason);
35
+ /**
36
+ * An IMPORTS edge from a File to the `Module` node of the compiler module it
37
+ * belongs to, for languages where every file of a module sees every other
38
+ * file's declarations with no `import` (whole-module visibility).
39
+ *
40
+ * One edge per member file instead of one per ordered file pair: the pairwise
41
+ * form is n·(n−1) edges and exhausted V8's Map limit on large modules (#3355).
42
+ * Consumers that need "files that see this file" follow the hub: two files are
43
+ * co-members when both have a membership edge to the same `Module` node
44
+ * (`queryImportersBatch`).
45
+ */
46
+ export const MODULE_MEMBERSHIP_REASON = 'module-membership';
@@ -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
- export function collectFunctionCfgs(root, visitor, filePath, maxFunctionLines = 0, lineOffset = 0) {
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)
@@ -22,9 +22,10 @@
22
22
  * `allFileList` entries, and the per-target file ORDER follows
23
23
  * `allFileList`.
24
24
  *
25
- * Import-config fans a file to every matching declared target. Grouping
26
- * (`groupSwiftFilesBySpmTarget`) is first-target-wins. That divergence
27
- * is intentional.
25
+ * Import-config fans a file to every matching declared target. Module
26
+ * grouping (`groupSwiftFilesByModule`) anchors target paths at the repo root
27
+ * and picks the deepest. That divergence is intentional: this legacy
28
+ * strategy only sees the root declaration map.
28
29
  */
29
30
  import type { ImportResolutionConfig, ImportResolverStrategy } from '../types.js';
30
31
  /** Swift Package.swift target map resolution strategy. */
@@ -22,9 +22,10 @@
22
22
  * `allFileList` entries, and the per-target file ORDER follows
23
23
  * `allFileList`.
24
24
  *
25
- * Import-config fans a file to every matching declared target. Grouping
26
- * (`groupSwiftFilesBySpmTarget`) is first-target-wins. That divergence
27
- * is intentional.
25
+ * Import-config fans a file to every matching declared target. Module
26
+ * grouping (`groupSwiftFilesByModule`) anchors target paths at the repo root
27
+ * and picks the deepest. That divergence is intentional: this legacy
28
+ * strategy only sees the root declaration map.
28
29
  */
29
30
  import { SupportedLanguages } from '../../../../_shared/index.js';
30
31
  import { coerceDeclaredSwiftTargets, swiftDeclaredTargetPrefix } from '../../language-config.js';
@@ -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;