Dashboard › opencode › Distillation
28325d3b-1574-4e14-8831-d8e6a49a6909["lore_tm_v1_QGgsr1k0WhF8TH5iP_bMpGDRN4MzREvhJxpHUh8ilAw","lore_tm_v1_qtv1os9nzARdssoZ2a60YuKwaCZOKWR_UDqTX-BPAIM","lore_tm_v1_za4RsiysdXYG3TSU4wwDAjS-ZMV9VtbI8LGWH7VOxMM","lore_tm_v1_vJ2BYBECwkF0GbLC28lOdDSIso7JVd1VRYIrVcEfM8o","lore_tm_v1_k6Jmd8IpRGmafTX5apjvA9-a0yLRETyGaHjuYgUTgQw","lore_tm_v1_CSPCsN0elfk3DfCUdFtVIu53gLDv3MQ1uq7pqb8MCOU","lore_tm_v1_FlQapmaQuTRZ9S8T72wgB4ZOuuHzWkLI_dDkQNDa6UA","lore_tm_v1_kZ1Mm6f6lpB4oboT-MeUpSrTYgWGDfCB9ifTLQAFFLw","lore_tm_v1_QUViIgIDD0iAK5tKyaZa1HkeAWndfArTJgKQHBcbdzo"]
/home/byk/Code/opencode/packages/core/src/plugin/internal.ts defines PluginInternal.Requirements as the union of AgentV2.Service, Catalog.Service, CommandV2.Service, Config.Service, EventV2.Service, FileSystem.Service, FSUtil.Service, Global.Service, HttpClient.HttpClient, Integration.Service, Location.Service, ModelsDev.Service, Npm.Service, Reference.Service, and SkillV2.Service./home/byk/Code/opencode/packages/core/src/plugin/internal.ts defines Plugin<R = never> with readonly id: string and readonly effect: (context: PluginContext) => Effect.Effect<void, never, R | Scope.Scope>; define<R>(plugin) returns the plugin unchanged.layer in /home/byk/Code/opencode/packages/core/src/plugin/internal.ts acquires Catalog.Service, CommandV2.Service, PluginV2.Service, Integration.Service, AgentV2.Service, Config.Service, Location.Service, ModelsDev.Service, Npm.Service, EventV2.Service, FSUtil.Service, FileSystem.Service, Global.Service, HttpClient.HttpClient, SkillV2.Service, and Reference.Service; its local add() provides those captured services to each plugin effect and registers it through plugin.add(PluginV2.ID.make(loaded.id), loaded.effect).State.batch() in this exact order: 1. ConfigReferencePlugin.Plugin, 2. AgentPlugin.Plugin, 3. CommandPlugin.Plugin, 4. SkillPlugin.Plugin, 5. ModelsDevPlugin, 6. ConfigAgentPlugin.Plugin, 7. ConfigCommandPlugin.Plugin, 8. ConfigSkillPlugin.Plugin, 9. every item in ProviderPlugins, 10. ConfigExternalPlugin.Plugin, 11. ConfigProviderPlugin.Plugin, 12. VariantPlugin.Plugin. The batch uses span "PluginInternal.boot" and Effect.forkScoped({ startImmediately: true })./home/byk/Code/opencode/packages/core/src/plugin/internal.ts exports locationLayer = layer.pipe(Layer.provideMerge(Config.locationLayer), Layer.provideMerge(FetchHttpClient.layer))./home/byk/Code/opencode/packages/core/src/plugin/internal.ts creates location node "plugin-internal" with layer and dependencies, in order: Catalog.node, CommandV2.node, PluginV2.node, Integration.node, AgentV2.node, Config.node, Location.node, ModelsDev.node, Npm.node, EventV2.node, FSUtil.node, FileSystem.node, Global.node, httpClient, SkillV2.node, and Reference.node.a55dc8c84a5594da99b2c9dc2ae02198414441f2 — feat(services): organize hosted services and add public files (2026-09-07); 1382cebe10eda8e5230099e19a0cb76ee2406548 — feat(core): support explicit provider compaction (#47323) (2026-09-07); 0732cdd8e16fcb0dfaff1d4805483c75f7b79262 — feat(core): persist provider compaction context (#47322) (2026-09-07); ffac1c5b11729befce8289ec6ce743ca648ac10c — fix(core): classify GitHub Copilot requests on every route (#47160) (2026-09-03); 8fc93e6ee4056f04e2d0b102a4abe299f4c18760 — fix(core): preserve session context during compaction (#46751) (2026-09-02); e76e90b71e0b60a456d436a456754f3519b88001 — refactor(core): decouple plugins from config loading (#46639) (2026-09-01); 0cdd711abfc4423af1947bc357e69db0115a69f9 — docs: expand plugin guides (2026-08-24); e68144cb677c1a0137b50a62d7764cfa9adcd76c — refactor(core): fold single-consumer request modules into model-request (#43958) (2026-08-21); d19f58c5df0a5362fa1c469c748ac558f79277dd — fix(core): use small model for titles (#43702) (2026-08-21); cb39ea11362b688409dbd309edfc7fc3ba32a6fe — fix(core): prefer websocket with request hooks (#43234) (2026-08-19).a5312e169b13c0f08b93c4b6e0c3076c94785aca — refactor(packages): migrate to the opencode npm scope (#47852) (2026-09-07).a55dc8c84a5594da99b2c9dc2ae02198414441f2^, provider/session hook call sites included: packages/core/src/plugin/provider/azure.ts:179 ("http.request"); packages/core/src/plugin/provider/github-copilot.ts:255 ("model.request") and :270 ("http.request"); packages/core/src/plugin/provider/openai.ts:295 ("model.request"); packages/core/src/session/model-request.ts:224 (hooks.trigger("session", "model.request", ...)), :249 (hooks.trigger("session", "http.request", ...)), and :365 (hooks.has("session", "http.request", resolved.ref.providerID)).a55dc8c84a5594da99b2c9dc2ae02198414441f2^, hook tests/references were at packages/core/test/plugin/provider-azure.test.ts:280,295, packages/core/test/plugin/provider-github-copilot.test.ts:50,155,230, packages/core/test/plugin/provider-openai.test.ts:47,59, packages/core/test/session-model-request-hooks.test.ts:47, packages/core/test/session-native-compaction.test.ts:188,193,403, packages/core/test/session-runner.test.ts:1517,2405, and packages/core/test/session-title.test.ts:276.a55dc8c84a5594da99b2c9dc2ae02198414441f2^, both packages/plugin/src/effect/session.ts:79-80 and packages/plugin/src/promise/session.ts:79-80 map "model.request" to SessionModelRequest and "http.request" to SessionHttpRequest./home/byk/Code/opencode/packages/core/src/session/model-request.ts from the checked-out working tree returned File not found, although that path exists in inspected Git commits.2cee8cb146d6110fd81c25734238330f2a29cca9 — fix(app): prevent stale WebUI asset loads; ad2ad08ec4681c54f4f3a15611f33d7f4095d51d — feat(server): add Fossilize standalone builds; 4f29d6374770440de3ef75fa443aa762244361b2 — feat(app): resizable/collapsible vertical tab rail + review-panel toggle; 3278d490ef2721365307a75e876de48715440406 — feat(app): add optional vertical tab rail; ced9b253615f74ce7937bad3c49575d9d67da97d — fix(app): show worktree selector on prod and label session tabs by worktree; 735e8a29f10834580f022d317bc15eeb7b03f9cd — fix(app): suppress reconnect toast flood and mobile bottom-row cutoff; 420e42358e7d242f95a8054a5897c2fdefc9b435 — fix(app): faster message loading, subtle sync indicator, stable composer caret; c012ae19d34e49e0e69fca66ec4d3762bea518b0 — fix(app): loading indicators and faster return-from-idle recovery; 13778f35b916e14895176f300fd64b5884fb7c79 — fix(core): skip file finder init for missing directory; b6532607389088bb868248f3303d506b90307394 — fix(app): reduce reactive cascade overhead on session switch (all dated 2026-08-11 except 2cee8cb146d6110fd81c25734238330f2a29cca9, dated 2026-08-12)..github/workflows/server-build.yml, .lore.md, AGENTS.md, packages/opencode/script/build-server.mjs, packages/opencode/script/smoke-server.mjs, and packages/opencode/src/node-server.ts; untracked files were perf.data and perf.data.old.2ac698d65aa4690a694307e9cbdf44537ea9a4fb — feat(ai): add Moonshot provider (#47851); c1c6ab593d58477119093b1997c858c2932fa619 — chore: update nix node_modules hashes; d1d1c6f890cee88677d81028da6ed5fcc55ee4ce — feat(release): publish package binaries through Cloudflare; 0ab661a9ccdffa939a04bb9734a002919a64dadf — chore: update nix node_modules hashes; a55dc8c84a5594da99b2c9dc2ae02198414441f2 — feat(services): organize hosted services and add public files; be41bc4e7de76637f4c7a94d6110637270bfff37 — fix(app): keep tab progress visible on hover (#47835); 567f8b974347f64869d1a43cb0653dd08bef3361 — feat(updates): serve updates under opencode.ai/update (#47858); 6263a35b3fba65736b5c358efd9dbb1b3e14df52 — fix(cli): install only opencode for stable AUR releases (#47857); 74ca560c750b0656374e8d7c1cd11085b7d90ce7 — feat(cli): publish stable releases to opencode-bin on AUR (#47856); a68d6f904d29c9fe91d3fce2086888a9d86b692a — feat(cli): publish beta releases to AUR (#47855); cc8c2f88105e0f344b2bdc68d66cb43220df5e98 — chore: update nix node_modules hashes; ad31bff969fe386266d3d1cd24d988651d3233af — docs: remove internal scope migration checklist; a5312e169b13c0f08b93c4b6e0c3076c94785aca — refactor(packages): migrate to the opencode npm scope (#47852); 16aca14bc7835ee0ea288ff536972dc1e347853d — chore: update nix node_modules hashes; 4aba093c98d957c947f952fd9b12872685aed8d2 — fix(updates): scope minimum checks to the caller channel; a3bbcd5c730d8fb91b8b64a013e1408b4c21744f — fix(updates): respect the default CLI user agent; c05d07cd730095fcab129a6bbb05c1ac7d22cf39 — feat(updates): gate releases on minimum client versions; ef34ada9fbd5783fdbd2440bd94f066e41375cc0 — feat(core): add DigitalOcean OAuth and router discovery (#47137); e15fb426ec593f02f8c6017d78b1c0ec58c8de8a — fix(browser): publish plugin under opencode scope; 72433f2ed86ee7b82509084f23ea9322ef908f02 — feat(ai): add Meta provider (#47826).2ac698d65aa4690a694307e9cbdf44537ea9a4fb, the pre-migration plugin package was named @opencode/plugin, version 1.18.15, ESM, MIT-licensed, with scripts test: bun test --only-failures, typecheck: tsgo --noEmit, and build: tsc -p tsconfig.build.json; published files were limited to dist.@opencode/plugin version 1.18.15 exports were "." → "./src/promise/index.ts", "./effect" → "./src/effect/index.ts", "./host" → "./src/host.ts", "./tui" → "./src/tui/index.ts", and "./*" → "./src/*.ts". Import #plugin-source resolved to "./src/source.bun.ts" under Bun and "./src/source.node.ts" under Node/default.@opencode/plugin version 1.18.15 runtime dependencies were @ai-sdk/provider 3.0.8, @opencode/ai workspace:*, @opencode/client workspace:*, @opencode/protocol workspace:*, @opencode/schema workspace:*, @opencode/util workspace:*, @standard-schema/spec catalog:, effect catalog:, and zod catalog:.@opencode/plugin version 1.18.15 peer dependencies were @opencode/theme workspace:*, @opentui/core >=0.5.10, @opentui/solid >=0.5.10, and solid-js >=1.9.0; all four were optional through peerDependenciesMeta.@opencode/plugin version 1.18.15 dev dependencies were @opencode/theme workspace:*, @opentui/core catalog:, @opentui/solid catalog:, @tsconfig/bun catalog:, @tsconfig/node22 catalog:, @types/bun catalog:, @types/node catalog:, solid-js catalog:, typescript catalog:, and @typescript/native-preview catalog:.2ac698d65aa4690a694307e9cbdf44537ea9a4fb, the "model.request"/"http.request" provider, model-request, test, and plugin session references remained at the same paths and line numbers previously found in parent commit a55dc8c84a5594da99b2c9dc2ae02198414441f2^: provider files at azure.ts:179, github-copilot.ts:255,270, openai.ts:295; packages/core/src/session/model-request.ts:224,249,365; tests at provider-azure.test.ts:280,295, provider-github-copilot.test.ts:50,155,230, provider-openai.test.ts:47,59, session-model-request-hooks.test.ts:47, session-native-compaction.test.ts:188,193,403, session-runner.test.ts:1517,2405, and session-title.test.ts:276; API mappings at packages/plugin/src/effect/session.ts:79-80 and packages/plugin/src/promise/session.ts:79-80.