Commit Graph

38 Commits

Author SHA1 Message Date
Benjamin Shafii
78f36a3b88 fix(desktop): use stable windows bun target for sidecars 2026-02-15 21:06:20 -08:00
ben
cf0341f9bc fix(desktop): harden sidecars against AVX and DNS flag crashes (#579)
Build x64 sidecars with Bun baseline targets so Control Chrome and server sidecars run on CPUs without AVX. Sanitize inherited Bun/Node DNS result-order flags and set a safe Bun DNS order before spawning OpenCode and sidecar processes to prevent startup exits.
2026-02-15 20:29:12 -08:00
ben
ca1f8ffa2f fix(desktop): allow opencode repo override (#576)
- Allow  to download OpenCode from OPENCODE_GITHUB_REPO (defaults to anomalyco/opencode).\n- Fix PreRelease/Release builds when OPENCODE_VERSION points at a fork tag.
2026-02-15 15:57:49 -08:00
ben
6284b581f7 chore: rename openwrk to openwork-orchestrator (#573)
* chore(orchestrator): rename openwrk to openwork-orchestrator

Rename the host package and internal references from openwrk to openwork-orchestrator, and expose the CLI as 'openwork'.

Update desktop/UI runtime wiring, release workflows, and docs; bundle the Tauri sidecar as 'openwork-orchestrator' to avoid Cargo package name collisions.

* chore: keep orchestrator publish script executable

* chore: update pnpm lockfile

* chore: sync lockfile with orchestrator deps

* docs: update orchestrator usage + release notes

Document that openwork-orchestrator installs the 'openwork' CLI, update release command wording, and remove obsolete workflow branch trigger.
2026-02-15 14:24:42 -08:00
ben
32cc853d10 refactor(router): rename owpenbot to opencode-router (#567) 2026-02-14 20:53:06 -08:00
Jai
7e17867d6d fix(app): prevent session store races and auto-create sessions on agent switch (#562)
- Replace loadSessions/refreshSidebarWorkspaceSessions with local store
  removal in deleteSessionById to prevent reconcile() from wiping
  unrelated sessions
- Remove loadSessionsWithReady calls from sendPrompt to eliminate the
  same race condition on message send
- Inject new sessions directly into store and sidebar in
  createSessionAndOpen instead of relying on server round-trip
- Make applySessionAgent auto-create a session when none is selected
- Add shell:true to bun spawns in prepare-sidecar.mjs for Windows

Co-authored-by: = <=>
2026-02-14 10:37:59 -08:00
ben
f7d3644f1b fix(desktop): bundle control-chrome shim sidecar executable (#547) 2026-02-11 17:33:05 -08:00
ben
86938ece00 fix(headless): align openwrk TUI compile path with OpenTUI + branch CI (#536)
* fix(headless): align openwrk compile path with OpenTUI Solid

Use the upstream @opentui/solid build plugin and preload/tsconfig wiring so compiled openwrk binaries keep TUI runtime compatibility instead of emitting broken React runtime behavior.

* ci: run openwrk checks on feature branch pushes

Trigger CI for fix/openwrk-react-shim and add an openwrk binary build job so bundling regressions are caught before merging to dev.

* ci: relax binary validation to runtime smoke

Use openwrk --version/--help checks instead of grepping embedded strings so the branch CI validates bundling without false failures from defensive error text.

* fix(desktop): build openwrk sidecar via headless build script

Route desktop sidecar preparation through packages/headless/script/build.ts so OpenTUI plugin settings are applied consistently and Linux CI no longer compiles openwrk with incompatible JSX defaults.
2026-02-10 23:39:38 -08:00
Benjamin Shafii
d9b5ea3f6f fix(release): emit windows versions.json sidecar
Tauri externalBin appends .exe on Windows targets. Write versions.json-<triple>.exe so MSI builds can bundle the manifest.
2026-02-10 15:25:51 -08:00
Benjamin Shafii
4d861b665f fix(release): write target-suffixed versions.json
Tauri externalBin expects per-target files like sidecars/versions.json-<triple> when bundling. Write that alongside versions.json so Linux/Windows release builds don't fail.
2026-02-10 15:09:57 -08:00
Benjamin Shafii
a222c2b664 chore(release): bump to 0.11.37 and unify service versions 2026-02-09 00:00:34 -08:00
Benjamin Shafii
20b1f0f356 fix(desktop): make tauri dev startup more reliable
Reuse an existing Vite dev server instead of failing on busy ports, avoid Node 25 top-level await exit, and ensure opencode sidecar tracks latest when unpinned.
2026-02-08 23:30:55 -08:00
Benjamin Shafii
5de641479a tet 2026-02-08 23:18:54 -08:00
ben
589c308bba fix(server): secure opencode proxy + add skill delete (#505)
* fix(server): harden opencode proxy auth

* feat(server): add skill delete endpoint

* fix(ci): reuse resolved OPENCODE_VERSION for desktop build

* fix(desktop): skip opencode version lookup when sidecar exists

* fix(desktop): avoid TDZ when reusing opencode sidecar

* chore(desktop): update Cargo.lock
2026-02-08 15:08:08 -08:00
Benjamin Shafii
609ca9c5e2 chore(build): default OpenCode to latest
Stop pinning OpenCode in package metadata and resolve the latest release during sidecar bundling/runtime, while still allowing OPENCODE_VERSION to pin for reproducible builds.
2026-02-06 10:27:40 -08:00
Benjamin Shafii
58ec9c03d8 ci: prevent prerelease workflow failures from pnpm/tauri/bun mismatches 2026-02-04 22:17:45 -08:00
ben
6c708e0246 fix(desktop): bundle openwrk as sidecar and add --allow-external flag (#396)
- Add openwrk to externalBin in tauri.conf.json
- Update prepare-sidecar.mjs to build openwrk binary alongside other sidecars
- Add --allow-external flag when spawning openwrk daemon to allow custom opencode-bin path

Fixes 'Failed to start openwrk: No such file or directory' error when using
Openwrk orchestrator mode.
2026-02-01 23:38:31 -08:00
ben
6a86ca8b86 Align sidecar bundle parity for openwrk (#383)
* feat(headless): align sidecar bundle parity

Build headless sidecars from the same sources as desktop and record manifest checks so version integrity stays consistent across runtimes.

* feat(owpenbot): hot-set telegram token

Expose a health REST endpoint to update the Telegram token at runtime, wire the app to call it, and keep status reporting in sync without restarts.
2026-02-01 12:47:33 -08:00
Benjamin Shafii
67d0515c48 fix: verify owpenbot sidecar checksum 2026-01-31 22:34:22 -08:00
Benjamin Shafii
2742fa5066 fix: fall back to windows x64 owpenbot asset 2026-01-31 22:30:32 -08:00
Benjamin Shafii
9b184cfacc feat: download owpenbot sidecar from releases 2026-01-31 22:22:30 -08:00
Benjamin Shafii
ccd2a31d7d fix: avoid monorepo owpenbot path 2026-01-31 21:42:14 -08:00
Benjamin Shafii
23e2f9e2cb fix: build owpenbot sidecar from repo 2026-01-31 21:41:51 -08:00
Benjamin Shafii
21a8a95544 fix: prefer monorepo owpenbot for sidecar 2026-01-31 21:10:00 -08:00
Benjamin Shafii
0ad4fdc240 fix: resolve sidecar build script path 2026-01-31 20:42:44 -08:00
ben
c5cb1cbe93 feat: externalize owpenbot integration (#360) 2026-01-31 19:40:34 -08:00
Benjamin Shafii
e848617e64 fix(release): prep opencode extract dir + bump 0.8.4 2026-01-30 13:02:28 -08:00
Benjamin Shafii
52fca9da31 fix(build): create extract dir for opencode tarball 2026-01-30 12:54:38 -08:00
Benjamin Shafii
14c6080ced chore(sidecar): pin opencode version and auto-refresh 2026-01-30 08:48:12 -08:00
Benjamin Shafii
c3e338a052 fix(owpenbot): align bun builds and sidecar startup 2026-01-28 21:20:26 -08:00
ben
be4f591e18 feat(owpenbot): add send command and sidecar integration (#309)
- Add 'send' command for testing message delivery to WhatsApp/Telegram
- Create build script at packages/owpenbot/script/build.ts
- Add build:binary script to package.json
- Update prepare-sidecar.mjs to compile owpenbot alongside server
- Add owpenbot to externalBin in tauri.conf.json
- Create Tauri owpenbot module with manager and spawn logic
- Add owpenbot_start, owpenbot_stop, owpenbot_info, owpenbot_qr commands
- Register OwpenbotManager and commands in lib.rs
2026-01-28 19:43:23 -08:00
ben
28b1ff39e4 feat: host mode prefers OpenWork server for skills/plugins management (#304)
* feat: host mode prefers OpenWork server for skills/plugins management

- Add hostToken support to OpenWork server client (X-OpenWork-Host-Token header)
- Add includeGlobal query param to listSkills and listPlugins
- Host mode now uses OpenWork server first for:
  - refreshSkills (with includeGlobal for global skills)
  - refreshPlugins (project scope)
  - addPlugin (project scope)
  - installSkillCreator
- Falls back to local filesystem if OpenWork server unavailable
- Fix missing WorkspaceInfo import in dashboard.tsx

* feat: add server binary build script and prefer opencode.jsonc

- Add packages/server/script/build.ts for compiling standalone server binary
- Add build:bin and build:bin:all scripts to server package.json
- Update workspace-files.ts to prefer opencode.jsonc over opencode.json

* fix: compile openwork-server as standalone binary on all platforms

Replace shell launcher script with bun build --compile to create
a standalone binary that doesn't require Bun at runtime.

* feat: host mode uses OpenWork server for commands, MCP, and default model

- Prefer OpenWork server for command save/delete/list in host mode
- Use OpenWork server for Notion MCP setup and MCP refresh/connect when available
- Resolve host workspace id via OpenWork server in host mode
- Fetch host capabilities and pass host token to server client
- Read/write default model via OpenWork server when connected

* fix: rebuild openwork-server sidecar reliably

- Use bun build CLI for compiled server binary
- Detect and replace stub launcher before building

* fix: create target-specific openwork-server sidecar

- Copy compiled openwork-server to platform triple name
- Regenerate stub targets when needed
2026-01-28 19:11:03 -08:00
ben
b4b27b5e0a feat: add OpenWork host orchestration (#286)
* feat: add OpenWork host orchestration

* fix: resolve host startup errors

* fix: run openwork server sidecar with bun

* feat: default to OpenCode direct

* feat: move status into bottom bar
2026-01-27 18:39:35 -08:00
ben
9fb0186c9c fix(ci): unblock Windows builds by compiling OpenWork server sidecar (#287) 2026-01-27 17:06:57 -08:00
ben
041972c19b feat: auto-start OpenWork server sidecar (#284)
* feat: auto-start OpenWork server sidecar

* refactor: simplify openwork server host pairing

* chore: prep openwork server sidecar for dev

* chore: allow web CORS in dev
2026-01-27 14:36:34 -08:00
ben
471ff35908 feat: window sidecar (#205)
* feat: enable windows sidecar bundling

* fix: run sidecar prep from repo root

* fix: run sidecar prep via workspace filter
2026-01-22 22:56:44 -08:00
Omar McAdam
fbb551f649 refactor: split UI from Tauri shell (#182)
* refactor: split UI from Tauri shell

* chore: restore workflow paths

* chore: add root workflow for tauri paths

* chore: update workflows for tauri paths

* chore: remove root workflow

* docs: update setup commands

* refactor: rename app and desktop packages
2026-01-21 20:50:39 -08:00
Benjamin Shafii
32e1f84b0f chore: move OpenWork into pnpm workspace 2026-01-20 21:12:18 -08:00