wherdr 2.3.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.
Files changed (162) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{AgentView.CfD2RWZY.css → AgentView.B12D6ccj.css} +1 -1
  3. package/.output/public/_nuxt/AgentView.B12D6ccj.css.br +0 -0
  4. package/.output/public/_nuxt/AgentView.B12D6ccj.css.gz +0 -0
  5. package/.output/public/_nuxt/BDTOz37p.js +1 -0
  6. package/.output/public/_nuxt/BDTOz37p.js.br +0 -0
  7. package/.output/public/_nuxt/BDTOz37p.js.gz +0 -0
  8. package/.output/public/_nuxt/BGD5AamG.js +25 -0
  9. package/.output/public/_nuxt/BGD5AamG.js.br +0 -0
  10. package/.output/public/_nuxt/BGD5AamG.js.gz +0 -0
  11. package/.output/public/_nuxt/BdJIc1Xf.js +1 -0
  12. package/.output/public/_nuxt/BdJIc1Xf.js.br +0 -0
  13. package/.output/public/_nuxt/BdJIc1Xf.js.gz +0 -0
  14. package/.output/public/_nuxt/BxlzUs1i.js +23 -0
  15. package/.output/public/_nuxt/BxlzUs1i.js.br +0 -0
  16. package/.output/public/_nuxt/BxlzUs1i.js.gz +0 -0
  17. package/.output/public/_nuxt/C-BDzEtI.js +3 -0
  18. package/.output/public/_nuxt/C-BDzEtI.js.br +0 -0
  19. package/.output/public/_nuxt/C-BDzEtI.js.gz +0 -0
  20. package/.output/public/_nuxt/{DN2uhp8-.js → CLf2i_DM.js} +1 -1
  21. package/.output/public/_nuxt/CO4sDeSt.js +62 -0
  22. package/.output/public/_nuxt/CO4sDeSt.js.br +0 -0
  23. package/.output/public/_nuxt/CO4sDeSt.js.gz +0 -0
  24. package/.output/public/_nuxt/{BqaV2jLN.js → CPlkxpge.js} +42 -42
  25. package/.output/public/_nuxt/CPlkxpge.js.br +0 -0
  26. package/.output/public/_nuxt/CPlkxpge.js.gz +0 -0
  27. package/.output/public/_nuxt/CTPNZj4T.js +9 -0
  28. package/.output/public/_nuxt/CTPNZj4T.js.br +0 -0
  29. package/.output/public/_nuxt/CTPNZj4T.js.gz +0 -0
  30. package/.output/public/_nuxt/CV6ukk-M.js +1 -0
  31. package/.output/public/_nuxt/CgUSTIM1.js +1 -0
  32. package/.output/public/_nuxt/CgUSTIM1.js.br +0 -0
  33. package/.output/public/_nuxt/CgUSTIM1.js.gz +0 -0
  34. package/.output/public/_nuxt/CwurhZnh.js +123 -0
  35. package/.output/public/_nuxt/CwurhZnh.js.br +0 -0
  36. package/.output/public/_nuxt/CwurhZnh.js.gz +0 -0
  37. package/.output/public/_nuxt/D7fCPncR.js +1 -0
  38. package/.output/public/_nuxt/D7fCPncR.js.br +0 -0
  39. package/.output/public/_nuxt/D7fCPncR.js.gz +0 -0
  40. package/.output/public/_nuxt/DFe-cDm2.js +1 -0
  41. package/.output/public/_nuxt/DFe-cDm2.js.br +0 -0
  42. package/.output/public/_nuxt/DFe-cDm2.js.gz +0 -0
  43. package/.output/public/_nuxt/Dpe9TNcA.js +31 -0
  44. package/.output/public/_nuxt/Dpe9TNcA.js.br +0 -0
  45. package/.output/public/_nuxt/Dpe9TNcA.js.gz +0 -0
  46. package/.output/public/_nuxt/{board.CeTYM1XN.css → board.fZYj3O-m.css} +1 -1
  47. package/.output/public/_nuxt/board.fZYj3O-m.css.br +0 -0
  48. package/.output/public/_nuxt/board.fZYj3O-m.css.gz +0 -0
  49. package/.output/public/_nuxt/builds/latest.json +1 -1
  50. package/.output/public/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json +1 -0
  51. package/.output/public/_nuxt/entry.KNdllmoL.css +2 -0
  52. package/.output/public/_nuxt/entry.KNdllmoL.css.br +0 -0
  53. package/.output/public/_nuxt/entry.KNdllmoL.css.gz +0 -0
  54. package/.output/public/sw.js +1 -1
  55. package/.output/server/chunks/_/branding.mjs +1 -1
  56. package/.output/server/chunks/_/package.mjs +1 -1
  57. package/.output/server/chunks/_/selfupdate.mjs +1 -1
  58. package/.output/server/chunks/_/updates.mjs +18 -5
  59. package/.output/server/chunks/_/worktrees.mjs +1 -1
  60. package/.output/server/chunks/_/ws.mjs +1 -1
  61. package/.output/server/chunks/nitro/nitro.mjs +813 -487
  62. package/.output/server/chunks/raw/install-claude-statusline.mjs +1 -1
  63. package/.output/server/chunks/routes/api/search.get.mjs +55 -2
  64. package/.output/server/chunks/routes/api/seen.post.mjs +1 -1
  65. package/.output/server/chunks/routes/api/send-now.post.mjs +53 -0
  66. package/.output/server/chunks/routes/api/sessions.get.mjs +1 -1
  67. package/.output/server/chunks/routes/api/sessions.post.mjs +1 -1
  68. package/.output/server/chunks/routes/api/settings-tab.post.mjs +1 -1
  69. package/.output/server/chunks/routes/api/settings.get.mjs +1 -1
  70. package/.output/server/chunks/routes/api/settings.post.mjs +1 -1
  71. package/.output/server/chunks/routes/api/space.post.mjs +1 -1
  72. package/.output/server/chunks/routes/api/split-command.post.mjs +157 -0
  73. package/.output/server/chunks/routes/api/tasks/action.post.mjs +1 -1
  74. package/.output/server/chunks/routes/api/tasks/add.post.mjs +1 -1
  75. package/.output/server/chunks/routes/api/tasks/after.post.mjs +1 -1
  76. package/.output/server/chunks/routes/api/tasks/approve.post.mjs +1 -1
  77. package/.output/server/chunks/routes/api/tasks/archive-done.post.mjs +1 -1
  78. package/.output/server/chunks/routes/api/tasks/archived.get.mjs +1 -1
  79. package/.output/server/chunks/routes/api/tasks/autopilot.get.mjs +1 -1
  80. package/.output/server/chunks/routes/api/tasks/autopilot.post.mjs +1 -1
  81. package/.output/server/chunks/routes/api/tasks/board-settings.get.mjs +1 -1
  82. package/.output/server/chunks/routes/api/tasks/board-settings.post.mjs +1 -1
  83. package/.output/server/chunks/routes/api/tasks/coordinator.get.mjs +1 -1
  84. package/.output/server/chunks/routes/api/tasks/coordinator.post.mjs +1 -1
  85. package/.output/server/chunks/routes/api/tasks/describe.post.mjs +1 -1
  86. package/.output/server/chunks/routes/api/tasks/details.get.mjs +1 -1
  87. package/.output/server/chunks/routes/api/tasks/limit.post.mjs +1 -1
  88. package/.output/server/chunks/routes/api/tasks/links.get.mjs +1 -1
  89. package/.output/server/chunks/routes/api/tasks/models.get.mjs +1 -1
  90. package/.output/server/chunks/routes/api/tasks/pick.post.mjs +1 -1
  91. package/.output/server/chunks/routes/api/tasks/project.get.mjs +1 -1
  92. package/.output/server/chunks/routes/api/tasks/project.post.mjs +1 -1
  93. package/.output/server/chunks/routes/api/tasks/question.post.mjs +1 -1
  94. package/.output/server/chunks/routes/api/tasks/scheduled.get.mjs +1 -1
  95. package/.output/server/chunks/routes/api/tasks/settings.get.mjs +1 -1
  96. package/.output/server/chunks/routes/api/tasks/start.get.mjs +1 -1
  97. package/.output/server/chunks/routes/api/tasks/tell.post.mjs +1 -1
  98. package/.output/server/chunks/routes/api/tasks.get.mjs +1 -1
  99. package/.output/server/chunks/routes/api/unqueue.post.mjs +1 -1
  100. package/.output/server/chunks/routes/icons/_name_.get.mjs +1 -1
  101. package/.output/server/chunks/routes/renderer.mjs +2 -2
  102. package/.output/server/chunks/routes/uploads/_...name_.get.mjs +1 -1
  103. package/.output/server/chunks/routes/ws/_..._.mjs +1 -1
  104. package/.output/server/chunks/routes/ws/events.mjs +5 -1
  105. package/.output/server/chunks/routes/ws/term.mjs +1 -1
  106. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  107. package/.output/server/index.mjs +1 -1
  108. package/.output/server/package.json +1 -1
  109. package/docs/README.md +3 -0
  110. package/docs/board.md +8 -1
  111. package/docs/design.md +112 -0
  112. package/docs/devices.md +5 -0
  113. package/docs/herdr-projects-1x.md +28 -0
  114. package/docs/home.md +9 -0
  115. package/docs/installation.md +12 -0
  116. package/docs/quotas.md +6 -0
  117. package/docs/release-notes-2.4.0.md +37 -0
  118. package/package.json +1 -1
  119. package/.output/public/_nuxt/30nuHmZs.js +0 -1
  120. package/.output/public/_nuxt/30nuHmZs.js.br +0 -0
  121. package/.output/public/_nuxt/30nuHmZs.js.gz +0 -0
  122. package/.output/public/_nuxt/AgentView.CfD2RWZY.css.br +0 -0
  123. package/.output/public/_nuxt/AgentView.CfD2RWZY.css.gz +0 -0
  124. package/.output/public/_nuxt/BF2qZ0lx.js +0 -31
  125. package/.output/public/_nuxt/BF2qZ0lx.js.br +0 -0
  126. package/.output/public/_nuxt/BF2qZ0lx.js.gz +0 -0
  127. package/.output/public/_nuxt/BU6Ihnb9.js +0 -62
  128. package/.output/public/_nuxt/BU6Ihnb9.js.br +0 -0
  129. package/.output/public/_nuxt/BU6Ihnb9.js.gz +0 -0
  130. package/.output/public/_nuxt/BmF5BXwf.js +0 -23
  131. package/.output/public/_nuxt/BmF5BXwf.js.br +0 -0
  132. package/.output/public/_nuxt/BmF5BXwf.js.gz +0 -0
  133. package/.output/public/_nuxt/BqaV2jLN.js.br +0 -0
  134. package/.output/public/_nuxt/BqaV2jLN.js.gz +0 -0
  135. package/.output/public/_nuxt/C_pXkozx.js +0 -1
  136. package/.output/public/_nuxt/C_pXkozx.js.br +0 -0
  137. package/.output/public/_nuxt/C_pXkozx.js.gz +0 -0
  138. package/.output/public/_nuxt/Cq1IlvFx.js +0 -3
  139. package/.output/public/_nuxt/Cq1IlvFx.js.br +0 -0
  140. package/.output/public/_nuxt/Cq1IlvFx.js.gz +0 -0
  141. package/.output/public/_nuxt/DNk1pHah.js +0 -1
  142. package/.output/public/_nuxt/DNk1pHah.js.br +0 -0
  143. package/.output/public/_nuxt/DNk1pHah.js.gz +0 -0
  144. package/.output/public/_nuxt/DcQrp3bD.js +0 -25
  145. package/.output/public/_nuxt/DcQrp3bD.js.br +0 -0
  146. package/.output/public/_nuxt/DcQrp3bD.js.gz +0 -0
  147. package/.output/public/_nuxt/I_R_EgeO.js +0 -1
  148. package/.output/public/_nuxt/L_vgVKcG.js +0 -105
  149. package/.output/public/_nuxt/L_vgVKcG.js.br +0 -0
  150. package/.output/public/_nuxt/L_vgVKcG.js.gz +0 -0
  151. package/.output/public/_nuxt/RI4B_b2M.js +0 -9
  152. package/.output/public/_nuxt/RI4B_b2M.js.br +0 -0
  153. package/.output/public/_nuxt/RI4B_b2M.js.gz +0 -0
  154. package/.output/public/_nuxt/Y-4S7Nuf.js +0 -1
  155. package/.output/public/_nuxt/Y-4S7Nuf.js.br +0 -0
  156. package/.output/public/_nuxt/Y-4S7Nuf.js.gz +0 -0
  157. package/.output/public/_nuxt/board.CeTYM1XN.css.br +0 -0
  158. package/.output/public/_nuxt/board.CeTYM1XN.css.gz +0 -0
  159. package/.output/public/_nuxt/builds/meta/9240e8b5-8099-4108-9ff2-34b7f376d31a.json +0 -1
  160. package/.output/public/_nuxt/entry._gNxiS8l.css +0 -2
  161. package/.output/public/_nuxt/entry._gNxiS8l.css.br +0 -0
  162. package/.output/public/_nuxt/entry._gNxiS8l.css.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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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":"\"1012-SRD59JCTvNDZmw9VCA/vxlYnsOs\"","mtime":"2026-10-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.733Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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-28T00:47:36.738Z"}
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": "9240e8b5-8099-4108-9ff2-34b7f376d31a",
9638
+ "buildId": "75cc4ea7-3027-463a-aa3e-29e474ed7173",
9639
9639
  "buildAssetsDir": "/_nuxt/",
9640
9640
  "cdnURL": ""
9641
9641
  },
@@ -10808,15 +10808,15 @@ async function refreshTailscale(read = defaultReader, now = Date.now()) {
10808
10808
  }
10809
10809
  notify();
10810
10810
  }
10811
- let inflight$1 = null;
10811
+ let inflight = null;
10812
10812
  async function ensureFresh(maxAgeMs, read = defaultReader, now = Date.now()) {
10813
10813
  if (ts && ts.at >= now - maxAgeMs) return;
10814
- if (inflight$1 && inflight$1.at >= now - maxAgeMs) return inflight$1.done;
10814
+ if (inflight && inflight.at >= now - maxAgeMs) return inflight.done;
10815
10815
  const at = Date.now();
10816
10816
  const done = refreshTailscale(read, at).finally(() => {
10817
- if ((inflight$1 == null ? void 0 : inflight$1.done) === done) inflight$1 = null;
10817
+ if ((inflight == null ? void 0 : inflight.done) === done) inflight = null;
10818
10818
  });
10819
- inflight$1 = { at, done };
10819
+ inflight = { at, done };
10820
10820
  return done;
10821
10821
  }
