Dashboard › opencode › Distillation
ebbb712a-1cc2-4274-b53b-8738818b1d68["lore_tm_v1_iDGzy08XX8v15gxUGZshu5RoGwT8e27SrsqcTrb6Y9g","lore_tm_v1_qwcm__qiT4le87GEbF0OqUNBUnxVcEyk5K-a2AZ5914","lore_tm_v1_QUax-MN02friR6oviICU22o5NPibvtXipnB5mxk1dBs","lore_tm_v1_H09lbIzHrAidobqYqVoVhZt6BN1pHmJCNrIRZmhUHb8","lore_tm_v1_weh7UbtLXomYKkc3tPgPM1aJO-DBqD_Anwo1h5rT9zw","lore_tm_v1_y5JntQ_3MYekAGptwo4YQfylcYUNKPzcGsuczDAKsI0","lore_tm_v1_w7F2jyYwRifrun-zgX06eRqi___pAAGGG__bN1VxIh8","lore_tm_v1_GrfU2rkjlWTkZTL0gLayDWtr43RQg3Ry9eHEYKQYZUA","lore_tm_v1_NtV6GdpVHvaIDFIOSr0QtI-n8PJWCip9MpMkJLzurfw","lore_tm_v1_zHJAkMez082nNDBFZCqfijEhxLdejikRXuDRZYpuLK0","lore_tm_v1_qrPQHU4YMHKo6o1_a9-3W65s5sBYbORHMS-KZs9pIBo","lore_tm_v1_yx69PF3ah8oSwC6CHH-1MGMfZBPD2ROEy0C38Khdnw8","lore_tm_v1_E2Cpi-vreUSVmeVXingptDqC9YKlgMPFr7xMnmFJdoY"]
Date: Sep 9, 2026
/home/byk/Code/opencode-lore-v2 with workspace/change ID wlpqmtos, empty commit c9250686, parent uutomtup commit 42911412 on main (fix(gateway): preserve large recall continuations (#1730)); worktree creation added 1034 files, modified 0 files, and removed 0 files./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/agent.ts defines AgentEditor methods list(), get(id), default(id), update(id, update), and remove(id); AgentDomain extends AgentApi and exposes readonly transform: Transform<AgentEditor> plus reload: () => Promise<void>./home/byk/Code/opencode-v2-pilot/packages/schema/src/agent.ts defines Agent.Info with id, name, optional model, request, optional system, optional description, mode: "subagent" | "primary" | "all", hidden, optional color, optional positive-integer steps, and permissions.Agent.Info.default(id) creates an agent named from its ID with request: { settings: {}, headers: {}, body: {} }, mode: "primary", hidden: false, and permissions allowing everything, asking for external_directory and reads of *.env/*.env.*, while allowing *.env.example./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/plan.ts registers plugin ID opencode.plan, transforms agent ID plan into primary agent name Plan, describes it as a read-only exploration/planning agent, allows question, denies general edits, and permits edits/external-directory access only under ~/.opencode/plan.ctx.session.synthetic({ resume: false }), and logs warning causes if persistence fails.~/.opencode/plan when explicitly requested, modify no other files, avoid delegating modifications to subagents, refuse implementation until the user switches agents, and emit a separate reminder when Plan mode ends.edit, write, or patch failures into ToolFailure message Cannot use ${event.tool} to modify files outside the Plan directory: ${directory}./home/byk/Code/opencode-v2-pilot/packages/core/src/config/plugin/agent.ts subscribes eagerly to config-file changes and config.updated, uses PubSub.sliding<void>(1), debounces updates by "100 millis", and reloads agent configuration without losing updates racing the initial scan.default_agent; remove disabled agents; merge model, request headers/body, system, description, mode, hidden, color, steps, and permissions; and expand home paths only for filesystem-oriented permission actions because bash resources require shell-aware parsing./home/byk/Code/opencode-v2-pilot/packages/core/test/session-model-request-hooks.test.ts defines request kinds in order ["primary", "compaction", "title", "generate"] and verifies both http.request and http.response receive each kind and agent ID build.ses_hook_kind, project Project.ID.global, directory /project, model gpt-5.5 from provider test, context limit 200_000, output limit 32_000, and POST endpoint https://example.test/v1/chat/completions returning status 200./home/byk/Code/opencode-v2-pilot/packages/plugin/src/host.ts resolves optional server, tui, and rpc entrypoints; named package targets use package subpaths, directory targets use resolved local paths, and missing-entry errors ENOENT, ENOTDIR, MODULE_NOT_FOUND, ERR_MODULE_NOT_FOUND, ERR_PACKAGE_PATH_NOT_EXPORTED, and ERR_UNSUPPORTED_DIR_IMPORT are treated as absent candidates.Host.resolve() tries server subpaths in order "server" then "", and separately tries "tui" and "rpc"; Host.load(entrypoint) delegates to importModule(entrypoint)./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/module.ts watches each plugin source only once, recursively watches the nearest existing ancestor when a dependency path is missing, publishes changes through an unbounded PubSub, and disposes createPluginSources() through scoped acquire/release.PluginModule.load() as directories; only legacy auto-discovery admits standalone server files.PluginModule.load() treats absolute targets as local; npm targets are resolved without installation when options.install === false and otherwise added through Npm.Service; unresolved non-installed npm plugins return { pending: true }, while other missing entrypoints raise PluginModule.LoadError with Plugin entrypoint not found: ${operation.target}.id and either an effect or setup function; promise-style setup plugins are adapted through PluginPromise.fromPromise, and invalid modules raise PluginModule.LoadError with Plugin must export a default definition with an id and an effect or setup function..tui and rpc features when corresponding entrypoints exist, computes revision as JSON.stringify([operation, loaded.version]), records local sources using fileURLToPath(entrypoint), records package target/version for npm sources, and passes operation.options into the plugin host./home/byk/Code/opencode-lore-v2/packages/gateway/src/cli/start.ts defines StartOptions.processBoundary as an internal CLI-owned process boundary that is never set by in-process plugins.GatewayHandle contains config, port, owned, owner-only managementToken, shutdown(), and optional internal processShutdown; shutdown() is a no-op when owned is false.{ pid: number }; GatewayIdentityProbe variants are authenticated with identity, rejected, unavailable, and timeout; GatewayShutdownRequestResult is "accepted" | "unsupported" | "failed".localhost, localhost., ::1, and IPv4 hosts matching 127(?:\.\d{1,3}){3} after stripping IPv6 brackets and lowercasing; malformed URLs return false.>= 22.5, uses TypeScript with pnpm workspaces, and stores its SQLite WAL/FTS5 database at ~/.local/share/lore/lore.db.packages/core/test/setup.ts and never the production database.quality/REVIEW.md for regression-test discipline, adversarial-order setup, fan-out registry coverage, recurring bug-class batteries, and the two-reviewer rule.CHANGELOG.md; Sentry Craft handles both automatically.gh workflow run release.yml -f version=auto for conventional-commit-derived semver or gh workflow run release.yml -f version=0.23.0 for an explicit version.scripts/bump-version.sh updates every package.json; 2. changelog is generated from conventional commits; 3. a release/X.Y.Z branch is created and pushed; 4. CI tests and builds npm tarballs, standalone binaries, and delta patches; 5. Craft opens a publish issue whose accepted label triggers publishing; 6. npm publishes through OIDC trusted publishing and GitHub Release receives binaries and patches..craft.yml defines release targets for 4 npm workspaces, the legacy opencode-lore alias, and a GitHub Release with binaries.