wherdr 1.2.0 → 1.3.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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{AgentView.DE2GDt4O.css → AgentView.C4YOwvZG.css} +1 -1
- package/.output/public/_nuxt/{BIA9pZvC.js → B6qBWHWB.js} +1 -1
- package/.output/public/_nuxt/BMIe8p_3.js +2 -0
- package/.output/public/_nuxt/BrAeJIZR.js +30 -0
- package/.output/public/_nuxt/C12eXl5z.js +1 -0
- package/.output/public/_nuxt/{DxO1TBoK.js → C2T9fQ4f.js} +1 -1
- package/.output/public/_nuxt/CYxHnMNH.js +83 -0
- package/.output/public/_nuxt/{D903WmCE.js → CctS2Xn6.js} +1 -1
- package/.output/public/_nuxt/{Bta8at9w.js → CiYar6hg.js} +1 -1
- package/.output/public/_nuxt/{CjKICX3g.js → Dwh-l2rQ.js} +11 -11
- package/.output/public/_nuxt/{e5N4AqCN.js → WLQjK8uJ.js} +41 -41
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/6466b0ab-7935-460c-abdf-2ea632dae6d0.json +1 -0
- package/.output/public/_nuxt/{entry.SHBiCXBL.css → entry.cKR16VqG.css} +1 -1
- package/.output/public/_nuxt/whFLy_Ne.js +23 -0
- package/.output/public/sw.js +1 -1
- package/.output/server/chunks/_/branding.mjs +1 -1
- package/.output/server/chunks/_/plugins.mjs +10 -2
- package/.output/server/chunks/_/worktrees.mjs +1 -1
- package/.output/server/chunks/_/ws.mjs +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +626 -436
- package/.output/server/chunks/raw/bump-homebrew.mjs +7 -0
- package/.output/server/chunks/raw/herdr-plugin.mjs +1 -1
- package/.output/server/chunks/routes/api/_..._.mjs +1 -0
- package/.output/server/chunks/routes/api/agents.post.mjs +1 -0
- package/.output/server/chunks/routes/api/ask-tab.post.mjs +1 -0
- package/.output/server/chunks/routes/api/attach.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/disable.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/lock-all.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/lock.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/login/options.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/login/verify.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/max-session.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/register/options.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/register/verify.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/changes.get.mjs +1 -0
- package/.output/server/chunks/routes/api/chat/image.get.mjs +1 -0
- package/.output/server/chunks/routes/api/chat.get.mjs +1 -0
- package/.output/server/chunks/routes/api/choose.post.mjs +1 -0
- package/.output/server/chunks/routes/api/claude-statusline.post.mjs +1 -0
- package/.output/server/chunks/routes/api/close/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/close.post.mjs +1 -0
- package/.output/server/chunks/routes/api/codex-update.post.mjs +1 -0
- package/.output/server/chunks/routes/api/commands.get.mjs +1 -0
- package/.output/server/chunks/routes/api/config.get.mjs +1 -0
- package/.output/server/chunks/routes/api/dirs.get.mjs +1 -0
- package/.output/server/chunks/routes/api/dismiss.post.mjs +1 -0
- package/.output/server/chunks/routes/api/effort.post.mjs +1 -0
- package/.output/server/chunks/routes/api/efforts.get.mjs +1 -0
- package/.output/server/chunks/routes/api/file.post.mjs +1 -0
- package/.output/server/chunks/routes/api/gitroot.get.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/input.post.mjs +1 -0
- package/.output/server/chunks/routes/api/interrupt.post.mjs +1 -0
- package/.output/server/chunks/routes/api/isgit.get.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/awake.get.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/awake.post.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/order.get.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/order.post.mjs +1 -0
- package/.output/server/chunks/routes/api/machine/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/menu.post.mjs +1 -0
- package/.output/server/chunks/routes/api/model.post.mjs +1 -0
- package/.output/server/chunks/routes/api/models.get.mjs +1 -0
- package/.output/server/chunks/routes/api/nav.post.mjs +1 -0
- package/.output/server/chunks/routes/api/onboarding.get.mjs +1 -0
- package/.output/server/chunks/routes/api/onboarding.post.mjs +1 -0
- package/.output/server/chunks/routes/api/phone.get.mjs +1 -0
- package/.output/server/chunks/routes/api/phone.post.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/actions.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/invoke.post.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/profiles.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/projects.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/projects.post.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/thread-limits.get.mjs +1 -0
- package/.output/server/chunks/routes/api/plugins/thread-limits.post.mjs +1 -0
- package/.output/server/chunks/routes/api/project/report.get.mjs +1 -0
- package/.output/server/chunks/routes/api/prompt.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/quiet.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/subscribe.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/test.post.mjs +1 -0
- package/.output/server/chunks/routes/api/push/unsubscribe.post.mjs +1 -0
- package/.output/server/chunks/routes/api/quotas.get.mjs +1 -0
- package/.output/server/chunks/routes/api/rename.post.mjs +1 -0
- package/.output/server/chunks/routes/api/requeue.post.mjs +1 -0
- package/.output/server/chunks/routes/api/restart.get.mjs +1 -0
- package/.output/server/chunks/routes/api/restart.post.mjs +1 -0
- package/.output/server/chunks/routes/api/reveal.post.mjs +1 -0
- package/.output/server/chunks/routes/api/screen-key.post.mjs +1 -0
- package/.output/server/chunks/routes/api/screen.get.mjs +8 -5
- package/.output/server/chunks/routes/api/search.get.mjs +2 -1
- package/.output/server/chunks/routes/api/seen.post.mjs +2 -1
- package/.output/server/chunks/routes/api/sessions.get.mjs +2 -1
- package/.output/server/chunks/routes/api/sessions.post.mjs +2 -1
- package/.output/server/chunks/routes/api/space.post.mjs +2 -1
- package/.output/server/chunks/routes/api/state.get.mjs +1 -0
- package/.output/server/chunks/routes/api/unqueue.post.mjs +2 -1
- package/.output/server/chunks/routes/api/update.get.mjs +3 -2
- package/.output/server/chunks/routes/api/upload.post.mjs +1 -0
- package/.output/server/chunks/routes/api/worktrees/remove.post.mjs +1 -0
- package/.output/server/chunks/routes/api/worktrees.get.mjs +1 -0
- package/.output/server/chunks/routes/favicon.ico.get.mjs +1 -0
- package/.output/server/chunks/routes/icons/_name_.get.mjs +2 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -2
- package/.output/server/chunks/routes/uploads/_...name_.get.mjs +2 -1
- package/.output/server/chunks/routes/ws/_..._.mjs +2 -1
- package/.output/server/chunks/routes/ws/events.mjs +2 -1
- package/.output/server/chunks/routes/ws/mirror.mjs +1 -1
- package/.output/server/chunks/routes/ws/term.mjs +2 -96
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +2 -1
- package/.output/server/package.json +1 -1
- package/README.md +107 -23
- package/bin/lib/brew.mjs +86 -0
- package/bin/lib/commands.mjs +32 -8
- package/bin/lib/core.mjs +7 -2
- package/package.json +1 -1
- package/.output/public/_nuxt/BDI8xNSb.js +0 -2
- package/.output/public/_nuxt/BevNMnQ2.js +0 -83
- package/.output/public/_nuxt/CA9mI3eg.js +0 -23
- package/.output/public/_nuxt/DBu2-cEy.js +0 -30
- package/.output/public/_nuxt/DJE_XMLO.js +0 -1
- package/.output/public/_nuxt/builds/meta/211609c0-be04-46c5-a6b0-566bc0c4a3dd.json +0 -1
|
@@ -19,6 +19,7 @@ import webpush from 'web-push';
|
|
|
19
19
|
import os from 'node:os';
|
|
20
20
|
import { spawn, execFile } from 'node:child_process';
|
|
21
21
|
import net from 'node:net';
|
|
22
|
+
import readline from 'node:readline';
|
|
22
23
|
import fs$1 from 'node:fs/promises';
|
|
23
24
|
import { fileURLToPath } from 'node:url';
|
|
24
25
|
import { verifyAuthenticationResponse, generateAuthenticationOptions, verifyRegistrationResponse, generateRegistrationOptions } from '@simplewebauthn/server';
|
|
@@ -8641,79 +8642,83 @@ async function dispose(driver) {
|
|
|
8641
8642
|
const _assets = {
|
|
8642
8643
|
["scripts:build-nerd-font.py"]: {
|
|
8643
8644
|
import: () => import('../raw/build-nerd-font.mjs').then(r => r.default || r),
|
|
8644
|
-
meta: {"type":"text/plain; charset=utf-8","etag":"\"13aa-ys9YUI0kyQcBWrUDXjdBVLF8Z3E\"","mtime":"2026-10-
|
|
8645
|
+
meta: {"type":"text/plain; charset=utf-8","etag":"\"13aa-ys9YUI0kyQcBWrUDXjdBVLF8Z3E\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8645
8646
|
},
|
|
8646
8647
|
["scripts:build-terminal-font.py"]: {
|
|
8647
8648
|
import: () => import('../raw/build-terminal-font.mjs').then(r => r.default || r),
|
|
8648
|
-
meta: {"type":"text/plain; charset=utf-8","etag":"\"cf5-BDqHg2xDFu+6dg84HBWtyBtrEoU\"","mtime":"2026-10-
|
|
8649
|
+
meta: {"type":"text/plain; charset=utf-8","etag":"\"cf5-BDqHg2xDFu+6dg84HBWtyBtrEoU\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8650
|
+
},
|
|
8651
|
+
["scripts:bump-homebrew.sh"]: {
|
|
8652
|
+
import: () => import('../raw/bump-homebrew.mjs').then(r => r.default || r),
|
|
8653
|
+
meta: {"type":"application/x-sh","etag":"\"61b-suAgb/6azMZO/UmEjog8x0wZsQA\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8649
8654
|
},
|
|
8650
8655
|
["scripts:check-leaks.mjs"]: {
|
|
8651
8656
|
import: () => import('../raw/check-leaks.mjs').then(r => r.default || r),
|
|
8652
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"35b3-41HZueHfw7xuicx4q83qwdTEpbc\"","mtime":"2026-10-
|
|
8657
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"35b3-41HZueHfw7xuicx4q83qwdTEpbc\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8653
8658
|
},
|
|
8654
8659
|
["scripts:dev.wherdr.open.plist"]: {
|
|
8655
8660
|
import: () => import('../raw/dev.wherdr.open.mjs').then(r => r.default || r),
|
|
8656
|
-
meta: {"type":"text/plain; charset=utf-8","etag":"\"1de-12VO2xq63mciP26rEzRh3cGfEkI\"","mtime":"2026-10-
|
|
8661
|
+
meta: {"type":"text/plain; charset=utf-8","etag":"\"1de-12VO2xq63mciP26rEzRh3cGfEkI\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8657
8662
|
},
|
|
8658
8663
|
["scripts:docker-entrypoint.sh"]: {
|
|
8659
8664
|
import: () => import('../raw/docker-entrypoint.mjs').then(r => r.default || r),
|
|
8660
|
-
meta: {"type":"application/x-sh","etag":"\"3f3-8om3/mMriIIJYO+YcdXNJsv8tkI\"","mtime":"2026-10-
|
|
8665
|
+
meta: {"type":"application/x-sh","etag":"\"3f3-8om3/mMriIIJYO+YcdXNJsv8tkI\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8661
8666
|
},
|
|
8662
8667
|
["scripts:herdr-plugin.sh"]: {
|
|
8663
8668
|
import: () => import('../raw/herdr-plugin.mjs').then(r => r.default || r),
|
|
8664
|
-
meta: {"type":"application/x-sh","etag":"\"
|
|
8669
|
+
meta: {"type":"application/x-sh","etag":"\"89ea-WMEExeYOqeXl5Lacbu/zP6mb8fY\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8665
8670
|
},
|
|
8666
8671
|
["scripts:install-claude-statusline.sh"]: {
|
|
8667
8672
|
import: () => import('../raw/install-claude-statusline.mjs').then(r => r.default || r),
|
|
8668
|
-
meta: {"type":"application/x-sh","etag":"\"db6-p7KGlvbZ+Qjt+JiT5yVtU4w3kfg\"","mtime":"2026-10-
|
|
8673
|
+
meta: {"type":"application/x-sh","etag":"\"db6-p7KGlvbZ+Qjt+JiT5yVtU4w3kfg\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8669
8674
|
},
|
|
8670
8675
|
["scripts:install-host-open.sh"]: {
|
|
8671
8676
|
import: () => import('../raw/install-host-open.mjs').then(r => r.default || r),
|
|
8672
|
-
meta: {"type":"application/x-sh","etag":"\"103a-/zplHeQSS471/Vz3quwajHmzFQs\"","mtime":"2026-10-
|
|
8677
|
+
meta: {"type":"application/x-sh","etag":"\"103a-/zplHeQSS471/Vz3quwajHmzFQs\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8673
8678
|
},
|
|
8674
8679
|
["scripts:pack-output.mjs"]: {
|
|
8675
8680
|
import: () => import('../raw/pack-output.mjs').then(r => r.default || r),
|
|
8676
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"54b-eU4eNNIxIecG1kwaLdtiTYODSSI\"","mtime":"2026-10-
|
|
8681
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"54b-eU4eNNIxIecG1kwaLdtiTYODSSI\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8677
8682
|
},
|
|
8678
8683
|
["scripts:reveal.sh"]: {
|
|
8679
8684
|
import: () => import('../raw/reveal.mjs').then(r => r.default || r),
|
|
8680
|
-
meta: {"type":"application/x-sh","etag":"\"72e-h/LTEU7exXdiR3GKqhj71UOwAqQ\"","mtime":"2026-10-
|
|
8685
|
+
meta: {"type":"application/x-sh","etag":"\"72e-h/LTEU7exXdiR3GKqhj71UOwAqQ\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8681
8686
|
},
|
|
8682
8687
|
["scripts:wherdr-open.sh"]: {
|
|
8683
8688
|
import: () => import('../raw/wherdr-open.mjs').then(r => r.default || r),
|
|
8684
|
-
meta: {"type":"application/x-sh","etag":"\"b5b-U5OyQk3hziU9KiUyB/1FT5TkOxk\"","mtime":"2026-10-
|
|
8689
|
+
meta: {"type":"application/x-sh","etag":"\"b5b-U5OyQk3hziU9KiUyB/1FT5TkOxk\"","mtime":"2026-10-08T11:43:41.732Z"}
|
|
8685
8690
|
},
|
|
8686
8691
|
["server:branding:favicon.ico"]: {
|
|
8687
8692
|
import: () => import('../raw/favicon.mjs').then(r => r.default || r),
|
|
8688
|
-
meta: {"type":"image/vnd.microsoft.icon","etag":"\"3aee-Oem7XTWv+9HEwv9u/3K5QcIjS3E\"","mtime":"2026-10-
|
|
8693
|
+
meta: {"type":"image/vnd.microsoft.icon","etag":"\"3aee-Oem7XTWv+9HEwv9u/3K5QcIjS3E\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8689
8694
|
},
|
|
8690
8695
|
["server:branding:icons:apple-touch-icon.png"]: {
|
|
8691
8696
|
import: () => import('../raw/apple-touch-icon.mjs').then(r => r.default || r),
|
|
8692
|
-
meta: {"type":"image/png","etag":"\"1f8-AVRrBnAhalXrGkFPGdvl0fM7DH8\"","mtime":"2026-10-
|
|
8697
|
+
meta: {"type":"image/png","etag":"\"1f8-AVRrBnAhalXrGkFPGdvl0fM7DH8\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8693
8698
|
},
|
|
8694
8699
|
["server:branding:icons:favicon-32.png"]: {
|
|
8695
8700
|
import: () => import('../raw/favicon-32.mjs').then(r => r.default || r),
|
|
8696
|
-
meta: {"type":"image/png","etag":"\"a3-hAEc+Ymq1aYS3kFLyZK/H18Pge8\"","mtime":"2026-10-
|
|
8701
|
+
meta: {"type":"image/png","etag":"\"a3-hAEc+Ymq1aYS3kFLyZK/H18Pge8\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8697
8702
|
},
|
|
8698
8703
|
["server:branding:icons:icon-192.png"]: {
|
|
8699
8704
|
import: () => import('../raw/icon-192.mjs').then(r => r.default || r),
|
|
8700
|
-
meta: {"type":"image/png","etag":"\"222-kioUoPaSCUaRhKKWw0PRtFbAhxk\"","mtime":"2026-10-
|
|
8705
|
+
meta: {"type":"image/png","etag":"\"222-kioUoPaSCUaRhKKWw0PRtFbAhxk\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8701
8706
|
},
|
|
8702
8707
|
["server:branding:icons:icon-512-maskable.png"]: {
|
|
8703
8708
|
import: () => import('../raw/icon-512-maskable.mjs').then(r => r.default || r),
|
|
8704
|
-
meta: {"type":"image/png","etag":"\"84b-mCXgbBkXk7sqOhmJ8hjp80SN3Qk\"","mtime":"2026-10-
|
|
8709
|
+
meta: {"type":"image/png","etag":"\"84b-mCXgbBkXk7sqOhmJ8hjp80SN3Qk\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8705
8710
|
},
|
|
8706
8711
|
["server:branding:icons:icon-512.png"]: {
|
|
8707
8712
|
import: () => import('../raw/icon-512.mjs').then(r => r.default || r),
|
|
8708
|
-
meta: {"type":"image/png","etag":"\"8fc-ZwRMqAqQZeLLx4iNTZxs09C4Q1I\"","mtime":"2026-10-
|
|
8713
|
+
meta: {"type":"image/png","etag":"\"8fc-ZwRMqAqQZeLLx4iNTZxs09C4Q1I\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8709
8714
|
},
|
|
8710
8715
|
["server:branding:icons:icon-maskable.svg"]: {
|
|
8711
8716
|
import: () => import('../raw/icon-maskable.mjs').then(r => r.default || r),
|
|
8712
|
-
meta: {"type":"image/svg+xml","etag":"\"4a1-7XtnuN5ZOwiwIjpgpj+/Rg9LssY\"","mtime":"2026-10-
|
|
8717
|
+
meta: {"type":"image/svg+xml","etag":"\"4a1-7XtnuN5ZOwiwIjpgpj+/Rg9LssY\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8713
8718
|
},
|
|
8714
8719
|
["server:branding:icons:icon.svg"]: {
|
|
8715
8720
|
import: () => import('../raw/icon.mjs').then(r => r.default || r),
|
|
8716
|
-
meta: {"type":"image/svg+xml","etag":"\"49c-O1XxkWwKTf6VBoC0i4TEPdGPsCw\"","mtime":"2026-10-
|
|
8721
|
+
meta: {"type":"image/svg+xml","etag":"\"49c-O1XxkWwKTf6VBoC0i4TEPdGPsCw\"","mtime":"2026-10-08T11:43:41.734Z"}
|
|
8717
8722
|
}
|
|
8718
8723
|
};
|
|
8719
8724
|
|
|
@@ -9616,7 +9621,7 @@ function _expandFromEnv(value) {
|
|
|
9616
9621
|
const _inlineRuntimeConfig = {
|
|
9617
9622
|
"app": {
|
|
9618
9623
|
"baseURL": "/",
|
|
9619
|
-
"buildId": "
|
|
9624
|
+
"buildId": "6466b0ab-7935-460c-abdf-2ea632dae6d0",
|
|
9620
9625
|
"buildAssetsDir": "/_nuxt/",
|
|
9621
9626
|
"cdnURL": ""
|
|
9622
9627
|
},
|
|
@@ -10084,7 +10089,7 @@ function cspForHtml(html, host) {
|
|
|
10084
10089
|
return CSP_BASE.replace("script-src 'self'", `script-src 'self' ${hashes.join(" ")}`.trim()).replace("connect-src 'self'", `connect-src 'self' ws://${host} wss://${host}`);
|
|
10085
10090
|
}
|
|
10086
10091
|
|
|
10087
|
-
const
|
|
10092
|
+
const _9as7ch5sSe9R7BrbrDE2GGZpuA6oP9uMAcL7iRtRgrw = defineNitroPlugin((nitroApp) => {
|
|
10088
10093
|
nitroApp.hooks.hook("render:response", (response, context) => {
|
|
10089
10094
|
if (typeof response.body !== "string" || !response.body.includes("<html")) return;
|
|
10090
10095
|
response.headers = { ...response.headers, "content-security-policy": cspForHtml(response.body, context.event.node.req.headers.host || "") };
|
|
@@ -11209,6 +11214,7 @@ const OMP_ENTER = ["\u23CE", "\u{F0311}", "Enter"];
|
|
|
11209
11214
|
const OMP_UP_DOWN = ["\u2191/\u2193", "Up/Down"];
|
|
11210
11215
|
const OMP_CURSOR = ["\u276F", "\uF054", ">"];
|
|
11211
11216
|
const OMP_SEARCH = ["\u{1F50D}", "\uF002", "[/]"];
|
|
11217
|
+
const OMP_CURRENT = ["\u25CF", "\uF111", "[x]"];
|
|
11212
11218
|
const OMP_SPINNER = "\u2801-\u28FF";
|
|
11213
11219
|
const OMP_ASCII_SPINNER = "\\-\\\\|/";
|
|
11214
11220
|
const ompAlt = (glyphs) => `(?:${glyphs.map((g) => g.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join("|")})`;
|
|
@@ -11744,10 +11750,10 @@ function inputVisible(text) {
|
|
|
11744
11750
|
return lines.some((l, i) => /^\s*›(\s|$)/.test(l) || /^\s*❯(\s|$)/.test(l) && /^\s*─{3,}/.test(lines[i - 1] || "") || /^╰─(\s|$)/.test(l) || bashInput$1(l, lines[i - 1]));
|
|
11745
11751
|
}
|
|
11746
11752
|
|
|
11747
|
-
const OMP_SELECTOR_OPEN =
|
|
11748
|
-
const
|
|
11753
|
+
const OMP_SELECTOR_OPEN = /(?:╭─|\+-)\s*Switch (?:Task )?Model\b/;
|
|
11754
|
+
const OMP_SELECTOR_FOOTER = new RegExp(`${ompAlt(OMP_ENTER)}\\s*use for (?:this session|Task subagents)|${ompAlt(OMP_UP_DOWN)} models\\b`);
|
|
11749
11755
|
function ompSelectorOnScreen(text) {
|
|
11750
|
-
return Boolean(text) && OMP_SELECTOR_OPEN.test(String(text)) &&
|
|
11756
|
+
return Boolean(text) && OMP_SELECTOR_OPEN.test(String(text)) && OMP_SELECTOR_FOOTER.test(String(text));
|
|
11751
11757
|
}
|
|
11752
11758
|
|
|
11753
11759
|
const cap = (s) => s ? s[0].toUpperCase() + s.slice(1) : s;
|
|
@@ -11932,17 +11938,23 @@ function parseModelMenu(text) {
|
|
|
11932
11938
|
effort
|
|
11933
11939
|
};
|
|
11934
11940
|
}
|
|
11935
|
-
const
|
|
11941
|
+
const OMP_FRAME_TOP = /^(?:╭─|\+-)\s*Switch (?:Task )?Model\b/;
|
|
11942
|
+
const OMP_FRAME_BOTTOM = /^(?:╰|\+-)/;
|
|
11943
|
+
const OMP_ROW = /^[│|](.*?)[│|](?:\s*[│|])?\s*$/;
|
|
11936
11944
|
const OMP_MODEL = /^(?:[a-z0-9][\w.-]*(?:\/[\w.-]+)+)/;
|
|
11937
11945
|
const OMP_OVERCTX = /⦸\s*(context>[^\s]+|context \d+[kKmM]?[^\s]*|[^\s].{0,60})$/;
|
|
11938
11946
|
const OMP_SEARCH_RE = new RegExp(`^${ompAlt(OMP_SEARCH)}\\s*>\\s*(.*)$`);
|
|
11939
11947
|
const OMP_CURSOR_RE = new RegExp(`^${ompAlt(OMP_CURSOR)}\\s*`);
|
|
11948
|
+
const OMP_CURRENT_RE = new RegExp(`${ompAlt(OMP_CURRENT)}\\s*$`);
|
|
11949
|
+
const OMP_CUT = /^[\w.\-/]+…/;
|
|
11950
|
+
const OMP_CURRENT_START = new RegExp(`^${ompAlt(OMP_CURRENT)}`);
|
|
11951
|
+
const OMP_CURRENT_ALL = new RegExp(ompAlt(OMP_CURRENT), "g");
|
|
11940
11952
|
function parseOmpSelector(text) {
|
|
11941
11953
|
if (!ompSelectorOnScreen(text)) return null;
|
|
11942
11954
|
const lines = String(text).replace(/\s+$/, "").split("\n");
|
|
11943
11955
|
let top = -1;
|
|
11944
11956
|
for (let i = lines.length - 1; i >= 0; i--) {
|
|
11945
|
-
if (
|
|
11957
|
+
if (OMP_FRAME_TOP.test(lines[i])) {
|
|
11946
11958
|
top = i;
|
|
11947
11959
|
break;
|
|
11948
11960
|
}
|
|
@@ -11950,7 +11962,7 @@ function parseOmpSelector(text) {
|
|
|
11950
11962
|
if (top < 0) return null;
|
|
11951
11963
|
const body = [];
|
|
11952
11964
|
for (const line of lines.slice(top + 1)) {
|
|
11953
|
-
if (
|
|
11965
|
+
if (OMP_FRAME_BOTTOM.test(line)) break;
|
|
11954
11966
|
const m = line.match(OMP_ROW);
|
|
11955
11967
|
if (!m) return null;
|
|
11956
11968
|
body.push(m[1].replace(/\s+$/, ""));
|
|
@@ -11960,6 +11972,7 @@ function parseOmpSelector(text) {
|
|
|
11960
11972
|
let cursor = 0;
|
|
11961
11973
|
let search = "";
|
|
11962
11974
|
let separator = null;
|
|
11975
|
+
let truncated = false;
|
|
11963
11976
|
for (const row of body) {
|
|
11964
11977
|
const raw = row.trim();
|
|
11965
11978
|
const q = raw.match(OMP_SEARCH_RE);
|
|
@@ -11971,12 +11984,13 @@ function parseOmpSelector(text) {
|
|
|
11971
11984
|
const t = (cut < 0 ? raw : raw.slice(0, cut)).trim();
|
|
11972
11985
|
const cur = OMP_CURSOR_RE.exec(t);
|
|
11973
11986
|
const model = (cur ? t.slice(cur[0].length) : t).trim();
|
|
11987
|
+
if (OMP_CUT.test(model)) truncated = true;
|
|
11974
11988
|
if (cur) {
|
|
11975
11989
|
const hit = model.match(OMP_MODEL);
|
|
11976
11990
|
if (hit) {
|
|
11977
11991
|
cursor = options.length;
|
|
11978
11992
|
const warn = model.slice(hit[0].length).trim().match(OMP_OVERCTX);
|
|
11979
|
-
options.push({ label: hit[0], hint: warn ? warn[1].trim() : null, current:
|
|
11993
|
+
options.push({ label: hit[0], hint: warn ? warn[1].trim() : null, current: OMP_CURRENT_RE.test(model) });
|
|
11980
11994
|
continue;
|
|
11981
11995
|
}
|
|
11982
11996
|
}
|
|
@@ -11988,7 +12002,7 @@ function parseOmpSelector(text) {
|
|
|
11988
12002
|
}
|
|
11989
12003
|
if (/^─{3,}/.test(t) && options.length) separator = options.length;
|
|
11990
12004
|
}
|
|
11991
|
-
return { options, cursor, search, separator, task };
|
|
12005
|
+
return { options, cursor, search, separator, task, truncated, width: [...lines[top].trimEnd()].length };
|
|
11992
12006
|
}
|
|
11993
12007
|
function ompSelectorCaption(text, id) {
|
|
11994
12008
|
if (!text || !id) return null;
|
|
@@ -11997,15 +12011,15 @@ function ompSelectorCaption(text, id) {
|
|
|
11997
12011
|
const candidates = [ompModelLabel(id), name.startsWith("claude-") ? `Claude ${ompModelLabel(id)}` : "", name];
|
|
11998
12012
|
for (let i = lines.length - 1; i >= 0; i--) {
|
|
11999
12013
|
const line = lines[i];
|
|
12000
|
-
if (
|
|
12001
|
-
const body = line.replace(
|
|
12014
|
+
if (!/^[│|]\s*\S/.test(line)) continue;
|
|
12015
|
+
const body = line.replace(/^[│|]\s*/, "");
|
|
12002
12016
|
const hit = candidates.find((c) => body.toLowerCase().startsWith(`${c.toLowerCase()} \xB7`));
|
|
12003
12017
|
if (!hit) continue;
|
|
12004
12018
|
const roles = [];
|
|
12005
12019
|
for (let k = i + 1; k < Math.min(i + 3, lines.length); k++) {
|
|
12006
|
-
const r = lines[k].replace(
|
|
12007
|
-
if (
|
|
12008
|
-
roles.push(...r.split("\xB7").map((s) => s.replace(
|
|
12020
|
+
const r = lines[k].replace(/^[│|]\s*/, "").replace(/\s*[│|][\s│|]*$/, "").trim();
|
|
12021
|
+
if (!OMP_CURRENT_START.test(r)) break;
|
|
12022
|
+
roles.push(...r.split("\xB7").map((s) => s.replace(OMP_CURRENT_ALL, "").replace(/\s*(?:[◕◒◍○]|\[)[\s\S]*$/, "").trim()).filter(Boolean));
|
|
12009
12023
|
}
|
|
12010
12024
|
return { name: body.split("\xB7")[0].trim(), roles };
|
|
12011
12025
|
}
|
|
@@ -14907,6 +14921,23 @@ function parseWaitScreen(text, { choices = false } = {}) {
|
|
|
14907
14921
|
return { kind, title: title ? title.slice(0, 200) : null, lines: body, actions };
|
|
14908
14922
|
}
|
|
14909
14923
|
|
|
14924
|
+
const ROW = /^\s*Settings((?:\s{2,}[A-Z][\w-]*)+)\s*$/;
|
|
14925
|
+
function tabsOfRow(line) {
|
|
14926
|
+
const m = ROW.exec(line);
|
|
14927
|
+
if (!m) return null;
|
|
14928
|
+
const tabs = m[1].trim().split(/\s{2,}/);
|
|
14929
|
+
return tabs.length >= 2 ? tabs : null;
|
|
14930
|
+
}
|
|
14931
|
+
function settingsRowIndex(lines) {
|
|
14932
|
+
return lines.findIndex((l) => tabsOfRow(l) !== null);
|
|
14933
|
+
}
|
|
14934
|
+
function settingsTabs(text) {
|
|
14935
|
+
if (!text) return null;
|
|
14936
|
+
const lines = String(text).split("\n");
|
|
14937
|
+
const i = settingsRowIndex(lines);
|
|
14938
|
+
return i < 0 ? null : tabsOfRow(lines[i]);
|
|
14939
|
+
}
|
|
14940
|
+
|
|
14910
14941
|
const SGR$1 = /\x1b\[([0-9;]*)m/g;
|
|
14911
14942
|
const OTHER_ESC = /\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;
|
|
14912
14943
|
const TOP = /^\s*▔{3,}(?:.*▔)?\s*$/;
|
|
@@ -15031,6 +15062,7 @@ function parseMenu(text) {
|
|
|
15031
15062
|
const region = rows.slice(top + 1);
|
|
15032
15063
|
while (region.length && !region[region.length - 1].text.trim()) region.pop();
|
|
15033
15064
|
if (!region.length) return null;
|
|
15065
|
+
if (settingsRowIndex(region.map((r) => r.text)) >= 0) return null;
|
|
15034
15066
|
const joined = (from) => parseLegend(region.slice(from).map((r) => r.text.trim()).join(" "));
|
|
15035
15067
|
let legendAt = -1;
|
|
15036
15068
|
let legend = null;
|
|
@@ -15334,6 +15366,12 @@ const QUEUED_TTL_MS = 60 * 60 * 1e3;
|
|
|
15334
15366
|
const norm$3 = (t) => String(t || "").replace(/\s+/g, " ").trim().toLowerCase();
|
|
15335
15367
|
const bashText = (t) => String(t || "").replace(/^\s*(?:!!?|\$\$?)\s*/, "");
|
|
15336
15368
|
const isOmpRun = (agent, text) => agent === "omp" && /^\s*(?:!|\$\$?\s)/.test(String(text || ""));
|
|
15369
|
+
function ompRunShown(agent, text, shell) {
|
|
15370
|
+
if (!shell || !isOmpRun(agent, text) || /^\s*\$/.test(text) !== Boolean(shell.python)) return false;
|
|
15371
|
+
const want = bashText(text).replace(/\s+/g, "").toLowerCase().slice(0, 80);
|
|
15372
|
+
const shown = String(shell.command || "").replace(/\s+/g, "").toLowerCase().slice(0, 80);
|
|
15373
|
+
return Boolean(want && shown) && (shown.startsWith(want) || shown.length >= 8 && want.startsWith(shown));
|
|
15374
|
+
}
|
|
15337
15375
|
function queuedDone(q, items, idle, now, agent) {
|
|
15338
15376
|
if (now - q.at > QUEUED_TTL_MS) return true;
|
|
15339
15377
|
if (idle && q.turnSeen && isOmpRun(agent, q.text)) return true;
|
|
@@ -15583,22 +15621,25 @@ function unansweredTurn(items, text) {
|
|
|
15583
15621
|
const wanted = msgText(text);
|
|
15584
15622
|
return (wanted ? sameMsg(wanted, last.text) : photosLanded(text, last)) ? last : null;
|
|
15585
15623
|
}
|
|
15624
|
+
const empty = (box) => !box || box === "!";
|
|
15586
15625
|
async function takeBackInterrupted(d) {
|
|
15626
|
+
var _a;
|
|
15587
15627
|
let box = "";
|
|
15588
|
-
for (let i = 0; i < 3 &&
|
|
15628
|
+
for (let i = 0; i < 3 && empty(box); i++) {
|
|
15589
15629
|
box = inputBox(await d.screen().catch(() => "")) || "";
|
|
15590
|
-
if (
|
|
15630
|
+
if (empty(box)) await d.sleep(250);
|
|
15591
15631
|
}
|
|
15592
|
-
if (
|
|
15632
|
+
if (empty(box)) return null;
|
|
15593
15633
|
const last = unansweredLast(await d.chat());
|
|
15594
|
-
|
|
15634
|
+
const mine = last && boxHolds(box, msgText(last.text)) ? last : (((_a = d.pending) == null ? void 0 : _a.call(d)) || []).map(msgText).filter((t) => boxHolds(box, t)).map((text) => ({ role: "user", text, ts: null }))[0];
|
|
15635
|
+
if (!mine) return null;
|
|
15595
15636
|
const lines = box.split("\n").length;
|
|
15596
15637
|
for (let i = 0; i < 2; i++) {
|
|
15597
|
-
if (i && !boxHolds(box, msgText(
|
|
15638
|
+
if (i && !boxHolds(box, msgText(mine.text))) return null;
|
|
15598
15639
|
await d.keys(clearKeys(lines));
|
|
15599
15640
|
await d.sleep(150);
|
|
15600
15641
|
box = inputBox(await d.screen().catch(() => "")) || "";
|
|
15601
|
-
if (
|
|
15642
|
+
if (empty(box)) return mine;
|
|
15602
15643
|
}
|
|
15603
15644
|
return null;
|
|
15604
15645
|
}
|
|
@@ -16295,6 +16336,133 @@ async function readUpload(name) {
|
|
|
16295
16336
|
return { type: ext === "jpg" ? "image/jpeg" : `image/${ext}`, body: await fsp$2.readFile(path$1.join(UPLOAD_DIR, name)) };
|
|
16296
16337
|
}
|
|
16297
16338
|
|
|
16339
|
+
const clampInt = (v, lo, hi, dflt) => {
|
|
16340
|
+
const n = parseInt(String(v), 10);
|
|
16341
|
+
return Number.isFinite(n) ? Math.min(hi, Math.max(lo, n)) : dflt;
|
|
16342
|
+
};
|
|
16343
|
+
function openTerm(ws, url) {
|
|
16344
|
+
const pane = url.searchParams.get("pane") || "";
|
|
16345
|
+
if (!PANE_RE.test(pane)) {
|
|
16346
|
+
ws.close(4400, "Invalid pane");
|
|
16347
|
+
return null;
|
|
16348
|
+
}
|
|
16349
|
+
const machine = machineOfPane(pane);
|
|
16350
|
+
if (!machine || !machine.sock()) {
|
|
16351
|
+
ws.send(JSON.stringify({ type: "terminal.closed", reason: machine ? fmt("{machine} is unreachable", { machine: machine.label }) : "unknown machine", code: machine ? "unreachable" : "unknown_machine", machine: machine == null ? void 0 : machine.label }));
|
|
16352
|
+
ws.close(4503, "machine unreachable");
|
|
16353
|
+
return null;
|
|
16354
|
+
}
|
|
16355
|
+
const cols = clampInt(url.searchParams.get("cols"), 10, 400, 80);
|
|
16356
|
+
const rows = clampInt(url.searchParams.get("rows"), 5, 200, 24);
|
|
16357
|
+
const args = ["terminal", "session", "control", splitId(pane).local, "--cols", String(cols), "--rows", String(rows)];
|
|
16358
|
+
if (url.searchParams.get("takeover") === "1") args.push("--takeover");
|
|
16359
|
+
const child = machine.spawnHerdr(args);
|
|
16360
|
+
const sess = { pane, visible: true };
|
|
16361
|
+
termSessions.add(sess);
|
|
16362
|
+
log(`term ${pane} opened ${cols}x${rows}${args.includes("--takeover") ? " (takeover)" : ""}${machine.local ? "" : ` on ${machine.label}`}`);
|
|
16363
|
+
readline.createInterface({ input: child.stdout }).on("line", (line) => {
|
|
16364
|
+
if (ws.isOpen()) ws.send(line);
|
|
16365
|
+
});
|
|
16366
|
+
readline.createInterface({ input: child.stderr }).on("line", (line) => {
|
|
16367
|
+
log(`term ${pane} stderr: ${line}`);
|
|
16368
|
+
if (ws.isOpen()) ws.send(JSON.stringify({ type: "herdr.stderr", message: line }));
|
|
16369
|
+
});
|
|
16370
|
+
child.on("error", (e) => {
|
|
16371
|
+
if (ws.isOpen()) ws.send(JSON.stringify({ type: "terminal.closed", reason: `herdr: ${e.message}` }));
|
|
16372
|
+
ws.close(4500, "herdr error");
|
|
16373
|
+
});
|
|
16374
|
+
child.on("exit", (code) => {
|
|
16375
|
+
termSessions.delete(sess);
|
|
16376
|
+
if (ws.isOpen()) ws.close(4e3, `herdr exit ${code}`);
|
|
16377
|
+
});
|
|
16378
|
+
child.stdin.on("error", () => {
|
|
16379
|
+
});
|
|
16380
|
+
const toChild = (obj) => {
|
|
16381
|
+
if (child.stdin.writable) child.stdin.write(JSON.stringify(obj) + "\n");
|
|
16382
|
+
};
|
|
16383
|
+
return {
|
|
16384
|
+
onMessage(raw) {
|
|
16385
|
+
let m;
|
|
16386
|
+
try {
|
|
16387
|
+
m = JSON.parse(raw);
|
|
16388
|
+
} catch {
|
|
16389
|
+
return;
|
|
16390
|
+
}
|
|
16391
|
+
switch (m && m.type) {
|
|
16392
|
+
case "terminal.input":
|
|
16393
|
+
if (typeof m.text === "string" && m.text.length <= 65536) toChild({ type: "terminal.input", text: m.text });
|
|
16394
|
+
else if (typeof m.bytes === "string" && m.bytes.length <= 9e4) toChild({ type: "terminal.input", bytes: m.bytes });
|
|
16395
|
+
break;
|
|
16396
|
+
case "terminal.resize":
|
|
16397
|
+
toChild({ type: "terminal.resize", cols: clampInt(m.cols, 10, 400, cols), rows: clampInt(m.rows, 5, 200, rows) });
|
|
16398
|
+
break;
|
|
16399
|
+
case "terminal.scroll":
|
|
16400
|
+
if (m.direction === "up" || m.direction === "down") {
|
|
16401
|
+
toChild({ type: "terminal.scroll", direction: m.direction, lines: clampInt(m.lines, 1, 500, 3) });
|
|
16402
|
+
}
|
|
16403
|
+
break;
|
|
16404
|
+
case "keys":
|
|
16405
|
+
if (Array.isArray(m.keys) && m.keys.length <= 32 && m.keys.every((k) => typeof k === "string" && k.length <= 24)) {
|
|
16406
|
+
herdr("pane.send_input", { pane_id: pane, keys: m.keys }).catch((e) => ws.isOpen() && ws.send(JSON.stringify({ type: "web.error", code: e.code, message: e.message })));
|
|
16407
|
+
}
|
|
16408
|
+
break;
|
|
16409
|
+
// Pasted text, as Herdr's pane input: omp receives it as a paste and
|
|
16410
|
+
// turns an image path into an image (typed through wherdr's xterm, which
|
|
16411
|
+
// never learns the program's bracketed paste mode, it stays text).
|
|
16412
|
+
case "paste":
|
|
16413
|
+
if (typeof m.text === "string" && m.text && m.text.length <= 65536) {
|
|
16414
|
+
herdr("pane.send_input", { pane_id: pane, text: m.text }).catch((e) => ws.isOpen() && ws.send(JSON.stringify({ type: "web.error", code: e.code, message: e.message })));
|
|
16415
|
+
}
|
|
16416
|
+
break;
|
|
16417
|
+
case "visibility":
|
|
16418
|
+
sess.visible = Boolean(m.visible);
|
|
16419
|
+
break;
|
|
16420
|
+
}
|
|
16421
|
+
},
|
|
16422
|
+
onClose() {
|
|
16423
|
+
termSessions.delete(sess);
|
|
16424
|
+
toChild({ type: "terminal.release" });
|
|
16425
|
+
child.stdin.end();
|
|
16426
|
+
setTimeout(() => {
|
|
16427
|
+
if (child.exitCode === null) child.kill("SIGTERM");
|
|
16428
|
+
}, 1500);
|
|
16429
|
+
}
|
|
16430
|
+
};
|
|
16431
|
+
}
|
|
16432
|
+
function resizePane(pane, cols, rows) {
|
|
16433
|
+
const machine = machineOfPane(pane);
|
|
16434
|
+
if (!machine || !machine.sock()) return Promise.resolve(false);
|
|
16435
|
+
const child = machine.spawnHerdr(["terminal", "session", "control", splitId(pane).local, "--cols", String(cols), "--rows", String(rows)]);
|
|
16436
|
+
child.stdin.on("error", () => {
|
|
16437
|
+
});
|
|
16438
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
16439
|
+
let done = false;
|
|
16440
|
+
const finish = (ok) => {
|
|
16441
|
+
if (done) return;
|
|
16442
|
+
done = true;
|
|
16443
|
+
clearTimeout(timer);
|
|
16444
|
+
if (child.stdin.writable) child.stdin.write(JSON.stringify({ type: "terminal.release" }) + "\n");
|
|
16445
|
+
child.stdin.end();
|
|
16446
|
+
setTimeout(() => {
|
|
16447
|
+
if (child.exitCode === null) child.kill("SIGTERM");
|
|
16448
|
+
}, 1500);
|
|
16449
|
+
log(`term ${pane} ${ok ? `resized to ${cols}x${rows}` : "resize refused"}`);
|
|
16450
|
+
resolve(ok);
|
|
16451
|
+
};
|
|
16452
|
+
const timer = setTimeout(() => finish(false), 5e3);
|
|
16453
|
+
readline.createInterface({ input: child.stdout }).on("line", (line) => {
|
|
16454
|
+
let m = null;
|
|
16455
|
+
try {
|
|
16456
|
+
m = JSON.parse(line);
|
|
16457
|
+
} catch {
|
|
16458
|
+
}
|
|
16459
|
+
finish((m == null ? void 0 : m.type) === "terminal.frame");
|
|
16460
|
+
});
|
|
16461
|
+
child.on("error", () => finish(false));
|
|
16462
|
+
child.on("exit", () => finish(false));
|
|
16463
|
+
return promise;
|
|
16464
|
+
}
|
|
16465
|
+
|
|
16298
16466
|
const overrides = /* @__PURE__ */ new Map();
|
|
16299
16467
|
const observedEfforts = /* @__PURE__ */ new Map();
|
|
16300
16468
|
async function fallbackModel(p) {
|
|
@@ -16568,7 +16736,9 @@ async function closeOmpSelector(paneId) {
|
|
|
16568
16736
|
await sleep(400);
|
|
16569
16737
|
}
|
|
16570
16738
|
}
|
|
16739
|
+
const OMP_SELECTOR_COLS = 160;
|
|
16571
16740
|
async function openOmpSelector(p) {
|
|
16741
|
+
var _a, _b, _c;
|
|
16572
16742
|
await closeOmpSelector(p.id);
|
|
16573
16743
|
await closePanel(p.id).catch(() => false);
|
|
16574
16744
|
await herdr("pane.send_input", { pane_id: p.id, keys: ["alt+p"] });
|
|
@@ -16581,7 +16751,21 @@ async function openOmpSelector(p) {
|
|
|
16581
16751
|
await closeOmpSelector(p.id);
|
|
16582
16752
|
throw new HerdrError("no_menu", "omp\u2019s model selector did not show up");
|
|
16583
16753
|
}
|
|
16584
|
-
return s
|
|
16754
|
+
if (!s.truncated) return { s, restore: async () => {
|
|
16755
|
+
} };
|
|
16756
|
+
const cols = s.width;
|
|
16757
|
+
const rows = Number((_c = (_b = (_a = await herdr("pane.get", { pane_id: p.id }).catch(() => null)) == null ? void 0 : _a.pane) == null ? void 0 : _b.scroll) == null ? void 0 : _c.viewport_rows) || 40;
|
|
16758
|
+
const restore = async () => {
|
|
16759
|
+
await resizePane(p.id, cols, rows);
|
|
16760
|
+
};
|
|
16761
|
+
const wide = await resizePane(p.id, OMP_SELECTOR_COLS, rows) ? await waitOmpSelector(p.id, (x) => !x.truncated && !x.task, 4e3) : null;
|
|
16762
|
+
if (!wide) {
|
|
16763
|
+
await closeOmpSelector(p.id);
|
|
16764
|
+
await restore();
|
|
16765
|
+
throw new HerdrError("narrow", "The terminal is too narrow for omp\u2019s model selector \u2014 close wherdr\u2019s terminal or widen the pane, then try again.");
|
|
16766
|
+
}
|
|
16767
|
+
log(`omp selector ${p.id}: pane widened from ${cols} columns`);
|
|
16768
|
+
return { s: wide, restore };
|
|
16585
16769
|
}
|
|
16586
16770
|
async function waitOmpModel(p, id, since) {
|
|
16587
16771
|
const until = Date.now() + 4e3;
|
|
@@ -16598,7 +16782,8 @@ async function ompSetModel(paneId, wanted) {
|
|
|
16598
16782
|
return withPane(paneId, async (p) => {
|
|
16599
16783
|
var _a, _b;
|
|
16600
16784
|
const started = Date.now();
|
|
16601
|
-
|
|
16785
|
+
const open = await openOmpSelector(p);
|
|
16786
|
+
let s = open.s;
|
|
16602
16787
|
try {
|
|
16603
16788
|
const rank = (sel) => sel.options.findIndex((o) => o.label === id);
|
|
16604
16789
|
let at = rank(s);
|
|
@@ -16634,6 +16819,8 @@ async function ompSetModel(paneId, wanted) {
|
|
|
16634
16819
|
await closeOmpSelector(p.id).catch(() => {
|
|
16635
16820
|
});
|
|
16636
16821
|
throw e;
|
|
16822
|
+
} finally {
|
|
16823
|
+
await open.restore();
|
|
16637
16824
|
}
|
|
16638
16825
|
const text = await screen(p.id).catch(() => "");
|
|
16639
16826
|
const caption = ompSelectorCaption(text, id);
|
|
@@ -16650,14 +16837,7 @@ async function ompListModels(p, refresh) {
|
|
|
16650
16837
|
const key = `omp|${((_a = machineOfPane(p.id)) == null ? void 0 : _a.key) || ""}`;
|
|
16651
16838
|
const hit = listCache.get(key);
|
|
16652
16839
|
if (hit && !refresh && Date.now() - hit.at < LIST_TTL_MS) return hit;
|
|
16653
|
-
|
|
16654
|
-
try {
|
|
16655
|
-
s = await openOmpSelector(p);
|
|
16656
|
-
} catch (e) {
|
|
16657
|
-
await closeOmpSelector(p.id).catch(() => {
|
|
16658
|
-
});
|
|
16659
|
-
throw e;
|
|
16660
|
-
}
|
|
16840
|
+
const { s, restore } = await openOmpSelector(p);
|
|
16661
16841
|
try {
|
|
16662
16842
|
const options = s.options.map((o) => ({ label: o.label, hint: o.hint, current: o.current, isDefault: false }));
|
|
16663
16843
|
const list = { agent: "omp", options, at: Date.now() };
|
|
@@ -16667,6 +16847,7 @@ async function ompListModels(p, refresh) {
|
|
|
16667
16847
|
} finally {
|
|
16668
16848
|
await closeOmpSelector(p.id).catch(() => {
|
|
16669
16849
|
});
|
|
16850
|
+
await restore();
|
|
16670
16851
|
}
|
|
16671
16852
|
}
|
|
16672
16853
|
async function codexEffortMenu(p, model) {
|
|
@@ -16884,12 +17065,13 @@ function compareVersions(a, b) {
|
|
|
16884
17065
|
return 0;
|
|
16885
17066
|
}
|
|
16886
17067
|
function installMode(env) {
|
|
16887
|
-
return env === "docker" || env === "docker-build" || env === "npm" ? env : "native";
|
|
17068
|
+
return env === "docker" || env === "docker-build" || env === "npm" || env === "brew" ? env : "native";
|
|
16888
17069
|
}
|
|
16889
17070
|
function updateCommand(mode) {
|
|
16890
17071
|
if (mode === "docker") return "docker compose pull && docker compose up -d";
|
|
16891
17072
|
if (mode === "docker-build") return "git pull && docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build";
|
|
16892
17073
|
if (mode === "npm") return "npx wherdr@latest";
|
|
17074
|
+
if (mode === "brew") return "brew upgrade wherdr";
|
|
16893
17075
|
return "git pull && npm ci && npm run build";
|
|
16894
17076
|
}
|
|
16895
17077
|
|
|
@@ -17745,7 +17927,8 @@ async function choicesFor(p, rev, strict, watch = false) {
|
|
|
17745
17927
|
askChecks.set(p.id, checks);
|
|
17746
17928
|
choices = completeClaudeAsk(choices, await transcripts.pendingClaudeQuestions(p).catch(() => []), checks);
|
|
17747
17929
|
} else if (!choices) askChecks.delete(p.id);
|
|
17748
|
-
|
|
17930
|
+
const settings = p.agent === "claude" && settingsTabs(text) !== null;
|
|
17931
|
+
out = { choices, screen: menu || settings ? null : parseWaitScreen(text, { choices: Boolean(choices) }), menu };
|
|
17749
17932
|
noteScreen(p.id, p.agent, text);
|
|
17750
17933
|
if (choices && (choices.detail || isPermissionQuestion(choices.question))) {
|
|
17751
17934
|
const named = p.agent === "omp" && choices.detail && choices.detail.tool !== "tool" ? choices.detail.tool : null;
|
|
@@ -18017,7 +18200,8 @@ function takeBackFromClaude(p) {
|
|
|
18017
18200
|
await herdr("pane.send_input", { pane_id: p.id, keys });
|
|
18018
18201
|
},
|
|
18019
18202
|
chat: async () => (await transcripts.chat(p, { fresh: true })).items || [],
|
|
18020
|
-
sleep
|
|
18203
|
+
sleep,
|
|
18204
|
+
pending: () => (queued.get(p.id) || []).map((q) => q.text)
|
|
18021
18205
|
}).catch(() => null);
|
|
18022
18206
|
}
|
|
18023
18207
|
async function cancelTurn(p, text) {
|
|
@@ -18233,7 +18417,7 @@ function paneCommand(id) {
|
|
|
18233
18417
|
return (c == null ? void 0 : c.cmd) || "";
|
|
18234
18418
|
}
|
|
18235
18419
|
async function enrich(next, snap, machine) {
|
|
18236
|
-
var _a2, _b2;
|
|
18420
|
+
var _a2, _b2, _c;
|
|
18237
18421
|
const firstSnapshot = !seenMachines.has(machine);
|
|
18238
18422
|
const prevStatus = new Map((((_a2 = mstates.get(machine)) == null ? void 0 : _a2.panes) || []).map((p) => [p.id, p.status || void 0]));
|
|
18239
18423
|
const live = new Set(next.panes.map((p) => p.id));
|
|
@@ -18268,8 +18452,14 @@ async function enrich(next, snap, machine) {
|
|
|
18268
18452
|
}
|
|
18269
18453
|
if (queued.has(p.id)) {
|
|
18270
18454
|
reconcileQueued(p);
|
|
18271
|
-
const list = queued.get(p.id);
|
|
18272
18455
|
const before = findPane(p.id);
|
|
18456
|
+
const run = p.agent === "omp" ? (_c = ompStatuses.get(p.id)) == null ? void 0 : _c.shell : null;
|
|
18457
|
+
if (run) {
|
|
18458
|
+
const left = queued.get(p.id).filter((q) => q.held || q.failed || !ompRunShown(p.agent, q.text, run));
|
|
18459
|
+
if (left.length) queued.set(p.id, left);
|
|
18460
|
+
else queued.delete(p.id);
|
|
18461
|
+
}
|
|
18462
|
+
const list = queued.get(p.id);
|
|
18273
18463
|
const menu = Boolean(before && (before.menu || before.prompt || before.screen)) || restarting(p.id);
|
|
18274
18464
|
if (list && TURN.has(p.status || "")) {
|
|
18275
18465
|
for (const q of list) if (!q.held && !q.failed) q.turnSeen = true;
|
|
@@ -19025,7 +19215,7 @@ async function cleanAttachments() {
|
|
|
19025
19215
|
}
|
|
19026
19216
|
}
|
|
19027
19217
|
|
|
19028
|
-
const
|
|
19218
|
+
const _mZt23IdRC2vLuqDtWT6mb7m9BgHXq3U5QrnQ7Z5Hc4c = defineNitroPlugin((nitroApp) => {
|
|
19029
19219
|
initVapid();
|
|
19030
19220
|
startMachines();
|
|
19031
19221
|
startPolling();
|
|
@@ -19047,402 +19237,402 @@ const _j1IKI8flVwGEZOOSOqRNHwZRlp2DKLJYi8K0AOh5cWI = defineNitroPlugin((nitroApp
|
|
|
19047
19237
|
});
|
|
19048
19238
|
|
|
19049
19239
|
const plugins = [
|
|
19050
|
-
|
|
19051
|
-
|
|
19240
|
+
_9as7ch5sSe9R7BrbrDE2GGZpuA6oP9uMAcL7iRtRgrw,
|
|
19241
|
+
_mZt23IdRC2vLuqDtWT6mb7m9BgHXq3U5QrnQ7Z5Hc4c
|
|
19052
19242
|
];
|
|
19053
19243
|
|
|
19054
19244
|
const assets = {
|
|
19055
|
-
"/manifest.webmanifest": {
|
|
19056
|
-
"type": "application/manifest+json",
|
|
19057
|
-
"etag": "\"26e-ykoYuj4V8la457yChW3oQTur8RU\"",
|
|
19058
|
-
"mtime": "2026-10-08T05:19:35.697Z",
|
|
19059
|
-
"size": 622,
|
|
19060
|
-
"path": "../public/manifest.webmanifest"
|
|
19061
|
-
},
|
|
19062
19245
|
"/manifest-en.webmanifest": {
|
|
19063
19246
|
"type": "application/manifest+json",
|
|
19064
19247
|
"etag": "\"260-q1JnCK0/ecdKwgeTve6N4I6/mWI\"",
|
|
19065
|
-
"mtime": "2026-10-
|
|
19248
|
+
"mtime": "2026-10-08T11:44:03.930Z",
|
|
19066
19249
|
"size": 608,
|
|
19067
19250
|
"path": "../public/manifest-en.webmanifest"
|
|
19068
19251
|
},
|
|
19252
|
+
"/manifest.webmanifest": {
|
|
19253
|
+
"type": "application/manifest+json",
|
|
19254
|
+
"etag": "\"26e-ykoYuj4V8la457yChW3oQTur8RU\"",
|
|
19255
|
+
"mtime": "2026-10-08T11:44:03.930Z",
|
|
19256
|
+
"size": 622,
|
|
19257
|
+
"path": "../public/manifest.webmanifest"
|
|
19258
|
+
},
|
|
19069
19259
|
"/sw.js": {
|
|
19070
19260
|
"type": "text/javascript; charset=utf-8",
|
|
19071
|
-
"etag": "\"1b1d-
|
|
19072
|
-
"mtime": "2026-10-
|
|
19261
|
+
"etag": "\"1b1d-uKe7we3azu1ltb6U6uThnVqkUn4\"",
|
|
19262
|
+
"mtime": "2026-10-08T11:44:04.183Z",
|
|
19073
19263
|
"size": 6941,
|
|
19074
19264
|
"path": "../public/sw.js"
|
|
19075
19265
|
},
|
|
19076
|
-
"/_nuxt/AgentView.
|
|
19266
|
+
"/_nuxt/AgentView.C4YOwvZG.css": {
|
|
19077
19267
|
"type": "text/css; charset=utf-8",
|
|
19078
|
-
"etag": "\"15c8-
|
|
19079
|
-
"mtime": "2026-10-
|
|
19268
|
+
"etag": "\"15c8-yoJUdtWy2mP7U+kxJ717a6Bzxgg\"",
|
|
19269
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19080
19270
|
"size": 5576,
|
|
19081
|
-
"path": "../public/_nuxt/AgentView.
|
|
19271
|
+
"path": "../public/_nuxt/AgentView.C4YOwvZG.css"
|
|
19272
|
+
},
|
|
19273
|
+
"/_nuxt/B6qBWHWB.js": {
|
|
19274
|
+
"type": "text/javascript; charset=utf-8",
|
|
19275
|
+
"etag": "\"13f-jMtJt8dAqnEh2SAOR1babBORdK4\"",
|
|
19276
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19277
|
+
"size": 319,
|
|
19278
|
+
"path": "../public/_nuxt/B6qBWHWB.js"
|
|
19082
19279
|
},
|
|
19083
19280
|
"/_nuxt/BDNMzG2s.js": {
|
|
19084
19281
|
"type": "text/javascript; charset=utf-8",
|
|
19085
19282
|
"etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
|
|
19086
|
-
"mtime": "2026-10-
|
|
19283
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19087
19284
|
"size": 84,
|
|
19088
19285
|
"path": "../public/_nuxt/BDNMzG2s.js"
|
|
19089
19286
|
},
|
|
19090
|
-
"/_nuxt/BIA9pZvC.js": {
|
|
19091
|
-
"type": "text/javascript; charset=utf-8",
|
|
19092
|
-
"etag": "\"13f-NoN+8Vp/c0xdgK1iiW/Bqymn/do\"",
|
|
19093
|
-
"mtime": "2026-10-08T05:19:35.680Z",
|
|
19094
|
-
"size": 319,
|
|
19095
|
-
"path": "../public/_nuxt/BIA9pZvC.js"
|
|
19096
|
-
},
|
|
19097
19287
|
"/_nuxt/Bd17z0YL.js": {
|
|
19098
19288
|
"type": "text/javascript; charset=utf-8",
|
|
19099
19289
|
"etag": "\"1615-CPDn06/EO3pj6KudXz5uMZ0FkhI\"",
|
|
19100
|
-
"mtime": "2026-10-
|
|
19290
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19101
19291
|
"size": 5653,
|
|
19102
19292
|
"path": "../public/_nuxt/Bd17z0YL.js"
|
|
19103
19293
|
},
|
|
19104
|
-
"/_nuxt/BDI8xNSb.js": {
|
|
19105
|
-
"type": "text/javascript; charset=utf-8",
|
|
19106
|
-
"etag": "\"1f353-wYwwIE3KS/qMMoVM1p1ncJ9AdJQ\"",
|
|
19107
|
-
"mtime": "2026-10-08T05:19:35.680Z",
|
|
19108
|
-
"size": 127827,
|
|
19109
|
-
"path": "../public/_nuxt/BDI8xNSb.js"
|
|
19110
|
-
},
|
|
19111
|
-
"/_nuxt/BevNMnQ2.js": {
|
|
19112
|
-
"type": "text/javascript; charset=utf-8",
|
|
19113
|
-
"etag": "\"166b4-tXMxeNoORdENHrzcNn/1Wv5PgzA\"",
|
|
19114
|
-
"mtime": "2026-10-08T05:19:35.684Z",
|
|
19115
|
-
"size": 91828,
|
|
19116
|
-
"path": "../public/_nuxt/BevNMnQ2.js"
|
|
19117
|
-
},
|
|
19118
19294
|
"/_nuxt/BpQH8Ho1.js": {
|
|
19119
19295
|
"type": "text/javascript; charset=utf-8",
|
|
19120
19296
|
"etag": "\"e3-flLwB9P4XX6B82smMHA/xJ0MHtI\"",
|
|
19121
|
-
"mtime": "2026-10-
|
|
19297
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19122
19298
|
"size": 227,
|
|
19123
19299
|
"path": "../public/_nuxt/BpQH8Ho1.js"
|
|
19124
19300
|
},
|
|
19125
|
-
"/_nuxt/
|
|
19301
|
+
"/_nuxt/BMIe8p_3.js": {
|
|
19126
19302
|
"type": "text/javascript; charset=utf-8",
|
|
19127
|
-
"etag": "\"
|
|
19128
|
-
"mtime": "2026-10-
|
|
19129
|
-
"size":
|
|
19130
|
-
"path": "../public/_nuxt/
|
|
19303
|
+
"etag": "\"1f34c-xbnpB4ou/Yo+mnIWUPmKT1dw6kg\"",
|
|
19304
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19305
|
+
"size": 127820,
|
|
19306
|
+
"path": "../public/_nuxt/BMIe8p_3.js"
|
|
19131
19307
|
},
|
|
19132
|
-
"/_nuxt/
|
|
19308
|
+
"/_nuxt/C12eXl5z.js": {
|
|
19133
19309
|
"type": "text/javascript; charset=utf-8",
|
|
19134
|
-
"etag": "\"
|
|
19135
|
-
"mtime": "2026-10-
|
|
19136
|
-
"size":
|
|
19137
|
-
"path": "../public/_nuxt/
|
|
19310
|
+
"etag": "\"3743-LHJuwpFjgipbDnhMaCyj/9CAzuY\"",
|
|
19311
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19312
|
+
"size": 14147,
|
|
19313
|
+
"path": "../public/_nuxt/C12eXl5z.js"
|
|
19314
|
+
},
|
|
19315
|
+
"/_nuxt/C2T9fQ4f.js": {
|
|
19316
|
+
"type": "text/javascript; charset=utf-8",
|
|
19317
|
+
"etag": "\"238-ULCQ+lAhpp4nPDbIDScqd3xGFLs\"",
|
|
19318
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19319
|
+
"size": 568,
|
|
19320
|
+
"path": "../public/_nuxt/C2T9fQ4f.js"
|
|
19138
19321
|
},
|
|
19139
19322
|
"/_nuxt/CWwyK2XK.js": {
|
|
19140
19323
|
"type": "text/javascript; charset=utf-8",
|
|
19141
19324
|
"etag": "\"7e5e-4BG2J9cvS3sx6WQ360LFqNaThyA\"",
|
|
19142
|
-
"mtime": "2026-10-
|
|
19325
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19143
19326
|
"size": 32350,
|
|
19144
19327
|
"path": "../public/_nuxt/CWwyK2XK.js"
|
|
19145
19328
|
},
|
|
19146
|
-
"/_nuxt/
|
|
19329
|
+
"/_nuxt/BrAeJIZR.js": {
|
|
19147
19330
|
"type": "text/javascript; charset=utf-8",
|
|
19148
|
-
"etag": "\"
|
|
19149
|
-
"mtime": "2026-10-
|
|
19150
|
-
"size":
|
|
19151
|
-
"path": "../public/_nuxt/
|
|
19331
|
+
"etag": "\"46cdd-poAuGC5qlfraU64uRa+Yc2AkKhw\"",
|
|
19332
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19333
|
+
"size": 290013,
|
|
19334
|
+
"path": "../public/_nuxt/BrAeJIZR.js"
|
|
19152
19335
|
},
|
|
19153
|
-
"/_nuxt/
|
|
19336
|
+
"/_nuxt/CXG-cOdh.js": {
|
|
19154
19337
|
"type": "text/javascript; charset=utf-8",
|
|
19155
|
-
"etag": "\"
|
|
19156
|
-
"mtime": "2026-10-
|
|
19157
|
-
"size":
|
|
19158
|
-
"path": "../public/_nuxt/
|
|
19338
|
+
"etag": "\"d4e-hM6T4bjr/qfJVvSNRqFH3ePHBQY\"",
|
|
19339
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19340
|
+
"size": 3406,
|
|
19341
|
+
"path": "../public/_nuxt/CXG-cOdh.js"
|
|
19159
19342
|
},
|
|
19160
|
-
"/_nuxt/
|
|
19343
|
+
"/_nuxt/CYxHnMNH.js": {
|
|
19161
19344
|
"type": "text/javascript; charset=utf-8",
|
|
19162
|
-
"etag": "\"
|
|
19163
|
-
"mtime": "2026-10-
|
|
19164
|
-
"size":
|
|
19165
|
-
"path": "../public/_nuxt/
|
|
19345
|
+
"etag": "\"16ad4-A0W9NTd4vhWgkMxHSgPh07/MudQ\"",
|
|
19346
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19347
|
+
"size": 92884,
|
|
19348
|
+
"path": "../public/_nuxt/CYxHnMNH.js"
|
|
19166
19349
|
},
|
|
19167
|
-
"/_nuxt/
|
|
19350
|
+
"/_nuxt/Ci8N4mWR.js": {
|
|
19168
19351
|
"type": "text/javascript; charset=utf-8",
|
|
19169
|
-
"etag": "\"
|
|
19170
|
-
"mtime": "2026-10-
|
|
19171
|
-
"size":
|
|
19172
|
-
"path": "../public/_nuxt/
|
|
19352
|
+
"etag": "\"2426-fCrTYUyhtdHnTmu6ZJeEttvxVMo\"",
|
|
19353
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19354
|
+
"size": 9254,
|
|
19355
|
+
"path": "../public/_nuxt/Ci8N4mWR.js"
|
|
19173
19356
|
},
|
|
19174
|
-
"/_nuxt/
|
|
19357
|
+
"/_nuxt/CctS2Xn6.js": {
|
|
19175
19358
|
"type": "text/javascript; charset=utf-8",
|
|
19176
|
-
"etag": "\"
|
|
19177
|
-
"mtime": "2026-10-
|
|
19178
|
-
"size":
|
|
19179
|
-
"path": "../public/_nuxt/
|
|
19359
|
+
"etag": "\"16078-Cz/Wvlpwr6os4SjIEqnTr9/8LlU\"",
|
|
19360
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19361
|
+
"size": 90232,
|
|
19362
|
+
"path": "../public/_nuxt/CctS2Xn6.js"
|
|
19180
19363
|
},
|
|
19181
19364
|
"/_nuxt/DLLQgP0d.js": {
|
|
19182
19365
|
"type": "text/javascript; charset=utf-8",
|
|
19183
19366
|
"etag": "\"ed-o6vDEpQGmmIRAyMcrFDkG+VrA/Y\"",
|
|
19184
|
-
"mtime": "2026-10-
|
|
19367
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19185
19368
|
"size": 237,
|
|
19186
19369
|
"path": "../public/_nuxt/DLLQgP0d.js"
|
|
19187
19370
|
},
|
|
19188
|
-
"/_nuxt/
|
|
19371
|
+
"/_nuxt/CiYar6hg.js": {
|
|
19189
19372
|
"type": "text/javascript; charset=utf-8",
|
|
19190
|
-
"etag": "\"
|
|
19191
|
-
"mtime": "2026-10-
|
|
19192
|
-
"size":
|
|
19193
|
-
"path": "../public/_nuxt/
|
|
19373
|
+
"etag": "\"16f07-We6JfDwPvSXrF5YZ4079o5Xc8i8\"",
|
|
19374
|
+
"mtime": "2026-10-08T11:44:03.918Z",
|
|
19375
|
+
"size": 93959,
|
|
19376
|
+
"path": "../public/_nuxt/CiYar6hg.js"
|
|
19194
19377
|
},
|
|
19195
|
-
"/_nuxt/
|
|
19378
|
+
"/_nuxt/SiL1FJ5s.js": {
|
|
19196
19379
|
"type": "text/javascript; charset=utf-8",
|
|
19197
|
-
"etag": "\"
|
|
19198
|
-
"mtime": "2026-10-
|
|
19199
|
-
"size":
|
|
19200
|
-
"path": "../public/_nuxt/
|
|
19380
|
+
"etag": "\"176ad-/hlyeMkW67OV1A4G2nhIsYJX+vE\"",
|
|
19381
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19382
|
+
"size": 95917,
|
|
19383
|
+
"path": "../public/_nuxt/SiL1FJ5s.js"
|
|
19201
19384
|
},
|
|
19202
|
-
"/_nuxt/
|
|
19203
|
-
"type": "
|
|
19204
|
-
"etag": "\"
|
|
19205
|
-
"mtime": "2026-10-
|
|
19206
|
-
"size":
|
|
19207
|
-
"path": "../public/_nuxt/
|
|
19385
|
+
"/_nuxt/Dwh-l2rQ.js": {
|
|
19386
|
+
"type": "text/javascript; charset=utf-8",
|
|
19387
|
+
"etag": "\"3919e-zK0jGmVhIk455555qPCvrLTDhXs\"",
|
|
19388
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19389
|
+
"size": 233886,
|
|
19390
|
+
"path": "../public/_nuxt/Dwh-l2rQ.js"
|
|
19208
19391
|
},
|
|
19209
19392
|
"/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2": {
|
|
19210
19393
|
"type": "font/woff2",
|
|
19211
19394
|
"etag": "\"7f60-cwHN4xD2RhU0GVBfKzpzYZ7Al6U\"",
|
|
19212
|
-
"mtime": "2026-10-
|
|
19395
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19213
19396
|
"size": 32608,
|
|
19214
19397
|
"path": "../public/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2"
|
|
19215
19398
|
},
|
|
19399
|
+
"/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2": {
|
|
19400
|
+
"type": "font/woff2",
|
|
19401
|
+
"etag": "\"8870-ZUSfFgU3jYpWYbszVY1rxpynehc\"",
|
|
19402
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19403
|
+
"size": 34928,
|
|
19404
|
+
"path": "../public/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2"
|
|
19405
|
+
},
|
|
19216
19406
|
"/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2": {
|
|
19217
19407
|
"type": "font/woff2",
|
|
19218
19408
|
"etag": "\"33b8-4zjQHgOy7y9EDRZs7TDAFDM4Ams\"",
|
|
19219
|
-
"mtime": "2026-10-
|
|
19409
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19220
19410
|
"size": 13240,
|
|
19221
19411
|
"path": "../public/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2"
|
|
19222
19412
|
},
|
|
19223
|
-
"/_nuxt/
|
|
19413
|
+
"/_nuxt/WLQjK8uJ.js": {
|
|
19224
19414
|
"type": "text/javascript; charset=utf-8",
|
|
19225
|
-
"etag": "\"
|
|
19226
|
-
"mtime": "2026-10-
|
|
19227
|
-
"size":
|
|
19228
|
-
"path": "../public/_nuxt/
|
|
19415
|
+
"etag": "\"9b3fe-Mhwqc5w8lJiuRM/0t8kIRoh6evE\"",
|
|
19416
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19417
|
+
"size": 635902,
|
|
19418
|
+
"path": "../public/_nuxt/WLQjK8uJ.js"
|
|
19229
19419
|
},
|
|
19230
19420
|
"/_nuxt/bLP7Jj-b.js": {
|
|
19231
19421
|
"type": "text/javascript; charset=utf-8",
|
|
19232
19422
|
"etag": "\"eab-MDKLGS0aoyNdipefSjbM7x6w6Y8\"",
|
|
19233
|
-
"mtime": "2026-10-
|
|
19423
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19234
19424
|
"size": 3755,
|
|
19235
19425
|
"path": "../public/_nuxt/bLP7Jj-b.js"
|
|
19236
19426
|
},
|
|
19237
|
-
"/_nuxt/error-500.Bwd7zAaE.css": {
|
|
19238
|
-
"type": "text/css; charset=utf-8",
|
|
19239
|
-
"etag": "\"772-nqXXACYtFiPK+D42BNu4uEECARA\"",
|
|
19240
|
-
"mtime": "2026-10-08T05:19:35.685Z",
|
|
19241
|
-
"size": 1906,
|
|
19242
|
-
"path": "../public/_nuxt/error-500.Bwd7zAaE.css"
|
|
19243
|
-
},
|
|
19244
19427
|
"/_nuxt/error-404.Bb87HomL.css": {
|
|
19245
19428
|
"type": "text/css; charset=utf-8",
|
|
19246
19429
|
"etag": "\"97d-4h9VfBznldxjqagfMldh1hDncR0\"",
|
|
19247
|
-
"mtime": "2026-10-
|
|
19430
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19248
19431
|
"size": 2429,
|
|
19249
19432
|
"path": "../public/_nuxt/error-404.Bb87HomL.css"
|
|
19250
19433
|
},
|
|
19434
|
+
"/_nuxt/error-500.Bwd7zAaE.css": {
|
|
19435
|
+
"type": "text/css; charset=utf-8",
|
|
19436
|
+
"etag": "\"772-nqXXACYtFiPK+D42BNu4uEECARA\"",
|
|
19437
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19438
|
+
"size": 1906,
|
|
19439
|
+
"path": "../public/_nuxt/error-500.Bwd7zAaE.css"
|
|
19440
|
+
},
|
|
19251
19441
|
"/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2": {
|
|
19252
19442
|
"type": "font/woff2",
|
|
19253
19443
|
"etag": "\"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0\"",
|
|
19254
|
-
"mtime": "2026-10-
|
|
19444
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19255
19445
|
"size": 25960,
|
|
19256
19446
|
"path": "../public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2"
|
|
19257
19447
|
},
|
|
19258
|
-
"/_nuxt/inter-
|
|
19448
|
+
"/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2": {
|
|
19259
19449
|
"type": "font/woff2",
|
|
19260
|
-
"etag": "\"
|
|
19261
|
-
"mtime": "2026-10-
|
|
19262
|
-
"size":
|
|
19263
|
-
"path": "../public/_nuxt/inter-
|
|
19450
|
+
"etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
|
|
19451
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19452
|
+
"size": 18748,
|
|
19453
|
+
"path": "../public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2"
|
|
19264
19454
|
},
|
|
19265
19455
|
"/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2": {
|
|
19266
19456
|
"type": "font/woff2",
|
|
19267
19457
|
"etag": "\"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8\"",
|
|
19268
|
-
"mtime": "2026-10-
|
|
19458
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19269
19459
|
"size": 11232,
|
|
19270
19460
|
"path": "../public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2"
|
|
19271
19461
|
},
|
|
19272
|
-
"/_nuxt/inter-
|
|
19462
|
+
"/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2": {
|
|
19273
19463
|
"type": "font/woff2",
|
|
19274
|
-
"etag": "\"
|
|
19275
|
-
"mtime": "2026-10-
|
|
19276
|
-
"size":
|
|
19277
|
-
"path": "../public/_nuxt/inter-
|
|
19464
|
+
"etag": "\"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4\"",
|
|
19465
|
+
"mtime": "2026-10-08T11:44:03.920Z",
|
|
19466
|
+
"size": 18996,
|
|
19467
|
+
"path": "../public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2"
|
|
19278
19468
|
},
|
|
19279
19469
|
"/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2": {
|
|
19280
19470
|
"type": "font/woff2",
|
|
19281
19471
|
"etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
|
|
19282
|
-
"mtime": "2026-10-
|
|
19472
|
+
"mtime": "2026-10-08T11:44:03.920Z",
|
|
19283
19473
|
"size": 85068,
|
|
19284
19474
|
"path": "../public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2"
|
|
19285
19475
|
},
|
|
19476
|
+
"/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2": {
|
|
19477
|
+
"type": "font/woff2",
|
|
19478
|
+
"etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
|
|
19479
|
+
"mtime": "2026-10-08T11:44:03.920Z",
|
|
19480
|
+
"size": 48256,
|
|
19481
|
+
"path": "../public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2"
|
|
19482
|
+
},
|
|
19286
19483
|
"/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2": {
|
|
19287
19484
|
"type": "font/woff2",
|
|
19288
19485
|
"etag": "\"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M\"",
|
|
19289
|
-
"mtime": "2026-10-
|
|
19486
|
+
"mtime": "2026-10-08T11:44:03.920Z",
|
|
19290
19487
|
"size": 10252,
|
|
19291
19488
|
"path": "../public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2"
|
|
19292
19489
|
},
|
|
19293
|
-
"/_nuxt/
|
|
19490
|
+
"/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2": {
|
|
19294
19491
|
"type": "font/woff2",
|
|
19295
|
-
"etag": "\"
|
|
19296
|
-
"mtime": "2026-10-
|
|
19297
|
-
"size":
|
|
19298
|
-
"path": "../public/_nuxt/
|
|
19492
|
+
"etag": "\"2f4c-WiAGfn140d4QND3ayQWaCHF8rbE\"",
|
|
19493
|
+
"mtime": "2026-10-08T11:44:03.920Z",
|
|
19494
|
+
"size": 12108,
|
|
19495
|
+
"path": "../public/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2"
|
|
19299
19496
|
},
|
|
19300
19497
|
"/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2": {
|
|
19301
19498
|
"type": "font/woff2",
|
|
19302
19499
|
"etag": "\"232c-Dnz9DhH4c266e6TziU1pxRkV6FY\"",
|
|
19303
|
-
"mtime": "2026-10-
|
|
19500
|
+
"mtime": "2026-10-08T11:44:03.920Z",
|
|
19304
19501
|
"size": 9004,
|
|
19305
19502
|
"path": "../public/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2"
|
|
19306
19503
|
},
|
|
19307
19504
|
"/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2": {
|
|
19308
19505
|
"type": "font/woff2",
|
|
19309
19506
|
"etag": "\"3b5c-HLF7Wvs2Z1IA1cPRs6jnor8OUQ4\"",
|
|
19310
|
-
"mtime": "2026-10-
|
|
19507
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19311
19508
|
"size": 15196,
|
|
19312
19509
|
"path": "../public/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2"
|
|
19313
19510
|
},
|
|
19314
|
-
"/_nuxt/jetbrains-mono-
|
|
19511
|
+
"/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2": {
|
|
19315
19512
|
"type": "font/woff2",
|
|
19316
|
-
"etag": "\"
|
|
19317
|
-
"mtime": "2026-10-
|
|
19318
|
-
"size":
|
|
19319
|
-
"path": "../public/_nuxt/jetbrains-mono-
|
|
19320
|
-
},
|
|
19321
|
-
"/_nuxt/entry.SHBiCXBL.css": {
|
|
19322
|
-
"type": "text/css; charset=utf-8",
|
|
19323
|
-
"etag": "\"5f413-f3n+Sg6VQFoGZlw+vPer7+m6eZY\"",
|
|
19324
|
-
"mtime": "2026-10-08T05:19:35.685Z",
|
|
19325
|
-
"size": 390163,
|
|
19326
|
-
"path": "../public/_nuxt/entry.SHBiCXBL.css"
|
|
19513
|
+
"etag": "\"9dd4-5yd+cUUhzrXxdMyYebUeD0qml1M\"",
|
|
19514
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19515
|
+
"size": 40404,
|
|
19516
|
+
"path": "../public/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2"
|
|
19327
19517
|
},
|
|
19328
19518
|
"/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2": {
|
|
19329
19519
|
"type": "font/woff2",
|
|
19330
19520
|
"etag": "\"1d50-/Re0MyD6BV8h81wBPVijGZH5GBs\"",
|
|
19331
|
-
"mtime": "2026-10-
|
|
19521
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19332
19522
|
"size": 7504,
|
|
19333
19523
|
"path": "../public/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2"
|
|
19334
19524
|
},
|
|
19335
|
-
"/_nuxt/
|
|
19336
|
-
"type": "
|
|
19337
|
-
"etag": "\"
|
|
19338
|
-
"mtime": "2026-10-
|
|
19339
|
-
"size":
|
|
19340
|
-
"path": "../public/_nuxt/
|
|
19525
|
+
"/_nuxt/whFLy_Ne.js": {
|
|
19526
|
+
"type": "text/javascript; charset=utf-8",
|
|
19527
|
+
"etag": "\"10fef-Fe8e6U4rNb//7sdPdQau3Trl7fU\"",
|
|
19528
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19529
|
+
"size": 69615,
|
|
19530
|
+
"path": "../public/_nuxt/whFLy_Ne.js"
|
|
19341
19531
|
},
|
|
19342
|
-
"/_nuxt/
|
|
19343
|
-
"type": "
|
|
19344
|
-
"etag": "\"
|
|
19345
|
-
"mtime": "2026-10-
|
|
19346
|
-
"size":
|
|
19347
|
-
"path": "../public/_nuxt/
|
|
19532
|
+
"/_nuxt/entry.cKR16VqG.css": {
|
|
19533
|
+
"type": "text/css; charset=utf-8",
|
|
19534
|
+
"etag": "\"5f50e-lGjGgrLDJlABD7dGL+/Cu4UfQi8\"",
|
|
19535
|
+
"mtime": "2026-10-08T11:44:03.919Z",
|
|
19536
|
+
"size": 390414,
|
|
19537
|
+
"path": "../public/_nuxt/entry.cKR16VqG.css"
|
|
19348
19538
|
},
|
|
19349
19539
|
"/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2": {
|
|
19350
19540
|
"type": "font/woff2",
|
|
19351
19541
|
"etag": "\"d9b0-kmO/x6KCTFRlVipOvl+5XcArGUw\"",
|
|
19352
|
-
"mtime": "2026-10-
|
|
19542
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19353
19543
|
"size": 55728,
|
|
19354
19544
|
"path": "../public/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2"
|
|
19355
19545
|
},
|
|
19356
|
-
"/_nuxt/wherdr-nerd-
|
|
19546
|
+
"/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2": {
|
|
19357
19547
|
"type": "font/woff2",
|
|
19358
|
-
"etag": "\"
|
|
19359
|
-
"mtime": "2026-10-
|
|
19360
|
-
"size":
|
|
19361
|
-
"path": "../public/_nuxt/wherdr-nerd-
|
|
19548
|
+
"etag": "\"30178-02mpQKEDb74Ec8LtlhKceB1vHO8\"",
|
|
19549
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19550
|
+
"size": 196984,
|
|
19551
|
+
"path": "../public/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2"
|
|
19362
19552
|
},
|
|
19363
19553
|
"/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2": {
|
|
19364
19554
|
"type": "font/woff2",
|
|
19365
19555
|
"etag": "\"f76c-CjERGtjtOrkpSXy7JyZNl1CAu0U\"",
|
|
19366
|
-
"mtime": "2026-10-
|
|
19556
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19367
19557
|
"size": 63340,
|
|
19368
19558
|
"path": "../public/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2"
|
|
19369
19559
|
},
|
|
19370
|
-
"/_nuxt/wherdr-nerd-
|
|
19560
|
+
"/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2": {
|
|
19371
19561
|
"type": "font/woff2",
|
|
19372
|
-
"etag": "\"
|
|
19373
|
-
"mtime": "2026-10-
|
|
19374
|
-
"size":
|
|
19375
|
-
"path": "../public/_nuxt/wherdr-nerd-
|
|
19562
|
+
"etag": "\"30f78-2RuGTMLnbTBdhlI9ExApyiUeD8c\"",
|
|
19563
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19564
|
+
"size": 200568,
|
|
19565
|
+
"path": "../public/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2"
|
|
19376
19566
|
},
|
|
19377
19567
|
"/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2": {
|
|
19378
19568
|
"type": "font/woff2",
|
|
19379
19569
|
"etag": "\"1f95c-q6dAP964z2dgEvWzAYjTAzBtzBc\"",
|
|
19380
|
-
"mtime": "2026-10-
|
|
19570
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19381
19571
|
"size": 129372,
|
|
19382
19572
|
"path": "../public/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2"
|
|
19383
19573
|
},
|
|
19384
|
-
"/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
|
|
19385
|
-
"type": "font/woff2",
|
|
19386
|
-
"etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
|
|
19387
|
-
"mtime": "2026-10-08T05:19:35.687Z",
|
|
19388
|
-
"size": 129664,
|
|
19389
|
-
"path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
|
|
19390
|
-
},
|
|
19391
19574
|
"/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2": {
|
|
19392
19575
|
"type": "font/woff2",
|
|
19393
19576
|
"etag": "\"2248c-3GBJ1KjkT+xYPhza9V/DKaILa7Y\"",
|
|
19394
|
-
"mtime": "2026-10-
|
|
19577
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19395
19578
|
"size": 140428,
|
|
19396
19579
|
"path": "../public/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2"
|
|
19397
19580
|
},
|
|
19398
|
-
"/_nuxt/
|
|
19399
|
-
"type": "text/javascript; charset=utf-8",
|
|
19400
|
-
"etag": "\"9b3fe-2kvj9/0+okpgdaiK95KVBZYlbsU\"",
|
|
19401
|
-
"mtime": "2026-10-08T05:19:35.687Z",
|
|
19402
|
-
"size": 635902,
|
|
19403
|
-
"path": "../public/_nuxt/e5N4AqCN.js"
|
|
19404
|
-
},
|
|
19405
|
-
"/_nuxt/wherdr-symbols.C1LsPKmg.woff2": {
|
|
19581
|
+
"/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2": {
|
|
19406
19582
|
"type": "font/woff2",
|
|
19407
|
-
"etag": "\"
|
|
19408
|
-
"mtime": "2026-10-
|
|
19409
|
-
"size":
|
|
19410
|
-
"path": "../public/_nuxt/wherdr-
|
|
19583
|
+
"etag": "\"1e130-1GKpbVoJoRf3AxaKTZS8FjxkOd4\"",
|
|
19584
|
+
"mtime": "2026-10-08T11:44:03.927Z",
|
|
19585
|
+
"size": 123184,
|
|
19586
|
+
"path": "../public/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2"
|
|
19411
19587
|
},
|
|
19412
|
-
"/_nuxt/
|
|
19413
|
-
"type": "
|
|
19414
|
-
"etag": "\"
|
|
19415
|
-
"mtime": "2026-10-
|
|
19416
|
-
"size":
|
|
19417
|
-
"path": "../public/_nuxt/
|
|
19588
|
+
"/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
|
|
19589
|
+
"type": "font/woff2",
|
|
19590
|
+
"etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
|
|
19591
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19592
|
+
"size": 129664,
|
|
19593
|
+
"path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
|
|
19418
19594
|
},
|
|
19419
19595
|
"/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2": {
|
|
19420
19596
|
"type": "font/woff2",
|
|
19421
19597
|
"etag": "\"1bc0-iXm39wQwNbm2VjpVBOn72grfku0\"",
|
|
19422
|
-
"mtime": "2026-10-
|
|
19598
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19423
19599
|
"size": 7104,
|
|
19424
19600
|
"path": "../public/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2"
|
|
19425
19601
|
},
|
|
19426
19602
|
"/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2": {
|
|
19427
19603
|
"type": "font/woff2",
|
|
19428
19604
|
"etag": "\"f890-FkAsW3iqENK+lU5UlSze0yqnE2s\"",
|
|
19429
|
-
"mtime": "2026-10-
|
|
19605
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19430
19606
|
"size": 63632,
|
|
19431
19607
|
"path": "../public/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2"
|
|
19432
19608
|
},
|
|
19609
|
+
"/_nuxt/wherdr-symbols.C1LsPKmg.woff2": {
|
|
19610
|
+
"type": "font/woff2",
|
|
19611
|
+
"etag": "\"1304-Lwyr1XiDl3FK38nmS/6Pk9wfiWc\"",
|
|
19612
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19613
|
+
"size": 4868,
|
|
19614
|
+
"path": "../public/_nuxt/wherdr-symbols.C1LsPKmg.woff2"
|
|
19615
|
+
},
|
|
19616
|
+
"/_nuxt/yzABg5xl.js": {
|
|
19617
|
+
"type": "text/javascript; charset=utf-8",
|
|
19618
|
+
"etag": "\"1c49-W7I7waHyF8BfftITNIl1xCbNFQw\"",
|
|
19619
|
+
"mtime": "2026-10-08T11:44:03.928Z",
|
|
19620
|
+
"size": 7241,
|
|
19621
|
+
"path": "../public/_nuxt/yzABg5xl.js"
|
|
19622
|
+
},
|
|
19433
19623
|
"/_nuxt/builds/latest.json": {
|
|
19434
19624
|
"type": "application/json",
|
|
19435
|
-
"etag": "\"47-
|
|
19436
|
-
"mtime": "2026-10-
|
|
19625
|
+
"etag": "\"47-InxxMr1b0NpxElCQDYMExsdTFyM\"",
|
|
19626
|
+
"mtime": "2026-10-08T11:44:03.903Z",
|
|
19437
19627
|
"size": 71,
|
|
19438
19628
|
"path": "../public/_nuxt/builds/latest.json"
|
|
19439
19629
|
},
|
|
19440
|
-
"/_nuxt/builds/meta/
|
|
19630
|
+
"/_nuxt/builds/meta/6466b0ab-7935-460c-abdf-2ea632dae6d0.json": {
|
|
19441
19631
|
"type": "application/json",
|
|
19442
|
-
"etag": "\"58
|
|
19443
|
-
"mtime": "2026-10-
|
|
19632
|
+
"etag": "\"58-DWte5uFWPeAlfWNx7Bc31+0PHIM\"",
|
|
19633
|
+
"mtime": "2026-10-08T11:44:03.899Z",
|
|
19444
19634
|
"size": 88,
|
|
19445
|
-
"path": "../public/_nuxt/builds/meta/
|
|
19635
|
+
"path": "../public/_nuxt/builds/meta/6466b0ab-7935-460c-abdf-2ea632dae6d0.json"
|
|
19446
19636
|
}
|
|
19447
19637
|
};
|
|
19448
19638
|
|
|
@@ -19589,7 +19779,7 @@ function getAsset (id) {
|
|
|
19589
19779
|
|
|
19590
19780
|
const METHODS = /* @__PURE__ */ new Set(["HEAD", "GET"]);
|
|
19591
19781
|
const EncodingMap = { gzip: ".gz", br: ".br" };
|
|
19592
|
-
const
|
|
19782
|
+
const _uN03ln = eventHandler((event) => {
|
|
19593
19783
|
if (event.method && !METHODS.has(event.method)) {
|
|
19594
19784
|
return;
|
|
19595
19785
|
}
|
|
@@ -20026,7 +20216,7 @@ function crossSiteRequest(headers) {
|
|
|
20026
20216
|
}
|
|
20027
20217
|
|
|
20028
20218
|
const needsUnlock = (p) => p.startsWith("/api/") && !p.startsWith("/api/auth/") || p.startsWith("/uploads/");
|
|
20029
|
-
const
|
|
20219
|
+
const _M8hgLp = defineEventHandler((event) => {
|
|
20030
20220
|
if (!hostAllowed(event.node.req.headers.host)) {
|
|
20031
20221
|
if (hostRefusalIsHtml(event.path.split("?")[0], event.node.req.headers.accept)) {
|
|
20032
20222
|
setResponseStatus(event, 403);
|
|
@@ -20051,184 +20241,184 @@ const _049p4f = defineEventHandler((event) => {
|
|
|
20051
20241
|
|
|
20052
20242
|
const _SxA8c9 = defineEventHandler(() => {});
|
|
20053
20243
|
|
|
20054
|
-
const
|
|
20055
|
-
const
|
|
20056
|
-
const
|
|
20057
|
-
const
|
|
20058
|
-
const
|
|
20059
|
-
const
|
|
20060
|
-
const
|
|
20061
|
-
const
|
|
20062
|
-
const
|
|
20063
|
-
const
|
|
20064
|
-
const
|
|
20065
|
-
const
|
|
20066
|
-
const
|
|
20067
|
-
const
|
|
20068
|
-
const
|
|
20069
|
-
const
|
|
20070
|
-
const
|
|
20071
|
-
const
|
|
20072
|
-
const
|
|
20073
|
-
const
|
|
20074
|
-
const
|
|
20075
|
-
const
|
|
20076
|
-
const
|
|
20077
|
-
const
|
|
20078
|
-
const
|
|
20079
|
-
const
|
|
20080
|
-
const
|
|
20081
|
-
const
|
|
20082
|
-
const
|
|
20083
|
-
const
|
|
20084
|
-
const
|
|
20085
|
-
const
|
|
20086
|
-
const
|
|
20087
|
-
const
|
|
20088
|
-
const
|
|
20089
|
-
const
|
|
20090
|
-
const
|
|
20091
|
-
const
|
|
20092
|
-
const
|
|
20093
|
-
const
|
|
20094
|
-
const
|
|
20095
|
-
const
|
|
20096
|
-
const
|
|
20097
|
-
const
|
|
20098
|
-
const
|
|
20099
|
-
const
|
|
20100
|
-
const
|
|
20101
|
-
const
|
|
20102
|
-
const
|
|
20103
|
-
const
|
|
20104
|
-
const
|
|
20105
|
-
const
|
|
20106
|
-
const
|
|
20107
|
-
const
|
|
20108
|
-
const
|
|
20109
|
-
const
|
|
20110
|
-
const
|
|
20111
|
-
const
|
|
20112
|
-
const
|
|
20113
|
-
const
|
|
20114
|
-
const
|
|
20115
|
-
const
|
|
20116
|
-
const
|
|
20117
|
-
const
|
|
20118
|
-
const
|
|
20119
|
-
const
|
|
20120
|
-
const
|
|
20121
|
-
const
|
|
20122
|
-
const
|
|
20123
|
-
const
|
|
20124
|
-
const
|
|
20125
|
-
const
|
|
20126
|
-
const
|
|
20127
|
-
const
|
|
20128
|
-
const
|
|
20129
|
-
const
|
|
20130
|
-
const
|
|
20131
|
-
const
|
|
20132
|
-
const
|
|
20133
|
-
const
|
|
20134
|
-
const
|
|
20135
|
-
const
|
|
20136
|
-
const
|
|
20137
|
-
const
|
|
20138
|
-
const
|
|
20139
|
-
const
|
|
20244
|
+
const _lazy__q9lVT = () => import('../routes/api/_..._.mjs');
|
|
20245
|
+
const _lazy_IscTao = () => import('../routes/api/agents.post.mjs');
|
|
20246
|
+
const _lazy__I0sdR = () => import('../routes/api/ask-tab.post.mjs');
|
|
20247
|
+
const _lazy_s3cQhL = () => import('../routes/api/attach.post.mjs');
|
|
20248
|
+
const _lazy_OXBWUz = () => import('../routes/api/auth/disable.post.mjs');
|
|
20249
|
+
const _lazy_rHvHVe = () => import('../routes/api/auth/lock-all.post.mjs');
|
|
20250
|
+
const _lazy_3fqQ_S = () => import('../routes/api/auth/lock.post.mjs');
|
|
20251
|
+
const _lazy_o1C40k = () => import('../routes/api/auth/login/options.post.mjs');
|
|
20252
|
+
const _lazy_DDM4EF = () => import('../routes/api/auth/login/verify.post.mjs');
|
|
20253
|
+
const _lazy_4__oTm = () => import('../routes/api/auth/max-session.post.mjs');
|
|
20254
|
+
const _lazy_7O3TsZ = () => import('../routes/api/auth/register/options.post.mjs');
|
|
20255
|
+
const _lazy_fQByfS = () => import('../routes/api/auth/register/verify.post.mjs');
|
|
20256
|
+
const _lazy_jcfnWB = () => import('../routes/api/auth/status.get.mjs');
|
|
20257
|
+
const _lazy_WhNb61 = () => import('../routes/api/changes.get.mjs');
|
|
20258
|
+
const _lazy_hdSKYJ = () => import('../routes/api/chat.get.mjs');
|
|
20259
|
+
const _lazy_WoSEa6 = () => import('../routes/api/chat/image.get.mjs');
|
|
20260
|
+
const _lazy_GP5Rnx = () => import('../routes/api/choose.post.mjs');
|
|
20261
|
+
const _lazy_pDFD3i = () => import('../routes/api/claude-statusline.post.mjs');
|
|
20262
|
+
const _lazy_f3c9H6 = () => import('../routes/api/close.post.mjs');
|
|
20263
|
+
const _lazy_LgHNKv = () => import('../routes/api/close/status.get.mjs');
|
|
20264
|
+
const _lazy_GF2Rhb = () => import('../routes/api/codex-update.post.mjs');
|
|
20265
|
+
const _lazy_onTn85 = () => import('../routes/api/commands.get.mjs');
|
|
20266
|
+
const _lazy_XuUgLO = () => import('../routes/api/config.get.mjs');
|
|
20267
|
+
const _lazy_y_su18 = () => import('../routes/api/dirs.get.mjs');
|
|
20268
|
+
const _lazy_Z6oqjB = () => import('../routes/api/dismiss.post.mjs');
|
|
20269
|
+
const _lazy_2uy6Z9 = () => import('../routes/api/effort.post.mjs');
|
|
20270
|
+
const _lazy_7FhJOq = () => import('../routes/api/efforts.get.mjs');
|
|
20271
|
+
const _lazy_Wg_MPT = () => import('../routes/api/file.post.mjs');
|
|
20272
|
+
const _lazy_kEWyNy = () => import('../routes/api/gitroot.get.mjs');
|
|
20273
|
+
const _lazy_U4OEhz = () => import('../routes/api/input.post.mjs');
|
|
20274
|
+
const _lazy_PDyMr9 = () => import('../routes/api/interrupt.post.mjs');
|
|
20275
|
+
const _lazy_mtPGaX = () => import('../routes/api/isgit.get.mjs');
|
|
20276
|
+
const _lazy_kMfkHB = () => import('../routes/api/machine/awake.get.mjs');
|
|
20277
|
+
const _lazy_3Y3Fal = () => import('../routes/api/machine/awake.post.mjs');
|
|
20278
|
+
const _lazy_RRMeZz = () => import('../routes/api/machine/order.get.mjs');
|
|
20279
|
+
const _lazy_FdaypK = () => import('../routes/api/machine/order.post.mjs');
|
|
20280
|
+
const _lazy_tShbXi = () => import('../routes/api/machine/rename.post.mjs');
|
|
20281
|
+
const _lazy_wDIuUV = () => import('../routes/api/menu.post.mjs');
|
|
20282
|
+
const _lazy_rVhPCV = () => import('../routes/api/model.post.mjs');
|
|
20283
|
+
const _lazy_zQaTgS = () => import('../routes/api/models.get.mjs');
|
|
20284
|
+
const _lazy_G8ab3Q = () => import('../routes/api/nav.post.mjs');
|
|
20285
|
+
const _lazy_v0Fav3 = () => import('../routes/api/onboarding.get.mjs');
|
|
20286
|
+
const _lazy_8g9ewv = () => import('../routes/api/onboarding.post.mjs');
|
|
20287
|
+
const _lazy_pIkbHh = () => import('../routes/api/phone.get.mjs');
|
|
20288
|
+
const _lazy_uc4VfM = () => import('../routes/api/phone.post.mjs');
|
|
20289
|
+
const _lazy_UhUNDG = () => import('../routes/api/plugins/actions.get.mjs');
|
|
20290
|
+
const _lazy_QUZe1a = () => import('../routes/api/plugins/invoke.post.mjs');
|
|
20291
|
+
const _lazy_5SHkft = () => import('../routes/api/plugins/profiles.get.mjs');
|
|
20292
|
+
const _lazy_mhIdo4 = () => import('../routes/api/plugins/projects.get.mjs');
|
|
20293
|
+
const _lazy_zH9tge = () => import('../routes/api/plugins/projects.post.mjs');
|
|
20294
|
+
const _lazy_qE4HMW = () => import('../routes/api/plugins/thread-limits.get.mjs');
|
|
20295
|
+
const _lazy_ByJj04 = () => import('../routes/api/plugins/thread-limits.post.mjs');
|
|
20296
|
+
const _lazy_WLg2Uu = () => import('../routes/api/index.get.mjs');
|
|
20297
|
+
const _lazy_sQe2ZF = () => import('../routes/api/project/report.get.mjs');
|
|
20298
|
+
const _lazy_wxPObX = () => import('../routes/api/prompt.post.mjs');
|
|
20299
|
+
const _lazy_gHqHgE = () => import('../routes/api/push/quiet.post.mjs');
|
|
20300
|
+
const _lazy_vXOoN7 = () => import('../routes/api/push/subscribe.post.mjs');
|
|
20301
|
+
const _lazy_y3mEYk = () => import('../routes/api/push/test.post.mjs');
|
|
20302
|
+
const _lazy_uxxrNB = () => import('../routes/api/push/unsubscribe.post.mjs');
|
|
20303
|
+
const _lazy_pyinM3 = () => import('../routes/api/quotas.get.mjs');
|
|
20304
|
+
const _lazy_BBdm99 = () => import('../routes/api/rename.post.mjs');
|
|
20305
|
+
const _lazy_wZhfGo = () => import('../routes/api/requeue.post.mjs');
|
|
20306
|
+
const _lazy_CNFo5h = () => import('../routes/api/restart.get.mjs');
|
|
20307
|
+
const _lazy_yDFKBl = () => import('../routes/api/restart.post.mjs');
|
|
20308
|
+
const _lazy_EmFJ9I = () => import('../routes/api/reveal.post.mjs');
|
|
20309
|
+
const _lazy_0DhN9V = () => import('../routes/api/screen-key.post.mjs');
|
|
20310
|
+
const _lazy_5kceYB = () => import('../routes/api/screen.get.mjs');
|
|
20311
|
+
const _lazy_K8ukU6 = () => import('../routes/api/search.get.mjs');
|
|
20312
|
+
const _lazy_NXLBIE = () => import('../routes/api/seen.post.mjs');
|
|
20313
|
+
const _lazy_GOSQuW = () => import('../routes/api/sessions.get.mjs');
|
|
20314
|
+
const _lazy_3y86mR = () => import('../routes/api/sessions.post.mjs');
|
|
20315
|
+
const _lazy_TqhtLZ = () => import('../routes/api/space.post.mjs');
|
|
20316
|
+
const _lazy_oeuOKk = () => import('../routes/api/state.get.mjs');
|
|
20317
|
+
const _lazy_ecbrXA = () => import('../routes/api/unqueue.post.mjs');
|
|
20318
|
+
const _lazy_AUmWqe = () => import('../routes/api/update.get.mjs');
|
|
20319
|
+
const _lazy_5f22vB = () => import('../routes/api/upload.post.mjs');
|
|
20320
|
+
const _lazy_9iwHBL = () => import('../routes/api/worktrees.get.mjs');
|
|
20321
|
+
const _lazy_IA8rJi = () => import('../routes/api/worktrees/remove.post.mjs');
|
|
20322
|
+
const _lazy_dhT5sm = () => import('../routes/favicon.ico.get.mjs');
|
|
20323
|
+
const _lazy_2a3aHZ = () => import('../routes/icons/_name_.get.mjs');
|
|
20324
|
+
const _lazy_MpH2Yl = () => import('../routes/uploads/_...name_.get.mjs');
|
|
20325
|
+
const _lazy_hSqSXW = () => import('../routes/ws/_..._.mjs');
|
|
20326
|
+
const _lazy_N9wZe_ = () => import('../routes/ws/events.mjs');
|
|
20327
|
+
const _lazy_CXgyQE = () => import('../routes/ws/mirror.mjs');
|
|
20328
|
+
const _lazy_Stovcz = () => import('../routes/ws/term.mjs');
|
|
20329
|
+
const _lazy_9gHabX = () => import('../routes/renderer.mjs');
|
|
20140
20330
|
|
|
20141
20331
|
const handlers = [
|
|
20142
|
-
{ route: '', handler:
|
|
20143
|
-
{ route: '', handler:
|
|
20144
|
-
{ route: '/api/**', handler:
|
|
20145
|
-
{ route: '/api/agents', handler:
|
|
20146
|
-
{ route: '/api/ask-tab', handler:
|
|
20147
|
-
{ route: '/api/attach', handler:
|
|
20148
|
-
{ route: '/api/auth/disable', handler:
|
|
20149
|
-
{ route: '/api/auth/lock-all', handler:
|
|
20150
|
-
{ route: '/api/auth/lock', handler:
|
|
20151
|
-
{ route: '/api/auth/login/options', handler:
|
|
20152
|
-
{ route: '/api/auth/login/verify', handler:
|
|
20153
|
-
{ route: '/api/auth/max-session', handler:
|
|
20154
|
-
{ route: '/api/auth/register/options', handler:
|
|
20155
|
-
{ route: '/api/auth/register/verify', handler:
|
|
20156
|
-
{ route: '/api/auth/status', handler:
|
|
20157
|
-
{ route: '/api/changes', handler:
|
|
20158
|
-
{ route: '/api/chat', handler:
|
|
20159
|
-
{ route: '/api/chat/image', handler:
|
|
20160
|
-
{ route: '/api/choose', handler:
|
|
20161
|
-
{ route: '/api/claude-statusline', handler:
|
|
20162
|
-
{ route: '/api/close', handler:
|
|
20163
|
-
{ route: '/api/close/status', handler:
|
|
20164
|
-
{ route: '/api/codex-update', handler:
|
|
20165
|
-
{ route: '/api/commands', handler:
|
|
20166
|
-
{ route: '/api/config', handler:
|
|
20167
|
-
{ route: '/api/dirs', handler:
|
|
20168
|
-
{ route: '/api/dismiss', handler:
|
|
20169
|
-
{ route: '/api/effort', handler:
|
|
20170
|
-
{ route: '/api/efforts', handler:
|
|
20171
|
-
{ route: '/api/file', handler:
|
|
20172
|
-
{ route: '/api/gitroot', handler:
|
|
20173
|
-
{ route: '/api/input', handler:
|
|
20174
|
-
{ route: '/api/interrupt', handler:
|
|
20175
|
-
{ route: '/api/isgit', handler:
|
|
20176
|
-
{ route: '/api/machine/awake', handler:
|
|
20177
|
-
{ route: '/api/machine/awake', handler:
|
|
20178
|
-
{ route: '/api/machine/order', handler:
|
|
20179
|
-
{ route: '/api/machine/order', handler:
|
|
20180
|
-
{ route: '/api/machine/rename', handler:
|
|
20181
|
-
{ route: '/api/menu', handler:
|
|
20182
|
-
{ route: '/api/model', handler:
|
|
20183
|
-
{ route: '/api/models', handler:
|
|
20184
|
-
{ route: '/api/nav', handler:
|
|
20185
|
-
{ route: '/api/onboarding', handler:
|
|
20186
|
-
{ route: '/api/onboarding', handler:
|
|
20187
|
-
{ route: '/api/phone', handler:
|
|
20188
|
-
{ route: '/api/phone', handler:
|
|
20189
|
-
{ route: '/api/plugins/actions', handler:
|
|
20190
|
-
{ route: '/api/plugins/invoke', handler:
|
|
20191
|
-
{ route: '/api/plugins/profiles', handler:
|
|
20192
|
-
{ route: '/api/plugins/projects', handler:
|
|
20193
|
-
{ route: '/api/plugins/projects', handler:
|
|
20194
|
-
{ route: '/api/plugins/thread-limits', handler:
|
|
20195
|
-
{ route: '/api/plugins/thread-limits', handler:
|
|
20196
|
-
{ route: '/api/project', handler:
|
|
20197
|
-
{ route: '/api/project/report', handler:
|
|
20198
|
-
{ route: '/api/prompt', handler:
|
|
20199
|
-
{ route: '/api/push/quiet', handler:
|
|
20200
|
-
{ route: '/api/push/subscribe', handler:
|
|
20201
|
-
{ route: '/api/push/test', handler:
|
|
20202
|
-
{ route: '/api/push/unsubscribe', handler:
|
|
20203
|
-
{ route: '/api/quotas', handler:
|
|
20204
|
-
{ route: '/api/rename', handler:
|
|
20205
|
-
{ route: '/api/requeue', handler:
|
|
20206
|
-
{ route: '/api/restart', handler:
|
|
20207
|
-
{ route: '/api/restart', handler:
|
|
20208
|
-
{ route: '/api/reveal', handler:
|
|
20209
|
-
{ route: '/api/screen-key', handler:
|
|
20210
|
-
{ route: '/api/screen', handler:
|
|
20211
|
-
{ route: '/api/search', handler:
|
|
20212
|
-
{ route: '/api/seen', handler:
|
|
20213
|
-
{ route: '/api/sessions', handler:
|
|
20214
|
-
{ route: '/api/sessions', handler:
|
|
20215
|
-
{ route: '/api/space', handler:
|
|
20216
|
-
{ route: '/api/state', handler:
|
|
20217
|
-
{ route: '/api/unqueue', handler:
|
|
20218
|
-
{ route: '/api/update', handler:
|
|
20219
|
-
{ route: '/api/upload', handler:
|
|
20220
|
-
{ route: '/api/worktrees', handler:
|
|
20221
|
-
{ route: '/api/worktrees/remove', handler:
|
|
20222
|
-
{ route: '/favicon.ico', handler:
|
|
20223
|
-
{ route: '/icons/:name', handler:
|
|
20224
|
-
{ route: '/uploads/**:name', handler:
|
|
20225
|
-
{ route: '/ws/**', handler:
|
|
20226
|
-
{ route: '/ws/events', handler:
|
|
20227
|
-
{ route: '/ws/mirror', handler:
|
|
20228
|
-
{ route: '/ws/term', handler:
|
|
20229
|
-
{ route: '/__nuxt_error', handler:
|
|
20332
|
+
{ route: '', handler: _uN03ln, lazy: false, middleware: true, method: undefined },
|
|
20333
|
+
{ route: '', handler: _M8hgLp, lazy: false, middleware: true, method: undefined },
|
|
20334
|
+
{ route: '/api/**', handler: _lazy__q9lVT, lazy: true, middleware: false, method: undefined },
|
|
20335
|
+
{ route: '/api/agents', handler: _lazy_IscTao, lazy: true, middleware: false, method: "post" },
|
|
20336
|
+
{ route: '/api/ask-tab', handler: _lazy__I0sdR, lazy: true, middleware: false, method: "post" },
|
|
20337
|
+
{ route: '/api/attach', handler: _lazy_s3cQhL, lazy: true, middleware: false, method: "post" },
|
|
20338
|
+
{ route: '/api/auth/disable', handler: _lazy_OXBWUz, lazy: true, middleware: false, method: "post" },
|
|
20339
|
+
{ route: '/api/auth/lock-all', handler: _lazy_rHvHVe, lazy: true, middleware: false, method: "post" },
|
|
20340
|
+
{ route: '/api/auth/lock', handler: _lazy_3fqQ_S, lazy: true, middleware: false, method: "post" },
|
|
20341
|
+
{ route: '/api/auth/login/options', handler: _lazy_o1C40k, lazy: true, middleware: false, method: "post" },
|
|
20342
|
+
{ route: '/api/auth/login/verify', handler: _lazy_DDM4EF, lazy: true, middleware: false, method: "post" },
|
|
20343
|
+
{ route: '/api/auth/max-session', handler: _lazy_4__oTm, lazy: true, middleware: false, method: "post" },
|
|
20344
|
+
{ route: '/api/auth/register/options', handler: _lazy_7O3TsZ, lazy: true, middleware: false, method: "post" },
|
|
20345
|
+
{ route: '/api/auth/register/verify', handler: _lazy_fQByfS, lazy: true, middleware: false, method: "post" },
|
|
20346
|
+
{ route: '/api/auth/status', handler: _lazy_jcfnWB, lazy: true, middleware: false, method: "get" },
|
|
20347
|
+
{ route: '/api/changes', handler: _lazy_WhNb61, lazy: true, middleware: false, method: "get" },
|
|
20348
|
+
{ route: '/api/chat', handler: _lazy_hdSKYJ, lazy: true, middleware: false, method: "get" },
|
|
20349
|
+
{ route: '/api/chat/image', handler: _lazy_WoSEa6, lazy: true, middleware: false, method: "get" },
|
|
20350
|
+
{ route: '/api/choose', handler: _lazy_GP5Rnx, lazy: true, middleware: false, method: "post" },
|
|
20351
|
+
{ route: '/api/claude-statusline', handler: _lazy_pDFD3i, lazy: true, middleware: false, method: "post" },
|
|
20352
|
+
{ route: '/api/close', handler: _lazy_f3c9H6, lazy: true, middleware: false, method: "post" },
|
|
20353
|
+
{ route: '/api/close/status', handler: _lazy_LgHNKv, lazy: true, middleware: false, method: "get" },
|
|
20354
|
+
{ route: '/api/codex-update', handler: _lazy_GF2Rhb, lazy: true, middleware: false, method: "post" },
|
|
20355
|
+
{ route: '/api/commands', handler: _lazy_onTn85, lazy: true, middleware: false, method: "get" },
|
|
20356
|
+
{ route: '/api/config', handler: _lazy_XuUgLO, lazy: true, middleware: false, method: "get" },
|
|
20357
|
+
{ route: '/api/dirs', handler: _lazy_y_su18, lazy: true, middleware: false, method: "get" },
|
|
20358
|
+
{ route: '/api/dismiss', handler: _lazy_Z6oqjB, lazy: true, middleware: false, method: "post" },
|
|
20359
|
+
{ route: '/api/effort', handler: _lazy_2uy6Z9, lazy: true, middleware: false, method: "post" },
|
|
20360
|
+
{ route: '/api/efforts', handler: _lazy_7FhJOq, lazy: true, middleware: false, method: "get" },
|
|
20361
|
+
{ route: '/api/file', handler: _lazy_Wg_MPT, lazy: true, middleware: false, method: "post" },
|
|
20362
|
+
{ route: '/api/gitroot', handler: _lazy_kEWyNy, lazy: true, middleware: false, method: "get" },
|
|
20363
|
+
{ route: '/api/input', handler: _lazy_U4OEhz, lazy: true, middleware: false, method: "post" },
|
|
20364
|
+
{ route: '/api/interrupt', handler: _lazy_PDyMr9, lazy: true, middleware: false, method: "post" },
|
|
20365
|
+
{ route: '/api/isgit', handler: _lazy_mtPGaX, lazy: true, middleware: false, method: "get" },
|
|
20366
|
+
{ route: '/api/machine/awake', handler: _lazy_kMfkHB, lazy: true, middleware: false, method: "get" },
|
|
20367
|
+
{ route: '/api/machine/awake', handler: _lazy_3Y3Fal, lazy: true, middleware: false, method: "post" },
|
|
20368
|
+
{ route: '/api/machine/order', handler: _lazy_RRMeZz, lazy: true, middleware: false, method: "get" },
|
|
20369
|
+
{ route: '/api/machine/order', handler: _lazy_FdaypK, lazy: true, middleware: false, method: "post" },
|
|
20370
|
+
{ route: '/api/machine/rename', handler: _lazy_tShbXi, lazy: true, middleware: false, method: "post" },
|
|
20371
|
+
{ route: '/api/menu', handler: _lazy_wDIuUV, lazy: true, middleware: false, method: "post" },
|
|
20372
|
+
{ route: '/api/model', handler: _lazy_rVhPCV, lazy: true, middleware: false, method: "post" },
|
|
20373
|
+
{ route: '/api/models', handler: _lazy_zQaTgS, lazy: true, middleware: false, method: "get" },
|
|
20374
|
+
{ route: '/api/nav', handler: _lazy_G8ab3Q, lazy: true, middleware: false, method: "post" },
|
|
20375
|
+
{ route: '/api/onboarding', handler: _lazy_v0Fav3, lazy: true, middleware: false, method: "get" },
|
|
20376
|
+
{ route: '/api/onboarding', handler: _lazy_8g9ewv, lazy: true, middleware: false, method: "post" },
|
|
20377
|
+
{ route: '/api/phone', handler: _lazy_pIkbHh, lazy: true, middleware: false, method: "get" },
|
|
20378
|
+
{ route: '/api/phone', handler: _lazy_uc4VfM, lazy: true, middleware: false, method: "post" },
|
|
20379
|
+
{ route: '/api/plugins/actions', handler: _lazy_UhUNDG, lazy: true, middleware: false, method: "get" },
|
|
20380
|
+
{ route: '/api/plugins/invoke', handler: _lazy_QUZe1a, lazy: true, middleware: false, method: "post" },
|
|
20381
|
+
{ route: '/api/plugins/profiles', handler: _lazy_5SHkft, lazy: true, middleware: false, method: "get" },
|
|
20382
|
+
{ route: '/api/plugins/projects', handler: _lazy_mhIdo4, lazy: true, middleware: false, method: "get" },
|
|
20383
|
+
{ route: '/api/plugins/projects', handler: _lazy_zH9tge, lazy: true, middleware: false, method: "post" },
|
|
20384
|
+
{ route: '/api/plugins/thread-limits', handler: _lazy_qE4HMW, lazy: true, middleware: false, method: "get" },
|
|
20385
|
+
{ route: '/api/plugins/thread-limits', handler: _lazy_ByJj04, lazy: true, middleware: false, method: "post" },
|
|
20386
|
+
{ route: '/api/project', handler: _lazy_WLg2Uu, lazy: true, middleware: false, method: "get" },
|
|
20387
|
+
{ route: '/api/project/report', handler: _lazy_sQe2ZF, lazy: true, middleware: false, method: "get" },
|
|
20388
|
+
{ route: '/api/prompt', handler: _lazy_wxPObX, lazy: true, middleware: false, method: "post" },
|
|
20389
|
+
{ route: '/api/push/quiet', handler: _lazy_gHqHgE, lazy: true, middleware: false, method: "post" },
|
|
20390
|
+
{ route: '/api/push/subscribe', handler: _lazy_vXOoN7, lazy: true, middleware: false, method: "post" },
|
|
20391
|
+
{ route: '/api/push/test', handler: _lazy_y3mEYk, lazy: true, middleware: false, method: "post" },
|
|
20392
|
+
{ route: '/api/push/unsubscribe', handler: _lazy_uxxrNB, lazy: true, middleware: false, method: "post" },
|
|
20393
|
+
{ route: '/api/quotas', handler: _lazy_pyinM3, lazy: true, middleware: false, method: "get" },
|
|
20394
|
+
{ route: '/api/rename', handler: _lazy_BBdm99, lazy: true, middleware: false, method: "post" },
|
|
20395
|
+
{ route: '/api/requeue', handler: _lazy_wZhfGo, lazy: true, middleware: false, method: "post" },
|
|
20396
|
+
{ route: '/api/restart', handler: _lazy_CNFo5h, lazy: true, middleware: false, method: "get" },
|
|
20397
|
+
{ route: '/api/restart', handler: _lazy_yDFKBl, lazy: true, middleware: false, method: "post" },
|
|
20398
|
+
{ route: '/api/reveal', handler: _lazy_EmFJ9I, lazy: true, middleware: false, method: "post" },
|
|
20399
|
+
{ route: '/api/screen-key', handler: _lazy_0DhN9V, lazy: true, middleware: false, method: "post" },
|
|
20400
|
+
{ route: '/api/screen', handler: _lazy_5kceYB, lazy: true, middleware: false, method: "get" },
|
|
20401
|
+
{ route: '/api/search', handler: _lazy_K8ukU6, lazy: true, middleware: false, method: "get" },
|
|
20402
|
+
{ route: '/api/seen', handler: _lazy_NXLBIE, lazy: true, middleware: false, method: "post" },
|
|
20403
|
+
{ route: '/api/sessions', handler: _lazy_GOSQuW, lazy: true, middleware: false, method: "get" },
|
|
20404
|
+
{ route: '/api/sessions', handler: _lazy_3y86mR, lazy: true, middleware: false, method: "post" },
|
|
20405
|
+
{ route: '/api/space', handler: _lazy_TqhtLZ, lazy: true, middleware: false, method: "post" },
|
|
20406
|
+
{ route: '/api/state', handler: _lazy_oeuOKk, lazy: true, middleware: false, method: "get" },
|
|
20407
|
+
{ route: '/api/unqueue', handler: _lazy_ecbrXA, lazy: true, middleware: false, method: "post" },
|
|
20408
|
+
{ route: '/api/update', handler: _lazy_AUmWqe, lazy: true, middleware: false, method: "get" },
|
|
20409
|
+
{ route: '/api/upload', handler: _lazy_5f22vB, lazy: true, middleware: false, method: "post" },
|
|
20410
|
+
{ route: '/api/worktrees', handler: _lazy_9iwHBL, lazy: true, middleware: false, method: "get" },
|
|
20411
|
+
{ route: '/api/worktrees/remove', handler: _lazy_IA8rJi, lazy: true, middleware: false, method: "post" },
|
|
20412
|
+
{ route: '/favicon.ico', handler: _lazy_dhT5sm, lazy: true, middleware: false, method: "get" },
|
|
20413
|
+
{ route: '/icons/:name', handler: _lazy_2a3aHZ, lazy: true, middleware: false, method: "get" },
|
|
20414
|
+
{ route: '/uploads/**:name', handler: _lazy_MpH2Yl, lazy: true, middleware: false, method: "get" },
|
|
20415
|
+
{ route: '/ws/**', handler: _lazy_hSqSXW, lazy: true, middleware: false, method: undefined },
|
|
20416
|
+
{ route: '/ws/events', handler: _lazy_N9wZe_, lazy: true, middleware: false, method: undefined },
|
|
20417
|
+
{ route: '/ws/mirror', handler: _lazy_CXgyQE, lazy: true, middleware: false, method: undefined },
|
|
20418
|
+
{ route: '/ws/term', handler: _lazy_Stovcz, lazy: true, middleware: false, method: undefined },
|
|
20419
|
+
{ route: '/__nuxt_error', handler: _lazy_9gHabX, lazy: true, middleware: false, method: undefined },
|
|
20230
20420
|
{ route: '/__nuxt_island/**', handler: _SxA8c9, lazy: false, middleware: false, method: undefined },
|
|
20231
|
-
{ route: '/**', handler:
|
|
20421
|
+
{ route: '/**', handler: _lazy_9gHabX, lazy: true, middleware: false, method: undefined }
|
|
20232
20422
|
];
|
|
20233
20423
|
|
|
20234
20424
|
function createNitroApp() {
|
|
@@ -20687,5 +20877,5 @@ setupGracefulShutdown(listener, nitroApp);
|
|
|
20687
20877
|
}
|
|
20688
20878
|
const nodeServer = {};
|
|
20689
20879
|
|
|
20690
|
-
export { recentDirsWithKinds as $, ATTACH_MAX as A, keysFor as B, parseChoices as C, parseOmpField as D, sameQuestion as E, sleep as F, getMachine as G, HerdrError as H, installClaudeStatusline as I, codexStatus as J, codexMenuOpen as K, terminalUpdateLine as L, MACHINE_KEY_RE as M, terminalUpdateDone as N, restarts as O, PANE_RE as P, log as Q, withPaneLock as R, builtinCommands as S, slashCommands as T, UPLOAD_DIR as U, HOME as V, localMachine as W, readSubs as X, vapidPublicKey as Y, pushReady as Z, machineConfigs as _, defineApi as a, quietActive as a$, installedAgentKinds as a0, IN_DOCKER as a1, HOST_OPEN_TARGET as a2, HOST_OPEN_KEY as a3, PANE_RE$1 as a4, splitId as a5, HOST_OPEN_USER as a6, listDirs as a7, closePanel as a8, setEffort as a9, initVapid as aA, herdrOn as aB, getState as aC, HERDR_CHILD_ENV as aD, HERDR_BIN as aE, currentMachineSlots as aF, paneBaseMachine as aG, projectOf as aH, isProjectThread as aI, limitMachineKeys as aJ, validLimit as aK, readThreadLimits as aL, writeThreadLimits as aM, closeTrailingMention as aN, restarting as aO, hasHeld as aP, INPUT_STATES as aQ, inputVisible as aR, shouldHold as aS, sendPrompt as aT, agentPrompt as aU, isBusyError as aV, HOLD_AGENTS as aW, pendingPrompts as aX, parseQuiet as aY, writeGlobalQuiet as aZ, writeSubs as a_, refreshModel as aa, listEfforts as ab, saveUpload as ac, underHome as ad, isSlashCommand as ae, addQueued as af, interruptAgent as ag, takeBackFromClaude as ah, takeBack as ai, isGitRepo as aj, projectFolderKinds as ak, baseMachines as al, DATA_DIR as am, renameMachine as an, readMenu as ao, searchKeys as ap, findEntry as aq, stepToward as ar, clickMovesOnly as as, setModel as at, listModels as au, TOP as av, HOST_LABEL as aw, getRequestHeaders as ax, ENV_APP_URL as ay, APP_URL_FILE as az, screenChoices as b, readGlobalQuiet as b0, validPushSubscription as b1, replaceSubscription as b2, pushSend as b3, readQuotas as b4, retryQueued as b5, parseWaitScreen as b6,
|
|
20880
|
+
export { recentDirsWithKinds as $, ATTACH_MAX as A, keysFor as B, parseChoices as C, parseOmpField as D, sameQuestion as E, sleep as F, getMachine as G, HerdrError as H, installClaudeStatusline as I, codexStatus as J, codexMenuOpen as K, terminalUpdateLine as L, MACHINE_KEY_RE as M, terminalUpdateDone as N, restarts as O, PANE_RE as P, log as Q, withPaneLock as R, builtinCommands as S, slashCommands as T, UPLOAD_DIR as U, HOME as V, localMachine as W, readSubs as X, vapidPublicKey as Y, pushReady as Z, machineConfigs as _, defineApi as a, quietActive as a$, installedAgentKinds as a0, IN_DOCKER as a1, HOST_OPEN_TARGET as a2, HOST_OPEN_KEY as a3, PANE_RE$1 as a4, splitId as a5, HOST_OPEN_USER as a6, listDirs as a7, closePanel as a8, setEffort as a9, initVapid as aA, herdrOn as aB, getState as aC, HERDR_CHILD_ENV as aD, HERDR_BIN as aE, currentMachineSlots as aF, paneBaseMachine as aG, projectOf as aH, isProjectThread as aI, limitMachineKeys as aJ, validLimit as aK, readThreadLimits as aL, writeThreadLimits as aM, closeTrailingMention as aN, restarting as aO, hasHeld as aP, INPUT_STATES as aQ, inputVisible as aR, shouldHold as aS, sendPrompt as aT, agentPrompt as aU, isBusyError as aV, HOLD_AGENTS as aW, pendingPrompts as aX, parseQuiet as aY, writeGlobalQuiet as aZ, writeSubs as a_, refreshModel as aa, listEfforts as ab, saveUpload as ac, underHome as ad, isSlashCommand as ae, addQueued as af, interruptAgent as ag, takeBackFromClaude as ah, takeBack as ai, isGitRepo as aj, projectFolderKinds as ak, baseMachines as al, DATA_DIR as am, renameMachine as an, readMenu as ao, searchKeys as ap, findEntry as aq, stepToward as ar, clickMovesOnly as as, setModel as at, listModels as au, TOP as av, HOST_LABEL as aw, getRequestHeaders as ax, ENV_APP_URL as ay, APP_URL_FILE as az, screenChoices as b, readGlobalQuiet as b0, validPushSubscription as b1, replaceSubscription as b2, pushSend as b3, readQuotas as b4, retryQueued as b5, parseWaitScreen as b6, settingsTabs as b7, tabsOfRow as b8, hasTranscript as b9, encodePath as bA, joinRelativeURL as bB, defineRenderHandler as bC, createError$1 as bD, destr as bE, getRouteRules as bF, relative as bG, joinURL as bH, getResponseStatusText as bI, getResponseStatus as bJ, useNitroApp as bK, nodeServer as bL, SEARCH_DEADLINE_MS as ba, SEARCH_MAX_RESULTS as bb, spaceTitle as bc, markSeen as bd, listSessions as be, openSession as bf, PANE_DIRECTIONS as bg, cancelQueued as bh, installMode as bi, updateCommand as bj, compareVersions as bk, allMachines as bl, recentDirs as bm, joinId as bn, useStorage as bo, setResponseHeader as bp, getRouterParam as bq, readUpload as br, defineWebSocketHandler as bs, eventClients as bt, getStateJson as bu, hostAllowed as bv, sameOrigin as bw, mirrorSize as bx, openTerm as by, useRuntimeConfig as bz, createAgent as c, defineEventHandler as d, watchScreen as e, findPane as f, choicesCache as g, herdr as h, getQuery as i, saveAttachment as j, auth as k, localMachineLabel as l, machineFor as m, machineOfPane as n, fmt as o, poll as p, transcripts as q, reqOf as r, sendError as s, takenBackOf as t, uploadNames as u, withoutTakenBack as v, withOmpTab as w, withSentText as x, currentModel as y, sendImage as z };
|
|
20691
20881
|
//# sourceMappingURL=nitro.mjs.map
|