Skip to content

refactor: extract shared util package - #37828

Merged
thdxr merged 3 commits into
v2from
service-channel-config
Jul 21, 2026
Merged

refactor: extract shared util package#37828
thdxr merged 3 commits into
v2from
service-channel-config

Conversation

@thdxr

@thdxr thdxr commented Jul 20, 2026

Copy link
Copy Markdown
Member

Summary

  • add @opencode-ai/util and move shared host/runtime infrastructure out of Core
  • rewrite CLI, Core, Server, TUI, Simulation, SDK Next, and V1 consumers to import Util directly without compatibility re-exports
  • remove CLI test dependencies on Core database, event, project, and session internals and enforce the import boundary
  • keep service discovery filenames and ports stable across release and preview channels

Verification

  • workspace typecheck: 33/33 tasks passed in the pre-push hook
  • CLI tests: 66 passed
  • moved infrastructure tests: 101 passed
  • SDK Next embedded tests: 7 passed
  • TUI lifecycle tests: 2 passed
  • CLI multi-platform build passed
  • bun dev --standalone smoke test passed
  • plain bun dev smoke test passed after restarting the stale shared service
  • git diff --check passed

@thdxr
thdxr merged commit e081075 into v2 Jul 21, 2026
6 of 7 checks passed
@thdxr
thdxr deleted the service-channel-config branch July 21, 2026 14:34
github-actions Bot pushed a commit to ReStranger/opencode that referenced this pull request Jul 21, 2026
* upstream/v2: (23 commits)
  refactor(codemode): simplify model-facing wording (anomalyco#38042)
  fix(core): enforce patch EOF anchors (anomalyco#38039)
  fix(tui): prevent autocomplete search flicker (anomalyco#38128)
  refactor(core): break plugin host cycle (anomalyco#38120)
  refactor: extract shared util package (anomalyco#37828)
  fix: preserve runtime option defaults (anomalyco#38118)
  refactor(tui): simplify mini footer status line (anomalyco#38112)
  mini: settle on wait and durable pending (anomalyco#37984)
  test(app): stabilize offset observer test (anomalyco#38044)
  feat(codemode): support bounded async iteration (anomalyco#38040)
  fix(core): normalize CRLF patch lines (anomalyco#38038)
  fix(core): accept padded patch markers (anomalyco#38036)
  fix(core): compose successive patch updates (anomalyco#38034)
  feat(codemode): support labeled control flow (anomalyco#38035)
  fix(core): improve patch errors (anomalyco#38016)
  fix(server): allow authenticated CORS preflight (anomalyco#38026)
  feat(codemode): support JSON callbacks (anomalyco#38006)
  fix: remove legacy sdk from ci builds
  removed packages/opencode
  fix(server): preserve v1 auth compatibility
  ...
github-actions Bot pushed a commit to ReStranger/opencode that referenced this pull request Jul 21, 2026
* upstream/v2: (24 commits)
  feat(cli): port ACP to V2 (anomalyco#37907)
  refactor(codemode): simplify model-facing wording (anomalyco#38042)
  fix(core): enforce patch EOF anchors (anomalyco#38039)
  fix(tui): prevent autocomplete search flicker (anomalyco#38128)
  refactor(core): break plugin host cycle (anomalyco#38120)
  refactor: extract shared util package (anomalyco#37828)
  fix: preserve runtime option defaults (anomalyco#38118)
  refactor(tui): simplify mini footer status line (anomalyco#38112)
  mini: settle on wait and durable pending (anomalyco#37984)
  test(app): stabilize offset observer test (anomalyco#38044)
  feat(codemode): support bounded async iteration (anomalyco#38040)
  fix(core): normalize CRLF patch lines (anomalyco#38038)
  fix(core): accept padded patch markers (anomalyco#38036)
  fix(core): compose successive patch updates (anomalyco#38034)
  feat(codemode): support labeled control flow (anomalyco#38035)
  fix(core): improve patch errors (anomalyco#38016)
  fix(server): allow authenticated CORS preflight (anomalyco#38026)
  feat(codemode): support JSON callbacks (anomalyco#38006)
  fix: remove legacy sdk from ci builds
  removed packages/opencode
  ...
github-actions Bot pushed a commit to ReStranger/opencode that referenced this pull request Jul 21, 2026
* upstream/v2: (24 commits)
  feat(cli): port ACP to V2 (anomalyco#37907)
  refactor(codemode): simplify model-facing wording (anomalyco#38042)
  fix(core): enforce patch EOF anchors (anomalyco#38039)
  fix(tui): prevent autocomplete search flicker (anomalyco#38128)
  refactor(core): break plugin host cycle (anomalyco#38120)
  refactor: extract shared util package (anomalyco#37828)
  fix: preserve runtime option defaults (anomalyco#38118)
  refactor(tui): simplify mini footer status line (anomalyco#38112)
  mini: settle on wait and durable pending (anomalyco#37984)
  test(app): stabilize offset observer test (anomalyco#38044)
  feat(codemode): support bounded async iteration (anomalyco#38040)
  fix(core): normalize CRLF patch lines (anomalyco#38038)
  fix(core): accept padded patch markers (anomalyco#38036)
  fix(core): compose successive patch updates (anomalyco#38034)
  feat(codemode): support labeled control flow (anomalyco#38035)
  fix(core): improve patch errors (anomalyco#38016)
  fix(server): allow authenticated CORS preflight (anomalyco#38026)
  feat(codemode): support JSON callbacks (anomalyco#38006)
  fix: remove legacy sdk from ci builds
  removed packages/opencode
  ...
github-actions Bot pushed a commit to ReStranger/opencode that referenced this pull request Jul 21, 2026
* upstream/v2: (26 commits)
  fix(core): refresh model catalog every five minutes (anomalyco#38142)
  feat(util): configure package publishing (anomalyco#38129)
  feat(cli): port ACP to V2 (anomalyco#37907)
  refactor(codemode): simplify model-facing wording (anomalyco#38042)
  fix(core): enforce patch EOF anchors (anomalyco#38039)
  fix(tui): prevent autocomplete search flicker (anomalyco#38128)
  refactor(core): break plugin host cycle (anomalyco#38120)
  refactor: extract shared util package (anomalyco#37828)
  fix: preserve runtime option defaults (anomalyco#38118)
  refactor(tui): simplify mini footer status line (anomalyco#38112)
  mini: settle on wait and durable pending (anomalyco#37984)
  test(app): stabilize offset observer test (anomalyco#38044)
  feat(codemode): support bounded async iteration (anomalyco#38040)
  fix(core): normalize CRLF patch lines (anomalyco#38038)
  fix(core): accept padded patch markers (anomalyco#38036)
  fix(core): compose successive patch updates (anomalyco#38034)
  feat(codemode): support labeled control flow (anomalyco#38035)
  fix(core): improve patch errors (anomalyco#38016)
  fix(server): allow authenticated CORS preflight (anomalyco#38026)
  feat(codemode): support JSON callbacks (anomalyco#38006)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant