mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-09 15:59:30 +00:00
PR #91742 wired memory_search's 15s deadline AbortSignal through the builtin memory manager but missed the QMD backend behind the same MemorySearchManager.search interface. With QMD, the tool returns "timed out after 15s" to the agent while the spawned qmd query/search subprocess keeps running for the full qmd command timeout (memory.qmd.limits.timeoutMs, whose embed-heavy default was raised to 600s in #87572), leaving orphaned embedding/search work running after the agent already moved on. Add optional AbortSignal support to runCliCommand: an aborting signal kills the spawned child immediately and rejects with the abort reason, funneled through a single settle() guard so abort/timeout/error/close cannot double-settle. Thread the search signal through QmdMemoryManager.search -> runQmdSearch -> runQmd -> runCliCommand for the default direct-qmd subprocess path (including the query fallback), and fast-fail search() when the signal is already aborted. |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||