Compute blast radius and likely tests for given seed symbols or seed file paths.
Recursively walks reverse reachability (transitive callers) up to max_depth in SQLite.
Count parse diagnostics recorded for a file, returning 0 when the index has none.
Number of indexed symbols in one file, without loading the rows. Like load_file_symbols,
an exact-case path wins and the case-insensitive match is only the fallback.
Resolve callee signatures directly in a single joined query, avoiding N+1 queries
and preserving ambiguous methods across types. Prioritizes functions/methods over enum variants.
The workspace type definitions named by the type facts of target and of its parameters and
locals, one per name, as signature (path:line). A name with no type definition in the
index, such as Result or String, is left out. Same-file definitions win, then shorter paths.
True when lookup shows row inside the one line that counts the imports of query, not as a
row of its own: an import of that exact name, when some row is a definition. Such rows do not
count toward the lookup limit.
The import statements of the top-level definition name (under path_filter when given): an
import row with that name whose source module names a folder or file on the definition’s path.
find_references lists calls and type uses, so these go in a summary line after them.
The ids among ids that [inherited_attribute_write] leaves out. Callers check only the rows
they return, because the check walks base classes and a common word touches thousands of rows.
For each file the outline lists by name: its top-level definitions that are not tests, its
tests, and its fixtures, so the outline can say how many names it left out.
Load up to limit_per_file top-level definitions for each file the outline lists by name.
Files deeper than depth are filtered out in SQLite to keep memory strictly bounded. The
unary + keeps the overload check on the name index: the parent index would walk every
top-level symbol of the repository for each row.
Renames each row whose parent is a class or another code type to Owner.name, so a list of
__init__ rows says which class each one belongs to. For text output only: other tools take
the qualified name, and JSON keeps the raw name.
Sanitizes a free-form user query into (and_query, or_query) formatted for SQLite FTS5.
Each alphanumeric/underscore token is quoted and given a prefix wildcard: "token"*.
Identifiers are split at case boundaries too (parseHTTPResponse -> parse HTTP Response),
so a camelCase query finds a snake_case symbol. Each split identifier keeps its unsplit form
as an alternative inside its own required term, so a camelCase symbol, which FTS5 indexes as
one token, still matches. A query of two or three words also tries their concatenation.
English stop words are dropped unless the whole query is stop words, and tokens under three
characters get no prefix wildcard.