10822
10822
  function netContext(now = Date.now()) {
@@ -12331,9 +12331,12 @@ const OMP_SELECT_TOP = /^\s*[╭+][─-] (.+?) [─-]+[╮+]\s*$/;
12331
12331
  const OMP_SELECT_LEGEND = new RegExp(`^\\s*[\u2502|] ${ompAlt(OMP_UP_DOWN)} navigate\\b.*\\bselect\\b`);
12332
12332
  const OMP_SELECT_OPTION = new RegExp(`^ (?:(${ompAlt(OMP_CURSOR)})|\\s)\\s(\\S.*)$`);
12333
12333
  function parseOmpSelect(text, full = false) {
12334
- var _a;
12335
12334
  if (!text) return null;
12336
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;
12337
12340
  const legend = lastMatch(lines, OMP_SELECT_LEGEND);
12338
12341
  if (legend < 0) return null;
12339
12342
  const below = lines.slice(legend + 1).filter((l) => l.trim() && ompBoxText(l) !== "").map((l) => l.trim());
@@ -12369,6 +12372,79 @@ function parseOmpSelect(text, full = false) {
12369
12372
  const detail = tool || !title && body.length ? { tool: tool || "tool", ...body.length ? { command: body.join("\n") } : {} } : void 0;
12370
12373
  return { question: title, cursor, options, ...detail ? { detail } : {} };
12371
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
+ }
12372
12448
  function parseOmpPrompt(text, full = false) {
12373
12449
  return parseOmpSelect(text, full) || parseOmpAsk(text, full);
12374
12450
  }
@@ -12576,6 +12652,7 @@ function panelOpen(text, agent) {
12576
12652
  }
12577
12653
  const bashInput$1 = (line, above) => /^!(\s|$)/.test(line) && /^\s*─{3,}/.test(above || "");
12578
12654
  function inputVisible(text) {
12655
+ if (ompApprovalOpen(text)) return false;
12579
12656
  const lines = String(text || "").replace(/\s+$/, "").split("\n").slice(-12);
12580
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]));
12581
12658
  }
