Dashboard › opencode › Distillation
000d3af0-57fb-4e27-8651-2292d158faac["lore_tm_v1_MvAAQfZzaAq9udqVtacoqtNzFtr5M3ByJN0cSwjVsl4"]
/home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/host.ts:98-106 runs same/current-location worktree operations directly, while only cross-location operations defer-import ../plugin.js, obtain Plugin.Service and target Worktree.Service, await plugins.awaitActivation, and run under locations.get(ref)./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/host.ts:93-107 rejects worktree operations with a nonempty workspaceID using Worktree.UnsupportedLocationError, supports direct current-location execution, and uses the deferred cross-location service graph for other locations./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/host.ts:384-407 exposes permission.assert directly as permission.assert; permission.get and permission.reply verify that the request exists and its sessionID matches the supplied session, otherwise failing with Error("Permission request not found: ...")./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/host.ts:47-534 constructs a Plugin.Context covering agent, AISDK, catalog, command, event, experimental terminal, generate, integration, MCP, permission, plugin, reference, skill, storage, shell, tool, VCS, websearch, worktree, and session APIs./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/host.ts:536-560 declares host requirements through LayerNode.group for App.node, Agent.node, AISDK.node, Catalog.node, Command.node, Bus.node, Integration.node, KV.node, Mcp.node, Location.node, Reference.node, Rpc.node, Skill.node, Tool.node, Vcs.node, WebSearch.node, Worktree.node, Generate.node, Permission.node, PluginHooks.node, Session.node, PersistentPty.node, and LocationServiceMap.node./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/host.ts:562-589 namespaces plugin storage keys as plugin:${pluginID encoded as four-digit hexadecimal UTF-16 code units}:; get, set, remove, and paginated scan prepend the namespace, while scan results strip it from returned keys and the next cursor.