chore: version packages (#1906)

* chore: version packages

* chore: trigger release ci

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: suraj-markup <suraj@composio.dev>
This commit is contained in:
github-actions[bot] 2026-05-22 04:11:03 +05:30 committed by GitHub
parent d524922849
commit 866790c137
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
73 changed files with 667 additions and 202 deletions

View File

@ -1,18 +0,0 @@
---
"@aoagents/ao-core": minor
"@aoagents/ao-web": minor
---
Wire activity events into webhook ingress and the mux WebSocket terminal server (sub-issue of #1511, follows #1620).
- `api.webhook_unverified` (warn) — signature verification failed; data includes `slug`, `remoteAddr`, `candidateCount` (never the failed signature)
- `api.webhook_rejected` (warn) — payload exceeded `maxBodyBytes`; data includes counts and `maxBodyBytes` (never the body)
- `api.webhook_received` (info|warn) — accepted webhook; data includes `projectIds`, `matchedSessions`, `parseErrorCount`, `lifecycleErrorCount` (never the body)
- `api.webhook_failed` (error) — outer pipeline crash with `errorMessage`
- `ui.terminal_connected` / `ui.terminal_disconnected` — one event per mux WS connection lifecycle
- `ui.terminal_heartbeat_lost` (warn) — fires once on 3 missed pongs (was console-only)
- `ui.terminal_pty_lost` (warn) — fires when PTY exits with subscribers attached (distinguishes "PTY died" from "user closed browser")
- `ui.terminal_protocol_error` (warn) — invalid mux client message
- `ui.session_broadcast_failed` (warn) — emitted on the healthy→failing transition only (re-arms after a successful poll), so a long outage produces one event, not 20/min
`api.webhook_unverified` is the security-audit event; treat 401s on webhooks as a signal worth retaining for the full 7-day window.

View File

@ -1,8 +0,0 @@
---
"@aoagents/ao-core": patch
"@aoagents/ao-plugin-agent-claude-code": patch
---
Split Claude Code activity-detection logic out of `index.ts` into a dedicated `activity-detection.ts` module. Removes two unreachable switch branches (`case "permission_request"` → `waiting_input` and `case "error"``blocked`) that targeted JSONL types Claude never actually emits. `waiting_input` continues to flow through the AO activity-JSONL safety net added in #1903.
Closes the `blocked` gap for Claude Code: extend `readLastJsonlEntry` in core to also surface top-level `subtype` and `level` fields, and map `{type:"system", level:"error"}``blocked` in the cascade. This catches Claude's real api_error shape (`{type:"system", subtype:"api_error", level:"error", cause:{code:"ConnectionRefused"|"FailedToOpenSocket"|...}}`) so a session stuck in the API retry loop now reports `blocked` instead of `ready`. New fields on `readLastJsonlEntry` are additive and don't break existing callers (Codex, OpenCode, Aider).

View File

@ -1,17 +0,0 @@
---
"@aoagents/ao-plugin-agent-claude-code": patch
---
Harden Claude Code activity detection against five real-world edge cases identified during PR #1927's analysis:
1. **Bookkeeping types → false-active.** `file-history-snapshot`, `attachment`, `pr-link`, `queue-operation`, `permission-mode`, `last-prompt`, `ai-title`, `agent-color`, `agent-name`, `custom-title` were falling through to the `default` switch branch and showing as `active` for 30s after Claude finished a turn. They now correctly map to `ready`/`idle` by age. Likely root cause of "Claude looks busy when it's done" reports.
2. **Multi-session disambiguation.** `findLatestSessionFile` picked newest-mtime, which is the wrong session's JSONL when two Claude sessions are running in the same workspace. Now prefers the UUID-named file (`<projectDir>/<claudeSessionUuid>.jsonl`) when `session.metadata.claudeSessionUuid` is set, falling back to newest-mtime otherwise.
3. **Symlinked workspaces.** `toClaudeProjectPath` was a pure string transform — symlink paths produced different slugs than what Claude itself wrote. Added `resolveWorkspaceForClaude(path)` that runs `realpathSync` (with fallback) and used it in all three slug-computing sites (`getClaudeActivityState`, `getSessionInfo`, `getRestoreCommand`).
4. **Process regex too narrow.** `(?:^|\/)claude(?:\s|$)` was missing several legitimate install variants — `.claude`, `claude-code`, `claude.exe`, `claude.js`, and npm shims like `node /opt/.../@anthropic-ai/claude-code/cli.js`. Broadened to `(?:^|\/)(?:\.)?claude(?:[-.][\w-]+)*(?:[\s/]|$)`; still rejects look-alikes (`claudia`, `claudine`).
5. **Silent permission-denied.** `findLatestSessionFile` was swallowing every `readdir` error silently — a missing `~/.claude/projects/<slug>/` (ENOENT) is normal, but a permission-denied (EACCES/EPERM) or fd-exhausted (EMFILE) misconfig left the session looking permanently `idle` on the dashboard with zero telemetry. Now logs a single `console.warn` for non-ENOENT errors.
193/193 plugin tests pass. No public-API change. New helper `resolveWorkspaceForClaude` is re-exported from `index.ts` for downstream consumers.

View File

@ -1,52 +0,0 @@
---
"@aoagents/ao-core": minor
"@aoagents/ao-plugin-agent-claude-code": minor
---
Replace Claude Code terminal-regex activity detection with platform-event hooks (#1941).
Claude Code emits a lifecycle hook on every state transition that matters
(`PermissionRequest`, `StopFailure`, `Notification`, `Stop`, `PreToolUse`,
…). Until now, AO ignored all but one of them and tried to infer the
same information by regex-matching Claude's rendered terminal output —
fragile by construction. Every Claude UI tweak (footer wording, status
verb, spinner glyph) broke a heuristic; PR #1932 spent 15 commits
patching the sharpest edges.
This release pivots:
**`@aoagents/ao-plugin-agent-claude-code`** now installs two scripts per
workspace:
- `metadata-updater` — unchanged; PostToolUse(Bash) extracts gh/git
side-effects (PR URL, branch, merge status).
- `activity-updater` — new; registered on every hook that carries
activity information (SessionStart, UserPromptSubmit, PreToolUse,
PostToolUse, PostToolUseFailure, PostToolBatch, Notification,
PermissionRequest, Stop, StopFailure, SubagentStart, SubagentStop,
PreCompact, PostCompact). The script reads the JSON payload from
stdin, maps `hook_event_name` to an activity state, and appends a
JSONL entry to `{workspace}/.ao/activity.jsonl` with `source: "hook"`.
Notification is filtered by `notification_type` so `auth_success` /
`elicitation_*` no longer false-fire `waiting_input` (the RFC's blanket
"Notification → waiting_input" would have regressed here).
The terminal-regex layer (`classifyTerminalOutput`, ~80 LOC of
patterns + `agent.recordActivity`) is retired. `detectActivity` stays on
the Agent interface for other agents but is now a stable `return "idle"`
stub for Claude — the JSONL-backed cascade is the only source of truth
for active / ready / waiting_input / blocked.
**`@aoagents/ao-core`** extends `ActivityLogEntry.source` and
`ActivitySignalSource` with a `"hook"` value so the new entries are
parseable and their provenance is visible in telemetry. No downstream
consumer needs changes — the cascade has always read whatever source
appeared in the JSONL, and the new tests assert hook-sourced entries
flow through `checkActivityLogState` / `getActivityFallbackState`
identically to terminal-sourced ones.
Idempotent install: calling `setupWorkspaceHooks` twice keeps exactly
one entry per event and preserves user-installed hooks alongside ours.
Cross-platform: bash + Node (.cjs) variants behave identically against a
shared 52-case scenario table.

View File

@ -1,6 +0,0 @@
---
"@aoagents/ao-core": minor
"@aoagents/ao-cli": minor
---
Wire CLI activity events into `ao start`, `ao stop`, `ao spawn`, `ao update`, `ao setup`, `ao migrate-storage`, and shared CLI helpers. `ao events list --source cli` now answers RCA questions like "did AO start cleanly?", "was AO killed or did it crash?", and "did `ao spawn`/`ao stop` fail and why?". Adds `"cli"` to the `ActivityEventSource` union and 30+ event-emit sites covering startup, graceful and forced shutdown, restore, project resolution, config recovery, and migration paths.

View File

@ -1,7 +0,0 @@
---
"@aoagents/ao-cli": minor
---
Add `AO_PUBLIC_URL` environment variable for users running AO behind a reverse proxy (remote dev containers, VPS deployments, internal tooling). When set, all user-facing dashboard URLs — `ao start` / `ao dashboard` console output, `ao open` browser launches, and `projectSessionUrl()` links surfaced to the orchestrator agent — use the public URL instead of `http://localhost:<port>`. Internal IPC (`daemon.ts` reload calls) still uses localhost since that traffic stays on the host.
Also documents the existing `TERMINAL_WS_PATH` env var and the dashboard's automatic path-based mux WebSocket routing for standard-port (HTTPS / HTTP) deployments — these together let users front AO with a single hostname and one reverse-proxy rule, no extra ports or subdomains.

View File

@ -1,5 +0,0 @@
---
"@aoagents/ao-web": patch
---
Fix Done/Terminated section on the dashboard not scrolling. The dashboard body now scrolls as a single page — kanban above, Done/Terminated below — so older terminated sessions are reachable when many accumulate. Restores the pre-Warm-Terminal-refresh behavior by dropping the `flex: 1` that was making `.kanban-board-wrap` greedily consume all remaining body height and defeat the body's `overflow-y: auto`.

View File

@ -1,6 +0,0 @@
---
"@aoagents/ao-cli": patch
"@aoagents/ao-core": minor
---
Wire activity events for the recovery subsystem, metadata-corruption detection, and agent-report apply path. New event kinds: `recovery.session_failed`, `recovery.action_failed`, `metadata.corrupt_detected`, `api.agent_report.session_not_found`, `api.agent_report.transition_rejected`. Adds `"recovery"` to the `ActivityEventSource` union. Lets RCA reconstruct `ao recover` invocations, find every silent metadata overwrite, and audit rejected agent transitions. Adds `ao events list --source` and `--kind` so these forensic event queries are available from the CLI.

View File

@ -1,8 +0,0 @@
---
"@aoagents/ao-core": minor
"@aoagents/ao-web": minor
---
feat: "Launch Orchestrator (clean context)" action on the orchestrator session page
Adds a `Relaunch (clean)` action on the orchestrator session page that replaces the project's canonical orchestrator with a fresh one — killing the existing orchestrator, deleting its metadata, and spawning a new session with no carryover state. Backed by a new `SessionManager.relaunchOrchestrator(config)` method that ignores `orchestratorSessionStrategy`. Removes the now-redundant Orchestrator Selector page (`/orchestrators?project=X`) — there is only ever one orchestrator per project, so a selector page is no longer meaningful. Closes #1900 and #1080.

View File

@ -1,5 +0,0 @@
---
"@aoagents/ao-plugin-tracker-linear": patch
---
Retry transient Linear API HTTP failures in the direct transport to reduce flakes from brief 5xx/429 responses.

View File

@ -1,14 +0,0 @@
---
"@aoagents/ao-cli": patch
"@aoagents/ao-core": patch
"@aoagents/ao-web": patch
"@aoagents/ao-notifier-macos": patch
"@aoagents/ao-plugin-notifier-composio": patch
"@aoagents/ao-plugin-notifier-dashboard": patch
"@aoagents/ao-plugin-notifier-desktop": patch
"@aoagents/ao-plugin-notifier-discord": patch
"@aoagents/ao-plugin-notifier-openclaw": patch
"@aoagents/ao-plugin-notifier-slack": patch
---
Add the notifier test harness, dashboard notifications, and desktop notifier setup.

View File

@ -1,7 +0,0 @@
---
"@aoagents/ao": patch
"@aoagents/ao-core": patch
"@aoagents/ao-cli": patch
---
Rebuild missing better-sqlite3 native bindings during ao postinstall and replace noisy activity-events native-binding failures with a one-line diagnostic.

View File

@ -1,19 +0,0 @@
---
"@aoagents/ao-web": patch
---
fix(web): show Restore button for every exited session, including pr_merged
The Restore button was hidden for sessions exited with `pr_merged` reason (legacy
status `cleanup`) on the dashboard kanban and absent altogether from the
session-detail "Terminal ended" panel. The core `isRestorable()` helper already
allowed restoring these sessions; the dashboard helpers were out of sync. Fixes
#1907.
- `isDashboardSessionRestorable` now gates on `NON_RESTORABLE_STATUSES` only,
matching core's `isRestorable`. Merged-but-running sessions remain
non-restorable (lifecycle isn't terminal).
- `DoneCard` no longer hides Restore for merged sessions.
- `SessionEndedSummary` exposes a prominent `Restore session` button next to
`Open PR` / `Back to dashboard`, so users don't have to find the small
header icon.

View File

@ -1,5 +1,17 @@
# @aoagents/ao
## 0.9.0
### Patch Changes
- d5d0f07: Rebuild missing better-sqlite3 native bindings during ao postinstall and replace noisy activity-events native-binding failures with a one-line diagnostic.
- Updated dependencies [6d48022]
- Updated dependencies [ecdf0c7]
- Updated dependencies [fcedb25]
- Updated dependencies [2980570]
- Updated dependencies [d5d0f07]
- @aoagents/ao-cli@0.9.0
## 0.8.0
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao",
"version": "0.8.0",
"version": "0.9.0",
"description": "Orchestrate parallel AI coding agents — global CLI wrapper",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,58 @@
# @aoagents/ao-cli
## 0.9.0
### Minor Changes
- 6d48022: Wire CLI activity events into `ao start`, `ao stop`, `ao spawn`, `ao update`, `ao setup`, `ao migrate-storage`, and shared CLI helpers. `ao events list --source cli` now answers RCA questions like "did AO start cleanly?", "was AO killed or did it crash?", and "did `ao spawn`/`ao stop` fail and why?". Adds `"cli"` to the `ActivityEventSource` union and 30+ event-emit sites covering startup, graceful and forced shutdown, restore, project resolution, config recovery, and migration paths.
- ecdf0c7: Add `AO_PUBLIC_URL` environment variable for users running AO behind a reverse proxy (remote dev containers, VPS deployments, internal tooling). When set, all user-facing dashboard URLs — `ao start` / `ao dashboard` console output, `ao open` browser launches, and `projectSessionUrl()` links surfaced to the orchestrator agent — use the public URL instead of `http://localhost:<port>`. Internal IPC (`daemon.ts` reload calls) still uses localhost since that traffic stays on the host.
Also documents the existing `TERMINAL_WS_PATH` env var and the dashboard's automatic path-based mux WebSocket routing for standard-port (HTTPS / HTTP) deployments — these together let users front AO with a single hostname and one reverse-proxy rule, no extra ports or subdomains.
### Patch Changes
- fcedb25: Wire activity events for the recovery subsystem, metadata-corruption detection, and agent-report apply path. New event kinds: `recovery.session_failed`, `recovery.action_failed`, `metadata.corrupt_detected`, `api.agent_report.session_not_found`, `api.agent_report.transition_rejected`. Adds `"recovery"` to the `ActivityEventSource` union. Lets RCA reconstruct `ao recover` invocations, find every silent metadata overwrite, and audit rejected agent transitions. Adds `ao events list --source` and `--kind` so these forensic event queries are available from the CLI.
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- d5d0f07: Rebuild missing better-sqlite3 native bindings during ao postinstall and replace noisy activity-events native-binding failures with a one-line diagnostic.
- Updated dependencies [73bed33]
- Updated dependencies [a610601]
- Updated dependencies [8c71bde]
- Updated dependencies [7d9b862]
- Updated dependencies [6d48022]
- Updated dependencies [ee3fb5d]
- Updated dependencies [fcedb25]
- Updated dependencies [94981dc]
- Updated dependencies [6d48022]
- Updated dependencies [2980570]
- Updated dependencies [d5d0f07]
- Updated dependencies [07c9099]
- @aoagents/ao-core@0.9.0
- @aoagents/ao-web@0.9.0
- @aoagents/ao-plugin-agent-claude-code@0.9.0
- @aoagents/ao-plugin-tracker-linear@0.9.0
- @aoagents/ao-notifier-macos@0.9.0
- @aoagents/ao-plugin-notifier-composio@0.9.0
- @aoagents/ao-plugin-notifier-dashboard@0.9.0
- @aoagents/ao-plugin-notifier-desktop@0.9.0
- @aoagents/ao-plugin-notifier-discord@0.9.0
- @aoagents/ao-plugin-notifier-openclaw@0.9.0
- @aoagents/ao-plugin-notifier-slack@0.9.0
- @aoagents/ao-plugin-agent-aider@0.9.0
- @aoagents/ao-plugin-agent-codex@0.9.0
- @aoagents/ao-plugin-agent-cursor@0.9.0
- @aoagents/ao-plugin-agent-grok@0.1.1
- @aoagents/ao-plugin-agent-kimicode@0.9.0
- @aoagents/ao-plugin-agent-opencode@0.9.0
- @aoagents/ao-plugin-notifier-webhook@0.9.0
- @aoagents/ao-plugin-runtime-process@0.9.0
- @aoagents/ao-plugin-runtime-tmux@0.9.0
- @aoagents/ao-plugin-scm-github@0.9.0
- @aoagents/ao-plugin-terminal-iterm2@0.9.0
- @aoagents/ao-plugin-terminal-web@0.9.0
- @aoagents/ao-plugin-tracker-github@0.9.0
- @aoagents/ao-plugin-workspace-clone@0.9.0
- @aoagents/ao-plugin-workspace-worktree@0.9.0
## 0.8.0
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-cli",
"version": "0.8.0",
"version": "0.9.0",
"description": "CLI for agent-orchestrator — the `ao` command",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,84 @@
# @aoagents/ao-core
## 0.9.0
### Minor Changes
- 73bed33: Wire activity events into webhook ingress and the mux WebSocket terminal server (sub-issue of #1511, follows #1620).
- `api.webhook_unverified` (warn) — signature verification failed; data includes `slug`, `remoteAddr`, `candidateCount` (never the failed signature)
- `api.webhook_rejected` (warn) — payload exceeded `maxBodyBytes`; data includes counts and `maxBodyBytes` (never the body)
- `api.webhook_received` (info|warn) — accepted webhook; data includes `projectIds`, `matchedSessions`, `parseErrorCount`, `lifecycleErrorCount` (never the body)
- `api.webhook_failed` (error) — outer pipeline crash with `errorMessage`
- `ui.terminal_connected` / `ui.terminal_disconnected` — one event per mux WS connection lifecycle
- `ui.terminal_heartbeat_lost` (warn) — fires once on 3 missed pongs (was console-only)
- `ui.terminal_pty_lost` (warn) — fires when PTY exits with subscribers attached (distinguishes "PTY died" from "user closed browser")
- `ui.terminal_protocol_error` (warn) — invalid mux client message
- `ui.session_broadcast_failed` (warn) — emitted on the healthy→failing transition only (re-arms after a successful poll), so a long outage produces one event, not 20/min
`api.webhook_unverified` is the security-audit event; treat 401s on webhooks as a signal worth retaining for the full 7-day window.
- 7d9b862: Replace Claude Code terminal-regex activity detection with platform-event hooks (#1941).
Claude Code emits a lifecycle hook on every state transition that matters
(`PermissionRequest`, `StopFailure`, `Notification`, `Stop`, `PreToolUse`,
…). Until now, AO ignored all but one of them and tried to infer the
same information by regex-matching Claude's rendered terminal output —
fragile by construction. Every Claude UI tweak (footer wording, status
verb, spinner glyph) broke a heuristic; PR #1932 spent 15 commits
patching the sharpest edges.
This release pivots:
**`@aoagents/ao-plugin-agent-claude-code`** now installs two scripts per
workspace:
- `metadata-updater` — unchanged; PostToolUse(Bash) extracts gh/git
side-effects (PR URL, branch, merge status).
- `activity-updater` — new; registered on every hook that carries
activity information (SessionStart, UserPromptSubmit, PreToolUse,
PostToolUse, PostToolUseFailure, PostToolBatch, Notification,
PermissionRequest, Stop, StopFailure, SubagentStart, SubagentStop,
PreCompact, PostCompact). The script reads the JSON payload from
stdin, maps `hook_event_name` to an activity state, and appends a
JSONL entry to `{workspace}/.ao/activity.jsonl` with `source: "hook"`.
Notification is filtered by `notification_type` so `auth_success` /
`elicitation_*` no longer false-fire `waiting_input` (the RFC's blanket
"Notification → waiting_input" would have regressed here).
The terminal-regex layer (`classifyTerminalOutput`, ~80 LOC of
patterns + `agent.recordActivity`) is retired. `detectActivity` stays on
the Agent interface for other agents but is now a stable `return "idle"`
stub for Claude — the JSONL-backed cascade is the only source of truth
for active / ready / waiting_input / blocked.
**`@aoagents/ao-core`** extends `ActivityLogEntry.source` and
`ActivitySignalSource` with a `"hook"` value so the new entries are
parseable and their provenance is visible in telemetry. No downstream
consumer needs changes — the cascade has always read whatever source
appeared in the JSONL, and the new tests assert hook-sourced entries
flow through `checkActivityLogState` / `getActivityFallbackState`
identically to terminal-sourced ones.
Idempotent install: calling `setupWorkspaceHooks` twice keeps exactly
one entry per event and preserves user-installed hooks alongside ours.
Cross-platform: bash + Node (.cjs) variants behave identically against a
shared 52-case scenario table.
- 6d48022: Wire CLI activity events into `ao start`, `ao stop`, `ao spawn`, `ao update`, `ao setup`, `ao migrate-storage`, and shared CLI helpers. `ao events list --source cli` now answers RCA questions like "did AO start cleanly?", "was AO killed or did it crash?", and "did `ao spawn`/`ao stop` fail and why?". Adds `"cli"` to the `ActivityEventSource` union and 30+ event-emit sites covering startup, graceful and forced shutdown, restore, project resolution, config recovery, and migration paths.
- fcedb25: Wire activity events for the recovery subsystem, metadata-corruption detection, and agent-report apply path. New event kinds: `recovery.session_failed`, `recovery.action_failed`, `metadata.corrupt_detected`, `api.agent_report.session_not_found`, `api.agent_report.transition_rejected`. Adds `"recovery"` to the `ActivityEventSource` union. Lets RCA reconstruct `ao recover` invocations, find every silent metadata overwrite, and audit rejected agent transitions. Adds `ao events list --source` and `--kind` so these forensic event queries are available from the CLI.
- 94981dc: feat: "Launch Orchestrator (clean context)" action on the orchestrator session page
Adds a `Relaunch (clean)` action on the orchestrator session page that replaces the project's canonical orchestrator with a fresh one — killing the existing orchestrator, deleting its metadata, and spawning a new session with no carryover state. Backed by a new `SessionManager.relaunchOrchestrator(config)` method that ignores `orchestratorSessionStrategy`. Removes the now-redundant Orchestrator Selector page (`/orchestrators?project=X`) — there is only ever one orchestrator per project, so a selector page is no longer meaningful. Closes #1900 and #1080.
### Patch Changes
- a610601: Split Claude Code activity-detection logic out of `index.ts` into a dedicated `activity-detection.ts` module. Removes two unreachable switch branches (`case "permission_request"` → `waiting_input` and `case "error"``blocked`) that targeted JSONL types Claude never actually emits. `waiting_input` continues to flow through the AO activity-JSONL safety net added in #1903.
Closes the `blocked` gap for Claude Code: extend `readLastJsonlEntry` in core to also surface top-level `subtype` and `level` fields, and map `{type:"system", level:"error"}``blocked` in the cascade. This catches Claude's real api_error shape (`{type:"system", subtype:"api_error", level:"error", cause:{code:"ConnectionRefused"|"FailedToOpenSocket"|...}}`) so a session stuck in the API retry loop now reports `blocked` instead of `ready`. New fields on `readLastJsonlEntry` are additive and don't break existing callers (Codex, OpenCode, Aider).
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- d5d0f07: Rebuild missing better-sqlite3 native bindings during ao postinstall and replace noisy activity-events native-binding failures with a one-line diagnostic.
## 0.8.0
### Minor Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-core",
"version": "0.8.0",
"version": "0.9.0",
"description": "Core library — types, config, session manager, lifecycle manager, event bus",
"license": "MIT",
"type": "module",

View File

@ -0,0 +1,7 @@
# @aoagents/ao-notifier-macos
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-notifier-macos",
"version": "0.6.0",
"version": "0.9.0",
"description": "Native macOS notification helper app for AO",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-agent-aider
## 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

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-aider",
"version": "0.8.0",
"version": "0.9.0",
"description": "Agent plugin: Aider",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,81 @@
# @aoagents/ao-plugin-agent-claude-code
## 0.9.0
### Minor Changes
- 7d9b862: Replace Claude Code terminal-regex activity detection with platform-event hooks (#1941).
Claude Code emits a lifecycle hook on every state transition that matters
(`PermissionRequest`, `StopFailure`, `Notification`, `Stop`, `PreToolUse`,
…). Until now, AO ignored all but one of them and tried to infer the
same information by regex-matching Claude's rendered terminal output —
fragile by construction. Every Claude UI tweak (footer wording, status
verb, spinner glyph) broke a heuristic; PR #1932 spent 15 commits
patching the sharpest edges.
This release pivots:
**`@aoagents/ao-plugin-agent-claude-code`** now installs two scripts per
workspace:
- `metadata-updater` — unchanged; PostToolUse(Bash) extracts gh/git
side-effects (PR URL, branch, merge status).
- `activity-updater` — new; registered on every hook that carries
activity information (SessionStart, UserPromptSubmit, PreToolUse,
PostToolUse, PostToolUseFailure, PostToolBatch, Notification,
PermissionRequest, Stop, StopFailure, SubagentStart, SubagentStop,
PreCompact, PostCompact). The script reads the JSON payload from
stdin, maps `hook_event_name` to an activity state, and appends a
JSONL entry to `{workspace}/.ao/activity.jsonl` with `source: "hook"`.
Notification is filtered by `notification_type` so `auth_success` /
`elicitation_*` no longer false-fire `waiting_input` (the RFC's blanket
"Notification → waiting_input" would have regressed here).
The terminal-regex layer (`classifyTerminalOutput`, ~80 LOC of
patterns + `agent.recordActivity`) is retired. `detectActivity` stays on
the Agent interface for other agents but is now a stable `return "idle"`
stub for Claude — the JSONL-backed cascade is the only source of truth
for active / ready / waiting_input / blocked.
**`@aoagents/ao-core`** extends `ActivityLogEntry.source` and
`ActivitySignalSource` with a `"hook"` value so the new entries are
parseable and their provenance is visible in telemetry. No downstream
consumer needs changes — the cascade has always read whatever source
appeared in the JSONL, and the new tests assert hook-sourced entries
flow through `checkActivityLogState` / `getActivityFallbackState`
identically to terminal-sourced ones.
Idempotent install: calling `setupWorkspaceHooks` twice keeps exactly
one entry per event and preserves user-installed hooks alongside ours.
Cross-platform: bash + Node (.cjs) variants behave identically against a
shared 52-case scenario table.
### Patch Changes
- a610601: Split Claude Code activity-detection logic out of `index.ts` into a dedicated `activity-detection.ts` module. Removes two unreachable switch branches (`case "permission_request"` → `waiting_input` and `case "error"``blocked`) that targeted JSONL types Claude never actually emits. `waiting_input` continues to flow through the AO activity-JSONL safety net added in #1903.
Closes the `blocked` gap for Claude Code: extend `readLastJsonlEntry` in core to also surface top-level `subtype` and `level` fields, and map `{type:"system", level:"error"}``blocked` in the cascade. This catches Claude's real api_error shape (`{type:"system", subtype:"api_error", level:"error", cause:{code:"ConnectionRefused"|"FailedToOpenSocket"|...}}`) so a session stuck in the API retry loop now reports `blocked` instead of `ready`. New fields on `readLastJsonlEntry` are additive and don't break existing callers (Codex, OpenCode, Aider).
- 8c71bde: Harden Claude Code activity detection against five real-world edge cases identified during PR #1927's analysis:
1. **Bookkeeping types → false-active.** `file-history-snapshot`, `attachment`, `pr-link`, `queue-operation`, `permission-mode`, `last-prompt`, `ai-title`, `agent-color`, `agent-name`, `custom-title` were falling through to the `default` switch branch and showing as `active` for 30s after Claude finished a turn. They now correctly map to `ready`/`idle` by age. Likely root cause of "Claude looks busy when it's done" reports.
2. **Multi-session disambiguation.** `findLatestSessionFile` picked newest-mtime, which is the wrong session's JSONL when two Claude sessions are running in the same workspace. Now prefers the UUID-named file (`<projectDir>/<claudeSessionUuid>.jsonl`) when `session.metadata.claudeSessionUuid` is set, falling back to newest-mtime otherwise.
3. **Symlinked workspaces.** `toClaudeProjectPath` was a pure string transform — symlink paths produced different slugs than what Claude itself wrote. Added `resolveWorkspaceForClaude(path)` that runs `realpathSync` (with fallback) and used it in all three slug-computing sites (`getClaudeActivityState`, `getSessionInfo`, `getRestoreCommand`).
4. **Process regex too narrow.** `(?:^|\/)claude(?:\s|$)` was missing several legitimate install variants — `.claude`, `claude-code`, `claude.exe`, `claude.js`, and npm shims like `node /opt/.../@anthropic-ai/claude-code/cli.js`. Broadened to `(?:^|\/)(?:\.)?claude(?:[-.][\w-]+)*(?:[\s/]|$)`; still rejects look-alikes (`claudia`, `claudine`).
5. **Silent permission-denied.** `findLatestSessionFile` was swallowing every `readdir` error silently — a missing `~/.claude/projects/<slug>/` (ENOENT) is normal, but a permission-denied (EACCES/EPERM) or fd-exhausted (EMFILE) misconfig left the session looking permanently `idle` on the dashboard with zero telemetry. Now logs a single `console.warn` for non-ENOENT errors.
193/193 plugin tests pass. No public-API change. New helper `resolveWorkspaceForClaude` is re-exported from `index.ts` for downstream consumers.
- 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

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-claude-code",
"version": "0.8.0",
"version": "0.9.0",
"description": "Agent plugin: Claude Code",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-agent-codex
## 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

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-codex",
"version": "0.8.0",
"version": "0.9.0",
"description": "Agent plugin: OpenAI Codex CLI",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-agent-cursor
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-cursor",
"version": "0.8.0",
"version": "0.9.0",
"description": "Agent plugin: Cursor CLI",
"license": "MIT",
"type": "module",

View File

@ -0,0 +1,15 @@
# @aoagents/ao-plugin-agent-grok
## 0.1.1
### 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

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-grok",
"version": "0.1.0",
"version": "0.1.1",
"description": "Agent plugin: Grok",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-agent-kimicode
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-kimicode",
"version": "0.8.0",
"version": "0.9.0",
"description": "Agent plugin: Kimi Code CLI (MoonshotAI)",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-agent-opencode
## 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

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-agent-opencode",
"version": "0.8.0",
"version": "0.9.0",
"description": "Agent plugin: OpenCode",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-notifier-composio
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-composio",
"version": "0.8.0",
"version": "0.9.0",
"description": "Notifier plugin: Composio unified notifications (Slack, Discord, email)",
"license": "MIT",
"type": "module",

View File

@ -0,0 +1,16 @@
# @aoagents/ao-plugin-notifier-dashboard
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 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

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-dashboard",
"version": "0.6.0",
"version": "0.9.0",
"description": "Notifier plugin: AO dashboard notifications",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-notifier-desktop
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-desktop",
"version": "0.8.0",
"version": "0.9.0",
"description": "Notifier plugin: OS desktop notifications",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-notifier-discord
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-discord",
"version": "0.8.0",
"version": "0.9.0",
"description": "Notifier plugin: Discord webhook notifications",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-notifier-openclaw
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-openclaw",
"version": "0.8.0",
"version": "0.9.0",
"description": "Notifier plugin: OpenClaw webhook notifications",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-notifier-slack
## 0.9.0
### Patch Changes
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-slack",
"version": "0.8.0",
"version": "0.9.0",
"description": "Notifier plugin: Slack",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-notifier-webhook
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-notifier-webhook",
"version": "0.8.0",
"version": "0.9.0",
"description": "Notifier plugin: generic webhook",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-runtime-process
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-runtime-process",
"version": "0.8.0",
"version": "0.9.0",
"description": "Runtime plugin: child processes",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-runtime-tmux
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-runtime-tmux",
"version": "0.8.0",
"version": "0.9.0",
"description": "Runtime plugin: tmux sessions",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-scm-github
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-scm-github",
"version": "0.8.0",
"version": "0.9.0",
"description": "SCM plugin: GitHub (PRs, CI, reviews)",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-scm-gitlab
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-scm-gitlab",
"version": "0.8.0",
"version": "0.9.0",
"description": "SCM plugin: GitLab (MRs, CI, reviews)",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-terminal-iterm2
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-terminal-iterm2",
"version": "0.8.0",
"version": "0.9.0",
"description": "Terminal plugin: macOS iTerm2",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-terminal-web
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-terminal-web",
"version": "0.8.0",
"version": "0.9.0",
"description": "Terminal plugin: xterm.js web terminal",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-tracker-github
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-tracker-github",
"version": "0.8.0",
"version": "0.9.0",
"description": "Tracker plugin: GitHub Issues",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-tracker-gitlab
## 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
- @aoagents/ao-plugin-scm-gitlab@0.9.0
## 0.8.0
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-tracker-gitlab",
"version": "0.8.0",
"version": "0.9.0",
"description": "Tracker plugin: GitLab Issues",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,20 @@
# @aoagents/ao-plugin-tracker-linear
## 0.9.0
### Patch Changes
- 6d48022: Retry transient Linear API HTTP failures in the direct transport to reduce flakes from brief 5xx/429 responses.
- 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-tracker-linear",
"version": "0.8.0",
"version": "0.9.0",
"description": "Tracker plugin: Linear",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-workspace-clone
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-workspace-clone",
"version": "0.8.0",
"version": "0.9.0",
"description": "Workspace plugin: git clone",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,19 @@
# @aoagents/ao-plugin-workspace-worktree
## 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
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-plugin-workspace-worktree",
"version": "0.8.0",
"version": "0.9.0",
"description": "Workspace plugin: git worktrees",
"license": "MIT",
"type": "module",

View File

@ -1,5 +1,69 @@
# @aoagents/ao-web
## 0.9.0
### Minor Changes
- 73bed33: Wire activity events into webhook ingress and the mux WebSocket terminal server (sub-issue of #1511, follows #1620).
- `api.webhook_unverified` (warn) — signature verification failed; data includes `slug`, `remoteAddr`, `candidateCount` (never the failed signature)
- `api.webhook_rejected` (warn) — payload exceeded `maxBodyBytes`; data includes counts and `maxBodyBytes` (never the body)
- `api.webhook_received` (info|warn) — accepted webhook; data includes `projectIds`, `matchedSessions`, `parseErrorCount`, `lifecycleErrorCount` (never the body)
- `api.webhook_failed` (error) — outer pipeline crash with `errorMessage`
- `ui.terminal_connected` / `ui.terminal_disconnected` — one event per mux WS connection lifecycle
- `ui.terminal_heartbeat_lost` (warn) — fires once on 3 missed pongs (was console-only)
- `ui.terminal_pty_lost` (warn) — fires when PTY exits with subscribers attached (distinguishes "PTY died" from "user closed browser")
- `ui.terminal_protocol_error` (warn) — invalid mux client message
- `ui.session_broadcast_failed` (warn) — emitted on the healthy→failing transition only (re-arms after a successful poll), so a long outage produces one event, not 20/min
`api.webhook_unverified` is the security-audit event; treat 401s on webhooks as a signal worth retaining for the full 7-day window.
- 94981dc: feat: "Launch Orchestrator (clean context)" action on the orchestrator session page
Adds a `Relaunch (clean)` action on the orchestrator session page that replaces the project's canonical orchestrator with a fresh one — killing the existing orchestrator, deleting its metadata, and spawning a new session with no carryover state. Backed by a new `SessionManager.relaunchOrchestrator(config)` method that ignores `orchestratorSessionStrategy`. Removes the now-redundant Orchestrator Selector page (`/orchestrators?project=X`) — there is only ever one orchestrator per project, so a selector page is no longer meaningful. Closes #1900 and #1080.
### Patch Changes
- ee3fb5d: Fix Done/Terminated section on the dashboard not scrolling. The dashboard body now scrolls as a single page — kanban above, Done/Terminated below — so older terminated sessions are reachable when many accumulate. Restores the pre-Warm-Terminal-refresh behavior by dropping the `flex: 1` that was making `.kanban-board-wrap` greedily consume all remaining body height and defeat the body's `overflow-y: auto`.
- 2980570: Add the notifier test harness, dashboard notifications, and desktop notifier setup.
- 07c9099: fix(web): show Restore button for every exited session, including pr_merged
The Restore button was hidden for sessions exited with `pr_merged` reason (legacy
status `cleanup`) on the dashboard kanban and absent altogether from the
session-detail "Terminal ended" panel. The core `isRestorable()` helper already
allowed restoring these sessions; the dashboard helpers were out of sync. Fixes
#1907.
- `isDashboardSessionRestorable` now gates on `NON_RESTORABLE_STATUSES` only,
matching core's `isRestorable`. Merged-but-running sessions remain
non-restorable (lifecycle isn't terminal).
- `DoneCard` no longer hides Restore for merged sessions.
- `SessionEndedSummary` exposes a prominent `Restore session` button next to
`Open PR` / `Back to dashboard`, so users don't have to find the small
header icon.
- Updated dependencies [73bed33]
- Updated dependencies [a610601]
- Updated dependencies [8c71bde]
- Updated dependencies [7d9b862]
- Updated dependencies [6d48022]
- Updated dependencies [fcedb25]
- Updated dependencies [94981dc]
- Updated dependencies [6d48022]
- Updated dependencies [2980570]
- Updated dependencies [d5d0f07]
- @aoagents/ao-core@0.9.0
- @aoagents/ao-plugin-agent-claude-code@0.9.0
- @aoagents/ao-plugin-tracker-linear@0.9.0
- @aoagents/ao-plugin-agent-codex@0.9.0
- @aoagents/ao-plugin-agent-cursor@0.9.0
- @aoagents/ao-plugin-agent-grok@0.1.1
- @aoagents/ao-plugin-agent-kimicode@0.9.0
- @aoagents/ao-plugin-agent-opencode@0.9.0
- @aoagents/ao-plugin-runtime-process@0.9.0
- @aoagents/ao-plugin-runtime-tmux@0.9.0
- @aoagents/ao-plugin-scm-github@0.9.0
- @aoagents/ao-plugin-tracker-github@0.9.0
- @aoagents/ao-plugin-workspace-worktree@0.9.0
## 0.8.0
### Patch Changes

View File

@ -1,6 +1,6 @@
{
"name": "@aoagents/ao-web",
"version": "0.8.0",
"version": "0.9.0",
"description": "Web dashboard for agent-orchestrator",
"license": "MIT",
"type": "module",