wherdr 2.0.0 → 2.1.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 (222) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/30nuHmZs.js +1 -0
  3. package/.output/public/_nuxt/30nuHmZs.js.br +0 -0
  4. package/.output/public/_nuxt/30nuHmZs.js.gz +0 -0
  5. package/.output/public/_nuxt/{AgentView.DzFWBd2A.css → AgentView.CfD2RWZY.css} +1 -1
  6. package/.output/public/_nuxt/AgentView.CfD2RWZY.css.br +0 -0
  7. package/.output/public/_nuxt/AgentView.CfD2RWZY.css.gz +0 -0
  8. package/.output/public/_nuxt/{DFmgQVme.js → B8pUlE1v.js} +41 -41
  9. package/.output/public/_nuxt/B8pUlE1v.js.br +0 -0
  10. package/.output/public/_nuxt/B8pUlE1v.js.gz +0 -0
  11. package/.output/public/_nuxt/Bd17z0YL.js.br +0 -0
  12. package/.output/public/_nuxt/Bd17z0YL.js.gz +0 -0
  13. package/.output/public/_nuxt/Bo4dpAxE.js +31 -0
  14. package/.output/public/_nuxt/Bo4dpAxE.js.br +0 -0
  15. package/.output/public/_nuxt/Bo4dpAxE.js.gz +0 -0
  16. package/.output/public/_nuxt/Bpoxvzh6.js.br +0 -0
  17. package/.output/public/_nuxt/Bpoxvzh6.js.gz +0 -0
  18. package/.output/public/_nuxt/C25ROUa9.js.br +0 -0
  19. package/.output/public/_nuxt/C25ROUa9.js.gz +0 -0
  20. package/.output/public/_nuxt/{R0Y4VoeX.js → CBJ483HL.js} +1 -1
  21. package/.output/public/_nuxt/CDWjMk9C.js.br +0 -0
  22. package/.output/public/_nuxt/CDWjMk9C.js.gz +0 -0
  23. package/.output/public/_nuxt/CJF9DrFj.js +25 -0
  24. package/.output/public/_nuxt/CJF9DrFj.js.br +0 -0
  25. package/.output/public/_nuxt/CJF9DrFj.js.gz +0 -0
  26. package/.output/public/_nuxt/CXJnLmWv.js.br +0 -0
  27. package/.output/public/_nuxt/CXJnLmWv.js.gz +0 -0
  28. package/.output/public/_nuxt/{BtH82ZuZ.js → DNAl4698.js} +5 -5
  29. package/.output/public/_nuxt/DNAl4698.js.br +0 -0
  30. package/.output/public/_nuxt/DNAl4698.js.gz +0 -0
  31. package/.output/public/_nuxt/{BhgehRdJ.js → DOnGrCAZ.js} +1 -1
  32. package/.output/public/_nuxt/DR832Br-.js +3 -0
  33. package/.output/public/_nuxt/DR832Br-.js.br +0 -0
  34. package/.output/public/_nuxt/DR832Br-.js.gz +0 -0
  35. package/.output/public/_nuxt/DZGKxROq.js.br +0 -0
  36. package/.output/public/_nuxt/DZGKxROq.js.gz +0 -0
  37. package/.output/public/_nuxt/DclfLrr5.js +105 -0
  38. package/.output/public/_nuxt/DclfLrr5.js.br +0 -0
  39. package/.output/public/_nuxt/DclfLrr5.js.gz +0 -0
  40. package/.output/public/_nuxt/JL_QI6J1.js +1 -0
  41. package/.output/public/_nuxt/JL_QI6J1.js.br +0 -0
  42. package/.output/public/_nuxt/JL_QI6J1.js.gz +0 -0
  43. package/.output/public/_nuxt/{DFGEl0v2.js → XlRX1U8d.js} +15 -15
  44. package/.output/public/_nuxt/XlRX1U8d.js.br +0 -0
  45. package/.output/public/_nuxt/XlRX1U8d.js.gz +0 -0
  46. package/.output/public/_nuxt/Y-4S7Nuf.js +1 -0
  47. package/.output/public/_nuxt/Y-4S7Nuf.js.br +0 -0
  48. package/.output/public/_nuxt/Y-4S7Nuf.js.gz +0 -0
  49. package/.output/public/_nuxt/{board.CEEcFc6M.css → board.B8JX7Yhy.css} +1 -1
  50. package/.output/public/_nuxt/board.B8JX7Yhy.css.br +0 -0
  51. package/.output/public/_nuxt/board.B8JX7Yhy.css.gz +0 -0
  52. package/.output/public/_nuxt/builds/latest.json +1 -1
  53. package/.output/public/_nuxt/builds/meta/1d193254-809f-48d8-bf27-3640edb58f54.json +1 -0
  54. package/.output/public/_nuxt/entry.6CUQ3EoD.css +2 -0
  55. package/.output/public/_nuxt/entry.6CUQ3EoD.css.br +0 -0
  56. package/.output/public/_nuxt/entry.6CUQ3EoD.css.gz +0 -0
  57. package/.output/public/_nuxt/error-404.Bb87HomL.css.br +0 -0
  58. package/.output/public/_nuxt/error-404.Bb87HomL.css.gz +0 -0
  59. package/.output/public/_nuxt/error-500.Bwd7zAaE.css.br +0 -0
  60. package/.output/public/_nuxt/error-500.Bwd7zAaE.css.gz +0 -0
  61. package/.output/public/_nuxt/lBx2yXX9.js +62 -0
  62. package/.output/public/_nuxt/lBx2yXX9.js.br +0 -0
  63. package/.output/public/_nuxt/lBx2yXX9.js.gz +0 -0
  64. package/.output/public/_nuxt/pdf.min.t82Z80JU.mjs.br +0 -0
  65. package/.output/public/_nuxt/pdf.min.t82Z80JU.mjs.gz +0 -0
  66. package/.output/public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br +0 -0
  67. package/.output/public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.gz +0 -0
  68. package/.output/public/_nuxt/settings.Cdb21nNw.css.br +0 -0
  69. package/.output/public/_nuxt/settings.Cdb21nNw.css.gz +0 -0
  70. package/.output/public/_nuxt/{DyfFwwGq.js → xSo3mAHb.js} +1 -1
  71. package/.output/public/_nuxt/xSo3mAHb.js.br +0 -0
  72. package/.output/public/_nuxt/xSo3mAHb.js.gz +0 -0
  73. package/.output/public/sw.js +1 -1
  74. package/.output/server/chunks/_/branding.mjs +1 -1
  75. package/.output/server/chunks/_/package.mjs +1 -1
  76. package/.output/server/chunks/_/selfupdate.mjs +1 -1
  77. package/.output/server/chunks/_/updates.mjs +1 -1
  78. package/.output/server/chunks/_/worktrees.mjs +1 -1
  79. package/.output/server/chunks/_/ws.mjs +1 -1
  80. package/.output/server/chunks/nitro/nitro.mjs +881 -259
  81. package/.output/server/chunks/raw/prerelease.mjs +1 -1
  82. package/.output/server/chunks/routes/api/_..._.mjs +1 -0
  83. package/.output/server/chunks/routes/api/agents.post.mjs +1 -0
  84. package/.output/server/chunks/routes/api/ask-tab.post.mjs +1 -0
  85. package/.output/server/chunks/routes/api/attach.post.mjs +1 -0
  86. package/.output/server/chunks/routes/api/auth/disable.post.mjs +1 -0
  87. package/.output/server/chunks/routes/api/auth/lock-all.post.mjs +1 -0
  88. package/.output/server/chunks/routes/api/auth/lock.post.mjs +1 -0
  89. package/.output/server/chunks/routes/api/auth/login/options.post.mjs +1 -0
  90. package/.output/server/chunks/routes/api/auth/login/verify.post.mjs +1 -0
  91. package/.output/server/chunks/routes/api/auth/max-session.post.mjs +1 -0
  92. package/.output/server/chunks/routes/api/auth/register/options.post.mjs +1 -0
  93. package/.output/server/chunks/routes/api/auth/register/verify.post.mjs +1 -0
  94. package/.output/server/chunks/routes/api/auth/status.get.mjs +1 -0
  95. package/.output/server/chunks/routes/api/changes.get.mjs +1 -0
  96. package/.output/server/chunks/routes/api/chat/image.get.mjs +1 -0
  97. package/.output/server/chunks/routes/api/chat.get.mjs +1 -0
  98. package/.output/server/chunks/routes/api/choose.post.mjs +1 -0
  99. package/.output/server/chunks/routes/api/claude-setup.post.mjs +1 -0
  100. package/.output/server/chunks/routes/api/claude-statusline.post.mjs +1 -0
  101. package/.output/server/chunks/routes/api/clear-queued-input.post.mjs +1 -0
  102. package/.output/server/chunks/routes/api/close/status.get.mjs +1 -0
  103. package/.output/server/chunks/routes/api/close.post.mjs +1 -0
  104. package/.output/server/chunks/routes/api/codex-update.post.mjs +1 -0
  105. package/.output/server/chunks/routes/api/commands.get.mjs +1 -0
  106. package/.output/server/chunks/routes/api/config.get.mjs +1 -0
  107. package/.output/server/chunks/routes/api/dirs.get.mjs +1 -0
  108. package/.output/server/chunks/routes/api/dismiss-stopped.post.mjs +1 -0
  109. package/.output/server/chunks/routes/api/dismiss.post.mjs +1 -0
  110. package/.output/server/chunks/routes/api/effort.post.mjs +1 -0
  111. package/.output/server/chunks/routes/api/efforts.get.mjs +1 -0
  112. package/.output/server/chunks/routes/api/file.post.mjs +1 -0
  113. package/.output/server/chunks/routes/api/files/download.get.mjs +1 -0
  114. package/.output/server/chunks/routes/api/files/download.head.mjs +1 -0
  115. package/.output/server/chunks/routes/api/files/read.get.mjs +1 -0
  116. package/.output/server/chunks/routes/api/files.get.mjs +1 -0
  117. package/.output/server/chunks/routes/api/health.get.mjs +1 -0
  118. package/.output/server/chunks/routes/api/input.post.mjs +1 -0
  119. package/.output/server/chunks/routes/api/interrupt.post.mjs +1 -0
  120. package/.output/server/chunks/routes/api/isgit.get.mjs +1 -0
  121. package/.output/server/chunks/routes/api/machine/awake.get.mjs +1 -0
  122. package/.output/server/chunks/routes/api/machine/awake.post.mjs +1 -0
  123. package/.output/server/chunks/routes/api/machine/order.get.mjs +1 -0
  124. package/.output/server/chunks/routes/api/machine/order.post.mjs +1 -0
  125. package/.output/server/chunks/routes/api/machine/reconnect.post.mjs +1 -0
  126. package/.output/server/chunks/routes/api/machine/rename.post.mjs +1 -0
  127. package/.output/server/chunks/routes/api/machine/status.post.mjs +1 -0
  128. package/.output/server/chunks/routes/api/menu-left.post.mjs +1 -0
  129. package/.output/server/chunks/routes/api/menu.post.mjs +1 -0
  130. package/.output/server/chunks/routes/api/model.post.mjs +1 -0
  131. package/.output/server/chunks/routes/api/models.get.mjs +1 -0
  132. package/.output/server/chunks/routes/api/nav.post.mjs +1 -0
  133. package/.output/server/chunks/routes/api/onboarding.get.mjs +1 -0
  134. package/.output/server/chunks/routes/api/onboarding.post.mjs +1 -0
  135. package/.output/server/chunks/routes/api/phone.get.mjs +1 -0
  136. package/.output/server/chunks/routes/api/phone.post.mjs +1 -0
  137. package/.output/server/chunks/routes/api/plugins/actions.get.mjs +1 -0
  138. package/.output/server/chunks/routes/api/plugins/invoke.post.mjs +1 -0
  139. package/.output/server/chunks/routes/api/plugins/projects.get.mjs +1 -0
  140. package/.output/server/chunks/routes/api/plugins/projects.post.mjs +1 -0
  141. package/.output/server/chunks/routes/api/prompt.post.mjs +1 -0
  142. package/.output/server/chunks/routes/api/push/quiet.post.mjs +1 -0
  143. package/.output/server/chunks/routes/api/push/subscribe.post.mjs +1 -0
  144. package/.output/server/chunks/routes/api/push/test.post.mjs +1 -0
  145. package/.output/server/chunks/routes/api/push/unsubscribe.post.mjs +1 -0
  146. package/.output/server/chunks/routes/api/quotas.get.mjs +1 -0
  147. package/.output/server/chunks/routes/api/rename.post.mjs +1 -0
  148. package/.output/server/chunks/routes/api/requeue.post.mjs +1 -0
  149. package/.output/server/chunks/routes/api/restart.get.mjs +1 -0
  150. package/.output/server/chunks/routes/api/restart.post.mjs +1 -0
  151. package/.output/server/chunks/routes/api/reveal.post.mjs +1 -0
  152. package/.output/server/chunks/routes/api/screen-key.post.mjs +1 -0
  153. package/.output/server/chunks/routes/api/screen.get.mjs +1 -0
  154. package/.output/server/chunks/routes/api/search.get.mjs +1 -0
  155. package/.output/server/chunks/routes/api/seen.post.mjs +1 -0
  156. package/.output/server/chunks/routes/api/sessions.get.mjs +1 -0
  157. package/.output/server/chunks/routes/api/sessions.post.mjs +1 -0
  158. package/.output/server/chunks/routes/api/settings-tab.post.mjs +1 -0
  159. package/.output/server/chunks/routes/api/settings.get.mjs +1 -0
  160. package/.output/server/chunks/routes/api/settings.post.mjs +1 -0
  161. package/.output/server/chunks/routes/api/space.post.mjs +1 -0
  162. package/.output/server/chunks/routes/api/state.get.mjs +1 -0
  163. package/.output/server/chunks/routes/api/tasks/action.post.mjs +1 -0
  164. package/.output/server/chunks/routes/api/tasks/add.post.mjs +1 -0
  165. package/.output/server/chunks/routes/api/tasks/after.post.mjs +1 -0
  166. package/.output/server/chunks/routes/api/tasks/approve.post.mjs +1 -0
  167. package/.output/server/chunks/routes/api/tasks/archive-done.post.mjs +40 -0
  168. package/.output/server/chunks/routes/api/tasks/archived.get.mjs +2 -1
  169. package/.output/server/chunks/routes/api/tasks/autopilot.get.mjs +2 -1
  170. package/.output/server/chunks/routes/api/tasks/autopilot.post.mjs +2 -1
  171. package/.output/server/chunks/routes/api/tasks/board-settings.get.mjs +2 -1
  172. package/.output/server/chunks/routes/api/tasks/board-settings.post.mjs +2 -1
  173. package/.output/server/chunks/routes/api/tasks/coordinator.get.mjs +2 -1
  174. package/.output/server/chunks/routes/api/tasks/coordinator.post.mjs +2 -1
  175. package/.output/server/chunks/routes/api/tasks/describe.post.mjs +40 -0
  176. package/.output/server/chunks/routes/api/tasks/details.get.mjs +2 -1
  177. package/.output/server/chunks/routes/api/tasks/limit.post.mjs +2 -1
  178. package/.output/server/chunks/routes/api/tasks/links.get.mjs +2 -1
  179. package/.output/server/chunks/routes/api/tasks/models.get.mjs +2 -1
  180. package/.output/server/chunks/routes/api/tasks/pick.post.mjs +2 -1
  181. package/.output/server/chunks/routes/api/tasks/project.get.mjs +41 -0
  182. package/.output/server/chunks/routes/api/tasks/project.post.mjs +40 -0
  183. package/.output/server/chunks/routes/api/tasks/question.post.mjs +2 -1
  184. package/.output/server/chunks/routes/api/tasks/scheduled.get.mjs +2 -1
  185. package/.output/server/chunks/routes/api/tasks/settings.get.mjs +2 -1
  186. package/.output/server/chunks/routes/api/tasks/start.get.mjs +2 -1
  187. package/.output/server/chunks/routes/api/tasks/tell.post.mjs +2 -1
  188. package/.output/server/chunks/routes/api/tasks.get.mjs +1 -0
  189. package/.output/server/chunks/routes/api/unqueue.post.mjs +2 -1
  190. package/.output/server/chunks/routes/api/update/status.get.mjs +1 -0
  191. package/.output/server/chunks/routes/api/update.get.mjs +1 -0
  192. package/.output/server/chunks/routes/api/update.post.mjs +1 -0
  193. package/.output/server/chunks/routes/api/upload.post.mjs +1 -0
  194. package/.output/server/chunks/routes/api/worktrees/remove.post.mjs +1 -0
  195. package/.output/server/chunks/routes/api/worktrees.get.mjs +1 -0
  196. package/.output/server/chunks/routes/favicon.ico.get.mjs +1 -0
  197. package/.output/server/chunks/routes/icons/_name_.get.mjs +2 -1
  198. package/.output/server/chunks/routes/renderer.mjs +3 -2
  199. package/.output/server/chunks/routes/uploads/_...name_.get.mjs +2 -1
  200. package/.output/server/chunks/routes/ws/_..._.mjs +2 -1
  201. package/.output/server/chunks/routes/ws/events.mjs +2 -1
  202. package/.output/server/chunks/routes/ws/term.mjs +2 -1
  203. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  204. package/.output/server/index.mjs +2 -1
  205. package/.output/server/package.json +1 -1
  206. package/docs/README.md +2 -0
  207. package/docs/RELEASING.md +58 -46
  208. package/docs/board.md +12 -0
  209. package/docs/development.md +1 -1
  210. package/docs/machines.md +9 -4
  211. package/docs/release-notes-2.1.0.md +21 -0
  212. package/package.json +1 -1
  213. package/.output/public/_nuxt/BETID3_E.js +0 -1
  214. package/.output/public/_nuxt/BHenDMeH.js +0 -1
  215. package/.output/public/_nuxt/C3Bkn4ac.js +0 -62
  216. package/.output/public/_nuxt/CuUQ4mEf.js +0 -1
  217. package/.output/public/_nuxt/DmkWvmnE.js +0 -2
  218. package/.output/public/_nuxt/DrKKeFFE.js +0 -31
  219. package/.output/public/_nuxt/FaNto0ga.js +0 -105
  220. package/.output/public/_nuxt/NIF0VwHk.js +0 -25
  221. package/.output/public/_nuxt/builds/meta/0b28b3e9-664e-4347-a35b-afb0a711d5c5.json +0 -1
  222. package/.output/public/_nuxt/entry.CKoXcwRa.css +0 -2
@@ -1,6 +1,6 @@
1
1
  import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import http, { Server as Server$1 } from 'node:http';
2
2
  import https, { Server } from 'node:https';
3
- import crypto, { createHash, randomUUID as randomUUID$1 } from 'node:crypto';
3
+ import crypto, { createHash, randomUUID as randomUUID$1, randomBytes } from 'node:crypto';
4
4
  import require$$0$2 from 'stream';
5
5
  import require$$0$3 from 'events';
6
6
  import require$$2 from 'http';
@@ -27,6 +27,7 @@ import readline from 'node:readline';
27
27
  import QRCode from 'qrcode-terminal/vendor/QRCode/index.js';
28
28
  import QRErrorCorrectLevel from 'qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js';
29
29
  import { fileURLToPath } from 'node:url';
30
+ import { gzipSync } from 'node:zlib';
30
31
  import { verifyAuthenticationResponse, generateAuthenticationOptions, verifyRegistrationResponse, generateRegistrationOptions } from '@simplewebauthn/server';
31
32
 
32
33
  crypto.webcrypto?.subtle || {};
@@ -8647,91 +8648,91 @@ async function dispose(driver) {
8647
8648
  const _assets = {
8648
8649
  ["scripts:build-nerd-font.py"]: {
8649
8650
  import: () => import('../raw/build-nerd-font.mjs').then(r => r.default || r),
8650
- meta: {"type":"text/plain; charset=utf-8","etag":"\"13aa-ys9YUI0kyQcBWrUDXjdBVLF8Z3E\"","mtime":"2026-10-25T14:36:23.792Z"}
8651
+ meta: {"type":"text/plain; charset=utf-8","etag":"\"13aa-ys9YUI0kyQcBWrUDXjdBVLF8Z3E\"","mtime":"2026-10-26T14:09:54.155Z"}
8651
8652
  },
8652
8653
  ["scripts:build-terminal-font.py"]: {
8653
8654
  import: () => import('../raw/build-terminal-font.mjs').then(r => r.default || r),
8654
- meta: {"type":"text/plain; charset=utf-8","etag":"\"cf5-BDqHg2xDFu+6dg84HBWtyBtrEoU\"","mtime":"2026-10-25T14:36:23.792Z"}
8655
+ meta: {"type":"text/plain; charset=utf-8","etag":"\"cf5-BDqHg2xDFu+6dg84HBWtyBtrEoU\"","mtime":"2026-10-26T14:09:54.155Z"}
8655
8656
  },
8656
8657
  ["scripts:bump-homebrew.sh"]: {
8657
8658
  import: () => import('../raw/bump-homebrew.mjs').then(r => r.default || r),
8658
- meta: {"type":"application/x-sh","etag":"\"8b5-n/EiMEIUoHPuQl2XTJU0tSNn7FY\"","mtime":"2026-10-25T14:36:23.792Z"}
8659
+ meta: {"type":"application/x-sh","etag":"\"8b5-n/EiMEIUoHPuQl2XTJU0tSNn7FY\"","mtime":"2026-10-26T14:09:54.155Z"}
8659
8660
  },
8660
8661
  ["scripts:check-doc-links.mjs"]: {
8661
8662
  import: () => import('../raw/check-doc-links.mjs').then(r => r.default || r),
8662
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"111e-oejL0jmpzfjFEWxPN+9qu5uF9Bw\"","mtime":"2026-10-25T14:36:23.792Z"}
8663
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"111e-oejL0jmpzfjFEWxPN+9qu5uF9Bw\"","mtime":"2026-10-26T14:09:54.155Z"}
8663
8664
  },
8664
8665
  ["scripts:check-leaks.mjs"]: {
8665
8666
  import: () => import('../raw/check-leaks.mjs').then(r => r.default || r),
8666
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"30f6-6/YiH8VxbjC5TNeu9LlD3pzBmiY\"","mtime":"2026-10-25T14:36:23.792Z"}
8667
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"30f6-6/YiH8VxbjC5TNeu9LlD3pzBmiY\"","mtime":"2026-10-26T14:09:54.155Z"}
8667
8668
  },
8668
8669
  ["scripts:check-release-notes.mjs"]: {
8669
8670
  import: () => import('../raw/check-release-notes.mjs').then(r => r.default || r),
8670
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"654-zI3BCnX2ydk480NonbjdCfu8XKg\"","mtime":"2026-10-25T14:36:23.792Z"}
8671
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"654-zI3BCnX2ydk480NonbjdCfu8XKg\"","mtime":"2026-10-26T14:09:54.155Z"}
8671
8672
  },
8672
8673
  ["scripts:herdr-plugin.sh"]: {
8673
8674
  import: () => import('../raw/herdr-plugin.mjs').then(r => r.default || r),
8674
- meta: {"type":"application/x-sh","etag":"\"6c52-rUwB0ZqIlTkczogm1xwfvSvGSNA\"","mtime":"2026-10-25T14:36:23.792Z"}
8675
+ meta: {"type":"application/x-sh","etag":"\"6c52-rUwB0ZqIlTkczogm1xwfvSvGSNA\"","mtime":"2026-10-26T14:09:54.155Z"}
8675
8676
  },
8676
8677
  ["scripts:install-claude-statusline.sh"]: {
8677
8678
  import: () => import('../raw/install-claude-statusline.mjs').then(r => r.default || r),
8678
- meta: {"type":"application/x-sh","etag":"\"1012-SRD59JCTvNDZmw9VCA/vxlYnsOs\"","mtime":"2026-10-25T14:36:23.792Z"}
8679
+ meta: {"type":"application/x-sh","etag":"\"1012-SRD59JCTvNDZmw9VCA/vxlYnsOs\"","mtime":"2026-10-26T14:09:54.155Z"}
8679
8680
  },
8680
8681
  ["scripts:pack-output.mjs"]: {
8681
8682
  import: () => import('../raw/pack-output.mjs').then(r => r.default || r),
8682
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"54b-eU4eNNIxIecG1kwaLdtiTYODSSI\"","mtime":"2026-10-25T14:36:23.792Z"}
8683
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"54b-eU4eNNIxIecG1kwaLdtiTYODSSI\"","mtime":"2026-10-26T14:09:54.155Z"}
8683
8684
  },
8684
8685
  ["scripts:prerelease-summary.mjs"]: {
8685
8686
  import: () => import('../raw/prerelease-summary.mjs').then(r => r.default || r),
8686
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"4bf-hjbQniJqK64ox0o4o+lKO4T3co8\"","mtime":"2026-10-25T14:36:23.792Z"}
8687
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"4bf-hjbQniJqK64ox0o4o+lKO4T3co8\"","mtime":"2026-10-26T14:09:54.155Z"}
8687
8688
  },
8688
8689
  ["scripts:prerelease.sh"]: {
8689
8690
  import: () => import('../raw/prerelease.mjs').then(r => r.default || r),
8690
- meta: {"type":"application/x-sh","etag":"\"1956-gs6IKzYRW2Em6bW8zoYbXOMj0wo\"","mtime":"2026-10-25T14:36:23.792Z"}
8691
+ meta: {"type":"application/x-sh","etag":"\"1b93-FGORYtgWgRCx/nvbV5w5LZFGvWM\"","mtime":"2026-10-26T14:09:54.155Z"}
8691
8692
  },
8692
8693
  ["scripts:release-ready.mjs"]: {
8693
8694
  import: () => import('../raw/release-ready.mjs').then(r => r.default || r),
8694
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"a44-ceu/5BQO5TUWzE/HNW2C/LvdCqw\"","mtime":"2026-10-25T14:36:23.792Z"}
8695
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"a44-ceu/5BQO5TUWzE/HNW2C/LvdCqw\"","mtime":"2026-10-26T14:09:54.155Z"}
8695
8696
  },
8696
8697
  ["scripts:reveal.sh"]: {
8697
8698
  import: () => import('../raw/reveal.mjs').then(r => r.default || r),
8698
- meta: {"type":"application/x-sh","etag":"\"6c3-PXdXngtqrHUBK3LE4horeuveBYI\"","mtime":"2026-10-25T14:36:23.792Z"}
8699
+ meta: {"type":"application/x-sh","etag":"\"6c3-PXdXngtqrHUBK3LE4horeuveBYI\"","mtime":"2026-10-26T14:09:54.155Z"}
8699
8700
  },
8700
8701
  ["scripts:test-affected.mjs"]: {
8701
8702
  import: () => import('../raw/test-affected.mjs').then(r => r.default || r),
8702
- meta: {"type":"text/javascript; charset=utf-8","etag":"\"2525-8/qtDJsv4VCisifVU6tEnYnLuC0\"","mtime":"2026-10-25T14:36:23.792Z"}
8703
+ meta: {"type":"text/javascript; charset=utf-8","etag":"\"2525-8/qtDJsv4VCisifVU6tEnYnLuC0\"","mtime":"2026-10-26T14:09:54.155Z"}
8703
8704
  },
8704
8705
  ["server:branding:favicon.ico"]: {
8705
8706
  import: () => import('../raw/favicon.mjs').then(r => r.default || r),
8706
- meta: {"type":"image/vnd.microsoft.icon","etag":"\"3aee-Oem7XTWv+9HEwv9u/3K5QcIjS3E\"","mtime":"2026-10-25T14:36:23.795Z"}
8707
+ meta: {"type":"image/vnd.microsoft.icon","etag":"\"3aee-Oem7XTWv+9HEwv9u/3K5QcIjS3E\"","mtime":"2026-10-26T14:09:54.157Z"}
8707
8708
  },
8708
8709
  ["server:branding:icons:apple-touch-icon.png"]: {
8709
8710
  import: () => import('../raw/apple-touch-icon.mjs').then(r => r.default || r),
8710
- meta: {"type":"image/png","etag":"\"1f8-AVRrBnAhalXrGkFPGdvl0fM7DH8\"","mtime":"2026-10-25T14:36:23.795Z"}
8711
+ meta: {"type":"image/png","etag":"\"1f8-AVRrBnAhalXrGkFPGdvl0fM7DH8\"","mtime":"2026-10-26T14:09:54.157Z"}
8711
8712
  },
8712
8713
  ["server:branding:icons:favicon-32.png"]: {
8713
8714
  import: () => import('../raw/favicon-32.mjs').then(r => r.default || r),
8714
- meta: {"type":"image/png","etag":"\"a3-hAEc+Ymq1aYS3kFLyZK/H18Pge8\"","mtime":"2026-10-25T14:36:23.795Z"}
8715
+ meta: {"type":"image/png","etag":"\"a3-hAEc+Ymq1aYS3kFLyZK/H18Pge8\"","mtime":"2026-10-26T14:09:54.157Z"}
8715
8716
  },
8716
8717
  ["server:branding:icons:icon-192.png"]: {
8717
8718
  import: () => import('../raw/icon-192.mjs').then(r => r.default || r),
8718
- meta: {"type":"image/png","etag":"\"222-kioUoPaSCUaRhKKWw0PRtFbAhxk\"","mtime":"2026-10-25T14:36:23.795Z"}
8719
+ meta: {"type":"image/png","etag":"\"222-kioUoPaSCUaRhKKWw0PRtFbAhxk\"","mtime":"2026-10-26T14:09:54.157Z"}
8719
8720
  },
8720
8721
  ["server:branding:icons:icon-512-maskable.png"]: {
8721
8722
  import: () => import('../raw/icon-512-maskable.mjs').then(r => r.default || r),
8722
- meta: {"type":"image/png","etag":"\"84b-mCXgbBkXk7sqOhmJ8hjp80SN3Qk\"","mtime":"2026-10-25T14:36:23.795Z"}
8723
+ meta: {"type":"image/png","etag":"\"84b-mCXgbBkXk7sqOhmJ8hjp80SN3Qk\"","mtime":"2026-10-26T14:09:54.157Z"}
8723
8724
  },
8724
8725
  ["server:branding:icons:icon-512.png"]: {
8725
8726
  import: () => import('../raw/icon-512.mjs').then(r => r.default || r),
8726
- meta: {"type":"image/png","etag":"\"8fc-ZwRMqAqQZeLLx4iNTZxs09C4Q1I\"","mtime":"2026-10-25T14:36:23.795Z"}
8727
+ meta: {"type":"image/png","etag":"\"8fc-ZwRMqAqQZeLLx4iNTZxs09C4Q1I\"","mtime":"2026-10-26T14:09:54.157Z"}
8727
8728
  },
8728
8729
  ["server:branding:icons:icon-maskable.svg"]: {
8729
8730
  import: () => import('../raw/icon-maskable.mjs').then(r => r.default || r),
8730
- meta: {"type":"image/svg+xml","etag":"\"4a1-7XtnuN5ZOwiwIjpgpj+/Rg9LssY\"","mtime":"2026-10-25T14:36:23.795Z"}
8731
+ meta: {"type":"image/svg+xml","etag":"\"4a1-7XtnuN5ZOwiwIjpgpj+/Rg9LssY\"","mtime":"2026-10-26T14:09:54.157Z"}
8731
8732
  },
8732
8733
  ["server:branding:icons:icon.svg"]: {
8733
8734
  import: () => import('../raw/icon.mjs').then(r => r.default || r),
8734
- meta: {"type":"image/svg+xml","etag":"\"49c-O1XxkWwKTf6VBoC0i4TEPdGPsCw\"","mtime":"2026-10-25T14:36:23.795Z"}
8735
+ meta: {"type":"image/svg+xml","etag":"\"49c-O1XxkWwKTf6VBoC0i4TEPdGPsCw\"","mtime":"2026-10-26T14:09:54.157Z"}
8735
8736
  }
8736
8737
  };
8737
8738
 
@@ -9634,7 +9635,7 @@ function _expandFromEnv(value) {
9634
9635
  const _inlineRuntimeConfig = {
9635
9636
  "app": {
9636
9637
  "baseURL": "/",
9637
- "buildId": "0b28b3e9-664e-4347-a35b-afb0a711d5c5",
9638
+ "buildId": "1d193254-809f-48d8-bf27-3640edb58f54",
9638
9639
  "buildAssetsDir": "/_nuxt/",
9639
9640
  "cdnURL": ""
9640
9641
  },
@@ -15589,7 +15590,7 @@ output longer than ${opts.maxBytes} bytes`;
15589
15590
  const out = probe.stdout.toString("utf8");
15590
15591
  const kv = (k) => (new RegExp(`^${k}=(.*)$`, "m").exec(out) || [])[1] || "";
15591
15592
  if (!kv("home") && probe.code !== 255) {
15592
- throw new Error("Remote SSH shell must support POSIX commands. On Windows, set OpenSSH DefaultShell to Git Bash (see Machines documentation).");
15593
+ throw new Error("Remote SSH shell must support POSIX commands. On Windows, set OpenSSH DefaultShell to Git Bash (docs/machines.md, \u201CWindows remote machines\u201D).");
15593
15594
  }
15594
15595
  if (probe.code !== 0) throw new Error(lastLine(probe.stderr) || fmt("Probe failed (code {code})", { code: probe.code }));
15595
15596
  if (kv("self") && kv("self") === localMachineId()) throw new SkipMachine("this machine itself");
@@ -16232,7 +16233,7 @@ function failureText(v) {
16232
16233
  return "";
16233
16234
  }
16234
16235
  function parseTaskLimits(v) {
16235
- var _a;
16236
+ var _a, _b, _c;
16236
16237
  const limits = obj$2(v);
16237
16238
  if (!limits) return void 0;
16238
16239
  const time = obj$2(limits.time);
@@ -16241,7 +16242,19 @@ function parseTaskLimits(v) {
16241
16242
  const usedMs = (stopped == null ? void 0 : stopped.what) === "time" ? num$1(stopped.used) : null;
16242
16243
  const seconds = usedMs === null ? null : Math.round(Math.max(0, usedMs) / 1e3);
16243
16244
  const stoppedTime = seconds === null ? "" : seconds >= 3600 ? `${Math.floor(seconds / 3600)}h${Math.floor(seconds % 3600 / 60) ? `${Math.floor(seconds % 3600 / 60)}m` : ""}` : seconds >= 60 ? `${Math.floor(seconds / 60)}m${seconds % 60 ? `${seconds % 60}s` : ""}` : `${seconds}s`;
16244
- return { ...(stopped == null ? void 0 : stopped.what) === "time" || (stopped == null ? void 0 : stopped.what) === "tokens" ? { stopped: stopped.what } : {}, time: str$3(time == null ? void 0 : time.limit, 40), timeUsed: str$3(time == null ? void 0 : time.used, 40) || stoppedTime, tokens: str$3(tokens == null ? void 0 : tokens.limit, 40), tokensUsed: (_a = num$1(tokens == null ? void 0 : tokens.total)) != null ? _a : num$1(tokens == null ? void 0 : tokens.used) };
16245
+ const timeUsedMs = (_a = num$1(time == null ? void 0 : time.usedMs)) != null ? _a : usedMs;
16246
+ const tokensCounted = (_b = num$1(tokens == null ? void 0 : tokens.used)) != null ? _b : num$1(tokens == null ? void 0 : tokens.total);
16247
+ const stoppedUsed = (stopped == null ? void 0 : stopped.what) === "time" || (stopped == null ? void 0 : stopped.what) === "tokens" ? num$1(stopped.used) : null;
16248
+ return {
16249
+ ...(stopped == null ? void 0 : stopped.what) === "time" || (stopped == null ? void 0 : stopped.what) === "tokens" ? { stopped: stopped.what } : {},
16250
+ time: str$3(time == null ? void 0 : time.limit, 40),
16251
+ timeUsed: str$3(time == null ? void 0 : time.used, 40) || stoppedTime,
16252
+ tokens: str$3(tokens == null ? void 0 : tokens.limit, 40),
16253
+ tokensUsed: (_c = num$1(tokens == null ? void 0 : tokens.total)) != null ? _c : num$1(tokens == null ? void 0 : tokens.used),
16254
+ ...timeUsedMs === null ? {} : { timeUsedMs },
16255
+ ...tokensCounted === null ? {} : { tokensCounted },
16256
+ ...stoppedUsed === null ? {} : { stoppedUsed }
16257
+ };
16245
16258
  }
16246
16259
  function parseFindings(v) {
16247
16260
  const review = obj$2(v);
@@ -16291,7 +16304,7 @@ function parseTaskDetails(text) {
16291
16304
  title: str$3(t.title, 300),
16292
16305
  stage: str$3(t.stage, 30),
16293
16306
  msg: str$3(t.msg, 1e3),
16294
- description: str$3(t.description, 8e3),
16307
+ description: typeof t.description === "string" ? t.description : "",
16295
16308
  agent: str$3(d.agent, 40),
16296
16309
  pr: cleanUrl(d.pr),
16297
16310
  branch: str$3(d.branch, 200),
@@ -16660,6 +16673,30 @@ function canPickAttempt(details, letter) {
16660
16673
  return Boolean(details && !details.archived && details.stage === "pick" && typeof letter === "string" && /^[A-E]$/.test(letter) && ((_a = details.attempts) == null ? void 0 : _a.some((a) => a.letter === letter && a.standing === "passed")));
16661
16674
  }
16662
16675
 
16676
+ const CI = /\bwaiting for (?:github )?checks\b/i;
16677
+ const CI_TALLY = /\b(\d{1,4}) of (\d{1,4}) passed\b/i;
16678
+ const AFTER = /\bqueued after\s+([\w.:/-]{1,80})/i;
16679
+ const SLOT = /\bwaiting for a free slot\b/i;
16680
+ const PLACE = /\bQ#(\d{1,5})\b/;
16681
+ function taskActivity(t) {
16682
+ var _a;
16683
+ if (t.group !== void 0 && t.group !== "working") return null;
16684
+ const msg = (t.msg || "").replace(/\s+/g, " ").trim();
16685
+ const stage = t.stage || "";
16686
+ const after = AFTER.exec(msg);
16687
+ if (stage === "queued" || stage === "after" || after || SLOT.test(msg)) {
16688
+ const place = (_a = t.queue) != null ? _a : PLACE.exec(msg) ? Number(PLACE.exec(msg)[1]) : null;
16689
+ return { kind: "queued", after: after ? after[1].replace(/[.,;:]+$/, "") : null, place: place && place > 0 ? place : null };
16690
+ }
16691
+ if (CI.test(msg)) {
16692
+ const m = CI_TALLY.exec(msg);
16693
+ const passed = m ? Number(m[1]) : null;
16694
+ const total = m ? Number(m[2]) : null;
16695
+ return passed !== null && total !== null && passed <= total ? { kind: "ci", passed, total } : { kind: "ci", passed: null, total: null };
16696
+ }
16697
+ return { kind: "running" };
16698
+ }
16699
+
16663
16700
  function reduceLayout(raw, id = (x) => x) {
16664
16701
  if (!raw || !raw.tab_id || !raw.area || !Array.isArray(raw.panes)) return null;
16665
16702
  const rect = (r) => ({ x: r.x | 0, y: r.y | 0, width: r.width | 0, height: r.height | 0 });
@@ -16731,7 +16768,11 @@ function linksFromTaskFile(t, sessionKey, sessionName) {
16731
16768
  const stage = str$2(r.stage, 30);
16732
16769
  const watch = obj$1(r.watch);
16733
16770
  const progress = num(watch == null ? void 0 : watch.progress);
16734
- const began = stage === "reviewing" ? num(r.reviewAt) : Math.max((_a = num(r.since)) != null ? _a : 0, (_b = num(r.workAt)) != null ? _b : 0) || null;
16771
+ const group = (_a = rowFromTaskFile(r)) == null ? void 0 : _a.group;
16772
+ const ownMsg = str$2(r.msg, 400);
16773
+ const activity = taskActivity({ group: group != null ? group : "", stage, msg: ownMsg });
16774
+ const running = !activity || activity.kind === "running";
16775
+ const began = stage === "reviewing" ? num(r.reviewAt) : Math.max((_b = num(r.since)) != null ? _b : 0, (_c = num(r.workAt)) != null ? _c : 0) || null;
16735
16776
  return {
16736
16777
  id: attemptOf || id,
16737
16778
  repo: m[1],
@@ -16745,10 +16786,11 @@ function linksFromTaskFile(t, sessionKey, sessionName) {
16745
16786
  stage,
16746
16787
  ...link && sessionName ? { session: sessionName(link.socket) } : {},
16747
16788
  identity: taskAgentIdentity(r),
16748
- group: (_c = rowFromTaskFile(r)) == null ? void 0 : _c.group,
16789
+ group,
16790
+ activity,
16749
16791
  review: reviewer ? r.comparing ? "pick" : planOpen ? "plan" : "work" : null,
16750
- progress: progress === null ? null : Math.max(0, Math.min(100, Math.round(progress))),
16751
- msg: (str$2(watch == null ? void 0 : watch.msg, 400) || str$2(r.msg, 400)).replace(/\s+/g, " ").trim(),
16792
+ progress: progress === null || !running ? null : Math.max(0, Math.min(100, Math.round(progress))),
16793
+ msg: (running && str$2(watch == null ? void 0 : watch.msg, 400) || ownMsg).replace(/\s+/g, " ").trim(),
16752
16794
  since: began && began > 0 ? began : null
16753
16795
  };
16754
16796
  }
@@ -16756,7 +16798,7 @@ function tasksFromFiles(files, keys) {
16756
16798
  var _a;
16757
16799
  const byId = /* @__PURE__ */ new Map();
16758
16800
  const own = files.filter((f) => !f.attemptOf);
16759
- const task = (f) => ({ id: f.id, repo: f.repo, n: f.n, key: taskKeyOf(f.id, keys[f.repo]), title: f.title, identity: f.identity, panes: [...f.panes], workspace: f.workspace, ...f.session === void 0 ? {} : { session: f.session }, stage: f.stage, group: f.group, review: f.review, progress: f.progress, msg: f.msg, since: f.since });
16801
+ const task = (f) => ({ id: f.id, repo: f.repo, n: f.n, key: taskKeyOf(f.id, keys[f.repo]), title: f.title, identity: f.identity, panes: [...f.panes], workspace: f.workspace, ...f.session === void 0 ? {} : { session: f.session }, stage: f.stage, group: f.group, activity: f.activity, review: f.review, progress: f.progress, msg: f.msg, since: f.since });
16760
16802
  for (const f of own) byId.set(f.id, task(f));
16761
16803
  for (const a of files.filter((f) => f.attemptOf)) {
16762
16804
  const t = byId.get(a.id);
@@ -17519,8 +17561,42 @@ async function dropStartAgent(key) {
17519
17561
  if ((await all$1()).delete(key)) await save$1();
17520
17562
  }
17521
17563
 
17564
+ const PROJECT_FOLDER_SCRIPT = 'd=$1; case "$d" in "~") d=$HOME ;; "~/"*) d=$HOME/${d#"~/"} ;; esac; [ -d "$d" ] || { echo missing; exit 0; }; cd "$d" 2>/dev/null || { echo missing; exit 0; }; t=$(git rev-parse --show-toplevel 2>/dev/null) || { echo notgit; exit 0; }; [ -n "$t" ] || { echo notgit; exit 0; }; c=$(git rev-parse --path-format=absolute --git-common-dir 2>/dev/null); case "$c" in */.git) [ "$c" = "$t/.git" ] || t=${c%/.git} ;; esac; printf \'git\\t%s\\n\' "$t"';
17565
+ function parseFolderLook(out) {
17566
+ const line = out.split("\n").map((l) => l.trim()).find(Boolean) || "";
17567
+ if (line === "notgit") return { state: "notgit" };
17568
+ const m = /^git\t(\/.*)$/.exec(line);
17569
+ return m ? { state: "git", root: m[1].replace(/\/+$/, "") || "/" } : { state: "missing" };
17570
+ }
17571
+ const isFolderRef = (repo) => repo === "~" || repo.startsWith("/") || repo.startsWith("~/");
17572
+ function repoNameOf(repos, root) {
17573
+ if (!repos || typeof repos !== "object" || Array.isArray(repos)) return null;
17574
+ const want = root.replace(/\/+$/, "");
17575
+ for (const [name, dir] of Object.entries(repos)) {
17576
+ if (typeof dir === "string" && dir.replace(/\/+$/, "") === want) return name;
17577
+ }
17578
+ return null;
17579
+ }
17580
+ function projectFolderOf(look, repos) {
17581
+ if (look.state !== "git") return look;
17582
+ const repo = repoNameOf(repos, look.root);
17583
+ return repo ? { state: "known", repo, root: look.root } : { state: "new", root: look.root, repo: newRepoName(repos, look.root) };
17584
+ }
17585
+ function newRepoName(repos, root) {
17586
+ const taken = repos && typeof repos === "object" && !Array.isArray(repos) ? repos : {};
17587
+ const base = [...root.replace(/\/+$/, "").split("/").pop() || ""].map((c) => /[A-Za-z0-9_.+-]/.test(c) ? c : "-").slice(0, 28).join("") || "home";
17588
+ let name = base;
17589
+ for (let n = 2; Object.hasOwn(taken, name) || name === "dispatch"; n++) name = `${base}-${n}`;
17590
+ return name;
17591
+ }
17592
+ const FOLDER_MISSING = "This folder does not exist on this machine.";
17593
+ const FOLDER_NOT_GIT = "This folder is not a Git repository: a project coordinator needs one.";
17594
+ const REGISTER_PROMPT = "Never runs: wherdr adds this repository to the board and removes this automation at once.";
17595
+
17522
17596
  const REUSE_MS$1 = 5e3;
17523
17597
  const READ_DEADLINE_MS = 4e3;
17598
+ const FIRST_READ_MS = 12e3;
17599
+ let waits = { deadline: READ_DEADLINE_MS, first: FIRST_READ_MS };
17524
17600
  const LIST_TIMEOUT_MS = 3e4;
17525
17601
  const ACTION_TIMEOUT_MS = 6e4;
17526
17602
  const OUTPUT_MAX = 8 * 1024 * 1024;
@@ -17650,19 +17726,12 @@ function readList(m) {
17650
17726
  var _a;
17651
17727
  const last = lists.get(m.key);
17652
17728
  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 };
17653
- }).then(async (c) => {
17729
+ }).then((c) => {
17654
17730
  lists.set(m.key, c);
17655
17731
  if (c.error) return c;
17656
17732
  void restoreFinished(m, c.tasks, started).catch(() => {
17657
17733
  });
17658
- const keys = readKeys(m, c.tasks.map((t) => t.repo));
17659
- if (c.tasks.some((t) => {
17660
- var _a;
17661
- return !((_a = repoKeys.get(m.key)) == null ? void 0 : _a.has(t.repo));
17662
- })) await Promise.race([keys, new Promise((r) => {
17663
- var _a, _b;
17664
- return (_b = (_a = setTimeout(r, KEYS_WAIT_MS)).unref) == null ? void 0 : _b.call(_a);
17665
- })]);
17734
+ void readKeys(m, c.tasks.map((t) => t.repo));
17666
17735
  return c;
17667
17736
  }).finally(() => reading$1.delete(m.key));
17668
17737
  reading$1.set(m.key, read);
@@ -17670,9 +17739,14 @@ function readList(m) {
17670
17739
  }
17671
17740
  const KEYS_TTL_MS = 10 * 6e4;
17672
17741
  const KEYS_RETRY_MS = 6e4;
17673
- const KEYS_WAIT_MS = 3e3;
17742
+ const KEYS_WAIT_MS = 1e3;
17674
17743
  const repoKeys = /* @__PURE__ */ new Map();
17675
- const keysReading = /* @__PURE__ */ new Set();
17744
+ const keysReading = /* @__PURE__ */ new Map();
17745
+ const keysMissing = (machine, c) => c.tasks.some((t) => {
17746
+ var _a;
17747
+ return !((_a = repoKeys.get(machine)) == null ? void 0 : _a.has(t.repo));
17748
+ });
17749
+ const keysPending = (machine, c) => !c.error && keysReading.has(machine) && keysMissing(machine, c) ? { pending: true } : {};
17676
17750
  function repoKeyOf(machine, repo) {
17677
17751
  var _a, _b;
17678
17752
  return ((_b = (_a = repoKeys.get(machine)) == null ? void 0 : _a.get(repo)) == null ? void 0 : _b.key) || "";
@@ -17685,34 +17759,40 @@ const withKeys = (machine, tasks) => {
17685
17759
  return key ? { ...t, repoKey: key } : t;
17686
17760
  }) : tasks;
17687
17761
  };
17688
- async function readKeys(m, repos) {
17689
- var _a, _b;
17690
- if (keysReading.has(m.key)) return;
17762
+ function readKeys(m, repos) {
17763
+ var _a;
17764
+ const running = keysReading.get(m.key);
17765
+ if (running) return running;
17691
17766
  const known = (_a = repoKeys.get(m.key)) != null ? _a : /* @__PURE__ */ new Map();
17692
17767
  const now = Date.now();
17693
17768
  const due = [...new Set(repos)].filter((r) => {
17694
- var _a2, _b2;
17695
- return ((_b2 = (_a2 = known.get(r)) == null ? void 0 : _a2.at) != null ? _b2 : 0) <= now - KEYS_TTL_MS;
17769
+ var _a2, _b;
17770
+ return ((_b = (_a2 = known.get(r)) == null ? void 0 : _a2.at) != null ? _b : 0) <= now - KEYS_TTL_MS;
17696
17771
  });
17697
- if (!due.length) return;
17698
- keysReading.add(m.key);
17699
- try {
17772
+ if (!due.length) return Promise.resolve();
17773
+ const read = (async () => {
17774
+ var _a2;
17700
17775
  for (const r of due) {
17701
17776
  try {
17702
17777
  known.set(r, { key: parseRepoKey(await command(m, ["show", `--repo=${r}`, "--json"], LIST_TIMEOUT_MS)), at: Date.now() });
17703
17778
  } catch {
17704
- known.set(r, { key: ((_b = known.get(r)) == null ? void 0 : _b.key) || "", at: Date.now() - KEYS_TTL_MS + KEYS_RETRY_MS });
17779
+ known.set(r, { key: ((_a2 = known.get(r)) == null ? void 0 : _a2.key) || "", at: Date.now() - KEYS_TTL_MS + KEYS_RETRY_MS });
17705
17780
  }
17781
+ repoKeys.set(m.key, known);
17706
17782
  }
17707
- repoKeys.set(m.key, known);
17708
- } finally {
17709
- keysReading.delete(m.key);
17710
- }
17783
+ })().finally(() => keysReading.delete(m.key));
17784
+ keysReading.set(m.key, read);
17785
+ return read;
17711
17786
  }
17712
17787
  function shown(machine, c) {
17713
17788
  return { tasks: withKeys(machine, c.tasks), ...c.readAt ? { at: c.readAt } : {}, ...c.error ? { error: c.error, stale: c.tasks.length > 0 } : {} };
17714
17789
  }
17790
+ const after = (ms) => new Promise((resolve) => {
17791
+ var _a, _b;
17792
+ return (_b = (_a = setTimeout(() => resolve(null), Math.max(0, ms))).unref) == null ? void 0 : _b.call(_a);
17793
+ });
17715
17794
  async function machineTasks(m, fresh = false) {
17795
+ const started = Date.now();
17716
17796
  const last = lists.get(m.key);
17717
17797
  if (!m.local && m.status !== "online") {
17718
17798
  const error = fmt("{machine} is unreachable", { machine: m.label });
@@ -17726,14 +17806,18 @@ async function machineTasks(m, fresh = false) {
17726
17806
  }
17727
17807
  const base = { machine: m.key, status: info.status, version: info.version || "" };
17728
17808
  if (info.status !== "ready") return { ...base, tasks: [] };
17729
- if (last && Date.now() - last.at < REUSE_MS$1) return { ...base, ...shown(m.key, last) };
17730
- const deadline = new Promise((resolve) => {
17731
- var _a, _b;
17732
- return (_b = (_a = setTimeout(() => resolve(null), READ_DEADLINE_MS)).unref) == null ? void 0 : _b.call(_a);
17809
+ if (last && Date.now() - last.at < REUSE_MS$1) return { ...base, ...shown(m.key, last), ...keysPending(m.key, last) };
17810
+ let c = await Promise.race([readList(m), after(waits.deadline)]);
17811
+ if (!c && last) return { ...base, tasks: withKeys(m.key, last.tasks), ...last.readAt ? { at: last.readAt } : {}, stale: true, pending: true };
17812
+ if (!c) c = await Promise.race([readList(m), after(waits.first - (Date.now() - started))]);
17813
+ if (!c) return { ...base, tasks: [], stale: true, pending: true };
17814
+ const keys = keysReading.get(m.key);
17815
+ if (!c.error && keys && keysMissing(m.key, c)) await Promise.race([keys, after(Math.min(KEYS_WAIT_MS, started + waits.deadline - Date.now()))]);
17816
+ return { ...base, ...shown(m.key, c), ...keysPending(m.key, c) };
17817
+ }
17818
+ function warmTasksBoard() {
17819
+ readTasksBoard().catch(() => {
17733
17820
  });
17734
- const c = await Promise.race([readList(m), deadline]);
17735
- if (!c) return { ...base, tasks: withKeys(m.key, (last == null ? void 0 : last.tasks) || []), ...(last == null ? void 0 : last.readAt) ? { at: last.readAt } : {}, stale: true };
17736
- return { ...base, ...shown(m.key, c) };
17737
17821
  }
17738
17822
  async function readTasksBoard(since) {
17739
17823
  const machines = (await Promise.all(baseMachines().map((m) => machineTasks(m, !since)))).filter((x) => x !== null);
@@ -17796,6 +17880,18 @@ async function tellTask(machine, id, text) {
17796
17880
  log(`herdr-projects tell ${tid}${m.local ? "" : ` on ${m.label}`}`);
17797
17881
  return { ok: true, msg: firstLine(out) };
17798
17882
  }
17883
+ async function describeTask(machine, id, text) {
17884
+ var _a;
17885
+ const m = boardOf(machine);
17886
+ const tid = checkId(id);
17887
+ if (!m.local && m.status !== "online") throw new HerdrError("offline", fmt("{machine} is unreachable", { machine: m.label }));
17888
+ if (typeof text !== "string" || text.includes("\0")) throw new HerdrError("bad_action", "Invalid description");
17889
+ const file = await readTaskFile(m, tid);
17890
+ if ((file == null ? void 0 : file.archivedAt) || ((_a = await taskOf(m, tid)) == null ? void 0 : _a.archived)) throw new HerdrError("bad_action", "Archived tasks are read-only");
17891
+ const out = await command(m, ["describe", "--", tid, text], ACTION_TIMEOUT_MS, true);
17892
+ forget(m);
17893
+ return { ok: true, msg: firstLine(out) };
17894
+ }
17799
17895
  async function approveTask(machine, id, anyway = false) {
17800
17896
  const m = boardOf(machine);
17801
17897
  const tid = checkId(id);
@@ -17808,7 +17904,7 @@ async function approveTask(machine, id, anyway = false) {
17808
17904
  log(`herdr-projects approve ${tid}${m.local ? "" : ` on ${m.label}`}`);
17809
17905
  return { ok: true, msg: firstLine(out) };
17810
17906
  }
17811
- async function taskCommand(machine, id, action, agent, after, effort) {
17907
+ async function taskCommand(machine, id, action, agent, after2, effort) {
17812
17908
  const m = boardOf(machine);
17813
17909
  const tid = checkId(id);
17814
17910
  if (!isTaskCommand(action)) throw new HerdrError("bad_action", "Unknown action");
@@ -17816,8 +17912,8 @@ async function taskCommand(machine, id, action, agent, after, effort) {
17816
17912
  if (chosen !== null && action !== "delegate") throw new HerdrError("bad_action", "Only Start takes an agent");
17817
17913
  const level = effort === void 0 || effort === null || effort === "" ? null : effort;
17818
17914
  if (level !== null && (action !== "delegate" || !isEffortName(level))) throw new HerdrError("bad_effort", "Invalid effort");
17819
- const waits = after === void 0 || after === null ? null : cleanAfterRefs(after);
17820
- if (after !== void 0 && after !== null && (!waits || action !== "delegate")) throw new HerdrError("bad_after", "Invalid tasks to wait for");
17915
+ const waits2 = after2 === void 0 || after2 === null ? null : cleanAfterRefs(after2);
17916
+ if (after2 !== void 0 && after2 !== null && (!waits2 || action !== "delegate")) throw new HerdrError("bad_after", "Invalid tasks to wait for");
17821
17917
  if (chosen !== null && (!isAgentName(chosen) || !(await installedAgentKinds(m)).includes(agentKind(chosen)))) {
17822
17918
  throw new HerdrError("bad_agent", fmt("{agent} is not installed on {machine}", { agent: isAgentName(chosen) ? agentKind(chosen) : "?", machine: m.label }));
17823
17919
  }
@@ -17837,12 +17933,12 @@ async function taskCommand(machine, id, action, agent, after, effort) {
17837
17933
  prevEffort = (ownEffort == null ? void 0 : ownEffort.place) === "task" ? ownEffort.value : null;
17838
17934
  }
17839
17935
  }
17840
- const out = await command(m, action === "delegate" ? delegateArgs(tid, chosen, waits, level) : [action, "--", tid], ACTION_TIMEOUT_MS, Boolean((chosen == null ? void 0 : chosen.includes("/")) || level));
17936
+ const out = await command(m, action === "delegate" ? delegateArgs(tid, chosen, waits2, level) : [action, "--", tid], ACTION_TIMEOUT_MS, Boolean((chosen == null ? void 0 : chosen.includes("/")) || level));
17841
17937
  forget(m);
17842
17938
  const setAgent = chosen && chosen !== prev ? chosen : "";
17843
17939
  const setEffort = level && level !== prevEffort ? level : null;
17844
17940
  if (setAgent || setEffort) await rememberStartAgent(startAgentKey(m.key, tid), { agent: setAgent, prev, ...setEffort ? { effort: setEffort, prevEffort } : {}, at: Date.now() });
17845
- log(`herdr-projects ${action} ${tid}${chosen ? ` --worker.agent=${chosen}` : ""}${level ? ` --worker.effort=${level}` : ""}${waits ? ` --after=${waits.join(",")}` : ""}${m.local ? "" : ` on ${m.label}`}`);
17941
+ log(`herdr-projects ${action} ${tid}${chosen ? ` --worker.agent=${chosen}` : ""}${level ? ` --worker.effort=${level}` : ""}${waits2 ? ` --after=${waits2.join(",")}` : ""}${m.local ? "" : ` on ${m.label}`}`);
17846
17942
  return { ok: true, msg: firstLine(out) };
17847
17943
  }
17848
17944
  async function raiseTaskLimit(machine, id, name, value) {
@@ -17870,6 +17966,18 @@ function settingsRepo(repo) {
17870
17966
  if (typeof r !== "string" || r && (!cleanRepo(r) || r.startsWith("/") || r.startsWith("~"))) throw new HerdrError("bad_repo", "Invalid repository");
17871
17967
  return r;
17872
17968
  }
17969
+ async function archiveDoneTasks(machine, repo) {
17970
+ const m = boardOf(machine);
17971
+ const r = settingsRepo(repo);
17972
+ if (!r) throw new HerdrError("bad_repo", "Invalid repository");
17973
+ const launcher = await launcherOf(m);
17974
+ try {
17975
+ const result = await serial(m.key, () => runner(m, launcher, ["archive", "--done", "--repo", r], ACTION_TIMEOUT_MS));
17976
+ return { ...result, machine: m.key };
17977
+ } finally {
17978
+ forget(m);
17979
+ }
17980
+ }
17873
17981
  async function readBoardSettings(m, repo) {
17874
17982
  const [raw, agents] = await Promise.all([
17875
17983
  command(m, ["show", "--json", ...repo ? [`--repo=${repo}`] : []], LIST_TIMEOUT_MS, true),
@@ -18027,12 +18135,57 @@ async function restartCoordinator(machine, to) {
18027
18135
  log(`herdr-projects coordinator${target.kind === "main" ? "" : ` (${target.kind === "project" ? target.repo : "machine"})`} restart${m.local ? "" : ` on ${m.label}`}`);
18028
18136
  return { ok: true, msg: firstLine(out) };
18029
18137
  }
18138
+ function lookFolder(m, folder) {
18139
+ if (m.exec) return m.exec(PROJECT_FOLDER_SCRIPT, [folder], { timeoutMs: 1e4 }).then((r) => r.stdout.toString("utf8"));
18140
+ return new Promise((resolve, reject) => execFile(
18141
+ "sh",
18142
+ ["-c", PROJECT_FOLDER_SCRIPT, "sh", folder],
18143
+ { timeout: 1e4, maxBuffer: 64 * 1024 },
18144
+ (e, out) => e ? reject(e) : resolve(String(out || ""))
18145
+ ));
18146
+ }
18147
+ async function readRepos(m) {
18148
+ try {
18149
+ return JSON.parse(await m.fs.readFile(path$1.posix.join(m.home, ".herdr-projects/data/repos.json")));
18150
+ } catch (e) {
18151
+ if (missing(e)) return {};
18152
+ throw e;
18153
+ }
18154
+ }
18155
+ async function folderState(m, folder) {
18156
+ const repo = cleanRepo(folder);
18157
+ if (!repo || !isFolderRef(repo)) throw new HerdrError("bad_repo", "Invalid repo");
18158
+ return projectFolderOf(parseFolderLook(await lookFolder(m, repo)), await readRepos(m));
18159
+ }
18160
+ async function projectFolder(machine, folder) {
18161
+ return folderState(boardOf(machine), typeof folder === "string" ? folder : "");
18162
+ }
18163
+ async function registerProject(machine, folder) {
18164
+ const m = boardOf(machine);
18165
+ const f = await folderState(m, typeof folder === "string" ? folder : "");
18166
+ if (f.state === "missing") throw new HerdrError("folder_missing", FOLDER_MISSING);
18167
+ if (f.state === "notgit") throw new HerdrError("folder_not_git", FOLDER_NOT_GIT);
18168
+ if (f.state === "known") return { repo: f.repo, root: f.root, added: false };
18169
+ const name = `wherdr-add-repo-${randomBytes(4).toString("hex")}`;
18170
+ await command(m, ["automations", "add", `--prompt=${REGISTER_PROMPT}`, "--when=merged", `--repo=${f.root}`, "--", name]);
18171
+ try {
18172
+ await command(m, ["automations", "remove", "--", name]);
18173
+ } catch (e) {
18174
+ throw new HerdrError("projects_failed", fmt("The repository is on the board now, but the automation {name} that added it could not be removed: {why}", { name, why: e.message }));
18175
+ }
18176
+ forget(m);
18177
+ const repo = repoNameOf(await readRepos(m), f.root);
18178
+ if (!repo) throw new HerdrError("projects_failed", "herdr-projects did not add the repository to the board.");
18179
+ log(`herdr-projects: repo ${repo} added${m.local ? "" : ` on ${m.label}`}`);
18180
+ return { repo, root: f.root, added: true };
18181
+ }
18030
18182
  async function tellCoordinator(machine, text, opts = {}) {
18031
18183
  const m = boardOf(machine);
18032
18184
  const words = cleanTell(text);
18033
18185
  if (!words) throw new HerdrError("empty", "Nothing to send");
18034
- const to = cleanTarget(opts.to);
18186
+ let to = cleanTarget(opts.to);
18035
18187
  if (!to) throw new HerdrError("bad_target", "Invalid coordinator");
18188
+ if (to.kind === "project" && isFolderRef(to.repo)) to = { kind: "project", repo: (await registerProject(m.key, to.repo)).repo };
18036
18189
  if (opts.start !== void 0) {
18037
18190
  const start = opts.start;
18038
18191
  if (!start || typeof start.agent !== "string" || !/^[a-z][a-z0-9-]*(?:\/[A-Za-z0-9._/-]+)?$/.test(start.agent) || start.agent.length > 160 || start.effort !== void 0 && !["low", "medium", "high", "xhigh", "max"].includes(String(start.effort))) {
@@ -18047,7 +18200,7 @@ async function tellCoordinator(machine, text, opts = {}) {
18047
18200
  const out = await command(m, coordinatorArgs(to, words, opts.delegate === true));
18048
18201
  forget(m);
18049
18202
  log(`herdr-projects coordinator${to.kind === "main" ? "" : ` (${to.kind === "project" ? to.repo : "machine"})`} tell${opts.delegate === true ? " --delegate" : ""}${m.local ? "" : ` on ${m.label}`}`);
18050
- return { ok: true, msg: firstLine(out) };
18203
+ return { ok: true, msg: firstLine(out), ...to.kind === "project" ? { repo: to.repo } : {} };
18051
18204
  }
18052
18205
  async function askTaskCoordinator(machine, id, text) {
18053
18206
  const tid = checkId(id);
@@ -24606,9 +24759,12 @@ async function cleanAttachments() {
24606
24759
  }
24607
24760
 
24608
24761
  const _mZt23IdRC2vLuqDtWT6mb7m9BgHXq3U5QrnQ7Z5Hc4c = defineNitroPlugin((nitroApp) => {
24762
+ var _a;
24609
24763
  initVapid();
24610
24764
  startMachines();
24611
24765
  startPolling();
24766
+ const warm = setTimeout(warmTasksBoard, 2e3);
24767
+ (_a = warm.unref) == null ? void 0 : _a.call(warm);
24612
24768
  startNotices();
24613
24769
  startPaneSizes();
24614
24770
  onTailnetName(adoptTailnetName);
@@ -24655,436 +24811,878 @@ const assets = {
24655
24811
  "/manifest-en.webmanifest": {
24656
24812
  "type": "application/manifest+json",
24657
24813
  "etag": "\"260-q1JnCK0/ecdKwgeTve6N4I6/mWI\"",
24658
- "mtime": "2026-10-25T14:36:41.147Z",
24814
+ "mtime": "2026-10-26T14:10:22.225Z",
24659
24815
  "size": 608,
24660
24816
  "path": "../public/manifest-en.webmanifest"
24661
24817
  },
24662
24818
  "/manifest.webmanifest": {
24663
24819
  "type": "application/manifest+json",
24664
24820
  "etag": "\"26e-ykoYuj4V8la457yChW3oQTur8RU\"",
24665
- "mtime": "2026-10-25T14:36:41.147Z",
24821
+ "mtime": "2026-10-26T14:10:22.225Z",
24666
24822
  "size": 622,
24667
24823
  "path": "../public/manifest.webmanifest"
24668
24824
  },
24669
- "/_nuxt/AgentView.DzFWBd2A.css": {
24670
- "type": "text/css; charset=utf-8",
24671
- "etag": "\"16c2-oz6EmjJDgIf6r38fC9pJHsZoJww\"",
24672
- "mtime": "2026-10-25T14:36:41.143Z",
24673
- "size": 5826,
24674
- "path": "../public/_nuxt/AgentView.DzFWBd2A.css"
24675
- },
24676
24825
  "/sw.js": {
24677
24826
  "type": "text/javascript; charset=utf-8",
24678
- "etag": "\"1bde-9Us40sJIbVEdROGrEFCRiRvxrf4\"",
24679
- "mtime": "2026-10-25T14:36:41.375Z",
24827
+ "etag": "\"1bde-nXVM/7NxRi/09y4goa/Tn5hVmTw\"",
24828
+ "mtime": "2026-10-26T14:10:25.928Z",
24680
24829
  "size": 7134,
24681
24830
  "path": "../public/sw.js"
24682
24831
  },
24832
+ "/_nuxt/30nuHmZs.js": {
24833
+ "type": "text/javascript; charset=utf-8",
24834
+ "encoding": null,
24835
+ "etag": "\"d4f-EN8li9vxnDBqPf2TEsUqw/vB8uE\"",
24836
+ "mtime": "2026-10-26T14:10:22.221Z",
24837
+ "size": 3407,
24838
+ "path": "../public/_nuxt/30nuHmZs.js"
24839
+ },
24840
+ "/_nuxt/30nuHmZs.js.br": {
24841
+ "type": "text/javascript; charset=utf-8",
24842
+ "encoding": "br",
24843
+ "etag": "\"52b-b/98d4AC8ZGrLDqaPRkD+rcsxRg\"",
24844
+ "mtime": "2026-10-26T14:10:22.248Z",
24845
+ "size": 1323,
24846
+ "path": "../public/_nuxt/30nuHmZs.js.br"
24847
+ },
24848
+ "/_nuxt/30nuHmZs.js.gz": {
24849
+ "type": "text/javascript; charset=utf-8",
24850
+ "encoding": "gzip",
24851
+ "etag": "\"605-p4LBYlywiePuVtYpZIDBSy+FclU\"",
24852
+ "mtime": "2026-10-26T14:10:22.246Z",
24853
+ "size": 1541,
24854
+ "path": "../public/_nuxt/30nuHmZs.js.gz"
24855
+ },
24856
+ "/_nuxt/AgentView.CfD2RWZY.css": {
24857
+ "type": "text/css; charset=utf-8",
24858
+ "encoding": null,
24859
+ "etag": "\"16c2-wZvJj+dx6OvnTLQO8UFAESG9QqU\"",
24860
+ "mtime": "2026-10-26T14:10:22.221Z",
24861
+ "size": 5826,
24862
+ "path": "../public/_nuxt/AgentView.CfD2RWZY.css"
24863
+ },
24864
+ "/_nuxt/AgentView.CfD2RWZY.css.br": {
24865
+ "type": "text/css; charset=utf-8",
24866
+ "encoding": "br",
24867
+ "etag": "\"4ec-Gof/la2KVayXbTdgrzh5AMEpNnY\"",
24868
+ "mtime": "2026-10-26T14:10:22.248Z",
24869
+ "size": 1260,
24870
+ "path": "../public/_nuxt/AgentView.CfD2RWZY.css.br"
24871
+ },
24872
+ "/_nuxt/AgentView.CfD2RWZY.css.gz": {
24873
+ "type": "text/css; charset=utf-8",
24874
+ "encoding": "gzip",
24875
+ "etag": "\"5d6-5QSipj30mK6iZZFKEZC5ngTE+NI\"",
24876
+ "mtime": "2026-10-26T14:10:22.248Z",
24877
+ "size": 1494,
24878
+ "path": "../public/_nuxt/AgentView.CfD2RWZY.css.gz"
24879
+ },
24683
24880
  "/_nuxt/BDNMzG2s.js": {
24684
24881
  "type": "text/javascript; charset=utf-8",
24685
24882
  "etag": "\"54-MasMfSk/A98C3Gn9uIOxtFxkWNw\"",
24686
- "mtime": "2026-10-25T14:36:41.143Z",
24883
+ "mtime": "2026-10-26T14:10:22.221Z",
24687
24884
  "size": 84,
24688
24885
  "path": "../public/_nuxt/BDNMzG2s.js"
24689
24886
  },
24690
- "/_nuxt/BETID3_E.js": {
24691
- "type": "text/javascript; charset=utf-8",
24692
- "etag": "\"37da-xw/1fGQvz/EwpVjdrdnUGCflubU\"",
24693
- "mtime": "2026-10-25T14:36:41.143Z",
24694
- "size": 14298,
24695
- "path": "../public/_nuxt/BETID3_E.js"
24696
- },
24697
- "/_nuxt/BHenDMeH.js": {
24887
+ "/_nuxt/BYZVrreW.js": {
24698
24888
  "type": "text/javascript; charset=utf-8",
24699
- "etag": "\"d4e-6atMy8edgvljnZDBfwN9qeJad4o\"",
24700
- "mtime": "2026-10-25T14:36:41.143Z",
24701
- "size": 3406,
24702
- "path": "../public/_nuxt/BHenDMeH.js"
24889
+ "etag": "\"10a-N491fDe6XBCO0Ywz8HJPp1b+bmk\"",
24890
+ "mtime": "2026-10-26T14:10:22.221Z",
24891
+ "size": 266,
24892
+ "path": "../public/_nuxt/BYZVrreW.js"
24703
24893
  },
24704
24894
  "/_nuxt/Bd17z0YL.js": {
24705
24895
  "type": "text/javascript; charset=utf-8",
24896
+ "encoding": null,
24706
24897
  "etag": "\"1615-CPDn06/EO3pj6KudXz5uMZ0FkhI\"",
24707
- "mtime": "2026-10-25T14:36:41.143Z",
24898
+ "mtime": "2026-10-26T14:10:22.221Z",
24708
24899
  "size": 5653,
24709
24900
  "path": "../public/_nuxt/Bd17z0YL.js"
24710
24901
  },
24711
- "/_nuxt/BhgehRdJ.js": {
24902
+ "/_nuxt/B8pUlE1v.js.br": {
24712
24903
  "type": "text/javascript; charset=utf-8",
24713
- "etag": "\"238-cpJsvy8zDi+3gC078VNBKnTy+5A\"",
24714
- "mtime": "2026-10-25T14:36:41.143Z",
24715
- "size": 568,
24716
- "path": "../public/_nuxt/BhgehRdJ.js"
24904
+ "encoding": "br",
24905
+ "etag": "\"22754-lVrmS1AU6qY1EjEQRUR+1lZiBDA\"",
24906
+ "mtime": "2026-10-26T14:10:23.903Z",
24907
+ "size": 141140,
24908
+ "path": "../public/_nuxt/B8pUlE1v.js.br"
24717
24909
  },
24718
- "/_nuxt/BYZVrreW.js": {
24910
+ "/_nuxt/Bd17z0YL.js.br": {
24719
24911
  "type": "text/javascript; charset=utf-8",
24720
- "etag": "\"10a-N491fDe6XBCO0Ywz8HJPp1b+bmk\"",
24721
- "mtime": "2026-10-25T14:36:41.143Z",
24722
- "size": 266,
24723
- "path": "../public/_nuxt/BYZVrreW.js"
24912
+ "encoding": "br",
24913
+ "etag": "\"79e-qSbhutNsc4/hJ9HEH8GMg3hBxLY\"",
24914
+ "mtime": "2026-10-26T14:10:22.248Z",
24915
+ "size": 1950,
24916
+ "path": "../public/_nuxt/Bd17z0YL.js.br"
24917
+ },
24918
+ "/_nuxt/B8pUlE1v.js.gz": {
24919
+ "type": "text/javascript; charset=utf-8",
24920
+ "encoding": "gzip",
24921
+ "etag": "\"2b333-imwTWVsUniMVLnfgm/+9x+NLJww\"",
24922
+ "mtime": "2026-10-26T14:10:23.143Z",
24923
+ "size": 176947,
24924
+ "path": "../public/_nuxt/B8pUlE1v.js.gz"
24925
+ },
24926
+ "/_nuxt/Bd17z0YL.js.gz": {
24927
+ "type": "text/javascript; charset=utf-8",
24928
+ "encoding": "gzip",
24929
+ "etag": "\"897-ZZlS54zocIqfLiWEynRKnIn7L2s\"",
24930
+ "mtime": "2026-10-26T14:10:22.248Z",
24931
+ "size": 2199,
24932
+ "path": "../public/_nuxt/Bd17z0YL.js.gz"
24933
+ },
24934
+ "/_nuxt/Bo4dpAxE.js.gz": {
24935
+ "type": "text/javascript; charset=utf-8",
24936
+ "encoding": "gzip",
24937
+ "etag": "\"1d891-KFDe3s5vK4uinQeu/lQ7+MK9l9Q\"",
24938
+ "mtime": "2026-10-26T14:10:22.734Z",
24939
+ "size": 120977,
24940
+ "path": "../public/_nuxt/Bo4dpAxE.js.gz"
24724
24941
  },
24725
24942
  "/_nuxt/Bpoxvzh6.js": {
24726
24943
  "type": "text/javascript; charset=utf-8",
24944
+ "encoding": null,
24727
24945
  "etag": "\"1c49-bXAEhdP8o69g6PbBI2Q4c1IQs2I\"",
24728
- "mtime": "2026-10-25T14:36:41.143Z",
24946
+ "mtime": "2026-10-26T14:10:22.221Z",
24729
24947
  "size": 7241,
24730
24948
  "path": "../public/_nuxt/Bpoxvzh6.js"
24731
24949
  },
24732
- "/_nuxt/BtH82ZuZ.js": {
24950
+ "/_nuxt/Bpoxvzh6.js.br": {
24733
24951
  "type": "text/javascript; charset=utf-8",
24734
- "etag": "\"23cfc-ouHXu3WaC0wM2nQkoyw6165HbDU\"",
24735
- "mtime": "2026-10-25T14:36:41.143Z",
24736
- "size": 146684,
24737
- "path": "../public/_nuxt/BtH82ZuZ.js"
24952
+ "encoding": "br",
24953
+ "etag": "\"a31-oBhf4FiOofT/RLwig8y7hADIbSA\"",
24954
+ "mtime": "2026-10-26T14:10:22.256Z",
24955
+ "size": 2609,
24956
+ "path": "../public/_nuxt/Bpoxvzh6.js.br"
24957
+ },
24958
+ "/_nuxt/Bpoxvzh6.js.gz": {
24959
+ "type": "text/javascript; charset=utf-8",
24960
+ "encoding": "gzip",
24961
+ "etag": "\"b41-rn0l2lZATd/tAqdp1MPScL1c0mA\"",
24962
+ "mtime": "2026-10-26T14:10:22.249Z",
24963
+ "size": 2881,
24964
+ "path": "../public/_nuxt/Bpoxvzh6.js.gz"
24965
+ },
24966
+ "/_nuxt/Bo4dpAxE.js.br": {
24967
+ "type": "text/javascript; charset=utf-8",
24968
+ "encoding": "br",
24969
+ "etag": "\"19025-XuwZGl8HFGudRYB/MRW9cD38FL4\"",
24970
+ "mtime": "2026-10-26T14:10:23.244Z",
24971
+ "size": 102437,
24972
+ "path": "../public/_nuxt/Bo4dpAxE.js.br"
24973
+ },
24974
+ "/_nuxt/C25ROUa9.js.br": {
24975
+ "type": "text/javascript; charset=utf-8",
24976
+ "encoding": "br",
24977
+ "etag": "\"80f0-NhDll6VrOupqHqwk4yBxvm5jq18\"",
24978
+ "mtime": "2026-10-26T14:10:22.475Z",
24979
+ "size": 33008,
24980
+ "path": "../public/_nuxt/C25ROUa9.js.br"
24738
24981
  },
24739
24982
  "/_nuxt/C25ROUa9.js": {
24740
24983
  "type": "text/javascript; charset=utf-8",
24984
+ "encoding": null,
24741
24985
  "etag": "\"176b5-t7ykke36hXndVVgSfWGMLAcfqiU\"",
24742
- "mtime": "2026-10-25T14:36:41.143Z",
24986
+ "mtime": "2026-10-26T14:10:22.221Z",
24743
24987
  "size": 95925,
24744
24988
  "path": "../public/_nuxt/C25ROUa9.js"
24745
24989
  },
24746
- "/_nuxt/C3Bkn4ac.js": {
24990
+ "/_nuxt/Bo4dpAxE.js": {
24991
+ "type": "text/javascript; charset=utf-8",
24992
+ "encoding": null,
24993
+ "etag": "\"5ed1a-zR6mPqAQgo0zCzvEbhLVF+cRbf0\"",
24994
+ "mtime": "2026-10-26T14:10:22.221Z",
24995
+ "size": 388378,
24996
+ "path": "../public/_nuxt/Bo4dpAxE.js"
24997
+ },
24998
+ "/_nuxt/B8pUlE1v.js": {
24999
+ "type": "text/javascript; charset=utf-8",
25000
+ "encoding": null,
25001
+ "etag": "\"a2b60-YgvCr66njiClycls/Ov/FTg1Kdo\"",
25002
+ "mtime": "2026-10-26T14:10:22.221Z",
25003
+ "size": 666464,
25004
+ "path": "../public/_nuxt/B8pUlE1v.js"
25005
+ },
25006
+ "/_nuxt/C25ROUa9.js.gz": {
25007
+ "type": "text/javascript; charset=utf-8",
25008
+ "encoding": "gzip",
25009
+ "etag": "\"8fac-0dHfNcSWZNWAsX3MngUQ3KiWnaU\"",
25010
+ "mtime": "2026-10-26T14:10:22.472Z",
25011
+ "size": 36780,
25012
+ "path": "../public/_nuxt/C25ROUa9.js.gz"
25013
+ },
25014
+ "/_nuxt/CBJ483HL.js": {
24747
25015
  "type": "text/javascript; charset=utf-8",
24748
- "etag": "\"14e97-gYEsUQjVOorf5cwW6j6JEihzzZs\"",
24749
- "mtime": "2026-10-25T14:36:41.144Z",
24750
- "size": 85655,
24751
- "path": "../public/_nuxt/C3Bkn4ac.js"
25016
+ "etag": "\"13f-x3mIsvRwdov/yE+dC3WREDAz5UE\"",
25017
+ "mtime": "2026-10-26T14:10:22.221Z",
25018
+ "size": 319,
25019
+ "path": "../public/_nuxt/CBJ483HL.js"
24752
25020
  },
24753
25021
  "/_nuxt/CDWjMk9C.js": {
24754
25022
  "type": "text/javascript; charset=utf-8",
25023
+ "encoding": null,
24755
25024
  "etag": "\"7e5c-4oH4bzjszPo3bZwQbTcPqcxL7Q8\"",
24756
- "mtime": "2026-10-25T14:36:41.143Z",
25025
+ "mtime": "2026-10-26T14:10:22.221Z",
24757
25026
  "size": 32348,
24758
25027
  "path": "../public/_nuxt/CDWjMk9C.js"
24759
25028
  },
25029
+ "/_nuxt/CDWjMk9C.js.br": {
25030
+ "type": "text/javascript; charset=utf-8",
25031
+ "encoding": "br",
25032
+ "etag": "\"2c7d-MSYhOFOyxFG7EGTLaDrRc1PTgP4\"",
25033
+ "mtime": "2026-10-26T14:10:22.471Z",
25034
+ "size": 11389,
25035
+ "path": "../public/_nuxt/CDWjMk9C.js.br"
25036
+ },
25037
+ "/_nuxt/CDWjMk9C.js.gz": {
25038
+ "type": "text/javascript; charset=utf-8",
25039
+ "encoding": "gzip",
25040
+ "etag": "\"3112-7vQD7fBK1KDlVHHbgySojvVCDho\"",
25041
+ "mtime": "2026-10-26T14:10:22.471Z",
25042
+ "size": 12562,
25043
+ "path": "../public/_nuxt/CDWjMk9C.js.gz"
25044
+ },
25045
+ "/_nuxt/CJF9DrFj.js": {
25046
+ "type": "text/javascript; charset=utf-8",
25047
+ "encoding": null,
25048
+ "etag": "\"144a6-Q98J4dejPsfM7yRSS1QBIe1oCJs\"",
25049
+ "mtime": "2026-10-26T14:10:22.221Z",
25050
+ "size": 83110,
25051
+ "path": "../public/_nuxt/CJF9DrFj.js"
25052
+ },
25053
+ "/_nuxt/CJF9DrFj.js.br": {
25054
+ "type": "text/javascript; charset=utf-8",
25055
+ "encoding": "br",
25056
+ "etag": "\"51a4-jj2W8sEkdrHJ7omoM9BJA58SiGM\"",
25057
+ "mtime": "2026-10-26T14:10:22.480Z",
25058
+ "size": 20900,
25059
+ "path": "../public/_nuxt/CJF9DrFj.js.br"
25060
+ },
25061
+ "/_nuxt/CJF9DrFj.js.gz": {
25062
+ "type": "text/javascript; charset=utf-8",
25063
+ "encoding": "gzip",
25064
+ "etag": "\"5c78-p9WxuVrVBQbyY67Qik8uFQH+fhs\"",
25065
+ "mtime": "2026-10-26T14:10:22.472Z",
25066
+ "size": 23672,
25067
+ "path": "../public/_nuxt/CJF9DrFj.js.gz"
25068
+ },
24760
25069
  "/_nuxt/CXJnLmWv.js": {
24761
25070
  "type": "text/javascript; charset=utf-8",
25071
+ "encoding": null,
24762
25072
  "etag": "\"2426-wVRk+id72MiZ5Jk+fsnfLyJbNcM\"",
24763
- "mtime": "2026-10-25T14:36:41.143Z",
25073
+ "mtime": "2026-10-26T14:10:22.221Z",
24764
25074
  "size": 9254,
24765
25075
  "path": "../public/_nuxt/CXJnLmWv.js"
24766
25076
  },
24767
- "/_nuxt/CuUQ4mEf.js": {
25077
+ "/_nuxt/CXJnLmWv.js.br": {
25078
+ "type": "text/javascript; charset=utf-8",
25079
+ "encoding": "br",
25080
+ "etag": "\"ddb-HQOV8vHjZ1W3hzhqgfZLIV3eGPA\"",
25081
+ "mtime": "2026-10-26T14:10:22.824Z",
25082
+ "size": 3547,
25083
+ "path": "../public/_nuxt/CXJnLmWv.js.br"
25084
+ },
25085
+ "/_nuxt/CXJnLmWv.js.gz": {
24768
25086
  "type": "text/javascript; charset=utf-8",
24769
- "etag": "\"eab-YXbs4qy3BkXKNM2DnQ4hSONXY6Y\"",
24770
- "mtime": "2026-10-25T14:36:41.143Z",
24771
- "size": 3755,
24772
- "path": "../public/_nuxt/CuUQ4mEf.js"
25087
+ "encoding": "gzip",
25088
+ "etag": "\"f2a-JOq3Ui2nTl6A2z6tR8c7DVsY0tQ\"",
25089
+ "mtime": "2026-10-26T14:10:22.637Z",
25090
+ "size": 3882,
25091
+ "path": "../public/_nuxt/CXJnLmWv.js.gz"
25092
+ },
25093
+ "/_nuxt/DNAl4698.js": {
25094
+ "type": "text/javascript; charset=utf-8",
25095
+ "encoding": null,
25096
+ "etag": "\"23cfc-0Wf8NxnoY/HM8G3nXi1vsLzWEUE\"",
25097
+ "mtime": "2026-10-26T14:10:22.221Z",
25098
+ "size": 146684,
25099
+ "path": "../public/_nuxt/DNAl4698.js"
25100
+ },
25101
+ "/_nuxt/DNAl4698.js.gz": {
25102
+ "type": "text/javascript; charset=utf-8",
25103
+ "encoding": "gzip",
25104
+ "etag": "\"8562-yupqTGfYvI3iFyVQJBUTMpmyK14\"",
25105
+ "mtime": "2026-10-26T14:10:22.925Z",
25106
+ "size": 34146,
25107
+ "path": "../public/_nuxt/DNAl4698.js.gz"
25108
+ },
25109
+ "/_nuxt/DNAl4698.js.br": {
25110
+ "type": "text/javascript; charset=utf-8",
25111
+ "encoding": "br",
25112
+ "etag": "\"6f19-ZNlFyquNKAtaL3jGxqG/XfTo6mA\"",
25113
+ "mtime": "2026-10-26T14:10:22.950Z",
25114
+ "size": 28441,
25115
+ "path": "../public/_nuxt/DNAl4698.js.br"
25116
+ },
25117
+ "/_nuxt/DOnGrCAZ.js": {
25118
+ "type": "text/javascript; charset=utf-8",
25119
+ "etag": "\"238-oqAIuw2DiRNSm9DgZvv1kYjIJUE\"",
25120
+ "mtime": "2026-10-26T14:10:22.221Z",
25121
+ "size": 568,
25122
+ "path": "../public/_nuxt/DOnGrCAZ.js"
25123
+ },
25124
+ "/_nuxt/DR832Br-.js.br": {
25125
+ "type": "text/javascript; charset=utf-8",
25126
+ "encoding": "br",
25127
+ "etag": "\"a93d-J0zhFL4KjE0JR6gwwkoZfplo9Dc\"",
25128
+ "mtime": "2026-10-26T14:10:22.953Z",
25129
+ "size": 43325,
25130
+ "path": "../public/_nuxt/DR832Br-.js.br"
25131
+ },
25132
+ "/_nuxt/DR832Br-.js": {
25133
+ "type": "text/javascript; charset=utf-8",
25134
+ "encoding": null,
25135
+ "etag": "\"2958f-cu9s/C7PmgCsLJ14zWq83quT08o\"",
25136
+ "mtime": "2026-10-26T14:10:22.221Z",
25137
+ "size": 169359,
25138
+ "path": "../public/_nuxt/DR832Br-.js"
25139
+ },
25140
+ "/_nuxt/DR832Br-.js.gz": {
25141
+ "type": "text/javascript; charset=utf-8",
25142
+ "encoding": "gzip",
25143
+ "etag": "\"c701-wUt0xtCNQwIaxAurv0AUa3Sh4NY\"",
25144
+ "mtime": "2026-10-26T14:10:22.953Z",
25145
+ "size": 50945,
25146
+ "path": "../public/_nuxt/DR832Br-.js.gz"
24773
25147
  },
24774
25148
  "/_nuxt/DZGKxROq.js": {
24775
25149
  "type": "text/javascript; charset=utf-8",
25150
+ "encoding": null,
24776
25151
  "etag": "\"177e8-Kp/J1L5WQfcj1p/uga/yK8z6sS0\"",
24777
- "mtime": "2026-10-25T14:36:41.143Z",
25152
+ "mtime": "2026-10-26T14:10:22.221Z",
24778
25153
  "size": 96232,
24779
25154
  "path": "../public/_nuxt/DZGKxROq.js"
24780
25155
  },
24781
- "/_nuxt/DFGEl0v2.js": {
25156
+ "/_nuxt/DZGKxROq.js.br": {
24782
25157
  "type": "text/javascript; charset=utf-8",
24783
- "etag": "\"38ef5-xtqC9inZylhowyHVxxFEZImk4H0\"",
24784
- "mtime": "2026-10-25T14:36:41.143Z",
24785
- "size": 233205,
24786
- "path": "../public/_nuxt/DFGEl0v2.js"
25158
+ "encoding": "br",
25159
+ "etag": "\"568b-efoA33hJqjFBR3Pnz0iEtXqJJEg\"",
25160
+ "mtime": "2026-10-26T14:10:23.059Z",
25161
+ "size": 22155,
25162
+ "path": "../public/_nuxt/DZGKxROq.js.br"
24787
25163
  },
24788
- "/_nuxt/DmkWvmnE.js": {
25164
+ "/_nuxt/DZGKxROq.js.gz": {
24789
25165
  "type": "text/javascript; charset=utf-8",
24790
- "etag": "\"26737-gPxreX7mIBlikkRnPWxbbZl65PQ\"",
24791
- "mtime": "2026-10-25T14:36:41.143Z",
24792
- "size": 157495,
24793
- "path": "../public/_nuxt/DmkWvmnE.js"
25166
+ "encoding": "gzip",
25167
+ "etag": "\"63a8-zfY96huCy3+2N5Efj5SymfgMrX0\"",
25168
+ "mtime": "2026-10-26T14:10:22.951Z",
25169
+ "size": 25512,
25170
+ "path": "../public/_nuxt/DZGKxROq.js.gz"
24794
25171
  },
24795
- "/_nuxt/DyfFwwGq.js": {
25172
+ "/_nuxt/DclfLrr5.js": {
24796
25173
  "type": "text/javascript; charset=utf-8",
24797
- "etag": "\"fb6-1p+FZ02/g02f1Zl+tRqc598kkcs\"",
24798
- "mtime": "2026-10-25T14:36:41.144Z",
24799
- "size": 4022,
24800
- "path": "../public/_nuxt/DyfFwwGq.js"
25174
+ "encoding": null,
25175
+ "etag": "\"1f9d6-9Lac2VD6ZUI4rhXFipIpf5JyaD8\"",
25176
+ "mtime": "2026-10-26T14:10:22.221Z",
25177
+ "size": 129494,
25178
+ "path": "../public/_nuxt/DclfLrr5.js"
24801
25179
  },
24802
- "/_nuxt/FaNto0ga.js": {
25180
+ "/_nuxt/DclfLrr5.js.br": {
24803
25181
  "type": "text/javascript; charset=utf-8",
24804
- "etag": "\"1ecce-f7goi/NB234IgmFMz590CbssA9Q\"",
24805
- "mtime": "2026-10-25T14:36:41.144Z",
24806
- "size": 126158,
24807
- "path": "../public/_nuxt/FaNto0ga.js"
25182
+ "encoding": "br",
25183
+ "etag": "\"a0c4-fkHnndEJTWBVoJwBQoPdKVwgahw\"",
25184
+ "mtime": "2026-10-26T14:10:23.204Z",
25185
+ "size": 41156,
25186
+ "path": "../public/_nuxt/DclfLrr5.js.br"
24808
25187
  },
24809
- "/_nuxt/NIF0VwHk.js": {
25188
+ "/_nuxt/DclfLrr5.js.gz": {
24810
25189
  "type": "text/javascript; charset=utf-8",
24811
- "etag": "\"144a0-bkyasRjoDQiGmNEL1EdOmQ7dgBM\"",
24812
- "mtime": "2026-10-25T14:36:41.144Z",
24813
- "size": 83104,
24814
- "path": "../public/_nuxt/NIF0VwHk.js"
25190
+ "encoding": "gzip",
25191
+ "etag": "\"b829-ok+aMxF+MFZXS7ySPzWmbbnJgE8\"",
25192
+ "mtime": "2026-10-26T14:10:23.143Z",
25193
+ "size": 47145,
25194
+ "path": "../public/_nuxt/DclfLrr5.js.gz"
24815
25195
  },
24816
- "/_nuxt/DrKKeFFE.js": {
25196
+ "/_nuxt/JL_QI6J1.js": {
24817
25197
  "type": "text/javascript; charset=utf-8",
24818
- "etag": "\"5cb75-7z0S9LmqylbwSoOqB2c7k3EQ834\"",
24819
- "mtime": "2026-10-25T14:36:41.144Z",
24820
- "size": 379765,
24821
- "path": "../public/_nuxt/DrKKeFFE.js"
25198
+ "encoding": null,
25199
+ "etag": "\"37e1-/YZQFv+TBtF1EInYs04L0NCSSQA\"",
25200
+ "mtime": "2026-10-26T14:10:22.222Z",
25201
+ "size": 14305,
25202
+ "path": "../public/_nuxt/JL_QI6J1.js"
24822
25203
  },
24823
- "/_nuxt/DFmgQVme.js": {
25204
+ "/_nuxt/JL_QI6J1.js.br": {
24824
25205
  "type": "text/javascript; charset=utf-8",
24825
- "etag": "\"a1d9a-IwoE10ujCYK9knbukSDU4QnTE+Y\"",
24826
- "mtime": "2026-10-25T14:36:41.144Z",
24827
- "size": 662938,
24828
- "path": "../public/_nuxt/DFmgQVme.js"
25206
+ "encoding": "br",
25207
+ "etag": "\"12e0-048fPP/D6BsaEC4cRkcFl87iZtQ\"",
25208
+ "mtime": "2026-10-26T14:10:23.047Z",
25209
+ "size": 4832,
25210
+ "path": "../public/_nuxt/JL_QI6J1.js.br"
24829
25211
  },
24830
- "/_nuxt/R0Y4VoeX.js": {
25212
+ "/_nuxt/JL_QI6J1.js.gz": {
24831
25213
  "type": "text/javascript; charset=utf-8",
24832
- "etag": "\"13f-Xp4YkkcSvZkGBH1s9eakLGyO2s0\"",
24833
- "mtime": "2026-10-25T14:36:41.144Z",
24834
- "size": 319,
24835
- "path": "../public/_nuxt/R0Y4VoeX.js"
25214
+ "encoding": "gzip",
25215
+ "etag": "\"14c2-cu0nO2TCpw1v8K6BS3vQjqYeXQA\"",
25216
+ "mtime": "2026-10-26T14:10:23.047Z",
25217
+ "size": 5314,
25218
+ "path": "../public/_nuxt/JL_QI6J1.js.gz"
25219
+ },
25220
+ "/_nuxt/XlRX1U8d.js": {
25221
+ "type": "text/javascript; charset=utf-8",
25222
+ "encoding": null,
25223
+ "etag": "\"39f55-LQV/bafh2BXyk9v7GeulY7ytjN4\"",
25224
+ "mtime": "2026-10-26T14:10:22.222Z",
25225
+ "size": 237397,
25226
+ "path": "../public/_nuxt/XlRX1U8d.js"
25227
+ },
25228
+ "/_nuxt/XlRX1U8d.js.br": {
25229
+ "type": "text/javascript; charset=utf-8",
25230
+ "encoding": "br",
25231
+ "etag": "\"1054e-R2VmHjqfbd1ekvqt7cFTu5a76m4\"",
25232
+ "mtime": "2026-10-26T14:10:23.881Z",
25233
+ "size": 66894,
25234
+ "path": "../public/_nuxt/XlRX1U8d.js.br"
25235
+ },
25236
+ "/_nuxt/Y-4S7Nuf.js": {
25237
+ "type": "text/javascript; charset=utf-8",
25238
+ "encoding": null,
25239
+ "etag": "\"eac-IzsBGjL5dhkay14/YDWL9qZ7qm0\"",
25240
+ "mtime": "2026-10-26T14:10:22.222Z",
25241
+ "size": 3756,
25242
+ "path": "../public/_nuxt/Y-4S7Nuf.js"
25243
+ },
25244
+ "/_nuxt/XlRX1U8d.js.gz": {
25245
+ "type": "text/javascript; charset=utf-8",
25246
+ "encoding": "gzip",
25247
+ "etag": "\"12cdc-/j3xqjTW3ouJNKayBGGELbzFViA\"",
25248
+ "mtime": "2026-10-26T14:10:23.205Z",
25249
+ "size": 77020,
25250
+ "path": "../public/_nuxt/XlRX1U8d.js.gz"
25251
+ },
25252
+ "/_nuxt/Y-4S7Nuf.js.br": {
25253
+ "type": "text/javascript; charset=utf-8",
25254
+ "encoding": "br",
25255
+ "etag": "\"5b7-jgzRq0dFZ75BnKPrMCyvf7VGIlw\"",
25256
+ "mtime": "2026-10-26T14:10:23.146Z",
25257
+ "size": 1463,
25258
+ "path": "../public/_nuxt/Y-4S7Nuf.js.br"
25259
+ },
25260
+ "/_nuxt/Y-4S7Nuf.js.gz": {
25261
+ "type": "text/javascript; charset=utf-8",
25262
+ "encoding": "gzip",
25263
+ "etag": "\"6a2-6Ftzl8Q5fil5YQYgIdfoXyySTzA\"",
25264
+ "mtime": "2026-10-26T14:10:23.146Z",
25265
+ "size": 1698,
25266
+ "path": "../public/_nuxt/Y-4S7Nuf.js.gz"
24836
25267
  },
24837
25268
  "/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2": {
24838
25269
  "type": "font/woff2",
24839
25270
  "etag": "\"7f60-cwHN4xD2RhU0GVBfKzpzYZ7Al6U\"",
24840
- "mtime": "2026-10-25T14:36:41.144Z",
25271
+ "mtime": "2026-10-26T14:10:22.222Z",
24841
25272
  "size": 32608,
24842
25273
  "path": "../public/_nuxt/archivo-latin-ext-wght-normal.C4zznr8T.woff2"
24843
25274
  },
25275
+ "/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2": {
25276
+ "type": "font/woff2",
25277
+ "etag": "\"8870-ZUSfFgU3jYpWYbszVY1rxpynehc\"",
25278
+ "mtime": "2026-10-26T14:10:22.222Z",
25279
+ "size": 34928,
25280
+ "path": "../public/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2"
25281
+ },
24844
25282
  "/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2": {
24845
25283
  "type": "font/woff2",
24846
25284
  "etag": "\"33b8-4zjQHgOy7y9EDRZs7TDAFDM4Ams\"",
24847
- "mtime": "2026-10-25T14:36:41.144Z",
25285
+ "mtime": "2026-10-26T14:10:22.222Z",
24848
25286
  "size": 13240,
24849
25287
  "path": "../public/_nuxt/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2"
24850
25288
  },
24851
- "/_nuxt/board.CEEcFc6M.css": {
25289
+ "/_nuxt/board.B8JX7Yhy.css": {
24852
25290
  "type": "text/css; charset=utf-8",
24853
- "etag": "\"24df-bf6HCkE9WjW8hX9aVorSZYnDQxw\"",
24854
- "mtime": "2026-10-25T14:36:41.144Z",
24855
- "size": 9439,
24856
- "path": "../public/_nuxt/board.CEEcFc6M.css"
25291
+ "encoding": null,
25292
+ "etag": "\"25c9-pPRhNMUfbWu57qis8PB4KOYoeTI\"",
25293
+ "mtime": "2026-10-26T14:10:22.222Z",
25294
+ "size": 9673,
25295
+ "path": "../public/_nuxt/board.B8JX7Yhy.css"
24857
25296
  },
24858
- "/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2": {
24859
- "type": "font/woff2",
24860
- "etag": "\"8870-ZUSfFgU3jYpWYbszVY1rxpynehc\"",
24861
- "mtime": "2026-10-25T14:36:41.144Z",
24862
- "size": 34928,
24863
- "path": "../public/_nuxt/archivo-latin-wght-normal.E0tuGl4L.woff2"
25297
+ "/_nuxt/board.B8JX7Yhy.css.br": {
25298
+ "type": "text/css; charset=utf-8",
25299
+ "encoding": "br",
25300
+ "etag": "\"794-44bxUBqf4NXFWVJDuc2Flixde80\"",
25301
+ "mtime": "2026-10-26T14:10:23.234Z",
25302
+ "size": 1940,
25303
+ "path": "../public/_nuxt/board.B8JX7Yhy.css.br"
25304
+ },
25305
+ "/_nuxt/board.B8JX7Yhy.css.gz": {
25306
+ "type": "text/css; charset=utf-8",
25307
+ "encoding": "gzip",
25308
+ "etag": "\"8d9-HBtBRjx1ysDkNlJNLRHp+LuZXm0\"",
25309
+ "mtime": "2026-10-26T14:10:23.234Z",
25310
+ "size": 2265,
25311
+ "path": "../public/_nuxt/board.B8JX7Yhy.css.gz"
25312
+ },
25313
+ "/_nuxt/entry.6CUQ3EoD.css.br": {
25314
+ "type": "text/css; charset=utf-8",
25315
+ "encoding": "br",
25316
+ "etag": "\"f24e-/Ynv8JB/IJUwmibOudkyh5afkeg\"",
25317
+ "mtime": "2026-10-26T14:10:24.102Z",
25318
+ "size": 62030,
25319
+ "path": "../public/_nuxt/entry.6CUQ3EoD.css.br"
25320
+ },
25321
+ "/_nuxt/entry.6CUQ3EoD.css.gz": {
25322
+ "type": "text/css; charset=utf-8",
25323
+ "encoding": "gzip",
25324
+ "etag": "\"12bd8-O/w9RCqTvIv2qi6Do7yRXmy8LAI\"",
25325
+ "mtime": "2026-10-26T14:10:23.244Z",
25326
+ "size": 76760,
25327
+ "path": "../public/_nuxt/entry.6CUQ3EoD.css.gz"
25328
+ },
25329
+ "/_nuxt/entry.6CUQ3EoD.css": {
25330
+ "type": "text/css; charset=utf-8",
25331
+ "encoding": null,
25332
+ "etag": "\"70ebc-KjYVkfAhhcynCRw7WOyffDjMVh0\"",
25333
+ "mtime": "2026-10-26T14:10:22.222Z",
25334
+ "size": 462524,
25335
+ "path": "../public/_nuxt/entry.6CUQ3EoD.css"
24864
25336
  },
24865
25337
  "/_nuxt/error-404.Bb87HomL.css": {
24866
25338
  "type": "text/css; charset=utf-8",
25339
+ "encoding": null,
24867
25340
  "etag": "\"97d-4h9VfBznldxjqagfMldh1hDncR0\"",
24868
- "mtime": "2026-10-25T14:36:41.144Z",
25341
+ "mtime": "2026-10-26T14:10:22.222Z",
24869
25342
  "size": 2429,
24870
25343
  "path": "../public/_nuxt/error-404.Bb87HomL.css"
24871
25344
  },
25345
+ "/_nuxt/error-404.Bb87HomL.css.br": {
25346
+ "type": "text/css; charset=utf-8",
25347
+ "encoding": "br",
25348
+ "etag": "\"2d3-qBacufHfL2AKZiQpM2N/+/LUBcM\"",
25349
+ "mtime": "2026-10-26T14:10:23.242Z",
25350
+ "size": 723,
25351
+ "path": "../public/_nuxt/error-404.Bb87HomL.css.br"
25352
+ },
25353
+ "/_nuxt/error-404.Bb87HomL.css.gz": {
25354
+ "type": "text/css; charset=utf-8",
25355
+ "encoding": "gzip",
25356
+ "etag": "\"354-+f0UDMO283+UYdKIev1+tuXG5jI\"",
25357
+ "mtime": "2026-10-26T14:10:23.242Z",
25358
+ "size": 852,
25359
+ "path": "../public/_nuxt/error-404.Bb87HomL.css.gz"
25360
+ },
24872
25361
  "/_nuxt/error-500.Bwd7zAaE.css": {
24873
25362
  "type": "text/css; charset=utf-8",
25363
+ "encoding": null,
24874
25364
  "etag": "\"772-nqXXACYtFiPK+D42BNu4uEECARA\"",
24875
- "mtime": "2026-10-25T14:36:41.144Z",
25365
+ "mtime": "2026-10-26T14:10:22.222Z",
24876
25366
  "size": 1906,
24877
25367
  "path": "../public/_nuxt/error-500.Bwd7zAaE.css"
24878
25368
  },
25369
+ "/_nuxt/error-500.Bwd7zAaE.css.br": {
25370
+ "type": "text/css; charset=utf-8",
25371
+ "encoding": "br",
25372
+ "etag": "\"269-epXpUj5NvA3wxRTvv2uaBsqkzB8\"",
25373
+ "mtime": "2026-10-26T14:10:23.243Z",
25374
+ "size": 617,
25375
+ "path": "../public/_nuxt/error-500.Bwd7zAaE.css.br"
25376
+ },
25377
+ "/_nuxt/error-500.Bwd7zAaE.css.gz": {
25378
+ "type": "text/css; charset=utf-8",
25379
+ "encoding": "gzip",
25380
+ "etag": "\"2d6-gkfK7z4mFEnMBbpxDmlOJ5UcSAU\"",
25381
+ "mtime": "2026-10-26T14:10:23.243Z",
25382
+ "size": 726,
25383
+ "path": "../public/_nuxt/error-500.Bwd7zAaE.css.gz"
25384
+ },
24879
25385
  "/_nuxt/hePW80VL.js": {
24880
25386
  "type": "text/javascript; charset=utf-8",
24881
25387
  "etag": "\"2cc-fA8td6k29UVF6JoPfhOPkceTK1M\"",
24882
- "mtime": "2026-10-25T14:36:41.144Z",
25388
+ "mtime": "2026-10-26T14:10:22.222Z",
24883
25389
  "size": 716,
24884
25390
  "path": "../public/_nuxt/hePW80VL.js"
24885
25391
  },
24886
- "/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2": {
24887
- "type": "font/woff2",
24888
- "etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
24889
- "mtime": "2026-10-25T14:36:41.144Z",
24890
- "size": 18748,
24891
- "path": "../public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2"
24892
- },
24893
25392
  "/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2": {
24894
25393
  "type": "font/woff2",
24895
25394
  "etag": "\"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0\"",
24896
- "mtime": "2026-10-25T14:36:41.144Z",
25395
+ "mtime": "2026-10-26T14:10:22.222Z",
24897
25396
  "size": 25960,
24898
25397
  "path": "../public/_nuxt/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2"
24899
25398
  },
25399
+ "/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2": {
25400
+ "type": "font/woff2",
25401
+ "etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
25402
+ "mtime": "2026-10-26T14:10:22.222Z",
25403
+ "size": 18748,
25404
+ "path": "../public/_nuxt/inter-cyrillic-wght-normal.DqGufNeO.woff2"
25405
+ },
24900
25406
  "/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2": {
24901
25407
  "type": "font/woff2",
24902
25408
  "etag": "\"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8\"",
24903
- "mtime": "2026-10-25T14:36:41.144Z",
25409
+ "mtime": "2026-10-26T14:10:22.222Z",
24904
25410
  "size": 11232,
24905
25411
  "path": "../public/_nuxt/inter-greek-ext-wght-normal.DlzME5K_.woff2"
24906
25412
  },
24907
25413
  "/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2": {
24908
25414
  "type": "font/woff2",
24909
25415
  "etag": "\"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4\"",
24910
- "mtime": "2026-10-25T14:36:41.144Z",
25416
+ "mtime": "2026-10-26T14:10:22.222Z",
24911
25417
  "size": 18996,
24912
25418
  "path": "../public/_nuxt/inter-greek-wght-normal.CkhJZR-_.woff2"
24913
25419
  },
24914
- "/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2": {
24915
- "type": "font/woff2",
24916
- "etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
24917
- "mtime": "2026-10-25T14:36:41.144Z",
24918
- "size": 48256,
24919
- "path": "../public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2"
24920
- },
24921
25420
  "/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2": {
24922
25421
  "type": "font/woff2",
24923
25422
  "etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
24924
- "mtime": "2026-10-25T14:36:41.144Z",
25423
+ "mtime": "2026-10-26T14:10:22.222Z",
24925
25424
  "size": 85068,
24926
25425
  "path": "../public/_nuxt/inter-latin-ext-wght-normal.DO1Apj_S.woff2"
24927
25426
  },
25427
+ "/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2": {
25428
+ "type": "font/woff2",
25429
+ "etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
25430
+ "mtime": "2026-10-26T14:10:22.222Z",
25431
+ "size": 48256,
25432
+ "path": "../public/_nuxt/inter-latin-wght-normal.Dx4kXJAl.woff2"
25433
+ },
24928
25434
  "/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2": {
24929
25435
  "type": "font/woff2",
24930
25436
  "etag": "\"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M\"",
24931
- "mtime": "2026-10-25T14:36:41.144Z",
25437
+ "mtime": "2026-10-26T14:10:22.222Z",
24932
25438
  "size": 10252,
24933
25439
  "path": "../public/_nuxt/inter-vietnamese-wght-normal.CBcvBZtf.woff2"
24934
25440
  },
24935
25441
  "/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2": {
24936
25442
  "type": "font/woff2",
24937
25443
  "etag": "\"2f4c-WiAGfn140d4QND3ayQWaCHF8rbE\"",
24938
- "mtime": "2026-10-25T14:36:41.144Z",
25444
+ "mtime": "2026-10-26T14:10:22.222Z",
24939
25445
  "size": 12108,
24940
25446
  "path": "../public/_nuxt/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2"
24941
25447
  },
24942
25448
  "/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2": {
24943
25449
  "type": "font/woff2",
24944
25450
  "etag": "\"232c-Dnz9DhH4c266e6TziU1pxRkV6FY\"",
24945
- "mtime": "2026-10-25T14:36:41.144Z",
25451
+ "mtime": "2026-10-26T14:10:22.222Z",
24946
25452
  "size": 9004,
24947
25453
  "path": "../public/_nuxt/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2"
24948
25454
  },
24949
25455
  "/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2": {
24950
25456
  "type": "font/woff2",
24951
25457
  "etag": "\"3b5c-HLF7Wvs2Z1IA1cPRs6jnor8OUQ4\"",
24952
- "mtime": "2026-10-25T14:36:41.144Z",
25458
+ "mtime": "2026-10-26T14:10:22.222Z",
24953
25459
  "size": 15196,
24954
25460
  "path": "../public/_nuxt/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2"
24955
25461
  },
24956
25462
  "/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2": {
24957
25463
  "type": "font/woff2",
24958
25464
  "etag": "\"9dd4-5yd+cUUhzrXxdMyYebUeD0qml1M\"",
24959
- "mtime": "2026-10-25T14:36:41.144Z",
25465
+ "mtime": "2026-10-26T14:10:22.222Z",
24960
25466
  "size": 40404,
24961
25467
  "path": "../public/_nuxt/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2"
24962
25468
  },
24963
25469
  "/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2": {
24964
25470
  "type": "font/woff2",
24965
25471
  "etag": "\"1d50-/Re0MyD6BV8h81wBPVijGZH5GBs\"",
24966
- "mtime": "2026-10-25T14:36:41.144Z",
25472
+ "mtime": "2026-10-26T14:10:22.222Z",
24967
25473
  "size": 7504,
24968
25474
  "path": "../public/_nuxt/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2"
24969
25475
  },
24970
- "/_nuxt/entry.CKoXcwRa.css": {
24971
- "type": "text/css; charset=utf-8",
24972
- "etag": "\"6f291-hMydxvoQ/VYQCI04EOS/LLay9ro\"",
24973
- "mtime": "2026-10-25T14:36:41.144Z",
24974
- "size": 455313,
24975
- "path": "../public/_nuxt/entry.CKoXcwRa.css"
25476
+ "/_nuxt/lBx2yXX9.js": {
25477
+ "type": "text/javascript; charset=utf-8",
25478
+ "encoding": null,
25479
+ "etag": "\"13e52-yTjJOhyNI2Xd2lnEVKCcpaZtBbc\"",
25480
+ "mtime": "2026-10-26T14:10:22.222Z",
25481
+ "size": 81490,
25482
+ "path": "../public/_nuxt/lBx2yXX9.js"
24976
25483
  },
24977
- "/_nuxt/settings.Cdb21nNw.css": {
24978
- "type": "text/css; charset=utf-8",
24979
- "etag": "\"906-1k6Rx3W+YnYYbr685mdPPOdLVR8\"",
24980
- "mtime": "2026-10-25T14:36:41.144Z",
24981
- "size": 2310,
24982
- "path": "../public/_nuxt/settings.Cdb21nNw.css"
25484
+ "/_nuxt/lBx2yXX9.js.br": {
25485
+ "type": "text/javascript; charset=utf-8",
25486
+ "encoding": "br",
25487
+ "etag": "\"65ec-iWDTJCECX29fzYmN7irdOyPRTr0\"",
25488
+ "mtime": "2026-10-26T14:10:23.880Z",
25489
+ "size": 26092,
25490
+ "path": "../public/_nuxt/lBx2yXX9.js.br"
25491
+ },
25492
+ "/_nuxt/lBx2yXX9.js.gz": {
25493
+ "type": "text/javascript; charset=utf-8",
25494
+ "encoding": "gzip",
25495
+ "etag": "\"71c5-m7uiJlXWr+JljAhPsOfWsgVDXiM\"",
25496
+ "mtime": "2026-10-26T14:10:23.864Z",
25497
+ "size": 29125,
25498
+ "path": "../public/_nuxt/lBx2yXX9.js.gz"
25499
+ },
25500
+ "/_nuxt/pdf.min.t82Z80JU.mjs.br": {
25501
+ "type": "text/javascript; charset=utf-8",
25502
+ "encoding": "br",
25503
+ "etag": "\"18637-hO1q5WJanme5y1ZMQNajh/aVx0Q\"",
25504
+ "mtime": "2026-10-26T14:10:24.210Z",
25505
+ "size": 99895,
25506
+ "path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.br"
24983
25507
  },
24984
25508
  "/_nuxt/pdf.min.t82Z80JU.mjs": {
24985
25509
  "type": "text/javascript; charset=utf-8",
25510
+ "encoding": null,
24986
25511
  "etag": "\"678c7-U+W9TWPlwH5JFSPFTsPGlAkMVJc\"",
24987
- "mtime": "2026-10-25T14:36:41.144Z",
25512
+ "mtime": "2026-10-26T14:10:22.222Z",
24988
25513
  "size": 424135,
24989
25514
  "path": "../public/_nuxt/pdf.min.t82Z80JU.mjs"
24990
25515
  },
25516
+ "/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br": {
25517
+ "type": "text/javascript; charset=utf-8",
25518
+ "encoding": "br",
25519
+ "etag": "\"3a43c-BjGnpdU+bJmP+eZx9E9qFHG/Txg\"",
25520
+ "mtime": "2026-10-26T14:10:25.596Z",
25521
+ "size": 238652,
25522
+ "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.br"
25523
+ },
25524
+ "/_nuxt/settings.Cdb21nNw.css": {
25525
+ "type": "text/css; charset=utf-8",
25526
+ "encoding": null,
25527
+ "etag": "\"906-1k6Rx3W+YnYYbr685mdPPOdLVR8\"",
25528
+ "mtime": "2026-10-26T14:10:22.222Z",
25529
+ "size": 2310,
25530
+ "path": "../public/_nuxt/settings.Cdb21nNw.css"
25531
+ },
25532
+ "/_nuxt/settings.Cdb21nNw.css.br": {
25533
+ "type": "text/css; charset=utf-8",
25534
+ "encoding": "br",
25535
+ "etag": "\"229-5BUcDq9FlV7AjttLV/V/sLmKfb0\"",
25536
+ "mtime": "2026-10-26T14:10:23.871Z",
25537
+ "size": 553,
25538
+ "path": "../public/_nuxt/settings.Cdb21nNw.css.br"
25539
+ },
25540
+ "/_nuxt/settings.Cdb21nNw.css.gz": {
25541
+ "type": "text/css; charset=utf-8",
25542
+ "encoding": "gzip",
25543
+ "etag": "\"2ab-osvfpKy+KsHaGxbXkzf6NYTuHPs\"",
25544
+ "mtime": "2026-10-26T14:10:23.871Z",
25545
+ "size": 683,
25546
+ "path": "../public/_nuxt/settings.Cdb21nNw.css.gz"
25547
+ },
24991
25548
  "/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2": {
24992
25549
  "type": "font/woff2",
24993
25550
  "etag": "\"30178-02mpQKEDb74Ec8LtlhKceB1vHO8\"",
24994
- "mtime": "2026-10-25T14:36:41.144Z",
25551
+ "mtime": "2026-10-26T14:10:22.222Z",
24995
25552
  "size": 196984,
24996
25553
  "path": "../public/_nuxt/wherdr-nerd-awesome.DQ3_iAfa.woff2"
24997
25554
  },
24998
- "/_nuxt/pdf.worker.min.wgc6bjNh.mjs": {
25555
+ "/_nuxt/pdf.worker.min.wgc6bjNh.mjs.gz": {
24999
25556
  "type": "text/javascript; charset=utf-8",
25000
- "etag": "\"107554-apJIGjXrCPcbKwmHzZKIYl5kc4c\"",
25001
- "mtime": "2026-10-25T14:36:41.145Z",
25002
- "size": 1078612,
25003
- "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs"
25557
+ "encoding": "gzip",
25558
+ "etag": "\"48c53-1Uf07NfaLxgXnF6xfwrBSYIPy9w\"",
25559
+ "mtime": "2026-10-26T14:10:23.929Z",
25560
+ "size": 298067,
25561
+ "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs.gz"
25562
+ },
25563
+ "/_nuxt/pdf.min.t82Z80JU.mjs.gz": {
25564
+ "type": "text/javascript; charset=utf-8",
25565
+ "encoding": "gzip",
25566
+ "etag": "\"1d511-iiY3QTEG2SmXknqVitdB+/+ocK4\"",
25567
+ "mtime": "2026-10-26T14:10:23.894Z",
25568
+ "size": 120081,
25569
+ "path": "../public/_nuxt/pdf.min.t82Z80JU.mjs.gz"
25004
25570
  },
25005
25571
  "/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2": {
25006
25572
  "type": "font/woff2",
25007
25573
  "etag": "\"d9b0-kmO/x6KCTFRlVipOvl+5XcArGUw\"",
25008
- "mtime": "2026-10-25T14:36:41.144Z",
25574
+ "mtime": "2026-10-26T14:10:22.222Z",
25009
25575
  "size": 55728,
25010
25576
  "path": "../public/_nuxt/wherdr-nerd-codicons.CtEsfSAf.woff2"
25011
25577
  },
25578
+ "/_nuxt/pdf.worker.min.wgc6bjNh.mjs": {
25579
+ "type": "text/javascript; charset=utf-8",
25580
+ "encoding": null,
25581
+ "etag": "\"107554-apJIGjXrCPcbKwmHzZKIYl5kc4c\"",
25582
+ "mtime": "2026-10-26T14:10:22.222Z",
25583
+ "size": 1078612,
25584
+ "path": "../public/_nuxt/pdf.worker.min.wgc6bjNh.mjs"
25585
+ },
25586
+ "/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2": {
25587
+ "type": "font/woff2",
25588
+ "etag": "\"f76c-CjERGtjtOrkpSXy7JyZNl1CAu0U\"",
25589
+ "mtime": "2026-10-26T14:10:22.222Z",
25590
+ "size": 63340,
25591
+ "path": "../public/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2"
25592
+ },
25012
25593
  "/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2": {
25013
25594
  "type": "font/woff2",
25014
25595
  "etag": "\"30f78-2RuGTMLnbTBdhlI9ExApyiUeD8c\"",
25015
- "mtime": "2026-10-25T14:36:41.144Z",
25596
+ "mtime": "2026-10-26T14:10:22.222Z",
25016
25597
  "size": 200568,
25017
25598
  "path": "../public/_nuxt/wherdr-nerd-devicons.ZMSFX1sW.woff2"
25018
25599
  },
25019
25600
  "/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2": {
25020
25601
  "type": "font/woff2",
25021
25602
  "etag": "\"1e130-1GKpbVoJoRf3AxaKTZS8FjxkOd4\"",
25022
- "mtime": "2026-10-25T14:36:41.145Z",
25603
+ "mtime": "2026-10-26T14:10:22.222Z",
25023
25604
  "size": 123184,
25024
25605
  "path": "../public/_nuxt/wherdr-nerd-material-1.BdvqkCqW.woff2"
25025
25606
  },
25026
25607
  "/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2": {
25027
25608
  "type": "font/woff2",
25028
25609
  "etag": "\"1f95c-q6dAP964z2dgEvWzAYjTAzBtzBc\"",
25029
- "mtime": "2026-10-25T14:36:41.145Z",
25610
+ "mtime": "2026-10-26T14:10:22.222Z",
25030
25611
  "size": 129372,
25031
25612
  "path": "../public/_nuxt/wherdr-nerd-material-2.C_flbBWO.woff2"
25032
25613
  },
25033
25614
  "/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2": {
25034
25615
  "type": "font/woff2",
25035
25616
  "etag": "\"2248c-3GBJ1KjkT+xYPhza9V/DKaILa7Y\"",
25036
- "mtime": "2026-10-25T14:36:41.145Z",
25617
+ "mtime": "2026-10-26T14:10:22.223Z",
25037
25618
  "size": 140428,
25038
25619
  "path": "../public/_nuxt/wherdr-nerd-material-3.8xz7iX-Y.woff2"
25039
25620
  },
25040
- "/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2": {
25621
+ "/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
25041
25622
  "type": "font/woff2",
25042
- "etag": "\"f890-FkAsW3iqENK+lU5UlSze0yqnE2s\"",
25043
- "mtime": "2026-10-25T14:36:41.145Z",
25044
- "size": 63632,
25045
- "path": "../public/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2"
25623
+ "etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
25624
+ "mtime": "2026-10-26T14:10:22.223Z",
25625
+ "size": 129664,
25626
+ "path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
25046
25627
  },
25047
25628
  "/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2": {
25048
25629
  "type": "font/woff2",
25049
25630
  "etag": "\"1bc0-iXm39wQwNbm2VjpVBOn72grfku0\"",
25050
- "mtime": "2026-10-25T14:36:41.145Z",
25631
+ "mtime": "2026-10-26T14:10:22.223Z",
25051
25632
  "size": 7104,
25052
25633
  "path": "../public/_nuxt/wherdr-nerd-powerline.B_kAMxXr.woff2"
25053
25634
  },
25054
25635
  "/_nuxt/wherdr-symbols.C1LsPKmg.woff2": {
25055
25636
  "type": "font/woff2",
25056
25637
  "etag": "\"1304-Lwyr1XiDl3FK38nmS/6Pk9wfiWc\"",
25057
- "mtime": "2026-10-25T14:36:41.145Z",
25638
+ "mtime": "2026-10-26T14:10:22.223Z",
25058
25639
  "size": 4868,
25059
25640
  "path": "../public/_nuxt/wherdr-symbols.C1LsPKmg.woff2"
25060
25641
  },
25642
+ "/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2": {
25643
+ "type": "font/woff2",
25644
+ "etag": "\"f890-FkAsW3iqENK+lU5UlSze0yqnE2s\"",
25645
+ "mtime": "2026-10-26T14:10:22.223Z",
25646
+ "size": 63632,
25647
+ "path": "../public/_nuxt/wherdr-nerd-octicons.Hl4VEx8m.woff2"
25648
+ },
25649
+ "/_nuxt/xSo3mAHb.js": {
25650
+ "type": "text/javascript; charset=utf-8",
25651
+ "encoding": null,
25652
+ "etag": "\"fb6-SUV9CF7ZPKlEc/Cs5fg9Asfw5jg\"",
25653
+ "mtime": "2026-10-26T14:10:22.223Z",
25654
+ "size": 4022,
25655
+ "path": "../public/_nuxt/xSo3mAHb.js"
25656
+ },
25657
+ "/_nuxt/xSo3mAHb.js.br": {
25658
+ "type": "text/javascript; charset=utf-8",
25659
+ "encoding": "br",
25660
+ "etag": "\"645-SpziI3cflDBLMZpLHJfEIEniO9g\"",
25661
+ "mtime": "2026-10-26T14:10:23.915Z",
25662
+ "size": 1605,
25663
+ "path": "../public/_nuxt/xSo3mAHb.js.br"
25664
+ },
25665
+ "/_nuxt/xSo3mAHb.js.gz": {
25666
+ "type": "text/javascript; charset=utf-8",
25667
+ "encoding": "gzip",
25668
+ "etag": "\"6e9-wHaayRopCM0Rj9eHNocVwkH+y7s\"",
25669
+ "mtime": "2026-10-26T14:10:23.915Z",
25670
+ "size": 1769,
25671
+ "path": "../public/_nuxt/xSo3mAHb.js.gz"
25672
+ },
25061
25673
  "/_nuxt/builds/latest.json": {
25062
25674
  "type": "application/json",
25063
- "etag": "\"47-gT9BxemZbZ/R+9rMlvOWAeEGwDY\"",
25064
- "mtime": "2026-10-25T14:36:41.131Z",
25675
+ "etag": "\"47-qxMeKsHnVhNz1h0HjpOZQmdpS+w\"",
25676
+ "mtime": "2026-10-26T14:10:22.202Z",
25065
25677
  "size": 71,
25066
25678
  "path": "../public/_nuxt/builds/latest.json"
25067
25679
  },
25068
- "/_nuxt/builds/meta/0b28b3e9-664e-4347-a35b-afb0a711d5c5.json": {
25680
+ "/_nuxt/builds/meta/1d193254-809f-48d8-bf27-3640edb58f54.json": {
25069
25681
  "type": "application/json",
25070
- "etag": "\"58-w3EpC2ZaR7CX5zkGojApKDwHLmE\"",
25071
- "mtime": "2026-10-25T14:36:41.127Z",
25682
+ "etag": "\"58-bKTdnD7o6fuf0E3Xvo4KltP0w04\"",
25683
+ "mtime": "2026-10-26T14:10:22.198Z",
25072
25684
  "size": 88,
25073
- "path": "../public/_nuxt/builds/meta/0b28b3e9-664e-4347-a35b-afb0a711d5c5.json"
25074
- },
25075
- "/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2": {
25076
- "type": "font/woff2",
25077
- "etag": "\"1fa80-YcJvpFD/M3vTC4y6SMmp7s8a9gw\"",
25078
- "mtime": "2026-10-25T14:36:41.145Z",
25079
- "size": 129664,
25080
- "path": "../public/_nuxt/wherdr-nerd-material-4.CO_PudDR.woff2"
25081
- },
25082
- "/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2": {
25083
- "type": "font/woff2",
25084
- "etag": "\"f76c-CjERGtjtOrkpSXy7JyZNl1CAu0U\"",
25085
- "mtime": "2026-10-25T14:36:41.145Z",
25086
- "size": 63340,
25087
- "path": "../public/_nuxt/wherdr-nerd-extension.Dai_ky39.woff2"
25685
+ "path": "../public/_nuxt/builds/meta/1d193254-809f-48d8-bf27-3640edb58f54.json"
25088
25686
  }
25089
25687
  };
25090
25688
 
@@ -25295,6 +25893,14 @@ const _uN03ln = eventHandler((event) => {
25295
25893
  return readAsset(id);
25296
25894
  });
25297
25895
 
25896
+ const GZIP_MIN = 8 * 1024;
25897
+ function gzipBody(acceptEncoding, out) {
25898
+ const plain = Array.isArray(out) || out !== null && typeof out === "object" && Object.getPrototypeOf(out) === Object.prototype;
25899
+ if (!plain || !/\bgzip\b/.test(acceptEncoding || "")) return null;
25900
+ const json = JSON.stringify(out);
25901
+ return json.length < GZIP_MIN ? null : gzipSync(json, { level: 5 });
25902
+ }
25903
+
25298
25904
  const MAX_SESSION_DAYS = [1, 7, 30, 90, 365];
25299
25905
  const DEFAULT_MAX_SESSION_DAYS = 7;
25300
25906
  const DAY_MS = 24 * 3600 * 1e3;
@@ -25601,7 +26207,7 @@ function defineApi(fn, opts = {}) {
25601
26207
  setResponseHeader(event, "set-cookie", String(o.__cookie));
25602
26208
  delete o.__cookie;
25603
26209
  }
25604
- return out;
26210
+ return gzipJson(event, out);
25605
26211
  } catch (e) {
25606
26212
  const err = e;
25607
26213
  const known = e instanceof HerdrError || url.pathname.startsWith("/api/auth/") && Boolean(err.code);
@@ -25612,6 +26218,14 @@ function defineApi(fn, opts = {}) {
25612
26218
  }
25613
26219
  });
25614
26220
  }
26221
+ function gzipJson(event, out) {
26222
+ const body = gzipBody(getRequestHeader(event, "accept-encoding"), out);
26223
+ setResponseHeader(event, "vary", "accept-encoding");
26224
+ if (!body) return out;
26225
+ setResponseHeader(event, "content-type", "application/json");
26226
+ setResponseHeader(event, "content-encoding", "gzip");
26227
+ return body;
26228
+ }
25615
26229
  function sendImage(event, img) {
25616
26230
  setResponseHeader(event, "content-type", img.type);
25617
26231
  setResponseHeader(event, "cache-control", "private, max-age=86400");
@@ -25752,6 +26366,7 @@ const _lazy_Tqip3b = () => import('../routes/api/tasks/action.post.mjs');
25752
26366
  const _lazy_9WDg98 = () => import('../routes/api/tasks/add.post.mjs');
25753
26367
  const _lazy_OZQxs2 = () => import('../routes/api/tasks/after.post.mjs');
25754
26368
  const _lazy_eu1nyo = () => import('../routes/api/tasks/approve.post.mjs');
26369
+ const _lazy_KzCz8S = () => import('../routes/api/tasks/archive-done.post.mjs');
25755
26370
  const _lazy_Be4PC7 = () => import('../routes/api/tasks/archived.get.mjs');
25756
26371
  const _lazy_EuvOJs = () => import('../routes/api/tasks/autopilot.get.mjs');
25757
26372
  const _lazy_gcfBnL = () => import('../routes/api/tasks/autopilot.post.mjs');
@@ -25759,11 +26374,14 @@ const _lazy_XtaxZz = () => import('../routes/api/tasks/board-settings.get.mjs');
25759
26374
  const _lazy_Is9_Fx = () => import('../routes/api/tasks/board-settings.post.mjs');
25760
26375
  const _lazy_A1PRql = () => import('../routes/api/tasks/coordinator.get.mjs');
25761
26376
  const _lazy_zNBzIW = () => import('../routes/api/tasks/coordinator.post.mjs');
26377
+ const _lazy_Fm0MnO = () => import('../routes/api/tasks/describe.post.mjs');
25762
26378
  const _lazy_rmyS_Q = () => import('../routes/api/tasks/details.get.mjs');
25763
26379
  const _lazy_YLIPn9 = () => import('../routes/api/tasks/limit.post.mjs');
25764
26380
  const _lazy_p4nGoj = () => import('../routes/api/tasks/links.get.mjs');
25765
26381
  const _lazy_O_tZUq = () => import('../routes/api/tasks/models.get.mjs');
25766
26382
  const _lazy_YC_He9 = () => import('../routes/api/tasks/pick.post.mjs');
26383
+ const _lazy_qYrdVq = () => import('../routes/api/tasks/project.get.mjs');
26384
+ const _lazy_RhAKQ0 = () => import('../routes/api/tasks/project.post.mjs');
25767
26385
  const _lazy_Ob4alM = () => import('../routes/api/tasks/question.post.mjs');
25768
26386
  const _lazy_xT61D4 = () => import('../routes/api/tasks/scheduled.get.mjs');
25769
26387
  const _lazy_kXk8RJ = () => import('../routes/api/tasks/settings.get.mjs');
@@ -25873,6 +26491,7 @@ const handlers = [
25873
26491
  { route: '/api/tasks/add', handler: _lazy_9WDg98, lazy: true, middleware: false, method: "post" },
25874
26492
  { route: '/api/tasks/after', handler: _lazy_OZQxs2, lazy: true, middleware: false, method: "post" },
25875
26493
  { route: '/api/tasks/approve', handler: _lazy_eu1nyo, lazy: true, middleware: false, method: "post" },
26494
+ { route: '/api/tasks/archive-done', handler: _lazy_KzCz8S, lazy: true, middleware: false, method: "post" },
25876
26495
  { route: '/api/tasks/archived', handler: _lazy_Be4PC7, lazy: true, middleware: false, method: "get" },
25877
26496
  { route: '/api/tasks/autopilot', handler: _lazy_EuvOJs, lazy: true, middleware: false, method: "get" },
25878
26497
  { route: '/api/tasks/autopilot', handler: _lazy_gcfBnL, lazy: true, middleware: false, method: "post" },
@@ -25880,11 +26499,14 @@ const handlers = [
25880
26499
  { route: '/api/tasks/board-settings', handler: _lazy_Is9_Fx, lazy: true, middleware: false, method: "post" },
25881
26500
  { route: '/api/tasks/coordinator', handler: _lazy_A1PRql, lazy: true, middleware: false, method: "get" },
25882
26501
  { route: '/api/tasks/coordinator', handler: _lazy_zNBzIW, lazy: true, middleware: false, method: "post" },
26502
+ { route: '/api/tasks/describe', handler: _lazy_Fm0MnO, lazy: true, middleware: false, method: "post" },
25883
26503
  { route: '/api/tasks/details', handler: _lazy_rmyS_Q, lazy: true, middleware: false, method: "get" },
25884
26504
  { route: '/api/tasks/limit', handler: _lazy_YLIPn9, lazy: true, middleware: false, method: "post" },
25885
26505
  { route: '/api/tasks/links', handler: _lazy_p4nGoj, lazy: true, middleware: false, method: "get" },
25886
26506
  { route: '/api/tasks/models', handler: _lazy_O_tZUq, lazy: true, middleware: false, method: "get" },
25887
26507
  { route: '/api/tasks/pick', handler: _lazy_YC_He9, lazy: true, middleware: false, method: "post" },
26508
+ { route: '/api/tasks/project', handler: _lazy_qYrdVq, lazy: true, middleware: false, method: "get" },
26509
+ { route: '/api/tasks/project', handler: _lazy_RhAKQ0, lazy: true, middleware: false, method: "post" },
25888
26510
  { route: '/api/tasks/question', handler: _lazy_Ob4alM, lazy: true, middleware: false, method: "post" },
25889
26511
  { route: '/api/tasks/scheduled', handler: _lazy_xT61D4, lazy: true, middleware: false, method: "get" },
25890
26512
  { route: '/api/tasks/settings', handler: _lazy_kXk8RJ, lazy: true, middleware: false, method: "get" },
@@ -26364,5 +26986,5 @@ setupGracefulShutdown(listener, nitroApp);
26364
26986
  }
26365
26987
  const nodeServer = {};
26366
26988
 
26367
- 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, pickTask 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, PANE_DIRECTIONS as bJ, readTasksBoard as bK, taskCommand as bL, addTask as bM, clearTaskAfter as bN, approveTask as bO, archivedTasks as bP, autopilotStatuses as bQ, coordinatorAutopilot as bR, boardSettings as bS, changeBoardSetting as bT, coordinatorPane as bU, restartCoordinator as bV, tellCoordinator as bW, taskDetails as bX, raiseTaskLimit as bY, readBoardLinks as bZ, taskStartModels 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, askTaskCoordinator as c0, coordinatorScheduled as c1, taskSettings as c2, taskStartOptions as c3, tellTask as c4, cancelQueued as c5, installMode as c6, oneTapMode as c7, updateCommand as c8, compareVersions as c9, joinURL as cA, getResponseStatusText as cB, getResponseStatus as cC, useNitroApp as cD, nodeServer as cE, updateRunning as ca, allMachines as cb, joinId as cc, useStorage as cd, getRouterParam as ce, readUpload as cf, defineWebSocketHandler as cg, eventClients as ch, notificationPresence as ci, getStateJson as cj, networkReady as ck, ensureFresh as cl, gateDecision as cm, sameOrigin as cn, hostAllowed as co, checkRequestClient as cp, onNetworkReading as cq, openTerm as cr, useRuntimeConfig as cs, encodePath as ct, joinRelativeURL as cu, defineRenderHandler as cv, createError$1 as cw, destr as cx, getRouteRules as cy, relative 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 };
26989
+ 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, readBoardLinks 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, PANE_DIRECTIONS as bJ, readTasksBoard as bK, taskCommand as bL, addTask as bM, clearTaskAfter as bN, approveTask as bO, archiveDoneTasks as bP, archivedTasks as bQ, autopilotStatuses as bR, coordinatorAutopilot as bS, boardSettings as bT, changeBoardSetting as bU, coordinatorPane as bV, restartCoordinator as bW, tellCoordinator as bX, describeTask as bY, taskDetails as bZ, raiseTaskLimit 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, taskStartModels as c0, pickTask as c1, projectFolder as c2, registerProject as c3, askTaskCoordinator as c4, coordinatorScheduled as c5, taskSettings as c6, taskStartOptions as c7, tellTask as c8, cancelQueued as c9, createError$1 as cA, destr as cB, getRouteRules as cC, relative as cD, joinURL as cE, getResponseStatusText as cF, getResponseStatus as cG, useNitroApp as cH, nodeServer as cI, installMode as ca, oneTapMode as cb, updateCommand as cc, compareVersions as cd, updateRunning as ce, allMachines as cf, joinId as cg, useStorage as ch, getRouterParam as ci, readUpload as cj, defineWebSocketHandler as ck, eventClients as cl, notificationPresence as cm, getStateJson as cn, networkReady as co, ensureFresh as cp, gateDecision as cq, sameOrigin as cr, hostAllowed as cs, checkRequestClient as ct, onNetworkReading as cu, openTerm as cv, useRuntimeConfig as cw, encodePath as cx, joinRelativeURL as cy, defineRenderHandler 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 };
26368
26990
  //# sourceMappingURL=nitro.mjs.map