Add persistent Supermemory status to OpenCode - #81
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
| } | ||
| } | ||
|
|
||
| configureTuiPlugin(); |
There was a problem hiding this comment.
P2 — Only install the TUI plugin after server-plugin registration succeeds. The interactive flow can decline creating/updating the main OpenCode config, and addPluginToConfig() can also return false, but this call still writes the package to tui.json[c]. OpenCode loads that TUI entry independently, leaving a Supermemory footer installed even though the server plugin that provides recall/save behavior is absent. Please track the main registration result and skip or separately confirm TUI installation when it did not succeed.
Merge activity
|
PR #81 added the footer but was merged into graphite-base/81 instead of main, so it never shipped. Fold it into one `./tui` module that OpenCode V1 loads through tui.jsonc (`tui()`) and OpenCode 2 loads automatically next to the server plugin (`setup()`). Both show `◪ supermemory · running` while a session is busy and the latest recall or save activity otherwise; OpenCode 2 also renders the server's activity notices as toasts from the same plugin. The installer enables the V1 footer in tui.jsonc, `status` reports it, and direct-recall parts carry recall metadata so the V1 footer can read them.
* Add OpenCode 2 plugin with full feature parity OpenCode 2 rejects the V1 root export, so 2.0.13 fails to load for every OpenCode 2 user (#74). Ship a server plugin at `opencode-supermemory/server` (resolved automatically by OpenCode 2), a `./tui` companion that renders activity notices as toasts, and a shared `./rpc` contract, while keeping the root export unchanged for OpenCode V1. The V2 runtime mirrors main's V1 behavior: direct/advisory/off recall with per-session dedupe and 3s fail-open timeouts, first-message profile context, keyword nudges, the shared `supermemory` tool plus a read-only `supermemory_recall` tool that the installer auto-allows, bounded and idempotent automatic capture from the session transcript, native compaction enrichment with summary capture (`compactionEnabled`), update checks, and activity notices over plugin RPC. Recall context is re-applied on every model call for the same prompt because OpenCode 2 hook messages are request-local. Shared services now back both generations: the tool executor, compaction prompt, activity notice formatting, and a comment-preserving JSONC editor that registers `plugin`, `plugins`, and the recall permission. The installer and `status` report both registrations. Also fix the `src/cli.ts` typecheck failure that blocked the 2.0.14 release, import jsonc-parser's ESM build so bundles load under Node and Bun, run tests in the release workflow, and bump to 2.0.15. * Add persistent Supermemory status footer for OpenCode V1 and 2 PR #81 added the footer but was merged into graphite-base/81 instead of main, so it never shipped. Fold it into one `./tui` module that OpenCode V1 loads through tui.jsonc (`tui()`) and OpenCode 2 loads automatically next to the server plugin (`setup()`). Both show `◪ supermemory · running` while a session is busy and the latest recall or save activity otherwise; OpenCode 2 also renders the server's activity notices as toasts from the same plugin. The installer enables the V1 footer in tui.jsonc, `status` reports it, and direct-recall parts carry recall metadata so the V1 footer can read them. * Show the OpenCode 2 status footer once The prompt footer is rendered on the home screen too, so the extra home.footer.status slot duplicated the footer. * Show a bare supermemory footer until there is activity

Adds a persistent Supermemory footer using OpenCode's native TUI plugin slots.\n\nIt turns blue while a turn is running and keeps the latest recall or save activity visible.