Zum Inhalt springen

Öffentliche Subpath-Exports

Zusätzlich zum Haupt-Plugin-Entrypoint exponiert opencode-mem einen stabilen Subpath, den andere opencode-Plugins direkt importieren können. Das vermeidet, Container-Tag- Konventionen reverse-engineeren zu müssen, wenn Drittanbieter-Tools geschrieben werden, die in denselben Speicher lesen oder schreiben.

Kanonische Container-Tag-Helfer. Dieselben Funktionen, die opencode-mem selbst nutzt, um auto-erfasste Memories zu scopen.

import { getProjectTagInfo, getUserTagInfo, getTags } from "opencode-mem/tags";
// Canonical project tag derived from cwd (git remote URL if present, else
// the project root path). Format: `opencode_project_<sha16>`.
const projectTag = getProjectTagInfo(process.cwd()).tag;
// Canonical user tag derived from `git config user.email`.
// Format: `opencode_user_<sha16>`.
const userTag = getUserTagInfo().tag;
// Both at once.
const { user, project } = getTags(process.cwd());

Von diesen Helfern erzeugte Tags entsprechen dem, was Auto-Capture schreibt, sodass Drittanbieter- Plugins, die POST /api/memories aufrufen, in denselben Shards landen, die der Rest des Systems bereits versteht. Handgemachte Tags, deren Substring nicht _project_ oder _user_ ist, landen in Shadow-Shards, die /api/stats und /api/memories stillschweigend herausfiltern — diese Helfer vermeiden diese Falle.