commandmate 0.20.0 → 0.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +252 -238
  3. package/.next/app-path-routes-manifest.json +38 -36
  4. package/.next/build-manifest.json +2 -2
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/routes-manifest.json +18 -0
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/api/app/update/route_client-reference-manifest.js +1 -1
  10. package/.next/server/app/api/app/update-check/route.js +1 -1
  11. package/.next/server/app/api/app/update-check/route_client-reference-manifest.js +1 -1
  12. package/.next/server/app/api/assistant/conversation/route_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/messages/route.js +1 -1
  15. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/session/route.js +1 -1
  17. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/login/route.js +1 -1
  22. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/auth/logout/route.js +1 -1
  24. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/auth/status/route.js +1 -1
  26. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/fs/recent-paths/route.js +1 -1
  34. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/hooks/claude-done/route.js +1 -1
  37. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/push/subscriptions/route.js +1 -1
  41. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route.js +1 -1
  45. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/[id]/todos/route.js +1 -1
  47. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/route.js +1 -1
  53. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/skills/operations/route.js +2 -2
  61. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/tasks/[taskId]/route.js +1 -1
  67. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/todos/route.js +1 -1
  71. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/verification/runs/[runId]/route.js +1 -1
  73. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/verification/runs/route.js +1 -1
  75. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/cli-tool/route.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/execution-logs/route.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/branches/route.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/commit/route.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/log/route.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/git/staged/route.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/git/stash/push/route.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/git/stash/route.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/git/status/route.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/git/working-diff/route.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/kill-session/route.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/marp-render/route.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/memos/route.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/messages/route.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/prompt-response/route.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/respond/route.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/schedules/active/route.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/schedules/route.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route.js.nft.json +1 -1
  147. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route.js.nft.json +1 -1
  150. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js +1 -1
  152. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route.js.nft.json +1 -1
  153. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js +1 -1
  155. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route.js.nft.json +1 -1
  156. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  157. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js +1 -1
  158. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route.js.nft.json +1 -1
  159. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  160. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js +1 -0
  161. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route.js.nft.json +1 -0
  162. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js +1 -0
  164. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.js.nft.json +1 -0
  165. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/worktrees/[id]/skills/route.js +1 -1
  167. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  168. package/.next/server/app/api/worktrees/[id]/slash-commands/route.js +1 -1
  169. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  171. package/.next/server/app/api/worktrees/[id]/start-polling/route_client-reference-manifest.js +1 -1
  172. package/.next/server/app/api/worktrees/[id]/tasks/route.js +1 -1
  173. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  174. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  175. package/.next/server/app/api/worktrees/[id]/timers/history/route.js +1 -1
  176. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  177. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  178. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route.js +1 -1
  179. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  180. package/.next/server/app/api/worktrees/[id]/todos/route.js +1 -1
  181. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route.js +1 -1
  183. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  184. package/.next/server/app/api/worktrees/[id]/tree/route.js +1 -1
  185. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  186. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  187. package/.next/server/app/api/worktrees/[id]/verify/route.js +1 -1
  188. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  189. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route.js +1 -1
  190. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/worktrees/[id]/verify/runs/route.js +1 -1
  192. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  193. package/.next/server/app/api/worktrees/[id]/viewed/route.js +1 -1
  194. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  195. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  196. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  197. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  199. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  200. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  201. package/.next/server/app/page_client-reference-manifest.js +1 -1
  202. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  203. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  204. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  205. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  206. package/.next/server/app/skills/[skillId]/page.js +2 -2
  207. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  208. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  210. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  211. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  212. package/.next/server/app/worktrees/[id]/page.js +5 -5
  213. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  214. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  215. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  216. package/.next/server/app-paths-manifest.json +38 -36
  217. package/.next/server/chunks/1029.js +1 -1
  218. package/.next/server/chunks/1503.js +1 -1
  219. package/.next/server/chunks/22.js +1 -1
  220. package/.next/server/chunks/2328.js +1 -1
  221. package/.next/server/chunks/2546.js +1 -0
  222. package/.next/server/chunks/2710.js +2 -2
  223. package/.next/server/chunks/28.js +2 -2
  224. package/.next/server/chunks/3417.js +1 -1
  225. package/.next/server/chunks/365.js +1 -0
  226. package/.next/server/chunks/3736.js +1 -1
  227. package/.next/server/chunks/3753.js +14 -5
  228. package/.next/server/chunks/4444.js +1 -1
  229. package/.next/server/chunks/5064.js +1 -1
  230. package/.next/server/chunks/5737.js +1 -1
  231. package/.next/server/chunks/5959.js +10 -3
  232. package/.next/server/chunks/6130.js +1 -1
  233. package/.next/server/chunks/6274.js +1 -1
  234. package/.next/server/chunks/6401.js +1 -1
  235. package/.next/server/chunks/848.js +1 -0
  236. package/.next/server/chunks/8536.js +1 -1
  237. package/.next/server/chunks/8584.js +1 -1
  238. package/.next/server/chunks/8807.js +1 -1
  239. package/.next/server/chunks/8856.js +1 -1
  240. package/.next/server/chunks/9058.js +1 -1
  241. package/.next/server/chunks/9360.js +2 -0
  242. package/.next/server/chunks/9687.js +1 -1
  243. package/.next/server/middleware-manifest.json +5 -5
  244. package/.next/server/pages/500.html +1 -1
  245. package/.next/server/server-reference-manifest.json +1 -1
  246. package/.next/static/chunks/{8562-6e2ab32452f4fa5b.js → 2053-52d3c82014e1cd54.js} +1 -1
  247. package/.next/static/chunks/2751-9ef0f4b450bd4ef0.js +1 -0
  248. package/.next/static/chunks/{6488-3e7539550c3ef358.js → 6488-d3cf14e8d95b2d03.js} +1 -1
  249. package/.next/static/chunks/app/api/app/update/route-be21650964d61b1d.js +1 -0
  250. package/.next/static/chunks/app/api/app/update-check/route-be21650964d61b1d.js +1 -0
  251. package/.next/static/chunks/app/api/assistant/conversation/route-be21650964d61b1d.js +1 -0
  252. package/.next/static/chunks/app/api/assistant/current-output/route-be21650964d61b1d.js +1 -0
  253. package/.next/static/chunks/app/api/assistant/messages/route-be21650964d61b1d.js +1 -0
  254. package/.next/static/chunks/app/api/assistant/session/route-be21650964d61b1d.js +1 -0
  255. package/.next/static/chunks/app/api/assistant/start/route-be21650964d61b1d.js +1 -0
  256. package/.next/static/chunks/app/api/assistant/terminal/route-be21650964d61b1d.js +1 -0
  257. package/.next/static/chunks/app/api/assistant/tools/route-be21650964d61b1d.js +1 -0
  258. package/.next/static/chunks/app/api/auth/login/route-be21650964d61b1d.js +1 -0
  259. package/.next/static/chunks/app/api/auth/logout/route-be21650964d61b1d.js +1 -0
  260. package/.next/static/chunks/app/api/auth/status/route-be21650964d61b1d.js +1 -0
  261. package/.next/static/chunks/app/api/daily-summary/route-be21650964d61b1d.js +1 -0
  262. package/.next/static/chunks/app/api/daily-summary/status/route-be21650964d61b1d.js +1 -0
  263. package/.next/static/chunks/app/api/external-apps/[id]/health/route-be21650964d61b1d.js +1 -0
  264. package/.next/static/chunks/app/api/external-apps/[id]/route-be21650964d61b1d.js +1 -0
  265. package/.next/static/chunks/app/api/external-apps/route-be21650964d61b1d.js +1 -0
  266. package/.next/static/chunks/app/api/fs/browse/route-be21650964d61b1d.js +1 -0
  267. package/.next/static/chunks/app/api/fs/recent-paths/route-be21650964d61b1d.js +1 -0
  268. package/.next/static/chunks/app/api/hooks/agent-event/route-be21650964d61b1d.js +1 -0
  269. package/.next/static/chunks/app/api/hooks/claude-done/route-be21650964d61b1d.js +1 -0
  270. package/.next/static/chunks/app/api/metrics/vibe/route-be21650964d61b1d.js +1 -0
  271. package/.next/static/chunks/app/api/ollama/models/route-be21650964d61b1d.js +1 -0
  272. package/.next/static/chunks/app/api/push/subscriptions/route-be21650964d61b1d.js +1 -0
  273. package/.next/static/chunks/app/api/push/vapid/route-be21650964d61b1d.js +1 -0
  274. package/.next/static/chunks/app/api/repositories/[id]/route-be21650964d61b1d.js +1 -0
  275. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
  276. package/.next/static/chunks/app/api/repositories/[id]/todos/route-be21650964d61b1d.js +1 -0
  277. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-be21650964d61b1d.js +1 -0
  278. package/.next/static/chunks/app/api/repositories/clone/route-be21650964d61b1d.js +1 -0
  279. package/.next/static/chunks/app/api/repositories/excluded/route-be21650964d61b1d.js +1 -0
  280. package/.next/static/chunks/app/api/repositories/restore/route-be21650964d61b1d.js +1 -0
  281. package/.next/static/chunks/app/api/repositories/route-be21650964d61b1d.js +1 -0
  282. package/.next/static/chunks/app/api/repositories/scan/route-be21650964d61b1d.js +1 -0
  283. package/.next/static/chunks/app/api/repositories/sync/route-be21650964d61b1d.js +1 -0
  284. package/.next/static/chunks/app/api/repositories/validate-path/route-be21650964d61b1d.js +1 -0
  285. package/.next/static/chunks/app/api/sidebar/group-order/route-be21650964d61b1d.js +1 -0
  286. package/.next/static/chunks/app/api/skills/[id]/route-be21650964d61b1d.js +1 -0
  287. package/.next/static/chunks/app/api/skills/installations/route-be21650964d61b1d.js +1 -0
  288. package/.next/static/chunks/app/api/skills/operations/route-be21650964d61b1d.js +1 -0
  289. package/.next/static/chunks/app/api/skills/reindex/route-be21650964d61b1d.js +1 -0
  290. package/.next/static/chunks/app/api/skills/route-be21650964d61b1d.js +1 -0
  291. package/.next/static/chunks/app/api/slash-commands/route-be21650964d61b1d.js +1 -0
  292. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-be21650964d61b1d.js +1 -0
  293. package/.next/static/chunks/app/api/tasks/[taskId]/route-be21650964d61b1d.js +1 -0
  294. package/.next/static/chunks/app/api/templates/[id]/route-be21650964d61b1d.js +1 -0
  295. package/.next/static/chunks/app/api/templates/route-be21650964d61b1d.js +1 -0
  296. package/.next/static/chunks/app/api/todos/route-be21650964d61b1d.js +1 -0
  297. package/.next/static/chunks/app/api/verification/runs/[runId]/route-be21650964d61b1d.js +1 -0
  298. package/.next/static/chunks/app/api/verification/runs/route-be21650964d61b1d.js +1 -0
  299. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-be21650964d61b1d.js +1 -0
  300. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-be21650964d61b1d.js +1 -0
  301. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-be21650964d61b1d.js +1 -0
  302. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-be21650964d61b1d.js +1 -0
  303. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-be21650964d61b1d.js +1 -0
  304. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-be21650964d61b1d.js +1 -0
  305. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-be21650964d61b1d.js +1 -0
  306. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-be21650964d61b1d.js +1 -0
  307. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-be21650964d61b1d.js +1 -0
  308. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-be21650964d61b1d.js +1 -0
  309. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-be21650964d61b1d.js +1 -0
  310. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-be21650964d61b1d.js +1 -0
  311. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-be21650964d61b1d.js +1 -0
  312. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-be21650964d61b1d.js +1 -0
  313. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-be21650964d61b1d.js +1 -0
  314. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-be21650964d61b1d.js +1 -0
  315. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-be21650964d61b1d.js +1 -0
  316. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-be21650964d61b1d.js +1 -0
  317. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-be21650964d61b1d.js +1 -0
  318. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-be21650964d61b1d.js +1 -0
  319. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-be21650964d61b1d.js +1 -0
  320. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-be21650964d61b1d.js +1 -0
  321. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-be21650964d61b1d.js +1 -0
  322. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-be21650964d61b1d.js +1 -0
  323. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-be21650964d61b1d.js +1 -0
  324. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-be21650964d61b1d.js +1 -0
  325. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-be21650964d61b1d.js +1 -0
  326. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-be21650964d61b1d.js +1 -0
  327. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-be21650964d61b1d.js +1 -0
  328. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-be21650964d61b1d.js +1 -0
  329. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-be21650964d61b1d.js +1 -0
  330. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-be21650964d61b1d.js +1 -0
  331. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-be21650964d61b1d.js +1 -0
  332. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-be21650964d61b1d.js +1 -0
  333. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-be21650964d61b1d.js +1 -0
  334. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-be21650964d61b1d.js +1 -0
  335. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-be21650964d61b1d.js +1 -0
  336. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-be21650964d61b1d.js +1 -0
  337. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-be21650964d61b1d.js +1 -0
  338. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-be21650964d61b1d.js +1 -0
  339. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-be21650964d61b1d.js +1 -0
  340. package/.next/static/chunks/app/api/worktrees/[id]/route-be21650964d61b1d.js +1 -0
  341. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-be21650964d61b1d.js +1 -0
  342. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-be21650964d61b1d.js +1 -0
  343. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-be21650964d61b1d.js +1 -0
  344. package/.next/static/chunks/app/api/worktrees/[id]/search/route-be21650964d61b1d.js +1 -0
  345. package/.next/static/chunks/app/api/worktrees/[id]/send/route-be21650964d61b1d.js +1 -0
  346. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-be21650964d61b1d.js +1 -0
  347. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-be21650964d61b1d.js +1 -0
  348. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-be21650964d61b1d.js +1 -0
  349. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-be21650964d61b1d.js +1 -0
  350. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-be21650964d61b1d.js +1 -0
  351. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update/route-be21650964d61b1d.js +1 -0
  352. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/update-plan/route-be21650964d61b1d.js +1 -0
  353. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-be21650964d61b1d.js +1 -0
  354. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-be21650964d61b1d.js +1 -0
  355. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-be21650964d61b1d.js +1 -0
  356. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-be21650964d61b1d.js +1 -0
  357. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-be21650964d61b1d.js +1 -0
  358. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-be21650964d61b1d.js +1 -0
  359. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-be21650964d61b1d.js +1 -0
  360. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-be21650964d61b1d.js +1 -0
  361. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-be21650964d61b1d.js +1 -0
  362. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-be21650964d61b1d.js +1 -0
  363. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-be21650964d61b1d.js +1 -0
  364. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-be21650964d61b1d.js +1 -0
  365. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-be21650964d61b1d.js +1 -0
  366. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-be21650964d61b1d.js +1 -0
  367. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-be21650964d61b1d.js +1 -0
  368. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-be21650964d61b1d.js +1 -0
  369. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-be21650964d61b1d.js +1 -0
  370. package/.next/static/chunks/app/api/worktrees/route-be21650964d61b1d.js +1 -0
  371. package/.next/static/chunks/app/manifest.webmanifest/route-be21650964d61b1d.js +1 -0
  372. package/.next/static/chunks/app/proxy/[...path]/route-be21650964d61b1d.js +1 -0
  373. package/.next/static/chunks/app/skills/[skillId]/page-10d6f983e5f06ffb.js +1 -0
  374. package/.next/static/chunks/app/worktrees/[id]/layout-be21650964d61b1d.js +1 -0
  375. package/.next/static/chunks/app/worktrees/[id]/page-77b0ee35da06da00.js +1 -0
  376. package/.next/trace +12 -12
  377. package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update/route.ts +347 -0
  378. package/.next/types/app/api/worktrees/[id]/skills/[skillId]/update-plan/route.ts +347 -0
  379. package/.next/types/routes.d.ts +3 -1
  380. package/.next/types/validator.ts +18 -0
  381. package/dist/cli/commands/auto-yes.js +1 -1
  382. package/dist/cli/commands/capture.d.ts +1 -0
  383. package/dist/cli/commands/capture.d.ts.map +1 -1
  384. package/dist/cli/commands/capture.js +112 -0
  385. package/dist/cli/commands/respond.d.ts.map +1 -1
  386. package/dist/cli/commands/respond.js +31 -6
  387. package/dist/cli/commands/send.js +2 -2
  388. package/dist/cli/commands/skill-format.d.ts +7 -1
  389. package/dist/cli/commands/skill-format.d.ts.map +1 -1
  390. package/dist/cli/commands/skill-format.js +67 -0
  391. package/dist/cli/commands/skill.d.ts +2 -0
  392. package/dist/cli/commands/skill.d.ts.map +1 -1
  393. package/dist/cli/commands/skill.js +149 -0
  394. package/dist/cli/commands/sync.d.ts +14 -0
  395. package/dist/cli/commands/sync.d.ts.map +1 -0
  396. package/dist/cli/commands/sync.js +53 -0
  397. package/dist/cli/commands/wait.d.ts.map +1 -1
  398. package/dist/cli/commands/wait.js +72 -1
  399. package/dist/cli/docs/agent-operations.d.ts +1 -1
  400. package/dist/cli/docs/agent-operations.d.ts.map +1 -1
  401. package/dist/cli/docs/agent-operations.js +25 -3
  402. package/dist/cli/program.d.ts.map +1 -1
  403. package/dist/cli/program.js +3 -0
  404. package/dist/cli/types/api-responses.d.ts +201 -0
  405. package/dist/cli/types/api-responses.d.ts.map +1 -1
  406. package/dist/cli/types/index.d.ts +31 -0
  407. package/dist/cli/types/index.d.ts.map +1 -1
  408. package/dist/cli/utils/verify-runner.d.ts +9 -0
  409. package/dist/cli/utils/verify-runner.d.ts.map +1 -1
  410. package/dist/cli/utils/verify-runner.js +28 -2
  411. package/dist/config/history-display-config.d.ts +61 -0
  412. package/dist/config/history-display-config.d.ts.map +1 -0
  413. package/dist/config/history-display-config.js +62 -0
  414. package/dist/server/src/lib/auto-yes-poller.js +49 -0
  415. package/dist/server/src/lib/db/chat-db.js +75 -1
  416. package/dist/server/src/lib/db/db.js +4 -3
  417. package/dist/server/src/lib/detection/prompt-detect-multiple-choice.js +122 -4
  418. package/dist/server/src/lib/detection/prompt-detector.js +39 -3
  419. package/dist/server/src/lib/polling/auto-yes-resolver.js +14 -5
  420. package/dist/server/src/lib/polling/auto-yes-suppression-state.js +54 -0
  421. package/dist/server/src/lib/session/current-output-builder.js +2 -0
  422. package/dist/server/src/lib/skills/install-apply.js +63 -23
  423. package/dist/server/src/lib/skills/operation-audit.js +5 -6
  424. package/dist/server/src/lib/skills/startup-reconcile.js +26 -5
  425. package/dist/server/src/lib/skills/updater.js +830 -0
  426. package/package.json +1 -1
  427. package/.next/server/chunks/3042.js +0 -1
  428. package/.next/server/chunks/4440.js +0 -2
  429. package/.next/server/chunks/4548.js +0 -1
  430. package/.next/server/chunks/5793.js +0 -1
  431. package/.next/static/chunks/2751-7fabd91275b14ca3.js +0 -1
  432. package/.next/static/chunks/app/api/app/update/route-5bdd550ed6386f57.js +0 -1
  433. package/.next/static/chunks/app/api/app/update-check/route-5bdd550ed6386f57.js +0 -1
  434. package/.next/static/chunks/app/api/assistant/conversation/route-5bdd550ed6386f57.js +0 -1
  435. package/.next/static/chunks/app/api/assistant/current-output/route-5bdd550ed6386f57.js +0 -1
  436. package/.next/static/chunks/app/api/assistant/messages/route-5bdd550ed6386f57.js +0 -1
  437. package/.next/static/chunks/app/api/assistant/session/route-5bdd550ed6386f57.js +0 -1
  438. package/.next/static/chunks/app/api/assistant/start/route-5bdd550ed6386f57.js +0 -1
  439. package/.next/static/chunks/app/api/assistant/terminal/route-5bdd550ed6386f57.js +0 -1
  440. package/.next/static/chunks/app/api/assistant/tools/route-5bdd550ed6386f57.js +0 -1
  441. package/.next/static/chunks/app/api/auth/login/route-5bdd550ed6386f57.js +0 -1
  442. package/.next/static/chunks/app/api/auth/logout/route-5bdd550ed6386f57.js +0 -1
  443. package/.next/static/chunks/app/api/auth/status/route-5bdd550ed6386f57.js +0 -1
  444. package/.next/static/chunks/app/api/daily-summary/route-5bdd550ed6386f57.js +0 -1
  445. package/.next/static/chunks/app/api/daily-summary/status/route-5bdd550ed6386f57.js +0 -1
  446. package/.next/static/chunks/app/api/external-apps/[id]/health/route-5bdd550ed6386f57.js +0 -1
  447. package/.next/static/chunks/app/api/external-apps/[id]/route-5bdd550ed6386f57.js +0 -1
  448. package/.next/static/chunks/app/api/external-apps/route-5bdd550ed6386f57.js +0 -1
  449. package/.next/static/chunks/app/api/fs/browse/route-5bdd550ed6386f57.js +0 -1
  450. package/.next/static/chunks/app/api/fs/recent-paths/route-5bdd550ed6386f57.js +0 -1
  451. package/.next/static/chunks/app/api/hooks/agent-event/route-5bdd550ed6386f57.js +0 -1
  452. package/.next/static/chunks/app/api/hooks/claude-done/route-5bdd550ed6386f57.js +0 -1
  453. package/.next/static/chunks/app/api/metrics/vibe/route-5bdd550ed6386f57.js +0 -1
  454. package/.next/static/chunks/app/api/ollama/models/route-5bdd550ed6386f57.js +0 -1
  455. package/.next/static/chunks/app/api/push/subscriptions/route-5bdd550ed6386f57.js +0 -1
  456. package/.next/static/chunks/app/api/push/vapid/route-5bdd550ed6386f57.js +0 -1
  457. package/.next/static/chunks/app/api/repositories/[id]/route-5bdd550ed6386f57.js +0 -1
  458. package/.next/static/chunks/app/api/repositories/[id]/todos/[todoId]/route-5bdd550ed6386f57.js +0 -1
  459. package/.next/static/chunks/app/api/repositories/[id]/todos/route-5bdd550ed6386f57.js +0 -1
  460. package/.next/static/chunks/app/api/repositories/clone/[jobId]/route-5bdd550ed6386f57.js +0 -1
  461. package/.next/static/chunks/app/api/repositories/clone/route-5bdd550ed6386f57.js +0 -1
  462. package/.next/static/chunks/app/api/repositories/excluded/route-5bdd550ed6386f57.js +0 -1
  463. package/.next/static/chunks/app/api/repositories/restore/route-5bdd550ed6386f57.js +0 -1
  464. package/.next/static/chunks/app/api/repositories/route-5bdd550ed6386f57.js +0 -1
  465. package/.next/static/chunks/app/api/repositories/scan/route-5bdd550ed6386f57.js +0 -1
  466. package/.next/static/chunks/app/api/repositories/sync/route-5bdd550ed6386f57.js +0 -1
  467. package/.next/static/chunks/app/api/repositories/validate-path/route-5bdd550ed6386f57.js +0 -1
  468. package/.next/static/chunks/app/api/sidebar/group-order/route-5bdd550ed6386f57.js +0 -1
  469. package/.next/static/chunks/app/api/skills/[id]/route-5bdd550ed6386f57.js +0 -1
  470. package/.next/static/chunks/app/api/skills/installations/route-5bdd550ed6386f57.js +0 -1
  471. package/.next/static/chunks/app/api/skills/operations/route-5bdd550ed6386f57.js +0 -1
  472. package/.next/static/chunks/app/api/skills/reindex/route-5bdd550ed6386f57.js +0 -1
  473. package/.next/static/chunks/app/api/skills/route-5bdd550ed6386f57.js +0 -1
  474. package/.next/static/chunks/app/api/slash-commands/route-5bdd550ed6386f57.js +0 -1
  475. package/.next/static/chunks/app/api/tasks/[taskId]/cancel/route-5bdd550ed6386f57.js +0 -1
  476. package/.next/static/chunks/app/api/tasks/[taskId]/route-5bdd550ed6386f57.js +0 -1
  477. package/.next/static/chunks/app/api/templates/[id]/route-5bdd550ed6386f57.js +0 -1
  478. package/.next/static/chunks/app/api/templates/route-5bdd550ed6386f57.js +0 -1
  479. package/.next/static/chunks/app/api/todos/route-5bdd550ed6386f57.js +0 -1
  480. package/.next/static/chunks/app/api/verification/runs/[runId]/route-5bdd550ed6386f57.js +0 -1
  481. package/.next/static/chunks/app/api/verification/runs/route-5bdd550ed6386f57.js +0 -1
  482. package/.next/static/chunks/app/api/worktrees/[id]/auto-yes/route-5bdd550ed6386f57.js +0 -1
  483. package/.next/static/chunks/app/api/worktrees/[id]/capture/route-5bdd550ed6386f57.js +0 -1
  484. package/.next/static/chunks/app/api/worktrees/[id]/cli-tool/route-5bdd550ed6386f57.js +0 -1
  485. package/.next/static/chunks/app/api/worktrees/[id]/cmate/schedules/route-5bdd550ed6386f57.js +0 -1
  486. package/.next/static/chunks/app/api/worktrees/[id]/current-output/route-5bdd550ed6386f57.js +0 -1
  487. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/[logId]/route-5bdd550ed6386f57.js +0 -1
  488. package/.next/static/chunks/app/api/worktrees/[id]/execution-logs/route-5bdd550ed6386f57.js +0 -1
  489. package/.next/static/chunks/app/api/worktrees/[id]/files/[...path]/route-5bdd550ed6386f57.js +0 -1
  490. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/create/route-5bdd550ed6386f57.js +0 -1
  491. package/.next/static/chunks/app/api/worktrees/[id]/git/branch/delete/route-5bdd550ed6386f57.js +0 -1
  492. package/.next/static/chunks/app/api/worktrees/[id]/git/branches/route-5bdd550ed6386f57.js +0 -1
  493. package/.next/static/chunks/app/api/worktrees/[id]/git/checkout/route-5bdd550ed6386f57.js +0 -1
  494. package/.next/static/chunks/app/api/worktrees/[id]/git/commit/route-5bdd550ed6386f57.js +0 -1
  495. package/.next/static/chunks/app/api/worktrees/[id]/git/diff/route-5bdd550ed6386f57.js +0 -1
  496. package/.next/static/chunks/app/api/worktrees/[id]/git/fetch/route-5bdd550ed6386f57.js +0 -1
  497. package/.next/static/chunks/app/api/worktrees/[id]/git/log/route-5bdd550ed6386f57.js +0 -1
  498. package/.next/static/chunks/app/api/worktrees/[id]/git/pull/route-5bdd550ed6386f57.js +0 -1
  499. package/.next/static/chunks/app/api/worktrees/[id]/git/push/route-5bdd550ed6386f57.js +0 -1
  500. package/.next/static/chunks/app/api/worktrees/[id]/git/reset/route-5bdd550ed6386f57.js +0 -1
  501. package/.next/static/chunks/app/api/worktrees/[id]/git/revert/route-5bdd550ed6386f57.js +0 -1
  502. package/.next/static/chunks/app/api/worktrees/[id]/git/show/[commitHash]/route-5bdd550ed6386f57.js +0 -1
  503. package/.next/static/chunks/app/api/worktrees/[id]/git/stage/route-5bdd550ed6386f57.js +0 -1
  504. package/.next/static/chunks/app/api/worktrees/[id]/git/staged/route-5bdd550ed6386f57.js +0 -1
  505. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/[index]/route-5bdd550ed6386f57.js +0 -1
  506. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/apply/route-5bdd550ed6386f57.js +0 -1
  507. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/pop/route-5bdd550ed6386f57.js +0 -1
  508. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/push/route-5bdd550ed6386f57.js +0 -1
  509. package/.next/static/chunks/app/api/worktrees/[id]/git/stash/route-5bdd550ed6386f57.js +0 -1
  510. package/.next/static/chunks/app/api/worktrees/[id]/git/status/route-5bdd550ed6386f57.js +0 -1
  511. package/.next/static/chunks/app/api/worktrees/[id]/git/unstage/route-5bdd550ed6386f57.js +0 -1
  512. package/.next/static/chunks/app/api/worktrees/[id]/git/working-diff/route-5bdd550ed6386f57.js +0 -1
  513. package/.next/static/chunks/app/api/worktrees/[id]/interrupt/route-5bdd550ed6386f57.js +0 -1
  514. package/.next/static/chunks/app/api/worktrees/[id]/kill-session/route-5bdd550ed6386f57.js +0 -1
  515. package/.next/static/chunks/app/api/worktrees/[id]/logs/[filename]/route-5bdd550ed6386f57.js +0 -1
  516. package/.next/static/chunks/app/api/worktrees/[id]/logs/route-5bdd550ed6386f57.js +0 -1
  517. package/.next/static/chunks/app/api/worktrees/[id]/marp-render/route-5bdd550ed6386f57.js +0 -1
  518. package/.next/static/chunks/app/api/worktrees/[id]/memos/[memoId]/route-5bdd550ed6386f57.js +0 -1
  519. package/.next/static/chunks/app/api/worktrees/[id]/memos/route-5bdd550ed6386f57.js +0 -1
  520. package/.next/static/chunks/app/api/worktrees/[id]/messages/route-5bdd550ed6386f57.js +0 -1
  521. package/.next/static/chunks/app/api/worktrees/[id]/prompt-response/route-5bdd550ed6386f57.js +0 -1
  522. package/.next/static/chunks/app/api/worktrees/[id]/respond/route-5bdd550ed6386f57.js +0 -1
  523. package/.next/static/chunks/app/api/worktrees/[id]/route-5bdd550ed6386f57.js +0 -1
  524. package/.next/static/chunks/app/api/worktrees/[id]/schedules/[scheduleId]/route-5bdd550ed6386f57.js +0 -1
  525. package/.next/static/chunks/app/api/worktrees/[id]/schedules/active/route-5bdd550ed6386f57.js +0 -1
  526. package/.next/static/chunks/app/api/worktrees/[id]/schedules/route-5bdd550ed6386f57.js +0 -1
  527. package/.next/static/chunks/app/api/worktrees/[id]/search/route-5bdd550ed6386f57.js +0 -1
  528. package/.next/static/chunks/app/api/worktrees/[id]/send/route-5bdd550ed6386f57.js +0 -1
  529. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route-5bdd550ed6386f57.js +0 -1
  530. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/install/route-5bdd550ed6386f57.js +0 -1
  531. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/plan/route-5bdd550ed6386f57.js +0 -1
  532. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall/route-5bdd550ed6386f57.js +0 -1
  533. package/.next/static/chunks/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route-5bdd550ed6386f57.js +0 -1
  534. package/.next/static/chunks/app/api/worktrees/[id]/skills/route-5bdd550ed6386f57.js +0 -1
  535. package/.next/static/chunks/app/api/worktrees/[id]/slash-commands/route-5bdd550ed6386f57.js +0 -1
  536. package/.next/static/chunks/app/api/worktrees/[id]/special-keys/route-5bdd550ed6386f57.js +0 -1
  537. package/.next/static/chunks/app/api/worktrees/[id]/start-polling/route-5bdd550ed6386f57.js +0 -1
  538. package/.next/static/chunks/app/api/worktrees/[id]/tasks/route-5bdd550ed6386f57.js +0 -1
  539. package/.next/static/chunks/app/api/worktrees/[id]/terminal/route-5bdd550ed6386f57.js +0 -1
  540. package/.next/static/chunks/app/api/worktrees/[id]/timers/history/route-5bdd550ed6386f57.js +0 -1
  541. package/.next/static/chunks/app/api/worktrees/[id]/timers/route-5bdd550ed6386f57.js +0 -1
  542. package/.next/static/chunks/app/api/worktrees/[id]/todos/[todoId]/route-5bdd550ed6386f57.js +0 -1
  543. package/.next/static/chunks/app/api/worktrees/[id]/todos/route-5bdd550ed6386f57.js +0 -1
  544. package/.next/static/chunks/app/api/worktrees/[id]/tree/[...path]/route-5bdd550ed6386f57.js +0 -1
  545. package/.next/static/chunks/app/api/worktrees/[id]/tree/route-5bdd550ed6386f57.js +0 -1
  546. package/.next/static/chunks/app/api/worktrees/[id]/upload/[...path]/route-5bdd550ed6386f57.js +0 -1
  547. package/.next/static/chunks/app/api/worktrees/[id]/verify/route-5bdd550ed6386f57.js +0 -1
  548. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/[runId]/route-5bdd550ed6386f57.js +0 -1
  549. package/.next/static/chunks/app/api/worktrees/[id]/verify/runs/route-5bdd550ed6386f57.js +0 -1
  550. package/.next/static/chunks/app/api/worktrees/[id]/viewed/route-5bdd550ed6386f57.js +0 -1
  551. package/.next/static/chunks/app/api/worktrees/route-5bdd550ed6386f57.js +0 -1
  552. package/.next/static/chunks/app/manifest.webmanifest/route-5bdd550ed6386f57.js +0 -1
  553. package/.next/static/chunks/app/proxy/[...path]/route-5bdd550ed6386f57.js +0 -1
  554. package/.next/static/chunks/app/skills/[skillId]/page-6008b904225ebb25.js +0 -1
  555. package/.next/static/chunks/app/worktrees/[id]/layout-5bdd550ed6386f57.js +0 -1
  556. package/.next/static/chunks/app/worktrees/[id]/page-214ee8b97dca856b.js +0 -1
  557. /package/.next/static/{C01FQOE5FCmB3I_GhMa4_ → E2SxtJGbNcRMnWbCC3i_-}/_buildManifest.js +0 -0
  558. /package/.next/static/{C01FQOE5FCmB3I_GhMa4_ → E2SxtJGbNcRMnWbCC3i_-}/_ssgManifest.js +0 -0
