fix(gateway): allow memory slot tool plugin invokes#75160
fix(gateway): allow memory slot tool plugin invokes#75160Etnly wants to merge 1 commit intoopenclaw:mainfrom
Conversation
3ac08f0 to
b167c63
Compare
|
Codex review: needs maintainer review before merge. Summary Reproducibility: yes. The PR creates a deterministic unit path where Next step before merge Security Review detailsBest possible solution: Keep the current runtime fallback and land this focused memory-slot regression coverage after the branch is rebased and normal maintainer review passes. Do we have a high-confidence way to reproduce the issue? Yes. The PR creates a deterministic unit path where Is this the best way to solve the issue? Yes for the patch content. Because the production fallback already exists on main, targeted regression coverage is the narrowest maintainable change; the remaining issue is mergeability, not design. Acceptance criteria:
What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against a4c1c28a1731. |
Summary
/tools/invokefallback to plugin-backed memory slot toolsWhy
/tools/invokeneeds to support memory slot tools such asmemory_search/memory_getwhen memory is provided through the configured plugin slot. Upstreammainnow contains the generalized production fallback behavior: first resolve known core tools with plugin tools disabled, then fall back to plugin-enabled resolution if that requested known core tool is absent.This PR keeps that production implementation and adds targeted tests to lock the behavior so memory slot tools do not regress.
Verification
Executed from a clean local worktree on branch
fix/p0b-memory-tools-invoke-20260430after rebasing onto current upstreammain:node scripts/run-vitest.mjs run --config test/vitest/vitest.gateway.config.ts src/gateway/tools-invoke-http.test.ts— PASS, 27/27pnpm tsgo:core:test— PASSpnpm tsgo:core— PASSgit diff --check— PASSpnpm exec oxfmt --check src/gateway/tools-invoke-http.test.ts— PASSNotes
b167c63bb52458bca863b46f33c78ad324ae431c35635d4cfe2d909e8ba6e5236602eadfc170d58b