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:
parent
d524922849
commit
866790c137
|
|
@ -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.
|
||||
|
|
@ -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).
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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`.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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.
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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",
|
||||
|
|
|
|||
Loading…
Reference in New Issue