@@ -1,2 +1,2 @@
1
1
  "use strict";exports.id=1503,exports.ids=[1503],exports.modules={2400:(a,b,c)=>{let{tokenChars:d}=c(11998);function e(a,b,c){void 0===a[b]?a[b]=[c]:a[b].push(c)}a.exports={format:function(a){return Object.keys(a).map(b=>{let c=a[b];return Array.isArray(c)||(c=[c]),c.map(a=>[b].concat(Object.keys(a).map(b=>{let c=a[b];return Array.isArray(c)||(c=[c]),c.map(a=>!0===a?b:`${b}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")},parse:function(a){let b,c,f=Object.create(null),g=Object.create(null),h=!1,i=!1,j=!1,k=-1,l=-1,m=-1,n=0;for(;n<a.length;n++)if(l=a.charCodeAt(n),void 0===b)if(-1===m&&1===d[l])-1===k&&(k=n);else if(0!==n&&(32===l||9===l))-1===m&&-1!==k&&(m=n);else if(59===l||44===l){if(-1===k)throw SyntaxError(`Unexpected character at index ${n}`);-1===m&&(m=n);let c=a.slice(k,m);44===l?(e(f,c,g),g=Object.create(null)):b=c,k=m=-1}else throw SyntaxError(`Unexpected character at index ${n}`);else if(void 0===c)if(-1===m&&1===d[l])-1===k&&(k=n);else if(32===l||9===l)-1===m&&-1!==k&&(m=n);else if(59===l||44===l){if(-1===k)throw SyntaxError(`Unexpected character at index ${n}`);-1===m&&(m=n),e(g,a.slice(k,m),!0),44===l&&(e(f,b,g),g=Object.create(null),b=void 0),k=m=-1}else if(61===l&&-1!==k&&-1===m)c=a.slice(k,n),k=m=-1;else throw SyntaxError(`Unexpected character at index ${n}`);else if(i){if(1!==d[l])throw SyntaxError(`Unexpected character at index ${n}`);-1===k?k=n:h||(h=!0),i=!1}else if(j)if(1===d[l])-1===k&&(k=n);else if(34===l&&-1!==k)j=!1,m=n;else if(92===l)i=!0;else throw SyntaxError(`Unexpected character at index ${n}`);else if(34===l&&61===a.charCodeAt(n-1))j=!0;else if(-1===m&&1===d[l])-1===k&&(k=n);else if(-1!==k&&(32===l||9===l))-1===m&&(m=n);else if(59===l||44===l){if(-1===k)throw SyntaxError(`Unexpected character at index ${n}`);-1===m&&(m=n);let d=a.slice(k,m);h&&(d=d.replace(/\\/g,""),h=!1),e(g,c,d),44===l&&(e(f,b,g),g=Object.create(null),b=void 0),c=void 0,k=m=-1}else throw SyntaxError(`Unexpected character at index ${n}`);if(-1===k||j||32===l||9===l)throw SyntaxError("Unexpected end of input");-1===m&&(m=n);let o=a.slice(k,m);return void 0===b?e(f,o,g):(void 0===c?e(g,o,!0):h?e(g,c,o.replace(/\\/g,"")):e(g,c,o),e(f,b,g)),f}}},3266:(a,b,c)=>{let d=c(94735),e=c(55591),f=c(81630),g=c(91645),h=c(34631),{randomBytes:i,createHash:j}=c(55511),{Duplex:k,Readable:l}=c(27910),{URL:m}=c(79551),n=c(6597),o=c(94740),p=c(64188),{isBlob:q}=c(11998),{BINARY_TYPES:r,CLOSE_TIMEOUT:s,EMPTY_BUFFER:t,GUID:u,kForOnEventAttribute:v,kListener:w,kStatusCode:x,kWebSocket:y,NOOP:z}=c(27768),{EventTarget:{addEventListener:A,removeEventListener:B}}=c(92095),{format:C,parse:D}=c(2400),{toBuffer:E}=c(94100),F=Symbol("kAborted"),G=[8,13],H=["CONNECTING","OPEN","CLOSING","CLOSED"],I=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class J extends d{constructor(a,b,c){super(),this._binaryType=r[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=t,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=J.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==a?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===b?b=[]:Array.isArray(b)||("object"==typeof b&&null!==b?(c=b,b=[]):b=[b]),function a(b,c,d,g){let h,k,l,o,p={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:s,protocolVersion:G[1],maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...g,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(b._autoPong=p.autoPong,b._closeTimeout=p.closeTimeout,!G.includes(p.protocolVersion))throw RangeError(`Unsupported protocol version: ${p.protocolVersion} (supported versions: ${G.join(", ")})`);if(c instanceof m)h=c;else try{h=new m(c)}catch(a){throw SyntaxError(`Invalid URL: ${c}`)}"http:"===h.protocol?h.protocol="ws:":"https:"===h.protocol&&(h.protocol="wss:"),b._url=h.href;let q="wss:"===h.protocol,r="ws+unix:"===h.protocol;if("ws:"===h.protocol||q||r?r&&!h.pathname?k="The URL's pathname is empty":h.hash&&(k="The URL contains a fragment identifier"):k='The URL\'s protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"',k){let a=SyntaxError(k);if(0!==b._redirects)return void K(b,a);throw a}let t=q?443:80,v=i(16).toString("base64"),w=q?e.request:f.request,x=new Set;if(p.createConnection=p.createConnection||(q?M:L),p.defaultPort=p.defaultPort||t,p.port=h.port||t,p.host=h.hostname.startsWith("[")?h.hostname.slice(1,-1):h.hostname,p.headers={...p.headers,"Sec-WebSocket-Version":p.protocolVersion,"Sec-WebSocket-Key":v,Connection:"Upgrade",Upgrade:"websocket"},p.path=h.pathname+h.search,p.timeout=p.handshakeTimeout,p.perMessageDeflate&&(l=new n(!0!==p.perMessageDeflate?p.perMessageDeflate:{},!1,p.maxPayload),p.headers["Sec-WebSocket-Extensions"]=C({[n.extensionName]:l.offer()})),d.length){for(let a of d){if("string"!=typeof a||!I.test(a)||x.has(a))throw SyntaxError("An invalid or duplicated subprotocol was specified");x.add(a)}p.headers["Sec-WebSocket-Protocol"]=d.join(",")}if(p.origin&&(p.protocolVersion<13?p.headers["Sec-WebSocket-Origin"]=p.origin:p.headers.Origin=p.origin),(h.username||h.password)&&(p.auth=`${h.username}:${h.password}`),r){let a=p.path.split(":");p.socketPath=a[0],p.path=a[1]}if(p.followRedirects){if(0===b._redirects){b._originalIpc=r,b._originalSecure=q,b._originalHostOrSocketPath=r?p.socketPath:h.host;let a=g&&g.headers;if(g={...g,headers:{}},a)for(let[b,c]of Object.entries(a))g.headers[b.toLowerCase()]=c}else if(0===b.listenerCount("redirect")){let a=r?!!b._originalIpc&&p.socketPath===b._originalHostOrSocketPath:!b._originalIpc&&h.host===b._originalHostOrSocketPath;a&&(!b._originalSecure||q)||(delete p.headers.authorization,delete p.headers.cookie,a||delete p.headers.host,p.auth=void 0)}p.auth&&!g.headers.authorization&&(g.headers.authorization="Basic "+Buffer.from(p.auth).toString("base64")),o=b._req=w(p),b._redirects&&b.emit("redirect",b.url,o)}else o=b._req=w(p);p.timeout&&o.on("timeout",()=>{N(b,o,"Opening handshake has timed out")}),o.on("error",a=>{null===o||o[F]||(o=b._req=null,K(b,a))}),o.on("response",e=>{let f=e.headers.location,h=e.statusCode;if(f&&p.followRedirects&&h>=300&&h<400){let e;if(++b._redirects>p.maxRedirects)return void N(b,o,"Maximum redirects exceeded");o.abort();try{e=new m(f,c)}catch(a){K(b,SyntaxError(`Invalid URL: ${f}`));return}a(b,e,d,g)}else b.emit("unexpected-response",o,e)||N(b,o,`Unexpected server response: ${e.statusCode}`)}),o.on("upgrade",(a,c,d)=>{let e;if(b.emit("upgrade",a),b.readyState!==J.CONNECTING)return;o=b._req=null;let f=a.headers.upgrade;if(void 0===f||"websocket"!==f.toLowerCase())return void N(b,c,"Invalid Upgrade header");let g=j("sha1").update(v+u).digest("base64");if(a.headers["sec-websocket-accept"]!==g)return void N(b,c,"Invalid Sec-WebSocket-Accept header");let h=a.headers["sec-websocket-protocol"];if(void 0!==h?x.size?x.has(h)||(e="Server sent an invalid subprotocol"):e="Server sent a subprotocol but none was requested":x.size&&(e="Server sent no subprotocol"),e)return void N(b,c,e);h&&(b._protocol=h);let i=a.headers["sec-websocket-extensions"];if(void 0!==i){let a;if(!l)return void N(b,c,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");try{a=D(i)}catch(a){N(b,c,"Invalid Sec-WebSocket-Extensions header");return}let d=Object.keys(a);if(1!==d.length||d[0]!==n.extensionName)return void N(b,c,"Server indicated an extension that was not requested");try{l.accept(a[n.extensionName])}catch(a){N(b,c,"Invalid Sec-WebSocket-Extensions header");return}b._extensions[n.extensionName]=l}b.setSocket(c,d,{allowSynchronousEvents:p.allowSynchronousEvents,generateMask:p.generateMask,maxPayload:p.maxPayload,skipUTF8Validation:p.skipUTF8Validation})}),p.finishRequest?p.finishRequest(o,b):o.end()}(this,a,b,c)):(this._autoPong=c.autoPong,this._closeTimeout=c.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(a){r.includes(a)&&(this._binaryType=a,this._receiver&&(this._receiver._binaryType=a))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(a,b,c){let d=new o({allowSynchronousEvents:c.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:c.maxPayload,skipUTF8Validation:c.skipUTF8Validation}),e=new p(a,this._extensions,c.generateMask);this._receiver=d,this._sender=e,this._socket=a,d[y]=this,e[y]=this,a[y]=this,d.on("conclude",P),d.on("drain",Q),d.on("error",R),d.on("message",T),d.on("ping",U),d.on("pong",V),e.onerror=X,a.setTimeout&&a.setTimeout(0),a.setNoDelay&&a.setNoDelay(),b.length>0&&a.unshift(b),a.on("close",Z),a.on("data",$),a.on("end",_),a.on("error",aa),this._readyState=J.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=J.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[n.extensionName]&&this._extensions[n.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=J.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(a,b){if(this.readyState!==J.CLOSED){if(this.readyState===J.CONNECTING)return void N(this,this._req,"WebSocket was closed before the connection was established");if(this.readyState===J.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=J.CLOSING,this._sender.close(a,b,!this._isServer,a=>{!a&&(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Y(this)}}pause(){this.readyState!==J.CONNECTING&&this.readyState!==J.CLOSED&&(this._paused=!0,this._socket.pause())}ping(a,b,c){if(this.readyState===J.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof a?(c=a,a=b=void 0):"function"==typeof b&&(c=b,b=void 0),"number"==typeof a&&(a=a.toString()),this.readyState!==J.OPEN)return void O(this,a,c);void 0===b&&(b=!this._isServer),this._sender.ping(a||t,b,c)}pong(a,b,c){if(this.readyState===J.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof a?(c=a,a=b=void 0):"function"==typeof b&&(c=b,b=void 0),"number"==typeof a&&(a=a.toString()),this.readyState!==J.OPEN)return void O(this,a,c);void 0===b&&(b=!this._isServer),this._sender.pong(a||t,b,c)}resume(){this.readyState!==J.CONNECTING&&this.readyState!==J.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(a,b,c){if(this.readyState===J.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof b&&(c=b,b={}),"number"==typeof a&&(a=a.toString()),this.readyState!==J.OPEN)return void O(this,a,c);let d={binary:"string"!=typeof a,mask:!this._isServer,compress:!0,fin:!0,...b};this._extensions[n.extensionName]||(d.compress=!1),this._sender.send(a||t,d,c)}terminate(){if(this.readyState!==J.CLOSED){if(this.readyState===J.CONNECTING)return void N(this,this._req,"WebSocket was closed before the connection was established");this._socket&&(this._readyState=J.CLOSING,this._socket.destroy())}}}function K(a,b){a._readyState=J.CLOSING,a._errorEmitted=!0,a.emit("error",b),a.emitClose()}function L(a){return a.path=a.socketPath,g.connect(a)}function M(a){return a.path=void 0,a.servername||""===a.servername||(a.servername=g.isIP(a.host)?"":a.host),h.connect(a)}function N(a,b,c){a._readyState=J.CLOSING;let d=Error(c);Error.captureStackTrace(d,N),b.setHeader?(b[F]=!0,b.abort(),b.socket&&!b.socket.destroyed&&b.socket.destroy(),process.nextTick(K,a,d)):(b.destroy(d),b.once("error",a.emit.bind(a,"error")),b.once("close",a.emitClose.bind(a)))}function O(a,b,c){if(b){let c=q(b)?b.size:E(b).length;a._socket?a._sender._bufferedBytes+=c:a._bufferedAmount+=c}if(c){let b=Error(`WebSocket is not open: readyState ${a.readyState} (${H[a.readyState]})`);process.nextTick(c,b)}}function P(a,b){let c=this[y];c._closeFrameReceived=!0,c._closeMessage=b,c._closeCode=a,void 0!==c._socket[y]&&(c._socket.removeListener("data",$),process.nextTick(W,c._socket),1005===a?c.close():c.close(a,b))}function Q(){let a=this[y];a.isPaused||a._socket.resume()}function R(a){let b=this[y];void 0!==b._socket[y]&&(b._socket.removeListener("data",$),process.nextTick(W,b._socket),b.close(a[x])),b._errorEmitted||(b._errorEmitted=!0,b.emit("error",a))}function S(){this[y].emitClose()}function T(a,b){this[y].emit("message",a,b)}function U(a){let b=this[y];b._autoPong&&b.pong(a,!this._isServer,z),b.emit("ping",a)}function V(a){this[y].emit("pong",a)}function W(a){a.resume()}function X(a){let b=this[y];b.readyState!==J.CLOSED&&(b.readyState===J.OPEN&&(b._readyState=J.CLOSING,Y(b)),this._socket.end(),b._errorEmitted||(b._errorEmitted=!0,b.emit("error",a)))}function Y(a){a._closeTimer=setTimeout(a._socket.destroy.bind(a._socket),a._closeTimeout)}function Z(){let a=this[y];if(this.removeListener("close",Z),this.removeListener("data",$),this.removeListener("end",_),a._readyState=J.CLOSING,!this._readableState.endEmitted&&!a._closeFrameReceived&&!a._receiver._writableState.errorEmitted&&0!==this._readableState.length){let b=this.read(this._readableState.length);a._receiver.write(b)}a._receiver.end(),this[y]=void 0,clearTimeout(a._closeTimer),a._receiver._writableState.finished||a._receiver._writableState.errorEmitted?a.emitClose():(a._receiver.on("error",S),a._receiver.on("finish",S))}function $(a){this[y]._receiver.write(a)||this.pause()}function _(){let a=this[y];a._readyState=J.CLOSING,a._receiver.end(),this.end()}function aa(){let a=this[y];this.removeListener("error",aa),this.on("error",z),a&&(a._readyState=J.CLOSING,this.destroy())}Object.defineProperty(J,"CONNECTING",{enumerable:!0,value:H.indexOf("CONNECTING")}),Object.defineProperty(J.prototype,"CONNECTING",{enumerable:!0,value:H.indexOf("CONNECTING")}),Object.defineProperty(J,"OPEN",{enumerable:!0,value:H.indexOf("OPEN")}),Object.defineProperty(J.prototype,"OPEN",{enumerable:!0,value:H.indexOf("OPEN")}),Object.defineProperty(J,"CLOSING",{enumerable:!0,value:H.indexOf("CLOSING")}),Object.defineProperty(J.prototype,"CLOSING",{enumerable:!0,value:H.indexOf("CLOSING")}),Object.defineProperty(J,"CLOSED",{enumerable:!0,value:H.indexOf("CLOSED")}),Object.defineProperty(J.prototype,"CLOSED",{enumerable:!0,value:H.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(a=>{Object.defineProperty(J.prototype,a,{enumerable:!0})}),["open","error","close","message"].forEach(a=>{Object.defineProperty(J.prototype,`on${a}`,{enumerable:!0,get(){for(let b of this.listeners(a))if(b[v])return b[w];return null},set(b){for(let b of this.listeners(a))if(b[v]){this.removeListener(a,b);break}"function"==typeof b&&this.addEventListener(a,b,{[v]:!0})}})}),J.prototype.addEventListener=A,J.prototype.removeEventListener=B,a.exports=J},6597:(a,b,c)=>{let d,e=c(74075),f=c(94100),g=c(47109),{kStatusCode:h}=c(27768),i=Buffer[Symbol.species],j=Buffer.from([0,0,255,255]),k=Symbol("permessage-deflate"),l=Symbol("total-length"),m=Symbol("callback"),n=Symbol("buffers"),o=Symbol("error");class p{constructor(a,b,c){this._maxPayload=0|c,this._options=a||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!b,this._deflate=null,this._inflate=null,this.params=null,d||(d=new g(void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10))}static get extensionName(){return"permessage-deflate"}offer(){let a={};return this._options.serverNoContextTakeover&&(a.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(a.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(a.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?a.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(a.client_max_window_bits=!0),a}accept(a){return a=this.normalizeParams(a),this.params=this._isServer?this.acceptAsServer(a):this.acceptAsClient(a),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let a=this._deflate[m];this._deflate.close(),this._deflate=null,a&&a(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(a){let b=this._options,c=a.find(a=>(!1!==b.serverNoContextTakeover||!a.server_no_context_takeover)&&(!a.server_max_window_bits||!1!==b.serverMaxWindowBits&&("number"!=typeof b.serverMaxWindowBits||!(b.serverMaxWindowBits>a.server_max_window_bits)))&&("number"!=typeof b.clientMaxWindowBits||!!a.client_max_window_bits));if(!c)throw Error("None of the extension offers can be accepted");return b.serverNoContextTakeover&&(c.server_no_context_takeover=!0),b.clientNoContextTakeover&&(c.client_no_context_takeover=!0),"number"==typeof b.serverMaxWindowBits&&(c.server_max_window_bits=b.serverMaxWindowBits),"number"==typeof b.clientMaxWindowBits?c.client_max_window_bits=b.clientMaxWindowBits:(!0===c.client_max_window_bits||!1===b.clientMaxWindowBits)&&delete c.client_max_window_bits,c}acceptAsClient(a){let b=a[0];if(!1===this._options.clientNoContextTakeover&&b.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(b.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&b.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(b.client_max_window_bits=this._options.clientMaxWindowBits);return b}normalizeParams(a){return a.forEach(a=>{Object.keys(a).forEach(b=>{let c=a[b];if(c.length>1)throw Error(`Parameter "${b}" must have only a single value`);if(c=c[0],"client_max_window_bits"===b){if(!0!==c){let a=+c;if(!Number.isInteger(a)||a<8||a>15)throw TypeError(`Invalid value for parameter "${b}": ${c}`);c=a}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${b}": ${c}`)}else if("server_max_window_bits"===b){let a=+c;if(!Number.isInteger(a)||a<8||a>15)throw TypeError(`Invalid value for parameter "${b}": ${c}`);c=a}else if("client_no_context_takeover"===b||"server_no_context_takeover"===b){if(!0!==c)throw TypeError(`Invalid value for parameter "${b}": ${c}`)}else throw Error(`Unknown parameter "${b}"`);a[b]=c})}),a}decompress(a,b,c){d.add(d=>{this._decompress(a,b,(a,b)=>{d(),c(a,b)})})}compress(a,b,c){d.add(d=>{this._compress(a,b,(a,b)=>{d(),c(a,b)})})}_decompress(a,b,c){let d=this._isServer?"client":"server";if(!this._inflate){let a=`${d}_max_window_bits`,b="number"!=typeof this.params[a]?e.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=e.createInflateRaw({...this._options.zlibInflateOptions,windowBits:b}),this._inflate[k]=this,this._inflate[l]=0,this._inflate[n]=[],this._inflate.on("error",s),this._inflate.on("data",r)}this._inflate[m]=c,this._inflate.write(a),b&&this._inflate.write(j),this._inflate.flush(()=>{let a=this._inflate[o];if(a){this._inflate.close(),this._inflate=null,c(a);return}let e=f.concat(this._inflate[n],this._inflate[l]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[l]=0,this._inflate[n]=[],b&&this.params[`${d}_no_context_takeover`]&&this._inflate.reset()),c(null,e)})}_compress(a,b,c){let d=this._isServer?"server":"client";if(!this._deflate){let a=`${d}_max_window_bits`,b="number"!=typeof this.params[a]?e.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=e.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:b}),this._deflate[l]=0,this._deflate[n]=[],this._deflate.on("data",q)}this._deflate[m]=c,this._deflate.write(a),this._deflate.flush(e.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=f.concat(this._deflate[n],this._deflate[l]);b&&(a=new i(a.buffer,a.byteOffset,a.length-4)),this._deflate[m]=null,this._deflate[l]=0,this._deflate[n]=[],b&&this.params[`${d}_no_context_takeover`]&&this._deflate.reset(),c(null,a)})}}function q(a){this[n].push(a),this[l]+=a.length}function r(a){if(this[l]+=a.length,this[k]._maxPayload<1||this[l]<=this[k]._maxPayload)return void this[n].push(a);this[o]=RangeError("Max payload size exceeded"),this[o].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[o][h]=1009,this.removeListener("data",r),this.reset()}function s(a){if(this[k]._inflate=null,this[o])return void this[m](this[o]);a[h]=1007,this[m](a)}a.exports=p},11998:(a,b,c)=>{let{isUtf8:d}=c(79428),{hasBlob:e}=c(27768);function f(a){let b=a.length,c=0;for(;c<b;)if((128&a[c])==0)c++;else if((224&a[c])==192){if(c+1===b||(192&a[c+1])!=128||(254&a[c])==192)return!1;c+=2}else if((240&a[c])==224){if(c+2>=b||(192&a[c+1])!=128||(192&a[c+2])!=128||224===a[c]&&(224&a[c+1])==128||237===a[c]&&(224&a[c+1])==160)return!1;c+=3}else{if((248&a[c])!=240||c+3>=b||(192&a[c+1])!=128||(192&a[c+2])!=128||(192&a[c+3])!=128||240===a[c]&&(240&a[c+1])==128||244===a[c]&&a[c+1]>143||a[c]>244)return!1;c+=4}return!0}if(a.exports={isBlob:function(a){return e&&"object"==typeof a&&"function"==typeof a.arrayBuffer&&"string"==typeof a.type&&"function"==typeof a.stream&&("Blob"===a[Symbol.toStringTag]||"File"===a[Symbol.toStringTag])},isValidStatusCode:function(a){return a>=1e3&&a<=1014&&1004!==a&&1005!==a&&1006!==a||a>=3e3&&a<=4999},isValidUTF8:f,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},d)a.exports.isValidUTF8=function(a){return a.length<24?f(a):d(a)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let b=c(47990);a.exports.isValidUTF8=function(a){return a.length<32?f(a):b(a)}}catch(a){}},25967:(a,b,c)=>{let{tokenChars:d}=c(11998);a.exports={parse:function(a){let b=new Set,c=-1,e=-1,f=0;for(;f<a.length;f++){let g=a.charCodeAt(f);if(-1===e&&1===d[g])-1===c&&(c=f);else if(0!==f&&(32===g||9===g))-1===e&&-1!==c&&(e=f);else if(44===g){if(-1===c)throw SyntaxError(`Unexpected character at index ${f}`);-1===e&&(e=f);let d=a.slice(c,e);if(b.has(d))throw SyntaxError(`The "${d}" subprotocol is duplicated`);b.add(d),c=e=-1}else throw SyntaxError(`Unexpected character at index ${f}`)}if(-1===c||-1!==e)throw SyntaxError("Unexpected end of input");let g=a.slice(c,f);if(b.has(g))throw SyntaxError(`The "${g}" subprotocol is duplicated`);return b.add(g),b}}},27768:a=>{let b=["nodebuffer","arraybuffer","fragments"],c="undefined"!=typeof Blob;c&&b.push("blob"),a.exports={BINARY_TYPES:b,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:c,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},47109:a=>{let b=Symbol("kDone"),c=Symbol("kRun");class d{constructor(a){this[b]=()=>{this.pending--,this[c]()},this.concurrency=a||1/0,this.jobs=[],this.pending=0}add(a){this.jobs.push(a),this[c]()}[c](){if(this.pending!==this.concurrency&&this.jobs.length){let a=this.jobs.shift();this.pending++,a(this[b])}}}a.exports=d},64188:(a,b,c)=>{let d,{Duplex:e}=c(27910),{randomFillSync:f}=c(55511),g=c(6597),{EMPTY_BUFFER:h,kWebSocket:i,NOOP:j}=c(27768),{isBlob:k,isValidStatusCode:l}=c(11998),{mask:m,toBuffer:n}=c(94100),o=Symbol("kByteLength"),p=Buffer.alloc(4),q=8192;class r{constructor(a,b,c){this._extensions=b||{},c&&(this._generateMask=c,this._maskBuffer=Buffer.alloc(4)),this._socket=a,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=0,this.onerror=j,this[i]=void 0}static frame(a,b){let c,e,g=!1,h=2,i=!1;b.mask&&(c=b.maskBuffer||p,b.generateMask?b.generateMask(c):(8192===q&&(void 0===d&&(d=Buffer.alloc(8192)),f(d,0,8192),q=0),c[0]=d[q++],c[1]=d[q++],c[2]=d[q++],c[3]=d[q++]),i=(c[0]|c[1]|c[2]|c[3])==0,h=6),"string"==typeof a?e=(!b.mask||i)&&void 0!==b[o]?b[o]:(a=Buffer.from(a)).length:(e=a.length,g=b.mask&&b.readOnly&&!i);let j=e;e>=65536?(h+=8,j=127):e>125&&(h+=2,j=126);let k=Buffer.allocUnsafe(g?e+h:h);return(k[0]=b.fin?128|b.opcode:b.opcode,b.rsv1&&(k[0]|=64),k[1]=j,126===j?k.writeUInt16BE(e,2):127===j&&(k[2]=k[3]=0,k.writeUIntBE(e,4,6)),b.mask)?(k[1]|=128,k[h-4]=c[0],k[h-3]=c[1],k[h-2]=c[2],k[h-1]=c[3],i)?[k,a]:g?(m(a,c,k,h,e),[k]):(m(a,c,a,0,e),[k,a]):[k,a]}close(a,b,c,d){let e;if(void 0===a)e=h;else if("number"==typeof a&&l(a))if(void 0!==b&&b.length){let c=Buffer.byteLength(b);if(c>123)throw RangeError("The message must not be greater than 123 bytes");(e=Buffer.allocUnsafe(2+c)).writeUInt16BE(a,0),"string"==typeof b?e.write(b,2):e.set(b,2)}else(e=Buffer.allocUnsafe(2)).writeUInt16BE(a,0);else throw TypeError("First argument must be a valid error code number");let f={[o]:e.length,fin:!0,generateMask:this._generateMask,mask:c,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};0!==this._state?this.enqueue([this.dispatch,e,!1,f,d]):this.sendFrame(r.frame(e,f),d)}ping(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):k(a)?(d=a.size,e=!1):(d=(a=n(a)).length,e=n.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[o]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:9,readOnly:e,rsv1:!1};k(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(r.frame(a,f),c)}pong(a,b,c){let d,e;if("string"==typeof a?(d=Buffer.byteLength(a),e=!1):k(a)?(d=a.size,e=!1):(d=(a=n(a)).length,e=n.readOnly),d>125)throw RangeError("The data size must not be greater than 125 bytes");let f={[o]:d,fin:!0,generateMask:this._generateMask,mask:b,maskBuffer:this._maskBuffer,opcode:10,readOnly:e,rsv1:!1};k(a)?0!==this._state?this.enqueue([this.getBlobData,a,!1,f,c]):this.getBlobData(a,!1,f,c):0!==this._state?this.enqueue([this.dispatch,a,!1,f,c]):this.sendFrame(r.frame(a,f),c)}send(a,b,c){let d,e,f=this._extensions[g.extensionName],h=b.binary?2:1,i=b.compress;"string"==typeof a?(d=Buffer.byteLength(a),e=!1):k(a)?(d=a.size,e=!1):(d=(a=n(a)).length,e=n.readOnly),this._firstFragment?(this._firstFragment=!1,i&&f&&f.params[f._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(i=d>=f._threshold),this._compress=i):(i=!1,h=0),b.fin&&(this._firstFragment=!0);let j={[o]:d,fin:b.fin,generateMask:this._generateMask,mask:b.mask,maskBuffer:this._maskBuffer,opcode:h,readOnly:e,rsv1:i};k(a)?0!==this._state?this.enqueue([this.getBlobData,a,this._compress,j,c]):this.getBlobData(a,this._compress,j,c):0!==this._state?this.enqueue([this.dispatch,a,this._compress,j,c]):this.dispatch(a,this._compress,j,c)}getBlobData(a,b,c,d){this._bufferedBytes+=c[o],this._state=2,a.arrayBuffer().then(a=>{if(this._socket.destroyed){let a=Error("The socket was closed while the blob was being read");process.nextTick(s,this,a,d);return}this._bufferedBytes-=c[o];let e=n(a);b?this.dispatch(e,b,c,d):(this._state=0,this.sendFrame(r.frame(e,c),d),this.dequeue())}).catch(a=>{process.nextTick(t,this,a,d)})}dispatch(a,b,c,d){if(!b)return void this.sendFrame(r.frame(a,c),d);let e=this._extensions[g.extensionName];this._bufferedBytes+=c[o],this._state=1,e.compress(a,c.fin,(a,b)=>{if(this._socket.destroyed)return void s(this,Error("The socket was closed while data was being compressed"),d);this._bufferedBytes-=c[o],this._state=0,c.readOnly=!1,this.sendFrame(r.frame(b,c),d),this.dequeue()})}dequeue(){for(;0===this._state&&this._queue.length;){let a=this._queue.shift();this._bufferedBytes-=a[3][o],Reflect.apply(a[0],this,a.slice(1))}}enqueue(a){this._bufferedBytes+=a[3][o],this._queue.push(a)}sendFrame(a,b){2===a.length?(this._socket.cork(),this._socket.write(a[0]),this._socket.write(a[1],b),this._socket.uncork()):this._socket.write(a[0],b)}}function s(a,b,c){"function"==typeof c&&c(b);for(let c=0;c<a._queue.length;c++){let d=a._queue[c],e=d[d.length-1];"function"==typeof e&&e(b)}}function t(a,b,c){s(a,b,c),a.onerror(b)}a.exports=r},77536:(a,b,c)=>{let d=c(94735),e=c(81630),{Duplex:f}=c(27910),{createHash:g}=c(55511),h=c(2400),i=c(6597),j=c(25967),k=c(3266),{CLOSE_TIMEOUT:l,GUID:m,kWebSocket:n}=c(27768),o=/^[+/0-9A-Za-z]{22}==$/;class p extends d{constructor(a,b){if(super(),null==(a={allowSynchronousEvents:!0,autoPong:!0,maxPayload:0x6400000,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:l,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:k,...a}).port&&!a.server&&!a.noServer||null!=a.port&&(a.server||a.noServer)||a.server&&a.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=a.port?(this._server=e.createServer((a,b)=>{let c=e.STATUS_CODES[426];b.writeHead(426,{"Content-Length":c.length,"Content-Type":"text/plain"}),b.end(c)}),this._server.listen(a.port,a.host,a.backlog,b)):a.server&&(this._server=a.server),this._server){let a=this.emit.bind(this,"connection");this._removeListeners=function(a,b){for(let c of Object.keys(b))a.on(c,b[c]);return function(){for(let c of Object.keys(b))a.removeListener(c,b[c])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(b,c,d)=>{this.handleUpgrade(b,c,d,a)}})}!0===a.perMessageDeflate&&(a.perMessageDeflate={}),a.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=a,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(a){if(2===this._state){a&&this.once("close",()=>{a(Error("The server is not running"))}),process.nextTick(q,this);return}if(a&&this.once("close",a),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(q,this);else{let a=this._server;this._removeListeners(),this._removeListeners=this._server=null,a.close(()=>{q(this)})}}shouldHandle(a){if(this.options.path){let b=a.url.indexOf("?");if((-1!==b?a.url.slice(0,b):a.url)!==this.options.path)return!1}return!0}handleUpgrade(a,b,c,d){b.on("error",r);let e=a.headers["sec-websocket-key"],f=a.headers.upgrade,g=+a.headers["sec-websocket-version"];if("GET"!==a.method)return void t(this,a,b,405,"Invalid HTTP method");if(void 0===f||"websocket"!==f.toLowerCase())return void t(this,a,b,400,"Invalid Upgrade header");if(void 0===e||!o.test(e))return void t(this,a,b,400,"Missing or invalid Sec-WebSocket-Key header");if(13!==g&&8!==g)return void t(this,a,b,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});if(!this.shouldHandle(a))return void s(b,400);let k=a.headers["sec-websocket-protocol"],l=new Set;if(void 0!==k)try{l=j.parse(k)}catch(c){t(this,a,b,400,"Invalid Sec-WebSocket-Protocol header");return}let m=a.headers["sec-websocket-extensions"],n={};if(this.options.perMessageDeflate&&void 0!==m){let c=new i(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let a=h.parse(m);a[i.extensionName]&&(c.accept(a[i.extensionName]),n[i.extensionName]=c)}catch(c){t(this,a,b,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let f={origin:a.headers[`${8===g?"sec-websocket-origin":"origin"}`],secure:!!(a.socket.authorized||a.socket.encrypted),req:a};if(2===this.options.verifyClient.length)return void this.options.verifyClient(f,(f,g,h,i)=>{if(!f)return s(b,g||401,h,i);this.completeUpgrade(n,e,l,a,b,c,d)});if(!this.options.verifyClient(f))return s(b,401)}this.completeUpgrade(n,e,l,a,b,c,d)}completeUpgrade(a,b,c,d,e,f,j){if(!e.readable||!e.writable)return e.destroy();if(e[n])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return s(e,503);let k=g("sha1").update(b+m).digest("base64"),l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${k}`],o=new this.options.WebSocket(null,void 0,this.options);if(c.size){let a=this.options.handleProtocols?this.options.handleProtocols(c,d):c.values().next().value;a&&(l.push(`Sec-WebSocket-Protocol: ${a}`),o._protocol=a)}if(a[i.extensionName]){let b=a[i.extensionName].params,c=h.format({[i.extensionName]:[b]});l.push(`Sec-WebSocket-Extensions: ${c}`),o._extensions=a}this.emit("headers",l,d),e.write(l.concat("\r\n").join("\r\n")),e.removeListener("error",r),o.setSocket(e,f,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(o),o.on("close",()=>{this.clients.delete(o),this._shouldEmitClose&&!this.clients.size&&process.nextTick(q,this)})),j(o,d)}}function q(a){a._state=2,a.emit("close")}function r(){this.destroy()}function s(a,b,c,d){c=c||e.STATUS_CODES[b],d={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(c),...d},a.once("finish",a.destroy),a.end(`HTTP/1.1 ${b} ${e.STATUS_CODES[b]}\r
2
- `+Object.keys(d).map(a=>`${a}: ${d[a]}`).join("\r\n")+"\r\n\r\n"+c)}function t(a,b,c,d,e,f){if(a.listenerCount("wsClientError")){let d=Error(e);Error.captureStackTrace(d,t),a.emit("wsClientError",d,c,b)}else s(c,d,e,f)}a.exports=p},81503:(a,b,c)=>{c.d(b,{kb:()=>d}),c(91909),c(94740),c(64188);var d=c(3266);c(77536)},91909:(a,b,c)=>{c(3266);let{Duplex:d}=c(27910);function e(a){a.emit("close")}function f(){!this.destroyed&&this._writableState.finished&&this.destroy()}function g(a){this.removeListener("error",g),this.destroy(),0===this.listenerCount("error")&&this.emit("error",a)}a.exports=function(a,b){let c=!0,h=new d({...b,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return a.on("message",function(b,c){let d=!c&&h._readableState.objectMode?b.toString():b;h.push(d)||a.pause()}),a.once("error",function(a){h.destroyed||(c=!1,h.destroy(a))}),a.once("close",function(){h.destroyed||h.push(null)}),h._destroy=function(b,d){if(a.readyState===a.CLOSED){d(b),process.nextTick(e,h);return}let f=!1;a.once("error",function(a){f=!0,d(a)}),a.once("close",function(){f||d(b),process.nextTick(e,h)}),c&&a.terminate()},h._final=function(b){if(a.readyState===a.CONNECTING)return void a.once("open",function(){h._final(b)});null!==a._socket&&(a._socket._writableState.finished?(b(),h._readableState.endEmitted&&h.destroy()):(a._socket.once("finish",function(){b()}),a.close()))},h._read=function(){a.isPaused&&a.resume()},h._write=function(b,c,d){if(a.readyState===a.CONNECTING)return void a.once("open",function(){h._write(b,c,d)});a.send(b,d)},h.on("end",f),h.on("error",g),h}},92095:(a,b,c)=>{let{kForOnEventAttribute:d,kListener:e}=c(27768),f=Symbol("kCode"),g=Symbol("kData"),h=Symbol("kError"),i=Symbol("kMessage"),j=Symbol("kReason"),k=Symbol("kTarget"),l=Symbol("kType"),m=Symbol("kWasClean");class n{constructor(a){this[k]=null,this[l]=a}get target(){return this[k]}get type(){return this[l]}}Object.defineProperty(n.prototype,"target",{enumerable:!0}),Object.defineProperty(n.prototype,"type",{enumerable:!0});class o extends n{constructor(a,b={}){super(a),this[f]=void 0===b.code?0:b.code,this[j]=void 0===b.reason?"":b.reason,this[m]=void 0!==b.wasClean&&b.wasClean}get code(){return this[f]}get reason(){return this[j]}get wasClean(){return this[m]}}Object.defineProperty(o.prototype,"code",{enumerable:!0}),Object.defineProperty(o.prototype,"reason",{enumerable:!0}),Object.defineProperty(o.prototype,"wasClean",{enumerable:!0});class p extends n{constructor(a,b={}){super(a),this[h]=void 0===b.error?null:b.error,this[i]=void 0===b.message?"":b.message}get error(){return this[h]}get message(){return this[i]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class q extends n{constructor(a,b={}){super(a),this[g]=void 0===b.data?null:b.data}get data(){return this[g]}}function r(a,b,c){"object"==typeof a&&a.handleEvent?a.handleEvent.call(a,c):a.call(b,c)}Object.defineProperty(q.prototype,"data",{enumerable:!0}),a.exports={CloseEvent:o,ErrorEvent:p,Event:n,EventTarget:{addEventListener(a,b,c={}){let f;for(let f of this.listeners(a))if(!c[d]&&f[e]===b&&!f[d])return;if("message"===a)f=function(a,c){let d=new q("message",{data:c?a:a.toString()});d[k]=this,r(b,this,d)};else if("close"===a)f=function(a,c){let d=new o("close",{code:a,reason:c.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});d[k]=this,r(b,this,d)};else if("error"===a)f=function(a){let c=new p("error",{error:a,message:a.message});c[k]=this,r(b,this,c)};else{if("open"!==a)return;f=function(){let a=new n("open");a[k]=this,r(b,this,a)}}f[d]=!!c[d],f[e]=b,c.once?this.once(a,f):this.on(a,f)},removeEventListener(a,b){for(let c of this.listeners(a))if(c[e]===b&&!c[d]){this.removeListener(a,c);break}}},MessageEvent:q}},94100:(a,b,c)=>{let{EMPTY_BUFFER:d}=c(27768),e=Buffer[Symbol.species];function f(a,b,c,d,e){for(let f=0;f<e;f++)c[d+f]=a[f]^b[3&f]}function g(a,b){for(let c=0;c<a.length;c++)a[c]^=b[3&c]}function h(a){let b;return(h.readOnly=!0,Buffer.isBuffer(a))?a:(a instanceof ArrayBuffer?b=new e(a):ArrayBuffer.isView(a)?b=new e(a.buffer,a.byteOffset,a.byteLength):(b=Buffer.from(a),h.readOnly=!1),b)}if(a.exports={concat:function(a,b){if(0===a.length)return d;if(1===a.length)return a[0];let c=Buffer.allocUnsafe(b),f=0;for(let b=0;b<a.length;b++){let d=a[b];c.set(d,f),f+=d.length}return f<b?new e(c.buffer,c.byteOffset,f):c},mask:f,toArrayBuffer:function(a){return a.length===a.buffer.byteLength?a.buffer:a.buffer.slice(a.byteOffset,a.byteOffset+a.length)},toBuffer:h,unmask:g},!process.env.WS_NO_BUFFER_UTIL)try{let b=c(39727);a.exports.mask=function(a,c,d,e,g){g<48?f(a,c,d,e,g):b.mask(a,c,d,e,g)},a.exports.unmask=function(a,c){a.length<32?g(a,c):b.unmask(a,c)}}catch(a){}},94740:(a,b,c)=>{let{Writable:d}=c(27910),e=c(6597),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(27768),{concat:j,toArrayBuffer:k,unmask:l}=c(94100),{isValidStatusCode:m,isValidUTF8:n}=c(11998),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){if(8===this._opcode&&0==this._state)return c();this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c)}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}b.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(b)),this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p}};
2
+ `+Object.keys(d).map(a=>`${a}: ${d[a]}`).join("\r\n")+"\r\n\r\n"+c)}function t(a,b,c,d,e,f){if(a.listenerCount("wsClientError")){let d=Error(e);Error.captureStackTrace(d,t),a.emit("wsClientError",d,c,b)}else s(c,d,e,f)}a.exports=p},81503:(a,b,c)=>{c.d(b,{kb:()=>d,zu:()=>e}),c(91909),c(94740),c(64188);var d=c(3266),e=c(77536)},91909:(a,b,c)=>{c(3266);let{Duplex:d}=c(27910);function e(a){a.emit("close")}function f(){!this.destroyed&&this._writableState.finished&&this.destroy()}function g(a){this.removeListener("error",g),this.destroy(),0===this.listenerCount("error")&&this.emit("error",a)}a.exports=function(a,b){let c=!0,h=new d({...b,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return a.on("message",function(b,c){let d=!c&&h._readableState.objectMode?b.toString():b;h.push(d)||a.pause()}),a.once("error",function(a){h.destroyed||(c=!1,h.destroy(a))}),a.once("close",function(){h.destroyed||h.push(null)}),h._destroy=function(b,d){if(a.readyState===a.CLOSED){d(b),process.nextTick(e,h);return}let f=!1;a.once("error",function(a){f=!0,d(a)}),a.once("close",function(){f||d(b),process.nextTick(e,h)}),c&&a.terminate()},h._final=function(b){if(a.readyState===a.CONNECTING)return void a.once("open",function(){h._final(b)});null!==a._socket&&(a._socket._writableState.finished?(b(),h._readableState.endEmitted&&h.destroy()):(a._socket.once("finish",function(){b()}),a.close()))},h._read=function(){a.isPaused&&a.resume()},h._write=function(b,c,d){if(a.readyState===a.CONNECTING)return void a.once("open",function(){h._write(b,c,d)});a.send(b,d)},h.on("end",f),h.on("error",g),h}},92095:(a,b,c)=>{let{kForOnEventAttribute:d,kListener:e}=c(27768),f=Symbol("kCode"),g=Symbol("kData"),h=Symbol("kError"),i=Symbol("kMessage"),j=Symbol("kReason"),k=Symbol("kTarget"),l=Symbol("kType"),m=Symbol("kWasClean");class n{constructor(a){this[k]=null,this[l]=a}get target(){return this[k]}get type(){return this[l]}}Object.defineProperty(n.prototype,"target",{enumerable:!0}),Object.defineProperty(n.prototype,"type",{enumerable:!0});class o extends n{constructor(a,b={}){super(a),this[f]=void 0===b.code?0:b.code,this[j]=void 0===b.reason?"":b.reason,this[m]=void 0!==b.wasClean&&b.wasClean}get code(){return this[f]}get reason(){return this[j]}get wasClean(){return this[m]}}Object.defineProperty(o.prototype,"code",{enumerable:!0}),Object.defineProperty(o.prototype,"reason",{enumerable:!0}),Object.defineProperty(o.prototype,"wasClean",{enumerable:!0});class p extends n{constructor(a,b={}){super(a),this[h]=void 0===b.error?null:b.error,this[i]=void 0===b.message?"":b.message}get error(){return this[h]}get message(){return this[i]}}Object.defineProperty(p.prototype,"error",{enumerable:!0}),Object.defineProperty(p.prototype,"message",{enumerable:!0});class q extends n{constructor(a,b={}){super(a),this[g]=void 0===b.data?null:b.data}get data(){return this[g]}}function r(a,b,c){"object"==typeof a&&a.handleEvent?a.handleEvent.call(a,c):a.call(b,c)}Object.defineProperty(q.prototype,"data",{enumerable:!0}),a.exports={CloseEvent:o,ErrorEvent:p,Event:n,EventTarget:{addEventListener(a,b,c={}){let f;for(let f of this.listeners(a))if(!c[d]&&f[e]===b&&!f[d])return;if("message"===a)f=function(a,c){let d=new q("message",{data:c?a:a.toString()});d[k]=this,r(b,this,d)};else if("close"===a)f=function(a,c){let d=new o("close",{code:a,reason:c.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});d[k]=this,r(b,this,d)};else if("error"===a)f=function(a){let c=new p("error",{error:a,message:a.message});c[k]=this,r(b,this,c)};else{if("open"!==a)return;f=function(){let a=new n("open");a[k]=this,r(b,this,a)}}f[d]=!!c[d],f[e]=b,c.once?this.once(a,f):this.on(a,f)},removeEventListener(a,b){for(let c of this.listeners(a))if(c[e]===b&&!c[d]){this.removeListener(a,c);break}}},MessageEvent:q}},94100:(a,b,c)=>{let{EMPTY_BUFFER:d}=c(27768),e=Buffer[Symbol.species];function f(a,b,c,d,e){for(let f=0;f<e;f++)c[d+f]=a[f]^b[3&f]}function g(a,b){for(let c=0;c<a.length;c++)a[c]^=b[3&c]}function h(a){let b;return(h.readOnly=!0,Buffer.isBuffer(a))?a:(a instanceof ArrayBuffer?b=new e(a):ArrayBuffer.isView(a)?b=new e(a.buffer,a.byteOffset,a.byteLength):(b=Buffer.from(a),h.readOnly=!1),b)}if(a.exports={concat:function(a,b){if(0===a.length)return d;if(1===a.length)return a[0];let c=Buffer.allocUnsafe(b),f=0;for(let b=0;b<a.length;b++){let d=a[b];c.set(d,f),f+=d.length}return f<b?new e(c.buffer,c.byteOffset,f):c},mask:f,toArrayBuffer:function(a){return a.length===a.buffer.byteLength?a.buffer:a.buffer.slice(a.byteOffset,a.byteOffset+a.length)},toBuffer:h,unmask:g},!process.env.WS_NO_BUFFER_UTIL)try{let b=c(39727);a.exports.mask=function(a,c,d,e,g){g<48?f(a,c,d,e,g):b.mask(a,c,d,e,g)},a.exports.unmask=function(a,c){a.length<32?g(a,c):b.unmask(a,c)}}catch(a){}},94740:(a,b,c)=>{let{Writable:d}=c(27910),e=c(6597),{BINARY_TYPES:f,EMPTY_BUFFER:g,kStatusCode:h,kWebSocket:i}=c(27768),{concat:j,toArrayBuffer:k,unmask:l}=c(94100),{isValidStatusCode:m,isValidUTF8:n}=c(11998),o=Buffer[Symbol.species];class p extends d{constructor(a={}){super(),this._allowSynchronousEvents=void 0===a.allowSynchronousEvents||a.allowSynchronousEvents,this._binaryType=a.binaryType||f[0],this._extensions=a.extensions||{},this._isServer=!!a.isServer,this._maxPayload=0|a.maxPayload,this._skipUTF8Validation=!!a.skipUTF8Validation,this[i]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(a,b,c){if(8===this._opcode&&0==this._state)return c();this._bufferedBytes+=a.length,this._buffers.push(a),this.startLoop(c)}consume(a){if(this._bufferedBytes-=a,a===this._buffers[0].length)return this._buffers.shift();if(a<this._buffers[0].length){let b=this._buffers[0];return this._buffers[0]=new o(b.buffer,b.byteOffset+a,b.length-a),new o(b.buffer,b.byteOffset,a)}let b=Buffer.allocUnsafe(a);do{let c=this._buffers[0],d=b.length-a;a>=c.length?b.set(this._buffers.shift(),d):(b.set(new Uint8Array(c.buffer,c.byteOffset,a),d),this._buffers[0]=new o(c.buffer,c.byteOffset+a,c.length-a)),a-=c.length}while(a>0);return b}startLoop(a){this._loop=!0;do switch(this._state){case 0:this.getInfo(a);break;case 1:this.getPayloadLength16(a);break;case 2:this.getPayloadLength64(a);break;case 3:this.getMask();break;case 4:this.getData(a);break;case 5:case 6:this._loop=!1;return}while(this._loop);this._errored||a()}getInfo(a){if(this._bufferedBytes<2){this._loop=!1;return}let b=this.consume(2);if((48&b[0])!=0)return void a(this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3"));let c=(64&b[0])==64;if(c&&!this._extensions[e.extensionName])return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._fin=(128&b[0])==128,this._opcode=15&b[0],this._payloadLength=127&b[1],0===this._opcode){if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(!this._fragmented)return void a(this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE"));this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));this._compressed=c}else{if(!(this._opcode>7)||!(this._opcode<11))return void a(this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE"));if(!this._fin)return void a(this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN"));if(c)return void a(this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1"));if(this._payloadLength>125||8===this._opcode&&1===this._payloadLength)return void a(this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH"))}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=(128&b[1])==128,this._isServer){if(!this._masked)return void a(this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK"))}else if(this._masked)return void a(this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK"));126===this._payloadLength?this._state=1:127===this._payloadLength?this._state=2:this.haveLength(a)}getPayloadLength16(a){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(a)}getPayloadLength64(a){if(this._bufferedBytes<8){this._loop=!1;return}let b=this.consume(8),c=b.readUInt32BE(0);if(c>2097151)return void a(this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH"));this._payloadLength=0x100000000*c+b.readUInt32BE(4),this.haveLength(a)}haveLength(a){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return void a(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._masked?this._state=3:this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(a){let b=g;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}b=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!=0&&l(b,this._mask)}if(this._opcode>7)return void this.controlMessage(b,a);if(this._compressed){this._state=5,this.decompress(b,a);return}b.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(b)),this.dataMessage(a)}decompress(a,b){this._extensions[e.extensionName].decompress(a,this._fin,(a,c)=>{if(a)return b(a);if(c.length){if(this._messageLength+=c.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return void b(this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(c)}this.dataMessage(b),0===this._state&&this.startLoop(b)})}dataMessage(a){if(!this._fin){this._state=0;return}let b=this._messageLength,c=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let d;d="nodebuffer"===this._binaryType?j(c,b):"arraybuffer"===this._binaryType?k(j(c,b)):"blob"===this._binaryType?new Blob(c):c,this._allowSynchronousEvents?(this.emit("message",d,!0),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!0),this._state=0,this.startLoop(a)}))}else{let d=j(c,b);if(!this._skipUTF8Validation&&!n(d))return void a(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));5===this._state||this._allowSynchronousEvents?(this.emit("message",d,!1),this._state=0):(this._state=6,setImmediate(()=>{this.emit("message",d,!1),this._state=0,this.startLoop(a)}))}}controlMessage(a,b){if(8===this._opcode){if(0===a.length)this._loop=!1,this.emit("conclude",1005,g),this.end();else{let c=a.readUInt16BE(0);if(!m(c))return void b(this.createError(RangeError,`invalid status code ${c}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE"));let d=new o(a.buffer,a.byteOffset+2,a.length-2);if(!this._skipUTF8Validation&&!n(d))return void b(this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8"));this._loop=!1,this.emit("conclude",c,d),this.end()}this._state=0;return}this._allowSynchronousEvents?(this.emit(9===this._opcode?"ping":"pong",a),this._state=0):(this._state=6,setImmediate(()=>{this.emit(9===this._opcode?"ping":"pong",a),this._state=0,this.startLoop(b)}))}createError(a,b,c,d,e){this._loop=!1,this._errored=!0;let f=new a(c?`Invalid WebSocket frame: ${b}`:b);return Error.captureStackTrace(f,this.createError),f.code=e,f[h]=d,f}}a.exports=p}};
@@ -1 +1 @@
1
- "use strict";exports.id=22,exports.ids=[22],exports.modules={20022:a=>{a.exports=JSON.parse('{"page":{"title":"スキル","description":"公式Skill Catalogを閲覧します。各Skillの内容、提供元、必要なCommandMateのversion、提供元が宣言するriskを確認できます。","backToCatalog":"Catalogに戻る"},"search":{"label":"Skillを検索","placeholder":"名前・概要・キーワード・提供元","resultCount":"{total}件中{shown}件を表示"},"filters":{"compatibility":"CommandMate互換性","risk":"提供元が宣言したrisk","agent":"Agent対応","all":"すべて","reset":"絞り込みを解除"},"compatibility":{"label":"CommandMate互換性","native":"Agent単体で実行可能","commandmateRuntime":"CommandMate Runtime経由で実行","unsupported":"非対応","unknown":"未検証","status":{"compatible":"互換あり","incompatible":"互換なし","unknown":"未検証"},"requiredRange":"必要なCommandMate: {range}","currentVersion":"稼働中のCommandMate: {version}","currentVersionUnknown":"稼働中のCommandMateのversionを特定できませんでした。","unverifiedNotice":"「未検証」は「互換あり」ではありません。CommandMateが判定できなかった状態であり、動作しない可能性があります。","agentsHeading":"Agent対応状況","agentsNotice":"Agent対応状況は出発点として提供元による申告であり、根拠として提示された内容をそのまま表示しています。CommandMateが実機で計測したAgentについては、その実測結果を併記し、申告が実測を超えないように制限します。","agentsUnknown":"このversionにはAgent対応の宣言がありません。","evidence":"根拠","declaredLabel":"提供元の申告: {support}","measuredHeading":"CommandMateの実測結果","testedVersion":"実測対象: {agent} {version}","testedDate":"計測日: {date}","evidenceSource":"証跡","discoveryRoots":"読み取り先: {roots}","evidenceStale":"この実測から {days} 日が経過しています。Agent側の挙動が変わっている可能性があります。","reloadHeading":"{agent} に読み込ませる方法","axis":{"discovery":"発見","invocation":"スラッシュコマンド"},"axisOutcome":{"verified":"確認済み","unsupported":"利用不可","unknown":"未計測"},"evidenceKind":{"mechanical":"機械的に確認","selfReport":"Agentの自己申告","notMeasured":"実測なし"},"verification":{"confirmed":"CommandMateの実測結果と提供元の申告が一致しています。","restricted":"CommandMateの実測結果が提供元の申告より低いため、低い方を表示しています。","staleDeclaration":"CommandMateの実測結果は提供元の申告より高い水準です。申告はそのまま表示します(引き上げられるのは提供元だけです)。","unverified":"CommandMateはこのAgentを実測していないため、提供元の申告のみを表示しています。"},"limitation":{"noSlashCommand":"このversionのAgentはSkillを発見しますが、スラッシュコマンドとしては表示しません。名前を指定して呼び出してください。"},"skipReason":{"notMeasured":"このAgentはCommandMateのinstall環境で実測していないため、非対応ではなく未検証(unknown)として扱います。"},"reload":{"sessionRestart":"このrepositoryで {agent} のセッションを開始し直してください。Skillはセッション開始時に走査されます。","sessionRestartNoSlash":"このrepositoryで {agent} のセッションを開始し直したうえで、Skillを名前で指定して呼び出してください。このversionはSkillをスラッシュコマンドとして表示しません。","unknown":"CommandMateは {agent} のSkill再読み込み方法を実測していません。セッションの再起動が安全な前提です。"},"reason":{"satisfied":"CommandMate {currentVersion} は要求範囲 {range} を満たしています。","hostVersionOutOfRange":"このSkillはCommandMate {range} を要求しますが、稼働中のversionは {currentVersion} です。","hostVersionUnknown":"稼働中のCommandMateのversionを特定できないため、{range} との互換性は未検証です。","rangeUnsupported":"このSkillはCommandMateが解釈できないversion範囲 {range} を宣言しているため、互換性は未検証です。"}},"risk":{"declaredLabel":"宣言risk: {level}","declaredHeading":"提供元が宣言したrisk","level":{"low":"低","moderate":"中","high":"高"},"declaredNotice":"このrisk水準はSkillの提供元による自己申告です。CommandMateによる評価ではありません。","computedHeading":"CommandMateが算出するrisk","computedUnavailable":"Catalogからは取得できません。CommandMateはpackageの内容を検査してriskを算出しますが、それはpackageをダウンロードした後に行われます。","highWarning":"提供元はこのSkillをhigh riskと宣言しています。導入前に更新履歴と提供元の情報を確認してください。"},"permissions":{"heading":"宣言された権限","declarationOnlyNotice":"権限は提供元が記載した宣言であり、CommandMateが強制する制限ではありません。Skillを導入してもsandboxで隔離されるわけではありません。","unavailable":"Catalogは宣言された権限を保持していません。権限はpackage内のSkill manifestに記載されており、CommandMateはダウンロード後に読み取ります。"},"capabilities":{"heading":"このSkillでできること","unavailable":"詳細な能力と期待効果はpackage内のSkill manifestに記載されており、Catalogには含まれていません。以下はCatalogが公開している概要です。"},"requirements":{"heading":"必要なコマンドとネットワークアクセス","unavailable":"Catalogは実行時の要件を保持していません。必要なコマンドや接続先hostはpackage内のSkill manifestに記載されています。"},"contents":{"heading":"ファイルとスクリプト","unavailable":"Catalogはpackageの中身を列挙していません。ファイル・スクリプト・実行可能ファイルは、CommandMateがpackageをダウンロードして検査した時点で列挙されます。"},"detail":{"overview":"概要","provider":"提供元","providerContact":"連絡先","license":"ライセンス","homepage":"ホームページ","keywords":"キーワード","skillId":"Skill ID","latestVersion":"公開されている最新version","recommendedVersion":"推奨version","recommendedVersionNone":"なし","requiredRangeLabel":"必要なCommandMateのversion範囲","publishedAt":"公開日時","sourceRepository":"リポジトリ","sourceRef":"Ref","sourceCommit":"コミット","packageAsset":"アセット名","packageDigest":"SHA-256","packageSize":"サイズ","packageBytes":"{bytes} バイト","versionsHeading":"更新履歴","versionsEmpty":"このCommandMateに適用できる公開versionがありません。","changelogHeading":"変更内容","changelogEmpty":"このversionには変更内容の記載がありません。","mediaStripped":"Catalog由来のテキストから画像と埋め込みメディアを除去しているため、外部ホストからの読み込みは発生しません。","prerelease":"プレリリース","recommendation":{"highestCompatible":"稼働中のCommandMateで動作する、最も新しい公開versionです。","latestUnverified":"稼働中のCommandMateのversionを特定できなかったため、互換性を確認せずに提供元の最新versionを表示しています。","noneCompatible":"稼働中のCommandMateで動作する公開versionはありません。","noVersions":"このCommandMateに適用できる公開versionがありません。"},"install":{"action":"導入先を選択","blockedIncompatible":"導入できません: {reason}","blockedNoVersion":"稼働中のCommandMateに適用できる公開versionがないため導入できません。"}},"target":{"heading":"導入先","loading":"登録済みworktreeを読み込んでいます…","empty":"登録済みのworktreeがありません。Skillを導入する前にworktreeを登録してください。","errorNotice":"登録済みworktreeの一覧を読み込めませんでした。現在は導入先を選択できません。","retry":"再試行","selected":"選択中","repository":"リポジトリ","branch":"ブランチ","branchUnknown":"記録されていません","agents":"Agent","agentsNone":"設定されていません","workingTree":"作業ツリー","workingTreeClean":"未コミットの変更なし","workingTreeDirty":"未コミットの変更あり","workingTreeUnknown":"未確認","sessionRunning":"このworktreeではセッションが稼働中です。","branchFreshnessNotice":"ここに表示しているブランチは直近のworktree同期時点の値です。CommandMateはinstall plan生成時に現在のブランチとコミットを解決し、差異があればそこで報告します。"},"plan":{"highRiskAcknowledgement":"CommandMateはpackageの内容を検査した結果、このSkillをhigh riskと判定しました。以下のファイル・スクリプト・宣言された権限を確認したうえで、このworktreeへ導入することを明示的に承認してください。","build":"install planを作成","building":"install planを作成しています…","chooseTarget":"このSkillを導入するworktreeを選択してください。","ready":"planの作成では何も書き込みません。packageを取得して内容を検査し、導入した場合に何が変わるかだけを報告します。","heading":"install planの内容","expiresAt":"このplanは{timestamp}まで有効です。それ以降は作り直してください。","targetHeading":"導入先","headStateLabel":"Git HEADの状態","headState":{"attached":"ブランチ上","detached":"detached HEAD","unborn":"コミットがまだありません","unknown":"解決できませんでした"},"installRoot":"導入先ディレクトリ","existingInstall":"既存の導入","existingInstallNone":"まだ導入されていません","existingInstallVersion":"version {version}","riskHeading":"リスク","riskDeclared":"publisher申告","riskComputed":"CommandMate判定","riskEffective":"実効","riskNotice":"判定値は取得したpackageの内容を検査した結果です。publisherの申告と食い違う場合は、高いほうを実効値として扱います。","permission":{"filesystemRead":"ファイルを読み取る","filesystemWrite":"ファイルを書き込む","networkAccess":"ネットワークへ接続する","processExecution":"他のプログラムを実行する","environmentRead":"環境変数を読み取る","credentialAccess":"認証情報へアクセスする"},"permissionsNone":"manifestは権限を宣言していません。","requirementsNone":"manifestは必要なコマンドもネットワーク接続も宣言していません。","requirementsCommands":"コマンド","requirementsHosts":"ネットワークホスト","commandAnyVersion":"(version不問)","scriptsHeading":"package内のスクリプト・実行ファイル","scriptsNone":"packageにスクリプトも実行ファイルも含まれていません。","warningsHeading":"留意点","warning":{"detachedHead":"このworktreeはブランチ上にないため、導入内容はどのブランチ履歴にも属しません。","unbornHead":"このworktreeにはまだコミットがありません。","headUnresolved":"現在のコミットを解決できませんでした。","workingTreeDirty":"このworktreeには未コミットの変更があるため、導入内容が作業中の変更と混ざります。","pathGitIgnored":"一部の書き込み先はgitのignore対象です。導入したファイルはgit statusに現れません。","diffTruncated":"一部の差分は大きすぎるため省略されています。","binaryContent":"一部のファイルはバイナリのため差分を表示できません。","lineEndingCrlf":"一部のファイルの改行コードはCRLFです。","treeScanTruncated":"書き込み先ディレクトリが大きすぎるため、完全には検査できませんでした。"},"filesHeading":"導入によって書き込まれる内容","stats":"追加{added}件 / 変更{modified}件 / 変更なし{unchanged}件 / 衝突{conflicted}件 / 管理外{unmanaged}件","filesEmpty":"このplanはファイルを書き込みません。","fileGenerated":"導入記録","gitIgnored":"このパスはgitのignore対象です。","diffToggle":"差分を表示(+{additions} / -{deletions})","diffTruncated":"この差分は途中で打ち切られています。","diffBinary":"バイナリファイルのため差分は表示できません。","change":{"add":"追加","modify":"変更","unchanged":"変更なし","conflict":"衝突","unmanaged":"管理外"},"diffReason":{"newFile":"このパスには何もないため、ファイルは新規作成されます。","contentIdentical":"既にあるファイルは書き込む内容とバイト単位で同一です。","managedUpdate":"CommandMateが導入したファイルで変更もないため、置き換えます。","localModification":"導入後に編集されたファイルです。CommandMateはあなたの変更を上書きしません。","unmanagedSkill":"CommandMateが導入していないSkillディレクトリが既にあります。CommandMateが置き換えてよいものではありません。","receiptOrphan":"導入記録にはあるファイルですが、ディスク上には存在しません。記録された導入内容とworktreeが一致していません。","notARegularFile":"このパスはシンボリックリンク等の通常ファイル以外です。CommandMateはこれをたどりません。"},"blockersHeading":"導入できない理由","blockedNotice":"何も書き込んでいません。上記のパスを解消してからplanを作り直してください。","acknowledgeLabel":"上記のファイル・スクリプト・宣言された権限を確認したうえで、このhigh riskのSkillをこのworktreeへ導入します。","confirm":"このworktreeへ導入する","confirming":"導入しています…","discard":"このplanを破棄"},"install":{"reload":{"native":"{agent} は起動時にworktreeからSkillを読み込みます。{skillId} {version} を利用するには、このworktreeの {agent} セッションを再起動してください。","commandmateRuntime":"{agent} はCommandMate runtime経由でこのSkillを実行します。runtimeが {skillId} {version} を認識するよう、このworktreeの {agent} セッションを再起動してください。","unsupported":"{agent} はこのSkillに対応していません。ファイルは配置されましたが、{agent} セッションでは {skillId} {version} は提示されません。","unknown":"{agent} での対応状況は未検証です。ファイルは配置済みです。{agent} セッションを再起動し、{skillId} {version} が提示されるか確認してください。"},"nextAction":{"succeeded":"Skillのインストールと記録が完了しました。以下のagentセッションを再起動すると利用を開始できます。","committedReconciling":"ファイルの書き込みは完了しworktreeに存在しますが、インストール記録が未完了です。CommandMateが自動的に完了させるため、再インストールは不要です。","failed":"worktreeへの書き込みは行われていません。理由を確認し、新しいInstall Planを作成してください。"}},"uninstall":{"reason":{"managedUnchanged":"CommandMateが配置し、その後変更されていないため安全に削除できます。","localModification":"インストール後に編集されています。CommandMateは変更内容を削除しません。","receiptOrphan":"インストール記録に載っているファイルがworktreeに存在しません。ディスク上の状態は記録されたインストールと一致していません。","unmanagedFile":"Skillディレクトリ内にありますが、CommandMateが配置したファイルではないため削除対象にしません。","notARegularFile":"このパスはシンボリックリンクなど通常ファイル以外です。CommandMateは削除対象の判定でリンクをたどりません。","notInstalled":"このworktreeにはCommandMate管理下のインストールがありません。","receiptMissing":"SkillディレクトリにCommandMateのインストール記録がないため、どのファイルがSkillのものか証明できません。","receiptUnreadable":"インストール記録を読み取れないため、ファイルの所有関係を確定できません。","receiptForeign":"このディレクトリのインストール記録は別のSkillを指しています。","treeScanTruncated":"Skillディレクトリが大きすぎるか深すぎて完全に検査できないため、管理外ファイルがないと確認できません。"},"nextAction":{"removable":"このディレクトリのファイルはすべてCommandMateが配置し、変更されていません。確認のうえ削除してください。","blocked":"何も削除していません。以下のファイルを退避または復元してから、新しいUninstall Planを作成してください。","succeeded":"Skillを削除し、記録を消去しました。以下のagentセッションを再起動すると提示されなくなります。","committedReconciling":"削除の途中で処理が停止しました。診断のためインストール記録は残しています。CommandMateが自動的に完了させます。","failed":"worktreeからは何も削除していません。理由を確認し、新しいUninstall Planを作成してください。"},"reload":{"native":"{agent} は起動時にworktreeからSkillを読み込みます。{skillId} が提示されなくなるよう、このworktreeの {agent} セッションを再起動してください。","commandmateRuntime":"{agent} はCommandMate runtime経由でこのSkillを実行していました。runtimeが {skillId} を解放するよう、このworktreeの {agent} セッションを再起動してください。","unsupported":"{agent} はこのSkillに対応していなかったため、{skillId} の削除による {agent} セッションへの影響はありません。","unknown":"{agent} での対応状況は未検証でした。ファイルは削除済みです。{skillId} がまだ提示される場合は {agent} セッションを再起動してください。"},"build":"uninstall planを作成","building":"uninstall planを作成しています…","heading":"uninstall planの内容","expiresAt":"このplanは{timestamp}まで有効です。それ以降は作り直してください。","installedVersion":"導入済みversion","versionUnknown":"記録されていません","stats":"削除可能{removable}件 / 変更済み{modified}件 / 消失{missing}件 / 未記録{unknown}件 / 通常ファイル以外{irregular}件","removalsHeading":"削除される対象","removalsEmpty":"このplanは何も削除しません。","retainedHeading":"残す対象","retainedEmpty":"残るものはありません。","blockersHeading":"削除できない理由","confirm":"このworktreeから削除する","confirming":"削除しています…","disposition":{"remove":"削除","modified":"残す(編集済み)","missing":"既に存在しません","unknown":"残す(未記録)","irregular":"残す(通常ファイル以外)"}},"card":{"provider":"提供元: {provider}","noRecommendedVersion":"導入可能なversionなし"},"worktreePane":{"installedHeading":"このワークツリーに導入済み","installedError":"このワークツリーの導入済みSkillを読み込めませんでした。","installedEmpty":"このワークツリーにはまだSkillが導入されていません。","catalogHeading":"Catalogから導入","installedBadge":"導入済み","version":"バージョン {version}","back":"Skill一覧へ戻る"},"state":{"loading":"Skill Catalogを読み込んでいます…","empty":"公式Catalogにはまだ公開されているSkillがありません。","noResults":"現在の検索条件と絞り込みに一致するSkillはありません。","noResultsHint":"キーワードを変えるか、絞り込みを解除してください。","errorHeading":"Skill Catalogを読み込めませんでした","errorNotice":"これは取得に失敗した状態であり、Catalogが空であることを意味しません。どのSkillが存在するかは判断できません。","errorCode":"エラーコード: {code}","retry":"再試行","notFoundHeading":"Skillが見つかりません","notFoundNotice":"このIDに一致するSkillは公式Catalogに存在しません。"},"catalog":{"staleHeading":"キャッシュされたCatalogを表示しています","staleNotice":"このCatalogが最新であることを確認できなかったため、内容が古い可能性があります。","offlineNotice":"直近の試行ではCatalogの取得元に到達できませんでした。","freshLabel":"Catalogは最新であることを確認済み","fetchedAt":"最終検証: {timestamp}","revalidatedAt":"最新であることを最後に確認: {timestamp}","sourceLabel":"取得元: {repository} ({ref})","reason":{"fetchFailed":"Catalogを取得できませんでした。","rateLimited":"Catalogの取得元がレート制限を適用しています。","oversized":"Catalogの応答が許容サイズを超えました。","malformed":"Catalogの応答が正しいJSONではありませんでした。","invalidSchema":"Catalogの応答が契約検証に失敗しました。","unknown":"理由は報告されていません。"}},"operation":{"errorHeading":"操作は実行されませんでした","reloadHeading":"以下のagentセッションを再起動してください","installedHeading":"導入しました","uninstalledHeading":"削除しました","replayNotice":"既に実行済みの要求に対する応答のため、ファイル単位の一覧は再掲されません。","filesWritten":"{count}件のファイルを書き込みました","filesRemoved":"{count}件のファイルを削除しました","startOver":"別の導入先を選ぶ","error":{"planStale":"plan作成後にworktreeが変化したため、planは現状を説明していません。何も書き込んでいません。planを作り直してください。","planExpired":"このplanは有効期限切れです。何も書き込んでいません。planを作り直してください。","planConsumed":"このplanは既に使用済みです。二重には書き込んでいません。","planNotFound":"CommandMateはこのplanを保持していません。何も書き込んでいません。planを作り直してください。","planBindingMismatch":"このplanは別の要求向けに作成されたもので、ここでは使用できません。この画面からplanを作り直してください。","planNotInstallable":"このplanには阻害要因があるため適用できません。何も書き込んでいません。","planRiskNotAcknowledged":"high riskのpackageですが導入の明示的な承認がありません。何も書き込んでいません。","installLocked":"このworktreeでは別のSkill操作が実行中です。何も書き込んでいません。完了後に再試行してください。","installInProgress":"同一内容の導入が既に実行中です。二重に開始せず完了を待ってください。","installDestinationExists":"導入先には既に何かが存在します。CommandMateは自身が導入していないものを上書きしないため、何も書き込んでいません。","installDestinationUnmanaged":"CommandMateが導入していないSkillディレクトリが導入先にあります。何も書き込んでいません。","installIdempotencyConflict":"この再試行は元の要求と内容が一致しません。何も書き込んでいません。planを作り直してください。","installFailed":"先行する導入が失敗しており、何も書き込まれていません。planを作り直してください。","uninstallLocked":"このworktreeでは別のSkill操作が実行中です。何も削除していません。完了後に再試行してください。","uninstallInProgress":"同一内容の削除が既に実行中です。二重に開始せず完了を待ってください。","uninstallIdempotencyConflict":"この再試行は元の要求と内容が一致しません。何も削除していません。planを作り直してください。","uninstallNotInstalled":"このworktreeにこのSkillの導入記録がないため、削除する対象がありません。","uninstallBlocked":"何も削除していません。CommandMateが削除してよくないパスが含まれています。","uninstallDrift":"worktreeが導入記録と一致しなくなっており、どのファイルがCommandMate管理下か判別できません。何も削除していません。","uninstallFileChanged":"plan作成後にファイルが変更されました。何も削除していません。planを作り直してください。","uninstallFailed":"先行する削除が失敗しており、何も削除されていません。planを作り直してください。","requestFailed":"要求がCommandMateに届かなかったか、理由を伴わない応答が返りました。変更が起きたとは確認できていません。","unexpected":"CommandMateが説明を持たない失敗を報告しました。worktreeを確認したうえで、変更なしと判断してください。"}},"dashboard":{"title":"導入済みSkill","description":"どのworktreeにどのSkillが適用されているか、導入時の内容と一致しているかを確認します。","scannedAt":"走査時刻 {timestamp}","worktreeCount":"worktree {count} 件","rescan":"再走査","reindex":"indexを再構築","reindexRunning":"再構築中…","reindexDone":"receiptから再構築しました: {indexed} 件登録、{removed} 件削除、{skipped} 件スキップ。","reindexFailed":"indexを再構築できませんでした。","errorNotice":"導入済みSkillの適用状態を読み取れませんでした。Skillが未導入であることとは異なります。","catalogUnavailable":"Catalogに接続できないため、更新の有無を判定できません。それ以外の情報はディスク上のreceiptに基づいています。","truncated":"走査が上限に達したため、この一覧は不完全です。","unreadableWorktrees":"登録済みですがディスク上に存在しないため走査していないworktree: {worktrees}","empty":"登録済みworktreeにSkillは導入されていません。","filterSkill":"Skill名","filterWorktree":"worktree","filterStatus":"状態","all":"すべて","rootPresent":"配置済み","rootMissing":"未検出","rootTruncated":"走査打ち切り","driftSummary":"変更 {modified} / 欠落 {missing} / 未管理 {unmanaged} / 不正 {irregular}","status":{"installed":"導入済み","modified":"ローカル変更あり","missing":"payload欠落","unmanaged":"index未登録","updateAvailable":"更新あり"},"statusHint":{"installed":"receiptが記録するすべてのinstall rootが一致しています。","modified":"install root配下のファイルがreceiptと異なります。更新・削除の前に差分を確認してください。","missing":"receiptが記録するinstall rootにpayloadがありません。そのrootからはSkillが検出されません。","unmanaged":"indexに対応する記録がないpayloadがディスク上にあります。indexを再構築して取り込むか、手動で削除してください。","updateAvailable":"導入内容は健全で、Catalogに互換性のある新しいversionがあります。"}},"history":{"heading":"操作履歴","loading":"操作ログを読み込み中…","empty":"Skillの操作記録はまだありません。","errorNotice":"操作ログを読み取れませんでした。操作が行われていないこととは異なります。","filterOperation":"操作","filterResult":"結果","loadMore":"過去の記録を読み込む","recordedAt":"{timestamp}","transitionLabel":"version","transition":"{from} → {to}","actorLabel":"実行元","origin":"取得元","sourceCommit":"コミット","artifactDigest":"artifactダイジェスト","retry":"Skillを開いて再試行する","none":"—","operation":{"install":"導入","uninstall":"削除","update":"更新"},"result":{"succeeded":"成功","failed":"失敗","reconciled":"整合済み"},"actor":{"user":"Web画面","cli":"CLI","system":"CommandMate"}}}')}};
1
+ "use strict";exports.id=22,exports.ids=[22],exports.modules={20022:a=>{a.exports=JSON.parse('{"page":{"title":"スキル","description":"公式Skill Catalogを閲覧します。各Skillの内容、提供元、必要なCommandMateのversion、提供元が宣言するriskを確認できます。","backToCatalog":"Catalogに戻る"},"search":{"label":"Skillを検索","placeholder":"名前・概要・キーワード・提供元","resultCount":"{total}件中{shown}件を表示"},"filters":{"compatibility":"CommandMate互換性","risk":"提供元が宣言したrisk","agent":"Agent対応","all":"すべて","reset":"絞り込みを解除"},"compatibility":{"label":"CommandMate互換性","native":"Agent単体で実行可能","commandmateRuntime":"CommandMate Runtime経由で実行","unsupported":"非対応","unknown":"未検証","status":{"compatible":"互換あり","incompatible":"互換なし","unknown":"未検証"},"requiredRange":"必要なCommandMate: {range}","currentVersion":"稼働中のCommandMate: {version}","currentVersionUnknown":"稼働中のCommandMateのversionを特定できませんでした。","unverifiedNotice":"「未検証」は「互換あり」ではありません。CommandMateが判定できなかった状態であり、動作しない可能性があります。","agentsHeading":"Agent対応状況","agentsNotice":"Agent対応状況は出発点として提供元による申告であり、根拠として提示された内容をそのまま表示しています。CommandMateが実機で計測したAgentについては、その実測結果を併記し、申告が実測を超えないように制限します。","agentsUnknown":"このversionにはAgent対応の宣言がありません。","evidence":"根拠","declaredLabel":"提供元の申告: {support}","measuredHeading":"CommandMateの実測結果","testedVersion":"実測対象: {agent} {version}","testedDate":"計測日: {date}","evidenceSource":"証跡","discoveryRoots":"読み取り先: {roots}","evidenceStale":"この実測から {days} 日が経過しています。Agent側の挙動が変わっている可能性があります。","reloadHeading":"{agent} に読み込ませる方法","axis":{"discovery":"発見","invocation":"スラッシュコマンド"},"axisOutcome":{"verified":"確認済み","unsupported":"利用不可","unknown":"未計測"},"evidenceKind":{"mechanical":"機械的に確認","selfReport":"Agentの自己申告","notMeasured":"実測なし"},"verification":{"confirmed":"CommandMateの実測結果と提供元の申告が一致しています。","restricted":"CommandMateの実測結果が提供元の申告より低いため、低い方を表示しています。","staleDeclaration":"CommandMateの実測結果は提供元の申告より高い水準です。申告はそのまま表示します(引き上げられるのは提供元だけです)。","unverified":"CommandMateはこのAgentを実測していないため、提供元の申告のみを表示しています。"},"limitation":{"noSlashCommand":"このversionのAgentはSkillを発見しますが、スラッシュコマンドとしては表示しません。名前を指定して呼び出してください。"},"skipReason":{"notMeasured":"このAgentはCommandMateのinstall環境で実測していないため、非対応ではなく未検証(unknown)として扱います。"},"reload":{"sessionRestart":"このrepositoryで {agent} のセッションを開始し直してください。Skillはセッション開始時に走査されます。","sessionRestartNoSlash":"このrepositoryで {agent} のセッションを開始し直したうえで、Skillを名前で指定して呼び出してください。このversionはSkillをスラッシュコマンドとして表示しません。","unknown":"CommandMateは {agent} のSkill再読み込み方法を実測していません。セッションの再起動が安全な前提です。"},"reason":{"satisfied":"CommandMate {currentVersion} は要求範囲 {range} を満たしています。","hostVersionOutOfRange":"このSkillはCommandMate {range} を要求しますが、稼働中のversionは {currentVersion} です。","hostVersionUnknown":"稼働中のCommandMateのversionを特定できないため、{range} との互換性は未検証です。","rangeUnsupported":"このSkillはCommandMateが解釈できないversion範囲 {range} を宣言しているため、互換性は未検証です。"}},"risk":{"declaredLabel":"宣言risk: {level}","declaredHeading":"提供元が宣言したrisk","level":{"low":"低","moderate":"中","high":"高"},"declaredNotice":"このrisk水準はSkillの提供元による自己申告です。CommandMateによる評価ではありません。","computedHeading":"CommandMateが算出するrisk","computedUnavailable":"Catalogからは取得できません。CommandMateはpackageの内容を検査してriskを算出しますが、それはpackageをダウンロードした後に行われます。","highWarning":"提供元はこのSkillをhigh riskと宣言しています。導入前に更新履歴と提供元の情報を確認してください。"},"permissions":{"heading":"宣言された権限","declarationOnlyNotice":"権限は提供元が記載した宣言であり、CommandMateが強制する制限ではありません。Skillを導入してもsandboxで隔離されるわけではありません。","unavailable":"Catalogは宣言された権限を保持していません。権限はpackage内のSkill manifestに記載されており、CommandMateはダウンロード後に読み取ります。"},"capabilities":{"heading":"このSkillでできること","unavailable":"詳細な能力と期待効果はpackage内のSkill manifestに記載されており、Catalogには含まれていません。以下はCatalogが公開している概要です。"},"requirements":{"heading":"必要なコマンドとネットワークアクセス","unavailable":"Catalogは実行時の要件を保持していません。必要なコマンドや接続先hostはpackage内のSkill manifestに記載されています。"},"contents":{"heading":"ファイルとスクリプト","unavailable":"Catalogはpackageの中身を列挙していません。ファイル・スクリプト・実行可能ファイルは、CommandMateがpackageをダウンロードして検査した時点で列挙されます。"},"detail":{"overview":"概要","provider":"提供元","providerContact":"連絡先","license":"ライセンス","homepage":"ホームページ","keywords":"キーワード","skillId":"Skill ID","latestVersion":"公開されている最新version","recommendedVersion":"推奨version","recommendedVersionNone":"なし","requiredRangeLabel":"必要なCommandMateのversion範囲","publishedAt":"公開日時","sourceRepository":"リポジトリ","sourceRef":"Ref","sourceCommit":"コミット","packageAsset":"アセット名","packageDigest":"SHA-256","packageSize":"サイズ","packageBytes":"{bytes} バイト","versionsHeading":"更新履歴","versionsEmpty":"このCommandMateに適用できる公開versionがありません。","changelogHeading":"変更内容","changelogEmpty":"このversionには変更内容の記載がありません。","mediaStripped":"Catalog由来のテキストから画像と埋め込みメディアを除去しているため、外部ホストからの読み込みは発生しません。","prerelease":"プレリリース","recommendation":{"highestCompatible":"稼働中のCommandMateで動作する、最も新しい公開versionです。","latestUnverified":"稼働中のCommandMateのversionを特定できなかったため、互換性を確認せずに提供元の最新versionを表示しています。","noneCompatible":"稼働中のCommandMateで動作する公開versionはありません。","noVersions":"このCommandMateに適用できる公開versionがありません。"},"install":{"action":"導入先を選択","blockedIncompatible":"導入できません: {reason}","blockedNoVersion":"稼働中のCommandMateに適用できる公開versionがないため導入できません。"}},"target":{"heading":"導入先","loading":"登録済みworktreeを読み込んでいます…","empty":"登録済みのworktreeがありません。Skillを導入する前にworktreeを登録してください。","errorNotice":"登録済みworktreeの一覧を読み込めませんでした。現在は導入先を選択できません。","retry":"再試行","selected":"選択中","repository":"リポジトリ","branch":"ブランチ","branchUnknown":"記録されていません","agents":"Agent","agentsNone":"設定されていません","workingTree":"作業ツリー","workingTreeClean":"未コミットの変更なし","workingTreeDirty":"未コミットの変更あり","workingTreeUnknown":"未確認","sessionRunning":"このworktreeではセッションが稼働中です。","branchFreshnessNotice":"ここに表示しているブランチは直近のworktree同期時点の値です。CommandMateはinstall plan生成時に現在のブランチとコミットを解決し、差異があればそこで報告します。"},"plan":{"highRiskAcknowledgement":"CommandMateはpackageの内容を検査した結果、このSkillをhigh riskと判定しました。以下のファイル・スクリプト・宣言された権限を確認したうえで、このworktreeへ導入することを明示的に承認してください。","build":"install planを作成","building":"install planを作成しています…","chooseTarget":"このSkillを導入するworktreeを選択してください。","ready":"planの作成では何も書き込みません。packageを取得して内容を検査し、導入した場合に何が変わるかだけを報告します。","heading":"install planの内容","expiresAt":"このplanは{timestamp}まで有効です。それ以降は作り直してください。","targetHeading":"導入先","headStateLabel":"Git HEADの状態","headState":{"attached":"ブランチ上","detached":"detached HEAD","unborn":"コミットがまだありません","unknown":"解決できませんでした"},"installRoot":"導入先ディレクトリ","existingInstall":"既存の導入","existingInstallNone":"まだ導入されていません","existingInstallVersion":"version {version}","riskHeading":"リスク","riskDeclared":"publisher申告","riskComputed":"CommandMate判定","riskEffective":"実効","riskNotice":"判定値は取得したpackageの内容を検査した結果です。publisherの申告と食い違う場合は、高いほうを実効値として扱います。","permission":{"filesystemRead":"ファイルを読み取る","filesystemWrite":"ファイルを書き込む","networkAccess":"ネットワークへ接続する","processExecution":"他のプログラムを実行する","environmentRead":"環境変数を読み取る","credentialAccess":"認証情報へアクセスする"},"permissionsNone":"manifestは権限を宣言していません。","requirementsNone":"manifestは必要なコマンドもネットワーク接続も宣言していません。","requirementsCommands":"コマンド","requirementsHosts":"ネットワークホスト","commandAnyVersion":"(version不問)","scriptsHeading":"package内のスクリプト・実行ファイル","scriptsNone":"packageにスクリプトも実行ファイルも含まれていません。","warningsHeading":"留意点","warning":{"detachedHead":"このworktreeはブランチ上にないため、導入内容はどのブランチ履歴にも属しません。","unbornHead":"このworktreeにはまだコミットがありません。","headUnresolved":"現在のコミットを解決できませんでした。","workingTreeDirty":"このworktreeには未コミットの変更があるため、導入内容が作業中の変更と混ざります。","pathGitIgnored":"一部の書き込み先はgitのignore対象です。導入したファイルはgit statusに現れません。","diffTruncated":"一部の差分は大きすぎるため省略されています。","binaryContent":"一部のファイルはバイナリのため差分を表示できません。","lineEndingCrlf":"一部のファイルの改行コードはCRLFです。","treeScanTruncated":"書き込み先ディレクトリが大きすぎるため、完全には検査できませんでした。"},"filesHeading":"導入によって書き込まれる内容","stats":"追加{added}件 / 変更{modified}件 / 変更なし{unchanged}件 / 衝突{conflicted}件 / 管理外{unmanaged}件","filesEmpty":"このplanはファイルを書き込みません。","fileGenerated":"導入記録","gitIgnored":"このパスはgitのignore対象です。","diffToggle":"差分を表示(+{additions} / -{deletions})","diffTruncated":"この差分は途中で打ち切られています。","diffBinary":"バイナリファイルのため差分は表示できません。","change":{"add":"追加","modify":"変更","unchanged":"変更なし","conflict":"衝突","unmanaged":"管理外"},"diffReason":{"newFile":"このパスには何もないため、ファイルは新規作成されます。","contentIdentical":"既にあるファイルは書き込む内容とバイト単位で同一です。","managedUpdate":"CommandMateが導入したファイルで変更もないため、置き換えます。","localModification":"導入後に編集されたファイルです。CommandMateはあなたの変更を上書きしません。","unmanagedSkill":"CommandMateが導入していないSkillディレクトリが既にあります。CommandMateが置き換えてよいものではありません。","receiptOrphan":"導入記録にはあるファイルですが、ディスク上には存在しません。記録された導入内容とworktreeが一致していません。","notARegularFile":"このパスはシンボリックリンク等の通常ファイル以外です。CommandMateはこれをたどりません。"},"blockersHeading":"導入できない理由","blockedNotice":"何も書き込んでいません。上記のパスを解消してからplanを作り直してください。","acknowledgeLabel":"上記のファイル・スクリプト・宣言された権限を確認したうえで、このhigh riskのSkillをこのworktreeへ導入します。","confirm":"このworktreeへ導入する","confirming":"導入しています…","discard":"このplanを破棄"},"install":{"reload":{"native":"{agent} は起動時にworktreeからSkillを読み込みます。{skillId} {version} を利用するには、このworktreeの {agent} セッションを再起動してください。","commandmateRuntime":"{agent} はCommandMate runtime経由でこのSkillを実行します。runtimeが {skillId} {version} を認識するよう、このworktreeの {agent} セッションを再起動してください。","unsupported":"{agent} はこのSkillに対応していません。ファイルは配置されましたが、{agent} セッションでは {skillId} {version} は提示されません。","unknown":"{agent} での対応状況は未検証です。ファイルは配置済みです。{agent} セッションを再起動し、{skillId} {version} が提示されるか確認してください。"},"nextAction":{"succeeded":"Skillのインストールと記録が完了しました。以下のagentセッションを再起動すると利用を開始できます。","committedReconciling":"ファイルの書き込みは完了しworktreeに存在しますが、インストール記録が未完了です。CommandMateが自動的に完了させるため、再インストールは不要です。","failed":"worktreeへの書き込みは行われていません。理由を確認し、新しいInstall Planを作成してください。"}},"uninstall":{"reason":{"managedUnchanged":"CommandMateが配置し、その後変更されていないため安全に削除できます。","localModification":"インストール後に編集されています。CommandMateは変更内容を削除しません。","receiptOrphan":"インストール記録に載っているファイルがworktreeに存在しません。ディスク上の状態は記録されたインストールと一致していません。","unmanagedFile":"Skillディレクトリ内にありますが、CommandMateが配置したファイルではないため削除対象にしません。","notARegularFile":"このパスはシンボリックリンクなど通常ファイル以外です。CommandMateは削除対象の判定でリンクをたどりません。","notInstalled":"このworktreeにはCommandMate管理下のインストールがありません。","receiptMissing":"SkillディレクトリにCommandMateのインストール記録がないため、どのファイルがSkillのものか証明できません。","receiptUnreadable":"インストール記録を読み取れないため、ファイルの所有関係を確定できません。","receiptForeign":"このディレクトリのインストール記録は別のSkillを指しています。","treeScanTruncated":"Skillディレクトリが大きすぎるか深すぎて完全に検査できないため、管理外ファイルがないと確認できません。"},"nextAction":{"removable":"このディレクトリのファイルはすべてCommandMateが配置し、変更されていません。確認のうえ削除してください。","blocked":"何も削除していません。以下のファイルを退避または復元してから、新しいUninstall Planを作成してください。","succeeded":"Skillを削除し、記録を消去しました。以下のagentセッションを再起動すると提示されなくなります。","committedReconciling":"削除の途中で処理が停止しました。診断のためインストール記録は残しています。CommandMateが自動的に完了させます。","failed":"worktreeからは何も削除していません。理由を確認し、新しいUninstall Planを作成してください。"},"reload":{"native":"{agent} は起動時にworktreeからSkillを読み込みます。{skillId} が提示されなくなるよう、このworktreeの {agent} セッションを再起動してください。","commandmateRuntime":"{agent} はCommandMate runtime経由でこのSkillを実行していました。runtimeが {skillId} を解放するよう、このworktreeの {agent} セッションを再起動してください。","unsupported":"{agent} はこのSkillに対応していなかったため、{skillId} の削除による {agent} セッションへの影響はありません。","unknown":"{agent} での対応状況は未検証でした。ファイルは削除済みです。{skillId} がまだ提示される場合は {agent} セッションを再起動してください。"},"build":"uninstall planを作成","building":"uninstall planを作成しています…","heading":"uninstall planの内容","expiresAt":"このplanは{timestamp}まで有効です。それ以降は作り直してください。","installedVersion":"導入済みversion","versionUnknown":"記録されていません","stats":"削除可能{removable}件 / 変更済み{modified}件 / 消失{missing}件 / 未記録{unknown}件 / 通常ファイル以外{irregular}件","removalsHeading":"削除される対象","removalsEmpty":"このplanは何も削除しません。","retainedHeading":"残す対象","retainedEmpty":"残るものはありません。","blockersHeading":"削除できない理由","confirm":"このworktreeから削除する","confirming":"削除しています…","disposition":{"remove":"削除","modified":"残す(編集済み)","missing":"既に存在しません","unknown":"残す(未記録)","irregular":"残す(通常ファイル以外)"}},"update":{"badge":"更新あり","upToDate":"バージョン {version} は公開されている最新版です。更新はありません。","open":"更新内容を確認","heading":"更新プラン","intro":"{skill} はバージョン {version} がインストールされています。移行先のバージョンを明示的に選ぶと、何が変わるかを下のプランで確認できます。","ready":"更新プランの作成では何も書き込みません。候補パッケージをダウンロード・検証し、インストール済みの内容と比較して、差分とブロック要因をすべて報告します。","fromTo":"{from} → {to}","latestAvailable":"最新: {version}","versionPicker":"更新先バージョン","build":"更新プランを作成","building":"更新プランを作成中…","filesHeading":"ファイルの変更","stats":"+{added} 追加、~{updated} 更新、−{removed} 削除、={unchanged} 変更なし","showDiff":"差分を表示","permissionsAdded":"この更新で追加される権限","permissionsRemoved":"この更新で不要になる権限","scriptsAdded":"新しいスクリプト","scriptsRemoved":"削除されるスクリプト","executablesAdded":"新しい実行可能ファイル","executablesRemoved":"削除される実行可能ファイル","highRiskAcknowledgement":"CommandMate が候補パッケージの内容を検査した結果、高リスクと判定しました。この更新の適用には明示的な確認が必要になります。","riskIncreaseAcknowledgement":"この更新により、Skill の実効リスクが現在のインストールより高くなります。適用には通常の更新確認とは別に、追加の確認が必要になります。","change":{"add":"追加","update":"更新","remove":"削除","unchanged":"変更なし"},"reason":{"upToDate":"インストール済みのバージョンより新しい公開版はありません。","highestCompatible":"インストール済みより新しく、実行中の CommandMate で動作する最新の公開版です。","latestUnverified":"実行中の CommandMate バージョンを判定できなかったため、互換性未検証のまま最新候補を提示しています。","noneCompatible":"新しいバージョンはありますが、実行中の CommandMate で動作するものはありません。","installedVersionInvalid":"レシートに記録されたインストールバージョンが不正なため、更新を解決できません。","rangeUnsupported":"指定されたバージョン範囲はサポート外のため、候補を解決できませんでした。"},"blocked":{"localChanges":"このパスはインストール後に変更されています(編集・削除・手動追加)。CommandMate はローカル変更を上書きして更新しません。ファイルを元に戻す(または Skill をアンインストールして再インストールする)と、新しい更新プランを作成できます。","rootMissing":"記録されたインストールディレクトリが存在しません。更新の前に Skill を再インストールするか、インデックスを再構築してください。","receiptMissing":"インストールディレクトリに CommandMate のインストール記録がなく、どのファイルが Skill のものかを証明できません。","receiptUnreadable":"インストール記録を読み取れないため、ファイルの所有を確認できません。","receiptForeign":"このディレクトリのインストール記録は別の Skill のものです。","rootReceiptDiverged":"記録されたインストールディレクトリのインストール記録が食い違っており、インストールが単一のバージョンではなくなっています。","treeScanTruncated":"Skill ディレクトリが大きすぎるか深すぎて完全に検査できず、ローカル変更がないことを保証できません。","incompatible":"選択したバージョンは実行中の CommandMate と互換性がありません。"},"nextAction":{"updatable":"インストール済みの全ファイルがインストール記録と一致しています。このプランから更新を適用できます。","blocked":"何も変更されていません。下に列挙されたパスを解消(ローカル変更の復元、または CommandMate 管理外ファイルの移動)してから、新しい更新プランを作成してください。","succeeded":"Skill は新しいバージョンに切り替わり、記録されました。下記のエージェントセッションを再起動すると利用できます。","committedReconciling":"新しいバージョンはすでに worktree にありますが、操作は完全には完了しませんでした。残りは CommandMate が自動的に収束させます。再更新は不要です。","failed":"worktree には何も書き込まれていません。下記の理由を解消してから、新しい更新プランを作成してください。"},"apply":"更新を適用","applying":"更新を適用中…","ackRisk":"候補パッケージのファイル・スクリプト・権限を確認したうえで、この高リスクパッケージへの更新を明示的に承認します。","ackRiskIncrease":"この更新により Skill の実効リスクが現在より上がることを理解し、別途確認します。","rollbackAvailable":"入れ替え前のバージョン {version} は、切替前に検証済みの CommandMate 管理バックアップとして保存されました。ロールバックは別操作として提供予定です。","reload":{"native":"{agent} は起動時に worktree から Skill を読み込みます。この worktree の {agent} セッションを再起動すると {skillId} {version} が利用できます。","commandmateRuntime":"{agent} はこの Skill を CommandMate ランタイム経由で実行します。この worktree の {agent} セッションを再起動するとランタイムが {skillId} {version} を読み込みます。","unsupported":"{agent} はこの Skill に対応していません。ファイルは更新されましたが、{skillId} {version} は {agent} セッションでは提供されません。","unknown":"{agent} でのサポートは未検証です。ファイルは更新済みのため、{agent} セッションを再起動して {skillId} {version} が提供されるか確認してください。"}},"card":{"provider":"提供元: {provider}","noRecommendedVersion":"導入可能なversionなし"},"worktreePane":{"installedHeading":"このワークツリーに導入済み","installedError":"このワークツリーの導入済みSkillを読み込めませんでした。","installedEmpty":"このワークツリーにはまだSkillが導入されていません。","catalogHeading":"Catalogから導入","installedBadge":"導入済み","version":"バージョン {version}","back":"Skill一覧へ戻る","updateBadge":"更新あり"},"state":{"loading":"Skill Catalogを読み込んでいます…","empty":"公式Catalogにはまだ公開されているSkillがありません。","noResults":"現在の検索条件と絞り込みに一致するSkillはありません。","noResultsHint":"キーワードを変えるか、絞り込みを解除してください。","errorHeading":"Skill Catalogを読み込めませんでした","errorNotice":"これは取得に失敗した状態であり、Catalogが空であることを意味しません。どのSkillが存在するかは判断できません。","errorCode":"エラーコード: {code}","retry":"再試行","notFoundHeading":"Skillが見つかりません","notFoundNotice":"このIDに一致するSkillは公式Catalogに存在しません。"},"catalog":{"staleHeading":"キャッシュされたCatalogを表示しています","staleNotice":"このCatalogが最新であることを確認できなかったため、内容が古い可能性があります。","offlineNotice":"直近の試行ではCatalogの取得元に到達できませんでした。","freshLabel":"Catalogは最新であることを確認済み","fetchedAt":"最終検証: {timestamp}","revalidatedAt":"最新であることを最後に確認: {timestamp}","sourceLabel":"取得元: {repository} ({ref})","reason":{"fetchFailed":"Catalogを取得できませんでした。","rateLimited":"Catalogの取得元がレート制限を適用しています。","oversized":"Catalogの応答が許容サイズを超えました。","malformed":"Catalogの応答が正しいJSONではありませんでした。","invalidSchema":"Catalogの応答が契約検証に失敗しました。","unknown":"理由は報告されていません。"}},"operation":{"errorHeading":"操作は実行されませんでした","reloadHeading":"以下のagentセッションを再起動してください","installedHeading":"導入しました","uninstalledHeading":"削除しました","replayNotice":"既に実行済みの要求に対する応答のため、ファイル単位の一覧は再掲されません。","filesWritten":"{count}件のファイルを書き込みました","filesRemoved":"{count}件のファイルを削除しました","startOver":"別の導入先を選ぶ","error":{"planStale":"plan作成後にworktreeが変化したため、planは現状を説明していません。何も書き込んでいません。planを作り直してください。","planExpired":"このplanは有効期限切れです。何も書き込んでいません。planを作り直してください。","planConsumed":"このplanは既に使用済みです。二重には書き込んでいません。","planNotFound":"CommandMateはこのplanを保持していません。何も書き込んでいません。planを作り直してください。","planBindingMismatch":"このplanは別の要求向けに作成されたもので、ここでは使用できません。この画面からplanを作り直してください。","planNotInstallable":"このplanには阻害要因があるため適用できません。何も書き込んでいません。","planRiskNotAcknowledged":"high riskのpackageですが導入の明示的な承認がありません。何も書き込んでいません。","installLocked":"このworktreeでは別のSkill操作が実行中です。何も書き込んでいません。完了後に再試行してください。","installInProgress":"同一内容の導入が既に実行中です。二重に開始せず完了を待ってください。","installDestinationExists":"導入先には既に何かが存在します。CommandMateは自身が導入していないものを上書きしないため、何も書き込んでいません。","installDestinationUnmanaged":"CommandMateが導入していないSkillディレクトリが導入先にあります。何も書き込んでいません。","installIdempotencyConflict":"この再試行は元の要求と内容が一致しません。何も書き込んでいません。planを作り直してください。","installFailed":"先行する導入が失敗しており、何も書き込まれていません。planを作り直してください。","uninstallLocked":"このworktreeでは別のSkill操作が実行中です。何も削除していません。完了後に再試行してください。","uninstallInProgress":"同一内容の削除が既に実行中です。二重に開始せず完了を待ってください。","uninstallIdempotencyConflict":"この再試行は元の要求と内容が一致しません。何も削除していません。planを作り直してください。","uninstallNotInstalled":"このworktreeにこのSkillの導入記録がないため、削除する対象がありません。","uninstallBlocked":"何も削除していません。CommandMateが削除してよくないパスが含まれています。","uninstallDrift":"worktreeが導入記録と一致しなくなっており、どのファイルがCommandMate管理下か判別できません。何も削除していません。","uninstallFileChanged":"plan作成後にファイルが変更されました。何も削除していません。planを作り直してください。","uninstallFailed":"先行する削除が失敗しており、何も削除されていません。planを作り直してください。","requestFailed":"要求がCommandMateに届かなかったか、理由を伴わない応答が返りました。変更が起きたとは確認できていません。","unexpected":"CommandMateが説明を持たない失敗を報告しました。worktreeを確認したうえで、変更なしと判断してください。","updateNotInstalled":"この worktree にはこの Skill のインストール記録がなく、更新対象がありません。","updateUpToDate":"インストール済みより新しい公開版はなく、更新はありません。","updateVersionNotEligible":"指定されたバージョンは、この Skill のインストール済みより新しい公開版ではありません。","updateNoneCompatible":"新しいバージョンはありますが、実行中の CommandMate で動作するものはありません。"}},"dashboard":{"title":"導入済みSkill","description":"どのworktreeにどのSkillが適用されているか、導入時の内容と一致しているかを確認します。","scannedAt":"走査時刻 {timestamp}","worktreeCount":"worktree {count} 件","rescan":"再走査","reindex":"indexを再構築","reindexRunning":"再構築中…","reindexDone":"receiptから再構築しました: {indexed} 件登録、{removed} 件削除、{skipped} 件スキップ。","reindexFailed":"indexを再構築できませんでした。","errorNotice":"導入済みSkillの適用状態を読み取れませんでした。Skillが未導入であることとは異なります。","catalogUnavailable":"Catalogに接続できないため、更新の有無を判定できません。それ以外の情報はディスク上のreceiptに基づいています。","truncated":"走査が上限に達したため、この一覧は不完全です。","unreadableWorktrees":"登録済みですがディスク上に存在しないため走査していないworktree: {worktrees}","empty":"登録済みworktreeにSkillは導入されていません。","filterSkill":"Skill名","filterWorktree":"worktree","filterStatus":"状態","all":"すべて","rootPresent":"配置済み","rootMissing":"未検出","rootTruncated":"走査打ち切り","driftSummary":"変更 {modified} / 欠落 {missing} / 未管理 {unmanaged} / 不正 {irregular}","status":{"installed":"導入済み","modified":"ローカル変更あり","missing":"payload欠落","unmanaged":"index未登録","updateAvailable":"更新あり"},"statusHint":{"installed":"receiptが記録するすべてのinstall rootが一致しています。","modified":"install root配下のファイルがreceiptと異なります。更新・削除の前に差分を確認してください。","missing":"receiptが記録するinstall rootにpayloadがありません。そのrootからはSkillが検出されません。","unmanaged":"indexに対応する記録がないpayloadがディスク上にあります。indexを再構築して取り込むか、手動で削除してください。","updateAvailable":"導入内容は健全で、Catalogに互換性のある新しいversionがあります。"}},"history":{"heading":"操作履歴","loading":"操作ログを読み込み中…","empty":"Skillの操作記録はまだありません。","errorNotice":"操作ログを読み取れませんでした。操作が行われていないこととは異なります。","filterOperation":"操作","filterResult":"結果","loadMore":"過去の記録を読み込む","recordedAt":"{timestamp}","transitionLabel":"version","transition":"{from} → {to}","actorLabel":"実行元","origin":"取得元","sourceCommit":"コミット","artifactDigest":"artifactダイジェスト","retry":"Skillを開いて再試行する","none":"—","operation":{"install":"導入","uninstall":"削除","update":"更新"},"result":{"succeeded":"成功","failed":"失敗","reconciled":"整合済み"},"actor":{"user":"Web画面","cli":"CLI","system":"CommandMate"}}}')}};
@@ -1 +1 @@
1
- "use strict";exports.id=2328,exports.ids=[2328],exports.modules={36931:(a,b,c)=>{c.d(b,{BO:()=>f,Cg:()=>h,IX:()=>e,LE:()=>j,Qk:()=>k,l2:()=>d});let d=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function e(a){if("string"!=typeof a||a.length>64)return null;let b=d.exec(a);return b?{major:Number(b[1]),minor:Number(b[2]),patch:Number(b[3]),prerelease:b[4]?b[4].split("."):[],build:b[5]?b[5].split("."):[]}:null}function f(a){return null!==e(a)}function g(a,b){return a.major!==b.major?a.major<b.major?-1:1:a.minor!==b.minor?a.minor<b.minor?-1:1:a.patch!==b.patch?a.patch<b.patch?-1:1:function(a,b){if(0===a.length&&0===b.length)return 0;if(0===a.length)return 1;if(0===b.length)return -1;let c=Math.min(a.length,b.length);for(let d=0;d<c;d++){let c=a[d],e=b[d];if(c===e)continue;let f=/^\d+$/.test(c),g=/^\d+$/.test(e);if(f&&g)return Number(c)<Number(e)?-1:1;if(f)return -1;if(g)return 1;return c<e?-1:1}return a.length===b.length?0:a.length<b.length?-1:1}(a.prerelease,b.prerelease)}function h(a,b){let c=e(a),d=e(b);return c&&d?g(c,d):null}function i(a){if("string"!=typeof a)return null;let b=a.trim();if(0===b.length||b.length>100||b.includes("||"))return null;let c=b.split(/\s+/);if(c.length>4)return null;let d=[];for(let a of c){let b=/^(>=|<=|>|<|=|\^|~)?(.+)$/.exec(a);if(!b)return null;let c=b[1]??"=",f=e(b[2]);if(!f)return null;if("^"===c||"~"===c){let a="^"===c?f.major>0?{major:f.major+1,minor:0,patch:0,prerelease:[],build:[]}:f.minor>0?{major:0,minor:f.minor+1,patch:0,prerelease:[],build:[]}:{major:0,minor:0,patch:f.patch+1,prerelease:[],build:[]}:{major:f.major,minor:f.minor+1,patch:0,prerelease:[],build:[]};d.push({operator:">=",version:f}),d.push({operator:"<",version:a});continue}d.push({operator:c,version:f})}return d.length>8?null:d}function j(a){return null!==i(a)}function k(a,b){let c=e(a),d=i(b);return!!c&&!!d&&(!(c.prerelease.length>0)||!!d.some(a=>{var b;return a.version.prerelease.length>0&&(b=a.version,c.major===b.major&&c.minor===b.minor&&c.patch===b.patch)}))&&d.every(a=>(function(a,b){let c=g(a,b.version);switch(b.operator){case"=":return 0===c;case">":return c>0;case">=":return c>=0;case"<":return c<0;case"<=":return c<=0}})(c,a))}},74505:(a,b,c)=>{c.d(b,{jE:()=>z,aJ:()=>u,su:()=>C,kI:()=>s,Ni:()=>B}),c(15194);var d=c(96210);let e={discovery:"skills.compatibility.axis.discovery",invocation:"skills.compatibility.axis.invocation"},f={verified:"skills.compatibility.axisOutcome.verified",unsupported:"skills.compatibility.axisOutcome.unsupported",unknown:"skills.compatibility.axisOutcome.unknown"},g={mechanical:"skills.compatibility.evidenceKind.mechanical",self_report:"skills.compatibility.evidenceKind.selfReport",not_measured:"skills.compatibility.evidenceKind.notMeasured"},h={outcome:"unknown",evidenceKind:"not_measured",labelKey:f.unknown,evidenceKindKey:g.not_measured,limitationKey:null},i={SESSION_RESTART:"skills.compatibility.reload.sessionRestart",SESSION_RESTART_NO_SLASH:"skills.compatibility.reload.sessionRestartNoSlash",UNKNOWN:"skills.compatibility.reload.unknown"},j="https://github.com/Kewton/CommandMate/issues/1513#issuecomment-5083878264",k="2026-07-26";function l(a){return{agent:a,discoveryRoots:[],discovery:h,invocation:h,testedVersion:null,testedDate:null,evidenceSource:null,reloadKey:i.UNKNOWN,skipReasonKey:"skills.compatibility.skipReason.notMeasured"}}let m=[{agent:"claude",discoveryRoots:[d.td],discovery:{outcome:"verified",evidenceKind:"mechanical",labelKey:f.verified,evidenceKindKey:g.mechanical,limitationKey:null},invocation:{outcome:"verified",evidenceKind:"mechanical",labelKey:f.verified,evidenceKindKey:g.mechanical,limitationKey:null},testedVersion:"2.1.220",testedDate:k,evidenceSource:j,reloadKey:i.SESSION_RESTART,skipReasonKey:null},{agent:"codex",discoveryRoots:[d.Co],discovery:{outcome:"verified",evidenceKind:"self_report",labelKey:f.verified,evidenceKindKey:g.self_report,limitationKey:null},invocation:{outcome:"unsupported",evidenceKind:"mechanical",labelKey:f.unsupported,evidenceKindKey:g.mechanical,limitationKey:"skills.compatibility.limitation.noSlashCommand"},testedVersion:"0.145.0",testedDate:k,evidenceSource:j,reloadKey:i.SESSION_RESTART_NO_SLASH,skipReasonKey:null},l("gemini"),l("vibe-local"),l("opencode"),l("copilot"),l("antigravity")],n=/^\d{4}-\d{2}-\d{2}$/;function o(a,b){if(null===a.testedDate||!n.test(a.testedDate))return null;let c=Date.parse(`${a.testedDate}T00:00:00Z`),d=b.getTime();return Number.isNaN(c)||Number.isNaN(d)?null:Math.max(0,Math.floor((d-c)/864e5))}var p=c(36931);let q={SATISFIED:"SKILL_COMPAT_SATISFIED",HOST_VERSION_OUT_OF_RANGE:"SKILL_COMPAT_HOST_VERSION_OUT_OF_RANGE",HOST_VERSION_UNKNOWN:"SKILL_COMPAT_HOST_VERSION_UNKNOWN",RANGE_UNSUPPORTED:"SKILL_COMPAT_RANGE_UNSUPPORTED"},r={[q.SATISFIED]:"skills.compatibility.reason.satisfied",[q.HOST_VERSION_OUT_OF_RANGE]:"skills.compatibility.reason.hostVersionOutOfRange",[q.HOST_VERSION_UNKNOWN]:"skills.compatibility.reason.hostVersionUnknown",[q.RANGE_UNSUPPORTED]:"skills.compatibility.reason.rangeUnsupported"};function s(a){if("string"!=typeof a)return null;let b=a.trim();return 0===b.length||"0.0.0"===b||null===(0,p.IX)(b)?null:b}function t(a,b,c,d){return{status:a,reasonCode:b,messageKey:r[b],message:function(a,b,c){switch(a){case q.SATISFIED:return`CommandMate ${c} satisfies the required range "${b}".`;case q.HOST_VERSION_OUT_OF_RANGE:return`This Skill requires CommandMate "${b}", but CommandMate ${c} is running.`;case q.HOST_VERSION_UNKNOWN:return`The running CommandMate version could not be determined, so compatibility with "${b}" is unverified.`;case q.RANGE_UNSUPPORTED:return`This Skill declares the unsupported CommandMate version range "${b}", so compatibility is unverified.`}}(b,c,d),requiredRange:c,currentVersion:d}}function u(a,b){var c=a.compatibility.commandmate;let d="string"==typeof c?c:"";return(0,p.LE)(d)?null===b?t("unknown",q.HOST_VERSION_UNKNOWN,d,null):(0,p.Qk)(b,d)?t("compatible",q.SATISFIED,d,b):t("incompatible",q.HOST_VERSION_OUT_OF_RANGE,d,b):t("unknown",q.RANGE_UNSUPPORTED,d,b??null)}let v={CONFIRMED:"SKILL_AGENT_EVIDENCE_CONFIRMED",RESTRICTED:"SKILL_AGENT_EVIDENCE_RESTRICTED",STALE_DECLARATION:"SKILL_AGENT_EVIDENCE_STALE_DECLARATION",UNVERIFIED:"SKILL_AGENT_EVIDENCE_UNVERIFIED"},w={[v.CONFIRMED]:"skills.compatibility.verification.confirmed",[v.RESTRICTED]:"skills.compatibility.verification.restricted",[v.STALE_DECLARATION]:"skills.compatibility.verification.staleDeclaration",[v.UNVERIFIED]:"skills.compatibility.verification.unverified"},x={unsupported:0,unknown:1,commandmate_runtime:2,native:3};function y(a,b){return{axis:a,axisKey:e[a],outcome:b.outcome,outcomeKey:b.labelKey,evidenceKind:b.evidenceKind,evidenceKindKey:b.evidenceKindKey,limitationKey:b.limitationKey}}function z(a,b=new Date){return a.map(a=>(function(a,b){var c;let e=(c=a.agent,m.find(a=>a.agent===c)??null),f={agent:a.agent,evidence:a.evidence,declaredSupport:a.support,declaredLabelKey:d.Wy[a.support]};if(null===e||"not_measured"===e.discovery.evidenceKind)return{...f,support:a.support,labelKey:d.Wy[a.support],verification:v.UNVERIFIED,verificationKey:w[v.UNVERIFIED],measured:null,skipReasonKey:e?.skipReasonKey??null,reloadKey:e?.reloadKey??i.UNKNOWN};let{support:g,verification:h}=function(a,b){let c=x[a],d=x[b];return d<c?{support:b,verification:v.RESTRICTED}:d>c?{support:a,verification:v.STALE_DECLARATION}:{support:a,verification:v.CONFIRMED}}(a.support,function(a){switch(a.discovery.outcome){case"verified":return"native";case"unsupported":return"unsupported";case"unknown":return"unknown"}}(e));return{...f,support:g,labelKey:d.Wy[g],verification:h,verificationKey:w[h],measured:{discovery:y("discovery",e.discovery),invocation:y("invocation",e.invocation),discoveryRoots:[...e.discoveryRoots],testedVersion:e.testedVersion,testedDate:e.testedDate,evidenceSource:e.evidenceSource,ageDays:o(e,b),stale:function(a,b,c=180){let d=o(a,b);return null!==d&&d>c}(e,b)},skipReasonKey:null,reloadKey:e.reloadKey}})(a,b))}let A={HIGHEST_COMPATIBLE:"SKILL_RECOMMEND_HIGHEST_COMPATIBLE",LATEST_UNVERIFIED:"SKILL_RECOMMEND_LATEST_UNVERIFIED",NONE_COMPATIBLE:"SKILL_RECOMMEND_NONE_COMPATIBLE",NO_VERSIONS:"SKILL_RECOMMEND_NO_VERSIONS"};function B(a,b){let{currentVersion:c,includePrerelease:d=!1}=b,e=a.versions.map(a=>({version:a,prerelease:function(a){let b=(0,p.IX)(a);return null!==b&&b.prerelease.length>0}(a.version),compatibility:u(a,c)})).filter(a=>d||!a.prerelease).sort((a,b)=>(0,p.Cg)(b.version.version,a.version.version)??0);if(0===e.length)return{versions:e,recommended:null,reasonCode:A.NO_VERSIONS};let f=e.find(a=>"compatible"===a.compatibility.status);if(f)return{versions:e,recommended:f,reasonCode:A.HIGHEST_COMPATIBLE};if(null===c){let b=e.find(b=>b.version.version===a.latest)??e[0];return{versions:e,recommended:b,reasonCode:A.LATEST_UNVERIFIED}}return{versions:e,recommended:null,reasonCode:A.NONE_COMPATIBLE}}function C(a,b){return a.entries.find(a=>a.id===b)??null}},92328:(a,b,c)=>{c.d(b,{Ai:()=>i,En:()=>j,Jv:()=>f,Qs:()=>h,rt:()=>k});var d=c(10641),e=c(74505);function f(a){return{schemaVersion:a.catalog.schema_version,fetchedAt:a.fetchedAt,revalidatedAt:a.revalidatedAt,stale:a.stale,offline:a.offline,state:a.state,staleReason:a.staleReason,source:{...a.source}}}function g(a){let{version:b,prerelease:c,compatibility:d}=a;return{version:b.version,changelog:b.changelog,publishedAt:b.published_at,declaredRisk:b.declared_risk,prerelease:c,source:{repository:b.source.repository,ref:b.source.ref,commit:b.source.commit},artifact:{assetName:b.artifact.asset_name,sha256:b.artifact.sha256,size:b.artifact.size,format:b.artifact.format},compatibility:{commandmate:d,agents:(0,e.jE)(b.compatibility.agents)}}}function h(a,b){let c=(0,e.Ni)(a,{currentVersion:b.currentVersion,includePrerelease:b.includePrerelease}),d=a.versions.find(b=>b.version===a.latest),f=c.recommended?.compatibility??c.versions[0]?.compatibility??(d?(0,e.aJ)(d,b.currentVersion):null);return{id:a.id,name:a.name,summary:a.summary,provider:{...a.provider},license:a.license,homepage:a.homepage??null,keywords:a.keywords?[...a.keywords]:[],latest:a.latest,recommendedVersion:c.recommended?.version.version??null,recommendedReason:c.reasonCode,compatibility:f,versions:c.versions.map(g)}}let i={"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache"};function j(a,b,c){return d.NextResponse.json({error:b,code:a},{status:c,headers:i})}function k(a){return"true"===a.searchParams.get("prerelease")}},96210:(a,b,c)=>{c.d(b,{$K:()=>A,$Y:()=>O,$e:()=>v,AH:()=>T,AN:()=>u,B3:()=>m,BQ:()=>y,Co:()=>h,DA:()=>W,G0:()=>F,Gm:()=>J,Hx:()=>Q,JO:()=>Z,KH:()=>k,PB:()=>Y,S$:()=>w,SU:()=>H,UN:()=>D,Ue:()=>C,WL:()=>L,Wr:()=>l,Wy:()=>$,X0:()=>e,Xk:()=>K,Z4:()=>S,_Z:()=>I,a6:()=>q,b:()=>E,cj:()=>f,do:()=>X,em:()=>r,gI:()=>G,gJ:()=>p,h3:()=>M,jn:()=>o,jq:()=>d,kM:()=>g,l9:()=>t,mg:()=>U,mt:()=>P,q3:()=>x,qu:()=>V,t9:()=>z,td:()=>i,wD:()=>n,wI:()=>N,x2:()=>R,xP:()=>s,y2:()=>j,yV:()=>B});let d=1,e=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,f=64,g=["commandmate","system","con","prn","aux","nul","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"],h=".agents/skills",i=".claude/skills",j=[h,i],k="commandmate.skill.yaml",l="SKILL.md",m=".commandmate-staging",n=[l,k],o="tar.gz",p="application/gzip",q=0x1000000,r=4194304,s=500;function t(a,b){return`${a}-${b}.tar.gz`}let u=100,v=8,w=255,x=100,y=200,z=2e3,A=200,B=10,C=20,D=40,E=4e3,F=300,G=500,H=20,I=20,J=500,K=100,L={maxBytes:65536,maxDepth:16,maxNodes:5e3,maxScalarLength:8192,allowAliases:!1,allowCustomTags:!1,allowDuplicateKeys:!1,forbiddenKeys:["__proto__","constructor","prototype"]},M=["native","commandmate_runtime","unsupported","unknown"],N=["low","moderate","high"],O={low:0,moderate:1,high:2},P=["filesystem_read","filesystem_write","network_access","process_execution","environment_read","credential_access"],Q=["skill_md","instruction","script","asset"],R=/^[0-9a-f]{64}$/,S=/^[0-9a-f]{40}$/,T=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,U=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,99}$/,V=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/,W=/^[A-Za-z0-9][A-Za-z0-9.+-]{0,63}$/,X=/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$/,Y=/^(?:\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/,Z="https://",$={native:"skills.compatibility.native",commandmate_runtime:"skills.compatibility.commandmateRuntime",unsupported:"skills.compatibility.unsupported",unknown:"skills.compatibility.unknown"}}};
1
+ "use strict";exports.id=2328,exports.ids=[2328],exports.modules={36931:(a,b,c)=>{c.d(b,{BO:()=>f,Cg:()=>h,IX:()=>e,LE:()=>j,Qk:()=>k,l2:()=>d});let d=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;function e(a){if("string"!=typeof a||a.length>64)return null;let b=d.exec(a);return b?{major:Number(b[1]),minor:Number(b[2]),patch:Number(b[3]),prerelease:b[4]?b[4].split("."):[],build:b[5]?b[5].split("."):[]}:null}function f(a){return null!==e(a)}function g(a,b){return a.major!==b.major?a.major<b.major?-1:1:a.minor!==b.minor?a.minor<b.minor?-1:1:a.patch!==b.patch?a.patch<b.patch?-1:1:function(a,b){if(0===a.length&&0===b.length)return 0;if(0===a.length)return 1;if(0===b.length)return -1;let c=Math.min(a.length,b.length);for(let d=0;d<c;d++){let c=a[d],e=b[d];if(c===e)continue;let f=/^\d+$/.test(c),g=/^\d+$/.test(e);if(f&&g)return Number(c)<Number(e)?-1:1;if(f)return -1;if(g)return 1;return c<e?-1:1}return a.length===b.length?0:a.length<b.length?-1:1}(a.prerelease,b.prerelease)}function h(a,b){let c=e(a),d=e(b);return c&&d?g(c,d):null}function i(a){if("string"!=typeof a)return null;let b=a.trim();if(0===b.length||b.length>100||b.includes("||"))return null;let c=b.split(/\s+/);if(c.length>4)return null;let d=[];for(let a of c){let b=/^(>=|<=|>|<|=|\^|~)?(.+)$/.exec(a);if(!b)return null;let c=b[1]??"=",f=e(b[2]);if(!f)return null;if("^"===c||"~"===c){let a="^"===c?f.major>0?{major:f.major+1,minor:0,patch:0,prerelease:[],build:[]}:f.minor>0?{major:0,minor:f.minor+1,patch:0,prerelease:[],build:[]}:{major:0,minor:0,patch:f.patch+1,prerelease:[],build:[]}:{major:f.major,minor:f.minor+1,patch:0,prerelease:[],build:[]};d.push({operator:">=",version:f}),d.push({operator:"<",version:a});continue}d.push({operator:c,version:f})}return d.length>8?null:d}function j(a){return null!==i(a)}function k(a,b){let c=e(a),d=i(b);return!!c&&!!d&&(!(c.prerelease.length>0)||!!d.some(a=>{var b;return a.version.prerelease.length>0&&(b=a.version,c.major===b.major&&c.minor===b.minor&&c.patch===b.patch)}))&&d.every(a=>(function(a,b){let c=g(a,b.version);switch(b.operator){case"=":return 0===c;case">":return c>0;case">=":return c>=0;case"<":return c<0;case"<=":return c<=0}})(c,a))}},74505:(a,b,c)=>{c.d(b,{jE:()=>z,aJ:()=>u,su:()=>C,kI:()=>s,Ni:()=>B}),c(15194);var d=c(96210);let e={discovery:"skills.compatibility.axis.discovery",invocation:"skills.compatibility.axis.invocation"},f={verified:"skills.compatibility.axisOutcome.verified",unsupported:"skills.compatibility.axisOutcome.unsupported",unknown:"skills.compatibility.axisOutcome.unknown"},g={mechanical:"skills.compatibility.evidenceKind.mechanical",self_report:"skills.compatibility.evidenceKind.selfReport",not_measured:"skills.compatibility.evidenceKind.notMeasured"},h={outcome:"unknown",evidenceKind:"not_measured",labelKey:f.unknown,evidenceKindKey:g.not_measured,limitationKey:null},i={SESSION_RESTART:"skills.compatibility.reload.sessionRestart",SESSION_RESTART_NO_SLASH:"skills.compatibility.reload.sessionRestartNoSlash",UNKNOWN:"skills.compatibility.reload.unknown"},j="https://github.com/Kewton/CommandMate/issues/1513#issuecomment-5083878264",k="2026-07-26";function l(a){return{agent:a,discoveryRoots:[],discovery:h,invocation:h,testedVersion:null,testedDate:null,evidenceSource:null,reloadKey:i.UNKNOWN,skipReasonKey:"skills.compatibility.skipReason.notMeasured"}}let m=[{agent:"claude",discoveryRoots:[d.td],discovery:{outcome:"verified",evidenceKind:"mechanical",labelKey:f.verified,evidenceKindKey:g.mechanical,limitationKey:null},invocation:{outcome:"verified",evidenceKind:"mechanical",labelKey:f.verified,evidenceKindKey:g.mechanical,limitationKey:null},testedVersion:"2.1.220",testedDate:k,evidenceSource:j,reloadKey:i.SESSION_RESTART,skipReasonKey:null},{agent:"codex",discoveryRoots:[d.Co],discovery:{outcome:"verified",evidenceKind:"self_report",labelKey:f.verified,evidenceKindKey:g.self_report,limitationKey:null},invocation:{outcome:"unsupported",evidenceKind:"mechanical",labelKey:f.unsupported,evidenceKindKey:g.mechanical,limitationKey:"skills.compatibility.limitation.noSlashCommand"},testedVersion:"0.145.0",testedDate:k,evidenceSource:j,reloadKey:i.SESSION_RESTART_NO_SLASH,skipReasonKey:null},l("gemini"),l("vibe-local"),l("opencode"),l("copilot"),l("antigravity")],n=/^\d{4}-\d{2}-\d{2}$/;function o(a,b){if(null===a.testedDate||!n.test(a.testedDate))return null;let c=Date.parse(`${a.testedDate}T00:00:00Z`),d=b.getTime();return Number.isNaN(c)||Number.isNaN(d)?null:Math.max(0,Math.floor((d-c)/864e5))}var p=c(36931);let q={SATISFIED:"SKILL_COMPAT_SATISFIED",HOST_VERSION_OUT_OF_RANGE:"SKILL_COMPAT_HOST_VERSION_OUT_OF_RANGE",HOST_VERSION_UNKNOWN:"SKILL_COMPAT_HOST_VERSION_UNKNOWN",RANGE_UNSUPPORTED:"SKILL_COMPAT_RANGE_UNSUPPORTED"},r={[q.SATISFIED]:"skills.compatibility.reason.satisfied",[q.HOST_VERSION_OUT_OF_RANGE]:"skills.compatibility.reason.hostVersionOutOfRange",[q.HOST_VERSION_UNKNOWN]:"skills.compatibility.reason.hostVersionUnknown",[q.RANGE_UNSUPPORTED]:"skills.compatibility.reason.rangeUnsupported"};function s(a){if("string"!=typeof a)return null;let b=a.trim();return 0===b.length||"0.0.0"===b||null===(0,p.IX)(b)?null:b}function t(a,b,c,d){return{status:a,reasonCode:b,messageKey:r[b],message:function(a,b,c){switch(a){case q.SATISFIED:return`CommandMate ${c} satisfies the required range "${b}".`;case q.HOST_VERSION_OUT_OF_RANGE:return`This Skill requires CommandMate "${b}", but CommandMate ${c} is running.`;case q.HOST_VERSION_UNKNOWN:return`The running CommandMate version could not be determined, so compatibility with "${b}" is unverified.`;case q.RANGE_UNSUPPORTED:return`This Skill declares the unsupported CommandMate version range "${b}", so compatibility is unverified.`}}(b,c,d),requiredRange:c,currentVersion:d}}function u(a,b){var c=a.compatibility.commandmate;let d="string"==typeof c?c:"";return(0,p.LE)(d)?null===b?t("unknown",q.HOST_VERSION_UNKNOWN,d,null):(0,p.Qk)(b,d)?t("compatible",q.SATISFIED,d,b):t("incompatible",q.HOST_VERSION_OUT_OF_RANGE,d,b):t("unknown",q.RANGE_UNSUPPORTED,d,b??null)}let v={CONFIRMED:"SKILL_AGENT_EVIDENCE_CONFIRMED",RESTRICTED:"SKILL_AGENT_EVIDENCE_RESTRICTED",STALE_DECLARATION:"SKILL_AGENT_EVIDENCE_STALE_DECLARATION",UNVERIFIED:"SKILL_AGENT_EVIDENCE_UNVERIFIED"},w={[v.CONFIRMED]:"skills.compatibility.verification.confirmed",[v.RESTRICTED]:"skills.compatibility.verification.restricted",[v.STALE_DECLARATION]:"skills.compatibility.verification.staleDeclaration",[v.UNVERIFIED]:"skills.compatibility.verification.unverified"},x={unsupported:0,unknown:1,commandmate_runtime:2,native:3};function y(a,b){return{axis:a,axisKey:e[a],outcome:b.outcome,outcomeKey:b.labelKey,evidenceKind:b.evidenceKind,evidenceKindKey:b.evidenceKindKey,limitationKey:b.limitationKey}}function z(a,b=new Date){return a.map(a=>(function(a,b){var c;let e=(c=a.agent,m.find(a=>a.agent===c)??null),f={agent:a.agent,evidence:a.evidence,declaredSupport:a.support,declaredLabelKey:d.Wy[a.support]};if(null===e||"not_measured"===e.discovery.evidenceKind)return{...f,support:a.support,labelKey:d.Wy[a.support],verification:v.UNVERIFIED,verificationKey:w[v.UNVERIFIED],measured:null,skipReasonKey:e?.skipReasonKey??null,reloadKey:e?.reloadKey??i.UNKNOWN};let{support:g,verification:h}=function(a,b){let c=x[a],d=x[b];return d<c?{support:b,verification:v.RESTRICTED}:d>c?{support:a,verification:v.STALE_DECLARATION}:{support:a,verification:v.CONFIRMED}}(a.support,function(a){switch(a.discovery.outcome){case"verified":return"native";case"unsupported":return"unsupported";case"unknown":return"unknown"}}(e));return{...f,support:g,labelKey:d.Wy[g],verification:h,verificationKey:w[h],measured:{discovery:y("discovery",e.discovery),invocation:y("invocation",e.invocation),discoveryRoots:[...e.discoveryRoots],testedVersion:e.testedVersion,testedDate:e.testedDate,evidenceSource:e.evidenceSource,ageDays:o(e,b),stale:function(a,b,c=180){let d=o(a,b);return null!==d&&d>c}(e,b)},skipReasonKey:null,reloadKey:e.reloadKey}})(a,b))}let A={HIGHEST_COMPATIBLE:"SKILL_RECOMMEND_HIGHEST_COMPATIBLE",LATEST_UNVERIFIED:"SKILL_RECOMMEND_LATEST_UNVERIFIED",NONE_COMPATIBLE:"SKILL_RECOMMEND_NONE_COMPATIBLE",NO_VERSIONS:"SKILL_RECOMMEND_NO_VERSIONS"};function B(a,b){let{currentVersion:c,includePrerelease:d=!1}=b,e=a.versions.map(a=>({version:a,prerelease:function(a){let b=(0,p.IX)(a);return null!==b&&b.prerelease.length>0}(a.version),compatibility:u(a,c)})).filter(a=>d||!a.prerelease).sort((a,b)=>(0,p.Cg)(b.version.version,a.version.version)??0);if(0===e.length)return{versions:e,recommended:null,reasonCode:A.NO_VERSIONS};let f=e.find(a=>"compatible"===a.compatibility.status);if(f)return{versions:e,recommended:f,reasonCode:A.HIGHEST_COMPATIBLE};if(null===c){let b=e.find(b=>b.version.version===a.latest)??e[0];return{versions:e,recommended:b,reasonCode:A.LATEST_UNVERIFIED}}return{versions:e,recommended:null,reasonCode:A.NONE_COMPATIBLE}}function C(a,b){return a.entries.find(a=>a.id===b)??null}},92328:(a,b,c)=>{c.d(b,{Ai:()=>i,En:()=>j,Jv:()=>f,Qs:()=>h,rt:()=>k});var d=c(10641),e=c(74505);function f(a){return{schemaVersion:a.catalog.schema_version,fetchedAt:a.fetchedAt,revalidatedAt:a.revalidatedAt,stale:a.stale,offline:a.offline,state:a.state,staleReason:a.staleReason,source:{...a.source}}}function g(a){let{version:b,prerelease:c,compatibility:d}=a;return{version:b.version,changelog:b.changelog,publishedAt:b.published_at,declaredRisk:b.declared_risk,prerelease:c,source:{repository:b.source.repository,ref:b.source.ref,commit:b.source.commit},artifact:{assetName:b.artifact.asset_name,sha256:b.artifact.sha256,size:b.artifact.size,format:b.artifact.format},compatibility:{commandmate:d,agents:(0,e.jE)(b.compatibility.agents)}}}function h(a,b){let c=(0,e.Ni)(a,{currentVersion:b.currentVersion,includePrerelease:b.includePrerelease}),d=a.versions.find(b=>b.version===a.latest),f=c.recommended?.compatibility??c.versions[0]?.compatibility??(d?(0,e.aJ)(d,b.currentVersion):null);return{id:a.id,name:a.name,summary:a.summary,provider:{...a.provider},license:a.license,homepage:a.homepage??null,keywords:a.keywords?[...a.keywords]:[],latest:a.latest,recommendedVersion:c.recommended?.version.version??null,recommendedReason:c.reasonCode,compatibility:f,versions:c.versions.map(g)}}let i={"Cache-Control":"no-store, no-cache, must-revalidate",Pragma:"no-cache"};function j(a,b,c){return d.NextResponse.json({error:b,code:a},{status:c,headers:i})}function k(a){return"true"===a.searchParams.get("prerelease")}},96210:(a,b,c)=>{c.d(b,{$K:()=>B,$Y:()=>P,$e:()=>w,AH:()=>U,AN:()=>v,B3:()=>n,BQ:()=>z,Co:()=>h,DA:()=>X,G0:()=>G,Gm:()=>K,Hx:()=>R,JO:()=>$,KH:()=>l,PB:()=>Z,S$:()=>x,SU:()=>I,UN:()=>E,Ue:()=>D,WL:()=>M,Wr:()=>m,Wy:()=>_,X0:()=>e,Xk:()=>L,Z4:()=>T,_Z:()=>J,a6:()=>r,b:()=>F,cj:()=>f,do:()=>Y,em:()=>s,gI:()=>H,gJ:()=>q,h3:()=>N,jn:()=>p,jq:()=>d,kM:()=>g,l9:()=>u,mg:()=>V,mt:()=>Q,pg:()=>k,q3:()=>y,qu:()=>W,t9:()=>A,td:()=>i,wD:()=>o,wI:()=>O,x2:()=>S,xP:()=>t,y2:()=>j,yV:()=>C});let d=1,e=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,f=64,g=["commandmate","system","con","prn","aux","nul","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"],h=".agents/skills",i=".claude/skills",j=[h,i],k=h,l="commandmate.skill.yaml",m="SKILL.md",n=".commandmate-staging",o=[m,l],p="tar.gz",q="application/gzip",r=0x1000000,s=4194304,t=500;function u(a,b){return`${a}-${b}.tar.gz`}let v=100,w=8,x=255,y=100,z=200,A=2e3,B=200,C=10,D=20,E=40,F=4e3,G=300,H=500,I=20,J=20,K=500,L=100,M={maxBytes:65536,maxDepth:16,maxNodes:5e3,maxScalarLength:8192,allowAliases:!1,allowCustomTags:!1,allowDuplicateKeys:!1,forbiddenKeys:["__proto__","constructor","prototype"]},N=["native","commandmate_runtime","unsupported","unknown"],O=["low","moderate","high"],P={low:0,moderate:1,high:2},Q=["filesystem_read","filesystem_write","network_access","process_execution","environment_read","credential_access"],R=["skill_md","instruction","script","asset"],S=/^[0-9a-f]{64}$/,T=/^[0-9a-f]{40}$/,U=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,V=/^[A-Za-z0-9][A-Za-z0-9._/-]{0,99}$/,W=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/,X=/^[A-Za-z0-9][A-Za-z0-9.+-]{0,63}$/,Y=/^[a-zA-Z0-9][a-zA-Z0-9._-]{0,63}$/,Z=/^(?:\*\.)?(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/,$="https://",_={native:"skills.compatibility.native",commandmate_runtime:"skills.compatibility.commandmateRuntime",unsupported:"skills.compatibility.unsupported",unknown:"skills.compatibility.unknown"}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2546,exports.ids=[2546],exports.modules={4548:(a,b,c)=>{c.d(b,{TW:()=>i,uu:()=>o}),c(55511);var d=c(29021);c(33873),c(7956);var e=c(75359),f=c(93356),g=c(55927),h=c(44440);d.constants.O_NOFOLLOW;let i=[".bash",".bat",".cjs",".cmd",".fish",".js",".lua",".mjs",".php",".pl",".ps1",".py",".rb",".sh",".ts",".zsh"],j=[".md",".markdown",".rst",".txt"];function k(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return c<=0?"":b.slice(c).toLowerCase()}function l(a,b){return!!i.includes(k(a))||b.length>=2&&35===b[0]&&33===b[1]}function m(a,b){throw new g.Om(a,b)}function n(a,b){return a.files.find(a=>a.path===b)}function o(a,b){return function(a,b){let c;for(let b of e.wD)n(a,b)||m(g.xC.LAYOUT_INVALID,{reason:"missing-required-entry",entry:b});let d=function(a){let b,c=n(a,e.KH);for(let b of(c||m(g.xC.MANIFEST_MISSING,{reason:"absent"}),a.files))b.path!==e.KH&&b.path.endsWith(`/${e.KH}`)&&m(g.xC.LAYOUT_INVALID,{reason:"nested-manifest",entry:(0,g.FC)(b.path)});try{b=(0,h.an)(c.bytes)}catch(a){throw(0,h.pg)(a)&&m(g.xC.MANIFEST_INVALID,{reason:a.code}),a}let d=(0,e.bX)(b);if(!d.ok){let a=d.errors[0];m(g.xC.MANIFEST_INVALID,{reason:a.code,field:a.path})}return d.value}(a);d.id!==b.skillId&&m(g.xC.MANIFEST_MISMATCH,{reason:"id"}),d.version!==b.version&&m(g.xC.MANIFEST_MISMATCH,{reason:"version"});let i=n(a,e.Wr);i||m(g.xC.SKILL_MD_INVALID,{reason:"absent"});try{c=(0,h.pM)(Buffer.from(i.bytes).toString("utf8"))}catch(a){throw(0,h.pg)(a)&&m(g.xC.SKILL_MD_INVALID,{reason:a.code}),a}(null===c||"object"!=typeof c||Array.isArray(c))&&m(g.xC.SKILL_MD_INVALID,{reason:"frontmatter-missing"});let o=c.name;"string"!=typeof o&&m(g.xC.SKILL_MD_INVALID,{reason:"frontmatter-name-missing"});let p=(0,e.EU)({directoryName:d.id,skillMdName:o,manifestId:d.id,manifestName:d.name});p.ok||m(g.xC.SKILL_MD_INVALID,{reason:p.errors[0].code});let q=(0,e.Yz)(d,a.files.map(a=>a.path));if(!q.ok){let a=q.errors[0];m(g.xC.MANIFEST_MISMATCH,{reason:a.message,entry:(0,g.FC)(String(a.detail?.path??""))})}for(let b of a.files)b.path!==e.KH&&function(a,b){var c,d;let h=b.files.find(b=>b.path===a.path);h||m(g.xC.MANIFEST_MISMATCH,{reason:"undeclared-file",entry:(0,g.FC)(a.path)});let i={entry:(0,g.FC)(a.path)};h.size!==a.size&&m(g.xC.SIZE_MISMATCH,i),(0,f.U2)(h.sha256,a.sha256)||m(g.xC.DIGEST_MISMATCH,i);let n=(c=a.path,d=a.bytes,c===e.Wr?"skill_md":l(c,d)?"script":j.includes(k(c))?"instruction":"asset");l(a.path,a.bytes)&&(!h.script||"script"!==h.kind)&&m(g.xC.UNDECLARED_SCRIPT,i),"script"!==h.kind||h.script||m(g.xC.MANIFEST_MISMATCH,{...i,reason:"kind-script-not-declared"}),"skill_md"===n!=("skill_md"===h.kind)&&m(g.xC.MANIFEST_MISMATCH,{...i,reason:"kind-mismatch"}),a.executable&&!h.executable&&m(g.xC.UNDECLARED_EXECUTABLE,i),!a.executable&&h.executable&&m(g.xC.MANIFEST_MISMATCH,{...i,reason:"executable-not-present"})}(b,d);let r={executable_paths:d.files.filter(a=>a.executable).map(a=>a.path).sort(),script_paths:d.files.filter(a=>a.script).map(a=>a.path).sort(),network_hosts:[...d.requirements.network_hosts],declared_permissions:[...d.declared_permissions]},s=(0,e.MD)(r),t=new Map(a.files.map(a=>[a.path,a.bytes])),u=a.files.map(a=>({path:a.path,sha256:a.sha256,size:a.size,executable:a.executable})).sort((a,b)=>a.path<b.path?-1:+(a.path>b.path));return Object.freeze({skillId:b.skillId,version:b.version,manifest:d,files:Object.freeze(u),directories:Object.freeze([...a.directories].sort()),inspection:Object.freeze(r),declaredRisk:d.declared_risk,computedRisk:s,effectiveRisk:(0,e.qZ)(d.declared_risk,s),readFile(a){let b=t.get(a);return b||m(g.xC.MANIFEST_MISMATCH,{reason:"unknown-file",entry:(0,g.FC)(a)}),new Uint8Array(b)}})}((0,g.qt)(a,b),b)}},55927:(a,b,c)=>{c.d(b,{FC:()=>l,Om:()=>j,qt:()=>q,uI:()=>k,xC:()=>g});var d=c(74075),e=c(75359),f=c(93356);let g={ARCHIVE_FORMAT:"SKILL_PACKAGE_ARCHIVE_FORMAT",ARCHIVE_TRUNCATED:"SKILL_PACKAGE_ARCHIVE_TRUNCATED",ENTRY_TYPE_FORBIDDEN:"SKILL_PACKAGE_ENTRY_TYPE_FORBIDDEN",ENTRY_PATH_UNSAFE:"SKILL_PACKAGE_ENTRY_PATH_UNSAFE",ENTRY_DUPLICATE:"SKILL_PACKAGE_ENTRY_DUPLICATE",ENTRY_COLLISION:"SKILL_PACKAGE_ENTRY_COLLISION",ENTRY_MODE_FORBIDDEN:"SKILL_PACKAGE_ENTRY_MODE_FORBIDDEN",ENTRY_LIMIT_EXCEEDED:"SKILL_PACKAGE_ENTRY_LIMIT_EXCEEDED",SIZE_LIMIT_EXCEEDED:"SKILL_PACKAGE_SIZE_LIMIT_EXCEEDED",COMPRESSION_RATIO_EXCEEDED:"SKILL_PACKAGE_COMPRESSION_RATIO_EXCEEDED",LAYOUT_INVALID:"SKILL_PACKAGE_LAYOUT_INVALID",MANIFEST_MISSING:"SKILL_PACKAGE_MANIFEST_MISSING",MANIFEST_INVALID:"SKILL_PACKAGE_MANIFEST_INVALID",MANIFEST_MISMATCH:"SKILL_PACKAGE_MANIFEST_MISMATCH",UNDECLARED_EXECUTABLE:"SKILL_PACKAGE_UNDECLARED_EXECUTABLE",UNDECLARED_SCRIPT:"SKILL_PACKAGE_UNDECLARED_SCRIPT",DIGEST_MISMATCH:"SKILL_PACKAGE_DIGEST_MISMATCH",SIZE_MISMATCH:"SKILL_PACKAGE_SIZE_MISMATCH",SKILL_MD_INVALID:"SKILL_PACKAGE_SKILL_MD_INVALID",STAGING_IO:"SKILL_PACKAGE_STAGING_IO",ABORTED:"SKILL_PACKAGE_ABORTED"},h={[g.ARCHIVE_FORMAT]:"archive",[g.ARCHIVE_TRUNCATED]:"archive",[g.ENTRY_TYPE_FORBIDDEN]:"path",[g.ENTRY_PATH_UNSAFE]:"path",[g.ENTRY_DUPLICATE]:"path",[g.ENTRY_COLLISION]:"path",[g.ENTRY_MODE_FORBIDDEN]:"path",[g.ENTRY_LIMIT_EXCEEDED]:"limit",[g.SIZE_LIMIT_EXCEEDED]:"limit",[g.COMPRESSION_RATIO_EXCEEDED]:"limit",[g.LAYOUT_INVALID]:"manifest",[g.MANIFEST_MISSING]:"manifest",[g.MANIFEST_INVALID]:"manifest",[g.MANIFEST_MISMATCH]:"manifest",[g.UNDECLARED_EXECUTABLE]:"manifest",[g.UNDECLARED_SCRIPT]:"manifest",[g.DIGEST_MISMATCH]:"integrity",[g.SIZE_MISMATCH]:"integrity",[g.SKILL_MD_INVALID]:"manifest",[g.STAGING_IO]:"staging",[g.ABORTED]:"staging"},i={[g.ARCHIVE_FORMAT]:"Skill package is not a readable tar.gz archive",[g.ARCHIVE_TRUNCATED]:"Skill package archive is truncated",[g.ENTRY_TYPE_FORBIDDEN]:"Skill package contains a forbidden entry type",[g.ENTRY_PATH_UNSAFE]:"Skill package contains an unsafe entry path",[g.ENTRY_DUPLICATE]:"Skill package declares the same entry twice",[g.ENTRY_COLLISION]:"Skill package contains colliding entry paths",[g.ENTRY_MODE_FORBIDDEN]:"Skill package entry carries forbidden mode bits",[g.ENTRY_LIMIT_EXCEEDED]:"Skill package contains too many entries",[g.SIZE_LIMIT_EXCEEDED]:"Skill package exceeds a size limit",[g.COMPRESSION_RATIO_EXCEEDED]:"Skill package decompression ratio exceeds the limit",[g.LAYOUT_INVALID]:"Skill package layout does not match the contract",[g.MANIFEST_MISSING]:"Skill package manifest is missing or misplaced",[g.MANIFEST_INVALID]:"Skill package manifest is not valid",[g.MANIFEST_MISMATCH]:"Skill package manifest does not match the package",[g.UNDECLARED_EXECUTABLE]:"Skill package contains an undeclared executable",[g.UNDECLARED_SCRIPT]:"Skill package contains an undeclared script",[g.DIGEST_MISMATCH]:"Skill package file digest does not match the manifest",[g.SIZE_MISMATCH]:"Skill package file size does not match the manifest",[g.SKILL_MD_INVALID]:"Skill package SKILL.md is missing or inconsistent",[g.STAGING_IO]:"Skill package staging could not be prepared",[g.ABORTED]:"Skill package processing was aborted"};class j extends Error{constructor(a,b){super(i[a]),this.name="SkillPackageError",this.code=a,this.category=h[a],b&&(this.detail=b)}}function k(a){return a instanceof j}function l(a){let b=a.replace(/[^A-Za-z0-9._/-]/g,a=>[...a].map(a=>`%${a.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`).join(""));return b.length>120?`${b.slice(0,120)}…`:b}function m(a,b){throw new j(a,b)}let n=new Set(["0","\0"]);function o(a,b,c){let d=a.subarray(b,b+c),e=d.indexOf(0);-1===e&&(e=d.length);for(let a=e;a<d.length;a++)0!==d[a]&&m(g.ARCHIVE_FORMAT,{field:"padding"});let f=Buffer.from(d.subarray(0,e)),h=f.toString("utf8");return Buffer.from(h,"utf8").equals(f)||m(g.ARCHIVE_FORMAT,{field:"encoding"}),h}function p(a,b,c){(128&a[b])!=0&&m(g.ARCHIVE_FORMAT,{field:"numeric-encoding"});let d="";for(let e=b;e<b+c;e++){let b=a[e];0!==b&&32!==b&&((b<48||b>55)&&m(g.ARCHIVE_FORMAT,{field:"numeric"}),d+=String.fromCharCode(b))}if(""===d)return 0;let e=parseInt(d,8);return Number.isSafeInteger(e)||m(g.ARCHIVE_FORMAT,{field:"numeric-range"}),e}function q(a,b){let c;(a.byteLength<2||31!==a[0]||139!==a[1])&&m(g.ARCHIVE_FORMAT,{field:"gzip-magic"});try{c=(0,d.gunzipSync)(a,{maxOutputLength:0x4000000})}catch(a){"ERR_BUFFER_TOO_LARGE"===a?.code&&m(g.SIZE_LIMIT_EXCEEDED,{limit:0x4000000}),m(g.ARCHIVE_FORMAT,{field:"gzip"})}c.byteLength>1048576&&c.byteLength/a.byteLength>200&&m(g.COMPRESSION_RATIO_EXCEEDED,{limit:200});let h=(function(a){(0===a.byteLength||a.byteLength%512!=0)&&m(g.ARCHIVE_TRUNCATED,{field:"alignment"});let b=[],c=0;for(;c+512<=a.byteLength;){let d=a.subarray(c,c+512);if(function(a){for(let b=0;b<a.length;b++)if(0!==a[b])return!1;return!0}(d)){for(let b=c;b<a.byteLength;b++)0!==a[b]&&m(g.ARCHIVE_FORMAT,{field:"trailer"});return b}!function(a,b){let c=0,d=0;for(let b=0;b<512;b++){let e=b>=148&&b<156?32:a[b];c+=e,d+=e>127?e-256:e}b!==c&&b!==d&&m(g.ARCHIVE_FORMAT,{field:"checksum"})}(d,p(d,148,8)),"ustar"!==o(d,257,6).trim()&&m(g.ARCHIVE_FORMAT,{field:"magic"});let f=o(d,156,1)||"\0",h="5"===f;h||n.has(f)||m(g.ENTRY_TYPE_FORBIDDEN,{typeflag:l(f)}),""!==o(d,157,100)&&m(g.ENTRY_TYPE_FORBIDDEN,{typeflag:"link"});let i=p(d,100,8);(3584&i)!=0&&m(g.ENTRY_MODE_FORBIDDEN,{bits:(3584&i).toString(8)});let j=o(d,345,155),k=o(d,0,100),q=""===j?k:`${j}/${k}`,r=p(d,124,12);h&&0!==r&&m(g.ARCHIVE_FORMAT,{field:"directory-size"}),r>e.em&&m(g.SIZE_LIMIT_EXCEEDED,{limit:e.em});let s=c+512,t=s+r;t>a.byteLength&&m(g.ARCHIVE_TRUNCATED),b.push({name:q,isDirectory:h,mode:i,size:r,bytes:h?new Uint8Array(0):a.subarray(s,t)}),b.length>1e3&&m(g.ENTRY_LIMIT_EXCEEDED,{limit:1e3}),c=s+512*Math.ceil(r/512)}return m(g.ARCHIVE_TRUNCATED,{field:"trailer"})})(c).map(a=>({entry:a,...function(a){let b=a;b.startsWith("./")&&(b=b.slice(2));let c=b.endsWith("/");return c&&(b=b.slice(0,-1)),""===b&&m(g.ENTRY_PATH_UNSAFE,{reason:"empty"}),{path:b,trailingSlash:c}}(a.name)})),i=function(a,b){let c=[b.skillId,`${b.skillId}-${b.version}`],d=new Set(a.map(a=>a.split("/")[0]));if(1!==d.size)return null;let e=[...d][0];return a.some(a=>a.startsWith(`${e}/`))?(c.includes(e)||m(g.LAYOUT_INVALID,{reason:"root-directory",entry:l(e)}),e):null}(h.map(a=>a.path),b),j=[],k=[],q=new Map,r=new Map,s=0;for(let a of h){let b=a.path;if(null!==i){if(b===i)continue;b=b.slice(i.length+1)}let c=a.entry.isDirectory||a.trailingSlash,d=(0,e.r5)(b,"/entry");d.ok||m(g.ENTRY_PATH_UNSAFE,{entry:l(b),reason:d.errors[0].message}),q.has(b)&&m(g.ENTRY_DUPLICATE,{entry:l(b)});let h=b.split("/").map(a=>(0,e.vy)(a)).join("/");if(void 0!==r.get(h)&&m(g.ENTRY_COLLISION,{entry:l(b)}),q.set(b,c),r.set(h,b),c){k.push(b);continue}(s+=a.entry.size)>0x4000000&&m(g.SIZE_LIMIT_EXCEEDED,{limit:0x4000000});let n=new Uint8Array(a.entry.bytes);j.push({path:b,size:a.entry.size,sha256:(0,f.Q_)(n),executable:(73&a.entry.mode)!=0,bytes:n})}for(let a of(j.filter(a=>a.path!==e.KH).length>e.xP&&m(g.ENTRY_LIMIT_EXCEEDED,{limit:e.xP}),k))j.some(b=>b.path===a)&&m(g.ENTRY_DUPLICATE,{entry:l(a)});for(let a of j){let b=a.path.split("/").slice(0,-1),c="";for(let d of b)c=""===c?d:`${c}/${d}`,j.some(a=>a.path===c)&&m(g.ENTRY_PATH_UNSAFE,{entry:l(a.path),reason:"parent-is-file"})}return{rootName:i,files:j,directories:k,compressedSize:a.byteLength,decompressedSize:c.byteLength}}},56791:(a,b,c)=>{c.d(b,{ACU:()=>d.AC,Tu1:()=>d.Tu,ug3:()=>d.ug,ePp:()=>d.eP,mgu:()=>d.mg,lmQ:()=>d.lm,afR:()=>d.af,KG7:()=>d.KG,cDg:()=>d.cD,Jj_:()=>d.Jj,YXK:()=>d.YX,G4M:()=>d.G4,hLV:()=>d.hL,qpu:()=>d.qp,hlF:()=>d.hl,ToT:()=>d.To,oHS:()=>d.oH,UTO:()=>d.UT,pyp:()=>d.py,rYZ:()=>d.rY,yyF:()=>d.yy,pEA:()=>d.pE,z2r:()=>d.z2,cPO:()=>d.cP,DFh:()=>d.DF,lAn:()=>d.lA,QpU:()=>d.Qp,thF:()=>d.th,oZb:()=>d.oZ,ZPM:()=>d.ZP,YsC:()=>d.Ys,vgV:()=>d.vg,Rm5:()=>d.Rm,C81:()=>d.C8,u$7:()=>d.u$,MHq:()=>d.MH,BN2:()=>d.BN,m0H:()=>d.m0,r3d:()=>d.r3,TkM:()=>d.Tk,fXo:()=>d.fX,nO1:()=>d.nO,SjY:()=>d.Sj,iTB:()=>d.iT,gpF:()=>d.gp,yEE:()=>d.yE,BEB:()=>d.BE,qKv:()=>d.qK,p41:()=>d.p4,r8U:()=>d.r8,of8:()=>d.of,DNF:()=>d.DN,pZp:()=>d.pZ,kAO:()=>d.kA,VLK:()=>d.VL,CFc:()=>d.CF,NVZ:()=>d.NV,ceo:()=>d.ce,WZv:()=>d.WZ,y1O:()=>d.y1,ggW:()=>d.gg,NrL:()=>d.Nr,obI:()=>d.ob,frO:()=>d.fr,J6l:()=>d.J6,Uim:()=>d.Ui,P99:()=>d.P9,eNI:()=>d.eN,vil:()=>d.vi,uJp:()=>d.uJ,yTo:()=>d.yT,VkA:()=>d.Vk,Mt$:()=>d.Mt,UE1:()=>d.UE,PLg:()=>d.PL,jpM:()=>d.jp,pGL:()=>d.pG,nQM:()=>d.nQ,ybN:()=>d.yb,GAi:()=>d.GA,Cs6:()=>d.Cs,xRr:()=>d.xR,azd:()=>d.az,nZD:()=>d.nZ,PPl:()=>d.PP,DxD:()=>d.Dx,OaR:()=>d.O,EU4:()=>d.EU,HZx:()=>d.HZ,UYU:()=>d.UY,cwY:()=>d.cw,jJB:()=>d.jJ,DCX:()=>d.DC,PPx:()=>d.gb,yBd:()=>d.yB,uy0:()=>d.uy,sal:()=>d.s,ium:()=>d.iu,hqe:()=>d.hq,z1g:()=>d.z1,blx:()=>d.bl,jAi:()=>d.jA,ZL2:()=>d.ZL});var d=c(90444);c(88807),c(72456),c(20416),c(10406),c(29021),c(33873),c(21820),c(7956),(0,c(72626).h)("db-migration-path")},66007:(a,b,c)=>{c.d(b,{B9:()=>m,Px:()=>o,Uc:()=>l,b$:()=>n,h6:()=>k});var d=c(33873),e=c.n(d),f=c(29021),g=c(72626),h=c(80438);let i=(0,g.h)("path-validator"),j=/^[a-zA-Z0-9_-]+$/;function k(a){return!!a&&0!==a.length&&j.test(a)}function l(a,b){return a===b||a.startsWith(b+e().sep)}function m(a,b){if(!a||""===a.trim()||a.includes("\0"))return!1;let c=a;try{c=decodeURIComponent(a)}catch{c=a}if(c.includes("\0"))return!1;let d=e().resolve(b),f=e().resolve(b,c),g=e().relative(d,f);return!(g.startsWith("..")||e().isAbsolute(g))}function n(a,b){if(!a||""===a.trim())throw Error("Invalid path: Path cannot be empty");if(a.includes("\0"))throw Error("Invalid path: Null bytes not allowed");if(!m(a,b))throw Error(`Path is outside allowed directory: ${a} (allowed root: ${b})`);let c=a;try{c=decodeURIComponent(a)}catch{c=a}return e().resolve(b,c)}function o(a,b){let c;try{c=(0,f.realpathSync)(b)}catch{return!1}let d=e().resolve(b,a);if((0,f.existsSync)(d))try{let b=(0,f.realpathSync)(d),e=l(b,c);return e||(0,h.h)(i,"symlink-rejected",{targetPath:a,resolvedTarget:b}),e}catch{return!1}try{if((0,f.lstatSync)(d).isSymbolicLink())try{let b=(0,f.readlinkSync)(d),g=e().resolve(e().dirname(d),b),j=l(g,c);return j||(0,h.h)(i,"dangling-symlink-rejected",{targetPath:a,resolvedLinkTarget:g}),j}catch{return!1}}catch{}let g=e().dirname(d);for(;g!==e().dirname(g);){if((0,f.existsSync)(g))try{let a=(0,f.realpathSync)(g),b=l(a,c);return b||(0,h.h)(i,"symlink-ancestor-rejected",{currentPath:g,resolvedAncestor:a}),b}catch{break}g=e().dirname(g)}return!1}},80438:(a,b,c)=>{c.d(b,{h:()=>d});function d(a,b,c){a.warn(`security:${b}`,c)}},82484:(a,b,c)=>{c.d(b,{E4:()=>y,QY:()=>r,Sw:()=>C,cl:()=>z,jY:()=>t,ne:()=>w});var d=c(55511),e=c(33873),f=c.n(e),g=c(96210),h=c(93356),i=c(52710),j=c(33095),k=c(1185),l=c(89936),m=c(4548),n=c(36931);let o={LOCAL_CHANGES:"SKILL_UPDATE_LOCAL_CHANGES",ROOT_MISSING:"SKILL_UPDATE_ROOT_MISSING",RECEIPT_MISSING:"SKILL_UPDATE_RECEIPT_MISSING",RECEIPT_UNREADABLE:"SKILL_UPDATE_RECEIPT_UNREADABLE",RECEIPT_FOREIGN:"SKILL_UPDATE_RECEIPT_FOREIGN",ROOT_RECEIPT_DIVERGED:"SKILL_UPDATE_ROOT_RECEIPT_DIVERGED",TREE_SCAN_TRUNCATED:"SKILL_UPDATE_TREE_SCAN_TRUNCATED",INCOMPATIBLE:"SKILL_UPDATE_INCOMPATIBLE"},p={[o.LOCAL_CHANGES]:"skills.update.blocked.localChanges",[o.ROOT_MISSING]:"skills.update.blocked.rootMissing",[o.RECEIPT_MISSING]:"skills.update.blocked.receiptMissing",[o.RECEIPT_UNREADABLE]:"skills.update.blocked.receiptUnreadable",[o.RECEIPT_FOREIGN]:"skills.update.blocked.receiptForeign",[o.ROOT_RECEIPT_DIVERGED]:"skills.update.blocked.rootReceiptDiverged",[o.TREE_SCAN_TRUNCATED]:"skills.update.blocked.treeScanTruncated",[o.INCOMPATIBLE]:"skills.update.blocked.incompatible"},q={updatable:"skills.update.nextAction.updatable",blocked:"skills.update.nextAction.blocked"};function r(a,b,c){let d;if(!g.X0.test(b)||b.length>g.cj)throw new i.nf(i.ER.TARGET_UNSAFE);try{d=(0,j.yj)(a,c,b)}catch{throw new i.nf(i.ER.TARGET_UNSAFE)}let e=(0,j.bh)(d);if(!e.present)return{state:"not_installed"};let f=e.files.find(a=>a.path===i.zi);if(!f)return{state:"receipt_missing"};let h=(0,i.q$)(f.bytes);return null===h?{state:"receipt_unreadable"}:h.skill_id!==b?{state:"receipt_foreign"}:{state:"ok",receipt:h,receiptDigest:f.sha256}}let s=globalThis.__skillUpdatePlans??(globalThis.__skillUpdatePlans={records:new Map}),t=/^[0-9a-f]{48}$/;function u(a){s.records.delete(a.token),null===a.consumedAt&&(0,l.TO)(a.binding.snapshotId)}function v(a,b){let c=0;for(let d of[...s.records.values()])d.token!==b&&a>=d.expiresAt&&(u(d),c+=1);return c}function w(a={}){return v(a.now??Date.now())}function x(a,b){if(!t.test(a))throw new i.nf(i.ER.NOT_FOUND);let c=s.records.get(a);if(v(b,a),!c)throw new i.nf(i.ER.NOT_FOUND);let e=Buffer.from(a,"utf-8"),f=Buffer.from(c.token,"utf-8");if(e.length!==f.length||!(0,d.timingSafeEqual)(e,f))throw new i.nf(i.ER.NOT_FOUND);if(b>=c.expiresAt)throw u(c),new i.nf(i.ER.EXPIRED);if(null!==c.consumedAt)throw new i.nf(i.ER.CONSUMED);return c}function y(a,b={}){return x(a,b.now??Date.now())}function z(a,b,c,d={}){let e=d.now??Date.now(),f=x(a,e),{binding:g}=f;if(g.actor.type!==b.actor.type||g.actor.id!==b.actor.id||g.worktreeId!==b.worktreeId||g.skillId!==b.skillId||g.toVersion!==b.toVersion)throw new i.nf(i.ER.BINDING_MISMATCH);if(!f.dto.updatable)throw new i.nf(i.ER.NOT_INSTALLABLE);if(f.dto.requiresRiskAcknowledgement&&!b.riskAcknowledged)throw new i.nf(i.ER.RISK_NOT_ACKNOWLEDGED);if(f.dto.riskIncreased&&!b.riskIncreaseAcknowledged)throw new i.nf(i.ER.RISK_NOT_ACKNOWLEDGED,{riskIncreased:!0});if(c.branch!==g.branch||c.headCommit!==g.headCommit||c.currentTreeHash!==g.currentTreeHash||null===c.receiptDigest||!(0,h.U2)(c.receiptDigest,g.currentReceiptDigest))throw new i.nf(i.ER.STALE);return f.consumedAt=e,f}function A(a,b,c=null){return{code:a,path:b,messageKey:p[a],detail:c}}let B={[k.sJ.LOCAL_MODIFICATION]:o.LOCAL_CHANGES,[k.sJ.RECEIPT_ORPHAN]:o.LOCAL_CHANGES,[k.sJ.UNMANAGED_FILE]:o.LOCAL_CHANGES,[k.sJ.NOT_A_REGULAR_FILE]:o.LOCAL_CHANGES,[k.sJ.NOT_INSTALLED]:o.ROOT_MISSING,[k.sJ.RECEIPT_MISSING]:o.RECEIPT_MISSING,[k.sJ.RECEIPT_UNREADABLE]:o.RECEIPT_UNREADABLE,[k.sJ.RECEIPT_FOREIGN]:o.RECEIPT_FOREIGN,[k.sJ.TREE_SCAN_TRUNCATED]:o.TREE_SCAN_TRUNCATED};function C(a){let b;if(!g.X0.test(a.skillId)||a.skillId.length>g.cj)throw new i.nf(i.ER.TARGET_UNSAFE);let c=a.now??Date.now(),{snapshot:e}=a,l=r(a.worktree.path,a.skillId,g.pg);if("not_installed"===l.state)throw new i.nf(i.ER.NOT_FOUND);if("ok"!==l.state||l.receipt.version!==a.fromVersion)throw new i.nf(i.ER.STALE);let p=l.receipt;try{b=(0,i.Pw)(p).map(b=>{let c=f().posix.dirname(b),d=(0,j.yj)(a.worktree.path,c,a.skillId),e=(0,j.bh)(d);return{prefix:c,rel:(0,j.QL)(c,a.skillId),existing:e,assessment:(0,k.II)(d,a.skillId,{existing:e,rootPrefix:c})}})}catch{throw new i.nf(i.ER.TARGET_UNSAFE)}let t=b[0],w=[];for(let a of b){for(let b of a.assessment.blockers){let a=B[b.code];a&&w.push(A(a,b.path,b.code))}a!==t&&null!==a.assessment.receiptDigest&&a.assessment.receiptDigest!==t.assessment.receiptDigest&&w.push(A(o.ROOT_RECEIPT_DIVERGED,`${a.rel}/${i.zi}`))}"compatible"!==a.compatibility.status&&w.push(A(o.INCOMPATIBLE,null));let x=b.map(a=>a.prefix),y=(0,i.$h)({snapshot:e,version:a.version,rootPrefixes:x}),z=(0,i.tJ)(y),C=(0,d.createHash)("sha256").update(z).digest("hex"),D=new Map(p.files.map(a=>[a.path,{sha256:a.sha256,size:a.size,executable:a.executable}])),E=t.existing.files.find(a=>a.path===i.zi);D.set(i.zi,{sha256:l.receiptDigest,size:E?.size??null,executable:!1});let F=new Map(e.files.map(a=>[a.path,{sha256:a.sha256,size:a.size,executable:a.executable,generated:!1}]));F.set(i.zi,{sha256:C,size:z.byteLength,executable:!1,generated:!0});let G=new Map(t.existing.files.map(a=>[a.path,a])),H={remainingBytes:j.mo},I=[],J={added:0,updated:0,removed:0,unchanged:0,localModified:0,localMissing:0,localUnknown:0,irregular:0},K=!1,L=!1;for(let a of[...new Set([...D.keys(),...F.keys()])].sort()){let b,c,d=D.get(a)??null,f=F.get(a)??null,g=G.get(a)??null;b=d&&f?(0,h.U2)(d.sha256,f.sha256)&&d.executable===f.executable?"unchanged":"update":f?"add":"remove",c=null===d?null===g?"match":"unknown":null===g?"missing":(0,h.U2)(g.sha256,d.sha256)&&g.executable===d.executable?"match":"modified";let k=f?.generated??a===i.zi,l=null!==d&&null!==g&&"match"===c?g.bytes:null,m=null===f?null:k?z:e.readFile(a),n=null!==l&&(0,j.VA)(l)||null!==m&&(0,j.VA)(m),o=null!==d&&"match"!==c,p=n||o||"unchanged"===b?{text:null,truncated:!1,additions:0,deletions:0}:(0,j.kt)(l,m,H);I.push({path:`${t.rel}/${a}`,relativePath:a,change:b,generated:k,recordedSha256:d?.sha256??null,candidateSha256:f?.sha256??null,currentSha256:g?.sha256??null,localState:c,size:f?.size??d?.size??null,executable:f?.executable??d?.executable??!1,binary:n,diff:p.text,diffTruncated:p.truncated,additions:p.additions,deletions:p.deletions}),"add"===b?J.added+=1:"update"===b?J.updated+=1:"remove"===b?J.removed+=1:J.unchanged+=1,n&&(K=!0),p.truncated&&(L=!0)}for(let a of b)J.localModified+=a.assessment.stats.modified,J.localMissing+=a.assessment.stats.missing,J.localUnknown+=a.assessment.stats.unknown,J.irregular+=a.assessment.stats.irregular;let M=(0,j.Hg)([...F.entries()].map(([a,b])=>({path:a,sha256:b.sha256,executable:b.executable}))),N=[];"detached"===a.git.headState&&N.push(j.OV.DETACHED_HEAD),"unborn"===a.git.headState&&N.push(j.OV.UNBORN_HEAD),"unknown"===a.git.headState&&N.push(j.OV.HEAD_UNRESOLVED),a.git.dirty&&N.push(j.OV.WORKING_TREE_DIRTY),K&&N.push(j.OV.BINARY_CONTENT),L&&N.push(j.OV.DIFF_TRUNCATED),b.some(a=>a.existing.truncated)&&N.push(j.OV.TREE_SCAN_TRUNCATED);let O=function(a,b,c,d){let e={declared:a.declared_risk,computed:a.computed_risk,effective:a.effective_risk},f={declared:b.declaredRisk,computed:b.computedRisk,effective:b.effectiveRisk},h=new Set(a.declared_permissions),i=new Set(b.inspection.declared_permissions),j={added:[...i].filter(a=>!h.has(a)),removed:[...h].filter(a=>!i.has(a)),unchanged:[...i].filter(a=>h.has(a))},k=new Set(a.files.map(a=>a.path)),l=new Set(b.files.map(a=>a.path)),o=a.files.filter(a=>a.executable).map(a=>a.path),p=b.files.filter(a=>a.executable).map(a=>a.path),q={added:p.filter(a=>!o.includes(a)),removed:o.filter(a=>!p.includes(a))},r={added:b.inspection.script_paths.filter(a=>!k.has(a)),removed:[...k].filter(a=>(function(a){let b=a.slice(a.lastIndexOf("/")+1),c=b.lastIndexOf(".");return!(c<=0)&&m.TW.includes(b.slice(c).toLowerCase())})(a)&&!l.has(a))},s=d.versions.filter(b=>{let d=(0,n.Cg)(b.version,a.version),e=(0,n.Cg)(b.version,c.version);return null!==d&&d>0&&null!==e&&e<=0}).sort((a,b)=>(0,n.Cg)(b.version,a.version)??0).map(a=>({version:a.version,changelog:a.changelog}));return{risk:{from:e,to:f,increased:g.$Y[f.effective]>g.$Y[e.effective]},permissions:j,executables:q,scripts:r,requirements:{commands:b.manifest.requirements.commands.map(a=>({name:a.name,versionRange:a.version_range??null})),networkHosts:[...b.manifest.requirements.network_hosts]},changelogs:s,agents:{from:a.agent_compatibility.map(a=>({...a})),to:c.compatibility.agents.map(a=>({...a}))}}}(p,e,a.version,a.catalogEntry),P="high"===e.effectiveRisk,Q=O.risk.increased,R=(0,d.randomBytes)(24).toString("hex"),S=c+i.c$,T={actor:a.actor,operation:"update",worktreeId:a.worktree.id,skillId:a.skillId,fromVersion:p.version,toVersion:e.version,artifactSha256:a.version.artifact.sha256,snapshotId:a.snapshotId,currentReceiptDigest:l.receiptDigest,branch:a.git.branch,headCommit:a.git.headCommit,currentTreeHash:t.assessment.currentTreeHash,plannedTreeHash:M},U={token:R,expiresAt:new Date(S).toISOString().replace(/\.\d{3}Z$/,"Z"),updatable:0===w.length,blockers:w,nextActionKey:0===w.length?q.updatable:q.blocked,requiresRiskAcknowledgement:P,riskAcknowledgementMessageKey:P?"skills.update.highRiskAcknowledgement":null,riskIncreased:Q,riskIncreaseMessageKey:Q?"skills.update.riskIncreaseAcknowledgement":null,update:{fromVersion:p.version,toVersion:e.version,latestVersion:a.latestVersion,reasonCode:a.reasonCode,prerelease:a.prerelease},target:{worktreeId:a.worktree.id,worktreeName:a.worktree.name,repositoryName:a.worktree.repositoryName,branch:a.git.branch,headState:a.git.headState,headCommit:a.git.headCommit,workingTreeDirty:a.git.dirty,installRoot:t.rel,installRoots:b.map(a=>a.rel),roots:b.map(a=>({installRoot:a.rel,rootPrefix:a.prefix,clean:a.assessment.removable,receiptDigest:a.assessment.receiptDigest,currentTreeHash:a.assessment.currentTreeHash})),currentTreeHash:t.assessment.currentTreeHash,plannedTreeHash:M},skill:function(a,b,c){let{manifest:d}=a;return{id:a.skillId,name:d.name,version:a.version,summary:d.summary,description:d.description,capabilities:[...d.capabilities],expectedOutcomes:[...d.expected_outcomes],provider:{...d.provider},license:d.license,homepage:d.homepage??null,declaredPermissions:[...a.inspection.declared_permissions],requirements:{commands:d.requirements.commands.map(a=>({name:a.name,versionRange:a.version_range??null})),networkHosts:[...d.requirements.network_hosts]},declaredRisk:a.declaredRisk,computedRisk:a.computedRisk,effectiveRisk:a.effectiveRisk,riskRationale:d.risk_rationale,executablePaths:[...a.inspection.executable_paths],scriptPaths:[...a.inspection.script_paths],compatibility:{commandmate:c,agents:b.compatibility.agents.map(a=>({...a}))},source:{repository:b.source.repository,ref:b.source.ref,commit:b.source.commit},artifact:{assetName:b.artifact.asset_name,sha256:b.artifact.sha256,size:b.artifact.size,format:b.artifact.format}}}(e,a.version,a.compatibility),securityDiff:O,receipt:{path:`${t.rel}/${i.zi}`,sha256:C,size:z.byteLength},files:I,stats:J,warnings:N},V={token:R,binding:T,bindingHash:(0,d.createHash)("sha256").update(function a(b){if(null===b||"object"!=typeof b)return JSON.stringify(b)??"null";if(Array.isArray(b))return`[${b.map(a).join(",")}]`;let c=Object.entries(b).filter(([,a])=>void 0!==a).sort(([a],[b])=>a<b?-1:+(a>b));return`{${c.map(([b,c])=>`${JSON.stringify(b)}:${a(c)}`).join(",")}}`}(T)).digest("hex"),createdAt:c,expiresAt:S,consumedAt:null,worktreePath:a.worktree.path,rootPrefixes:x,receipt:y,receiptBytes:z,dto:U};for(v(c);s.records.size>=i.sK;){let a=[...s.records.values()].sort((a,b)=>a.createdAt-b.createdAt)[0];if(!a)break;u(a)}return s.records.set(R,V),V}},98170:(a,b,c)=>{c.d(b,{mF:()=>l});var d=c(32520),e=c(72626),f=c(52710),g=c(1185),h=c(82484),i=c(89936);let j=(0,e.h)("lib/skills/plan-sweeper"),k=globalThis.__skillPlanSweeper??(globalThis.__skillPlanSweeper={timer:null});function l(){if(k.timer)return;let a=setInterval(()=>{try{let a=function(a={}){let b=a.now??Date.now(),c=(0,f.Jg)({now:b}),d=(0,g.kq)({now:b}),e=(0,h.ne)({now:b});return{installPlans:c,uninstallPlans:d,updatePlans:e,snapshots:(0,i.nW)()?(0,i.Jk)({now:b}):0}}();(a.installPlans||a.uninstallPlans||a.updatePlans||a.snapshots)&&j.debug("skill-plan-sweep",{...a})}catch(a){j.warn("skill-plan-sweep-failed",{error:a instanceof Error?a.message:String(a)})}},d.Oj);a.unref(),k.timer=a}}};