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.
- 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
- 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
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.
- 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
- 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
* 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
* 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