@@ -14704,7 +14781,7 @@ function createTranscripts({ home, herdr: herdr2, fs = localFs, now = Date.now }
14704
14781
  for (const d of await sortDesc(path$1.join(root, y, m))) {
14705
14782
  const dir = path$1.join(root, y, m, d);
14706
14783
  const hit = (await sortDesc(dir)).find((n) => n.endsWith(`-${id}.jsonl`));
14707
- if (hit) {
14784
+ if (hit && await exists(path$1.join(dir, hit))) {
14708
14785
  found = path$1.join(dir, hit);
14709
14786
  break outer;
14710
14787
  }
@@ -14838,6 +14915,9 @@ function createTranscripts({ home, herdr: herdr2, fs = localFs, now = Date.now }
14838
14915
  st = await fs.stat(loc.file);
14839
14916
  } catch (e) {
14840
14917
  if (!isMissing(e)) throw e;
14918
+ st = null;
14919
+ }
14920
+ if (!st || !st.isFile) {
14841
14921
  locCache.delete(pane.id);
14842
14922
  lastLoc.delete(pane.id);
14843
14923
  return { available: false, reason: "not_found" };
@@ -17121,6 +17201,11 @@ function cleanVersion(v) {
17121
17201
  }
17122
17202
  function projectsStatus(p) {
17123
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";
17124
17209
  if (!versionAtLeast(cleanVersion(p.version), PROJECTS_MIN) || !projectsLauncher(p)) return "old";
17125
17210
  return p.enabled === false ? "disabled" : "ready";
17126
17211
  }
@@ -17136,6 +17221,22 @@ function findProjectsPlugin(plugins) {
17136
17221
  return plugins.find((p) => p && typeof p === "object" && p.plugin_id === "herdr-projects") || null;
17137
17222
  }
17138
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
+
17139
17240
  var __defProp$5 = Object.defineProperty;
17140
17241
  var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17141
17242
  var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, key + "" , value);
@@ -17410,10 +17511,14 @@ const shellQuote = (s) => `'${s.replace(/'/g, `'\\''`)}'`;
17410
17511
  async function createAgent(body) {
17411
17512
  const kind = String(body.kind || "");
17412
17513
  if (kind !== "shell" && !AGENT_KINDS.includes(kind)) throw new HerdrError("bad_kind", fmt("Unknown agent: {kind}", { kind }));
17413
- let target = body.pane_id ? findPane(String(body.pane_id)) : null;
17514
+ let target = body.pane_id ? findPane(String(body.pane_id)) || null : null;
17414
17515
  if (body.pane_id && !target && PANE_RE$2.test(String(body.pane_id))) {
17415
- await poll();
17416
- target = findPane(String(body.pane_id));
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
+ }
17417
17522
  }
17418
17523
  if (body.pane_id) {
17419
17524
  if (!PANE_RE$2.test(String(body.pane_id)) || !target) throw new HerdrError("bad_pane", "Pane not found");
@@ -17874,6 +17979,7 @@ function linkedPane(base, t) {
17874
17979
  const key = sessionMachine(base, link.socket);
17875
17980
  return key === null ? { pane: null, known: false } : { pane: joinId(key, link.pane), known: true };
17876
17981
  }
17982
+ const DESCRIPTION_MAX = 4e3;
17877
17983
  const lists = /* @__PURE__ */ new Map();
17878
17984
  const reading$1 = /* @__PURE__ */ new Map();
17879
17985
  const createdAt = /* @__PURE__ */ new Map();
@@ -17900,15 +18006,18 @@ function readList(m) {
17900
18006
  const now = reading$1.get(m.key);
17901
18007
  if (now) return now;
17902
18008
  const started = Date.now();
18009
+ const descriptions = /* @__PURE__ */ new Map();
17903
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) => {
17904
18011
  var _a;
17905
18012
  const file = await readTaskFile(m, row.id).catch(() => null);
17906
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);
17907
18016
  return (file == null ? void 0 : file.stage) === "approval" && ((_a = rowFromTaskFile(file)) == null ? void 0 : _a.approvalBlocked) ? { ...row, approvalBlocked: true, group: "needs" } : row;
17908
- }))), at: Date.now(), readAt: Date.now() })).catch((e) => {
18017
+ }))), descriptions, at: Date.now(), readAt: Date.now() })).catch((e) => {
17909
18018
  var _a;
17910
18019
  const last = lists.get(m.key);
17911
- 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 };
17912
18021
  }).then((c) => {
17913
18022
  lists.set(m.key, c);
17914
18023
  if (c.error) return c;
@@ -18007,6 +18116,24 @@ async function readTasksBoard(since) {
18007
18116
  const version = createHash("sha1").update(JSON.stringify(machines, (k, v) => k === "at" || k === "readAt" ? void 0 : v)).digest("hex").slice(0, 16);
18008
18117
  return since === version ? { same: true, version } : { version, machines };
18009
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
+ }
18010
18137
  const boardOf = (machine) => boardMachine(machineFor(machine));
18011
18138
  async function taskOf(m, id) {
18012
18139
  const known = lists.get(m.key);
@@ -18661,6 +18788,7 @@ const SYNCED_SETTINGS = [
18661
18788
  // 1.x `compactList` is no longer read)
18662
18789
  "compactListV2",
18663
18790
  "homeGrouping",
18791
+ "individualAgentList",
18664
18792
  "collapsedMachines",
18665
18793
  "collapsedRepos",
18666
18794
  "showShells",
@@ -19559,12 +19687,13 @@ function parseClaudeScreen(text, now = Date.now()) {
19559
19687
  i = e.next;
19560
19688
  } else i++;
19561
19689
  }
19690
+ const capability = queued.length && lines.slice(top, end).some((l) => SEND_NOW.test(l.trim())) ? { sendNow: true } : {};
19562
19691
  let last = -1;
19563
19692
  for (let i = top - 1; i >= 0; i--) if (/^(?:❯ \S|! +\S)/.test(lines[i])) {
19564
19693
  last = i;
19565
19694
  break;
19566
19695
  }
19567
- if (last < 0) return { shell: null, sent: null, queued };
19696
+ if (last < 0) return { shell: null, sent: null, queued, ...capability };
19568
19697
  const entry = entryAt(lines, last);
19569
19698
  const bash = lines[last].startsWith("! ");
19570
19699
  const sent = bash ? `!${entry.text}` : entry.text;
@@ -19604,7 +19733,7 @@ function parseClaudeScreen(text, now = Date.now()) {
19604
19733
  shell = { command: entry.text, lines: out.slice(-12), hidden, since: ms === null ? null : now - ms };
19605
19734
  }
19606
19735
  }
19607
- return { shell, sent, queued };
19736
+ return { shell, sent, queued, ...capability };
19608
19737
  }
19609
19738
  const NOTICES = [
19610
19739
  /✔?\s*Update installed\s*·\s*Restart to update\b/,
@@ -20844,6 +20973,85 @@ function createScrollThrottle(send2, { intervalMs = SCROLL_MS, now = Date.now, s
20844
20973
  };
20845
20974
  }
20846
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
+
20847
21055
  const clampInt = (v, lo, hi, dflt) => {
20848
21056
  const n = parseInt(String(v), 10);
20849
21057
  return Number.isFinite(n) ? Math.min(hi, Math.max(lo, n)) : dflt;
@@ -20946,11 +21154,20 @@ function openTerm(ws, url) {
20946
21154
  child = c;
20947
21155
  log(`term ${pane} opened ${cols}x${rows}${args.includes("--takeover") ? " (takeover)" : ""}${machine.local ? "" : ` on ${machine.label}`}`);
20948
21156
  readline.createInterface({ input: c.stdout }).on("line", (line) => {
20949
- if (!attached && line.includes('"terminal.frame"')) {
21157
+ const isFrame = line.includes('"terminal.frame"');
21158
+ if (!attached && isFrame) {
20950
21159
  attached = true;
20951
21160
  hold == null ? void 0 : hold.resized(size.cols, size.rows);
20952
21161
  }
20953
- if (ws.isOpen()) ws.send(line);
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();
20954
21171
  });
20955
21172
  readline.createInterface({ input: c.stderr }).on("line", (line) => {
20956
21173
  log(`term ${pane} stderr: ${line}`);
@@ -20961,6 +21178,8 @@ function openTerm(ws, url) {
20961
21178
  ws.close(4500, "herdr error");
20962
21179
  });
20963
21180
  c.on("exit", (code) => {
21181
+ scroll.dispose();
21182
+ touchScroll == null ? void 0 : touchScroll.dispose();
20964
21183
  termSessions.delete(sess);
20965
21184
  if (ws.isOpen()) ws.close(4e3, `herdr exit ${code}`);
20966
21185
  });
@@ -20968,7 +21187,15 @@ function openTerm(ws, url) {
20968
21187
  });
20969
21188
  for (const m of early.splice(0)) toChild(m);
20970
21189
  }
21190
+ const scrollDelivered = /* @__PURE__ */ new Map();
21191
+ let touchScroll;
20971
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
+ }));
20972
21199
  paneSizes().hold(pane).then(async (h) => {
20973
21200
  var _a, _b, _c;
20974
21201
  if (closed) return h.release(true);
@@ -20990,16 +21217,22 @@ function openTerm(ws, url) {
20990
21217
  return;
20991
21218
  }
20992
21219
  switch (m && m.type) {
21220
+ case "ping":
21221
+ if (ws.isOpen()) ws.send(JSON.stringify({ type: "pong" }));
21222
+ break;
20993
21223
  case "terminal.input":
21224
+ touchScroll == null ? void 0 : touchScroll.cancel();
20994
21225
  if (typeof m.text === "string" && m.text.length <= 65536) toChild({ type: "terminal.input", text: m.text });
20995
21226
  else if (typeof m.bytes === "string" && m.bytes.length <= 9e4) toChild({ type: "terminal.input", bytes: m.bytes });
20996
21227
  break;
20997
21228
  case "terminal.mouse": {
21229
+ touchScroll == null ? void 0 : touchScroll.cancel();
20998
21230
  const event = mouse && cleanTerminalMouse(m, size.cols, size.rows);
20999
21231
  if (event) toChild(event);
21000
21232
  break;
21001
21233
  }
21002
21234
  case "terminal.resize": {
21235
+ touchScroll == null ? void 0 : touchScroll.cancel();
21003
21236
  size = { cols: clampInt(m.cols, 10, 400, cols), rows: clampInt(m.rows, 5, 200, rows) };
21004
21237
  if (attached) hold == null ? void 0 : hold.resized(size.cols, size.rows);
21005
21238
  toChild({ type: "terminal.resize", ...size });
@@ -21007,10 +21240,27 @@ function openTerm(ws, url) {
21007
21240
  }
21008
21241
  case "terminal.scroll":
21009
21242
  if (m.direction === "up" || m.direction === "down") {
21010
- scroll.push(m.direction, clampInt(m.lines, 1, 500, 3));
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
+ }
21011
21253
  }
21012
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;
21013
21262
  case "keys":
21263
+ touchScroll == null ? void 0 : touchScroll.cancel();
21014
21264
  if (Array.isArray(m.keys) && m.keys.length <= 32 && m.keys.every((k) => typeof k === "string" && k.length <= 24)) {
21015
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 })));
21016
21266
  }
@@ -21019,18 +21269,21 @@ function openTerm(ws, url) {
21019
21269
  // turns an image path into an image (typed through wherdr's xterm, which
21020
21270
  // never learns the program's bracketed paste mode, it stays text).
21021
21271
  case "paste":
21272
+ touchScroll == null ? void 0 : touchScroll.cancel();
21022
21273
  if (typeof m.text === "string" && m.text && m.text.length <= 65536) {
21023
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 })));
21024
21275
  }
21025
21276
  break;
21026
21277
  case "visibility":
21027
21278
  sess.visible = Boolean(m.visible);
21279
+ if (!sess.visible) touchScroll == null ? void 0 : touchScroll.cancel();
21028
21280
  break;
21029
21281
  }
21030
21282
  },
21031
21283
  onClose(clean = false) {
21032
21284
  closed = true;
21033
21285
  scroll.dispose();
21286
+ touchScroll == null ? void 0 : touchScroll.dispose();
21034
21287
  termSessions.delete(sess);
21035
21288
  const c = child;
21036
21289
  if (c) {
@@ -21722,7 +21975,7 @@ const HEADER_RE = new RegExp(String.raw`OpenAI Codex\s*\(${VERSION}\)`, "i");
21722
21975
  const WEEK_LEFT_RE = /weekly limit:?\s*(?:\[[^\]]*\]\s*)?(\d{1,3})\s*%\s*left(?:\s*\(resets\s+([^)]+)\))?/i;
21723
21976
  const WEEK_LESS_RE = /less than\s*(\d{1,3})\s*%\s*of your weekly limit left/i;
21724
21977
  function parseCodexScreen(text) {
21725
- var _a;
21978
+ var _a, _b;
21726
21979
  const out = {};
21727
21980
  if (!text) return out;
21728
21981
  const lines = text.split("\n").map((l) => l.replace(/^[\s│┃]+|[\s│┃]+$/g, ""));
@@ -21740,10 +21993,11 @@ function parseCodexScreen(text) {
21740
21993
  if (m) out.command = norm(m[1]);
21741
21994
  }
21742
21995
  const w = WEEK_LEFT_RE.exec(l);
21743
- if (w) out.weekly = { left: clampPct(Number(w[1])), exact: true, ...w[2] ? { resets: norm(w[2]) } : {} };
21744
- else {
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 {
21745
21999
  const hu = WEEK_LESS_RE.exec(l);
21746
- if (hu && !((_a = out.weekly) == null ? void 0 : _a.exact)) out.weekly = { left: clampPct(Number(hu[1])), exact: false };
22000
+ if (hu && !((_b = out.weekly) == null ? void 0 : _b.exact)) out.weekly = { left: clampPct(Number(hu[1])), exact: false };
21747
22001
  }
21748
22002
  }
21749
22003
  return out;
@@ -22259,11 +22513,18 @@ async function ls(fs2, d) {
22259
22513
  return [];
22260
22514
  }
22261
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";
22262
22521
  function claudeSetupState(f) {
22263
22522
  var _a, _b;
22523
+ if (claudeApiBilling(f.status)) return "api";
22264
22524
  if (f.status && (!f.status.rate_limits || f.account)) return "ok";
22265
- const installed = Boolean(((_a = f.statusline) == null ? void 0 : _a.includes("claude-account")) && ((_b = f.settings) == null ? void 0 : _b.includes("wherdr-statusline.sh")));
22266
- if (installed) return f.status ? "ok" : "pending";
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";
22267
22528
  return f.status ? "outdated" : "missing";
22268
22529
  }
22269
22530
  async function readClaude(fs2, home) {
@@ -22424,7 +22685,11 @@ function mergeQuotas(readings) {
22424
22685
  const accounts = groupAccounts(readings.flatMap((r) => r.claude ? [{ key: r.key, label: r.label, q: r.claude }] : []));
22425
22686
  let claude = null;
22426
22687
  for (const { machines: _, ...a } of accounts) claude = fresher(claude, a);
22427
- const out = accounts.length > 1 ? { claude, codex, claudeAccounts: accounts } : { claude, codex };
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 };
22428
22693
  if (codexAccounts.length > 1) out.codexAccounts = codexAccounts;
22429
22694
  const setup = readings.flatMap((r) => r.setup ? [r.setup] : []);
22430
22695
  if (setup.length) out.claudeSetup = setup;
@@ -22531,6 +22796,12 @@ async function installClaudeStatusline(m) {
22531
22796
  return last(r.stdout.toString("utf8"));
22532
22797
  }
22533
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
+
22534
22805
  const CLAUDE = {
22535
22806
  keep: {
22536
22807
  "--model": 1,
@@ -22780,12 +23051,24 @@ function claudeFooterMode(text) {
22780
23051
 
22781
23052
  function updateShellSignature(text) {
22782
23053
  const lines = text.replace(/\r/g, "").trimEnd().split("\n");
22783
- const end = lines.findLastIndex((l) => /^\s*(?:🎉\s*)?Update ran successfully! Please restart Codex\.\s*$/.test(l));
22784
- if (end < 0 || !lines.slice(Math.max(0, end - 4), end).some((l) => /^\s*Codex CLI \S+ installed successfully\.\s*$/.test(l))) return null;
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;
22785
23068
  const tail = lines.slice(end + 1).filter((l) => l.trim());
22786
23069
  if (!tail.length || tail.length > 2) return null;
22787
23070
  const last = tail.at(-1);
22788
- if (!/^\s*(?:[\w@./~:-]+(?: [\w@./~:-]+){0,2} )?[$%#❯]\s*$/.test(last)) return null;
23071
+ if (!/^\s*(?:[\w.-]+@[\w.-]+:[\w./~:-]+ ?[$%#]|[\w.-]+@[\w.-]+ [\w./~:-]+ [$%#]|[$%#❯])\s*$/.test(last)) return null;
22789
23072
  if (tail.length === 2 && (!/^\s*[\w./~:-]+ on [\w./:-]+\s*$/.test(tail[0]) || !/^\s*❯\s*$/.test(last))) return null;
22790
23073
  return tail.join("\n");
22791
23074
  }
@@ -22898,7 +23181,7 @@ function createSelfUpdates(d, saved = []) {
22898
23181
  writtenAt = d.now();
22899
23182
  (_a = d.save) == null ? void 0 : _a.call(d, [...records]);
22900
23183
  };
22901
- const read = async (id) => {
23184
+ const readShell = async (id) => {
22902
23185
  var _a, _b;
22903
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) || "");
22904
23187
  };
@@ -22943,7 +23226,7 @@ function createSelfUpdates(d, saved = []) {
22943
23226
  last.at = d.now();
22944
23227
  last.argv = fg.argv || last.argv;
22945
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 };
22946
- const screen = await read(p.id);
23229
+ const screen = await readPassiveScreen(d.call, p.id);
22947
23230
  const chat = await d.chat(p).catch(() => null);
22948
23231
  if (chat && (chat.guessed || chat.session && chat.session !== last.session)) {
22949
23232
  if (chat.session !== last.session) last.conversation = "unknown";
@@ -22983,7 +23266,7 @@ function createSelfUpdates(d, saved = []) {
22983
23266
  }
22984
23267
  last.checked = true;
22985
23268
  if (d.now() - last.gone < 15e3 && !last.oldOutput && (await paneForeground(d, p.id, "codex")).atShell) {
22986
- last.signature = updateShellSignature(await read(p.id)) || void 0;
23269
+ last.signature = updateShellSignature(await readShell(p.id)) || void 0;
22987
23270
  if (last.signature) {
22988
23271
  const chat = await d.chat(last.pane).catch(() => null);
22989
23272
  if (!chat || chat.guessed || !chat.available && last.session) {
@@ -23014,11 +23297,36 @@ function createSelfUpdates(d, saved = []) {
23014
23297
  async check(id) {
23015
23298
  const last = records.get(id);
23016
23299
  if (!(last == null ? void 0 : last.signature) || !(await paneForeground(d, id, "codex")).atShell) return null;
23017
- return updateShellSignature(await read(id)) === last.signature ? last : null;
23300
+ return updateShellSignature(await readShell(id)) === last.signature ? last : null;
23018
23301
  }
23019
23302
  };
23020
23303
  }
23021
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
+
23022
23330
  var _a, _b;
23023
23331
  const fsp$1 = fs.promises;
23024
23332
  function trFor(p) {
@@ -23238,7 +23546,7 @@ const codexStatus = createCodexStatus({
23238
23546
  exec: exec ? (script, input, timeoutMs) => exec(script, [], { input, timeoutMs }) : null
23239
23547
  };
23240
23548
  },
23241
- readScreen: (id) => herdr("pane.read", { pane_id: id, source: "recent_unwrapped", lines: 300 }, 4e3).then((r) => String(r.read && r.read.text || "")),
23549
+ readScreen: (id) => readPassiveScreen(herdr, id),
23242
23550
  rolloutOf: async (p) => {
23243
23551
  var _a2;
23244
23552
  return ((_a2 = await transcripts.locate(p)) == null ? void 0 : _a2.file) || null;
@@ -24129,21 +24437,11 @@ async function pollMachine(m) {
24129
24437
  if (prev && prev.ok && next.ok) watchTransitions(prev, next);
24130
24438
  rebuild();
24131
24439
  }
24132
- const inflight = /* @__PURE__ */ new Map();
24133
- const again = /* @__PURE__ */ new Set();
24134
- function pollOne(m) {
24135
- const cur = inflight.get(m.key);
24136
- if (cur) {
24137
- again.add(m.key);
24138
- return cur;
24139
- }
24140
- const run = pollMachine(m).catch(() => {
24141
- }).finally(() => {
24142
- inflight.delete(m.key);
24143
- if (again.delete(m.key)) pollOne(m);
24144
- });
24145
- inflight.set(m.key, run);
24146
- return run;
24440
+ const polls = pollQueue(pollMachine);
24441
+ const pollOne = polls.pollOne;
24442
+ async function pollFresh(m) {
24443
+ await polls.pollFresh(m);
24444
+ rebuild();
24147
24445
  }
24148
24446
  async function poll() {
24149
24447
  var _a2;
@@ -24169,7 +24467,7 @@ function startPolling() {
24169
24467
  views();
24170
24468
  const loop = () => {
24171
24469
  const ms = allMachines();
24172
- for (const m of ms) if (m.key !== LOCAL && m.status === "online" && !inflight.has(m.key)) pollOne(m);
24470
+ for (const m of ms) if (m.key !== LOCAL && m.status === "online" && !polls.busy(m.key)) pollOne(m);
24173
24471
  pollOne(localMachineOf(ms)).finally(() => {
24174
24472
  if (!stopped) pollTimer = setTimeout(loop, POLL_MS);
24175
24473
  });
@@ -24997,171 +25295,147 @@ const assets = {
24997
25295
  "/manifest-en.webmanifest": {
24998
25296
  "type": "application/manifest+json",
24999
25297
  "etag": "\"260-q1JnCK0/ecdKwgeTve6N4I6/mWI\"",
25000
- "mtime": "2026-10-28T00:48:10.298Z",
25298
+ "mtime": "2026-10-30T16:50:28.555Z",
25001
25299
  "size": 608,
25002
25300
  "path": "../public/manifest-en.webmanifest"
25003
25301
  },
25004
25302
  "/manifest.webmanifest": {
25005
25303
  "type": "application/manifest+json",
25006
25304
  "etag": "\"26e-ykoYuj4V8la457yChW3oQTur8RU\"",
25007
- "mtime": "2026-10-28T00:48:10.298Z",
25305
+ "mtime": "2026-10-30T16:50:28.555Z",
25008
25306
  "size": 622,
25009
25307
  "path": "../public/manifest.webmanifest"
25010
25308
  },
25011
25309
  "/sw.js": {
25012
25310
  "type": "text/javascript; charset=utf-8",
25013
- "etag": "\"1bde-+5sPS+o82VRGLz0HrAR+HFUR4zs\"",
25014
- "mtime": "2026-10-28T00:48:14.194Z",
25015
- "size": 7134,
25311
+ "etag": "\"1c0a-J7zN2ymM4vaBPt5sveruAjPwR+4\"",
25312
+ "mtime": "2026-10-30T16:50:31.702Z",
25313
+ "size": 7178,
25016
25314
  "path": "../public/sw.js"
25017
25315
  },
25018
- "/_nuxt/30nuHmZs.js": {
25019
- "type": "text/javascript; charset=utf-8",
25020
- "encoding": null,
25021
- "etag": "\"d4f-EN8li9vxnDBqPf2TEsUqw/vB8uE\"",
25022
- "mtime": "2026-10-28T00:48:10.288Z",
25023
- "size": 3407,
25024
- "path": "../public/_nuxt/30nuHmZs.js"
25025
- },
25026
- "/_nuxt/30nuHmZs.js.br": {
25027
- "type": "text/javascript; charset=utf-8",
25028
- "encoding": "br",
25029
- "etag": "\"52b-b/98d4AC8ZGrLDqaPRkD+rcsxRg\"",
25030
- "mtime": "2026-10-28T00:48:10.340Z",
25031
- "size": 1323,
25032
- "path": "../public/_nuxt/30nuHmZs.js.br"
25033
- },
25034
- "/_nuxt/30nuHmZs.js.gz": {
25035
- "type": "text/javascript; charset=utf-8",
25036
- "encoding": "gzip",
25037
- "etag": "\"605-p4LBYlywiePuVtYpZIDBSy+FclU\"",
25038
- "mtime": "2026-10-28T00:48:10.337Z",
25039
- "size": 1541,
25040
- "path": "../public/_nuxt/30nuHmZs.js.gz"
25041
- },
25042
- "/_nuxt/AgentView.CfD2RWZY.css": {
25316
+ "/_nuxt/AgentView.B12D6ccj.css": {
25043
25317
  "type": "text/css; charset=utf-8",
25044
25318
  "encoding": null,
25045
- "etag": "\"16c2-wZvJj+dx6OvnTLQO8UFAESG9QqU\"",
25046
- "mtime": "2026-10-28T00:48:10.288Z",
25047
- "size": 5826,
25048
- "path": "../public/_nuxt/AgentView.CfD2RWZY.css"
25319
+ "etag": "\"1970-POPIQZVf9iStK0emo4cyYU3t8zs\"",
25320
+ "mtime": "2026-10-30T16:50:28.550Z",
25321
+ "size": 6512,
25322
+ "path": "../public/_nuxt/AgentView.B12D6ccj.css"
25049
25323
  },
25050
- "/_nuxt/AgentView.CfD2RWZY.css.br": {
25324
+ "/_nuxt/AgentView.B12D6ccj.css.br": {
25051
25325
  "type": "text/css; charset=utf-8",
25052
25326
  "encoding": "br",
25053
- "etag": "\"4ec-Gof/la2KVayXbTdgrzh5AMEpNnY\"",
25054
- "mtime": "2026-10-28T00:48:10.340Z",
25055
- "size": 1260,
25056
- "path": "../public/_nuxt/AgentView.CfD2RWZY.css.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"
25057
25331
  },
25058
- "/_nuxt/AgentView.CfD2RWZY.css.gz": {
25332
+ "/_nuxt/AgentView.B12D6ccj.css.gz": {
25059
25333
  "type": "text/css; charset=utf-8",
25060
25334
  "encoding": "gzip",
25061
- "etag": "\"5d6-5QSipj30mK6iZZFKEZC5ngTE+NI\"",
25062
- "mtime": "2026-10-28T00:48:10.340Z",
25063
- "size": 1494,
25064
- "path": "../public/_nuxt/AgentView.CfD2RWZY.css.gz"
25335
+ "etag": "\"6b8-V26kdgdQl9OMBttUKGeT2L7KXrM\"",
25336
+ "mtime": "2026-10-30T16:50:28.576Z",
25337
+ "size": 1720,
25338
+ "path": "../public/_nuxt/AgentView.B12D6ccj.css.gz"
25065
25339
  },
25066
25340
  "/_nuxt/B2KlcBQ-.js.br": {
25067
25341
  "type": "text/javascript; charset=utf-8",
25068
25342
  "encoding": "br",
25069
25343
  "etag": "\"56d6-eQ1DFXaZ3E676KLB/D0Oe31c90Y\"",
25070
- "mtime": "2026-10-28T00:48:10.773Z",
25344
+ "mtime": "2026-10-30T16:50:28.730Z",
25071
25345
  "size": 22230,
25072
25346
  "path": "../public/_nuxt/B2KlcBQ-.js.br"
25073
25347
  },
25074
- "/_nuxt/B2KlcBQ-.js": {
25348
+ "/_nuxt/BDNMzG2s.js": {
25075
25349
  "type": "text/javascript; charset=utf-8",
25076
- "encoding": null,
25077
- "etag": "\"17ad2-oJQfTvENew7qDThYZRqX6xqcuXM\"",
25078
- "mtime": "2026-10-28T00:48:10.288Z",
25079
- "size": 96978,
25080
- "path": "../public/_nuxt/B2KlcBQ-.js"
25350
+ "etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
25351
+ "mtime": "2026-10-30T16:50:28.550Z",
25352
+ "size": 84,
25353
+ "path": "../public/_nuxt/BDNMzG2s.js"
25081
25354
  },
25082
25355
  "/_nuxt/B2KlcBQ-.js.gz": {
25083
25356
  "type": "text/javascript; charset=utf-8",
25084
25357
  "encoding": "gzip",
25085
25358
  "etag": "\"6435-cXxXKKZ2x77Rf0msZgttQaYCOj4\"",
25086
- "mtime": "2026-10-28T00:48:10.347Z",
25359
+ "mtime": "2026-10-30T16:50:28.589Z",
25087
25360
  "size": 25653,
25088
25361
  "path": "../public/_nuxt/B2KlcBQ-.js.gz"
25089
25362
  },
25090
- "/_nuxt/BDNMzG2s.js": {
25091
- "type": "text/javascript; charset=utf-8",
25092
- "etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
25093
- "mtime": "2026-10-28T00:48:10.288Z",
25094
- "size": 84,
25095
- "path": "../public/_nuxt/BDNMzG2s.js"
25096
- },
25097
- "/_nuxt/BF2qZ0lx.js.br": {
25363
+ "/_nuxt/B2KlcBQ-.js": {
25098
25364
  "type": "text/javascript; charset=utf-8",
25099
- "encoding": "br",
25100
- "etag": "\"19084-HFocskFxIK/Ys/W1uODBrWYpttQ\"",
25101
- "mtime": "2026-10-28T00:48:11.497Z",
25102
- "size": 102532,
25103
- "path": "../public/_nuxt/BF2qZ0lx.js.br"
25365
+ "encoding": null,
25366
+ "etag": "\"17ad2-oJQfTvENew7qDThYZRqX6xqcuXM\"",
25367
+ "mtime": "2026-10-30T16:50:28.550Z",
25368
+ "size": 96978,
25369
+ "path": "../public/_nuxt/B2KlcBQ-.js"
25104
25370
  },
25105
- "/_nuxt/BU6Ihnb9.js": {
25371
+ "/_nuxt/BDTOz37p.js": {
25106
25372
  "type": "text/javascript; charset=utf-8",
25107
25373
  "encoding": null,
25108
- "etag": "\"14151-oyT7oV5LlNROY2QSzHcx5pekAYc\"",
25109
- "mtime": "2026-10-28T00:48:10.288Z",
25110
- "size": 82257,
25111
- "path": "../public/_nuxt/BU6Ihnb9.js"
25374
+ "etag": "\"1760-dGKWly2VqAWCwl1U6Gdjj2J3JsM\"",
25375
+ "mtime": "2026-10-30T16:50:28.550Z",
25376
+ "size": 5984,
25377
+ "path": "../public/_nuxt/BDTOz37p.js"
25112
25378
  },
25113
- "/_nuxt/BU6Ihnb9.js.br": {
25379
+ "/_nuxt/BDTOz37p.js.br": {
25114
25380
  "type": "text/javascript; charset=utf-8",
25115
25381
  "encoding": "br",
25116
- "etag": "\"6703-qXyoSGyOHs0zAInZ/AopUZlY0zM\"",
25117
- "mtime": "2026-10-28T00:48:10.774Z",
25118
- "size": 26371,
25119
- "path": "../public/_nuxt/BU6Ihnb9.js.br"
25382
+ "etag": "\"86c-lELgRAjotTwfwvLoxoRXFe0KGzk\"",
25383
+ "mtime": "2026-10-30T16:50:28.577Z",
25384
+ "size": 2156,
25385
+ "path": "../public/_nuxt/BDTOz37p.js.br"
25120
25386
  },
25121
- "/_nuxt/BF2qZ0lx.js.gz": {
25387
+ "/_nuxt/BDTOz37p.js.gz": {
25122
25388
  "type": "text/javascript; charset=utf-8",
25123
25389
  "encoding": "gzip",
25124
- "etag": "\"1d8df-16/OA+BuUfeuPmoBsXtmQKWektY\"",
25125
- "mtime": "2026-10-28T00:48:10.893Z",
25126
- "size": 121055,
25127
- "path": "../public/_nuxt/BF2qZ0lx.js.gz"
25390
+ "etag": "\"972-X1IjWEfIYxhnXIVQHbJIUrpPS+0\"",
25391
+ "mtime": "2026-10-30T16:50:28.577Z",
25392
+ "size": 2418,
25393
+ "path": "../public/_nuxt/BDTOz37p.js.gz"
25128
25394
  },
25129
- "/_nuxt/BU6Ihnb9.js.gz": {
25395
+ "/_nuxt/BGD5AamG.js.br": {
25396
+ "type": "text/javascript; charset=utf-8",
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"
25402
+ },
25403
+ "/_nuxt/BGD5AamG.js.gz": {
25130
25404
  "type": "text/javascript; charset=utf-8",
25131
25405
  "encoding": "gzip",
25132
- "etag": "\"7315-nHgfcIuyaXY/d0RMyv6Nru/Uk0c\"",
25133
- "mtime": "2026-10-28T00:48:10.347Z",
25134
- "size": 29461,
25135
- "path": "../public/_nuxt/BU6Ihnb9.js.gz"
25406
+ "etag": "\"605e-gP8B2zjYlXWhoQsrREuPGMnl0ak\"",
25407
+ "mtime": "2026-10-30T16:50:28.589Z",
25408
+ "size": 24670,
25409
+ "path": "../public/_nuxt/BGD5AamG.js.gz"
25136
25410
  },
25137
25411
  "/_nuxt/BYZVrreW.js": {
25138
25412
  "type": "text/javascript; charset=utf-8",
25139
25413
  "etag": "\"10a-N491fDe6XBCO0Ywz8HJPp1b+bmk\"",
25140
- "mtime": "2026-10-28T00:48:10.288Z",
25414
+ "mtime": "2026-10-30T16:50:28.550Z",
25141
25415
  "size": 266,
25142
25416
  "path": "../public/_nuxt/BYZVrreW.js"
25143
25417
  },
25418
+ "/_nuxt/BGD5AamG.js": {
25419
+ "type": "text/javascript; charset=utf-8",
25420
+ "encoding": null,
25421
+ "etag": "\"151e2-0RLShh23hPWE71YeXWFdLTOgpm8\"",
25422
+ "mtime": "2026-10-30T16:50:28.550Z",
25423
+ "size": 86498,
25424
+ "path": "../public/_nuxt/BGD5AamG.js"
25425
+ },
25144
25426
  "/_nuxt/Bd17z0YL.js": {
25145
25427
  "type": "text/javascript; charset=utf-8",
25146
25428
  "encoding": null,
25147
25429
  "etag": "\"1615-CPDn06/EO3pj6KudXz5uMZ0FkhI\"",
25148
- "mtime": "2026-10-28T00:48:10.288Z",
25430
+ "mtime": "2026-10-30T16:50:28.550Z",
25149
25431
  "size": 5653,
25150
25432
  "path": "../public/_nuxt/Bd17z0YL.js"
25151
25433
  },
25152
- "/_nuxt/BF2qZ0lx.js": {
25153
- "type": "text/javascript; charset=utf-8",
25154
- "encoding": null,
25155
- "etag": "\"5ee9f-lgPbe/f5rF8x/+IcDLkbaTYss0g\"",
25156
- "mtime": "2026-10-28T00:48:10.289Z",
25157
- "size": 388767,
25158
- "path": "../public/_nuxt/BF2qZ0lx.js"
25159
- },
25160
25434
  "/_nuxt/Bd17z0YL.js.br": {
25161
25435
  "type": "text/javascript; charset=utf-8",
25162
25436
  "encoding": "br",
25163
25437
  "etag": "\"79e-qSbhutNsc4/hJ9HEH8GMg3hBxLY\"",
25164
- "mtime": "2026-10-28T00:48:10.340Z",
25438
+ "mtime": "2026-10-30T16:50:28.725Z",
25165
25439
  "size": 1950,
25166
25440
  "path": "../public/_nuxt/Bd17z0YL.js.br"
25167
25441
  },
@@ -25169,47 +25443,47 @@ const assets = {
25169
25443
  "type": "text/javascript; charset=utf-8",
25170
25444
  "encoding": "gzip",
25171
25445
  "etag": "\"897-ZZlS54zocIqfLiWEynRKnIn7L2s\"",
25172
- "mtime": "2026-10-28T00:48:10.340Z",
25446
+ "mtime": "2026-10-30T16:50:28.577Z",
25173
25447
  "size": 2199,
25174
25448
  "path": "../public/_nuxt/Bd17z0YL.js.gz"
25175
25449
  },
25176
- "/_nuxt/BmF5BXwf.js.br": {
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": {
25177
25459
  "type": "text/javascript; charset=utf-8",
25178
25460
  "encoding": "br",
25179
- "etag": "\"104e9-U0AMq3F7po1qi4506SDX7YD3DjQ\"",
25180
- "mtime": "2026-10-28T00:48:11.328Z",
25181
- "size": 66793,
25182
- "path": "../public/_nuxt/BmF5BXwf.js.br"
25461
+ "etag": "\"5c5-67t0AzE8M9h3UyKF4SXUizxMzAk\"",
25462
+ "mtime": "2026-10-30T16:50:28.577Z",
25463
+ "size": 1477,
25464
+ "path": "../public/_nuxt/BdJIc1Xf.js.br"
25183
25465
  },
25184
- "/_nuxt/BmF5BXwf.js": {
25466
+ "/_nuxt/BdJIc1Xf.js.gz": {
25185
25467
  "type": "text/javascript; charset=utf-8",
25186
- "encoding": null,
25187
- "etag": "\"39f8e-j63Rwk3AIOEdjPDjNsxoJDtfBzw\"",
25188
- "mtime": "2026-10-28T00:48:10.289Z",
25189
- "size": 237454,
25190
- "path": "../public/_nuxt/BmF5BXwf.js"
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"
25191
25473
  },
25192
25474
  "/_nuxt/Bpoxvzh6.js": {
25193
25475
  "type": "text/javascript; charset=utf-8",
25194
25476
  "encoding": null,
25195
25477
  "etag": "\"1c49-bXAEhdP8o69g6PbBI2Q4c1IQs2I\"",
25196
- "mtime": "2026-10-28T00:48:10.289Z",
25478
+ "mtime": "2026-10-30T16:50:28.550Z",
25197
25479
  "size": 7241,
25198
25480
  "path": "../public/_nuxt/Bpoxvzh6.js"
25199
25481
  },
25200
- "/_nuxt/BmF5BXwf.js.gz": {
25201
- "type": "text/javascript; charset=utf-8",
25202
- "encoding": "gzip",
25203
- "etag": "\"12ced-kxzjAMfW2f11DLKGfpayhe8oxLA\"",
25204
- "mtime": "2026-10-28T00:48:10.893Z",
25205
- "size": 77037,
25206
- "path": "../public/_nuxt/BmF5BXwf.js.gz"
25207
- },
25208
25482
  "/_nuxt/Bpoxvzh6.js.br": {
25209
25483
  "type": "text/javascript; charset=utf-8",
25210
25484
  "encoding": "br",
25211
25485
  "etag": "\"a31-oBhf4FiOofT/RLwig8y7hADIbSA\"",
25212
- "mtime": "2026-10-28T00:48:10.772Z",
25486
+ "mtime": "2026-10-30T16:50:28.729Z",
25213
25487
  "size": 2609,
25214
25488
  "path": "../public/_nuxt/Bpoxvzh6.js.br"
25215
25489
  },
@@ -25217,39 +25491,55 @@ const assets = {
25217
25491
  "type": "text/javascript; charset=utf-8",
25218
25492
  "encoding": "gzip",
25219
25493
  "etag": "\"b41-rn0l2lZATd/tAqdp1MPScL1c0mA\"",
25220
- "mtime": "2026-10-28T00:48:10.771Z",
25494
+ "mtime": "2026-10-30T16:50:28.729Z",
25221
25495
  "size": 2881,
25222
25496
  "path": "../public/_nuxt/Bpoxvzh6.js.gz"
25223
25497
  },
25224
- "/_nuxt/BqaV2jLN.js.br": {
25498
+ "/_nuxt/BxlzUs1i.js.br": {
25225
25499
  "type": "text/javascript; charset=utf-8",
25226
25500
  "encoding": "br",
25227
- "etag": "\"228be-96/lmlSR7MkDl3TiTzhgI5QmbT0\"",
25228
- "mtime": "2026-10-28T00:48:12.243Z",
25229
- "size": 141502,
25230
- "path": "../public/_nuxt/BqaV2jLN.js.br"
25501
+ "etag": "\"10096-02wn4T3jdPSrqUU/Mlql65QJcxI\"",
25502
+ "mtime": "2026-10-30T16:50:29.138Z",
25503
+ "size": 65686,
25504
+ "path": "../public/_nuxt/BxlzUs1i.js.br"
25231
25505
  },
25232
- "/_nuxt/C25ROUa9.js": {
25506
+ "/_nuxt/BxlzUs1i.js.gz": {
25233
25507
  "type": "text/javascript; charset=utf-8",
25234
- "encoding": null,
25235
- "etag": "\"176b5-t7ykke36hXndVVgSfWGMLAcfqiU\"",
25236
- "mtime": "2026-10-28T00:48:10.289Z",
25237
- "size": 95925,
25238
- "path": "../public/_nuxt/C25ROUa9.js"
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"
25239
25513
  },
25240
- "/_nuxt/BqaV2jLN.js.gz": {
25514
+ "/_nuxt/C-BDzEtI.js.br": {
25515
+ "type": "text/javascript; charset=utf-8",
25516
+ "encoding": "br",
25517
+ "etag": "\"ac75-FtZfzBd5xIVMpFTR4Sw3CDLn/f4\"",
25518
+ "mtime": "2026-10-30T16:50:28.959Z",
25519
+ "size": 44149,
25520
+ "path": "../public/_nuxt/C-BDzEtI.js.br"
25521
+ },
25522
+ "/_nuxt/C-BDzEtI.js.gz": {
25241
25523
  "type": "text/javascript; charset=utf-8",
25242
25524
  "encoding": "gzip",
25243
- "etag": "\"2b4d5-6WHiqqBl2vpR0AqduaM8SprmM70\"",
25244
- "mtime": "2026-10-28T00:48:11.177Z",
25245
- "size": 177365,
25246
- "path": "../public/_nuxt/BqaV2jLN.js.gz"
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"
25247
25537
  },
25248
25538
  "/_nuxt/C25ROUa9.js.br": {
25249
25539
  "type": "text/javascript; charset=utf-8",
25250
25540
  "encoding": "br",
25251
25541
  "etag": "\"80f0-NhDll6VrOupqHqwk4yBxvm5jq18\"",
25252
- "mtime": "2026-10-28T00:48:10.779Z",
25542
+ "mtime": "2026-10-30T16:50:28.934Z",
25253
25543
  "size": 33008,
25254
25544
  "path": "../public/_nuxt/C25ROUa9.js.br"
25255
25545
  },
@@ -25257,330 +25547,362 @@ const assets = {
25257
25547
  "type": "text/javascript; charset=utf-8",
25258
25548
  "encoding": "gzip",
25259
25549
  "etag": "\"8fac-0dHfNcSWZNWAsX3MngUQ3KiWnaU\"",
25260
- "mtime": "2026-10-28T00:48:10.779Z",
25550
+ "mtime": "2026-10-30T16:50:28.731Z",
25261
25551
  "size": 36780,
25262
25552
  "path": "../public/_nuxt/C25ROUa9.js.gz"
25263
25553
  },
25554
+ "/_nuxt/CDWjMk9C.js": {
25555
+ "type": "text/javascript; charset=utf-8",
25556
+ "encoding": null,
25557
+ "etag": "\"7e5c-4oH4bzjszPo3bZwQbTcPqcxL7Q8\"",
25558
+ "mtime": "2026-10-30T16:50:28.550Z",
25559
+ "size": 32348,
25560
+ "path": "../public/_nuxt/CDWjMk9C.js"
25561
+ },
25562
+ "/_nuxt/C25ROUa9.js": {
25563
+ "type": "text/javascript; charset=utf-8",
25564
+ "encoding": null,
25565
+ "etag": "\"176b5-t7ykke36hXndVVgSfWGMLAcfqiU\"",
25566
+ "mtime": "2026-10-30T16:50:28.550Z",
25567
+ "size": 95925,
25568
+ "path": "../public/_nuxt/C25ROUa9.js"
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
+ },
25264
25578
  "/_nuxt/CDWjMk9C.js.br": {
25265
25579
  "type": "text/javascript; charset=utf-8",
25266
25580
  "encoding": "br",
25267
25581
  "etag": "\"2c7d-MSYhOFOyxFG7EGTLaDrRc1PTgP4\"",
25268
- "mtime": "2026-10-28T00:48:10.899Z",
25582
+ "mtime": "2026-10-30T16:50:28.881Z",
25269
25583
  "size": 11389,
25270
25584
  "path": "../public/_nuxt/CDWjMk9C.js.br"
25271
25585
  },
25272
- "/_nuxt/CDWjMk9C.js": {
25586
+ "/_nuxt/CLf2i_DM.js": {
25273
25587
  "type": "text/javascript; charset=utf-8",
25274
- "encoding": null,
25275
- "etag": "\"7e5c-4oH4bzjszPo3bZwQbTcPqcxL7Q8\"",
25276
- "mtime": "2026-10-28T00:48:10.289Z",
25277
- "size": 32348,
25278
- "path": "../public/_nuxt/CDWjMk9C.js"
25588
+ "etag": "\"13f-l6MqfzuLiSClPRTWWEQkBKCiVdc\"",
25589
+ "mtime": "2026-10-30T16:50:28.550Z",
25590
+ "size": 319,
25591
+ "path": "../public/_nuxt/CLf2i_DM.js"
25279
25592
  },
25280
25593
  "/_nuxt/CDWjMk9C.js.gz": {
25281
25594
  "type": "text/javascript; charset=utf-8",
25282
25595
  "encoding": "gzip",
25283
25596
  "etag": "\"3112-7vQD7fBK1KDlVHHbgySojvVCDho\"",
25284
- "mtime": "2026-10-28T00:48:10.899Z",
25597
+ "mtime": "2026-10-30T16:50:28.881Z",
25285
25598
  "size": 12562,
25286
25599
  "path": "../public/_nuxt/CDWjMk9C.js.gz"
25287
25600
  },
25288
- "/_nuxt/CXJnLmWv.js": {
25289
- "type": "text/javascript; charset=utf-8",
25290
- "encoding": null,
25291
- "etag": "\"2426-wVRk+id72MiZ5Jk+fsnfLyJbNcM\"",
25292
- "mtime": "2026-10-28T00:48:10.289Z",
25293
- "size": 9254,
25294
- "path": "../public/_nuxt/CXJnLmWv.js"
25295
- },
25296
- "/_nuxt/CXJnLmWv.js.br": {
25601
+ "/_nuxt/CO4sDeSt.js.br": {
25297
25602
  "type": "text/javascript; charset=utf-8",
25298
25603
  "encoding": "br",
25299
- "etag": "\"ddb-HQOV8vHjZ1W3hzhqgfZLIV3eGPA\"",
25300
- "mtime": "2026-10-28T00:48:10.899Z",
25301
- "size": 3547,
25302
- "path": "../public/_nuxt/CXJnLmWv.js.br"
25604
+ "etag": "\"66fc-frmxzfRrsgnhuPf0vUqKUBHEcs4\"",
25605
+ "mtime": "2026-10-30T16:50:28.959Z",
25606
+ "size": 26364,
25607
+ "path": "../public/_nuxt/CO4sDeSt.js.br"
25303
25608
  },
25304
- "/_nuxt/CXJnLmWv.js.gz": {
25609
+ "/_nuxt/CO4sDeSt.js": {
25305
25610
  "type": "text/javascript; charset=utf-8",
25306
- "encoding": "gzip",
25307
- "etag": "\"f2a-JOq3Ui2nTl6A2z6tR8c7DVsY0tQ\"",
25308
- "mtime": "2026-10-28T00:48:10.899Z",
25309
- "size": 3882,
25310
- "path": "../public/_nuxt/CXJnLmWv.js.gz"
25611
+ "encoding": null,
25612
+ "etag": "\"14154-xeT2ii4pU6xcyNxr0zeaomnBnPw\"",
25613
+ "mtime": "2026-10-30T16:50:28.550Z",
25614
+ "size": 82260,
25615
+ "path": "../public/_nuxt/CO4sDeSt.js"
25311
25616
  },
25312
- "/_nuxt/C_pXkozx.js": {
25617
+ "/_nuxt/CO4sDeSt.js.gz": {
25313
25618
  "type": "text/javascript; charset=utf-8",
25314
- "encoding": null,
25315
- "etag": "\"37e1-s8k/Q1V1PEck+Mt8iaZQDvEPIcY\"",
25316
- "mtime": "2026-10-28T00:48:10.289Z",
25317
- "size": 14305,
25318
- "path": "../public/_nuxt/C_pXkozx.js"
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"
25319
25624
  },
25320
- "/_nuxt/C_pXkozx.js.br": {
25625
+ "/_nuxt/CPlkxpge.js.br": {
25321
25626
  "type": "text/javascript; charset=utf-8",
25322
25627
  "encoding": "br",
25323
- "etag": "\"12d7-9ihmT8XFyYAoGJZ01L2bJEPY5Uw\"",
25324
- "mtime": "2026-10-28T00:48:10.899Z",
25325
- "size": 4823,
25326
- "path": "../public/_nuxt/C_pXkozx.js.br"
25628
+ "etag": "\"233a2-Dh1aH2CDr5u8X+xdTfd4tZxlbQo\"",
25629
+ "mtime": "2026-10-30T16:50:30.365Z",
25630
+ "size": 144290,
25631
+ "path": "../public/_nuxt/CPlkxpge.js.br"
25327
25632
  },
25328
- "/_nuxt/C_pXkozx.js.gz": {
25633
+ "/_nuxt/CPlkxpge.js.gz": {
25329
25634
  "type": "text/javascript; charset=utf-8",
25330
25635
  "encoding": "gzip",
25331
- "etag": "\"14c3-NzQMvnblPwvrfHNFla7LC7rVBSI\"",
25332
- "mtime": "2026-10-28T00:48:10.899Z",
25333
- "size": 5315,
25334
- "path": "../public/_nuxt/C_pXkozx.js.gz"
25636
+ "etag": "\"2c26e-MaW3IFcx1qlcRvEI5OcC6+Omr8U\"",
25637
+ "mtime": "2026-10-30T16:50:29.142Z",
25638
+ "size": 180846,
25639
+ "path": "../public/_nuxt/CPlkxpge.js.gz"
25335
25640
  },
25336
- "/_nuxt/Cq1IlvFx.js.br": {
25641
+ "/_nuxt/CTPNZj4T.js.br": {
25337
25642
  "type": "text/javascript; charset=utf-8",
25338
25643
  "encoding": "br",
25339
- "etag": "\"ab7c-pTcCTiqE9vqTSqSb2tK4vEMHhqI\"",
25340
- "mtime": "2026-10-28T00:48:11.331Z",
25341
- "size": 43900,
25342
- "path": "../public/_nuxt/Cq1IlvFx.js.br"
25343
- },
25344
- "/_nuxt/Cq1IlvFx.js": {
25345
- "type": "text/javascript; charset=utf-8",
25346
- "encoding": null,
25347
- "etag": "\"29e56-XT04uvELapSoyXudgW7NlH3BvcQ\"",
25348
- "mtime": "2026-10-28T00:48:10.289Z",
25349
- "size": 171606,
25350
- "path": "../public/_nuxt/Cq1IlvFx.js"
25644
+ "etag": "\"77bb-SbyzfGLlwIlYZ5aHNmdrRq/vivw\"",
25645
+ "mtime": "2026-10-30T16:50:29.142Z",
25646
+ "size": 30651,
25647
+ "path": "../public/_nuxt/CTPNZj4T.js.br"
25351
25648
  },
25352
- "/_nuxt/Cq1IlvFx.js.gz": {
25649
+ "/_nuxt/CTPNZj4T.js.gz": {
25353
25650
  "type": "text/javascript; charset=utf-8",
25354
25651
  "encoding": "gzip",
25355
- "etag": "\"c9a8-1JJyo8Xoqdmhkc1LdwpGXj8aPpY\"",
25356
- "mtime": "2026-10-28T00:48:11.177Z",
25357
- "size": 51624,
25358
- "path": "../public/_nuxt/Cq1IlvFx.js.gz"
25652
+ "etag": "\"8f2d-MUHgAZ63BxMYDOIyY2OoIvAb1go\"",
25653
+ "mtime": "2026-10-30T16:50:28.966Z",
25654
+ "size": 36653,
25655
+ "path": "../public/_nuxt/CTPNZj4T.js.gz"
25359
25656
  },
25360
- "/_nuxt/DN2uhp8-.js": {
25657
+ "/_nuxt/CV6ukk-M.js": {
25361
25658
  "type": "text/javascript; charset=utf-8",
25362
- "etag": "\"13f-tM945gGM66MYcNAi5v0QYKRbqJw\"",
25363
- "mtime": "2026-10-28T00:48:10.289Z",
25364
- "size": 319,
25365
- "path": "../public/_nuxt/DN2uhp8-.js"
25659
+ "etag": "\"238-AvHmRF0djWJDBUz5vjLWTwDc9n8\"",
25660
+ "mtime": "2026-10-30T16:50:28.550Z",
25661
+ "size": 568,
25662
+ "path": "../public/_nuxt/CV6ukk-M.js"
25366
25663
  },
25367
- "/_nuxt/DNk1pHah.js": {
25664
+ "/_nuxt/CXJnLmWv.js": {
25368
25665
  "type": "text/javascript; charset=utf-8",
25369
25666
  "encoding": null,
25370
- "etag": "\"fb6-uJa+9GLEkXiFyg3zSUFAzvudaBs\"",
25371
- "mtime": "2026-10-28T00:48:10.289Z",
25372
- "size": 4022,
25373
- "path": "../public/_nuxt/DNk1pHah.js"
25667
+ "etag": "\"2426-wVRk+id72MiZ5Jk+fsnfLyJbNcM\"",
25668
+ "mtime": "2026-10-30T16:50:28.551Z",
25669
+ "size": 9254,
25670
+ "path": "../public/_nuxt/CXJnLmWv.js"
25374
25671
  },
25375
- "/_nuxt/DNk1pHah.js.br": {
25672
+ "/_nuxt/CTPNZj4T.js": {
25376
25673
  "type": "text/javascript; charset=utf-8",
25377
- "encoding": "br",
25378
- "etag": "\"654-k3zCCaDfxkw/F5j6pfdiDwtP//8\"",
25379
- "mtime": "2026-10-28T00:48:11.172Z",
25380
- "size": 1620,
25381
- "path": "../public/_nuxt/DNk1pHah.js.br"
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"
25382
25679
  },
25383
- "/_nuxt/BqaV2jLN.js": {
25680
+ "/_nuxt/CPlkxpge.js": {
25384
25681
  "type": "text/javascript; charset=utf-8",
25385
25682
  "encoding": null,
25386
- "etag": "\"a2d52-4sp5vOo6wRasFsQ3E43AkNi4T04\"",
25387
- "mtime": "2026-10-28T00:48:10.289Z",
25388
- "size": 666962,
25389
- "path": "../public/_nuxt/BqaV2jLN.js"
25683
+ "etag": "\"a5362-akUWKp2erY/CvvUb4uA+1IC/QNE\"",
25684
+ "mtime": "2026-10-30T16:50:28.551Z",
25685
+ "size": 676706,
25686
+ "path": "../public/_nuxt/CPlkxpge.js"
25687
+ },
25688
+ "/_nuxt/CXJnLmWv.js.br": {
25689
+ "type": "text/javascript; charset=utf-8",
25690
+ "encoding": "br",
25691
+ "etag": "\"ddb-HQOV8vHjZ1W3hzhqgfZLIV3eGPA\"",
25692
+ "mtime": "2026-10-30T16:50:28.959Z",
25693
+ "size": 3547,
25694
+ "path": "../public/_nuxt/CXJnLmWv.js.br"
25390
25695
  },
25391
- "/_nuxt/DNk1pHah.js.gz": {
25696
+ "/_nuxt/CXJnLmWv.js.gz": {
25392
25697
  "type": "text/javascript; charset=utf-8",
25393
25698
  "encoding": "gzip",
25394
- "etag": "\"6eb-JkB7i1/PKPmLaOUD+WGY1TPCkZo\"",
25395
- "mtime": "2026-10-28T00:48:11.172Z",
25396
- "size": 1771,
25397
- "path": "../public/_nuxt/DNk1pHah.js.gz"
25699
+ "etag": "\"f2a-JOq3Ui2nTl6A2z6tR8c7DVsY0tQ\"",
25700
+ "mtime": "2026-10-30T16:50:28.959Z",
25701
+ "size": 3882,
25702
+ "path": "../public/_nuxt/CXJnLmWv.js.gz"
25398
25703
  },
25399
- "/_nuxt/DcQrp3bD.js": {
25704
+ "/_nuxt/CgUSTIM1.js": {
25400
25705
  "type": "text/javascript; charset=utf-8",
25401
25706
  "encoding": null,
25402
- "etag": "\"14ef0-crAV1xQ1zfrFrQIZ5Bjl2+9hflI\"",
25403
- "mtime": "2026-10-28T00:48:10.289Z",
25404
- "size": 85744,
25405
- "path": "../public/_nuxt/DcQrp3bD.js"
25707
+ "etag": "\"d4e-ntLcFbEetTyBddEPoO203pn+mtY\"",
25708
+ "mtime": "2026-10-30T16:50:28.551Z",
25709
+ "size": 3406,
25710
+ "path": "../public/_nuxt/CgUSTIM1.js"
25406
25711
  },
25407
- "/_nuxt/DcQrp3bD.js.br": {
25712
+ "/_nuxt/CgUSTIM1.js.br": {
25408
25713
  "type": "text/javascript; charset=utf-8",
25409
25714
  "encoding": "br",
25410
- "etag": "\"5488-woreM0BHrqf4EBZ4BjdyBvRRpPU\"",
25411
- "mtime": "2026-10-28T00:48:11.320Z",
25412
- "size": 21640,
25413
- "path": "../public/_nuxt/DcQrp3bD.js.br"
25715
+ "etag": "\"52a-hxHSpCX4D54JTtN6DfQ2a7zlJXM\"",
25716
+ "mtime": "2026-10-30T16:50:28.959Z",
25717
+ "size": 1322,
25718
+ "path": "../public/_nuxt/CgUSTIM1.js.br"
25414
25719
  },
25415
- "/_nuxt/DcQrp3bD.js.gz": {
25720
+ "/_nuxt/CgUSTIM1.js.gz": {
25416
25721
  "type": "text/javascript; charset=utf-8",
25417
25722
  "encoding": "gzip",
25418
- "etag": "\"5fb7-U5ZuGICAeBXvKo4pvIk9PwzIa/U\"",
25419
- "mtime": "2026-10-28T00:48:11.320Z",
25420
- "size": 24503,
25421
- "path": "../public/_nuxt/DcQrp3bD.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"
25422
25727
  },
25423
- "/_nuxt/I_R_EgeO.js": {
25728
+ "/_nuxt/CwurhZnh.js": {
25424
25729
  "type": "text/javascript; charset=utf-8",
25425
- "etag": "\"238-1aWKy+bGHKA05Gf917FQSRA4Z4c\"",
25426
- "mtime": "2026-10-28T00:48:10.289Z",
25427
- "size": 568,
25428
- "path": "../public/_nuxt/I_R_EgeO.js"
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"
25429
25735
  },
25430
- "/_nuxt/L_vgVKcG.js.br": {
25736
+ "/_nuxt/CwurhZnh.js.br": {
25431
25737
  "type": "text/javascript; charset=utf-8",
25432
25738
  "encoding": "br",
25433
- "etag": "\"a102-32DSxrza+dGuH17PXJGa4raMqyA\"",
25434
- "mtime": "2026-10-28T00:48:11.513Z",
25435
- "size": 41218,
25436
- "path": "../public/_nuxt/L_vgVKcG.js.br"
25739
+ "etag": "\"a5c3-dmUo6h+XWpD/Fv76KSGQQ6gQaLc\"",
25740
+ "mtime": "2026-10-30T16:50:29.240Z",
25741
+ "size": 42435,
25742
+ "path": "../public/_nuxt/CwurhZnh.js.br"
25437
25743
  },
25438
- "/_nuxt/L_vgVKcG.js.gz": {
25744
+ "/_nuxt/CwurhZnh.js.gz": {
25439
25745
  "type": "text/javascript; charset=utf-8",
25440
25746
  "encoding": "gzip",
25441
- "etag": "\"b835-/DQoeVvgyWZ3lmTEBsiiKrenMMc\"",
25442
- "mtime": "2026-10-28T00:48:11.331Z",
25443
- "size": 47157,
25444
- "path": "../public/_nuxt/L_vgVKcG.js.gz"
25445
- },
25446
- "/_nuxt/L_vgVKcG.js": {
25447
- "type": "text/javascript; charset=utf-8",
25448
- "encoding": null,
25449
- "etag": "\"1faf1-8o7d8j4j6e/8yOpjsD0VLYrjXu4\"",
25450
- "mtime": "2026-10-28T00:48:10.289Z",
25451
- "size": 129777,
25452
- "path": "../public/_nuxt/L_vgVKcG.js"
25747
+ "etag": "\"bd15-T9GipHsxhBJGHFNPTKoe2QoZaF4\"",
25748
+ "mtime": "2026-10-30T16:50:29.115Z",
25749
+ "size": 48405,
25750
+ "path": "../public/_nuxt/CwurhZnh.js.gz"
25453
25751
  },
25454
- "/_nuxt/RI4B_b2M.js": {
25752
+ "/_nuxt/D7fCPncR.js": {
25455
25753
  "type": "text/javascript; charset=utf-8",
25456
25754
  "encoding": null,
25457
- "etag": "\"245d0-rx2UfUb0m5aa2Dy5cd+Si6wmEW4\"",
25458
- "mtime": "2026-10-28T00:48:10.289Z",
25459
- "size": 148944,
25460
- "path": "../public/_nuxt/RI4B_b2M.js"
25755
+ "etag": "\"4a76-6kEF4igNYP8cJllGcqMISYipM2Y\"",
25756
+ "mtime": "2026-10-30T16:50:28.551Z",
25757
+ "size": 19062,
25758
+ "path": "../public/_nuxt/D7fCPncR.js"
25461
25759
  },
25462
- "/_nuxt/RI4B_b2M.js.br": {
25760
+ "/_nuxt/D7fCPncR.js.br": {
25463
25761
  "type": "text/javascript; charset=utf-8",
25464
25762
  "encoding": "br",
25465
- "etag": "\"7259-JNovwhftDZlar3Ufg0pHtle2xVA\"",
25466
- "mtime": "2026-10-28T00:48:11.924Z",
25467
- "size": 29273,
25468
- "path": "../public/_nuxt/RI4B_b2M.js.br"
25763
+ "etag": "\"1740-gUQ4GPrfLNVyTjUGmc8UQGg/8VA\"",
25764
+ "mtime": "2026-10-30T16:50:29.089Z",
25765
+ "size": 5952,
25766
+ "path": "../public/_nuxt/D7fCPncR.js.br"
25469
25767
  },
25470
- "/_nuxt/RI4B_b2M.js.gz": {
25768
+ "/_nuxt/D7fCPncR.js.gz": {
25471
25769
  "type": "text/javascript; charset=utf-8",
25472
25770
  "encoding": "gzip",
25473
- "etag": "\"88fe-ickNcGA/qkCfkWod8/IXEJqb5nU\"",
25474
- "mtime": "2026-10-28T00:48:11.331Z",
25475
- "size": 35070,
25476
- "path": "../public/_nuxt/RI4B_b2M.js.gz"
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"
25477
25775
  },
25478
- "/_nuxt/Y-4S7Nuf.js": {
25776
+ "/_nuxt/DFe-cDm2.js": {
25479
25777
  "type": "text/javascript; charset=utf-8",
25480
25778
  "encoding": null,
25481
- "etag": "\"eac-IzsBGjL5dhkay14/YDWL9qZ7qm0\"",
25482
- "mtime": "2026-10-28T00:48:10.289Z",
25483
- "size": 3756,
25484
- "path": "../public/_nuxt/Y-4S7Nuf.js"
25779
+ "etag": "\"37de-vSPMEkfX44tEsulXAligysHEmPc\"",
25780
+ "mtime": "2026-10-30T16:50:28.551Z",
25781
+ "size": 14302,
25782
+ "path": "../public/_nuxt/DFe-cDm2.js"
25485
25783
  },
25486
- "/_nuxt/Y-4S7Nuf.js.br": {
25784
+ "/_nuxt/DFe-cDm2.js.br": {
25487
25785
  "type": "text/javascript; charset=utf-8",
25488
25786
  "encoding": "br",
25489
- "etag": "\"5b7-jgzRq0dFZ75BnKPrMCyvf7VGIlw\"",
25490
- "mtime": "2026-10-28T00:48:11.330Z",
25491
- "size": 1463,
25492
- "path": "../public/_nuxt/Y-4S7Nuf.js.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"
25493
25791
  },
25494
- "/_nuxt/Y-4S7Nuf.js.gz": {
25792
+ "/_nuxt/DFe-cDm2.js.gz": {
25495
25793
  "type": "text/javascript; charset=utf-8",
25496
25794
  "encoding": "gzip",
25497
- "etag": "\"6a2-6Ftzl8Q5fil5YQYgIdfoXyySTzA\"",
25498
- "mtime": "2026-10-28T00:48:11.330Z",
25499
- "size": 1698,
25500
- "path": "../public/_nuxt/Y-4S7Nuf.js.gz"
25795
+ "etag": "\"14b9-AtVa8MJdZS84IiUygFFc1u8dcjA\"",
25796
+ "mtime": "2026-10-30T16:50:29.138Z",
25797
+ "size": 5305,
25798
+ "path": "../public/_nuxt/DFe-cDm2.js.gz"
25799
+ },
25800
+ "/_nuxt/Dpe9TNcA.js.br": {
25801
+ "type": "text/javascript; charset=utf-8",
25802
+ "encoding": "br",
25803
+ "etag": "\"189e4-2LhXYLNdABO2QAS/VGkI8y6XKnY\"",
25804
+ "mtime": "2026-10-30T16:50:30.147Z",
25805
+ "size": 100836,
25806
+ "path": "../public/_nuxt/Dpe9TNcA.js.br"
25807
+ },
25808
+ "/_nuxt/Dpe9TNcA.js.gz": {
25809
+ "type": "text/javascript; charset=utf-8",
25810
+ "encoding": "gzip",
25811
+ "etag": "\"1d128-I2uXxZWJTU1RB1N6YVI+SjwaykI\"",
25812
+ "mtime": "2026-10-30T16:50:29.241Z",
25813
+ "size": 119080,
25814
+ "path": "../public/_nuxt/Dpe9TNcA.js.gz"
25501
25815
  },
25502
25816
  "/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2": {
25503
25817
  "type": "font/woff2",
25504
25818
  "etag": "\"7f60-cwHN4xD2RhU0GVBfKzpzYZ7Al6U\"",
25505
- "mtime": "2026-10-28T00:48:10.289Z",
25819
+ "mtime": "2026-10-30T16:50:28.551Z",
25506
25820
  "size": 32608,
25507
25821
  "path": "../public/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2"
25508
25822
  },
25509
25823
  "/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2": {
25510
25824
  "type": "font/woff2",
25511
25825
  "etag": "\"8870-ZUSfFgU3jYpWYbszVY1rxpynehc\"",
25512
- "mtime": "2026-10-28T00:48:10.289Z",
25826
+ "mtime": "2026-10-30T16:50:28.551Z",
25513
25827
  "size": 34928,
25514
25828
  "path": "../public/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2"
25515
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
+ },
25516
25838
  "/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2": {
25517
25839
  "type": "font/woff2",
25518
25840
  "etag": "\"33b8-4zjQHgOy7y9EDRZs7TDAFDM4Ams\"",
25519
- "mtime": "2026-10-28T00:48:10.289Z",
25841
+ "mtime": "2026-10-30T16:50:28.551Z",
25520
25842
  "size": 13240,
25521
25843
  "path": "../public/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2"
25522
25844
  },
25523
- "/_nuxt/board.CeTYM1XN.css": {
25524
- "type": "text/css; charset=utf-8",
25525
- "encoding": null,
25526
- "etag": "\"260d-Ft/lyTEPHQRtoGZqt0ULmRxn8M8\"",
25527
- "mtime": "2026-10-28T00:48:10.289Z",
25528
- "size": 9741,
25529
- "path": "../public/_nuxt/board.CeTYM1XN.css"
25530
- },
25531
- "/_nuxt/board.CeTYM1XN.css.br": {
25845
+ "/_nuxt/board.fZYj3O-m.css.br": {
25532
25846
  "type": "text/css; charset=utf-8",
25533
25847
  "encoding": "br",
25534
- "etag": "\"7ad-2EOQ4t1OHVztv/4RidUIoGZdsHE\"",
25535
- "mtime": "2026-10-28T00:48:11.512Z",
25536
- "size": 1965,
25537
- "path": "../public/_nuxt/board.CeTYM1XN.css.br"
25848
+ "etag": "\"7b1-dhgWlvzCUKJeSiekf2xGqh8nPxA\"",
25849
+ "mtime": "2026-10-30T16:50:29.235Z",
25850
+ "size": 1969,
25851
+ "path": "../public/_nuxt/board.fZYj3O-m.css.br"
25538
25852
  },
25539
- "/_nuxt/board.CeTYM1XN.css.gz": {
25853
+ "/_nuxt/board.fZYj3O-m.css.gz": {
25540
25854
  "type": "text/css; charset=utf-8",
25541
25855
  "encoding": "gzip",
25542
- "etag": "\"8f3-fWVU4RhFC2+kRw1nJHCMWRuw1mw\"",
25543
- "mtime": "2026-10-28T00:48:11.507Z",
25856
+ "etag": "\"8f3-g2Yu6JhJaEA7N+odPNAkQ4uOJ2E\"",
25857
+ "mtime": "2026-10-30T16:50:29.235Z",
25544
25858
  "size": 2291,
25545
- "path": "../public/_nuxt/board.CeTYM1XN.css.gz"
25859
+ "path": "../public/_nuxt/board.fZYj3O-m.css.gz"
25860
+ },
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"
25546
25876
  },
25547
- "/_nuxt/entry._gNxiS8l.css.br": {
25877
+ "/_nuxt/entry.KNdllmoL.css.br": {
25548
25878
  "type": "text/css; charset=utf-8",
25549
25879
  "encoding": "br",
25550
- "etag": "\"f370-y9pBRuY15khoGm7GbHeLgRRjwQk\"",
25551
- "mtime": "2026-10-28T00:48:12.525Z",
25552
- "size": 62320,
25553
- "path": "../public/_nuxt/entry._gNxiS8l.css.br"
25880
+ "etag": "\"f550-Gt7rND9Y3MqDUndPLMVli4V0/44\"",
25881
+ "mtime": "2026-10-30T16:50:30.139Z",
25882
+ "size": 62800,
25883
+ "path": "../public/_nuxt/entry.KNdllmoL.css.br"
25554
25884
  },
25555
- "/_nuxt/entry._gNxiS8l.css.gz": {
25885
+ "/_nuxt/entry.KNdllmoL.css.gz": {
25556
25886
  "type": "text/css; charset=utf-8",
25557
25887
  "encoding": "gzip",
25558
- "etag": "\"12cd6-dqYGP2rEhs6coi3Xt/0E5/hIT40\"",
25559
- "mtime": "2026-10-28T00:48:11.514Z",
25560
- "size": 77014,
25561
- "path": "../public/_nuxt/entry._gNxiS8l.css.gz"
25888
+ "etag": "\"12f75-47XUOGxOrQ/UVIEkc0CvcOnFehY\"",
25889
+ "mtime": "2026-10-30T16:50:29.242Z",
25890
+ "size": 77685,
25891
+ "path": "../public/_nuxt/entry.KNdllmoL.css.gz"
25562
25892
  },
25563
25893
  "/_nuxt/error-404.Bb87HomL.css": {
25564
25894
  "type": "text/css; charset=utf-8",
25565
25895
  "encoding": null,
25566
25896
  "etag": "\"97d-4h9VfBznldxjqagfMldh1hDncR0\"",
25567
- "mtime": "2026-10-28T00:48:10.290Z",
25897
+ "mtime": "2026-10-30T16:50:28.551Z",
25568
25898
  "size": 2429,
25569
25899
  "path": "../public/_nuxt/error-404.Bb87HomL.css"
25570
25900
  },
25571
- "/_nuxt/entry._gNxiS8l.css": {
25572
- "type": "text/css; charset=utf-8",
25573
- "encoding": null,
25574
- "etag": "\"71544-SZNRoulPPPREy872TmZrOlJJMZc\"",
25575
- "mtime": "2026-10-28T00:48:10.290Z",
25576
- "size": 464196,
25577
- "path": "../public/_nuxt/entry._gNxiS8l.css"
25578
- },
25579
25901
  "/_nuxt/error-404.Bb87HomL.css.br": {
25580
25902
  "type": "text/css; charset=utf-8",
25581
25903
  "encoding": "br",
25582
25904
  "etag": "\"2d3-qBacufHfL2AKZiQpM2N/+/LUBcM\"",
25583
- "mtime": "2026-10-28T00:48:11.512Z",
25905
+ "mtime": "2026-10-30T16:50:29.240Z",
25584
25906
  "size": 723,
25585
25907
  "path": "../public/_nuxt/error-404.Bb87HomL.css.br"
25586
25908
  },
@@ -25588,7 +25910,7 @@ const assets = {
25588
25910
  "type": "text/css; charset=utf-8",
25589
25911
  "encoding": "gzip",
25590
25912
  "etag": "\"354-+f0UDMO283+UYdKIev1+tuXG5jI\"",
25591
- "mtime": "2026-10-28T00:48:11.512Z",
25913
+ "mtime": "2026-10-30T16:50:29.240Z",
25592
25914
  "size": 852,
25593
25915
  "path": "../public/_nuxt/error-404.Bb87HomL.css.gz"
25594
25916
  },
@@ -25596,7 +25918,7 @@ const assets = {
25596
25918
  "type": "text/css; charset=utf-8",
25597
25919
  "encoding": null,
25598
25920
  "etag": "\"772-nqXXACYtFiPK+D42BNu4uEECARA\"",
25599
- "mtime": "2026-10-28T00:48:10.290Z",
25921
+ "mtime": "2026-10-30T16:50:28.551Z",
25600
25922
  "size": 1906,
25601
25923
  "path": "../public/_nuxt/error-500.Bwd7zAaE.css"
25602
25924
  },
@@ -25604,7 +25926,7 @@ const assets = {
25604
25926
  "type": "text/css; charset=utf-8",
25605
25927
  "encoding": "br",
25606
25928
  "etag": "\"269-epXpUj5NvA3wxRTvv2uaBsqkzB8\"",
25607
- "mtime": "2026-10-28T00:48:11.513Z",
25929
+ "mtime": "2026-10-30T16:50:29.240Z",
25608
25930
  "size": 617,
25609
25931
  "path": "../public/_nuxt/error-500.Bwd7zAaE.css.br"
25610
25932
  },
@@ -25612,122 +25934,122 @@ const assets = {
25612
25934
  "type": "text/css; charset=utf-8",
25613
25935
  "encoding": "gzip",
25614
25936
  "etag": "\"2d6-gkfK7z4mFEnMBbpxDmlOJ5UcSAU\"",
25615
- "mtime": "2026-10-28T00:48:11.513Z",
25937
+ "mtime": "2026-10-30T16:50:29.240Z",
25616
25938
  "size": 726,
25617
25939
  "path": "../public/_nuxt/error-500.Bwd7zAaE.css.gz"
25618
25940
  },
25619
25941
  "/_nuxt/hePW80VL.js": {
25620
25942
  "type": "text/javascript; charset=utf-8",
25621
25943
  "etag": "\"2cc-fA8td6k29UVF6JoPfhOPkceTK1M\"",
25622
- "mtime": "2026-10-28T00:48:10.292Z",
25944
+ "mtime": "2026-10-30T16:50:28.551Z",
25623
25945
  "size": 716,
25624
25946
  "path": "../public/_nuxt/hePW80VL.js"
25625
25947
  },
25626
25948
  "/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2": {
25627
25949
  "type": "font/woff2",
25628
25950
  "etag": "\"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0\"",
25629
- "mtime": "2026-10-28T00:48:10.292Z",
25951
+ "mtime": "2026-10-30T16:50:28.551Z",
25630
25952
  "size": 25960,
25631
25953
  "path": "../public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2"
25632
25954
  },
25633
25955
  "/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2": {
25634
25956
  "type": "font/woff2",
25635
25957
  "etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
25636
- "mtime": "2026-10-28T00:48:10.292Z",
25958
+ "mtime": "2026-10-30T16:50:28.551Z",
25637
25959
  "size": 18748,
25638
25960
  "path": "../public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2"
25639
25961
  },
25640
25962
  "/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2": {
25641
25963
  "type": "font/woff2",
25642
25964
  "etag": "\"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8\"",
25643
- "mtime": "2026-10-28T00:48:10.292Z",
25965
+ "mtime": "2026-10-30T16:50:28.551Z",
25644
25966
  "size": 11232,
25645
25967
  "path": "../public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2"
25646
25968
  },
25647
25969
  "/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2": {
25648
25970
  "type": "font/woff2",
25649
25971
  "etag": "\"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4\"",
25650
- "mtime": "2026-10-28T00:48:10.292Z",
25972
+ "mtime": "2026-10-30T16:50:28.551Z",
25651
25973
  "size": 18996,
25652
25974
  "path": "../public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2"
25653
25975
  },
25654
- "/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2": {
25655
- "type": "font/woff2",
25656
- "etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
25657
- "mtime": "2026-10-28T00:48:10.292Z",
25658
- "size": 85068,
25659
- "path": "../public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2"
25660
- },
25661
25976
  "/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2": {
25662
25977
  "type": "font/woff2",
25663
25978
  "etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
25664
- "mtime": "2026-10-28T00:48:10.292Z",
25979
+ "mtime": "2026-10-30T16:50:28.551Z",
25665
25980
  "size": 48256,
25666
25981
  "path": "../public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2"
25667
25982
  },
25668
25983
  "/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2": {
25669
25984
  "type": "font/woff2",
25670
25985
  "etag": "\"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M\"",
25671
- "mtime": "2026-10-28T00:48:10.292Z",
25986
+ "mtime": "2026-10-30T16:50:28.551Z",
25672
25987
  "size": 10252,
25673
25988
  "path": "../public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2"
25674
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
+ },
25675
25997
  "/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2": {
25676
25998
  "type": "font/woff2",
25677
25999
  "etag": "\"2f4c-WiAGfn140d4QND3ayQWaCHF8rbE\"",
25678
- "mtime": "2026-10-28T00:48:10.292Z",
26000
+ "mtime": "2026-10-30T16:50:28.551Z",
25679
26001
  "size": 12108,
25680
26002
  "path": "../public/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2"
25681
26003
  },
25682
26004
  "/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2": {
25683
26005
  "type": "font/woff2",
25684
26006
  "etag": "\"232c-Dnz9DhH4c266e6TziU1pxRkV6FY\"",
25685
- "mtime": "2026-10-28T00:48:10.292Z",
26007
+ "mtime": "2026-10-30T16:50:28.551Z",
25686
26008
  "size": 9004,
25687
26009
  "path": "../public/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2"
25688
26010
  },
25689
26011
  "/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2": {
25690
26012
  "type": "font/woff2",
25691
26013
  "etag": "\"3b5c-HLF7Wvs2Z1IA1cPRs6jnor8OUQ4\"",
25692
- "mtime": "2026-10-28T00:48:10.292Z",
26014
+ "mtime": "2026-10-30T16:50:28.551Z",
25693
26015
  "size": 15196,
25694
26016
  "path": "../public/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2"
25695
26017
  },
25696
26018
  "/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2": {
25697
26019
  "type": "font/woff2",
25698
26020
  "etag": "\"9dd4-5yd+cUUhzrXxdMyYebUeD0qml1M\"",
25699
- "mtime": "2026-10-28T00:48:10.292Z",
26021
+ "mtime": "2026-10-30T16:50:28.551Z",
25700
26022
  "size": 40404,
25701
26023
  "path": "../public/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2"
25702
26024
  },
25703
26025
  "/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2": {
25704
26026
  "type": "font/woff2",
25705
26027
  "etag": "\"1d50-/Re0MyD6BV8h81wBPVijGZH5GBs\"",
25706
- "mtime": "2026-10-28T00:48:10.292Z",
26028
+ "mtime": "2026-10-30T16:50:28.551Z",
25707
26029
  "size": 7504,
25708
26030
  "path": "../public/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2"
25709
26031
  },
25710
- "/_nuxt/pdf.min.t82Z80JU.mjs.br": {
25711
- "type": "text/javascript; charset=utf-8",
25712
- "encoding": "br",
25713
- "etag": "\"18637-hO1q5WJanme5y1ZMQNajh/aVx0Q\"",
25714
- "mtime": "2026-10-28T00:48:12.750Z",
25715
- "size": 99895,
25716
- "path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.br"
25717
- },
25718
26032
  "/_nuxt/pdf.min.t82Z80JU.mjs.gz": {
25719
26033
  "type": "text/javascript; charset=utf-8",
25720
26034
  "encoding": "gzip",
25721
26035
  "etag": "\"1d511-iiY3QTEG2SmXknqVitdB+/+ocK4\"",
25722
- "mtime": "2026-10-28T00:48:12.231Z",
26036
+ "mtime": "2026-10-30T16:50:30.142Z",
25723
26037
  "size": 120081,
25724
26038
  "path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.gz"
25725
26039
  },
26040
+ "/_nuxt/pdf.min.t82Z80JU.mjs.br": {
26041
+ "type": "text/javascript; charset=utf-8",
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"
26047
+ },
25726
26048
  "/_nuxt/pdf.min.t82Z80JU.mjs": {
25727
26049
  "type": "text/javascript; charset=utf-8",
25728
26050
  "encoding": null,
25729
26051
  "etag": "\"678c7-U+W9TWPlwH5JFSPFTsPGlAkMVJc\"",
25730
- "mtime": "2026-10-28T00:48:10.292Z",
26052
+ "mtime": "2026-10-30T16:50:28.551Z",
25731
26053
  "size": 424135,
25732
26054
  "path": "../public/_nuxt/pdf.min.t82Z80JU.mjs"
25733
26055
  },
@@ -25735,15 +26057,23 @@ const assets = {
25735
26057
  "type": "text/javascript; charset=utf-8",
25736
26058
  "encoding": "br",
25737
26059
  "etag": "\"3a43c-BjGnpdU+bJmP+eZx9E9qFHG/Txg\"",
25738
- "mtime": "2026-10-28T00:48:13.755Z",
26060
+ "mtime": "2026-10-30T16:50:31.332Z",
25739
26061
  "size": 238652,
25740
26062
  "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br"
25741
26063
  },
26064
+ "/_nuxt/pdf.worker.min.wgc6bjNh.mjs": {
26065
+ "type": "text/javascript; charset=utf-8",
26066
+ "encoding": null,
26067
+ "etag": "\"107554-apJIGjXrCPcbKwmHzZKIYl5kc4c\"",
26068
+ "mtime": "2026-10-30T16:50:28.552Z",
26069
+ "size": 1078612,
26070
+ "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs"
26071
+ },
25742
26072
  "/_nuxt/settings.Cdb21nNw.css": {
25743
26073
  "type": "text/css; charset=utf-8",
25744
26074
  "encoding": null,
25745
26075
  "etag": "\"906-1k6Rx3W+YnYYbr685mdPPOdLVR8\"",
25746
- "mtime": "2026-10-28T00:48:10.292Z",
26076
+ "mtime": "2026-10-30T16:50:28.551Z",
25747
26077
  "size": 2310,
25748
26078
  "path": "../public/_nuxt/settings.Cdb21nNw.css"
25749
26079
  },
@@ -25751,124 +26081,116 @@ const assets = {
25751
26081
  "type": "text/javascript; charset=utf-8",
25752
26082
  "encoding": "gzip",
25753
26083
  "etag": "\"48c53-1Uf07NfaLxgXnF6xfwrBSYIPy9w\"",
25754
- "mtime": "2026-10-28T00:48:12.258Z",
26084
+ "mtime": "2026-10-30T16:50:30.166Z",
25755
26085
  "size": 298067,
25756
26086
  "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.gz"
25757
26087
  },
25758
- "/_nuxt/settings.Cdb21nNw.css.br": {
25759
- "type": "text/css; charset=utf-8",
25760
- "encoding": "br",
25761
- "etag": "\"229-5BUcDq9FlV7AjttLV/V/sLmKfb0\"",
25762
- "mtime": "2026-10-28T00:48:12.070Z",
25763
- "size": 553,
25764
- "path": "../public/_nuxt/settings.Cdb21nNw.css.br"
25765
- },
25766
- "/_nuxt/pdf.worker.min.wgc6bjNh.mjs": {
25767
- "type": "text/javascript; charset=utf-8",
25768
- "encoding": null,
25769
- "etag": "\"107554-apJIGjXrCPcbKwmHzZKIYl5kc4c\"",
25770
- "mtime": "2026-10-28T00:48:10.293Z",
25771
- "size": 1078612,
25772
- "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs"
25773
- },
25774
26088
  "/_nuxt/settings.Cdb21nNw.css.gz": {
25775
26089
  "type": "text/css; charset=utf-8",
25776
26090
  "encoding": "gzip",
25777
26091
  "etag": "\"2ab-osvfpKy+KsHaGxbXkzf6NYTuHPs\"",
25778
- "mtime": "2026-10-28T00:48:12.070Z",
26092
+ "mtime": "2026-10-30T16:50:30.120Z",
25779
26093
  "size": 683,
25780
26094
  "path": "../public/_nuxt/settings.Cdb21nNw.css.gz"
25781
26095
  },
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"
26103
+ },
25782
26104
  "/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2": {
25783
26105
  "type": "font/woff2",
25784
26106
  "etag": "\"d9b0-kmO/x6KCTFRlVipOvl+5XcArGUw\"",
25785
- "mtime": "2026-10-28T00:48:10.293Z",
26107
+ "mtime": "2026-10-30T16:50:28.552Z",
25786
26108
  "size": 55728,
25787
26109
  "path": "../public/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2"
25788
26110
  },
25789
- "/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2": {
25790
- "type": "font/woff2",
25791
- "etag": "\"f76c-CjERGtjtOrkpSXy7JyZNl1CAu0U\"",
25792
- "mtime": "2026-10-28T00:48:10.293Z",
25793
- "size": 63340,
25794
- "path": "../public/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2"
25795
- },
25796
26111
  "/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2": {
25797
26112
  "type": "font/woff2",
25798
26113
  "etag": "\"30178-02mpQKEDb74Ec8LtlhKceB1vHO8\"",
25799
- "mtime": "2026-10-28T00:48:10.293Z",
26114
+ "mtime": "2026-10-30T16:50:28.551Z",
25800
26115
  "size": 196984,
25801
26116
  "path": "../public/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2"
25802
26117
  },
26118
+ "/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2": {
26119
+ "type": "font/woff2",
26120
+ "etag": "\"f76c-CjERGtjtOrkpSXy7JyZNl1CAu0U\"",
26121
+ "mtime": "2026-10-30T16:50:28.552Z",
26122
+ "size": 63340,
26123
+ "path": "../public/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2"
26124
+ },
25803
26125
  "/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2": {
25804
26126
  "type": "font/woff2",
25805
26127
  "etag": "\"1e130-1GKpbVoJoRf3AxaKTZS8FjxkOd4\"",
25806
- "mtime": "2026-10-28T00:48:10.293Z",
26128
+ "mtime": "2026-10-30T16:50:28.552Z",
25807
26129
  "size": 123184,
25808
26130
  "path": "../public/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2"
25809
26131
  },
25810
- "/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2": {
26132
+ "/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2": {
25811
26133
  "type": "font/woff2",
25812
- "etag": "\"30f78-2RuGTMLnbTBdhlI9ExApyiUeD8c\"",
25813
- "mtime": "2026-10-28T00:48:10.293Z",
25814
- "size": 200568,
25815
- "path": "../public/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2"
26134
+ "etag": "\"1f95c-q6dAP964z2dgEvWzAYjTAzBtzBc\"",
26135
+ "mtime": "2026-10-30T16:50:28.552Z",
26136
+ "size": 129372,
26137
+ "path": "../public/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2"
25816
26138
  },
25817
26139
  "/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2": {
25818
26140
  "type": "font/woff2",
25819
26141
  "etag": "\"2248c-3GBJ1KjkT+xYPhza9V/DKaILa7Y\"",
25820
- "mtime": "2026-10-28T00:48:10.293Z",
26142
+ "mtime": "2026-10-30T16:50:28.552Z",
25821
26143
  "size": 140428,
25822
26144
  "path": "../public/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2"
25823
26145
  },
25824
- "/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2": {
26146
+ "/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2": {
25825
26147
  "type": "font/woff2",
25826
- "etag": "\"1f95c-q6dAP964z2dgEvWzAYjTAzBtzBc\"",
25827
- "mtime": "2026-10-28T00:48:10.293Z",
25828
- "size": 129372,
25829
- "path": "../public/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2"
26148
+ "etag": "\"30f78-2RuGTMLnbTBdhlI9ExApyiUeD8c\"",
26149
+ "mtime": "2026-10-30T16:50:28.552Z",
26150
+ "size": 200568,
26151
+ "path": "../public/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2"
25830
26152
  },
25831
26153
  "/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
25832
26154
  "type": "font/woff2",
25833
26155
  "etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
25834
- "mtime": "2026-10-28T00:48:10.293Z",
26156
+ "mtime": "2026-10-30T16:50:28.552Z",
25835
26157
  "size": 129664,
25836
26158
  "path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
25837
26159
  },
25838
26160
  "/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2": {
25839
26161
  "type": "font/woff2",
25840
26162
  "etag": "\"f890-FkAsW3iqENK+lU5UlSze0yqnE2s\"",
25841
- "mtime": "2026-10-28T00:48:10.293Z",
26163
+ "mtime": "2026-10-30T16:50:28.552Z",
25842
26164
  "size": 63632,
25843
26165
  "path": "../public/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2"
25844
26166
  },
25845
26167
  "/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2": {
25846
26168
  "type": "font/woff2",
25847
26169
  "etag": "\"1bc0-iXm39wQwNbm2VjpVBOn72grfku0\"",
25848
- "mtime": "2026-10-28T00:48:10.293Z",
26170
+ "mtime": "2026-10-30T16:50:28.552Z",
25849
26171
  "size": 7104,
25850
26172
  "path": "../public/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2"
25851
26173
  },
25852
26174
  "/_nuxt/wherdr-symbols.C1LsPKmg.woff2": {
25853
26175
  "type": "font/woff2",
25854
26176
  "etag": "\"1304-Lwyr1XiDl3FK38nmS/6Pk9wfiWc\"",
25855
- "mtime": "2026-10-28T00:48:10.293Z",
26177
+ "mtime": "2026-10-30T16:50:28.552Z",
25856
26178
  "size": 4868,
25857
26179
  "path": "../public/_nuxt/wherdr-symbols.C1LsPKmg.woff2"
25858
26180
  },
25859
26181
  "/_nuxt/builds/latest.json": {
25860
26182
  "type": "application/json",
25861
- "etag": "\"47-MpPRkmAGknT+8FwKwghKku5qycg\"",
25862
- "mtime": "2026-10-28T00:48:10.263Z",
26183
+ "etag": "\"47-em+UqxR5OxVqWQXsjUL2AfbXGd8\"",
26184
+ "mtime": "2026-10-30T16:50:28.407Z",
25863
26185
  "size": 71,
25864
26186
  "path": "../public/_nuxt/builds/latest.json"
25865
26187
  },
25866
- "/_nuxt/builds/meta/9240e8b5-8099-4108-9ff2-34b7f376d31a.json": {
26188
+ "/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json": {
25867
26189
  "type": "application/json",
25868
- "etag": "\"58-Z5Z0J1qaJVgSU3csUmJ5Nx6T/r8\"",
25869
- "mtime": "2026-10-28T00:48:10.257Z",
26190
+ "etag": "\"58-8L9LWQGYtJFC96df4ZFKyaKQ+J4\"",
26191
+ "mtime": "2026-10-30T16:50:28.375Z",
25870
26192
  "size": 88,
25871
- "path": "../public/_nuxt/builds/meta/9240e8b5-8099-4108-9ff2-34b7f376d31a.json"
26193
+ "path": "../public/_nuxt/builds/meta/75cc4ea7-3027-463a-aa3e-29e474ed7173.json"
25872
26194
  }
25873
26195
  };
25874
26196
 
@@ -26540,12 +26862,14 @@ const _lazy_0DhN9V = () => import('../routes/api/screen-key.post.mjs');
26540
26862
  const _lazy_5kceYB = () => import('../routes/api/screen.get.mjs');
26541
26863
  const _lazy_K8ukU6 = () => import('../routes/api/search.get.mjs');
26542
26864
  const _lazy_NXLBIE = () => import('../routes/api/seen.post.mjs');
26865
+ const _lazy_oqiCsk = () => import('../routes/api/send-now.post.mjs');
26543
26866
  const _lazy_GOSQuW = () => import('../routes/api/sessions.get.mjs');
26544
26867
  const _lazy_3y86mR = () => import('../routes/api/sessions.post.mjs');
26545
26868
  const _lazy_tLoqXq = () => import('../routes/api/settings-tab.post.mjs');
26546
26869
  const _lazy_qMA1rz = () => import('../routes/api/settings.get.mjs');
26547
26870
  const _lazy_0nQiNS = () => import('../routes/api/settings.post.mjs');
26548
26871
  const _lazy_TqhtLZ = () => import('../routes/api/space.post.mjs');
26872
+ const _lazy_JOzKUc = () => import('../routes/api/split-command.post.mjs');
26549
26873
  const _lazy_oeuOKk = () => import('../routes/api/state.get.mjs');
26550
26874
  const _lazy_8O03Pb = () => import('../routes/api/tasks.get.mjs');
26551
26875
  const _lazy_Tqip3b = () => import('../routes/api/tasks/action.post.mjs');
@@ -26665,12 +26989,14 @@ const handlers = [
26665
26989
  { route: '/api/screen', handler: _lazy_5kceYB, lazy: true, middleware: false, method: "get" },
26666
26990
  { route: '/api/search', handler: _lazy_K8ukU6, lazy: true, middleware: false, method: "get" },
26667
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" },
26668
26993
  { route: '/api/sessions', handler: _lazy_GOSQuW, lazy: true, middleware: false, method: "get" },
26669
26994
  { route: '/api/sessions', handler: _lazy_3y86mR, lazy: true, middleware: false, method: "post" },
26670
26995
  { route: '/api/settings-tab', handler: _lazy_tLoqXq, lazy: true, middleware: false, method: "post" },
26671
26996
  { route: '/api/settings', handler: _lazy_qMA1rz, lazy: true, middleware: false, method: "get" },
26672
26997
  { route: '/api/settings', handler: _lazy_0nQiNS, lazy: true, middleware: false, method: "post" },
26673
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" },
26674
27000
  { route: '/api/state', handler: _lazy_oeuOKk, lazy: true, middleware: false, method: "get" },
26675
27001
  { route: '/api/tasks', handler: _lazy_8O03Pb, lazy: true, middleware: false, method: "get" },
26676
27002
  { route: '/api/tasks/action', handler: _lazy_Tqip3b, lazy: true, middleware: false, method: "post" },
@@ -27172,5 +27498,5 @@ setupGracefulShutdown(listener, nitroApp);
27172
27498
  }
27173
27499
  const nodeServer = {};
27174
27500
 
27175
- 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, restartCoordinator 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, SEARCH_MAX_RESULTS as bA, spaceTitle as bB, markSeen as bC, listSessions as bD, openSession as bE, settingsFocus as bF, readSettings as bG, cleanSettingsPatch as bH, patchSettings as bI, spaceCall as bJ, SpaceActionError as bK, dropSteps as bL, verifySpaceRename as bM, spaceResult as bN, swapSteps as bO, readTasksBoard as bP, taskCommand as bQ, addTask as bR, clearTaskAfter as bS, approveTask as bT, archiveDoneTasks as bU, archivedTasks as bV, autopilotStatuses as bW, coordinatorAutopilot as bX, boardSettings as bY, changeBoardSetting as bZ, coordinatorPane 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, hasTranscript as by, SEARCH_DEADLINE_MS as bz, createAgent as c, tellCoordinator as c0, describeTask as c1, taskDetails as c2, raiseTaskLimit as c3, readBoardLinks as c4, taskStartModels as c5, pickTask as c6, projectFolder as c7, registerProject as c8, askTaskCoordinator as c9, openTerm as cA, useRuntimeConfig as cB, encodePath as cC, joinRelativeURL as cD, defineRenderHandler as cE, createError$1 as cF, destr as cG, getRouteRules as cH, relative as cI, joinURL as cJ, getResponseStatusText as cK, getResponseStatus as cL, useNitroApp as cM, nodeServer as cN, coordinatorScheduled as ca, taskSettings as cb, taskStartOptions as cc, tellTask as cd, cancelQueued as ce, installMode as cf, oneTapMode as cg, updateCommand as ch, compareVersions as ci, updateRunning as cj, allMachines as ck, joinId as cl, useStorage as cm, getRouterParam as cn, readUpload as co, defineWebSocketHandler as cp, eventClients as cq, notificationPresence as cr, getStateJson as cs, networkReady as ct, ensureFresh as cu, gateDecision as cv, sameOrigin as cw, hostAllowed as cx, checkRequestClient as cy, onNetworkReading 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 };
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 };
27176
27502
  //# sourceMappingURL=nitro.mjs.map