Commit Graph

145 Commits

Author SHA1 Message Date
Benjamin Shafii
cde5bebb38 fix(owpenbot): use --opencode-url CLI arg instead of env var
Added --opencode-url option to start command and updated spawn.rs
to pass URL as CLI argument for explicit, traceable configuration.
2026-01-28 21:45:43 -08:00
Benjamin Shafii
22d4678cc0 fix(owpenbot): prefer runtime URL/path over config file
owpenbot_info was overriding manager state (with correct runtime URL)
with values from config file. Now only uses config as fallback when
sidecar isn't started.
2026-01-28 21:40:50 -08:00
Benjamin Shafii
a27b24ab5f fix(owpenbot): replace better-sqlite3 with bun:sqlite
better-sqlite3 is a native Node.js addon that cannot be bundled
with bun build --compile. Migrating to bun:sqlite fixes the sidecar
crash on startup.
2026-01-28 21:36:24 -08:00
Benjamin Shafii
c3e338a052 fix(owpenbot): align bun builds and sidecar startup 2026-01-28 21:20:26 -08:00
ben
58e6ad0ca9 fix(owpenbot): hydrate devtools info from status (#311) 2026-01-28 20:48:17 -08:00
ben
cd290399ef fix(owpenbot): repair settings and devtools wiring (#310) 2026-01-28 20:25:55 -08:00
Benjamin Shafii
2e6b2e9847 feat(owpenbot): implement Tauri commands for UI integration
- Add owpenbot_status, owpenbot_config_set, owpenbot_pairing_list,
  owpenbot_pairing_approve, owpenbot_pairing_deny commands to Rust backend
- Update TypeScript tauri.ts to call actual invoke() instead of placeholders
- Remove 'Coming Soon' badge from Messaging Bridge in settings
- All commands wrap the owpenbot CLI sidecar with JSON output parsing
2026-01-28 19:56:20 -08:00
Benjamin Shafii
660f1b4086 fix(ci): add owpenbot sidecar stub to build.rs and enable Bun on all platforms
- Add ensure_owpenbot_sidecar() to build.rs to create debug stubs when binary missing
- Remove 'if: matrix.os_type == windows' from Bun setup in CI workflows
- This fixes PreRelease builds failing because prepare:sidecar needs bun to compile owpenbot
2026-01-28 19:51:27 -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
e893a5123a feat(ui): add owpenbot settings section for WhatsApp/Telegram config (#308)
Add a new Messaging Bridge section to the settings page that allows users to:
- View bridge status (running/offline)
- Link WhatsApp via QR code scanning
- Configure DM policy (pairing, allowlist, open, disabled)
- Manage allowlist entries for WhatsApp
- Configure Telegram bot token
- Approve/deny pending pairing requests

Types and placeholder functions added to tauri.ts for future backend integration.
2026-01-28 19:43:12 -08:00
Benjamin Shafii
157a837544 chore: bump version to 0.6.2 2026-01-28 19:41:59 -08:00
ben
2777e39abe feat(owpenbot): refactor CLI to non-interactive with JSON output (#307)
- Remove @clack/prompts dependency and all interactive wizard code
- Add global --json flag for machine-parseable output
- Add 'config get [key]' and 'config set <key> <value>' subcommands
- Add 'health' command (exit 0 if healthy, 1 if not)
- Add --json support to 'status', 'whatsapp status', 'telegram status'
- Add 'whatsapp qr [--format ascii|base64]' for non-interactive QR
- Add 'pairing list --json' with structured output
- Keep 'start', 'pairing approve/deny', 'whatsapp login/logout' working
- Maintain backwards compatibility with legacy command aliases
- All commands work without TTY
2026-01-28 19:34:19 -08:00
ben
b3aef4744a feat(ui): expand tool steps by default in session view (#306)
- Inverted expandedStepIds logic to track collapsed steps instead of expanded
- Steps now show expanded by default, users can collapse if desired
- Added max-h-96 overflow-auto to step containers to prevent overwhelming the view
2026-01-28 19:33:59 -08:00
ben
ff3d1af352 feat(ui): add skill trigger indicator badge in session view (#305) 2026-01-28 19:33:49 -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
0df8c4df46 feat: add devtools audit visibility (#301)
* feat: add devtools audit visibility

* fix: add parens for openwork base url fallback
2026-01-28 16:25:53 -08:00
Joma
bbe42b7da7 feat: small improve workspace UI and visual consistency (#299) 2026-01-28 08:13:33 -08:00
Benjamin Shafii
16472a6aa3 chore: bump version to 0.6.1 2026-01-28 00:31:00 -08:00
Benjamin Shafii
715972697c update empty session prompt 2026-01-28 00:30:40 -08:00
Benjamin Shafii
dd11d5dd40 chore: bump version to 0.6.0 2026-01-28 00:00:12 -08:00
Benjamin Shafii
e3e91f13a2 fix: use authenticate for MCP OAuth 2026-01-27 23:54:32 -08:00
ben
7b446a2bfb Skip onboarding and start in chat (#296)
* feat: start in chat without onboarding

* feat: create sessions on first prompt

* fix: use skill create command in empty state
2026-01-27 23:40:16 -08:00
Benjamin Shafii
293e295cdc something 2026-01-27 23:23:45 -08:00
Benjamin Shafii
131a870dd8 fix: remove demo mode guard from commands 2026-01-27 23:16:02 -08:00
ben
0e25cffd34 feat: seed creator skills from enterprise repo (#291) 2026-01-27 23:01:08 -08:00
ben
884f22a702 fix: precreate opencode config before engine start (#292) 2026-01-27 23:00:55 -08:00
Joma
3305202677 fix: suppress reload toast when only model changes (#293) 2026-01-27 23:00:32 -08:00
ben
03e23120a8 feat: remove demo mode (#294) 2026-01-27 23:00:09 -08:00
Benjamin Shafii
799c52424e chore: bump version to 0.5.0 2026-01-27 18:53:47 -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
Joma
47cd2855b0 fix: prevent reload toast on startup and refine trigger logic (#283) 2026-01-27 07:49:10 -08:00
ben
4bcbf8aae0 feat: openwork sync v0 (#280)
* docs: add openwork server PRD

* feat: wire OpenWork server remote management

* feat: add OpenWork server settings panel
2026-01-26 23:00:47 -08:00
Joma
4d8333eeb0 feat: update send button to be visible with themed disabled state (#269) 2026-01-26 23:00:25 -08:00
Joma
ab6a8faa4c fix: auto-focus primary inputs when menus/modals open (#278)
Closes #271
2026-01-26 22:57:54 -08:00
ben
7b5443b22c fix: allow save dialog for workspace exports (#276)
* feat: add workspace config sharing

* Revert "fix: quiet engine doctor for sidecar"

This reverts commit 0d780d272d.

* fix: allow save dialog for export
2026-01-26 18:13:34 -08:00
Jiahao Zhu
d8198717e6 feat: add confirmation dialog for command override and sanitized name hint (#12) (#265)
- Show confirmation dialog instead of silently overwriting existing commands
- Add hint showing the sanitized name when spaces/special chars are used
- Create reusable ConfirmModal component for confirmation dialogs
2026-01-26 13:54:51 -08:00
Benjamin Shafii
0d780d272d fix: quiet engine doctor for sidecar 2026-01-26 09:38:22 -08:00
Benjamin Shafii
d610cb0deb fix: chain shell command builder 2026-01-26 09:14:12 -08:00
Benjamin Shafii
a69b22b263 docs: update Windows sidecar messaging 2026-01-26 09:03:51 -08:00
Benjamin Shafii
822cf8422d feat: use tauri sidecar for engine spawn 2026-01-26 09:02:17 -08:00
Benjamin Shafii
88fc8b57c4 fix: ensure Windows sidecar uses canonical name 2026-01-26 08:49:12 -08:00
Benjamin Shafii
3dca99aaba feat: refresh workspace tooling and bump 0.4.2 2026-01-25 23:40:15 -08:00
Benjamin Shafii
6f623936c2 chore: bump version to 0.4.1 2026-01-25 22:54:07 -08:00
Benjamin Shafii
e2b7d65bfe feat: extend MCP and context panels 2026-01-25 22:53:42 -08:00
Benjamin Shafii
2bca3449a7 feat: expand session context controls 2026-01-25 18:56:05 -08:00
Benjamin Shafii
142f83668d feat: align attachment uploads and bump 0.4.0 2026-01-25 17:24:12 -08:00
Jiahao Zhu
dc9e5e7bfb fix: display saved command immediately without app restart (#11) (#262)
After saving a command, directly update the local state instead of
relying on loadCommands() which depends on the SDK's cached list.
The SDK doesn't see newly written command files until app restart.

Also add scroll-to-center and highlight animation (2s pulsing indigo
border) to help users locate the newly saved command in the list.
2026-01-25 12:38:13 -08:00
ben
d2968fb32a feat: add session agent picker and cycling commands (#268) 2026-01-25 12:29:58 -08:00