commandmate 0.49.0 → 0.49.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +238 -231
- package/.next/app-path-routes-manifest.json +19 -18
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +9 -9
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +8 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route.js +2 -2
- package/.next/server/app/api/hooks/agent-event/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route.js +2 -2
- package/.next/server/app/api/hooks/claude-done/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route.js.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/route.js +1 -0
- package/.next/server/app/api/relays/[relayId]/route.js.nft.json +1 -0
- package/.next/server/app/api/relays/[relayId]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/relays/route.js +1 -1
- package/.next/server/app/api/relays/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js +1 -1
- package/.next/server/app/api/repositories/clone/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js +1 -1
- package/.next/server/app/api/repositories/restore/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js +1 -1
- package/.next/server/app/api/repositories/scan/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js +1 -1
- package/.next/server/app/api/repositories/sync/route.js.nft.json +1 -1
- package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js +1 -1
- package/.next/server/app/api/settings/default-agents/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/direct-input/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/strict/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js +144 -1
- package/.next/server/app/api/worktrees/[id]/send/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +3 -3
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +103 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route.js +1 -1
- package/.next/server/app/api/worktrees/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +11 -11
- package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +19 -18
- package/.next/server/chunks/1656.js +2 -2
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2404.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/3773.js +1 -0
- package/.next/server/chunks/3801.js +31 -0
- package/.next/server/chunks/5209.js +1 -1
- package/.next/server/chunks/5354.js +1 -1
- package/.next/server/chunks/{9130.js → 5630.js} +1 -1
- package/.next/server/chunks/5775.js +1 -0
- package/.next/server/chunks/610.js +1 -0
- package/.next/server/chunks/6119.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6486.js +1 -1
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/6808.js +4 -0
- package/.next/server/chunks/7023.js +14 -0
- package/.next/server/chunks/7604.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8581.js +15 -15
- package/.next/server/chunks/8728.js +2 -2
- package/.next/server/chunks/8782.js +1 -1
- package/.next/server/chunks/8807.js +63 -53
- package/.next/server/chunks/8918.js +103 -1
- package/.next/server/chunks/9198.js +144 -0
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9584.js +1 -1
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/9731.js +3 -3
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2407-ab92ae9837c39dce.js → 2407-675ba6b21844dc3b.js} +1 -1
- package/.next/static/chunks/3931-1a1abab16248f14d.js +1 -0
- package/.next/static/chunks/8606-ce17ffa77f39608e.js +1 -0
- package/.next/static/chunks/app/api/agents/update/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/agents/versions/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/app/release-notes/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/app/update/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/capabilities/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/hooks/permission-request/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/push/escalation/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/relays/[relayId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/relays/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/remote/pair/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/settings/default-agents/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/skills/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/templates/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/layout-8bfac4724277b47f.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/sessions/page-890fd50ec9739973.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/layout-a4f129c451de7859.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-f6d3ab8185d93aae.js +1 -0
- package/.next/static/css/c1e307d05daf93b6.css +1 -0
- package/.next/trace +13 -13
- package/.next/types/app/api/relays/[relayId]/route.ts +347 -0
- package/.next/types/routes.d.ts +2 -1
- package/.next/types/validator.ts +9 -0
- package/dist/cli/commands/ask.d.ts.map +1 -1
- package/dist/cli/commands/ask.js +178 -13
- package/dist/cli/commands/message-dispatch.d.ts +25 -5
- package/dist/cli/commands/message-dispatch.d.ts.map +1 -1
- package/dist/cli/commands/message-dispatch.js +92 -6
- package/dist/cli/commands/relays.d.ts +25 -2
- package/dist/cli/commands/relays.d.ts.map +1 -1
- package/dist/cli/commands/relays.js +69 -5
- package/dist/cli/commands/respond.d.ts +12 -0
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +63 -1
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +6 -4
- package/dist/cli/commands/wait-hook-stop-settle.d.ts +66 -0
- package/dist/cli/commands/wait-hook-stop-settle.d.ts.map +1 -0
- package/dist/cli/commands/wait-hook-stop-settle.js +150 -0
- package/dist/cli/commands/wait-instance.d.ts +21 -0
- package/dist/cli/commands/wait-instance.d.ts.map +1 -0
- package/dist/cli/commands/wait-instance.js +41 -0
- package/dist/cli/commands/wait-notices.d.ts +87 -0
- package/dist/cli/commands/wait-notices.d.ts.map +1 -0
- package/dist/cli/commands/wait-notices.js +301 -0
- package/dist/cli/commands/wait-poll-bookkeeping.d.ts +15 -0
- package/dist/cli/commands/wait-poll-bookkeeping.d.ts.map +1 -0
- package/dist/cli/commands/wait-poll-bookkeeping.js +57 -0
- package/dist/cli/commands/wait-poll-state.d.ts +118 -0
- package/dist/cli/commands/wait-poll-state.d.ts.map +1 -0
- package/dist/cli/commands/wait-poll-state.js +6 -0
- package/dist/cli/commands/wait-timing.d.ts +46 -0
- package/dist/cli/commands/wait-timing.d.ts.map +1 -0
- package/dist/cli/commands/wait-timing.js +99 -0
- package/dist/cli/commands/wait-turn-boundary.d.ts +284 -0
- package/dist/cli/commands/wait-turn-boundary.d.ts.map +1 -0
- package/dist/cli/commands/wait-turn-boundary.js +427 -0
- package/dist/cli/commands/wait-verify.d.ts +50 -0
- package/dist/cli/commands/wait-verify.d.ts.map +1 -0
- package/dist/cli/commands/wait-verify.js +124 -0
- package/dist/cli/commands/wait.d.ts +6 -105
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +207 -959
- package/dist/cli/docs/agent-operations.d.ts +2 -2
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +23 -1
- package/dist/cli/types/api-responses.d.ts +47 -3
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/utils/api-client.d.ts +15 -1
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +7 -1
- package/dist/cli/utils/reply-ledger.d.ts +79 -0
- package/dist/cli/utils/reply-ledger.d.ts.map +1 -1
- package/dist/cli/utils/reply-ledger.js +141 -1
- package/dist/lib/session/send-attempt-types.d.ts +23 -1
- package/dist/lib/session/send-attempt-types.d.ts.map +1 -1
- package/dist/lib/session/send-attempt-types.js +9 -1
- package/dist/server/locales/en/worktree.json +18 -3
- package/dist/server/locales/ja/worktree.json +18 -3
- package/dist/server/src/lib/auto-yes-poller.js +49 -10
- package/dist/server/src/lib/cli-tools/antigravity.js +40 -7
- package/dist/server/src/lib/cli-tools/codex.js +60 -11
- package/dist/server/src/lib/cli-tools/command-code-plan-review.js +24 -2
- package/dist/server/src/lib/cli-tools/copilot.js +120 -30
- package/dist/server/src/lib/cli-tools/gemini.js +28 -9
- package/dist/server/src/lib/cli-tools/opencode.js +55 -13
- package/dist/server/src/lib/cli-tools/submit-composer-read.js +580 -0
- package/dist/server/src/lib/cli-tools/submit-verified-sender.js +356 -621
- package/dist/server/src/lib/db/migrations/index.js +2 -0
- package/dist/server/src/lib/db/migrations/pre-migration-backup.js +266 -0
- package/dist/server/src/lib/db/migrations/runner.js +37 -4
- package/dist/server/src/lib/db/migrations/v62-session-relays-bind.js +102 -0
- package/dist/server/src/lib/db/relay-bind-db.js +437 -0
- package/dist/server/src/lib/db/relay-db.js +59 -96
- package/dist/server/src/lib/detection/upstream-faults.js +40 -6
- package/dist/server/src/lib/hooks/sources/opencode/client.js +12 -6
- package/dist/server/src/lib/polling/response-checker.js +7 -5
- package/dist/server/src/lib/prompt-answer-errors.js +288 -0
- package/dist/server/src/lib/prompt-answer-sender.js +264 -288
- package/dist/server/src/lib/push/failure-episode-state.js +4 -1
- package/dist/server/src/lib/realtime/terminal-broadcast.js +1 -4
- package/dist/server/src/lib/realtime-snippet.js +54 -0
- package/dist/server/src/lib/relay/relay-bind.js +294 -0
- package/dist/server/src/lib/relay/relay-boot.js +51 -0
- package/dist/server/src/lib/relay/relay-bound-reply.js +519 -0
- package/dist/server/src/lib/relay/relay-delivery.js +134 -220
- package/dist/server/src/lib/relay/relay-messages.js +39 -4
- package/dist/server/src/lib/relay/relay-overlap.js +92 -0
- package/dist/server/src/lib/relay/relay-system-line.js +3 -2
- package/dist/server/src/lib/relay/types.js +12 -1
- package/dist/server/src/lib/session/agent-session-lifecycle.js +18 -0
- package/dist/server/src/lib/session/claude-session.js +41 -6
- package/dist/server/src/lib/session/composer-clear.js +54 -1
- package/dist/server/src/lib/session/current-output-builder.js +21 -5
- package/dist/server/src/lib/session/instance-input-lock.js +664 -0
- package/dist/server/src/lib/session/send-attempt-state.js +17 -0
- package/dist/server/src/lib/session/send-attempt-types.js +9 -1
- package/dist/server/src/lib/session/send-user-message.js +82 -13
- package/package.json +1 -1
- package/release-notes/0.49.1.json +66 -0
- package/.next/server/chunks/1210.js +0 -1
- package/.next/server/chunks/1945.js +0 -14
- package/.next/server/chunks/1990.js +0 -103
- package/.next/server/chunks/4194.js +0 -67
- package/.next/server/chunks/4280.js +0 -1
- package/.next/server/chunks/5845.js +0 -1
- package/.next/server/chunks/720.js +0 -103
- package/.next/server/chunks/936.js +0 -1
- package/.next/server/chunks/9540.js +0 -1
- package/.next/static/chunks/8606-cf6bdbff44a764cf.js +0 -1
- package/.next/static/chunks/9079-987939d231704218.js +0 -1
- package/.next/static/chunks/app/api/agents/update/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/agents/versions/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/app/release-notes/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/capabilities/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/hooks/permission-request/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/push/escalation/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/relays/[relayId]/cancel/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/relays/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/remote/pair/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/settings/default-agents/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/settings/default-surface-mode/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/skills/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/templates/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/clear-composer/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-reference/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/direct-input/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/env/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/notes/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/instances/opencode/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/diff/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/session/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/opencode/share/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/strict/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/resolve-target/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/config/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/apply-default-agents/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/layout-aa8e66164a4367af.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/sessions/page-cfd645305e25fd33.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-c81284a9d8b35304.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-a8d7886703ffc7b4.js +0 -1
- package/.next/static/css/db8959555c3d9c96.css +0 -1
- /package/.next/static/{3_JtAZaKMJEDFIIfkHv4n → fqfSDqQMweROeHUzOt_m1}/_buildManifest.js +0 -0
- /package/.next/static/{3_JtAZaKMJEDFIIfkHv4n → fqfSDqQMweROeHUzOt_m1}/_ssgManifest.js +0 -0
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* @module lib/db/relay-db
|
|
18
18
|
*/
|
|
19
19
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.stashRelayPayload = exports.settleRelaySendState = exports.setRelayPendingReply = exports.setRelayHold = exports.reserveRelayBind = exports.replaceRelayPromptWithReply = exports.replaceRelayPromptWithPendingReply = exports.recordRelayInputBoundary = exports.promoteRelayPendingReply = exports.listRelaysWithPendingPayload = exports.listOpenBoundRelays = exports.getRelayPendingPayload = exports.getRelayBinding = exports.failOrphanedRelayBind = exports.explainRelayBindRefusal = exports.clearRelayPendingReply = exports.clearRelayPending = exports.clearRelayHeldCandidates = exports.appendRelayHeldCandidate = void 0;
|
|
20
21
|
exports.createRelay = createRelay;
|
|
21
22
|
exports.getRelayById = getRelayById;
|
|
22
23
|
exports.listOpenRelaysTo = listOpenRelaysTo;
|
|
@@ -24,9 +25,6 @@ exports.listOpenRelaysFrom = listOpenRelaysFrom;
|
|
|
24
25
|
exports.getSessionRelaySummary = getSessionRelaySummary;
|
|
25
26
|
exports.listOpenRelaysForWorktree = listOpenRelaysForWorktree;
|
|
26
27
|
exports.countOpenRelaysBetween = countOpenRelaysBetween;
|
|
27
|
-
exports.stashRelayPayload = stashRelayPayload;
|
|
28
|
-
exports.listRelaysWithPendingPayload = listRelaysWithPendingPayload;
|
|
29
|
-
exports.clearRelayPending = clearRelayPending;
|
|
30
28
|
exports.markRelayDelivered = markRelayDelivered;
|
|
31
29
|
exports.markRelayPromptNotified = markRelayPromptNotified;
|
|
32
30
|
exports.getRelayPromptSignature = getRelayPromptSignature;
|
|
@@ -37,39 +35,44 @@ exports.countRelays = countRelays;
|
|
|
37
35
|
const crypto_1 = require("crypto");
|
|
38
36
|
const types_1 = require("../../lib/relay/types");
|
|
39
37
|
const logger_1 = require("../../lib/logger");
|
|
38
|
+
const relay_bind_db_1 = require("../../lib/db/relay-bind-db");
|
|
39
|
+
// Issue #3995: the send binding and the pending slots live in `relay-bind-db`;
|
|
40
|
+
// re-exported so every caller (and every `vi.mock`) keeps this module's surface.
|
|
41
|
+
var relay_bind_db_2 = require("../../lib/db/relay-bind-db");
|
|
42
|
+
Object.defineProperty(exports, "appendRelayHeldCandidate", { enumerable: true, get: function () { return relay_bind_db_2.appendRelayHeldCandidate; } });
|
|
43
|
+
Object.defineProperty(exports, "clearRelayHeldCandidates", { enumerable: true, get: function () { return relay_bind_db_2.clearRelayHeldCandidates; } });
|
|
44
|
+
Object.defineProperty(exports, "clearRelayPending", { enumerable: true, get: function () { return relay_bind_db_2.clearRelayPending; } });
|
|
45
|
+
Object.defineProperty(exports, "clearRelayPendingReply", { enumerable: true, get: function () { return relay_bind_db_2.clearRelayPendingReply; } });
|
|
46
|
+
Object.defineProperty(exports, "explainRelayBindRefusal", { enumerable: true, get: function () { return relay_bind_db_2.explainRelayBindRefusal; } });
|
|
47
|
+
Object.defineProperty(exports, "failOrphanedRelayBind", { enumerable: true, get: function () { return relay_bind_db_2.failOrphanedRelayBind; } });
|
|
48
|
+
Object.defineProperty(exports, "getRelayBinding", { enumerable: true, get: function () { return relay_bind_db_2.getRelayBinding; } });
|
|
49
|
+
Object.defineProperty(exports, "getRelayPendingPayload", { enumerable: true, get: function () { return relay_bind_db_2.getRelayPendingPayload; } });
|
|
50
|
+
Object.defineProperty(exports, "listOpenBoundRelays", { enumerable: true, get: function () { return relay_bind_db_2.listOpenBoundRelays; } });
|
|
51
|
+
Object.defineProperty(exports, "listRelaysWithPendingPayload", { enumerable: true, get: function () { return relay_bind_db_2.listRelaysWithPendingPayload; } });
|
|
52
|
+
Object.defineProperty(exports, "promoteRelayPendingReply", { enumerable: true, get: function () { return relay_bind_db_2.promoteRelayPendingReply; } });
|
|
53
|
+
Object.defineProperty(exports, "recordRelayInputBoundary", { enumerable: true, get: function () { return relay_bind_db_2.recordRelayInputBoundary; } });
|
|
54
|
+
Object.defineProperty(exports, "replaceRelayPromptWithPendingReply", { enumerable: true, get: function () { return relay_bind_db_2.replaceRelayPromptWithPendingReply; } });
|
|
55
|
+
Object.defineProperty(exports, "replaceRelayPromptWithReply", { enumerable: true, get: function () { return relay_bind_db_2.replaceRelayPromptWithReply; } });
|
|
56
|
+
Object.defineProperty(exports, "reserveRelayBind", { enumerable: true, get: function () { return relay_bind_db_2.reserveRelayBind; } });
|
|
57
|
+
Object.defineProperty(exports, "setRelayHold", { enumerable: true, get: function () { return relay_bind_db_2.setRelayHold; } });
|
|
58
|
+
Object.defineProperty(exports, "setRelayPendingReply", { enumerable: true, get: function () { return relay_bind_db_2.setRelayPendingReply; } });
|
|
59
|
+
Object.defineProperty(exports, "settleRelaySendState", { enumerable: true, get: function () { return relay_bind_db_2.settleRelaySendState; } });
|
|
60
|
+
Object.defineProperty(exports, "stashRelayPayload", { enumerable: true, get: function () { return relay_bind_db_2.stashRelayPayload; } });
|
|
40
61
|
const logger = (0, logger_1.createLogger)('relay-db');
|
|
41
|
-
/** Every column, in one place, so the readers cannot drift from each other. */
|
|
42
|
-
const RELAY_COLUMNS = `
|
|
43
|
-
id, from_worktree_id, from_instance_id, to_worktree_id, to_instance_id,
|
|
44
|
-
state, hops, sent_request_id, pending_kind, pending_body, prompt_signature,
|
|
45
|
-
created_at, updated_at, expires_at, delivered_at
|
|
46
|
-
`;
|
|
47
|
-
function mapRelay(row) {
|
|
48
|
-
return {
|
|
49
|
-
id: row.id,
|
|
50
|
-
from: { worktreeId: row.from_worktree_id, instanceId: row.from_instance_id },
|
|
51
|
-
to: { worktreeId: row.to_worktree_id, instanceId: row.to_instance_id },
|
|
52
|
-
state: row.state,
|
|
53
|
-
hops: row.hops,
|
|
54
|
-
sentRequestId: row.sent_request_id,
|
|
55
|
-
pendingKind: row.pending_kind ?? null,
|
|
56
|
-
createdAt: row.created_at,
|
|
57
|
-
updatedAt: row.updated_at,
|
|
58
|
-
expiresAt: row.expires_at,
|
|
59
|
-
deliveredAt: row.delivered_at,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
62
|
/** Insert a new `pending` relay and hand it back. */
|
|
63
63
|
function createRelay(db, input) {
|
|
64
64
|
const id = (0, crypto_1.randomUUID)();
|
|
65
65
|
const now = input.now ?? Date.now();
|
|
66
|
+
const bindMode = input.bindMode ?? 'legacy';
|
|
67
|
+
// A legacy row carries no send state at all: NULL, never a pretended `sent`.
|
|
68
|
+
const sendState = bindMode === 'bound' ? 'awaiting' : null;
|
|
66
69
|
db.prepare(`
|
|
67
70
|
INSERT INTO session_relays
|
|
68
71
|
(id, from_worktree_id, from_instance_id, to_worktree_id, to_instance_id,
|
|
69
72
|
state, hops, sent_request_id, pending_kind, pending_body, prompt_signature,
|
|
70
|
-
created_at, updated_at, expires_at, delivered_at)
|
|
71
|
-
VALUES (?, ?, ?, ?, ?, 'pending', ?, NULL, NULL, NULL, NULL, ?, ?, ?, NULL)
|
|
72
|
-
`).run(id, input.from.worktreeId, input.from.instanceId, input.to.worktreeId, input.to.instanceId, input.hops, now, now, input.expiresAt);
|
|
73
|
+
created_at, updated_at, expires_at, delivered_at, bind_mode, send_state)
|
|
74
|
+
VALUES (?, ?, ?, ?, ?, 'pending', ?, NULL, NULL, NULL, NULL, ?, ?, ?, NULL, ?, ?)
|
|
75
|
+
`).run(id, input.from.worktreeId, input.from.instanceId, input.to.worktreeId, input.to.instanceId, input.hops, now, now, input.expiresAt, bindMode, sendState);
|
|
73
76
|
return {
|
|
74
77
|
id,
|
|
75
78
|
from: { ...input.from },
|
|
@@ -82,40 +85,46 @@ function createRelay(db, input) {
|
|
|
82
85
|
updatedAt: now,
|
|
83
86
|
expiresAt: input.expiresAt,
|
|
84
87
|
deliveredAt: null,
|
|
88
|
+
bindMode,
|
|
89
|
+
sendState,
|
|
90
|
+
inputBoundaryAt: null,
|
|
91
|
+
boundaryKind: null,
|
|
92
|
+
turnOpenAtSend: null,
|
|
93
|
+
obsState: null,
|
|
94
|
+
holdReason: null,
|
|
95
|
+
overlap: null,
|
|
85
96
|
};
|
|
86
97
|
}
|
|
87
98
|
/** One relay by id, or null. */
|
|
88
99
|
function getRelayById(db, id) {
|
|
89
100
|
const row = db
|
|
90
|
-
.prepare(`SELECT ${RELAY_COLUMNS} FROM session_relays WHERE id = ?`)
|
|
101
|
+
.prepare(`SELECT ${relay_bind_db_1.RELAY_COLUMNS} FROM session_relays WHERE id = ?`)
|
|
91
102
|
.get(id);
|
|
92
|
-
return row ? mapRelay(row) : null;
|
|
103
|
+
return row ? (0, relay_bind_db_1.mapRelay)(row) : null;
|
|
93
104
|
}
|
|
94
|
-
/** Placeholders for an `IN (…)` over the open states. */
|
|
95
|
-
const OPEN_STATE_PLACEHOLDERS = types_1.OPEN_RELAY_STATES.map(() => '?').join(', ');
|
|
96
105
|
/** Every still-open relay this session must answer (it is the `to` end). */
|
|
97
106
|
function listOpenRelaysTo(db, endpoint) {
|
|
98
107
|
const rows = db
|
|
99
108
|
.prepare(`
|
|
100
|
-
SELECT ${RELAY_COLUMNS} FROM session_relays
|
|
109
|
+
SELECT ${relay_bind_db_1.RELAY_COLUMNS} FROM session_relays
|
|
101
110
|
WHERE to_worktree_id = ? AND to_instance_id = ?
|
|
102
|
-
AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
111
|
+
AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
103
112
|
ORDER BY created_at ASC
|
|
104
113
|
`)
|
|
105
114
|
.all(endpoint.worktreeId, endpoint.instanceId, ...types_1.OPEN_RELAY_STATES);
|
|
106
|
-
return rows.map(mapRelay);
|
|
115
|
+
return rows.map(relay_bind_db_1.mapRelay);
|
|
107
116
|
}
|
|
108
117
|
/** Every still-open relay this session is waiting on (it is the `from` end). */
|
|
109
118
|
function listOpenRelaysFrom(db, endpoint) {
|
|
110
119
|
const rows = db
|
|
111
120
|
.prepare(`
|
|
112
|
-
SELECT ${RELAY_COLUMNS} FROM session_relays
|
|
121
|
+
SELECT ${relay_bind_db_1.RELAY_COLUMNS} FROM session_relays
|
|
113
122
|
WHERE from_worktree_id = ? AND from_instance_id = ?
|
|
114
|
-
AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
123
|
+
AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
115
124
|
ORDER BY created_at ASC
|
|
116
125
|
`)
|
|
117
126
|
.all(endpoint.worktreeId, endpoint.instanceId, ...types_1.OPEN_RELAY_STATES);
|
|
118
|
-
return rows.map(mapRelay);
|
|
127
|
+
return rows.map(relay_bind_db_1.mapRelay);
|
|
119
128
|
}
|
|
120
129
|
/** Both halves of {@link SessionRelaySummary} in one call. */
|
|
121
130
|
function getSessionRelaySummary(db, endpoint) {
|
|
@@ -128,13 +137,13 @@ function getSessionRelaySummary(db, endpoint) {
|
|
|
128
137
|
function listOpenRelaysForWorktree(db, worktreeId) {
|
|
129
138
|
const rows = db
|
|
130
139
|
.prepare(`
|
|
131
|
-
SELECT ${RELAY_COLUMNS} FROM session_relays
|
|
140
|
+
SELECT ${relay_bind_db_1.RELAY_COLUMNS} FROM session_relays
|
|
132
141
|
WHERE (from_worktree_id = ? OR to_worktree_id = ?)
|
|
133
|
-
AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
142
|
+
AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
134
143
|
ORDER BY created_at ASC
|
|
135
144
|
`)
|
|
136
145
|
.all(worktreeId, worktreeId, ...types_1.OPEN_RELAY_STATES);
|
|
137
|
-
return rows.map(mapRelay);
|
|
146
|
+
return rows.map(relay_bind_db_1.mapRelay);
|
|
138
147
|
}
|
|
139
148
|
/**
|
|
140
149
|
* How many open relays already run from `from` to `to`.
|
|
@@ -149,58 +158,11 @@ function countOpenRelaysBetween(db, from, to) {
|
|
|
149
158
|
SELECT COUNT(*) AS n FROM session_relays
|
|
150
159
|
WHERE from_worktree_id = ? AND from_instance_id = ?
|
|
151
160
|
AND to_worktree_id = ? AND to_instance_id = ?
|
|
152
|
-
AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
161
|
+
AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
153
162
|
`)
|
|
154
163
|
.get(from.worktreeId, from.instanceId, to.worktreeId, to.instanceId, ...types_1.OPEN_RELAY_STATES);
|
|
155
164
|
return row.n;
|
|
156
165
|
}
|
|
157
|
-
/**
|
|
158
|
-
* Record a payload that has been decided and not yet delivered.
|
|
159
|
-
*
|
|
160
|
-
* Guarded on `pending_kind IS NULL`, which is what makes two producers finding
|
|
161
|
-
* the same finished turn cost ONE delivery: the second one loses the race and
|
|
162
|
-
* returns false rather than queueing a duplicate. The guard is released by
|
|
163
|
-
* {@link clearRelayPending} once the payload has actually gone out, so the same
|
|
164
|
-
* relay can carry a prompt notice now and a reply later.
|
|
165
|
-
*
|
|
166
|
-
* @returns Whether this call is the one that stashed it
|
|
167
|
-
*/
|
|
168
|
-
function stashRelayPayload(db, id, kind, body, now = Date.now()) {
|
|
169
|
-
const result = db
|
|
170
|
-
.prepare(`
|
|
171
|
-
UPDATE session_relays
|
|
172
|
-
SET pending_kind = ?, pending_body = ?, updated_at = ?
|
|
173
|
-
WHERE id = ? AND pending_kind IS NULL
|
|
174
|
-
AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
175
|
-
`)
|
|
176
|
-
.run(kind, body, now, id, ...types_1.OPEN_RELAY_STATES);
|
|
177
|
-
return result.changes === 1;
|
|
178
|
-
}
|
|
179
|
-
/** Every relay carrying an undelivered payload, oldest first. */
|
|
180
|
-
function listRelaysWithPendingPayload(db) {
|
|
181
|
-
const rows = db
|
|
182
|
-
.prepare(`
|
|
183
|
-
SELECT ${RELAY_COLUMNS} FROM session_relays
|
|
184
|
-
WHERE pending_kind IS NOT NULL
|
|
185
|
-
ORDER BY updated_at ASC
|
|
186
|
-
`)
|
|
187
|
-
.all();
|
|
188
|
-
return rows
|
|
189
|
-
.filter((row) => row.pending_body !== null && row.pending_kind !== null)
|
|
190
|
-
.map((row) => ({
|
|
191
|
-
relay: mapRelay(row),
|
|
192
|
-
kind: row.pending_kind,
|
|
193
|
-
body: row.pending_body,
|
|
194
|
-
}));
|
|
195
|
-
}
|
|
196
|
-
/** Drop an undelivered payload (it went out, or it was superseded). */
|
|
197
|
-
function clearRelayPending(db, id, now = Date.now()) {
|
|
198
|
-
db.prepare(`
|
|
199
|
-
UPDATE session_relays
|
|
200
|
-
SET pending_kind = NULL, pending_body = NULL, updated_at = ?
|
|
201
|
-
WHERE id = ?
|
|
202
|
-
`).run(now, id);
|
|
203
|
-
}
|
|
204
166
|
/**
|
|
205
167
|
* Close the relay as delivered, exactly once.
|
|
206
168
|
*
|
|
@@ -225,9 +187,9 @@ function markRelayDelivered(db, id, sentRequestId, now = Date.now()) {
|
|
|
225
187
|
.prepare(`
|
|
226
188
|
UPDATE session_relays
|
|
227
189
|
SET state = 'delivered', sent_request_id = ?, delivered_at = ?,
|
|
228
|
-
pending_kind = NULL, pending_body = NULL, updated_at = ?
|
|
190
|
+
pending_kind = NULL, pending_body = NULL, payload_id = NULL, updated_at = ?
|
|
229
191
|
WHERE id = ? AND sent_request_id IS NULL
|
|
230
|
-
AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
192
|
+
AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
231
193
|
`)
|
|
232
194
|
.run(sentRequestId, now, now, id, ...types_1.OPEN_RELAY_STATES);
|
|
233
195
|
return result.changes === 1;
|
|
@@ -278,7 +240,7 @@ function markRelayExpired(db, id, now = Date.now()) {
|
|
|
278
240
|
.prepare(`
|
|
279
241
|
UPDATE session_relays
|
|
280
242
|
SET state = 'expired', updated_at = ?
|
|
281
|
-
WHERE id = ? AND state IN (${OPEN_STATE_PLACEHOLDERS})
|
|
243
|
+
WHERE id = ? AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
282
244
|
`)
|
|
283
245
|
.run(now, id, ...types_1.OPEN_RELAY_STATES);
|
|
284
246
|
return result.changes === 1;
|
|
@@ -287,20 +249,21 @@ function markRelayExpired(db, id, now = Date.now()) {
|
|
|
287
249
|
function listExpiredOpenRelays(db, now = Date.now()) {
|
|
288
250
|
const rows = db
|
|
289
251
|
.prepare(`
|
|
290
|
-
SELECT ${RELAY_COLUMNS} FROM session_relays
|
|
291
|
-
WHERE state IN (${OPEN_STATE_PLACEHOLDERS}) AND expires_at <= ?
|
|
252
|
+
SELECT ${relay_bind_db_1.RELAY_COLUMNS} FROM session_relays
|
|
253
|
+
WHERE state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS}) AND expires_at <= ?
|
|
292
254
|
ORDER BY expires_at ASC
|
|
293
255
|
`)
|
|
294
256
|
.all(...types_1.OPEN_RELAY_STATES, now);
|
|
295
|
-
return rows.map(mapRelay);
|
|
257
|
+
return rows.map(relay_bind_db_1.mapRelay);
|
|
296
258
|
}
|
|
297
259
|
/** Withdraw a relay. Returns false when it was already closed or absent. */
|
|
298
260
|
function cancelRelay(db, id, now = Date.now()) {
|
|
299
261
|
const result = db
|
|
300
262
|
.prepare(`
|
|
301
263
|
UPDATE session_relays
|
|
302
|
-
SET state = 'cancelled', pending_kind = NULL, pending_body = NULL,
|
|
303
|
-
|
|
264
|
+
SET state = 'cancelled', pending_kind = NULL, pending_body = NULL, payload_id = NULL,
|
|
265
|
+
pending_reply = NULL, updated_at = ?
|
|
266
|
+
WHERE id = ? AND state IN (${relay_bind_db_1.OPEN_STATE_PLACEHOLDERS})
|
|
304
267
|
`)
|
|
305
268
|
.run(now, id, ...types_1.OPEN_RELAY_STATES);
|
|
306
269
|
return result.changes === 1;
|
|
@@ -25,8 +25,9 @@
|
|
|
25
25
|
* @module lib/detection/upstream-faults
|
|
26
26
|
*/
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.UPSTREAM_FAULT_TRUNCATION_MARKER = exports.UPSTREAM_FAULT_EXCERPT_MAX_BYTES = exports.UPSTREAM_FAULTS = void 0;
|
|
28
|
+
exports.UPSTREAM_FAULT_TRUNCATION_MARKER = exports.UPSTREAM_FAULT_EXCERPT_MAX_BYTES = exports.CODEX_ERROR_ROW_FAULT_IDS = exports.UPSTREAM_FAULTS = void 0;
|
|
29
29
|
exports.matchUpstreamFault = matchUpstreamFault;
|
|
30
|
+
exports.matchCodexErrorRowFault = matchCodexErrorRowFault;
|
|
30
31
|
exports.findUpstreamFault = findUpstreamFault;
|
|
31
32
|
const ansi_1 = require("./ansi");
|
|
32
33
|
const excerpt_1 = require("./excerpt");
|
|
@@ -71,8 +72,30 @@ exports.UPSTREAM_FAULTS = [
|
|
|
71
72
|
selfRetrying: false,
|
|
72
73
|
},
|
|
73
74
|
{ id: 'limit-reached', pattern: /\blimit reached\b/i, selfRetrying: false },
|
|
74
|
-
{
|
|
75
|
+
{
|
|
76
|
+
// Anchored to a line start (Issue #3946), like `model-capacity`: only the two
|
|
77
|
+
// shapes measured for the fault itself are accepted — claude's `⏺ API Error: …`
|
|
78
|
+
// row (Issue #1839) and a bare `API Error: …` at column 0. Unanchored, it
|
|
79
|
+
// matched a healthy codex reply that quoted `• API Error: 500` on an indented
|
|
80
|
+
// continuation line, and `ask` exited 11 — twice, because the quoting turn was
|
|
81
|
+
// still inside the 100-row window when the next turn ended. A codex `• ` row,
|
|
82
|
+
// an indented continuation and a `› ` input echo are not accepted.
|
|
83
|
+
//
|
|
84
|
+
// Known limit: a claude reply that itself begins with `⏺ API Error: …` is
|
|
85
|
+
// indistinguishable from the fault, because nothing here knows who wrote a row
|
|
86
|
+
// (reply, echo, tool error) — only its leading shape.
|
|
87
|
+
id: 'api-error',
|
|
88
|
+
pattern: /^(?:⏺ )?API Error(?::|\s+\d{3})/im,
|
|
89
|
+
selfRetrying: false,
|
|
90
|
+
},
|
|
75
91
|
];
|
|
92
|
+
/**
|
|
93
|
+
* The faults whose pattern is anchored to codex's own error row (`■ ` at column
|
|
94
|
+
* 0), and so the only ones safe to apply to a row outside `realtimeSnippet`
|
|
95
|
+
* (Issue #3946, {@link matchCodexErrorRowFault}). An unanchored pattern on such a
|
|
96
|
+
* row would read a quote in an old reply as a fault happening now.
|
|
97
|
+
*/
|
|
98
|
+
exports.CODEX_ERROR_ROW_FAULT_IDS = ['model-capacity'];
|
|
76
99
|
/**
|
|
77
100
|
* Bound on {@link UpstreamFaultMatch.matchedText}, in UTF-8 **bytes**.
|
|
78
101
|
*
|
|
@@ -103,12 +126,23 @@ function truncateExcerpt(text) {
|
|
|
103
126
|
* sequences on a live pane.
|
|
104
127
|
*/
|
|
105
128
|
function matchUpstreamFault(frame) {
|
|
129
|
+
return matchFaults(frame, exports.UPSTREAM_FAULTS);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* {@link matchUpstreamFault} restricted to {@link CODEX_ERROR_ROW_FAULT_IDS}
|
|
133
|
+
* (Issue #3946): for the one codex transcript row read from outside the window,
|
|
134
|
+
* where a quote must not count.
|
|
135
|
+
*/
|
|
136
|
+
function matchCodexErrorRowFault(row) {
|
|
137
|
+
return matchFaults(row, exports.UPSTREAM_FAULTS.filter((fault) => exports.CODEX_ERROR_ROW_FAULT_IDS.includes(fault.id)));
|
|
138
|
+
}
|
|
139
|
+
function matchFaults(frame, faults) {
|
|
106
140
|
const clean = (0, ansi_1.stripAnsi)(frame);
|
|
107
|
-
for (const fault of
|
|
141
|
+
for (const fault of faults) {
|
|
108
142
|
const match = fault.pattern.exec(clean);
|
|
109
|
-
// The patterns are stateless (no /g;
|
|
110
|
-
// line start with /m), so `exec` cannot carry a lastIndex
|
|
111
|
-
// but reading `index` requires exec regardless.
|
|
143
|
+
// The patterns are stateless (no /g; `model-capacity` and `api-error` are
|
|
144
|
+
// anchored to a line start with /m), so `exec` cannot carry a lastIndex
|
|
145
|
+
// between calls — but reading `index` requires exec regardless.
|
|
112
146
|
if (!match)
|
|
113
147
|
continue;
|
|
114
148
|
const lineStart = clean.lastIndexOf('\n', match.index) + 1;
|
|
@@ -478,7 +478,7 @@ function promptSelectionBody(selection) {
|
|
|
478
478
|
* @param sessionId - `ses_…`, the session the message belongs to
|
|
479
479
|
* @param messageId - `msg_…`, from {@link newOpencodeMessageId}
|
|
480
480
|
* @param parts - The message body; at least one part
|
|
481
|
-
* @returns
|
|
481
|
+
* @returns How the POST ended ({@link OpencodePromptDispatch})
|
|
482
482
|
*/
|
|
483
483
|
async function sendOpencodePrompt(port, sessionId, messageId, parts, selection) {
|
|
484
484
|
const url = `${opencodeBaseUrl(port)}/session/${encodeURIComponent(sessionId)}/prompt_async`;
|
|
@@ -493,18 +493,24 @@ async function sendOpencodePrompt(port, sessionId, messageId, parts, selection)
|
|
|
493
493
|
}),
|
|
494
494
|
signal: AbortSignal.timeout(exports.OPENCODE_REQUEST_TIMEOUT_MS),
|
|
495
495
|
});
|
|
496
|
-
if (response.status
|
|
497
|
-
|
|
498
|
-
|
|
496
|
+
if (response.status === 204)
|
|
497
|
+
return 'accepted';
|
|
498
|
+
// Issue #3992: another 2xx may still have created the message (a JSON 200 /
|
|
499
|
+
// 201), so it stays unknown — except the web UI's SPA shell an unknown route
|
|
500
|
+
// answers (`200 text/html`, #1931), which never took the message.
|
|
501
|
+
if (response.status >= 200 && response.status < 300 && !hasContentType(response, 'text/html')) {
|
|
502
|
+
logger.warn('opencode-prompt-unexpected-success', { port, sessionId, status: response.status });
|
|
503
|
+
return 'unknown';
|
|
499
504
|
}
|
|
500
|
-
|
|
505
|
+
logger.warn('opencode-prompt-rejected', { port, sessionId, status: response.status });
|
|
506
|
+
return 'rejected';
|
|
501
507
|
}
|
|
502
508
|
catch (error) {
|
|
503
509
|
logger.debug('opencode-request-failed', {
|
|
504
510
|
url,
|
|
505
511
|
error: error instanceof Error ? error.message : String(error),
|
|
506
512
|
});
|
|
507
|
-
return
|
|
513
|
+
return 'unknown';
|
|
508
514
|
}
|
|
509
515
|
}
|
|
510
516
|
/**
|
|
@@ -62,7 +62,6 @@ const push_1 = require("../../lib/push");
|
|
|
62
62
|
const prompt_push_gate_1 = require("../../lib/push/prompt-push-gate");
|
|
63
63
|
// Issue #2000: deep path for the same reason as the two imports above.
|
|
64
64
|
const failure_push_notifier_1 = require("../../lib/push/failure-push-notifier");
|
|
65
|
-
const upstream_faults_1 = require("../../lib/detection/upstream-faults");
|
|
66
65
|
const realtime_snippet_1 = require("../../lib/realtime-snippet");
|
|
67
66
|
const waiting_push_notifier_1 = require("../../lib/push/waiting-push-notifier");
|
|
68
67
|
const waiting_episode_binding_1 = require("../../lib/session/waiting-episode-binding");
|
|
@@ -88,9 +87,10 @@ const response_checker_blank_response_1 = require("./response-checker-blank-resp
|
|
|
88
87
|
* anything, so the level can be handed over on every poll.
|
|
89
88
|
*/
|
|
90
89
|
function observeUpstreamFaultForPush(worktreeId, cliToolId, instanceId, output) {
|
|
91
|
-
// The rows `current-output-builder`
|
|
92
|
-
//
|
|
93
|
-
//
|
|
90
|
+
// The rows `current-output-builder` judges `upstreamFault` on (#1839: the rows
|
|
91
|
+
// it publishes as `realtimeSnippet`; #3946: plus codex's last transcript row
|
|
92
|
+
// above them on a split screen), read through the same entry
|
|
93
|
+
// (`matchPaneUpstreamFault`) rather than a copy of its window. The reason is #1839's: the wider capture keeps a banner from an
|
|
94
94
|
// hour ago in scope, and "is this happening now" is the only question worth
|
|
95
95
|
// ringing a phone about. Sharing the cut also means the notification and the
|
|
96
96
|
// `upstreamFault` an operator reads in `capture --json` judge the same rows —
|
|
@@ -98,7 +98,9 @@ function observeUpstreamFaultForPush(worktreeId, cliToolId, instanceId, output)
|
|
|
98
98
|
// unverifiable. Issue #3936: the plain last 100 rows (#2000) drifted from the
|
|
99
99
|
// snippet when #2768 anchored it to the last row with content, so an inline
|
|
100
100
|
// codex pane showed `model-capacity` in the capture and never rang.
|
|
101
|
-
|
|
101
|
+
// Issue #3946: one entry with current-output, which also reads codex's last
|
|
102
|
+
// transcript row above the window on a split screen.
|
|
103
|
+
const match = (0, realtime_snippet_1.matchPaneUpstreamFault)(output.split('\n'), cliToolId);
|
|
102
104
|
// Fire-and-forget, like every other push call in this file: the poller must
|
|
103
105
|
// not slow down or break because a notification could not be delivered.
|
|
104
106
|
void (0, failure_push_notifier_1.notifyUpstreamFaultPush)({
|