feat(memory): add opt-in scoped memory tools

This commit is contained in:
sargatxet committed 2026-10-08 14:18:29 +02:00
1 parent cd09ed531d
commit e4e56db488
14 files changed
+618 -5

No files matched your search

+20
View File
@@ -42,3 +42,23 @@ files, symlinked install directories, and a tampered manifest.
branches.
- `npm pack --dry-run` — passed; included runtime files, selected content,
licenses, notice, and README.
## Optional memory review (2026-10-08)
Memory tools are not registered unless `memory.enabled` is explicitly true.
Session keys include hashes of the OpenCode project identity and session ID;
project-scope access additionally requires `memory.project: true` and is keyed
to the canonical project. Each operation checks the session's project ID. Data
is only stored or returned through explicit tool calls; list previews and
retrieval become ordinary tool output visible to the active provider. The
package does not encrypt storage, capture session content, or background-upload
memory. Retention is lazy: expired entries are rejected and removed on access,
not by a scheduled purge. Provider-backed learning and persistence across live
OpenCode restarts have not been verified, so this is not a security audit or a
claim about the underlying storage implementation.
Deterministic checks cover disabled-by-default behavior, session separation,
project opt-in, project separation, cross-project rejection, explicit deletion,
and expiry. A plugin config object containing user options is preserved during
uninstall; users must remove that entry themselves if they converted the
installer-added string to configure memory.