commandmate 0.20.0 → 0.21.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 +234 -220
- package/.next/app-path-routes-manifest.json +34 -32
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +12 -12
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +18 -0
- package/.next/server/app/_not-found/page_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_client-reference-manifest.js +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_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route.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.js +1 -1
- package/.next/server/app/api/auth/status/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.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_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_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/subscriptions/route.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.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.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_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/route.js +1 -1
- package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +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/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.js +2 -2
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/todos/route.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.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_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.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.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.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.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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route.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]/prompt-response/route.js +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]/respond/route.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +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.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +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.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.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.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/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page_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_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +5 -5
- 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 +34 -32
- package/.next/server/chunks/1029.js +1 -1
- package/.next/server/chunks/1503.js +1 -1
- package/.next/server/chunks/22.js +1 -1
- package/.next/server/chunks/2328.js +1 -1
- package/.next/server/chunks/2546.js +1 -0
- package/.next/server/chunks/2710.js +2 -2
- package/.next/server/chunks/28.js +2 -2
- package/.next/server/chunks/3417.js +1 -1
- package/.next/server/chunks/365.js +1 -0
- package/.next/server/chunks/3736.js +1 -1
- package/.next/server/chunks/3753.js +14 -5
- package/.next/server/chunks/4444.js +1 -1
- package/.next/server/chunks/5064.js +1 -1
- package/.next/server/chunks/5737.js +1 -1
- package/.next/server/chunks/5959.js +10 -3
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/6274.js +1 -1
- package/.next/server/chunks/6401.js +1 -1
- package/.next/server/chunks/848.js +1 -0
- package/.next/server/chunks/8536.js +1 -1
- package/.next/server/chunks/8584.js +1 -1
- package/.next/server/chunks/8807.js +1 -1
- package/.next/server/chunks/8856.js +1 -1
- package/.next/server/chunks/9058.js +1 -1
- package/.next/server/chunks/9360.js +2 -0
- package/.next/server/chunks/9687.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/{8562-6e2ab32452f4fa5b.js → 2053-52d3c82014e1cd54.js} +1 -1
- package/.next/static/chunks/2751-9ef0f4b450bd4ef0.js +1 -0
- package/.next/static/chunks/{6488-3e7539550c3ef358.js → 6488-b5e707dfdd33d633.js} +1 -1
- package/.next/static/chunks/app/api/app/update/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/app/update-check/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/conversation/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/current-output/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/messages/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/session/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/start/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/terminal/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/assistant/tools/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/daily-summary/status/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/external-apps/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/external-apps/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/fs/browse/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/fs/recent-paths/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/hooks/agent-event/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/hooks/claude-done/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/metrics/vibe/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/ollama/models/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/push/subscriptions/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/push/vapid/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/clone/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/excluded/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/restore/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/scan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/sync/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/repositories/validate-path/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/sidebar/group-order/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/installations/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/operations/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/reindex/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/skills/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/slash-commands/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/tasks/[taskId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/templates/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/templates/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/todos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/verification/runs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/api/worktrees/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/manifest.webmanifest/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/proxy/[...path]/route-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/page-10d6f983e5f06ffb.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/layout-be21650964d61b1d.js +1 -0
- package/.next/static/chunks/app/worktrees/[id]/page-b73ac6531829c698.js +1 -0
- package/.next/trace +12 -12
- package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update/route.ts +347 -0
- package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.ts +347 -0
- package/.next/types/routes.d.ts +3 -1
- package/.next/types/validator.ts +18 -0
- package/dist/cli/commands/auto-yes.js +1 -1
- package/dist/cli/commands/capture.d.ts +1 -0
- package/dist/cli/commands/capture.d.ts.map +1 -1
- package/dist/cli/commands/capture.js +109 -0
- package/dist/cli/commands/respond.d.ts.map +1 -1
- package/dist/cli/commands/respond.js +31 -6
- package/dist/cli/commands/send.js +2 -2
- package/dist/cli/commands/skill-format.d.ts +7 -1
- package/dist/cli/commands/skill-format.d.ts.map +1 -1
- package/dist/cli/commands/skill-format.js +67 -0
- package/dist/cli/commands/skill.d.ts +2 -0
- package/dist/cli/commands/skill.d.ts.map +1 -1
- package/dist/cli/commands/skill.js +149 -0
- package/dist/cli/commands/sync.d.ts +14 -0
- package/dist/cli/commands/sync.d.ts.map +1 -0
- package/dist/cli/commands/sync.js +53 -0
- package/dist/cli/commands/wait.js +1 -1
- package/dist/cli/docs/agent-operations.d.ts +1 -1
- package/dist/cli/docs/agent-operations.d.ts.map +1 -1
- package/dist/cli/docs/agent-operations.js +25 -3
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +3 -0
- package/dist/cli/types/api-responses.d.ts +174 -0
- package/dist/cli/types/api-responses.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +31 -0
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.d.ts +9 -0
- package/dist/cli/utils/verify-runner.d.ts.map +1 -1
- package/dist/cli/utils/verify-runner.js +28 -2
- package/dist/config/history-display-config.d.ts +61 -0
- package/dist/config/history-display-config.d.ts.map +1 -0
- package/dist/config/history-display-config.js +62 -0
- package/dist/server/src/lib/auto-yes-poller.js +49 -0
- package/dist/server/src/lib/db/chat-db.js +75 -1
- package/dist/server/src/lib/db/db.js +4 -3
- package/dist/server/src/lib/polling/auto-yes-suppression-state.js +54 -0
- package/dist/server/src/lib/session/current-output-builder.js +2 -0
- package/dist/server/src/lib/skills/install-apply.js +63 -23
- package/dist/server/src/lib/skills/operation-audit.js +5 -6
- package/dist/server/src/lib/skills/startup-reconcile.js +26 -5
- package/dist/server/src/lib/skills/updater.js +830 -0
- package/package.json +1 -1
- package/.next/server/chunks/3042.js +0 -1
- package/.next/server/chunks/4440.js +0 -2
- package/.next/server/chunks/4548.js +0 -1
- package/.next/server/chunks/5793.js +0 -1
- package/.next/static/chunks/2751-7fabd91275b14ca3.js +0 -1
- package/.next/static/chunks/app/api/app/update/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/app/update-check/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/conversation/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/current-output/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/messages/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/session/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/start/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/terminal/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/assistant/tools/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/daily-summary/status/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/health/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/external-apps/[id]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/external-apps/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/fs/browse/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/fs/recent-paths/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/hooks/agent-event/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/hooks/claude-done/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/metrics/vibe/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/ollama/models/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/push/subscriptions/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/push/vapid/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/[id]/todos/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/clone/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/excluded/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/restore/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/scan/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/sync/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/repositories/validate-path/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/sidebar/group-order/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/skills/[id]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/skills/installations/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/skills/operations/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/skills/reindex/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/skills/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/slash-commands/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/tasks/[taskId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/templates/[id]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/templates/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/todos/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/[runId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/verification/runs/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/capture/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/logs/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/memos/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/messages/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/respond/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/search/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/send/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/skills/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/timers/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/todos/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/tree/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/api/worktrees/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/proxy/[...path]/route-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/skills/[skillId]/page-6008b904225ebb25.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/layout-5bdd550ed6386f57.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-214ee8b97dca856b.js +0 -1
- /package/.next/static/{C01FQOE5FCmB3I_GhMa4_ → _AR-TSCnEog5nL9JjjCna}/_buildManifest.js +0 -0
- /package/.next/static/{C01FQOE5FCmB3I_GhMa4_ → _AR-TSCnEog5nL9JjjCna}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=3736,exports.ids=[3736],exports.modules={3453:(a,b,c)=>{c.d(b,{T1:()=>
|
|
1
|
+
"use strict";exports.id=3736,exports.ids=[3736],exports.modules={3453:(a,b,c)=>{c.d(b,{Rh:()=>r,T1:()=>o,Z2:()=>m,c$:()=>n,nu:()=>q});var d=c(72626),e=c(80438);let f=(0,d.h)("ip-restriction"),g="::ffff:",h=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/,i=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\/(\d{1,2})$/,j=process.env.CM_ALLOWED_IPS?.trim()||"",k=process.env.CM_TRUST_PROXY?.trim()||"";""!==k&&"true"!==k&&"false"!==k&&(0,e.h)(f,"trust-proxy-unexpected",{value:k});let l="true"===k;function m(a){return a?a.toLowerCase().startsWith(g)?a.substring(g.length):a:""}function n(a,b){if(0===b.length)return!1;let c=function(a){let b=a.match(h);if(!b)return null;let c=[parseInt(b[1],10),parseInt(b[2],10),parseInt(b[3],10),parseInt(b[4],10)];for(let a of c)if(a<0||a>255)return null;return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0}(m(a));if(null===c)return!1;for(let a of b)if((c&a.mask)>>>0===a.network)return!0;return!1}function o(a){if(l){let b=a.get("x-forwarded-for");if(b){let a=b.split(",")[0].trim();if(a)return a}}return a.get("x-real-ip")||null}let p=j.length>0?function(a){let b=a.trim();if(0===b.length)return[];let c=b.split(",").map(a=>a.trim()).filter(a=>a.length>0);if(c.length>256)throw Error(`CM_ALLOWED_IPS: too many entries (${c.length}). Maximum is 256.`);let d=[];for(let a of c){if(a.length>18)throw Error(`CM_ALLOWED_IPS: entry "${a}" exceeds maximum length of 18 characters.`);let b=a.match(i);if(b){let c=[parseInt(b[1],10),parseInt(b[2],10),parseInt(b[3],10),parseInt(b[4],10)],e=parseInt(b[5],10);for(let b of c)if(b<0||b>255)throw Error(`CM_ALLOWED_IPS: invalid octet in "${a}". Octets must be 0-255.`);if(e<0||e>32)throw Error(`CM_ALLOWED_IPS: invalid prefix length in "${a}". Must be 0-32.`);let f=(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0,g=0===e?0:0xffffffff<<32-e>>>0;d.push({network:(f&g)>>>0,mask:g});continue}let c=a.match(h);if(c){let b=[parseInt(c[1],10),parseInt(c[2],10),parseInt(c[3],10),parseInt(c[4],10)];for(let c of b)if(c<0||c>255)throw Error(`CM_ALLOWED_IPS: invalid octet in "${a}". Octets must be 0-255.`);let e=(b[0]<<24|b[1]<<16|b[2]<<8|b[3])>>>0;d.push({network:e,mask:0xffffffff});continue}throw Error(`CM_ALLOWED_IPS: invalid entry "${a}". Expected IPv4 address or CIDR notation.`)}return d}(j):[];function q(){return p}function r(){return j.length>0}},66007:(a,b,c)=>{c.d(b,{B9:()=>m,Px:()=>o,Uc:()=>l,b$:()=>n,h6:()=>k});var d=c(33873),e=c.n(d),f=c(29021),g=c(72626),h=c(80438);let i=(0,g.h)("path-validator"),j=/^[a-zA-Z0-9_-]+$/;function k(a){return!!a&&0!==a.length&&j.test(a)}function l(a,b){return a===b||a.startsWith(b+e().sep)}function m(a,b){if(!a||""===a.trim()||a.includes("\0"))return!1;let c=a;try{c=decodeURIComponent(a)}catch{c=a}if(c.includes("\0"))return!1;let d=e().resolve(b),f=e().resolve(b,c),g=e().relative(d,f);return!(g.startsWith("..")||e().isAbsolute(g))}function n(a,b){if(!a||""===a.trim())throw Error("Invalid path: Path cannot be empty");if(a.includes("\0"))throw Error("Invalid path: Null bytes not allowed");if(!m(a,b))throw Error(`Path is outside allowed directory: ${a} (allowed root: ${b})`);let c=a;try{c=decodeURIComponent(a)}catch{c=a}return e().resolve(b,c)}function o(a,b){let c;try{c=(0,f.realpathSync)(b)}catch{return!1}let d=e().resolve(b,a);if((0,f.existsSync)(d))try{let b=(0,f.realpathSync)(d),e=l(b,c);return e||(0,h.h)(i,"symlink-rejected",{targetPath:a,resolvedTarget:b}),e}catch{return!1}try{if((0,f.lstatSync)(d).isSymbolicLink())try{let b=(0,f.readlinkSync)(d),g=e().resolve(e().dirname(d),b),j=l(g,c);return j||(0,h.h)(i,"dangling-symlink-rejected",{targetPath:a,resolvedLinkTarget:g}),j}catch{return!1}}catch{}let g=e().dirname(d);for(;g!==e().dirname(g);){if((0,f.existsSync)(g))try{let a=(0,f.realpathSync)(g),b=l(a,c);return b||(0,h.h)(i,"symlink-ancestor-rejected",{currentPath:g,resolvedAncestor:a}),b}catch{break}g=e().dirname(g)}return!1}},80438:(a,b,c)=>{c.d(b,{h:()=>d});function d(a,b,c){a.warn(`security:${b}`,c)}},93390:(a,b,c)=>{c.d(b,{aq:()=>f,sO:()=>j,r0:()=>q,x:()=>r,zr:()=>p,y2:()=>o,JT:()=>n,nr:()=>m});var d=c(55511),e=c.n(d);let f="cm_auth_token",g=/^[0-9a-f]{64}$/,h=2592e6,i={maxAttempts:5,lockoutDuration:9e5,cleanupInterval:36e5},j=86400,k=(()=>{let a=process.env.CM_AUTH_TOKEN_HASH||void 0;return a?!function(a){return!!a&&g.test(a)}(a)?void console.error("[auth] CM_AUTH_TOKEN_HASH is not a valid SHA-256 hash"):a:void 0})(),l=function(){let a=process.env.CM_AUTH_EXPIRE,b=Date.now();if(a)try{return b+function(a){let b=a.match(/^(\d+)([hdm])$/);if(!b)throw Error(`Invalid duration format: "${a}". Use Nh, Nd, or Nm (e.g., "24h", "7d", "90m")`);let c=parseInt(b[1],10),d=b[2],e={h:36e5,d:864e5,m:6e4}[d];if(void 0===e)throw Error(`Invalid duration unit: "${d}"`);let f=c*e;if(f<36e5)throw Error(`Duration too short: minimum is 1h (60m). Got: "${a}"`);if(f>h)throw Error(`Duration too long: maximum is 30d (720h). Got: "${a}"`);return f}(a)}catch{return b+864e5}return process.env.CM_AUTH_TOKEN_HASH?b+864e5:null}();function m(a){if(!k||!a||"string"!=typeof a||null!==l&&Date.now()>l)return!1;let b=e().createHash("sha256").update(a).digest("hex"),c=Buffer.from(b,"hex"),d=Buffer.from(k,"hex");return c.length===d.length&&e().timingSafeEqual(c,d)}function n(a){let b={};if(!a)return b;for(let c of a.split(";")){let a=c.indexOf("=");if(-1===a)continue;let d=c.substring(0,a).trim(),e=c.substring(a+1).trim();d&&(b[d]=e)}return b}function o(){return!!k}function p(){if(null===l)return 0;let a=l-Date.now();return a<=0?0:Math.floor(a/1e3)}function q(a){return{httpOnly:!0,sameSite:"strict",secure:!!process.env.CM_HTTPS_CERT,maxAge:a,path:"/"}}function r(){let a=new Map,b=setInterval(()=>{let b=Date.now();for(let[c,d]of a){let e=null===d.lockedUntil||b>d.lockedUntil,f=b-d.lastAttempt>i.lockoutDuration;e&&f&&a.delete(c)}},i.cleanupInterval);return b.unref&&b.unref(),{checkLimit(b){let c=a.get(b);if(!c)return{allowed:!0};if(null!==c.lockedUntil){let a=Date.now();if(a<c.lockedUntil)return{allowed:!1,retryAfter:Math.ceil((c.lockedUntil-a)/1e3)};c.attempts=0,c.lockedUntil=null}return{allowed:!0}},recordFailure(b){let c=Date.now(),d=a.get(b)||{attempts:0,lockedUntil:null,lastAttempt:c};d.attempts++,d.lastAttempt=c,d.attempts>=i.maxAttempts&&(d.lockedUntil=c+i.lockoutDuration),a.set(b,d)},recordSuccess(b){a.delete(b)},destroy(){clearInterval(b),a.clear()}}}}};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
VALUES (?, ?, ?)
|
|
3
3
|
ON CONFLICT(old_id) DO UPDATE SET
|
|
4
4
|
worktree_id = excluded.worktree_id,
|
|
5
|
-
created_at = excluded.created_at`).run(b,c,d))}function f(a,b,c=(0,d.xE)(a)){if(0===b.length)return;let{noDelete:e}=(0,d.ld)(a),g=b.map(()=>"?").join(",");for(let{table:d,column:f}of c)e.has(d)||a.prepare(`DELETE FROM "${d}" WHERE "${f}" IN (${g})`).run(...b)}function g(a,b,c,h=Date.now()){if(b===c||!a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return;a.pragma("defer_foreign_keys = ON");let i=a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c),{noUpdate:j}=(0,d.ld)(a),k=(0,d.xE)(a),l=k.filter(({table:a})=>!j.has(a));if(i){for(let{table:d,column:e}of l)a.prepare(`UPDATE OR IGNORE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);f(a,[b],k),a.prepare("DELETE FROM worktrees WHERE id = ?").run(b),e(a,b,c,h);return}for(let{table:d,column:e}of(a.prepare("UPDATE worktrees SET id = ? WHERE id = ?").run(c,b),l))a.prepare(`UPDATE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);e(a,b,c,h)}},40277:(a,b,c)=>{c.d(b,{ZN:()=>g,ld:()=>f,xE:()=>e});let d="worktree_id";function e(a){let b=a.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'").all(),c=[],e=new Set,f=(a,b)=>{let d=JSON.stringify([a,b]);e.has(d)||(e.add(d),c.push({table:a,column:b}))};for(let{name:c}of b)if("worktrees"!==c)for(let b of(a.prepare(`PRAGMA table_info("${c}")`).all().some(a=>a.name===d)&&f(c,d),a.prepare(`PRAGMA foreign_key_list("${c}")`).all()))"worktrees"===b.table&&("id"===b.to||null===b.to)&&f(c,b.from);return c}function f(a){let b=a.prepare("SELECT tbl_name, sql FROM sqlite_master WHERE type = 'trigger'").all(),c=new Set,d=new Set;for(let a of b)a.sql&&/\bRAISE\s*\(\s*ABORT/i.test(a.sql)&&(/\bBEFORE\s+UPDATE\b/i.test(a.sql)&&c.add(a.tbl_name),/\bBEFORE\s+DELETE\b/i.test(a.sql)&&d.add(a.tbl_name));return{noUpdate:c,noDelete:d}}function g(a){let{noDelete:b}=f(a);return e(a).filter(({table:a})=>!b.has(a))}},52201:(a,b,c)=>{c.d(b,{MJ:()=>h,nW:()=>g});var d=c(15194);let e=["claude","codex","antigravity"];function f(a){return a.length<2||a.length>6?{valid:!1,error:"Must be 2-6 elements"}:a.every(a=>"string"==typeof a&&d.XH.includes(a))?new Set(a).size!==a.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:a}:{valid:!1,error:"Invalid CLI tool ID"}}function g(a){if(!a)return e;try{let b=JSON.parse(a);if(!Array.isArray(b))return e;let c=f(b);if(!c.valid)return e;return c.value}catch{return e}}function h(a){return!Array.isArray(a)||a.length<2||a.length>6?{valid:!1,error:"selected_agents must be an array of 2-6 elements"}:f(a)}},52660:(a,b,c)=>{c.d(b,{DF:()=>l,EU:()=>o,PL:()=>t,Qp:()=>n,VL:()=>i,cw:()=>s,jp:()=>p,kA:()=>r,ks:()=>f,lA:()=>m,lr:()=>q,oH:()=>h,pE:()=>k,r8:()=>j});var d=c(55511);let e=(0,c(72626).h)("chat-db"),f="AND archived = 0";function g(a){let b=a.cli_tool_id??"claude";return{id:a.id,worktreeId:a.worktree_id,role:a.role,content:a.content,summary:a.summary||void 0,timestamp:new Date(a.timestamp),logFileName:a.log_file_name||void 0,requestId:a.request_id||void 0,messageType:a.message_type||"normal",promptData:a.prompt_data?JSON.parse(a.prompt_data):void 0,cliToolId:b,instanceId:a.instance_id??b,archived:1===a.archived}}function h(a,b){var c,e;let f=(0,d.randomUUID)(),g=b.cliToolId||"claude",h=b.instanceId||g;return a.prepare(`
|
|
5
|
+
created_at = excluded.created_at`).run(b,c,d))}function f(a,b,c=(0,d.xE)(a)){if(0===b.length)return;let{noDelete:e}=(0,d.ld)(a),g=b.map(()=>"?").join(",");for(let{table:d,column:f}of c)e.has(d)||a.prepare(`DELETE FROM "${d}" WHERE "${f}" IN (${g})`).run(...b)}function g(a,b,c,h=Date.now()){if(b===c||!a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(b))return;a.pragma("defer_foreign_keys = ON");let i=a.prepare("SELECT 1 FROM worktrees WHERE id = ?").get(c),{noUpdate:j}=(0,d.ld)(a),k=(0,d.xE)(a),l=k.filter(({table:a})=>!j.has(a));if(i){for(let{table:d,column:e}of l)a.prepare(`UPDATE OR IGNORE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);f(a,[b],k),a.prepare("DELETE FROM worktrees WHERE id = ?").run(b),e(a,b,c,h);return}for(let{table:d,column:e}of(a.prepare("UPDATE worktrees SET id = ? WHERE id = ?").run(c,b),l))a.prepare(`UPDATE "${d}" SET "${e}" = ? WHERE "${e}" = ?`).run(c,b);e(a,b,c,h)}},40277:(a,b,c)=>{c.d(b,{ZN:()=>g,ld:()=>f,xE:()=>e});let d="worktree_id";function e(a){let b=a.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'").all(),c=[],e=new Set,f=(a,b)=>{let d=JSON.stringify([a,b]);e.has(d)||(e.add(d),c.push({table:a,column:b}))};for(let{name:c}of b)if("worktrees"!==c)for(let b of(a.prepare(`PRAGMA table_info("${c}")`).all().some(a=>a.name===d)&&f(c,d),a.prepare(`PRAGMA foreign_key_list("${c}")`).all()))"worktrees"===b.table&&("id"===b.to||null===b.to)&&f(c,b.from);return c}function f(a){let b=a.prepare("SELECT tbl_name, sql FROM sqlite_master WHERE type = 'trigger'").all(),c=new Set,d=new Set;for(let a of b)a.sql&&/\bRAISE\s*\(\s*ABORT/i.test(a.sql)&&(/\bBEFORE\s+UPDATE\b/i.test(a.sql)&&c.add(a.tbl_name),/\bBEFORE\s+DELETE\b/i.test(a.sql)&&d.add(a.tbl_name));return{noUpdate:c,noDelete:d}}function g(a){let{noDelete:b}=f(a);return e(a).filter(({table:a})=>!b.has(a))}},52201:(a,b,c)=>{c.d(b,{MJ:()=>h,nW:()=>g});var d=c(15194);let e=["claude","codex","antigravity"];function f(a){return a.length<2||a.length>6?{valid:!1,error:"Must be 2-6 elements"}:a.every(a=>"string"==typeof a&&d.XH.includes(a))?new Set(a).size!==a.length?{valid:!1,error:"Duplicate tool IDs not allowed"}:{valid:!0,value:a}:{valid:!1,error:"Invalid CLI tool ID"}}function g(a){if(!a)return e;try{let b=JSON.parse(a);if(!Array.isArray(b))return e;let c=f(b);if(!c.valid)return e;return c.value}catch{return e}}function h(a){return!Array.isArray(a)||a.length<2||a.length>6?{valid:!1,error:"selected_agents must be an array of 2-6 elements"}:f(a)}},52660:(a,b,c)=>{c.d(b,{DF:()=>l,EU:()=>o,PL:()=>t,Qp:()=>n,VL:()=>i,cw:()=>s,jp:()=>p,kA:()=>r,ks:()=>f,lA:()=>m,lr:()=>q,oH:()=>h,pE:()=>k,pG:()=>u,r8:()=>j});var d=c(55511);let e=(0,c(72626).h)("chat-db"),f="AND archived = 0";function g(a){let b=a.cli_tool_id??"claude";return{id:a.id,worktreeId:a.worktree_id,role:a.role,content:a.content,summary:a.summary||void 0,timestamp:new Date(a.timestamp),logFileName:a.log_file_name||void 0,requestId:a.request_id||void 0,messageType:a.message_type||"normal",promptData:a.prompt_data?JSON.parse(a.prompt_data):void 0,cliToolId:b,instanceId:a.instance_id??b,archived:1===a.archived}}function h(a,b){var c,e;let f=(0,d.randomUUID)(),g=b.cliToolId||"claude",h=b.instanceId||g;return a.prepare(`
|
|
6
6
|
INSERT INTO chat_messages
|
|
7
7
|
(id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id, instance_id)
|
|
8
8
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
UPDATE worktrees
|
|
11
11
|
SET updated_at = ?
|
|
12
12
|
WHERE id = ?
|
|
13
|
-
`).run(e.getTime(),c),"user"===b.role&&o(a,b.worktreeId,b.content,b.timestamp),{id:f,...b,archived:!1}}function i(a,b,c={}){let{before:d,limit:e=50,cliToolId:h,instanceId:j,includeArchived:k=!1,limitUnit:
|
|
14
|
-
WHERE worktree_id = ? AND (? IS NULL OR timestamp < ?)`,c=[b,d?.getTime()||null,d?.getTime()||null];return k||(a+=` ${f}`),j?(a+=" AND instance_id = ?",c.push(j)):h&&(a+=" AND cli_tool_id = ?",c.push(h)),{clause:a,params:c}},
|
|
13
|
+
`).run(e.getTime(),c),"user"===b.role&&o(a,b.worktreeId,b.content,b.timestamp),{id:f,...b,archived:!1}}function i(a,b,c={}){let{before:d,limit:e=50,cliToolId:h,instanceId:j,includeArchived:k=!1,messageType:l,limitUnit:m="messages"}=c,n=()=>{let a=`FROM chat_messages
|
|
14
|
+
WHERE worktree_id = ? AND (? IS NULL OR timestamp < ?)`,c=[b,d?.getTime()||null,d?.getTime()||null];return k||(a+=` ${f}`),j?(a+=" AND instance_id = ?",c.push(j)):h&&(a+=" AND cli_tool_id = ?",c.push(h)),l&&(a+=" AND message_type = ?",c.push(l)),{clause:a,params:c}},o="SELECT id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id, instance_id, archived";if("pairs"===m){let b=n(),c=a.prepare(`SELECT MIN(timestamp) AS cutoff FROM (
|
|
15
15
|
SELECT timestamp ${b.clause} AND role = 'user'
|
|
16
16
|
ORDER BY timestamp DESC LIMIT ?
|
|
17
|
-
)`).get(...b.params,e),d=c?.cutoff??null;if(null!==d){let b=
|
|
17
|
+
)`).get(...b.params,e),d=c?.cutoff??null;if(null!==d){let b=n();return a.prepare(`${o} ${b.clause} AND timestamp >= ? ORDER BY timestamp DESC`).all(...b.params,d).map(g)}}let p=n();return a.prepare(`${o} ${p.clause} ORDER BY timestamp DESC LIMIT ?`).all(...p.params,e).map(g)}function j(a,b){let c=a.prepare(`
|
|
18
18
|
SELECT id, worktree_id, role, content, summary, timestamp, log_file_name, request_id, message_type, prompt_data, cli_tool_id, instance_id, archived
|
|
19
19
|
FROM chat_messages
|
|
20
20
|
WHERE worktree_id = ? AND role = 'user' ${f}
|
|
@@ -70,7 +70,16 @@
|
|
|
70
70
|
UPDATE chat_messages
|
|
71
71
|
SET prompt_data = ?
|
|
72
72
|
WHERE id = ?
|
|
73
|
-
`),h=0;for(let a of e)try{let b=JSON.parse(a.prompt_data);b.status="answered",b.answer="(answered via terminal)",b.answeredAt=new Date().toISOString(),g.run(JSON.stringify(b),a.id),h++}catch{}return h}
|
|
73
|
+
`),h=0;for(let a of e)try{let b=JSON.parse(a.prompt_data);b.status="answered",b.answer="(answered via terminal)",b.answeredAt=new Date().toISOString(),b.answeredBy="terminal",g.run(JSON.stringify(b),a.id),h++}catch{}return h}function u(a,b){let{worktreeId:c,cliToolId:d,promptData:e,answer:g,answeredBy:i}=b,j=b.instanceId??d,k=a.prepare(`
|
|
74
|
+
SELECT id, prompt_data
|
|
75
|
+
FROM chat_messages
|
|
76
|
+
WHERE worktree_id = ?
|
|
77
|
+
AND instance_id = ?
|
|
78
|
+
AND message_type = 'prompt'
|
|
79
|
+
AND json_extract(prompt_data, '$.status') = 'pending'
|
|
80
|
+
${f}
|
|
81
|
+
ORDER BY timestamp DESC
|
|
82
|
+
`).all(c,j),l=null;for(let a of k)try{let b=JSON.parse(a.prompt_data);if(l||(l={id:a.id,parsed:b}),b.question===e.question){l={id:a.id,parsed:b};break}}catch{}let m=new Date().toISOString();if(l){let b={...l.parsed,status:"answered",answer:g,answeredAt:m,answeredBy:i};return s(a,l.id,b),{message:r(a,l.id),created:!1}}return{message:h(a,{worktreeId:c,role:"assistant",content:b.content||e.question||"[prompt]",messageType:"prompt",promptData:{...e,status:"answered",answer:g,answeredAt:m,answeredBy:i},timestamp:new Date,cliToolId:d,instanceId:j}),created:!0}}},73753:(a,b,c)=>{c.d(b,{DC:()=>q,Dx:()=>p,GA:()=>t,HZ:()=>m,NV:()=>h,O:()=>n,P9:()=>v,Rm:()=>A,Sj:()=>x,Ui:()=>i,ZL:()=>j,hq:()=>k,iu:()=>r,nO:()=>w,oZ:()=>z,p4:()=>u,s:()=>s,uJ:()=>y,vi:()=>g,yB:()=>o,z1:()=>l});var d=c(52201),e=c(52660),f=c(27923);function g(a,b){let c=`
|
|
74
83
|
SELECT
|
|
75
84
|
w.id, w.name, w.path, w.repository_path, w.repository_name, w.description,
|
|
76
85
|
w.last_user_message, w.last_user_message_at, w.last_message_summary,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=4444,exports.ids=[4444],exports.modules={12462:(a,b,c)=>{c.d(b,{T8:()=>j,o4:()=>k});var d=c(31766),e=c(56791),f=c(69297),g=c(82450),h=c(15194);let i=(0,c(72626).h)("assistant-response-saver");function j(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);default:return a.trim()}}async function k(a,b,c,g,k){let l=k??c;try{let m;if((0,h.VA)(c))return null;let n=(0,e.y1O)(a,b,l),o=n?.lastCapturedLine||0;try{m=await (0,d.Wh)(b,c,1e4,k)}catch{return i.info("failed-to-capture"),null}if(!m)return null;let p=m.split("\n"),q=p.length;for(;q>0&&""===p[q-1].trim();)q--;let r=q,{bufferReset:s,reason:t}=r>0&&o>25&&r+25<o?{bufferReset:!0,reason:"shrink"}:r>0&&o>50&&r<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};s&&i.info("buffer:reset-detected",{reason:t,currentLineCount:r,lastCapturedLine:o});let u=s?0:o;if(!s&&r<=o)return r<o&&((0,e.PPx)(a,b,c,r,k),i.info("position:corrected-stale",{from:o,to:r})),null;let v=p.slice(u).join("\n"),w=j(v,c);if(!w||""===w.trim())return(0,e.PPx)(a,b,c,r,k),i.debug("response:empty-after-clean",{currentLineCount:r}),null;let x=new Date(g.getTime()-1),y=(0,e.oHS)(a,{worktreeId:b,role:"assistant",content:w,messageType:"normal",timestamp:x,cliToolId:c,instanceId:l});return(0,e.PPx)(a,b,c,r,k),(0,f.
|
|
1
|
+
"use strict";exports.id=4444,exports.ids=[4444],exports.modules={12462:(a,b,c)=>{c.d(b,{T8:()=>j,o4:()=>k});var d=c(31766),e=c(56791),f=c(69297),g=c(82450),h=c(15194);let i=(0,c(72626).h)("assistant-response-saver");function j(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);default:return a.trim()}}async function k(a,b,c,g,k){let l=k??c;try{let m;if((0,h.VA)(c))return null;let n=(0,e.y1O)(a,b,l),o=n?.lastCapturedLine||0;try{m=await (0,d.Wh)(b,c,1e4,k)}catch{return i.info("failed-to-capture"),null}if(!m)return null;let p=m.split("\n"),q=p.length;for(;q>0&&""===p[q-1].trim();)q--;let r=q,{bufferReset:s,reason:t}=r>0&&o>25&&r+25<o?{bufferReset:!0,reason:"shrink"}:r>0&&o>50&&r<50?{bufferReset:!0,reason:"restart"}:{bufferReset:!1,reason:null};s&&i.info("buffer:reset-detected",{reason:t,currentLineCount:r,lastCapturedLine:o});let u=s?0:o;if(!s&&r<=o)return r<o&&((0,e.PPx)(a,b,c,r,k),i.info("position:corrected-stale",{from:o,to:r})),null;let v=p.slice(u).join("\n"),w=j(v,c);if(!w||""===w.trim())return(0,e.PPx)(a,b,c,r,k),i.debug("response:empty-after-clean",{currentLineCount:r}),null;let x=new Date(g.getTime()-1),y=(0,e.oHS)(a,{worktreeId:b,role:"assistant",content:w,messageType:"normal",timestamp:x,cliToolId:c,instanceId:l});return(0,e.PPx)(a,b,c,r,k),(0,f.broadcastMessage)("message",{worktreeId:b,message:y}),i.info("response:saved",{fromLine:o,toLine:r}),y}catch(a){return i.error("error:",{error:a instanceof Error?a.message:String(a)}),null}}},16700:(a,b,c)=>{c.d(b,{A:()=>e,Y:()=>f});let d=new Set(["claude","codex","antigravity"]);function e(a){return d.has(a)?"non_interactive":"interactive"}function f(a){return"non_interactive"===e(a)}},46961:(a,b,c)=>{c.d(b,{e:()=>f});var d=c(56791),e=c(82149);function f(a,b){if(!(0,d.iTB)(a,b))return;let c=(0,d.ceo)(a,b),f=(0,e.kx)(b);c&&!f&&((0,d.azd)(a,c.id,{status:"failed",finishedAt:new Date,stderrText:[c.stderrText??"","[Execution reconciled after process registry loss]"].filter(Boolean).join("\n")}),(0,d.xRr)(a,b,{status:"ready"}))}},49070:(a,b,c)=>{c.d(b,{A:()=>l});var d=c(31766),e=c(3523),f=c(12462),g=c(56791),h=c(57821),i=c(72626),j=c(26283);let k=(0,i.h)("assistant/conversation-response-saver");async function l(a,b,c,i=new Date){try{let k=(0,g.qKv)(a,b),l=k?.lastCapturedLine??0,m=(0,h.G)(b),n=await (0,d.Wh)(m,c,1e4),o="codex"===c?function(a,b){let c=a.split("\n"),d=c.length;for(;d>0&&""===c[d-1].trim();)d--;let e=c.slice(0,d),f=[];for(let a=Math.max(0,b);a<e.length;a++){let b=(0,j.aJ)(e[a]).trimEnd();/^›(?:\s+.*)?$/.test(b)&&f.push(a)}if(f.length<2)return null;let g=f[f.length-2],h=f[f.length-1],i=(0,j.aJ)(e.slice(g+1,h).join("\n")).trim();return i?!function(a){let b=a.trim();return/^•\s+Working\s+\(\d+s\s+•\s+esc to interrupt\)$/i.test(b)||/^•\s+Thinking\s+\(\d+s\s+•\s+esc to interrupt\)$/i.test(b)||/^•\s+Running/i.test(b)}(i)?{response:i,lineCount:h}:null:{response:"",lineCount:h}}(n,l):null,p=o?{response:o.response,isComplete:!0,lineCount:o.lineCount,bufferReset:!1}:(0,e.z$)(n,l,c);if(!p||!p.isComplete||!p.bufferReset&&p.lineCount<=l)return null;let q=(0,f.T8)(p.response,c);if(!q||""===q.trim()||"[No content]"===q)return(0,g.PPl)(a,b,p.lineCount),null;let r=(0,g.qpu)(a,{conversationId:b,role:"assistant",content:q,messageType:"normal",timestamp:i});return(0,g.PPl)(a,b,p.lineCount),r}catch(a){return k.debug("save:skipped",{conversationId:b,cliToolId:c,error:a instanceof Error?a.message:String(a)}),null}}},57821:(a,b,c)=>{c.d(b,{G:()=>e,O:()=>f});var d=c(31268);function e(a){return`assistant-${a}`}function f(a,b){let c=d.s.getInstance().getTool(a),f=e(b),g=c.getSessionName(f);return{cliTool:c,worktreeId:f,sessionName:g}}},67502:(a,b,c)=>{c.d(b,{JD:()=>h,_$:()=>g});var d=c(15194),e=c(10406),f=c(73753);function g(a,b,c=new Date){var h;let i=(0,d.oo)(a);return[`You are an assistant using ${i}, running inside CommandMate.`,"",(h="commandmate-cli"===process.env.CM_LAUNCHED_BY?"commandmate":"commandmatedev",`## CommandMate CLI Reference
|
|
2
2
|
|
|
3
3
|
The user runs a CommandMate server locally. These are the CLI commands available from their terminal:
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5064,exports.ids=[5064],exports.modules={55064:a=>{a.exports=JSON.parse('{"page":{"title":"Skills","description":"Browse the official Skill Catalog. Each entry shows what a Skill is, who publishes it, which CommandMate versions it needs, and what its publisher declares about risk.","backToCatalog":"Back to the Catalog"},"search":{"label":"Search Skills","placeholder":"Name, summary, keyword or provider","resultCount":"Showing {shown} of {total} Skills"},"filters":{"compatibility":"CommandMate compatibility","risk":"Publisher-declared risk","agent":"Agent support","all":"All","reset":"Reset filters"},"compatibility":{"label":"CommandMate compatibility","native":"Runs natively","commandmateRuntime":"Runs via CommandMate Runtime","unsupported":"Not supported","unknown":"Not verified","status":{"compatible":"Compatible","incompatible":"Incompatible","unknown":"Unverified"},"requiredRange":"Requires CommandMate {range}","currentVersion":"Running CommandMate {version}","currentVersionUnknown":"The running CommandMate version could not be determined.","unverifiedNotice":"Unverified is not the same as compatible. CommandMate could not decide, so this Skill may fail to run.","agentsHeading":"Agent support","agentsNotice":"Agent support starts as a claim made by the publisher, shown with the evidence they supplied. Where CommandMate has measured the Agent itself, that measurement is shown alongside it and caps what the claim can assert.","agentsUnknown":"No Agent support is declared for this version.","evidence":"Evidence","declaredLabel":"Publisher declares: {support}","measuredHeading":"Measured by CommandMate","testedVersion":"Tested against {agent} {version}","testedDate":"Measured on {date}","evidenceSource":"Evidence","discoveryRoots":"Reads from {roots}","evidenceStale":"This measurement is {days} days old. The Agent may have changed since it was taken.","reloadHeading":"How to make {agent} pick it up","axis":{"discovery":"Discovery","invocation":"Slash command"},"axisOutcome":{"verified":"Confirmed","unsupported":"Not available","unknown":"Not measured"},"evidenceKind":{"mechanical":"machine-checked","selfReport":"reported by the Agent","notMeasured":"no measurement"},"verification":{"confirmed":"CommandMate measured this Agent and the result matches what the publisher declares.","restricted":"CommandMate measured less support than the publisher declares, so the lower result is shown.","staleDeclaration":"CommandMate measured more support than the publisher declares. The declaration is shown as-is; only the publisher can raise it.","unverified":"CommandMate has not measured this Agent, so only the publisher\'s claim is shown."},"limitation":{"noSlashCommand":"This Agent version finds the Skill but does not list it as a slash command. Ask for it by name instead."},"skipReason":{"notMeasured":"This Agent has not been measured against a CommandMate install, so its discovery behaviour is unknown rather than unsupported."},"reload":{"sessionRestart":"Start a new {agent} session in this repository. Skills are scanned when a session starts.","sessionRestartNoSlash":"Start a new {agent} session in this repository, then ask for the Skill by name — this version does not list Skills as slash commands.","unknown":"CommandMate has not measured how {agent} reloads Skills. Restarting the session is the safe assumption."},"reason":{"satisfied":"CommandMate {currentVersion} satisfies the required range {range}.","hostVersionOutOfRange":"This Skill requires CommandMate {range}, but CommandMate {currentVersion} is running.","hostVersionUnknown":"The running CommandMate version could not be determined, so compatibility with {range} is unverified.","rangeUnsupported":"This Skill declares the version range {range}, which CommandMate cannot interpret, so compatibility is unverified."}},"risk":{"declaredLabel":"Declared risk: {level}","declaredHeading":"Publisher-declared risk","level":{"low":"Low","moderate":"Moderate","high":"High"},"declaredNotice":"This level is declared by the publisher of the Skill. It is a claim, not a CommandMate assessment.","computedHeading":"CommandMate-computed risk","computedUnavailable":"Not available from the Catalog. CommandMate computes its own risk level by inspecting the package contents, which only happens once the package has been downloaded.","highWarning":"The publisher declares this Skill as high risk. Read the changelog and the source coordinates before installing it."},"permissions":{"heading":"Declared permissions","declarationOnlyNotice":"Permissions are declarations written by the publisher, not restrictions CommandMate enforces. Installing a Skill does not sandbox what it can do.","unavailable":"The Catalog does not carry declared permissions. They live in the Skill manifest inside the package, which CommandMate only reads after downloading it."},"capabilities":{"heading":"What this Skill does","unavailable":"Detailed capabilities and expected outcomes live in the Skill manifest inside the package and are not part of the Catalog. The summary below is what the Catalog publishes."},"requirements":{"heading":"Required commands and network access","unavailable":"The Catalog does not carry runtime requirements. Required commands and network hosts live in the Skill manifest inside the package."},"contents":{"heading":"Files and scripts","unavailable":"The Catalog does not list package contents. Files, scripts and executables are enumerated when CommandMate downloads and inspects the package."},"detail":{"overview":"Overview","provider":"Provider","providerContact":"Contact","license":"License","homepage":"Homepage","keywords":"Keywords","skillId":"Skill ID","latestVersion":"Latest published version","recommendedVersion":"Recommended version","recommendedVersionNone":"None","requiredRangeLabel":"Required CommandMate range","publishedAt":"Published","sourceRepository":"Repository","sourceRef":"Ref","sourceCommit":"Commit","packageAsset":"Asset name","packageDigest":"SHA-256","packageSize":"Size","packageBytes":"{bytes} bytes","versionsHeading":"Version history","versionsEmpty":"This Skill lists no published versions that apply to this CommandMate.","changelogHeading":"Changelog","changelogEmpty":"This version publishes no changelog.","mediaStripped":"Images and embedded media are removed from Catalog text, so nothing is loaded from an external host.","prerelease":"Prerelease","recommendation":{"highestCompatible":"This is the newest published version that works with the CommandMate you are running.","latestUnverified":"The running CommandMate version could not be determined, so the publisher\'s latest version is offered without a compatibility check.","noneCompatible":"No published version of this Skill works with the CommandMate you are running.","noVersions":"No published version of this Skill applies to this CommandMate."},"install":{"action":"Choose an install target","blockedIncompatible":"Install is unavailable: {reason}","blockedNoVersion":"Install is unavailable because no published version applies to the CommandMate you are running."}},"target":{"heading":"Install target","loading":"Loading registered worktrees…","empty":"No worktree is registered yet. Register one before installing a Skill.","errorNotice":"The list of registered worktrees could not be loaded, so no install target can be chosen right now.","retry":"Retry","selected":"Selected","repository":"Repository","branch":"Branch","branchUnknown":"Not recorded","agents":"Agents","agentsNone":"None configured","workingTree":"Working tree","workingTreeClean":"No uncommitted changes","workingTreeDirty":"Has uncommitted changes","workingTreeUnknown":"Not inspected","sessionRunning":"A session is currently running in this worktree.","branchFreshnessNotice":"The branch shown here comes from the last worktree scan. CommandMate resolves the live branch and commit when it builds the install plan, and reports any difference there."},"plan":{"highRiskAcknowledgement":"CommandMate rated this package high risk after inspecting its contents. Review the files, scripts and declared permissions below, then confirm explicitly that you want to install it into this worktree.","build":"Build install plan","building":"Building the install plan…","chooseTarget":"Choose the worktree this Skill would be installed into.","ready":"Building a plan writes nothing. It downloads the package, inspects it and reports exactly what installing would change.","heading":"Install plan","expiresAt":"This plan is valid until {timestamp}. After that, build a new one.","targetHeading":"Where this would be installed","headStateLabel":"Git HEAD","headState":{"attached":"On a branch","detached":"Detached HEAD","unborn":"No commit yet","unknown":"Could not be resolved"},"installRoot":"Install directory","existingInstall":"Already installed here","existingInstallNone":"Nothing installed here yet","existingInstallVersion":"Version {version}","riskHeading":"Risk","riskDeclared":"Declared","riskComputed":"Computed","riskEffective":"Effective","riskNotice":"The computed level comes from inspecting the downloaded package. Where it disagrees with the publisher\'s claim, the higher of the two is the effective level.","permission":{"filesystemRead":"Reads files","filesystemWrite":"Writes files","networkAccess":"Accesses the network","processExecution":"Runs other programs","environmentRead":"Reads environment variables","credentialAccess":"Accesses credentials"},"permissionsNone":"The manifest declares no permissions.","requirementsNone":"The manifest requires no commands and no network access.","requirementsCommands":"Commands","requirementsHosts":"Network hosts","commandAnyVersion":"(any version)","scriptsHeading":"Scripts and executables in the package","scriptsNone":"The package contains no scripts and no executable files.","warningsHeading":"Caveats","warning":{"detachedHead":"This worktree is not on a branch, so the install would not belong to any branch history.","unbornHead":"This worktree has no commit yet.","headUnresolved":"The current commit could not be resolved.","workingTreeDirty":"This worktree has uncommitted changes, so the install would mix with work in progress.","pathGitIgnored":"Some destination paths are ignored by git, so the installed files would not show up in git status.","diffTruncated":"Some diffs were too large to show in full.","binaryContent":"Some files are binary, so no diff can be shown for them.","lineEndingCrlf":"Some files use CRLF line endings.","treeScanTruncated":"The destination directory was too large to inspect completely."},"filesHeading":"What this install would write","stats":"{added} added, {modified} modified, {unchanged} unchanged, {conflicted} conflicting, {unmanaged} unmanaged","filesEmpty":"This plan writes no files.","fileGenerated":"Install record","gitIgnored":"This path is ignored by git.","diffToggle":"Show the diff (+{additions} / -{deletions})","diffTruncated":"This diff was truncated.","diffBinary":"Binary file, so no diff is shown.","change":{"add":"Add","modify":"Modify","unchanged":"Unchanged","conflict":"Conflict","unmanaged":"Unmanaged"},"diffReason":{"newFile":"Nothing is at this path, so the file would simply be created.","contentIdentical":"What is already there is byte-identical to what would be written.","managedUpdate":"CommandMate installed this file and it is unchanged, so it would be replaced.","localModification":"This file has been edited since it was installed. CommandMate will not overwrite your changes.","unmanagedSkill":"A Skill directory is already here that CommandMate did not install, so it is not CommandMate\'s to replace.","receiptOrphan":"The install record lists this file but it is no longer on disk, so the recorded installation no longer matches the worktree.","notARegularFile":"This path is a symbolic link or another non-regular entry. CommandMate will not follow it."},"blockersHeading":"What stops this install","blockedNotice":"Nothing has been written. Resolve the paths above, then build a new plan.","acknowledgeLabel":"I have reviewed the files, scripts and declared permissions above, and I want to install this high-risk Skill into this worktree.","confirm":"Install into this worktree","confirming":"Installing…","discard":"Discard this plan"},"install":{"reload":{"native":"{agent} loads Skills from the worktree at startup. Restart the {agent} session in this worktree to make {skillId} {version} available.","commandmateRuntime":"{agent} runs this Skill through the CommandMate runtime. Restart the {agent} session in this worktree so the runtime picks up {skillId} {version}.","unsupported":"{agent} does not support this Skill. The files are installed, but {skillId} {version} will not be offered in {agent} sessions.","unknown":"Support for {agent} has not been verified. The files are installed; restart the {agent} session and check whether {skillId} {version} is offered."},"nextAction":{"succeeded":"The Skill is installed and recorded. Restart the agent sessions listed below to start using it.","committedReconciling":"The files were written and are already in the worktree, but the installation record is incomplete. CommandMate will finish it automatically; no reinstall is needed.","failed":"Nothing was written to the worktree. Review the reason and build a new install plan."}},"uninstall":{"reason":{"managedUnchanged":"Installed by CommandMate and unchanged since, so it can be removed safely.","localModification":"This file has been edited since it was installed. CommandMate will not delete your changes.","receiptOrphan":"The install record lists this file but it is no longer in the worktree, so what is on disk is no longer the installation CommandMate recorded.","unmanagedFile":"This file is inside the Skill directory but was not installed by CommandMate, so it is not CommandMate\'s to delete.","notARegularFile":"This path is a symbolic link or another non-regular entry. CommandMate will not follow it to decide what to delete.","notInstalled":"No CommandMate-managed installation of this Skill exists in this worktree.","receiptMissing":"The Skill directory has no CommandMate install record, so nothing proves which files belong to the Skill.","receiptUnreadable":"The install record could not be read, so file ownership cannot be established.","receiptForeign":"The install record in this directory describes a different Skill.","treeScanTruncated":"The Skill directory is too large or too deep to inspect completely, so CommandMate cannot rule out files it does not own."},"nextAction":{"removable":"Every file in this directory was installed by CommandMate and is unchanged. Confirm to remove them.","blocked":"Nothing has been deleted. Move or restore the files listed below, then build a new uninstall plan.","succeeded":"The Skill was removed and its record cleared. Restart the agent sessions listed below so they stop offering it.","committedReconciling":"Files were already being removed when the operation stopped. The install record is still in place for diagnosis; CommandMate will finish automatically.","failed":"Nothing was deleted from the worktree. Review the reason and build a new uninstall plan."},"reload":{"native":"{agent} loads Skills from the worktree at startup. Restart the {agent} session in this worktree so it stops offering {skillId}.","commandmateRuntime":"{agent} ran this Skill through the CommandMate runtime. Restart the {agent} session in this worktree so the runtime drops {skillId}.","unsupported":"{agent} did not support this Skill, so removing {skillId} changes nothing for {agent} sessions.","unknown":"Support for {agent} was never verified. The files are removed; restart the {agent} session if {skillId} is still offered."},"build":"Build uninstall plan","building":"Building the uninstall plan…","heading":"Uninstall plan","expiresAt":"This plan is valid until {timestamp}. After that, build a new one.","installedVersion":"Installed version","versionUnknown":"Not recorded","stats":"{removable} removable, {modified} modified, {missing} missing, {unknown} unknown, {irregular} not a regular file","removalsHeading":"What would be deleted","removalsEmpty":"This plan deletes nothing.","retainedHeading":"What would stay","retainedEmpty":"Nothing would be left behind.","blockersHeading":"What stops this uninstall","confirm":"Remove from this worktree","confirming":"Removing…","disposition":{"remove":"Delete","modified":"Keep (edited)","missing":"Already gone","unknown":"Keep (not recorded)","irregular":"Keep (not a regular file)"}},"card":{"provider":"by {provider}","noRecommendedVersion":"No installable version"},"worktreePane":{"installedHeading":"Installed in this worktree","installedError":"The installed Skills for this worktree could not be loaded.","installedEmpty":"No Skills are installed in this worktree yet.","catalogHeading":"Install from the Catalog","installedBadge":"Installed","version":"Version {version}","back":"Back to Skills"},"state":{"loading":"Loading the Skill Catalog…","empty":"The official Catalog publishes no Skills yet.","noResults":"No Skill matches the current search and filters.","noResultsHint":"Try a different keyword or reset the filters.","errorHeading":"The Skill Catalog could not be loaded","errorNotice":"This is a retrieval failure, not an empty Catalog. No conclusion can be drawn about which Skills exist.","errorCode":"Error code: {code}","retry":"Retry","notFoundHeading":"Skill not found","notFoundNotice":"The official Catalog has no Skill with this ID."},"catalog":{"staleHeading":"Showing a cached Catalog","staleNotice":"CommandMate could not confirm this Catalog is current, so what you see may be out of date.","offlineNotice":"The Catalog origin could not be reached on the last attempt.","freshLabel":"Catalog confirmed current","fetchedAt":"Last validated: {timestamp}","revalidatedAt":"Last confirmed current: {timestamp}","sourceLabel":"Source: {repository} at {ref}","reason":{"fetchFailed":"The Catalog could not be retrieved.","rateLimited":"The Catalog origin is rate limiting requests.","oversized":"The Catalog response exceeded the allowed size.","malformed":"The Catalog response was not valid JSON.","invalidSchema":"The Catalog response failed contract validation.","unknown":"The reason was not reported."}},"operation":{"errorHeading":"The operation was refused","reloadHeading":"Restart these agent sessions","installedHeading":"Installed","uninstalledHeading":"Removed","replayNotice":"This answers a request CommandMate had already carried out, so the per-file list is not repeated.","filesWritten":"{count} files written","filesRemoved":"{count} files removed","startOver":"Choose another target","error":{"planStale":"The worktree changed after this plan was built, so the plan no longer describes what would happen. Nothing was written. Build a new plan.","planExpired":"This plan is too old to spend. Nothing was written. Build a new plan.","planConsumed":"This plan has already been used. Nothing was written a second time.","planNotFound":"CommandMate no longer holds this plan. Nothing was written. Build a new plan.","planBindingMismatch":"This plan was built for a different request and cannot be spent here. Build a new plan from this screen.","planNotInstallable":"This plan reports blockers, so it cannot be applied. Nothing was written.","planRiskNotAcknowledged":"This package is high risk and the install was not explicitly acknowledged. Nothing was written.","installLocked":"Another Skill operation is running in this worktree. Nothing was written. Try again once it finishes.","installInProgress":"An earlier attempt at this exact install is still running. Wait for it rather than starting a second one.","installDestinationExists":"Something is already at the install path. Nothing was written; CommandMate does not overwrite what it did not install.","installDestinationUnmanaged":"A Skill directory that CommandMate did not install is already at this path. Nothing was written.","installIdempotencyConflict":"This retry does not match the request it repeats. Nothing was written. Build a new plan.","installFailed":"An earlier attempt at this install failed and nothing was written. Build a new plan.","uninstallLocked":"Another Skill operation is running in this worktree. Nothing was deleted. Try again once it finishes.","uninstallInProgress":"An earlier attempt at this exact uninstall is still running. Wait for it rather than starting a second one.","uninstallIdempotencyConflict":"This retry does not match the request it repeats. Nothing was deleted. Build a new plan.","uninstallNotInstalled":"CommandMate has no record of this Skill in this worktree, so there is nothing for it to remove.","uninstallBlocked":"Nothing was deleted. Some paths are not CommandMate\'s to remove.","uninstallDrift":"The worktree no longer matches the install record, so CommandMate cannot tell which files it owns. Nothing was deleted.","uninstallFileChanged":"A file changed after the plan was built. Nothing was deleted. Build a new plan.","uninstallFailed":"An earlier attempt at this uninstall failed and nothing was deleted. Build a new plan.","requestFailed":"The request did not reach CommandMate, or it answered without naming a reason. Nothing is known to have changed.","unexpected":"CommandMate reported a failure it has no explanation for. Treat the worktree as unchanged only after checking it."}},"dashboard":{"title":"Installed Skills","description":"Which Skill is applied in which worktree, and whether it still matches what was installed.","scannedAt":"Scanned {timestamp}","worktreeCount":"{count} worktrees","rescan":"Rescan","reindex":"Rebuild index","reindexRunning":"Rebuilding…","reindexDone":"Rebuilt from receipts: {indexed} indexed, {removed} removed, {skipped} skipped.","reindexFailed":"The index could not be rebuilt.","errorNotice":"The applied state of installed Skills could not be read. This is not the same as having no Skills installed.","catalogUnavailable":"The Catalog is unreachable, so available updates cannot be determined. Everything else on this page still reflects the receipts on disk.","truncated":"The scan stopped at its size limit, so this list is incomplete.","unreadableWorktrees":"These registered worktrees no longer exist on disk and were not scanned: {worktrees}","empty":"No Skill is installed in any registered worktree.","filterSkill":"Skill","filterWorktree":"Worktree","filterStatus":"State","all":"All","rootPresent":"Present","rootMissing":"Not found","rootTruncated":"Scan truncated","driftSummary":"{modified} modified, {missing} missing, {unmanaged} unmanaged, {irregular} irregular","status":{"installed":"Installed","modified":"Changed locally","missing":"Payload missing","unmanaged":"Not indexed","updateAvailable":"Update available"},"statusHint":{"installed":"Every recorded install root matches the receipt.","modified":"Files under an install root differ from the receipt. Review the changes before updating or removing.","missing":"An install root recorded in the receipt has no payload on disk. The Skill will not be discovered from that root.","unmanaged":"A payload is on disk with no index entry behind it. Rebuild the index to adopt it, or remove it by hand.","updateAvailable":"The install is intact and the Catalog offers a newer compatible version."}},"history":{"heading":"Operation history","loading":"Reading the operation log…","empty":"No Skill operation has been recorded yet.","errorNotice":"The operation log could not be read. This is not the same as nothing having happened.","filterOperation":"Operation","filterResult":"Outcome","loadMore":"Load older","recordedAt":"{timestamp}","transitionLabel":"Version","transition":"{from} → {to}","actorLabel":"Requested by","origin":"Origin","sourceCommit":"Commit","artifactDigest":"Artifact digest","retry":"Open the Skill to try again","none":"—","operation":{"install":"Install","uninstall":"Uninstall","update":"Update"},"result":{"succeeded":"Succeeded","failed":"Failed","reconciled":"Reconciled"},"actor":{"user":"Web UI","cli":"CLI","system":"CommandMate"}}}')}};
|
|
1
|
+
"use strict";exports.id=5064,exports.ids=[5064],exports.modules={55064:a=>{a.exports=JSON.parse('{"page":{"title":"Skills","description":"Browse the official Skill Catalog. Each entry shows what a Skill is, who publishes it, which CommandMate versions it needs, and what its publisher declares about risk.","backToCatalog":"Back to the Catalog"},"search":{"label":"Search Skills","placeholder":"Name, summary, keyword or provider","resultCount":"Showing {shown} of {total} Skills"},"filters":{"compatibility":"CommandMate compatibility","risk":"Publisher-declared risk","agent":"Agent support","all":"All","reset":"Reset filters"},"compatibility":{"label":"CommandMate compatibility","native":"Runs natively","commandmateRuntime":"Runs via CommandMate Runtime","unsupported":"Not supported","unknown":"Not verified","status":{"compatible":"Compatible","incompatible":"Incompatible","unknown":"Unverified"},"requiredRange":"Requires CommandMate {range}","currentVersion":"Running CommandMate {version}","currentVersionUnknown":"The running CommandMate version could not be determined.","unverifiedNotice":"Unverified is not the same as compatible. CommandMate could not decide, so this Skill may fail to run.","agentsHeading":"Agent support","agentsNotice":"Agent support starts as a claim made by the publisher, shown with the evidence they supplied. Where CommandMate has measured the Agent itself, that measurement is shown alongside it and caps what the claim can assert.","agentsUnknown":"No Agent support is declared for this version.","evidence":"Evidence","declaredLabel":"Publisher declares: {support}","measuredHeading":"Measured by CommandMate","testedVersion":"Tested against {agent} {version}","testedDate":"Measured on {date}","evidenceSource":"Evidence","discoveryRoots":"Reads from {roots}","evidenceStale":"This measurement is {days} days old. The Agent may have changed since it was taken.","reloadHeading":"How to make {agent} pick it up","axis":{"discovery":"Discovery","invocation":"Slash command"},"axisOutcome":{"verified":"Confirmed","unsupported":"Not available","unknown":"Not measured"},"evidenceKind":{"mechanical":"machine-checked","selfReport":"reported by the Agent","notMeasured":"no measurement"},"verification":{"confirmed":"CommandMate measured this Agent and the result matches what the publisher declares.","restricted":"CommandMate measured less support than the publisher declares, so the lower result is shown.","staleDeclaration":"CommandMate measured more support than the publisher declares. The declaration is shown as-is; only the publisher can raise it.","unverified":"CommandMate has not measured this Agent, so only the publisher\'s claim is shown."},"limitation":{"noSlashCommand":"This Agent version finds the Skill but does not list it as a slash command. Ask for it by name instead."},"skipReason":{"notMeasured":"This Agent has not been measured against a CommandMate install, so its discovery behaviour is unknown rather than unsupported."},"reload":{"sessionRestart":"Start a new {agent} session in this repository. Skills are scanned when a session starts.","sessionRestartNoSlash":"Start a new {agent} session in this repository, then ask for the Skill by name — this version does not list Skills as slash commands.","unknown":"CommandMate has not measured how {agent} reloads Skills. Restarting the session is the safe assumption."},"reason":{"satisfied":"CommandMate {currentVersion} satisfies the required range {range}.","hostVersionOutOfRange":"This Skill requires CommandMate {range}, but CommandMate {currentVersion} is running.","hostVersionUnknown":"The running CommandMate version could not be determined, so compatibility with {range} is unverified.","rangeUnsupported":"This Skill declares the version range {range}, which CommandMate cannot interpret, so compatibility is unverified."}},"risk":{"declaredLabel":"Declared risk: {level}","declaredHeading":"Publisher-declared risk","level":{"low":"Low","moderate":"Moderate","high":"High"},"declaredNotice":"This level is declared by the publisher of the Skill. It is a claim, not a CommandMate assessment.","computedHeading":"CommandMate-computed risk","computedUnavailable":"Not available from the Catalog. CommandMate computes its own risk level by inspecting the package contents, which only happens once the package has been downloaded.","highWarning":"The publisher declares this Skill as high risk. Read the changelog and the source coordinates before installing it."},"permissions":{"heading":"Declared permissions","declarationOnlyNotice":"Permissions are declarations written by the publisher, not restrictions CommandMate enforces. Installing a Skill does not sandbox what it can do.","unavailable":"The Catalog does not carry declared permissions. They live in the Skill manifest inside the package, which CommandMate only reads after downloading it."},"capabilities":{"heading":"What this Skill does","unavailable":"Detailed capabilities and expected outcomes live in the Skill manifest inside the package and are not part of the Catalog. The summary below is what the Catalog publishes."},"requirements":{"heading":"Required commands and network access","unavailable":"The Catalog does not carry runtime requirements. Required commands and network hosts live in the Skill manifest inside the package."},"contents":{"heading":"Files and scripts","unavailable":"The Catalog does not list package contents. Files, scripts and executables are enumerated when CommandMate downloads and inspects the package."},"detail":{"overview":"Overview","provider":"Provider","providerContact":"Contact","license":"License","homepage":"Homepage","keywords":"Keywords","skillId":"Skill ID","latestVersion":"Latest published version","recommendedVersion":"Recommended version","recommendedVersionNone":"None","requiredRangeLabel":"Required CommandMate range","publishedAt":"Published","sourceRepository":"Repository","sourceRef":"Ref","sourceCommit":"Commit","packageAsset":"Asset name","packageDigest":"SHA-256","packageSize":"Size","packageBytes":"{bytes} bytes","versionsHeading":"Version history","versionsEmpty":"This Skill lists no published versions that apply to this CommandMate.","changelogHeading":"Changelog","changelogEmpty":"This version publishes no changelog.","mediaStripped":"Images and embedded media are removed from Catalog text, so nothing is loaded from an external host.","prerelease":"Prerelease","recommendation":{"highestCompatible":"This is the newest published version that works with the CommandMate you are running.","latestUnverified":"The running CommandMate version could not be determined, so the publisher\'s latest version is offered without a compatibility check.","noneCompatible":"No published version of this Skill works with the CommandMate you are running.","noVersions":"No published version of this Skill applies to this CommandMate."},"install":{"action":"Choose an install target","blockedIncompatible":"Install is unavailable: {reason}","blockedNoVersion":"Install is unavailable because no published version applies to the CommandMate you are running."}},"target":{"heading":"Install target","loading":"Loading registered worktrees…","empty":"No worktree is registered yet. Register one before installing a Skill.","errorNotice":"The list of registered worktrees could not be loaded, so no install target can be chosen right now.","retry":"Retry","selected":"Selected","repository":"Repository","branch":"Branch","branchUnknown":"Not recorded","agents":"Agents","agentsNone":"None configured","workingTree":"Working tree","workingTreeClean":"No uncommitted changes","workingTreeDirty":"Has uncommitted changes","workingTreeUnknown":"Not inspected","sessionRunning":"A session is currently running in this worktree.","branchFreshnessNotice":"The branch shown here comes from the last worktree scan. CommandMate resolves the live branch and commit when it builds the install plan, and reports any difference there."},"plan":{"highRiskAcknowledgement":"CommandMate rated this package high risk after inspecting its contents. Review the files, scripts and declared permissions below, then confirm explicitly that you want to install it into this worktree.","build":"Build install plan","building":"Building the install plan…","chooseTarget":"Choose the worktree this Skill would be installed into.","ready":"Building a plan writes nothing. It downloads the package, inspects it and reports exactly what installing would change.","heading":"Install plan","expiresAt":"This plan is valid until {timestamp}. After that, build a new one.","targetHeading":"Where this would be installed","headStateLabel":"Git HEAD","headState":{"attached":"On a branch","detached":"Detached HEAD","unborn":"No commit yet","unknown":"Could not be resolved"},"installRoot":"Install directory","existingInstall":"Already installed here","existingInstallNone":"Nothing installed here yet","existingInstallVersion":"Version {version}","riskHeading":"Risk","riskDeclared":"Declared","riskComputed":"Computed","riskEffective":"Effective","riskNotice":"The computed level comes from inspecting the downloaded package. Where it disagrees with the publisher\'s claim, the higher of the two is the effective level.","permission":{"filesystemRead":"Reads files","filesystemWrite":"Writes files","networkAccess":"Accesses the network","processExecution":"Runs other programs","environmentRead":"Reads environment variables","credentialAccess":"Accesses credentials"},"permissionsNone":"The manifest declares no permissions.","requirementsNone":"The manifest requires no commands and no network access.","requirementsCommands":"Commands","requirementsHosts":"Network hosts","commandAnyVersion":"(any version)","scriptsHeading":"Scripts and executables in the package","scriptsNone":"The package contains no scripts and no executable files.","warningsHeading":"Caveats","warning":{"detachedHead":"This worktree is not on a branch, so the install would not belong to any branch history.","unbornHead":"This worktree has no commit yet.","headUnresolved":"The current commit could not be resolved.","workingTreeDirty":"This worktree has uncommitted changes, so the install would mix with work in progress.","pathGitIgnored":"Some destination paths are ignored by git, so the installed files would not show up in git status.","diffTruncated":"Some diffs were too large to show in full.","binaryContent":"Some files are binary, so no diff can be shown for them.","lineEndingCrlf":"Some files use CRLF line endings.","treeScanTruncated":"The destination directory was too large to inspect completely."},"filesHeading":"What this install would write","stats":"{added} added, {modified} modified, {unchanged} unchanged, {conflicted} conflicting, {unmanaged} unmanaged","filesEmpty":"This plan writes no files.","fileGenerated":"Install record","gitIgnored":"This path is ignored by git.","diffToggle":"Show the diff (+{additions} / -{deletions})","diffTruncated":"This diff was truncated.","diffBinary":"Binary file, so no diff is shown.","change":{"add":"Add","modify":"Modify","unchanged":"Unchanged","conflict":"Conflict","unmanaged":"Unmanaged"},"diffReason":{"newFile":"Nothing is at this path, so the file would simply be created.","contentIdentical":"What is already there is byte-identical to what would be written.","managedUpdate":"CommandMate installed this file and it is unchanged, so it would be replaced.","localModification":"This file has been edited since it was installed. CommandMate will not overwrite your changes.","unmanagedSkill":"A Skill directory is already here that CommandMate did not install, so it is not CommandMate\'s to replace.","receiptOrphan":"The install record lists this file but it is no longer on disk, so the recorded installation no longer matches the worktree.","notARegularFile":"This path is a symbolic link or another non-regular entry. CommandMate will not follow it."},"blockersHeading":"What stops this install","blockedNotice":"Nothing has been written. Resolve the paths above, then build a new plan.","acknowledgeLabel":"I have reviewed the files, scripts and declared permissions above, and I want to install this high-risk Skill into this worktree.","confirm":"Install into this worktree","confirming":"Installing…","discard":"Discard this plan"},"install":{"reload":{"native":"{agent} loads Skills from the worktree at startup. Restart the {agent} session in this worktree to make {skillId} {version} available.","commandmateRuntime":"{agent} runs this Skill through the CommandMate runtime. Restart the {agent} session in this worktree so the runtime picks up {skillId} {version}.","unsupported":"{agent} does not support this Skill. The files are installed, but {skillId} {version} will not be offered in {agent} sessions.","unknown":"Support for {agent} has not been verified. The files are installed; restart the {agent} session and check whether {skillId} {version} is offered."},"nextAction":{"succeeded":"The Skill is installed and recorded. Restart the agent sessions listed below to start using it.","committedReconciling":"The files were written and are already in the worktree, but the installation record is incomplete. CommandMate will finish it automatically; no reinstall is needed.","failed":"Nothing was written to the worktree. Review the reason and build a new install plan."}},"uninstall":{"reason":{"managedUnchanged":"Installed by CommandMate and unchanged since, so it can be removed safely.","localModification":"This file has been edited since it was installed. CommandMate will not delete your changes.","receiptOrphan":"The install record lists this file but it is no longer in the worktree, so what is on disk is no longer the installation CommandMate recorded.","unmanagedFile":"This file is inside the Skill directory but was not installed by CommandMate, so it is not CommandMate\'s to delete.","notARegularFile":"This path is a symbolic link or another non-regular entry. CommandMate will not follow it to decide what to delete.","notInstalled":"No CommandMate-managed installation of this Skill exists in this worktree.","receiptMissing":"The Skill directory has no CommandMate install record, so nothing proves which files belong to the Skill.","receiptUnreadable":"The install record could not be read, so file ownership cannot be established.","receiptForeign":"The install record in this directory describes a different Skill.","treeScanTruncated":"The Skill directory is too large or too deep to inspect completely, so CommandMate cannot rule out files it does not own."},"nextAction":{"removable":"Every file in this directory was installed by CommandMate and is unchanged. Confirm to remove them.","blocked":"Nothing has been deleted. Move or restore the files listed below, then build a new uninstall plan.","succeeded":"The Skill was removed and its record cleared. Restart the agent sessions listed below so they stop offering it.","committedReconciling":"Files were already being removed when the operation stopped. The install record is still in place for diagnosis; CommandMate will finish automatically.","failed":"Nothing was deleted from the worktree. Review the reason and build a new uninstall plan."},"reload":{"native":"{agent} loads Skills from the worktree at startup. Restart the {agent} session in this worktree so it stops offering {skillId}.","commandmateRuntime":"{agent} ran this Skill through the CommandMate runtime. Restart the {agent} session in this worktree so the runtime drops {skillId}.","unsupported":"{agent} did not support this Skill, so removing {skillId} changes nothing for {agent} sessions.","unknown":"Support for {agent} was never verified. The files are removed; restart the {agent} session if {skillId} is still offered."},"build":"Build uninstall plan","building":"Building the uninstall plan…","heading":"Uninstall plan","expiresAt":"This plan is valid until {timestamp}. After that, build a new one.","installedVersion":"Installed version","versionUnknown":"Not recorded","stats":"{removable} removable, {modified} modified, {missing} missing, {unknown} unknown, {irregular} not a regular file","removalsHeading":"What would be deleted","removalsEmpty":"This plan deletes nothing.","retainedHeading":"What would stay","retainedEmpty":"Nothing would be left behind.","blockersHeading":"What stops this uninstall","confirm":"Remove from this worktree","confirming":"Removing…","disposition":{"remove":"Delete","modified":"Keep (edited)","missing":"Already gone","unknown":"Keep (not recorded)","irregular":"Keep (not a regular file)"}},"update":{"badge":"Update available","upToDate":"Version {version} is the newest published version. Nothing to update.","open":"Review update","heading":"Update plan","intro":"{skill} is installed at version {version}. Choose the exact version to move to; the plan below shows precisely what would change.","ready":"Building an update plan writes nothing. It downloads and verifies the candidate package, compares it with what is installed, and reports every difference and every blocker.","fromTo":"{from} → {to}","latestAvailable":"Newest available: {version}","versionPicker":"Update to version","build":"Build update plan","building":"Building the update plan…","filesHeading":"File changes","stats":"+{added} added, ~{updated} updated, −{removed} removed, ={unchanged} unchanged","showDiff":"Show diff","permissionsAdded":"Permissions this update adds","permissionsRemoved":"Permissions this update drops","scriptsAdded":"New scripts","scriptsRemoved":"Scripts removed","executablesAdded":"New executable files","executablesRemoved":"Executable files removed","highRiskAcknowledgement":"CommandMate rated the candidate package high risk after inspecting its contents. Applying this update will require an explicit acknowledgement.","riskIncreaseAcknowledgement":"This update raises the Skill\'s effective risk above what is installed today. Applying it will require a separate, additional confirmation beyond the ordinary update confirmation.","change":{"add":"Added","update":"Updated","remove":"Removed","unchanged":"Unchanged"},"reason":{"upToDate":"No published version is newer than the installed one.","highestCompatible":"This is the newest published version that is newer than the install and works with the CommandMate you are running.","latestUnverified":"The running CommandMate version could not be determined, so the newest candidate is offered without a compatibility check.","noneCompatible":"Newer versions exist, but none of them works with the CommandMate you are running.","installedVersionInvalid":"The installed version recorded in the receipt is not a valid version, so no update can be resolved.","rangeUnsupported":"The requested version range is not supported, so no candidate was resolved."},"blocked":{"localChanges":"This path was changed after the install — edited, removed, or added by hand. CommandMate will not update over local changes. Restore the file (or uninstall and reinstall the Skill), then build a new update plan.","rootMissing":"A recorded install directory is gone entirely. Reinstall the Skill or rebuild the index before updating.","receiptMissing":"An install directory has no CommandMate install record, so nothing proves which files belong to the Skill.","receiptUnreadable":"An install record could not be read, so file ownership cannot be established.","receiptForeign":"The install record in this directory describes a different Skill.","rootReceiptDiverged":"The recorded install directories carry different install records, so the install is no longer one consistent version.","treeScanTruncated":"The Skill directory is too large or too deep to inspect completely, so CommandMate cannot rule out local changes.","incompatible":"The selected version is not compatible with the CommandMate you are running."},"nextAction":{"updatable":"Every installed file matches the install record. The update can be applied from this plan.","blocked":"Nothing has been changed. Resolve the paths listed below — restore locally changed files, or move files CommandMate does not manage out of the Skill directory — then build a new update plan.","succeeded":"The Skill was switched to the new version and recorded. Restart the agent sessions listed below to start using it.","committedReconciling":"The new version is already in the worktree, but the operation did not finish cleanly. CommandMate will converge the rest automatically; no re-update is needed.","failed":"Nothing was changed in the worktree. Review the reason below, resolve it, then build a new update plan."},"apply":"Apply update","applying":"Applying the update…","ackRisk":"I have reviewed the candidate\'s files, scripts and permissions, and I explicitly accept updating to this high-risk package.","ackRiskIncrease":"I understand this update raises the Skill\'s effective risk above what is installed today, and I confirm that separately.","rollbackAvailable":"The replaced version {version} was preserved in a verified, CommandMate-owned backup before the switch. Rolling back to it will be available as a separate operation.","reload":{"native":"{agent} loads Skills from the worktree at startup. Restart the {agent} session in this worktree to pick up {skillId} {version}.","commandmateRuntime":"{agent} runs this Skill through the CommandMate runtime. Restart the {agent} session in this worktree so the runtime picks up {skillId} {version}.","unsupported":"{agent} does not support this Skill. The files were updated, but {skillId} {version} will not be offered in {agent} sessions.","unknown":"Support for {agent} has not been verified. The files were updated; restart the {agent} session and check whether {skillId} {version} is offered."}},"card":{"provider":"by {provider}","noRecommendedVersion":"No installable version"},"worktreePane":{"installedHeading":"Installed in this worktree","installedError":"The installed Skills for this worktree could not be loaded.","installedEmpty":"No Skills are installed in this worktree yet.","catalogHeading":"Install from the Catalog","installedBadge":"Installed","version":"Version {version}","back":"Back to Skills","updateBadge":"Update available"},"state":{"loading":"Loading the Skill Catalog…","empty":"The official Catalog publishes no Skills yet.","noResults":"No Skill matches the current search and filters.","noResultsHint":"Try a different keyword or reset the filters.","errorHeading":"The Skill Catalog could not be loaded","errorNotice":"This is a retrieval failure, not an empty Catalog. No conclusion can be drawn about which Skills exist.","errorCode":"Error code: {code}","retry":"Retry","notFoundHeading":"Skill not found","notFoundNotice":"The official Catalog has no Skill with this ID."},"catalog":{"staleHeading":"Showing a cached Catalog","staleNotice":"CommandMate could not confirm this Catalog is current, so what you see may be out of date.","offlineNotice":"The Catalog origin could not be reached on the last attempt.","freshLabel":"Catalog confirmed current","fetchedAt":"Last validated: {timestamp}","revalidatedAt":"Last confirmed current: {timestamp}","sourceLabel":"Source: {repository} at {ref}","reason":{"fetchFailed":"The Catalog could not be retrieved.","rateLimited":"The Catalog origin is rate limiting requests.","oversized":"The Catalog response exceeded the allowed size.","malformed":"The Catalog response was not valid JSON.","invalidSchema":"The Catalog response failed contract validation.","unknown":"The reason was not reported."}},"operation":{"errorHeading":"The operation was refused","reloadHeading":"Restart these agent sessions","installedHeading":"Installed","uninstalledHeading":"Removed","replayNotice":"This answers a request CommandMate had already carried out, so the per-file list is not repeated.","filesWritten":"{count} files written","filesRemoved":"{count} files removed","startOver":"Choose another target","error":{"planStale":"The worktree changed after this plan was built, so the plan no longer describes what would happen. Nothing was written. Build a new plan.","planExpired":"This plan is too old to spend. Nothing was written. Build a new plan.","planConsumed":"This plan has already been used. Nothing was written a second time.","planNotFound":"CommandMate no longer holds this plan. Nothing was written. Build a new plan.","planBindingMismatch":"This plan was built for a different request and cannot be spent here. Build a new plan from this screen.","planNotInstallable":"This plan reports blockers, so it cannot be applied. Nothing was written.","planRiskNotAcknowledged":"This package is high risk and the install was not explicitly acknowledged. Nothing was written.","installLocked":"Another Skill operation is running in this worktree. Nothing was written. Try again once it finishes.","installInProgress":"An earlier attempt at this exact install is still running. Wait for it rather than starting a second one.","installDestinationExists":"Something is already at the install path. Nothing was written; CommandMate does not overwrite what it did not install.","installDestinationUnmanaged":"A Skill directory that CommandMate did not install is already at this path. Nothing was written.","installIdempotencyConflict":"This retry does not match the request it repeats. Nothing was written. Build a new plan.","installFailed":"An earlier attempt at this install failed and nothing was written. Build a new plan.","uninstallLocked":"Another Skill operation is running in this worktree. Nothing was deleted. Try again once it finishes.","uninstallInProgress":"An earlier attempt at this exact uninstall is still running. Wait for it rather than starting a second one.","uninstallIdempotencyConflict":"This retry does not match the request it repeats. Nothing was deleted. Build a new plan.","uninstallNotInstalled":"CommandMate has no record of this Skill in this worktree, so there is nothing for it to remove.","uninstallBlocked":"Nothing was deleted. Some paths are not CommandMate\'s to remove.","uninstallDrift":"The worktree no longer matches the install record, so CommandMate cannot tell which files it owns. Nothing was deleted.","uninstallFileChanged":"A file changed after the plan was built. Nothing was deleted. Build a new plan.","uninstallFailed":"An earlier attempt at this uninstall failed and nothing was deleted. Build a new plan.","requestFailed":"The request did not reach CommandMate, or it answered without naming a reason. Nothing is known to have changed.","unexpected":"CommandMate reported a failure it has no explanation for. Treat the worktree as unchanged only after checking it.","updateNotInstalled":"CommandMate has no record of this Skill in this worktree, so there is nothing to update.","updateUpToDate":"No published version is newer than the installed one. Nothing to update.","updateVersionNotEligible":"The requested version is not a strictly newer published version of this Skill.","updateNoneCompatible":"Newer versions exist, but none of them works with the CommandMate you are running."}},"dashboard":{"title":"Installed Skills","description":"Which Skill is applied in which worktree, and whether it still matches what was installed.","scannedAt":"Scanned {timestamp}","worktreeCount":"{count} worktrees","rescan":"Rescan","reindex":"Rebuild index","reindexRunning":"Rebuilding…","reindexDone":"Rebuilt from receipts: {indexed} indexed, {removed} removed, {skipped} skipped.","reindexFailed":"The index could not be rebuilt.","errorNotice":"The applied state of installed Skills could not be read. This is not the same as having no Skills installed.","catalogUnavailable":"The Catalog is unreachable, so available updates cannot be determined. Everything else on this page still reflects the receipts on disk.","truncated":"The scan stopped at its size limit, so this list is incomplete.","unreadableWorktrees":"These registered worktrees no longer exist on disk and were not scanned: {worktrees}","empty":"No Skill is installed in any registered worktree.","filterSkill":"Skill","filterWorktree":"Worktree","filterStatus":"State","all":"All","rootPresent":"Present","rootMissing":"Not found","rootTruncated":"Scan truncated","driftSummary":"{modified} modified, {missing} missing, {unmanaged} unmanaged, {irregular} irregular","status":{"installed":"Installed","modified":"Changed locally","missing":"Payload missing","unmanaged":"Not indexed","updateAvailable":"Update available"},"statusHint":{"installed":"Every recorded install root matches the receipt.","modified":"Files under an install root differ from the receipt. Review the changes before updating or removing.","missing":"An install root recorded in the receipt has no payload on disk. The Skill will not be discovered from that root.","unmanaged":"A payload is on disk with no index entry behind it. Rebuild the index to adopt it, or remove it by hand.","updateAvailable":"The install is intact and the Catalog offers a newer compatible version."}},"history":{"heading":"Operation history","loading":"Reading the operation log…","empty":"No Skill operation has been recorded yet.","errorNotice":"The operation log could not be read. This is not the same as nothing having happened.","filterOperation":"Operation","filterResult":"Outcome","loadMore":"Load older","recordedAt":"{timestamp}","transitionLabel":"Version","transition":"{from} → {to}","actorLabel":"Requested by","origin":"Origin","sourceCommit":"Commit","artifactDigest":"Artifact digest","retry":"Open the Skill to try again","none":"—","operation":{"install":"Install","uninstall":"Uninstall","update":"Update"},"result":{"succeeded":"Succeeded","failed":"Failed","reconciled":"Reconciled"},"actor":{"user":"Web UI","cli":"CLI","system":"CommandMate"}}}')}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=5737,exports.ids=[5737],exports.modules={3805:(a,b,c)=>{c.d(b,{u:()=>k});var d=c(21124);c(38301);var e=c(71117),f=c(16945),g=c(93983),h=c(35595);let i={info:"bg-info-subtle border-info-border text-info-foreground",warning:"bg-warning-subtle border-warning-border text-warning-foreground",danger:"bg-danger-subtle border-danger-border text-danger-foreground",neutral:"bg-muted border-border text-muted-foreground"},j={info:e.A,warning:f.A,danger:g.A,neutral:e.A};function k({tone:a="neutral",children:b,className:c,"data-testid":e}){let f=j[a];return(0,d.jsxs)("div",{"data-testid":e,className:(0,h.cn)("flex items-start gap-2 rounded-md border px-3 py-2 text-xs leading-relaxed",i[a],c),children:[(0,d.jsx)(f,{size:14,"aria-hidden":"true",className:"mt-0.5 shrink-0"}),(0,d.jsx)("div",{className:"min-w-0",children:b})]})}},27884:(a,b,c)=>{c.d(b,{$d:()=>C,AJ:()=>D,AS:()=>k,DN:()=>E,Et:()=>h,FW:()=>s,H$:()=>d,IV:()=>z,J:()=>G,KL:()=>l,Mj:()=>o,OV:()=>e,R1:()=>J,RG:()=>y,RO:()=>q,SC:()=>F,TE:()=>i,bD:()=>K,e5:()=>v,eK:()=>f,gh:()=>A,hJ:()=>p,kF:()=>n,pP:()=>g,pk:()=>u,r0:()=>B,tC:()=>j,u0:()=>H,xX:()=>I,z2:()=>m});let d={compatible:"success",incompatible:"error",unknown:"warning"},e={compatible:"compatibility.status.compatible",incompatible:"compatibility.status.incompatible",unknown:"compatibility.status.unknown"},f={low:"gray",moderate:"warning",high:"error"},g={low:"risk.level.low",moderate:"risk.level.moderate",high:"risk.level.high"},h={native:"success",commandmate_runtime:"info",unsupported:"error",unknown:"warning"},i={SKILL_RECOMMEND_HIGHEST_COMPATIBLE:"detail.recommendation.highestCompatible",SKILL_RECOMMEND_LATEST_UNVERIFIED:"detail.recommendation.latestUnverified",SKILL_RECOMMEND_NONE_COMPATIBLE:"detail.recommendation.noneCompatible",SKILL_RECOMMEND_NO_VERSIONS:"detail.recommendation.noVersions"},j={add:"info",modify:"warning",unchanged:"gray",conflict:"error",unmanaged:"error"},k={add:"plan.change.add",modify:"plan.change.modify",unchanged:"plan.change.unchanged",conflict:"plan.change.conflict",unmanaged:"plan.change.unmanaged"},l={SKILL_DIFF_NEW_FILE:"plan.diffReason.newFile",SKILL_DIFF_CONTENT_IDENTICAL:"plan.diffReason.contentIdentical",SKILL_DIFF_MANAGED_UPDATE:"plan.diffReason.managedUpdate",SKILL_DIFF_LOCAL_MODIFICATION:"plan.diffReason.localModification",SKILL_DIFF_UNMANAGED_SKILL:"plan.diffReason.unmanagedSkill",SKILL_DIFF_RECEIPT_ORPHAN:"plan.diffReason.receiptOrphan",SKILL_DIFF_NOT_A_REGULAR_FILE:"plan.diffReason.notARegularFile"},m={filesystem_read:"plan.permission.filesystemRead",filesystem_write:"plan.permission.filesystemWrite",network_access:"plan.permission.networkAccess",process_execution:"plan.permission.processExecution",environment_read:"plan.permission.environmentRead",credential_access:"plan.permission.credentialAccess"},n={attached:"plan.headState.attached",detached:"plan.headState.detached",unborn:"plan.headState.unborn",unknown:"plan.headState.unknown"},o={remove:"uninstall.disposition.remove",modified:"uninstall.disposition.modified",missing:"uninstall.disposition.missing",unknown:"uninstall.disposition.unknown",irregular:"uninstall.disposition.irregular"},p={SKILL_UNINSTALL_MANAGED_UNCHANGED:"uninstall.reason.managedUnchanged",SKILL_UNINSTALL_LOCAL_MODIFICATION:"uninstall.reason.localModification",SKILL_UNINSTALL_RECEIPT_ORPHAN:"uninstall.reason.receiptOrphan",SKILL_UNINSTALL_UNMANAGED_FILE:"uninstall.reason.unmanagedFile",SKILL_UNINSTALL_NOT_A_REGULAR_FILE:"uninstall.reason.notARegularFile",SKILL_UNINSTALL_NOT_INSTALLED:"uninstall.reason.notInstalled",SKILL_UNINSTALL_RECEIPT_MISSING:"uninstall.reason.receiptMissing",SKILL_UNINSTALL_RECEIPT_UNREADABLE:"uninstall.reason.receiptUnreadable",SKILL_UNINSTALL_RECEIPT_FOREIGN:"uninstall.reason.receiptForeign",SKILL_UNINSTALL_TREE_SCAN_TRUNCATED:"uninstall.reason.treeScanTruncated"},q={SKILL_PREVIEW_DETACHED_HEAD:"plan.warning.detachedHead",SKILL_PREVIEW_UNBORN_HEAD:"plan.warning.unbornHead",SKILL_PREVIEW_HEAD_UNRESOLVED:"plan.warning.headUnresolved",SKILL_PREVIEW_WORKING_TREE_DIRTY:"plan.warning.workingTreeDirty",SKILL_PREVIEW_PATH_GIT_IGNORED:"plan.warning.pathGitIgnored",SKILL_PREVIEW_DIFF_TRUNCATED:"plan.warning.diffTruncated",SKILL_PREVIEW_BINARY_CONTENT:"plan.warning.binaryContent",SKILL_PREVIEW_LINE_ENDING_CRLF:"plan.warning.lineEndingCrlf",SKILL_PREVIEW_TREE_SCAN_TRUNCATED:"plan.warning.treeScanTruncated"},r={SKILL_PLAN_STALE:"operation.error.planStale",SKILL_PLAN_EXPIRED:"operation.error.planExpired",SKILL_PLAN_CONSUMED:"operation.error.planConsumed",SKILL_PLAN_NOT_FOUND:"operation.error.planNotFound",SKILL_PLAN_BINDING_MISMATCH:"operation.error.planBindingMismatch",SKILL_PLAN_NOT_INSTALLABLE:"operation.error.planNotInstallable",SKILL_PLAN_RISK_NOT_ACKNOWLEDGED:"operation.error.planRiskNotAcknowledged",SKILL_INSTALL_LOCKED:"operation.error.installLocked",SKILL_INSTALL_IN_PROGRESS:"operation.error.installInProgress",SKILL_INSTALL_DESTINATION_EXISTS:"operation.error.installDestinationExists",SKILL_INSTALL_DESTINATION_UNMANAGED:"operation.error.installDestinationUnmanaged",SKILL_INSTALL_IDEMPOTENCY_CONFLICT:"operation.error.installIdempotencyConflict",SKILL_INSTALL_FAILED:"operation.error.installFailed",SKILL_UNINSTALL_LOCKED:"operation.error.uninstallLocked",SKILL_UNINSTALL_IN_PROGRESS:"operation.error.uninstallInProgress",SKILL_UNINSTALL_IDEMPOTENCY_CONFLICT:"operation.error.uninstallIdempotencyConflict",SKILL_UNINSTALL_NOT_INSTALLED:"operation.error.uninstallNotInstalled",SKILL_UNINSTALL_BLOCKED:"operation.error.uninstallBlocked",SKILL_UNINSTALL_DRIFT:"operation.error.uninstallDrift",SKILL_UNINSTALL_FILE_CHANGED:"operation.error.uninstallFileChanged",SKILL_UNINSTALL_FAILED:"operation.error.uninstallFailed",SKILL_REQUEST_FAILED:"operation.error.requestFailed"};function s(a){return r[a]??"operation.error.unexpected"}let t={SKILL_CATALOG_FETCH_FAILED:"catalog.reason.fetchFailed",SKILL_CATALOG_RATE_LIMITED:"catalog.reason.rateLimited",SKILL_CATALOG_OVERSIZED:"catalog.reason.oversized",SKILL_CATALOG_MALFORMED:"catalog.reason.malformed",SKILL_CATALOG_INVALID_SCHEMA:"catalog.reason.invalidSchema"};function u(a){return a&&t[a]||"catalog.reason.unknown"}function v(a){return a.startsWith("skills.")?a.slice(7):a}let w=/!\[([^\]]*)\]\([^)]*\)/g,x=/<\/?(?:img|picture|source|video|audio|iframe|embed|object|track)\b[^>]*>/gi;function y(a){return a.replace(w,"$1").replace(x,"")}let z={query:"",compatibility:"all",risk:"all",agent:"all"};function A(a){let b=a.versions.find(b=>b.version===a.recommendedVersion);return(b??a.versions[0])?.declaredRisk??null}function B(a){let b=new Set;for(let c of a.versions)for(let a of c.compatibility.agents)("native"===a.support||"commandmate_runtime"===a.support)&&b.add(a.agent);return[...b].sort()}function C(a,b){return a.filter(a=>!!function(a,b){let c=b.trim().toLowerCase();return 0===c.length||[a.name,a.summary,a.id,a.provider.name,...a.keywords].some(a=>a.toLowerCase().includes(c))}(a,b.query)&&("all"===b.compatibility||a.compatibility?.status===b.compatibility)&&("all"===b.risk||A(a)===b.risk)&&("all"===b.agent||!!B(a).includes(b.agent)))}function D(a){let b=new Set;for(let c of a)for(let a of c.versions)for(let c of a.compatibility.agents)b.add(c.agent);return[...b].sort()}let E={installed:"dashboard.status.installed",modified:"dashboard.status.modified",missing:"dashboard.status.missing",unmanaged:"dashboard.status.unmanaged",update_available:"dashboard.status.updateAvailable"},F={installed:"dashboard.statusHint.installed",modified:"dashboard.statusHint.modified",missing:"dashboard.statusHint.missing",unmanaged:"dashboard.statusHint.unmanaged",update_available:"dashboard.statusHint.updateAvailable"},G={installed:"success",modified:"warning",missing:"error",unmanaged:"warning",update_available:"info"},H={install:"history.operation.install",uninstall:"history.operation.uninstall",update:"history.operation.update"},I={succeeded:"history.result.succeeded",failed:"history.result.failed",reconciled:"history.result.reconciled"},J={succeeded:"success",failed:"error",reconciled:"warning"},K={user:"history.actor.user",cli:"history.actor.cli",system:"history.actor.system"}},30156:(a,b,c)=>{c.d(b,{Db:()=>k,E:()=>u,Gj:()=>l,Q6:()=>r,V_:()=>n,Xi:()=>s,hN:()=>t,mf:()=>o,s5:()=>j,vg:()=>p});let d="SKILL_CATALOG_UNREACHABLE",e="SKILL_REQUEST_FAILED";function f(a,b,c){let d=a&&"object"==typeof a?a:{},e={code:!function(a){if(!a||"object"!=typeof a)return!1;let{error:b,code:c}=a;return"string"==typeof b&&"string"==typeof c}(a)?c:a.code,message:"string"==typeof d.error?d.error:"",status:b};return Array.isArray(d.blockers)&&(e.blockers=d.blockers),"string"==typeof d.nextActionKey&&(e.nextActionKey=d.nextActionKey),e}async function g(a,b){let c=await fetch(a,{signal:b,headers:{Accept:"application/json"}}),e=await c.json().catch(()=>null);return c.ok?{ok:!0,data:e}:{ok:!1,failure:f(e,c.status,d)}}async function h(a,b,c){let d=await fetch(a,{method:"POST",signal:c,headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(b)}),g=await d.json().catch(()=>null);return d.ok?{ok:!0,data:g}:{ok:!1,failure:f(g,d.status,e)}}async function i(a,b,c){try{return await a()}catch(a){if(c?.aborted)throw a;return{ok:!1,failure:{code:b,message:a instanceof Error?a.message:"",status:null}}}}function j(a){return i(()=>g("/api/skills",a),d,a)}function k(a,b){return i(()=>g(`/api/skills/${encodeURIComponent(a)}`,b),d,b)}function l(a,b){return i(()=>g(`/api/worktrees/${encodeURIComponent(a)}/skills`,b),e,b)}function m(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))void 0!==d&&""!==d&&b.set(c,d);let c=b.toString();return c?`?${c}`:""}function n(a={},b){let c=m({worktreeId:a.worktreeId,skillId:a.skillId,status:a.status,refresh:a.refresh?"true":void 0});return i(()=>g(`/api/skills/installations${c}`,b),e,b)}function o(a={},b){let c=m({worktreeId:a.worktreeId,skillId:a.skillId,operation:a.operation,result:a.result,cursor:a.cursor,limit:void 0===a.limit?void 0:String(a.limit)});return i(()=>g(`/api/skills/operations${c}`,b),e,b)}function p(a){return i(()=>h("/api/skills/reindex",{},a),e,a)}function q(a,b,c){return`/api/worktrees/${encodeURIComponent(a)}/skills/${encodeURIComponent(b)}/${c}`}function r(a,b,c={},d){let f={};return c.version&&(f.version=c.version),c.acknowledgeRisk&&(f.acknowledgeRisk=!0),i(()=>h(q(a,b,"plan"),f,d),e,d)}function s(a,b,c,d){let f={planToken:c.planToken,version:c.version};return c.acknowledgeRisk&&(f.acknowledgeRisk=!0),c.idempotencyKey&&(f.idempotencyKey=c.idempotencyKey),i(()=>h(q(a,b,"install"),f,d),e,d)}function t(a,b,c){return i(()=>h(q(a,b,"uninstall-plan"),{},c),e,c)}function u(a,b,c,d){let f={planToken:c.planToken};return c.idempotencyKey&&(f.idempotencyKey=c.idempotencyKey),i(()=>h(q(a,b,"uninstall"),f,d),e,d)}}};
|
|
1
|
+
"use strict";exports.id=5737,exports.ids=[5737],exports.modules={3805:(a,b,c)=>{c.d(b,{u:()=>k});var d=c(21124);c(38301);var e=c(71117),f=c(16945),g=c(93983),h=c(35595);let i={info:"bg-info-subtle border-info-border text-info-foreground",warning:"bg-warning-subtle border-warning-border text-warning-foreground",danger:"bg-danger-subtle border-danger-border text-danger-foreground",neutral:"bg-muted border-border text-muted-foreground"},j={info:e.A,warning:f.A,danger:g.A,neutral:e.A};function k({tone:a="neutral",children:b,className:c,"data-testid":e}){let f=j[a];return(0,d.jsxs)("div",{"data-testid":e,className:(0,h.cn)("flex items-start gap-2 rounded-md border px-3 py-2 text-xs leading-relaxed",i[a],c),children:[(0,d.jsx)(f,{size:14,"aria-hidden":"true",className:"mt-0.5 shrink-0"}),(0,d.jsx)("div",{className:"min-w-0",children:b})]})}},27884:(a,b,c)=>{c.d(b,{$d:()=>E,AJ:()=>F,AS:()=>k,DN:()=>G,Et:()=>h,FW:()=>u,H$:()=>d,IV:()=>B,J:()=>I,JD:()=>l,KL:()=>n,KS:()=>m,Mj:()=>q,OV:()=>e,R1:()=>L,RG:()=>A,RO:()=>s,SC:()=>H,TE:()=>i,bD:()=>M,e5:()=>x,eK:()=>f,gh:()=>C,hJ:()=>r,kF:()=>p,pP:()=>g,pk:()=>w,r0:()=>D,tC:()=>j,u0:()=>J,xX:()=>K,z2:()=>o});let d={compatible:"success",incompatible:"error",unknown:"warning"},e={compatible:"compatibility.status.compatible",incompatible:"compatibility.status.incompatible",unknown:"compatibility.status.unknown"},f={low:"gray",moderate:"warning",high:"error"},g={low:"risk.level.low",moderate:"risk.level.moderate",high:"risk.level.high"},h={native:"success",commandmate_runtime:"info",unsupported:"error",unknown:"warning"},i={SKILL_RECOMMEND_HIGHEST_COMPATIBLE:"detail.recommendation.highestCompatible",SKILL_RECOMMEND_LATEST_UNVERIFIED:"detail.recommendation.latestUnverified",SKILL_RECOMMEND_NONE_COMPATIBLE:"detail.recommendation.noneCompatible",SKILL_RECOMMEND_NO_VERSIONS:"detail.recommendation.noVersions"},j={add:"info",modify:"warning",unchanged:"gray",conflict:"error",unmanaged:"error"},k={add:"plan.change.add",modify:"plan.change.modify",unchanged:"plan.change.unchanged",conflict:"plan.change.conflict",unmanaged:"plan.change.unmanaged"},l={add:"info",update:"warning",remove:"warning",unchanged:"gray"},m={add:"update.change.add",update:"update.change.update",remove:"update.change.remove",unchanged:"update.change.unchanged"},n={SKILL_DIFF_NEW_FILE:"plan.diffReason.newFile",SKILL_DIFF_CONTENT_IDENTICAL:"plan.diffReason.contentIdentical",SKILL_DIFF_MANAGED_UPDATE:"plan.diffReason.managedUpdate",SKILL_DIFF_LOCAL_MODIFICATION:"plan.diffReason.localModification",SKILL_DIFF_UNMANAGED_SKILL:"plan.diffReason.unmanagedSkill",SKILL_DIFF_RECEIPT_ORPHAN:"plan.diffReason.receiptOrphan",SKILL_DIFF_NOT_A_REGULAR_FILE:"plan.diffReason.notARegularFile"},o={filesystem_read:"plan.permission.filesystemRead",filesystem_write:"plan.permission.filesystemWrite",network_access:"plan.permission.networkAccess",process_execution:"plan.permission.processExecution",environment_read:"plan.permission.environmentRead",credential_access:"plan.permission.credentialAccess"},p={attached:"plan.headState.attached",detached:"plan.headState.detached",unborn:"plan.headState.unborn",unknown:"plan.headState.unknown"},q={remove:"uninstall.disposition.remove",modified:"uninstall.disposition.modified",missing:"uninstall.disposition.missing",unknown:"uninstall.disposition.unknown",irregular:"uninstall.disposition.irregular"},r={SKILL_UNINSTALL_MANAGED_UNCHANGED:"uninstall.reason.managedUnchanged",SKILL_UNINSTALL_LOCAL_MODIFICATION:"uninstall.reason.localModification",SKILL_UNINSTALL_RECEIPT_ORPHAN:"uninstall.reason.receiptOrphan",SKILL_UNINSTALL_UNMANAGED_FILE:"uninstall.reason.unmanagedFile",SKILL_UNINSTALL_NOT_A_REGULAR_FILE:"uninstall.reason.notARegularFile",SKILL_UNINSTALL_NOT_INSTALLED:"uninstall.reason.notInstalled",SKILL_UNINSTALL_RECEIPT_MISSING:"uninstall.reason.receiptMissing",SKILL_UNINSTALL_RECEIPT_UNREADABLE:"uninstall.reason.receiptUnreadable",SKILL_UNINSTALL_RECEIPT_FOREIGN:"uninstall.reason.receiptForeign",SKILL_UNINSTALL_TREE_SCAN_TRUNCATED:"uninstall.reason.treeScanTruncated"},s={SKILL_PREVIEW_DETACHED_HEAD:"plan.warning.detachedHead",SKILL_PREVIEW_UNBORN_HEAD:"plan.warning.unbornHead",SKILL_PREVIEW_HEAD_UNRESOLVED:"plan.warning.headUnresolved",SKILL_PREVIEW_WORKING_TREE_DIRTY:"plan.warning.workingTreeDirty",SKILL_PREVIEW_PATH_GIT_IGNORED:"plan.warning.pathGitIgnored",SKILL_PREVIEW_DIFF_TRUNCATED:"plan.warning.diffTruncated",SKILL_PREVIEW_BINARY_CONTENT:"plan.warning.binaryContent",SKILL_PREVIEW_LINE_ENDING_CRLF:"plan.warning.lineEndingCrlf",SKILL_PREVIEW_TREE_SCAN_TRUNCATED:"plan.warning.treeScanTruncated"},t={SKILL_PLAN_STALE:"operation.error.planStale",SKILL_PLAN_EXPIRED:"operation.error.planExpired",SKILL_PLAN_CONSUMED:"operation.error.planConsumed",SKILL_PLAN_NOT_FOUND:"operation.error.planNotFound",SKILL_PLAN_BINDING_MISMATCH:"operation.error.planBindingMismatch",SKILL_PLAN_NOT_INSTALLABLE:"operation.error.planNotInstallable",SKILL_PLAN_RISK_NOT_ACKNOWLEDGED:"operation.error.planRiskNotAcknowledged",SKILL_INSTALL_LOCKED:"operation.error.installLocked",SKILL_INSTALL_IN_PROGRESS:"operation.error.installInProgress",SKILL_INSTALL_DESTINATION_EXISTS:"operation.error.installDestinationExists",SKILL_INSTALL_DESTINATION_UNMANAGED:"operation.error.installDestinationUnmanaged",SKILL_INSTALL_IDEMPOTENCY_CONFLICT:"operation.error.installIdempotencyConflict",SKILL_INSTALL_FAILED:"operation.error.installFailed",SKILL_UNINSTALL_LOCKED:"operation.error.uninstallLocked",SKILL_UNINSTALL_IN_PROGRESS:"operation.error.uninstallInProgress",SKILL_UNINSTALL_IDEMPOTENCY_CONFLICT:"operation.error.uninstallIdempotencyConflict",SKILL_UNINSTALL_NOT_INSTALLED:"operation.error.uninstallNotInstalled",SKILL_UNINSTALL_BLOCKED:"operation.error.uninstallBlocked",SKILL_UNINSTALL_DRIFT:"operation.error.uninstallDrift",SKILL_UNINSTALL_FILE_CHANGED:"operation.error.uninstallFileChanged",SKILL_UNINSTALL_FAILED:"operation.error.uninstallFailed",SKILL_UPDATE_NOT_INSTALLED:"operation.error.updateNotInstalled",SKILL_UPDATE_UP_TO_DATE:"operation.error.updateUpToDate",SKILL_UPDATE_VERSION_NOT_ELIGIBLE:"operation.error.updateVersionNotEligible",SKILL_UPDATE_RECOMMEND_NONE_COMPATIBLE:"operation.error.updateNoneCompatible",SKILL_REQUEST_FAILED:"operation.error.requestFailed"};function u(a){return t[a]??"operation.error.unexpected"}let v={SKILL_CATALOG_FETCH_FAILED:"catalog.reason.fetchFailed",SKILL_CATALOG_RATE_LIMITED:"catalog.reason.rateLimited",SKILL_CATALOG_OVERSIZED:"catalog.reason.oversized",SKILL_CATALOG_MALFORMED:"catalog.reason.malformed",SKILL_CATALOG_INVALID_SCHEMA:"catalog.reason.invalidSchema"};function w(a){return a&&v[a]||"catalog.reason.unknown"}function x(a){return a.startsWith("skills.")?a.slice(7):a}let y=/!\[([^\]]*)\]\([^)]*\)/g,z=/<\/?(?:img|picture|source|video|audio|iframe|embed|object|track)\b[^>]*>/gi;function A(a){return a.replace(y,"$1").replace(z,"")}let B={query:"",compatibility:"all",risk:"all",agent:"all"};function C(a){let b=a.versions.find(b=>b.version===a.recommendedVersion);return(b??a.versions[0])?.declaredRisk??null}function D(a){let b=new Set;for(let c of a.versions)for(let a of c.compatibility.agents)("native"===a.support||"commandmate_runtime"===a.support)&&b.add(a.agent);return[...b].sort()}function E(a,b){return a.filter(a=>!!function(a,b){let c=b.trim().toLowerCase();return 0===c.length||[a.name,a.summary,a.id,a.provider.name,...a.keywords].some(a=>a.toLowerCase().includes(c))}(a,b.query)&&("all"===b.compatibility||a.compatibility?.status===b.compatibility)&&("all"===b.risk||C(a)===b.risk)&&("all"===b.agent||!!D(a).includes(b.agent)))}function F(a){let b=new Set;for(let c of a)for(let a of c.versions)for(let c of a.compatibility.agents)b.add(c.agent);return[...b].sort()}let G={installed:"dashboard.status.installed",modified:"dashboard.status.modified",missing:"dashboard.status.missing",unmanaged:"dashboard.status.unmanaged",update_available:"dashboard.status.updateAvailable"},H={installed:"dashboard.statusHint.installed",modified:"dashboard.statusHint.modified",missing:"dashboard.statusHint.missing",unmanaged:"dashboard.statusHint.unmanaged",update_available:"dashboard.statusHint.updateAvailable"},I={installed:"success",modified:"warning",missing:"error",unmanaged:"warning",update_available:"info"},J={install:"history.operation.install",uninstall:"history.operation.uninstall",update:"history.operation.update"},K={succeeded:"history.result.succeeded",failed:"history.result.failed",reconciled:"history.result.reconciled"},L={succeeded:"success",failed:"error",reconciled:"warning"},M={user:"history.actor.user",cli:"history.actor.cli",system:"history.actor.system"}},30156:(a,b,c)=>{c.d(b,{Db:()=>k,E:()=>w,Gj:()=>l,Q6:()=>r,Sw:()=>t,V_:()=>n,Xi:()=>s,h2:()=>u,hN:()=>v,mf:()=>o,s5:()=>j,vg:()=>p});let d="SKILL_CATALOG_UNREACHABLE",e="SKILL_REQUEST_FAILED";function f(a,b,c){let d=a&&"object"==typeof a?a:{},e={code:!function(a){if(!a||"object"!=typeof a)return!1;let{error:b,code:c}=a;return"string"==typeof b&&"string"==typeof c}(a)?c:a.code,message:"string"==typeof d.error?d.error:"",status:b};return Array.isArray(d.blockers)&&(e.blockers=d.blockers),"string"==typeof d.nextActionKey&&(e.nextActionKey=d.nextActionKey),e}async function g(a,b){let c=await fetch(a,{signal:b,headers:{Accept:"application/json"}}),e=await c.json().catch(()=>null);return c.ok?{ok:!0,data:e}:{ok:!1,failure:f(e,c.status,d)}}async function h(a,b,c){let d=await fetch(a,{method:"POST",signal:c,headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(b)}),g=await d.json().catch(()=>null);return d.ok?{ok:!0,data:g}:{ok:!1,failure:f(g,d.status,e)}}async function i(a,b,c){try{return await a()}catch(a){if(c?.aborted)throw a;return{ok:!1,failure:{code:b,message:a instanceof Error?a.message:"",status:null}}}}function j(a){return i(()=>g("/api/skills",a),d,a)}function k(a,b){return i(()=>g(`/api/skills/${encodeURIComponent(a)}`,b),d,b)}function l(a,b){return i(()=>g(`/api/worktrees/${encodeURIComponent(a)}/skills`,b),e,b)}function m(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))void 0!==d&&""!==d&&b.set(c,d);let c=b.toString();return c?`?${c}`:""}function n(a={},b){let c=m({worktreeId:a.worktreeId,skillId:a.skillId,status:a.status,refresh:a.refresh?"true":void 0});return i(()=>g(`/api/skills/installations${c}`,b),e,b)}function o(a={},b){let c=m({worktreeId:a.worktreeId,skillId:a.skillId,operation:a.operation,result:a.result,cursor:a.cursor,limit:void 0===a.limit?void 0:String(a.limit)});return i(()=>g(`/api/skills/operations${c}`,b),e,b)}function p(a){return i(()=>h("/api/skills/reindex",{},a),e,a)}function q(a,b,c){return`/api/worktrees/${encodeURIComponent(a)}/skills/${encodeURIComponent(b)}/${c}`}function r(a,b,c={},d){let f={};return c.version&&(f.version=c.version),c.acknowledgeRisk&&(f.acknowledgeRisk=!0),i(()=>h(q(a,b,"plan"),f,d),e,d)}function s(a,b,c,d){let f={planToken:c.planToken,version:c.version};return c.acknowledgeRisk&&(f.acknowledgeRisk=!0),c.idempotencyKey&&(f.idempotencyKey=c.idempotencyKey),i(()=>h(q(a,b,"install"),f,d),e,d)}function t(a,b,c={},d){let f={};return c.version&&(f.version=c.version),c.includePrerelease&&(f.includePrerelease=!0),i(()=>h(q(a,b,"update-plan"),f,d),e,d)}function u(a,b,c,d){let f={planToken:c.planToken,version:c.version};return c.acknowledgeRisk&&(f.acknowledgeRisk=!0),c.acknowledgeRiskIncrease&&(f.acknowledgeRiskIncrease=!0),c.idempotencyKey&&(f.idempotencyKey=c.idempotencyKey),i(()=>h(q(a,b,"update"),f,d),e,d)}function v(a,b,c){return i(()=>h(q(a,b,"uninstall-plan"),{},c),e,c)}function w(a,b,c,d){let f={planToken:c.planToken};return c.idempotencyKey&&(f.idempotencyKey=c.idempotencyKey),i(()=>h(q(a,b,"uninstall"),f,d),e,d)}}};
|