# @aoagents/ao-plugin-agent-opencode ## 0.9.1 ### Patch Changes - 2d4c457: Fix canary nightly to include all publishable packages and fix Next.js import.meta.url build path issue - Updated dependencies [2d4c457] - @aoagents/ao-core@0.9.1 ## 0.9.0 ### Patch Changes - Updated dependencies [73bed33] - Updated dependencies [a610601] - Updated dependencies [7d9b862] - Updated dependencies [6d48022] - Updated dependencies [fcedb25] - Updated dependencies [94981dc] - Updated dependencies [2980570] - Updated dependencies [d5d0f07] - @aoagents/ao-core@0.9.0 ## 0.8.0 ### Minor Changes - Distinguish indeterminate agent process probes from definitive process-missing results, and raise ps probe timeouts to avoid bulk runtime_lost terminations when ps or tmux cannot return a reliable verdict. ### Patch Changes - Updated dependencies - @aoagents/ao-core@0.8.0 ## 0.7.0 ### Minor Changes - 0f5ae0b: feat: native Windows support AO now runs natively on Windows. The default runtime on Windows is `process` (ConPTY via `node-pty` + named pipes — no tmux, no WSL); the dashboard, agents (claude-code, codex, kimicode, aider, opencode, cursor), `ao doctor`, and `ao update` all work out of the box. Each session gets a small detached pty-host helper that wraps a ConPTY behind `\\.\pipe\ao-pty-`, registered so `ao stop` can reach it. A new cross-platform abstraction layer (`packages/core/src/platform.ts`) centralises every platform branch behind helpers like `isWindows()`, `getDefaultRuntime()`, `getShell()`, `killProcessTree()`, `findPidByPort()`, and `getEnvDefaults()`. Path comparison uses `pathsEqual` / `canonicalCompareKey` to handle NTFS case-insensitivity. PATH wrappers for agent plugins (`gh`, `git`) ship as `.cjs` + `.cmd` shims on Windows; `script-runner` runs `.ps1` siblings of `.sh` scripts via PowerShell. New `ao-doctor.ps1` / `ao-update.ps1` shipped. `ao open` is now cross-platform: it sources sessions from `sm.list()` instead of `tmux list-sessions` (so `runtime-process` sessions on Windows appear), and the open action branches per OS — `open-iterm-tab` stays the macOS path, native handling on Windows and Linux. Behaviour on macOS and Linux is unchanged. Every Windows path is gated behind `isWindows()`; `runtime-tmux` and the bash hook flows are untouched. See `docs/CROSS_PLATFORM.md` for the developer reference (helper inventory, EPERM-vs-ESRCH gotcha, PowerShell-vs-bash differences, pre-merge checklist). The Windows runtime architecture (pty-host, pipe protocol, registry, sweep, mux WS Windows branch) is documented in `docs/ARCHITECTURE.md`. ### Patch Changes - Updated dependencies [0f5ae0b] - Updated dependencies [fe33bb7] - Updated dependencies [7c46dc9] - @aoagents/ao-core@0.7.0 ## 0.6.0 ### Patch Changes - Updated dependencies - Updated dependencies [40aeb78] - Updated dependencies - Updated dependencies - @aoagents/ao-core@0.6.0 ## 0.5.0 ### Patch Changes - Updated dependencies [dd07b6b] - @aoagents/ao-core@0.5.0 ## 0.4.0 ### Patch Changes - 4701122: opencode: bound /tmp blast radius and consolidate session-list cache Addresses review feedback on PR #1478: - **TMPDIR isolation.** Every `opencode` child we spawn now points at `~/.agent-orchestrator/.bun-tmp/` via `TMPDIR`/`TMP`/`TEMP`. Bun's embedded shared-library extraction lands there instead of the system `/tmp`, so the cli janitor only ever sweeps AO-owned files. Other users' or other applications' Bun artifacts on a shared host can no longer be touched by the regex. - **Single shared session-list cache.** Core and the agent-opencode plugin previously kept independent caches; per poll cycle the system spawned at least two `opencode session list` processes instead of one. Both consumers now use the shared cache exported from `@aoagents/ao-core` (`getCachedOpenCodeSessionList`). - **TTL no longer covers the send-confirmation loop.** The cache TTL dropped from 3s to 500ms so the `updatedAt > baselineUpdatedAt` delivery signal in `sendWithConfirmation` actually fires. Concurrent callers still share the in-flight promise. - **Delete invalidates the cache.** `deleteOpenCodeSession` now calls `invalidateOpenCodeSessionListCache()` on success so reuse, remap, and restore code paths cannot observe a deleted session id within the TTL window. - **Janitor reliability.** `sweepOnce` now filters synchronously before allocating per-file promises (matters on hosts with thousands of `/tmp` entries), and `stopBunTmpJanitor()` is now async and awaits any in-flight sweep so SIGTERM cannot exit while `unlink` is mid-flight. - **Janitor observability.** The sweep callback in `ao start` now logs successful reclaims, not just errors, so operators can confirm the janitor is doing useful work. - Updated dependencies [2306078] - Updated dependencies [faaddb1] - Updated dependencies [f330a1e] - Updated dependencies [a862327] - Updated dependencies [331f1ce] - Updated dependencies [703d584] - Updated dependencies [f674422] - Updated dependencies [62353eb] - Updated dependencies [bd36c7b] - Updated dependencies [e7ad928] - Updated dependencies [ca8c4cc] - Updated dependencies [7b82374] - Updated dependencies [4701122] - Updated dependencies [c8af50f] - Updated dependencies [bcdda4b] - Updated dependencies [1cbf657] - Updated dependencies [c447c7c] - Updated dependencies [a45eb32] - Updated dependencies [7072143] - Updated dependencies [ed2dcea] - @aoagents/ao-core@0.4.0 ## 0.2.0 ### Patch Changes - 3a650b0: Zero-friction onboarding: `ao start` auto-detects project, generates config, and launches dashboard — no prompts, no manual setup. Renamed npm package to `@composio/ao`. Made `@composio/ao-web` publishable with production entry point. Cross-platform agent detection. Auto-port-finding. Permission auto-retry in shell scripts. - Updated dependencies [3a650b0] - @composio/ao-core@0.2.0