# 2026-02-23 Session Notes ## OpenCode Connector Refactoring (Task #6) Agent began refactoring the `packages/connector-opencode/` to move from a template-based `memory.mjs` installation to a bundled plugin discovery approach. OpenCode now auto-discovers plugins from `~/.config/opencode/plugins/`, eliminating the need to patch opencode.json config files. ## Key Architecture Changes Instead of writing a string template to the root OpenCode directory and registering it in config, the connector now: - Writes a pre-bundled `signet.mjs` to the plugins directory - Relies on OpenCode's built-in plugin auto-discovery mechanism - Removes config patching logic entirely ## Implementation Tasks The refactor involves: 1. Deleting the template file `src/templates/memory.mjs.ts` 2. Creating `src/plugin-bundle.ts` as a placeholder (real bundle embedded via build script) 3. Creating `scripts/embed-plugin.ts` to embed the compiled plugin from `../opencode-plugin/dist/signet.mjs` 4. Refactoring `install()` to ensure plugins directory exists, handle legacy migration, write bundled plugin, and skip config patching 5. Adding `migrateFromLegacy()` method to clean up old memory.mjs references from config files 6. Updating `uninstall()` to remove the bundled plugin and call migration cleanup 7. Simplifying `isInstalled()` to just check for `plugins/signet.mjs` existence 8. Updating package.json with new build:bundle script ## Technical Constraints Strict TypeScript discipline enforced: no `any` types, no `as` assertions, explicit return types on all exports. JSONC parsing helpers retained for config file manipulation.