Dashboard › opencode › Distillation
c7cdadfc-eb5d-4688-9e78-dde402f36983["lore_tm_v1_Y8zRTlW3CJ_FCbWOhyngFhu1iACs44e2iMqDJ-hh6n4","lore_tm_v1_azICX2lfk0eht84uAqbktD6WpSEEi4ljZ935IWVqtes","lore_tm_v1_FM0RgZpvvFibp-_UvXOKqGNXhFki92NH2oCGIjWh6ZM","lore_tm_v1_trRdPE5hQzb5yNaI_qAONZU5-gzMpkzl16oZfwoAXTM","lore_tm_v1_a0xdFfs2rnboXGzMr3u6-F6EIR5ObTWrH7XkJleJ9ug","lore_tm_v1_OLPaa4leZDXwxx9e5ApAwqA8XQ5P8suSef4pUPoklD0","lore_tm_v1_dDnaV-T4ddryf8-ekgdmm3li87NBs1fUDjkkaDphnTw","lore_tm_v1_7b5isudl6WX0nmiiS-ZQHKvdSnmEcROkPHEIo9t0J5Q","lore_tm_v1_4J5I-Qk5cB0U6mJ_PeR_K6KjoZ8KkQZHqhM_wJO8m_U","lore_tm_v1_C0z4n2SfBqVLwtTgvABniIZMAhZE_gaFqE-MkmMbkXE","lore_tm_v1_la4Z6XMXvfKW_kBrLYLO2xD57fIMkznohL9RQyJGovs"]
Date: September 9, 2026
/home/byk/Code/opencode-lore/package.json defines private ESM workspace root lore-monorepo, license FSL-1.1-Apache-2.0, description Monorepo root for Lore β three-tier memory architecture, entry/export ./packages/opencode/src/index.ts, package manager pnpm@10.28.0, Volta Node 24.16.0 and pnpm 10.28.0, workspace pattern packages/*, repository git+https://github.com/BYK/loreai.git, and author BYK.esbuild, onnxruntime-node, and sharp; overrides are basic-ftp: 5.3.1, ip-address: 10.2.0, fast-xml-parser: 5.7.3, @huggingface/hub: 2.11.0, onnxruntime-node: 1.27.0, yaml: >=2.8.3, esbuild: >=0.28.1, @opentelemetry/core: >=2.8.0, protobufjs: >=8.6.6, qs: >=6.15.2, tar: >=7.5.19, js-yaml: >=4.3.0 <5, brace-expansion: >=5.0.7, fast-uri: >=3.1.4 <4, sharp: >=0.35.0, svgo: >=4.0.2, adm-zip: >=0.6.0, and postcss: >=8.5.18; patched dependency @sentry/node@10.56.0 uses patches/@sentry__node@10.56.0.patch.typecheck: pnpm -r run typecheck, test: vitest run, pretest: pnpm --filter @loreai/gateway run bundle, test:coverage: pnpm --filter @loreai/gateway run bundle && vitest run --coverage, build: pnpm -r run build, site:dev: pnpm --filter '@loreai/website' dev, site:build: pnpm --filter '@loreai/website' build, site:preview: pnpm --filter '@loreai/website' preview, generate:docs: tsx scripts/generate-config-docs.ts && tsx scripts/generate-env-docs.ts, check:patches: tsx scripts/check-patches.ts, check:docs: tsx scripts/generate-config-docs.ts --check && tsx scripts/generate-env-docs.ts --check, check:links: node scripts/check-docs-links.mjs, check:preview-links: node scripts/check-preview-links.mjs, check:social: node scripts/check-social-meta.mjs, lint: oxlint --type-aware, lint:fix: oxlint --type-aware --fix, format: oxfmt, format:check: oxfmt --check, evals: vitest run --config vitest.evals.config.ts, premutation: pnpm --filter @loreai/gateway run bundle, mutation: stryker run, and postinstall: pnpm --filter @loreai/gateway run build.@stryker-mutator/core: 9.6.1, @stryker-mutator/vitest-runner: 9.6.1, @types/node: 24.13.1, @types/pg: ^8.11.10, @vitest/coverage-v8: ^4.1.8, binpatch: ^0.3.1, esbuild: ^0.28.1, fast-check: ^4.5.3, linkinator: ^7.6.1, oxfmt: 0.58.0, oxlint: 1.73.0, oxlint-tsgolint: 0.24.0, pg: ^8.13.1, tsx: ^4.22.3, typescript: ^5.8.0, vitest: ^4.1.7, and vitest-evals: ^0.10.0./home/byk/Code/opencode-lore/packages/core/package.json defines @loreai/core version 0.40.0, ESM, license FSL-1.1-Apache-2.0, description Shared memory engine for Lore β three-tier storage, distillation, gradient context management, main ./dist/node/index.js, types ./dist/node/index.d.ts, and conditional exports: types ./dist/types/index.d.ts, development ./src/index.ts, bun ./dist/bun/index.js, default ./dist/node/index.js. Import #db/driver resolves to ./src/db/driver.bun.ts for Bun and ./src/db/driver.node.ts otherwise. Scripts are typecheck: tsc --noEmit && tsc --noEmit -p tsconfig.eval.json and build: tsx script/build.ts.@loreai/core dependencies are @hpke/core: ^1.9.0, @huggingface/hub: 2.11.0, @noble/ciphers: ^2.2.0, @noble/curves: ^2.2.0, @noble/hashes: ^2.2.0, micromark: ^4.0.0, p-limit: 7, pickleparser: 0.2.1, remark: ^15.0.1, sqlite-vec: 0.1.9, unbash: ^4.0.4, uuidv7: ^1.1.0, and zod: ^4.3.6; optional dependencies are @huggingface/transformers: ^3.7.1, onnxruntime-node: 1.27.0, and sharp: ^0.35.0; dev dependencies are @types/bun: ^1.2.0, @types/mdast: ^4.0.4, and ai-tokenizer: ^1.0.6.@loreai/core publishes src/, dist/, README.md, and LICENSE; requires Node >=22.5; repository directory is packages/core; npm access is public; keywords are lore, memory, llm, sqlite, fts5, and distillation; author is BYK./home/byk/Code/opencode-lore/packages/gateway/package.json defines @loreai/gateway version 0.40.0, ESM, license FSL-1.1-Apache-2.0, description Lore as a transparent LLM proxy β context management for any AI coding client, main/default/require ./dist/index.cjs, types ./dist/index.d.cts, Bun export ./dist/index.bun.js, and binaries lore and lore-gateway, both mapped to ./dist/bin.cjs. Scripts are typecheck: tsc --noEmit, build: tsx script/build.ts, bundle: tsx script/bundle.ts, build:binary: tsx script/build.ts --binary, build:binary:sea: tsx script/build-binary-sea.ts, and start: tsx src/index.ts.@loreai/gateway dependencies are @streamparser/json: 0.0.26, @stricli/auto-complete: 1.2.8, @stricli/core: 1.2.8, @supabase/supabase-js: ^2.58.0, google-auth-library: ^10.9.0, jsonc-parser: 3.3.1, p-limit: 7, qrcode-terminal: ^0.12.0, semver: ^7.7.3, and sqlite-vec: 0.1.9; dev dependencies are @loreai/core: workspace:*, @sentry/bun: ^10.52.0, @types/bun: ^1.2.0, @types/qrcode-terminal: ^0.12.2, @types/semver: ^7.7.1, ai-tokenizer: ^1.0.6, binpatch: ^0.3.1, fossilize: ^0.10.1, onnxruntime-node: 1.27.0, tar: ^7.5.21, and undici: ^8.9.0.@loreai/gateway publishes dist/bin.cjs, dist/embedding-worker.cjs, dist/embedding-worker.js, dist/index.bun.js, dist/index.cjs, dist/index.d.cts, dist/ort-wasm-simd-threaded.mjs, dist/ort-wasm-simd-threaded.wasm, dist/vector-worker.cjs, and dist/vector-worker.js; requires Node >=22.15; repository directory is packages/gateway; npm access is public; keywords are lore, gateway, proxy, llm, context-management, anthropic, and openai; author is BYK./home/byk/Code/opencode-v2-pilot/packages/plugin/package.json defines @opencode/plugin version 1.18.15, ESM, MIT license, scripts test: bun test --only-failures, typecheck: tsgo --noEmit, and build: tsc -p tsconfig.build.json; exports . as ./src/promise/index.ts, ./effect as ./src/effect/index.ts, ./host as ./src/host.ts, ./tui as ./src/tui/index.ts, and ./* as ./src/*.ts; #plugin-source resolves to ./src/source.bun.ts for Bun and ./src/source.node.ts for Node/default; published files contain dist.@opencode/plugin dependencies are @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:. Optional peer dependencies are @opencode/theme: workspace:*, @opentui/core: >=0.5.10, @opentui/solid: >=0.5.10, and solid-js: >=1.9.0. Dev dependencies are @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:./home/byk/Code/opencode-v2-pilot/packages/plugin/AGENTS.md requires the plugin package to maintain both Effect and Promise versions; every Effect-version domain must extend the corresponding Effect API client interface from @opencode/client/effect/api, must not redefine functions already present there, and may add only functions meaningful in plugin context./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/index.ts exports PluginOptions, StorageEntry, StorageScanOptions, and StorageScanResult types; namespace Plugin from ./plugin.js; and schema namespaces Agent, Command, Connection, Credential, Integration, Location, Mcp, Model, PersistentPty, Provider, Reference, Rpc, Skill, Vcs, WebSearch, and Worktree./home/byk/Code/opencode-v2-pilot/packages/plugin/src/promise/plugin.ts defines Context with readonly app, location, options, agent, aisdk, catalog, command, event, experimental.terminal limited to Pick<OpenCodeClient["experimental"]["persistentPty"], "read">, integration, mcp, generate, permission, plugin limited to Pick<PluginApi, "list">, reference, rpc, session, shell, skill, storage, tool, vcs, websearch, and worktree. Cleanup is () => Promise<void> | void; Plugin requires readonly id and setup(context) returning Promise<Cleanup | void> | Cleanup | void; define(plugin: Plugin) returns the plugin unchanged./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/promise.ts exports namespace PluginPromise from ./promise.js and fromPromise from @opencode/plugin/promise/adapter./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/module.ts implements PluginModule.make: it deduplicates watched paths with Set<string>, recursively finds the nearest existing ancestor via watchTarget() for missing dependencies, waits for watcher readiness through Deferred, publishes reload signals through an unbounded PubSub<void>, scopes watcher fibers, and disposes createPluginSources() at release.PluginModule.load() as directories; only legacy auto-discovery still admits standalone server-source files.PluginModule.load() treats absolute targets as local; package targets use npm.resolve() when options.install === false and npm.add() otherwise. Local standalone files become { server: pathToFileURL(operation.target).href }; directory/package entrypoints use Host.resolve(). An unresolved nonlocal target with installation disabled returns { pending: true }; any other missing server entrypoint raises PluginModule.LoadError with Plugin entrypoint not found: ${operation.target}.PluginModule.load() accepts only a default export containing id plus either an Effect effect function or Promise setup function. Invalid modules produce PluginModule.LoadError with Plugin must export a default definition with an id and an effect or setup function. Promise plugins are adapted through PluginPromise.fromPromise(value). Returned generations preserve tui/rpc entrypoint features, revision JSON.stringify([operation, loaded.version]), local source path via fileURLToPath(entrypoint) or package target/version, and invoke plugin.effect({ ...host, options: operation.options })./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/source-directory.ts searches both plugin and plugins directories, sorts children lexicographically by full target, accepts .ts/.js files, all directories, symlinks resolving to accepted source files, and symlinks resolving to directories; all other entries are excluded./home/byk/Code/opencode-v2-pilot/packages/core/src/config/plugin/source.ts are never torn down individually. Watches start on first sighting, remain deduplicated, and die only with the layer scope; the accepted tradeoff is one stale filesystem handle and a no-op activation after a config edit.ConfigPluginSource.watchConfiguredSources() directly watches absolute configured targets outside config-root {plugin,plugins} directories; target type is determined by fs.isDir(). Updates publish to configuredChanges; failures log configured plugin watch failed with target and cause. The service merges these notifications with filtered config.changes() events.ConfigPluginSource.parse() maps plugin objects to { type: "add", target: input.package, options: input.options ?? {} }, ordinary strings to add operations with empty options, and -target strings to remove operations; bare - throws Plugin remove operation requires a target. Relative configured targets resolve against the documentβs directory or location.directory; file:// targets use fileURLToPath().configured plugin path must be a directory. Explicit config operations are applied after auto-discovered sources so they can remove discovered packages. Existing local directories are resolved with Host.resolve(); server entrypoints escaping the configured directory are rejected using FSUtil.contains(). Operation mtime is the maximum modification time across all resolved entrypoints and the relevant package.json, with missing stats treated as epoch time 0./home/byk/Code/opencode-v2-pilot/packages/core/src/plugin/supervisor.ts selector matching supports exact IDs, wildcard *, and prefix selectors ending in .*. Add operations matching existing IDs/selectors enable plugins; otherwise they are loaded as package/local sources. Remove * clears failures, and remove selectors disable every matching plugin.PluginSupervisor.resolve() log failed to load plugin with a reference err_${crypto.randomUUID().slice(0, 8)}. PluginModule.LoadError exposes its specific message; other causes become Plugin failed to load. Failures are recorded with status failed and { server: true }; if a prior package generation exists in the current resolution or running, it is retained and re-enabled.pre β enabled loaded packages β post. Duplicate IDs would otherwise make registry activation drop the whole generation, including built-ins, so the supervisor keeps the first occurrence in boot order and reports each later occurrence as failed with Duplicate plugin ID: ${plugin.id}.pre from internal.pre, sdk.all(), and instance.all() in that order, while internal.post forms post; instance-bound plugins intentionally come last in pre so explicit instance choices override global container writes. It first resolves with install: false to activate locally available plugins, then resolves pending packages with install: true, reapplies if needed, and stores running = resolved.packages.concurrency: "unbounded" and track package-source flags outdated and updating. Source consumers cover sources.changes(), modules.changes(), a repeated 24 hours timer, bus events [Event.Updated, SdkPlugins.Updated], and relevant updates.changes().Queue.sliding<number>(1), increments observed before burst coalescing so awaitActivation can see accepted work, runs initial activation immediately, debounces later requests by 100 millis, and serializes all activations through one consumer. Activation failures log failed to reload plugins; registry holds are released only when the observed target has settled.