commandmate 0.44.2 → 0.44.3
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 +149 -149
- package/.next/app-path-routes-manifest.json +21 -21
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +12 -12
- package/.next/react-loadable-manifest.json +0 -6
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route.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.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.js +2 -2
- 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.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.js +1 -1
- package/.next/server/app/api/daily-summary/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/daily-summary/status/route.js.nft.json +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.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.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.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 +2 -2
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route.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/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.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.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.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.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route.js +2 -2
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route.js +2 -2
- package/.next/server/app/api/templates/route_client-reference-manifest.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_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_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 +3 -3
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js.nft.json +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_client-reference-manifest.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 +2 -2
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js.nft.json +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.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_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_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_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_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_client-reference-manifest.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_client-reference-manifest.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_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 +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_client-reference-manifest.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_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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route.js.nft.json +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]/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 +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js.nft.json +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 +2 -2
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js.nft.json +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 +3 -3
- package/.next/server/app/api/worktrees/[id]/schedules/route.js.nft.json +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 +1 -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 +2 -2
- 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.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.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_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 +2 -2
- 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_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_client-reference-manifest.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_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 +21 -21
- package/.next/server/chunks/1191.js +2 -2
- package/.next/server/chunks/1210.js +1 -1
- package/.next/server/chunks/1559.js +2 -0
- package/.next/server/chunks/1789.js +1 -0
- 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/2460.js +1 -1
- package/.next/server/chunks/2710.js +1 -1
- package/.next/server/chunks/2908.js +1 -1
- package/.next/server/chunks/2980.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3480.js +1 -1
- package/.next/server/chunks/3718.js +1 -1
- package/.next/server/chunks/4207.js +2 -2
- package/.next/server/chunks/450.js +1 -1
- package/.next/server/chunks/4672.js +5 -0
- package/.next/server/chunks/{9353.js → 4718.js} +2 -2
- package/.next/server/chunks/4837.js +14 -0
- package/.next/server/chunks/5048.js +1 -1
- package/.next/server/chunks/5209.js +1 -0
- package/.next/server/chunks/5595.js +1 -1
- package/.next/server/chunks/5625.js +25 -0
- package/.next/server/chunks/611.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/6793.js +3 -3
- package/.next/server/chunks/7491.js +2 -2
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/850.js +1 -1
- package/.next/server/chunks/8728.js +3 -3
- package/.next/server/chunks/8791.js +1 -1
- package/.next/server/chunks/8800.js +1 -1
- package/.next/server/chunks/8918.js +7 -7
- package/.next/server/chunks/9130.js +1 -1
- package/.next/server/chunks/9390.js +2 -2
- package/.next/server/chunks/9584.js +1 -1
- package/.next/server/chunks/9627.js +6 -6
- package/.next/server/chunks/9731.js +3 -3
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{1642-fb2e176aaadbd137.js → 1642-767aed8e7c61ef7f.js} +1 -1
- package/.next/static/chunks/{2407-051f6f84226a9f2c.js → 2407-06d35bb1aa02de80.js} +1 -1
- package/.next/static/chunks/{2619-04bc32f026a0d946.js → 2619-a305ad4810f1393a.js} +1 -1
- package/.next/static/chunks/4727-5d695d71e3fdf97b.js +1 -0
- package/.next/static/chunks/{8165-3853772f6ae1299b.js → 8165-3525fb42f1b4976e.js} +1 -1
- package/.next/static/chunks/app/{layout-9da1ab602bcb3051.js → layout-0d1750b833f5cc3e.js} +1 -1
- package/.next/static/chunks/app/sessions/page-2af68c63211c751f.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-e36898c3a80e7302.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/terminal/{page-373ea37b16d930c7.js → page-c601f3b3ece6557e.js} +1 -1
- package/.next/static/css/057f64a65726c439.css +1 -0
- package/.next/trace +13 -13
- package/dist/cli/commands/ask.d.ts.map +1 -1
- package/dist/cli/commands/ask.js +120 -119
- package/dist/cli/commands/attach.d.ts +94 -0
- package/dist/cli/commands/attach.d.ts.map +1 -1
- package/dist/cli/commands/attach.js +145 -7
- package/dist/cli/commands/auto-yes.js +1 -1
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +3 -5
- package/dist/cli/commands/command-target.d.ts +23 -0
- package/dist/cli/commands/command-target.d.ts.map +1 -0
- package/dist/cli/commands/command-target.js +25 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +41 -2
- package/dist/cli/commands/message-dispatch.d.ts +36 -0
- package/dist/cli/commands/message-dispatch.d.ts.map +1 -0
- package/dist/cli/commands/message-dispatch.js +63 -0
- package/dist/cli/commands/reply.d.ts.map +1 -1
- package/dist/cli/commands/reply.js +2 -5
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +3 -6
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +149 -146
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +589 -431
- package/dist/cli/types/api-responses.d.ts +159 -27
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/api-responses.js +4 -2
- package/dist/cli/utils/api-client.d.ts +25 -5
- package/dist/cli/utils/api-client.d.ts.map +1 -1
- package/dist/cli/utils/api-client.js +87 -55
- package/dist/cli/utils/server-url.d.ts +1 -0
- package/dist/cli/utils/server-url.d.ts.map +1 -1
- package/dist/cli/utils/server-url.js +7 -0
- package/dist/config/uat-isolation.d.ts +140 -0
- package/dist/config/uat-isolation.d.ts.map +1 -0
- package/dist/config/uat-isolation.js +246 -0
- package/dist/lib/global-state.d.ts +12 -0
- package/dist/lib/global-state.d.ts.map +1 -0
- package/dist/lib/global-state.js +16 -0
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts +33 -0
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -0
- package/dist/lib/polling/auto-yes-suppression-reason.js +2 -0
- package/dist/lib/session/prompt-view.d.ts +26 -3
- package/dist/lib/session/prompt-view.d.ts.map +1 -1
- package/dist/lib/session/prompt-view.js +26 -3
- package/dist/lib/session/status-evidence-type.d.ts +16 -0
- package/dist/lib/session/status-evidence-type.d.ts.map +1 -0
- package/dist/lib/session/status-evidence-type.js +2 -0
- package/dist/lib/tmux/legacy-session-alias.d.ts.map +1 -1
- package/dist/lib/tmux/legacy-session-alias.js +2 -1
- package/dist/server/locales/en/worktree.json +3 -1
- package/dist/server/locales/ja/worktree.json +3 -1
- package/dist/server/src/cli/types/api-responses.js +4 -2
- package/dist/server/src/config/cli-tool-timing-config.js +1 -6
- package/dist/server/src/config/uat-isolation.js +246 -0
- package/dist/server/src/lib/assistant-response-saver.js +62 -3
- package/dist/server/src/lib/auto-yes-lifecycle.js +6 -0
- package/dist/server/src/lib/auto-yes-poller.js +450 -160
- package/dist/server/src/lib/auto-yes-state.js +2 -2
- package/dist/server/src/lib/cli-tools/antigravity.js +38 -79
- package/dist/server/src/lib/cli-tools/base.js +151 -0
- package/dist/server/src/lib/cli-tools/codex.js +44 -80
- package/dist/server/src/lib/cli-tools/command-code.js +24 -56
- package/dist/server/src/lib/cli-tools/copilot.js +25 -67
- package/dist/server/src/lib/cli-tools/direct-input.js +8 -0
- package/dist/server/src/lib/cli-tools/gemini.js +23 -73
- package/dist/server/src/lib/cli-tools/opencode-pane-width.js +53 -0
- package/dist/server/src/lib/cli-tools/opencode-v2.js +9 -7
- package/dist/server/src/lib/cli-tools/opencode.js +21 -85
- package/dist/server/src/lib/cli-tools/submit-verified-sender.js +127 -4
- package/dist/server/src/lib/cli-tools/vibe-local.js +21 -66
- package/dist/server/src/lib/detection/cli-patterns.js +374 -3065
- package/dist/server/src/lib/detection/idle-evidence-observation.js +2 -2
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +7 -32
- package/dist/server/src/lib/detection/prompt-detector.js +2 -35
- package/dist/server/src/lib/detection/selection-shape-patterns.js +69 -0
- package/dist/server/src/lib/detection/selection-shape.js +32 -520
- package/dist/server/src/lib/detection/shared/pasted-text.js +41 -0
- package/dist/server/src/lib/detection/shared/shell-pane-command.js +16 -0
- package/dist/server/src/lib/detection/shared/strip-box-drawing.js +25 -0
- package/dist/server/src/lib/detection/tools/antigravity/detect.js +5 -29
- package/dist/server/src/lib/detection/tools/antigravity/dialog.js +2 -15
- package/dist/server/src/lib/detection/tools/antigravity/patterns.js +286 -0
- package/dist/server/src/lib/detection/tools/claude/detect.js +3 -14
- package/dist/server/src/lib/detection/tools/claude/patterns.js +264 -4
- package/dist/server/src/lib/detection/tools/claude/prompt.js +2 -10
- package/dist/server/src/lib/detection/tools/codex/detect.js +46 -85
- package/dist/server/src/lib/detection/tools/codex/live-region.js +33 -2
- package/dist/server/src/lib/detection/tools/codex/patterns.js +855 -0
- package/dist/server/src/lib/detection/tools/codex/prompt.js +2 -10
- package/dist/server/src/lib/detection/tools/command-code/detect.js +8 -50
- package/dist/server/src/lib/detection/tools/command-code/dialog.js +2 -18
- package/dist/server/src/lib/detection/tools/command-code/patterns.js +234 -0
- package/dist/server/src/lib/detection/tools/command-code/selection-shape.js +461 -0
- package/dist/server/src/lib/detection/tools/context-above.js +20 -0
- package/dist/server/src/lib/detection/tools/copilot/detect.js +10 -35
- package/dist/server/src/lib/detection/tools/copilot/patterns.js +640 -0
- package/dist/server/src/lib/detection/tools/copilot/prompt.js +2 -10
- package/dist/server/src/lib/detection/tools/gemini/patterns.js +29 -0
- package/dist/server/src/lib/detection/tools/live-region-specs.js +1 -1
- package/dist/server/src/lib/detection/tools/opencode/detect.js +8 -49
- package/dist/server/src/lib/detection/tools/opencode/patterns.js +508 -0
- package/dist/server/src/lib/detection/tools/opencode-v2/detect.js +7 -42
- package/dist/server/src/lib/detection/tools/opencode-v2/patterns.js +63 -0
- package/dist/server/src/lib/detection/tools/run-detection.js +6 -47
- package/dist/server/src/lib/detection/tools/verdicts.js +59 -0
- package/dist/server/src/lib/detection/tools/vibe-local/patterns.js +20 -0
- package/dist/server/src/lib/detection/truncate-raw-content.js +38 -0
- package/dist/server/src/lib/detection/turn-abandoned.js +66 -0
- package/dist/server/src/lib/detection/unclassified-frame-tracker.js +2 -2
- package/dist/server/src/lib/global-state.js +16 -0
- package/dist/server/src/lib/hooks/agent-session-telemetry.js +4 -6
- package/dist/server/src/lib/hooks/permission-decision-state.js +2 -2
- package/dist/server/src/lib/hooks/sources/antigravity/history.js +11 -76
- package/dist/server/src/lib/hooks/sources/antigravity/hooks-config.js +63 -1
- package/dist/server/src/lib/hooks/sources/antigravity/source.js +16 -0
- package/dist/server/src/lib/hooks/sources/antigravity/transcript.js +3 -12
- package/dist/server/src/lib/hooks/sources/claude/history.js +17 -156
- package/dist/server/src/lib/hooks/sources/claude/queued-notice.js +53 -0
- package/dist/server/src/lib/hooks/sources/claude/source.js +33 -3
- package/dist/server/src/lib/hooks/sources/claude/transcript.js +3 -13
- package/dist/server/src/lib/hooks/sources/codex/history.js +11 -74
- package/dist/server/src/lib/hooks/sources/codex/hooks-config.js +147 -11
- package/dist/server/src/lib/hooks/sources/codex/relay-install.js +64 -21
- package/dist/server/src/lib/hooks/sources/codex/transcript.js +5 -15
- package/dist/server/src/lib/hooks/sources/command-code/history.js +20 -121
- package/dist/server/src/lib/hooks/sources/command-code/transcript.js +3 -13
- package/dist/server/src/lib/hooks/sources/copilot/hook-settings.js +161 -31
- package/dist/server/src/lib/hooks/sources/define-source.js +40 -55
- package/dist/server/src/lib/hooks/sources/event-mapper.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode/diff.js +3 -4
- package/dist/server/src/lib/hooks/sources/opencode/history.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode/launch-settings.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode/payloads.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode/ports.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode/subscription.js +4 -3
- package/dist/server/src/lib/hooks/sources/opencode/transcript.js +3 -16
- package/dist/server/src/lib/hooks/sources/opencode-v2/history.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode-v2/mappers.js +5 -4
- package/dist/server/src/lib/hooks/sources/opencode-v2/ports.js +2 -1
- package/dist/server/src/lib/hooks/sources/opencode-v2/subscription.js +3 -7
- package/dist/server/src/lib/hooks/sources/opencode-v2/usage.js +2 -1
- package/dist/server/src/lib/hooks/sources/pending-decisions.js +2 -1
- package/dist/server/src/lib/hooks/sources/registry.js +3 -2
- package/dist/server/src/lib/hooks/sources/transcript-history.js +262 -0
- package/dist/server/src/lib/hooks/sources/turn-body.js +31 -0
- package/dist/server/src/lib/hooks/tool-input-normalization-state.js +2 -2
- package/dist/server/src/lib/polling/antigravity-permission-receipts.js +2 -2
- package/dist/server/src/lib/polling/auto-yes-enter-fallback-state.js +142 -0
- package/dist/server/src/lib/polling/auto-yes-enter-fallback.js +187 -0
- package/dist/server/src/lib/polling/auto-yes-resolver.js +9 -3
- package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +2 -0
- package/dist/server/src/lib/polling/auto-yes-suppression-state.js +2 -2
- package/dist/server/src/lib/polling/pending-scraped-response.js +190 -0
- package/dist/server/src/lib/polling/prompt-dedup-state.js +2 -2
- package/dist/server/src/lib/polling/prompt-dedup.js +2 -2
- package/dist/server/src/lib/polling/response-checker-dialog-gate.js +95 -0
- package/dist/server/src/lib/polling/response-checker-extraction-result.js +50 -0
- package/dist/server/src/lib/polling/response-checker-extraction-steps.js +670 -0
- package/dist/server/src/lib/polling/response-checker.js +641 -1142
- package/dist/server/src/lib/polling/response-dedup.js +3 -4
- package/dist/server/src/lib/polling/response-poller-constants.js +17 -0
- package/dist/server/src/lib/polling/response-poller-core.js +54 -20
- package/dist/server/src/lib/polling/startup-screen.js +142 -0
- package/dist/server/src/lib/polling/structured-history-gate.js +3 -2
- package/dist/server/src/lib/prompt-answer-semantic.js +178 -0
- package/dist/server/src/lib/prompt-answer-sender.js +5 -4
- package/dist/server/src/lib/push/failure-episode-state.js +2 -2
- package/dist/server/src/lib/push/notification-dedup.js +3 -4
- package/dist/server/src/lib/push/prompt-card-state.js +2 -2
- package/dist/server/src/lib/push/waiting-push-notifier.js +3 -4
- package/dist/server/src/lib/realtime/publisher-registry.js +3 -2
- package/dist/server/src/lib/realtime/terminal-broadcast.js +38 -5
- package/dist/server/src/lib/realtime/terminal-session-ownership.js +45 -0
- package/dist/server/src/lib/relay/relay-delivery.js +3 -2
- package/dist/server/src/lib/relay/relay-readiness.js +38 -1
- package/dist/server/src/lib/response-cleaner.js +24 -1
- package/dist/server/src/lib/response-extractor.js +16 -0
- package/dist/server/src/lib/schedule-manager.js +8 -10
- package/dist/server/src/lib/session/agent-event-ask-user-question.js +168 -0
- package/dist/server/src/lib/session/agent-event-awaiting-instruction.js +104 -0
- package/dist/server/src/lib/session/agent-event-dedup.js +539 -0
- package/dist/server/src/lib/session/agent-event-model.js +562 -0
- package/dist/server/src/lib/session/agent-event-record.js +10 -0
- package/dist/server/src/lib/session/agent-event-state.js +106 -1854
- package/dist/server/src/lib/session/agent-event-structured-state.js +109 -0
- package/dist/server/src/lib/session/agent-event-turn.js +811 -0
- package/dist/server/src/lib/session/agent-session-lifecycle.js +11 -2
- package/dist/server/src/lib/session/chat-turn-progress.js +322 -0
- package/dist/server/src/lib/session/claude-executor.js +45 -5
- package/dist/server/src/lib/session/claude-session.js +21 -65
- package/dist/server/src/lib/session/cli-session.js +17 -0
- package/dist/server/src/lib/session/current-output-builder.js +450 -1103
- package/dist/server/src/lib/session/current-output-history-writers.js +255 -0
- package/dist/server/src/lib/session/current-output-types.js +9 -0
- package/dist/server/src/lib/session/detection-divergence.js +55 -0
- package/dist/server/src/lib/session/global-session-constants.js +2 -13
- package/dist/server/src/lib/session/hook-turn-hold.js +102 -0
- package/dist/server/src/lib/session/layer-disagreement.js +2 -2
- package/dist/server/src/lib/session/opencode-session-store.js +2 -1
- package/dist/server/src/lib/session/prompt-view.js +26 -3
- package/dist/server/src/lib/session/prompt-waiting-composition.js +3 -2
- package/dist/server/src/lib/session/provisional-turn.js +3 -1
- package/dist/server/src/lib/session/send-user-message.js +1 -1
- package/dist/server/src/lib/session/session-starting-state.js +4 -6
- package/dist/server/src/lib/session/status-evidence-type.js +2 -0
- package/dist/server/src/lib/session/status-evidence.js +2 -2
- package/dist/server/src/lib/session/structured-status-merge.js +335 -0
- package/dist/server/src/lib/session/waiting-episode-state.js +3 -4
- package/dist/server/src/lib/session-cleanup.js +1 -5
- package/dist/server/src/lib/skills/install-plan.js +2 -1
- package/dist/server/src/lib/skills/snapshot-store.js +2 -2
- package/dist/server/src/lib/skills/uninstall-plan.js +2 -2
- package/dist/server/src/lib/timer-manager.js +6 -8
- package/dist/server/src/lib/tmux/geometry-delegation.js +3 -4
- package/dist/server/src/lib/tmux/legacy-session-alias.js +2 -1
- package/dist/server/src/lib/tmux/session-hooks.js +2 -1
- package/dist/server/src/lib/tmux/session-status-options.js +3 -3
- package/dist/server/src/lib/tmux/tmux-capture-cache.js +3 -2
- package/dist/server/src/lib/tmux/tmux.js +33 -59
- package/dist/server/src/lib/tui-accumulator.js +2 -2
- package/dist/server/src/lib/version-checker.js +6 -6
- package/dist/server/src/lib/ws-server.js +47 -11
- package/docs/en/user-guide/webapp-guide.md +27 -3
- package/package.json +1 -1
- package/release-notes/0.44.3.json +82 -0
- package/scripts/hooks/cmate-agent-event.sh +18 -0
- package/.next/server/chunks/1068.js +0 -1
- package/.next/server/chunks/4372.js +0 -5
- package/.next/server/chunks/6474.js +0 -14
- package/.next/server/chunks/967.js +0 -1
- package/.next/server/chunks/9798.js +0 -2
- package/.next/server/chunks/9882.js +0 -25
- package/.next/static/chunks/591-539fec878c9dec5e.js +0 -1
- package/.next/static/chunks/app/sessions/page-049e06335187aa91.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-2a81397e60f17e63.js +0 -1
- package/.next/static/css/38070d879efa1371.css +0 -1
- package/dist/server/src/lib/cli-tools/index.js +0 -41
- package/dist/server/src/lib/polling/global-session-poller.js +0 -140
- /package/.next/static/{QlCqLjorauDDBXPa-C7TK → tWwHQzmvc-rv9KKUtDWfQ}/_buildManifest.js +0 -0
- /package/.next/static/{QlCqLjorauDDBXPa-C7TK → tWwHQzmvc-rv9KKUtDWfQ}/_ssgManifest.js +0 -0
|
@@ -44,6 +44,41 @@ const INERT_SUBSCRIPTION = {
|
|
|
44
44
|
close: async () => { },
|
|
45
45
|
liveness: { state: 'unknown' },
|
|
46
46
|
};
|
|
47
|
+
/**
|
|
48
|
+
* The event normalization both factories share: their two bodies were identical.
|
|
49
|
+
*/
|
|
50
|
+
function normalizeSpecEvent(spec, nativeEventNameFields, raw) {
|
|
51
|
+
const receivedAt = raw.receivedAt ?? Date.now();
|
|
52
|
+
const nativeEventName = nativeEventNameFields.length > 0
|
|
53
|
+
? (0, event_mapper_1.readFirstStringField)(raw.payload, nativeEventNameFields)
|
|
54
|
+
: null;
|
|
55
|
+
// An event word the caller already resolved wins over the payload. This
|
|
56
|
+
// is the only channel antigravity has, and it is also how the relay
|
|
57
|
+
// script's `--event` reaches here for every other tool.
|
|
58
|
+
if (raw.event != null && (0, agent_event_types_1.isAgentEventType)(raw.event)) {
|
|
59
|
+
return (0, event_mapper_1.buildNormalizedEvent)({ event: raw.event }, raw.payload, receivedAt, {
|
|
60
|
+
detail: spec.extractDetail,
|
|
61
|
+
conversationId: spec.conversationIdFields,
|
|
62
|
+
toolCallId: spec.toolCallIdFields,
|
|
63
|
+
modelFields: spec.modelFields,
|
|
64
|
+
extractModel: spec.extractModel,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
const mapping = (0, event_mapper_1.runEventMappers)(spec.mappers, nativeEventName, raw.payload);
|
|
68
|
+
if (!mapping) {
|
|
69
|
+
// C8. Not an error: a tool emits more events than CommandMate has words
|
|
70
|
+
// for, and it grows more of them between releases.
|
|
71
|
+
(0, event_mapper_1.recordUnknownEvent)(spec.cliToolId, nativeEventName);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
return (0, event_mapper_1.buildNormalizedEvent)(mapping, raw.payload, receivedAt, {
|
|
75
|
+
detail: spec.extractDetail,
|
|
76
|
+
conversationId: spec.conversationIdFields,
|
|
77
|
+
toolCallId: spec.toolCallIdFields,
|
|
78
|
+
modelFields: spec.modelFields,
|
|
79
|
+
extractModel: spec.extractModel,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
47
82
|
/**
|
|
48
83
|
* Build a push (hook) source from its differences.
|
|
49
84
|
*
|
|
@@ -58,36 +93,7 @@ function definePushHookSource(spec) {
|
|
|
58
93
|
noDecision: spec.noDecision,
|
|
59
94
|
capabilities: spec.capabilities,
|
|
60
95
|
normalizeEvent(raw) {
|
|
61
|
-
|
|
62
|
-
const nativeEventName = nativeEventNameFields.length > 0
|
|
63
|
-
? (0, event_mapper_1.readFirstStringField)(raw.payload, nativeEventNameFields)
|
|
64
|
-
: null;
|
|
65
|
-
// An event word the caller already resolved wins over the payload. This
|
|
66
|
-
// is the only channel antigravity has, and it is also how the relay
|
|
67
|
-
// script's `--event` reaches here for every other tool.
|
|
68
|
-
if (raw.event != null && (0, agent_event_types_1.isAgentEventType)(raw.event)) {
|
|
69
|
-
return (0, event_mapper_1.buildNormalizedEvent)({ event: raw.event }, raw.payload, receivedAt, {
|
|
70
|
-
detail: spec.extractDetail,
|
|
71
|
-
conversationId: spec.conversationIdFields,
|
|
72
|
-
toolCallId: spec.toolCallIdFields,
|
|
73
|
-
modelFields: spec.modelFields,
|
|
74
|
-
extractModel: spec.extractModel,
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
const mapping = (0, event_mapper_1.runEventMappers)(spec.mappers, nativeEventName, raw.payload);
|
|
78
|
-
if (!mapping) {
|
|
79
|
-
// C8. Not an error: a tool emits more events than CommandMate has words
|
|
80
|
-
// for, and it grows more of them between releases.
|
|
81
|
-
(0, event_mapper_1.recordUnknownEvent)(spec.cliToolId, nativeEventName);
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
return (0, event_mapper_1.buildNormalizedEvent)(mapping, raw.payload, receivedAt, {
|
|
85
|
-
detail: spec.extractDetail,
|
|
86
|
-
conversationId: spec.conversationIdFields,
|
|
87
|
-
toolCallId: spec.toolCallIdFields,
|
|
88
|
-
modelFields: spec.modelFields,
|
|
89
|
-
extractModel: spec.extractModel,
|
|
90
|
-
});
|
|
96
|
+
return normalizeSpecEvent(spec, nativeEventNameFields, raw);
|
|
91
97
|
},
|
|
92
98
|
eventIdentityOf(payload) {
|
|
93
99
|
// Issue #1899. Absent by default, because a push tool whose capability
|
|
@@ -96,6 +102,9 @@ function definePushHookSource(spec) {
|
|
|
96
102
|
// applied to it.
|
|
97
103
|
return spec.extractEventIdentity?.(payload) ?? null;
|
|
98
104
|
},
|
|
105
|
+
promptJoinsOpenTurn(payload) {
|
|
106
|
+
return spec.promptJoinsOpenTurn?.(payload) ?? false;
|
|
107
|
+
},
|
|
99
108
|
parsePermissionRequest: spec.parsePermissionRequest,
|
|
100
109
|
parseQuestion: spec.parseQuestion,
|
|
101
110
|
encodeVerdict(verdict) {
|
|
@@ -149,31 +158,7 @@ function definePullEventSource(spec) {
|
|
|
149
158
|
noDecision: spec.noDecision,
|
|
150
159
|
capabilities: spec.capabilities,
|
|
151
160
|
normalizeEvent(raw) {
|
|
152
|
-
|
|
153
|
-
const nativeEventName = nativeEventNameFields.length > 0
|
|
154
|
-
? (0, event_mapper_1.readFirstStringField)(raw.payload, nativeEventNameFields)
|
|
155
|
-
: null;
|
|
156
|
-
if (raw.event != null && (0, agent_event_types_1.isAgentEventType)(raw.event)) {
|
|
157
|
-
return (0, event_mapper_1.buildNormalizedEvent)({ event: raw.event }, raw.payload, receivedAt, {
|
|
158
|
-
detail: spec.extractDetail,
|
|
159
|
-
conversationId: spec.conversationIdFields,
|
|
160
|
-
toolCallId: spec.toolCallIdFields,
|
|
161
|
-
modelFields: spec.modelFields,
|
|
162
|
-
extractModel: spec.extractModel,
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
const mapping = (0, event_mapper_1.runEventMappers)(spec.mappers, nativeEventName, raw.payload);
|
|
166
|
-
if (!mapping) {
|
|
167
|
-
(0, event_mapper_1.recordUnknownEvent)(spec.cliToolId, nativeEventName);
|
|
168
|
-
return null;
|
|
169
|
-
}
|
|
170
|
-
return (0, event_mapper_1.buildNormalizedEvent)(mapping, raw.payload, receivedAt, {
|
|
171
|
-
detail: spec.extractDetail,
|
|
172
|
-
conversationId: spec.conversationIdFields,
|
|
173
|
-
toolCallId: spec.toolCallIdFields,
|
|
174
|
-
modelFields: spec.modelFields,
|
|
175
|
-
extractModel: spec.extractModel,
|
|
176
|
-
});
|
|
161
|
+
return normalizeSpecEvent(spec, nativeEventNameFields, raw);
|
|
177
162
|
},
|
|
178
163
|
eventIdentityOf(payload) {
|
|
179
164
|
// Issue #1899. See the push factory's copy — the difference is that a
|
|
@@ -39,6 +39,7 @@ exports.isPlainObject = isPlainObject;
|
|
|
39
39
|
exports.readNestedString = readNestedString;
|
|
40
40
|
exports.buildNormalizedEvent = buildNormalizedEvent;
|
|
41
41
|
const agent_event_types_1 = require("../../../lib/hooks/agent-event-types");
|
|
42
|
+
const global_state_1 = require("../../global-state");
|
|
42
43
|
/**
|
|
43
44
|
* The commonest rule: this native name is always that word.
|
|
44
45
|
*
|
|
@@ -69,7 +70,7 @@ function runEventMappers(mappers, nativeEventName, payload) {
|
|
|
69
70
|
}
|
|
70
71
|
/** Cap on remembered distinct names, so an unbounded vocabulary cannot grow this. */
|
|
71
72
|
exports.MAX_UNKNOWN_EVENT_NAMES = 32;
|
|
72
|
-
const unknownEvents = (
|
|
73
|
+
const unknownEvents = (0, global_state_1.getOrInitGlobal)('__agentSourceUnknownEvents', () => new Map());
|
|
73
74
|
/**
|
|
74
75
|
* Record an event that mapped to nothing.
|
|
75
76
|
*
|
|
@@ -51,15 +51,14 @@ const auto_yes_state_1 = require("../../../../lib/auto-yes-state");
|
|
|
51
51
|
const tool_id_1 = require("./tool-id");
|
|
52
52
|
const ports_1 = require("./ports");
|
|
53
53
|
const client_1 = require("./client");
|
|
54
|
+
const global_state_1 = require("../../../global-state");
|
|
54
55
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode/diff');
|
|
55
56
|
/** Cap on a stored session or message id, so a hostile frame cannot grow the map. */
|
|
56
57
|
const MAX_OPENCODE_DIFF_ID_LENGTH = 128;
|
|
57
58
|
/** compositeKey -> that instance's diff state. */
|
|
58
|
-
const records =
|
|
59
|
-
(globalThis.__opencodeSessionDiff = new Map());
|
|
59
|
+
const records = (0, global_state_1.getOrInitGlobal)('__opencodeSessionDiff', () => new Map());
|
|
60
60
|
/** Keys with a `GET /diff` in flight, so a poll storm makes one request. */
|
|
61
|
-
const refreshing =
|
|
62
|
-
(globalThis.__opencodeSessionDiffRefreshes = new Set());
|
|
61
|
+
const refreshing = (0, global_state_1.getOrInitGlobal)('__opencodeSessionDiffRefreshes', () => new Set());
|
|
63
62
|
function keyOf(target) {
|
|
64
63
|
return (0, auto_yes_state_1.buildCompositeKey)(target.worktreeId, target.cliToolId, target.instanceId);
|
|
65
64
|
}
|
|
@@ -94,6 +94,7 @@ const agent_transcript_1 = require("../../../../types/agent-transcript");
|
|
|
94
94
|
const event_mapper_1 = require("../event-mapper");
|
|
95
95
|
const client_1 = require("./client");
|
|
96
96
|
const transcript_1 = require("./transcript");
|
|
97
|
+
const global_state_1 = require("../../../global-state");
|
|
97
98
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode/history');
|
|
98
99
|
/**
|
|
99
100
|
* Cap on turns held in memory for one instance.
|
|
@@ -120,7 +121,7 @@ exports.MAX_OPENCODE_BACKFILLED_TURNS = 50;
|
|
|
120
121
|
* otherwise each get a private copy, and the turn accumulated by one would be
|
|
121
122
|
* invisible to the other.
|
|
122
123
|
*/
|
|
123
|
-
const transcripts = (
|
|
124
|
+
const transcripts = (0, global_state_1.getOrInitGlobal)('__opencodeTranscripts', () => new Map());
|
|
124
125
|
function keyOf(target) {
|
|
125
126
|
return (0, auto_yes_state_1.buildCompositeKey)(target.worktreeId, target.cliToolId, target.instanceId);
|
|
126
127
|
}
|
|
@@ -58,8 +58,9 @@ const auto_yes_state_1 = require("../../../../lib/auto-yes-state");
|
|
|
58
58
|
const logger_1 = require("../../../../lib/logger");
|
|
59
59
|
const hook_settings_generator_1 = require("../../../../lib/hooks/hook-settings-generator");
|
|
60
60
|
const opencode_instance_settings_1 = require("../../../../types/opencode-instance-settings");
|
|
61
|
+
const global_state_1 = require("../../../global-state");
|
|
61
62
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode/launch-settings');
|
|
62
|
-
const cache = (
|
|
63
|
+
const cache = (0, global_state_1.getOrInitGlobal)('__opencodeLaunchSettings', () => new Map());
|
|
63
64
|
function keyOf(target) {
|
|
64
65
|
return (0, auto_yes_state_1.buildCompositeKey)(target.worktreeId, target.cliToolId, target.instanceId);
|
|
65
66
|
}
|
|
@@ -41,6 +41,7 @@ exports.readOpencodePermissionSubject = readOpencodePermissionSubject;
|
|
|
41
41
|
exports.toOpencodePendingQuestion = toOpencodePendingQuestion;
|
|
42
42
|
const ask_user_question_payload_1 = require("../../../../lib/hooks/ask-user-question-payload");
|
|
43
43
|
const event_mapper_1 = require("../event-mapper");
|
|
44
|
+
const global_state_1 = require("../../../global-state");
|
|
44
45
|
/**
|
|
45
46
|
* Cap on remembered `callID -> tool name` pairs.
|
|
46
47
|
*
|
|
@@ -49,7 +50,7 @@ const event_mapper_1 = require("../event-mapper");
|
|
|
49
50
|
* approval, never a wrong one.
|
|
50
51
|
*/
|
|
51
52
|
exports.MAX_TRACKED_TOOL_CALLS = 256;
|
|
52
|
-
const toolCallNames = (
|
|
53
|
+
const toolCallNames = (0, global_state_1.getOrInitGlobal)('__opencodeToolCallNames', () => new Map());
|
|
53
54
|
/** Record that a tool call has a name, seen on a `message.part.updated` frame. */
|
|
54
55
|
function rememberOpencodeToolCall(callId, toolName) {
|
|
55
56
|
toolCallNames.delete(callId);
|
|
@@ -65,12 +65,13 @@ const auto_yes_state_1 = require("../../../../lib/auto-yes-state");
|
|
|
65
65
|
const hook_settings_generator_1 = require("../../../../lib/hooks/hook-settings-generator");
|
|
66
66
|
const logger_1 = require("../../../../lib/logger");
|
|
67
67
|
const client_1 = require("./client");
|
|
68
|
+
const global_state_1 = require("../../../global-state");
|
|
68
69
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode/ports');
|
|
69
70
|
/** The window opencode instances are placed in. 100 ports, one per instance. */
|
|
70
71
|
exports.OPENCODE_PORT_RANGE = { min: 4200, max: 4299 };
|
|
71
72
|
/** How many candidates a scan will try before giving up. */
|
|
72
73
|
const PORT_SPAN = exports.OPENCODE_PORT_RANGE.max - exports.OPENCODE_PORT_RANGE.min + 1;
|
|
73
|
-
const assignments = (
|
|
74
|
+
const assignments = (0, global_state_1.getOrInitGlobal)('__opencodePortAssignments', () => new Map());
|
|
74
75
|
function keyOf(target) {
|
|
75
76
|
return (0, auto_yes_state_1.buildCompositeKey)(target.worktreeId, target.cliToolId, target.instanceId);
|
|
76
77
|
}
|
|
@@ -78,6 +78,7 @@ const payloads_1 = require("./payloads");
|
|
|
78
78
|
const push_1 = require("./push");
|
|
79
79
|
const ports_1 = require("./ports");
|
|
80
80
|
const turn_gate_1 = require("./turn-gate");
|
|
81
|
+
const global_state_1 = require("../../../global-state");
|
|
81
82
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode/subscription');
|
|
82
83
|
/**
|
|
83
84
|
* How long a connection may be silent before it counts as dead.
|
|
@@ -102,7 +103,7 @@ const MAX_SEEN_DECISIONS = 256;
|
|
|
102
103
|
* its overflow beats an unbounded one that does not.
|
|
103
104
|
*/
|
|
104
105
|
exports.MAX_RESYNCED_DECISIONS = 50;
|
|
105
|
-
const subscriptions = (
|
|
106
|
+
const subscriptions = (0, global_state_1.getOrInitGlobal)('__opencodeSubscriptions', () => new Map());
|
|
106
107
|
/**
|
|
107
108
|
* The last liveness of a subscription that was **dropped rather than closed**
|
|
108
109
|
* (Issue #2054).
|
|
@@ -124,7 +125,7 @@ const subscriptions = (globalThis.__opencodeSubscriptions ??= new Map());
|
|
|
124
125
|
* Cleared when a new subscription opens on the key, and when the pane is closed:
|
|
125
126
|
* a process that is gone has no degradation left to report.
|
|
126
127
|
*/
|
|
127
|
-
const droppedLiveness = (
|
|
128
|
+
const droppedLiveness = (0, global_state_1.getOrInitGlobal)('__opencodeDroppedLiveness', () => new Map());
|
|
128
129
|
/**
|
|
129
130
|
* What `AgentEventSource.probeActivity` said the last time a stream was
|
|
130
131
|
* (re-)attached for this instance (Issue #2054).
|
|
@@ -134,7 +135,7 @@ const droppedLiveness = (globalThis.__opencodeDroppedLiveness ??= new Map());
|
|
|
134
135
|
* that turn ends, so "is this pane working right now?" has no answer on the
|
|
135
136
|
* stream and one `GET /session/status` is the whole of it.
|
|
136
137
|
*/
|
|
137
|
-
const probedActivity = (
|
|
138
|
+
const probedActivity = (0, global_state_1.getOrInitGlobal)('__opencodeProbedActivity', () => new Map());
|
|
138
139
|
function keyOf(target) {
|
|
139
140
|
return (0, auto_yes_state_1.buildCompositeKey)(target.worktreeId, target.cliToolId, target.instanceId);
|
|
140
141
|
}
|
|
@@ -210,19 +210,10 @@ function renderToolPart(part) {
|
|
|
210
210
|
const name = part.tool ?? 'tool';
|
|
211
211
|
const detail = part.title ?? null;
|
|
212
212
|
const failed = part.status === 'error';
|
|
213
|
-
const head = `- \`${name}\`${detail ? ` — ${collapseToLine(detail)}` : ''}`;
|
|
213
|
+
const head = `- \`${name}\`${detail ? ` — ${(0, turn_body_1.collapseToLine)(detail)}` : ''}`;
|
|
214
214
|
if (!failed)
|
|
215
215
|
return head;
|
|
216
|
-
return part.error ? `${head} _(error: ${collapseToLine(part.error)})_` : `${head} _(error)_`;
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* A tool title on one line.
|
|
220
|
-
*
|
|
221
|
-
* A `bash` title is the command, and a heredoc puts newlines in it. Left alone
|
|
222
|
-
* they would end the list item and turn the rest of the command into body text.
|
|
223
|
-
*/
|
|
224
|
-
function collapseToLine(value) {
|
|
225
|
-
return value.replace(/\s+/g, ' ').trim();
|
|
216
|
+
return part.error ? `${head} _(error: ${(0, turn_body_1.collapseToLine)(part.error)})_` : `${head} _(error)_`;
|
|
226
217
|
}
|
|
227
218
|
/**
|
|
228
219
|
* Render one turn to Markdown.
|
|
@@ -280,11 +271,7 @@ function renderOpencodeTurn(turn) {
|
|
|
280
271
|
// now sits behind the prose, so what a 200 kB turn loses is the tail of its
|
|
281
272
|
// thinking rather than the answer (Issue #2272).
|
|
282
273
|
let body = separated.body;
|
|
283
|
-
|
|
284
|
-
body =
|
|
285
|
-
body.slice(0, exports.MAX_OPENCODE_TURN_BODY_LENGTH - exports.OPENCODE_TURN_TRUNCATION_MARKER.length) +
|
|
286
|
-
exports.OPENCODE_TURN_TRUNCATION_MARKER;
|
|
287
|
-
}
|
|
274
|
+
body = (0, turn_body_1.truncateTurnBody)(body, exports.MAX_OPENCODE_TURN_BODY_LENGTH, exports.OPENCODE_TURN_TRUNCATION_MARKER);
|
|
288
275
|
return {
|
|
289
276
|
sessionId: turn.sessionId,
|
|
290
277
|
userMessageId: turn.userMessageId,
|
|
@@ -111,6 +111,7 @@ const transcript_1 = require("../opencode/transcript");
|
|
|
111
111
|
const client_1 = require("./client");
|
|
112
112
|
const secrets_1 = require("./secrets");
|
|
113
113
|
const tool_id_1 = require("./tool-id");
|
|
114
|
+
const global_state_1 = require("../../../global-state");
|
|
114
115
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode-v2/history');
|
|
115
116
|
/** The stream events after which a turn's reply is read (Issue #2940). */
|
|
116
117
|
exports.OPENCODE_V2_TURN_END_EVENT_TYPES = [
|
|
@@ -271,7 +272,7 @@ function readLatestOpencodeV2AssistantModel(entries) {
|
|
|
271
272
|
* ends close together would otherwise race the existence check and insert the
|
|
272
273
|
* same turn twice.
|
|
273
274
|
*/
|
|
274
|
-
const queue = (
|
|
275
|
+
const queue = (0, global_state_1.getOrInitGlobal)('__opencodeV2HistoryQueue', () => new Map());
|
|
275
276
|
/** Forget queued syncs. Test seam. */
|
|
276
277
|
function resetOpencodeV2HistoryQueue() {
|
|
277
278
|
queue.clear();
|
|
@@ -125,10 +125,11 @@ function frameDecisionId(payload) {
|
|
|
125
125
|
* The decision id ({@link frameDecisionId}) — the `per_…` / `frm_…` the reply
|
|
126
126
|
* URL takes. An approval and the reply that settles it carry the SAME id, which
|
|
127
127
|
* is why `classifyAgentEventDelivery` keys on `(event, detail, identity)`
|
|
128
|
-
* rather than on the id alone. Every other frame
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
128
|
+
* rather than on the id alone. Every other frame answers null. Of those only
|
|
129
|
+
* `session.execution.started` meets the time window (the `succeeded` /
|
|
130
|
+
* `failed` / `interrupted` boundaries are `stop`s, which it never suppresses —
|
|
131
|
+
* see `classifyAgentEventDelivery`). The envelope's `evt_…` is not used, for
|
|
132
|
+
* v1's reason: nothing measured says it is unique per frame.
|
|
132
133
|
*/
|
|
133
134
|
function opencodeV2EventIdentity(payload) {
|
|
134
135
|
return (0, event_mapper_1.readEventIdentity)(frameDecisionId(payload));
|
|
@@ -38,13 +38,14 @@ const path_1 = require("path");
|
|
|
38
38
|
const logger_1 = require("../../../../lib/logger");
|
|
39
39
|
const ports_1 = require("../opencode/ports");
|
|
40
40
|
const secrets_1 = require("./secrets");
|
|
41
|
+
const global_state_1 = require("../../../global-state");
|
|
41
42
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode-v2/ports');
|
|
42
43
|
/** Ports OpenCode V2 servers are started on. Disjoint from v1's 4200–4299. */
|
|
43
44
|
exports.OPENCODE_V2_PORT_RANGE = { min: 4300, max: 4399 };
|
|
44
45
|
const PORT_SPAN = exports.OPENCODE_V2_PORT_RANGE.max - exports.OPENCODE_V2_PORT_RANGE.min + 1;
|
|
45
46
|
/** File name of the persisted assignments inside the state directory. */
|
|
46
47
|
exports.OPENCODE_V2_PORT_FILE_NAME = 'ports.json';
|
|
47
|
-
const assignments = (
|
|
48
|
+
const assignments = (0, global_state_1.getOrInitGlobal)('__opencodeV2PortAssignments', () => new Map());
|
|
48
49
|
/** Absolute path of the persisted assignments. */
|
|
49
50
|
function getOpencodeV2PortFilePath() {
|
|
50
51
|
return (0, path_1.join)((0, secrets_1.getOpencodeV2StateDir)(), exports.OPENCODE_V2_PORT_FILE_NAME);
|
|
@@ -37,7 +37,6 @@ exports.OPENCODE_V2_MAX_RESYNCED_DECISIONS = exports.OPENCODE_V2_MAX_REJECTED_PR
|
|
|
37
37
|
exports.isOpencodeV2Subscribed = isOpencodeV2Subscribed;
|
|
38
38
|
exports.getOpencodeV2Liveness = getOpencodeV2Liveness;
|
|
39
39
|
exports.isOpencodeV2StructuredHistoryLive = isOpencodeV2StructuredHistoryLive;
|
|
40
|
-
exports.getOpencodeV2SubscribedPort = getOpencodeV2SubscribedPort;
|
|
41
40
|
exports.openOpencodeV2Subscription = openOpencodeV2Subscription;
|
|
42
41
|
exports.closeOpencodeV2Subscription = closeOpencodeV2Subscription;
|
|
43
42
|
exports.resetOpencodeV2Subscriptions = resetOpencodeV2Subscriptions;
|
|
@@ -45,6 +44,7 @@ exports.resyncOpencodeV2Pending = resyncOpencodeV2Pending;
|
|
|
45
44
|
exports.deliverOpencodeV2Frame = deliverOpencodeV2Frame;
|
|
46
45
|
exports.refreshOpencodeV2UsageOnFrame = refreshOpencodeV2UsageOnFrame;
|
|
47
46
|
exports.recordOpencodeV2TurnEnd = recordOpencodeV2TurnEnd;
|
|
47
|
+
const global_state_1 = require("../../../../lib/global-state");
|
|
48
48
|
const agent_session_telemetry_1 = require("../../../../lib/hooks/agent-session-telemetry");
|
|
49
49
|
const logger_1 = require("../../../../lib/logger");
|
|
50
50
|
const event_mapper_1 = require("../event-mapper");
|
|
@@ -72,9 +72,9 @@ exports.OPENCODE_V2_MAX_REJECTED_PROBES = 3;
|
|
|
72
72
|
* off a server CommandMate does not police.
|
|
73
73
|
*/
|
|
74
74
|
exports.OPENCODE_V2_MAX_RESYNCED_DECISIONS = 50;
|
|
75
|
-
const subscriptions = (
|
|
75
|
+
const subscriptions = (0, global_state_1.getOrInitGlobal)('__opencodeV2Subscriptions', () => new Map());
|
|
76
76
|
/** The last liveness of a subscription that ended on its own, for `liveness()`. */
|
|
77
|
-
const endedLiveness = (
|
|
77
|
+
const endedLiveness = (0, global_state_1.getOrInitGlobal)('__opencodeV2EndedLiveness', () => new Map());
|
|
78
78
|
/** Whether a subscription is open for the instance. */
|
|
79
79
|
function isOpencodeV2Subscribed(target) {
|
|
80
80
|
return subscriptions.has((0, secrets_1.opencodeV2KeyOf)(target));
|
|
@@ -97,10 +97,6 @@ function getOpencodeV2Liveness(target) {
|
|
|
97
97
|
function isOpencodeV2StructuredHistoryLive(target) {
|
|
98
98
|
return getOpencodeV2Liveness(target).state === 'live';
|
|
99
99
|
}
|
|
100
|
-
/** The port an open subscription reads, or null. */
|
|
101
|
-
function getOpencodeV2SubscribedPort(target) {
|
|
102
|
-
return subscriptions.get((0, secrets_1.opencodeV2KeyOf)(target))?.port ?? null;
|
|
103
|
-
}
|
|
104
100
|
function handleFor(state) {
|
|
105
101
|
return {
|
|
106
102
|
close: async () => {
|
|
@@ -58,6 +58,7 @@ const event_mapper_1 = require("../event-mapper");
|
|
|
58
58
|
const client_1 = require("./client");
|
|
59
59
|
const history_1 = require("./history");
|
|
60
60
|
const secrets_1 = require("./secrets");
|
|
61
|
+
const global_state_1 = require("../../../global-state");
|
|
61
62
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/opencode-v2/usage');
|
|
62
63
|
/** The frame that says a session's running total moved. */
|
|
63
64
|
exports.OPENCODE_V2_USAGE_EVENT_TYPE = 'session.usage.updated';
|
|
@@ -179,7 +180,7 @@ async function refreshOpencodeV2SessionUsage(target, port, sessionId, isCurrent
|
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
182
|
/** One refresh in flight per instance, on `globalThis` for #1736's reason. */
|
|
182
|
-
const slots = (
|
|
183
|
+
const slots = (0, global_state_1.getOrInitGlobal)('__opencodeV2UsageRefreshes', () => new Map());
|
|
183
184
|
/** Forget in-flight markers. Test seam. */
|
|
184
185
|
function resetOpencodeV2UsageRefreshes() {
|
|
185
186
|
slots.clear();
|
|
@@ -36,8 +36,9 @@ exports.answerPendingDecision = answerPendingDecision;
|
|
|
36
36
|
exports.answerPendingDecisionWithReceipt = answerPendingDecisionWithReceipt;
|
|
37
37
|
const auto_yes_state_1 = require("../../../lib/auto-yes-state");
|
|
38
38
|
const logger_1 = require("../../../lib/logger");
|
|
39
|
+
const global_state_1 = require("../../global-state");
|
|
39
40
|
const logger = (0, logger_1.createLogger)('lib/hooks/sources/pending-decisions');
|
|
40
|
-
const pendingByInstance = (
|
|
41
|
+
const pendingByInstance = (0, global_state_1.getOrInitGlobal)('__agentSourcePendingDecisions', () => new Map());
|
|
41
42
|
/**
|
|
42
43
|
* Cap on simultaneously open slots for one instance.
|
|
43
44
|
*
|
|
@@ -42,9 +42,10 @@ const source_5 = require("./codex/source");
|
|
|
42
42
|
const source_6 = require("./opencode/source");
|
|
43
43
|
const source_7 = require("./command-code/source");
|
|
44
44
|
const source_8 = require("./opencode-v2/source");
|
|
45
|
-
const
|
|
45
|
+
const global_state_1 = require("../../global-state");
|
|
46
|
+
const registered = (0, global_state_1.getOrInitGlobal)('__agentEventSources', () => new Map());
|
|
46
47
|
/** Memoised compatibility sources, so repeated lookups return one object. */
|
|
47
|
-
const legacy = (
|
|
48
|
+
const legacy = (0, global_state_1.getOrInitGlobal)('__agentEventLegacySources', () => new Map());
|
|
48
49
|
/**
|
|
49
50
|
* Add or replace a tool's source.
|
|
50
51
|
*
|