commandmate 0.34.1 → 0.36.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 +365 -343
- package/.next/app-path-routes-manifest.json +29 -29
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +12 -12
- 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/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update-check/route.js +1 -1
- package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/conversation/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/current-output/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js +1 -1
- package/.next/server/app/api/assistant/messages/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/session/route.js +1 -1
- package/.next/server/app/api/assistant/session/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route.js +1 -1
- package/.next/server/app/api/assistant/start/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js +1 -1
- package/.next/server/app/api/assistant/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/assistant/tools/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.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 +1 -1
- 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.nft.json +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route.js.nft.json +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/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/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/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.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/todos/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.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]/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.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.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.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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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.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.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_client-reference-manifest.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/chat/page.js +2 -2
- package/.next/server/app/chat/page.js.nft.json +1 -1
- package/.next/server/app/chat/page_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.js +2 -2
- package/.next/server/app/more/page.js.nft.json +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.js +1 -1
- package/.next/server/app/page.js.nft.json +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.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +2 -2
- 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 +2 -2
- 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.js +2 -2
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +1 -1
- package/.next/server/app/skills/page.js.nft.json +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_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +9 -22
- 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 +29 -29
- package/.next/server/chunks/1210.js +1 -1
- package/.next/server/chunks/{6286.js → 1467.js} +6 -6
- package/.next/server/chunks/1707.js +14 -0
- package/.next/server/chunks/1886.js +1 -1
- package/.next/server/chunks/2980.js +1 -1
- package/.next/server/chunks/3077.js +1 -1
- package/.next/server/chunks/3123.js +1 -1
- package/.next/server/chunks/3241.js +1 -1
- package/.next/server/chunks/3323.js +1 -1
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/364.js +1 -0
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/434.js +1 -1
- package/.next/server/chunks/4443.js +1 -1
- package/.next/server/chunks/450.js +1 -1
- package/.next/server/chunks/4802.js +1 -1
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/650.js +1 -1
- package/.next/server/chunks/6677.js +3 -3
- package/.next/server/chunks/7004.js +1 -0
- package/.next/server/chunks/7075.js +1 -1
- package/.next/server/chunks/7506.js +1 -1
- package/.next/server/chunks/7905.js +1 -1
- package/.next/server/chunks/8142.js +1 -0
- package/.next/server/chunks/8728.js +8 -0
- package/.next/server/chunks/8918.js +5 -5
- package/.next/server/chunks/9123.js +2 -2
- package/.next/server/chunks/9627.js +1 -1
- package/.next/server/chunks/9701.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- 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/2039-117a361f795ddc4b.js +1 -0
- package/.next/static/chunks/2053-ce3fe896ad45e50f.js +1 -0
- package/.next/static/chunks/2407-6b8ca567e18ad583.js +1 -0
- package/.next/static/chunks/3160-79d24ca264a528b9.js +1 -0
- package/.next/static/chunks/{4322-dfd5a7119b5ba4fc.js → 4322-59a7dbd77a7763cc.js} +1 -1
- package/.next/static/chunks/4388-410b1d8ed0d8d98b.js +1 -0
- package/.next/static/chunks/4718-56ebb6e55073ed5e.js +1 -0
- package/.next/static/chunks/4949-d804db873cfd9310.js +1 -0
- package/.next/static/chunks/{6022-7a7d1760fc9814c7.js → 6022-d2d7bd9373ff3ae9.js} +1 -1
- package/.next/static/chunks/6983-3ed2099251793bdf.js +1 -0
- package/.next/static/chunks/934-a37509667baa86ee.js +1 -0
- package/.next/static/chunks/9526-4fe2fc64be44e5c1.js +1 -0
- package/.next/static/chunks/app/chat/page-bfc1f5bb17bd771d.js +1 -0
- package/.next/static/chunks/app/error-c1dc1038d0a84a33.js +1 -0
- package/.next/static/chunks/app/global-error-49f765ecb7fd6527.js +1 -0
- package/.next/static/chunks/app/{layout-4c2f21e3f653ee4c.js → layout-114dc6e93e332392.js} +1 -1
- package/.next/static/chunks/app/more/page-400ffa825f8f150e.js +1 -0
- package/.next/static/chunks/app/{page-26a42881c8648cd3.js → page-a4f03c188610c6c8.js} +1 -1
- package/.next/static/chunks/app/repositories/{page-2576158c8420fda0.js → page-a15efb4ce1d1721e.js} +1 -1
- package/.next/static/chunks/app/review/{page-35b99baaf3c93b38.js → page-90ac618489676cbc.js} +1 -1
- package/.next/static/chunks/app/sessions/page-366edfaa0b1faad2.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/{page-06799157652e8fa9.js → page-ce8f6fd9e4356580.js} +1 -1
- package/.next/static/chunks/app/skills/installed/{page-2f3987e3a131c8d0.js → page-566dfde26d7e63ba.js} +1 -1
- package/.next/static/chunks/app/skills/{page-e70bfcf5ed4e4865.js → page-7859540e8092aace.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-df482ec0c378c77b.js +1 -0
- package/.next/static/chunks/{webpack-1dc9eb5ebb4fa5ff.js → webpack-0281b30457d46ebc.js} +1 -1
- package/.next/static/css/c511ecdf1e7f18a0.css +1 -0
- package/.next/trace +14 -13
- package/dist/lib/detection/tools/verified-against.d.ts +20 -0
- package/dist/lib/detection/tools/verified-against.d.ts.map +1 -1
- package/dist/lib/detection/tools/verified-against.js +20 -0
- package/dist/server/src/config/websocket-config.js +67 -0
- package/dist/server/src/lib/auto-yes-poller.js +40 -7
- package/dist/server/src/lib/auto-yes-state.js +36 -0
- package/dist/server/src/lib/detection/selection-shape.js +361 -3
- package/dist/server/src/lib/detection/tools/command-code/detect.js +96 -0
- package/dist/server/src/lib/detection/tools/command-code/dialog.js +314 -0
- package/dist/server/src/lib/detection/tools/verified-against.js +20 -0
- package/dist/server/src/lib/polling/response-checker.js +48 -2
- package/dist/server/src/lib/ws-server.js +111 -1
- package/package.json +1 -1
- package/public/sw.js +12 -0
- package/.next/server/chunks/120.js +0 -1
- package/.next/server/chunks/595.js +0 -8
- package/.next/server/chunks/7593.js +0 -1
- package/.next/static/chunks/1191-b7dfdfe86b1d31d1.js +0 -1
- package/.next/static/chunks/2053-9ac860ab4e92ac89.js +0 -1
- package/.next/static/chunks/2652-18b8fea64413467e.js +0 -1
- package/.next/static/chunks/4718-29cfcfb806724d9a.js +0 -1
- package/.next/static/chunks/5542-b6457f305d724a6b.js +0 -1
- package/.next/static/chunks/8361-0142beb59be2abf3.js +0 -1
- package/.next/static/chunks/app/chat/page-e60d07c4c79602f0.js +0 -1
- package/.next/static/chunks/app/error-27ab04bce6545dae.js +0 -1
- package/.next/static/chunks/app/global-error-7b761b8e181ffc1f.js +0 -1
- package/.next/static/chunks/app/more/page-fc94f86aa881489e.js +0 -1
- package/.next/static/chunks/app/sessions/page-a3ab6f122ec60d5a.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-60eab4e24c37cb77.js +0 -1
- package/.next/static/css/b09bede85744e1cf.css +0 -1
- /package/.next/static/{oDWX0JcwfhUYrMnnqDWVC → zNNp00FuBenN_iZtIvIBP}/_buildManifest.js +0 -0
- /package/.next/static/{oDWX0JcwfhUYrMnnqDWVC → zNNp00FuBenN_iZtIvIBP}/_ssgManifest.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
"use strict";exports.id=8918,exports.ids=[8918],exports.modules={12462:(a,b,c)=>{c.d(b,{T8:()=>k,fT:()=>l,o4:()=>m});var d=c(31990),e=c(56791),f=c(49640),g=c(82450),h=c(15194);let i=(0,c(72626).h)("assistant-response-saver");function j(a){let b=a.split("\n"),c=b.length;for(;c>0&&""===b[c-1].trim();)c--;return c}function k(a,b){switch(b){case"claude":return(0,g.NN)(a);case"gemini":return(0,g.IS)(a);case"opencode":return(0,g.aW)(a);case"copilot":return(0,g.LH)(a);case"codex":case"command-code":case"antigravity":case"vibe-local":return(0,g.Te)(a,b);default:return a.trim()}}async function l(a){let{worktreeId:b,cliToolId:f}=a,g=a.instanceId??f;try{if((0,h.VA)(f))return null;let k=await (0,d.Wh)(b,f,1e4,a.instanceId);if(!k)return null;let l=j(k),{getDbInstance:m}=await Promise.resolve().then(c.bind(c,88807)),n=m(),o=(0,e.getSessionState)(n,b,g)?.lastCapturedLine||0;if(l<=o)return null;return(0,e.updateSessionState)(n,b,f,l,a.instanceId),i.info("transcript:cursor-advanced",{worktreeId:b,instanceId:g,from:o,to:l}),l}catch(a){return i.debug("transcript:cursor-advance-failed",{worktreeId:b,instanceId:g,error:a instanceof Error?a.message:String(a)}),null}}async function m(a,b,c,g,l){let m=l??c;try{let n;if((0,h.VA)(c))return null;let o=(0,e.getSessionState)(a,b,m),p=o?.lastCapturedLine||0;try{n=await (0,d.Wh)(b,c,1e4,l)}catch{return i.info("failed-to-capture"),null}if(!n)return null;let q=n.split("\n"),r=j(n),{bufferReset:s,reason:t}=r>0&&p>25&&r+25<p?{bufferReset:!0,reason:"shrink"}:r>0&&p>50&&r<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};s&&i.info("buffer:reset-detected",{reason:t,currentLineCount:r,lastCapturedLine:p});let u=s?0:p;if(!s&&r<=p)return r<p&&((0,e.updateSessionState)(a,b,c,r,l),i.info("position:corrected-stale",{from:p,to:r})),null;let v=q.slice(u).join("\n"),w=k(v,c);if(!w||""===w.trim())return(0,e.updateSessionState)(a,b,c,r,l),i.debug("response:empty-after-clean",{currentLineCount:r}),null;let x=new Date(g.getTime()-1),y=(0,e.createMessage)(a,{worktreeId:b,role:"assistant",content:w,messageType:"normal",timestamp:x,cliToolId:c,instanceId:m});return(0,e.updateSessionState)(a,b,c,r,l),(0,f.broadcastMessage)("message",{worktreeId:b,message:y}),i.info("response:saved",{fromLine:p,toLine:r}),y}catch(a){return i.error("error:",{error:a instanceof Error?a.message:String(a)}),null}}},13033:(a,b,c)=>{c.d(b,{IW:()=>h,IZ:()=>l,K0:()=>g,Uz:()=>m,l1:()=>f,o0:()=>i,q1:()=>n,tb:()=>k,vQ:()=>j});var d=c(85164);let e=globalThis.__tuiResponseAccumulator??(globalThis.__tuiResponseAccumulator=new Map);function f(a){return(0,d._A)((0,d.aJ)(a)).replace(/^\u2503\s?/,"").replace(/\s*\u2503$/,"").trim()}function g(a){let b=a.split("\n"),c=[];for(let a of b){let b=f(a);!(!b||d.sx.some(a=>a.test(b)))&&(d.Md.test(b)||c.push(b))}return c}function h(a){return a.replace(/[\u2500-\u257F]/g,"").replace(/\s{2,}/g," ").trim()}function i(a){let b=(0,d.aJ)(a).split("\n");if((0,d.gT)(b))return[];let c=(0,d.wv)(b),e=c>=0?b.slice(0,c):b,f=[],g=!1;for(let a of e){if(d.JN.test(a)){g=!1;continue}if(d.y.test(a))g=!0;else if(g){if(d.Fg.test(a))continue;g=!1}let b=h(a);b&&(d.J7.some(a=>a.test(b))||f.push(b))}return f}function j(a,b){if(0===a.length||0===b.length)return 0;let c=Math.min(a.length,b.length);for(let d=c;d>=1;d--){let c=a.slice(-d),e=b.slice(0,d),f=!0;for(let a=0;a<d;a++)if(c[a]!==e[a]){f=!1;break}if(f)return d}return 0}function k(a){e.set(a,{lines:[],lastFingerprint:[],pollCount:0})}function l(a,b,c="opencode"){let d=e.get(a);if(!d)return;let f="copilot"===c?i(b):g(b);if(0!==f.length){if(d.pollCount++,0===d.lines.length)d.lines=[...f];else{let a=j(d.lastFingerprint,f);if(a>0){let b=f.slice(a);d.lines.push(...b)}else d.lines.push(...f)}d.lastFingerprint=f.slice(-10)}}function m(a){let b=e.get(a);return b&&0!==b.lines.length?b.lines.join("\n"):""}function n(a){e.delete(a)}},18201:(a,b,c)=>{c.d(b,{Ce:()=>g,pk:()=>e});let d=(0,c(72626).h)("lib/history/user-turn-recorder");function e(a){return a.replace(/\r\n?/g,"\n").split("\n").map(a=>a.replace(/[ \t ]+$/u,"")).join("\n").trim()}function f(a){return{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId}}async function g(a,b,h,i,j={}){let k=a.instanceId??a.cliToolId,l=e(h);if(0===b.length||0===l.length)return{outcome:"skipped",messageId:null,timestampMs:null};try{let[{getDbInstance:g},m,{broadcastMessage:n}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,52660)),Promise.resolve().then(c.bind(c,49640))]),o=g(),p=m.findMessageByRequestId(o,a.worktreeId,b);if(p)return{outcome:"already-recorded",messageId:p.id,timestampMs:p.timestamp.getTime()};let q=i>0?i:Date.now(),r=function(a,b,c,g,h,i,j,k){var l,m,n;let o=Math.min(j-12e4,k.adoptionFromMs??1/0),p=(l=a.findUnkeyedUserMessages(b,{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:g,fromMs:o,toMs:j+12e4,includeRelayDelivered:!0}),m=i,n=j,l.filter(a=>e(a.content)===m).sort((a,b)=>Math.abs(a.timestamp.getTime()-n)-Math.abs(b.timestamp.getTime()-n)));for(let e of p)if(!e.requestId&&a.setMessageRequestId(b,e.id,h))return d.info("user-turn-adopted",{...f(c),requestId:h,messageId:e.id,driftMs:e.timestamp.getTime()-j}),{outcome:"adopted",messageId:e.id,timestampMs:e.timestamp.getTime()};let q=p.find(a=>a.requestId);return q?(d.info("user-turn-already-relayed",{...f(c),requestId:h,messageId:q.id,relayRequestId:q.requestId??null,driftMs:q.timestamp.getTime()-j}),{outcome:"already-recorded",messageId:q.id,timestampMs:q.timestamp.getTime()}):null}(m,o,a,k,b,l,q,j);if(r)return r;let s=m.createMessage(o,{worktreeId:a.worktreeId,role:"user",content:h,messageType:"normal",timestamp:new Date(q),cliToolId:a.cliToolId,instanceId:k,requestId:b});return n("message",{worktreeId:a.worktreeId,message:s}),d.info("user-turn-recorded",{...f(a),requestId:b,contentLength:h.length}),{outcome:"inserted",messageId:s.id,timestampMs:q}}catch(c){return d.error("user-turn-record-failed",{...f(a),requestId:b,error:c instanceof Error?c.message:String(c)}),{outcome:"failed",messageId:null,timestampMs:null}}}},28918:(a,b,c)=>{c.r(b),c.d(b,{captureStructuredHistoryTurn:()=>a5,hasStructuredHistoryTranscript:()=>a6,isPullTranscriptHistory:()=>a3,isStructuredHistoryWriterLive:()=>a4,resetStructuredHistoryCaptureQueue:()=>a0});var d=c(72626),e=c(53163),f=c(79696),g=c(79748),h=c(21820),i=c(33873),j=c(24455);let k=(0,d.h)("lib/history/transcript-tail");async function l(a){let b;try{b=await (0,g.open)(a,"r");let{size:c}=await b.stat(),d=Math.max(0,c-4194304),e=c-d;if(e<=0)return"";let f=Buffer.alloc(e),{bytesRead:h}=await b.read(f,0,e,d),i=f.subarray(0,h).toString("utf8");if(0===d)return i;let j=i.indexOf("\n");return -1===j?"":i.slice(j+1)}catch(b){return k.warn("transcript-tail-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}var m=c(18201),n=c(12462),o=c(86594),p=c(57510),q=c(27128);let r=["sessions"],s=".jsonl",t="\n\n_(truncated)_";function u(a){return a.replace(/\s+/g," ").trim()}function v(a){return a.length<=200?a:`${a.slice(0,199)}…`}let w=new Set(["ContextCompaction"]),x={CommandExecution:"exec",FileChange:"edit",McpToolCall:"mcp",ImageView:"view",Extension:"extension"};function y(a){return a.text?.trim()??""}let z=(0,d.h)("lib/hooks/sources/codex/history"),A=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,B=globalThis.__codexTranscriptSessions??=new Map,C=globalThis.__codexTranscriptPaths??=new Map;async function D(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return B.set(b,e),e}catch(b){z.debug("codex-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return B.get(b)??null}function E(a=process.env){let b=a.CODEX_HOME;return"string"==typeof b&&b.length>0?b:(0,i.join)((0,h.homedir)(),".codex")}function F(a){return(0,i.join)(a,...r)}async function G(a,b,c=4){return A.test(b)?H(F(a),b,c):null}async function H(a,b,c){let d;if(c<=0)return null;try{d=await (0,g.readdir)(a,{withFileTypes:!0})}catch{return null}let e=[];for(let c of d){if(c.isFile()){var f;if(f=c.name,f.startsWith("rollout-")&&f.endsWith(`-${b}${s}`))return(0,i.join)(a,c.name);continue}c.isDirectory()&&e.push(c.name)}for(let d of(e.sort((a,b)=>a<b?1:a>b?-1:0),e)){let e=await H((0,i.join)(a,d),b,c-1);if(e)return e}return null}async function I(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.codexHome??E(),f=await D(a);if(!f)return z.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-session-pointer"}),!1;let g=await L(e,f);if(!g)return z.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:"no-file"}),!1;let h=await l(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,p.Qd)(a))return null;let b=(0,p.O2)(a,"type");if(!b)return null;let c=(0,p.Qd)(a.payload)?a.payload:null,d=c?(0,p.O2)(c,"type"):null,e=(0,p.O2)(a,"timestamp"),f=e?Date.parse(e):NaN;return{type:b,payloadType:d,turnId:c?(0,p.O2)(c,"turn_id"):null,sessionId:c?(0,p.O2)(c,"session_id")??(0,p.O2)(c,"thread_id"):null,timestampMs:Number.isFinite(f)?f:null,item:c&&"item_completed"===d?function(a){var b,c;if(!(0,p.Qd)(a))return null;let d=(0,p.O2)(a,"type");return d?{type:d,id:(0,p.O2)(a,"id"),text:(b=d,c=a,"UserMessage"===b||"AgentMessage"===b?function(a){if(!Array.isArray(a))return null;let b="";for(let c of a){if(!(0,p.Qd)(c))continue;let a=(0,p.O2)(c,"text");a&&(b+=a)}return b.length>0?b:null}(c.content):"Reasoning"===b?function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a&&""!==a);return b.length>0?b.join("\n\n"):null}(c.summary_text):null),phase:(0,p.O2)(a,"phase"),detail:function(a,b){if("CommandExecution"===a){let a=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!(0,p.Qd)(c))continue;let a=(0,p.O2)(c,"cmd");a&&b.push(a)}return b.length>0?b.join(" ; "):null}(b.parsed_cmd);if(a)return v(u(a));let c=function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a);return b.length>0?b.join(" "):null}(b.command);return c?v(u(c)):null}if("FileChange"===a){let a=b.changes;if(!(0,p.Qd)(a))return null;let c=Object.keys(a);return c.length>0?v(c.join(", ")):null}if("McpToolCall"===a){let a=(0,p.O2)(b,"server"),c=(0,p.O2)(b,"tool");return a||c?v([a,c].filter(Boolean).join(".")):null}if("ImageView"===a){let a=(0,p.O2)(b,"path");return a?v(a):null}if("Extension"===a){let a=(0,p.O2)(b,"query")??(0,p.O2)(b,"action");return a?v(u(a)):null}return null}(d,a)}:null}(c.item):null}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=new Map,d=0,e=0,f=null;for(let g of a){if("session_meta"===g.type&&g.sessionId&&(f=g.sessionId),"response_item"===g.type){d+=1;continue}let a=g.turnId;if(!a){e+=1;continue}let h=c.get(a);if(h||(h={sessionId:g.sessionId??f??b,turnId:a,startedAt:g.timestampMs??0,prompts:[],items:[],started:!1,closed:!1,overflowed:!1},c.set(a,h)),"task_started"===g.payloadType){h.started=!0;continue}if("task_complete"===g.payloadType){h.closed=!0;continue}let i=g.item;if(i){if("UserMessage"===i.type){i.id&&i.text&&h.prompts.push({itemId:i.id,text:i.text,timestampMs:g.timestampMs??h.startedAt});continue}if(h.items.length>=2048){h.overflowed=!0;continue}h.items.push(i)}}return{turns:[...c.values()],duplicateStreamRecords:d,turnlessRecords:e}}(i.records,f);if(0===j.turns.length)return z.info("codex-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,duplicateStreamRecords:j.duplicateStreamRecords}),!1;i.malformedLines>0&&z.info("codex-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,turnlessRecords:j.turnlessRecords,duplicateStreamRecords:j.duplicateStreamRecords});let k=await K(a,j.turns);if(0===k.turns.length)return z.debug("codex-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,n.fT)(a),!0;k.turns.length>1&&z.info("codex-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:k.turns.length,turnsInWindow:j.turns.length,anchored:k.anchored});let m=[];for(let b=0;b<k.turns.length;b+=1){let c=0===b?k.previousStartedAt:k.turns[b-1].startedAt;m.push(await N(a,k.turns[b],c))}let o={path:g,firstRecordAt:function(a){for(let b of a)if(null!==b.timestampMs)return b.timestampMs;return null}(i.records),turnlessRecords:j.turnlessRecords,malformedLines:i.malformedLines},r=function(a){let b=new Map;for(let c of a){if("response_item"===c.type)continue;let a=c.turnId;a&&null!==c.timestampMs&&c.timestampMs>(b.get(a)??0)&&b.set(a,c.timestampMs)}return b}(i.records),s=!1;for(let b=0;b<k.turns.length;b+=1){let d=k.turns[b];s=await O(a,d,function(a){let b=[],c=new Set,d=0,e=0,f=a.items.some(a=>"AgentMessage"===a.type&&"final_answer"===a.phase&&y(a).length>0);for(let g of a.items){if("AgentMessage"===g.type){let a=y(g);if(0===a.length)continue;let c=f&&"commentary"===g.phase;b.push({kind:c?"reasoning":"prose",text:a}),d+=1;continue}if("Reasoning"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
|
|
1
|
+
"use strict";exports.id=8918,exports.ids=[8918],exports.modules={12462:(a,b,c)=>{c.d(b,{T8:()=>k,fT:()=>l,o4:()=>m});var d=c(31990),e=c(56791),f=c(43015),g=c(82450),h=c(15194);let i=(0,c(72626).h)("assistant-response-saver");function j(a){let b=a.split("\n"),c=b.length;for(;c>0&&""===b[c-1].trim();)c--;return c}function k(a,b){switch(b){case"claude":return(0,g.NN)(a);case"gemini":return(0,g.IS)(a);case"opencode":return(0,g.aW)(a);case"copilot":return(0,g.LH)(a);case"codex":case"command-code":case"antigravity":case"vibe-local":return(0,g.Te)(a,b);default:return a.trim()}}async function l(a){let{worktreeId:b,cliToolId:f}=a,g=a.instanceId??f;try{if((0,h.VA)(f))return null;let k=await (0,d.Wh)(b,f,1e4,a.instanceId);if(!k)return null;let l=j(k),{getDbInstance:m}=await Promise.resolve().then(c.bind(c,88807)),n=m(),o=(0,e.getSessionState)(n,b,g)?.lastCapturedLine||0;if(l<=o)return null;return(0,e.updateSessionState)(n,b,f,l,a.instanceId),i.info("transcript:cursor-advanced",{worktreeId:b,instanceId:g,from:o,to:l}),l}catch(a){return i.debug("transcript:cursor-advance-failed",{worktreeId:b,instanceId:g,error:a instanceof Error?a.message:String(a)}),null}}async function m(a,b,c,g,l){let m=l??c;try{let n;if((0,h.VA)(c))return null;let o=(0,e.getSessionState)(a,b,m),p=o?.lastCapturedLine||0;try{n=await (0,d.Wh)(b,c,1e4,l)}catch{return i.info("failed-to-capture"),null}if(!n)return null;let q=n.split("\n"),r=j(n),{bufferReset:s,reason:t}=r>0&&p>25&&r+25<p?{bufferReset:!0,reason:"shrink"}:r>0&&p>50&&r<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};s&&i.info("buffer:reset-detected",{reason:t,currentLineCount:r,lastCapturedLine:p});let u=s?0:p;if(!s&&r<=p)return r<p&&((0,e.updateSessionState)(a,b,c,r,l),i.info("position:corrected-stale",{from:p,to:r})),null;let v=q.slice(u).join("\n"),w=k(v,c);if(!w||""===w.trim())return(0,e.updateSessionState)(a,b,c,r,l),i.debug("response:empty-after-clean",{currentLineCount:r}),null;let x=new Date(g.getTime()-1),y=(0,e.createMessage)(a,{worktreeId:b,role:"assistant",content:w,messageType:"normal",timestamp:x,cliToolId:c,instanceId:m});return(0,e.updateSessionState)(a,b,c,r,l),(0,f.broadcastMessage)("message",{worktreeId:b,message:y}),i.info("response:saved",{fromLine:p,toLine:r}),y}catch(a){return i.error("error:",{error:a instanceof Error?a.message:String(a)}),null}}},13033:(a,b,c)=>{c.d(b,{IW:()=>h,IZ:()=>l,K0:()=>g,Uz:()=>m,l1:()=>f,o0:()=>i,q1:()=>n,tb:()=>k,vQ:()=>j});var d=c(85164);let e=globalThis.__tuiResponseAccumulator??(globalThis.__tuiResponseAccumulator=new Map);function f(a){return(0,d._A)((0,d.aJ)(a)).replace(/^\u2503\s?/,"").replace(/\s*\u2503$/,"").trim()}function g(a){let b=a.split("\n"),c=[];for(let a of b){let b=f(a);!(!b||d.sx.some(a=>a.test(b)))&&(d.Md.test(b)||c.push(b))}return c}function h(a){return a.replace(/[\u2500-\u257F]/g,"").replace(/\s{2,}/g," ").trim()}function i(a){let b=(0,d.aJ)(a).split("\n");if((0,d.gT)(b))return[];let c=(0,d.wv)(b),e=c>=0?b.slice(0,c):b,f=[],g=!1;for(let a of e){if(d.JN.test(a)){g=!1;continue}if(d.y.test(a))g=!0;else if(g){if(d.Fg.test(a))continue;g=!1}let b=h(a);b&&(d.J7.some(a=>a.test(b))||f.push(b))}return f}function j(a,b){if(0===a.length||0===b.length)return 0;let c=Math.min(a.length,b.length);for(let d=c;d>=1;d--){let c=a.slice(-d),e=b.slice(0,d),f=!0;for(let a=0;a<d;a++)if(c[a]!==e[a]){f=!1;break}if(f)return d}return 0}function k(a){e.set(a,{lines:[],lastFingerprint:[],pollCount:0})}function l(a,b,c="opencode"){let d=e.get(a);if(!d)return;let f="copilot"===c?i(b):g(b);if(0!==f.length){if(d.pollCount++,0===d.lines.length)d.lines=[...f];else{let a=j(d.lastFingerprint,f);if(a>0){let b=f.slice(a);d.lines.push(...b)}else d.lines.push(...f)}d.lastFingerprint=f.slice(-10)}}function m(a){let b=e.get(a);return b&&0!==b.lines.length?b.lines.join("\n"):""}function n(a){e.delete(a)}},18201:(a,b,c)=>{c.d(b,{Ce:()=>g,pk:()=>e});let d=(0,c(72626).h)("lib/history/user-turn-recorder");function e(a){return a.replace(/\r\n?/g,"\n").split("\n").map(a=>a.replace(/[ \t ]+$/u,"")).join("\n").trim()}function f(a){return{worktreeId:a.worktreeId,cliToolId:a.cliToolId,instanceId:a.instanceId??a.cliToolId}}async function g(a,b,h,i,j={}){let k=a.instanceId??a.cliToolId,l=e(h);if(0===b.length||0===l.length)return{outcome:"skipped",messageId:null,timestampMs:null};try{let[{getDbInstance:g},m,{broadcastMessage:n}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,52660)),Promise.resolve().then(c.bind(c,43015))]),o=g(),p=m.findMessageByRequestId(o,a.worktreeId,b);if(p)return{outcome:"already-recorded",messageId:p.id,timestampMs:p.timestamp.getTime()};let q=i>0?i:Date.now(),r=function(a,b,c,g,h,i,j,k){var l,m,n;let o=Math.min(j-12e4,k.adoptionFromMs??1/0),p=(l=a.findUnkeyedUserMessages(b,{worktreeId:c.worktreeId,cliToolId:c.cliToolId,instanceId:g,fromMs:o,toMs:j+12e4,includeRelayDelivered:!0}),m=i,n=j,l.filter(a=>e(a.content)===m).sort((a,b)=>Math.abs(a.timestamp.getTime()-n)-Math.abs(b.timestamp.getTime()-n)));for(let e of p)if(!e.requestId&&a.setMessageRequestId(b,e.id,h))return d.info("user-turn-adopted",{...f(c),requestId:h,messageId:e.id,driftMs:e.timestamp.getTime()-j}),{outcome:"adopted",messageId:e.id,timestampMs:e.timestamp.getTime()};let q=p.find(a=>a.requestId);return q?(d.info("user-turn-already-relayed",{...f(c),requestId:h,messageId:q.id,relayRequestId:q.requestId??null,driftMs:q.timestamp.getTime()-j}),{outcome:"already-recorded",messageId:q.id,timestampMs:q.timestamp.getTime()}):null}(m,o,a,k,b,l,q,j);if(r)return r;let s=m.createMessage(o,{worktreeId:a.worktreeId,role:"user",content:h,messageType:"normal",timestamp:new Date(q),cliToolId:a.cliToolId,instanceId:k,requestId:b});return n("message",{worktreeId:a.worktreeId,message:s}),d.info("user-turn-recorded",{...f(a),requestId:b,contentLength:h.length}),{outcome:"inserted",messageId:s.id,timestampMs:q}}catch(c){return d.error("user-turn-record-failed",{...f(a),requestId:b,error:c instanceof Error?c.message:String(c)}),{outcome:"failed",messageId:null,timestampMs:null}}}},28918:(a,b,c)=>{c.r(b),c.d(b,{captureStructuredHistoryTurn:()=>a5,hasStructuredHistoryTranscript:()=>a6,isPullTranscriptHistory:()=>a3,isStructuredHistoryWriterLive:()=>a4,resetStructuredHistoryCaptureQueue:()=>a0});var d=c(72626),e=c(53163),f=c(79696),g=c(79748),h=c(21820),i=c(33873),j=c(24455);let k=(0,d.h)("lib/history/transcript-tail");async function l(a){let b;try{b=await (0,g.open)(a,"r");let{size:c}=await b.stat(),d=Math.max(0,c-4194304),e=c-d;if(e<=0)return"";let f=Buffer.alloc(e),{bytesRead:h}=await b.read(f,0,e,d),i=f.subarray(0,h).toString("utf8");if(0===d)return i;let j=i.indexOf("\n");return -1===j?"":i.slice(j+1)}catch(b){return k.warn("transcript-tail-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}var m=c(18201),n=c(12462),o=c(86594),p=c(57510),q=c(27128);let r=["sessions"],s=".jsonl",t="\n\n_(truncated)_";function u(a){return a.replace(/\s+/g," ").trim()}function v(a){return a.length<=200?a:`${a.slice(0,199)}…`}let w=new Set(["ContextCompaction"]),x={CommandExecution:"exec",FileChange:"edit",McpToolCall:"mcp",ImageView:"view",Extension:"extension"};function y(a){return a.text?.trim()??""}let z=(0,d.h)("lib/hooks/sources/codex/history"),A=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,B=globalThis.__codexTranscriptSessions??=new Map,C=globalThis.__codexTranscriptPaths??=new Map;async function D(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return B.set(b,e),e}catch(b){z.debug("codex-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return B.get(b)??null}function E(a=process.env){let b=a.CODEX_HOME;return"string"==typeof b&&b.length>0?b:(0,i.join)((0,h.homedir)(),".codex")}function F(a){return(0,i.join)(a,...r)}async function G(a,b,c=4){return A.test(b)?H(F(a),b,c):null}async function H(a,b,c){let d;if(c<=0)return null;try{d=await (0,g.readdir)(a,{withFileTypes:!0})}catch{return null}let e=[];for(let c of d){if(c.isFile()){var f;if(f=c.name,f.startsWith("rollout-")&&f.endsWith(`-${b}${s}`))return(0,i.join)(a,c.name);continue}c.isDirectory()&&e.push(c.name)}for(let d of(e.sort((a,b)=>a<b?1:a>b?-1:0),e)){let e=await H((0,i.join)(a,d),b,c-1);if(e)return e}return null}async function I(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.codexHome??E(),f=await D(a);if(!f)return z.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-session-pointer"}),!1;let g=await L(e,f);if(!g)return z.debug("codex-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:"no-file"}),!1;let h=await l(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,p.Qd)(a))return null;let b=(0,p.O2)(a,"type");if(!b)return null;let c=(0,p.Qd)(a.payload)?a.payload:null,d=c?(0,p.O2)(c,"type"):null,e=(0,p.O2)(a,"timestamp"),f=e?Date.parse(e):NaN;return{type:b,payloadType:d,turnId:c?(0,p.O2)(c,"turn_id"):null,sessionId:c?(0,p.O2)(c,"session_id")??(0,p.O2)(c,"thread_id"):null,timestampMs:Number.isFinite(f)?f:null,item:c&&"item_completed"===d?function(a){var b,c;if(!(0,p.Qd)(a))return null;let d=(0,p.O2)(a,"type");return d?{type:d,id:(0,p.O2)(a,"id"),text:(b=d,c=a,"UserMessage"===b||"AgentMessage"===b?function(a){if(!Array.isArray(a))return null;let b="";for(let c of a){if(!(0,p.Qd)(c))continue;let a=(0,p.O2)(c,"text");a&&(b+=a)}return b.length>0?b:null}(c.content):"Reasoning"===b?function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a&&""!==a);return b.length>0?b.join("\n\n"):null}(c.summary_text):null),phase:(0,p.O2)(a,"phase"),detail:function(a,b){if("CommandExecution"===a){let a=function(a){if(!Array.isArray(a))return null;let b=[];for(let c of a){if(!(0,p.Qd)(c))continue;let a=(0,p.O2)(c,"cmd");a&&b.push(a)}return b.length>0?b.join(" ; "):null}(b.parsed_cmd);if(a)return v(u(a));let c=function(a){if(!Array.isArray(a))return null;let b=a.filter(a=>"string"==typeof a);return b.length>0?b.join(" "):null}(b.command);return c?v(u(c)):null}if("FileChange"===a){let a=b.changes;if(!(0,p.Qd)(a))return null;let c=Object.keys(a);return c.length>0?v(c.join(", ")):null}if("McpToolCall"===a){let a=(0,p.O2)(b,"server"),c=(0,p.O2)(b,"tool");return a||c?v([a,c].filter(Boolean).join(".")):null}if("ImageView"===a){let a=(0,p.O2)(b,"path");return a?v(a):null}if("Extension"===a){let a=(0,p.O2)(b,"query")??(0,p.O2)(b,"action");return a?v(u(a)):null}return null}(d,a)}:null}(c.item):null}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=new Map,d=0,e=0,f=null;for(let g of a){if("session_meta"===g.type&&g.sessionId&&(f=g.sessionId),"response_item"===g.type){d+=1;continue}let a=g.turnId;if(!a){e+=1;continue}let h=c.get(a);if(h||(h={sessionId:g.sessionId??f??b,turnId:a,startedAt:g.timestampMs??0,prompts:[],items:[],started:!1,closed:!1,overflowed:!1},c.set(a,h)),"task_started"===g.payloadType){h.started=!0;continue}if("task_complete"===g.payloadType){h.closed=!0;continue}let i=g.item;if(i){if("UserMessage"===i.type){i.id&&i.text&&h.prompts.push({itemId:i.id,text:i.text,timestampMs:g.timestampMs??h.startedAt});continue}if(h.items.length>=2048){h.overflowed=!0;continue}h.items.push(i)}}return{turns:[...c.values()],duplicateStreamRecords:d,turnlessRecords:e}}(i.records,f);if(0===j.turns.length)return z.info("codex-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,duplicateStreamRecords:j.duplicateStreamRecords}),!1;i.malformedLines>0&&z.info("codex-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,turnlessRecords:j.turnlessRecords,duplicateStreamRecords:j.duplicateStreamRecords});let k=await K(a,j.turns);if(0===k.turns.length)return z.debug("codex-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,n.fT)(a),!0;k.turns.length>1&&z.info("codex-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:k.turns.length,turnsInWindow:j.turns.length,anchored:k.anchored});let m=[];for(let b=0;b<k.turns.length;b+=1){let c=0===b?k.previousStartedAt:k.turns[b-1].startedAt;m.push(await N(a,k.turns[b],c))}let o={path:g,firstRecordAt:function(a){for(let b of a)if(null!==b.timestampMs)return b.timestampMs;return null}(i.records),turnlessRecords:j.turnlessRecords,malformedLines:i.malformedLines},r=function(a){let b=new Map;for(let c of a){if("response_item"===c.type)continue;let a=c.turnId;a&&null!==c.timestampMs&&c.timestampMs>(b.get(a)??0)&&b.set(a,c.timestampMs)}return b}(i.records),s=!1;for(let b=0;b<k.turns.length;b+=1){let d=k.turns[b];s=await O(a,d,function(a){let b=[],c=new Set,d=0,e=0,f=a.items.some(a=>"AgentMessage"===a.type&&"final_answer"===a.phase&&y(a).length>0);for(let g of a.items){if("AgentMessage"===g.type){let a=y(g);if(0===a.length)continue;let c=f&&"commentary"===g.phase;b.push({kind:c?"reasoning":"prose",text:a}),d+=1;continue}if("Reasoning"===g.type){let a=g.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
|
|
2
2
|
>
|
|
3
|
-
${b}`}(a)});continue}if(g.type in x){b.push({kind:"tool",text:function(a){let b=x[a.type]??a.type;return a.detail?`- \`${b}\` — ${a.detail}`:`- \`${b}\``}(g)}),e+=1;continue}w.has(g.type)||c.add(g.type)}let g=(0,q.t3)(b).body;return!a.started&&g.length>0&&(g="_(head truncated)_\n\n"+g),g.length>2e5&&(g=g.slice(0,2e5-t.length)+t),{sessionId:a.sessionId,turnId:a.turnId,body:g,headless:!a.started,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}(d),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(d,m[b],r.get(d.turnId)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(k.turns,m,b)),o,c)}return s&&await (0,n.fT)(a),s}catch(b){return z.error("codex-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function J(a,b={}){try{let c=await D(a);if(!c)return null;return await L(b.codexHome??E(),c)}catch{return null}}async function K(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,o.ZS)(b[c].turnId);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function L(a,b){let c=`${a}\0${b}`,d=C.get(c);if(d&&await M(d))return d;d&&C.delete(c);let e=await G(a,b);if(!e)return null;let f=function(a,b){if(!b.endsWith(s)||b.includes("\0"))return null;let c=(0,i.resolve)(F(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,e);return f?(C.set(c,f),f):null}async function M(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function N(a,b,c=0){let d=a.instanceId??a.cliToolId,e={outcome:"skipped",messageId:null,timestampMs:null},f=c>0?{adoptionFromMs:c}:{};for(let c of b.prompts){let g=await (0,m.Ce)(a,(0,o.Ac)(c.itemId),c.text,c.timestampMs,f);if("failed"===g.outcome){z.warn("codex-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,turnId:b.turnId,promptItemId:c.itemId});continue}e=g}return e}async function O(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!b.closed)return g&&(g.outcome="not_yet_closed"),z.info("codex-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,items:b.items.length}),!1;if(0===d.body.length)return z.info("codex-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId}),!1;d.unknownBlockTypes.length>0&&z.info("codex-transcript-unknown-items",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,itemTypes:d.unknownBlockTypes}),b.overflowed&&z.info("codex-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId});let i=(0,o.ZS)(d.turnId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,
|
|
3
|
+
${b}`}(a)});continue}if(g.type in x){b.push({kind:"tool",text:function(a){let b=x[a.type]??a.type;return a.detail?`- \`${b}\` — ${a.detail}`:`- \`${b}\``}(g)}),e+=1;continue}w.has(g.type)||c.add(g.type)}let g=(0,q.t3)(b).body;return!a.started&&g.length>0&&(g="_(head truncated)_\n\n"+g),g.length>2e5&&(g=g.slice(0,2e5-t.length)+t),{sessionId:a.sessionId,turnId:a.turnId,body:g,headless:!a.started,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}(d),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(d,m[b],r.get(d.turnId)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(k.turns,m,b)),o,c)}return s&&await (0,n.fT)(a),s}catch(b){return z.error("codex-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function J(a,b={}){try{let c=await D(a);if(!c)return null;return await L(b.codexHome??E(),c)}catch{return null}}async function K(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,o.ZS)(b[c].turnId);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function L(a,b){let c=`${a}\0${b}`,d=C.get(c);if(d&&await M(d))return d;d&&C.delete(c);let e=await G(a,b);if(!e)return null;let f=function(a,b){if(!b.endsWith(s)||b.includes("\0"))return null;let c=(0,i.resolve)(F(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,e);return f?(C.set(c,f),f):null}async function M(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function N(a,b,c=0){let d=a.instanceId??a.cliToolId,e={outcome:"skipped",messageId:null,timestampMs:null},f=c>0?{adoptionFromMs:c}:{};for(let c of b.prompts){let g=await (0,m.Ce)(a,(0,o.Ac)(c.itemId),c.text,c.timestampMs,f);if("failed"===g.outcome){z.warn("codex-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,turnId:b.turnId,promptItemId:c.itemId});continue}e=g}return e}async function O(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!b.closed)return g&&(g.outcome="not_yet_closed"),z.info("codex-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,items:b.items.length}),!1;if(0===d.body.length)return z.info("codex-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId}),!1;d.unknownBlockTypes.length>0&&z.info("codex-transcript-unknown-items",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,itemTypes:d.unknownBlockTypes}),b.overflowed&&z.info("codex-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId});let i=(0,o.ZS)(d.turnId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j();if(l(n,a.worktreeId,i))return z.debug("codex-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),!0;d.headless&&z.info("codex-transcript-turn-headless",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,turnId:d.turnId,path:f.path,windowBytes:4194304,windowFirstRecordAt:f.firstRecordAt,turnlessRecords:f.turnlessRecords,malformedLines:f.malformedLines,promptsInWindow:b.prompts.length,itemsInWindow:b.items.length});let p=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:p}),z.info("codex-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f.path,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks,prompts:b.prompts.length}),!0}let P=[".system_generated","logs","transcript_full.jsonl"],Q="\n\n_(truncated)_",R="MODEL",S="PLANNER_RESPONSE",T=new Set(["RUN_COMMAND","VIEW_FILE","LIST_DIRECTORY","GREP_SEARCH","SEARCH_WEB","CODE_ACTION","GENERATE_IMAGE","GENERIC"]),U=new Set(["CHECKPOINT","CONVERSATION_HISTORY","SYSTEM_MESSAGE","EPHEMERAL_MESSAGE","ERROR_MESSAGE"]);function V(a){return a.closed||a.superseded}function W(a){let b=[],c=new Set,d=0,e=0;for(let f of a.records){if(f.source===R&&f.type===S){let a=f.thinking?.trim()??"";a.length>0&&b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
|
|
4
4
|
>
|
|
5
|
-
${b}`}(a)});let c=f.content?.trim()??"";for(let a of(c.length>0&&(b.push({kind:"prose",text:c}),d+=1),f.toolCalls))b.push({kind:"tool",text:a.detail?`- \`${a.name}\` — ${a.detail}`:`- \`${a.name}\``}),e+=1;continue}if(f.source===R){T.has(f.type)||c.add(f.type);continue}U.has(f.type)||c.add(f.type)}let f=(0,q.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-Q.length)+Q),{conversationId:a.conversationId,stepIndex:a.stepIndex,body:f,textBlocks:d,toolBlocks:e,unknownRecordTypes:[...c]}}function X(a){let b=0;for(let c of a.records)null!==c.timestampMs&&c.timestampMs>b&&(b=c.timestampMs);return b}function Y(a,b){let c=X(a),d={confirmed:!1,lastRecordAt:c,stopAt:b};return V(a)?c<=0?{...d,reason:"no-timestamped-record"}:null===b?{...d,reason:"no-stop-event"}:b<Math.max(c,a.startedAt)?{...d,reason:"stop-before-last-record"}:{confirmed:!0,reason:"stop-after-last-record",lastRecordAt:c,stopAt:b}:{...d,reason:"turn-open"}}let Z=(0,d.h)("lib/hooks/sources/antigravity/history"),$=[".gemini","antigravity-cli"],_=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aa=globalThis.__antigravityTranscriptConversations??=new Map,ab=globalThis.__antigravityUnsettledTurns??=new Map;function ac(a){return(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function ad(a,b,c,d){let e=ab.get(a);if(e&&e.conversationId!==b&&ab.delete(a),d){let b=ab.get(a);return b&&(b.steps=b.steps.filter(a=>a!==c),0===b.steps.length&&ab.delete(a)),null}let f=ab.get(a)??{conversationId:b,steps:[]};return(ab.set(a,f),f.steps.includes(c)||(f.steps.push(c),f.steps.length<=16))?null:f.steps.shift()??null}async function ae(a){try{let b=(await Promise.resolve().then(c.bind(c,48083))).getLastStopEventAt;if("function"!=typeof b)return null;return b(a.worktreeId,a.cliToolId,a.instanceId)??null}catch(b){return Z.debug("antigravity-transcript-stop-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)}),null}}async function af(a){let b=ac(a);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return aa.set(b,e),e}catch(b){Z.debug("antigravity-transcript-conversation-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return aa.get(b)??null}function ag(a=(0,h.homedir)()){return(0,i.join)(a,...$)}function ah(a){return(0,i.join)(a,"brain")}async function ai(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.antigravityHome??ag(),f=await af(a);if(!f)return Z.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-conversation-pointer"}),!1;let g=await al(e,f);if(!g)return Z.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,conversationId:f,reason:"no-file"}),!1;let h=await l(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,p.Qd)(a))return null;let b=a.step_index;if("number"!=typeof b||!Number.isInteger(b)||b<0)return null;let c=(0,p.O2)(a,"source"),d=(0,p.O2)(a,"type");if(!c||!d)return null;let e=(0,p.O2)(a,"created_at"),f=e?Date.parse(e):NaN,g=[];if(Array.isArray(a.tool_calls))for(let b of a.tool_calls){let a=function(a){var b;if(!(0,p.Qd)(a))return null;let c=(0,p.O2)(a,"name");if(!c)return null;let d=(0,p.Qd)(a.args)?a.args:null,e=d?(0,p.O2)(d,"toolAction")??(0,p.O2)(d,"toolSummary"):null;return{name:c,detail:e?(b=e.replace(/\s+/g," ").trim()).length<=200?b:`${b.slice(0,199)}…`:null}}(b);a&&g.push(a)}return{stepIndex:b,source:c,type:d,status:(0,p.O2)(a,"status"),timestampMs:Number.isFinite(f)?f:null,content:(0,p.O2)(a,"content"),thinking:(0,p.O2)(a,"thinking"),toolCalls:g}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=[],d=0;for(let g of a){var e,f;if(e=g,"USER_EXPLICIT"===e.source&&"USER_INPUT"===e.type){let a=g.content?function(a){let b=a.indexOf("<USER_REQUEST>");if(-1===b)return null;let c=b+14,d=a.indexOf("</USER_REQUEST>",c);if(-1===d)return null;let e=a.slice(c,d).trim();return e.length>0?e:null}(g.content):null,d=g.timestampMs??0;c.push({conversationId:b,stepIndex:g.stepIndex,startedAt:d,prompt:a?{stepIndex:g.stepIndex,text:a,timestampMs:g.timestampMs??d}:null,records:[],closed:!1,superseded:!1,overflowed:!1});continue}let a=c.at(-1);if(!a){d+=1;continue}if(g.source===R&&(a.closed=(f=g).source===R&&f.type===S&&!(f.toolCalls.length>0)&&(f.content??"").trim().length>0),a.records.length>=2048){a.overflowed=!0;continue}a.records.push(g)}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,preludeRecords:d}}(i.records,f);if(0===j.turns.length)return Z.info("antigravity-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,preludeRecords:j.preludeRecords}),!1;i.malformedLines>0&&Z.info("antigravity-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,preludeRecords:j.preludeRecords});let k=ac(a),m=await ae(a),o=new Map;for(let a of j.turns)o.set(a.stepIndex,Y(a,m));let q=j.turns[j.turns.length-1],r=o.get(q.stepIndex)??Y(q,m),s=function(a,b,c){let d=ab.get(a);if(!d||d.conversationId!==b)return[];let e=d.steps.filter(a=>!c.has(a));return 0===e.length?[]:(d.steps=d.steps.filter(a=>c.has(a)),0===d.steps.length&&ab.delete(a),e)}(k,f,new Set(j.turns.map(a=>a.stepIndex)));s.length>0&&Z.info("antigravity-transcript-unsettled-out-of-window",{worktreeId:a.worktreeId,instanceId:d,conversationId:f,steps:s,turnsInWindow:j.turns.length});let t=await ak(a,j.turns),u=j.turns.slice(0,j.turns.length-t.turns.length);if(await ap(a,function(a,b){let c=a.slice(-3);if(0===b.length)return c;let d=new Set(c.map(a=>a.stepIndex)),e=new Set(b),f=a.filter(a=>e.has(a.stepIndex)&&!d.has(a.stepIndex));return 0===f.length?c:[...f,...c]}(u,function(a,b){let c=ab.get(a);return c?c.conversationId!==b?(ab.delete(a),[]):c.steps:[]}(k,f)),g,{instanceKey:k,conversationId:f,completions:o}),0===t.turns.length)return Z.debug("antigravity-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,n.fT)(a),ar(c,q,r),!0;t.turns.length>1&&Z.info("antigravity-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:t.turns.length,turnsInWindow:j.turns.length,anchored:t.anchored});let v=[];for(let b=0;b<t.turns.length;b+=1){let c=0===b?t.previousStartedAt:t.turns[b-1].startedAt;v.push(await an(a,t.turns[b],c))}let w=!1;for(let b=0;b<t.turns.length;b+=1){let d=t.turns[b];(w=await as(a,d,W(d),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(d,v[b],X(d),function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(t.turns,v,b)),g,c))&&aq(a,k,d,o.get(d.stepIndex)??Y(d,m))}return w&&(await (0,n.fT)(a),ar(c,q,r)),w}catch(b){return Z.error("antigravity-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function aj(a,b={}){try{let c=await af(a);if(!c)return null;return await al(b.antigravityHome??ag(),c)}catch{return null}}async function ak(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=b[c],g=(0,o.O1)(d.conversationId,d.stepIndex);if(e(f,a.worktreeId,g))return{turns:b.slice(c+1),previousStartedAt:d.startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function al(a,b){let c=_.test(b)?(0,i.join)(ah(a),b,...P):null;if(!c)return null;let d=function(a,b){if(!b.endsWith(".jsonl")||b.includes("\0"))return null;let c=(0,i.resolve)(ah(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,c);return d&&await am(d)?d:null}async function am(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function an(a,b,c=0){let d={outcome:"skipped",messageId:null,timestampMs:null},e=b.prompt;if(!e)return d;let f=await (0,m.Ce)(a,(0,o.jN)(b.conversationId,e.stepIndex),e.text,e.timestampMs,c>0?{adoptionFromMs:c}:{});return"failed"===f.outcome?(Z.warn("antigravity-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:b.conversationId,stepIndex:e.stepIndex}),d):f}async function ao(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content;if("string"!=typeof g)return!1;let h=g.length;if(d.body.length<=h)return!1;let[{getDbInstance:i},{updateMessageContent:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,49640))]);return j(i(),b.id,d.body),k("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),Z.info("antigravity-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,conversationId:d.conversationId,stepIndex:d.stepIndex,requestId:b.requestId,path:e,previousLength:h,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}async function ap(a,b,d,e){if(0===b.length)return 0;let[{getDbInstance:f},{findMessageByRequestId:g}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),h=f(),i=0;for(let c of b){let b=g(h,a.worktreeId,(0,o.O1)(c.conversationId,c.stepIndex));if(!b){ad(e.instanceKey,e.conversationId,c.stepIndex,!0);continue}aq(a,e.instanceKey,c,e.completions.get(c.stepIndex)??Y(c,null)),V(c)&&await ao(a,b,W(c),d)&&(i+=1)}return i}function aq(a,b,c,d){let e=ad(b,c.conversationId,c.stepIndex,d.confirmed);null!==e&&Z.info("antigravity-transcript-unsettled-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:c.conversationId,step:e,limit:16})}function ar(a,b,c){a&&(a.completion=c.confirmed?"settled":"provisional",a.completionKey=c.confirmed?`${(0,o.O1)(b.conversationId,b.stepIndex)}@${c.lastRecordAt}`:void 0,a.completionReason=c.reason)}async function as(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!V(b))return g&&(g.outcome="not_yet_closed"),Z.info("antigravity-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return Z.info("antigravity-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length}),!1;d.unknownRecordTypes.length>0&&Z.info("antigravity-transcript-unknown-records",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,recordTypes:d.unknownRecordTypes}),b.overflowed&&Z.info("antigravity-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex});let i=(0,o.O1)(d.conversationId,d.stepIndex),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,49640))]),n=j(),p=l(n,a.worktreeId,i);if(p)return Z.debug("antigravity-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await ao(a,p,d,f),!0;let q=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:q}),Z.info("antigravity-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}let at=[".commandcode","projects"],au=".jsonl",av="message",aw="\n\n_(truncated)_",ax=["command","file_path","path","pattern","query","url","description"];function ay(a){return!(a.type!==av||"user"!==a.role||a.isMeta||!a.id||a.blocks.some(a=>"tool_result"===a.type))&&a.text.trim().length>0}function az(a){return a.closed||a.superseded}let aA=new Set(["tool_result"]);function aB(a){let b=[],c=new Set,d=0,e=0;for(let f of a.blocks){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("thinking"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
|
|
5
|
+
${b}`}(a)});let c=f.content?.trim()??"";for(let a of(c.length>0&&(b.push({kind:"prose",text:c}),d+=1),f.toolCalls))b.push({kind:"tool",text:a.detail?`- \`${a.name}\` — ${a.detail}`:`- \`${a.name}\``}),e+=1;continue}if(f.source===R){T.has(f.type)||c.add(f.type);continue}U.has(f.type)||c.add(f.type)}let f=(0,q.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-Q.length)+Q),{conversationId:a.conversationId,stepIndex:a.stepIndex,body:f,textBlocks:d,toolBlocks:e,unknownRecordTypes:[...c]}}function X(a){let b=0;for(let c of a.records)null!==c.timestampMs&&c.timestampMs>b&&(b=c.timestampMs);return b}function Y(a,b){let c=X(a),d={confirmed:!1,lastRecordAt:c,stopAt:b};return V(a)?c<=0?{...d,reason:"no-timestamped-record"}:null===b?{...d,reason:"no-stop-event"}:b<Math.max(c,a.startedAt)?{...d,reason:"stop-before-last-record"}:{confirmed:!0,reason:"stop-after-last-record",lastRecordAt:c,stopAt:b}:{...d,reason:"turn-open"}}let Z=(0,d.h)("lib/hooks/sources/antigravity/history"),$=[".gemini","antigravity-cli"],_=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aa=globalThis.__antigravityTranscriptConversations??=new Map,ab=globalThis.__antigravityUnsettledTurns??=new Map;function ac(a){return(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId)}function ad(a,b,c,d){let e=ab.get(a);if(e&&e.conversationId!==b&&ab.delete(a),d){let b=ab.get(a);return b&&(b.steps=b.steps.filter(a=>a!==c),0===b.steps.length&&ab.delete(a)),null}let f=ab.get(a)??{conversationId:b,steps:[]};return(ab.set(a,f),f.steps.includes(c)||(f.steps.push(c),f.steps.length<=16))?null:f.steps.shift()??null}async function ae(a){try{let b=(await Promise.resolve().then(c.bind(c,48083))).getLastStopEventAt;if("function"!=typeof b)return null;return b(a.worktreeId,a.cliToolId,a.instanceId)??null}catch(b){return Z.debug("antigravity-transcript-stop-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)}),null}}async function af(a){let b=ac(a);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return aa.set(b,e),e}catch(b){Z.debug("antigravity-transcript-conversation-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return aa.get(b)??null}function ag(a=(0,h.homedir)()){return(0,i.join)(a,...$)}function ah(a){return(0,i.join)(a,"brain")}async function ai(a,b={},c){let d=a.instanceId??a.cliToolId;try{let e=b.antigravityHome??ag(),f=await af(a);if(!f)return Z.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,reason:"no-conversation-pointer"}),!1;let g=await al(e,f);if(!g)return Z.debug("antigravity-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,conversationId:f,reason:"no-file"}),!1;let h=await l(g);if(null===h)return!1;let i=function(a){let b=[],c=0;for(let d of a.split("\n")){let a;if(0===d.trim().length)continue;try{a=JSON.parse(d)}catch{c+=1;continue}let e=function(a){if(!(0,p.Qd)(a))return null;let b=a.step_index;if("number"!=typeof b||!Number.isInteger(b)||b<0)return null;let c=(0,p.O2)(a,"source"),d=(0,p.O2)(a,"type");if(!c||!d)return null;let e=(0,p.O2)(a,"created_at"),f=e?Date.parse(e):NaN,g=[];if(Array.isArray(a.tool_calls))for(let b of a.tool_calls){let a=function(a){var b;if(!(0,p.Qd)(a))return null;let c=(0,p.O2)(a,"name");if(!c)return null;let d=(0,p.Qd)(a.args)?a.args:null,e=d?(0,p.O2)(d,"toolAction")??(0,p.O2)(d,"toolSummary"):null;return{name:c,detail:e?(b=e.replace(/\s+/g," ").trim()).length<=200?b:`${b.slice(0,199)}…`:null}}(b);a&&g.push(a)}return{stepIndex:b,source:c,type:d,status:(0,p.O2)(a,"status"),timestampMs:Number.isFinite(f)?f:null,content:(0,p.O2)(a,"content"),thinking:(0,p.O2)(a,"thinking"),toolCalls:g}}(a);e?b.push(e):c+=1}return{records:b,malformedLines:c}}(h),j=function(a,b){let c=[],d=0;for(let g of a){var e,f;if(e=g,"USER_EXPLICIT"===e.source&&"USER_INPUT"===e.type){let a=g.content?function(a){let b=a.indexOf("<USER_REQUEST>");if(-1===b)return null;let c=b+14,d=a.indexOf("</USER_REQUEST>",c);if(-1===d)return null;let e=a.slice(c,d).trim();return e.length>0?e:null}(g.content):null,d=g.timestampMs??0;c.push({conversationId:b,stepIndex:g.stepIndex,startedAt:d,prompt:a?{stepIndex:g.stepIndex,text:a,timestampMs:g.timestampMs??d}:null,records:[],closed:!1,superseded:!1,overflowed:!1});continue}let a=c.at(-1);if(!a){d+=1;continue}if(g.source===R&&(a.closed=(f=g).source===R&&f.type===S&&!(f.toolCalls.length>0)&&(f.content??"").trim().length>0),a.records.length>=2048){a.overflowed=!0;continue}a.records.push(g)}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,preludeRecords:d}}(i.records,f);if(0===j.turns.length)return Z.info("antigravity-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:i.records.length,malformedLines:i.malformedLines,preludeRecords:j.preludeRecords}),!1;i.malformedLines>0&&Z.info("antigravity-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:i.malformedLines,preludeRecords:j.preludeRecords});let k=ac(a),m=await ae(a),o=new Map;for(let a of j.turns)o.set(a.stepIndex,Y(a,m));let q=j.turns[j.turns.length-1],r=o.get(q.stepIndex)??Y(q,m),s=function(a,b,c){let d=ab.get(a);if(!d||d.conversationId!==b)return[];let e=d.steps.filter(a=>!c.has(a));return 0===e.length?[]:(d.steps=d.steps.filter(a=>c.has(a)),0===d.steps.length&&ab.delete(a),e)}(k,f,new Set(j.turns.map(a=>a.stepIndex)));s.length>0&&Z.info("antigravity-transcript-unsettled-out-of-window",{worktreeId:a.worktreeId,instanceId:d,conversationId:f,steps:s,turnsInWindow:j.turns.length});let t=await ak(a,j.turns),u=j.turns.slice(0,j.turns.length-t.turns.length);if(await ap(a,function(a,b){let c=a.slice(-3);if(0===b.length)return c;let d=new Set(c.map(a=>a.stepIndex)),e=new Set(b),f=a.filter(a=>e.has(a.stepIndex)&&!d.has(a.stepIndex));return 0===f.length?c:[...f,...c]}(u,function(a,b){let c=ab.get(a);return c?c.conversationId!==b?(ab.delete(a),[]):c.steps:[]}(k,f)),g,{instanceKey:k,conversationId:f,completions:o}),0===t.turns.length)return Z.debug("antigravity-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:j.turns.length}),await (0,n.fT)(a),ar(c,q,r),!0;t.turns.length>1&&Z.info("antigravity-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:t.turns.length,turnsInWindow:j.turns.length,anchored:t.anchored});let v=[];for(let b=0;b<t.turns.length;b+=1){let c=0===b?t.previousStartedAt:t.turns[b-1].startedAt;v.push(await an(a,t.turns[b],c))}let w=!1;for(let b=0;b<t.turns.length;b+=1){let d=t.turns[b];(w=await as(a,d,W(d),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(d,v[b],X(d),function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(t.turns,v,b)),g,c))&&aq(a,k,d,o.get(d.stepIndex)??Y(d,m))}return w&&(await (0,n.fT)(a),ar(c,q,r)),w}catch(b){return Z.error("antigravity-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function aj(a,b={}){try{let c=await af(a);if(!c)return null;return await al(b.antigravityHome??ag(),c)}catch{return null}}async function ak(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=b[c],g=(0,o.O1)(d.conversationId,d.stepIndex);if(e(f,a.worktreeId,g))return{turns:b.slice(c+1),previousStartedAt:d.startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function al(a,b){let c=_.test(b)?(0,i.join)(ah(a),b,...P):null;if(!c)return null;let d=function(a,b){if(!b.endsWith(".jsonl")||b.includes("\0"))return null;let c=(0,i.resolve)(ah(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,c);return d&&await am(d)?d:null}async function am(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function an(a,b,c=0){let d={outcome:"skipped",messageId:null,timestampMs:null},e=b.prompt;if(!e)return d;let f=await (0,m.Ce)(a,(0,o.jN)(b.conversationId,e.stepIndex),e.text,e.timestampMs,c>0?{adoptionFromMs:c}:{});return"failed"===f.outcome?(Z.warn("antigravity-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:b.conversationId,stepIndex:e.stepIndex}),d):f}async function ao(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content;if("string"!=typeof g)return!1;let h=g.length;if(d.body.length<=h)return!1;let[{getDbInstance:i},{updateMessageContent:j},{broadcastMessage:k}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]);return j(i(),b.id,d.body),k("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),Z.info("antigravity-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,conversationId:d.conversationId,stepIndex:d.stepIndex,requestId:b.requestId,path:e,previousLength:h,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}async function ap(a,b,d,e){if(0===b.length)return 0;let[{getDbInstance:f},{findMessageByRequestId:g}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),h=f(),i=0;for(let c of b){let b=g(h,a.worktreeId,(0,o.O1)(c.conversationId,c.stepIndex));if(!b){ad(e.instanceKey,e.conversationId,c.stepIndex,!0);continue}aq(a,e.instanceKey,c,e.completions.get(c.stepIndex)??Y(c,null)),V(c)&&await ao(a,b,W(c),d)&&(i+=1)}return i}function aq(a,b,c,d){let e=ad(b,c.conversationId,c.stepIndex,d.confirmed);null!==e&&Z.info("antigravity-transcript-unsettled-evicted",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,conversationId:c.conversationId,step:e,limit:16})}function ar(a,b,c){a&&(a.completion=c.confirmed?"settled":"provisional",a.completionKey=c.confirmed?`${(0,o.O1)(b.conversationId,b.stepIndex)}@${c.lastRecordAt}`:void 0,a.completionReason=c.reason)}async function as(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!V(b))return g&&(g.outcome="not_yet_closed"),Z.info("antigravity-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return Z.info("antigravity-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,records:b.records.length}),!1;d.unknownRecordTypes.length>0&&Z.info("antigravity-transcript-unknown-records",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex,recordTypes:d.unknownRecordTypes}),b.overflowed&&Z.info("antigravity-transcript-turn-overflowed",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,stepIndex:d.stepIndex});let i=(0,o.O1)(d.conversationId,d.stepIndex),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j(),p=l(n,a.worktreeId,i);if(p)return Z.debug("antigravity-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await ao(a,p,d,f),!0;let q=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:q}),Z.info("antigravity-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,conversationId:d.conversationId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}let at=[".commandcode","projects"],au=".jsonl",av="message",aw="\n\n_(truncated)_",ax=["command","file_path","path","pattern","query","url","description"];function ay(a){return!(a.type!==av||"user"!==a.role||a.isMeta||!a.id||a.blocks.some(a=>"tool_result"===a.type))&&a.text.trim().length>0}function az(a){return a.closed||a.superseded}let aA=new Set(["tool_result"]);function aB(a){let b=[],c=new Set,d=0,e=0;for(let f of a.blocks){if("text"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"prose",text:a}),d+=1;continue}if("thinking"===f.type){let a=f.text?.trim()??"";if(0===a.length)continue;b.push({kind:"aside",text:function(a){let b=a.trim().split("\n").map(a=>a.length>0?`> ${a}`:">").join("\n");return`> **Thinking**
|
|
6
6
|
>
|
|
7
|
-
${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}aA.has(f.type)||c.add(f.type)}let f=(0,q.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-aw.length)+aw),{sessionId:a.sessionId,promptId:a.promptId,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}let aC=(0,d.h)("lib/hooks/sources/command-code/history"),aD=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aE=globalThis.__commandCodeTranscriptSessions??=new Map,aF=globalThis.__commandCodeTranscriptPaths??=new Map;async function aG(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return aE.set(b,e),e}catch(b){aC.debug("command-code-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return aE.get(b)??null}function aH(a){return(0,i.join)(a,...at)}async function aI(a,b){let c;if(!aD.test(b))return null;let d=aH(a);try{c=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=[];for(let a of c){if(!a.isDirectory())continue;let b=0;try{b=(await (0,g.stat)((0,i.join)(d,a.name))).mtimeMs}catch{}e.push({name:a.name,modifiedAt:b})}e.sort((a,b)=>b.modifiedAt-a.modifiedAt);let f=`${b}${au}`;for(let a of e){let b=(0,i.join)(d,a.name,f);if(await aN(b))return b}return null}async function aJ(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=b.commandCodeHome??(0,h.homedir)(),f=await aG(a),g=await aM(e,b,f);if(!g)return aC.debug("command-code-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:f?"no-file":"no-session-pointer"}),!1;let i=await l(g);if(null===i)return!1;let j=function(a){let b=[],c=0,d=null,e=null,f=null;for(let g of a.split("\n")){let a;if(0===g.trim().length)continue;try{a=JSON.parse(g)}catch{c+=1;continue}let h=function(a){if(!(0,p.Qd)(a))return null;let b=(0,p.O2)(a,"type");if(!b)return null;let c="session"===b,d=(0,p.Qd)(a.message)?a.message:null,e=d&&(0,p.Qd)(d.meta)?d.meta:null,f=d?.content,g=[],h="";if("string"==typeof f)h=f;else if(Array.isArray(f))for(let a of f){let b=function(a){if(!(0,p.Qd)(a))return null;let b=(0,p.O2)(a,"type");if(!b)return null;if("tool_use"===b)return{type:b,text:null,toolName:(0,p.O2)(a,"name"),toolDetail:function(a){if(!(0,p.Qd)(a))return null;for(let c of ax){let d=(0,p.O2)(a,c);if(d){var b;return(b=d.replace(/\s+/g," ").trim()).length<=200?b:`${b.slice(0,199)}…`}}return null}(a.input)};let c="text"===b?(0,p.O2)(a,"text")??"":"thinking"===b?(0,p.O2)(a,"thinking")??"":null;return{type:b,text:c,toolName:null,toolDetail:null}}(a);b&&(g.push(b),"text"===b.type&&b.text&&(h+=b.text))}let i=(0,p.O2)(a,"timestamp"),j=i?Date.parse(i):NaN,k=e&&"number"==typeof e.createdAt?e.createdAt:null;return{type:b,id:c?null:(0,p.O2)(a,"id"),parentId:(0,p.O2)(a,"parentId"),role:d?(0,p.O2)(d,"role"):null,sessionId:c?(0,p.O2)(a,"id"):null,cwd:c?(0,p.O2)(a,"cwd"):null,parentSession:c?(0,p.O2)(a,"parentSession"):null,source:e?(0,p.O2)(e,"source"):null,isMeta:e?.isMeta===!0,isSummary:e?.isSummary===!0,isAutomated:e?.isAutomated===!0,timestampMs:null!==k&&Number.isFinite(k)?k:Number.isFinite(j)?j:null,blocks:g,text:h}}(a);if(!h){c+=1;continue}b.push(h),h.sessionId&&(d=h.sessionId,e=h.cwd,f=h.parentSession)}return{records:b,malformedLines:c,sessionId:d,cwd:e,parentSession:f}}(i),k=function(a,b){let c=[],d=new Set,e=null,f=0,g=0,h=0,i=b;for(let b of a){if(b.sessionId){i=b.sessionId;continue}if(b.type!==av){h+=1,b.id&&d.add(b.id);continue}if(null===b.parentId||d.has(b.parentId)||(g+=1),b.id&&d.add(b.id),ay(b)){e=function(a,b){return{sessionId:b,promptId:a.id,startedAt:a.timestampMs??0,promptText:a.text,promptIsOperatorInput:!!ay(a)&&!a.isSummary&&!a.isAutomated&&"user"===a.source,blocks:[],assistantRecords:0,closed:!1,superseded:!1,overflowed:!1}}(b,i),c.push(e);continue}if("assistant"===b.role){if(!e){f+=1;continue}for(let a of(e.assistantRecords+=1,e.closed=!(b.type!==av||"assistant"!==b.role||b.blocks.some(a=>"tool_use"===a.type))&&b.blocks.some(a=>"text"===a.type&&(a.text??"").trim().length>0),b.blocks)){if(e.blocks.length>=2048){e.overflowed=!0;break}e.blocks.push(a)}}}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,orphanedAssistantRecords:f,unresolvedParentRecords:g,nonMessageRecords:h}}(j.records,j.sessionId??f??"");if(0===k.turns.length)return aC.info("command-code-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:j.records.length,malformedLines:j.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords}),!1;(j.malformedLines>0||k.orphanedAssistantRecords>0||null!==j.parentSession)&&aC.info("command-code-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:j.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords,unresolvedParentRecords:k.unresolvedParentRecords,nonMessageRecords:k.nonMessageRecords,parentSession:j.parentSession});let m=await aK(a,k.turns);if(await aR(a,k.turns.slice(0,k.turns.length-m.turns.length).slice(-aP),g),0===m.turns.length)return aC.debug("command-code-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:k.turns.length}),await (0,n.fT)(a),!0;m.turns.length>1&&aC.info("command-code-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:m.turns.length,turnsInWindow:k.turns.length,anchored:m.anchored});let o=[];for(let b=0;b<m.turns.length;b+=1){let c=0===b?m.previousStartedAt:m.turns[b-1].startedAt;o.push(await aO(a,m.turns[b],c))}let q=function(a){let b=new Map,c=null;for(let d of a)if(!d.sessionId&&d.type===av){if(ay(d)){c=d.id;continue}"assistant"===d.role&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(j.records),r=!1;for(let b=0;b<m.turns.length;b+=1){let d=m.turns[b];r=await aS(a,d,aB(d),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(d,o[b],q.get(d.promptId)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(m.turns,o,b)),g,c)}return r&&await (0,n.fT)(a),r}catch(b){return aC.error("command-code-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function aK(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,o.sT)(b[c].promptId);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function aL(a,b){try{let c=b.commandCodeHome??(0,h.homedir)();return await aM(c,b,await aG(a))}catch{return null}}async function aM(a,b,c){let d=b.transcriptPathHint;if("string"==typeof d&&d.length>0){let b=function(a,b){if(!b.endsWith(au)||b.includes("\0"))return null;let c=(0,i.resolve)(aH(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,d);if(b&&await aN(b))return b}if(!c)return null;let e=`${a}\0${c}`,f=aF.get(e);if(f&&await aN(f))return f;let g=await aI(a,c);return g?aF.set(e,g):aF.delete(e),g}async function aN(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function aO(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return aC.debug("command-code-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptId:b.promptId,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,m.Ce)(a,(0,o.TW)(b.promptId),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&aC.warn("command-code-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptId:b.promptId}),e}let aP=3;async function aQ(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content.length;if(d.body.length<=g)return!1;let[{getDbInstance:h},{updateMessageContent:i},{broadcastMessage:j}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,49640))]);return i(h(),b.id,d.body),j("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),aC.info("command-code-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,sessionId:d.sessionId,requestId:b.requestId,path:e,previousLength:g,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}async function aR(a,b,d){if(0===b.length)return 0;let[{getDbInstance:e},{findMessageByRequestId:f}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),g=e(),h=0;for(let c of b){if(!az(c))continue;let b=f(g,a.worktreeId,(0,o.sT)(c.promptId));b&&await aQ(a,b,aB(c),d)&&(h+=1)}return h}async function aS(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!az(b))return g&&(g.outcome="not_yet_closed"),aC.info("command-code-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return aC.info("command-code-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId}),!1;d.unknownBlockTypes.length>0&&aC.info("command-code-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,o.sT)(d.promptId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,49640))]),n=j(),p=l(n,a.worktreeId,i);if(p)return aC.debug("command-code-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await aQ(a,p,d,f),!0;let q=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:q}),aC.info("command-code-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}var aT=c(70997),aU=c(2734),aV=c(76835),aW=c(28862),aX=c(129),aY=c(43925);let aZ=(0,d.h)("lib/polling/structured-history-gate"),a$=globalThis.__structuredHistoryCaptureQueue??=new Map,a_=globalThis.__structuredHistoryAnnouncedCompletions??=new Map;function a0(){a$.clear(),a_.clear()}let a1={[aT.v]:{capture:(a,b,c)=>(0,f.K$)(a,b,c),locate:(a,b)=>(0,f.Oi)(a,b)},[aU.c]:{capture:(a,b,c)=>I(a,b,c),locate:(a,b)=>J(a,b)},[aV.F]:{capture:(a,b,c)=>ai(a,b,c),locate:(a,b)=>aj(a,b)},[aW.k]:{capture:(a,b,c)=>aJ(a,b,c),locate:(a,b)=>aL(a,b)}};function a2(a){try{return(0,aX.VM)(a).capabilities.transcriptHistory??null}catch(b){return aZ.warn("structured-history-capability-unavailable",{cliToolId:a,error:b instanceof Error?b.message:String(b)}),null}}function a3(a){return"pull"===a2(a)}function a4(a,b,c){if("push"!==a2(b))return!1;try{return(0,e.f4)({worktreeId:a,cliToolId:b,instanceId:c??b})}catch(d){return aZ.warn("structured-history-gate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}async function a5(a,b,c,d,e){if(e&&(e.outcome="unavailable"),!a3(b))return!1;let f=a1[b];if(!f)return aZ.warn("structured-history-reader-missing",{worktreeId:a,cliToolId:b,instanceId:c??b}),!1;let g=c??b,h=`${a}\u0000${b}\u0000${g}`;var i=async()=>{let c={};try{let j=await f.capture({worktreeId:a,cliToolId:b,instanceId:g},d,c),k=c.completion??"settled";if(e&&(e.outcome=j?"captured":c.outcome??"unavailable",e.completion=k,e.completionKey=c.completionKey,e.completionReason=c.completionReason),j&&"settled"===k){var i;i=c.completionKey,(void 0===i||a_.get(h)!==i&&(a_.set(h,i),1))&&(0,aY.vQ)(a,b,g,!0)}else j&&aZ.info("structured-history-capture-provisional",{worktreeId:a,cliToolId:b,instanceId:g,reason:c.completionReason??"unknown"});return j}catch(c){return aZ.warn("structured-history-capture-unavailable",{worktreeId:a,cliToolId:b,instanceId:g,error:c instanceof Error?c.message:String(c)}),!1}};let j=(a$.get(h)??Promise.resolve()).then(i,i),k=j.then(()=>void 0,()=>void 0);return a$.set(h,k),k.then(()=>{a$.get(h)===k&&a$.delete(h)}),j}async function a6(a,b,c,d){let e=a3(b)?a1[b]:void 0;if(!e)return!1;try{let f=await e.locate({worktreeId:a,cliToolId:b,instanceId:c??b},d);return null!==f}catch(d){return aZ.warn("structured-history-locate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}},31990:(a,b,c)=>{c.d(b,{Wh:()=>Q,WD:()=>R,Lw:()=>T,K1:()=>P,N5:()=>S});var d=c(43234),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
|
|
7
|
+
${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}aA.has(f.type)||c.add(f.type)}let f=(0,q.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-aw.length)+aw),{sessionId:a.sessionId,promptId:a.promptId,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}let aC=(0,d.h)("lib/hooks/sources/command-code/history"),aD=/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,aE=globalThis.__commandCodeTranscriptSessions??=new Map,aF=globalThis.__commandCodeTranscriptPaths??=new Map;async function aG(a){let b=(0,j.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return aE.set(b,e),e}catch(b){aC.debug("command-code-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return aE.get(b)??null}function aH(a){return(0,i.join)(a,...at)}async function aI(a,b){let c;if(!aD.test(b))return null;let d=aH(a);try{c=await (0,g.readdir)(d,{withFileTypes:!0})}catch{return null}let e=[];for(let a of c){if(!a.isDirectory())continue;let b=0;try{b=(await (0,g.stat)((0,i.join)(d,a.name))).mtimeMs}catch{}e.push({name:a.name,modifiedAt:b})}e.sort((a,b)=>b.modifiedAt-a.modifiedAt);let f=`${b}${au}`;for(let a of e){let b=(0,i.join)(d,a.name,f);if(await aN(b))return b}return null}async function aJ(a,b,c){let d=a.instanceId??a.cliToolId;try{let e=b.commandCodeHome??(0,h.homedir)(),f=await aG(a),g=await aM(e,b,f);if(!g)return aC.debug("command-code-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:f,reason:f?"no-file":"no-session-pointer"}),!1;let i=await l(g);if(null===i)return!1;let j=function(a){let b=[],c=0,d=null,e=null,f=null;for(let g of a.split("\n")){let a;if(0===g.trim().length)continue;try{a=JSON.parse(g)}catch{c+=1;continue}let h=function(a){if(!(0,p.Qd)(a))return null;let b=(0,p.O2)(a,"type");if(!b)return null;let c="session"===b,d=(0,p.Qd)(a.message)?a.message:null,e=d&&(0,p.Qd)(d.meta)?d.meta:null,f=d?.content,g=[],h="";if("string"==typeof f)h=f;else if(Array.isArray(f))for(let a of f){let b=function(a){if(!(0,p.Qd)(a))return null;let b=(0,p.O2)(a,"type");if(!b)return null;if("tool_use"===b)return{type:b,text:null,toolName:(0,p.O2)(a,"name"),toolDetail:function(a){if(!(0,p.Qd)(a))return null;for(let c of ax){let d=(0,p.O2)(a,c);if(d){var b;return(b=d.replace(/\s+/g," ").trim()).length<=200?b:`${b.slice(0,199)}…`}}return null}(a.input)};let c="text"===b?(0,p.O2)(a,"text")??"":"thinking"===b?(0,p.O2)(a,"thinking")??"":null;return{type:b,text:c,toolName:null,toolDetail:null}}(a);b&&(g.push(b),"text"===b.type&&b.text&&(h+=b.text))}let i=(0,p.O2)(a,"timestamp"),j=i?Date.parse(i):NaN,k=e&&"number"==typeof e.createdAt?e.createdAt:null;return{type:b,id:c?null:(0,p.O2)(a,"id"),parentId:(0,p.O2)(a,"parentId"),role:d?(0,p.O2)(d,"role"):null,sessionId:c?(0,p.O2)(a,"id"):null,cwd:c?(0,p.O2)(a,"cwd"):null,parentSession:c?(0,p.O2)(a,"parentSession"):null,source:e?(0,p.O2)(e,"source"):null,isMeta:e?.isMeta===!0,isSummary:e?.isSummary===!0,isAutomated:e?.isAutomated===!0,timestampMs:null!==k&&Number.isFinite(k)?k:Number.isFinite(j)?j:null,blocks:g,text:h}}(a);if(!h){c+=1;continue}b.push(h),h.sessionId&&(d=h.sessionId,e=h.cwd,f=h.parentSession)}return{records:b,malformedLines:c,sessionId:d,cwd:e,parentSession:f}}(i),k=function(a,b){let c=[],d=new Set,e=null,f=0,g=0,h=0,i=b;for(let b of a){if(b.sessionId){i=b.sessionId;continue}if(b.type!==av){h+=1,b.id&&d.add(b.id);continue}if(null===b.parentId||d.has(b.parentId)||(g+=1),b.id&&d.add(b.id),ay(b)){e=function(a,b){return{sessionId:b,promptId:a.id,startedAt:a.timestampMs??0,promptText:a.text,promptIsOperatorInput:!!ay(a)&&!a.isSummary&&!a.isAutomated&&"user"===a.source,blocks:[],assistantRecords:0,closed:!1,superseded:!1,overflowed:!1}}(b,i),c.push(e);continue}if("assistant"===b.role){if(!e){f+=1;continue}for(let a of(e.assistantRecords+=1,e.closed=!(b.type!==av||"assistant"!==b.role||b.blocks.some(a=>"tool_use"===a.type))&&b.blocks.some(a=>"text"===a.type&&(a.text??"").trim().length>0),b.blocks)){if(e.blocks.length>=2048){e.overflowed=!0;break}e.blocks.push(a)}}}for(let a=0;a<c.length-1;a+=1)c[a].superseded=!0;return{turns:c,orphanedAssistantRecords:f,unresolvedParentRecords:g,nonMessageRecords:h}}(j.records,j.sessionId??f??"");if(0===k.turns.length)return aC.info("command-code-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:g,records:j.records.length,malformedLines:j.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords}),!1;(j.malformedLines>0||k.orphanedAssistantRecords>0||null!==j.parentSession)&&aC.info("command-code-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:g,malformedLines:j.malformedLines,orphanedAssistantRecords:k.orphanedAssistantRecords,unresolvedParentRecords:k.unresolvedParentRecords,nonMessageRecords:k.nonMessageRecords,parentSession:j.parentSession});let m=await aK(a,k.turns);if(await aR(a,k.turns.slice(0,k.turns.length-m.turns.length).slice(-aP),g),0===m.turns.length)return aC.debug("command-code-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:k.turns.length}),await (0,n.fT)(a),!0;m.turns.length>1&&aC.info("command-code-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:g,pendingTurns:m.turns.length,turnsInWindow:k.turns.length,anchored:m.anchored});let o=[];for(let b=0;b<m.turns.length;b+=1){let c=0===b?m.previousStartedAt:m.turns[b-1].startedAt;o.push(await aO(a,m.turns[b],c))}let q=function(a){let b=new Map,c=null;for(let d of a)if(!d.sessionId&&d.type===av){if(ay(d)){c=d.id;continue}"assistant"===d.role&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(j.records),r=!1;for(let b=0;b<m.turns.length;b+=1){let d=m.turns[b];r=await aS(a,d,aB(d),function(a,b,c=0,d=null){let e=null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1);return Math.max(e,Math.min(c,null===d?1/0:d-1))}(d,o[b],q.get(d.promptId)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(m.turns,o,b)),g,c)}return r&&await (0,n.fT)(a),r}catch(b){return aC.error("command-code-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function aK(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,o.sT)(b[c].promptId);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function aL(a,b){try{let c=b.commandCodeHome??(0,h.homedir)();return await aM(c,b,await aG(a))}catch{return null}}async function aM(a,b,c){let d=b.transcriptPathHint;if("string"==typeof d&&d.length>0){let b=function(a,b){if(!b.endsWith(au)||b.includes("\0"))return null;let c=(0,i.resolve)(aH(a)),d=(0,i.resolve)(b);return d===c||d.startsWith(c+i.sep)?d:null}(a,d);if(b&&await aN(b))return b}if(!c)return null;let e=`${a}\0${c}`,f=aF.get(e);if(f&&await aN(f))return f;let g=await aI(a,c);return g?aF.set(e,g):aF.delete(e),g}async function aN(a){try{return(await (0,g.stat)(a)).isFile()}catch{return!1}}async function aO(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return aC.debug("command-code-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptId:b.promptId,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,m.Ce)(a,(0,o.TW)(b.promptId),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&aC.warn("command-code-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptId:b.promptId}),e}let aP=3;async function aQ(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content.length;if(d.body.length<=g)return!1;let[{getDbInstance:h},{updateMessageContent:i},{broadcastMessage:j}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]);return i(h(),b.id,d.body),j("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),aC.info("command-code-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,sessionId:d.sessionId,requestId:b.requestId,path:e,previousLength:g,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}async function aR(a,b,d){if(0===b.length)return 0;let[{getDbInstance:e},{findMessageByRequestId:f}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),g=e(),h=0;for(let c of b){if(!az(c))continue;let b=f(g,a.worktreeId,(0,o.sT)(c.promptId));b&&await aQ(a,b,aB(c),d)&&(h+=1)}return h}async function aS(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!az(b))return g&&(g.outcome="not_yet_closed"),aC.info("command-code-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return aC.info("command-code-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptId:d.promptId}),!1;d.unknownBlockTypes.length>0&&aC.info("command-code-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,o.sT)(d.promptId),[{getDbInstance:j},{createMessage:k,findMessageByRequestId:l},{broadcastMessage:m}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),n=j(),p=l(n,a.worktreeId,i);if(p)return aC.debug("command-code-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await aQ(a,p,d,f),!0;let q=k(n,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return m("message",{worktreeId:a.worktreeId,message:q}),aC.info("command-code-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}var aT=c(70997),aU=c(2734),aV=c(76835),aW=c(28862),aX=c(129),aY=c(43925);let aZ=(0,d.h)("lib/polling/structured-history-gate"),a$=globalThis.__structuredHistoryCaptureQueue??=new Map,a_=globalThis.__structuredHistoryAnnouncedCompletions??=new Map;function a0(){a$.clear(),a_.clear()}let a1={[aT.v]:{capture:(a,b,c)=>(0,f.K$)(a,b,c),locate:(a,b)=>(0,f.Oi)(a,b)},[aU.c]:{capture:(a,b,c)=>I(a,b,c),locate:(a,b)=>J(a,b)},[aV.F]:{capture:(a,b,c)=>ai(a,b,c),locate:(a,b)=>aj(a,b)},[aW.k]:{capture:(a,b,c)=>aJ(a,b,c),locate:(a,b)=>aL(a,b)}};function a2(a){try{return(0,aX.VM)(a).capabilities.transcriptHistory??null}catch(b){return aZ.warn("structured-history-capability-unavailable",{cliToolId:a,error:b instanceof Error?b.message:String(b)}),null}}function a3(a){return"pull"===a2(a)}function a4(a,b,c){if("push"!==a2(b))return!1;try{return(0,e.f4)({worktreeId:a,cliToolId:b,instanceId:c??b})}catch(d){return aZ.warn("structured-history-gate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}async function a5(a,b,c,d,e){if(e&&(e.outcome="unavailable"),!a3(b))return!1;let f=a1[b];if(!f)return aZ.warn("structured-history-reader-missing",{worktreeId:a,cliToolId:b,instanceId:c??b}),!1;let g=c??b,h=`${a}\u0000${b}\u0000${g}`;var i=async()=>{let c={};try{let j=await f.capture({worktreeId:a,cliToolId:b,instanceId:g},d,c),k=c.completion??"settled";if(e&&(e.outcome=j?"captured":c.outcome??"unavailable",e.completion=k,e.completionKey=c.completionKey,e.completionReason=c.completionReason),j&&"settled"===k){var i;i=c.completionKey,(void 0===i||a_.get(h)!==i&&(a_.set(h,i),1))&&(0,aY.vQ)(a,b,g,!0)}else j&&aZ.info("structured-history-capture-provisional",{worktreeId:a,cliToolId:b,instanceId:g,reason:c.completionReason??"unknown"});return j}catch(c){return aZ.warn("structured-history-capture-unavailable",{worktreeId:a,cliToolId:b,instanceId:g,error:c instanceof Error?c.message:String(c)}),!1}};let j=(a$.get(h)??Promise.resolve()).then(i,i),k=j.then(()=>void 0,()=>void 0);return a$.set(h,k),k.then(()=>{a$.get(h)===k&&a$.delete(h)}),j}async function a6(a,b,c,d){let e=a3(b)?a1[b]:void 0;if(!e)return!1;try{let f=await e.locate({worktreeId:a,cliToolId:b,instanceId:c??b},d);return null!==f}catch(d){return aZ.warn("structured-history-locate-unavailable",{worktreeId:a,cliToolId:b,instanceId:c??b,error:d instanceof Error?d.message:String(d)}),!1}}},31990:(a,b,c)=>{c.d(b,{Wh:()=>Q,WD:()=>R,Lw:()=>T,K1:()=>P,N5:()=>S});var d=c(43234),e=c(72626),f=c(79892);let g={streamingOutput:!1,explicitResize:!1,snapshotFallback:!0};class h{async unsubscribe(){}}class i{async ensureSession(a,b){await (0,f.N)(a)||await (0,f.jw)(a,b)}async sessionExists(a){return(0,f.N)(a)}async sendInput(a,b){await (0,f.V1)(a,b)}async sendSpecialKey(a,b){if("Escape"!==b&&"C-c"!==b&&"C-d"!==b&&"C-m"!==b&&"Enter"!==b)throw Error(`Unsupported special key for PollingTmuxTransport: ${b}`);await (0,f.ds)(a,b)}async resize(){throw Error("PollingTmuxTransport does not support explicit resize")}async captureSnapshot(a,b){return(0,f.Xg)(a,b)}async subscribe(){return new h}getCapabilities(){return g}async killSession(a){return(0,f.fY)(a)}}let j=null;var k=c(93997),l=c(79646),m=c(28354),n=c(31442),o=c(29021),p=c(21820),q=c(33873),r=c(16983);let s="cm-live-restore.sh",t="cm-live-delegate.sh",u="cm-auto-popup.sh",v=`#!/bin/sh
|
|
8
8
|
# CommandMate live-attach restore (Issue #2317) — generated file, edits are overwritten.
|
|
9
9
|
#
|
|
10
10
|
# sh ~/.commandmate/bin/${s} <session> [control_mode] [width] [height]
|
|
@@ -110,4 +110,4 @@ fi
|
|
|
110
110
|
>
|
|
111
111
|
${b}`}(a)});continue}if("tool_use"===f.type){b.push({kind:"tool",text:function(a){let b=a.toolName??"tool";return a.toolDetail?`- \`${b}\` — ${a.toolDetail}`:`- \`${b}\``}(f)}),e+=1;continue}C.has(f.type)||c.add(f.type)}let f=(0,m.t3)(b).body;return f.length>2e5&&(f=f.slice(0,2e5-o.length)+o),{sessionId:a.sessionId,promptUuid:a.promptUuid,body:f,textBlocks:d,toolBlocks:e,unknownBlockTypes:[...c]}}let E=(0,j.h)("lib/hooks/sources/claude/history"),F="_(The beginning of this reply is not shown: the turn runs further back than the 64 MiB of transcript that is read.)_",G=".jsonl",H=globalThis.__claudeTranscriptSessions??=new Map;async function I(a){let b=(0,g.v7)(a.worktreeId,a.cliToolId,a.instanceId);try{let{getLastAgentEvent:d}=await Promise.resolve().then(c.bind(c,48083)),e=d(a.worktreeId,a.cliToolId,a.instanceId)?.sessionId;if("string"==typeof e&&e.length>0)return H.set(b,e),e}catch(b){E.debug("claude-transcript-session-lookup-failed",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,error:b instanceof Error?b.message:String(b)})}return H.get(b)??null}function J(a){return(0,f.join)(a,...n)}async function K(a,b,c){let d=a.instanceId??a.cliToolId;try{let f=b.homeDir??(0,e.homedir)();if("string"!=typeof b.worktreePath||0===b.worktreePath.length)return!1;let g=await I(a),h=await Q(f,b,g);if(!h)return E.debug("claude-transcript-unavailable",{worktreeId:a.worktreeId,instanceId:d,sessionId:g,reason:g?"no-file":"no-session-pointer"}),!1;let j=await U(a,h,g??"");if(null===j)return!1;let{parsed:k,built:l}=j;if(0===l.turns.length){let b=l.orphanedAssistantRecords;if(E.warn("claude-transcript-no-turn",{worktreeId:a.worktreeId,instanceId:d,path:h,records:k.records.length,malformedLines:k.malformedLines,orphanedAssistantRecords:b,...b>0?{readBytes:j.size-j.startByte,size:j.size}:{}}),b>0&&j.reachedLimit)return await X(a,k.records,g??"",h,c);return!1}(k.malformedLines>0||l.orphanedAssistantRecords>0)&&E.info("claude-transcript-partial-read",{worktreeId:a.worktreeId,instanceId:d,path:h,malformedLines:k.malformedLines,orphanedAssistantRecords:l.orphanedAssistantRecords,sidechainRecords:l.sidechainRecords});let m=await L(a,l.turns);if(await $(a,l.turns.slice(0,l.turns.length-m.turns.length).slice(-Y),h),0===m.turns.length)return E.debug("claude-transcript-turns-already-saved",{worktreeId:a.worktreeId,instanceId:d,turnsInWindow:l.turns.length}),await (0,i.fT)(a),!0;m.turns.length>1&&E.info("claude-transcript-backfilling-turns",{worktreeId:a.worktreeId,instanceId:d,path:h,pendingTurns:m.turns.length,turnsInWindow:l.turns.length,anchored:m.anchored});let n=[];for(let b=0;b<m.turns.length;b+=1){let c=0===b?m.previousStartedAt:m.turns[b-1].startedAt;n.push(await O(a,m.turns[b],c))}let o=function(a){let b=new Map,c=null;for(let d of a)if(!d.isSidechain){if(x(d)){c=d.uuid;continue}"assistant"===d.type&&null!==c&&null!==d.timestampMs&&d.timestampMs>(b.get(c)??0)&&b.set(c,d.timestampMs)}return b}(k.records),p=!1;for(let b=0;b<m.turns.length;b+=1){let d=m.turns[b];p=await _(a,d,D(d),P(d,n[b],o.get(d.promptUuid)??0,function(a,b,c){let d=a[c+1];return d?b[c+1]?.timestampMs??d.startedAt:null}(m.turns,n,b)),h,c)}return p&&await (0,i.fT)(a),p}catch(b){return E.error("claude-transcript-capture-failed",{worktreeId:a.worktreeId,instanceId:d,error:b instanceof Error?b.message:String(b)}),!1}}async function L(a,b){let[{getDbInstance:d},{findMessageByRequestId:e}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),f=d();for(let c=b.length-1;c>=0;c-=1){let d=(0,k.qe)(b[c].promptUuid);if(e(f,a.worktreeId,d))return{turns:b.slice(c+1),previousStartedAt:b[c].startedAt,anchored:!0}}return{turns:b.slice(-1),previousStartedAt:b.length>1?b[b.length-2].startedAt:0,anchored:!1}}async function M(a,b){try{let c=b.homeDir??(0,e.homedir)();if("string"!=typeof b.worktreePath||0===b.worktreePath.length)return null;return await Q(c,b,await I(a))}catch{return null}}async function N(a,b){let c=a.instanceId??a.cliToolId;try{var d;let f=b.homeDir??(0,e.homedir)();if("string"!=typeof b.worktreePath||0===b.worktreePath.length)return null;let g=await I(a),h=await Q(f,b,g);if(!h)return null;let i=await S(h);if(null===i)return null;let j=w(i.text),l=B(j.records,g??""),m=l.turns.at(-1);if(m){let a=D(m);if(0===a.body.length)return null;return{turnKey:(0,k.qe)(a.promptUuid),body:a.body,partial:!1}}if(0===l.orphanedAssistantRecords)return null;let n=function(a,b){let c=[],d=0,e=!1;for(let b of a){if(x(b))break;if(!b.isSidechain&&"assistant"===b.type)for(let a of(d+=1,b.blocks)){if(c.length>=2048){e=!0;break}c.push(a)}}return{sessionId:b,promptUuid:`partial:${b}`,startedAt:0,promptText:"",promptIsOperatorInput:!1,blocks:c,assistantRecords:d,closed:!1,superseded:!1,stopReasonObserved:!1,overflowed:e}}(j.records,g??""),o=D(n);if(0===o.body.length)return null;return E.info("claude-transcript-progress-headless",{worktreeId:a.worktreeId,instanceId:c,path:h,orphanedAssistantRecords:l.orphanedAssistantRecords,malformedLines:j.malformedLines}),{turnKey:(d=g??"",(0,k.qe)(`${k.ST}${d}`)),body:o.body,partial:!0}}catch(b){return E.debug("claude-transcript-progress-failed",{worktreeId:a.worktreeId,instanceId:c,error:b instanceof Error?b.message:String(b)}),null}}async function O(a,b,c=0){let d=a.instanceId??a.cliToolId;if(!b.promptIsOperatorInput)return E.debug("claude-transcript-user-turn-skipped",{worktreeId:a.worktreeId,instanceId:d,promptUuid:b.promptUuid,reason:"not-operator-input"}),{outcome:"skipped",messageId:null,timestampMs:null};let e=await (0,h.Ce)(a,(0,k.H_)(b.promptUuid),b.promptText,b.startedAt,c>0?{adoptionFromMs:c}:{});return"failed"===e.outcome&&E.warn("claude-transcript-user-turn-failed",{worktreeId:a.worktreeId,instanceId:d,sessionId:b.sessionId,promptUuid:b.promptUuid}),e}function P(a,b,c=0,d=null){return Math.max(null===b.timestampMs?a.startedAt:Math.max(a.startedAt,b.timestampMs+1),Math.min(c,null===d?1/0:d-1))}async function Q(a,b,c){if(c){var d,e,g;let h=(d=a,e=b.worktreePath,g=c,(0,f.join)(J(d),e.replace(/[^a-zA-Z0-9]/g,"-"),`${g}${G}`));if(await R(h))return h}let h=b.transcriptPathHint;if("string"==typeof h&&h.length>0){let b=function(a,b){if(!b.endsWith(G)||b.includes("\0"))return null;let c=(0,f.resolve)(J(a)),d=(0,f.resolve)(b);return d===c||d.startsWith(c+f.sep)?d:null}(a,h);if(b&&await R(b))return b}return null}async function R(a){try{return(await (0,d.stat)(a)).isFile()}catch{return!1}}async function S(a){let b;try{b=await (0,d.open)(a,"r");let{size:c}=await b.stat(),e=Math.max(0,c-4194304),f=c-e;if(f<=0)return{text:"",size:c,startByte:0};let g=Buffer.alloc(f),{bytesRead:h}=await b.read(g,0,f,e),i=g.subarray(0,h);if(0===e)return{text:i.toString("utf8"),size:c,startByte:0};let j=i.indexOf(10);if(-1===j)return{text:"",size:c,startByte:c};return{text:i.subarray(j+1).toString("utf8"),size:c,startByte:e+j+1}}catch(b){return E.warn("claude-transcript-read-failed",{path:a,error:b instanceof Error?b.message:String(b)}),null}finally{await b?.close().catch(()=>{})}}async function T(a,b,c){let d=c-b,e=Buffer.alloc(d),{bytesRead:f}=await a.read(e,0,d,b);if(f!==d)return null;if(0===b)return{text:e.toString("utf8"),startByte:0};let g=e.indexOf(10);return -1===g?{text:"",startByte:c}:{text:e.subarray(g+1).toString("utf8"),startByte:b+g+1}}async function U(a,b,c){let d=await S(b);if(null===d)return null;let e=w(d.text),f=B(e.records,c),g={parsed:e,built:f,size:d.size,startByte:d.startByte,reachedLimit:!1};return f.turns.length>0||0===f.orphanedAssistantRecords||0===d.startByte?g:await V(a,b,c,g)??g}async function V(a,b,c,e){let f,{size:g}=e;try{f=await (0,d.open)(b,"r");let h=e.parsed.records,i=e.parsed.malformedLines,j=e.built,k=e.startByte,l=4194304,m=null;for(;0===j.turns.length&&k>0&&l<0x4000000;){l*=2;let a=await T(f,Math.max(0,g-l),k);if(null===a)return null;let b=w(a.text);h=[...b.records,...h],i+=b.malformedLines,k=a.startByte;let d=(j=B(h,c)).turns.at(-1);d&&(m=function(a,b,c){let{text:d}=a;for(let e=d.indexOf(b);-1!==e;e=d.indexOf(b,e+b.length)){let f=d.lastIndexOf("\n",e)+1,g=d.indexOf("\n",e),h=null;try{h=v(JSON.parse(d.slice(f,-1===g?d.length:g)))}catch{}if(h?.uuid===b)return c-a.startByte-Buffer.byteLength(d.slice(0,f),"utf8")}return null}(a,d.promptUuid,g))}return E.info("claude-transcript-window-extended",{worktreeId:a.worktreeId,instanceId:a.instanceId??a.cliToolId,path:b,fromBytes:4194304,toBytes:l,size:g,promptOffsetFromEnd:m,records:h.length}),{parsed:{records:h,malformedLines:i},built:j,size:g,startByte:k,reachedLimit:0===j.turns.length&&k>0}}catch(a){return E.warn("claude-transcript-read-failed",{path:b,error:a instanceof Error?a.message:String(a)}),null}finally{await f?.close().catch(()=>{})}}let W={outcome:"skipped",messageId:null,timestampMs:null};async function X(a,b,c,d,e){var f;let g,h=a.instanceId??a.cliToolId,j=function(a,b){let c=[],d=0,e=!1,f=!1,g=!1,h=0,i=0,j=null;for(let b of a)if(!b.isSidechain){if(x(b)){g=!0;break}if("assistant"===b.type){for(let a of(d+=1,e=z(b),null!==b.stopReason&&(f=!0),null!==b.timestampMs&&(0===h&&(h=b.timestampMs),i=Math.max(i,b.timestampMs)),b.blocks))c.push(a);j=b}}if(null===j||!j.uuid)return null;let l=j.sessionId??b,m=c.length>2048;return{turn:{sessionId:l,promptUuid:(0,k.Wr)(l,j.uuid),startedAt:h,promptText:"",promptIsOperatorInput:!1,blocks:m?c.slice(-2048):c,assistantRecords:d,closed:e,superseded:g,stopReasonObserved:f,overflowed:m},lastRecordAt:i}}(b,c);if(null===j)return E.debug("claude-transcript-headless-unkeyed",{worktreeId:a.worktreeId,instanceId:h,path:d}),!1;let{turn:l}=j,m=D(l);E.info("claude-transcript-headless-turn",{worktreeId:a.worktreeId,instanceId:h,sessionId:l.sessionId,requestId:(0,k.qe)(l.promptUuid),path:d,assistantRecords:l.assistantRecords,overflowed:l.overflowed});let n=await _(a,l,0===m.body.length?m:(f=m,(g=`${F}
|
|
112
112
|
|
|
113
|
-
${f.body}`).length>2e5&&(g=g.slice(0,2e5-o.length)+o),{...f,body:g}),P(l,W,j.lastRecordAt,null),d,e);return n&&await (0,i.fT)(a),n}let Y=3;async function Z(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content.length;if(d.body.length<=g)return!1;let[{getDbInstance:h},{updateMessageContent:i},{broadcastMessage:j}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,
|
|
113
|
+
${f.body}`).length>2e5&&(g=g.slice(0,2e5-o.length)+o),{...f,body:g}),P(l,W,j.lastRecordAt,null),d,e);return n&&await (0,i.fT)(a),n}let Y=3;async function Z(a,b,d,e){let f=a.instanceId??a.cliToolId,g=b.content.length;if(d.body.length<=g)return!1;let[{getDbInstance:h},{updateMessageContent:i},{broadcastMessage:j}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]);return i(h(),b.id,d.body),j("message_updated",{worktreeId:a.worktreeId,message:{...b,content:d.body}}),E.info("claude-transcript-turn-updated",{worktreeId:a.worktreeId,instanceId:f,sessionId:d.sessionId,requestId:b.requestId,path:e,previousLength:g,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}async function $(a,b,d){if(0===b.length)return 0;let[{getDbInstance:e},{findMessageByRequestId:f}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791))]),g=e(),h=0;for(let c of b){if(!A(c))continue;let b=f(g,a.worktreeId,(0,k.qe)(c.promptUuid));b&&await Z(a,b,D(c),d)&&(h+=1)}return h}async function _(a,b,d,e,f,g){let h=a.instanceId??a.cliToolId;if(g&&(g.outcome=void 0),!A(b))return g&&(g.outcome="not_yet_closed"),E.info("claude-transcript-turn-open",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptUuid:d.promptUuid,assistantRecords:b.assistantRecords,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!1;if(0===d.body.length)return E.info("claude-transcript-turn-empty",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,promptUuid:d.promptUuid}),!1;d.unknownBlockTypes.length>0&&E.info("claude-transcript-unknown-blocks",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,blockTypes:d.unknownBlockTypes});let i=(0,k.qe)(d.promptUuid),[{getDbInstance:j},{createMessage:l,findMessageByRequestId:m},{broadcastMessage:n}]=await Promise.all([Promise.resolve().then(c.bind(c,88807)),Promise.resolve().then(c.bind(c,56791)),Promise.resolve().then(c.bind(c,43015))]),o=j(),p=m(o,a.worktreeId,i);if(p)return E.debug("claude-transcript-turn-already-saved",{worktreeId:a.worktreeId,instanceId:h,requestId:i}),await Z(a,p,d,f),!0;let q=l(o,{worktreeId:a.worktreeId,role:"assistant",content:d.body,messageType:"normal",timestamp:new Date(e>0?e:Date.now()),cliToolId:a.cliToolId,instanceId:h,requestId:i});return n("message",{worktreeId:a.worktreeId,message:q}),E.info("claude-transcript-turn-saved",{worktreeId:a.worktreeId,instanceId:h,sessionId:d.sessionId,requestId:i,path:f,bodyLength:d.body.length,textBlocks:d.textBlocks,toolBlocks:d.toolBlocks}),!0}},82450:(a,b,c)=>{c.d(b,{IS:()=>h,LH:()=>n,NN:()=>g,Sj:()=>q,Te:()=>p,aW:()=>o});var d=c(85164),e=c(13033),f=c(56263);function g(a){let b=(0,d.aJ)(a).split("\n"),c=(0,d.GT)(b),e=c>=0?b.slice(0,c):b,f=-1;for(let a=e.length-1;a>=0;a--)if(/^❯\s+\S/.test(e[a])){f=a;break}let g=f>=0?f+1:0,h=e.slice(g),i=[/CLAUDE_HOOKS_/,/\/bin\/claude/,/^claude\s*$/,/@.*\s+%\s*$/,/^[^⏺]*curl.*POST/,/^[^⏺]*Content-Type/,/^[^⏺]*export\s+CLAUDE_/,/^\s*$/,/^[╭╮╰╯│─\s]+$/,/^[│╭╮╰╯].*[│╭╮╰╯]$/,/Claude Code v[\d.]+/,/^Tips for getting started/,/^Welcome back/,/Run \/init to create/,/^Recent activity/,/^No recent activity/,/▐▛███▜▌|▝▜█████▛▘|▘▘ ▝▝/,/^\s*Opus \d+\.\d+\s*·\s*Claude Max/,/\.com's Organization/,/\?\s*for shortcuts\s*$/,/^─{10,}$/,/^❯\s*$/,d.fW],j=[];for(let a of h)!i.some(b=>b.test(a))&&a.trim()&&j.push(a);return j.join("\n").trim()}function h(a){let b=(0,d.aJ)(a).split("\n"),c=[],e=[/^maenokota@.*%/,/^zsh:/,/^feature-issue-\d+/,/^\s*$/],f=!1,g=[];for(let a of b){if(a.includes("✦")){f=!0;let b=a.indexOf("✦"),c=a.substring(b+1).trim();c&&g.push(c);continue}if(f){if(e.some(b=>b.test(a)))continue;g.push(a)}}if(g.length>0)return g.join("\n").trim();for(let a of b)e.some(b=>b.test(a))||c.push(a);return c.join("\n").trim()}let i=RegExp(`^●\\s+(?:${d.Jr})[\\s:]`),j=/^\$\s+[A-Z][A-Za-z]*(?:\s|$)/,k=/^\d+\s+lines\.\.\.$/,l=/^[◐◑◒◓]/,m=/^(?:git\s+--no-pager|git\s+(?:log|diff|show|status|branch|remote|fetch|pull|push|merge|rebase|checkout|reset|stash|tag|config|clone|init|add|commit|rm|mv|bisect|grep|ls-files|rev-parse|describe|shortlog|blame|reflog|cherry-pick|revert|submodule|worktree)\b|npm\s+|npx\s+|yarn\s+|pnpm\s+|cargo\s+|pip\s+|rustc\s+|cmake\s+|docker\s+|kubectl\s+|aws\s+|gcloud\s+|az\s+|terraform\s+|ansible\s+|curl\s+|wget\s+|ssh\s+|scp\s+|rsync\s+|grep\s+|sed\s+|awk\s+|mkdir\s+|rm\s+|cp\s+|mv\s+|chmod\s+|chown\s+)/;function n(a){let b=(0,d.aJ)(a).split("\n"),c=(0,d.wv)(b),f=c>=0?b.slice(0,c):b,g=-1;for(let a=f.length-1;a>=0;a--){let b=(0,e.IW)(f[a]);if(b&&/^❯\s+\S/.test(b)){g=a;break}}let h=g>=0?g+1:0;if(g>=0)for(;h<f.length&&d.Fg.test(f[h]);)h++;let n=f.slice(h),o=[],p=!1,q=!1;for(let a of n){if(d.JN.test(a))continue;let b=(0,e.IW)(a);if(!b){p=!1,q=!1;continue}if(d.J7.some(a=>a.test(b)))continue;if(j.test(b)){q=!0,p=!1;continue}if(i.test(b))continue;if(l.test(b)){p=!0,q=!1;continue}if(!(k.test(b)||m.test(b))){if(/^❯\s*/.test(b)){p=!1,q=!1;continue}if(!/^[│└]/.test(b)){if(/^●/.test(b)){p=!1,q=!1,o.push(b.replace(/^●\s*/,""));continue}p||q||o.push(b)}}}return o.join("\n").trim()}function o(a){let b=a.split("\n"),c=[];for(let a=0;a<b.length;a++){let f=(0,e.l1)(b[a]);f&&d.Md.test(f)&&c.push(a)}let f=0;c.length>=2&&(f=c[c.length-2]+1);let g=[];for(let a=f;a<b.length;a++){let c=(0,e.l1)(b[a]);!(!c||d.sx.some(a=>a.test(c)))&&(d.Md.test(c)||g.push(c))}return g.join("\n").trim()}function p(a,b){let c=a.split("\n"),e=function(a,b){switch(b){case"codex":return(0,d.Zu)(a);case"command-code":return(0,d.I$)(a);default:return -1}}(c,b),f=e>=0?c.slice(0,e):c,{skipPatterns:g}=(0,d._X)(b),h=[];for(let a of f){let b=(0,d.aJ)(a);b.trim()&&(g.some(a=>a.test(b))||h.push(b))}return h.join("\n").trim()}function q(a,b=f.Rf,c=f.ky){if(!a||a.length<=b)return a;let d=c+"\n",e=b-d.length;if(e<=0)return c.slice(0,b);let g=a.length-e;if(g>0&&g<a.length){let b=a.charCodeAt(g);b>=56320&&b<=57343&&(g+=1)}return d+a.slice(g)}}};
|