supermemory/packages
abhay-codes07 a0179cd1eb
feat(memory-graph): add in-graph node search
The graph had no way to find a specific document or memory once the node
count grew past a screenful. You could pan, zoom, fit, and arrow-key
between neighbours, but locating "the Berlin memory" in a few hundred
nodes meant eyeballing the canvas.

Add a search box to the bottom-left control stack that finds nodes by
text and steps through the matches:

- searchNodes(nodes, query): a pure, case-insensitive substring matcher
  over document title/summary/type and memory text/content. Results are
  ranked (title/memory prefix, then substring, then supporting copy) with
  input order as a stable tiebreaker, so ordering never depends on where
  the force simulation happened to drop a node. Exported for advanced use.
- SearchControl: an input styled like the existing navigation controls,
  with a live "current/total" counter, prev/next steppers, and a clear
  button. Enter / Shift+Enter cycle matches, Escape clears.
- Wiring in MemoryGraph: the focused match is selected and centered
  (reusing the same selectAndCenter path as arrow-key navigation), and the
  documents behind all matches are highlighted (memory matches highlight
  their parent document) by merging into the existing highlightDocumentIds
  pipeline. Press "/" to focus the box, consistent with the existing
  single-key shortcuts.

The box is on by default; embedders can hide it with showSearch={false}
or relabel it with searchPlaceholder. Existing keyboard handlers already
ignore events originating from inputs, so typing a query never triggers
the fit/zoom/arrow shortcuts.

Tested: 14 new tests (searchNodes ranking/empty-query/null-field cases;
SearchControl typing, Enter/Shift+Enter/Escape, clear, counter, disabled
states). Full package suite green (202 tests), tsc --noEmit clean, biome
clean, vite build succeeds.
2026-07-18 13:51:54 +05:30
..
agent-framework-python fix(agent-framework): restore importability on current agent-framework-core releases (#1281) 2026-07-17 14:49:10 +05:30
ai-sdk fix: username issue and bun lock issue (#818) 2026-03-31 21:41:25 +00:00
cartesia-sdk-python fix(cartesia-sdk): treat empty profile as no memories, not a retrieval error (#1164) 2026-07-10 19:14:49 -07:00
docs-test custom id implementation (#877) 2026-04-24 23:43:16 +00:00
hooks chore(nova): ux improvments (#820) 2026-04-02 18:20:34 +00:00
lib perf(lib): hoist customAlphabet factory in generateId (#1204) 2026-07-10 19:15:21 -07:00
memory-graph feat(memory-graph): add in-graph node search 2026-07-18 13:51:54 +05:30
openai-sdk-python fix(openai-sdk): use AsyncSupermemory and correct client API calls (#1063) 2026-06-17 09:05:11 -07:00
pipecat-sdk-python fix(pipecat-sdk): handle null profile object safely (#1041) 2026-06-05 17:26:28 +05:30
tools fix(tools): coerce limit/offset in ai-sdk schemas (#1202) 2026-07-10 19:42:15 -07:00
ui Fix settings organization flows (#1159) 2026-06-27 14:27:36 +00:00
validation fix(tools,validation): persist tool-call turns in conversation memory & tidy search thresholds (#1211) 2026-07-10 18:54:56 -07:00