wherdr 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{AgentView.CfD2RWZY.css → AgentView.B12D6ccj.css} +1 -1
- package/.output/public/_nuxt/AgentView.B12D6ccj.css.br +0 -0
- package/.output/public/_nuxt/AgentView.B12D6ccj.css.gz +0 -0
- package/.output/public/_nuxt/{DuVQjOfc.js → B2KlcBQ-.js} +1 -1
- package/.output/public/_nuxt/B2KlcBQ-.js.br +0 -0
- package/.output/public/_nuxt/{DuVQjOfc.js.gz → B2KlcBQ-.js.gz} +0 -0
- package/.output/public/_nuxt/BDTOz37p.js +1 -0
- package/.output/public/_nuxt/BDTOz37p.js.br +0 -0
- package/.output/public/_nuxt/BDTOz37p.js.gz +0 -0
- package/.output/public/_nuxt/BGD5AamG.js +25 -0
- package/.output/public/_nuxt/BGD5AamG.js.br +0 -0
- package/.output/public/_nuxt/BGD5AamG.js.gz +0 -0
- package/.output/public/_nuxt/BdJIc1Xf.js +1 -0
- package/.output/public/_nuxt/BdJIc1Xf.js.br +0 -0
- package/.output/public/_nuxt/BdJIc1Xf.js.gz +0 -0
- package/.output/public/_nuxt/BxlzUs1i.js +23 -0
- package/.output/public/_nuxt/BxlzUs1i.js.br +0 -0
- package/.output/public/_nuxt/BxlzUs1i.js.gz +0 -0
- package/.output/public/_nuxt/C-BDzEtI.js +3 -0
- package/.output/public/_nuxt/C-BDzEtI.js.br +0 -0
- package/.output/public/_nuxt/C-BDzEtI.js.gz +0 -0
- package/.output/public/_nuxt/{CML5cHwz.js → CLf2i_DM.js} +1 -1
- package/.output/public/_nuxt/CO4sDeSt.js +62 -0
- package/.output/public/_nuxt/CO4sDeSt.js.br +0 -0
- package/.output/public/_nuxt/CO4sDeSt.js.gz +0 -0
- package/.output/public/_nuxt/{CoRTPMqP.js → CPlkxpge.js} +42 -42
- package/.output/public/_nuxt/CPlkxpge.js.br +0 -0
- package/.output/public/_nuxt/CPlkxpge.js.gz +0 -0
- package/.output/public/_nuxt/CTPNZj4T.js +9 -0
- package/.output/public/_nuxt/CTPNZj4T.js.br +0 -0
- package/.output/public/_nuxt/CTPNZj4T.js.gz +0 -0
- package/.output/public/_nuxt/CV6ukk-M.js +1 -0
- package/.output/public/_nuxt/CgUSTIM1.js +1 -0
- package/.output/public/_nuxt/CgUSTIM1.js.br +0 -0
- package/.output/public/_nuxt/CgUSTIM1.js.gz +0 -0
- package/.output/public/_nuxt/CwurhZnh.js +123 -0
- package/.output/public/_nuxt/CwurhZnh.js.br +0 -0
- package/.output/public/_nuxt/CwurhZnh.js.gz +0 -0
- package/.output/public/_nuxt/D7fCPncR.js +1 -0
- package/.output/public/_nuxt/D7fCPncR.js.br +0 -0
- package/.output/public/_nuxt/D7fCPncR.js.gz +0 -0
- package/.output/public/_nuxt/DFe-cDm2.js +1 -0
- package/.output/public/_nuxt/DFe-cDm2.js.br +0 -0
- package/.output/public/_nuxt/DFe-cDm2.js.gz +0 -0
- package/.output/public/_nuxt/Dpe9TNcA.js +31 -0
- package/.output/public/_nuxt/Dpe9TNcA.js.br +0 -0
- package/.output/public/_nuxt/Dpe9TNcA.js.gz +0 -0
- package/.output/public/_nuxt/{board.CeTYM1XN.css → board.fZYj3O-m.css} +1 -1
- package/.output/public/_nuxt/board.fZYj3O-m.css.br +0 -0
- package/.output/public/_nuxt/board.fZYj3O-m.css.gz +0 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json +1 -0
- package/.output/public/_nuxt/entry.KNdllmoL.css +2 -0
- package/.output/public/_nuxt/entry.KNdllmoL.css.br +0 -0
- package/.output/public/_nuxt/entry.KNdllmoL.css.gz +0 -0
- package/.output/public/sw.js +1 -1
- package/.output/server/chunks/_/branding.mjs +1 -1
- package/.output/server/chunks/_/package.mjs +1 -1
- package/.output/server/chunks/_/selfupdate.mjs +1 -1
- package/.output/server/chunks/_/updates.mjs +18 -5
- package/.output/server/chunks/_/worktrees.mjs +1 -1
- package/.output/server/chunks/_/ws.mjs +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +1109 -609
- package/.output/server/chunks/raw/install-claude-statusline.mjs +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +55 -2
- package/.output/server/chunks/routes/api/seen.post.mjs +1 -1
- package/.output/server/chunks/routes/api/send-now.post.mjs +53 -0
- package/.output/server/chunks/routes/api/sessions.get.mjs +1 -1
- package/.output/server/chunks/routes/api/sessions.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings-tab.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings.post.mjs +1 -1
- package/.output/server/chunks/routes/api/space.post.mjs +1 -177
- package/.output/server/chunks/routes/api/split-command.post.mjs +157 -0
- package/.output/server/chunks/routes/api/tasks/action.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/add.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/after.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/approve.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/archive-done.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/archived.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/autopilot.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/autopilot.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/board-settings.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/board-settings.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/coordinator.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/coordinator.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/describe.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/details.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/limit.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/links.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/models.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/pick.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/project.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/project.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/question.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/scheduled.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/settings.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/start.get.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks/tell.post.mjs +1 -1
- package/.output/server/chunks/routes/api/tasks.get.mjs +1 -1
- package/.output/server/chunks/routes/api/unqueue.post.mjs +1 -1
- package/.output/server/chunks/routes/icons/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/routes/uploads/_...name_.get.mjs +1 -1
- package/.output/server/chunks/routes/ws/_..._.mjs +1 -1
- package/.output/server/chunks/routes/ws/events.mjs +5 -1
- package/.output/server/chunks/routes/ws/term.mjs +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README.md +3 -1
- package/docs/README.md +5 -0
- package/docs/RELEASING.md +18 -10
- package/docs/board.md +8 -1
- package/docs/design.md +112 -0
- package/docs/devices.md +5 -0
- package/docs/herdr-projects-1x.md +28 -0
- package/docs/home.md +9 -0
- package/docs/installation.md +12 -0
- package/docs/quotas.md +6 -0
- package/docs/release-notes-2.3.0.md +23 -0
- package/docs/release-notes-2.4.0.md +37 -0
- package/package.json +1 -1
- package/.output/public/_nuxt/30nuHmZs.js +0 -1
- package/.output/public/_nuxt/30nuHmZs.js.br +0 -0
- package/.output/public/_nuxt/30nuHmZs.js.gz +0 -0
- package/.output/public/_nuxt/4gY2mLGX.js +0 -62
- package/.output/public/_nuxt/4gY2mLGX.js.br +0 -0
- package/.output/public/_nuxt/4gY2mLGX.js.gz +0 -0
- package/.output/public/_nuxt/AgentView.CfD2RWZY.css.br +0 -0
- package/.output/public/_nuxt/AgentView.CfD2RWZY.css.gz +0 -0
- package/.output/public/_nuxt/B8eSr-59.js +0 -1
- package/.output/public/_nuxt/B8eSr-59.js.br +0 -0
- package/.output/public/_nuxt/B8eSr-59.js.gz +0 -0
- package/.output/public/_nuxt/BsbsvkAK.js +0 -1
- package/.output/public/_nuxt/BsbsvkAK.js.br +0 -0
- package/.output/public/_nuxt/BsbsvkAK.js.gz +0 -0
- package/.output/public/_nuxt/CN39A7L5.js +0 -3
- package/.output/public/_nuxt/CN39A7L5.js.br +0 -0
- package/.output/public/_nuxt/CN39A7L5.js.gz +0 -0
- package/.output/public/_nuxt/CfQgQDOp.js +0 -9
- package/.output/public/_nuxt/CfQgQDOp.js.br +0 -0
- package/.output/public/_nuxt/CfQgQDOp.js.gz +0 -0
- package/.output/public/_nuxt/CoRTPMqP.js.br +0 -0
- package/.output/public/_nuxt/CoRTPMqP.js.gz +0 -0
- package/.output/public/_nuxt/CvGCN0_f.js +0 -23
- package/.output/public/_nuxt/CvGCN0_f.js.br +0 -0
- package/.output/public/_nuxt/CvGCN0_f.js.gz +0 -0
- package/.output/public/_nuxt/DmYihq1h.js +0 -1
- package/.output/public/_nuxt/DoX0nZZb.js +0 -105
- package/.output/public/_nuxt/DoX0nZZb.js.br +0 -0
- package/.output/public/_nuxt/DoX0nZZb.js.gz +0 -0
- package/.output/public/_nuxt/DuVQjOfc.js.br +0 -0
- package/.output/public/_nuxt/Y-4S7Nuf.js +0 -1
- package/.output/public/_nuxt/Y-4S7Nuf.js.br +0 -0
- package/.output/public/_nuxt/Y-4S7Nuf.js.gz +0 -0
- package/.output/public/_nuxt/board.CeTYM1XN.css.br +0 -0
- package/.output/public/_nuxt/board.CeTYM1XN.css.gz +0 -0
- package/.output/public/_nuxt/builds/meta/fd79ea32-8bac-487a-afa1-7a6e336fff3f.json +0 -1
- package/.output/public/_nuxt/entry.Cd2iNkBC.css +0 -2
- package/.output/public/_nuxt/entry.Cd2iNkBC.css.br +0 -0
- package/.output/public/_nuxt/entry.Cd2iNkBC.css.gz +0 -0
- package/.output/public/_nuxt/hSqNtAW9.js +0 -25
- package/.output/public/_nuxt/hSqNtAW9.js.br +0 -0
- package/.output/public/_nuxt/hSqNtAW9.js.gz +0 -0
- package/.output/public/_nuxt/o1wml4Rx.js +0 -31
- package/.output/public/_nuxt/o1wml4Rx.js.br +0 -0
- package/.output/public/_nuxt/o1wml4Rx.js.gz +0 -0
|
@@ -8648,91 +8648,91 @@ async function dispose(driver) {
|
|
|
8648
8648
|
const _assets = {
|
|
8649
8649
|
["scripts:build-nerd-font.py"]: {
|
|
8650
8650
|
import: () => import('../raw/build-nerd-font.mjs').then(r => r.default || r),
|
|
8651
|
-
meta: {"type":"text/plain; charset=utf-8","etag":"\"13aa-ys9YUI0kyQcBWrUDXjdBVLF8Z3E\"","mtime":"2026-10-
|
|
8651
|
+
meta: {"type":"text/plain; charset=utf-8","etag":"\"13aa-ys9YUI0kyQcBWrUDXjdBVLF8Z3E\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8652
8652
|
},
|
|
8653
8653
|
["scripts:build-terminal-font.py"]: {
|
|
8654
8654
|
import: () => import('../raw/build-terminal-font.mjs').then(r => r.default || r),
|
|
8655
|
-
meta: {"type":"text/plain; charset=utf-8","etag":"\"cf5-BDqHg2xDFu+6dg84HBWtyBtrEoU\"","mtime":"2026-10-
|
|
8655
|
+
meta: {"type":"text/plain; charset=utf-8","etag":"\"cf5-BDqHg2xDFu+6dg84HBWtyBtrEoU\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8656
8656
|
},
|
|
8657
8657
|
["scripts:bump-homebrew.sh"]: {
|
|
8658
8658
|
import: () => import('../raw/bump-homebrew.mjs').then(r => r.default || r),
|
|
8659
|
-
meta: {"type":"application/x-sh","etag":"\"8b5-n/EiMEIUoHPuQl2XTJU0tSNn7FY\"","mtime":"2026-10-
|
|
8659
|
+
meta: {"type":"application/x-sh","etag":"\"8b5-n/EiMEIUoHPuQl2XTJU0tSNn7FY\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8660
8660
|
},
|
|
8661
8661
|
["scripts:check-doc-links.mjs"]: {
|
|
8662
8662
|
import: () => import('../raw/check-doc-links.mjs').then(r => r.default || r),
|
|
8663
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"111e-oejL0jmpzfjFEWxPN+9qu5uF9Bw\"","mtime":"2026-10-
|
|
8663
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"111e-oejL0jmpzfjFEWxPN+9qu5uF9Bw\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8664
8664
|
},
|
|
8665
8665
|
["scripts:check-leaks.mjs"]: {
|
|
8666
8666
|
import: () => import('../raw/check-leaks.mjs').then(r => r.default || r),
|
|
8667
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"30f6-6/YiH8VxbjC5TNeu9LlD3pzBmiY\"","mtime":"2026-10-
|
|
8667
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"30f6-6/YiH8VxbjC5TNeu9LlD3pzBmiY\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8668
8668
|
},
|
|
8669
8669
|
["scripts:check-release-notes.mjs"]: {
|
|
8670
8670
|
import: () => import('../raw/check-release-notes.mjs').then(r => r.default || r),
|
|
8671
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"654-zI3BCnX2ydk480NonbjdCfu8XKg\"","mtime":"2026-10-
|
|
8671
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"654-zI3BCnX2ydk480NonbjdCfu8XKg\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8672
8672
|
},
|
|
8673
8673
|
["scripts:herdr-plugin.sh"]: {
|
|
8674
8674
|
import: () => import('../raw/herdr-plugin.mjs').then(r => r.default || r),
|
|
8675
|
-
meta: {"type":"application/x-sh","etag":"\"6c52-rUwB0ZqIlTkczogm1xwfvSvGSNA\"","mtime":"2026-10-
|
|
8675
|
+
meta: {"type":"application/x-sh","etag":"\"6c52-rUwB0ZqIlTkczogm1xwfvSvGSNA\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8676
8676
|
},
|
|
8677
8677
|
["scripts:install-claude-statusline.sh"]: {
|
|
8678
8678
|
import: () => import('../raw/install-claude-statusline.mjs').then(r => r.default || r),
|
|
8679
|
-
meta: {"type":"application/x-sh","etag":"\"
|
|
8679
|
+
meta: {"type":"application/x-sh","etag":"\"1400-qUTjl1eEy7w4kelcFGDoByDdjDM\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8680
8680
|
},
|
|
8681
8681
|
["scripts:pack-output.mjs"]: {
|
|
8682
8682
|
import: () => import('../raw/pack-output.mjs').then(r => r.default || r),
|
|
8683
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"54b-eU4eNNIxIecG1kwaLdtiTYODSSI\"","mtime":"2026-10-
|
|
8683
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"54b-eU4eNNIxIecG1kwaLdtiTYODSSI\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8684
8684
|
},
|
|
8685
8685
|
["scripts:prerelease-summary.mjs"]: {
|
|
8686
8686
|
import: () => import('../raw/prerelease-summary.mjs').then(r => r.default || r),
|
|
8687
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"4bf-hjbQniJqK64ox0o4o+lKO4T3co8\"","mtime":"2026-10-
|
|
8687
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"4bf-hjbQniJqK64ox0o4o+lKO4T3co8\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8688
8688
|
},
|
|
8689
8689
|
["scripts:prerelease.sh"]: {
|
|
8690
8690
|
import: () => import('../raw/prerelease.mjs').then(r => r.default || r),
|
|
8691
|
-
meta: {"type":"application/x-sh","etag":"\"1b93-FGORYtgWgRCx/nvbV5w5LZFGvWM\"","mtime":"2026-10-
|
|
8691
|
+
meta: {"type":"application/x-sh","etag":"\"1b93-FGORYtgWgRCx/nvbV5w5LZFGvWM\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8692
8692
|
},
|
|
8693
8693
|
["scripts:release-ready.mjs"]: {
|
|
8694
8694
|
import: () => import('../raw/release-ready.mjs').then(r => r.default || r),
|
|
8695
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"a44-ceu/5BQO5TUWzE/HNW2C/LvdCqw\"","mtime":"2026-10-
|
|
8695
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"a44-ceu/5BQO5TUWzE/HNW2C/LvdCqw\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8696
8696
|
},
|
|
8697
8697
|
["scripts:reveal.sh"]: {
|
|
8698
8698
|
import: () => import('../raw/reveal.mjs').then(r => r.default || r),
|
|
8699
|
-
meta: {"type":"application/x-sh","etag":"\"6c3-PXdXngtqrHUBK3LE4horeuveBYI\"","mtime":"2026-10-
|
|
8699
|
+
meta: {"type":"application/x-sh","etag":"\"6c3-PXdXngtqrHUBK3LE4horeuveBYI\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8700
8700
|
},
|
|
8701
8701
|
["scripts:test-affected.mjs"]: {
|
|
8702
8702
|
import: () => import('../raw/test-affected.mjs').then(r => r.default || r),
|
|
8703
|
-
meta: {"type":"text/javascript; charset=utf-8","etag":"\"2525-8/qtDJsv4VCisifVU6tEnYnLuC0\"","mtime":"2026-10-
|
|
8703
|
+
meta: {"type":"text/javascript; charset=utf-8","etag":"\"2525-8/qtDJsv4VCisifVU6tEnYnLuC0\"","mtime":"2026-10-30T16:50:04.493Z"}
|
|
8704
8704
|
},
|
|
8705
8705
|
["server:branding:favicon.ico"]: {
|
|
8706
8706
|
import: () => import('../raw/favicon.mjs').then(r => r.default || r),
|
|
8707
|
-
meta: {"type":"image/vnd.microsoft.icon","etag":"\"3aee-Oem7XTWv+9HEwv9u/3K5QcIjS3E\"","mtime":"2026-10-
|
|
8707
|
+
meta: {"type":"image/vnd.microsoft.icon","etag":"\"3aee-Oem7XTWv+9HEwv9u/3K5QcIjS3E\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8708
8708
|
},
|
|
8709
8709
|
["server:branding:icons:apple-touch-icon.png"]: {
|
|
8710
8710
|
import: () => import('../raw/apple-touch-icon.mjs').then(r => r.default || r),
|
|
8711
|
-
meta: {"type":"image/png","etag":"\"1f8-AVRrBnAhalXrGkFPGdvl0fM7DH8\"","mtime":"2026-10-
|
|
8711
|
+
meta: {"type":"image/png","etag":"\"1f8-AVRrBnAhalXrGkFPGdvl0fM7DH8\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8712
8712
|
},
|
|
8713
8713
|
["server:branding:icons:favicon-32.png"]: {
|
|
8714
8714
|
import: () => import('../raw/favicon-32.mjs').then(r => r.default || r),
|
|
8715
|
-
meta: {"type":"image/png","etag":"\"a3-hAEc+Ymq1aYS3kFLyZK/H18Pge8\"","mtime":"2026-10-
|
|
8715
|
+
meta: {"type":"image/png","etag":"\"a3-hAEc+Ymq1aYS3kFLyZK/H18Pge8\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8716
8716
|
},
|
|
8717
8717
|
["server:branding:icons:icon-192.png"]: {
|
|
8718
8718
|
import: () => import('../raw/icon-192.mjs').then(r => r.default || r),
|
|
8719
|
-
meta: {"type":"image/png","etag":"\"222-kioUoPaSCUaRhKKWw0PRtFbAhxk\"","mtime":"2026-10-
|
|
8719
|
+
meta: {"type":"image/png","etag":"\"222-kioUoPaSCUaRhKKWw0PRtFbAhxk\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8720
8720
|
},
|
|
8721
8721
|
["server:branding:icons:icon-512-maskable.png"]: {
|
|
8722
8722
|
import: () => import('../raw/icon-512-maskable.mjs').then(r => r.default || r),
|
|
8723
|
-
meta: {"type":"image/png","etag":"\"84b-mCXgbBkXk7sqOhmJ8hjp80SN3Qk\"","mtime":"2026-10-
|
|
8723
|
+
meta: {"type":"image/png","etag":"\"84b-mCXgbBkXk7sqOhmJ8hjp80SN3Qk\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8724
8724
|
},
|
|
8725
8725
|
["server:branding:icons:icon-512.png"]: {
|
|
8726
8726
|
import: () => import('../raw/icon-512.mjs').then(r => r.default || r),
|
|
8727
|
-
meta: {"type":"image/png","etag":"\"8fc-ZwRMqAqQZeLLx4iNTZxs09C4Q1I\"","mtime":"2026-10-
|
|
8727
|
+
meta: {"type":"image/png","etag":"\"8fc-ZwRMqAqQZeLLx4iNTZxs09C4Q1I\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8728
8728
|
},
|
|
8729
8729
|
["server:branding:icons:icon-maskable.svg"]: {
|
|
8730
8730
|
import: () => import('../raw/icon-maskable.mjs').then(r => r.default || r),
|
|
8731
|
-
meta: {"type":"image/svg+xml","etag":"\"4a1-7XtnuN5ZOwiwIjpgpj+/Rg9LssY\"","mtime":"2026-10-
|
|
8731
|
+
meta: {"type":"image/svg+xml","etag":"\"4a1-7XtnuN5ZOwiwIjpgpj+/Rg9LssY\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8732
8732
|
},
|
|
8733
8733
|
["server:branding:icons:icon.svg"]: {
|
|
8734
8734
|
import: () => import('../raw/icon.mjs').then(r => r.default || r),
|
|
8735
|
-
meta: {"type":"image/svg+xml","etag":"\"49c-O1XxkWwKTf6VBoC0i4TEPdGPsCw\"","mtime":"2026-10-
|
|
8735
|
+
meta: {"type":"image/svg+xml","etag":"\"49c-O1XxkWwKTf6VBoC0i4TEPdGPsCw\"","mtime":"2026-10-30T16:50:04.497Z"}
|
|
8736
8736
|
}
|
|
8737
8737
|
};
|
|
8738
8738
|
|
|
@@ -9635,7 +9635,7 @@ function _expandFromEnv(value) {
|
|
|
9635
9635
|
const _inlineRuntimeConfig = {
|
|
9636
9636
|
"app": {
|
|
9637
9637
|
"baseURL": "/",
|
|
9638
|
-
"buildId": "
|
|
9638
|
+
"buildId": "75cc4ea7-3027-463a-aa3e-29e474ed7173",
|
|
9639
9639
|
"buildAssetsDir": "/_nuxt/",
|
|
9640
9640
|
"cdnURL": ""
|
|
9641
9641
|
},
|
|
@@ -10191,7 +10191,6 @@ function parseStatusSocket(out) {
|
|
|
10191
10191
|
const m = /^\s*socket:\s*(\S.*?)\s*$/m.exec(String(out || ""));
|
|
10192
10192
|
return m ? m[1] : null;
|
|
10193
10193
|
}
|
|
10194
|
-
const AGENT_NAME_HINT = "Name: use at least one letter or digit";
|
|
10195
10194
|
const LIGATURES = { "\xDF": "ss", "\xE6": "ae", "\u0153": "oe", "\xF8": "o", "\u0111": "d", "\u0142": "l", "\xFE": "th" };
|
|
10196
10195
|
function toAgentName(raw) {
|
|
10197
10196
|
let s = String(raw != null ? raw : "").normalize("NFKD").replace(/\p{M}+/gu, "").toLowerCase();
|
|
@@ -10809,15 +10808,15 @@ async function refreshTailscale(read = defaultReader, now = Date.now()) {
|
|
|
10809
10808
|
}
|
|
10810
10809
|
notify();
|
|
10811
10810
|
}
|
|
10812
|
-
let inflight
|
|
10811
|
+
let inflight = null;
|
|
10813
10812
|
async function ensureFresh(maxAgeMs, read = defaultReader, now = Date.now()) {
|
|
10814
10813
|
if (ts && ts.at >= now - maxAgeMs) return;
|
|
10815
|
-
if (inflight
|
|
10814
|
+
if (inflight && inflight.at >= now - maxAgeMs) return inflight.done;
|
|
10816
10815
|
const at = Date.now();
|
|
10817
10816
|
const done = refreshTailscale(read, at).finally(() => {
|
|
10818
|
-
if ((inflight
|
|
10817
|
+
if ((inflight == null ? void 0 : inflight.done) === done) inflight = null;
|
|
10819
10818
|
});
|
|
10820
|
-
inflight
|
|
10819
|
+
inflight = { at, done };
|
|
10821
10820
|
return done;
|
|
10822
10821
|
}
|
|
10823
10822
|
function netContext(now = Date.now()) {
|
|
@@ -11089,20 +11088,20 @@ function parseSessionList(raw, baseKey, baseSession) {
|
|
|
11089
11088
|
return out.sort((a, b) => a.name === baseSession ? -1 : b.name === baseSession ? 1 : a.name.localeCompare(b.name));
|
|
11090
11089
|
}
|
|
11091
11090
|
|
|
11092
|
-
var __defProp$
|
|
11093
|
-
var __defNormalProp$
|
|
11094
|
-
var __publicField$
|
|
11091
|
+
var __defProp$d = Object.defineProperty;
|
|
11092
|
+
var __defNormalProp$d = (obj, key, value) => key in obj ? __defProp$d(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11093
|
+
var __publicField$d = (obj, key, value) => __defNormalProp$d(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
11095
11094
|
const SCREEN_MACHINE_MAX = 2;
|
|
11096
11095
|
const SCREEN_TOTAL_MAX = 4;
|
|
11097
11096
|
class ScreenGate {
|
|
11098
11097
|
constructor() {
|
|
11099
|
-
__publicField$
|
|
11100
|
-
__publicField$
|
|
11101
|
-
__publicField$
|
|
11102
|
-
__publicField$
|
|
11103
|
-
__publicField$
|
|
11104
|
-
__publicField$
|
|
11105
|
-
__publicField$
|
|
11098
|
+
__publicField$d(this, "active", 0);
|
|
11099
|
+
__publicField$d(this, "background", 0);
|
|
11100
|
+
__publicField$d(this, "backgroundMachines", /* @__PURE__ */ new Map());
|
|
11101
|
+
__publicField$d(this, "machines", /* @__PURE__ */ new Map());
|
|
11102
|
+
__publicField$d(this, "priority", () => false);
|
|
11103
|
+
__publicField$d(this, "reserved", () => false);
|
|
11104
|
+
__publicField$d(this, "queue", []);
|
|
11106
11105
|
}
|
|
11107
11106
|
run(machine, work, pane) {
|
|
11108
11107
|
return new Promise((resolve, reject) => {
|
|
@@ -11162,13 +11161,13 @@ function fmt(template, params) {
|
|
|
11162
11161
|
return template.replace(/\{(\w+)\}/g, (all, k) => params[k] == null ? all : String(params[k]));
|
|
11163
11162
|
}
|
|
11164
11163
|
|
|
11165
|
-
var __defProp$
|
|
11166
|
-
var __defNormalProp$
|
|
11167
|
-
var __publicField$
|
|
11164
|
+
var __defProp$c = Object.defineProperty;
|
|
11165
|
+
var __defNormalProp$c = (obj, key, value) => key in obj ? __defProp$c(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11166
|
+
var __publicField$c = (obj, key, value) => __defNormalProp$c(obj, key + "" , value);
|
|
11168
11167
|
class HerdrError extends Error {
|
|
11169
11168
|
constructor(code, message) {
|
|
11170
11169
|
super(message);
|
|
11171
|
-
__publicField$
|
|
11170
|
+
__publicField$c(this, "code");
|
|
11172
11171
|
this.code = code;
|
|
11173
11172
|
}
|
|
11174
11173
|
}
|
|
@@ -11243,9 +11242,9 @@ async function agentPrompt(target, text) {
|
|
|
11243
11242
|
}
|
|
11244
11243
|
const sleep$1 = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
11245
11244
|
|
|
11246
|
-
var __defProp$
|
|
11247
|
-
var __defNormalProp$
|
|
11248
|
-
var __publicField$
|
|
11245
|
+
var __defProp$b = Object.defineProperty;
|
|
11246
|
+
var __defNormalProp$b = (obj, key, value) => key in obj ? __defProp$b(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11247
|
+
var __publicField$b = (obj, key, value) => __defNormalProp$b(obj, key + "" , value);
|
|
11249
11248
|
const fsp$4 = fs.promises;
|
|
11250
11249
|
const toStat = (st) => ({ size: st.size, mtimeMs: st.mtimeMs, isFile: st.isFile(), isDir: st.isDirectory(), ino: st.ino });
|
|
11251
11250
|
const localFs = {
|
|
@@ -11294,7 +11293,7 @@ function boundedOutput(max = Infinity) {
|
|
|
11294
11293
|
class FsError extends Error {
|
|
11295
11294
|
constructor(code, message) {
|
|
11296
11295
|
super(message);
|
|
11297
|
-
__publicField$
|
|
11296
|
+
__publicField$b(this, "code");
|
|
11298
11297
|
this.code = code;
|
|
11299
11298
|
}
|
|
11300
11299
|
}
|
|
@@ -11413,9 +11412,9 @@ async function listDirsLocal(dir) {
|
|
|
11413
11412
|
return out;
|
|
11414
11413
|
}
|
|
11415
11414
|
|
|
11416
|
-
var __defProp$
|
|
11417
|
-
var __defNormalProp$
|
|
11418
|
-
var __publicField$
|
|
11415
|
+
var __defProp$a = Object.defineProperty;
|
|
11416
|
+
var __defNormalProp$a = (obj, key, value) => key in obj ? __defProp$a(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11417
|
+
var __publicField$a = (obj, key, value) => __defNormalProp$a(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
11419
11418
|
const SSH_MAX_SESSIONS = 10;
|
|
11420
11419
|
const STREAM_MARGIN = 2;
|
|
11421
11420
|
const EXEC_MAX = 6;
|
|
@@ -11424,14 +11423,14 @@ const REFUSED_RE = /session open refused|session request failed|administratively
|
|
|
11424
11423
|
const isRefused = (stderr) => REFUSED_RE.test(stderr);
|
|
11425
11424
|
class SessionGate {
|
|
11426
11425
|
constructor(opts = {}) {
|
|
11427
|
-
__publicField$
|
|
11428
|
-
__publicField$
|
|
11429
|
-
__publicField$
|
|
11430
|
-
__publicField$
|
|
11431
|
-
__publicField$
|
|
11432
|
-
__publicField$
|
|
11433
|
-
__publicField$
|
|
11434
|
-
__publicField$
|
|
11426
|
+
__publicField$a(this, "opts", opts);
|
|
11427
|
+
__publicField$a(this, "execs", 0);
|
|
11428
|
+
__publicField$a(this, "streams", 0);
|
|
11429
|
+
__publicField$a(this, "peak", 0);
|
|
11430
|
+
__publicField$a(this, "refusals", 0);
|
|
11431
|
+
__publicField$a(this, "streak", 0);
|
|
11432
|
+
__publicField$a(this, "waiting", []);
|
|
11433
|
+
__publicField$a(this, "inflight", /* @__PURE__ */ new Map());
|
|
11435
11434
|
}
|
|
11436
11435
|
// Short commands allowed at once with the streams currently open.
|
|
11437
11436
|
capacity() {
|
|
@@ -11534,21 +11533,21 @@ class SessionGate {
|
|
|
11534
11533
|
}
|
|
11535
11534
|
}
|
|
11536
11535
|
|
|
11537
|
-
var __defProp$
|
|
11538
|
-
var __defNormalProp$
|
|
11539
|
-
var __publicField$
|
|
11536
|
+
var __defProp$9 = Object.defineProperty;
|
|
11537
|
+
var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11538
|
+
var __publicField$9 = (obj, key, value) => __defNormalProp$9(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
11540
11539
|
const socketTransport = (remote) => remote.startsWith("/") && !/[\\:]/.test(remote) ? "forward" : "relay";
|
|
11541
11540
|
function bridgeCommand(bin, session, client = false, check = false) {
|
|
11542
11541
|
return `exec ${[bin, "--session", session, client ? "remote-client-bridge" : "remote-api-bridge", ...check ? ["--check"] : []].map(shq).join(" ")}`;
|
|
11543
11542
|
}
|
|
11544
11543
|
class SocketRelay {
|
|
11545
11544
|
constructor(spawn, schedule = (run) => run()) {
|
|
11546
|
-
__publicField$
|
|
11547
|
-
__publicField$
|
|
11548
|
-
__publicField$
|
|
11549
|
-
__publicField$
|
|
11550
|
-
__publicField$
|
|
11551
|
-
__publicField$
|
|
11545
|
+
__publicField$9(this, "spawn", spawn);
|
|
11546
|
+
__publicField$9(this, "schedule", schedule);
|
|
11547
|
+
__publicField$9(this, "sockets", /* @__PURE__ */ new Set());
|
|
11548
|
+
__publicField$9(this, "children", /* @__PURE__ */ new Set());
|
|
11549
|
+
__publicField$9(this, "stopped", false);
|
|
11550
|
+
__publicField$9(this, "server");
|
|
11552
11551
|
this.server = net.createServer((socket) => {
|
|
11553
11552
|
this.sockets.add(socket);
|
|
11554
11553
|
socket.on("error", () => socket.destroy());
|
|
@@ -12332,9 +12331,12 @@ const OMP_SELECT_TOP = /^\s*[╭+][─-] (.+?) [─-]+[╮+]\s*$/;
|
|
|
12332
12331
|
const OMP_SELECT_LEGEND = new RegExp(`^\\s*[\u2502|] ${ompAlt(OMP_UP_DOWN)} navigate\\b.*\\bselect\\b`);
|
|
12333
12332
|
const OMP_SELECT_OPTION = new RegExp(`^ (?:(${ompAlt(OMP_CURSOR)})|\\s)\\s(\\S.*)$`);
|
|
12334
12333
|
function parseOmpSelect(text, full = false) {
|
|
12335
|
-
var _a;
|
|
12336
12334
|
if (!text) return null;
|
|
12337
12335
|
const lines = text.replace(/\s+$/, "").split("\n");
|
|
12336
|
+
return readOmpSelect(lines, full) || readOmpApproval(lines, full);
|
|
12337
|
+
}
|
|
12338
|
+
function readOmpSelect(lines, full) {
|
|
12339
|
+
var _a;
|
|
12338
12340
|
const legend = lastMatch(lines, OMP_SELECT_LEGEND);
|
|
12339
12341
|
if (legend < 0) return null;
|
|
12340
12342
|
const below = lines.slice(legend + 1).filter((l) => l.trim() && ompBoxText(l) !== "").map((l) => l.trim());
|
|
@@ -12370,6 +12372,79 @@ function parseOmpSelect(text, full = false) {
|
|
|
12370
12372
|
const detail = tool || !title && body.length ? { tool: tool || "tool", ...body.length ? { command: body.join("\n") } : {} } : void 0;
|
|
12371
12373
|
return { question: title, cursor, options, ...detail ? { detail } : {} };
|
|
12372
12374
|
}
|
|
12375
|
+
const OMP_APPROVAL_FOOTER = /^\S+ choose · \S+ select\b|^\S+ deny and send\b/;
|
|
12376
|
+
const OMP_APPROVAL_DRAFT = /^\S+ deny and send\b/;
|
|
12377
|
+
const OMP_APPROVAL_TITLE = /^(Allow tool: (\S+))(?: \(\d+s\))?$/;
|
|
12378
|
+
const OMP_APPROVAL_OPTION = new RegExp(`^(?:(${ompAlt([...OMP_CURSOR, "\u203A"])}) | {2})(\\S.*)$`);
|
|
12379
|
+
const OMP_APPROVAL_RULE = /^\s*[├+][─-]+[┤+]\s*$/;
|
|
12380
|
+
const OMP_APPROVAL_BOTTOM = /^\s*[╰+][─-]+[╯+]\s*$/;
|
|
12381
|
+
const OMP_APPROVAL_SCROLLBAR = /\s[█│|▐▌]$/;
|
|
12382
|
+
function ompApprovalFooter(lines) {
|
|
12383
|
+
let rows = 0;
|
|
12384
|
+
for (let i = lines.length - 1; i >= 0 && rows < 8; i--) {
|
|
12385
|
+
if (!lines[i].trim()) continue;
|
|
12386
|
+
rows++;
|
|
12387
|
+
const boxed = ompBoxText(lines[i]);
|
|
12388
|
+
if (!OMP_APPROVAL_FOOTER.test(boxed != null ? boxed : lines[i].trim())) continue;
|
|
12389
|
+
const below = lines.slice(i + 1).filter((l) => l.trim());
|
|
12390
|
+
if (boxed !== null && !OMP_APPROVAL_BOTTOM.test(below.shift() || "")) return null;
|
|
12391
|
+
return below.length <= 6 ? { at: i, boxed: boxed !== null } : null;
|
|
12392
|
+
}
|
|
12393
|
+
return null;
|
|
12394
|
+
}
|
|
12395
|
+
function readOmpApproval(lines, full) {
|
|
12396
|
+
var _a, _b, _c;
|
|
12397
|
+
const footer = ompApprovalFooter(lines);
|
|
12398
|
+
if (!footer) return null;
|
|
12399
|
+
let i = footer.at - 1;
|
|
12400
|
+
if (footer.boxed) {
|
|
12401
|
+
if (!OMP_APPROVAL_RULE.test(lines[i] || "")) return null;
|
|
12402
|
+
i--;
|
|
12403
|
+
} else {
|
|
12404
|
+
while (i >= 0 && (!lines[i].trim() || /^\s*[─-]{3,}\s*$/.test(lines[i]))) i--;
|
|
12405
|
+
}
|
|
12406
|
+
const pad = /^\s*/.exec(lines[footer.at])[0];
|
|
12407
|
+
const row = (line) => footer.boxed ? ompBoxText(line) : line.startsWith(pad) ? line.slice(pad.length).trimEnd() : null;
|
|
12408
|
+
const options = [];
|
|
12409
|
+
let cursor = -1;
|
|
12410
|
+
let once = false;
|
|
12411
|
+
for (; i >= 0; i--) {
|
|
12412
|
+
const s = row(lines[i]);
|
|
12413
|
+
const m = s === null ? null : OMP_APPROVAL_OPTION.exec(s);
|
|
12414
|
+
if (!m) break;
|
|
12415
|
+
const label = m[2].trim();
|
|
12416
|
+
if (m[1]) cursor = options.length;
|
|
12417
|
+
options.unshift({ label: label.slice(0, full ? void 0 : 200), hint: null });
|
|
12418
|
+
once || (once = label === "Approve Once");
|
|
12419
|
+
if (once ? / Remember across sessions$/.test(label) : label === "Approve") {
|
|
12420
|
+
i--;
|
|
12421
|
+
break;
|
|
12422
|
+
}
|
|
12423
|
+
}
|
|
12424
|
+
if (cursor < 0 || !/^Deny\b/.test(options[options.length - 1].label) || !options.some((o) => /^Approve\b/.test(o.label))) return null;
|
|
12425
|
+
cursor = options.length - 1 - cursor;
|
|
12426
|
+
const body = [];
|
|
12427
|
+
let title = null;
|
|
12428
|
+
for (; i >= 0 && body.length < 40; i--) {
|
|
12429
|
+
const top = footer.boxed ? OMP_SELECT_TOP.exec(lines[i]) : null;
|
|
12430
|
+
const s = top ? top[1].trim() : row(lines[i]);
|
|
12431
|
+
if (s === null) break;
|
|
12432
|
+
title = OMP_APPROVAL_TITLE.exec(s);
|
|
12433
|
+
if (title || top) break;
|
|
12434
|
+
body.unshift(s);
|
|
12435
|
+
}
|
|
12436
|
+
if (!footer.boxed && !title) return null;
|
|
12437
|
+
while (body.length && !body[0].trim()) body.shift();
|
|
12438
|
+
while (body.length && !body[body.length - 1].trim()) body.pop();
|
|
12439
|
+
const details = body.length > 1 && body.every((l) => OMP_APPROVAL_SCROLLBAR.test(l)) ? body.map((l) => l.slice(0, -1).trimEnd()) : body;
|
|
12440
|
+
const tool = title == null ? void 0 : title[2];
|
|
12441
|
+
const detail = { tool: tool || "tool", ...details.length ? { command: details.join("\n") } : {} };
|
|
12442
|
+
const drafting = OMP_APPROVAL_DRAFT.test((_a = row(lines[footer.at])) != null ? _a : "");
|
|
12443
|
+
return drafting ? { question: (_b = title == null ? void 0 : title[1]) != null ? _b : null, cursor: 0, options: [options[cursor]], detail } : { question: (_c = title == null ? void 0 : title[1]) != null ? _c : null, cursor, options, detail };
|
|
12444
|
+
}
|
|
12445
|
+
function ompApprovalOpen(text) {
|
|
12446
|
+
return Boolean(text && readOmpApproval(text.replace(/\s+$/, "").split("\n"), false));
|
|
12447
|
+
}
|
|
12373
12448
|
function parseOmpPrompt(text, full = false) {
|
|
12374
12449
|
return parseOmpSelect(text, full) || parseOmpAsk(text, full);
|
|
12375
12450
|
}
|
|
@@ -12577,6 +12652,7 @@ function panelOpen(text, agent) {
|
|
|
12577
12652
|
}
|
|
12578
12653
|
const bashInput$1 = (line, above) => /^!(\s|$)/.test(line) && /^\s*─{3,}/.test(above || "");
|
|
12579
12654
|
function inputVisible(text) {
|
|
12655
|
+
if (ompApprovalOpen(text)) return false;
|
|
12580
12656
|
const lines = String(text || "").replace(/\s+$/, "").split("\n").slice(-12);
|
|
12581
12657
|
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]));
|
|
12582
12658
|
}
|
|
@@ -14705,7 +14781,7 @@ function createTranscripts({ home, herdr: herdr2, fs = localFs, now = Date.now }
|
|
|
14705
14781
|
for (const d of await sortDesc(path$1.join(root, y, m))) {
|
|
14706
14782
|
const dir = path$1.join(root, y, m, d);
|
|
14707
14783
|
const hit = (await sortDesc(dir)).find((n) => n.endsWith(`-${id}.jsonl`));
|
|
14708
|
-
if (hit) {
|
|
14784
|
+
if (hit && await exists(path$1.join(dir, hit))) {
|
|
14709
14785
|
found = path$1.join(dir, hit);
|
|
14710
14786
|
break outer;
|
|
14711
14787
|
}
|
|
@@ -14839,6 +14915,9 @@ function createTranscripts({ home, herdr: herdr2, fs = localFs, now = Date.now }
|
|
|
14839
14915
|
st = await fs.stat(loc.file);
|
|
14840
14916
|
} catch (e) {
|
|
14841
14917
|
if (!isMissing(e)) throw e;
|
|
14918
|
+
st = null;
|
|
14919
|
+
}
|
|
14920
|
+
if (!st || !st.isFile) {
|
|
14842
14921
|
locCache.delete(pane.id);
|
|
14843
14922
|
lastLoc.delete(pane.id);
|
|
14844
14923
|
return { available: false, reason: "not_found" };
|
|
@@ -15133,9 +15212,9 @@ function closeTrailingMention(text) {
|
|
|
15133
15212
|
return /(^|\n)@\S+$/.test(text) ? `${text} ` : text;
|
|
15134
15213
|
}
|
|
15135
15214
|
|
|
15136
|
-
var __defProp$
|
|
15137
|
-
var __defNormalProp$
|
|
15138
|
-
var __publicField$
|
|
15215
|
+
var __defProp$8 = Object.defineProperty;
|
|
15216
|
+
var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15217
|
+
var __publicField$8 = (obj, key, value) => __defNormalProp$8(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
15139
15218
|
const fsp$3 = fs.promises;
|
|
15140
15219
|
const LOCAL_LABEL_FILE = path$1.join(DATA_DIR, "machine-label.txt");
|
|
15141
15220
|
function renamedLabel() {
|
|
@@ -15252,50 +15331,50 @@ function runFile(bin, args, timeoutMs) {
|
|
|
15252
15331
|
const lastLine = (s) => String(s || "").trim().split("\n").filter(Boolean).pop() || "";
|
|
15253
15332
|
class RemoteMachine {
|
|
15254
15333
|
constructor(p, onChange) {
|
|
15255
|
-
__publicField$
|
|
15256
|
-
__publicField$
|
|
15257
|
-
__publicField$
|
|
15258
|
-
__publicField$
|
|
15259
|
-
__publicField$
|
|
15260
|
-
__publicField$
|
|
15261
|
-
__publicField$
|
|
15262
|
-
__publicField$
|
|
15263
|
-
__publicField$
|
|
15264
|
-
__publicField$
|
|
15265
|
-
__publicField$
|
|
15266
|
-
__publicField$
|
|
15267
|
-
__publicField$
|
|
15334
|
+
__publicField$8(this, "key");
|
|
15335
|
+
__publicField$8(this, "baseKey");
|
|
15336
|
+
__publicField$8(this, "profileId");
|
|
15337
|
+
__publicField$8(this, "label");
|
|
15338
|
+
__publicField$8(this, "target");
|
|
15339
|
+
__publicField$8(this, "profileSession");
|
|
15340
|
+
__publicField$8(this, "local", false);
|
|
15341
|
+
__publicField$8(this, "status", "connecting");
|
|
15342
|
+
__publicField$8(this, "error", null);
|
|
15343
|
+
__publicField$8(this, "home", "");
|
|
15344
|
+
__publicField$8(this, "os", "");
|
|
15345
|
+
__publicField$8(this, "bin", "");
|
|
15346
|
+
__publicField$8(this, "remoteSock", "");
|
|
15268
15347
|
// Control socket of the current master connection (see ctlName).
|
|
15269
|
-
__publicField$
|
|
15270
|
-
__publicField$
|
|
15271
|
-
__publicField$
|
|
15272
|
-
__publicField$
|
|
15273
|
-
__publicField$
|
|
15274
|
-
__publicField$
|
|
15275
|
-
__publicField$
|
|
15276
|
-
__publicField$
|
|
15277
|
-
__publicField$
|
|
15278
|
-
__publicField$
|
|
15279
|
-
__publicField$
|
|
15280
|
-
__publicField$
|
|
15281
|
-
__publicField$
|
|
15282
|
-
__publicField$
|
|
15283
|
-
__publicField$
|
|
15284
|
-
__publicField$
|
|
15285
|
-
__publicField$
|
|
15348
|
+
__publicField$8(this, "ctl");
|
|
15349
|
+
__publicField$8(this, "ctlSeq", 0);
|
|
15350
|
+
__publicField$8(this, "fwd");
|
|
15351
|
+
__publicField$8(this, "fwdClient");
|
|
15352
|
+
__publicField$8(this, "clientFwd", false);
|
|
15353
|
+
__publicField$8(this, "relays", []);
|
|
15354
|
+
__publicField$8(this, "fs");
|
|
15355
|
+
__publicField$8(this, "transcripts");
|
|
15356
|
+
__publicField$8(this, "exec");
|
|
15357
|
+
__publicField$8(this, "master", null);
|
|
15358
|
+
__publicField$8(this, "masterErr", []);
|
|
15359
|
+
__publicField$8(this, "fails", 0);
|
|
15360
|
+
__publicField$8(this, "timer", null);
|
|
15361
|
+
__publicField$8(this, "purgeTimer", null);
|
|
15362
|
+
__publicField$8(this, "stopped", false);
|
|
15363
|
+
__publicField$8(this, "connecting", false);
|
|
15364
|
+
__publicField$8(this, "pollFails", 0);
|
|
15286
15365
|
// Reopenings after refused sessions (growing delay), see sessionRefused.
|
|
15287
|
-
__publicField$
|
|
15288
|
-
__publicField$
|
|
15289
|
-
__publicField$
|
|
15366
|
+
__publicField$8(this, "recoveries", 0);
|
|
15367
|
+
__publicField$8(this, "lastRecovery", 0);
|
|
15368
|
+
__publicField$8(this, "checking", false);
|
|
15290
15369
|
// Identity seen at connection (host name + remote socket): duplicates.
|
|
15291
|
-
__publicField$
|
|
15292
|
-
__publicField$
|
|
15293
|
-
__publicField$
|
|
15370
|
+
__publicField$8(this, "ident", "");
|
|
15371
|
+
__publicField$8(this, "onChange");
|
|
15372
|
+
__publicField$8(this, "onSkip", () => {
|
|
15294
15373
|
});
|
|
15295
|
-
__publicField$
|
|
15374
|
+
__publicField$8(this, "onOnline", () => {
|
|
15296
15375
|
});
|
|
15297
15376
|
// Session budget of the shared connection (sshd MaxSessions).
|
|
15298
|
-
__publicField$
|
|
15377
|
+
__publicField$8(this, "gate", new SessionGate({
|
|
15299
15378
|
onRefused: (s, attempt) => {
|
|
15300
15379
|
if (s.streak === 1) log(`machine ${this.label}: SSH session refused (attempt ${attempt}; open: ${s.execs} commands + ${s.streams} streams, ${s.queued} queued, peak ${s.peak})`);
|
|
15301
15380
|
void this.sessionRefused();
|
|
@@ -15894,9 +15973,9 @@ process.on("exit", () => {
|
|
|
15894
15973
|
for (const m of [...remotes.values(), ...sessions.values()]) if (m instanceof RemoteMachine) m.stop();
|
|
15895
15974
|
});
|
|
15896
15975
|
|
|
15897
|
-
var __defProp$
|
|
15898
|
-
var __defNormalProp$
|
|
15899
|
-
var __publicField$
|
|
15976
|
+
var __defProp$7 = Object.defineProperty;
|
|
15977
|
+
var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15978
|
+
var __publicField$7 = (obj, key, value) => __defNormalProp$7(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
15900
15979
|
function writeDeliveryFile(file, value) {
|
|
15901
15980
|
const temporary = `${file}.next`;
|
|
15902
15981
|
const fd = fs.openSync(temporary, "w", 384);
|
|
@@ -15916,9 +15995,9 @@ function writeDeliveryFile(file, value) {
|
|
|
15916
15995
|
}
|
|
15917
15996
|
class DeliveryLedger {
|
|
15918
15997
|
constructor(file) {
|
|
15919
|
-
__publicField$
|
|
15920
|
-
__publicField$
|
|
15921
|
-
__publicField$
|
|
15998
|
+
__publicField$7(this, "file", file);
|
|
15999
|
+
__publicField$7(this, "receipts");
|
|
16000
|
+
__publicField$7(this, "active", /* @__PURE__ */ new Map());
|
|
15922
16001
|
try {
|
|
15923
16002
|
this.receipts = JSON.parse(fs.readFileSync(file, "utf8"));
|
|
15924
16003
|
} catch (e) {
|
|
@@ -15945,9 +16024,9 @@ class DeliveryLedger {
|
|
|
15945
16024
|
}
|
|
15946
16025
|
}
|
|
15947
16026
|
|
|
15948
|
-
var __defProp$
|
|
15949
|
-
var __defNormalProp$
|
|
15950
|
-
var __publicField$
|
|
16027
|
+
var __defProp$6 = Object.defineProperty;
|
|
16028
|
+
var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
16029
|
+
var __publicField$6 = (obj, key, value) => __defNormalProp$6(obj, key + "" , value);
|
|
15951
16030
|
const NOTIFICATION_EVENTS = ["needs-you", "finished", "message", "scheduled"];
|
|
15952
16031
|
const LEVEL_EVENTS = {
|
|
15953
16032
|
"finished": ["needs-you", "finished"]};
|
|
@@ -16073,7 +16152,7 @@ function paneNotificationSource(pane, state, boards, baseMachine = machineOf(pan
|
|
|
16073
16152
|
}
|
|
16074
16153
|
class NotificationPresence {
|
|
16075
16154
|
constructor() {
|
|
16076
|
-
__publicField$
|
|
16155
|
+
__publicField$6(this, "leases", /* @__PURE__ */ new Map());
|
|
16077
16156
|
}
|
|
16078
16157
|
heartbeat(client, pane, visible, now = Date.now()) {
|
|
16079
16158
|
this.prune(now);
|
|
@@ -17122,6 +17201,11 @@ function cleanVersion(v) {
|
|
|
17122
17201
|
}
|
|
17123
17202
|
function projectsStatus(p) {
|
|
17124
17203
|
if (!p) return "missing";
|
|
17204
|
+
const commands = [...p.actions || [], ...p.startup || [], ...p.panes || []];
|
|
17205
|
+
if (versionAtLeast(cleanVersion(p.version), "2.0.0") || commands.some((c) => {
|
|
17206
|
+
const argv = Array.isArray(c == null ? void 0 : c.command) ? c.command : [];
|
|
17207
|
+
return argv[0] === "sh" && argv[1] === "scripts/need-bun.sh" && argv[2] === "scripts/plugin.ts" || argv[0] === "bin/shepherdr" || argv[0] === "sh" && argv[1] === "bin/shepherdr";
|
|
17208
|
+
})) return "shepherdr";
|
|
17125
17209
|
if (!versionAtLeast(cleanVersion(p.version), PROJECTS_MIN) || !projectsLauncher(p)) return "old";
|
|
17126
17210
|
return p.enabled === false ? "disabled" : "ready";
|
|
17127
17211
|
}
|
|
@@ -17137,6 +17221,198 @@ function findProjectsPlugin(plugins) {
|
|
|
17137
17221
|
return plugins.find((p) => p && typeof p === "object" && p.plugin_id === "herdr-projects") || null;
|
|
17138
17222
|
}
|
|
17139
17223
|
|
|
17224
|
+
const NEW_PANE_WAIT_MS = 2e3;
|
|
17225
|
+
const STEP_MS = 250;
|
|
17226
|
+
async function findNewPane(id, d, waitMs = NEW_PANE_WAIT_MS) {
|
|
17227
|
+
const now = d.now || Date.now;
|
|
17228
|
+
const end = now() + waitMs;
|
|
17229
|
+
for (; ; ) {
|
|
17230
|
+
const p = d.find(id);
|
|
17231
|
+
if (p) return p;
|
|
17232
|
+
await d.refresh();
|
|
17233
|
+
const q = d.find(id);
|
|
17234
|
+
if (q) return q;
|
|
17235
|
+
if (now() >= end) return void 0;
|
|
17236
|
+
await d.sleep(STEP_MS);
|
|
17237
|
+
}
|
|
17238
|
+
}
|
|
17239
|
+
|
|
17240
|
+
var __defProp$5 = Object.defineProperty;
|
|
17241
|
+
var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
17242
|
+
var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, key + "" , value);
|
|
17243
|
+
const WORKSPACE_RE = /^(?:[0-9a-f]{4,32}~)?w[0-9a-z]+$/i;
|
|
17244
|
+
const TAB_RE = /^(?:[0-9a-f]{4,32}~)?w[0-9a-z]+:t[0-9a-z]+$/i;
|
|
17245
|
+
const LABEL_MAX = 60;
|
|
17246
|
+
class SpaceActionError extends Error {
|
|
17247
|
+
constructor(code, message) {
|
|
17248
|
+
super(message);
|
|
17249
|
+
__publicField$5(this, "code");
|
|
17250
|
+
this.code = code;
|
|
17251
|
+
}
|
|
17252
|
+
}
|
|
17253
|
+
const fail$1 = (code, message) => {
|
|
17254
|
+
throw new SpaceActionError(code, message);
|
|
17255
|
+
};
|
|
17256
|
+
const cleanLabel$1 = (v) => String(v != null ? v : "").replace(/\s+/g, " ").trim().slice(0, LABEL_MAX);
|
|
17257
|
+
function idOf(v, re, what) {
|
|
17258
|
+
const s = String(v != null ? v : "");
|
|
17259
|
+
if (!re.test(s)) fail$1("bad_id", `invalid ${what}`);
|
|
17260
|
+
return splitId(s);
|
|
17261
|
+
}
|
|
17262
|
+
const cleanCwd = (x) => typeof x === "string" && x.startsWith("/") && x.length <= 4096 && !x.includes("\0") ? x : null;
|
|
17263
|
+
function spaceCall(body) {
|
|
17264
|
+
var _a;
|
|
17265
|
+
const b = body && typeof body === "object" ? body : {};
|
|
17266
|
+
const op = String(b.op || "");
|
|
17267
|
+
switch (op) {
|
|
17268
|
+
case "tab.create": {
|
|
17269
|
+
const w = idOf(b.workspace_id, WORKSPACE_RE, "workspace");
|
|
17270
|
+
const label = cleanLabel$1(b.label);
|
|
17271
|
+
const cwd = cleanCwd(b.cwd);
|
|
17272
|
+
return { machine: w.machine, method: "tab.create", params: { workspace_id: w.local, ...label ? { label } : {}, ...cwd ? { cwd } : {}, focus: false } };
|
|
17273
|
+
}
|
|
17274
|
+
case "workspace.rename":
|
|
17275
|
+
case "tab.rename": {
|
|
17276
|
+
const isTab = op === "tab.rename";
|
|
17277
|
+
const x = isTab ? idOf(b.tab_id, TAB_RE, "tab") : idOf(b.workspace_id, WORKSPACE_RE, "workspace");
|
|
17278
|
+
const label = cleanLabel$1(b.label);
|
|
17279
|
+
if (!label) fail$1("bad_label", "empty name");
|
|
17280
|
+
return { machine: x.machine, method: op, params: { [isTab ? "tab_id" : "workspace_id"]: x.local, label } };
|
|
17281
|
+
}
|
|
17282
|
+
case "workspace.close": {
|
|
17283
|
+
const w = idOf(b.workspace_id, WORKSPACE_RE, "workspace");
|
|
17284
|
+
return { machine: w.machine, method: op, params: { workspace_id: w.local, ...b.close_group === true ? { close_group: true } : {} } };
|
|
17285
|
+
}
|
|
17286
|
+
case "tab.close": {
|
|
17287
|
+
const x = idOf(b.tab_id, TAB_RE, "tab");
|
|
17288
|
+
if (b.close_group === true) return { machine: x.machine, method: "workspace.close", params: { workspace_id: x.local.split(":")[0], close_group: true } };
|
|
17289
|
+
return { machine: x.machine, method: op, params: { tab_id: x.local } };
|
|
17290
|
+
}
|
|
17291
|
+
case "pane.split": {
|
|
17292
|
+
const p = idOf(b.pane_id, PANE_RE$2, "pane");
|
|
17293
|
+
const direction = b.direction;
|
|
17294
|
+
if (direction !== "right" && direction !== "down") fail$1("bad_direction", "invalid direction");
|
|
17295
|
+
const cwd = cleanCwd(b.cwd);
|
|
17296
|
+
return { machine: p.machine, method: op, params: { target_pane_id: p.local, direction, ...cwd ? { cwd } : {}, focus: false } };
|
|
17297
|
+
}
|
|
17298
|
+
case "pane.move": {
|
|
17299
|
+
const p = idOf(b.pane_id, PANE_RE$2, "pane");
|
|
17300
|
+
const to = b.to;
|
|
17301
|
+
let destination;
|
|
17302
|
+
if (to === "new_tab") destination = { type: "new_tab", workspace_id: p.local.split(":")[0] };
|
|
17303
|
+
else if (to === "new_workspace") destination = { type: "new_workspace" };
|
|
17304
|
+
else if (to && typeof to === "object") {
|
|
17305
|
+
const x = idOf(to.tab_id, TAB_RE, "tab");
|
|
17306
|
+
if (x.machine !== p.machine) fail$1("bad_machine", "tab on another machine");
|
|
17307
|
+
destination = { type: "tab", tab_id: x.local, split: "right" };
|
|
17308
|
+
} else return fail$1("bad_destination", "invalid destination");
|
|
17309
|
+
return { machine: p.machine, method: op, params: { pane_id: p.local, destination, focus: false } };
|
|
17310
|
+
}
|
|
17311
|
+
case "pane.swap": {
|
|
17312
|
+
const p = idOf(b.pane_id, PANE_RE$2, "pane");
|
|
17313
|
+
const direction = b.direction;
|
|
17314
|
+
if (!PANE_DIRECTIONS.includes(direction)) fail$1("bad_direction", "invalid direction");
|
|
17315
|
+
return { machine: p.machine, method: op, params: { pane_id: p.local, direction } };
|
|
17316
|
+
}
|
|
17317
|
+
case "pane.drop": {
|
|
17318
|
+
const p = idOf(b.pane_id, PANE_RE$2, "pane");
|
|
17319
|
+
const x = idOf(b.target_pane_id, PANE_RE$2, "pane");
|
|
17320
|
+
if (x.machine !== p.machine) fail$1("bad_machine", "pane on another machine");
|
|
17321
|
+
const side = b.side;
|
|
17322
|
+
if (side !== "center" && !PANE_DIRECTIONS.includes(side)) fail$1("bad_direction", "invalid direction");
|
|
17323
|
+
return { machine: p.machine, method: op, params: { pane_id: p.local, target_pane_id: x.local, side } };
|
|
17324
|
+
}
|
|
17325
|
+
case "layout.ratio": {
|
|
17326
|
+
const x = idOf(b.tab_id, TAB_RE, "tab");
|
|
17327
|
+
const path = String((_a = b.path) != null ? _a : "");
|
|
17328
|
+
if (!/^[01]{0,32}$/.test(path)) fail$1("bad_path", "invalid split");
|
|
17329
|
+
const ratio = Number(b.ratio);
|
|
17330
|
+
if (!Number.isFinite(ratio) || ratio <= 0 || ratio >= 1) fail$1("bad_ratio", "invalid ratio");
|
|
17331
|
+
return {
|
|
17332
|
+
machine: x.machine,
|
|
17333
|
+
method: "layout.set_split_ratio",
|
|
17334
|
+
params: { tab_id: x.local, path: [...path].map((c) => c === "1"), ratio: Math.round(Math.min(0.95, Math.max(0.05, ratio)) * 1e3) / 1e3 }
|
|
17335
|
+
};
|
|
17336
|
+
}
|
|
17337
|
+
case "workspace.move": {
|
|
17338
|
+
const w = idOf(b.workspace_id, WORKSPACE_RE, "workspace");
|
|
17339
|
+
let before = null;
|
|
17340
|
+
if (b.before_workspace_id != null) {
|
|
17341
|
+
const x = idOf(b.before_workspace_id, WORKSPACE_RE, "workspace");
|
|
17342
|
+
if (x.machine !== w.machine) fail$1("bad_machine", "space on another machine");
|
|
17343
|
+
if (x.local === w.local) fail$1("bad_destination", "invalid destination");
|
|
17344
|
+
before = x.local;
|
|
17345
|
+
}
|
|
17346
|
+
return { machine: w.machine, method: "workspace.move_block", params: { workspace_ids: [w.local], before_workspace_id: before } };
|
|
17347
|
+
}
|
|
17348
|
+
default:
|
|
17349
|
+
return fail$1("bad_op", `unknown action: ${op}`);
|
|
17350
|
+
}
|
|
17351
|
+
}
|
|
17352
|
+
function spaceResult(call, r) {
|
|
17353
|
+
var _a, _b, _c, _d, _e;
|
|
17354
|
+
const id = (x) => x == null ? void 0 : call.machine ? `${call.machine}~${x}` : String(x);
|
|
17355
|
+
if (!r || typeof r !== "object") return {};
|
|
17356
|
+
if (call.method === "tab.create") return { tab_id: id((_a = r.tab) == null ? void 0 : _a.tab_id), pane_id: id((_b = r.root_pane) == null ? void 0 : _b.pane_id) };
|
|
17357
|
+
if (call.method === "pane.split") return { pane_id: id((_c = r.pane) == null ? void 0 : _c.pane_id), tab_id: id((_d = r.pane) == null ? void 0 : _d.tab_id) };
|
|
17358
|
+
if (call.method === "pane.move") {
|
|
17359
|
+
const p = (_e = r.move_result) == null ? void 0 : _e.pane;
|
|
17360
|
+
return { pane_id: id(p == null ? void 0 : p.pane_id), tab_id: id(p == null ? void 0 : p.tab_id) };
|
|
17361
|
+
}
|
|
17362
|
+
return {};
|
|
17363
|
+
}
|
|
17364
|
+
function swapSteps(snap, pane, target) {
|
|
17365
|
+
if (!target || target === pane) fail$1("no_neighbor", "no pane on that side");
|
|
17366
|
+
const layouts = Array.isArray(snap == null ? void 0 : snap.layouts) ? snap.layouts : [];
|
|
17367
|
+
const tab = layouts.find((l) => {
|
|
17368
|
+
var _a;
|
|
17369
|
+
return (_a = l.panes) == null ? void 0 : _a.some((p) => p.pane_id === pane);
|
|
17370
|
+
});
|
|
17371
|
+
if (!tab || !tab.panes.some((p) => p.pane_id === target)) fail$1("no_neighbor", "no pane on that side");
|
|
17372
|
+
if (tab.zoomed) fail$1("zoomed", "a pane is zoomed in this tab");
|
|
17373
|
+
const tabFocus = tab.focused_pane_id || null;
|
|
17374
|
+
const [source, other] = tabFocus === target ? [target, pane] : [pane, target];
|
|
17375
|
+
return [{ method: "pane.swap", params: { source_pane_id: source, target_pane_id: other } }, ...refocus(snap, tab, source)];
|
|
17376
|
+
}
|
|
17377
|
+
function refocus(snap, tab, cur) {
|
|
17378
|
+
const layouts = Array.isArray(snap == null ? void 0 : snap.layouts) ? snap.layouts : [];
|
|
17379
|
+
const ws = (Array.isArray(snap == null ? void 0 : snap.workspaces) ? snap.workspaces : []).find((w) => w.workspace_id === tab.workspace_id);
|
|
17380
|
+
const activeTab = layouts.find((l) => l.tab_id === (ws == null ? void 0 : ws.active_tab_id));
|
|
17381
|
+
const steps = [];
|
|
17382
|
+
for (const f of [tab.focused_pane_id || null, (activeTab == null ? void 0 : activeTab.focused_pane_id) || null, (snap == null ? void 0 : snap.focused_pane_id) || null]) {
|
|
17383
|
+
if (!f || f === cur) continue;
|
|
17384
|
+
steps.push({ method: "pane.focus", params: { pane_id: f } });
|
|
17385
|
+
cur = f;
|
|
17386
|
+
}
|
|
17387
|
+
return steps;
|
|
17388
|
+
}
|
|
17389
|
+
function dropSteps(snap, pane, target, side) {
|
|
17390
|
+
if (side === "center") return swapSteps(snap, pane, target);
|
|
17391
|
+
if (!target || target === pane) fail$1("no_neighbor", "same pane");
|
|
17392
|
+
const layouts = Array.isArray(snap == null ? void 0 : snap.layouts) ? snap.layouts : [];
|
|
17393
|
+
const tab = layouts.find((l) => {
|
|
17394
|
+
var _a;
|
|
17395
|
+
return (_a = l.panes) == null ? void 0 : _a.some((p) => p.pane_id === pane);
|
|
17396
|
+
});
|
|
17397
|
+
if (!tab || !tab.panes.some((p) => p.pane_id === target)) fail$1("no_neighbor", "pane in another tab");
|
|
17398
|
+
if (tab.zoomed) fail$1("zoomed", "a pane is zoomed in this tab");
|
|
17399
|
+
const before = side === "left" || side === "up";
|
|
17400
|
+
const steps = [
|
|
17401
|
+
{ method: "pane.move", params: { pane_id: pane, destination: { type: "new_tab", workspace_id: tab.workspace_id }, focus: false } },
|
|
17402
|
+
{ method: "pane.move", params: { pane_id: pane, destination: { type: "tab", tab_id: tab.tab_id, split: side === "left" || side === "right" ? "right" : "down", target_pane_id: target }, focus: false } }
|
|
17403
|
+
];
|
|
17404
|
+
if (before) steps.push({ method: "pane.swap", params: { source_pane_id: pane, target_pane_id: target } });
|
|
17405
|
+
return [...steps, ...refocus(snap, tab, before ? pane : null)];
|
|
17406
|
+
}
|
|
17407
|
+
function verifySpaceRename(call, snapshot) {
|
|
17408
|
+
var _a;
|
|
17409
|
+
const tab = call.method === "tab.rename";
|
|
17410
|
+
if (!tab && call.method !== "workspace.rename") return;
|
|
17411
|
+
const key = tab ? "tab_id" : "workspace_id";
|
|
17412
|
+
const target = (_a = tab ? snapshot == null ? void 0 : snapshot.tabs : snapshot == null ? void 0 : snapshot.workspaces) == null ? void 0 : _a.find((x) => x[key] === call.params[key]);
|
|
17413
|
+
if (!target || target.label !== call.params.label) throw new SpaceActionError("rename_failed", "Rename failed. The name was not changed.");
|
|
17414
|
+
}
|
|
17415
|
+
|
|
17140
17416
|
function safeUploadExtension(requested) {
|
|
17141
17417
|
return /^[a-z0-9]{1,10}$/i.test(requested) ? requested.toLowerCase() : "bin";
|
|
17142
17418
|
}
|
|
@@ -17235,10 +17511,14 @@ const shellQuote = (s) => `'${s.replace(/'/g, `'\\''`)}'`;
|
|
|
17235
17511
|
async function createAgent(body) {
|
|
17236
17512
|
const kind = String(body.kind || "");
|
|
17237
17513
|
if (kind !== "shell" && !AGENT_KINDS.includes(kind)) throw new HerdrError("bad_kind", fmt("Unknown agent: {kind}", { kind }));
|
|
17238
|
-
let target = body.pane_id ? findPane(String(body.pane_id)) : null;
|
|
17514
|
+
let target = body.pane_id ? findPane(String(body.pane_id)) || null : null;
|
|
17239
17515
|
if (body.pane_id && !target && PANE_RE$2.test(String(body.pane_id))) {
|
|
17240
|
-
|
|
17241
|
-
|
|
17516
|
+
const id = String(body.pane_id);
|
|
17517
|
+
const pm = machineOfPane(id);
|
|
17518
|
+
if (pm) {
|
|
17519
|
+
machineFor(pm.key);
|
|
17520
|
+
target = await findNewPane(id, { find: findPane, refresh: () => pollFresh(pm), sleep: sleep$1 }) || null;
|
|
17521
|
+
}
|
|
17242
17522
|
}
|
|
17243
17523
|
if (body.pane_id) {
|
|
17244
17524
|
if (!PANE_RE$2.test(String(body.pane_id)) || !target) throw new HerdrError("bad_pane", "Pane not found");
|
|
@@ -17256,18 +17536,16 @@ async function createAgent(body) {
|
|
|
17256
17536
|
} catch {
|
|
17257
17537
|
throw new HerdrError("bad_cwd", fmt("Folder not found: {path}", { path: cwd }));
|
|
17258
17538
|
}
|
|
17259
|
-
const
|
|
17260
|
-
|
|
17261
|
-
|
|
17262
|
-
if (!name) name = `${kind}-${crypto.randomBytes(2).toString("hex")}`;
|
|
17263
|
-
const label = String(body.label || "").trim().slice(0, 40) || px.basename(cwd) || "~";
|
|
17539
|
+
const shown = cleanLabel$1(body.name);
|
|
17540
|
+
const name = toAgentName(shown) || `${kind}-${crypto.randomBytes(2).toString("hex")}`;
|
|
17541
|
+
const label = cleanLabel$1(body.label) || shown || px.basename(cwd) || "~";
|
|
17264
17542
|
let created;
|
|
17265
17543
|
if (body.worktree) {
|
|
17266
17544
|
if (!await isGitRepo(cwd, m)) throw new HerdrError("not_git", fmt("Not a Git repository: {path}", { path: cwd }));
|
|
17267
17545
|
let branch = String(body.branch || "").trim();
|
|
17268
17546
|
if (branch && !/^[\w][\w./-]{0,79}$/.test(branch)) throw new HerdrError("bad_branch", "Invalid branch name");
|
|
17269
17547
|
if (!branch) branch = `${kind === "shell" ? "shell" : kind}-${crypto.randomBytes(2).toString("hex")}`;
|
|
17270
|
-
const params = { cwd, branch, label:
|
|
17548
|
+
const params = { cwd, branch, label: cleanLabel$1(body.label) || shown || branch, focus: false, trust_repository: true };
|
|
17271
17549
|
try {
|
|
17272
17550
|
created = await hx("worktree.create", params, 3e4);
|
|
17273
17551
|
} catch (e) {
|
|
@@ -17320,6 +17598,7 @@ async function createAgent(body) {
|
|
|
17320
17598
|
});
|
|
17321
17599
|
throw lastErr;
|
|
17322
17600
|
}
|
|
17601
|
+
if (target && shown) await herdr("pane.rename", { pane_id: paneId, label: shown }).catch((e) => log(`pane.rename ${paneId}: ${e.message}`));
|
|
17323
17602
|
if (body.prompt && String(body.prompt).trim()) {
|
|
17324
17603
|
pendingPrompts.set(paneId, { text: String(body.prompt), at: Date.now() });
|
|
17325
17604
|
addQueued(paneId, body.prompt);
|
|
@@ -17700,6 +17979,7 @@ function linkedPane(base, t) {
|
|
|
17700
17979
|
const key = sessionMachine(base, link.socket);
|
|
17701
17980
|
return key === null ? { pane: null, known: false } : { pane: joinId(key, link.pane), known: true };
|
|
17702
17981
|
}
|
|
17982
|
+
const DESCRIPTION_MAX = 4e3;
|
|
17703
17983
|
const lists = /* @__PURE__ */ new Map();
|
|
17704
17984
|
const reading$1 = /* @__PURE__ */ new Map();
|
|
17705
17985
|
const createdAt = /* @__PURE__ */ new Map();
|
|
@@ -17726,15 +18006,18 @@ function readList(m) {
|
|
|
17726
18006
|
const now = reading$1.get(m.key);
|
|
17727
18007
|
if (now) return now;
|
|
17728
18008
|
const started = Date.now();
|
|
18009
|
+
const descriptions = /* @__PURE__ */ new Map();
|
|
17729
18010
|
const read = command(m, ["list", "--json"], LIST_TIMEOUT_MS).then(async (text) => ({ tasks: await withCreated(m, await Promise.all(parseTaskList(text).map(async (row) => {
|
|
17730
18011
|
var _a;
|
|
17731
18012
|
const file = await readTaskFile(m, row.id).catch(() => null);
|
|
17732
18013
|
if (file) row = { ...row, identity: taskAgentIdentity(file) };
|
|
18014
|
+
const description = typeof (file == null ? void 0 : file.description) === "string" ? file.description.slice(0, DESCRIPTION_MAX) : "";
|
|
18015
|
+
if (description) descriptions.set(row.id, description);
|
|
17733
18016
|
return (file == null ? void 0 : file.stage) === "approval" && ((_a = rowFromTaskFile(file)) == null ? void 0 : _a.approvalBlocked) ? { ...row, approvalBlocked: true, group: "needs" } : row;
|
|
17734
|
-
}))), at: Date.now(), readAt: Date.now() })).catch((e) => {
|
|
18017
|
+
}))), descriptions, at: Date.now(), readAt: Date.now() })).catch((e) => {
|
|
17735
18018
|
var _a;
|
|
17736
18019
|
const last = lists.get(m.key);
|
|
17737
|
-
return { tasks: (last == null ? void 0 : last.tasks) || [], at: Date.now(), readAt: (_a = last == null ? void 0 : last.readAt) != null ? _a : 0, error: e.message };
|
|
18020
|
+
return { tasks: (last == null ? void 0 : last.tasks) || [], descriptions: last == null ? void 0 : last.descriptions, at: Date.now(), readAt: (_a = last == null ? void 0 : last.readAt) != null ? _a : 0, error: e.message };
|
|
17738
18021
|
}).then((c) => {
|
|
17739
18022
|
lists.set(m.key, c);
|
|
17740
18023
|
if (c.error) return c;
|
|
@@ -17833,6 +18116,24 @@ async function readTasksBoard(since) {
|
|
|
17833
18116
|
const version = createHash("sha1").update(JSON.stringify(machines, (k, v) => k === "at" || k === "readAt" ? void 0 : v)).digest("hex").slice(0, 16);
|
|
17834
18117
|
return since === version ? { same: true, version } : { version, machines };
|
|
17835
18118
|
}
|
|
18119
|
+
async function searchableBoards(deadlineMs) {
|
|
18120
|
+
const machines = baseMachines();
|
|
18121
|
+
const answered = /* @__PURE__ */ new Map();
|
|
18122
|
+
const read = Promise.all(machines.map((m) => machineTasks(m).then((r) => {
|
|
18123
|
+
answered.set(m.key, (r == null ? void 0 : r.tasks) || []);
|
|
18124
|
+
}, () => {
|
|
18125
|
+
})));
|
|
18126
|
+
await Promise.race([read, after(deadlineMs)]);
|
|
18127
|
+
return machines.map((m) => {
|
|
18128
|
+
var _a;
|
|
18129
|
+
const c = lists.get(m.key);
|
|
18130
|
+
const tasks = (_a = answered.get(m.key)) != null ? _a : c ? withKeys(m.key, c.tasks) : [];
|
|
18131
|
+
return { machine: m.key, tasks: tasks.map((row) => {
|
|
18132
|
+
var _a2;
|
|
18133
|
+
return { row, description: ((_a2 = c == null ? void 0 : c.descriptions) == null ? void 0 : _a2.get(row.id)) || "" };
|
|
18134
|
+
}) };
|
|
18135
|
+
});
|
|
18136
|
+
}
|
|
17836
18137
|
const boardOf = (machine) => boardMachine(machineFor(machine));
|
|
17837
18138
|
async function taskOf(m, id) {
|
|
17838
18139
|
const known = lists.get(m.key);
|
|
@@ -18487,6 +18788,7 @@ const SYNCED_SETTINGS = [
|
|
|
18487
18788
|
// 1.x `compactList` is no longer read)
|
|
18488
18789
|
"compactListV2",
|
|
18489
18790
|
"homeGrouping",
|
|
18791
|
+
"individualAgentList",
|
|
18490
18792
|
"collapsedMachines",
|
|
18491
18793
|
"collapsedRepos",
|
|
18492
18794
|
"showShells",
|
|
@@ -19385,12 +19687,13 @@ function parseClaudeScreen(text, now = Date.now()) {
|
|
|
19385
19687
|
i = e.next;
|
|
19386
19688
|
} else i++;
|
|
19387
19689
|
}
|
|
19690
|
+
const capability = queued.length && lines.slice(top, end).some((l) => SEND_NOW.test(l.trim())) ? { sendNow: true } : {};
|
|
19388
19691
|
let last = -1;
|
|
19389
19692
|
for (let i = top - 1; i >= 0; i--) if (/^(?:❯ \S|! +\S)/.test(lines[i])) {
|
|
19390
19693
|
last = i;
|
|
19391
19694
|
break;
|
|
19392
19695
|
}
|
|
19393
|
-
if (last < 0) return { shell: null, sent: null, queued };
|
|
19696
|
+
if (last < 0) return { shell: null, sent: null, queued, ...capability };
|
|
19394
19697
|
const entry = entryAt(lines, last);
|
|
19395
19698
|
const bash = lines[last].startsWith("! ");
|
|
19396
19699
|
const sent = bash ? `!${entry.text}` : entry.text;
|
|
@@ -19430,7 +19733,7 @@ function parseClaudeScreen(text, now = Date.now()) {
|
|
|
19430
19733
|
shell = { command: entry.text, lines: out.slice(-12), hidden, since: ms === null ? null : now - ms };
|
|
19431
19734
|
}
|
|
19432
19735
|
}
|
|
19433
|
-
return { shell, sent, queued };
|
|
19736
|
+
return { shell, sent, queued, ...capability };
|
|
19434
19737
|
}
|
|
19435
19738
|
const NOTICES = [
|
|
19436
19739
|
/✔?\s*Update installed\s*·\s*Restart to update\b/,
|
|
@@ -20670,6 +20973,85 @@ function createScrollThrottle(send2, { intervalMs = SCROLL_MS, now = Date.now, s
|
|
|
20670
20973
|
};
|
|
20671
20974
|
}
|
|
20672
20975
|
|
|
20976
|
+
function terminalScrollPosition(value, cols, rows) {
|
|
20977
|
+
const coordinate = (v, size) => typeof v === "number" && Number.isInteger(v) ? Math.max(0, Math.min(size - 1, v)) : Math.floor(size / 2);
|
|
20978
|
+
return {
|
|
20979
|
+
column: coordinate(value.column, cols),
|
|
20980
|
+
row: coordinate(value.row, rows),
|
|
20981
|
+
modifiers: typeof value.modifiers === "number" && Number.isInteger(value.modifiers) ? value.modifiers & 15 : 0
|
|
20982
|
+
};
|
|
20983
|
+
}
|
|
20984
|
+
|
|
20985
|
+
function createTouchScrollPacer(send2) {
|
|
20986
|
+
let metadata = [];
|
|
20987
|
+
let net = 0, inFlight = 0, last = -Infinity;
|
|
20988
|
+
let credit = 8, creditedAt = Date.now(), expiresAt = 0;
|
|
20989
|
+
let timer = null;
|
|
20990
|
+
let disposed = false;
|
|
20991
|
+
const schedule = () => {
|
|
20992
|
+
if (disposed || !net || timer) return;
|
|
20993
|
+
const now = Date.now();
|
|
20994
|
+
if (now >= expiresAt) {
|
|
20995
|
+
net = 0;
|
|
20996
|
+
metadata = [];
|
|
20997
|
+
return;
|
|
20998
|
+
}
|
|
20999
|
+
credit = Math.min(8, credit + Math.max(0, now - creditedAt) * 0.064);
|
|
21000
|
+
creditedAt = now;
|
|
21001
|
+
const wait = Math.max(0, last + (inFlight >= 6 ? 120 : 16) - now, (1 - credit) / 0.064);
|
|
21002
|
+
if (wait > 0) {
|
|
21003
|
+
timer = setTimeout(() => {
|
|
21004
|
+
timer = null;
|
|
21005
|
+
schedule();
|
|
21006
|
+
}, Math.ceil(Math.min(wait, expiresAt - now)));
|
|
21007
|
+
return;
|
|
21008
|
+
}
|
|
21009
|
+
const count = Math.min(Math.abs(net), Math.floor(credit), inFlight >= 6 ? 1 : 3);
|
|
21010
|
+
const direction = net > 0 ? "up" : "down";
|
|
21011
|
+
net -= Math.sign(net) * count;
|
|
21012
|
+
credit -= count;
|
|
21013
|
+
last = now;
|
|
21014
|
+
inFlight += count;
|
|
21015
|
+
for (let i = 0; i < count; i++) send2(direction, 1, metadata.shift());
|
|
21016
|
+
schedule();
|
|
21017
|
+
};
|
|
21018
|
+
const cancel = () => {
|
|
21019
|
+
net = 0;
|
|
21020
|
+
metadata = [];
|
|
21021
|
+
inFlight = 0;
|
|
21022
|
+
last = -Infinity;
|
|
21023
|
+
if (timer) clearTimeout(timer);
|
|
21024
|
+
timer = null;
|
|
21025
|
+
};
|
|
21026
|
+
return {
|
|
21027
|
+
push(direction, lines, value) {
|
|
21028
|
+
if (disposed) return;
|
|
21029
|
+
const amount = direction === "up" ? lines : -lines;
|
|
21030
|
+
if (net && Math.sign(net) !== Math.sign(amount)) {
|
|
21031
|
+
net = 0;
|
|
21032
|
+
metadata = [];
|
|
21033
|
+
}
|
|
21034
|
+
const accepted = Math.min(80 - Math.abs(net), Math.abs(amount));
|
|
21035
|
+
net += Math.sign(amount) * accepted;
|
|
21036
|
+
for (let i = 0; i < accepted; i++) metadata.push(value);
|
|
21037
|
+
expiresAt = Date.now() + 300;
|
|
21038
|
+
schedule();
|
|
21039
|
+
},
|
|
21040
|
+
frame() {
|
|
21041
|
+
if (disposed) return;
|
|
21042
|
+
inFlight = 0;
|
|
21043
|
+
if (timer) clearTimeout(timer);
|
|
21044
|
+
timer = null;
|
|
21045
|
+
schedule();
|
|
21046
|
+
},
|
|
21047
|
+
cancel,
|
|
21048
|
+
dispose() {
|
|
21049
|
+
cancel();
|
|
21050
|
+
disposed = true;
|
|
21051
|
+
}
|
|
21052
|
+
};
|
|
21053
|
+
}
|
|
21054
|
+
|
|
20673
21055
|
const clampInt = (v, lo, hi, dflt) => {
|
|
20674
21056
|
const n = parseInt(String(v), 10);
|
|
20675
21057
|
return Number.isFinite(n) ? Math.min(hi, Math.max(lo, n)) : dflt;
|
|
@@ -20772,11 +21154,20 @@ function openTerm(ws, url) {
|
|
|
20772
21154
|
child = c;
|
|
20773
21155
|
log(`term ${pane} opened ${cols}x${rows}${args.includes("--takeover") ? " (takeover)" : ""}${machine.local ? "" : ` on ${machine.label}`}`);
|
|
20774
21156
|
readline.createInterface({ input: c.stdout }).on("line", (line) => {
|
|
20775
|
-
|
|
21157
|
+
const isFrame = line.includes('"terminal.frame"');
|
|
21158
|
+
if (!attached && isFrame) {
|
|
20776
21159
|
attached = true;
|
|
20777
21160
|
hold == null ? void 0 : hold.resized(size.cols, size.rows);
|
|
20778
21161
|
}
|
|
20779
|
-
if (ws.isOpen())
|
|
21162
|
+
if (ws.isOpen()) {
|
|
21163
|
+
ws.send(line);
|
|
21164
|
+
if (isFrame) {
|
|
21165
|
+
for (const [epoch, lines] of scrollDelivered)
|
|
21166
|
+
ws.send(JSON.stringify({ type: "scroll.ack", epoch, lines }));
|
|
21167
|
+
scrollDelivered.clear();
|
|
21168
|
+
}
|
|
21169
|
+
} else scrollDelivered.clear();
|
|
21170
|
+
if (isFrame) touchScroll == null ? void 0 : touchScroll.frame();
|
|
20780
21171
|
});
|
|
20781
21172
|
readline.createInterface({ input: c.stderr }).on("line", (line) => {
|
|
20782
21173
|
log(`term ${pane} stderr: ${line}`);
|
|
@@ -20787,6 +21178,8 @@ function openTerm(ws, url) {
|
|
|
20787
21178
|
ws.close(4500, "herdr error");
|
|
20788
21179
|
});
|
|
20789
21180
|
c.on("exit", (code) => {
|
|
21181
|
+
scroll.dispose();
|
|
21182
|
+
touchScroll == null ? void 0 : touchScroll.dispose();
|
|
20790
21183
|
termSessions.delete(sess);
|
|
20791
21184
|
if (ws.isOpen()) ws.close(4e3, `herdr exit ${code}`);
|
|
20792
21185
|
});
|
|
@@ -20794,7 +21187,15 @@ function openTerm(ws, url) {
|
|
|
20794
21187
|
});
|
|
20795
21188
|
for (const m of early.splice(0)) toChild(m);
|
|
20796
21189
|
}
|
|
21190
|
+
const scrollDelivered = /* @__PURE__ */ new Map();
|
|
21191
|
+
let touchScroll;
|
|
20797
21192
|
const scroll = createScrollThrottle((direction, lines) => toChild({ type: "terminal.scroll", direction, lines }));
|
|
21193
|
+
const pacedTouch = () => touchScroll || (touchScroll = createTouchScrollPacer((direction, lines, position) => {
|
|
21194
|
+
if (!position) return;
|
|
21195
|
+
const { epoch, preview, ...cell } = position;
|
|
21196
|
+
if (preview) scrollDelivered.set(epoch, (scrollDelivered.get(epoch) || 0) + (direction === "up" ? lines : -lines));
|
|
21197
|
+
toChild({ type: "terminal.scroll", direction, lines, ...cell });
|
|
21198
|
+
}));
|
|
20798
21199
|
paneSizes().hold(pane).then(async (h) => {
|
|
20799
21200
|
var _a, _b, _c;
|
|
20800
21201
|
if (closed) return h.release(true);
|
|
@@ -20816,16 +21217,22 @@ function openTerm(ws, url) {
|
|
|
20816
21217
|
return;
|
|
20817
21218
|
}
|
|
20818
21219
|
switch (m && m.type) {
|
|
21220
|
+
case "ping":
|
|
21221
|
+
if (ws.isOpen()) ws.send(JSON.stringify({ type: "pong" }));
|
|
21222
|
+
break;
|
|
20819
21223
|
case "terminal.input":
|
|
21224
|
+
touchScroll == null ? void 0 : touchScroll.cancel();
|
|
20820
21225
|
if (typeof m.text === "string" && m.text.length <= 65536) toChild({ type: "terminal.input", text: m.text });
|
|
20821
21226
|
else if (typeof m.bytes === "string" && m.bytes.length <= 9e4) toChild({ type: "terminal.input", bytes: m.bytes });
|
|
20822
21227
|
break;
|
|
20823
21228
|
case "terminal.mouse": {
|
|
21229
|
+
touchScroll == null ? void 0 : touchScroll.cancel();
|
|
20824
21230
|
const event = mouse && cleanTerminalMouse(m, size.cols, size.rows);
|
|
20825
21231
|
if (event) toChild(event);
|
|
20826
21232
|
break;
|
|
20827
21233
|
}
|
|
20828
21234
|
case "terminal.resize": {
|
|
21235
|
+
touchScroll == null ? void 0 : touchScroll.cancel();
|
|
20829
21236
|
size = { cols: clampInt(m.cols, 10, 400, cols), rows: clampInt(m.rows, 5, 200, rows) };
|
|
20830
21237
|
if (attached) hold == null ? void 0 : hold.resized(size.cols, size.rows);
|
|
20831
21238
|
toChild({ type: "terminal.resize", ...size });
|
|
@@ -20833,10 +21240,27 @@ function openTerm(ws, url) {
|
|
|
20833
21240
|
}
|
|
20834
21241
|
case "terminal.scroll":
|
|
20835
21242
|
if (m.direction === "up" || m.direction === "down") {
|
|
20836
|
-
|
|
21243
|
+
if (m.source === "touch") {
|
|
21244
|
+
pacedTouch().push(m.direction, clampInt(m.lines, 1, 500, 3), {
|
|
21245
|
+
...terminalScrollPosition(m, size.cols, size.rows),
|
|
21246
|
+
epoch: clampInt(m.epoch, 0, Number.MAX_SAFE_INTEGER, 0),
|
|
21247
|
+
preview: m.preview !== false
|
|
21248
|
+
});
|
|
21249
|
+
} else {
|
|
21250
|
+
touchScroll == null ? void 0 : touchScroll.cancel();
|
|
21251
|
+
scroll.push(m.direction, clampInt(m.lines, 1, 500, 3));
|
|
21252
|
+
}
|
|
20837
21253
|
}
|
|
20838
21254
|
break;
|
|
21255
|
+
case "touch.cancel":
|
|
21256
|
+
if (m.disabled === true) {
|
|
21257
|
+
touchScroll == null ? void 0 : touchScroll.dispose();
|
|
21258
|
+
touchScroll = void 0;
|
|
21259
|
+
} else touchScroll == null ? void 0 : touchScroll.cancel();
|
|
21260
|
+
scrollDelivered.clear();
|
|
21261
|
+
break;
|
|
20839
21262
|
case "keys":
|
|
21263
|
+
touchScroll == null ? void 0 : touchScroll.cancel();
|
|
20840
21264
|
if (Array.isArray(m.keys) && m.keys.length <= 32 && m.keys.every((k) => typeof k === "string" && k.length <= 24)) {
|
|
20841
21265
|
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 })));
|
|
20842
21266
|
}
|
|
@@ -20845,18 +21269,21 @@ function openTerm(ws, url) {
|
|
|
20845
21269
|
// turns an image path into an image (typed through wherdr's xterm, which
|
|
20846
21270
|
// never learns the program's bracketed paste mode, it stays text).
|
|
20847
21271
|
case "paste":
|
|
21272
|
+
touchScroll == null ? void 0 : touchScroll.cancel();
|
|
20848
21273
|
if (typeof m.text === "string" && m.text && m.text.length <= 65536) {
|
|
20849
21274
|
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 })));
|
|
20850
21275
|
}
|
|
20851
21276
|
break;
|
|
20852
21277
|
case "visibility":
|
|
20853
21278
|
sess.visible = Boolean(m.visible);
|
|
21279
|
+
if (!sess.visible) touchScroll == null ? void 0 : touchScroll.cancel();
|
|
20854
21280
|
break;
|
|
20855
21281
|
}
|
|
20856
21282
|
},
|
|
20857
21283
|
onClose(clean = false) {
|
|
20858
21284
|
closed = true;
|
|
20859
21285
|
scroll.dispose();
|
|
21286
|
+
touchScroll == null ? void 0 : touchScroll.dispose();
|
|
20860
21287
|
termSessions.delete(sess);
|
|
20861
21288
|
const c = child;
|
|
20862
21289
|
if (c) {
|
|
@@ -21548,7 +21975,7 @@ const HEADER_RE = new RegExp(String.raw`OpenAI Codex\s*\(${VERSION}\)`, "i");
|
|
|
21548
21975
|
const WEEK_LEFT_RE = /weekly limit:?\s*(?:\[[^\]]*\]\s*)?(\d{1,3})\s*%\s*left(?:\s*\(resets\s+([^)]+)\))?/i;
|
|
21549
21976
|
const WEEK_LESS_RE = /less than\s*(\d{1,3})\s*%\s*of your weekly limit left/i;
|
|
21550
21977
|
function parseCodexScreen(text) {
|
|
21551
|
-
var _a;
|
|
21978
|
+
var _a, _b;
|
|
21552
21979
|
const out = {};
|
|
21553
21980
|
if (!text) return out;
|
|
21554
21981
|
const lines = text.split("\n").map((l) => l.replace(/^[\s│┃]+|[\s│┃]+$/g, ""));
|
|
@@ -21566,10 +21993,11 @@ function parseCodexScreen(text) {
|
|
|
21566
21993
|
if (m) out.command = norm(m[1]);
|
|
21567
21994
|
}
|
|
21568
21995
|
const w = WEEK_LEFT_RE.exec(l);
|
|
21569
|
-
if (w)
|
|
21570
|
-
|
|
21996
|
+
if (w) {
|
|
21997
|
+
if (w[2] || !((_a = out.weekly) == null ? void 0 : _a.resets)) out.weekly = { left: clampPct(Number(w[1])), exact: true, ...w[2] ? { resets: norm(w[2]) } : {} };
|
|
21998
|
+
} else {
|
|
21571
21999
|
const hu = WEEK_LESS_RE.exec(l);
|
|
21572
|
-
if (hu && !((
|
|
22000
|
+
if (hu && !((_b = out.weekly) == null ? void 0 : _b.exact)) out.weekly = { left: clampPct(Number(hu[1])), exact: false };
|
|
21573
22001
|
}
|
|
21574
22002
|
}
|
|
21575
22003
|
return out;
|
|
@@ -22085,11 +22513,18 @@ async function ls(fs2, d) {
|
|
|
22085
22513
|
return [];
|
|
22086
22514
|
}
|
|
22087
22515
|
}
|
|
22516
|
+
function claudeApiBilling(status) {
|
|
22517
|
+
var _a;
|
|
22518
|
+
return Boolean(status && typeof status === "object" && ((_a = status._wherdr) == null ? void 0 : _a.version) === 1 && !("rate_limits" in status));
|
|
22519
|
+
}
|
|
22520
|
+
const API_AWARE = "total_api_duration_ms";
|
|
22088
22521
|
function claudeSetupState(f) {
|
|
22089
22522
|
var _a, _b;
|
|
22523
|
+
if (claudeApiBilling(f.status)) return "api";
|
|
22090
22524
|
if (f.status && (!f.status.rate_limits || f.account)) return "ok";
|
|
22091
|
-
const
|
|
22092
|
-
if (
|
|
22525
|
+
const wired = Boolean(((_a = f.statusline) == null ? void 0 : _a.includes("claude-account")) && ((_b = f.settings) == null ? void 0 : _b.includes("wherdr-statusline.sh")));
|
|
22526
|
+
if (wired && f.status) return "ok";
|
|
22527
|
+
if (wired) return f.statusline.includes(API_AWARE) ? "pending" : "outdated";
|
|
22093
22528
|
return f.status ? "outdated" : "missing";
|
|
22094
22529
|
}
|
|
22095
22530
|
async function readClaude(fs2, home) {
|
|
@@ -22250,7 +22685,11 @@ function mergeQuotas(readings) {
|
|
|
22250
22685
|
const accounts = groupAccounts(readings.flatMap((r) => r.claude ? [{ key: r.key, label: r.label, q: r.claude }] : []));
|
|
22251
22686
|
let claude = null;
|
|
22252
22687
|
for (const { machines: _, ...a } of accounts) claude = fresher(claude, a);
|
|
22253
|
-
const
|
|
22688
|
+
const api = readings.some((r) => {
|
|
22689
|
+
var _a;
|
|
22690
|
+
return ((_a = r.setup) == null ? void 0 : _a.state) === "api";
|
|
22691
|
+
});
|
|
22692
|
+
const out = accounts.length > 1 || api && accounts.length ? { claude, codex, claudeAccounts: accounts } : { claude, codex };
|
|
22254
22693
|
if (codexAccounts.length > 1) out.codexAccounts = codexAccounts;
|
|
22255
22694
|
const setup = readings.flatMap((r) => r.setup ? [r.setup] : []);
|
|
22256
22695
|
if (setup.length) out.claudeSetup = setup;
|
|
@@ -22357,6 +22796,12 @@ async function installClaudeStatusline(m) {
|
|
|
22357
22796
|
return last(r.stdout.toString("utf8"));
|
|
22358
22797
|
}
|
|
22359
22798
|
|
|
22799
|
+
async function readPassiveScreen(call, paneId) {
|
|
22800
|
+
var _a;
|
|
22801
|
+
const r = await call("pane.read", { pane_id: paneId, source: "visible" }, 4e3);
|
|
22802
|
+
return String(((_a = r == null ? void 0 : r.read) == null ? void 0 : _a.text) || "");
|
|
22803
|
+
}
|
|
22804
|
+
|
|
22360
22805
|
const CLAUDE = {
|
|
22361
22806
|
keep: {
|
|
22362
22807
|
"--model": 1,
|
|
@@ -22606,12 +23051,24 @@ function claudeFooterMode(text) {
|
|
|
22606
23051
|
|
|
22607
23052
|
function updateShellSignature(text) {
|
|
22608
23053
|
const lines = text.replace(/\r/g, "").trimEnd().split("\n");
|
|
22609
|
-
const
|
|
22610
|
-
|
|
23054
|
+
const installed = /^\s*Codex CLI \S+ installed successfully\.\s*$/;
|
|
23055
|
+
const updated = /^\s*(?:🎉\s*)?Update ran successfully! Please restart Codex\.\s*$/;
|
|
23056
|
+
for (let i = 0; i < lines.length - 1; i++) {
|
|
23057
|
+
if (installed.test(lines[i]) || updated.test(lines[i])) continue;
|
|
23058
|
+
for (const separator of ["", " "]) {
|
|
23059
|
+
const joined = lines[i].trimEnd() + separator + lines[i + 1].trimStart();
|
|
23060
|
+
if (installed.test(joined) || updated.test(joined)) {
|
|
23061
|
+
lines.splice(i, 2, joined);
|
|
23062
|
+
break;
|
|
23063
|
+
}
|
|
23064
|
+
}
|
|
23065
|
+
}
|
|
23066
|
+
const end = lines.findLastIndex((l) => updated.test(l));
|
|
23067
|
+
if (end < 0 || !lines.slice(Math.max(0, end - 4), end).some((l) => installed.test(l))) return null;
|
|
22611
23068
|
const tail = lines.slice(end + 1).filter((l) => l.trim());
|
|
22612
23069
|
if (!tail.length || tail.length > 2) return null;
|
|
22613
23070
|
const last = tail.at(-1);
|
|
22614
|
-
if (!/^\s*(?:[\w
|
|
23071
|
+
if (!/^\s*(?:[\w.-]+@[\w.-]+:[\w./~:-]+ ?[$%#]|[\w.-]+@[\w.-]+ [\w./~:-]+ [$%#]|[$%#❯])\s*$/.test(last)) return null;
|
|
22615
23072
|
if (tail.length === 2 && (!/^\s*[\w./~:-]+ on [\w./:-]+\s*$/.test(tail[0]) || !/^\s*❯\s*$/.test(last))) return null;
|
|
22616
23073
|
return tail.join("\n");
|
|
22617
23074
|
}
|
|
@@ -22724,7 +23181,7 @@ function createSelfUpdates(d, saved = []) {
|
|
|
22724
23181
|
writtenAt = d.now();
|
|
22725
23182
|
(_a = d.save) == null ? void 0 : _a.call(d, [...records]);
|
|
22726
23183
|
};
|
|
22727
|
-
const
|
|
23184
|
+
const readShell = async (id) => {
|
|
22728
23185
|
var _a, _b;
|
|
22729
23186
|
return String(((_b = (_a = await d.call("pane.read", { pane_id: id, source: "recent_unwrapped", lines: 80 }, 4e3)) == null ? void 0 : _a.read) == null ? void 0 : _b.text) || "");
|
|
22730
23187
|
};
|
|
@@ -22769,7 +23226,7 @@ function createSelfUpdates(d, saved = []) {
|
|
|
22769
23226
|
last.at = d.now();
|
|
22770
23227
|
last.argv = fg.argv || last.argv;
|
|
22771
23228
|
last.pane = { id: p.id, workspace: p.workspace, agent: p.agent, agentSession: p.agentSession, bornAt: p.bornAt, cwd: p.cwd, name: p.name, title: p.title };
|
|
22772
|
-
const screen = await
|
|
23229
|
+
const screen = await readPassiveScreen(d.call, p.id);
|
|
22773
23230
|
const chat = await d.chat(p).catch(() => null);
|
|
22774
23231
|
if (chat && (chat.guessed || chat.session && chat.session !== last.session)) {
|
|
22775
23232
|
if (chat.session !== last.session) last.conversation = "unknown";
|
|
@@ -22809,7 +23266,7 @@ function createSelfUpdates(d, saved = []) {
|
|
|
22809
23266
|
}
|
|
22810
23267
|
last.checked = true;
|
|
22811
23268
|
if (d.now() - last.gone < 15e3 && !last.oldOutput && (await paneForeground(d, p.id, "codex")).atShell) {
|
|
22812
|
-
last.signature = updateShellSignature(await
|
|
23269
|
+
last.signature = updateShellSignature(await readShell(p.id)) || void 0;
|
|
22813
23270
|
if (last.signature) {
|
|
22814
23271
|
const chat = await d.chat(last.pane).catch(() => null);
|
|
22815
23272
|
if (!chat || chat.guessed || !chat.available && last.session) {
|
|
@@ -22840,11 +23297,36 @@ function createSelfUpdates(d, saved = []) {
|
|
|
22840
23297
|
async check(id) {
|
|
22841
23298
|
const last = records.get(id);
|
|
22842
23299
|
if (!(last == null ? void 0 : last.signature) || !(await paneForeground(d, id, "codex")).atShell) return null;
|
|
22843
|
-
return updateShellSignature(await
|
|
23300
|
+
return updateShellSignature(await readShell(id)) === last.signature ? last : null;
|
|
22844
23301
|
}
|
|
22845
23302
|
};
|
|
22846
23303
|
}
|
|
22847
23304
|
|
|
23305
|
+
function pollQueue(run) {
|
|
23306
|
+
const inflight = /* @__PURE__ */ new Map();
|
|
23307
|
+
const again = /* @__PURE__ */ new Set();
|
|
23308
|
+
function pollOne(m) {
|
|
23309
|
+
const cur = inflight.get(m.key);
|
|
23310
|
+
if (cur) {
|
|
23311
|
+
again.add(m.key);
|
|
23312
|
+
return cur;
|
|
23313
|
+
}
|
|
23314
|
+
const p = run(m).catch(() => {
|
|
23315
|
+
}).finally(() => {
|
|
23316
|
+
inflight.delete(m.key);
|
|
23317
|
+
if (again.delete(m.key)) pollOne(m);
|
|
23318
|
+
});
|
|
23319
|
+
inflight.set(m.key, p);
|
|
23320
|
+
return p;
|
|
23321
|
+
}
|
|
23322
|
+
async function pollFresh(m) {
|
|
23323
|
+
const cur = inflight.get(m.key);
|
|
23324
|
+
if (cur) await cur;
|
|
23325
|
+
return pollOne(m);
|
|
23326
|
+
}
|
|
23327
|
+
return { pollOne, pollFresh, busy: (key) => inflight.has(key) };
|
|
23328
|
+
}
|
|
23329
|
+
|
|
22848
23330
|
var _a, _b;
|
|
22849
23331
|
const fsp$1 = fs.promises;
|
|
22850
23332
|
function trFor(p) {
|
|
@@ -23064,7 +23546,7 @@ const codexStatus = createCodexStatus({
|
|
|
23064
23546
|
exec: exec ? (script, input, timeoutMs) => exec(script, [], { input, timeoutMs }) : null
|
|
23065
23547
|
};
|
|
23066
23548
|
},
|
|
23067
|
-
readScreen: (id) => herdr
|
|
23549
|
+
readScreen: (id) => readPassiveScreen(herdr, id),
|
|
23068
23550
|
rolloutOf: async (p) => {
|
|
23069
23551
|
var _a2;
|
|
23070
23552
|
return ((_a2 = await transcripts.locate(p)) == null ? void 0 : _a2.file) || null;
|
|
@@ -23955,21 +24437,11 @@ async function pollMachine(m) {
|
|
|
23955
24437
|
if (prev && prev.ok && next.ok) watchTransitions(prev, next);
|
|
23956
24438
|
rebuild();
|
|
23957
24439
|
}
|
|
23958
|
-
const
|
|
23959
|
-
const
|
|
23960
|
-
function
|
|
23961
|
-
|
|
23962
|
-
|
|
23963
|
-
again.add(m.key);
|
|
23964
|
-
return cur;
|
|
23965
|
-
}
|
|
23966
|
-
const run = pollMachine(m).catch(() => {
|
|
23967
|
-
}).finally(() => {
|
|
23968
|
-
inflight.delete(m.key);
|
|
23969
|
-
if (again.delete(m.key)) pollOne(m);
|
|
23970
|
-
});
|
|
23971
|
-
inflight.set(m.key, run);
|
|
23972
|
-
return run;
|
|
24440
|
+
const polls = pollQueue(pollMachine);
|
|
24441
|
+
const pollOne = polls.pollOne;
|
|
24442
|
+
async function pollFresh(m) {
|
|
24443
|
+
await polls.pollFresh(m);
|
|
24444
|
+
rebuild();
|
|
23973
24445
|
}
|
|
23974
24446
|
async function poll() {
|
|
23975
24447
|
var _a2;
|
|
@@ -23995,7 +24467,7 @@ function startPolling() {
|
|
|
23995
24467
|
views();
|
|
23996
24468
|
const loop = () => {
|
|
23997
24469
|
const ms = allMachines();
|
|
23998
|
-
for (const m of ms) if (m.key !== LOCAL && m.status === "online" && !
|
|
24470
|
+
for (const m of ms) if (m.key !== LOCAL && m.status === "online" && !polls.busy(m.key)) pollOne(m);
|
|
23999
24471
|
pollOne(localMachineOf(ms)).finally(() => {
|
|
24000
24472
|
if (!stopped) pollTimer = setTimeout(loop, POLL_MS);
|
|
24001
24473
|
});
|
|
@@ -24823,147 +25295,147 @@ const assets = {
|
|
|
24823
25295
|
"/manifest-en.webmanifest": {
|
|
24824
25296
|
"type": "application/manifest+json",
|
|
24825
25297
|
"etag": "\"260-q1JnCK0/ecdKwgeTve6N4I6/mWI\"",
|
|
24826
|
-
"mtime": "2026-10-
|
|
25298
|
+
"mtime": "2026-10-30T16:50:28.555Z",
|
|
24827
25299
|
"size": 608,
|
|
24828
25300
|
"path": "../public/manifest-en.webmanifest"
|
|
24829
25301
|
},
|
|
24830
25302
|
"/manifest.webmanifest": {
|
|
24831
25303
|
"type": "application/manifest+json",
|
|
24832
25304
|
"etag": "\"26e-ykoYuj4V8la457yChW3oQTur8RU\"",
|
|
24833
|
-
"mtime": "2026-10-
|
|
25305
|
+
"mtime": "2026-10-30T16:50:28.555Z",
|
|
24834
25306
|
"size": 622,
|
|
24835
25307
|
"path": "../public/manifest.webmanifest"
|
|
24836
25308
|
},
|
|
24837
25309
|
"/sw.js": {
|
|
24838
25310
|
"type": "text/javascript; charset=utf-8",
|
|
24839
|
-
"etag": "\"
|
|
24840
|
-
"mtime": "2026-10-
|
|
24841
|
-
"size":
|
|
25311
|
+
"etag": "\"1c0a-J7zN2ymM4vaBPt5sveruAjPwR+4\"",
|
|
25312
|
+
"mtime": "2026-10-30T16:50:31.702Z",
|
|
25313
|
+
"size": 7178,
|
|
24842
25314
|
"path": "../public/sw.js"
|
|
24843
25315
|
},
|
|
24844
|
-
"/_nuxt/
|
|
24845
|
-
"type": "text/
|
|
25316
|
+
"/_nuxt/AgentView.B12D6ccj.css": {
|
|
25317
|
+
"type": "text/css; charset=utf-8",
|
|
24846
25318
|
"encoding": null,
|
|
24847
|
-
"etag": "\"
|
|
24848
|
-
"mtime": "2026-10-
|
|
24849
|
-
"size":
|
|
24850
|
-
"path": "../public/_nuxt/
|
|
25319
|
+
"etag": "\"1970-POPIQZVf9iStK0emo4cyYU3t8zs\"",
|
|
25320
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25321
|
+
"size": 6512,
|
|
25322
|
+
"path": "../public/_nuxt/AgentView.B12D6ccj.css"
|
|
24851
25323
|
},
|
|
24852
|
-
"/_nuxt/
|
|
24853
|
-
"type": "text/
|
|
25324
|
+
"/_nuxt/AgentView.B12D6ccj.css.br": {
|
|
25325
|
+
"type": "text/css; charset=utf-8",
|
|
25326
|
+
"encoding": "br",
|
|
25327
|
+
"etag": "\"5bf-cBXIhNl2x5kW7MtZ2/9bpec5oto\"",
|
|
25328
|
+
"mtime": "2026-10-30T16:50:28.577Z",
|
|
25329
|
+
"size": 1471,
|
|
25330
|
+
"path": "../public/_nuxt/AgentView.B12D6ccj.css.br"
|
|
25331
|
+
},
|
|
25332
|
+
"/_nuxt/AgentView.B12D6ccj.css.gz": {
|
|
25333
|
+
"type": "text/css; charset=utf-8",
|
|
24854
25334
|
"encoding": "gzip",
|
|
24855
|
-
"etag": "\"
|
|
24856
|
-
"mtime": "2026-10-
|
|
24857
|
-
"size":
|
|
24858
|
-
"path": "../public/_nuxt/
|
|
25335
|
+
"etag": "\"6b8-V26kdgdQl9OMBttUKGeT2L7KXrM\"",
|
|
25336
|
+
"mtime": "2026-10-30T16:50:28.576Z",
|
|
25337
|
+
"size": 1720,
|
|
25338
|
+
"path": "../public/_nuxt/AgentView.B12D6ccj.css.gz"
|
|
24859
25339
|
},
|
|
24860
|
-
"/_nuxt/
|
|
25340
|
+
"/_nuxt/B2KlcBQ-.js.br": {
|
|
24861
25341
|
"type": "text/javascript; charset=utf-8",
|
|
24862
25342
|
"encoding": "br",
|
|
24863
|
-
"etag": "\"
|
|
24864
|
-
"mtime": "2026-10-
|
|
24865
|
-
"size":
|
|
24866
|
-
"path": "../public/_nuxt/
|
|
25343
|
+
"etag": "\"56d6-eQ1DFXaZ3E676KLB/D0Oe31c90Y\"",
|
|
25344
|
+
"mtime": "2026-10-30T16:50:28.730Z",
|
|
25345
|
+
"size": 22230,
|
|
25346
|
+
"path": "../public/_nuxt/B2KlcBQ-.js.br"
|
|
24867
25347
|
},
|
|
24868
|
-
"/_nuxt/
|
|
25348
|
+
"/_nuxt/BDNMzG2s.js": {
|
|
24869
25349
|
"type": "text/javascript; charset=utf-8",
|
|
24870
|
-
"
|
|
24871
|
-
"
|
|
24872
|
-
"
|
|
24873
|
-
"
|
|
24874
|
-
"path": "../public/_nuxt/4gY2mLGX.js"
|
|
25350
|
+
"etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
|
|
25351
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25352
|
+
"size": 84,
|
|
25353
|
+
"path": "../public/_nuxt/BDNMzG2s.js"
|
|
24875
25354
|
},
|
|
24876
|
-
"/_nuxt/
|
|
25355
|
+
"/_nuxt/B2KlcBQ-.js.gz": {
|
|
24877
25356
|
"type": "text/javascript; charset=utf-8",
|
|
24878
|
-
"encoding": "
|
|
24879
|
-
"etag": "\"
|
|
24880
|
-
"mtime": "2026-10-
|
|
24881
|
-
"size":
|
|
24882
|
-
"path": "../public/_nuxt/
|
|
25357
|
+
"encoding": "gzip",
|
|
25358
|
+
"etag": "\"6435-cXxXKKZ2x77Rf0msZgttQaYCOj4\"",
|
|
25359
|
+
"mtime": "2026-10-30T16:50:28.589Z",
|
|
25360
|
+
"size": 25653,
|
|
25361
|
+
"path": "../public/_nuxt/B2KlcBQ-.js.gz"
|
|
24883
25362
|
},
|
|
24884
|
-
"/_nuxt/
|
|
25363
|
+
"/_nuxt/B2KlcBQ-.js": {
|
|
24885
25364
|
"type": "text/javascript; charset=utf-8",
|
|
24886
|
-
"encoding":
|
|
24887
|
-
"etag": "\"
|
|
24888
|
-
"mtime": "2026-10-
|
|
24889
|
-
"size":
|
|
24890
|
-
"path": "../public/_nuxt/
|
|
25365
|
+
"encoding": null,
|
|
25366
|
+
"etag": "\"17ad2-oJQfTvENew7qDThYZRqX6xqcuXM\"",
|
|
25367
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25368
|
+
"size": 96978,
|
|
25369
|
+
"path": "../public/_nuxt/B2KlcBQ-.js"
|
|
24891
25370
|
},
|
|
24892
|
-
"/_nuxt/
|
|
24893
|
-
"type": "text/
|
|
25371
|
+
"/_nuxt/BDTOz37p.js": {
|
|
25372
|
+
"type": "text/javascript; charset=utf-8",
|
|
24894
25373
|
"encoding": null,
|
|
24895
|
-
"etag": "\"
|
|
24896
|
-
"mtime": "2026-10-
|
|
24897
|
-
"size":
|
|
24898
|
-
"path": "../public/_nuxt/
|
|
25374
|
+
"etag": "\"1760-dGKWly2VqAWCwl1U6Gdjj2J3JsM\"",
|
|
25375
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25376
|
+
"size": 5984,
|
|
25377
|
+
"path": "../public/_nuxt/BDTOz37p.js"
|
|
24899
25378
|
},
|
|
24900
|
-
"/_nuxt/
|
|
24901
|
-
"type": "text/
|
|
25379
|
+
"/_nuxt/BDTOz37p.js.br": {
|
|
25380
|
+
"type": "text/javascript; charset=utf-8",
|
|
24902
25381
|
"encoding": "br",
|
|
24903
|
-
"etag": "\"
|
|
24904
|
-
"mtime": "2026-10-
|
|
24905
|
-
"size":
|
|
24906
|
-
"path": "../public/_nuxt/
|
|
25382
|
+
"etag": "\"86c-lELgRAjotTwfwvLoxoRXFe0KGzk\"",
|
|
25383
|
+
"mtime": "2026-10-30T16:50:28.577Z",
|
|
25384
|
+
"size": 2156,
|
|
25385
|
+
"path": "../public/_nuxt/BDTOz37p.js.br"
|
|
24907
25386
|
},
|
|
24908
|
-
"/_nuxt/
|
|
24909
|
-
"type": "text/
|
|
25387
|
+
"/_nuxt/BDTOz37p.js.gz": {
|
|
25388
|
+
"type": "text/javascript; charset=utf-8",
|
|
24910
25389
|
"encoding": "gzip",
|
|
24911
|
-
"etag": "\"
|
|
24912
|
-
"mtime": "2026-10-
|
|
24913
|
-
"size":
|
|
24914
|
-
"path": "../public/_nuxt/
|
|
25390
|
+
"etag": "\"972-X1IjWEfIYxhnXIVQHbJIUrpPS+0\"",
|
|
25391
|
+
"mtime": "2026-10-30T16:50:28.577Z",
|
|
25392
|
+
"size": 2418,
|
|
25393
|
+
"path": "../public/_nuxt/BDTOz37p.js.gz"
|
|
24915
25394
|
},
|
|
24916
|
-
"/_nuxt/
|
|
25395
|
+
"/_nuxt/BGD5AamG.js.br": {
|
|
24917
25396
|
"type": "text/javascript; charset=utf-8",
|
|
24918
|
-
"encoding":
|
|
24919
|
-
"etag": "\"
|
|
24920
|
-
"mtime": "2026-10-
|
|
24921
|
-
"size":
|
|
24922
|
-
"path": "../public/_nuxt/
|
|
25397
|
+
"encoding": "br",
|
|
25398
|
+
"etag": "\"5510-AO1dqQuueXOu/+L1KjrEsNYwaqY\"",
|
|
25399
|
+
"mtime": "2026-10-30T16:50:28.730Z",
|
|
25400
|
+
"size": 21776,
|
|
25401
|
+
"path": "../public/_nuxt/BGD5AamG.js.br"
|
|
24923
25402
|
},
|
|
24924
|
-
"/_nuxt/
|
|
25403
|
+
"/_nuxt/BGD5AamG.js.gz": {
|
|
24925
25404
|
"type": "text/javascript; charset=utf-8",
|
|
24926
25405
|
"encoding": "gzip",
|
|
24927
|
-
"etag": "\"
|
|
24928
|
-
"mtime": "2026-10-
|
|
24929
|
-
"size":
|
|
24930
|
-
"path": "../public/_nuxt/
|
|
25406
|
+
"etag": "\"605e-gP8B2zjYlXWhoQsrREuPGMnl0ak\"",
|
|
25407
|
+
"mtime": "2026-10-30T16:50:28.589Z",
|
|
25408
|
+
"size": 24670,
|
|
25409
|
+
"path": "../public/_nuxt/BGD5AamG.js.gz"
|
|
24931
25410
|
},
|
|
24932
|
-
"/_nuxt/
|
|
25411
|
+
"/_nuxt/BYZVrreW.js": {
|
|
24933
25412
|
"type": "text/javascript; charset=utf-8",
|
|
24934
|
-
"
|
|
24935
|
-
"
|
|
24936
|
-
"
|
|
24937
|
-
"
|
|
24938
|
-
"path": "../public/_nuxt/B8eSr-59.js.br"
|
|
25413
|
+
"etag": "\"10a-N491fDe6XBCO0Ywz8HJPp1b+bmk\"",
|
|
25414
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25415
|
+
"size": 266,
|
|
25416
|
+
"path": "../public/_nuxt/BYZVrreW.js"
|
|
24939
25417
|
},
|
|
24940
|
-
"/_nuxt/
|
|
25418
|
+
"/_nuxt/BGD5AamG.js": {
|
|
24941
25419
|
"type": "text/javascript; charset=utf-8",
|
|
24942
|
-
"
|
|
24943
|
-
"
|
|
24944
|
-
"
|
|
24945
|
-
"
|
|
25420
|
+
"encoding": null,
|
|
25421
|
+
"etag": "\"151e2-0RLShh23hPWE71YeXWFdLTOgpm8\"",
|
|
25422
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25423
|
+
"size": 86498,
|
|
25424
|
+
"path": "../public/_nuxt/BGD5AamG.js"
|
|
24946
25425
|
},
|
|
24947
25426
|
"/_nuxt/Bd17z0YL.js": {
|
|
24948
25427
|
"type": "text/javascript; charset=utf-8",
|
|
24949
25428
|
"encoding": null,
|
|
24950
25429
|
"etag": "\"1615-CPDn06/EO3pj6KudXz5uMZ0FkhI\"",
|
|
24951
|
-
"mtime": "2026-10-
|
|
25430
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
24952
25431
|
"size": 5653,
|
|
24953
25432
|
"path": "../public/_nuxt/Bd17z0YL.js"
|
|
24954
25433
|
},
|
|
24955
|
-
"/_nuxt/BYZVrreW.js": {
|
|
24956
|
-
"type": "text/javascript; charset=utf-8",
|
|
24957
|
-
"etag": "\"10a-N491fDe6XBCO0Ywz8HJPp1b+bmk\"",
|
|
24958
|
-
"mtime": "2026-10-26T23:39:23.425Z",
|
|
24959
|
-
"size": 266,
|
|
24960
|
-
"path": "../public/_nuxt/BYZVrreW.js"
|
|
24961
|
-
},
|
|
24962
25434
|
"/_nuxt/Bd17z0YL.js.br": {
|
|
24963
25435
|
"type": "text/javascript; charset=utf-8",
|
|
24964
25436
|
"encoding": "br",
|
|
24965
25437
|
"etag": "\"79e-qSbhutNsc4/hJ9HEH8GMg3hBxLY\"",
|
|
24966
|
-
"mtime": "2026-10-
|
|
25438
|
+
"mtime": "2026-10-30T16:50:28.725Z",
|
|
24967
25439
|
"size": 1950,
|
|
24968
25440
|
"path": "../public/_nuxt/Bd17z0YL.js.br"
|
|
24969
25441
|
},
|
|
@@ -24971,63 +25443,103 @@ const assets = {
|
|
|
24971
25443
|
"type": "text/javascript; charset=utf-8",
|
|
24972
25444
|
"encoding": "gzip",
|
|
24973
25445
|
"etag": "\"897-ZZlS54zocIqfLiWEynRKnIn7L2s\"",
|
|
24974
|
-
"mtime": "2026-10-
|
|
25446
|
+
"mtime": "2026-10-30T16:50:28.577Z",
|
|
24975
25447
|
"size": 2199,
|
|
24976
25448
|
"path": "../public/_nuxt/Bd17z0YL.js.gz"
|
|
24977
25449
|
},
|
|
25450
|
+
"/_nuxt/BdJIc1Xf.js": {
|
|
25451
|
+
"type": "text/javascript; charset=utf-8",
|
|
25452
|
+
"encoding": null,
|
|
25453
|
+
"etag": "\"eab-KrUMD8PqpakcNW9Q5CF4RQoHwjU\"",
|
|
25454
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25455
|
+
"size": 3755,
|
|
25456
|
+
"path": "../public/_nuxt/BdJIc1Xf.js"
|
|
25457
|
+
},
|
|
25458
|
+
"/_nuxt/BdJIc1Xf.js.br": {
|
|
25459
|
+
"type": "text/javascript; charset=utf-8",
|
|
25460
|
+
"encoding": "br",
|
|
25461
|
+
"etag": "\"5c5-67t0AzE8M9h3UyKF4SXUizxMzAk\"",
|
|
25462
|
+
"mtime": "2026-10-30T16:50:28.577Z",
|
|
25463
|
+
"size": 1477,
|
|
25464
|
+
"path": "../public/_nuxt/BdJIc1Xf.js.br"
|
|
25465
|
+
},
|
|
25466
|
+
"/_nuxt/BdJIc1Xf.js.gz": {
|
|
25467
|
+
"type": "text/javascript; charset=utf-8",
|
|
25468
|
+
"encoding": "gzip",
|
|
25469
|
+
"etag": "\"6a2-xlucy3H+VIL1E0jc5Syyy22cYks\"",
|
|
25470
|
+
"mtime": "2026-10-30T16:50:28.577Z",
|
|
25471
|
+
"size": 1698,
|
|
25472
|
+
"path": "../public/_nuxt/BdJIc1Xf.js.gz"
|
|
25473
|
+
},
|
|
24978
25474
|
"/_nuxt/Bpoxvzh6.js": {
|
|
24979
25475
|
"type": "text/javascript; charset=utf-8",
|
|
24980
25476
|
"encoding": null,
|
|
24981
25477
|
"etag": "\"1c49-bXAEhdP8o69g6PbBI2Q4c1IQs2I\"",
|
|
24982
|
-
"mtime": "2026-10-
|
|
25478
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
24983
25479
|
"size": 7241,
|
|
24984
25480
|
"path": "../public/_nuxt/Bpoxvzh6.js"
|
|
24985
25481
|
},
|
|
25482
|
+
"/_nuxt/Bpoxvzh6.js.br": {
|
|
25483
|
+
"type": "text/javascript; charset=utf-8",
|
|
25484
|
+
"encoding": "br",
|
|
25485
|
+
"etag": "\"a31-oBhf4FiOofT/RLwig8y7hADIbSA\"",
|
|
25486
|
+
"mtime": "2026-10-30T16:50:28.729Z",
|
|
25487
|
+
"size": 2609,
|
|
25488
|
+
"path": "../public/_nuxt/Bpoxvzh6.js.br"
|
|
25489
|
+
},
|
|
24986
25490
|
"/_nuxt/Bpoxvzh6.js.gz": {
|
|
24987
25491
|
"type": "text/javascript; charset=utf-8",
|
|
24988
25492
|
"encoding": "gzip",
|
|
24989
25493
|
"etag": "\"b41-rn0l2lZATd/tAqdp1MPScL1c0mA\"",
|
|
24990
|
-
"mtime": "2026-10-
|
|
25494
|
+
"mtime": "2026-10-30T16:50:28.729Z",
|
|
24991
25495
|
"size": 2881,
|
|
24992
25496
|
"path": "../public/_nuxt/Bpoxvzh6.js.gz"
|
|
24993
25497
|
},
|
|
24994
|
-
"/_nuxt/
|
|
25498
|
+
"/_nuxt/BxlzUs1i.js.br": {
|
|
24995
25499
|
"type": "text/javascript; charset=utf-8",
|
|
24996
25500
|
"encoding": "br",
|
|
24997
|
-
"etag": "\"
|
|
24998
|
-
"mtime": "2026-10-
|
|
24999
|
-
"size":
|
|
25000
|
-
"path": "../public/_nuxt/
|
|
25501
|
+
"etag": "\"10096-02wn4T3jdPSrqUU/Mlql65QJcxI\"",
|
|
25502
|
+
"mtime": "2026-10-30T16:50:29.138Z",
|
|
25503
|
+
"size": 65686,
|
|
25504
|
+
"path": "../public/_nuxt/BxlzUs1i.js.br"
|
|
25001
25505
|
},
|
|
25002
|
-
"/_nuxt/
|
|
25506
|
+
"/_nuxt/BxlzUs1i.js.gz": {
|
|
25003
25507
|
"type": "text/javascript; charset=utf-8",
|
|
25004
|
-
"encoding":
|
|
25005
|
-
"etag": "\"
|
|
25006
|
-
"mtime": "2026-10-
|
|
25007
|
-
"size":
|
|
25008
|
-
"path": "../public/_nuxt/
|
|
25508
|
+
"encoding": "gzip",
|
|
25509
|
+
"etag": "\"12742-fFGsT0fVEDqogj2qUPKVcj6JnrY\"",
|
|
25510
|
+
"mtime": "2026-10-30T16:50:28.880Z",
|
|
25511
|
+
"size": 75586,
|
|
25512
|
+
"path": "../public/_nuxt/BxlzUs1i.js.gz"
|
|
25009
25513
|
},
|
|
25010
|
-
"/_nuxt/
|
|
25514
|
+
"/_nuxt/C-BDzEtI.js.br": {
|
|
25011
25515
|
"type": "text/javascript; charset=utf-8",
|
|
25012
25516
|
"encoding": "br",
|
|
25013
|
-
"etag": "\"
|
|
25014
|
-
"mtime": "2026-10-
|
|
25015
|
-
"size":
|
|
25016
|
-
"path": "../public/_nuxt/
|
|
25517
|
+
"etag": "\"ac75-FtZfzBd5xIVMpFTR4Sw3CDLn/f4\"",
|
|
25518
|
+
"mtime": "2026-10-30T16:50:28.959Z",
|
|
25519
|
+
"size": 44149,
|
|
25520
|
+
"path": "../public/_nuxt/C-BDzEtI.js.br"
|
|
25017
25521
|
},
|
|
25018
|
-
"/_nuxt/
|
|
25522
|
+
"/_nuxt/C-BDzEtI.js.gz": {
|
|
25019
25523
|
"type": "text/javascript; charset=utf-8",
|
|
25020
25524
|
"encoding": "gzip",
|
|
25021
|
-
"etag": "\"
|
|
25022
|
-
"mtime": "2026-10-
|
|
25023
|
-
"size":
|
|
25024
|
-
"path": "../public/_nuxt/
|
|
25525
|
+
"etag": "\"cb26-UOdN/sYoHqj9TTwOLkAKihuIbEk\"",
|
|
25526
|
+
"mtime": "2026-10-30T16:50:28.781Z",
|
|
25527
|
+
"size": 52006,
|
|
25528
|
+
"path": "../public/_nuxt/C-BDzEtI.js.gz"
|
|
25529
|
+
},
|
|
25530
|
+
"/_nuxt/BxlzUs1i.js": {
|
|
25531
|
+
"type": "text/javascript; charset=utf-8",
|
|
25532
|
+
"encoding": null,
|
|
25533
|
+
"etag": "\"39087-nQumoL0Zi8gSbeSqD/Ufsxt3R24\"",
|
|
25534
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25535
|
+
"size": 233607,
|
|
25536
|
+
"path": "../public/_nuxt/BxlzUs1i.js"
|
|
25025
25537
|
},
|
|
25026
25538
|
"/_nuxt/C25ROUa9.js.br": {
|
|
25027
25539
|
"type": "text/javascript; charset=utf-8",
|
|
25028
25540
|
"encoding": "br",
|
|
25029
25541
|
"etag": "\"80f0-NhDll6VrOupqHqwk4yBxvm5jq18\"",
|
|
25030
|
-
"mtime": "2026-10-
|
|
25542
|
+
"mtime": "2026-10-30T16:50:28.934Z",
|
|
25031
25543
|
"size": 33008,
|
|
25032
25544
|
"path": "../public/_nuxt/C25ROUa9.js.br"
|
|
25033
25545
|
},
|
|
@@ -25035,7 +25547,7 @@ const assets = {
|
|
|
25035
25547
|
"type": "text/javascript; charset=utf-8",
|
|
25036
25548
|
"encoding": "gzip",
|
|
25037
25549
|
"etag": "\"8fac-0dHfNcSWZNWAsX3MngUQ3KiWnaU\"",
|
|
25038
|
-
"mtime": "2026-10-
|
|
25550
|
+
"mtime": "2026-10-30T16:50:28.731Z",
|
|
25039
25551
|
"size": 36780,
|
|
25040
25552
|
"path": "../public/_nuxt/C25ROUa9.js.gz"
|
|
25041
25553
|
},
|
|
@@ -25043,7 +25555,7 @@ const assets = {
|
|
|
25043
25555
|
"type": "text/javascript; charset=utf-8",
|
|
25044
25556
|
"encoding": null,
|
|
25045
25557
|
"etag": "\"7e5c-4oH4bzjszPo3bZwQbTcPqcxL7Q8\"",
|
|
25046
|
-
"mtime": "2026-10-
|
|
25558
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25047
25559
|
"size": 32348,
|
|
25048
25560
|
"path": "../public/_nuxt/CDWjMk9C.js"
|
|
25049
25561
|
},
|
|
@@ -25051,70 +25563,133 @@ const assets = {
|
|
|
25051
25563
|
"type": "text/javascript; charset=utf-8",
|
|
25052
25564
|
"encoding": null,
|
|
25053
25565
|
"etag": "\"176b5-t7ykke36hXndVVgSfWGMLAcfqiU\"",
|
|
25054
|
-
"mtime": "2026-10-
|
|
25566
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25055
25567
|
"size": 95925,
|
|
25056
25568
|
"path": "../public/_nuxt/C25ROUa9.js"
|
|
25057
25569
|
},
|
|
25570
|
+
"/_nuxt/C-BDzEtI.js": {
|
|
25571
|
+
"type": "text/javascript; charset=utf-8",
|
|
25572
|
+
"encoding": null,
|
|
25573
|
+
"etag": "\"2a3e4-CZScTzlemniRSrp1fWJ2UrnsHXM\"",
|
|
25574
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25575
|
+
"size": 173028,
|
|
25576
|
+
"path": "../public/_nuxt/C-BDzEtI.js"
|
|
25577
|
+
},
|
|
25058
25578
|
"/_nuxt/CDWjMk9C.js.br": {
|
|
25059
25579
|
"type": "text/javascript; charset=utf-8",
|
|
25060
25580
|
"encoding": "br",
|
|
25061
25581
|
"etag": "\"2c7d-MSYhOFOyxFG7EGTLaDrRc1PTgP4\"",
|
|
25062
|
-
"mtime": "2026-10-
|
|
25582
|
+
"mtime": "2026-10-30T16:50:28.881Z",
|
|
25063
25583
|
"size": 11389,
|
|
25064
25584
|
"path": "../public/_nuxt/CDWjMk9C.js.br"
|
|
25065
25585
|
},
|
|
25586
|
+
"/_nuxt/CLf2i_DM.js": {
|
|
25587
|
+
"type": "text/javascript; charset=utf-8",
|
|
25588
|
+
"etag": "\"13f-l6MqfzuLiSClPRTWWEQkBKCiVdc\"",
|
|
25589
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25590
|
+
"size": 319,
|
|
25591
|
+
"path": "../public/_nuxt/CLf2i_DM.js"
|
|
25592
|
+
},
|
|
25066
25593
|
"/_nuxt/CDWjMk9C.js.gz": {
|
|
25067
25594
|
"type": "text/javascript; charset=utf-8",
|
|
25068
25595
|
"encoding": "gzip",
|
|
25069
25596
|
"etag": "\"3112-7vQD7fBK1KDlVHHbgySojvVCDho\"",
|
|
25070
|
-
"mtime": "2026-10-
|
|
25597
|
+
"mtime": "2026-10-30T16:50:28.881Z",
|
|
25071
25598
|
"size": 12562,
|
|
25072
25599
|
"path": "../public/_nuxt/CDWjMk9C.js.gz"
|
|
25073
25600
|
},
|
|
25074
|
-
"/_nuxt/
|
|
25601
|
+
"/_nuxt/CO4sDeSt.js.br": {
|
|
25075
25602
|
"type": "text/javascript; charset=utf-8",
|
|
25076
|
-
"
|
|
25077
|
-
"
|
|
25078
|
-
"
|
|
25079
|
-
"
|
|
25603
|
+
"encoding": "br",
|
|
25604
|
+
"etag": "\"66fc-frmxzfRrsgnhuPf0vUqKUBHEcs4\"",
|
|
25605
|
+
"mtime": "2026-10-30T16:50:28.959Z",
|
|
25606
|
+
"size": 26364,
|
|
25607
|
+
"path": "../public/_nuxt/CO4sDeSt.js.br"
|
|
25080
25608
|
},
|
|
25081
|
-
"/_nuxt/
|
|
25609
|
+
"/_nuxt/CO4sDeSt.js": {
|
|
25610
|
+
"type": "text/javascript; charset=utf-8",
|
|
25611
|
+
"encoding": null,
|
|
25612
|
+
"etag": "\"14154-xeT2ii4pU6xcyNxr0zeaomnBnPw\"",
|
|
25613
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25614
|
+
"size": 82260,
|
|
25615
|
+
"path": "../public/_nuxt/CO4sDeSt.js"
|
|
25616
|
+
},
|
|
25617
|
+
"/_nuxt/CO4sDeSt.js.gz": {
|
|
25618
|
+
"type": "text/javascript; charset=utf-8",
|
|
25619
|
+
"encoding": "gzip",
|
|
25620
|
+
"etag": "\"730e-Baa9GdBsH37Sj/XZrK0fXPSgchU\"",
|
|
25621
|
+
"mtime": "2026-10-30T16:50:28.928Z",
|
|
25622
|
+
"size": 29454,
|
|
25623
|
+
"path": "../public/_nuxt/CO4sDeSt.js.gz"
|
|
25624
|
+
},
|
|
25625
|
+
"/_nuxt/CPlkxpge.js.br": {
|
|
25082
25626
|
"type": "text/javascript; charset=utf-8",
|
|
25083
25627
|
"encoding": "br",
|
|
25084
|
-
"etag": "\"
|
|
25085
|
-
"mtime": "2026-10-
|
|
25086
|
-
"size":
|
|
25087
|
-
"path": "../public/_nuxt/
|
|
25628
|
+
"etag": "\"233a2-Dh1aH2CDr5u8X+xdTfd4tZxlbQo\"",
|
|
25629
|
+
"mtime": "2026-10-30T16:50:30.365Z",
|
|
25630
|
+
"size": 144290,
|
|
25631
|
+
"path": "../public/_nuxt/CPlkxpge.js.br"
|
|
25088
25632
|
},
|
|
25089
|
-
"/_nuxt/
|
|
25633
|
+
"/_nuxt/CPlkxpge.js.gz": {
|
|
25090
25634
|
"type": "text/javascript; charset=utf-8",
|
|
25091
|
-
"encoding":
|
|
25092
|
-
"etag": "\"
|
|
25093
|
-
"mtime": "2026-10-
|
|
25094
|
-
"size":
|
|
25095
|
-
"path": "../public/_nuxt/
|
|
25635
|
+
"encoding": "gzip",
|
|
25636
|
+
"etag": "\"2c26e-MaW3IFcx1qlcRvEI5OcC6+Omr8U\"",
|
|
25637
|
+
"mtime": "2026-10-30T16:50:29.142Z",
|
|
25638
|
+
"size": 180846,
|
|
25639
|
+
"path": "../public/_nuxt/CPlkxpge.js.gz"
|
|
25640
|
+
},
|
|
25641
|
+
"/_nuxt/CTPNZj4T.js.br": {
|
|
25642
|
+
"type": "text/javascript; charset=utf-8",
|
|
25643
|
+
"encoding": "br",
|
|
25644
|
+
"etag": "\"77bb-SbyzfGLlwIlYZ5aHNmdrRq/vivw\"",
|
|
25645
|
+
"mtime": "2026-10-30T16:50:29.142Z",
|
|
25646
|
+
"size": 30651,
|
|
25647
|
+
"path": "../public/_nuxt/CTPNZj4T.js.br"
|
|
25648
|
+
},
|
|
25649
|
+
"/_nuxt/CTPNZj4T.js.gz": {
|
|
25650
|
+
"type": "text/javascript; charset=utf-8",
|
|
25651
|
+
"encoding": "gzip",
|
|
25652
|
+
"etag": "\"8f2d-MUHgAZ63BxMYDOIyY2OoIvAb1go\"",
|
|
25653
|
+
"mtime": "2026-10-30T16:50:28.966Z",
|
|
25654
|
+
"size": 36653,
|
|
25655
|
+
"path": "../public/_nuxt/CTPNZj4T.js.gz"
|
|
25656
|
+
},
|
|
25657
|
+
"/_nuxt/CV6ukk-M.js": {
|
|
25658
|
+
"type": "text/javascript; charset=utf-8",
|
|
25659
|
+
"etag": "\"238-AvHmRF0djWJDBUz5vjLWTwDc9n8\"",
|
|
25660
|
+
"mtime": "2026-10-30T16:50:28.550Z",
|
|
25661
|
+
"size": 568,
|
|
25662
|
+
"path": "../public/_nuxt/CV6ukk-M.js"
|
|
25096
25663
|
},
|
|
25097
25664
|
"/_nuxt/CXJnLmWv.js": {
|
|
25098
25665
|
"type": "text/javascript; charset=utf-8",
|
|
25099
25666
|
"encoding": null,
|
|
25100
25667
|
"etag": "\"2426-wVRk+id72MiZ5Jk+fsnfLyJbNcM\"",
|
|
25101
|
-
"mtime": "2026-10-
|
|
25668
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25102
25669
|
"size": 9254,
|
|
25103
25670
|
"path": "../public/_nuxt/CXJnLmWv.js"
|
|
25104
25671
|
},
|
|
25105
|
-
"/_nuxt/
|
|
25672
|
+
"/_nuxt/CTPNZj4T.js": {
|
|
25106
25673
|
"type": "text/javascript; charset=utf-8",
|
|
25107
|
-
"encoding":
|
|
25108
|
-
"etag": "\"
|
|
25109
|
-
"mtime": "2026-10-
|
|
25110
|
-
"size":
|
|
25111
|
-
"path": "../public/_nuxt/
|
|
25674
|
+
"encoding": null,
|
|
25675
|
+
"etag": "\"255bb-6az5/Mg/5IzMmOnZIhzEQtBxdvI\"",
|
|
25676
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25677
|
+
"size": 153019,
|
|
25678
|
+
"path": "../public/_nuxt/CTPNZj4T.js"
|
|
25679
|
+
},
|
|
25680
|
+
"/_nuxt/CPlkxpge.js": {
|
|
25681
|
+
"type": "text/javascript; charset=utf-8",
|
|
25682
|
+
"encoding": null,
|
|
25683
|
+
"etag": "\"a5362-akUWKp2erY/CvvUb4uA+1IC/QNE\"",
|
|
25684
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25685
|
+
"size": 676706,
|
|
25686
|
+
"path": "../public/_nuxt/CPlkxpge.js"
|
|
25112
25687
|
},
|
|
25113
25688
|
"/_nuxt/CXJnLmWv.js.br": {
|
|
25114
25689
|
"type": "text/javascript; charset=utf-8",
|
|
25115
25690
|
"encoding": "br",
|
|
25116
25691
|
"etag": "\"ddb-HQOV8vHjZ1W3hzhqgfZLIV3eGPA\"",
|
|
25117
|
-
"mtime": "2026-10-
|
|
25692
|
+
"mtime": "2026-10-30T16:50:28.959Z",
|
|
25118
25693
|
"size": 3547,
|
|
25119
25694
|
"path": "../public/_nuxt/CXJnLmWv.js.br"
|
|
25120
25695
|
},
|
|
@@ -25122,219 +25697,204 @@ const assets = {
|
|
|
25122
25697
|
"type": "text/javascript; charset=utf-8",
|
|
25123
25698
|
"encoding": "gzip",
|
|
25124
25699
|
"etag": "\"f2a-JOq3Ui2nTl6A2z6tR8c7DVsY0tQ\"",
|
|
25125
|
-
"mtime": "2026-10-
|
|
25700
|
+
"mtime": "2026-10-30T16:50:28.959Z",
|
|
25126
25701
|
"size": 3882,
|
|
25127
25702
|
"path": "../public/_nuxt/CXJnLmWv.js.gz"
|
|
25128
25703
|
},
|
|
25129
|
-
"/_nuxt/
|
|
25704
|
+
"/_nuxt/CgUSTIM1.js": {
|
|
25130
25705
|
"type": "text/javascript; charset=utf-8",
|
|
25131
25706
|
"encoding": null,
|
|
25132
|
-
"etag": "\"
|
|
25133
|
-
"mtime": "2026-10-
|
|
25134
|
-
"size":
|
|
25135
|
-
"path": "../public/_nuxt/
|
|
25136
|
-
},
|
|
25137
|
-
"/_nuxt/CfQgQDOp.js.br": {
|
|
25138
|
-
"type": "text/javascript; charset=utf-8",
|
|
25139
|
-
"encoding": "br",
|
|
25140
|
-
"etag": "\"727a-rj5rPsD5FXtRhfnIfH88BIinMfc\"",
|
|
25141
|
-
"mtime": "2026-10-26T23:39:23.890Z",
|
|
25142
|
-
"size": 29306,
|
|
25143
|
-
"path": "../public/_nuxt/CfQgQDOp.js.br"
|
|
25144
|
-
},
|
|
25145
|
-
"/_nuxt/CfQgQDOp.js.gz": {
|
|
25146
|
-
"type": "text/javascript; charset=utf-8",
|
|
25147
|
-
"encoding": "gzip",
|
|
25148
|
-
"etag": "\"88fc-ekloFmqENOfYBpqJovDBDmbeX9g\"",
|
|
25149
|
-
"mtime": "2026-10-26T23:39:23.876Z",
|
|
25150
|
-
"size": 35068,
|
|
25151
|
-
"path": "../public/_nuxt/CfQgQDOp.js.gz"
|
|
25707
|
+
"etag": "\"d4e-ntLcFbEetTyBddEPoO203pn+mtY\"",
|
|
25708
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25709
|
+
"size": 3406,
|
|
25710
|
+
"path": "../public/_nuxt/CgUSTIM1.js"
|
|
25152
25711
|
},
|
|
25153
|
-
"/_nuxt/
|
|
25712
|
+
"/_nuxt/CgUSTIM1.js.br": {
|
|
25154
25713
|
"type": "text/javascript; charset=utf-8",
|
|
25155
25714
|
"encoding": "br",
|
|
25156
|
-
"etag": "\"
|
|
25157
|
-
"mtime": "2026-10-
|
|
25158
|
-
"size":
|
|
25159
|
-
"path": "../public/_nuxt/
|
|
25715
|
+
"etag": "\"52a-hxHSpCX4D54JTtN6DfQ2a7zlJXM\"",
|
|
25716
|
+
"mtime": "2026-10-30T16:50:28.959Z",
|
|
25717
|
+
"size": 1322,
|
|
25718
|
+
"path": "../public/_nuxt/CgUSTIM1.js.br"
|
|
25160
25719
|
},
|
|
25161
|
-
"/_nuxt/
|
|
25720
|
+
"/_nuxt/CgUSTIM1.js.gz": {
|
|
25162
25721
|
"type": "text/javascript; charset=utf-8",
|
|
25163
25722
|
"encoding": "gzip",
|
|
25164
|
-
"etag": "\"
|
|
25165
|
-
"mtime": "2026-10-
|
|
25166
|
-
"size":
|
|
25167
|
-
"path": "../public/_nuxt/
|
|
25168
|
-
},
|
|
25169
|
-
"/_nuxt/CvGCN0_f.js.gz": {
|
|
25170
|
-
"type": "text/javascript; charset=utf-8",
|
|
25171
|
-
"encoding": "gzip",
|
|
25172
|
-
"etag": "\"12cdd-LdUptPtdfZIs00Sd62SCHKTUhaE\"",
|
|
25173
|
-
"mtime": "2026-10-26T23:39:24.125Z",
|
|
25174
|
-
"size": 77021,
|
|
25175
|
-
"path": "../public/_nuxt/CvGCN0_f.js.gz"
|
|
25723
|
+
"etag": "\"605-YhMsQHGpUiasHunvC0M+rqpqWmg\"",
|
|
25724
|
+
"mtime": "2026-10-30T16:50:28.959Z",
|
|
25725
|
+
"size": 1541,
|
|
25726
|
+
"path": "../public/_nuxt/CgUSTIM1.js.gz"
|
|
25176
25727
|
},
|
|
25177
|
-
"/_nuxt/
|
|
25728
|
+
"/_nuxt/CwurhZnh.js": {
|
|
25178
25729
|
"type": "text/javascript; charset=utf-8",
|
|
25179
|
-
"
|
|
25180
|
-
"
|
|
25181
|
-
"
|
|
25182
|
-
"
|
|
25730
|
+
"encoding": null,
|
|
25731
|
+
"etag": "\"20b50-r4WVv3JZk5oB5bO2QxdLw7mG+yE\"",
|
|
25732
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25733
|
+
"size": 133968,
|
|
25734
|
+
"path": "../public/_nuxt/CwurhZnh.js"
|
|
25183
25735
|
},
|
|
25184
|
-
"/_nuxt/
|
|
25736
|
+
"/_nuxt/CwurhZnh.js.br": {
|
|
25185
25737
|
"type": "text/javascript; charset=utf-8",
|
|
25186
25738
|
"encoding": "br",
|
|
25187
|
-
"etag": "\"
|
|
25188
|
-
"mtime": "2026-10-
|
|
25189
|
-
"size":
|
|
25190
|
-
"path": "../public/_nuxt/
|
|
25191
|
-
},
|
|
25192
|
-
"/_nuxt/CvGCN0_f.js": {
|
|
25193
|
-
"type": "text/javascript; charset=utf-8",
|
|
25194
|
-
"encoding": null,
|
|
25195
|
-
"etag": "\"39f55-JsGkDsS+fil5KwOB+Pr6Rx4BCk8\"",
|
|
25196
|
-
"mtime": "2026-10-26T23:39:23.425Z",
|
|
25197
|
-
"size": 237397,
|
|
25198
|
-
"path": "../public/_nuxt/CvGCN0_f.js"
|
|
25739
|
+
"etag": "\"a5c3-dmUo6h+XWpD/Fv76KSGQQ6gQaLc\"",
|
|
25740
|
+
"mtime": "2026-10-30T16:50:29.240Z",
|
|
25741
|
+
"size": 42435,
|
|
25742
|
+
"path": "../public/_nuxt/CwurhZnh.js.br"
|
|
25199
25743
|
},
|
|
25200
|
-
"/_nuxt/
|
|
25744
|
+
"/_nuxt/CwurhZnh.js.gz": {
|
|
25201
25745
|
"type": "text/javascript; charset=utf-8",
|
|
25202
|
-
"encoding":
|
|
25203
|
-
"etag": "\"
|
|
25204
|
-
"mtime": "2026-10-
|
|
25205
|
-
"size":
|
|
25206
|
-
"path": "../public/_nuxt/
|
|
25746
|
+
"encoding": "gzip",
|
|
25747
|
+
"etag": "\"bd15-T9GipHsxhBJGHFNPTKoe2QoZaF4\"",
|
|
25748
|
+
"mtime": "2026-10-30T16:50:29.115Z",
|
|
25749
|
+
"size": 48405,
|
|
25750
|
+
"path": "../public/_nuxt/CwurhZnh.js.gz"
|
|
25207
25751
|
},
|
|
25208
|
-
"/_nuxt/
|
|
25752
|
+
"/_nuxt/D7fCPncR.js": {
|
|
25209
25753
|
"type": "text/javascript; charset=utf-8",
|
|
25210
25754
|
"encoding": null,
|
|
25211
|
-
"etag": "\"
|
|
25212
|
-
"mtime": "2026-10-
|
|
25213
|
-
"size":
|
|
25214
|
-
"path": "../public/_nuxt/
|
|
25755
|
+
"etag": "\"4a76-6kEF4igNYP8cJllGcqMISYipM2Y\"",
|
|
25756
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25757
|
+
"size": 19062,
|
|
25758
|
+
"path": "../public/_nuxt/D7fCPncR.js"
|
|
25215
25759
|
},
|
|
25216
|
-
"/_nuxt/
|
|
25760
|
+
"/_nuxt/D7fCPncR.js.br": {
|
|
25217
25761
|
"type": "text/javascript; charset=utf-8",
|
|
25218
25762
|
"encoding": "br",
|
|
25219
|
-
"etag": "\"
|
|
25220
|
-
"mtime": "2026-10-
|
|
25221
|
-
"size":
|
|
25222
|
-
"path": "../public/_nuxt/
|
|
25763
|
+
"etag": "\"1740-gUQ4GPrfLNVyTjUGmc8UQGg/8VA\"",
|
|
25764
|
+
"mtime": "2026-10-30T16:50:29.089Z",
|
|
25765
|
+
"size": 5952,
|
|
25766
|
+
"path": "../public/_nuxt/D7fCPncR.js.br"
|
|
25223
25767
|
},
|
|
25224
|
-
"/_nuxt/
|
|
25768
|
+
"/_nuxt/D7fCPncR.js.gz": {
|
|
25225
25769
|
"type": "text/javascript; charset=utf-8",
|
|
25226
25770
|
"encoding": "gzip",
|
|
25227
|
-
"etag": "\"
|
|
25228
|
-
"mtime": "2026-10-
|
|
25229
|
-
"size":
|
|
25230
|
-
"path": "../public/_nuxt/
|
|
25231
|
-
},
|
|
25232
|
-
"/_nuxt/DuVQjOfc.js.br": {
|
|
25233
|
-
"type": "text/javascript; charset=utf-8",
|
|
25234
|
-
"encoding": "br",
|
|
25235
|
-
"etag": "\"56b0-0awUTkvKk514bHSKrcnam8+1ABU\"",
|
|
25236
|
-
"mtime": "2026-10-26T23:39:24.127Z",
|
|
25237
|
-
"size": 22192,
|
|
25238
|
-
"path": "../public/_nuxt/DuVQjOfc.js.br"
|
|
25771
|
+
"etag": "\"19f0-C72KQY/Hw+Q4obRTmP+I0XsBPeE\"",
|
|
25772
|
+
"mtime": "2026-10-30T16:50:29.089Z",
|
|
25773
|
+
"size": 6640,
|
|
25774
|
+
"path": "../public/_nuxt/D7fCPncR.js.gz"
|
|
25239
25775
|
},
|
|
25240
|
-
"/_nuxt/
|
|
25776
|
+
"/_nuxt/DFe-cDm2.js": {
|
|
25241
25777
|
"type": "text/javascript; charset=utf-8",
|
|
25242
25778
|
"encoding": null,
|
|
25243
|
-
"etag": "\"
|
|
25244
|
-
"mtime": "2026-10-
|
|
25245
|
-
"size":
|
|
25246
|
-
"path": "../public/_nuxt/
|
|
25779
|
+
"etag": "\"37de-vSPMEkfX44tEsulXAligysHEmPc\"",
|
|
25780
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25781
|
+
"size": 14302,
|
|
25782
|
+
"path": "../public/_nuxt/DFe-cDm2.js"
|
|
25247
25783
|
},
|
|
25248
|
-
"/_nuxt/
|
|
25784
|
+
"/_nuxt/DFe-cDm2.js.br": {
|
|
25249
25785
|
"type": "text/javascript; charset=utf-8",
|
|
25250
|
-
"encoding": "
|
|
25251
|
-
"etag": "\"
|
|
25252
|
-
"mtime": "2026-10-
|
|
25253
|
-
"size":
|
|
25254
|
-
"path": "../public/_nuxt/
|
|
25786
|
+
"encoding": "br",
|
|
25787
|
+
"etag": "\"12d6-7O+K1rad/527HVKyvdR/Bh0kAE0\"",
|
|
25788
|
+
"mtime": "2026-10-30T16:50:29.138Z",
|
|
25789
|
+
"size": 4822,
|
|
25790
|
+
"path": "../public/_nuxt/DFe-cDm2.js.br"
|
|
25255
25791
|
},
|
|
25256
|
-
"/_nuxt/
|
|
25792
|
+
"/_nuxt/DFe-cDm2.js.gz": {
|
|
25257
25793
|
"type": "text/javascript; charset=utf-8",
|
|
25258
|
-
"encoding":
|
|
25259
|
-
"etag": "\"
|
|
25260
|
-
"mtime": "2026-10-
|
|
25261
|
-
"size":
|
|
25262
|
-
"path": "../public/_nuxt/
|
|
25794
|
+
"encoding": "gzip",
|
|
25795
|
+
"etag": "\"14b9-AtVa8MJdZS84IiUygFFc1u8dcjA\"",
|
|
25796
|
+
"mtime": "2026-10-30T16:50:29.138Z",
|
|
25797
|
+
"size": 5305,
|
|
25798
|
+
"path": "../public/_nuxt/DFe-cDm2.js.gz"
|
|
25263
25799
|
},
|
|
25264
|
-
"/_nuxt/
|
|
25800
|
+
"/_nuxt/Dpe9TNcA.js.br": {
|
|
25265
25801
|
"type": "text/javascript; charset=utf-8",
|
|
25266
25802
|
"encoding": "br",
|
|
25267
|
-
"etag": "\"
|
|
25268
|
-
"mtime": "2026-10-
|
|
25269
|
-
"size":
|
|
25270
|
-
"path": "../public/_nuxt/
|
|
25803
|
+
"etag": "\"189e4-2LhXYLNdABO2QAS/VGkI8y6XKnY\"",
|
|
25804
|
+
"mtime": "2026-10-30T16:50:30.147Z",
|
|
25805
|
+
"size": 100836,
|
|
25806
|
+
"path": "../public/_nuxt/Dpe9TNcA.js.br"
|
|
25271
25807
|
},
|
|
25272
|
-
"/_nuxt/
|
|
25808
|
+
"/_nuxt/Dpe9TNcA.js.gz": {
|
|
25273
25809
|
"type": "text/javascript; charset=utf-8",
|
|
25274
25810
|
"encoding": "gzip",
|
|
25275
|
-
"etag": "\"
|
|
25276
|
-
"mtime": "2026-10-
|
|
25277
|
-
"size":
|
|
25278
|
-
"path": "../public/_nuxt/
|
|
25811
|
+
"etag": "\"1d128-I2uXxZWJTU1RB1N6YVI+SjwaykI\"",
|
|
25812
|
+
"mtime": "2026-10-30T16:50:29.241Z",
|
|
25813
|
+
"size": 119080,
|
|
25814
|
+
"path": "../public/_nuxt/Dpe9TNcA.js.gz"
|
|
25279
25815
|
},
|
|
25280
25816
|
"/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2": {
|
|
25281
25817
|
"type": "font/woff2",
|
|
25282
25818
|
"etag": "\"7f60-cwHN4xD2RhU0GVBfKzpzYZ7Al6U\"",
|
|
25283
|
-
"mtime": "2026-10-
|
|
25819
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25284
25820
|
"size": 32608,
|
|
25285
25821
|
"path": "../public/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2"
|
|
25286
25822
|
},
|
|
25287
25823
|
"/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2": {
|
|
25288
25824
|
"type": "font/woff2",
|
|
25289
25825
|
"etag": "\"8870-ZUSfFgU3jYpWYbszVY1rxpynehc\"",
|
|
25290
|
-
"mtime": "2026-10-
|
|
25826
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25291
25827
|
"size": 34928,
|
|
25292
25828
|
"path": "../public/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2"
|
|
25293
25829
|
},
|
|
25830
|
+
"/_nuxt/board.fZYj3O-m.css": {
|
|
25831
|
+
"type": "text/css; charset=utf-8",
|
|
25832
|
+
"encoding": null,
|
|
25833
|
+
"etag": "\"260d-wv9kYgyFZHVpAQUm8I8oFP7w2eg\"",
|
|
25834
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25835
|
+
"size": 9741,
|
|
25836
|
+
"path": "../public/_nuxt/board.fZYj3O-m.css"
|
|
25837
|
+
},
|
|
25294
25838
|
"/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2": {
|
|
25295
25839
|
"type": "font/woff2",
|
|
25296
25840
|
"etag": "\"33b8-4zjQHgOy7y9EDRZs7TDAFDM4Ams\"",
|
|
25297
|
-
"mtime": "2026-10-
|
|
25841
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25298
25842
|
"size": 13240,
|
|
25299
25843
|
"path": "../public/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2"
|
|
25300
25844
|
},
|
|
25301
|
-
"/_nuxt/board.
|
|
25302
|
-
"type": "text/css; charset=utf-8",
|
|
25303
|
-
"encoding": null,
|
|
25304
|
-
"etag": "\"260d-Ft/lyTEPHQRtoGZqt0ULmRxn8M8\"",
|
|
25305
|
-
"mtime": "2026-10-26T23:39:23.426Z",
|
|
25306
|
-
"size": 9741,
|
|
25307
|
-
"path": "../public/_nuxt/board.CeTYM1XN.css"
|
|
25308
|
-
},
|
|
25309
|
-
"/_nuxt/board.CeTYM1XN.css.br": {
|
|
25845
|
+
"/_nuxt/board.fZYj3O-m.css.br": {
|
|
25310
25846
|
"type": "text/css; charset=utf-8",
|
|
25311
25847
|
"encoding": "br",
|
|
25312
|
-
"etag": "\"
|
|
25313
|
-
"mtime": "2026-10-
|
|
25314
|
-
"size":
|
|
25315
|
-
"path": "../public/_nuxt/board.
|
|
25848
|
+
"etag": "\"7b1-dhgWlvzCUKJeSiekf2xGqh8nPxA\"",
|
|
25849
|
+
"mtime": "2026-10-30T16:50:29.235Z",
|
|
25850
|
+
"size": 1969,
|
|
25851
|
+
"path": "../public/_nuxt/board.fZYj3O-m.css.br"
|
|
25316
25852
|
},
|
|
25317
|
-
"/_nuxt/board.
|
|
25853
|
+
"/_nuxt/board.fZYj3O-m.css.gz": {
|
|
25318
25854
|
"type": "text/css; charset=utf-8",
|
|
25319
25855
|
"encoding": "gzip",
|
|
25320
|
-
"etag": "\"8f3-
|
|
25321
|
-
"mtime": "2026-10-
|
|
25856
|
+
"etag": "\"8f3-g2Yu6JhJaEA7N+odPNAkQ4uOJ2E\"",
|
|
25857
|
+
"mtime": "2026-10-30T16:50:29.235Z",
|
|
25322
25858
|
"size": 2291,
|
|
25323
|
-
"path": "../public/_nuxt/board.
|
|
25859
|
+
"path": "../public/_nuxt/board.fZYj3O-m.css.gz"
|
|
25324
25860
|
},
|
|
25325
|
-
"/_nuxt/
|
|
25861
|
+
"/_nuxt/Dpe9TNcA.js": {
|
|
25862
|
+
"type": "text/javascript; charset=utf-8",
|
|
25863
|
+
"encoding": null,
|
|
25864
|
+
"etag": "\"5cbfb-HWs4XMBRHKRfcRrXeT1jNrvNzxk\"",
|
|
25865
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25866
|
+
"size": 379899,
|
|
25867
|
+
"path": "../public/_nuxt/Dpe9TNcA.js"
|
|
25868
|
+
},
|
|
25869
|
+
"/_nuxt/entry.KNdllmoL.css": {
|
|
25870
|
+
"type": "text/css; charset=utf-8",
|
|
25871
|
+
"encoding": null,
|
|
25872
|
+
"etag": "\"72229-t8I15LnPi6tj2vk+ttF9D35HNBc\"",
|
|
25873
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25874
|
+
"size": 467497,
|
|
25875
|
+
"path": "../public/_nuxt/entry.KNdllmoL.css"
|
|
25876
|
+
},
|
|
25877
|
+
"/_nuxt/entry.KNdllmoL.css.br": {
|
|
25326
25878
|
"type": "text/css; charset=utf-8",
|
|
25327
25879
|
"encoding": "br",
|
|
25328
|
-
"etag": "\"
|
|
25329
|
-
"mtime": "2026-10-
|
|
25330
|
-
"size":
|
|
25331
|
-
"path": "../public/_nuxt/entry.
|
|
25880
|
+
"etag": "\"f550-Gt7rND9Y3MqDUndPLMVli4V0/44\"",
|
|
25881
|
+
"mtime": "2026-10-30T16:50:30.139Z",
|
|
25882
|
+
"size": 62800,
|
|
25883
|
+
"path": "../public/_nuxt/entry.KNdllmoL.css.br"
|
|
25884
|
+
},
|
|
25885
|
+
"/_nuxt/entry.KNdllmoL.css.gz": {
|
|
25886
|
+
"type": "text/css; charset=utf-8",
|
|
25887
|
+
"encoding": "gzip",
|
|
25888
|
+
"etag": "\"12f75-47XUOGxOrQ/UVIEkc0CvcOnFehY\"",
|
|
25889
|
+
"mtime": "2026-10-30T16:50:29.242Z",
|
|
25890
|
+
"size": 77685,
|
|
25891
|
+
"path": "../public/_nuxt/entry.KNdllmoL.css.gz"
|
|
25332
25892
|
},
|
|
25333
25893
|
"/_nuxt/error-404.Bb87HomL.css": {
|
|
25334
25894
|
"type": "text/css; charset=utf-8",
|
|
25335
25895
|
"encoding": null,
|
|
25336
25896
|
"etag": "\"97d-4h9VfBznldxjqagfMldh1hDncR0\"",
|
|
25337
|
-
"mtime": "2026-10-
|
|
25897
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25338
25898
|
"size": 2429,
|
|
25339
25899
|
"path": "../public/_nuxt/error-404.Bb87HomL.css"
|
|
25340
25900
|
},
|
|
@@ -25342,23 +25902,15 @@ const assets = {
|
|
|
25342
25902
|
"type": "text/css; charset=utf-8",
|
|
25343
25903
|
"encoding": "br",
|
|
25344
25904
|
"etag": "\"2d3-qBacufHfL2AKZiQpM2N/+/LUBcM\"",
|
|
25345
|
-
"mtime": "2026-10-
|
|
25905
|
+
"mtime": "2026-10-30T16:50:29.240Z",
|
|
25346
25906
|
"size": 723,
|
|
25347
25907
|
"path": "../public/_nuxt/error-404.Bb87HomL.css.br"
|
|
25348
25908
|
},
|
|
25349
|
-
"/_nuxt/entry.Cd2iNkBC.css.gz": {
|
|
25350
|
-
"type": "text/css; charset=utf-8",
|
|
25351
|
-
"encoding": "gzip",
|
|
25352
|
-
"etag": "\"12bd8-Oc81NL5W6X3nRcqMhwp0P23uFWU\"",
|
|
25353
|
-
"mtime": "2026-10-26T23:39:24.295Z",
|
|
25354
|
-
"size": 76760,
|
|
25355
|
-
"path": "../public/_nuxt/entry.Cd2iNkBC.css.gz"
|
|
25356
|
-
},
|
|
25357
25909
|
"/_nuxt/error-404.Bb87HomL.css.gz": {
|
|
25358
25910
|
"type": "text/css; charset=utf-8",
|
|
25359
25911
|
"encoding": "gzip",
|
|
25360
25912
|
"etag": "\"354-+f0UDMO283+UYdKIev1+tuXG5jI\"",
|
|
25361
|
-
"mtime": "2026-10-
|
|
25913
|
+
"mtime": "2026-10-30T16:50:29.240Z",
|
|
25362
25914
|
"size": 852,
|
|
25363
25915
|
"path": "../public/_nuxt/error-404.Bb87HomL.css.gz"
|
|
25364
25916
|
},
|
|
@@ -25366,23 +25918,15 @@ const assets = {
|
|
|
25366
25918
|
"type": "text/css; charset=utf-8",
|
|
25367
25919
|
"encoding": null,
|
|
25368
25920
|
"etag": "\"772-nqXXACYtFiPK+D42BNu4uEECARA\"",
|
|
25369
|
-
"mtime": "2026-10-
|
|
25921
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25370
25922
|
"size": 1906,
|
|
25371
25923
|
"path": "../public/_nuxt/error-500.Bwd7zAaE.css"
|
|
25372
25924
|
},
|
|
25373
|
-
"/_nuxt/entry.Cd2iNkBC.css": {
|
|
25374
|
-
"type": "text/css; charset=utf-8",
|
|
25375
|
-
"encoding": null,
|
|
25376
|
-
"etag": "\"70ebc-zollIXWOx+uYZ05WwmV21YZ664Q\"",
|
|
25377
|
-
"mtime": "2026-10-26T23:39:23.426Z",
|
|
25378
|
-
"size": 462524,
|
|
25379
|
-
"path": "../public/_nuxt/entry.Cd2iNkBC.css"
|
|
25380
|
-
},
|
|
25381
25925
|
"/_nuxt/error-500.Bwd7zAaE.css.br": {
|
|
25382
25926
|
"type": "text/css; charset=utf-8",
|
|
25383
25927
|
"encoding": "br",
|
|
25384
25928
|
"etag": "\"269-epXpUj5NvA3wxRTvv2uaBsqkzB8\"",
|
|
25385
|
-
"mtime": "2026-10-
|
|
25929
|
+
"mtime": "2026-10-30T16:50:29.240Z",
|
|
25386
25930
|
"size": 617,
|
|
25387
25931
|
"path": "../public/_nuxt/error-500.Bwd7zAaE.css.br"
|
|
25388
25932
|
},
|
|
@@ -25390,186 +25934,146 @@ const assets = {
|
|
|
25390
25934
|
"type": "text/css; charset=utf-8",
|
|
25391
25935
|
"encoding": "gzip",
|
|
25392
25936
|
"etag": "\"2d6-gkfK7z4mFEnMBbpxDmlOJ5UcSAU\"",
|
|
25393
|
-
"mtime": "2026-10-
|
|
25937
|
+
"mtime": "2026-10-30T16:50:29.240Z",
|
|
25394
25938
|
"size": 726,
|
|
25395
25939
|
"path": "../public/_nuxt/error-500.Bwd7zAaE.css.gz"
|
|
25396
25940
|
},
|
|
25397
|
-
"/_nuxt/hSqNtAW9.js": {
|
|
25398
|
-
"type": "text/javascript; charset=utf-8",
|
|
25399
|
-
"encoding": null,
|
|
25400
|
-
"etag": "\"147b6-QyrI0Wu7jYg/IACdlc7eGmY2QZU\"",
|
|
25401
|
-
"mtime": "2026-10-26T23:39:23.426Z",
|
|
25402
|
-
"size": 83894,
|
|
25403
|
-
"path": "../public/_nuxt/hSqNtAW9.js"
|
|
25404
|
-
},
|
|
25405
|
-
"/_nuxt/hSqNtAW9.js.br": {
|
|
25406
|
-
"type": "text/javascript; charset=utf-8",
|
|
25407
|
-
"encoding": "br",
|
|
25408
|
-
"etag": "\"527e-AE8cNEcCVro4VOhJj1h+KJ7SW/M\"",
|
|
25409
|
-
"mtime": "2026-10-26T23:39:24.826Z",
|
|
25410
|
-
"size": 21118,
|
|
25411
|
-
"path": "../public/_nuxt/hSqNtAW9.js.br"
|
|
25412
|
-
},
|
|
25413
|
-
"/_nuxt/hSqNtAW9.js.gz": {
|
|
25414
|
-
"type": "text/javascript; charset=utf-8",
|
|
25415
|
-
"encoding": "gzip",
|
|
25416
|
-
"etag": "\"5d63-fV7zu6qC8ElLrjpv/PwFUQwDQa8\"",
|
|
25417
|
-
"mtime": "2026-10-26T23:39:24.294Z",
|
|
25418
|
-
"size": 23907,
|
|
25419
|
-
"path": "../public/_nuxt/hSqNtAW9.js.gz"
|
|
25420
|
-
},
|
|
25421
25941
|
"/_nuxt/hePW80VL.js": {
|
|
25422
25942
|
"type": "text/javascript; charset=utf-8",
|
|
25423
25943
|
"etag": "\"2cc-fA8td6k29UVF6JoPfhOPkceTK1M\"",
|
|
25424
|
-
"mtime": "2026-10-
|
|
25944
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25425
25945
|
"size": 716,
|
|
25426
25946
|
"path": "../public/_nuxt/hePW80VL.js"
|
|
25427
25947
|
},
|
|
25428
25948
|
"/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2": {
|
|
25429
25949
|
"type": "font/woff2",
|
|
25430
25950
|
"etag": "\"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0\"",
|
|
25431
|
-
"mtime": "2026-10-
|
|
25951
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25432
25952
|
"size": 25960,
|
|
25433
25953
|
"path": "../public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2"
|
|
25434
25954
|
},
|
|
25955
|
+
"/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2": {
|
|
25956
|
+
"type": "font/woff2",
|
|
25957
|
+
"etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
|
|
25958
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25959
|
+
"size": 18748,
|
|
25960
|
+
"path": "../public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2"
|
|
25961
|
+
},
|
|
25435
25962
|
"/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2": {
|
|
25436
25963
|
"type": "font/woff2",
|
|
25437
25964
|
"etag": "\"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8\"",
|
|
25438
|
-
"mtime": "2026-10-
|
|
25965
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25439
25966
|
"size": 11232,
|
|
25440
25967
|
"path": "../public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2"
|
|
25441
25968
|
},
|
|
25442
25969
|
"/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2": {
|
|
25443
25970
|
"type": "font/woff2",
|
|
25444
25971
|
"etag": "\"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4\"",
|
|
25445
|
-
"mtime": "2026-10-
|
|
25972
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25446
25973
|
"size": 18996,
|
|
25447
25974
|
"path": "../public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2"
|
|
25448
25975
|
},
|
|
25449
|
-
"/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2": {
|
|
25450
|
-
"type": "font/woff2",
|
|
25451
|
-
"etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
|
|
25452
|
-
"mtime": "2026-10-26T23:39:23.426Z",
|
|
25453
|
-
"size": 18748,
|
|
25454
|
-
"path": "../public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2"
|
|
25455
|
-
},
|
|
25456
|
-
"/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2": {
|
|
25457
|
-
"type": "font/woff2",
|
|
25458
|
-
"etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
|
|
25459
|
-
"mtime": "2026-10-26T23:39:23.426Z",
|
|
25460
|
-
"size": 85068,
|
|
25461
|
-
"path": "../public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2"
|
|
25462
|
-
},
|
|
25463
25976
|
"/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2": {
|
|
25464
25977
|
"type": "font/woff2",
|
|
25465
25978
|
"etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
|
|
25466
|
-
"mtime": "2026-10-
|
|
25979
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25467
25980
|
"size": 48256,
|
|
25468
25981
|
"path": "../public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2"
|
|
25469
25982
|
},
|
|
25470
25983
|
"/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2": {
|
|
25471
25984
|
"type": "font/woff2",
|
|
25472
25985
|
"etag": "\"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M\"",
|
|
25473
|
-
"mtime": "2026-10-
|
|
25986
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25474
25987
|
"size": 10252,
|
|
25475
25988
|
"path": "../public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2"
|
|
25476
25989
|
},
|
|
25990
|
+
"/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2": {
|
|
25991
|
+
"type": "font/woff2",
|
|
25992
|
+
"etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
|
|
25993
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25994
|
+
"size": 85068,
|
|
25995
|
+
"path": "../public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2"
|
|
25996
|
+
},
|
|
25477
25997
|
"/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2": {
|
|
25478
25998
|
"type": "font/woff2",
|
|
25479
25999
|
"etag": "\"2f4c-WiAGfn140d4QND3ayQWaCHF8rbE\"",
|
|
25480
|
-
"mtime": "2026-10-
|
|
26000
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25481
26001
|
"size": 12108,
|
|
25482
26002
|
"path": "../public/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2"
|
|
25483
26003
|
},
|
|
25484
26004
|
"/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2": {
|
|
25485
26005
|
"type": "font/woff2",
|
|
25486
26006
|
"etag": "\"232c-Dnz9DhH4c266e6TziU1pxRkV6FY\"",
|
|
25487
|
-
"mtime": "2026-10-
|
|
26007
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25488
26008
|
"size": 9004,
|
|
25489
26009
|
"path": "../public/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2"
|
|
25490
26010
|
},
|
|
25491
26011
|
"/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2": {
|
|
25492
26012
|
"type": "font/woff2",
|
|
25493
26013
|
"etag": "\"3b5c-HLF7Wvs2Z1IA1cPRs6jnor8OUQ4\"",
|
|
25494
|
-
"mtime": "2026-10-
|
|
26014
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25495
26015
|
"size": 15196,
|
|
25496
26016
|
"path": "../public/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2"
|
|
25497
26017
|
},
|
|
25498
26018
|
"/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2": {
|
|
25499
26019
|
"type": "font/woff2",
|
|
25500
26020
|
"etag": "\"9dd4-5yd+cUUhzrXxdMyYebUeD0qml1M\"",
|
|
25501
|
-
"mtime": "2026-10-
|
|
26021
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25502
26022
|
"size": 40404,
|
|
25503
26023
|
"path": "../public/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2"
|
|
25504
26024
|
},
|
|
25505
26025
|
"/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2": {
|
|
25506
26026
|
"type": "font/woff2",
|
|
25507
26027
|
"etag": "\"1d50-/Re0MyD6BV8h81wBPVijGZH5GBs\"",
|
|
25508
|
-
"mtime": "2026-10-
|
|
26028
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25509
26029
|
"size": 7504,
|
|
25510
26030
|
"path": "../public/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2"
|
|
25511
26031
|
},
|
|
25512
|
-
"/_nuxt/o1wml4Rx.js.br": {
|
|
25513
|
-
"type": "text/javascript; charset=utf-8",
|
|
25514
|
-
"encoding": "br",
|
|
25515
|
-
"etag": "\"190ad-VQABaD2/8hAov/SXYSusjNvekZ8\"",
|
|
25516
|
-
"mtime": "2026-10-26T23:39:25.481Z",
|
|
25517
|
-
"size": 102573,
|
|
25518
|
-
"path": "../public/_nuxt/o1wml4Rx.js.br"
|
|
25519
|
-
},
|
|
25520
|
-
"/_nuxt/pdf.min.t82Z80JU.mjs.br": {
|
|
25521
|
-
"type": "text/javascript; charset=utf-8",
|
|
25522
|
-
"encoding": "br",
|
|
25523
|
-
"etag": "\"18637-hO1q5WJanme5y1ZMQNajh/aVx0Q\"",
|
|
25524
|
-
"mtime": "2026-10-26T23:39:25.836Z",
|
|
25525
|
-
"size": 99895,
|
|
25526
|
-
"path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.br"
|
|
25527
|
-
},
|
|
25528
26032
|
"/_nuxt/pdf.min.t82Z80JU.mjs.gz": {
|
|
25529
26033
|
"type": "text/javascript; charset=utf-8",
|
|
25530
26034
|
"encoding": "gzip",
|
|
25531
26035
|
"etag": "\"1d511-iiY3QTEG2SmXknqVitdB+/+ocK4\"",
|
|
25532
|
-
"mtime": "2026-10-
|
|
26036
|
+
"mtime": "2026-10-30T16:50:30.142Z",
|
|
25533
26037
|
"size": 120081,
|
|
25534
26038
|
"path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.gz"
|
|
25535
26039
|
},
|
|
25536
|
-
"/_nuxt/
|
|
26040
|
+
"/_nuxt/pdf.min.t82Z80JU.mjs.br": {
|
|
25537
26041
|
"type": "text/javascript; charset=utf-8",
|
|
25538
|
-
"encoding": "
|
|
25539
|
-
"etag": "\"
|
|
25540
|
-
"mtime": "2026-10-
|
|
25541
|
-
"size":
|
|
25542
|
-
"path": "../public/_nuxt/
|
|
26042
|
+
"encoding": "br",
|
|
26043
|
+
"etag": "\"18637-hO1q5WJanme5y1ZMQNajh/aVx0Q\"",
|
|
26044
|
+
"mtime": "2026-10-30T16:50:30.456Z",
|
|
26045
|
+
"size": 99895,
|
|
26046
|
+
"path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.br"
|
|
25543
26047
|
},
|
|
25544
|
-
"/_nuxt/
|
|
26048
|
+
"/_nuxt/pdf.min.t82Z80JU.mjs": {
|
|
25545
26049
|
"type": "text/javascript; charset=utf-8",
|
|
25546
26050
|
"encoding": null,
|
|
25547
|
-
"etag": "\"
|
|
25548
|
-
"mtime": "2026-10-
|
|
25549
|
-
"size":
|
|
25550
|
-
"path": "../public/_nuxt/
|
|
26051
|
+
"etag": "\"678c7-U+W9TWPlwH5JFSPFTsPGlAkMVJc\"",
|
|
26052
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
26053
|
+
"size": 424135,
|
|
26054
|
+
"path": "../public/_nuxt/pdf.min.t82Z80JU.mjs"
|
|
25551
26055
|
},
|
|
25552
26056
|
"/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br": {
|
|
25553
26057
|
"type": "text/javascript; charset=utf-8",
|
|
25554
26058
|
"encoding": "br",
|
|
25555
26059
|
"etag": "\"3a43c-BjGnpdU+bJmP+eZx9E9qFHG/Txg\"",
|
|
25556
|
-
"mtime": "2026-10-
|
|
26060
|
+
"mtime": "2026-10-30T16:50:31.332Z",
|
|
25557
26061
|
"size": 238652,
|
|
25558
26062
|
"path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br"
|
|
25559
26063
|
},
|
|
25560
|
-
"/_nuxt/pdf.min.
|
|
26064
|
+
"/_nuxt/pdf.worker.min.wgc6bjNh.mjs": {
|
|
25561
26065
|
"type": "text/javascript; charset=utf-8",
|
|
25562
26066
|
"encoding": null,
|
|
25563
|
-
"etag": "\"
|
|
25564
|
-
"mtime": "2026-10-
|
|
25565
|
-
"size":
|
|
25566
|
-
"path": "../public/_nuxt/pdf.min.
|
|
26067
|
+
"etag": "\"107554-apJIGjXrCPcbKwmHzZKIYl5kc4c\"",
|
|
26068
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
26069
|
+
"size": 1078612,
|
|
26070
|
+
"path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs"
|
|
25567
26071
|
},
|
|
25568
26072
|
"/_nuxt/settings.Cdb21nNw.css": {
|
|
25569
26073
|
"type": "text/css; charset=utf-8",
|
|
25570
26074
|
"encoding": null,
|
|
25571
26075
|
"etag": "\"906-1k6Rx3W+YnYYbr685mdPPOdLVR8\"",
|
|
25572
|
-
"mtime": "2026-10-
|
|
26076
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
25573
26077
|
"size": 2310,
|
|
25574
26078
|
"path": "../public/_nuxt/settings.Cdb21nNw.css"
|
|
25575
26079
|
},
|
|
@@ -25577,124 +26081,116 @@ const assets = {
|
|
|
25577
26081
|
"type": "text/javascript; charset=utf-8",
|
|
25578
26082
|
"encoding": "gzip",
|
|
25579
26083
|
"etag": "\"48c53-1Uf07NfaLxgXnF6xfwrBSYIPy9w\"",
|
|
25580
|
-
"mtime": "2026-10-
|
|
26084
|
+
"mtime": "2026-10-30T16:50:30.166Z",
|
|
25581
26085
|
"size": 298067,
|
|
25582
26086
|
"path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.gz"
|
|
25583
26087
|
},
|
|
25584
|
-
"/_nuxt/settings.Cdb21nNw.css.br": {
|
|
25585
|
-
"type": "text/css; charset=utf-8",
|
|
25586
|
-
"encoding": "br",
|
|
25587
|
-
"etag": "\"229-5BUcDq9FlV7AjttLV/V/sLmKfb0\"",
|
|
25588
|
-
"mtime": "2026-10-26T23:39:25.402Z",
|
|
25589
|
-
"size": 553,
|
|
25590
|
-
"path": "../public/_nuxt/settings.Cdb21nNw.css.br"
|
|
25591
|
-
},
|
|
25592
|
-
"/_nuxt/pdf.worker.min.wgc6bjNh.mjs": {
|
|
25593
|
-
"type": "text/javascript; charset=utf-8",
|
|
25594
|
-
"encoding": null,
|
|
25595
|
-
"etag": "\"107554-apJIGjXrCPcbKwmHzZKIYl5kc4c\"",
|
|
25596
|
-
"mtime": "2026-10-26T23:39:23.427Z",
|
|
25597
|
-
"size": 1078612,
|
|
25598
|
-
"path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs"
|
|
25599
|
-
},
|
|
25600
26088
|
"/_nuxt/settings.Cdb21nNw.css.gz": {
|
|
25601
26089
|
"type": "text/css; charset=utf-8",
|
|
25602
26090
|
"encoding": "gzip",
|
|
25603
26091
|
"etag": "\"2ab-osvfpKy+KsHaGxbXkzf6NYTuHPs\"",
|
|
25604
|
-
"mtime": "2026-10-
|
|
26092
|
+
"mtime": "2026-10-30T16:50:30.120Z",
|
|
25605
26093
|
"size": 683,
|
|
25606
26094
|
"path": "../public/_nuxt/settings.Cdb21nNw.css.gz"
|
|
25607
26095
|
},
|
|
25608
|
-
"/_nuxt/
|
|
25609
|
-
"type": "
|
|
25610
|
-
"
|
|
25611
|
-
"
|
|
25612
|
-
"
|
|
25613
|
-
"
|
|
26096
|
+
"/_nuxt/settings.Cdb21nNw.css.br": {
|
|
26097
|
+
"type": "text/css; charset=utf-8",
|
|
26098
|
+
"encoding": "br",
|
|
26099
|
+
"etag": "\"229-5BUcDq9FlV7AjttLV/V/sLmKfb0\"",
|
|
26100
|
+
"mtime": "2026-10-30T16:50:30.120Z",
|
|
26101
|
+
"size": 553,
|
|
26102
|
+
"path": "../public/_nuxt/settings.Cdb21nNw.css.br"
|
|
25614
26103
|
},
|
|
25615
26104
|
"/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2": {
|
|
25616
26105
|
"type": "font/woff2",
|
|
25617
26106
|
"etag": "\"d9b0-kmO/x6KCTFRlVipOvl+5XcArGUw\"",
|
|
25618
|
-
"mtime": "2026-10-
|
|
26107
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25619
26108
|
"size": 55728,
|
|
25620
26109
|
"path": "../public/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2"
|
|
25621
26110
|
},
|
|
25622
|
-
"/_nuxt/wherdr-nerd-
|
|
26111
|
+
"/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2": {
|
|
25623
26112
|
"type": "font/woff2",
|
|
25624
|
-
"etag": "\"
|
|
25625
|
-
"mtime": "2026-10-
|
|
25626
|
-
"size":
|
|
25627
|
-
"path": "../public/_nuxt/wherdr-nerd-
|
|
26113
|
+
"etag": "\"30178-02mpQKEDb74Ec8LtlhKceB1vHO8\"",
|
|
26114
|
+
"mtime": "2026-10-30T16:50:28.551Z",
|
|
26115
|
+
"size": 196984,
|
|
26116
|
+
"path": "../public/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2"
|
|
25628
26117
|
},
|
|
25629
26118
|
"/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2": {
|
|
25630
26119
|
"type": "font/woff2",
|
|
25631
26120
|
"etag": "\"f76c-CjERGtjtOrkpSXy7JyZNl1CAu0U\"",
|
|
25632
|
-
"mtime": "2026-10-
|
|
26121
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25633
26122
|
"size": 63340,
|
|
25634
26123
|
"path": "../public/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2"
|
|
25635
26124
|
},
|
|
25636
26125
|
"/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2": {
|
|
25637
26126
|
"type": "font/woff2",
|
|
25638
26127
|
"etag": "\"1e130-1GKpbVoJoRf3AxaKTZS8FjxkOd4\"",
|
|
25639
|
-
"mtime": "2026-10-
|
|
26128
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25640
26129
|
"size": 123184,
|
|
25641
26130
|
"path": "../public/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2"
|
|
25642
26131
|
},
|
|
25643
26132
|
"/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2": {
|
|
25644
26133
|
"type": "font/woff2",
|
|
25645
26134
|
"etag": "\"1f95c-q6dAP964z2dgEvWzAYjTAzBtzBc\"",
|
|
25646
|
-
"mtime": "2026-10-
|
|
26135
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25647
26136
|
"size": 129372,
|
|
25648
26137
|
"path": "../public/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2"
|
|
25649
26138
|
},
|
|
25650
26139
|
"/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2": {
|
|
25651
26140
|
"type": "font/woff2",
|
|
25652
26141
|
"etag": "\"2248c-3GBJ1KjkT+xYPhza9V/DKaILa7Y\"",
|
|
25653
|
-
"mtime": "2026-10-
|
|
26142
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25654
26143
|
"size": 140428,
|
|
25655
26144
|
"path": "../public/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2"
|
|
25656
26145
|
},
|
|
25657
|
-
"/_nuxt/wherdr-nerd-
|
|
26146
|
+
"/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2": {
|
|
25658
26147
|
"type": "font/woff2",
|
|
25659
|
-
"etag": "\"
|
|
25660
|
-
"mtime": "2026-10-
|
|
25661
|
-
"size":
|
|
25662
|
-
"path": "../public/_nuxt/wherdr-nerd-
|
|
26148
|
+
"etag": "\"30f78-2RuGTMLnbTBdhlI9ExApyiUeD8c\"",
|
|
26149
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
26150
|
+
"size": 200568,
|
|
26151
|
+
"path": "../public/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2"
|
|
26152
|
+
},
|
|
26153
|
+
"/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
|
|
26154
|
+
"type": "font/woff2",
|
|
26155
|
+
"etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
|
|
26156
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
26157
|
+
"size": 129664,
|
|
26158
|
+
"path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
|
|
25663
26159
|
},
|
|
25664
26160
|
"/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2": {
|
|
25665
26161
|
"type": "font/woff2",
|
|
25666
26162
|
"etag": "\"f890-FkAsW3iqENK+lU5UlSze0yqnE2s\"",
|
|
25667
|
-
"mtime": "2026-10-
|
|
26163
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25668
26164
|
"size": 63632,
|
|
25669
26165
|
"path": "../public/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2"
|
|
25670
26166
|
},
|
|
26167
|
+
"/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2": {
|
|
26168
|
+
"type": "font/woff2",
|
|
26169
|
+
"etag": "\"1bc0-iXm39wQwNbm2VjpVBOn72grfku0\"",
|
|
26170
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
26171
|
+
"size": 7104,
|
|
26172
|
+
"path": "../public/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2"
|
|
26173
|
+
},
|
|
25671
26174
|
"/_nuxt/wherdr-symbols.C1LsPKmg.woff2": {
|
|
25672
26175
|
"type": "font/woff2",
|
|
25673
26176
|
"etag": "\"1304-Lwyr1XiDl3FK38nmS/6Pk9wfiWc\"",
|
|
25674
|
-
"mtime": "2026-10-
|
|
26177
|
+
"mtime": "2026-10-30T16:50:28.552Z",
|
|
25675
26178
|
"size": 4868,
|
|
25676
26179
|
"path": "../public/_nuxt/wherdr-symbols.C1LsPKmg.woff2"
|
|
25677
26180
|
},
|
|
25678
|
-
"/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
|
|
25679
|
-
"type": "font/woff2",
|
|
25680
|
-
"etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
|
|
25681
|
-
"mtime": "2026-10-26T23:39:23.428Z",
|
|
25682
|
-
"size": 129664,
|
|
25683
|
-
"path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
|
|
25684
|
-
},
|
|
25685
26181
|
"/_nuxt/builds/latest.json": {
|
|
25686
26182
|
"type": "application/json",
|
|
25687
|
-
"etag": "\"47-
|
|
25688
|
-
"mtime": "2026-10-
|
|
26183
|
+
"etag": "\"47-em+UqxR5OxVqWQXsjUL2AfbXGd8\"",
|
|
26184
|
+
"mtime": "2026-10-30T16:50:28.407Z",
|
|
25689
26185
|
"size": 71,
|
|
25690
26186
|
"path": "../public/_nuxt/builds/latest.json"
|
|
25691
26187
|
},
|
|
25692
|
-
"/_nuxt/builds/meta/
|
|
26188
|
+
"/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json": {
|
|
25693
26189
|
"type": "application/json",
|
|
25694
|
-
"etag": "\"58-
|
|
25695
|
-
"mtime": "2026-10-
|
|
26190
|
+
"etag": "\"58-8L9LWQGYtJFC96df4ZFKyaKQ+J4\"",
|
|
26191
|
+
"mtime": "2026-10-30T16:50:28.375Z",
|
|
25696
26192
|
"size": 88,
|
|
25697
|
-
"path": "../public/_nuxt/builds/meta/
|
|
26193
|
+
"path": "../public/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json"
|
|
25698
26194
|
}
|
|
25699
26195
|
};
|
|
25700
26196
|
|
|
@@ -26366,12 +26862,14 @@ const _lazy_0DhN9V = () => import('../routes/api/screen-key.post.mjs');
|
|
|
26366
26862
|
const _lazy_5kceYB = () => import('../routes/api/screen.get.mjs');
|
|
26367
26863
|
const _lazy_K8ukU6 = () => import('../routes/api/search.get.mjs');
|
|
26368
26864
|
const _lazy_NXLBIE = () => import('../routes/api/seen.post.mjs');
|
|
26865
|
+
const _lazy_oqiCsk = () => import('../routes/api/send-now.post.mjs');
|
|
26369
26866
|
const _lazy_GOSQuW = () => import('../routes/api/sessions.get.mjs');
|
|
26370
26867
|
const _lazy_3y86mR = () => import('../routes/api/sessions.post.mjs');
|
|
26371
26868
|
const _lazy_tLoqXq = () => import('../routes/api/settings-tab.post.mjs');
|
|
26372
26869
|
const _lazy_qMA1rz = () => import('../routes/api/settings.get.mjs');
|
|
26373
26870
|
const _lazy_0nQiNS = () => import('../routes/api/settings.post.mjs');
|
|
26374
26871
|
const _lazy_TqhtLZ = () => import('../routes/api/space.post.mjs');
|
|
26872
|
+
const _lazy_JOzKUc = () => import('../routes/api/split-command.post.mjs');
|
|
26375
26873
|
const _lazy_oeuOKk = () => import('../routes/api/state.get.mjs');
|
|
26376
26874
|
const _lazy_8O03Pb = () => import('../routes/api/tasks.get.mjs');
|
|
26377
26875
|
const _lazy_Tqip3b = () => import('../routes/api/tasks/action.post.mjs');
|
|
@@ -26491,12 +26989,14 @@ const handlers = [
|
|
|
26491
26989
|
{ route: '/api/screen', handler: _lazy_5kceYB, lazy: true, middleware: false, method: "get" },
|
|
26492
26990
|
{ route: '/api/search', handler: _lazy_K8ukU6, lazy: true, middleware: false, method: "get" },
|
|
26493
26991
|
{ route: '/api/seen', handler: _lazy_NXLBIE, lazy: true, middleware: false, method: "post" },
|
|
26992
|
+
{ route: '/api/send-now', handler: _lazy_oqiCsk, lazy: true, middleware: false, method: "post" },
|
|
26494
26993
|
{ route: '/api/sessions', handler: _lazy_GOSQuW, lazy: true, middleware: false, method: "get" },
|
|
26495
26994
|
{ route: '/api/sessions', handler: _lazy_3y86mR, lazy: true, middleware: false, method: "post" },
|
|
26496
26995
|
{ route: '/api/settings-tab', handler: _lazy_tLoqXq, lazy: true, middleware: false, method: "post" },
|
|
26497
26996
|
{ route: '/api/settings', handler: _lazy_qMA1rz, lazy: true, middleware: false, method: "get" },
|
|
26498
26997
|
{ route: '/api/settings', handler: _lazy_0nQiNS, lazy: true, middleware: false, method: "post" },
|
|
26499
26998
|
{ route: '/api/space', handler: _lazy_TqhtLZ, lazy: true, middleware: false, method: "post" },
|
|
26999
|
+
{ route: '/api/split-command', handler: _lazy_JOzKUc, lazy: true, middleware: false, method: "post" },
|
|
26500
27000
|
{ route: '/api/state', handler: _lazy_oeuOKk, lazy: true, middleware: false, method: "get" },
|
|
26501
27001
|
{ route: '/api/tasks', handler: _lazy_8O03Pb, lazy: true, middleware: false, method: "get" },
|
|
26502
27002
|
{ route: '/api/tasks/action', handler: _lazy_Tqip3b, lazy: true, middleware: false, method: "post" },
|
|
@@ -26998,5 +27498,5 @@ setupGracefulShutdown(listener, nitroApp);
|
|
|
26998
27498
|
}
|
|
26999
27499
|
const nodeServer = {};
|
|
27000
27500
|
|
|
27001
|
-
export { getMachine as $, ATTACH_MAX as A, multiMachine as B, integrationCommand as C, chatPasted as D, withoutTakenBack as E, withSentText as F, currentModel as G, HerdrError as H, sendImage as I, keysFor as J, parseChoices as K, parseOmpField as L, withPaneLock as M, selfUpdates as N, restarting as O, PANE_RE$1 as P, updateChoices as Q, UPDATE_LABELS as R, updateRestartPlan as S, restarts as T, UPLOAD_DIR as U, usesTerminalException as V, sameQuestion as W, sleep$1 as X, writeDismissed as Y, forgetQuotas as Z, MACHINE_KEY_RE as _, defineApi as a, getState as a$, installClaudeStatusline as a0, clearQueuedInput as a1, codexStatus as a2, paneForeground as a3, codexMenuOpen as a4, stopAgent as a5, terminalUpdateLine as a6, waitFor as a7, terminalUpdateDone as a8, startAgent as a9, addQueued as aA, interruptAgent as aB, takeBackFromClaude as aC, takeBack as aD, underHome as aE, isGitRepo as aF, baseMachines as aG, DATA_DIR as aH, retryMachine as aI, renameMachine as aJ, machineDiagnostic as aK, closeLeftMenu as aL, readMenu as aM, findEntry as aN, menuIdentity as aO, searchKeys as aP, stepToward as aQ, clickMovesOnly as aR, setModel as aS, listModels as aT, refreshNativeScreen as aU, TOP as aV, HOST_LABEL as aW, phoneStatus as aX, phoneAction as aY, herdrOn as aZ, splitId as a_, log as aa, RESTARTABLE as ab, claudeFooterMode as ac, planRestart as ad, builtinCommands as ae, slashCommands as af, HOME as ag, localMachine as ah, openNetworkMode as ai, readSubs as aj, vapidPublicKey as ak, pushReady as al, machineConfigs as am, recentDirs as an, installedAgentKinds as ao, listDirs as ap, dismissStopped as aq, closePanel as ar, setEffort as as, refreshModel as at, listEfforts as au, saveUpload as av, setResponseHeader as aw, getRequestHeader as ax, setResponseStatus as ay, isSlashCommand as az, screenChoices as b,
|
|
27501
|
+
export { getMachine as $, ATTACH_MAX as A, multiMachine as B, integrationCommand as C, chatPasted as D, withoutTakenBack as E, withSentText as F, currentModel as G, HerdrError as H, sendImage as I, keysFor as J, parseChoices as K, parseOmpField as L, withPaneLock as M, selfUpdates as N, restarting as O, PANE_RE$1 as P, updateChoices as Q, UPDATE_LABELS as R, updateRestartPlan as S, restarts as T, UPLOAD_DIR as U, usesTerminalException as V, sameQuestion as W, sleep$1 as X, writeDismissed as Y, forgetQuotas as Z, MACHINE_KEY_RE as _, defineApi as a, getState as a$, installClaudeStatusline as a0, clearQueuedInput as a1, codexStatus as a2, paneForeground as a3, codexMenuOpen as a4, stopAgent as a5, terminalUpdateLine as a6, waitFor as a7, terminalUpdateDone as a8, startAgent as a9, addQueued as aA, interruptAgent as aB, takeBackFromClaude as aC, takeBack as aD, underHome as aE, isGitRepo as aF, baseMachines as aG, DATA_DIR as aH, retryMachine as aI, renameMachine as aJ, machineDiagnostic as aK, closeLeftMenu as aL, readMenu as aM, findEntry as aN, menuIdentity as aO, searchKeys as aP, stepToward as aQ, clickMovesOnly as aR, setModel as aS, listModels as aT, refreshNativeScreen as aU, TOP as aV, HOST_LABEL as aW, phoneStatus as aX, phoneAction as aY, herdrOn as aZ, splitId as a_, log as aa, RESTARTABLE as ab, claudeFooterMode as ac, planRestart as ad, builtinCommands as ae, slashCommands as af, HOME as ag, localMachine as ah, openNetworkMode as ai, readSubs as aj, vapidPublicKey as ak, pushReady as al, machineConfigs as am, recentDirs as an, installedAgentKinds as ao, listDirs as ap, dismissStopped as aq, closePanel as ar, setEffort as as, refreshModel as at, listEfforts as au, saveUpload as av, setResponseHeader as aw, getRequestHeader as ax, setResponseStatus as ay, isSlashCommand as az, screenChoices as b, addTask as b$, projectsPluginState as b0, projectsProgramVersion as b1, updateProjectsPlugin as b2, installProjectsPlugin as b3, promptOnce as b4, closeTrailingMention as b5, keepPastes as b6, hasHeld as b7, INPUT_STATES as b8, inputVisible as b9, foldSearch as bA, matchAt as bB, searchableBoards as bC, hasTranscript as bD, SEARCH_DEADLINE_MS as bE, SEARCH_MAX_RESULTS as bF, spaceTitle as bG, markSeen as bH, parseClaudeScreen as bI, listSessions as bJ, openSession as bK, settingsFocus as bL, readSettings as bM, cleanSettingsPatch as bN, patchSettings as bO, spaceCall as bP, SpaceActionError as bQ, dropSteps as bR, verifySpaceRename as bS, spaceResult as bT, swapSteps as bU, RemoteMachine as bV, HERDR_BIN as bW, reduceSnapshot as bX, joinId as bY, readTasksBoard as bZ, taskCommand as b_, shouldHold as ba, inTurn as bb, sendPrompt as bc, agentPrompt as bd, isBusyError as be, HOLD_AGENTS as bf, pendingPrompts as bg, parseQuiet as bh, writeGlobalQuiet as bi, writeSubs as bj, quietActive as bk, readGlobalQuiet as bl, validPushSubscription as bm, replaceSubscription as bn, pushSend as bo, readQuotas as bp, retryQueued as bq, PANE_RE$2 as br, parseWaitScreen as bs, waitIdentity as bt, settingsTabs as bu, tabsOfRow as bv, classifyScreen as bw, parseMenu as bx, excerpt as by, taskKey as bz, createAgent as c, clearTaskAfter as c0, approveTask as c1, archiveDoneTasks as c2, archivedTasks as c3, autopilotStatuses as c4, coordinatorAutopilot as c5, boardSettings as c6, changeBoardSetting as c7, coordinatorPane as c8, restartCoordinator as c9, notificationPresence as cA, getStateJson as cB, networkReady as cC, ensureFresh as cD, gateDecision as cE, sameOrigin as cF, hostAllowed as cG, checkRequestClient as cH, onNetworkReading as cI, openTerm as cJ, useRuntimeConfig as cK, encodePath as cL, joinRelativeURL as cM, defineRenderHandler as cN, createError$1 as cO, destr as cP, getRouteRules as cQ, relative as cR, joinURL as cS, getResponseStatusText as cT, getResponseStatus as cU, useNitroApp as cV, nodeServer as cW, tellCoordinator as ca, describeTask as cb, taskDetails as cc, raiseTaskLimit as cd, readBoardLinks as ce, taskStartModels as cf, pickTask as cg, projectFolder as ch, registerProject as ci, askTaskCoordinator as cj, coordinatorScheduled as ck, taskSettings as cl, taskStartOptions as cm, tellTask as cn, cancelQueued as co, installMode as cp, oneTapMode as cq, updateCommand as cr, compareVersions as cs, updateRunning as ct, allMachines as cu, useStorage as cv, getRouterParam as cw, readUpload as cx, defineWebSocketHandler as cy, eventClients as cz, 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, runHerdrCli as n, parseIntegrationStatus as o, poll as p, machineOfPane as q, reqOf as r, sendError as s, fmt as t, uploadNames as u, takenBackOf as v, withOmpTab as w, chatDelta as x, transcripts as y, missingIntegration as z };
|
|
27002
27502
|
//# sourceMappingURL=nitro.mjs.map
|