commandmate 0.47.2 → 0.49.0
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 +180 -180
- package/.next/app-path-routes-manifest.json +30 -30
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +9 -9
- 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_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.js +3 -3
- 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.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_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_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_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_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_client-reference-manifest.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_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_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_client-reference-manifest.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_client-reference-manifest.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_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_client-reference-manifest.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_client-reference-manifest.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_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_client-reference-manifest.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_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_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_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_client-reference-manifest.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_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_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]/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_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_client-reference-manifest.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_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 +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_client-reference-manifest.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route.js +1 -103
- 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_client-reference-manifest.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_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.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js.nft.json +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.js +2 -2
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +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 +12 -12
- 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 +30 -30
- package/.next/server/chunks/1191.js +11 -4
- package/.next/server/chunks/1501.js +1 -1
- package/.next/server/chunks/1601.js +2 -2
- package/.next/server/chunks/1656.js +2 -2
- package/.next/server/chunks/1945.js +3 -3
- package/.next/server/chunks/1990.js +103 -0
- package/.next/server/chunks/2069.js +1 -0
- package/.next/server/chunks/2119.js +1 -1
- package/.next/server/chunks/2404.js +1 -1
- package/.next/server/chunks/2422.js +1 -1
- package/.next/server/chunks/2445.js +1 -1
- package/.next/server/chunks/2534.js +1 -1
- package/.next/server/chunks/255.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3505.js +2 -2
- package/.next/server/chunks/4243.js +1 -1
- package/.next/server/chunks/4248.js +1 -1
- package/.next/server/chunks/4280.js +1 -0
- package/.next/server/chunks/5209.js +1 -1
- 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 +9 -8
- package/.next/server/chunks/6781.js +1 -1
- package/.next/server/chunks/720.js +103 -0
- package/.next/server/chunks/7604.js +2 -0
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8581.js +8 -8
- package/.next/server/chunks/8728.js +3 -3
- package/.next/server/chunks/8791.js +1 -1
- package/.next/server/chunks/8807.js +19 -18
- package/.next/server/chunks/8918.js +2 -104
- package/.next/server/chunks/936.js +1 -1
- package/.next/server/chunks/9390.js +1 -1
- package/.next/server/chunks/9540.js +1 -1
- package/.next/server/chunks/9627.js +5 -5
- package/.next/server/chunks/9731.js +2 -2
- 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/1128-914c559913546bbc.js +1 -0
- package/.next/static/chunks/{2407-a6533805a86d05bd.js → 2407-ab92ae9837c39dce.js} +1 -1
- package/.next/static/chunks/{2863-6a07ec82fb52f4dd.js → 2863-7173dc305dffc4f6.js} +1 -1
- package/.next/static/chunks/6288-6fadbba6e84393b2.js +1 -0
- package/.next/static/chunks/7665-e9ef6e0a85b9fa49.js +1 -0
- package/.next/static/chunks/8407-35bbfc84793d7004.js +1 -0
- package/.next/static/chunks/9079-987939d231704218.js +1 -0
- package/.next/static/chunks/app/{layout-538d8d2746ad1588.js → layout-aa8e66164a4367af.js} +1 -1
- package/.next/static/chunks/app/sessions/page-cfd645305e25fd33.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/{page-52ba58712faf3378.js → page-cb6e74fd9a6a571d.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-704086656fb45699.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-a8d7886703ffc7b4.js +1 -0
- package/.next/static/css/{743f79ff19ab91e9.css → db8959555c3d9c96.css} +1 -1
- package/.next/trace +13 -13
- package/dist/cli/commands/auto-yes.d.ts +24 -0
- package/dist/cli/commands/auto-yes.d.ts.map +1 -1
- package/dist/cli/commands/auto-yes.js +76 -8
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +5 -0
- package/dist/cli/commands/instances.d.ts.map +1 -1
- package/dist/cli/commands/instances.js +10 -1
- package/dist/cli/commands/prompt.d.ts.map +1 -1
- package/dist/cli/commands/prompt.js +5 -3
- package/dist/cli/commands/send.d.ts.map +1 -1
- package/dist/cli/commands/send.js +19 -6
- package/dist/cli/commands/verify.d.ts.map +1 -1
- package/dist/cli/commands/verify.js +8 -1
- package/dist/cli/commands/wait.d.ts.map +1 -1
- package/dist/cli/commands/wait.js +101 -13
- package/dist/cli/config/duration-constants.d.ts +16 -13
- package/dist/cli/config/duration-constants.d.ts.map +1 -1
- package/dist/cli/config/duration-constants.js +21 -21
- 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 +29 -1
- package/dist/cli/types/api-responses.d.ts +145 -3
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +4 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/utils/resource-resolvers.d.ts +0 -18
- package/dist/cli/utils/resource-resolvers.d.ts.map +1 -1
- package/dist/cli/utils/resource-resolvers.js +1 -51
- package/dist/cli/utils/verify-runner.d.ts +24 -1
- package/dist/cli/utils/verify-runner.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.js +54 -1
- package/dist/config/auto-yes-duration.d.ts +56 -0
- package/dist/config/auto-yes-duration.d.ts.map +1 -0
- package/dist/config/auto-yes-duration.js +76 -0
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts +54 -2
- package/dist/lib/polling/auto-yes-suppression-reason.d.ts.map +1 -1
- package/dist/lib/polling/auto-yes-suppression-reason.js +33 -2
- package/dist/lib/prompt-observation/types.d.ts +13 -0
- package/dist/lib/prompt-observation/types.d.ts.map +1 -1
- package/dist/server/locales/en/worktree.json +2 -1
- package/dist/server/locales/ja/worktree.json +2 -1
- package/dist/server/src/config/auto-yes-config.js +14 -19
- package/dist/server/src/config/auto-yes-duration.js +76 -0
- package/dist/server/src/lib/auto-yes-poller-answer-target.js +38 -0
- package/dist/server/src/lib/auto-yes-poller-keys.js +35 -0
- package/dist/server/src/lib/auto-yes-poller-session-presence.js +26 -0
- package/dist/server/src/lib/auto-yes-poller-tick.js +233 -0
- package/dist/server/src/lib/auto-yes-poller.js +337 -376
- package/dist/server/src/lib/auto-yes-state.js +59 -4
- package/dist/server/src/lib/cli-tools/submit-verified-sender.js +235 -19
- package/dist/server/src/lib/db/chat-db.js +5 -1
- package/dist/server/src/lib/db/verification-db.js +23 -2
- package/dist/server/src/lib/detection/composer-text.js +215 -11
- package/dist/server/src/lib/detection/option-recommendation.js +120 -0
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice-approval-context.js +290 -0
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice-chrome.js +193 -0
- package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +402 -539
- package/dist/server/src/lib/detection/prompt-detector.js +92 -21
- package/dist/server/src/lib/detection/prompt-screen-key.js +60 -0
- package/dist/server/src/lib/detection/tools/antigravity/dialog.js +158 -35
- package/dist/server/src/lib/detection/tools/claude/detect.js +111 -10
- package/dist/server/src/lib/detection/tools/command-code/dialog.js +67 -0
- package/dist/server/src/lib/detection/tools/dialog-block.js +16 -0
- package/dist/server/src/lib/detection/upstream-faults.js +19 -2
- package/dist/server/src/lib/detection/waiting-screen-reading.js +98 -0
- package/dist/server/src/lib/hooks/permission-decision-service.js +7 -0
- package/dist/server/src/lib/hooks/structured-decision-response.js +1 -1
- package/dist/server/src/lib/polling/auto-yes-confirm-page.js +2 -2
- package/dist/server/src/lib/polling/auto-yes-confirmation-ledger-types.js +3 -0
- package/dist/server/src/lib/polling/auto-yes-confirmation-ledger.js +34 -3
- package/dist/server/src/lib/polling/auto-yes-decision-state.js +195 -0
- package/dist/server/src/lib/polling/auto-yes-dialog-gate.js +139 -10
- package/dist/server/src/lib/polling/auto-yes-enter-fallback.js +14 -0
- package/dist/server/src/lib/polling/auto-yes-manual-answer.js +124 -0
- package/dist/server/src/lib/polling/auto-yes-option-effect.js +157 -0
- package/dist/server/src/lib/polling/auto-yes-policy.js +11 -5
- package/dist/server/src/lib/polling/auto-yes-poller-capture.js +15 -2
- package/dist/server/src/lib/polling/auto-yes-poller-generation.js +42 -1
- package/dist/server/src/lib/polling/auto-yes-poller-receipt-log.js +42 -5
- package/dist/server/src/lib/polling/auto-yes-poller-state.js +147 -49
- package/dist/server/src/lib/polling/auto-yes-poller-steps.js +172 -2
- package/dist/server/src/lib/polling/auto-yes-prompt-suppression.js +2 -2
- package/dist/server/src/lib/polling/auto-yes-question-choice.js +57 -0
- package/dist/server/src/lib/polling/auto-yes-resolver.js +96 -21
- package/dist/server/src/lib/polling/auto-yes-suppression-reason.js +33 -2
- package/dist/server/src/lib/polling/auto-yes-suppression-state.js +25 -1
- package/dist/server/src/lib/polling/prompt-screen-reading.js +232 -0
- package/dist/server/src/lib/polling/response-checker-dialog-gate.js +39 -0
- package/dist/server/src/lib/polling/response-checker.js +145 -58
- package/dist/server/src/lib/prompt-answer-sender.js +104 -10
- package/dist/server/src/lib/push/notification-dedup.js +15 -2
- package/dist/server/src/lib/push/prompt-card-state.js +140 -19
- package/dist/server/src/lib/push/prompt-push-gate.js +158 -12
- package/dist/server/src/lib/push/push-sender.js +23 -3
- package/dist/server/src/lib/push/resolution-push-notifier.js +14 -0
- package/dist/server/src/lib/push/waiting-push-notifier.js +139 -17
- package/dist/server/src/lib/realtime/terminal-broadcast.js +16 -0
- package/dist/server/src/lib/session/agent-event-state.js +25 -5
- package/dist/server/src/lib/session/agent-event-turn.js +140 -46
- package/dist/server/src/lib/session/cli-session.js +21 -2
- package/dist/server/src/lib/session/composer-clear.js +56 -4
- package/dist/server/src/lib/session/current-output-builder.js +66 -12
- package/dist/server/src/lib/session/send-attempt-state.js +24 -7
- package/dist/server/src/lib/session/waiting-episode-binding-observation.js +289 -0
- package/dist/server/src/lib/session/waiting-episode-binding-resolve.js +38 -0
- package/dist/server/src/lib/session/waiting-episode-binding.js +276 -0
- package/dist/server/src/lib/session/waiting-episode-state-ops.js +152 -0
- package/dist/server/src/lib/session/waiting-episode-state-store.js +202 -0
- package/dist/server/src/lib/session/waiting-episode-state-types.js +6 -0
- package/dist/server/src/lib/session/waiting-episode-state.js +68 -91
- package/dist/server/src/lib/session/waiting-episode-verdict.js +174 -0
- package/dist/server/src/lib/tmux/tmux-capture-cache.js +76 -11
- package/dist/server/src/lib/tmux/tmux.js +79 -9
- package/dist/server/src/lib/verification/gate-runner.js +172 -16
- package/dist/server/src/lib/verification/machine-lock.js +5 -0
- package/dist/server/src/lib/ws-server.js +18 -3
- package/dist/server/src/types/auto-yes-answer-mode.js +38 -0
- package/dist/server/src/types/auto-yes-decision.js +61 -0
- package/dist/server/src/types/auto-yes.js +6 -0
- package/dist/server/src/types/prompt-reading.js +32 -0
- package/dist/types/auto-yes-answer-mode.d.ts +35 -0
- package/dist/types/auto-yes-answer-mode.d.ts.map +1 -0
- package/dist/types/auto-yes-answer-mode.js +38 -0
- package/docs/en/user-guide/webapp-guide.md +47 -13
- package/package.json +1 -1
- package/public/sw.js +76 -4
- package/release-notes/0.48.0.json +57 -0
- package/release-notes/0.49.0.json +45 -0
- package/.next/server/chunks/1559.js +0 -2
- package/.next/server/chunks/2460.js +0 -1
- package/.next/server/chunks/5595.js +0 -1
- package/.next/server/chunks/610.js +0 -1
- package/.next/server/chunks/6722.js +0 -1
- package/.next/static/chunks/5371-a549a0d2c2044d41.js +0 -1
- package/.next/static/chunks/602-1c1488959215e140.js +0 -1
- package/.next/static/chunks/6288-09feba367cc2c65e.js +0 -1
- package/.next/static/chunks/8407-155f84e5ba05f1d5.js +0 -1
- package/.next/static/chunks/9079-24f9fa549ed298f1.js +0 -1
- package/.next/static/chunks/app/sessions/page-e02f1adb1d1c1ccc.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/page-9cf1ecc59e36a004.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-46aced20b2b1c010.js +0 -1
- /package/.next/static/{etorRtpxbQqqOzdUeXdw2 → 3_JtAZaKMJEDFIIfkHv4n}/_buildManifest.js +0 -0
- /package/.next/static/{etorRtpxbQqqOzdUeXdw2 → 3_JtAZaKMJEDFIIfkHv4n}/_ssgManifest.js +0 -0
|
@@ -4,6 +4,30 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import type { AutoYesContractPolicy } from '../types/api-responses';
|
|
7
|
+
/** Issue #3863: `--answer-mode`'s help, shared with `send --auto-yes-answer-mode`. */
|
|
8
|
+
export declare const ANSWER_MODE_OPTION_DESCRIPTION: string;
|
|
9
|
+
/**
|
|
10
|
+
* Issue #3863: the stderr line naming the answer mode Auto-Yes is on with, or
|
|
11
|
+
* null when there is nothing to say. Read off the response — an omitted mode
|
|
12
|
+
* is resolved by the server (a grant that is on keeps its mode), so the CLI
|
|
13
|
+
* cannot know it otherwise.
|
|
14
|
+
*
|
|
15
|
+
* Said when the mode was asked for, or when it is not the default
|
|
16
|
+
* (`recommended`) — a re-enable that kept `careful`, say. An enable that asked
|
|
17
|
+
* for nothing and got the default prints what it printed before the modes
|
|
18
|
+
* (the output scripts already read); `capture --json`, `instances --json` and
|
|
19
|
+
* the response's `answerMode` carry the mode in every case.
|
|
20
|
+
*
|
|
21
|
+
* @param answerMode - `answerMode` of the auto-yes POST (absent from older servers)
|
|
22
|
+
* @param requested - Whether the command named a mode
|
|
23
|
+
*/
|
|
24
|
+
export declare function describeAnswerMode(answerMode: string | undefined, requested: boolean): string | null;
|
|
25
|
+
/**
|
|
26
|
+
* Issue #3863: validate an answer-mode option value, exiting 2 on a bad one.
|
|
27
|
+
*
|
|
28
|
+
* @param flag - The option's spelling, for the message
|
|
29
|
+
*/
|
|
30
|
+
export declare function validateAnswerModeOption(value: string | undefined, flag: string): void;
|
|
7
31
|
/**
|
|
8
32
|
* The stderr line(s) describing what the contract on the armed instance lets
|
|
9
33
|
* Auto-Yes answer (Issue #3723), or an empty list when there is nothing to say.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,qBAAqB,EAAoB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"auto-yes.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/auto-yes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,qBAAqB,EAAoB,MAAM,wBAAwB,CAAC;AAatF,sFAAsF;AACtF,eAAO,MAAM,8BAA8B,QAGoF,CAAC;AAEhI;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWpG;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKtF;AAuDD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,EAAE,CA2BjG;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAkH9C"}
|
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
* Issue #518: [DR1-08] Factory pattern
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ANSWER_MODE_OPTION_DESCRIPTION = void 0;
|
|
8
|
+
exports.describeAnswerMode = describeAnswerMode;
|
|
9
|
+
exports.validateAnswerModeOption = validateAnswerModeOption;
|
|
7
10
|
exports.describeContractPolicy = describeContractPolicy;
|
|
8
11
|
exports.createAutoYesCommand = createAutoYesCommand;
|
|
9
12
|
const commander_1 = require("commander");
|
|
@@ -14,6 +17,51 @@ const duration_constants_1 = require("../config/duration-constants");
|
|
|
14
17
|
const cli_tool_ids_1 = require("../config/cli-tool-ids");
|
|
15
18
|
const agent_target_options_1 = require("../config/agent-target-options");
|
|
16
19
|
const instances_1 = require("./instances");
|
|
20
|
+
const auto_yes_answer_mode_1 = require("../../types/auto-yes-answer-mode");
|
|
21
|
+
/** Issue #3863: `--answer-mode`'s help, shared with `send --auto-yes-answer-mode`. */
|
|
22
|
+
exports.ANSWER_MODE_OPTION_DESCRIPTION = `How Auto-Yes answers a question the agent asks (${auto_yes_answer_mode_1.AUTO_YES_ANSWER_MODES.join(', ')}). ` +
|
|
23
|
+
'recommended: the option marked (Recommended) / (推奨), else the default; careful: questions are left to you. ' +
|
|
24
|
+
'Permissions are answered alike (allow this call once). Omitted: a grant that is on keeps its mode, a new one is recommended';
|
|
25
|
+
/**
|
|
26
|
+
* Issue #3863: the stderr line naming the answer mode Auto-Yes is on with, or
|
|
27
|
+
* null when there is nothing to say. Read off the response — an omitted mode
|
|
28
|
+
* is resolved by the server (a grant that is on keeps its mode), so the CLI
|
|
29
|
+
* cannot know it otherwise.
|
|
30
|
+
*
|
|
31
|
+
* Said when the mode was asked for, or when it is not the default
|
|
32
|
+
* (`recommended`) — a re-enable that kept `careful`, say. An enable that asked
|
|
33
|
+
* for nothing and got the default prints what it printed before the modes
|
|
34
|
+
* (the output scripts already read); `capture --json`, `instances --json` and
|
|
35
|
+
* the response's `answerMode` carry the mode in every case.
|
|
36
|
+
*
|
|
37
|
+
* @param answerMode - `answerMode` of the auto-yes POST (absent from older servers)
|
|
38
|
+
* @param requested - Whether the command named a mode
|
|
39
|
+
*/
|
|
40
|
+
function describeAnswerMode(answerMode, requested) {
|
|
41
|
+
if (answerMode === undefined)
|
|
42
|
+
return null;
|
|
43
|
+
if (answerMode === auto_yes_answer_mode_1.DEFAULT_AUTO_YES_ANSWER_MODE && !requested)
|
|
44
|
+
return null;
|
|
45
|
+
if (answerMode === 'recommended') {
|
|
46
|
+
return 'Answer mode: recommended (questions are answered with the recommended option, else the default).';
|
|
47
|
+
}
|
|
48
|
+
if (answerMode === 'careful') {
|
|
49
|
+
return 'Answer mode: careful (questions are left to you; permissions are still answered).';
|
|
50
|
+
}
|
|
51
|
+
// A mode this build does not know (a newer server): name it, judge nothing.
|
|
52
|
+
return `Answer mode: ${answerMode}.`;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Issue #3863: validate an answer-mode option value, exiting 2 on a bad one.
|
|
56
|
+
*
|
|
57
|
+
* @param flag - The option's spelling, for the message
|
|
58
|
+
*/
|
|
59
|
+
function validateAnswerModeOption(value, flag) {
|
|
60
|
+
if (value !== undefined && !(0, auto_yes_answer_mode_1.isAutoYesAnswerMode)(value)) {
|
|
61
|
+
console.error(`Error: Invalid ${flag}. Must be one of: ${auto_yes_answer_mode_1.AUTO_YES_ANSWER_MODES.join(', ')}`);
|
|
62
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
17
65
|
/**
|
|
18
66
|
* Report what arming Auto-Yes actually did: which agent (Issue #1909) and what
|
|
19
67
|
* it answered on the way in (Issue #1898-2).
|
|
@@ -28,8 +76,9 @@ const instances_1 = require("./instances");
|
|
|
28
76
|
*
|
|
29
77
|
* @param worktreeId - Worktree the command targeted
|
|
30
78
|
* @param result - Body of the auto-yes POST, or undefined from an old daemon
|
|
79
|
+
* @param answerModeRequested - Issue #3863: whether `--answer-mode` was given
|
|
31
80
|
*/
|
|
32
|
-
function reportEnabled(worktreeId, result) {
|
|
81
|
+
function reportEnabled(worktreeId, result, answerModeRequested = false) {
|
|
33
82
|
const agent = result?.cliToolId;
|
|
34
83
|
const instanceId = result?.instanceId;
|
|
35
84
|
// `instanceId === cliToolId` is how the primary instance is spelled (#868);
|
|
@@ -40,6 +89,10 @@ function reportEnabled(worktreeId, result) {
|
|
|
40
89
|
console.error(label
|
|
41
90
|
? `Auto-yes enabled for ${worktreeId} (${label}).`
|
|
42
91
|
: `Auto-yes enabled for ${worktreeId}.`);
|
|
92
|
+
// Issue #3863: the mode the server put it on with.
|
|
93
|
+
const modeLine = describeAnswerMode(result?.answerMode, answerModeRequested);
|
|
94
|
+
if (modeLine !== null)
|
|
95
|
+
console.error(modeLine);
|
|
43
96
|
// Issue #1898-2: enabling Auto-Yes under a dialog that was already up used to
|
|
44
97
|
// do nothing at all, silently. If it answered something on the way in, say so
|
|
45
98
|
// — that is the difference between "armed for next time" and "the worker you
|
|
@@ -87,7 +140,13 @@ function describeContractPolicy(policy) {
|
|
|
87
140
|
];
|
|
88
141
|
}
|
|
89
142
|
if (policy.mode === 'safe') {
|
|
90
|
-
|
|
143
|
+
// Issue #3822: on a tool whose dialog gate is `enforce`, a `yes_no` the
|
|
144
|
+
// tool's own dialog detector does not vouch for is left to a human too.
|
|
145
|
+
return [
|
|
146
|
+
`Note: ${task} sets autoYes.mode: safe; Auto-Yes answers yes_no prompts only ` +
|
|
147
|
+
'(on claude, codex, copilot, opencode and opencode-v2, only those the tool itself shows as a confirmation, not a generic (y/n)).' +
|
|
148
|
+
deny,
|
|
149
|
+
];
|
|
91
150
|
}
|
|
92
151
|
if (policy.mode === 'allow-listed') {
|
|
93
152
|
const types = policy.allowPromptTypes.length > 0 ? policy.allowPromptTypes.join(', ') : 'none';
|
|
@@ -103,8 +162,9 @@ function createAutoYesCommand() {
|
|
|
103
162
|
.argument('<worktree-id>', 'Worktree ID')
|
|
104
163
|
.option('--enable', 'Enable auto-yes')
|
|
105
164
|
.option('--disable', 'Disable auto-yes')
|
|
106
|
-
.option('--duration <duration>', `Duration (${duration_constants_1.
|
|
165
|
+
.option('--duration <duration>', `Duration (${duration_constants_1.AUTO_YES_DURATION_FLAG_RANGE}, e.g. 1h, 3h, 8h; default ${duration_constants_1.DEFAULT_DURATION_FLAG})`)
|
|
107
166
|
.option('--stop-pattern <pattern>', 'Stop pattern (regex, max 500 chars). Matched against terminal output; cannot block commands (build logs mentioning the pattern also trigger it). To suppress auto-responses per command, use the task contract\'s autoYes.denyPatterns')
|
|
167
|
+
.option('--answer-mode <mode>', exports.ANSWER_MODE_OPTION_DESCRIPTION)
|
|
108
168
|
.option('--instance <id>', agent_target_options_1.INSTANCE_OPTION_DESCRIPTION)
|
|
109
169
|
.option('--agent <agent>', agent_target_options_1.AGENT_OPTION_DESCRIPTION)
|
|
110
170
|
.option('--token <token>', command_helpers_1.TOKEN_WARNING)
|
|
@@ -124,6 +184,12 @@ function createAutoYesCommand() {
|
|
|
124
184
|
console.error('Error: Cannot specify both --enable and --disable.');
|
|
125
185
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
126
186
|
}
|
|
187
|
+
// Issue #3863
|
|
188
|
+
validateAnswerModeOption(options.answerMode, '--answer-mode');
|
|
189
|
+
if (options.answerMode !== undefined && options.disable) {
|
|
190
|
+
console.error('Error: --answer-mode applies to --enable only.');
|
|
191
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
192
|
+
}
|
|
127
193
|
if (options.agent && !(0, cli_tool_ids_1.isCliToolId)(options.agent)) {
|
|
128
194
|
console.error(`Error: Invalid agent. Must be one of: ${cli_tool_ids_1.CLI_TOOL_IDS.join(', ')}`);
|
|
129
195
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
@@ -144,17 +210,19 @@ function createAutoYesCommand() {
|
|
|
144
210
|
};
|
|
145
211
|
if (options.enable) {
|
|
146
212
|
// [DR2-02] Convert duration string to ms
|
|
147
|
-
const durationMs = options.duration
|
|
148
|
-
? (0, duration_constants_1.parseDurationToMs)(options.duration)
|
|
149
|
-
: (0, duration_constants_1.parseDurationToMs)('1h');
|
|
213
|
+
const durationMs = (0, duration_constants_1.parseDurationToMs)(options.duration ?? duration_constants_1.DEFAULT_DURATION_FLAG);
|
|
150
214
|
if (durationMs === null) {
|
|
151
|
-
console.error(`Error: Invalid duration. Must be
|
|
215
|
+
console.error(`Error: Invalid duration. Must be ${duration_constants_1.AUTO_YES_DURATION_FLAG_RANGE} (e.g. 5h).`);
|
|
152
216
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
153
217
|
}
|
|
154
218
|
body.duration = durationMs;
|
|
155
219
|
if (options.stopPattern) {
|
|
156
220
|
body.stopPattern = options.stopPattern;
|
|
157
221
|
}
|
|
222
|
+
// Issue #3863: sent only when given, so the server keeps a live grant's mode.
|
|
223
|
+
if (options.answerMode !== undefined) {
|
|
224
|
+
body.answerMode = options.answerMode;
|
|
225
|
+
}
|
|
158
226
|
}
|
|
159
227
|
// Issue #1629: the auto-yes poller keys on (worktree, cliTool, instance)
|
|
160
228
|
// and watches the session cliTool names, so the instance must be paired
|
|
@@ -171,7 +239,7 @@ function createAutoYesCommand() {
|
|
|
171
239
|
}
|
|
172
240
|
const result = await client.post(`/api/worktrees/${worktreeId}/auto-yes`, body);
|
|
173
241
|
if (options.enable) {
|
|
174
|
-
reportEnabled(worktreeId, result);
|
|
242
|
+
reportEnabled(worktreeId, result, options.answerMode !== undefined);
|
|
175
243
|
}
|
|
176
244
|
else {
|
|
177
245
|
console.error(`Auto-yes disabled for ${worktreeId}.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAAE,SAAS,EAAqB,MAAM,qBAAqB,CAAC;AA4VnE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AA2ED,wBAAgB,oBAAoB,IAAI,OAAO,CAiI9C"}
|
|
@@ -197,6 +197,11 @@ async function capturePrompts(worktreeId, options) {
|
|
|
197
197
|
// Issue #1699: what the contract's denyPatterns were judged against.
|
|
198
198
|
// Null on rows recorded before the field existed.
|
|
199
199
|
approvalTarget: m.promptData.approvalTarget ?? null,
|
|
200
|
+
// Issue #3907: what `wait` passes on beside it (#3881) — whether that
|
|
201
|
+
// target is the whole request, and what the screen was read as when
|
|
202
|
+
// the row was saved. Null on rows saved without them.
|
|
203
|
+
approvalTargetCompleteness: m.promptData.approvalTargetCompleteness ?? null,
|
|
204
|
+
reading: m.promptData.reading ?? null,
|
|
200
205
|
// Issue #1725: which structured signal reported an unclassified row,
|
|
201
206
|
// or null when the row is a plain detection failure (#1708).
|
|
202
207
|
source: typeof m.promptData.source === 'string' ? m.promptData.source : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,SAAS,EAAkD,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/instances.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,SAAS,EAAkD,MAAM,qBAAqB,CAAC;AAsKhG;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAiBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKzD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,QAE6D,CAAC;AAErG,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,QAE0B,CAAC;AAE/D,8EAA8E;AAC9E,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;;;;;;;;OAYG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,IAAI,GAAE,oBAA+B,GACpC,OAAO,CAAC,sBAAsB,CAAC,CAmCjC;AAqUD,wBAAgB,sBAAsB,IAAI,OAAO,CAgFhD"}
|
|
@@ -255,6 +255,7 @@ async function fetchArmedAutoYes(client, worktreeId) {
|
|
|
255
255
|
const states = response?.instances;
|
|
256
256
|
if (!states || typeof states !== 'object')
|
|
257
257
|
return null;
|
|
258
|
+
const modes = response?.answerModeByInstance;
|
|
258
259
|
return new Map(Object.entries(states).map(([instanceId, state]) => {
|
|
259
260
|
const enabled = state?.enabled === true;
|
|
260
261
|
return [instanceId, {
|
|
@@ -262,6 +263,8 @@ async function fetchArmedAutoYes(client, worktreeId) {
|
|
|
262
263
|
blockedByContract: enabled && state?.blockedByContract === true,
|
|
263
264
|
// Issue #3730: a server older than the field sends none — plain `no`.
|
|
264
265
|
releasedByRestart: !enabled && state?.stopReason === 'server-restart',
|
|
266
|
+
// Issue #3863: an older server sends none — the row then carries none.
|
|
267
|
+
...(enabled && typeof modes?.[instanceId] === 'string' ? { answerMode: modes[instanceId] } : {}),
|
|
265
268
|
}];
|
|
266
269
|
}));
|
|
267
270
|
}
|
|
@@ -294,6 +297,10 @@ async function listInstances(client, worktreeId, options) {
|
|
|
294
297
|
// is not running. Replaced below when the server names the armed
|
|
295
298
|
// instances itself (Issue #3300).
|
|
296
299
|
autoYes: output.autoYes?.enabled ?? false,
|
|
300
|
+
// Issue #3863: the session's own reading of the mode, replaced below too.
|
|
301
|
+
...(output.autoYes?.enabled === true && typeof output.autoYesAnswerMode === 'string'
|
|
302
|
+
? { autoYesAnswerMode: output.autoYesAnswerMode }
|
|
303
|
+
: {}),
|
|
297
304
|
// Issue #1785: pass-through. `?? null` collapses "this daemon predates
|
|
298
305
|
// the field" into the same null the server sends for "nothing knows" —
|
|
299
306
|
// the CLI has no way to tell those apart and no reason to.
|
|
@@ -318,11 +325,13 @@ async function listInstances(client, worktreeId, options) {
|
|
|
318
325
|
const armed = instances.length > 0 ? await fetchArmedAutoYes(client, worktreeId) : null;
|
|
319
326
|
const rows = armed === null
|
|
320
327
|
? sessionRows
|
|
321
|
-
: sessionRows.map(row => {
|
|
328
|
+
: sessionRows.map(({ autoYesAnswerMode: _sessionMode, ...row }) => {
|
|
322
329
|
const entry = armed.get(row.instanceId);
|
|
323
330
|
return {
|
|
324
331
|
...row,
|
|
325
332
|
autoYes: entry?.enabled ?? false,
|
|
333
|
+
// Issue #3863: the state store's mode, beside the arming it belongs to.
|
|
334
|
+
...(entry?.answerMode !== undefined ? { autoYesAnswerMode: entry.answerMode } : {}),
|
|
326
335
|
// Issue #3723: only the state store says this, so only this path sets it.
|
|
327
336
|
...(entry?.blockedByContract ? { autoYesBlockedByContract: true } : {}),
|
|
328
337
|
// Issue #3730: likewise only the state store knows the restart took it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAgB5E;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAW9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAU/G;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAgB5E;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAW9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,GAAG,IAAI,CAU/G;AA0ED,kDAAkD;AAClD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,GAAE,MAAmB,GAAG,MAAM,CAkBxG;AAED,wBAAgB,mBAAmB,IAAI,OAAO,CA8E7C"}
|
|
@@ -126,9 +126,11 @@ function formatAutoYesLines(autoYes) {
|
|
|
126
126
|
const evaluation = autoYes.contractEvaluation;
|
|
127
127
|
const evaluationDetail = evaluation.state === 'policy-withholds'
|
|
128
128
|
? `policy-withholds reason=${evaluation.reason}${evaluation.pattern !== undefined ? ` pattern=${JSON.stringify(evaluation.pattern)}` : ''}`
|
|
129
|
-
: evaluation.state === '
|
|
130
|
-
? `
|
|
131
|
-
: evaluation.state
|
|
129
|
+
: evaluation.state === 'base-withholds'
|
|
130
|
+
? `base-withholds reason=${evaluation.reason}`
|
|
131
|
+
: evaluation.state === 'not-evaluated'
|
|
132
|
+
? `not-evaluated (${evaluation.because})`
|
|
133
|
+
: evaluation.state;
|
|
132
134
|
lines.push(` contract re-evaluation: ${evaluationDetail}` +
|
|
133
135
|
(evaluation.contract ? ` (task ${evaluation.contract.taskId ?? 'unknown'}, mode=${evaluation.contract.mode ?? 'none'})` : ' (no contract)'));
|
|
134
136
|
return lines;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/send.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyXpC,wBAAgB,iBAAiB,IAAI,OAAO,CA+J3C"}
|
|
@@ -19,8 +19,6 @@ const command_target_1 = require("./command-target");
|
|
|
19
19
|
const auto_yes_1 = require("./auto-yes");
|
|
20
20
|
const relays_1 = require("./relays");
|
|
21
21
|
const message_dispatch_1 = require("./message-dispatch");
|
|
22
|
-
/** Auto-yes duration used when --duration is omitted. */
|
|
23
|
-
const DEFAULT_AUTO_YES_DURATION = '1h';
|
|
24
22
|
/**
|
|
25
23
|
* The message length `send` is verified to deliver whole (Issue #2464): the
|
|
26
24
|
* largest body sent through the paste path to claude, codex, command-code and
|
|
@@ -49,9 +47,9 @@ function promptWaitingFallback(worktreeId) {
|
|
|
49
47
|
* behind for a message that was never sent.
|
|
50
48
|
*/
|
|
51
49
|
function resolveAutoYesDurationMs(duration) {
|
|
52
|
-
const durationMs = (0, duration_constants_1.parseDurationToMs)(duration ??
|
|
50
|
+
const durationMs = (0, duration_constants_1.parseDurationToMs)(duration ?? duration_constants_1.DEFAULT_DURATION_FLAG);
|
|
53
51
|
if (durationMs === null) {
|
|
54
|
-
console.error(`Error: Invalid duration. Must be
|
|
52
|
+
console.error(`Error: Invalid duration. Must be ${duration_constants_1.AUTO_YES_DURATION_FLAG_RANGE} (e.g. 5h).`);
|
|
55
53
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
56
54
|
}
|
|
57
55
|
return durationMs;
|
|
@@ -83,11 +81,19 @@ async function enableAutoYes(client, worktreeId, options, durationMs, agent, ins
|
|
|
83
81
|
if (options.stopPattern) {
|
|
84
82
|
autoYesBody.stopPattern = options.stopPattern;
|
|
85
83
|
}
|
|
84
|
+
// Issue #3863: sent only when given, so the server keeps a live grant's mode.
|
|
85
|
+
if (options.autoYesAnswerMode !== undefined) {
|
|
86
|
+
autoYesBody.answerMode = options.autoYesAnswerMode;
|
|
87
|
+
}
|
|
86
88
|
// Issue #3723: the response is read now. It names what the contract on the
|
|
87
89
|
// instance lets Auto-Yes answer; with `autoYes.mode: off` the poller this
|
|
88
90
|
// armed answers nothing, and "Auto-yes enabled." alone said otherwise.
|
|
89
91
|
const result = await client.post(`/api/worktrees/${worktreeId}/auto-yes`, autoYesBody);
|
|
90
92
|
console.error('Auto-yes enabled.');
|
|
93
|
+
// Issue #3863: the mode the server put it on with.
|
|
94
|
+
const modeLine = (0, auto_yes_1.describeAnswerMode)(result?.answerMode, options.autoYesAnswerMode !== undefined);
|
|
95
|
+
if (modeLine !== null)
|
|
96
|
+
console.error(modeLine);
|
|
91
97
|
// The server's reading wins when it has one. It has none for a `--contract`
|
|
92
98
|
// send armed before the message goes out: the task is still `pending`, which
|
|
93
99
|
// the server does not count as governing the instance (ACTIVE_TASK_STATUSES).
|
|
@@ -210,6 +216,12 @@ function validateSendArgs(worktreeId, message, options) {
|
|
|
210
216
|
console.error(instances_1.INSTANCE_SELECTOR_ERROR);
|
|
211
217
|
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
212
218
|
}
|
|
219
|
+
// Issue #3863: a value the server would refuse, and a mode with nothing to arm.
|
|
220
|
+
(0, auto_yes_1.validateAnswerModeOption)(options.autoYesAnswerMode, '--auto-yes-answer-mode');
|
|
221
|
+
if (options.autoYesAnswerMode !== undefined && !options.autoYes) {
|
|
222
|
+
console.error('Error: --auto-yes-answer-mode requires --auto-yes.');
|
|
223
|
+
process.exit(types_1.ExitCode.CONFIG_ERROR);
|
|
224
|
+
}
|
|
213
225
|
// Issue #1000: --register requires --instance, and requires --agent
|
|
214
226
|
// unless the instance id is itself a primary CLI tool id (e.g. claude).
|
|
215
227
|
if (options.register) {
|
|
@@ -230,7 +242,7 @@ function validateSendArgs(worktreeId, message, options) {
|
|
|
230
242
|
// Issue #1608: every option that can be judged from its own value is
|
|
231
243
|
// judged here, before the first side effect. --duration used to be the
|
|
232
244
|
// exception: enableAutoYes() validated it, and that runs after
|
|
233
|
-
// --contract has already created the task row, so `--duration
|
|
245
|
+
// --contract has already created the task row, so `--duration 25h` left
|
|
234
246
|
// a `pending` task for a message that was never sent. Validated
|
|
235
247
|
// unconditionally, like --stop-pattern and --model above: a value the
|
|
236
248
|
// CLI cannot honour is an error whether or not --auto-yes accompanies it.
|
|
@@ -302,7 +314,8 @@ function createSendCommand() {
|
|
|
302
314
|
.option('--model <model>', 'Specify AI model for a Copilot, Antigravity or Claude agent. For Antigravity and Claude it is a launch'
|
|
303
315
|
+ ' flag: it applies only when this send starts the session, and a running session answers 400')
|
|
304
316
|
.option('--auto-yes', 'Enable auto-yes before sending (session-wide, no policy guard; for unattended runs prefer --contract with an autoYes policy)')
|
|
305
|
-
.option('--
|
|
317
|
+
.option('--auto-yes-answer-mode <mode>', `With --auto-yes: ${auto_yes_1.ANSWER_MODE_OPTION_DESCRIPTION}`)
|
|
318
|
+
.option('--duration <duration>', `Auto-yes duration (${duration_constants_1.AUTO_YES_DURATION_FLAG_RANGE}, e.g. 1h, 3h, 8h; default ${duration_constants_1.DEFAULT_DURATION_FLAG})`)
|
|
306
319
|
.option('--stop-pattern <pattern>', 'Auto-yes stop pattern (regex). Matched against terminal output; cannot block commands (use the task contract\'s autoYes.denyPatterns for that)')
|
|
307
320
|
.option('--contract <path>', 'Execution contract path relative to the worktree root (e.g. .commandmate/tasks/my-task.yaml). Records a task and sends the contract preamble plus its goal.')
|
|
308
321
|
.option('--ignore-structured-prompt', 'Send even if only the agent\'s hooks report an open dialog (Issue #1737). Use when the pane looks idle but sends are refused; a prompt visible in the terminal is still refused.')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,OAAO,KAAK,EAMV,uBAAuB,EAExB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,OAAO,KAAK,EAMV,uBAAuB,EAExB,MAAM,wBAAwB,CAAC;AAuChC;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,uBAAuB,GAAG,IAAI,CA8BrG;AAkFD,wBAAgB,mBAAmB,IAAI,OAAO,CAsE7C"}
|
|
@@ -156,13 +156,20 @@ function inheritedFlag(own, command, key) {
|
|
|
156
156
|
* The run id leads the line even though it is not in the requested field list:
|
|
157
157
|
* without it there is no way to reach `verify show`, which is the only reason
|
|
158
158
|
* to read this listing in the first place.
|
|
159
|
+
*
|
|
160
|
+
* Gates that carry `timing` (#3884) are named after the verdict with their
|
|
161
|
+
* waits and execution apart (#3909), so "this run took 40 minutes" can be read
|
|
162
|
+
* as a queue, a lock or a slow suite without opening every run. A run none of
|
|
163
|
+
* whose gates waited keeps the line it always had.
|
|
159
164
|
*/
|
|
160
165
|
function formatHistoryLine(run) {
|
|
161
166
|
const failed = run.gates
|
|
162
167
|
.filter((gate) => FAILED_GATE_STATUSES.has(gate.status))
|
|
163
168
|
.map((gate) => gate.gateId);
|
|
164
169
|
const suffix = failed.length > 0 ? ` failed: ${failed.join(',')}` : '';
|
|
165
|
-
|
|
170
|
+
const timed = run.gates.flatMap((gate) => gate.timing ? [`${gate.gateId}(${(0, verify_runner_1.formatGateTiming)(gate.timing, ' ')})`] : []);
|
|
171
|
+
const timing = timed.length > 0 ? ` timing: ${timed.join(' ')}` : '';
|
|
172
|
+
return `#${run.id} ${run.startedAt} ${run.worktreeId} ${run.trigger} ${run.status}${suffix}${timing}`;
|
|
166
173
|
}
|
|
167
174
|
function createVerifyCommand() {
|
|
168
175
|
const cmd = new commander_1.Command('verify');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAGV,qBAAqB,EAKrB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAA+B,MAAM,qBAAqB,CAAC;AA8E7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;
|
|
1
|
+
{"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/wait.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAGV,qBAAqB,EAKrB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAA+B,MAAM,qBAAqB,CAAC;AA8E7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAIvD,CAAC;AA+RH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,qBAAqB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,IAAI,CAMf;AAsND;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,wBAAwB,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,QAAiB,CAAC;AA2JlD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA42BD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,6EAA6E;IAC7E,aAAa,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CACrD,CAAC,CAyID;AAwKD,wBAAgB,iBAAiB,IAAI,OAAO,CAgN3C"}
|