opencode-multi-account-core
v0.2.37
Published
Shared core for OpenCode Plugin Mode
Maintainers
Readme
opencode-multi-account-core
Shared core for kyoli OpenCode Plugin Mode.
This package is not a user-facing plugin. It is used by:
The npm package name remains opencode-multi-account-core for compatibility.
What lives here
| Module | Purpose |
|---|---|
| AccountStore | File-locked account JSON storage |
| AccountManager | Account cache, selection, state mutation |
| Executor | Retry loop and account rotation |
| Claims | Cross-process account claims |
| ProactiveRefreshQueue | Background token refresh |
| NativePluginLifecycle | OpenCode loader/runtime/refresh wiring |
| NativePluginAuth | Shared OAuth method builder |
| NativePluginLoader | Shared getAuth -> lifecycle.load -> hooks flow |
| NativePluginBootstrapAuth | Stored-account to OpenCode auth.json sync helper |
Provider wire behavior stays in the provider packages. Server Mode behavior stays in
@kyoli-gam/core, @kyoli-gam/gateway, and @kyoli-gam/cli.
Safety
- Disk writes go through file locks.
- Writes are atomic temp-file-and-rename operations.
- Concurrent refreshes for the same account are deduplicated.
- Claim-file writes are serialized.
- Accounts are only auto-disabled when another usable account remains.
- Dead process claims are released automatically.
Checks
pnpm --filter opencode-multi-account-core test:contract:native
pnpm --filter opencode-multi-account-core typecheck
pnpm --filter opencode-multi-account-core testRoot no-live plugin gate:
pnpm run test:contract:native