Skip to content

refactor(opencode): remove app service layer exports#34517

Merged
jlongster merged 1 commit into
devfrom
remove-app-layers
Jun 30, 2026
Merged

refactor(opencode): remove app service layer exports#34517
jlongster merged 1 commit into
devfrom
remove-app-layers

Conversation

@jlongster

@jlongster jlongster commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • remove defaultLayer exports from high-level app/session/provider/tool services
  • internalize those implementation layers behind exported nodes
  • keep RuntimeFlags.layer and PluginPtyEnvironment.layer untouched as exceptions

Testing

  • bun typecheck
  • bun turbo typecheck (pre-push)

Stack

  1. refactor(opencode): build runtimes from layer nodes #34515 refactor(opencode): build runtimes from layer nodes
  2. refactor(opencode): use layer nodes in remaining harnesses #34516 refactor(opencode): use layer nodes in remaining harnesses
  3. refactor(opencode): remove app service layer exports #34517 refactor(opencode): remove app service layer exports
  4. refactor(opencode): remove core service layer exports #34518 refactor(opencode): remove core service layer exports
  5. refactor(opencode): keep plugin pty environment route local #34519 refactor(opencode): keep plugin pty environment route local

Previous: #34516
Base: node-tests
Next: #34518

@jlongster
jlongster force-pushed the remove-app-layers branch from 41b6997 to cd3cf08 Compare June 30, 2026 02:56
@jlongster
jlongster merged commit 91561bb into dev Jun 30, 2026
8 checks passed
@jlongster
jlongster deleted the remove-app-layers branch June 30, 2026 03:04
sharunkumar added a commit to sharunkumar/opencode that referenced this pull request Jun 30, 2026
Resolve conflict in packages/opencode/src/command/index.ts.

Upstream anomalyco#34517 ("remove app service layer exports") deleted the
`Command.defaultLayer` export. The fork had modified that same block in
d7bf75f ("don't block command list on MCP prompt loading") to add
`Layer.provide(EventV2Bridge.defaultLayer)`, producing an edit/delete
conflict on overlapping lines.

Took upstream's resolution and dropped `defaultLayer`:
- `Command.defaultLayer` is unused anywhere in the tree.
- The fork's EventV2Bridge dependency is already wired through the `node`
  LayerNode (`deps: [..., EventV2Bridge.node]`), which is the actual
  runtime path.

Non-blocking MCP prompt loading is preserved: base commands build
synchronously and MCP prompts still fold in via `Effect.forkScoped` with
a `command.changed` event. Typecheck passes.
zz99mz-212 pushed a commit to zz99mz-212/opencode-New-Horizons that referenced this pull request Jul 16, 2026
avion23 pushed a commit to avion23/opencode that referenced this pull request Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant