commandmate 0.39.0 → 0.39.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-build-manifest.json +361 -363
- package/.next/app-path-routes-manifest.json +35 -35
- package/.next/build-manifest.json +5 -5
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +3 -3
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/agents/versions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/release-notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/app/update/route_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/auth/login/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/capabilities/route.js +1 -1
- package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/repositories/clone/[jobId]/route_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_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/settings/default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/auto-yes/route_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]/clear-composer/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/instances/opencode/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/respond/route_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_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
- package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/.next/server/app/more/page.js +2 -2
- package/.next/server/app/more/page.js.nft.json +1 -1
- package/.next/server/app/more/page_client-reference-manifest.js +1 -1
- package/.next/server/app/offline/page.js +1 -1
- package/.next/server/app/offline/page.js.nft.json +1 -1
- package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/.next/server/app/repositories/page.js +2 -2
- package/.next/server/app/repositories/page.js.nft.json +1 -1
- package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
- package/.next/server/app/review/page.js +1 -1
- package/.next/server/app/review/page.js.nft.json +1 -1
- package/.next/server/app/review/page_client-reference-manifest.js +1 -1
- package/.next/server/app/sessions/page.js +1 -1
- package/.next/server/app/sessions/page.js.nft.json +1 -1
- package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/[skillId]/page.js +2 -2
- package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
- package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/installed/page.js +2 -2
- package/.next/server/app/skills/installed/page.js.nft.json +1 -1
- package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
- package/.next/server/app/skills/page.js +2 -2
- package/.next/server/app/skills/page.js.nft.json +1 -1
- package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/worktrees/[id]/page.js +6 -6
- 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.js +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page.js.nft.json +1 -1
- package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +35 -35
- package/.next/server/chunks/{7086.js → 1674.js} +4 -4
- package/.next/server/chunks/3543.js +1 -1
- package/.next/server/chunks/3945.js +1 -1
- package/.next/server/chunks/4802.js +1 -1
- package/.next/server/chunks/5742.js +1 -0
- package/.next/server/chunks/{1707.js → 6092.js} +2 -2
- package/.next/server/chunks/6130.js +1 -1
- package/.next/server/chunks/8581.js +11 -11
- package/.next/server/chunks/8728.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-manifest.json +5 -5
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/1642-fb2e176aaadbd137.js +1 -0
- package/.next/static/chunks/{2053-ce3fe896ad45e50f.js → 2053-611dd27d42721b79.js} +1 -1
- package/.next/static/chunks/{2407-8fe4e4d0bab1931a.js → 2407-9ac8b6188ddbb119.js} +1 -1
- package/.next/static/chunks/{3922.9c1ec01fff819c88.js → 3922.8e79fc89f593280b.js} +1 -1
- package/.next/static/chunks/6192-a67df090838b9aad.js +1 -0
- package/.next/static/chunks/8165-d3b7c8a7aa776bc7.js +1 -0
- package/.next/static/chunks/8318-01e7d1e5ad0a15a3.js +1 -0
- package/.next/static/chunks/8407-9a72e6f07c5d5458.js +1 -0
- package/.next/static/chunks/9619-7bc0e9524f0773b5.js +1 -0
- package/.next/static/chunks/982-edf98d9d54c5ce9b.js +1 -0
- package/.next/static/chunks/app/layout-542d075e9d7cc541.js +1 -0
- package/.next/static/chunks/app/login/{page-269a9de3b91a45a2.js → page-38d401f553693b03.js} +1 -1
- package/.next/static/chunks/app/more/page-30057cf1e0762ad2.js +1 -0
- package/.next/static/chunks/app/{page-0c1a29ff3609bd8b.js → page-8483ba400af011f5.js} +1 -1
- package/.next/static/chunks/app/repositories/{page-e9ceeefacf87d470.js → page-6f7511f4ac8449e2.js} +1 -1
- package/.next/static/chunks/app/review/page-8ed49e2edcc7667b.js +1 -0
- package/.next/static/chunks/app/sessions/page-56f6a2466dd0479d.js +1 -0
- package/.next/static/chunks/app/skills/[skillId]/{page-6f62668eabb635f5.js → page-ab7e432b69fccb3b.js} +1 -1
- package/.next/static/chunks/app/skills/installed/{page-c6c4ac5e26c4e73e.js → page-e000102a01a42c98.js} +1 -1
- package/.next/static/chunks/app/skills/{page-bec1d4924004d4de.js → page-56b4fa11223e0cbd.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/files/[...path]/{page-2e98f11956fe1aea.js → page-5445205c8dd80109.js} +1 -1
- package/.next/static/chunks/app/worktrees/[id]/page-760408096ad697b4.js +1 -0
- package/.next/static/chunks/{webpack-9f75198882fdaf08.js → webpack-7e5907979c182510.js} +1 -1
- package/.next/static/css/b4aaf81d10efdd00.css +1 -0
- package/.next/trace +13 -13
- package/package.json +3 -2
- package/public/sw.js +5 -5
- package/release-notes/0.39.1.json +29 -0
- package/.next/server/chunks/366.js +0 -1
- package/.next/server/chunks/8550.js +0 -1
- package/.next/static/chunks/1032-9e43405ac6bf6848.js +0 -1
- package/.next/static/chunks/3504-0100ab50762f591b.js +0 -1
- package/.next/static/chunks/4322-f54abdc5d16b7462.js +0 -1
- package/.next/static/chunks/4949-a13ace141c0183d6.js +0 -1
- package/.next/static/chunks/5529-83e705fc4134a503.js +0 -1
- package/.next/static/chunks/6022-d2d7bd9373ff3ae9.js +0 -1
- package/.next/static/chunks/8019-cc6ac1cc033fd5f0.js +0 -1
- package/.next/static/chunks/9619-c3c4c623b0a4f681.js +0 -1
- package/.next/static/chunks/998-292ebcd30f329eb1.js +0 -1
- package/.next/static/chunks/app/layout-f43045c9edbc4d1f.js +0 -1
- package/.next/static/chunks/app/more/page-3963a5e56e550442.js +0 -1
- package/.next/static/chunks/app/review/page-3028fe95de490236.js +0 -1
- package/.next/static/chunks/app/sessions/page-3f39f99b878fdda0.js +0 -1
- package/.next/static/chunks/app/worktrees/[id]/page-0305d80c8ebda4cb.js +0 -1
- package/.next/static/css/2c63c5531f77719e.css +0 -1
- /package/.next/static/{CqFH31RhKQbrRZXsMNosJ → 7Ge9-hsqlip_Z6bhEnVkd}/_buildManifest.js +0 -0
- /package/.next/static/{CqFH31RhKQbrRZXsMNosJ → 7Ge9-hsqlip_Z6bhEnVkd}/_ssgManifest.js +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "commandmate",
|
|
3
|
-
"version": "0.39.
|
|
3
|
+
"version": "0.39.1",
|
|
4
4
|
"description": "A local control plane for agent CLIs — orchestration and visibility for Claude Code, Codex, Gemini CLI, and more across Git worktrees",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
"build:all": "npm run build && npm run build:cli && npm run build:server",
|
|
45
45
|
"prepublishOnly": "npm run build:all",
|
|
46
46
|
"start": "NODE_ENV=production node dist/server/server.js",
|
|
47
|
-
"lint": "eslint
|
|
47
|
+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx,.mjs,.cjs",
|
|
48
|
+
"lint:sh": "shellcheck -x -P scripts --severity=style --exclude=SC2086,SC2317,SC2116 $(find scripts tests/scripts .claude/lib -name '*.sh')",
|
|
48
49
|
"check:tracking": "./scripts/check-commandmate-tracking.sh",
|
|
49
50
|
"check:detector-freshness": "tsx scripts/check-detector-freshness.ts",
|
|
50
51
|
"test": "NODE_ENV=test vitest",
|
package/public/sw.js
CHANGED
|
@@ -108,7 +108,7 @@ async function offlineFallback(request) {
|
|
|
108
108
|
// Navigation responses are intentionally NOT cached: they may contain
|
|
109
109
|
// authenticated content. Only the offline fallback page is served on error.
|
|
110
110
|
return await fetch(request);
|
|
111
|
-
} catch
|
|
111
|
+
} catch {
|
|
112
112
|
const cache = await caches.open(CACHE_NAME);
|
|
113
113
|
const offline = await cache.match(OFFLINE_URL);
|
|
114
114
|
return offline || Response.error();
|
|
@@ -123,7 +123,7 @@ self.addEventListener('fetch', function (event) {
|
|
|
123
123
|
let url;
|
|
124
124
|
try {
|
|
125
125
|
url = new URL(request.url);
|
|
126
|
-
} catch
|
|
126
|
+
} catch {
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
|
|
@@ -197,7 +197,7 @@ function replaceStaleNotifications(title, options) {
|
|
|
197
197
|
stale[i].close();
|
|
198
198
|
}
|
|
199
199
|
})
|
|
200
|
-
.catch(function (
|
|
200
|
+
.catch(function (_err) {
|
|
201
201
|
// A registration that cannot enumerate its notifications still has to
|
|
202
202
|
// show one. Showing the replacement below is what keeps the promise;
|
|
203
203
|
// on this path the tag alone collapses the stale card on most engines.
|
|
@@ -213,7 +213,7 @@ self.addEventListener('push', function (event) {
|
|
|
213
213
|
var payload = {};
|
|
214
214
|
try {
|
|
215
215
|
payload = event.data ? event.data.json() : {};
|
|
216
|
-
} catch
|
|
216
|
+
} catch {
|
|
217
217
|
payload = {};
|
|
218
218
|
}
|
|
219
219
|
|
|
@@ -275,7 +275,7 @@ self.addEventListener('notificationclick', function (event) {
|
|
|
275
275
|
if (new URL(client.url).pathname === targetUrl && 'focus' in client) {
|
|
276
276
|
return client.focus();
|
|
277
277
|
}
|
|
278
|
-
} catch
|
|
278
|
+
} catch {
|
|
279
279
|
// ignore malformed client URL
|
|
280
280
|
}
|
|
281
281
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.39.1",
|
|
3
|
+
"date": "2026-09-20",
|
|
4
|
+
"highlight": {
|
|
5
|
+
"ja": "パソコンでは設定がダイアログで開くようになり、画面を移動せずに変更できます。モーダルが背景のクリックで閉じない問題も直しました。",
|
|
6
|
+
"en": "On a computer, settings now open in a dialog so you can change them without leaving the page. Clicking outside a dialog to close it also works again."
|
|
7
|
+
},
|
|
8
|
+
"added": [
|
|
9
|
+
{
|
|
10
|
+
"ja": "サイドバーの下部から設定を開けるようになりました。",
|
|
11
|
+
"en": "You can now open settings from the bottom of the sidebar."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"ja": "パソコンでは、設定が画面を移動せずダイアログで開くようになりました。",
|
|
15
|
+
"en": "On a computer, settings now open in a dialog instead of moving you to another page."
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"improved": [],
|
|
19
|
+
"fixed": [
|
|
20
|
+
{
|
|
21
|
+
"ja": "ダイアログの外側をクリックしても閉じないことがある問題を直しました。",
|
|
22
|
+
"en": "Fixed dialogs sometimes not closing when you clicked outside them."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"ja": "スマートフォンで、画面下のナビゲーションに本文がわずかに重なる問題を直しました。",
|
|
26
|
+
"en": "Fixed content slightly overlapping the bottom navigation bar on phones."
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=366,exports.ids=[366],exports.modules={8849:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(23339).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},60366:(a,b,c)=>{c.d(b,{uN:()=>y,he:()=>p,$8:()=>t});var d=c(21124),e=c(38301),f=c(20481),g=c(71613),h=c(70584),i=c(24417),j=c(47089),k=c(8849),l=c(15737),m=c(17252),n=c(89907);function o(a){return!!a&&"object"==typeof a&&Array.isArray(a.defaultSelectedAgents)&&a.defaultSelectedAgents.length>0&&Array.isArray(a.available)&&a.available.length>0&&"number"==typeof a.minAgents&&"number"==typeof a.maxAgents}function p(){let a=(0,f.c)("common"),[b,c]=(0,e.useState)(null),[p,q]=(0,e.useState)([]),[r,s]=(0,e.useState)(!0),[t,u]=(0,e.useState)("idle"),[v,w]=(0,e.useState)(null);(0,e.useCallback)(async()=>{try{let a=await fetch(`${n.zk}?include=installed`);if(!a.ok)throw Error(String(a.status));let b=await a.json();if(!o(b))throw Error("unexpected body");c(b),q(b.defaultSelectedAgents),(0,n.IK)(b.defaultSelectedAgents)}catch{w(a("settings.defaultAgents.loadError"))}finally{s(!1)}},[a]);let x=(0,e.useCallback)(a=>{q(a),u("idle"),w(null)},[]),y=(0,e.useCallback)((a,b)=>{let c=a+b;if(c<0||c>=p.length)return;let d=[...p];[d[a],d[c]]=[d[c],d[a]],x(d)},[p,x]),z=(0,e.useCallback)(async b=>{u("saving"),w(null);try{let d=await fetch(n.zk,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({agents:b})}),e=await d.json().catch(()=>null);if(!d.ok||!o(e)){u("error"),w(e?.error??a("settings.defaultAgents.saveError"));return}c(a=>({...e,installed:a?.installed})),q(e.defaultSelectedAgents),(0,n.IK)(e.defaultSelectedAgents),u("saved")}catch{u("error"),w(a("settings.defaultAgents.saveError"))}},[a]);if(r)return(0,d.jsx)(l.Zp,{children:(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,d.jsx)(l.y$,{size:"sm"}),a("loadingPage")]})});if(!b)return(0,d.jsx)(l.Zp,{children:(0,d.jsx)("div",{className:"text-sm text-danger-foreground","data-testid":"default-agents-load-error",children:v??a("settings.defaultAgents.loadError")})});let A=b.installed??[],B=b.available.filter(a=>!p.includes(a)),C=p.length<b.minAgents,D=p.length>b.maxAgents,E=!C&&!D&&"saving"!==t,F=b=>A.includes(b)?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-success-subtle px-1.5 py-0.5 text-xs text-success-foreground","data-testid":`default-agents-installed-${b}`,children:[(0,d.jsx)(g.A,{className:"h-3 w-3","aria-hidden":"true"}),a("settings.defaultAgents.installed")]}):(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:a("settings.defaultAgents.notInstalled")});return(0,d.jsx)(l.Zp,{children:(0,d.jsxs)("div",{className:"space-y-4","data-testid":"default-agents-settings",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-medium text-foreground",children:a("settings.defaultAgents.title")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.defaultAgents.description")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.defaultAgents.appliesToNew")})]}),(0,d.jsx)("ul",{className:"space-y-2","data-testid":"default-agents-selected",children:p.map((c,e)=>(0,d.jsxs)("li",{className:"flex items-center gap-2 rounded-md border border-border bg-surface px-3 py-2","data-testid":`default-agents-row-${c}`,children:[(0,d.jsx)("span",{className:"w-6 text-xs text-muted-foreground",children:e+1}),(0,d.jsx)("span",{className:"text-sm text-foreground",children:(0,m.oo)(c)}),0===e&&(0,d.jsx)("span",{className:"rounded bg-info-subtle px-1.5 py-0.5 text-xs text-info-foreground","data-testid":"default-agents-primary-badge",children:a("settings.defaultAgents.primary")}),(0,d.jsx)("span",{className:"ml-auto",children:F(c)}),(0,d.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>y(e,-1),disabled:0===e,"aria-label":a("settings.defaultAgents.moveUp"),"data-testid":`default-agents-up-${c}`,children:(0,d.jsx)(h.A,{className:"h-4 w-4","aria-hidden":"true"})}),(0,d.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>y(e,1),disabled:e===p.length-1,"aria-label":a("settings.defaultAgents.moveDown"),"data-testid":`default-agents-down-${c}`,children:(0,d.jsx)(i.A,{className:"h-4 w-4","aria-hidden":"true"})}),(0,d.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>x(p.filter(a=>a!==c)),disabled:p.length<=b.minAgents,"aria-label":a("settings.defaultAgents.remove"),"data-testid":`default-agents-remove-${c}`,children:(0,d.jsx)(j.A,{className:"h-4 w-4","aria-hidden":"true"})})]},c))}),B.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"mb-2 text-xs text-muted-foreground",children:a("settings.defaultAgents.addLabel")}),(0,d.jsx)("ul",{className:"space-y-2","data-testid":"default-agents-available",children:B.map(c=>(0,d.jsxs)("li",{className:"flex items-center gap-2 rounded-md border border-border px-3 py-2",children:[(0,d.jsx)("span",{className:"text-sm text-foreground",children:(0,m.oo)(c)}),(0,d.jsx)("span",{className:"ml-auto",children:F(c)}),(0,d.jsx)("button",{type:"button",className:"rounded p-1 text-muted-foreground hover:bg-muted disabled:opacity-40",onClick:()=>x([...p,c]),disabled:p.length>=b.maxAgents,"aria-label":a("settings.defaultAgents.add"),"data-testid":`default-agents-add-${c}`,children:(0,d.jsx)(k.A,{className:"h-4 w-4","aria-hidden":"true"})})]},c))})]}),(C||D)&&(0,d.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"default-agents-range-error",children:a("settings.defaultAgents.range",{min:b.minAgents,max:b.maxAgents})}),v&&(0,d.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"default-agents-error",children:v}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(l.$n,{size:"sm",onClick:()=>void z(p),disabled:!E,"data-testid":"default-agents-save",children:"saving"===t?a("settings.defaultAgents.saving"):a("settings.defaultAgents.save")}),(0,d.jsx)(l.$n,{size:"sm",variant:"ghost",onClick:()=>void z(null),disabled:!b.configured||"saving"===t,"data-testid":"default-agents-reset",children:a("settings.defaultAgents.reset")}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"default-agents-state",children:"saved"===t?a("settings.defaultAgents.saved"):b.configured?a("settings.defaultAgents.configured"):a("settings.defaultAgents.usingBuiltIn")})]}),b.configured&&(0,d.jsx)("div",{className:"text-xs text-muted-foreground","data-testid":"default-agents-builtin",children:a("settings.defaultAgents.builtIn",{agents:b.constantDefault.map(m.oo).join(", ")})})]})})}var q=c(70911),r=c(61916);function s(a){return!!a&&"object"==typeof a&&(0,r.jg)(a.defaultSurfaceMode)&&(0,r.jg)(a.constantDefault)&&Array.isArray(a.available)&&a.available.length>0&&a.available.every(r.jg)}function t(){let a=(0,f.c)("common"),[b,c]=(0,e.useState)(null),[g,h]=(0,e.useState)(!0),[i,j]=(0,e.useState)("idle"),[k,m]=(0,e.useState)(null),n=(0,e.useCallback)(async()=>{try{let a=await fetch(q.wp);if(!a.ok)throw Error(String(a.status));let b=await a.json();if(!s(b))throw Error("unexpected body");c(b),(0,q.B1)(b.defaultSurfaceMode)}catch{m({kind:"load"})}finally{h(!1)}},[]),o=(0,e.useCallback)(async a=>{j("saving"),m(null),c(b=>b?{...b,defaultSurfaceMode:a}:b);try{let b=await fetch(q.wp,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:a})}),d=await b.json().catch(()=>null);if(!b.ok||!s(d)){j("error"),m({kind:"save",detail:d?.error}),n();return}c(d),(0,q.B1)(d.defaultSurfaceMode),j("saved")}catch{j("error"),m({kind:"save"}),n()}},[n]),p=k?k.detail??a("load"===k.kind?"settings.defaultSurfaceMode.loadError":"settings.defaultSurfaceMode.saveError"):null;return g?(0,d.jsx)(l.Zp,{children:(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,d.jsx)(l.y$,{size:"sm"}),a("loadingPage")]})}):b?(0,d.jsx)(l.Zp,{children:(0,d.jsxs)("div",{className:"space-y-4","data-testid":"default-surface-mode-settings",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-medium text-foreground",children:a("settings.defaultSurfaceMode.title")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.defaultSurfaceMode.description")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:a("settings.defaultSurfaceMode.appliesToNew")})]}),(0,d.jsx)("div",{role:"radiogroup","aria-label":a("settings.defaultSurfaceMode.title"),className:"space-y-2","data-selected":b.defaultSurfaceMode,children:b.available.map(c=>(0,d.jsxs)("label",{className:"flex cursor-pointer items-start gap-2 rounded-md border border-border bg-surface px-3 py-2","data-testid":`default-surface-mode-option-${c}`,children:[(0,d.jsx)("input",{type:"radio",name:"default-surface-mode",value:c,className:"mt-0.5",checked:b.defaultSurfaceMode===c,disabled:"saving"===i,onChange:()=>void o(c),"data-testid":`default-surface-mode-radio-${c}`}),(0,d.jsxs)("span",{children:[(0,d.jsx)("span",{className:"block text-sm text-foreground",children:a(`settings.defaultSurfaceMode.mode.${c}`)}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:a(`settings.defaultSurfaceMode.hint.${c}`)})]})]},c))}),p&&(0,d.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"default-surface-mode-error",children:p}),(0,d.jsx)("div",{className:"text-xs text-muted-foreground","data-testid":"default-surface-mode-state",children:"saving"===i?a("settings.defaultSurfaceMode.saving"):"saved"===i?a("settings.defaultSurfaceMode.saved"):b.configured?a("settings.defaultSurfaceMode.configured"):a("settings.defaultSurfaceMode.usingBuiltIn")})]})}):(0,d.jsx)(l.Zp,{children:(0,d.jsx)("div",{className:"text-sm text-danger-foreground","data-testid":"default-surface-mode-load-error",children:p??a("settings.defaultSurfaceMode.loadError")})})}var u=c(2535),v=c(16945),w=c(9212);function x(a){let b=a.trim();if(!b)return null;try{let a=JSON.parse(b);if(!a||"object"!=typeof a)return null;let c=a.type;if("plan"!==c&&"output"!==c&&"done"!==c)return null;return a}catch{return null}}function y({worktreeId:a,instances:b,variant:c="card"}){let g=(0,f.c)("common"),{versions:h,isLoading:i,loadError:j,run:k,isUpdating:n,update:o}=function(a=!0){let[b,c]=(0,e.useState)(null),[d,f]=(0,e.useState)(!1),[g,h]=(0,e.useState)(a),[i,j]=(0,e.useState)(null),[k,l]=(0,e.useState)(!1),m=(0,e.useRef)(!0),n=(0,e.useCallback)(async(b=!1)=>{if(a){h(!0);try{let a=await fetch(`/api/agents/versions${b?"?refresh=1":""}`);if(!a.ok)throw Error(String(a.status));let d=await a.json();if(!(d&&"object"==typeof d&&Array.isArray(d.tools)&&Array.isArray(d.updatable)))throw Error("unexpected body");if(!m.current)return;c(d.tools),f(!1)}catch{if(!m.current)return;f(!0)}finally{m.current&&h(!1)}}},[a]),o=(0,e.useCallback)(async a=>{if(k)return;l(!0),j({tool:a,command:null,output:"",ok:null,previousVersion:null,installed:null,error:null});let b=a=>{m.current&&j(b=>b?{...b,ok:!1,error:a}:b)};try{let c=await fetch("/api/agents/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tool:a})});if(!c.ok||!c.body){let a=await c.json().catch(()=>null);b(a?.error??`Request failed (${c.status})`);return}let d=c.body.getReader(),e=new TextDecoder,f="",g=a=>{m.current&&j(b=>b?"plan"===a.type?{...b,command:a.command}:"output"===a.type?{...b,output:b.output+a.text}:{...b,ok:a.ok,previousVersion:a.previousVersion,installed:a.installed,error:a.error??null}:b)};for(;;){let{done:a,value:b}=await d.read();if(a)break;let c=(f+=e.decode(b,{stream:!0})).split("\n");for(let a of(f=c.pop()??"",c)){let b=x(a);b&&g(b)}}let h=x(f);h&&g(h)}catch(a){b(a instanceof Error?a.message:String(a))}finally{m.current&&l(!1),await n(!0)}},[k,n]);return{versions:b,isLoading:g,loadError:d,run:i,isUpdating:k,reload:n,update:o}}(!0),[p,q]=(0,e.useState)(0),r=function(a,b,c){let[d,f]=(0,e.useState)({});return d}(0,0,0),[s,t]=(0,e.useState)({}),[y,z]=(0,e.useState)(null),A=(0,e.useRef)(null),B=k?.ok===!0,C=(0,e.useCallback)(a=>(b??[]).filter(b=>b.cliTool===a&&r[b.id]),[b,r]),D=(0,e.useCallback)(async b=>{if(a){z(null);try{let c=new URLSearchParams({cliTool:b.cliTool,instance:b.id}),d=await fetch(`/api/worktrees/${a}/kill-session?${c.toString()}`,{method:"POST"});if(!d.ok&&404!==d.status)throw Error(String(d.status));t(a=>({...a,[b.id]:!0})),q(a=>a+1)}catch{z(g("agentUpdates.restartError"))}}},[a,g]),E=i&&!h?(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,d.jsx)(l.y$,{size:"sm"}),g("loadingPage")]}):j&&!h?(0,d.jsx)("div",{className:"text-sm text-danger-foreground","data-testid":"agent-updates-load-error",children:g("agentUpdates.loadError")}):(0,d.jsxs)("div",{className:"space-y-3","data-testid":"agent-updates",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{className:"text-sm font-medium text-foreground",children:g("agentUpdates.title")}),(0,d.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:g("agentUpdates.description")})]}),(0,d.jsx)("ul",{className:"space-y-2","data-testid":"agent-updates-rows",children:(h??[]).map(b=>{var c;let e=C(b.tool),f=b.updatable&&null!==b.installed;return(0,d.jsxs)("li",{className:"rounded-md border border-border bg-surface px-3 py-2","data-testid":`agent-updates-row-${b.tool}`,children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm text-foreground",children:(c=b.tool,(0,m.oo)(c)||c)}),(0,d.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`agent-updates-installed-${b.tool}`,children:b.installed?g("agentUpdates.installed",{version:b.installed}):g("agentUpdates.notInstalled")}),b.updateAvailable&&(0,d.jsx)("span",{className:"rounded bg-info-subtle px-1.5 py-0.5 text-xs text-info-foreground","data-testid":`agent-updates-available-${b.tool}`,children:g("agentUpdates.available",{version:b.latestVersion??""})}),b.dismissedInCodex&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`agent-updates-dismissed-${b.tool}`,children:g("agentUpdates.dismissed")}),f&&(0,d.jsxs)(l.$n,{size:"sm",className:"ml-auto",disabled:n,onClick:()=>void o(b.tool),"data-testid":`agent-updates-update-${b.tool}`,children:[(0,d.jsx)(u.A,{className:"h-4 w-4","aria-hidden":"true"}),n&&k?.tool===b.tool?g("agentUpdates.updating"):g("agentUpdates.update")]})]}),f&&e.length>0&&(0,d.jsxs)("div",{className:"mt-2 flex items-start gap-1 text-xs text-warning-foreground","data-testid":`agent-updates-restart-warning-${b.tool}`,children:[(0,d.jsx)(v.A,{className:"mt-0.5 h-3 w-3 shrink-0","aria-hidden":"true"}),(0,d.jsx)("span",{children:g("agentUpdates.restartWarning",{sessions:e.map(a=>a.alias).join(", ")})})]}),f&&0===e.length&&void 0===a&&(0,d.jsx)("p",{className:"mt-2 text-xs text-muted-foreground","data-testid":`agent-updates-restart-notice-${b.tool}`,children:g("agentUpdates.restartNotice")}),B&&k?.tool===b.tool&&e.map(a=>(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-2",children:[(0,d.jsxs)(l.$n,{size:"sm",variant:"ghost",disabled:s[a.id],onClick:()=>void D(a),"data-testid":`agent-updates-restart-${a.id}`,children:[(0,d.jsx)(w.A,{className:"h-4 w-4","aria-hidden":"true"}),g("agentUpdates.restart",{alias:a.alias})]}),s[a.id]&&(0,d.jsx)("span",{className:"text-xs text-muted-foreground",children:g("agentUpdates.restarted")})]},a.id))]},b.tool)})}),k&&(0,d.jsxs)("div",{className:"space-y-2","data-testid":"agent-updates-run",children:[k.command&&(0,d.jsx)("div",{className:"text-xs text-muted-foreground","data-testid":"agent-updates-command",children:g("agentUpdates.running",{command:k.command})}),k.output&&(0,d.jsx)("pre",{ref:A,"data-testid":"agent-updates-output",className:"max-h-48 overflow-auto whitespace-pre-wrap rounded-md bg-terminal-surface p-2 text-xs text-terminal-foreground",children:k.output}),!0===k.ok&&(0,d.jsx)("div",{className:"text-xs text-success-foreground","data-testid":"agent-updates-success",children:g("agentUpdates.succeeded",{from:k.previousVersion??"?",to:k.installed??"?"})}),!1===k.ok&&(0,d.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"agent-updates-failure",children:g("agentUpdates.failed",{error:k.error??""})})]}),y&&(0,d.jsx)("div",{className:"text-xs text-danger-foreground","data-testid":"agent-updates-restart-error",children:y})]});return"plain"===c?E:(0,d.jsx)(l.Zp,{children:E})}},70911:(a,b,c)=>{c.d(b,{$2:()=>g,B1:()=>n,If:()=>i,NP:()=>h,TR:()=>j,wp:()=>f});var d=c(61916);let e="commandmate.worktree.surfaceMode-",f="/api/settings/default-surface-mode";function g(a,b){return`${e}${a}-split-${b}`}function h(a){return`${e}${a}-mobile`}function i(a,b){}function j(a,b){let c=void 0===b?null:b;return c?(i(a,c),c):m()}let k=d.wf,l=new Set;function m(){return k}function n(a){if(!(0,d.jg)(a))return!1;let b=m()!==a;if(k=a,i("commandmate.settings.defaultSurfaceMode",a),b)for(let a of l)a();return b}}};
|