Dashboard › opencode › Distillation
d07334bd-eb58-4d7a-95c9-a98f820ffc99["lore_tm_v1_-Klvwrt4ImI-G8kqs-c7MGMYcq5u0yvqj8_Ck0IrcDc"]
/home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts lines 226–241 bind endpoint collections from ClientApi.groups: AgentEndpoints → "server.agent", CommandEndpoints → "server.command", ExperimentalEndpoints → "server.experimental", GenerateEndpoints → "server.generate", IntegrationEndpoints → "server.integration", McpEndpoints → "server.mcp", ModelEndpoints → "server.model", PluginEndpoints → "server.plugin", PermissionEndpoints → "server.permission", ProviderEndpoints → "server.provider", ReferenceEndpoints → "server.reference", SessionEndpoints → "server.session", SkillEndpoints → "server.skill", VcsEndpoints → "server.vcs", WebSearchEndpoints → "server.websearch", and WorktreeEndpoints → "server.worktree"./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts obtains the plugin scope context with const context = yield* Effect.context<Scope.Scope>() and initializes streams with const streams = yield* makeStreams()./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts defines register(effect: Effect.Effect<HostRegistration, never, Scope.Scope>): Promise<Registration>; it runs registration via Effect.runPromiseWith(context)(effect) and returns { dispose: () => Effect.runPromiseWith(context)(registration.dispose) }./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts defines run = <A, E>(effect: Effect.Effect<A, E>) => Effect.runPromiseWith(context)(effect)./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts defines promiseExecutor to adapt Tool.Info["execute"] into Info["execute"]; it forwards the execution context and wraps context.progress(update) as Effect.promise(() => context.progress(update)) before executing through run(...)./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts defines adaptApiMethod<PromiseMethod>(endpoint: HttpApiEndpoint.Top, method: (input: never) => Effect.Effect<unknown, unknown>); it compiles the endpoint with compileEndpoint(endpoint), decodes input ?? {} using Effect.forEach(compiled.decode, ...), merges decoded values with Object.assign({}, ...decoded) as never, invokes method(...), returns undefined when compiled.noContent is true, otherwise returns compiled.encode(result), and exposes execution as a promise through Effect.runPromiseWith(context)./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/adapter.ts begins defining a generic transform helper at line 277 with domain method signature transform: (callback: (editor: Editor) => void) => Effect.Effect<HostRegistration, never, Scope.Scope>.