Walk the cells array as objects so source-before-cell_type notebooks map
correctly, remap assignment lines, and cap the extract cache.
Co-authored-by: Cursor <cursoragent@cursor.com>
Join cells so tree-sitter rows match segment maps, remap CFG and
scope captures from 1-based extract lines, and highlight .ipynb as JSON.
Co-authored-by: Cursor <cursoragent@cursor.com>
Extract .ipynb code cells in-process (Vue-style) and parse them with the
existing Python provider so notebook functions and imports join the graph
without executing kernels. Fixes#3371.
Co-authored-by: Cursor <cursoragent@cursor.com>