agent-log-viewer 0.11.7 → 1.0.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 (619) hide show
  1. package/README.md +218 -39
  2. package/bin/cli.mjs +60 -16
  3. package/bin/mcp-server.mjs +136 -0
  4. package/bin/mcp-server.test.ts +266 -0
  5. package/bin/provision-telegram-connector.mjs +193 -0
  6. package/bin/server-runtime.mjs +53 -0
  7. package/bin/server-runtime.test.ts +161 -0
  8. package/bin/tailscale-credential-isolation.test.ts +56 -0
  9. package/bin/tailscale.mjs +6 -4
  10. package/bin/telegram-login-bridge.py +253 -0
  11. package/bin/telegram-mcp-server.py +106 -0
  12. package/bin/telegram-session-reader.mjs +6 -0
  13. package/bin/telegram-session-validator.mjs +71 -0
  14. package/dist/mcp-server.mjs +48505 -0
  15. package/dist/standalone/.next/BUILD_ID +1 -1
  16. package/dist/standalone/.next/app-path-routes-manifest.json +73 -9
  17. package/dist/standalone/.next/build-manifest.json +6 -6
  18. package/dist/standalone/.next/prerender-manifest.json +3 -3
  19. package/dist/standalone/.next/react-loadable-manifest.json +89 -0
  20. package/dist/standalone/.next/required-server-files.json +12 -2
  21. package/dist/standalone/.next/routes-manifest.json +402 -0
  22. package/dist/standalone/.next/server/account-migration-controller-worker.js +1 -0
  23. package/dist/standalone/.next/server/app/_global-error/page.js +3 -3
  24. package/dist/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  25. package/dist/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  26. package/dist/standalone/.next/server/app/_global-error.html +1 -1
  27. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  28. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  29. package/dist/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  30. package/dist/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  31. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  32. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  33. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  34. package/dist/standalone/.next/server/app/_not-found/page.js +2 -2
  35. package/dist/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  36. package/dist/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  37. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  38. package/dist/standalone/.next/server/app/_not-found.rsc +3 -3
  39. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  40. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  41. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  42. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  43. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  44. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  45. package/dist/standalone/.next/server/app/api/access/route.js +1 -1
  46. package/dist/standalone/.next/server/app/api/access/route.js.nft.json +1 -1
  47. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js +1 -0
  48. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route.js.nft.json +1 -0
  49. package/dist/standalone/.next/server/app/api/account-migrations/[intentId]/route_client-reference-manifest.js +1 -0
  50. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js +4 -0
  51. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route.js.nft.json +1 -0
  52. package/dist/standalone/.next/server/app/api/accounts/claude/[id]/status/route_client-reference-manifest.js +1 -0
  53. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js +1 -0
  54. package/dist/standalone/.next/server/app/api/accounts/claude/active/route.js.nft.json +1 -0
  55. package/dist/standalone/.next/server/app/api/accounts/claude/active/route_client-reference-manifest.js +1 -0
  56. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js +4 -0
  57. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route.js.nft.json +1 -0
  58. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/input/route_client-reference-manifest.js +1 -0
  59. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js +4 -0
  60. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route.js.nft.json +1 -0
  61. package/dist/standalone/.next/server/app/api/accounts/claude/login/[operationId]/route_client-reference-manifest.js +1 -0
  62. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js +1 -0
  63. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route.js.nft.json +1 -0
  64. package/dist/standalone/.next/server/app/api/accounts/claude/policy/route_client-reference-manifest.js +1 -0
  65. package/dist/standalone/.next/server/app/api/accounts/claude/route.js +1 -0
  66. package/dist/standalone/.next/server/app/api/accounts/claude/route.js.nft.json +1 -0
  67. package/dist/standalone/.next/server/app/api/accounts/claude/route_client-reference-manifest.js +1 -0
  68. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js +4 -0
  69. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route.js.nft.json +1 -0
  70. package/dist/standalone/.next/server/app/api/accounts/claude/terminal/route_client-reference-manifest.js +1 -0
  71. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js +1 -0
  72. package/dist/standalone/.next/server/app/api/accounts/codex/active/route.js.nft.json +1 -0
  73. package/dist/standalone/.next/server/app/api/accounts/codex/active/route_client-reference-manifest.js +1 -0
  74. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js +1 -0
  75. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route.js.nft.json +1 -0
  76. package/dist/standalone/.next/server/app/api/accounts/codex/policy/route_client-reference-manifest.js +1 -0
  77. package/dist/standalone/.next/server/app/api/accounts/codex/route.js +1 -0
  78. package/dist/standalone/.next/server/app/api/accounts/codex/route.js.nft.json +1 -0
  79. package/dist/standalone/.next/server/app/api/accounts/codex/route_client-reference-manifest.js +1 -0
  80. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js +4 -0
  81. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route.js.nft.json +1 -0
  82. package/dist/standalone/.next/server/app/api/accounts/codex/terminal/route_client-reference-manifest.js +1 -0
  83. package/dist/standalone/.next/server/app/api/accounts/route.js +1 -0
  84. package/dist/standalone/.next/server/app/api/accounts/route.js.nft.json +1 -0
  85. package/dist/standalone/.next/server/app/api/accounts/route_client-reference-manifest.js +1 -0
  86. package/dist/standalone/.next/server/app/api/agent/route.js +1 -0
  87. package/dist/standalone/.next/server/app/api/agent/route.js.nft.json +1 -0
  88. package/dist/standalone/.next/server/app/api/agent/route_client-reference-manifest.js +1 -0
  89. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js +1 -0
  90. package/dist/standalone/.next/server/app/api/agent/snapshot/route.js.nft.json +1 -0
  91. package/dist/standalone/.next/server/app/api/agent/snapshot/route_client-reference-manifest.js +1 -0
  92. package/dist/standalone/.next/server/app/api/answer/route.js +1 -1
  93. package/dist/standalone/.next/server/app/api/answer/route.js.nft.json +1 -1
  94. package/dist/standalone/.next/server/app/api/artifact/route.js +1 -0
  95. package/dist/standalone/.next/server/app/api/artifact/route.js.nft.json +1 -0
  96. package/dist/standalone/.next/server/app/api/artifact/route_client-reference-manifest.js +1 -0
  97. package/dist/standalone/.next/server/app/api/attach-command/route.js +1 -0
  98. package/dist/standalone/.next/server/app/api/attach-command/route.js.nft.json +1 -0
  99. package/dist/standalone/.next/server/app/api/attach-command/route_client-reference-manifest.js +1 -0
  100. package/dist/standalone/.next/server/app/api/attention/[id]/route.js +1 -0
  101. package/dist/standalone/.next/server/app/api/attention/[id]/route.js.nft.json +1 -0
  102. package/dist/standalone/.next/server/app/api/attention/[id]/route_client-reference-manifest.js +1 -0
  103. package/dist/standalone/.next/server/app/api/attention/route.js +1 -0
  104. package/dist/standalone/.next/server/app/api/attention/route.js.nft.json +1 -0
  105. package/dist/standalone/.next/server/app/api/attention/route_client-reference-manifest.js +1 -0
  106. package/dist/standalone/.next/server/app/api/board/route.js +1 -0
  107. package/dist/standalone/.next/server/app/api/board/route.js.nft.json +1 -0
  108. package/dist/standalone/.next/server/app/api/board/route_client-reference-manifest.js +1 -0
  109. package/dist/standalone/.next/server/app/api/bridge/route.js +2 -0
  110. package/dist/standalone/.next/server/app/api/bridge/route.js.nft.json +1 -0
  111. package/dist/standalone/.next/server/app/api/bridge/route_client-reference-manifest.js +1 -0
  112. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js +1 -0
  113. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route.js.nft.json +1 -0
  114. package/dist/standalone/.next/server/app/api/conversations/[conversationId]/migration/route_client-reference-manifest.js +1 -0
  115. package/dist/standalone/.next/server/app/api/conversations/route.js +1 -0
  116. package/dist/standalone/.next/server/app/api/conversations/route.js.nft.json +1 -0
  117. package/dist/standalone/.next/server/app/api/conversations/route_client-reference-manifest.js +1 -0
  118. package/dist/standalone/.next/server/app/api/files/route.js +2 -1
  119. package/dist/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  120. package/dist/standalone/.next/server/app/api/flows/[id]/route.js +1 -1
  121. package/dist/standalone/.next/server/app/api/flows/[id]/route.js.nft.json +1 -1
  122. package/dist/standalone/.next/server/app/api/flows/route.js +1 -1
  123. package/dist/standalone/.next/server/app/api/flows/route.js.nft.json +1 -1
  124. package/dist/standalone/.next/server/app/api/image/route.js +1 -1
  125. package/dist/standalone/.next/server/app/api/image/route.js.nft.json +1 -1
  126. package/dist/standalone/.next/server/app/api/inbox/route.js +2 -2
  127. package/dist/standalone/.next/server/app/api/inbox/route.js.nft.json +1 -1
  128. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js +1 -0
  129. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route.js.nft.json +1 -0
  130. package/dist/standalone/.next/server/app/api/lifecycle/reaper/route_client-reference-manifest.js +1 -0
  131. package/dist/standalone/.next/server/app/api/limits/history/route.js +4 -0
  132. package/dist/standalone/.next/server/app/api/limits/history/route.js.nft.json +1 -0
  133. package/dist/standalone/.next/server/app/api/limits/history/route_client-reference-manifest.js +1 -0
  134. package/dist/standalone/.next/server/app/api/limits/route.js +4 -2
  135. package/dist/standalone/.next/server/app/api/limits/route.js.nft.json +1 -1
  136. package/dist/standalone/.next/server/app/api/log/preflight/route.js +1 -0
  137. package/dist/standalone/.next/server/app/api/log/preflight/route.js.nft.json +1 -0
  138. package/dist/standalone/.next/server/app/api/log/preflight/route_client-reference-manifest.js +1 -0
  139. package/dist/standalone/.next/server/app/api/log/project-delete/route.js +1 -0
  140. package/dist/standalone/.next/server/app/api/log/project-delete/route.js.nft.json +1 -0
  141. package/dist/standalone/.next/server/app/api/log/project-delete/route_client-reference-manifest.js +1 -0
  142. package/dist/standalone/.next/server/app/api/log/provenance/route.js +1 -0
  143. package/dist/standalone/.next/server/app/api/log/provenance/route.js.nft.json +1 -0
  144. package/dist/standalone/.next/server/app/api/log/provenance/route_client-reference-manifest.js +1 -0
  145. package/dist/standalone/.next/server/app/api/log/route.js +1 -1
  146. package/dist/standalone/.next/server/app/api/log/route.js.nft.json +1 -1
  147. package/dist/standalone/.next/server/app/api/logs/route.js +1 -1
  148. package/dist/standalone/.next/server/app/api/logs/route.js.nft.json +1 -1
  149. package/dist/standalone/.next/server/app/api/logs/stream/route.js +4 -4
  150. package/dist/standalone/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  151. package/dist/standalone/.next/server/app/api/monitor/lock/route.js +3 -0
  152. package/dist/standalone/.next/server/app/api/monitor/lock/route.js.nft.json +1 -0
  153. package/dist/standalone/.next/server/app/api/monitor/lock/route_client-reference-manifest.js +1 -0
  154. package/dist/standalone/.next/server/app/api/monitor/runs/route.js +3 -0
  155. package/dist/standalone/.next/server/app/api/monitor/runs/route.js.nft.json +1 -0
  156. package/dist/standalone/.next/server/app/api/monitor/runs/route_client-reference-manifest.js +1 -0
  157. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js +1 -0
  158. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route.js.nft.json +1 -0
  159. package/dist/standalone/.next/server/app/api/orchestrator/rotate/route_client-reference-manifest.js +1 -0
  160. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js +1 -0
  161. package/dist/standalone/.next/server/app/api/orchestrator/seat/route.js.nft.json +1 -0
  162. package/dist/standalone/.next/server/app/api/orchestrator/seat/route_client-reference-manifest.js +1 -0
  163. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js +3 -0
  164. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route.js.nft.json +1 -0
  165. package/dist/standalone/.next/server/app/api/orchestrator/seat/status/route_client-reference-manifest.js +1 -0
  166. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js +1 -0
  167. package/dist/standalone/.next/server/app/api/pipelines/[id]/route.js.nft.json +1 -0
  168. package/dist/standalone/.next/server/app/api/pipelines/[id]/route_client-reference-manifest.js +1 -0
  169. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js +1 -0
  170. package/dist/standalone/.next/server/app/api/pipelines/preflight/route.js.nft.json +1 -0
  171. package/dist/standalone/.next/server/app/api/pipelines/preflight/route_client-reference-manifest.js +1 -0
  172. package/dist/standalone/.next/server/app/api/pipelines/route.js +2 -0
  173. package/dist/standalone/.next/server/app/api/pipelines/route.js.nft.json +1 -0
  174. package/dist/standalone/.next/server/app/api/pipelines/route_client-reference-manifest.js +1 -0
  175. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js +2 -0
  176. package/dist/standalone/.next/server/app/api/pipelines/tick/route.js.nft.json +1 -0
  177. package/dist/standalone/.next/server/app/api/pipelines/tick/route_client-reference-manifest.js +1 -0
  178. package/dist/standalone/.next/server/app/api/proc/route.js +1 -1
  179. package/dist/standalone/.next/server/app/api/proc/route.js.nft.json +1 -1
  180. package/dist/standalone/.next/server/app/api/projects/create/route.js +3 -0
  181. package/dist/standalone/.next/server/app/api/projects/create/route.js.nft.json +1 -0
  182. package/dist/standalone/.next/server/app/api/projects/create/route_client-reference-manifest.js +1 -0
  183. package/dist/standalone/.next/server/app/api/projects/crown/route.js +1 -0
  184. package/dist/standalone/.next/server/app/api/projects/crown/route.js.nft.json +1 -0
  185. package/dist/standalone/.next/server/app/api/projects/crown/route_client-reference-manifest.js +1 -0
  186. package/dist/standalone/.next/server/app/api/push/route.js +2 -1
  187. package/dist/standalone/.next/server/app/api/push/route.js.nft.json +1 -1
  188. package/dist/standalone/.next/server/app/api/resources/route.js +1 -1
  189. package/dist/standalone/.next/server/app/api/resources/route.js.nft.json +1 -1
  190. package/dist/standalone/.next/server/app/api/roles/route.js +2 -0
  191. package/dist/standalone/.next/server/app/api/roles/route.js.nft.json +1 -0
  192. package/dist/standalone/.next/server/app/api/roles/route_client-reference-manifest.js +1 -0
  193. package/dist/standalone/.next/server/app/api/runtime/answer/route.js +1 -0
  194. package/dist/standalone/.next/server/app/api/runtime/answer/route.js.nft.json +1 -0
  195. package/dist/standalone/.next/server/app/api/runtime/answer/route_client-reference-manifest.js +1 -0
  196. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js +1 -0
  197. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route.js.nft.json +1 -0
  198. package/dist/standalone/.next/server/app/api/runtime/deployments/[deploymentId]/route_client-reference-manifest.js +1 -0
  199. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js +1 -0
  200. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route.js.nft.json +1 -0
  201. package/dist/standalone/.next/server/app/api/runtime/deployments/capabilities/v1/route_client-reference-manifest.js +1 -0
  202. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js +1 -0
  203. package/dist/standalone/.next/server/app/api/runtime/deployments/route.js.nft.json +1 -0
  204. package/dist/standalone/.next/server/app/api/runtime/deployments/route_client-reference-manifest.js +1 -0
  205. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js +1 -0
  206. package/dist/standalone/.next/server/app/api/runtime/interrupt/route.js.nft.json +1 -0
  207. package/dist/standalone/.next/server/app/api/runtime/interrupt/route_client-reference-manifest.js +1 -0
  208. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js +1 -0
  209. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route.js.nft.json +1 -0
  210. package/dist/standalone/.next/server/app/api/runtime/operations/[operationId]/route_client-reference-manifest.js +1 -0
  211. package/dist/standalone/.next/server/app/api/runtime/operations/route.js +1 -0
  212. package/dist/standalone/.next/server/app/api/runtime/operations/route.js.nft.json +1 -0
  213. package/dist/standalone/.next/server/app/api/runtime/operations/route_client-reference-manifest.js +1 -0
  214. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js +1 -0
  215. package/dist/standalone/.next/server/app/api/runtime/realtime/route.js.nft.json +1 -0
  216. package/dist/standalone/.next/server/app/api/runtime/realtime/route_client-reference-manifest.js +1 -0
  217. package/dist/standalone/.next/server/app/api/runtime/send/route.js +1 -0
  218. package/dist/standalone/.next/server/app/api/runtime/send/route.js.nft.json +1 -0
  219. package/dist/standalone/.next/server/app/api/runtime/send/route_client-reference-manifest.js +1 -0
  220. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js +1 -0
  221. package/dist/standalone/.next/server/app/api/runtime/snapshot/route.js.nft.json +1 -0
  222. package/dist/standalone/.next/server/app/api/runtime/snapshot/route_client-reference-manifest.js +1 -0
  223. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js +1 -0
  224. package/dist/standalone/.next/server/app/api/runtime/spawn/route.js.nft.json +1 -0
  225. package/dist/standalone/.next/server/app/api/runtime/spawn/route_client-reference-manifest.js +1 -0
  226. package/dist/standalone/.next/server/app/api/runtime/steer/route.js +1 -0
  227. package/dist/standalone/.next/server/app/api/runtime/steer/route.js.nft.json +1 -0
  228. package/dist/standalone/.next/server/app/api/runtime/steer/route_client-reference-manifest.js +1 -0
  229. package/dist/standalone/.next/server/app/api/runtime/stream/route.js +8 -0
  230. package/dist/standalone/.next/server/app/api/runtime/stream/route.js.nft.json +1 -0
  231. package/dist/standalone/.next/server/app/api/runtime/stream/route_client-reference-manifest.js +1 -0
  232. package/dist/standalone/.next/server/app/api/search/transcripts/route.js +2 -0
  233. package/dist/standalone/.next/server/app/api/search/transcripts/route.js.nft.json +1 -0
  234. package/dist/standalone/.next/server/app/api/search/transcripts/route_client-reference-manifest.js +1 -0
  235. package/dist/standalone/.next/server/app/api/session/route.js +1 -1
  236. package/dist/standalone/.next/server/app/api/session/route.js.nft.json +1 -1
  237. package/dist/standalone/.next/server/app/api/session/supersedence/route.js +1 -0
  238. package/dist/standalone/.next/server/app/api/session/supersedence/route.js.nft.json +1 -0
  239. package/dist/standalone/.next/server/app/api/session/supersedence/route_client-reference-manifest.js +1 -0
  240. package/dist/standalone/.next/server/app/api/session/title/route.js +1 -0
  241. package/dist/standalone/.next/server/app/api/session/title/route.js.nft.json +1 -0
  242. package/dist/standalone/.next/server/app/api/session/title/route_client-reference-manifest.js +1 -0
  243. package/dist/standalone/.next/server/app/api/spawn/policy/route.js +6 -0
  244. package/dist/standalone/.next/server/app/api/spawn/policy/route.js.nft.json +1 -0
  245. package/dist/standalone/.next/server/app/api/spawn/policy/route_client-reference-manifest.js +1 -0
  246. package/dist/standalone/.next/server/app/api/spawn/route.js +2 -1
  247. package/dist/standalone/.next/server/app/api/spawn/route.js.nft.json +1 -1
  248. package/dist/standalone/.next/server/app/api/staging/route.js +2 -0
  249. package/dist/standalone/.next/server/app/api/staging/route.js.nft.json +1 -0
  250. package/dist/standalone/.next/server/app/api/staging/route_client-reference-manifest.js +1 -0
  251. package/dist/standalone/.next/server/app/api/task-attachments/route.js +2 -0
  252. package/dist/standalone/.next/server/app/api/task-attachments/route.js.nft.json +1 -0
  253. package/dist/standalone/.next/server/app/api/task-attachments/route_client-reference-manifest.js +1 -0
  254. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js +1 -2
  255. package/dist/standalone/.next/server/app/api/tasks/[id]/assignment/route.js.nft.json +1 -1
  256. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js +1 -2
  257. package/dist/standalone/.next/server/app/api/tasks/[id]/route.js.nft.json +1 -1
  258. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js +1 -1
  259. package/dist/standalone/.next/server/app/api/tasks/[id]/send/route.js.nft.json +1 -1
  260. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js +1 -1
  261. package/dist/standalone/.next/server/app/api/tasks/[id]/spawn/route.js.nft.json +1 -1
  262. package/dist/standalone/.next/server/app/api/tasks/curator/route.js +1 -1
  263. package/dist/standalone/.next/server/app/api/tasks/curator/route.js.nft.json +1 -1
  264. package/dist/standalone/.next/server/app/api/tasks/route.js +11 -2
  265. package/dist/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  266. package/dist/standalone/.next/server/app/api/telegram/reports/route.js +1 -0
  267. package/dist/standalone/.next/server/app/api/telegram/reports/route.js.nft.json +1 -0
  268. package/dist/standalone/.next/server/app/api/telegram/reports/route_client-reference-manifest.js +1 -0
  269. package/dist/standalone/.next/server/app/api/telegram/route.js +1 -0
  270. package/dist/standalone/.next/server/app/api/telegram/route.js.nft.json +1 -0
  271. package/dist/standalone/.next/server/app/api/telegram/route_client-reference-manifest.js +1 -0
  272. package/dist/standalone/.next/server/app/api/timeline/route.js +1 -1
  273. package/dist/standalone/.next/server/app/api/timeline/route.js.nft.json +1 -1
  274. package/dist/standalone/.next/server/app/api/tmux/route.js +1 -1
  275. package/dist/standalone/.next/server/app/api/tmux/route.js.nft.json +1 -1
  276. package/dist/standalone/.next/server/app/api/tmux/targets/route.js +1 -1
  277. package/dist/standalone/.next/server/app/api/tmux/targets/route.js.nft.json +1 -1
  278. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js +2 -2
  279. package/dist/standalone/.next/server/app/api/transcribe/backend/route.js.nft.json +1 -1
  280. package/dist/standalone/.next/server/app/api/transcribe/route.js +2 -2
  281. package/dist/standalone/.next/server/app/api/transcribe/route.js.nft.json +1 -1
  282. package/dist/standalone/.next/server/app/api/transcribe/token/route.js +2 -2
  283. package/dist/standalone/.next/server/app/api/transcribe/token/route.js.nft.json +1 -1
  284. package/dist/standalone/.next/server/app/api/tts/backend/route.js +1 -0
  285. package/dist/standalone/.next/server/app/api/tts/backend/route.js.nft.json +1 -0
  286. package/dist/standalone/.next/server/app/api/tts/backend/route_client-reference-manifest.js +1 -0
  287. package/dist/standalone/.next/server/app/api/tts/route.js +3 -0
  288. package/dist/standalone/.next/server/app/api/tts/route.js.nft.json +1 -0
  289. package/dist/standalone/.next/server/app/api/tts/route_client-reference-manifest.js +1 -0
  290. package/dist/standalone/.next/server/app/api/view/presence/route.js +1 -0
  291. package/dist/standalone/.next/server/app/api/view/presence/route.js.nft.json +1 -0
  292. package/dist/standalone/.next/server/app/api/view/presence/route_client-reference-manifest.js +1 -0
  293. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js +1 -1
  294. package/dist/standalone/.next/server/app/api/workflows/[id]/route.js.nft.json +1 -1
  295. package/dist/standalone/.next/server/app/api/workflows/route.js +1 -1
  296. package/dist/standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  297. package/dist/standalone/.next/server/app/favicon.ico/route.js +1 -1
  298. package/dist/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  299. package/dist/standalone/.next/server/app/index.html +1 -1
  300. package/dist/standalone/.next/server/app/index.rsc +4 -4
  301. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  302. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  303. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  304. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +2 -2
  305. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  306. package/dist/standalone/.next/server/app/page.js +74 -3
  307. package/dist/standalone/.next/server/app/page.js.nft.json +1 -1
  308. package/dist/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  309. package/dist/standalone/.next/server/app-paths-manifest.json +73 -9
  310. package/dist/standalone/.next/server/chunks/1068.js +1 -0
  311. package/dist/standalone/.next/server/chunks/1097.js +1 -0
  312. package/dist/standalone/.next/server/chunks/156.js +2 -0
  313. package/dist/standalone/.next/server/chunks/1617.js +2 -0
  314. package/dist/standalone/.next/server/chunks/1813.js +1 -0
  315. package/dist/standalone/.next/server/chunks/1858.js +91 -0
  316. package/dist/standalone/.next/server/chunks/1888.js +1 -0
  317. package/dist/standalone/.next/server/chunks/1911.js +1 -0
  318. package/dist/standalone/.next/server/chunks/1918.js +1 -0
  319. package/dist/standalone/.next/server/chunks/1920.js +27 -0
  320. package/dist/standalone/.next/server/chunks/2190.js +1 -0
  321. package/dist/standalone/.next/server/chunks/230.js +1 -0
  322. package/dist/standalone/.next/server/chunks/2318.js +2 -0
  323. package/dist/standalone/.next/server/chunks/2324.js +1 -0
  324. package/dist/standalone/.next/server/chunks/2338.js +9 -0
  325. package/dist/standalone/.next/server/chunks/2904.js +42 -0
  326. package/dist/standalone/.next/server/chunks/2923.js +1 -0
  327. package/dist/standalone/.next/server/chunks/2962.js +1 -0
  328. package/dist/standalone/.next/server/chunks/2977.js +1 -0
  329. package/dist/standalone/.next/server/chunks/306.js +3 -0
  330. package/dist/standalone/.next/server/chunks/3086.js +1 -0
  331. package/dist/standalone/.next/server/chunks/3139.js +10 -0
  332. package/dist/standalone/.next/server/chunks/3214.js +82 -0
  333. package/dist/standalone/.next/server/chunks/3313.js +1 -0
  334. package/dist/standalone/.next/server/chunks/3336.js +1 -0
  335. package/dist/standalone/.next/server/chunks/3438.js +2 -0
  336. package/dist/standalone/.next/server/chunks/3558.js +1 -0
  337. package/dist/standalone/.next/server/chunks/3587.js +1 -0
  338. package/dist/standalone/.next/server/chunks/3598.js +81 -0
  339. package/dist/standalone/.next/server/chunks/3669.js +1 -0
  340. package/dist/standalone/.next/server/chunks/3740.js +126 -0
  341. package/dist/standalone/.next/server/chunks/3793.js +6 -0
  342. package/dist/standalone/.next/server/chunks/3817.js +1 -0
  343. package/dist/standalone/.next/server/chunks/3916.js +1 -0
  344. package/dist/standalone/.next/server/chunks/3944.js +1 -0
  345. package/dist/standalone/.next/server/chunks/3953.js +1 -0
  346. package/dist/standalone/.next/server/chunks/4012.js +4 -0
  347. package/dist/standalone/.next/server/chunks/4127.js +1 -0
  348. package/dist/standalone/.next/server/chunks/4191.js +1 -0
  349. package/dist/standalone/.next/server/chunks/4260.js +2 -0
  350. package/dist/standalone/.next/server/chunks/4509.js +1 -0
  351. package/dist/standalone/.next/server/chunks/{741.js → 4741.js} +1 -1
  352. package/dist/standalone/.next/server/chunks/4968.js +1 -0
  353. package/dist/standalone/.next/server/chunks/4972.js +130 -0
  354. package/dist/standalone/.next/server/chunks/5689.js +11 -0
  355. package/dist/standalone/.next/server/chunks/6333.js +47 -0
  356. package/dist/standalone/.next/server/chunks/6389.js +1 -0
  357. package/dist/standalone/.next/server/chunks/640.js +1 -0
  358. package/dist/standalone/.next/server/chunks/6796.js +1 -0
  359. package/dist/standalone/.next/server/chunks/6826.js +2 -0
  360. package/dist/standalone/.next/server/chunks/6850.js +1 -0
  361. package/dist/standalone/.next/server/chunks/6909.js +1 -0
  362. package/dist/standalone/.next/server/chunks/6977.js +1 -0
  363. package/dist/standalone/.next/server/chunks/7126.js +1 -0
  364. package/dist/standalone/.next/server/chunks/7159.js +1 -0
  365. package/dist/standalone/.next/server/chunks/7270.js +45 -0
  366. package/dist/standalone/.next/server/chunks/7295.js +10 -0
  367. package/dist/standalone/.next/server/chunks/7471.js +87 -0
  368. package/dist/standalone/.next/server/chunks/7563.js +1 -0
  369. package/dist/standalone/.next/server/chunks/7644.js +13 -0
  370. package/dist/standalone/.next/server/chunks/7722.js +1 -0
  371. package/dist/standalone/.next/server/chunks/7733.js +4 -0
  372. package/dist/standalone/.next/server/chunks/7868.js +1 -0
  373. package/dist/standalone/.next/server/chunks/8026.js +1 -0
  374. package/dist/standalone/.next/server/chunks/8140.js +1 -0
  375. package/dist/standalone/.next/server/chunks/8176.js +1 -0
  376. package/dist/standalone/.next/server/chunks/8444.js +1 -0
  377. package/dist/standalone/.next/server/chunks/8465.js +2 -0
  378. package/dist/standalone/.next/server/chunks/849.js +6 -0
  379. package/dist/standalone/.next/server/chunks/8576.js +1 -0
  380. package/dist/standalone/.next/server/chunks/8600.js +12 -0
  381. package/dist/standalone/.next/server/chunks/8617.js +2 -0
  382. package/dist/standalone/.next/server/chunks/8797.js +1 -0
  383. package/dist/standalone/.next/server/chunks/8817.js +5 -0
  384. package/dist/standalone/.next/server/chunks/8966.js +2 -0
  385. package/dist/standalone/.next/server/chunks/8996.js +1 -0
  386. package/dist/standalone/.next/server/chunks/9246.js +47 -0
  387. package/dist/standalone/.next/server/chunks/9364.js +310 -0
  388. package/dist/standalone/.next/server/chunks/9411.js +14 -0
  389. package/dist/standalone/.next/server/chunks/9434.js +13 -0
  390. package/dist/standalone/.next/server/chunks/9507.js +1 -0
  391. package/dist/standalone/.next/server/chunks/9676.js +62 -0
  392. package/dist/standalone/.next/server/chunks/9733.js +42 -0
  393. package/dist/standalone/.next/server/chunks/9901.js +62 -0
  394. package/dist/standalone/.next/server/chunks/9937.js +2 -0
  395. package/dist/standalone/.next/server/chunks/9940.js +128 -0
  396. package/dist/standalone/.next/server/chunks/9998.js +1 -0
  397. package/dist/standalone/.next/server/chunks/static/media/pdf.worker.min.65fe1ff1.mjs +6 -0
  398. package/dist/standalone/.next/server/file-scanner-worker.js +4 -0
  399. package/dist/standalone/.next/server/files-response-worker.js +13 -0
  400. package/dist/standalone/.next/server/functions-config-manifest.json +64 -0
  401. package/dist/standalone/.next/server/instrumentation.js +1 -0
  402. package/dist/standalone/.next/server/middleware-build-manifest.js +1 -1
  403. package/dist/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  404. package/dist/standalone/.next/server/middleware.js +2 -2
  405. package/dist/standalone/.next/server/pages/404.html +1 -1
  406. package/dist/standalone/.next/server/pages/500.html +1 -1
  407. package/dist/standalone/.next/server/resource-collector-worker.js +1 -0
  408. package/dist/standalone/.next/server/server-reference-manifest.json +1 -1
  409. package/dist/standalone/.next/server/wakatime-sync-worker.js +2 -0
  410. package/dist/standalone/.next/server/webpack-runtime.js +1 -1
  411. package/dist/standalone/.next/static/chunks/1783.662e4b7044e5db2f.js +1 -0
  412. package/dist/standalone/.next/static/chunks/2345.c09668c2640f24ad.js +1 -0
  413. package/dist/standalone/.next/static/chunks/2462.217e83e51ac07519.js +1 -0
  414. package/dist/standalone/.next/static/chunks/2619.fd64e7a5bd9005d5.js +1 -0
  415. package/dist/standalone/.next/static/chunks/3015.f61f117dd9ccb747.js +1 -0
  416. package/dist/standalone/.next/static/chunks/{794-0fc36bf1952fbc29.js → 3794-a205959ce301b5c6.js} +1 -1
  417. package/dist/standalone/.next/static/chunks/4bd1b696-c2f6e0877b6c10aa.js +1 -0
  418. package/dist/standalone/.next/static/chunks/6370.4f217a9379f47764.js +1 -0
  419. package/dist/standalone/.next/static/chunks/7067.f02e8d0616800bac.js +1 -0
  420. package/dist/standalone/.next/static/chunks/7297.aaa457b2a2939f7b.js +1 -0
  421. package/dist/standalone/.next/static/chunks/7774.cca1e546ab5623e0.js +1 -0
  422. package/dist/standalone/.next/static/chunks/8293.5545fdbde0213c98.js +1 -0
  423. package/dist/standalone/.next/static/chunks/8327.33abd84515b38836.js +1 -0
  424. package/dist/standalone/.next/static/chunks/858.302d545082b159c6.js +1 -0
  425. package/dist/standalone/.next/static/chunks/9178-e32f088e89b55503.js +1 -0
  426. package/dist/standalone/.next/static/chunks/9583.b999fb5de3a3494a.js +1 -0
  427. package/dist/standalone/.next/static/chunks/9b0008ae.eb7a9c4c1c92a63b.js +45 -0
  428. package/dist/standalone/.next/static/chunks/app/_global-error/page-c132c5ba005ff29e.js +1 -0
  429. package/dist/standalone/.next/static/chunks/app/_not-found/page-9e7648417ae57bf7.js +1 -0
  430. package/dist/standalone/.next/static/chunks/app/api/access/route-c132c5ba005ff29e.js +1 -0
  431. package/dist/standalone/.next/static/chunks/app/api/account-migrations/[intentId]/route-c132c5ba005ff29e.js +1 -0
  432. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/[id]/status/route-c132c5ba005ff29e.js +1 -0
  433. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/active/route-c132c5ba005ff29e.js +1 -0
  434. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/input/route-c132c5ba005ff29e.js +1 -0
  435. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/login/[operationId]/route-c132c5ba005ff29e.js +1 -0
  436. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/policy/route-c132c5ba005ff29e.js +1 -0
  437. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/route-c132c5ba005ff29e.js +1 -0
  438. package/dist/standalone/.next/static/chunks/app/api/accounts/claude/terminal/route-c132c5ba005ff29e.js +1 -0
  439. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/active/route-c132c5ba005ff29e.js +1 -0
  440. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/policy/route-c132c5ba005ff29e.js +1 -0
  441. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/route-c132c5ba005ff29e.js +1 -0
  442. package/dist/standalone/.next/static/chunks/app/api/accounts/codex/terminal/route-c132c5ba005ff29e.js +1 -0
  443. package/dist/standalone/.next/static/chunks/app/api/accounts/route-c132c5ba005ff29e.js +1 -0
  444. package/dist/standalone/.next/static/chunks/app/api/agent/route-c132c5ba005ff29e.js +1 -0
  445. package/dist/standalone/.next/static/chunks/app/api/agent/snapshot/route-c132c5ba005ff29e.js +1 -0
  446. package/dist/standalone/.next/static/chunks/app/api/answer/route-c132c5ba005ff29e.js +1 -0
  447. package/dist/standalone/.next/static/chunks/app/api/artifact/route-c132c5ba005ff29e.js +1 -0
  448. package/dist/standalone/.next/static/chunks/app/api/attach-command/route-c132c5ba005ff29e.js +1 -0
  449. package/dist/standalone/.next/static/chunks/app/api/attention/[id]/route-c132c5ba005ff29e.js +1 -0
  450. package/dist/standalone/.next/static/chunks/app/api/attention/route-c132c5ba005ff29e.js +1 -0
  451. package/dist/standalone/.next/static/chunks/app/api/board/route-c132c5ba005ff29e.js +1 -0
  452. package/dist/standalone/.next/static/chunks/app/api/bridge/route-c132c5ba005ff29e.js +1 -0
  453. package/dist/standalone/.next/static/chunks/app/api/conversations/[conversationId]/migration/route-c132c5ba005ff29e.js +1 -0
  454. package/dist/standalone/.next/static/chunks/app/api/conversations/route-c132c5ba005ff29e.js +1 -0
  455. package/dist/standalone/.next/static/chunks/app/api/files/route-c132c5ba005ff29e.js +1 -0
  456. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-c132c5ba005ff29e.js +1 -0
  457. package/dist/standalone/.next/static/chunks/app/api/flows/route-c132c5ba005ff29e.js +1 -0
  458. package/dist/standalone/.next/static/chunks/app/api/image/route-c132c5ba005ff29e.js +1 -0
  459. package/dist/standalone/.next/static/chunks/app/api/inbox/route-c132c5ba005ff29e.js +1 -0
  460. package/dist/standalone/.next/static/chunks/app/api/lifecycle/reaper/route-c132c5ba005ff29e.js +1 -0
  461. package/dist/standalone/.next/static/chunks/app/api/limits/history/route-c132c5ba005ff29e.js +1 -0
  462. package/dist/standalone/.next/static/chunks/app/api/limits/route-c132c5ba005ff29e.js +1 -0
  463. package/dist/standalone/.next/static/chunks/app/api/log/preflight/route-c132c5ba005ff29e.js +1 -0
  464. package/dist/standalone/.next/static/chunks/app/api/log/project-delete/route-c132c5ba005ff29e.js +1 -0
  465. package/dist/standalone/.next/static/chunks/app/api/log/provenance/route-c132c5ba005ff29e.js +1 -0
  466. package/dist/standalone/.next/static/chunks/app/api/log/route-c132c5ba005ff29e.js +1 -0
  467. package/dist/standalone/.next/static/chunks/app/api/logs/route-c132c5ba005ff29e.js +1 -0
  468. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-c132c5ba005ff29e.js +1 -0
  469. package/dist/standalone/.next/static/chunks/app/api/monitor/lock/route-c132c5ba005ff29e.js +1 -0
  470. package/dist/standalone/.next/static/chunks/app/api/monitor/runs/route-c132c5ba005ff29e.js +1 -0
  471. package/dist/standalone/.next/static/chunks/app/api/orchestrator/rotate/route-c132c5ba005ff29e.js +1 -0
  472. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/route-c132c5ba005ff29e.js +1 -0
  473. package/dist/standalone/.next/static/chunks/app/api/orchestrator/seat/status/route-c132c5ba005ff29e.js +1 -0
  474. package/dist/standalone/.next/static/chunks/app/api/pipelines/[id]/route-c132c5ba005ff29e.js +1 -0
  475. package/dist/standalone/.next/static/chunks/app/api/pipelines/preflight/route-c132c5ba005ff29e.js +1 -0
  476. package/dist/standalone/.next/static/chunks/app/api/pipelines/route-c132c5ba005ff29e.js +1 -0
  477. package/dist/standalone/.next/static/chunks/app/api/pipelines/tick/route-c132c5ba005ff29e.js +1 -0
  478. package/dist/standalone/.next/static/chunks/app/api/proc/route-c132c5ba005ff29e.js +1 -0
  479. package/dist/standalone/.next/static/chunks/app/api/projects/create/route-c132c5ba005ff29e.js +1 -0
  480. package/dist/standalone/.next/static/chunks/app/api/projects/crown/route-c132c5ba005ff29e.js +1 -0
  481. package/dist/standalone/.next/static/chunks/app/api/push/route-c132c5ba005ff29e.js +1 -0
  482. package/dist/standalone/.next/static/chunks/app/api/resources/route-c132c5ba005ff29e.js +1 -0
  483. package/dist/standalone/.next/static/chunks/app/api/roles/route-c132c5ba005ff29e.js +1 -0
  484. package/dist/standalone/.next/static/chunks/app/api/runtime/answer/route-c132c5ba005ff29e.js +1 -0
  485. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/[deploymentId]/route-c132c5ba005ff29e.js +1 -0
  486. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/capabilities/v1/route-c132c5ba005ff29e.js +1 -0
  487. package/dist/standalone/.next/static/chunks/app/api/runtime/deployments/route-c132c5ba005ff29e.js +1 -0
  488. package/dist/standalone/.next/static/chunks/app/api/runtime/interrupt/route-c132c5ba005ff29e.js +1 -0
  489. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/[operationId]/route-c132c5ba005ff29e.js +1 -0
  490. package/dist/standalone/.next/static/chunks/app/api/runtime/operations/route-c132c5ba005ff29e.js +1 -0
  491. package/dist/standalone/.next/static/chunks/app/api/runtime/realtime/route-c132c5ba005ff29e.js +1 -0
  492. package/dist/standalone/.next/static/chunks/app/api/runtime/send/route-c132c5ba005ff29e.js +1 -0
  493. package/dist/standalone/.next/static/chunks/app/api/runtime/snapshot/route-c132c5ba005ff29e.js +1 -0
  494. package/dist/standalone/.next/static/chunks/app/api/runtime/spawn/route-c132c5ba005ff29e.js +1 -0
  495. package/dist/standalone/.next/static/chunks/app/api/runtime/steer/route-c132c5ba005ff29e.js +1 -0
  496. package/dist/standalone/.next/static/chunks/app/api/runtime/stream/route-c132c5ba005ff29e.js +1 -0
  497. package/dist/standalone/.next/static/chunks/app/api/search/transcripts/route-c132c5ba005ff29e.js +1 -0
  498. package/dist/standalone/.next/static/chunks/app/api/session/route-c132c5ba005ff29e.js +1 -0
  499. package/dist/standalone/.next/static/chunks/app/api/session/supersedence/route-c132c5ba005ff29e.js +1 -0
  500. package/dist/standalone/.next/static/chunks/app/api/session/title/route-c132c5ba005ff29e.js +1 -0
  501. package/dist/standalone/.next/static/chunks/app/api/spawn/policy/route-c132c5ba005ff29e.js +1 -0
  502. package/dist/standalone/.next/static/chunks/app/api/spawn/route-c132c5ba005ff29e.js +1 -0
  503. package/dist/standalone/.next/static/chunks/app/api/staging/route-c132c5ba005ff29e.js +1 -0
  504. package/dist/standalone/.next/static/chunks/app/api/task-attachments/route-c132c5ba005ff29e.js +1 -0
  505. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-c132c5ba005ff29e.js +1 -0
  506. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-c132c5ba005ff29e.js +1 -0
  507. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-c132c5ba005ff29e.js +1 -0
  508. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-c132c5ba005ff29e.js +1 -0
  509. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-c132c5ba005ff29e.js +1 -0
  510. package/dist/standalone/.next/static/chunks/app/api/tasks/route-c132c5ba005ff29e.js +1 -0
  511. package/dist/standalone/.next/static/chunks/app/api/telegram/reports/route-c132c5ba005ff29e.js +1 -0
  512. package/dist/standalone/.next/static/chunks/app/api/telegram/route-c132c5ba005ff29e.js +1 -0
  513. package/dist/standalone/.next/static/chunks/app/api/timeline/route-c132c5ba005ff29e.js +1 -0
  514. package/dist/standalone/.next/static/chunks/app/api/tmux/route-c132c5ba005ff29e.js +1 -0
  515. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-c132c5ba005ff29e.js +1 -0
  516. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-c132c5ba005ff29e.js +1 -0
  517. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-c132c5ba005ff29e.js +1 -0
  518. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-c132c5ba005ff29e.js +1 -0
  519. package/dist/standalone/.next/static/chunks/app/api/tts/backend/route-c132c5ba005ff29e.js +1 -0
  520. package/dist/standalone/.next/static/chunks/app/api/tts/route-c132c5ba005ff29e.js +1 -0
  521. package/dist/standalone/.next/static/chunks/app/api/view/presence/route-c132c5ba005ff29e.js +1 -0
  522. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-c132c5ba005ff29e.js +1 -0
  523. package/dist/standalone/.next/static/chunks/app/api/workflows/route-c132c5ba005ff29e.js +1 -0
  524. package/dist/standalone/.next/static/chunks/app/layout-c8390ace9b222dd6.js +1 -0
  525. package/dist/standalone/.next/static/chunks/app/page-ac9463b910bf83fe.js +77 -0
  526. package/dist/standalone/.next/static/chunks/framework-d1de002210ddaaef.js +1 -0
  527. package/dist/standalone/.next/static/chunks/{main-3cec32f88450e0e3.js → main-343fc547124ab6ff.js} +2 -2
  528. package/dist/standalone/.next/static/chunks/main-app-63e09a6ca85925cd.js +1 -0
  529. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-c132c5ba005ff29e.js +1 -0
  530. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-c132c5ba005ff29e.js +1 -0
  531. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-a07ea5db82382b93.js +1 -0
  532. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-c132c5ba005ff29e.js +1 -0
  533. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-c132c5ba005ff29e.js +1 -0
  534. package/dist/standalone/.next/static/chunks/webpack-1637988d4c7cf23c.js +1 -0
  535. package/dist/standalone/.next/static/css/498f12ddef7ecb0e.css +1 -0
  536. package/dist/standalone/.next/static/kt9OPe8iwfpNcdOX9ygvb/_buildManifest.js +1 -0
  537. package/dist/standalone/.next/static/media/pdf.worker.min.e890bf87.mjs +6 -0
  538. package/dist/standalone/package.json +31 -8
  539. package/dist/standalone/server.bun.js +38 -0
  540. package/dist/standalone/server.js +18 -37
  541. package/package.json +31 -8
  542. package/vendor/telegram-mcp/.python-version +1 -0
  543. package/vendor/telegram-mcp/LICENSE +201 -0
  544. package/vendor/telegram-mcp/PROVENANCE.md +70 -0
  545. package/vendor/telegram-mcp/SHA256SUMS +24 -0
  546. package/vendor/telegram-mcp/main.py +67 -0
  547. package/vendor/telegram-mcp/pyproject.toml +100 -0
  548. package/vendor/telegram-mcp/requirements.txt +7 -0
  549. package/vendor/telegram-mcp/sanitize.py +143 -0
  550. package/vendor/telegram-mcp/session_string_generator.py +259 -0
  551. package/vendor/telegram-mcp/telegram_mcp/__init__.py +15 -0
  552. package/vendor/telegram-mcp/telegram_mcp/client_identity.py +31 -0
  553. package/vendor/telegram-mcp/telegram_mcp/install_guard.py +209 -0
  554. package/vendor/telegram-mcp/telegram_mcp/runner.py +198 -0
  555. package/vendor/telegram-mcp/telegram_mcp/runtime.py +1812 -0
  556. package/vendor/telegram-mcp/telegram_mcp/singleton.py +143 -0
  557. package/vendor/telegram-mcp/telegram_mcp/tools/__init__.py +13 -0
  558. package/vendor/telegram-mcp/telegram_mcp/tools/accounts.py +31 -0
  559. package/vendor/telegram-mcp/telegram_mcp/tools/chats.py +1163 -0
  560. package/vendor/telegram-mcp/telegram_mcp/tools/contacts.py +802 -0
  561. package/vendor/telegram-mcp/telegram_mcp/tools/events.py +485 -0
  562. package/vendor/telegram-mcp/telegram_mcp/tools/folders.py +600 -0
  563. package/vendor/telegram-mcp/telegram_mcp/tools/groups.py +1286 -0
  564. package/vendor/telegram-mcp/telegram_mcp/tools/media.py +470 -0
  565. package/vendor/telegram-mcp/telegram_mcp/tools/messages.py +2041 -0
  566. package/vendor/telegram-mcp/telegram_mcp/tools/profile.py +449 -0
  567. package/vendor/telegram-mcp/uv.lock +1693 -0
  568. package/dist/standalone/.next/server/chunks/628.js +0 -2
  569. package/dist/standalone/.next/server/chunks/747.js +0 -4
  570. package/dist/standalone/.next/server/chunks/813.js +0 -1
  571. package/dist/standalone/.next/server/chunks/918.js +0 -1
  572. package/dist/standalone/.next/server/chunks/998.js +0 -1
  573. package/dist/standalone/.next/static/U4SZ1qekrUMw43qsp4kED/_buildManifest.js +0 -1
  574. package/dist/standalone/.next/static/chunks/4bd1b696-215e5051988c3dde.js +0 -1
  575. package/dist/standalone/.next/static/chunks/647-0b14204033b8658c.js +0 -1
  576. package/dist/standalone/.next/static/chunks/app/_global-error/page-d0de276a8c0b264e.js +0 -1
  577. package/dist/standalone/.next/static/chunks/app/_not-found/page-811f7dc4ec7ef451.js +0 -1
  578. package/dist/standalone/.next/static/chunks/app/api/access/route-d0de276a8c0b264e.js +0 -1
  579. package/dist/standalone/.next/static/chunks/app/api/answer/route-d0de276a8c0b264e.js +0 -1
  580. package/dist/standalone/.next/static/chunks/app/api/files/route-d0de276a8c0b264e.js +0 -1
  581. package/dist/standalone/.next/static/chunks/app/api/flows/[id]/route-d0de276a8c0b264e.js +0 -1
  582. package/dist/standalone/.next/static/chunks/app/api/flows/route-d0de276a8c0b264e.js +0 -1
  583. package/dist/standalone/.next/static/chunks/app/api/image/route-d0de276a8c0b264e.js +0 -1
  584. package/dist/standalone/.next/static/chunks/app/api/inbox/route-d0de276a8c0b264e.js +0 -1
  585. package/dist/standalone/.next/static/chunks/app/api/limits/route-d0de276a8c0b264e.js +0 -1
  586. package/dist/standalone/.next/static/chunks/app/api/log/route-d0de276a8c0b264e.js +0 -1
  587. package/dist/standalone/.next/static/chunks/app/api/logs/route-d0de276a8c0b264e.js +0 -1
  588. package/dist/standalone/.next/static/chunks/app/api/logs/stream/route-d0de276a8c0b264e.js +0 -1
  589. package/dist/standalone/.next/static/chunks/app/api/proc/route-d0de276a8c0b264e.js +0 -1
  590. package/dist/standalone/.next/static/chunks/app/api/push/route-d0de276a8c0b264e.js +0 -1
  591. package/dist/standalone/.next/static/chunks/app/api/resources/route-d0de276a8c0b264e.js +0 -1
  592. package/dist/standalone/.next/static/chunks/app/api/session/route-d0de276a8c0b264e.js +0 -1
  593. package/dist/standalone/.next/static/chunks/app/api/spawn/route-d0de276a8c0b264e.js +0 -1
  594. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/assignment/route-d0de276a8c0b264e.js +0 -1
  595. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/route-d0de276a8c0b264e.js +0 -1
  596. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/send/route-d0de276a8c0b264e.js +0 -1
  597. package/dist/standalone/.next/static/chunks/app/api/tasks/[id]/spawn/route-d0de276a8c0b264e.js +0 -1
  598. package/dist/standalone/.next/static/chunks/app/api/tasks/curator/route-d0de276a8c0b264e.js +0 -1
  599. package/dist/standalone/.next/static/chunks/app/api/tasks/route-d0de276a8c0b264e.js +0 -1
  600. package/dist/standalone/.next/static/chunks/app/api/timeline/route-d0de276a8c0b264e.js +0 -1
  601. package/dist/standalone/.next/static/chunks/app/api/tmux/route-d0de276a8c0b264e.js +0 -1
  602. package/dist/standalone/.next/static/chunks/app/api/tmux/targets/route-d0de276a8c0b264e.js +0 -1
  603. package/dist/standalone/.next/static/chunks/app/api/transcribe/backend/route-d0de276a8c0b264e.js +0 -1
  604. package/dist/standalone/.next/static/chunks/app/api/transcribe/route-d0de276a8c0b264e.js +0 -1
  605. package/dist/standalone/.next/static/chunks/app/api/transcribe/token/route-d0de276a8c0b264e.js +0 -1
  606. package/dist/standalone/.next/static/chunks/app/api/workflows/[id]/route-d0de276a8c0b264e.js +0 -1
  607. package/dist/standalone/.next/static/chunks/app/api/workflows/route-d0de276a8c0b264e.js +0 -1
  608. package/dist/standalone/.next/static/chunks/app/layout-22e93960d4e3259a.js +0 -1
  609. package/dist/standalone/.next/static/chunks/app/page-6c0325e2d49a521e.js +0 -2
  610. package/dist/standalone/.next/static/chunks/framework-93cda6578f6c76ec.js +0 -1
  611. package/dist/standalone/.next/static/chunks/main-app-e6ff5fbff7d5b38f.js +0 -1
  612. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-d0de276a8c0b264e.js +0 -1
  613. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-d0de276a8c0b264e.js +0 -1
  614. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-2b3b5eea82b805ca.js +0 -1
  615. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-d0de276a8c0b264e.js +0 -1
  616. package/dist/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d0de276a8c0b264e.js +0 -1
  617. package/dist/standalone/.next/static/chunks/webpack-7dc14fd5ff1227ce.js +0 -1
  618. package/dist/standalone/.next/static/css/b9bc533a63013ced.css +0 -1
  619. /package/dist/standalone/.next/static/{U4SZ1qekrUMw43qsp4kED → kt9OPe8iwfpNcdOX9ygvb}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3086,exports.ids=[3086],exports.modules={23086:(a,b,c)=>{c.d(b,{Ll:()=>P,Nm:()=>O,TF:()=>v,vx:()=>Q});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(50920),k=c(7058),l=c(94284),m=c(7343),n=c(78598),o=c(36552);let p="files-scan-snapshot.json",q=-1/0,r=globalThis;function s(a){return"object"==typeof a&&null!==a}function t(a){if(!s(a)||!0!==a.complete||!Array.isArray(a.files)||!Array.isArray(a.projectCatalog))return!1;let b=a.files.every(a=>{var b;return!!s(a)&&"string"==typeof a.path&&("codex-sessions"===a.root||"claude-projects"===a.root||"claude-tasks"===a.root)&&"string"==typeof a.name&&"string"==typeof a.project&&"string"==typeof a.title&&("codex"===a.engine||"claude"===a.engine||"shell"===a.engine)&&"string"==typeof a.kind&&("codex"===a.fmt||"claude"===a.fmt||"plain"===a.fmt)&&(null===a.parent||"string"==typeof a.parent)&&"number"==typeof a.mtime&&Number.isFinite(a.mtime)&&"number"==typeof a.size&&Number.isFinite(a.size)&&(void 0===a.sessionStartedAt||null===a.sessionStartedAt||"string"==typeof a.sessionStartedAt)&&(void 0===a.nativeParentThreadId||null===a.nativeParentThreadId||"string"==typeof a.nativeParentThreadId)&&(void 0===a.nativeForkSourceThreadId||null===a.nativeForkSourceThreadId||"string"==typeof a.nativeForkSourceThreadId)&&("live"===a.activity||"recent"===a.activity||"stalled"===a.activity||"idle"===a.activity)&&(void 0===a.authoritativeTurn||!!s(b=a.authoritativeTurn)&&("busy"===b.state||"terminal"===b.state||"idle"===b.state||"unknown"===b.state)&&("lifecycle"===b.source||"tool"===b.source||"assistant"===b.source||"empty"===b.source)&&(null===b.terminalAt||"string"==typeof b.terminalAt))&&(null===a.proc||"running"===a.proc||"done"===a.proc||"killed"===a.proc)&&(null===a.pid||"number"==typeof a.pid)&&(null===a.model||"string"==typeof a.model)&&(null===a.pendingQuestion||s(a.pendingQuestion))&&(null===a.waitingInput||s(a.waitingInput))}),c=a.projectCatalog.every(a=>s(a)&&"string"==typeof a.project&&"number"==typeof a.smt&&Number.isFinite(a.smt)&&"number"==typeof a.conversations&&Number.isSafeInteger(a.conversations)&&(void 0===a.projectRoot||"string"==typeof a.projectRoot));return b&&c}function u(){try{let a=JSON.parse(g().readFileSync((0,j.BQ)(p),"utf8"));if(!s(a)||1!==a.version||9!==a.schemaVersion||!t(a.snapshot))return;return a.snapshot}catch{return}}function v(){return u()}function w(a){let b,c="create state directory",d=(0,j.BQ)(p);try{let f=(0,j.BQ)(p);d=f,g().mkdirSync(i().dirname(f),{recursive:!0,mode:448}),b=i().join(i().dirname(f),`.${i().basename(f)}.${process.pid}.${e().randomUUID()}.tmp`),c="write temporary snapshot",d=b,g().writeFileSync(b,JSON.stringify({version:1,schemaVersion:9,snapshot:a})+"\n",{encoding:"utf8",mode:384}),c="rename temporary snapshot",d=f,g().renameSync(b,f)}catch(e){if(void 0!==b)try{g().unlinkSync(b)}catch{}let a=Date.now();if(a-q>=6e4){q=a;let b=e instanceof Error?`${e.message}${"code"in e&&e.code?` (${String(e.code)})`:""}`:String(e);console.error(`[files scan cache] ${c} failed for ${d}: ${b}; a later refresh will retry`)}}}function x(a){return s(a)&&"promise"in a?x(a.promise):s(a)&&"function"==typeof a.then?Promise.resolve(a):void 0}function y(a,b,c,d=c,e=new AbortController){let f={generation:b,promise:c,resourcePromise:d,controller:e,subscribers:0,settled:!1};a.refresh=f;let g=()=>{f.settled=!0,a.refresh===f&&(a.refresh=void 0)};return c.then(g,g),f}function z(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function A(a,b){return b?.aborted?Promise.reject(z(b.reason)):(a.subscribers+=1,new Promise((c,d)=>{let e=!0,f=()=>{e&&(e=!1,b?.removeEventListener("abort",g),a.subscribers-=1,0!==a.subscribers||a.settled||a.controller.abort(z()))},g=()=>{f(),d(z(b?.reason))};b?.addEventListener("abort",g,{once:!0}),a.promise.then(a=>{e&&(f(),c(a))},a=>{e&&(f(),d(a))})}))}async function B(a,b,c,d){let e=performance.now();try{let f=await d();return a.lastScan={generation:b,reason:c,status:"complete",durationMs:performance.now()-e},f}catch(d){throw a.lastScan={generation:b,reason:c,status:"failed",durationMs:performance.now()-e},d}}function C(a,b,c,d,e){let f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g="ordinary"===c||"cold"===c;return B(a,b,c,async()=>{let c=await (0,o.uh)({fresh:f,join:g,signal:e},(b,c)=>(0,o.KZ)(b,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,...d?{onResourceSnapshot:d,resourceBaseline:a.snapshot}:{}},c));if(!c.complete)throw Error("filesystem scan incomplete");return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(c),a.snapshot=c,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),c})}function D(a,b,c){let d=new AbortController,e=C(a,b,c,void 0,d.signal);return y(a,b,e,e,d)}function E(a,b,c){var d;let e,f,g,h,i,j,k;return d=(d,e)=>C(a,b,c,d,e),g=new AbortController,h=!1,(i=new Promise((a,b)=>{e=a,f=b})).catch(()=>{}),(k=d(j=a=>{h||(h=!0,e(a))},g.signal)).then(j,a=>{h||f(a)}),y(a,b,k,i,g)}function F(a,b){let c=!1,d=!1,e=new AbortController,f=new Promise(a=>setImmediate(a)).then(()=>{if(c=!0,e.signal.aborted)throw z(e.signal.reason);if(d){if(!a.snapshot)throw Error("deferred file scan canceled without a completed snapshot");return a.snapshot}return C(a,b,"ordinary",void 0,e.signal)}),g=y(a,b,f,f,e);return g.cancelBeforeStart=()=>!c&&(d=!0,!0),g}async function G(a,b,c,d="generation",e){for(;!a.snapshot||a.snapshotGeneration<b||void 0!==c&&(a.pinnedSnapshots?.get(c)?.generation??-1)<b;){let f=a.refresh??(c?function(a,b,c,d){let e=new AbortController,f=void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration,g=B(a,b,d,async()=>{let d=await (0,o.uh)({fresh:f,join:!1,exclusive:!0,signal:e.signal},(a,b)=>(0,o.KZ)(a,{persistIndex:"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER,pin:c},b));if(!d.complete)throw Error("filesystem scan incomplete");let g=d.pinOverlayPaths??[],h=new Set(g),i={files:d.files.filter(a=>!h.has(a.path)),projectCatalog:d.projectCatalog,complete:!0};for(a.pinnedSnapshots??=new Map,a.pinnedSnapshots.delete(c),a.pinnedSnapshots.set(c,{snapshot:{...i,files:d.files},...g.length?{pinOverlayPaths:g}:{},generation:b,refreshedAt:Date.now()});a.pinnedSnapshots.size>8;){let b=a.pinnedSnapshots.keys().next().value;if(void 0===b)break;a.pinnedSnapshots.delete(b),a.pinnedGenerations?.delete(b)}return"1"!==process.env.LLV_RESOURCE_OBSERVATION_WORKER&&w(i),a.snapshot=i,a.snapshotGeneration=Math.max(a.snapshotGeneration,b),a.refreshedAt=Date.now(),a.completedAt=a.refreshedAt,f&&void 0!==a.freshObservationGeneration&&b>=a.freshObservationGeneration&&(a.freshObservationGeneration=void 0),i});return y(a,b,g,g,e)}(a,b,c,d):D(a,b,d));await A(f,e)}return a.snapshot}function H(a,b){let c=a.pinnedSnapshots?.get(b);if(c)return a.pinnedSnapshots.delete(b),a.pinnedSnapshots.set(b,c),c}function I(a,b,c,d){let e=performance.now(),f=b?H(a,b):void 0;if(f){let b=structuredClone({snapshot:f.snapshot,pinOverlayPaths:f.pinOverlayPaths,generation:f.generation,targetGeneration:c});return{...b,cacheStatus:d??(b.generation<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:f.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}return{snapshot:structuredClone(a.snapshot),generation:a.snapshotGeneration,targetGeneration:c,cacheStatus:d??(a.snapshotGeneration<c?"stale":"hit"),requestCount:a.requestCount??0,cloneDurationMs:performance.now()-e,refreshedAt:a.completedAt??a.refreshedAt,...a.lastScan?{lastScan:{...a.lastScan}}:{}}}function J(a){return a.requestedGeneration+=1,a.requestedGeneration}function K(a){a.catch(()=>void 0)}function L(a,b,c){a.pinnedGenerations??=new Map;let d=Math.max(a.pinnedGenerations.get(b)??-1,c);for(a.pinnedGenerations.delete(b),a.pinnedGenerations.set(b,d);a.pinnedGenerations.size>8;){let b=a.pinnedGenerations.keys().next().value;if(void 0===b)break;a.pinnedGenerations.delete(b)}return d}function M(){let a=(r.__llvFilesRouteScans??=new Map,r.__llvFilesRouteScans),b=a.get("");if(void 0===b){let b=u();b&&function(a){for(let b of((0,m.X)(a.files),a.files)){let a;if(!0!==b.derivationComplete)continue;try{a=g().statSync(b.path)}catch{continue}if(a.size!==b.size||a.mtimeMs/1e3!==b.mtime)continue;let c=1e3*b.mtime,d=function(a){if("jsonl_turn_open"===a.activityReason||"jsonl_turn_stalled"===a.activityReason||"pane_at_composer"===a.activityReason)return{state:"busy",source:"lifecycle",terminalAt:null};if("jsonl_turn_completed"===a.activityReason){let b=a.lastTurn?.endedAt;return{state:"terminal",source:"lifecycle",terminalAt:"number"==typeof b&&Number.isFinite(b)?new Date(b).toISOString():null}}if("mtime_fresh"===a.activityReason||"mtime_recent"===a.activityReason||"mtime_old"===a.activityReason)return{state:"unknown",source:"empty",terminalAt:null}}(b);void 0!==d&&b.path.endsWith(".jsonl")&&("claude"===b.engine||"codex"===b.engine)&&((0,k.Ul)(b.path,b.size,c,"codex"===b.engine,d,{authoritative:!1,composerReleased:"pane_at_composer"===b.activityReason}),b.authoritativeTurn?(0,k.Ul)(b.path,b.size,c,"codex"===b.engine,b.authoritativeTurn,{composerReleased:"pane_at_composer"===b.activityReason}):("codex"===b.engine||"terminal"!==d.state)&&(0,k.Ul)(b.path,b.size,c,"codex"===b.engine,d,{composerReleased:"pane_at_composer"===b.activityReason})),"claude-projects"===b.root&&b.path.includes(`${i().sep}subagents${i().sep}`)||(0,l.E)("model").set(b.path,[b.size,c,{display:b.model,launch:b.launchModel??null}]),Object.hasOwn(b,"effort")&&("claude"!==b.engine||"running"!==b.proc)&&(0,l.E)("effort").set(b.path,[b.size,c,b.effort??null]),Object.hasOwn(b,"plan")&&(0,l.E)("plan-v2").set(b.path,[b.size,c,b.plan]),Object.hasOwn(b,"goal")&&(0,l.E)("goal-v2").set(b.path,[b.size,c,b.goal]),Object.hasOwn(b,"ctx")&&(0,l.E)("ctx-v2").set(b.path,[b.size,c,b.ctx]),Object.hasOwn(b,"lastTurn")&&(0,l.E)("last-turn-v5").set(b.path,[b.size,c,b.lastTurn]),Object.hasOwn(b,"pendingWakeup")&&(0,l.E)("wakeup-v2").set(b.path,[b.size,c,b.pendingWakeup]),"claude-projects"===b.root&&b.path.endsWith(".jsonl")&&(0,l.E)(n.oS).set(b.path,[b.size,c,function(a){if(!a.pendingQuestion)return null;let{pid:b,paneTarget:c,...d}=a.pendingQuestion;return d}(b)])}}(b);let c={schemaVersion:9,snapshot:b,snapshotGeneration:0,requestedGeneration:0,refreshedAt:0,completedAt:b?function(){try{return g().statSync((0,j.BQ)(p)).mtimeMs}catch{return 0}}():0};return a.set("",c),c}let c=function(a){if(s(a)&&9===a.schemaVersion&&Number.isSafeInteger(a.snapshotGeneration)&&Number.isSafeInteger(a.requestedGeneration)){let b=x(a.refresh);return!b||a.refresh?.controller&&Number.isSafeInteger(a.refresh.subscribers)||y(a,a.refresh?.generation??0,b),a}let b=s(a)?a:{},c={schemaVersion:9,snapshot:t(b.snapshot)?b.snapshot:void 0,snapshotGeneration:0,requestedGeneration:0,refreshedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0,completedAt:"number"==typeof b.completedAt&&Number.isFinite(b.completedAt)?b.completedAt:"number"==typeof b.refreshedAt&&Number.isFinite(b.refreshedAt)?b.refreshedAt:0},d=x(b.refresh);if(d){let a=d.then(a=>{if(!a.complete)throw Error("filesystem scan incomplete");return c.snapshot=a,c.refreshedAt=Date.now(),c.completedAt=c.refreshedAt,a});y(c,0,a)}return c}(b);return a.delete(""),a.set("",c),c}async function N(a,b,c=Date.now(),d,e){let f=M();f.requestCount=(f.requestCount??0)+1;let g=b&&!f.snapshot?.files.some(a=>a.path===b)?b:void 0,h=g?f.pinnedSnapshots?.get(g):void 0,i=void 0===g||void 0!==h,j=h?.refreshedAt??f.refreshedAt;if(void 0!==d&&f.snapshot&&i&&(void 0!==f.refresh&&f.refresh.generation>(h?.generation??f.snapshotGeneration)||f.lastScan?.reason==="revision"&&c-j<3e5)){let a=h?.generation??f.snapshotGeneration;return I(f,g,a,f.refresh?"stale":"hit")}let k=void 0!==e&&e<=f.requestedGeneration?e:void 0;if(void 0!==k)g&&(k=L(f,g,k));else if(void 0!==d){let a;f.forcedRevision===d&&void 0!==f.forcedGeneration?a=f.forcedGeneration:(a=J(f),f.forcedRevision=d,f.forcedGeneration=a),k=a,g&&(k=L(f,g,a));let b=G(f,k,g,"revision"),c=()=>{f.forcedGeneration===a&&(f.forcedRevision=void 0,f.forcedGeneration=void 0)};if(!f.snapshot)try{return await b,I(f,g,k,"miss")}finally{c()}b.then(c,c)}if(void 0!==k){let a=G(f,k,g,"generation"),b=!f.snapshot;return b?await a:K(a),I(f,g,k,b?"miss":void 0)}if(g){let a,b;f.pinnedSnapshots??=new Map;let d=H(f,g);if(d&&c-d.refreshedAt<1e3)return I(f,g,d.generation);a=f.pinnedGenerations?.get(g),b=f.pinnedSnapshots?.get(g)?.generation??-1;let e=G(f,k=void 0!==a&&a>b?a:L(f,g,J(f)),g,"pinned"),h=!f.snapshot;return h?await e:K(e),I(f,g,k,h?"miss":void 0)}if(!f.snapshot){k=f.refresh?.generation??J(f);let a=f.refresh??D(f,k,"cold");return await A(a),I(f,void 0,k,"miss")}return f.refresh?k=f.refresh.generation:c-Math.max(f.refreshedAt,f.ordinaryRefreshRequestedAt??0)>=3e5?(k=J(f),f.ordinaryRefreshRequestedAt=c,F(f,k)):k=f.snapshotGeneration,I(f,void 0,k)}async function O({revalidate:a=!0,signal:b}={}){let c=M();if(c.requestCount=(c.requestCount??0)+1,c.snapshot){let b=Date.now();if(a&&!c.refresh&&b-Math.max(c.refreshedAt,c.ordinaryRefreshRequestedAt??0)>=3e5){let a=J(c);c.ordinaryRefreshRequestedAt=b,F(c,a)}return I(c,void 0,c.snapshotGeneration)}let d=c.refresh?.generation??J(c),e=c.refresh??D(c,d,"cold");return await A(e,b),I(c,void 0,d,"miss")}async function P({fresh:a=!1,now:b=Date.now()}={}){if(a){let a=M(),b=a.freshObservationGeneration??J(a);return a.freshObservationGeneration=b,await G(a,b,void 0,"fresh"),I(a,void 0,b)}let c=await N(void 0,void 0,b);if(c.generation>=c.targetGeneration)return c;let d=M();return await G(d,c.targetGeneration,void 0,"current"),I(d,void 0,c.targetGeneration)}async function Q(){let a,b=M();b.requestCount=(b.requestCount??0)+1;let c=b.freshObservationGeneration;if(void 0===c){let d=b.refresh;d?.cancelBeforeStart?.()?(c=J(b),b.freshObservationGeneration=c,a=E(b,c,"fresh")):d?c=d.generation:(c=J(b),b.freshObservationGeneration=c)}for(;;){let d=a??b.refresh??E(b,c,"fresh");a=void 0;let e=await d.resourcePromise;if(d.generation>=c)return{snapshot:e,generation:d.generation,targetGeneration:c,cacheStatus:"miss",requestCount:b.requestCount??0,cloneDurationMs:0,refreshedAt:Date.now(),...b.lastScan?{lastScan:{...b.lastScan}}:{}};await A(d)}}},36552:(a,b,c)=>{c.d(b,{wj:()=>v,uh:()=>u,KZ:()=>q});var d=c(59376),e=c(31421),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);let j={setTimeout:(a,b)=>setTimeout(a,b),clearTimeout:a=>{clearTimeout(a)}};var k=c(54132),l=c(65377),m=c(20707);function n(){return new DOMException("file scan cancelled","AbortError")}function o(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}let p=globalThis;function q(a,b={},c=new AbortController().signal){let f={...b,persist:a.persist,...a.fresh?{fresh:!0}:{}};if(c.aborted)return Promise.reject(s(c.reason));if(!function(a=process.env){return"test"!==a.NODE_ENV&&"1"!==a.LLV_FILE_SCANNER_WORKER&&"1"!==a.LLV_FILE_SCANNER_WORKER_DISABLED}())return(0,d.SW)(void 0,{...f,signal:c}).then(a=>{if(c.aborted)throw s(c.reason);return a});let{onResourceSnapshot:h,...p}=f;return function(a,b,c={}){if(c.signal?.aborted)return Promise.reject(n());let d=(0,m.FX)(!1),f=c.launch??function(a=process.cwd()){let b=i().join(a,"src/lib/fileScanner.worker.ts"),c=i().join(a,".next/server/file-scanner-worker.js");return g().existsSync(b)&&g().existsSync("/usr/local/bin/bun-container")?{executable:"/usr/local/bin/bun-container",workerPath:b}:g().existsSync(c)?{executable:process.versions.bun?process.execPath:process.env.LLV_BUN_EXECUTABLE||"bun",workerPath:c}:{executable:process.execPath,workerPath:b}}(c.cwd),h=void 0===c.launch&&g().existsSync("/usr/bin/nice"),p=(0,e.spawn)(h?"/usr/bin/nice":f.executable,[...h?["-n","10",f.executable]:[],f.workerPath],{cwd:c.cwd??process.cwd(),stdio:["pipe","pipe","pipe"],env:{...(0,l.Fd)(c.env??process.env),LLV_FILE_SCANNER_WORKER:"1"}});return new Promise((e,f)=>{let g,h,i=c.scheduler??j,l=!1,q=!1,r="",s="",t=0,u=null,v=null,w=(a,b)=>{l||(l=!0,void 0!==h&&(i.clearTimeout(h),h=void 0),q&&(c.signal?.removeEventListener("abort",z),q=!1),a?f(a):e(b))},x=a=>{if(!l&&!v){v=a;try{p.kill("SIGKILL")}catch{}(null!==p.exitCode||null!==p.signalCode)&&w(a)}},y=a=>{x(Error(a))},z=()=>x(n()),A=()=>{for(;;){let a,c=r.indexOf("\n");if(c<0)return;let d=r.slice(0,c);if(r=r.slice(c+1),!d)continue;try{a=JSON.parse(d)}catch{y("file scanner worker emitted invalid JSON");return}let e=function(a){var b;return o(a)&&("resource"===a.type||"complete"===a.type)&&o(b=a.snapshot)&&Array.isArray(b.files)&&Array.isArray(b.projectCatalog)&&"boolean"==typeof b.complete&&(void 0===b.conversationCatalog||Array.isArray(b.conversationCatalog))&&(void 0===b.pinOverlayPaths||Array.isArray(b.pinOverlayPaths))?a:null}(a);if(!e)return void y("file scanner worker emitted an invalid message");if("resource"===e.type)b?.(e.snapshot);else{let{conversationCatalog:a,...b}=e.snapshot;g=a,u=b}}};h=i.setTimeout(()=>{h=void 0,y("file scanner worker timed out")},c.timeoutMs??3e5),p.once("error",a=>w(a)),p.stdout.setEncoding("utf8"),p.stdout.on("data",a=>{(t+=Buffer.byteLength(a))>0x2000000?y("file scanner worker exceeded output limit"):(r+=a,A())}),p.stderr.setEncoding("utf8"),p.stderr.on("data",a=>{s=`${s}${a}`,Buffer.byteLength(s)>4096&&(s=Buffer.from(s).subarray(-4096).toString("utf8"))}),p.once("close",(a,b)=>{if(!l){if(v)return void w(v);if(A(),0!==a||!u){let c=s.trim();w(Error(`file scanner worker exited before completion (${b??a??"unknown"})${c?`: ${c}`:""}`));return}if(g){let a=(0,m.pu)(d);(0,m.OQ)(g,d,u.complete),a&&(c.transcriptIndexScheduler??k.O)({complete:u.complete,sources:g.map(a=>({path:a.path,project:a.project,engine:a.engine,size:a.size,mtimeMs:1e3*a.mtime}))})}w(void 0,u)}}),p.stdin.once("error",a=>{v||w(a)}),c.signal&&(c.signal.addEventListener("abort",z,{once:!0}),q=!0,c.signal.aborted&&z()),p.stdin.end(JSON.stringify({type:"scan",options:a}))})}(p,h,{signal:c})}let r=(a,b)=>q(a,{},b);function s(a){return a instanceof Error&&"AbortError"===a.name?a:new DOMException("file scan cancelled","AbortError")}function t(a,b){if(b.settled||b.subscribers>0||(b.controller.abort(s()),b.started))return;let c=a.queue.indexOf(b);c>=0&&a.queue.splice(c,1),b.settled=!0,b.reject(s())}async function u(a={},b=r){var c,d;let e=p.__llvFileScanCoordinator??={generation:0,queue:[],startScheduled:!1};if(a.signal?.aborted)throw s(a.signal.reason);let f={persist:!0===a.persist,fresh:!0===a.fresh},g=!0===a.exclusive,h=e.inflight,i=g||!h||h.controller.signal.aborted||h.exclusive||!1===a.join||(c=h.intent,!c.persist&&f.persist||!c.fresh&&f.fresh)?function(a,b,c,d){let e,f,g;if(!d){let c=a.queue.find(a=>!a.exclusive);if(c)return c.intent={persist:c.intent.persist||b.persist,fresh:c.intent.fresh||b.fresh},c}let h=((g=new Promise((a,b)=>{e=a,f=b})).catch(()=>void 0),{generation:0,intent:b,runner:c,exclusive:d,controller:new AbortController,subscribers:0,started:!1,settled:!1,promise:g,resolve:e,reject:f});return a.queue.push(h),function a(b){b.startScheduled||(b.startScheduled=!0,queueMicrotask(()=>{if(b.startScheduled=!1,b.inflight)return;let c=b.queue.shift();c&&function(b,c){let d;b.generation+=1,c.generation=b.generation,c.started=!0,b.inflight=c;try{d=Promise.resolve(c.runner(c.intent,c.controller.signal))}catch(a){d=Promise.reject(a)}d.then(a=>{c.settled=!0,c.resolve(a)},a=>{c.settled=!0,c.reject(a)}).finally(()=>{b.inflight===c&&(b.inflight=void 0),a(b)})}(b,c)}))}(a),h}(e,f,b,g):h;return d=a.signal,d?.aborted?(t(e,i),Promise.reject(s(d.reason))):(i.subscribers+=1,new Promise((a,b)=>{let c=!0,f=()=>{c&&(c=!1,d?.removeEventListener("abort",g),i.subscribers-=1,t(e,i))},g=()=>{f(),b(s(d?.reason))};d?.addEventListener("abort",g,{once:!0}),i.promise.then(b=>{c&&(f(),a(structuredClone(b)))},a=>{c&&(f(),b(a))})}))}function v(){return u({persist:!0})}}};
@@ -0,0 +1,10 @@
1
+ "use strict";exports.id=3139,exports.ids=[3139],exports.modules={83139:(a,b,c)=>{let d;function e(a){return a?a instanceof Headers?Object.fromEntries(a.entries()):Array.isArray(a)?Object.fromEntries(a):{...a}:{}}c.d(b,{StreamableHTTPClientTransport:()=>as});var f,g=c(9676);async function h(a){return(await d).getRandomValues(new Uint8Array(a))}async function i(a){let b="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~",c=256-256%b.length,d="";for(;d.length<a;)for(let e of(await h(a-d.length)))e<c&&(d+=b[e%b.length]);return d}async function j(a){return await i(a)}async function k(a){return btoa(String.fromCharCode(...new Uint8Array(await (await d).subtle.digest("SHA-256",new TextEncoder().encode(a))))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function l(a){if(a||(a=43),a<43||a>128)throw`Expected a length between 43 and 128. Received ${a}.`;let b=await j(a),c=await k(b);return{code_verifier:b,code_challenge:c}}d=globalThis.crypto?.webcrypto??globalThis.crypto??Promise.resolve().then(c.t.bind(c,77598,19)).then(a=>a.webcrypto);var m=c(45218);f||(f={});var n=c(46462),o=c(99449);let p=m.OZ().superRefine((a,b)=>{if(!URL.canParse(a))return b.addIssue({code:"custom",message:"URL must be parseable",fatal:!0}),n.tm}).refine(a=>{let b=new URL(a);return"javascript:"!==b.protocol&&"data:"!==b.protocol&&"vbscript:"!==b.protocol},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),q=m._H({resource:m.Yj().url(),authorization_servers:m.YO(p).optional(),jwks_uri:m.Yj().url().optional(),scopes_supported:m.YO(m.Yj()).optional(),bearer_methods_supported:m.YO(m.Yj()).optional(),resource_signing_alg_values_supported:m.YO(m.Yj()).optional(),resource_name:m.Yj().optional(),resource_documentation:m.Yj().optional(),resource_policy_uri:m.Yj().url().optional(),resource_tos_uri:m.Yj().url().optional(),tls_client_certificate_bound_access_tokens:m.zM().optional(),authorization_details_types_supported:m.YO(m.Yj()).optional(),dpop_signing_alg_values_supported:m.YO(m.Yj()).optional(),dpop_bound_access_tokens_required:m.zM().optional()}),r=m._H({issuer:m.Yj(),authorization_endpoint:p,token_endpoint:p,registration_endpoint:p.optional(),scopes_supported:m.YO(m.Yj()).optional(),response_types_supported:m.YO(m.Yj()),response_modes_supported:m.YO(m.Yj()).optional(),grant_types_supported:m.YO(m.Yj()).optional(),token_endpoint_auth_methods_supported:m.YO(m.Yj()).optional(),token_endpoint_auth_signing_alg_values_supported:m.YO(m.Yj()).optional(),service_documentation:p.optional(),revocation_endpoint:p.optional(),revocation_endpoint_auth_methods_supported:m.YO(m.Yj()).optional(),revocation_endpoint_auth_signing_alg_values_supported:m.YO(m.Yj()).optional(),introspection_endpoint:m.Yj().optional(),introspection_endpoint_auth_methods_supported:m.YO(m.Yj()).optional(),introspection_endpoint_auth_signing_alg_values_supported:m.YO(m.Yj()).optional(),code_challenge_methods_supported:m.YO(m.Yj()).optional(),client_id_metadata_document_supported:m.zM().optional()}),s=m._H({issuer:m.Yj(),authorization_endpoint:p,token_endpoint:p,userinfo_endpoint:p.optional(),jwks_uri:p,registration_endpoint:p.optional(),scopes_supported:m.YO(m.Yj()).optional(),response_types_supported:m.YO(m.Yj()),response_modes_supported:m.YO(m.Yj()).optional(),grant_types_supported:m.YO(m.Yj()).optional(),acr_values_supported:m.YO(m.Yj()).optional(),subject_types_supported:m.YO(m.Yj()),id_token_signing_alg_values_supported:m.YO(m.Yj()),id_token_encryption_alg_values_supported:m.YO(m.Yj()).optional(),id_token_encryption_enc_values_supported:m.YO(m.Yj()).optional(),userinfo_signing_alg_values_supported:m.YO(m.Yj()).optional(),userinfo_encryption_alg_values_supported:m.YO(m.Yj()).optional(),userinfo_encryption_enc_values_supported:m.YO(m.Yj()).optional(),request_object_signing_alg_values_supported:m.YO(m.Yj()).optional(),request_object_encryption_alg_values_supported:m.YO(m.Yj()).optional(),request_object_encryption_enc_values_supported:m.YO(m.Yj()).optional(),token_endpoint_auth_methods_supported:m.YO(m.Yj()).optional(),token_endpoint_auth_signing_alg_values_supported:m.YO(m.Yj()).optional(),display_values_supported:m.YO(m.Yj()).optional(),claim_types_supported:m.YO(m.Yj()).optional(),claims_supported:m.YO(m.Yj()).optional(),service_documentation:m.Yj().optional(),claims_locales_supported:m.YO(m.Yj()).optional(),ui_locales_supported:m.YO(m.Yj()).optional(),claims_parameter_supported:m.zM().optional(),request_parameter_supported:m.zM().optional(),request_uri_parameter_supported:m.zM().optional(),require_request_uri_registration:m.zM().optional(),op_policy_uri:p.optional(),op_tos_uri:p.optional(),client_id_metadata_document_supported:m.zM().optional()}),t=m.Ik({...s.shape,...r.pick({code_challenge_methods_supported:!0}).shape}),u=m.Ik({access_token:m.Yj(),id_token:m.Yj().optional(),token_type:m.Yj(),expires_in:o.qG(m.rS,void 0).optional(),scope:m.Yj().optional(),refresh_token:m.Yj().optional()}).strip(),v=m.Ik({error:m.Yj(),error_description:m.Yj().optional(),error_uri:m.Yj().optional()}),w=p.optional().or(m.eu("").transform(()=>void 0)),x=m.Ik({redirect_uris:m.YO(p),token_endpoint_auth_method:m.Yj().optional(),grant_types:m.YO(m.Yj()).optional(),response_types:m.YO(m.Yj()).optional(),client_name:m.Yj().optional(),client_uri:p.optional(),logo_uri:w,scope:m.Yj().optional(),contacts:m.YO(m.Yj()).optional(),tos_uri:w,policy_uri:m.Yj().optional(),jwks_uri:p.optional(),jwks:m.bz().optional(),software_id:m.Yj().optional(),software_version:m.Yj().optional(),software_statement:m.Yj().optional()}).strip(),y=m.Ik({client_id:m.Yj(),client_secret:m.Yj().optional(),client_id_issued_at:m.ai().optional(),client_secret_expires_at:m.ai().optional()}).strip(),z=x.merge(y);m.Ik({error:m.Yj(),error_description:m.Yj().optional()}).strip(),m.Ik({token:m.Yj(),token_type_hint:m.Yj().optional()}).strip();class A extends Error{constructor(a,b){super(a),this.errorUri=b,this.name=this.constructor.name}toResponseObject(){let a={error:this.errorCode,error_description:this.message};return this.errorUri&&(a.error_uri=this.errorUri),a}get errorCode(){return this.constructor.errorCode}}class B extends A{}B.errorCode="invalid_request";class C extends A{}C.errorCode="invalid_client";class D extends A{}D.errorCode="invalid_grant";class E extends A{}E.errorCode="unauthorized_client";class F extends A{}F.errorCode="unsupported_grant_type";class G extends A{}G.errorCode="invalid_scope";class H extends A{}H.errorCode="access_denied";class I extends A{}I.errorCode="server_error";class J extends A{}J.errorCode="temporarily_unavailable";class K extends A{}K.errorCode="unsupported_response_type";class L extends A{}L.errorCode="unsupported_token_type";class M extends A{}M.errorCode="invalid_token";class N extends A{}N.errorCode="method_not_allowed";class O extends A{}O.errorCode="too_many_requests";class P extends A{}P.errorCode="invalid_client_metadata";class Q extends A{}Q.errorCode="insufficient_scope";class R extends A{}R.errorCode="invalid_target";let S={[B.errorCode]:B,[C.errorCode]:C,[D.errorCode]:D,[E.errorCode]:E,[F.errorCode]:F,[G.errorCode]:G,[H.errorCode]:H,[I.errorCode]:I,[J.errorCode]:J,[K.errorCode]:K,[L.errorCode]:L,[M.errorCode]:M,[N.errorCode]:N,[O.errorCode]:O,[P.errorCode]:P,[Q.errorCode]:Q,[R.errorCode]:R};class T extends Error{constructor(a){super(a??"Unauthorized")}}let U="code",V="S256";async function W(a){let b=a instanceof Response?a.status:void 0,c=a instanceof Response?await a.text():a;try{let{error:a,error_description:b,error_uri:d}=v.parse(JSON.parse(c));return new(S[a]||I)(b||"",d)}catch(a){return new I(`${b?`HTTP ${b}: `:""}Invalid OAuth error response: ${a}. Raw body: ${c}`)}}async function X(a,b){try{return await Y(a,b)}catch(c){if(c instanceof C||c instanceof E)return await a.invalidateCredentials?.("all"),await Y(a,b);if(c instanceof D)return await a.invalidateCredentials?.("tokens"),await Y(a,b);throw c}}async function Y(a,{serverUrl:b,authorizationCode:c,scope:d,resourceMetadataUrl:e,fetchFn:f}){let g,h,i,j=await a.discoveryState?.(),k=e;if(!k&&j?.resourceMetadataUrl&&(k=new URL(j.resourceMetadataUrl)),j?.authorizationServerUrl){if(h=j.authorizationServerUrl,g=j.resourceMetadata,i=j.authorizationServerMetadata??await ae(h,{fetchFn:f}),!g)try{g=await aa(b,{resourceMetadataUrl:k},f)}catch{}(i!==j.authorizationServerMetadata||g!==j.resourceMetadata)&&await a.saveDiscoveryState?.({authorizationServerUrl:String(h),resourceMetadataUrl:k?.toString(),resourceMetadata:g,authorizationServerMetadata:i})}else{let c=await af(b,{resourceMetadataUrl:k,fetchFn:f});h=c.authorizationServerUrl,i=c.authorizationServerMetadata,g=c.resourceMetadata,await a.saveDiscoveryState?.({authorizationServerUrl:String(h),resourceMetadataUrl:k?.toString(),resourceMetadata:g,authorizationServerMetadata:i})}let l=await Z(b,a,g),m=d||g?.scopes_supported?.join(" ")||a.clientMetadata.scope,n=await Promise.resolve(a.clientInformation());if(!n){if(void 0!==c)throw Error("Existing OAuth client information is required when exchanging an authorization code");let b=i?.client_id_metadata_document_supported===!0,d=a.clientMetadataUrl;if(d&&!function(a){if(!a)return!1;try{let b=new URL(a);return"https:"===b.protocol&&"/"!==b.pathname}catch{return!1}}(d))throw new P(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${d}`);if(b&&d)n={client_id:d},await a.saveClientInformation?.(n);else{if(!a.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let b=await ak(h,{metadata:i,clientMetadata:a.clientMetadata,scope:m,fetchFn:f});await a.saveClientInformation(b),n=b}}let o=!a.redirectUrl;if(void 0!==c||o){let b=await aj(a,h,{metadata:i,resource:l,authorizationCode:c,fetchFn:f});return await a.saveTokens(b),"AUTHORIZED"}let p=await a.tokens();if(p?.refresh_token)try{let b=await ai(h,{metadata:i,clientInformation:n,refreshToken:p.refresh_token,resource:l,addClientAuthentication:a.addClientAuthentication,fetchFn:f});return await a.saveTokens(b),"AUTHORIZED"}catch(a){if(!(a instanceof A)||a instanceof I);else throw a}let q=a.state?await a.state():void 0,{authorizationUrl:r,codeVerifier:s}=await ag(h,{metadata:i,clientInformation:n,state:q,redirectUrl:a.redirectUrl,scope:m,resource:l});return await a.saveCodeVerifier(s),await a.redirectToAuthorization(r),"REDIRECT"}async function Z(a,b,c){let d,e=((d=new URL("string"==typeof a?a:a.href)).hash="",d);if(b.validateResourceURL)return await b.validateResourceURL(e,c?.resource);if(c){if(!function({requestedResource:a,configuredResource:b}){let c=new URL("string"==typeof a?a:a.href),d=new URL("string"==typeof b?b:b.href);if(c.origin!==d.origin||c.pathname.length<d.pathname.length)return!1;let e=c.pathname.endsWith("/")?c.pathname:c.pathname+"/",f=d.pathname.endsWith("/")?d.pathname:d.pathname+"/";return e.startsWith(f)}({requestedResource:e,configuredResource:c.resource}))throw Error(`Protected resource ${c.resource} does not match expected ${e} (or origin)`);return new URL(c.resource)}}function $(a){let b,c=a.headers.get("WWW-Authenticate");if(!c)return{};let[d,e]=c.split(" ");if("bearer"!==d.toLowerCase()||!e)return{};let f=_(a,"resource_metadata")||void 0;if(f)try{b=new URL(f)}catch{}return{resourceMetadataUrl:b,scope:_(a,"scope")||void 0,error:_(a,"error")||void 0}}function _(a,b){let c=a.headers.get("WWW-Authenticate");if(!c)return null;let d=RegExp(`${b}=(?:"([^"]+)"|([^\\s,]+))`),e=c.match(d);return e?e[1]||e[2]:null}async function aa(a,b,c=fetch){let d=await ad(a,"oauth-protected-resource",c,{protocolVersion:b?.protocolVersion,metadataUrl:b?.resourceMetadataUrl});if(!d||404===d.status)throw await d?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!d.ok)throw await d.body?.cancel(),Error(`HTTP ${d.status} trying to load well-known OAuth protected resource metadata.`);return q.parse(await d.json())}async function ab(a,b,c=fetch){try{return await c(a,{headers:b})}catch(d){if(d instanceof TypeError)if(b)return ab(a,void 0,c);else return;throw d}}async function ac(a,b,c=fetch){return await ab(a,{"MCP-Protocol-Version":b},c)}async function ad(a,b,c,d){var e,f;let h,i=new URL(a),j=d?.protocolVersion??g.aE;d?.metadataUrl?h=new URL(d.metadataUrl):(h=new URL(function(a,b="",c={}){return b.endsWith("/")&&(b=b.slice(0,-1)),c.prependPathname?`${b}/.well-known/${a}`:`/.well-known/${a}${b}`}(b,i.pathname),d?.metadataServerUrl??i)).search=i.search;let k=await ac(h,j,c);if(!d?.metadataUrl&&(e=k,f=i.pathname,!e||e.status>=400&&e.status<500&&"/"!==f)){let a=new URL(`/.well-known/${b}`,i);k=await ac(a,j,c)}return k}async function ae(a,{fetchFn:b=fetch,protocolVersion:c=g.aE}={}){let d={"MCP-Protocol-Version":c,Accept:"application/json"};for(let{url:c,type:e}of function(a){let b="string"==typeof a?new URL(a):a,c="/"!==b.pathname,d=[];if(!c)return d.push({url:new URL("/.well-known/oauth-authorization-server",b.origin),type:"oauth"}),d.push({url:new URL("/.well-known/openid-configuration",b.origin),type:"oidc"}),d;let e=b.pathname;return e.endsWith("/")&&(e=e.slice(0,-1)),d.push({url:new URL(`/.well-known/oauth-authorization-server${e}`,b.origin),type:"oauth"}),d.push({url:new URL(`/.well-known/openid-configuration${e}`,b.origin),type:"oidc"}),d.push({url:new URL(`${e}/.well-known/openid-configuration`,b.origin),type:"oidc"}),d}(a)){let a=await ab(c,d,b);if(a){if(!a.ok){if(await a.body?.cancel(),a.status>=400&&a.status<500)continue;throw Error(`HTTP ${a.status} trying to load ${"oauth"===e?"OAuth":"OpenID provider"} metadata from ${c}`)}if("oauth"===e)return r.parse(await a.json());return t.parse(await a.json())}}}async function af(a,b){let c,d;try{(c=await aa(a,{resourceMetadataUrl:b?.resourceMetadataUrl},b?.fetchFn)).authorization_servers&&c.authorization_servers.length>0&&(d=c.authorization_servers[0])}catch{}d||(d=String(new URL("/",a)));let e=await ae(d,{fetchFn:b?.fetchFn});return{authorizationServerUrl:d,authorizationServerMetadata:e,resourceMetadata:c}}async function ag(a,{metadata:b,clientInformation:c,redirectUrl:d,scope:e,state:f,resource:g}){let h;if(b){if(h=new URL(b.authorization_endpoint),!b.response_types_supported.includes(U))throw Error(`Incompatible auth server: does not support response type ${U}`);if(b.code_challenge_methods_supported&&!b.code_challenge_methods_supported.includes(V))throw Error(`Incompatible auth server: does not support code challenge method ${V}`)}else h=new URL("/authorize",a);let i=await l(),j=i.code_verifier,k=i.code_challenge;return h.searchParams.set("response_type",U),h.searchParams.set("client_id",c.client_id),h.searchParams.set("code_challenge",k),h.searchParams.set("code_challenge_method",V),h.searchParams.set("redirect_uri",String(d)),f&&h.searchParams.set("state",f),e&&h.searchParams.set("scope",e),e?.includes("offline_access")&&h.searchParams.append("prompt","consent"),g&&h.searchParams.set("resource",g.href),{authorizationUrl:h,codeVerifier:j}}async function ah(a,{metadata:b,tokenRequestParams:c,clientInformation:d,addClientAuthentication:e,resource:f,fetchFn:g}){var h,i;let j,k=b?.token_endpoint?new URL(b.token_endpoint):new URL("/token",a),l=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});f&&c.set("resource",f.href),e?await e(l,c,k,b):d&&function(a,b,c,d){let{client_id:e,client_secret:f}=b;switch(a){case"client_secret_basic":var g,h,i,j,k=e,l=f,m=c;if(!l)throw Error("client_secret_basic authentication requires a client_secret");let n=btoa(`${k}:${l}`);m.set("Authorization",`Basic ${n}`);return;case"client_secret_post":g=e,h=f,(i=d).set("client_id",g),h&&i.set("client_secret",h);return;case"none":j=e,d.set("client_id",j);return;default:throw Error(`Unsupported client authentication method: ${a}`)}}((h=d,i=b?.token_endpoint_auth_methods_supported??[],j=void 0!==h.client_secret,"token_endpoint_auth_method"in h&&h.token_endpoint_auth_method&&["client_secret_basic","client_secret_post","none"].includes(h.token_endpoint_auth_method)&&(0===i.length||i.includes(h.token_endpoint_auth_method))?h.token_endpoint_auth_method:0===i.length?j?"client_secret_basic":"none":j&&i.includes("client_secret_basic")?"client_secret_basic":j&&i.includes("client_secret_post")?"client_secret_post":i.includes("none")?"none":j?"client_secret_post":"none"),d,l,c);let m=await (g??fetch)(k,{method:"POST",headers:l,body:c});if(!m.ok)throw await W(m);return u.parse(await m.json())}async function ai(a,{metadata:b,clientInformation:c,refreshToken:d,resource:e,addClientAuthentication:f,fetchFn:g}){let h=new URLSearchParams({grant_type:"refresh_token",refresh_token:d});return{refresh_token:d,...await ah(a,{metadata:b,tokenRequestParams:h,clientInformation:c,addClientAuthentication:f,resource:e,fetchFn:g})}}async function aj(a,b,{metadata:c,resource:d,authorizationCode:e,fetchFn:f}={}){let g,h=a.clientMetadata.scope;if(a.prepareTokenRequest&&(g=await a.prepareTokenRequest(h)),!g){if(!e)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!a.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");g=new URLSearchParams({grant_type:"authorization_code",code:e,code_verifier:await a.codeVerifier(),redirect_uri:String(a.redirectUrl)})}return ah(b,{metadata:c,tokenRequestParams:g,clientInformation:await a.clientInformation()??void 0,addClientAuthentication:a.addClientAuthentication,resource:d,fetchFn:f})}async function ak(a,{metadata:b,clientMetadata:c,scope:d,fetchFn:e}){let f;if(b){if(!b.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");f=new URL(b.registration_endpoint)}else f=new URL("/register",a);let g=await (e??fetch)(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...c,...void 0!==d?{scope:d}:{}})});if(!g.ok)throw await W(g);return z.parse(await g.json())}class al extends Error{constructor(a,b){super(a),this.name="ParseError",this.type=b.type,this.field=b.field,this.value=b.value,this.line=b.line}}function am(a){}function an(a,b,c){return 100===c&&97===a.charCodeAt(b+1)&&116===a.charCodeAt(b+2)&&97===a.charCodeAt(b+3)&&58===a.charCodeAt(b+4)}function ao(a,b,c){return 101===c&&118===a.charCodeAt(b+1)&&101===a.charCodeAt(b+2)&&110===a.charCodeAt(b+3)&&116===a.charCodeAt(b+4)&&58===a.charCodeAt(b+5)}class ap extends TransformStream{constructor({onError:a,onRetry:b,onComment:c,maxBufferSize:d}={}){let e;super({start(f){e=function(a){if("function"==typeof a)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:b=am,onError:c=am,onRetry:d=am,onComment:e,maxBufferSize:f}=a,g=[],h=0,i=!0,j,k="",l=0,m,n=!1;function o(){void 0!==f&&(h+k.length<=f||(n=!0,g.length=0,h=0,j=void 0,k="",l=0,m=void 0,c(new al(`Buffered data exceeded max buffer size of ${f} characters`,{type:"max-buffer-size-exceeded"}))))}function p(a){let c=0;if(-1===a.indexOf("\r")){let d=a.indexOf(`
2
+ `,c);for(;-1!==d;){if(c===d){l>0&&b({id:j,event:m,data:k}),j=void 0,k="",l=0,m=void 0,c=d+1,d=a.indexOf(`
3
+ `,c);continue}let e=a.charCodeAt(c);if(an(a,c,e)){let e=32===a.charCodeAt(c+5)?c+6:c+5,f=a.slice(e,d);if(0===l&&10===a.charCodeAt(d+1)){b({id:j,event:m,data:f}),j=void 0,k="",m=void 0,c=d+2,d=a.indexOf(`
4
+ `,c);continue}k=0===l?f:`${k}
5
+ ${f}`,l++}else ao(a,c,e)?m=a.slice(32===a.charCodeAt(c+6)?c+7:c+6,d)||void 0:q(a,c,d);c=d+1,d=a.indexOf(`
6
+ `,c)}return a.slice(c)}for(;c<a.length;){let b=a.indexOf("\r",c),d=a.indexOf(`
7
+ `,c),e=-1;if(-1!==b&&-1!==d?e=b<d?b:d:-1!==b?e=b===a.length-1?-1:b:-1!==d&&(e=d),-1===e)break;q(a,c,e),c=e+1,13===a.charCodeAt(c-1)&&10===a.charCodeAt(c)&&c++}return a.slice(c)}function q(a,c,d){if(c===d)return void(l>0&&b({id:j,event:m,data:k}),j=void 0,k="",l=0,m=void 0);let f=a.charCodeAt(c);if(an(a,c,f)){let b=32===a.charCodeAt(c+5)?c+6:c+5,e=a.slice(b,d);k=0===l?e:`${k}
8
+ ${e}`,l++;return}if(ao(a,c,f)){m=a.slice(32===a.charCodeAt(c+6)?c+7:c+6,d)||void 0;return}if(105===f&&100===a.charCodeAt(c+1)&&58===a.charCodeAt(c+2)){let b=a.slice(32===a.charCodeAt(c+3)?c+4:c+3,d);j=b.includes("\0")?void 0:b;return}if(58===f){e&&e(a.slice(c,d).slice(32===a.charCodeAt(c+1)?2:1));return}let g=a.slice(c,d),h=g.indexOf(":");if(-1===h)return void r(g,"",g);let i=g.slice(0,h),n=32===g.charCodeAt(h+1)?2:1;r(i,g.slice(h+n),g)}function r(a,b,e){switch(a){case"event":m=b||void 0;break;case"data":k=0===l?b:`${k}
9
+ ${b}`,l++;break;case"id":j=b.includes("\0")?void 0:b;break;case"retry":/^\d+$/.test(b)?d(parseInt(b,10)):c(new al(`Invalid \`retry\` value: "${b}"`,{type:"invalid-retry",value:b,line:e}));break;default:c(new al(`Unknown field "${a.length>20?`${a.slice(0,20)}\u2026`:a}"`,{type:"unknown-field",field:a,value:b,line:e}))}}return{feed:function(a){if(n)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(i&&(i=!1,239===a.charCodeAt(0)&&187===a.charCodeAt(1)&&191===a.charCodeAt(2)&&(a=a.slice(3))),0===g.length){let b=p(a);""!==b&&(g.push(b),h=b.length),o();return}if(-1===a.indexOf(`
10
+ `)&&-1===a.indexOf("\r")){g.push(a),h+=a.length,o();return}g.push(a);let b=g.join("");g.length=0,h=0;let c=p(b);""!==c&&(g.push(c),h=c.length),o()},reset:function(a={}){if(a.consume&&g.length>0){let a=g.join("");q(a,0,a.length)}i=!0,j=void 0,k="",l=0,m=void 0,g.length=0,h=0,n=!1}}}({onEvent:a=>{f.enqueue(a)},onError(b){"function"==typeof a&&a(b),("terminate"===a||"max-buffer-size-exceeded"===b.type)&&f.error(b)},onRetry:b,onComment:c,maxBufferSize:d})},transform(a){e.feed(a)}})}}let aq={initialReconnectionDelay:1e3,maxReconnectionDelay:3e4,reconnectionDelayGrowFactor:1.5,maxRetries:2};class ar extends Error{constructor(a,b){super(`Streamable HTTP error: ${b}`),this.code=a}}class as{constructor(a,b){this._hasCompletedAuthFlow=!1,this._url=a,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=b?.requestInit,this._authProvider=b?.authProvider,this._fetch=b?.fetch,this._fetchWithInit=function(a=fetch,b){return b?async(c,d)=>a(c,{...b,...d,headers:d?.headers?{...e(b.headers),...e(d.headers)}:b.headers}):a}(b?.fetch,b?.requestInit),this._sessionId=b?.sessionId,this._reconnectionOptions=b?.reconnectionOptions??aq}async _authThenStart(){let a;if(!this._authProvider)throw new T("No auth provider");try{a=await X(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(a){throw this.onerror?.(a),a}if("AUTHORIZED"!==a)throw new T;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let a={};if(this._authProvider){let b=await this._authProvider.tokens();b&&(a.Authorization=`Bearer ${b.access_token}`)}this._sessionId&&(a["mcp-session-id"]=this._sessionId),this._protocolVersion&&(a["mcp-protocol-version"]=this._protocolVersion);let b=e(this._requestInit?.headers);return new Headers({...a,...b})}async _startOrAuthSse(a){let{resumptionToken:b}=a;try{let c=await this._commonHeaders();c.set("Accept","text/event-stream"),b&&c.set("last-event-id",b);let d=await (this._fetch??fetch)(this._url,{method:"GET",headers:c,signal:this._abortController?.signal});if(!d.ok){if(await d.body?.cancel(),401===d.status&&this._authProvider)return await this._authThenStart();if(405===d.status)return;throw new ar(d.status,`Failed to open SSE stream: ${d.statusText}`)}this._handleSseStream(d.body,a,!0)}catch(a){throw this.onerror?.(a),a}}_getNextReconnectionDelay(a){return void 0!==this._serverRetryMs?this._serverRetryMs:Math.min(this._reconnectionOptions.initialReconnectionDelay*Math.pow(this._reconnectionOptions.reconnectionDelayGrowFactor,a),this._reconnectionOptions.maxReconnectionDelay)}_scheduleReconnection(a,b=0){let c=this._reconnectionOptions.maxRetries;if(b>=c)return void this.onerror?.(Error(`Maximum reconnection attempts (${c}) exceeded.`));let d=this._getNextReconnectionDelay(b);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(a).catch(c=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${c instanceof Error?c.message:String(c)}`)),this._scheduleReconnection(a,b+1)})},d)}_handleSseStream(a,b,c){let d;if(!a)return;let{onresumptiontoken:e,replayMessageId:f}=b,h=!1,i=!1;(async()=>{try{let b=a.pipeThrough(new TextDecoderStream).pipeThrough(new ap({onRetry:a=>{this._serverRetryMs=a}})).getReader();for(;;){let{value:a,done:c}=await b.read();if(c)break;if((a.id&&(d=a.id,h=!0,e?.(a.id)),a.data)&&(!a.event||"message"===a.event))try{let b=g.OR.parse(JSON.parse(a.data));(0,g.ig)(b)&&(i=!0,void 0!==f&&(b.id=f)),this.onmessage?.(b)}catch(a){this.onerror?.(a)}}(c||h)&&!i&&this._abortController&&!this._abortController.signal.aborted&&this._scheduleReconnection({resumptionToken:d,onresumptiontoken:e,replayMessageId:f},0)}catch(a){if(this.onerror?.(Error(`SSE stream disconnected: ${a}`)),(c||h)&&!i&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:d,onresumptiontoken:e,replayMessageId:f},0)}catch(a){this.onerror?.(Error(`Failed to reconnect: ${a instanceof Error?a.message:String(a)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(a){if(!this._authProvider)throw new T("No auth provider");if("AUTHORIZED"!==await X(this._authProvider,{serverUrl:this._url,authorizationCode:a,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit}))throw new T("Failed to authorize")}async close(){this._reconnectionTimeout&&(clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0),this._abortController?.abort(),this.onclose?.()}async send(a,b){try{let{resumptionToken:c,onresumptiontoken:d}=b||{};if(c)return void this._startOrAuthSse({resumptionToken:c,replayMessageId:(0,g.vo)(a)?a.id:void 0}).catch(a=>this.onerror?.(a));let e=await this._commonHeaders();e.set("content-type","application/json"),e.set("accept","application/json, text/event-stream");let f={...this._requestInit,method:"POST",headers:e,body:JSON.stringify(a),signal:this._abortController?.signal},h=await (this._fetch??fetch)(this._url,f),i=h.headers.get("mcp-session-id");if(i&&(this._sessionId=i),!h.ok){let b=await h.text().catch(()=>null);if(401===h.status&&this._authProvider){if(this._hasCompletedAuthFlow)throw new ar(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:b,scope:c}=$(h);this._resourceMetadataUrl=b,this._scope=c;let d=await X(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit});if("AUTHORIZED"!==d)throw new T;return this._hasCompletedAuthFlow=!0,this.send(a)}if(403===h.status&&this._authProvider){let{resourceMetadataUrl:b,scope:c,error:d}=$(h);if("insufficient_scope"===d){let d=h.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===d)throw new ar(403,"Server returned 403 after trying upscoping");c&&(this._scope=c),b&&(this._resourceMetadataUrl=b),this._lastUpscopingHeader=d??void 0;let e=await X(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch});if("AUTHORIZED"!==e)throw new T;return this.send(a)}}throw new ar(h.status,`Error POSTing to endpoint: ${b}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,202===h.status){await h.body?.cancel(),(0,g.wU)(a)&&this._startOrAuthSse({resumptionToken:void 0}).catch(a=>this.onerror?.(a));return}let j=(Array.isArray(a)?a:[a]).filter(a=>"method"in a&&"id"in a&&void 0!==a.id).length>0,k=h.headers.get("content-type");if(j)if(k?.includes("text/event-stream"))this._handleSseStream(h.body,{onresumptiontoken:d},!1);else if(k?.includes("application/json")){let a=await h.json();for(let b of Array.isArray(a)?a.map(a=>g.OR.parse(a)):[g.OR.parse(a)])this.onmessage?.(b)}else throw await h.body?.cancel(),new ar(-1,`Unexpected content type: ${k}`);else await h.body?.cancel()}catch(a){throw this.onerror?.(a),a}}get sessionId(){return this._sessionId}async terminateSession(){if(this._sessionId)try{let a=await this._commonHeaders(),b={...this._requestInit,method:"DELETE",headers:a,signal:this._abortController?.signal},c=await (this._fetch??fetch)(this._url,b);if(await c.body?.cancel(),!c.ok&&405!==c.status)throw new ar(c.status,`Failed to terminate session: ${c.statusText}`);this._sessionId=void 0}catch(a){throw this.onerror?.(a),a}}setProtocolVersion(a){this._protocolVersion=a}get protocolVersion(){return this._protocolVersion}async resumeStream(a,b){await this._startOrAuthSse({resumptionToken:a,onresumptiontoken:b?.onresumptiontoken})}}}};
@@ -0,0 +1,82 @@
1
+ "use strict";exports.id=3214,exports.ids=[3214],exports.modules={2033:(a,b,c)=>{c.d(b,{Ol:()=>r,Qm:()=>l,pM:()=>s});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(59683);let k=new Int32Array(new SharedArrayBuffer(4));class l extends Error{constructor(a){super(a),this.name="FileTransactionBusyError"}}function m(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let a="string"==typeof b.startIdentity?b.startIdentity:null;if(!j.B.pidAlive(b.pid))return!0;if(null!==a){let c=j.B.processIdentity(b.pid);return null!==c&&c!==a}return!1}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function n(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function o(a){let b=`${a}.write-lock`,c=`${a}.write-locks`;g().mkdirSync(c,{recursive:!0,mode:448});let d={pid:process.pid,startIdentity:j.B.processIdentity(process.pid),token:e().randomUUID()},f=i().join(c,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);return g().writeFileSync(f,JSON.stringify(d),{encoding:"utf8",flag:"wx",mode:384}),{lockPath:b,queuePath:c,owner:d,ticketPath:f}}function p(a){let b;if(function(a){let b=[];for(let c of g().readdirSync(a.queuePath).filter(a=>a.endsWith(".json")).sort()){let d=i().join(a.queuePath,c);if(m(d)){g().rmSync(d,{force:!0});continue}g().existsSync(d)&&b.push(d)}return b[0]??null}(a)!==a.ticketPath)return null;try{b=g().openSync(a.lockPath,"wx",384)}catch(b){if("EEXIST"!==b.code)throw b;return m(a.lockPath)&&g().rmSync(a.lockPath,{force:!0}),null}try{return g().writeFileSync(b,JSON.stringify(a.owner),"utf8"),g().fsyncSync(b),b}catch(c){throw g().closeSync(b),g().rmSync(a.lockPath,{force:!0}),c}}function q(a,b){g().closeSync(b),n(a.lockPath,a.owner.token)}function r(a,b,c){let d=o(a);try{for(let a=0;a<6e3;a+=1){let a=p(d);if(null===a){Atomics.wait(k,0,0,5);continue}try{return c()}finally{q(d,a)}}throw new l(b)}finally{n(d.ticketPath,d.owner.token)}}async function s(a,b,c){let d=o(a);try{for(let a=0;a<6e3;a+=1){let a=p(d);if(null===a){await new Promise(a=>setTimeout(a,5));continue}try{return await c()}finally{q(d,a)}}throw new l(b)}finally{n(d.ticketPath,d.owner.token)}}},4837:(a,b,c)=>{c.d(b,{JL:()=>h,OV:()=>l,RC:()=>j,cC:()=>i,fC:()=>e,g9:()=>m,je:()=>d,wi:()=>n});let d="gpt-5.6-sol",e="gpt-5.6-terra",f="gpt-5.6-luna",g=new Set([d,e,f,"gpt-5.5","gpt-5.4","gpt-5.4-mini"]);function h(a){return!a?.trim()||g.has(a.trim())}let i={claude:[{id:"opus",label:"Opus 5",shortLabel:"Opus 5",use:"review"},{id:"fable",label:"Fable",shortLabel:"Fable",use:"general"},{id:"sonnet",label:"Sonnet",shortLabel:"Sonnet",use:"implement"},{id:"haiku",label:"Haiku",shortLabel:"Haiku",use:"general"}],codex:[{id:d,label:"GPT-5.6-Sol",shortLabel:"5.6-Sol",use:"review"},{id:e,label:"GPT-5.6-Terra",shortLabel:"5.6-Terra",use:"implement"},{id:f,label:"GPT-5.6-Luna",shortLabel:"5.6-Luna",use:"general"}]};function j(a,b){let c=b.trim(),d=i[a].map(a=>a.id);return d.includes(c)?{model:c}:{error:`invalid ${a} model id ${JSON.stringify(c)}; valid ${a} model ids: ${d.join(", ")}`}}let k=["fable","opus","sonnet","haiku"];function l(a){if("string"!=typeof a)return null;let b=a.trim().toLowerCase();if(!b||b.length>128||/[\u0000-\u001f\u007f]/.test(b))return null;for(let a of k)if(b===a||RegExp(`(?:^|[-_.])${a}(?:[-_.]|$)`).test(b))return a;return null}function m(a){if("string"!=typeof a)return!1;let b=a.trim();return b.startsWith("gpt-")&&b.length<=128&&!/[\u0000-\u001f\u007f]/.test(b)}function n(a){if(void 0===a.model||null===a.model||""===a.model)return{model:null};if("string"!=typeof a.model)return{model:null,error:"model must be a string"};let b=a.model.trim();return b?b.length>128||/[\u0000-\u001f\u007f]/.test(b)?{model:null,error:"model must be a printable id up to 128 characters"}:{model:b}:{model:null}}},21962:(a,b,c)=>{c.d(b,{S:()=>d});function d(a){if("number"==typeof a)return Number.isSafeInteger(a)&&a>0?String(a):null;if("string"!=typeof a)return null;let b=a.trim();return/^[1-9]\d{0,18}$/.test(b)?b:null}},24962:(a,b,c)=>{c.d(b,{WG:()=>o,cO:()=>n,yb:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(68032);let l=262144,m=String.raw`import fcntl
2
+ import io
3
+ import os
4
+ import stat
5
+ import sys
6
+ import threading
7
+
8
+ try:
9
+ _path = os.environ["LLV_TELEGRAM_CONNECTOR_LOG"]
10
+ _limit = int(os.environ["LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES"])
11
+ if _limit <= 0:
12
+ raise ValueError("invalid log limit")
13
+ _flags = os.O_RDWR | os.O_CREAT | os.O_APPEND
14
+ if hasattr(os, "O_NOFOLLOW"):
15
+ _flags |= os.O_NOFOLLOW
16
+ _fd = os.open(_path, _flags, 0o600)
17
+ _info = os.fstat(_fd)
18
+ if not stat.S_ISREG(_info.st_mode) or (_info.st_mode & 0o077):
19
+ raise PermissionError("unsafe connector log")
20
+ if hasattr(os, "getuid") and _info.st_uid != os.getuid():
21
+ raise PermissionError("connector log owner mismatch")
22
+ except Exception as _error:
23
+ raise SystemExit("connector log sink unavailable") from _error
24
+
25
+
26
+ def _write_all(data):
27
+ view = memoryview(data)
28
+ while view:
29
+ written = os.write(_fd, view)
30
+ view = view[written:]
31
+
32
+
33
+ class _BoundedConnectorLog(io.TextIOBase):
34
+ encoding = "utf-8"
35
+ errors = "backslashreplace"
36
+
37
+ def __init__(self):
38
+ self._lock = threading.Lock()
39
+
40
+ def writable(self):
41
+ return True
42
+
43
+ def isatty(self):
44
+ return False
45
+
46
+ def fileno(self):
47
+ return _fd
48
+
49
+ def flush(self):
50
+ return None
51
+
52
+ def write(self, value):
53
+ if not isinstance(value, str):
54
+ value = str(value)
55
+ data = value.encode(self.encoding, self.errors)
56
+ if not data:
57
+ return len(value)
58
+ with self._lock:
59
+ fcntl.flock(_fd, fcntl.LOCK_EX)
60
+ try:
61
+ size = os.fstat(_fd).st_size
62
+ if len(data) >= _limit:
63
+ tail = data[-_limit:]
64
+ os.ftruncate(_fd, 0)
65
+ _write_all(tail)
66
+ elif size + len(data) > _limit:
67
+ keep = _limit - len(data)
68
+ prior = os.pread(_fd, keep, max(0, size - keep))
69
+ os.ftruncate(_fd, 0)
70
+ _write_all(prior[-keep:] + data)
71
+ else:
72
+ _write_all(data)
73
+ finally:
74
+ fcntl.flock(_fd, fcntl.LOCK_UN)
75
+ return len(value)
76
+
77
+
78
+ _sink = _BoundedConnectorLog()
79
+ sys.stdout = _sink
80
+ sys.stderr = _sink
81
+ `;function n(){return(0,j.BQ)("telegram","connector.log")}function o(){(0,k._q)(!0);let a=(0,j.BQ)("telegram","connector-log-sink");g().mkdirSync(a,{recursive:!0,mode:448});let b=g().lstatSync(a);if(!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0||"function"==typeof process.getuid&&b.uid!==process.getuid())throw Error("unsafe connector log sink directory");let c=i().join(a,"sitecustomize.py"),d=`${c}.${process.pid}.${e().randomUUID()}.tmp`;try{g().writeFileSync(d,m,{flag:"wx",mode:384}),g().renameSync(d,c),g().chmodSync(c,384)}finally{g().rmSync(d,{force:!0})}return!function(){let a="O_NOFOLLOW"in g().constants?g().constants.O_NOFOLLOW:0,b=g().openSync(n(),g().constants.O_RDWR|g().constants.O_CREAT|a,384);try{let a=g().fstatSync(b);if(!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())throw Error("unsafe connector log");if(a.size<=l)return;let c=Buffer.alloc(l);g().readSync(b,c,0,c.length,a.size-c.length),g().ftruncateSync(b,0),g().writeSync(b,c,0,c.length,0)}finally{g().closeSync(b)}}(),{PYTHONPATH:a,LLV_TELEGRAM_CONNECTOR_LOG:n(),LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES:String(l)}}},68032:(a,b,c)=>{c.d(b,{mq:()=>n,cg:()=>o,xh:()=>x,L8:()=>G,_q:()=>u,ck:()=>y,Cx:()=>A,L0:()=>z,Kd:()=>I,w0:()=>F,at:()=>C,vh:()=>E,ZI:()=>w,h2:()=>q,RV:()=>J});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);function j(a){let b,c,e,g,i,j="function"==typeof process.getuid?process.getuid():null;try{b=f.lstatSync(a)}catch(a){if(a?.code==="ENOENT")return{status:"missing"};return{status:"unsafe",detail:"cannot inspect telegram directory"}}if(b.isSymbolicLink()||!b.isDirectory())return{status:"unsafe",detail:"telegram directory is unsafe"};if((63&b.mode)!=0||null!==j&&b.uid!==j)return{status:"unsafe",detail:"telegram directory ownership or permissions are unsafe"};let k=h.join(a,"session.json"),l=h.join(a,"connector-token");try{c=f.lstatSync(k)}catch(a){if(a?.code==="ENOENT")return{status:"missing"};return{status:"unsafe",detail:"cannot inspect session file"}}if(c.isSymbolicLink()||!c.isFile()||(63&c.mode)!=0||null!==j&&c.uid!==j)return{status:"unsafe",detail:"session file ownership or permissions are unsafe"};try{e=JSON.parse(f.readFileSync(k,"utf8"))}catch{return{status:"unsafe",detail:"session data is unreadable"}}if(!e||"object"!=typeof e||1!==e.version||"string"!=typeof e.credentialRef||"string"!=typeof e.sessionString||!e.sessionString||"string"!=typeof e.savedAt||"string"!=typeof e.connectorTokenSha256)return{status:"unsafe",detail:"session data is invalid"};try{g=f.lstatSync(l)}catch{return{status:"unsafe",detail:"connector token is missing or unreadable"}}if(g.isSymbolicLink()||!g.isFile()||(63&g.mode)!=0||null!==j&&g.uid!==j)return{status:"unsafe",detail:"connector token ownership or permissions are unsafe"};try{i=f.readFileSync(l,"utf8").trim()}catch{return{status:"unsafe",detail:"connector token is unreadable"}}let m=d.createHash("sha256").update(i).digest("hex");return/^[A-Za-z0-9_-]{43}$/.test(i)&&m===e.connectorTokenSha256?{status:"valid",sessionFile:e,connectorToken:i}:{status:"unsafe",detail:"connector token is invalid"}}var k=c(91724),l=c(21962);let m="telegram",n="LLV_TELEGRAM_MCP_TOKEN";class o extends Error{constructor(a){super(`Telegram session storage is unsafe: ${a}`),this.name="UnsafeTelegramSessionError"}}function p(){return(0,k.BQ)(m)}function q(){return i().join(p(),"session.json")}function r(){return i().join(p(),"connection.json")}function s(){return i().join(p(),"connector-token")}function t(a){let b=g().lstatSync(a);if(b.isSymbolicLink())throw new o("symlink");if(!b.isFile())throw new o("not a regular file");if((63&b.mode)!=0)throw new o("permissions are wider than owner-only");if("function"==typeof process.getuid&&b.uid!==process.getuid())throw new o("not owned by this user")}function u(a=!0){let b,c=(0,k.BQ)(m);try{b=g().lstatSync(c)}catch(d){if("ENOENT"!==d.code)throw d;if(!a)return null;g().mkdirSync(c,{recursive:!0,mode:448}),b=g().lstatSync(c)}if(b.isSymbolicLink())throw new o("telegram directory is a symlink");if(!b.isDirectory())throw new o("telegram directory is not a directory");if("function"==typeof process.getuid&&b.uid!==process.getuid())throw new o("telegram directory is not owned by this user");if((63&b.mode)!=0)throw new o("telegram directory permissions are wider than owner-only");return c}let v=RegExp("^incoming_feed(-[0-9a-f]{16})?\\.jsonl$");function w(a){let b=e().createHash("sha256").update(a).digest("hex").slice(0,16);return(0,k.BQ)(m,`incoming_feed-${b}.jsonl`)}function x(a,b){u(!0);try{t(a)}catch(a){if(a instanceof o||"ENOENT"!==a.code)throw a}let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);try{g().writeFileSync(c,b,{mode:384});let d=g().openSync(c,"r");try{g().fsyncSync(d)}finally{g().closeSync(d)}g().renameSync(c,a)}finally{g().rmSync(c,{force:!0})}}function y(a,b=!1){if(null===u(!1))return null;try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{if(b)throw new o(`cannot read ${i().basename(a)}`);return null}}function z(a){if(null===u(!1))return null;try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}return g().readFileSync(a,"utf8")}function A(a,b,c){if(null===u(!1))return null;try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}let d=Math.max(1,Math.trunc(b.chunkBytes)),e=Math.max(0,Math.trunc(b.maxBytes)),f=g().openSync(a,"r");try{let a=g().fstatSync(f).size,b=[],h=a,i=0,j=!1;for(;h>0&&i<e;){let a=Math.min(d,h,e-i),k=Buffer.alloc(a);if(g().readSync(f,k,0,a,h-a),b.unshift(k),h-=a,i+=a,0===h)break;let l=k.toString("utf8"),m=l.indexOf("\n");if(-1!==m&&c(l.slice(m+1))){j=!0;break}}let k=Buffer.concat(b).toString("utf8");if(0===h)return{text:k,complete:!0};let l=k.indexOf("\n");return{text:-1===l?"":k.slice(l+1),complete:j}}finally{g().closeSync(f)}}function B(a){try{return t(a),!0}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return!1;throw a}}function C(a){null!==u(!1)&&B(a)&&g().rmSync(a)}function D(a){try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}return g().readFileSync(a,"utf8")}function E(a){if(!a)throw Error("Telegram session string is empty");u(!0);let b=D(q()),c=D(s());if(null!==b||null!==c){let a=j(p());if("valid"!==a.status)throw new o("unsafe"===a.status?a.detail:"existing session pair is incomplete")}let d=e().randomBytes(32).toString("base64url"),f={version:1,credentialRef:e().randomUUID(),connectorToken:d,sessionString:a,savedAt:new Date().toISOString()},g={version:f.version,credentialRef:f.credentialRef,sessionString:f.sessionString,savedAt:f.savedAt,connectorTokenSha256:e().createHash("sha256").update(d).digest("hex")};x(s(),d+"\n");try{x(q(),JSON.stringify(g))}catch(a){try{null===c?C(s()):x(s(),c)}catch{}throw a}return f}function F(){try{let a=j(p());if("missing"===a.status)return null;if("unsafe"===a.status)throw new o(a.detail);let b=a.sessionFile;return{version:1,credentialRef:b.credentialRef,connectorToken:a.connectorToken,sessionString:b.sessionString,savedAt:b.savedAt}}catch(a){if(a instanceof o)throw a;throw new o("cannot read session storage")}}function G(){if(null!==u(!1))for(let a of(!function(){let a,b=u(!1);if(null!==b){try{a=g().readdirSync(b,{withFileTypes:!0})}catch{return}for(let c of a)if(c.isFile()&&v.test(c.name))try{g().rmSync(i().join(b,c.name),{force:!0})}catch{}}}(),[q(),s()].filter(a=>B(a))))g().rmSync(a)}let H={version:1,status:"disconnected",credentialRef:null,identity:null,lastHealthCheckAt:null,errorCode:null,identityIdUpgradedAt:null};function I(){var a;let b=y(r());return b&&"object"==typeof b&&1===b.version&&"string"==typeof b.status?{version:1,status:b.status,credentialRef:"string"==typeof b.credentialRef?b.credentialRef:null,identity:(a=b.identity)&&"object"==typeof a?"string"!=typeof a.name?null:{name:a.name,username:"string"==typeof a.username?a.username:null,id:(0,l.S)(a.id)}:null,lastHealthCheckAt:"string"==typeof b.lastHealthCheckAt?b.lastHealthCheckAt:null,errorCode:"string"==typeof b.errorCode?b.errorCode:null,identityIdUpgradedAt:"string"==typeof b.identityIdUpgradedAt?b.identityIdUpgradedAt:null}:{...H}}function J(a){x(r(),JSON.stringify(a))}},88714:(a,b,c)=>{c.d(b,{Gs:()=>I,Kn:()=>y,Nq:()=>F,aO:()=>E,gY:()=>z,h3:()=>s,jd:()=>x,kt:()=>K,ue:()=>J,vx:()=>A,w5:()=>B});var d=c(31421),e=c(77598),f=c.n(e),g=c(73024),h=c.n(g),i=c(48161),j=c.n(i),k=c(76760),l=c.n(k),m=c(91724),n=c(2033),o=c(24962),p=c(68032);Object.freeze({repo:"https://github.com/chigwell/telegram-mcp",release:"v3.2.22",commit:"a61294362226bd93052f5a40b4a1b1269a99ce69",license:"Apache-2.0"});let q="127.0.0.1";function r(){let a=Number(process.env.LLV_TELEGRAM_MCP_PORT);return Number.isInteger(a)&&a>0&&a<65536?a:8809}function s(){return`http://${q}:${r()}/mcp`}function t(a,...b){if(a)return a;let c=l().join(process.cwd(),...b);if(h().existsSync(c))return c;let d=l().join(process.cwd(),"..","..",...b);return h().existsSync(d)?d:c}function u(){return t(process.env.LLV_TELEGRAM_VENDOR_DIR,"vendor","telegram-mcp")}function v(){return(0,m.BQ)("telegram","venv")}function w(){return(0,m.BQ)("telegram","vendor-src")}function x(){return process.env.LLV_TELEGRAM_PYTHON||l().join(v(),"bin","python")}function y(){return t(process.env.LLV_TELEGRAM_SERVER_BRIDGE,"bin","telegram-mcp-server.py")}function z(){return t(process.env.LLV_TELEGRAM_SESSION_READER,"bin","telegram-session-reader.mjs")}let A=Object.freeze(["wait_for_settled_message"]);function B(){let a=process.env.LLV_TELEGRAM_API_ID,b=process.env.LLV_TELEGRAM_API_HASH;if(a&&b)return{apiId:a,apiHash:b};try{let a=JSON.parse(h().readFileSync((0,m.ks)("telegram.json"),"utf8"));if("string"==typeof a.apiId&&a.apiId&&"string"==typeof a.apiHash&&a.apiHash)return{apiId:a.apiId,apiHash:a.apiHash}}catch{}return null}let C=/^\d{1,12}$/,D=/^[0-9a-f]{32}$/i;function E(a,b){return"string"==typeof a&&C.test(a)&&"string"==typeof b&&D.test(b)}function F(a,b){if(!E(a,b))throw Error("Telegram API credentials are invalid");let c=(0,m.ks)("telegram.json");h().mkdirSync(l().dirname(c),{recursive:!0});let d=l().join(l().dirname(c),`.${l().basename(c)}.${process.pid}.${f().randomUUID()}.tmp`);try{h().writeFileSync(d,`${JSON.stringify({apiId:a,apiHash:b},null,2)}
82
+ `,{mode:384,flag:"wx"}),h().renameSync(d,c),h().chmodSync(c,384)}finally{h().rmSync(d,{force:!0})}}function G(){return h().existsSync(l().join(v(),".llv-provisioned"))&&h().existsSync(x())&&h().existsSync(l().join(w(),"pyproject.toml"))}let H=null;function I(){return G()?Promise.resolve(!0):H||(H=(async()=>((0,p._q)(!0),await (0,n.pM)((0,m.BQ)("telegram","connector-provision"),"Telegram connector provisioning is busy",async()=>{var a;return!!G()||await (a={command:process.execPath,args:[t(process.env.LLV_TELEGRAM_PROVISIONER,"bin","provision-telegram-connector.mjs")],cwd:u(),env:{...L(),LLV_STATE_DIR:(0,m.Pn)(),LLV_TELEGRAM_VENDOR_DIR:u(),LLV_TELEGRAM_PYTHON:x()}},new Promise(b=>{let c;try{c=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore"})}catch{b(!1);return}c.once("error",()=>b(!1)),c.once("exit",a=>b(0===a))}))&&G()})))().catch(()=>!1).finally(()=>{H=null}))}function J(a){let b=w(),c=(0,o.WG)();return{command:x(),args:[y()],cwd:b,env:{...L(),...c,TELEGRAM_API_ID:a.credentials.apiId,TELEGRAM_API_HASH:a.credentials.apiHash,TELEGRAM_SESSION_STRING:a.sessionString,TELEGRAM_EXPOSED_TOOLS:"read-only",TELEGRAM_EVENT_FEED:"1",TELEGRAM_EVENT_FEED_FILE:(0,p.ZI)(a.credentialRef),LLV_TELEGRAM_EXCLUDED_TOOLS:A.join(","),LLV_TELEGRAM_MCP_TOKEN:a.connectorToken,LLV_TELEGRAM_VENDOR_DIR:b,MCP_TRANSPORT:"http",MCP_HOST:q,MCP_PORT:String(r())}}}function K(a,b){return{command:x(),args:[t(process.env.LLV_TELEGRAM_BRIDGE,"bin","telegram-login-bridge.py"),a],cwd:j().homedir(),env:{...L(),TELEGRAM_API_ID:b.apiId,TELEGRAM_API_HASH:b.apiHash}}}function L(){let a={};for(let b of["PATH","HOME","LANG","LC_ALL","TMPDIR"])void 0!==process.env[b]&&(a[b]=process.env[b]);return a}}};
@@ -0,0 +1 @@
1
+ exports.id=3313,exports.ids=[3313],exports.modules={73313:(a,b,c)=>{"use strict";c.r(b),c.d(b,{HighlightJS:()=>d,default:()=>e});var d=c(90066);let e=d},90066:a=>{class b{constructor(a){void 0===a.data&&(a.data={}),this.data=a.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function c(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function d(a,...b){let c=Object.create(null);for(let b in a)c[b]=a[b];return b.forEach(function(a){for(let b in a)c[b]=a[b]}),c}class e{constructor(a,b){this.buffer="",this.classPrefix=b.classPrefix,a.walk(this)}addText(a){this.buffer+=c(a)}openNode(a){if(!a.scope)return;let b=((a,{prefix:b})=>{if(a.startsWith("language:"))return a.replace("language:","language-");if(a.includes(".")){let c=a.split(".");return[`${b}${c.shift()}`,...c.map((a,b)=>`${a}${"_".repeat(b+1)}`)].join(" ")}return`${b}${a}`})(a.scope,{prefix:this.classPrefix});this.span(b)}closeNode(a){a.scope&&(this.buffer+="</span>")}value(){return this.buffer}span(a){this.buffer+=`<span class="${a}">`}}let f=(a={})=>{let b={children:[]};return Object.assign(b,a),b};class g{constructor(){this.rootNode=f(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(a){this.top.children.push(a)}openNode(a){let b=f({scope:a});this.add(b),this.stack.push(b)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(a){return this.constructor._walk(a,this.rootNode)}static _walk(a,b){return"string"==typeof b?a.addText(b):b.children&&(a.openNode(b),b.children.forEach(b=>this._walk(a,b)),a.closeNode(b)),a}static _collapse(a){"string"==typeof a||a.children&&(a.children.every(a=>"string"==typeof a)?a.children=[a.children.join("")]:a.children.forEach(a=>{g._collapse(a)}))}}class h extends g{constructor(a){super(),this.options=a}addText(a){""!==a&&this.add(a)}startScope(a){this.openNode(a)}endScope(){this.closeNode()}__addSublanguage(a,b){let c=a.root;b&&(c.scope=`language:${b}`),this.add(c)}toHTML(){return new e(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function i(a){return a?"string"==typeof a?a:a.source:null}function j(a){return m("(?=",a,")")}function k(a){return m("(?:",a,")*")}function l(a){return m("(?:",a,")?")}function m(...a){return a.map(a=>i(a)).join("")}function n(...a){let b;return"("+(("object"==typeof(b=a[a.length-1])&&b.constructor===Object?(a.splice(a.length-1,1),b):{}).capture?"":"?:")+a.map(a=>i(a)).join("|")+")"}function o(a){return RegExp(a.toString()+"|").exec("").length-1}let p=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function q(a,{joinWith:b}){let c=0;return a.map(a=>{let b=c+=1,d=i(a),e="";for(;d.length>0;){let a=p.exec(d);if(!a){e+=d;break}e+=d.substring(0,a.index),d=d.substring(a.index+a[0].length),"\\"===a[0][0]&&a[1]?e+="\\"+String(Number(a[1])+b):(e+=a[0],"("===a[0]&&c++)}return e}).map(a=>`(${a})`).join(b)}let r="[a-zA-Z]\\w*",s="[a-zA-Z_]\\w*",t="\\b\\d+(\\.\\d+)?",u="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",v="\\b(0b[01]+)",w={begin:"\\\\[\\s\\S]",relevance:0},x=function(a,b,c={}){let e=d({scope:"comment",begin:a,end:b,contains:[]},c);e.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let f=n("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return e.contains.push({begin:m(/[ ]+/,"(",f,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),e},y=x("//","$"),z=x("/\\*","\\*/"),A=x("#","$");var B=Object.freeze({__proto__:null,APOS_STRING_MODE:{scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[w]},BACKSLASH_ESCAPE:w,BINARY_NUMBER_MODE:{scope:"number",begin:v,relevance:0},BINARY_NUMBER_RE:v,COMMENT:x,C_BLOCK_COMMENT_MODE:z,C_LINE_COMMENT_MODE:y,C_NUMBER_MODE:{scope:"number",begin:u,relevance:0},C_NUMBER_RE:u,END_SAME_AS_BEGIN:function(a){return Object.assign(a,{"on:begin":(a,b)=>{b.data._beginMatch=a[1]},"on:end":(a,b)=>{b.data._beginMatch!==a[1]&&b.ignoreMatch()}})},HASH_COMMENT_MODE:A,IDENT_RE:r,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+s,relevance:0},NUMBER_MODE:{scope:"number",begin:t,relevance:0},NUMBER_RE:t,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:{scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[w]},REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[w,{begin:/\[/,end:/\]/,relevance:0,contains:[w]}]},RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(a={})=>{let b=/^#![ ]*\//;return a.binary&&(a.begin=m(b,/.*\b/,a.binary,/\b.*/)),d({scope:"meta",begin:b,end:/$/,relevance:0,"on:begin":(a,b)=>{0!==a.index&&b.ignoreMatch()}},a)},TITLE_MODE:{scope:"title",begin:r,relevance:0},UNDERSCORE_IDENT_RE:s,UNDERSCORE_TITLE_MODE:{scope:"title",begin:s,relevance:0}});function C(a,b){"."===a.input[a.index-1]&&b.ignoreMatch()}function D(a,b){void 0!==a.className&&(a.scope=a.className,delete a.className)}function E(a,b){!b||a.beginKeywords&&(a.begin="\\b("+a.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",a.__beforeBegin=C,a.keywords=a.keywords||a.beginKeywords,delete a.beginKeywords,void 0===a.relevance&&(a.relevance=0))}function F(a,b){Array.isArray(a.illegal)&&(a.illegal=n(...a.illegal))}function G(a,b){if(a.match){if(a.begin||a.end)throw Error("begin & end are not supported with match");a.begin=a.match,delete a.match}}function H(a,b){void 0===a.relevance&&(a.relevance=1)}let I=(a,b)=>{if(!a.beforeMatch)return;if(a.starts)throw Error("beforeMatch cannot be used with starts");let c=Object.assign({},a);Object.keys(a).forEach(b=>{delete a[b]}),a.keywords=c.keywords,a.begin=m(c.beforeMatch,j(c.begin)),a.starts={relevance:0,contains:[Object.assign(c,{endsParent:!0})]},a.relevance=0,delete c.beforeMatch},J=["of","and","for","in","not","or","if","then","parent","list","value"],K={},L=a=>{console.error(a)},M=(a,...b)=>{console.log(`WARN: ${a}`,...b)},N=(a,b)=>{K[`${a}/${b}`]||(console.log(`Deprecated as of ${a}. ${b}`),K[`${a}/${b}`]=!0)},O=Error();function P(a,b,{key:c}){let d=0,e=a[c],f={},g={};for(let a=1;a<=b.length;a++)g[a+d]=e[a],f[a+d]=!0,d+=o(b[a-1]);a[c]=g,a[c]._emit=f,a[c]._multi=!0}function Q(a){if(a.scope&&"object"==typeof a.scope&&null!==a.scope&&(a.beginScope=a.scope,delete a.scope),"string"==typeof a.beginScope&&(a.beginScope={_wrap:a.beginScope}),"string"==typeof a.endScope&&(a.endScope={_wrap:a.endScope}),Array.isArray(a.begin)){if(a.skip||a.excludeBegin||a.returnBegin)throw L("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),O;if("object"!=typeof a.beginScope||null===a.beginScope)throw L("beginScope must be object"),O;P(a,a.begin,{key:"beginScope"}),a.begin=q(a.begin,{joinWith:""})}if(Array.isArray(a.end)){if(a.skip||a.excludeEnd||a.returnEnd)throw L("skip, excludeEnd, returnEnd not compatible with endScope: {}"),O;if("object"!=typeof a.endScope||null===a.endScope)throw L("endScope must be object"),O;P(a,a.end,{key:"endScope"}),a.end=q(a.end,{joinWith:""})}}class R extends Error{constructor(a,b){super(a),this.name="HTMLInjectionError",this.html=b}}let S=Symbol("nomatch"),T=function(a){let e=Object.create(null),f=Object.create(null),g=[],p=!0,r="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]},t={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:h};function u(a){return t.noHighlightRe.test(a)}function v(a,b,c){let d="",e="";"object"==typeof b?(d=a,c=b.ignoreIllegals,e=b.language):(N("10.7.0","highlight(lang, code, ...args) has been deprecated."),N("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),e=a,d=b),void 0===c&&(c=!0);let f={code:d,language:e};P("before:highlight",f);let g=f.result?f.result:w(f.language,f.code,c);return g.code=f.code,P("after:highlight",g),g}function w(a,f,g,h){let j=Object.create(null);function k(){if(!B.keywords)return void M.addText(O);let a=0;B.keywordPatternRe.lastIndex=0;let b=B.keywordPatternRe.exec(O),c="";for(;b;){c+=O.substring(a,b.index);let d=y.case_insensitive?b[0].toLowerCase():b[0],e=B.keywords[d];if(e){let[a,f]=e;if(M.addText(c),c="",j[d]=(j[d]||0)+1,j[d]<=7&&(P+=f),a.startsWith("_"))c+=b[0];else{let c=y.classNameAliases[a]||a;m(b[0],c)}}else c+=b[0];a=B.keywordPatternRe.lastIndex,b=B.keywordPatternRe.exec(O)}c+=O.substring(a),M.addText(c)}function l(){null!=B.subLanguage?function(){if(""===O)return;let a=null;if("string"==typeof B.subLanguage){if(!e[B.subLanguage])return M.addText(O);a=w(B.subLanguage,O,!0,K[B.subLanguage]),K[B.subLanguage]=a._top}else a=x(O,B.subLanguage.length?B.subLanguage:null);B.relevance>0&&(P+=a.relevance),M.__addSublanguage(a._emitter,a.language)}():k(),O=""}function m(a,b){""!==a&&(M.startScope(b),M.addText(a),M.endScope())}function n(a,b){let c=1,d=b.length-1;for(;c<=d;){if(!a._emit[c]){c++;continue}let d=y.classNameAliases[a[c]]||a[c],e=b[c];d?m(e,d):(O=e,k(),O=""),c++}}function s(a,b){return a.scope&&"string"==typeof a.scope&&M.openNode(y.classNameAliases[a.scope]||a.scope),a.beginScope&&(a.beginScope._wrap?(m(O,y.classNameAliases[a.beginScope._wrap]||a.beginScope._wrap),O=""):a.beginScope._multi&&(n(a.beginScope,b),O="")),B=Object.create(a,{parent:{value:B}})}let u={};function v(c,d){let e=d&&d[0];if(O+=c,null==e)return l(),0;if("begin"===u.type&&"end"===d.type&&u.index===d.index&&""===e){if(O+=f.slice(d.index,d.index+1),!p){let b=Error(`0 width match regex (${a})`);throw b.languageName=a,b.badRule=u.rule,b}return 1}if(u=d,"begin"===d.type){let a=d[0],c=d.rule,e=new b(c);for(let b of[c.__beforeBegin,c["on:begin"]])if(b&&(b(d,e),e.isMatchIgnored))return 0===B.matcher.regexIndex?(O+=a[0],1):(U=!0,0);return c.skip?O+=a:(c.excludeBegin&&(O+=a),l(),c.returnBegin||c.excludeBegin||(O=a)),s(c,d),c.returnBegin?0:a.length}if("illegal"!==d.type||g){if("end"===d.type){let a=function(a){let c=a[0],d=f.substring(a.index),e=function a(c,d,e){var f;let g,h=(f=c.endRe,(g=f&&f.exec(e))&&0===g.index);if(h){if(c["on:end"]){let a=new b(c);c["on:end"](d,a),a.isMatchIgnored&&(h=!1)}if(h){for(;c.endsParent&&c.parent;)c=c.parent;return c}}if(c.endsWithParent)return a(c.parent,d,e)}(B,a,d);if(!e)return S;let g=B;B.endScope&&B.endScope._wrap?(l(),m(c,B.endScope._wrap)):B.endScope&&B.endScope._multi?(l(),n(B.endScope,a)):g.skip?O+=c:(g.returnEnd||g.excludeEnd||(O+=c),l(),g.excludeEnd&&(O=c));do B.scope&&M.closeNode(),B.skip||B.subLanguage||(P+=B.relevance),B=B.parent;while(B!==e.parent);return e.starts&&s(e.starts,a),g.returnEnd?0:c.length}(d);if(a!==S)return a}}else{let a=Error('Illegal lexeme "'+e+'" for mode "'+(B.scope||"<unnamed>")+'"');throw a.mode=B,a}if("illegal"===d.type&&""===e)return O+="\n",1;if(T>1e5&&T>3*d.index)throw Error("potential infinite loop, way more iterations than matches");return O+=e,e.length}let y=C(a);if(!y)throw L(r.replace("{}",a)),Error('Unknown language: "'+a+'"');let z=function(a){function b(b,c){return RegExp(i(b),"m"+(a.case_insensitive?"i":"")+(a.unicodeRegex?"u":"")+(c?"g":""))}class c{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,b){b.position=this.position++,this.matchIndexes[this.matchAt]=b,this.regexes.push([b,a]),this.matchAt+=o(a)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);let a=this.regexes.map(a=>a[1]);this.matcherRe=b(q(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let b=this.matcherRe.exec(a);if(!b)return null;let c=b.findIndex((a,b)=>b>0&&void 0!==a),d=this.matchIndexes[c];return b.splice(0,c),Object.assign(b,d)}}class e{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];let b=new c;return this.rules.slice(a).forEach(([a,c])=>b.addRule(a,c)),b.compile(),this.multiRegexes[a]=b,b}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(a,b){this.rules.push([a,b]),"begin"===b.type&&this.count++}exec(a){let b=this.getMatcher(this.regexIndex);b.lastIndex=this.lastIndex;let c=b.exec(a);if(this.resumingScanAtSamePosition())if(c&&c.index===this.lastIndex);else{let b=this.getMatcher(0);b.lastIndex=this.lastIndex+1,c=b.exec(a)}return c&&(this.regexIndex+=c.position+1,this.regexIndex===this.count&&this.considerAll()),c}}if(a.compilerExtensions||(a.compilerExtensions=[]),a.contains&&a.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return a.classNameAliases=d(a.classNameAliases||{}),function c(f,g){let h;if(f.isCompiled)return f;[D,G,Q,I].forEach(a=>a(f,g)),a.compilerExtensions.forEach(a=>a(f,g)),f.__beforeBegin=null,[E,F,H].forEach(a=>a(f,g)),f.isCompiled=!0;let j=null;return"object"==typeof f.keywords&&f.keywords.$pattern&&(f.keywords=Object.assign({},f.keywords),j=f.keywords.$pattern,delete f.keywords.$pattern),j=j||/\w+/,f.keywords&&(f.keywords=function a(b,c,d="keyword"){let e=Object.create(null);return"string"==typeof b?f(d,b.split(" ")):Array.isArray(b)?f(d,b):Object.keys(b).forEach(function(d){Object.assign(e,a(b[d],c,d))}),e;function f(a,b){c&&(b=b.map(a=>a.toLowerCase())),b.forEach(function(b){var c,d,f;let g=b.split("|");e[g[0]]=[a,(c=g[0],(d=g[1])?Number(d):+(f=c,!J.includes(f.toLowerCase())))]})}}(f.keywords,a.case_insensitive)),f.keywordPatternRe=b(j,!0),g&&(f.begin||(f.begin=/\B|\b/),f.beginRe=b(f.begin),f.end||f.endsWithParent||(f.end=/\B|\b/),f.end&&(f.endRe=b(f.end)),f.terminatorEnd=i(f.end)||"",f.endsWithParent&&g.terminatorEnd&&(f.terminatorEnd+=(f.end?"|":"")+g.terminatorEnd)),f.illegal&&(f.illegalRe=b(f.illegal)),f.contains||(f.contains=[]),f.contains=[].concat(...f.contains.map(function(a){var b;return((b="self"===a?f:a).variants&&!b.cachedVariants&&(b.cachedVariants=b.variants.map(function(a){return d(b,{variants:null},a)})),b.cachedVariants)?b.cachedVariants:!function a(b){return!!b&&(b.endsWithParent||a(b.starts))}(b)?Object.isFrozen(b)?d(b):b:d(b,{starts:b.starts?d(b.starts):null})})),f.contains.forEach(function(a){c(a,f)}),f.starts&&c(f.starts,g),h=new e,f.contains.forEach(a=>h.addRule(a.begin,{rule:a,type:"begin"})),f.terminatorEnd&&h.addRule(f.terminatorEnd,{type:"end"}),f.illegal&&h.addRule(f.illegal,{type:"illegal"}),f.matcher=h,f}(a)}(y),A="",B=h||z,K={},M=new t.__emitter(t),N=[];for(let a=B;a!==y;a=a.parent)a.scope&&N.unshift(a.scope);N.forEach(a=>M.openNode(a));let O="",P=0,R=0,T=0,U=!1;try{if(y.__emitTokens)y.__emitTokens(f,M);else{for(B.matcher.considerAll();;){T++,U?U=!1:B.matcher.considerAll(),B.matcher.lastIndex=R;let a=B.matcher.exec(f);if(!a)break;let b=f.substring(R,a.index),c=v(b,a);R=a.index+c}v(f.substring(R))}return M.finalize(),A=M.toHTML(),{language:a,value:A,relevance:P,illegal:!1,_emitter:M,_top:B}}catch(b){if(b.message&&b.message.includes("Illegal"))return{language:a,value:c(f),illegal:!0,relevance:0,_illegalBy:{message:b.message,index:R,context:f.slice(R-100,R+100),mode:b.mode,resultSoFar:A},_emitter:M};if(p)return{language:a,value:c(f),illegal:!1,relevance:0,errorRaised:b,_emitter:M,_top:B};throw b}}function x(a,b){let d;b=b||t.languages||Object.keys(e);let f=((d={value:c(a),illegal:!1,relevance:0,_top:s,_emitter:new t.__emitter(t)})._emitter.addText(a),d),g=b.filter(C).filter(O).map(b=>w(b,a,!1));g.unshift(f);let[h,i]=g.sort((a,b)=>{if(a.relevance!==b.relevance)return b.relevance-a.relevance;if(a.language&&b.language){if(C(a.language).supersetOf===b.language)return 1;else if(C(b.language).supersetOf===a.language)return -1}return 0});return h.secondBest=i,h}function y(a){var b;let c,d=function(a){let b=a.className+" ";b+=a.parentNode?a.parentNode.className:"";let c=t.languageDetectRe.exec(b);if(c){let b=C(c[1]);return b||(M(r.replace("{}",c[1])),M("Falling back to no-highlight mode for this block.",a)),b?c[1]:"no-highlight"}return b.split(/\s+/).find(a=>u(a)||C(a))}(a);if(u(d))return;if(P("before:highlightElement",{el:a,language:d}),a.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",a);if(a.children.length>0&&(t.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(a)),t.throwUnescapedHTML))throw new R("One of your code blocks includes unescaped HTML.",a.innerHTML);let e=a.textContent,g=d?v(e,{language:d,ignoreIllegals:!0}):x(e);a.innerHTML=g.value,a.dataset.highlighted="yes",b=g.language,c=d&&f[d]||b,a.classList.add("hljs"),a.classList.add(`language-${c}`),a.result={language:g.language,re:g.relevance,relevance:g.relevance},g.secondBest&&(a.secondBest={language:g.secondBest.language,relevance:g.secondBest.relevance}),P("after:highlightElement",{el:a,result:g,text:e})}let z=!1;function A(){if("loading"===document.readyState){z||window.addEventListener("DOMContentLoaded",function(){A()},!1),z=!0;return}document.querySelectorAll(t.cssSelector).forEach(y)}function C(a){return e[a=(a||"").toLowerCase()]||e[f[a]]}function K(a,{languageName:b}){"string"==typeof a&&(a=[a]),a.forEach(a=>{f[a.toLowerCase()]=b})}function O(a){let b=C(a);return b&&!b.disableAutodetect}function P(a,b){g.forEach(function(c){c[a]&&c[a](b)})}for(let b in Object.assign(a,{highlight:v,highlightAuto:x,highlightAll:A,highlightElement:y,highlightBlock:function(a){return N("10.7.0","highlightBlock will be removed entirely in v12.0"),N("10.7.0","Please use highlightElement now."),y(a)},configure:function(a){t=d(t,a)},initHighlighting:()=>{A(),N("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){A(),N("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(b,c){let d=null;try{d=c(a)}catch(a){if(L("Language definition for '{}' could not be registered.".replace("{}",b)),p)L(a);else throw a;d=s}d.name||(d.name=b),e[b]=d,d.rawDefinition=c.bind(null,a),d.aliases&&K(d.aliases,{languageName:b})},unregisterLanguage:function(a){for(let b of(delete e[a],Object.keys(f)))f[b]===a&&delete f[b]},listLanguages:function(){return Object.keys(e)},getLanguage:C,registerAliases:K,autoDetection:O,inherit:d,addPlugin:function(a){var b;(b=a)["before:highlightBlock"]&&!b["before:highlightElement"]&&(b["before:highlightElement"]=a=>{b["before:highlightBlock"](Object.assign({block:a.el},a))}),b["after:highlightBlock"]&&!b["after:highlightElement"]&&(b["after:highlightElement"]=a=>{b["after:highlightBlock"](Object.assign({block:a.el},a))}),g.push(a)},removePlugin:function(a){let b=g.indexOf(a);-1!==b&&g.splice(b,1)}}),a.debugMode=function(){p=!1},a.safeMode=function(){p=!0},a.versionString="11.11.1",a.regex={concat:m,lookahead:j,either:n,optional:l,anyNumberOfTimes:k},B)"object"==typeof B[b]&&function a(b){return b instanceof Map?b.clear=b.delete=b.set=function(){throw Error("map is read-only")}:b instanceof Set&&(b.add=b.clear=b.delete=function(){throw Error("set is read-only")}),Object.freeze(b),Object.getOwnPropertyNames(b).forEach(c=>{let d=b[c],e=typeof d;"object"!==e&&"function"!==e||Object.isFrozen(d)||a(d)}),b}(B[b]);return Object.assign(a,B),a},U=T({});U.newInstance=()=>T({}),a.exports=U,U.HighlightJS=U,U.default=U}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3336,exports.ids=[3336],exports.modules={13336:(a,b,c)=>{c.d(b,{applyConversationAction:()=>w});var d=c(12904),e=c(25052),f=c(16196),g=c(22619),h=c(51888),i=c(68465),j=c(82940),k=c(88623),l=c(93994),m=c(75040),n=c(96755),o=c(5242),p=c(15615);let q=new Set(["interrupt","kill","reconfigure","compact"]);async function r(a,b={}){if(!a.action||!(b.enabled??(()=>(0,f.cM)()))())return null;let c=b.registry??(0,d.agentRegistry)(),e=a.path?c.conversationForPath(a.path):a.conversationId.startsWith("conversation_")?c.conversation(a.conversationId):null,s=e?.generations.at(-1);if(!e||!s)return null;let t=c.readOnlySnapshot(),u=t.entries[(0,k.pp)({engine:e.engine,sessionId:s.id})];if(!u)return null;let v="kill"===a.action&&!u.host,w="reconfigure"===a.action&&!u.host&&Object.values(t.receipts).some(a=>"structured"===a.transport&&"completed"===a.state&&c.canonicalConversationId(a.conversationId)===e.id),x="reconfigure"===a.action&&!u.host&&(e.reconfigure?.status==="applying"||w);if(!u.structuredHost&&!v&&!x)return null;if(!q.has(a.action)){if("resume"===a.action){if("dead"===u.status||"unhosted"===u.status)return null;try{if((b.hostProcessAlive??p.structuredHostProcessAlive)(u.structuredHost?.process??null)){if(!await (b.republish??n.A)({engine:e.engine,sessionId:s.id}))return{status:503,body:{error:"structured recovery ownership is unavailable"}};return{status:200,body:{ok:!0,structured:!0,target:e.id,outcome:"resumed",spawned:!1}}}let d=await (b.recover??p.recoverDeadStructuredConversation)({path:a.path||s.path,conversationId:e.id},{registry:c});if(!d)return{status:503,body:{error:"structured recovery ownership is unavailable"}};return{status:200,body:{ok:!0,structured:!0,target:e.id,outcome:"resumed",spawned:d.spawned}}}catch(a){return{status:503,body:{error:a instanceof Error?a.message:String(a)}}}}let d=["dialog-key","kill","reconfigure"].includes(a.action)?a.action:"requested";return{status:409,body:{error:`structured host does not support the ${d} control`}}}if("compact"===a.action){let a=(0,m.s_)(e.engine);if(!a.supported||u.structuredHost?.kind!=="codex-app-server")return{status:409,body:{error:a.reason??`the ${e.engine} structured host does not expose a compact control`,code:"unsupported-capability",capability:a}}}if(v&&!u.structuredHost?.process&&("dead"===u.status||"unhosted"===u.status))return{status:200,body:{ok:!0,structured:!0,target:e.id,outcome:"delivered"}};let y=void 0===b.client?(0,l.sS)():b.client;if(!y)return{status:503,body:{error:"structured runtime host is unavailable"}};let z=a.operationId??(b.operationId??m.Lu)();try{let c="reconfigure"===a.action?function(a,b){let c="string"==typeof b.model?b.model.trim():"",d="claude"===a?(0,h.OV)(c):(0,h.g9)(c)?c:null,e=h.cC[a].some(a=>a.id===d);if(!d||!e)return{error:`model is not supported by ${a}`};let f="string"==typeof b.effort?b.effort.trim():"";if(!(0,g.ve)(a,d)?.includes(f))return{error:`effort is not supported by ${a} model ${d}`};if("claude"===a&&void 0!==b.fast&&null!==b.fast)return{error:"speed is only supported by codex"};if("codex"===a&&"boolean"!=typeof b.fast)return{error:"speed must be selected for codex"};let i=void 0===b.accountId||null===b.accountId||""===b.accountId?void 0:"string"==typeof b.accountId?b.accountId.trim():"";return void 0===i||/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(i)?{value:{model:d,effort:f,fast:"codex"===a?b.fast:null,...i?{accountId:i}:{}}}:{error:"account is invalid"}}(e.engine,a.reconfiguration??{}):null;if(c&&!c.value)return{status:400,body:{error:c.error??"invalid configuration"}};if(c?.value?.accountId&&!(b.accountExists??((a,b)=>("claude"===a?(0,i.Fn)():(0,j.Sq)()).some(a=>a.id===b)))(e.engine,c.value.accountId))return{status:400,body:{error:`account is not available for ${e.engine}`}};let d={engine:e.engine,sessionId:s.id},f="kill"===a.action?{kind:"kill",operationId:z,idempotencyKey:z,conversationId:e.id,sessionKey:d}:"compact"===a.action?{kind:"compact",operationId:z,idempotencyKey:z,conversationId:e.id,sessionKey:d}:"reconfigure"===a.action?{kind:"reconfigure",operationId:z,idempotencyKey:z,conversationId:e.id,sessionKey:d,...c.value,previousProfile:{model:s.launchProfile.model,effort:s.launchProfile.effort,fast:s.launchProfile.fast}}:{kind:"interrupt",operationId:z,idempotencyKey:z,conversationId:e.id,turnId:u.structuredHost?.activeTurnRef??null},k=await y.command(f);return(b.kick??o.l)(),{status:"delivered"===k.receipt.status?200:202,body:{ok:!0,structured:!0,target:e.id,operationId:z,receipt:k.receipt}}}catch(c){if(("kill"===a.action||"reconfigure"===a.action||"compact"===a.action)&&(0,l.o7)(c)){let a=await y.operationStatus(z).catch(()=>null);if(a)return(b.kick??o.l)(),{status:"delivered"===a.receipt.status?200:202,body:{ok:!0,structured:!0,target:e.id,operationId:a.operationId,receipt:a.receipt}}}return{status:503,body:{error:c instanceof Error?c.message:String(c)}}}}let s=["interrupt","kill","resume","compact","dialog-key"],t={registry:d.agentRegistry,structuredEnabled:()=>(0,f.cM)(),dispatchStructuredControl:r,interruptConversation:e.F5,killConversation:e.yv,resumeConversation:e.X$,compactConversation:e.LJ,answerDialogKey:e.m3};function u(a,b){return{status:b,body:{error:a}}}function v(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function w(a,b=t){if(!s.includes(a.action))return u("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return u("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,e=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return u("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||e?.id!==d.id))return u("conversation identity does not own transcript path",409);let f=d??e,g=d?.generations.at(-1)?.path??a.transcriptPath;if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:g,conversationId:f?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!g)return u("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return v(await b.interruptConversation(g));if("kill"===a.action){let a=await b.killConversation(g);return a.ok&&!a.target?v({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):v(a)}return"resume"===a.action?v(await b.resumeConversation(g)):"compact"===a.action?v(await b.compactConversation(g)):v(await b.answerDialogKey(g,a.key??"",a.label,a.question))}}};
@@ -0,0 +1,2 @@
1
+ exports.id=3438,exports.ids=[3438],exports.modules={21241:(a,b,c)=>{"use strict";let d;c.d(b,{P3:()=>h,x_:()=>g});let e=BigInt(1e6);class f extends Error{constructor(...a){super(...a),this.name="StructuredRuntimeRequirementError"}}function g(a=process.platform,b=process.versions){if("darwin"===a&&!b.bun)throw new f("structured hosts on macOS require the Viewer server to run with Bun")}function h(a){if(!Number.isInteger(a)||a<=0)return null;let b=function(){if(void 0!==d)return d;if("darwin"!==process.platform)return d=null;try{let a=c(85786),b=a.dlopen("/usr/lib/libproc.dylib",{proc_pidinfo:{args:[a.FFIType.i32,a.FFIType.i32,a.FFIType.u64,a.FFIType.ptr,a.FFIType.i32],returns:a.FFIType.i32}});d=(c,d)=>Number(b.symbols.proc_pidinfo(c,3,BigInt(0),a.ptr(d),d.byteLength))}catch{d=null}return d}();if(!b)return null;let f=Buffer.alloc(136);try{var g=b(a,f);if(!Number.isInteger(a)||a<=0||g<136||f.byteLength<136||f.readUInt32LE(12)!==a)return null;let c=f.readBigUInt64LE(120),d=f.readBigUInt64LE(128);return c===BigInt(0)||d>=e?null:`${a}:${c}:${d.toString().padStart(6,"0")}`}catch{return null}}},31592:(a,b,c)=>{"use strict";c.d(b,{He:()=>e,KT:()=>g,pS:()=>f,vI:()=>d});let d="state-staging",e="staging-release.json";function f(a=process.env){return"1"===a.LLV_STAGING}function g(a){let b;if(!a||"object"!=typeof a||Array.isArray(a))throw Error("staging release record is invalid");let c=a.containers;if("string"!=typeof a.revision||!/^[0-9a-f]{40}$/.test(a.revision)||"string"!=typeof a.image||!a.image||"string"!=typeof a.deployedAt||Number.isNaN(Date.parse(a.deployedAt))||!c||"object"!=typeof c||Array.isArray(c)||"string"!=typeof a.endpoint)throw Error("staging release record is invalid");try{b=new URL(a.endpoint)}catch{throw Error("staging release endpoint is invalid")}if("http:"!==b.protocol||!b.port)throw Error("staging release endpoint is invalid");if("string"!=typeof c.viewer||!c.viewer||"string"!=typeof c.runtimeHost||!c.runtimeHost)throw Error("staging release containers are invalid");return{revision:a.revision,image:a.image,endpoint:a.endpoint,containers:{viewer:c.viewer,runtimeHost:c.runtimeHost},deployedAt:a.deployedAt}}},59683:(a,b,c)=>{"use strict";let d;c.d(b,{B:()=>C});var e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(70547);let j="/proc";function k(a){try{return f().readFileSync(h().join(j,String(a),"cmdline"),"utf8").split("\0").filter(Boolean)}catch{return[]}}function l(a){try{return f().readlinkSync(h().join(j,String(a),"cwd"))}catch{return null}}function m(a){let b;try{b=f().readFileSync(h().join(j,String(a),"stat"),"utf8")}catch{return null}return b.slice(b.lastIndexOf(")")+2).trim().split(/\s+/)}function n(a){try{return(128&f().lstatSync(a).mode)!=0}catch{return!1}}function o(a){let b;try{b=f().readdirSync(j,{withFileTypes:!0})}catch{return}for(let c of b){let b;if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let d=Number(c.name),e=h().join(j,c.name,"fd");try{b=f().readdirSync(e,{withFileTypes:!0})}catch{continue}for(let c of b){let b,g=h().join(e,c.name);try{b=f().readlinkSync(g)}catch{continue}a(b,d,()=>n(g))}}}let p={name:"linux",pidAlive:function(a){return Number.isInteger(a)&&a>0&&f().existsSync(h().join(j,String(a)))},readArgv:k,readCwd:l,readPpid:function(a){let b=m(a),c=b?Number(b[1]):NaN;return Number.isInteger(c)&&c>1?c:null},processIdentity:function(a){let b=m(a),c=b?.[19];return c?`${a}:${c}`:null},readEnvVar:function(a,b){let c;try{c=f().readFileSync(h().join(j,String(a),"environ"),"utf8")}catch{return null}let d=b+"=",e=null;for(let a of c.split("\0"))a.startsWith(d)&&(e=a.slice(d.length));return e},listProcesses:function(){let a,b=[];try{a=f().readdirSync(j,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name);b.push({pid:a,argv:k(a),cwd:l(a),tty:function(a){let b=m(a),c=b?Number(b[4]):NaN;return Number.isInteger(c)&&c>0?c:0}(a)})}return b},systemMemory:function(){try{return(0,i.NW)(f().readFileSync(h().join(j,"meminfo"),"utf8"))}catch{return null}},processMemory:function(a){let b=new Map;for(let c of a)if(Number.isInteger(c)&&!(c<=0))try{b.set(c,(0,i.sW)(f().readFileSync(h().join(j,String(c),"status"),"utf8")))}catch{}return b},ppidMap:function(){let a,b=new Map;try{a=f().readdirSync(j,{withFileTypes:!0})}catch{return b}for(let c of a){if(!c.isDirectory()||!/^\d+$/.test(c.name))continue;let a=Number(c.name),d=m(a),e=d?Number(d[1]):NaN;Number.isInteger(e)&&e>0&&b.set(a,e)}return b},scanFdTargetsUnder:function(a,b){o(b)},scanFdTargetsFor:function(a,b){o(b)},pidWritesPath:function(a,b){let c,d;try{c=f().realpathSync(b)}catch{c=null}let e=h().join(j,String(a),"fd");try{d=f().readdirSync(e,{withFileTypes:!0})}catch{return!1}for(let a of d){let d,g=h().join(e,a.name);try{d=f().readlinkSync(g)}catch{continue}if((d===b||d===c)&&n(g))return!0}return!1},pidHoldsPath:function(a,b){let c;try{c=f().readdirSync(h().join(j,String(a),"fd"),{withFileTypes:!0})}catch{return!1}for(let d of c)try{if(f().readlinkSync(h().join(j,String(a),"fd",d.name))===b)return!0}catch{continue}return!1}};var q=c(31421),r=c(48161),s=c.n(r),t=c(21241);function u(a,b){let c=(0,q.spawnSync)(a,b,{encoding:"utf8",maxBuffer:0x1000000,timeout:1e4});return c.error||"string"!=typeof c.stdout?"":c.stdout}let v=new Map,w=1,x=/^\s*(\d+)\s+(\d+)\s+(\S+)\s+(.*)$/;function y(a,b){let c=0,d="";for(let e of a.split("\n")){if(!e)continue;let a=e[0],f=e.slice(1);if("p"===a)c=Number(f),d="";else if("f"===a)d="";else if("a"===a)d=f;else if("n"===a&&c>0&&f){let a="w"===d||"u"===d;b(f,c,()=>a)}}}let z=null;function A(){let a=Date.now();if(z&&a-z.at<5e3)return z.byPid;let b=function(a){let b=new Map;for(let c of a.split("\n")){let a=x.exec(c);if(!a)continue;let d=Number(a[1]),e=Number(a[2]),f=(a[4]??"").trim().split(/\s+/).filter(Boolean);b.set(d,{ppid:Number.isInteger(e)&&e>1?e:null,tty:function(a){if(!a||"?"===a||"??"===a||"-"===a)return 0;let b=v.get(a);return void 0===b&&(b=w,w+=1,v.set(a,b)),b}(a[3]??""),argv:f})}return b}(u("ps",["-axo","pid=,ppid=,tty=,args="])),c=function(a){let b=new Map,c=0;for(let d of a.split("\n")){if(!d)continue;let a=d[0],e=d.slice(1);"p"===a?c=Number(e):"n"===a&&c>0&&b.set(c,e)}return b}(u("lsof",["-w","-d","cwd","-Fpn"])),d=new Map;for(let[a,e]of b)d.set(a,{argv:e.argv,ppid:e.ppid,tty:e.tty,cwd:c.get(a)??null});return z={at:a,byPid:d},d}let B={name:"portable",pidAlive:function(a){if(!Number.isInteger(a)||a<=0)return!1;try{return process.kill(a,0),!0}catch(a){return"EPERM"===a.code}},readArgv:function(a){return A().get(a)?.argv??[]},readCwd:function(a){return A().get(a)?.cwd??null},readPpid:function(a){return A().get(a)?.ppid??null},processIdentity:function(a){return!Number.isInteger(a)||a<=0?null:"darwin"===process.platform?(0,t.P3)(a):null},readEnvVar:function(){return null},listProcesses:function(){let a=[];for(let[b,c]of A())a.push({pid:b,argv:c.argv,cwd:c.cwd,tty:c.tty});return a},systemMemory:function(){let a=s().totalmem(),b=(0,i.Lc)(u("vm_stat",[]));if(!a||null===b)return null;let c=(0,i.yh)(u("sysctl",["-n","vm.swapusage"]));return{ramTotal:a,ramAvailable:Math.min(b,a),swapTotal:c?.swapTotal??0,swapUsed:c?.swapUsed??0}},processMemory:function(a){let b=new Set;for(let c of a)Number.isInteger(c)&&c>0&&b.add(c);let c=new Map;if(0===b.size)return c;for(let[a,d]of(0,i.CT)(u("ps",["-axo","pid=,rss="])))b.has(a)&&c.set(a,{rssBytes:d,swapBytes:0});return c},ppidMap:function(){let a=new Map;for(let[b,c]of A())null!==c.ppid&&a.set(b,c.ppid);return a},scanFdTargetsUnder:function(a,b){a&&f().existsSync(a)&&y(u("lsof",["-w","+D",a,"-Fpfan"]),b)},scanFdTargetsFor:function(a,b){let c=[...new Set(a.filter(Boolean))];0!==c.length&&y(u("lsof",["-w","-Fpfan","--",...c]),b)},pidWritesPath:function(a,b){let c=!1;return y(u("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),(a,b,d)=>{d()&&(c=!0)}),c},pidHoldsPath:function(a,b){let c=!1;return y(u("lsof",["-w","-a","-p",String(a),"-Fpfan","--",b]),()=>{c=!0}),c}},C="portable"===(d=process.env.VIEWER_PROC_BACKEND)?B:"linux"===d||"linux"===process.platform?p:B},70547:(a,b,c)=>{"use strict";function d(a,b){let c=RegExp(`^${b}:\\s+(\\d+)\\s*kB`,"m").exec(a);if(!c)return null;let d=Number(c[1]);return Number.isFinite(d)?1024*d:null}function e(a){let b=d(a,"MemTotal"),c=d(a,"MemAvailable");if(null===b||null===c||b<=0)return null;let e=d(a,"SwapTotal")??0,f=d(a,"SwapFree")??e;return{ramTotal:b,ramAvailable:c,swapTotal:e,swapUsed:Math.max(0,e-f)}}function f(a){return{rssBytes:d(a,"VmRSS")??0,swapBytes:d(a,"VmSwap")??0}}function g(a){let b=Number(/page size of (\d+) bytes/.exec(a)?.[1]);if(!Number.isFinite(b)||b<=0)return null;let c=b=>{let c=RegExp(`^${b}:\\s+(\\d+)\\.?`,"m").exec(a);return c?Number(c[1]):null},d=c("Pages free"),e=c("Pages inactive");return null===d||null===e?null:(d+e+(c("Pages purgeable")??0))*b}c.d(b,{CT:()=>k,Lc:()=>g,NW:()=>e,mO:()=>l,sW:()=>f,yh:()=>j});let h=/([\d.]+)\s*([KMGT])/;function i(a){let b=h.exec(a);if(!b)return null;let c=Number(b[1]);return Number.isFinite(c)?Math.round(c*({K:1024,M:1048576,G:0x40000000,T:0x10000000000})[b[2]]):null}function j(a){let b=/total\s*=\s*(\S+)/.exec(a)?.[1],c=/used\s*=\s*(\S+)/.exec(a)?.[1];if(!b||!c)return null;let d=i(b),e=i(c);return null===d||null===e?null:{swapTotal:d,swapUsed:e}}function k(a){let b=new Map;for(let c of a.split("\n")){let a=/^\s*(\d+)\s+(\d+)\s*$/.exec(c);a&&b.set(Number(a[1]),1024*Number(a[2]))}return b}function l(a,b){let c=new Map;for(let[a,d]of b){if(a===d)continue;let b=c.get(d);b?b.push(a):c.set(d,[a])}let d=new Set([a]),e=[],f=[a];for(;f.length;){let a=f.pop();for(let b of(e.push(a),c.get(a)??[]))d.has(b)||(d.add(b),f.push(b))}return e}},78335:()=>{},91724:(a,b,c)=>{"use strict";c.d(b,{BQ:()=>u,Pn:()=>t,UT:()=>o,ks:()=>n,oy:()=>v});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h),j=c(31592);let k="agent-log-viewer",l="live-log-viewer";function m(){return process.env.XDG_CONFIG_HOME||i().join(g().homedir(),".config")}function n(a){return p(m(),a)}function o(a){return p(process.env.XDG_CACHE_HOME||i().join(g().homedir(),".cache"),a)}function p(a,b){let c=i().join(a,k,b);if(e().existsSync(c))return c;let d=i().join(a,l,b);return e().existsSync(d)?d:c}let q=new Set,r=".migrated-from-legacy";function s(a,b){if("1"===process.env.LLV_RESOURCE_OBSERVATION_WORKER||q.has(a))return;let c=i().join(a,r),d=()=>`${new Date().toISOString()} ${b}
2
+ `;try{if(e().existsSync(c))return void q.add(a);if(!e().existsSync(b)){e().mkdirSync(a,{recursive:!0}),e().writeFileSync(c,d()),q.add(a);return}if(!e().existsSync(a)){e().mkdirSync(i().dirname(a),{recursive:!0});let c=`${a}.migrating.${process.pid}`;e().rmSync(c,{recursive:!0,force:!0});try{e().cpSync(b,c,{recursive:!0}),e().writeFileSync(i().join(c,r),d()),e().renameSync(c,a)}catch(a){throw e().rmSync(c,{recursive:!0,force:!0}),a}q.add(a);return}e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1}),e().writeFileSync(c,d()),q.add(a)}catch(c){console.error(`viewer state migration ${b} -> ${a} failed; will retry:`,c)}}function t(){let a=process.env.LLV_STATE_DIR;if((0,j.pS)()){var b=a;let c=b||i().join(m(),k,j.vI),d=i().resolve(c);if([i().join(m(),k,"state"),i().join(m(),l,"state"),i().join(g().homedir(),".claude","viewer-state")].some(a=>i().resolve(a)===d))throw Error(`staging mode refuses the production state dir ${d}; set LLV_STATE_DIR to a staging-only dir`);return c}if(a)return a;let c=i().join(m(),k,"state");return s(c,i().join(g().homedir(),".claude","viewer-state")),c}function u(...a){return i().join(t(),...a)}function v(){if((0,j.pS)())return u("inbox");let a=i().join(m(),k,"inbox");return s(a,i().join(g().homedir(),".claude","viewer-inbox")),a}},96487:()=>{}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3558,exports.ids=[3558],exports.modules={9848:(a,b,c)=>{c.d(b,{y:()=>f});var d=c(58152),e=c(4837);function f(a,b){let c="string"==typeof b.model?b.model.trim():"",f="claude"===a?(0,e.OV)(c):(0,e.g9)(c)?c:null,g=e.cC[a].some(a=>a.id===f);if(!f||!g)return{error:`model is not supported by ${a}`};let h="string"==typeof b.effort?b.effort.trim():"";if(!(0,d.ve)(a,f)?.includes(h))return{error:`effort is not supported by ${a} model ${f}`};if("claude"===a&&void 0!==b.fast&&null!==b.fast)return{error:"speed is only supported by codex"};if("codex"===a&&"boolean"!=typeof b.fast)return{error:"speed must be selected for codex"};let i=void 0===b.accountId||null===b.accountId||""===b.accountId?void 0:"string"==typeof b.accountId?b.accountId.trim():"";return void 0===i||/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(i)?{value:{model:f,effort:h,fast:"codex"===a?b.fast:null,...i?{accountId:i}:{}}}:{error:"account is invalid"}}},53558:(a,b,c)=>{c.d(b,{W:()=>h,applyConversationAction:()=>l});var d=c(29733),e=c(10167),f=c(50201),g=c(78181);let h=["interrupt","kill","resume","compact","dialog-key"],i={registry:d.agentRegistry,structuredEnabled:()=>(0,f.cM)(),dispatchStructuredControl:g.Z,interruptConversation:e.F5,killConversation:e.yv,resumeConversation:e.X$,compactConversation:e.LJ,answerDialogKey:e.m3};function j(a,b){return{status:b,body:{error:a}}}function k(a){if(a.ok)return{status:200,body:a};let{status:b,...c}=a;return{status:b,body:c}}async function l(a,b=i){if(!h.includes(a.action))return j("unsupported conversation action",400);if(a.conversationId&&!a.conversationId.startsWith("conversation_"))return j("invalid conversation id",400);let c=b.registry(),d=a.conversationId?c.conversation(a.conversationId):null,e=a.transcriptPath?c.conversationForPath(a.transcriptPath):null;if(a.conversationId&&!d)return j("viewer conversation is unknown",404);if(d&&a.transcriptPath&&(!new Set([...d.generations.map(a=>a.path),...d.continuityPaths]).has(a.transcriptPath)||e?.id!==d.id))return j("conversation identity does not own transcript path",409);let f=d??e,g=d?.generations.at(-1)?.path??a.transcriptPath;if(b.structuredEnabled()){let c=await b.dispatchStructuredControl({path:g,conversationId:f?.id??a.conversationId,action:a.action,operationId:a.operationId});if(c)return c}if(!g)return j("conversationId or transcriptPath is required",400);if("interrupt"===a.action)return k(await b.interruptConversation(g));if("kill"===a.action){let a=await b.killConversation(g);return a.ok&&!a.target?k({ok:!1,outcome:"failed",error:"kill resolved no registered pane",status:409}):k(a)}return"resume"===a.action?k(await b.resumeConversation(g)):"compact"===a.action?k(await b.compactConversation(g)):k(await b.answerDialogKey(g,a.key??"",a.label,a.question))}},78181:(a,b,c)=>{c.d(b,{Z:()=>p});var d=c(50201),e=c(29733),f=c(9848),g=c(78966),h=c(41617),i=c(48892),j=c(3127),k=c(63629),l=c(73789),m=c(38855),n=c(94292);let o=new Set(["interrupt","kill","reconfigure","compact"]);async function p(a,b={}){if(!a.action||!(b.enabled??(()=>(0,d.cM)()))())return null;let c=b.registry??(0,e.agentRegistry)(),q=a.path?c.conversationForPath(a.path):a.conversationId.startsWith("conversation_")?c.conversation(a.conversationId):null,r=q?.generations.at(-1);if(!q||!r)return null;let s=c.readOnlySnapshot(),t=s.entries[(0,i.pp)({engine:q.engine,sessionId:r.id})];if(!t)return null;let u="kill"===a.action&&!t.host,v="reconfigure"===a.action&&!t.host&&Object.values(s.receipts).some(a=>"structured"===a.transport&&"completed"===a.state&&c.canonicalConversationId(a.conversationId)===q.id),w="reconfigure"===a.action&&!t.host&&(q.reconfigure?.status==="applying"||v);if(!t.structuredHost&&!u&&!w)return null;if(!o.has(a.action)){if("resume"===a.action){if("dead"===t.status||"unhosted"===t.status)return null;try{if((b.hostProcessAlive??n.structuredHostProcessAlive)(t.structuredHost?.process??null)){if(!await (b.republish??l.A)({engine:q.engine,sessionId:r.id}))return{status:503,body:{error:"structured recovery ownership is unavailable"}};return{status:200,body:{ok:!0,structured:!0,target:q.id,outcome:"resumed",spawned:!1}}}let d=await (b.recover??n.recoverDeadStructuredConversation)({path:a.path||r.path,conversationId:q.id},{registry:c});if(!d)return{status:503,body:{error:"structured recovery ownership is unavailable"}};return{status:200,body:{ok:!0,structured:!0,target:q.id,outcome:"resumed",spawned:d.spawned}}}catch(a){return{status:503,body:{error:a instanceof Error?a.message:String(a)}}}}let d=["dialog-key","kill","reconfigure"].includes(a.action)?a.action:"requested";return{status:409,body:{error:`structured host does not support the ${d} control`}}}if("compact"===a.action){let a=(0,k.s_)(q.engine);if(!a.supported||t.structuredHost?.kind!=="codex-app-server")return{status:409,body:{error:a.reason??`the ${q.engine} structured host does not expose a compact control`,code:"unsupported-capability",capability:a}}}if(u&&!t.structuredHost?.process&&("dead"===t.status||"unhosted"===t.status))return{status:200,body:{ok:!0,structured:!0,target:q.id,outcome:"delivered"}};let x=void 0===b.client?(0,j.sS)():b.client;if(!x)return{status:503,body:{error:"structured runtime host is unavailable"}};let y=a.operationId??(b.operationId??k.Lu)();try{let c="reconfigure"===a.action?(0,f.y)(q.engine,a.reconfiguration??{}):null;if(c&&!c.value)return{status:400,body:{error:c.error??"invalid configuration"}};if(c?.value?.accountId&&!(b.accountExists??((a,b)=>("claude"===a?(0,g.Fn)():(0,h.Sq)()).some(a=>a.id===b)))(q.engine,c.value.accountId))return{status:400,body:{error:`account is not available for ${q.engine}`}};let d={engine:q.engine,sessionId:r.id},e="kill"===a.action?{kind:"kill",operationId:y,idempotencyKey:y,conversationId:q.id,sessionKey:d}:"compact"===a.action?{kind:"compact",operationId:y,idempotencyKey:y,conversationId:q.id,sessionKey:d}:"reconfigure"===a.action?{kind:"reconfigure",operationId:y,idempotencyKey:y,conversationId:q.id,sessionKey:d,...c.value,previousProfile:{model:r.launchProfile.model,effort:r.launchProfile.effort,fast:r.launchProfile.fast}}:{kind:"interrupt",operationId:y,idempotencyKey:y,conversationId:q.id,turnId:t.structuredHost?.activeTurnRef??null},i=await x.command(e);return(b.kick??m.l)(),{status:"delivered"===i.receipt.status?200:202,body:{ok:!0,structured:!0,target:q.id,operationId:y,receipt:i.receipt}}}catch(c){if(("kill"===a.action||"reconfigure"===a.action||"compact"===a.action)&&(0,j.o7)(c)){let a=await x.operationStatus(y).catch(()=>null);if(a)return(b.kick??m.l)(),{status:"delivered"===a.receipt.status?200:202,body:{ok:!0,structured:!0,target:q.id,operationId:a.operationId,receipt:a.receipt}}}return{status:503,body:{error:c instanceof Error?c.message:String(c)}}}}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3587,exports.ids=[3587],exports.modules={3587:(a,b,c)=>{c.d(b,{WH:()=>F,C9:()=>Q,aM:()=>X,pA:()=>U,jk:()=>T,cw:()=>V,L5:()=>W});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(91724),k=c(59683),l=c(89940);let m="viewMode",n="taskPanelOpen",o="path:",p=a=>`${o}${a}`,q=a=>`favorite:${a}`,r=a=>`fold:${a}`,s=a=>`tray:${a}`;function t(a,b){let c=new Set,d=a;for(;void 0!==b[d]&&!c.has(d);)c.add(d),d=b[d];return d}function u(a,b){return a.startsWith(o)?p(t(a.slice(o.length),b)):a}let v={absent:0,manual:1,pinned:2,expanded:3,hidden:4};function w(a,b){let c=new Map,d=(a,d)=>{let e=t(a,b),f=c.get(e);(void 0===f||(v[d]??0)>(v[f]??0))&&c.set(e,d)};for(let b of a.prefs.hidden)d(b,"hidden");for(let b of a.prefs.expanded)d(b,"expanded");for(let b of a.prefs.manual)d(b,(a.explicitManual??[]).includes(b)?"pinned":"manual");return c}function x(a,b){let c=new Set(a??[]),d=new Set(b??[]);return[...new Set([...c,...d])].filter(a=>c.has(a)!==d.has(a))}function y(a){return[...new Set(a)]}function z(a){return a.pathAliases??{}}function A(a,b){let c=new Set,d=a;for(;void 0!==b[d];){if(c.has(d))throw Error("board path alias cycle");c.add(d),d=b[d]}return d}function B(a,b=z(a)){let c=function(a){let b={};for(let c of Object.keys(a)){let d=A(c,a);c!==d&&(b[c]=d)}return b}(b),d=y(a.prefs.hidden.map(a=>A(a,c))),e=new Set(d),f=a=>y(a.map(a=>A(a,c)).filter(a=>!e.has(a))),g=f(a.prefs.manual),h=new Set(g);return{...a,pathAliases:c,explicitManual:f(a.explicitManual??[]).filter(a=>h.has(a)),prefs:{...a.prefs,manual:g,hidden:d,expanded:f(a.prefs.expanded),favorites:y(a.prefs.favorites??[]),foldedEngineChildIds:y(a.prefs.foldedEngineChildIds??[]),expandedEngineTrayParentIds:y(a.prefs.expandedEngineTrayParentIds??[])}}}function C(a,b){var c;let d,e,f,g=B(a);for(let a of b){if("remap-paths"===a.kind){g=function(a,b,c=!1){let d=z(a),e=b.filter(({from:a,to:b})=>A(a,d)!==A(b,d));if(0===e.length)return B(a);let f=new Set(b.map(({from:a})=>A(a,d))),g=new Set(e.map(({to:a})=>A(a,d))),h=a=>{if(c)return!0;let b=A(a,d);return!g.has(b)||f.has(b)},i=a.prefs.manual.filter(h),j=(a.explicitManual??[]).filter(h),k={...d};for(let{from:a,to:b}of e)k[a]=b;return B({...a,explicitManual:j,prefs:{...a.prefs,manual:i}},k)}(g,a.pairs,a.targetPlacementAuthoritative);continue}if("reconcile-roots"===a.kind){g=function(a,b,c){let d=z(a),e=new Set(c.map(a=>A(a,d))),f=a.prefs.manual.filter(a=>!e.has(a)),g=(a.explicitManual??[]).filter(a=>!e.has(a)),h=new Set([...f,...a.prefs.hidden,...Object.values(d).map(a=>A(a,d))]);for(let a of b.map(a=>A(a,d)))h.has(a)||(f.push(a),h.add(a));return B({...a,explicitManual:g,prefs:{...a.prefs,manual:f}})}(g,a.roots,a.removeManual);continue}if("restore"===a.kind){g=function(a,b,c){let d={...a.prefs,hidden:a.prefs.hidden.filter(a=>a!==b)},e=(a.explicitManual??[]).filter(a=>a!==b);if("auto"===c)return B({...a,explicitManual:e,prefs:d});let f={...d,manual:d.manual.filter(a=>a!==b),expanded:d.expanded.filter(a=>a!==b)};return B({...a,explicitManual:"manual"===c?[...e,b]:e,prefs:"manual"===c?{...f,manual:[...f.manual,b]}:{...f,expanded:[...f.expanded,b]}})}(g,A(a.path,z(g)),a.placement);continue}if("set-favorite"===a.kind){let b=a.favorite?y([...g.prefs.favorites,a.id]):g.prefs.favorites.filter(b=>b!==a.id);g=B({...g,prefs:{...g.prefs,favorites:b}});continue}if("set-engine-child-fold"===a.kind){let b=g.prefs.foldedEngineChildIds??[],c=a.folded?y([...b,a.id]):b.filter(b=>b!==a.id),d=A(a.path,z(g));g=B({...g,explicitManual:a.folded?(g.explicitManual??[]).filter(a=>a!==d):g.explicitManual,prefs:{...g.prefs,foldedEngineChildIds:c,manual:a.folded?g.prefs.manual.filter(a=>a!==d):g.prefs.manual,expanded:a.folded?g.prefs.expanded.filter(a=>a!==d):g.prefs.expanded}});continue}if("set-engine-tray-expanded"===a.kind){let b=g.prefs.expandedEngineTrayParentIds??[],c=a.expanded?y([...b,a.parentId]):b.filter(b=>b!==a.parentId);g=B({...g,prefs:{...g.prefs,expandedEngineTrayParentIds:c}});continue}if("set-presentation"===a.kind){g=B({...g,prefs:{...g.prefs,...void 0===a.viewMode?{}:{viewMode:a.viewMode},...void 0===a.taskPanelOpen?{}:{taskPanelOpen:a.taskPanelOpen}}});continue}let b=A(a.path,z(g));g=B({...g,explicitManual:(g.explicitManual??[]).filter(a=>a!==b),prefs:{...g.prefs,manual:g.prefs.manual.filter(a=>a!==b),expanded:g.prefs.expanded.filter(a=>a!==b),hidden:y([...g.prefs.hidden,b])}})}return d=z(c=g),e=new Set(c.prefs.hidden.map(a=>A(a,d))),f=a.prefs.hidden.filter(a=>e.has(A(a,d))),{...c,prefs:{...c.prefs,hidden:y([...f,...c.prefs.hidden])}}}let D=(0,j.BQ)("board.json"),E={manual:[],hidden:[],expanded:[],favorites:[],foldedEngineChildIds:[],expandedEngineTrayParentIds:[],viewMode:null,taskPanelOpen:!1};class F extends Error{constructor(a="board state unavailable"){super(a)}}function G(a){return Array.isArray(a)&&a.every(a=>"string"==typeof a)}function H(a){var b,c;if(!a||"object"!=typeof a||Array.isArray(a))return!1;let d=a.prefs;return 1===a.schemaVersion&&Number.isInteger(a.revision)&&a.revision>=0&&"string"==typeof a.updatedAt&&!!d&&G(d.manual)&&G(d.hidden)&&G(d.expanded)&&(void 0===d.favorites||G(d.favorites))&&(void 0===d.foldedEngineChildIds||G(d.foldedEngineChildIds))&&(void 0===d.expandedEngineTrayParentIds||G(d.expandedEngineTrayParentIds))&&(void 0===a.explicitManual||G(a.explicitManual))&&(void 0===a.pathAliases||!(!(b=a.pathAliases)||"object"!=typeof b||Array.isArray(b))&&Object.values(b).every(a=>"string"==typeof a))&&(void 0===a.keyRevisions||!(!(c=a.keyRevisions)||"object"!=typeof c||Array.isArray(c))&&Object.values(c).every(a=>Number.isInteger(a)&&a>=0))&&(void 0===a.keyRevisionFloor||Number.isInteger(a.keyRevisionFloor)&&a.keyRevisionFloor>=0)&&(null===d.viewMode||"scheme"===d.viewMode||"list"===d.viewMode)&&"boolean"==typeof d.taskPanelOpen}function I(){return{schemaVersion:1,revision:0,updatedAt:new Date(0).toISOString(),pathAliases:{},explicitManual:[],keyRevisions:{},keyRevisionFloor:0,prefs:{...E,manual:[],hidden:[],expanded:[]}}}function J(a,b,c,d=[]){return{...b,schemaVersion:1,revision:c,updatedAt:new Date().toISOString(),pathAliases:b.pathAliases??{},...function(a,b,c,d=[]){let e=b.pathAliases??{},f={};for(let b of[a,...d])for(let[a,c]of Object.entries(b.keyRevisions??{})){let b=u(a,e);f[b]=Math.max(f[b]??0,c)}for(let d of function(a,b){let c=new Set,d=b.pathAliases??{},e=w(a,d),f=w(b,d);for(let a of new Set([...e.keys(),...f.keys()]))(e.get(a)??"absent")!==(f.get(a)??"absent")&&c.add(p(a));for(let d of x(a.prefs.favorites,b.prefs.favorites))c.add(q(d));for(let d of x(a.prefs.foldedEngineChildIds,b.prefs.foldedEngineChildIds))c.add(r(d));for(let d of x(a.prefs.expandedEngineTrayParentIds,b.prefs.expandedEngineTrayParentIds))c.add(s(d));return a.prefs.viewMode!==b.prefs.viewMode&&c.add(m),a.prefs.taskPanelOpen!==b.prefs.taskPanelOpen&&c.add(n),c}(a,b))f[d]=c;let g=function(a){let b=a.pathAliases??{},c=new Set([m,n]);for(let d of w(a,b).keys())c.add(p(d));for(let b of a.prefs.favorites??[])c.add(q(b));for(let b of a.prefs.foldedEngineChildIds??[])c.add(r(b));for(let b of a.prefs.expandedEngineTrayParentIds??[])c.add(s(b));return c}(b),h={},i=[];for(let[a,b]of Object.entries(f))g.has(a)?h[a]=b:i.push([a,b]);i.sort((a,b)=>b[1]-a[1]||a[0].localeCompare(b[0]));let j=Math.max(a.keyRevisionFloor??0,...d.map(a=>a.keyRevisionFloor??0));for(let[a,b]of i.slice(0,512))h[a]=b;for(let[,a]of i.slice(512))j=Math.max(j,a);for(let[a,b]of Object.entries(h))!g.has(a)&&b<=j&&delete h[a];return{keyRevisions:h,keyRevisionFloor:j}}(a,b,c,d)}}function K(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if(!b||"object"!=typeof b.projects||null===b.projects||Array.isArray(b.projects))throw new F("invalid board state");if(!Object.values(b.projects).every(H))throw new F("invalid board project state");return{projects:Object.fromEntries(Object.entries(b.projects).map(([a,b])=>[a,{...b,pathAliases:b.pathAliases??{},explicitManual:b.explicitManual??b.prefs.manual,keyRevisions:function(a,b){let c={};for(let[d,e]of Object.entries(a)){let a=u(d,b);c[a]=Math.max(c[a]??0,e)}return c}(b.keyRevisions??{},b.pathAliases??{}),keyRevisionFloor:b.keyRevisionFloor??0,prefs:{...b.prefs,favorites:b.prefs.favorites??[],foldedEngineChildIds:b.prefs.foldedEngineChildIds??[],expandedEngineTrayParentIds:b.prefs.expandedEngineTrayParentIds??[]}}]))}}catch(a){if("ENOENT"===a.code)return{projects:{}};if(a instanceof F)throw a;throw new F}}function L(a,b){g().mkdirSync(i().dirname(b),{recursive:!0});let c=i().join(i().dirname(b),`.${i().basename(b)}.${process.pid}.${e().randomUUID()}.tmp`),d=null;try{d=g().openSync(c,"wx",384),g().writeFileSync(d,JSON.stringify(a,null,2)+"\n","utf8"),g().fsyncSync(d),g().closeSync(d),d=null,g().renameSync(c,b);let e=g().openSync(i().dirname(b),"r");try{g().fsyncSync(e)}finally{g().closeSync(e)}}finally{null!==d&&g().closeSync(d),g().rmSync(c,{force:!0})}}function M(a){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,a)}function N(a){try{let b=JSON.parse(g().readFileSync(a,"utf8"));if("number"==typeof b.pid&&Number.isInteger(b.pid)&&b.pid>0){let c,d="string"==typeof b.startIdentity?b.startIdentity:null;return!k.B.pidAlive(b.pid)||(null!==d?(c=k.B.processIdentity(b.pid),null!==c&&c!==d):Date.now()-g().statSync(a).mtimeMs>3e4)}return Date.now()-g().statSync(a).mtimeMs>3e4}catch{try{return Date.now()-g().statSync(a).mtimeMs>3e4}catch{return!1}}}function O(a,b){try{JSON.parse(g().readFileSync(a,"utf8")).token===b&&g().rmSync(a,{force:!0})}catch{}}function P(a,b){let c=`${a}.write-lock`,d=`${a}.write-locks`;g().mkdirSync(d,{recursive:!0,mode:448});let f={pid:process.pid,startIdentity:k.B.processIdentity(process.pid),token:e().randomUUID()},h=i().join(d,`${String(Date.now()).padStart(16,"0")}-${process.pid}-${e().randomUUID()}.json`);g().writeFileSync(h,JSON.stringify(f),{encoding:"utf8",flag:"wx",mode:384});try{for(let a=0;a<1e3;a+=1){let a,e=[];for(let a of g().readdirSync(d).filter(a=>a.endsWith(".json")).sort()){let b=i().join(d,a);if(N(b)){g().rmSync(b,{force:!0});continue}g().existsSync(b)&&e.push(b)}if(e[0]!==h){M(5);continue}try{a=g().openSync(c,"wx",384)}catch(a){if("EEXIST"!==a.code)throw a;N(c)&&g().rmSync(c,{force:!0}),M(5);continue}try{return g().writeFileSync(a,JSON.stringify(f),"utf8"),g().fsyncSync(a),b()}finally{g().closeSync(a),O(c,f.token)}}throw new F("board state is busy")}finally{O(h,f.token)}}function Q(a,b=D){return K(b).projects[(0,l.G$)(a)]??I()}function R(a,b){return JSON.stringify({prefs:a.prefs,pathAliases:a.pathAliases??{},explicitManual:a.explicitManual??[]})===JSON.stringify({prefs:b.prefs,pathAliases:b.pathAliases??{},explicitManual:b.explicitManual??[]})}function S(a,b,c,d){return P(d,()=>{let e=K(d),f=e.projects[a]??I(),g=c(f);if(R(f,g))return{ok:!0,applied:!1,board:f};if(f.revision!==b)return{ok:!1,board:f};let h=J(f,g,f.revision+1);return e.projects[a]=h,L(e,d),{ok:!0,applied:!0,board:h}})}function T(a,b,c,d=D){return S((0,l.G$)(a),b,a=>{let b;return b=void 0===c.hidden?a.prefs.hidden:[...new Set([...a.prefs.hidden,...c.hidden])],C({...a,explicitManual:void 0===c.manual?a.explicitManual:c.manual,prefs:{...a.prefs,...c,hidden:b}},[])},d)}function U(a,b,c,d=D){return S((0,l.G$)(a),b,a=>C(a,c),d)}function V(a,b,c={}){var d,e;let f=c.filePath??null??D;return d=(0,l.G$)(a),e=a=>{if(0===b.length||b.every(({from:b,to:c})=>a.pathAliases?.[b]===c))return a;let d=c.provisionalManual?.filter(b=>a.pathAliases?.[b]===void 0&&a.prefs.manual.includes(b))??[],e=[];return d.length&&e.push({kind:"reconcile-roots",roots:[],removeManual:d}),e.push({kind:"remap-paths",pairs:b,targetPlacementAuthoritative:c.targetPlacementAuthoritative}),C(a,e)},P(f,()=>{let a=K(f),b=a.projects[d]??I(),c=e(b);if(R(b,c))return b;let g=J(b,c,b.revision+1);return a.projects[d]=g,L(a,f),g})}function W(a,b=D){0!==a.length&&P(b,()=>{let c=K(b),d=!1;for(let b of a){if(b.fromProject===b.toProject)continue;let a=c.projects[b.fromProject];if(!a)continue;let e=C(a,[]),f=C(c.projects[b.toProject]??I(),[]);for(let a of[...new Set(b.paths)]){let b=Object.entries(e.pathAliases??{}).filter(([,b])=>b===a);if(b.length>0&&(f=C({...f,pathAliases:{...f.pathAliases??{},...Object.fromEntries(b)}},[])),!(e.prefs.hidden.includes(a)||e.prefs.expanded.includes(a)||e.prefs.manual.includes(a))&&0===b.length)continue;let c=e.prefs.hidden.includes(a)?"hidden":e.prefs.expanded.includes(a)?"expanded":e.prefs.manual.includes(a)?"manual":"auto",d=f.prefs.hidden.includes(a)?"hidden":f.prefs.expanded.includes(a)?"expanded":f.prefs.manual.includes(a)?"manual":"auto",g="hidden"===c||"hidden"===d?"hidden":"auto"!==d?d:c,h=(e.explicitManual??[]).includes(a)||(f.explicitManual??[]).includes(a);e={...e,explicitManual:(e.explicitManual??[]).filter(b=>b!==a),pathAliases:Object.fromEntries(Object.entries(e.pathAliases??{}).filter(([,b])=>b!==a)),prefs:{...e.prefs,manual:e.prefs.manual.filter(b=>b!==a),hidden:e.prefs.hidden.filter(b=>b!==a),expanded:e.prefs.expanded.filter(b=>b!==a)}};let i={...f.prefs,manual:f.prefs.manual.filter(b=>b!==a),hidden:f.prefs.hidden.filter(b=>b!==a),expanded:f.prefs.expanded.filter(b=>b!==a)};f={...f,explicitManual:"manual"===g&&h?[...(f.explicitManual??[]).filter(b=>b!==a),a]:(f.explicitManual??[]).filter(b=>b!==a),prefs:"hidden"===g?{...i,hidden:[...i.hidden,a]}:"expanded"===g?{...i,expanded:[...i.expanded,a]}:"manual"===g?{...i,manual:[...i.manual,a]}:i}}R(a,e)||(c.projects[b.fromProject]=J(a,e,a.revision+1),d=!0);let g=c.projects[b.toProject]??I();R(g,f)||(c.projects[b.toProject]=J(g,f,g.revision+1),d=!0)}d&&L(c,b)})}function X(a,b=(0,j.BQ)("board.json")){return 0===a.size||P(b,()=>{let c=K(b),d=!1,e=!0,f=new Map;for(let[b,c]of a)b!==c&&f.set(c,[...f.get(c)??[],b]);for(let[a,b]of f){let f=b.flatMap(a=>c.projects[a]?[c.projects[a]]:[]);if(0===f.length)continue;let g=c.projects[a];if(!g&&1===f.length){for(let d of(c.projects[a]=f[0],b))delete c.projects[d];d=!0;continue}try{let e=g?[g,...f]:f,h=function(a){let b=a.map((a,b)=>({state:a,index:b,timestamp:Date.parse(a.updatedAt)})).sort((a,b)=>(Number.isFinite(a.timestamp)?a.timestamp:0)-(Number.isFinite(b.timestamp)?b.timestamp:0)||a.index-b.index).map(({state:a})=>a),c=b.reduce((a,b)=>({...a,...b.pathAliases??{}}),{}),d=new Map,e=null,f=!1,g=c;for(let a of b){let b=C({...a,pathAliases:c},[]);for(let a of(g=b.pathAliases??{},["manual","hidden","expanded"]))for(let c of b.prefs[a])d.delete(c),d.set(c,a);e=b.prefs.viewMode,f=b.prefs.taskPanelOpen}let h={manual:[],hidden:[],expanded:[],favorites:[...new Set(b.flatMap(a=>a.prefs.favorites??[]))],foldedEngineChildIds:[...new Set(b.flatMap(a=>a.prefs.foldedEngineChildIds??[]))],expandedEngineTrayParentIds:[...new Set(b.flatMap(a=>a.prefs.expandedEngineTrayParentIds??[]))],viewMode:e,taskPanelOpen:f};for(let[a,b]of d)h[b].push(a);let i=new Set(h.manual),j=[...new Set(b.flatMap(a=>a.explicitManual??[]))].map(a=>g[a]??a).filter(a=>i.has(a));return{...b.at(-1),pathAliases:g,explicitManual:j,prefs:h}}(e),i=J(g??I(),h,Math.max(...e.map(a=>a.revision))+1,f);for(let d of(c.projects[a]=g&&R(g,i)&&JSON.stringify({keys:g.keyRevisions??{},floor:g.keyRevisionFloor??0})===JSON.stringify({keys:i.keyRevisions??{},floor:i.keyRevisionFloor??0})?g:i,b))delete c.projects[d];d=!0}catch{e=!1;continue}}return d&&L(c,b),e})}}};
@@ -0,0 +1,81 @@
1
+ "use strict";exports.id=3598,exports.ids=[1888,3598,7126,9507],exports.modules={19777:(a,b,c)=>{c.d(b,{mq:()=>n,cg:()=>o,xh:()=>x,L8:()=>F,_q:()=>u,ck:()=>y,Cx:()=>z,Kd:()=>H,w0:()=>E,at:()=>B,vh:()=>D,ZI:()=>w,h2:()=>q,RV:()=>I});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h);function j(a){let b,c,e,g,i,j="function"==typeof process.getuid?process.getuid():null;try{b=f.lstatSync(a)}catch(a){if(a?.code==="ENOENT")return{status:"missing"};return{status:"unsafe",detail:"cannot inspect telegram directory"}}if(b.isSymbolicLink()||!b.isDirectory())return{status:"unsafe",detail:"telegram directory is unsafe"};if((63&b.mode)!=0||null!==j&&b.uid!==j)return{status:"unsafe",detail:"telegram directory ownership or permissions are unsafe"};let k=h.join(a,"session.json"),l=h.join(a,"connector-token");try{c=f.lstatSync(k)}catch(a){if(a?.code==="ENOENT")return{status:"missing"};return{status:"unsafe",detail:"cannot inspect session file"}}if(c.isSymbolicLink()||!c.isFile()||(63&c.mode)!=0||null!==j&&c.uid!==j)return{status:"unsafe",detail:"session file ownership or permissions are unsafe"};try{e=JSON.parse(f.readFileSync(k,"utf8"))}catch{return{status:"unsafe",detail:"session data is unreadable"}}if(!e||"object"!=typeof e||1!==e.version||"string"!=typeof e.credentialRef||"string"!=typeof e.sessionString||!e.sessionString||"string"!=typeof e.savedAt||"string"!=typeof e.connectorTokenSha256)return{status:"unsafe",detail:"session data is invalid"};try{g=f.lstatSync(l)}catch{return{status:"unsafe",detail:"connector token is missing or unreadable"}}if(g.isSymbolicLink()||!g.isFile()||(63&g.mode)!=0||null!==j&&g.uid!==j)return{status:"unsafe",detail:"connector token ownership or permissions are unsafe"};try{i=f.readFileSync(l,"utf8").trim()}catch{return{status:"unsafe",detail:"connector token is unreadable"}}let m=d.createHash("sha256").update(i).digest("hex");return/^[A-Za-z0-9_-]{43}$/.test(i)&&m===e.connectorTokenSha256?{status:"valid",sessionFile:e,connectorToken:i}:{status:"unsafe",detail:"connector token is invalid"}}var k=c(27146),l=c(81389);let m="telegram",n="LLV_TELEGRAM_MCP_TOKEN";class o extends Error{constructor(a){super(`Telegram session storage is unsafe: ${a}`),this.name="UnsafeTelegramSessionError"}}function p(){return(0,k.BQ)(m)}function q(){return i().join(p(),"session.json")}function r(){return i().join(p(),"connection.json")}function s(){return i().join(p(),"connector-token")}function t(a){let b=g().lstatSync(a);if(b.isSymbolicLink())throw new o("symlink");if(!b.isFile())throw new o("not a regular file");if((63&b.mode)!=0)throw new o("permissions are wider than owner-only");if("function"==typeof process.getuid&&b.uid!==process.getuid())throw new o("not owned by this user")}function u(a=!0){let b,c=(0,k.BQ)(m);try{b=g().lstatSync(c)}catch(d){if("ENOENT"!==d.code)throw d;if(!a)return null;g().mkdirSync(c,{recursive:!0,mode:448}),b=g().lstatSync(c)}if(b.isSymbolicLink())throw new o("telegram directory is a symlink");if(!b.isDirectory())throw new o("telegram directory is not a directory");if("function"==typeof process.getuid&&b.uid!==process.getuid())throw new o("telegram directory is not owned by this user");if((63&b.mode)!=0)throw new o("telegram directory permissions are wider than owner-only");return c}let v=RegExp("^incoming_feed(-[0-9a-f]{16})?\\.jsonl$");function w(a){let b=e().createHash("sha256").update(a).digest("hex").slice(0,16);return(0,k.BQ)(m,`incoming_feed-${b}.jsonl`)}function x(a,b){u(!0);try{t(a)}catch(a){if(a instanceof o||"ENOENT"!==a.code)throw a}let c=i().join(i().dirname(a),`.${i().basename(a)}.${process.pid}.${e().randomUUID()}.tmp`);try{g().writeFileSync(c,b,{mode:384});let d=g().openSync(c,"r");try{g().fsyncSync(d)}finally{g().closeSync(d)}g().renameSync(c,a)}finally{g().rmSync(c,{force:!0})}}function y(a,b=!1){if(null===u(!1))return null;try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}try{return JSON.parse(g().readFileSync(a,"utf8"))}catch{if(b)throw new o(`cannot read ${i().basename(a)}`);return null}}function z(a,b,c){if(null===u(!1))return null;try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}let d=Math.max(1,Math.trunc(b.chunkBytes)),e=Math.max(0,Math.trunc(b.maxBytes)),f=g().openSync(a,"r");try{let a=g().fstatSync(f).size,b=[],h=a,i=0,j=!1;for(;h>0&&i<e;){let a=Math.min(d,h,e-i),k=Buffer.alloc(a);if(g().readSync(f,k,0,a,h-a),b.unshift(k),h-=a,i+=a,0===h)break;let l=k.toString("utf8"),m=l.indexOf("\n");if(-1!==m&&c(l.slice(m+1))){j=!0;break}}let k=Buffer.concat(b).toString("utf8");if(0===h)return{text:k,complete:!0};let l=k.indexOf("\n");return{text:-1===l?"":k.slice(l+1),complete:j}}finally{g().closeSync(f)}}function A(a){try{return t(a),!0}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return!1;throw a}}function B(a){null!==u(!1)&&A(a)&&g().rmSync(a)}function C(a){try{t(a)}catch(a){if(a instanceof o)throw a;if("ENOENT"===a.code)return null;throw a}return g().readFileSync(a,"utf8")}function D(a){if(!a)throw Error("Telegram session string is empty");u(!0);let b=C(q()),c=C(s());if(null!==b||null!==c){let a=j(p());if("valid"!==a.status)throw new o("unsafe"===a.status?a.detail:"existing session pair is incomplete")}let d=e().randomBytes(32).toString("base64url"),f={version:1,credentialRef:e().randomUUID(),connectorToken:d,sessionString:a,savedAt:new Date().toISOString()},g={version:f.version,credentialRef:f.credentialRef,sessionString:f.sessionString,savedAt:f.savedAt,connectorTokenSha256:e().createHash("sha256").update(d).digest("hex")};x(s(),d+"\n");try{x(q(),JSON.stringify(g))}catch(a){try{null===c?B(s()):x(s(),c)}catch{}throw a}return f}function E(){try{let a=j(p());if("missing"===a.status)return null;if("unsafe"===a.status)throw new o(a.detail);let b=a.sessionFile;return{version:1,credentialRef:b.credentialRef,connectorToken:a.connectorToken,sessionString:b.sessionString,savedAt:b.savedAt}}catch(a){if(a instanceof o)throw a;throw new o("cannot read session storage")}}function F(){if(null!==u(!1))for(let a of(!function(){let a,b=u(!1);if(null!==b){try{a=g().readdirSync(b,{withFileTypes:!0})}catch{return}for(let c of a)if(c.isFile()&&v.test(c.name))try{g().rmSync(i().join(b,c.name),{force:!0})}catch{}}}(),[q(),s()].filter(a=>A(a))))g().rmSync(a)}let G={version:1,status:"disconnected",credentialRef:null,identity:null,lastHealthCheckAt:null,errorCode:null,identityIdUpgradedAt:null};function H(){var a;let b=y(r());return b&&"object"==typeof b&&1===b.version&&"string"==typeof b.status?{version:1,status:b.status,credentialRef:"string"==typeof b.credentialRef?b.credentialRef:null,identity:(a=b.identity)&&"object"==typeof a?"string"!=typeof a.name?null:{name:a.name,username:"string"==typeof a.username?a.username:null,id:(0,l.S)(a.id)}:null,lastHealthCheckAt:"string"==typeof b.lastHealthCheckAt?b.lastHealthCheckAt:null,errorCode:"string"==typeof b.errorCode?b.errorCode:null,identityIdUpgradedAt:"string"==typeof b.identityIdUpgradedAt?b.identityIdUpgradedAt:null}:{...G}}function I(a){x(r(),JSON.stringify(a))}},26277:(a,b,c)=>{c.d(b,{Gs:()=>C,Kn:()=>w,gY:()=>x,h3:()=>q,jd:()=>v,kt:()=>E,ue:()=>D,vx:()=>y,w5:()=>z});var d=c(31421);c(77598);var e=c(73024),f=c.n(e),g=c(48161),h=c.n(g),i=c(76760),j=c.n(i),k=c(27146),l=c(89204),m=c(55541),n=c(19777);Object.freeze({repo:"https://github.com/chigwell/telegram-mcp",release:"v3.2.22",commit:"a61294362226bd93052f5a40b4a1b1269a99ce69",license:"Apache-2.0"});let o="127.0.0.1";function p(){let a=Number(process.env.LLV_TELEGRAM_MCP_PORT);return Number.isInteger(a)&&a>0&&a<65536?a:8809}function q(){return`http://${o}:${p()}/mcp`}function r(a,...b){if(a)return a;let c=j().join(process.cwd(),...b);if(f().existsSync(c))return c;let d=j().join(process.cwd(),"..","..",...b);return f().existsSync(d)?d:c}function s(){return r(process.env.LLV_TELEGRAM_VENDOR_DIR,"vendor","telegram-mcp")}function t(){return(0,k.BQ)("telegram","venv")}function u(){return(0,k.BQ)("telegram","vendor-src")}function v(){return process.env.LLV_TELEGRAM_PYTHON||j().join(t(),"bin","python")}function w(){return r(process.env.LLV_TELEGRAM_SERVER_BRIDGE,"bin","telegram-mcp-server.py")}function x(){return r(process.env.LLV_TELEGRAM_SESSION_READER,"bin","telegram-session-reader.mjs")}let y=Object.freeze(["wait_for_settled_message"]);function z(){let a=process.env.LLV_TELEGRAM_API_ID,b=process.env.LLV_TELEGRAM_API_HASH;if(a&&b)return{apiId:a,apiHash:b};try{let a=JSON.parse(f().readFileSync((0,k.ks)("telegram.json"),"utf8"));if("string"==typeof a.apiId&&a.apiId&&"string"==typeof a.apiHash&&a.apiHash)return{apiId:a.apiId,apiHash:a.apiHash}}catch{}return null}function A(){return f().existsSync(j().join(t(),".llv-provisioned"))&&f().existsSync(v())&&f().existsSync(j().join(u(),"pyproject.toml"))}let B=null;function C(){return A()?Promise.resolve(!0):B||(B=(async()=>((0,n._q)(!0),await (0,l.pM)((0,k.BQ)("telegram","connector-provision"),"Telegram connector provisioning is busy",async()=>{var a;return!!A()||await (a={command:process.execPath,args:[r(process.env.LLV_TELEGRAM_PROVISIONER,"bin","provision-telegram-connector.mjs")],cwd:s(),env:{...F(),LLV_STATE_DIR:(0,k.Pn)(),LLV_TELEGRAM_VENDOR_DIR:s(),LLV_TELEGRAM_PYTHON:v()}},new Promise(b=>{let c;try{c=(0,d.spawn)(a.command,a.args,{cwd:a.cwd,env:a.env,stdio:"ignore"})}catch{b(!1);return}c.once("error",()=>b(!1)),c.once("exit",a=>b(0===a))}))&&A()})))().catch(()=>!1).finally(()=>{B=null}))}function D(a){let b=u(),c=(0,m.WG)();return{command:v(),args:[w()],cwd:b,env:{...F(),...c,TELEGRAM_API_ID:a.credentials.apiId,TELEGRAM_API_HASH:a.credentials.apiHash,TELEGRAM_SESSION_STRING:a.sessionString,TELEGRAM_EXPOSED_TOOLS:"read-only",TELEGRAM_EVENT_FEED:"1",TELEGRAM_EVENT_FEED_FILE:(0,n.ZI)(a.credentialRef),LLV_TELEGRAM_EXCLUDED_TOOLS:y.join(","),LLV_TELEGRAM_MCP_TOKEN:a.connectorToken,LLV_TELEGRAM_VENDOR_DIR:b,MCP_TRANSPORT:"http",MCP_HOST:o,MCP_PORT:String(p())}}}function E(a,b){return{command:v(),args:[r(process.env.LLV_TELEGRAM_BRIDGE,"bin","telegram-login-bridge.py"),a],cwd:h().homedir(),env:{...F(),TELEGRAM_API_ID:b.apiId,TELEGRAM_API_HASH:b.apiHash}}}function F(){let a={};for(let b of["PATH","HOME","LANG","LC_ALL","TMPDIR"])void 0!==process.env[b]&&(a[b]=process.env[b]);return a}},51888:(a,b,c)=>{c.d(b,{JL:()=>h,OV:()=>l,RC:()=>j,cC:()=>i,fC:()=>e,g9:()=>m,je:()=>d,wi:()=>n});let d="gpt-5.6-sol",e="gpt-5.6-terra",f="gpt-5.6-luna",g=new Set([d,e,f,"gpt-5.5","gpt-5.4","gpt-5.4-mini"]);function h(a){return!a?.trim()||g.has(a.trim())}let i={claude:[{id:"opus",label:"Opus 5",shortLabel:"Opus 5",use:"review"},{id:"fable",label:"Fable",shortLabel:"Fable",use:"general"},{id:"sonnet",label:"Sonnet",shortLabel:"Sonnet",use:"implement"},{id:"haiku",label:"Haiku",shortLabel:"Haiku",use:"general"}],codex:[{id:d,label:"GPT-5.6-Sol",shortLabel:"5.6-Sol",use:"review"},{id:e,label:"GPT-5.6-Terra",shortLabel:"5.6-Terra",use:"implement"},{id:f,label:"GPT-5.6-Luna",shortLabel:"5.6-Luna",use:"general"}]};function j(a,b){let c=b.trim(),d=i[a].map(a=>a.id);return d.includes(c)?{model:c}:{error:`invalid ${a} model id ${JSON.stringify(c)}; valid ${a} model ids: ${d.join(", ")}`}}let k=["fable","opus","sonnet","haiku"];function l(a){if("string"!=typeof a)return null;let b=a.trim().toLowerCase();if(!b||b.length>128||/[\u0000-\u001f\u007f]/.test(b))return null;for(let a of k)if(b===a||RegExp(`(?:^|[-_.])${a}(?:[-_.]|$)`).test(b))return a;return null}function m(a){if("string"!=typeof a)return!1;let b=a.trim();return b.startsWith("gpt-")&&b.length<=128&&!/[\u0000-\u001f\u007f]/.test(b)}function n(a){if(void 0===a.model||null===a.model||""===a.model)return{model:null};if("string"!=typeof a.model)return{model:null,error:"model must be a string"};let b=a.model.trim();return b?b.length>128||/[\u0000-\u001f\u007f]/.test(b)?{model:null,error:"model must be a printable id up to 128 characters"}:{model:b}:{model:null}}},55541:(a,b,c)=>{c.d(b,{WG:()=>o,cO:()=>n,yb:()=>l});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(27146),k=c(19777);let l=262144,m=String.raw`import fcntl
2
+ import io
3
+ import os
4
+ import stat
5
+ import sys
6
+ import threading
7
+
8
+ try:
9
+ _path = os.environ["LLV_TELEGRAM_CONNECTOR_LOG"]
10
+ _limit = int(os.environ["LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES"])
11
+ if _limit <= 0:
12
+ raise ValueError("invalid log limit")
13
+ _flags = os.O_RDWR | os.O_CREAT | os.O_APPEND
14
+ if hasattr(os, "O_NOFOLLOW"):
15
+ _flags |= os.O_NOFOLLOW
16
+ _fd = os.open(_path, _flags, 0o600)
17
+ _info = os.fstat(_fd)
18
+ if not stat.S_ISREG(_info.st_mode) or (_info.st_mode & 0o077):
19
+ raise PermissionError("unsafe connector log")
20
+ if hasattr(os, "getuid") and _info.st_uid != os.getuid():
21
+ raise PermissionError("connector log owner mismatch")
22
+ except Exception as _error:
23
+ raise SystemExit("connector log sink unavailable") from _error
24
+
25
+
26
+ def _write_all(data):
27
+ view = memoryview(data)
28
+ while view:
29
+ written = os.write(_fd, view)
30
+ view = view[written:]
31
+
32
+
33
+ class _BoundedConnectorLog(io.TextIOBase):
34
+ encoding = "utf-8"
35
+ errors = "backslashreplace"
36
+
37
+ def __init__(self):
38
+ self._lock = threading.Lock()
39
+
40
+ def writable(self):
41
+ return True
42
+
43
+ def isatty(self):
44
+ return False
45
+
46
+ def fileno(self):
47
+ return _fd
48
+
49
+ def flush(self):
50
+ return None
51
+
52
+ def write(self, value):
53
+ if not isinstance(value, str):
54
+ value = str(value)
55
+ data = value.encode(self.encoding, self.errors)
56
+ if not data:
57
+ return len(value)
58
+ with self._lock:
59
+ fcntl.flock(_fd, fcntl.LOCK_EX)
60
+ try:
61
+ size = os.fstat(_fd).st_size
62
+ if len(data) >= _limit:
63
+ tail = data[-_limit:]
64
+ os.ftruncate(_fd, 0)
65
+ _write_all(tail)
66
+ elif size + len(data) > _limit:
67
+ keep = _limit - len(data)
68
+ prior = os.pread(_fd, keep, max(0, size - keep))
69
+ os.ftruncate(_fd, 0)
70
+ _write_all(prior[-keep:] + data)
71
+ else:
72
+ _write_all(data)
73
+ finally:
74
+ fcntl.flock(_fd, fcntl.LOCK_UN)
75
+ return len(value)
76
+
77
+
78
+ _sink = _BoundedConnectorLog()
79
+ sys.stdout = _sink
80
+ sys.stderr = _sink
81
+ `;function n(){return(0,j.BQ)("telegram","connector.log")}function o(){(0,k._q)(!0);let a=(0,j.BQ)("telegram","connector-log-sink");g().mkdirSync(a,{recursive:!0,mode:448});let b=g().lstatSync(a);if(!b.isDirectory()||b.isSymbolicLink()||(63&b.mode)!=0||"function"==typeof process.getuid&&b.uid!==process.getuid())throw Error("unsafe connector log sink directory");let c=i().join(a,"sitecustomize.py"),d=`${c}.${process.pid}.${e().randomUUID()}.tmp`;try{g().writeFileSync(d,m,{flag:"wx",mode:384}),g().renameSync(d,c),g().chmodSync(c,384)}finally{g().rmSync(d,{force:!0})}return!function(){let a="O_NOFOLLOW"in g().constants?g().constants.O_NOFOLLOW:0,b=g().openSync(n(),g().constants.O_RDWR|g().constants.O_CREAT|a,384);try{let a=g().fstatSync(b);if(!a.isFile()||(63&a.mode)!=0||"function"==typeof process.getuid&&a.uid!==process.getuid())throw Error("unsafe connector log");if(a.size<=l)return;let c=Buffer.alloc(l);g().readSync(b,c,0,c.length,a.size-c.length),g().ftruncateSync(b,0),g().writeSync(b,c,0,c.length,0)}finally{g().closeSync(b)}}(),{PYTHONPATH:a,LLV_TELEGRAM_CONNECTOR_LOG:n(),LLV_TELEGRAM_CONNECTOR_LOG_MAX_BYTES:String(l)}}},81389:(a,b,c)=>{c.d(b,{S:()=>d});function d(a){if("number"==typeof a)return Number.isSafeInteger(a)&&a>0?String(a):null;if("string"!=typeof a)return null;let b=a.trim();return/^[1-9]\d{0,18}$/.test(b)?b:null}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3669,exports.ids=[3669],exports.modules={63669:(a,b,c)=>{c.r(b),c.d(b,{default:()=>l});let d="[A-Za-z$_][0-9A-Za-z$_]*",e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],f=["true","false","null","undefined","NaN","Infinity"],g=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],h=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],i=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],j=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],k=[].concat(i,g,h);function l(a){var b;let c,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J=a.regex,K=(c=a.regex,l=/<[A-Za-z0-9\\._:-]+/,m=/\/[A-Za-z0-9\\._:-]+>|\/>/,n=(a,b)=>{let c,d=a[0].length+a.index,e=a.input[d];if("<"===e||","===e)return void b.ignoreMatch();">"!==e||((a,{after:b})=>{let c="</"+a[0].slice(1);return -1!==a.input.indexOf(c,b)})(a,{after:d})||b.ignoreMatch();let f=a.input.substring(d);if((c=f.match(/^\s*=/))||(c=f.match(/^\s+extends\s+/))&&0===c.index)return void b.ignoreMatch()},o={$pattern:d,keyword:e,literal:f,built_in:k,"variable.language":j},p="[0-9](_?[0-9])*",q=`\\.(${p})`,r="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",s={className:"number",variants:[{begin:`(\\b(${r})((${q})|\\.)?|(${q}))[eE][+-]?(${p})\\b`},{begin:`\\b(${r})\\b((${q})\\b|\\.)?|(${q})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},t={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},u={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,t],subLanguage:"xml"}},v={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,t],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[a.BACKSLASH_ESCAPE,t],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[a.BACKSLASH_ESCAPE,t]},y={className:"comment",variants:[a.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:d+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),a.C_BLOCK_COMMENT_MODE,a.C_LINE_COMMENT_MODE]},t.contains=(z=[a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,u,v,w,x,{match:/\$\d+/},s]).concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(z)}),B=(A=[].concat(y,t.contains)).concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(A)}]),C={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:B},D={variants:[{match:[/class/,/\s+/,d,/\s+/,/extends/,/\s+/,c.concat(d,"(",c.concat(/\./,d),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,d],scope:{1:"keyword",3:"title.class"}}]},E={relevance:0,match:c.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...g,...h]}},F={match:c.concat(/\b/,(b=[...i,"super","import"].map(a=>`${a}\\s*\\(`),c.concat("(?!",b.join("|"),")")),d,c.lookahead(/\s*\(/)),className:"title.function",relevance:0},G={begin:c.concat(/\./,c.lookahead(c.concat(d,/(?![0-9A-Za-z$_(])/))),end:d,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+a.UNDERSCORE_IDENT_RE+")\\s*=>",I={match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,c.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[C]},{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:B,CLASS_REFERENCE:E},illegal:/#(?![$_A-z])/,contains:[a.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},a.APOS_STRING_MODE,a.QUOTE_STRING_MODE,u,v,w,x,y,{match:/\$\d+/},s,E,{scope:"attr",match:d+c.lookahead(":"),relevance:0},I,{begin:"("+a.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[y,a.REGEXP_MODE,{className:"function",begin:H,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:a.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:B}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:"</>"},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:l,"on:begin":n,end:m}],subLanguage:"xml",contains:[{begin:l,end:m,skip:!0,contains:["self"]}]}]},{variants:[{match:[/function/,/\s+/,d,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[C],illegal:/%/},{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+a.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[C,a.inherit(a.TITLE_MODE,{begin:d,className:"title.function"})]},{match:/\.\.\./,relevance:0},G,{match:"\\$"+d,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[C]},F,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},D,{match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},C]},{match:/\$[(.]/}]}),L=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],M={begin:[/namespace/,/\s+/,a.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},N={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:L},contains:[K.exports.CLASS_REFERENCE]},O={$pattern:d,keyword:e.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]),literal:f,built_in:k.concat(L),"variable.language":j},P={className:"meta",begin:"@"+d},Q=(a,b,c)=>{let d=a.contains.findIndex(a=>a.label===b);if(-1===d)throw Error("can not find mode to replace");a.contains.splice(d,1,c)};Object.assign(K.keywords,O),K.exports.PARAMS_CONTAINS.push(P);let R=K.contains.find(a=>"attr"===a.scope),S=Object.assign({},R,{match:J.concat(d,J.lookahead(/\s*\?:/))});return K.exports.PARAMS_CONTAINS.push([K.exports.CLASS_REFERENCE,R,S]),K.contains=K.contains.concat([P,M,N,S]),Q(K,"shebang",a.SHEBANG()),Q(K,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),K.contains.find(a=>"func.def"===a.label).relevance=0,Object.assign(K,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),K}}};