@geminilight/mindos 0.6.38 → 0.6.40

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 (715) hide show
  1. package/README.md +37 -9
  2. package/README_zh.md +37 -9
  3. package/_standalone/.mindos-build-version +1 -1
  4. package/_standalone/.next/BUILD_ID +1 -1
  5. package/_standalone/.next/app-path-routes-manifest.json +21 -20
  6. package/_standalone/.next/build-manifest.json +3 -3
  7. package/_standalone/.next/cache/.previewinfo +1 -1
  8. package/_standalone/.next/cache/.rscinfo +1 -1
  9. package/_standalone/.next/cache/config.json +3 -3
  10. package/_standalone/.next/prerender-manifest.json +3 -3
  11. package/_standalone/.next/react-loadable-manifest.json +68 -6
  12. package/_standalone/.next/routes-manifest.json +6 -0
  13. package/_standalone/.next/server/app/.well-known/agent-card.json/route_client-reference-manifest.js +1 -1
  14. package/_standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  15. package/_standalone/.next/server/app/_global-error.html +2 -2
  16. package/_standalone/.next/server/app/_global-error.rsc +1 -1
  17. package/_standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  18. package/_standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  19. package/_standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  20. package/_standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  21. package/_standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  22. package/_standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  23. package/_standalone/.next/server/app/_not-found/page.js +2 -2
  24. package/_standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  25. package/_standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  26. package/_standalone/.next/server/app/agents/[agentKey]/page.js +2 -2
  27. package/_standalone/.next/server/app/agents/[agentKey]/page.js.nft.json +1 -1
  28. package/_standalone/.next/server/app/agents/[agentKey]/page_client-reference-manifest.js +1 -1
  29. package/_standalone/.next/server/app/agents/page.js +3 -3
  30. package/_standalone/.next/server/app/agents/page.js.nft.json +1 -1
  31. package/_standalone/.next/server/app/agents/page_client-reference-manifest.js +1 -1
  32. package/_standalone/.next/server/app/api/a2a/agents/route_client-reference-manifest.js +1 -1
  33. package/_standalone/.next/server/app/api/a2a/delegations/route_client-reference-manifest.js +1 -1
  34. package/_standalone/.next/server/app/api/a2a/discover/route_client-reference-manifest.js +1 -1
  35. package/_standalone/.next/server/app/api/a2a/route_client-reference-manifest.js +1 -1
  36. package/_standalone/.next/server/app/api/acp/config/route.js +1 -1
  37. package/_standalone/.next/server/app/api/acp/config/route.js.nft.json +1 -1
  38. package/_standalone/.next/server/app/api/acp/config/route_client-reference-manifest.js +1 -1
  39. package/_standalone/.next/server/app/api/acp/detect/route.js +1 -1
  40. package/_standalone/.next/server/app/api/acp/detect/route.js.nft.json +1 -1
  41. package/_standalone/.next/server/app/api/acp/detect/route_client-reference-manifest.js +1 -1
  42. package/_standalone/.next/server/app/api/acp/install/route_client-reference-manifest.js +1 -1
  43. package/_standalone/.next/server/app/api/acp/registry/route_client-reference-manifest.js +1 -1
  44. package/_standalone/.next/server/app/api/acp/session/route.js +1 -1
  45. package/_standalone/.next/server/app/api/acp/session/route.js.nft.json +1 -1
  46. package/_standalone/.next/server/app/api/acp/session/route_client-reference-manifest.js +1 -1
  47. package/_standalone/.next/server/app/api/agent-activity/route.js +1 -1
  48. package/_standalone/.next/server/app/api/agent-activity/route.js.nft.json +1 -1
  49. package/_standalone/.next/server/app/api/agent-activity/route_client-reference-manifest.js +1 -1
  50. package/_standalone/.next/server/app/api/ask/route.js +133 -95
  51. package/_standalone/.next/server/app/api/ask/route.js.nft.json +1 -1
  52. package/_standalone/.next/server/app/api/ask/route_client-reference-manifest.js +1 -1
  53. package/_standalone/.next/server/app/api/ask-sessions/route_client-reference-manifest.js +1 -1
  54. package/_standalone/.next/server/app/api/auth/route_client-reference-manifest.js +1 -1
  55. package/_standalone/.next/server/app/api/backlinks/route.js +1 -1
  56. package/_standalone/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  57. package/_standalone/.next/server/app/api/backlinks/route_client-reference-manifest.js +1 -1
  58. package/_standalone/.next/server/app/api/bootstrap/route.js +1 -1
  59. package/_standalone/.next/server/app/api/bootstrap/route.js.nft.json +1 -1
  60. package/_standalone/.next/server/app/api/bootstrap/route_client-reference-manifest.js +1 -1
  61. package/_standalone/.next/server/app/api/changes/route.js +1 -1
  62. package/_standalone/.next/server/app/api/changes/route.js.nft.json +1 -1
  63. package/_standalone/.next/server/app/api/changes/route_client-reference-manifest.js +1 -1
  64. package/_standalone/.next/server/app/api/export/route.js +3 -3
  65. package/_standalone/.next/server/app/api/export/route.js.nft.json +1 -1
  66. package/_standalone/.next/server/app/api/export/route_client-reference-manifest.js +1 -1
  67. package/_standalone/.next/server/app/api/extract-pdf/route_client-reference-manifest.js +1 -1
  68. package/_standalone/.next/server/app/api/file/import/route.js +2 -19
  69. package/_standalone/.next/server/app/api/file/import/route.js.nft.json +1 -1
  70. package/_standalone/.next/server/app/api/file/import/route_client-reference-manifest.js +1 -1
  71. package/_standalone/.next/server/app/api/file/route.js +1 -18
  72. package/_standalone/.next/server/app/api/file/route.js.nft.json +1 -1
  73. package/_standalone/.next/server/app/api/file/route_client-reference-manifest.js +1 -1
  74. package/_standalone/.next/server/app/api/files/route.js +1 -1
  75. package/_standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  76. package/_standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  77. package/_standalone/.next/server/app/api/git/route.js +1 -1
  78. package/_standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  79. package/_standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  80. package/_standalone/.next/server/app/api/graph/route.js +1 -1
  81. package/_standalone/.next/server/app/api/graph/route.js.nft.json +1 -1
  82. package/_standalone/.next/server/app/api/graph/route_client-reference-manifest.js +1 -1
  83. package/_standalone/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  84. package/_standalone/.next/server/app/api/inbox/route.js +1 -0
  85. package/_standalone/.next/server/app/api/inbox/route.js.nft.json +1 -0
  86. package/_standalone/.next/server/app/api/inbox/route_client-reference-manifest.js +1 -0
  87. package/_standalone/.next/server/app/api/init/route.js +1 -1
  88. package/_standalone/.next/server/app/api/init/route.js.nft.json +1 -1
  89. package/_standalone/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  90. package/_standalone/.next/server/app/api/mcp/agents/route.js +1 -1
  91. package/_standalone/.next/server/app/api/mcp/agents/route.js.nft.json +1 -1
  92. package/_standalone/.next/server/app/api/mcp/agents/route_client-reference-manifest.js +1 -1
  93. package/_standalone/.next/server/app/api/mcp/install/route.js +1 -1
  94. package/_standalone/.next/server/app/api/mcp/install/route.js.nft.json +1 -1
  95. package/_standalone/.next/server/app/api/mcp/install/route_client-reference-manifest.js +1 -1
  96. package/_standalone/.next/server/app/api/mcp/install-skill/route_client-reference-manifest.js +1 -1
  97. package/_standalone/.next/server/app/api/mcp/restart/route_client-reference-manifest.js +1 -1
  98. package/_standalone/.next/server/app/api/mcp/status/route.js +1 -1
  99. package/_standalone/.next/server/app/api/mcp/status/route.js.nft.json +1 -1
  100. package/_standalone/.next/server/app/api/mcp/status/route_client-reference-manifest.js +1 -1
  101. package/_standalone/.next/server/app/api/monitoring/route.js +1 -1
  102. package/_standalone/.next/server/app/api/monitoring/route.js.nft.json +1 -1
  103. package/_standalone/.next/server/app/api/monitoring/route_client-reference-manifest.js +1 -1
  104. package/_standalone/.next/server/app/api/recent-files/route.js +1 -1
  105. package/_standalone/.next/server/app/api/recent-files/route.js.nft.json +1 -1
  106. package/_standalone/.next/server/app/api/recent-files/route_client-reference-manifest.js +1 -1
  107. package/_standalone/.next/server/app/api/restart/route_client-reference-manifest.js +1 -1
  108. package/_standalone/.next/server/app/api/search/route.js +1 -1
  109. package/_standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  110. package/_standalone/.next/server/app/api/search/route_client-reference-manifest.js +1 -1
  111. package/_standalone/.next/server/app/api/settings/list-models/route.js +1 -1
  112. package/_standalone/.next/server/app/api/settings/list-models/route.js.nft.json +1 -1
  113. package/_standalone/.next/server/app/api/settings/list-models/route_client-reference-manifest.js +1 -1
  114. package/_standalone/.next/server/app/api/settings/reset-token/route.js +1 -1
  115. package/_standalone/.next/server/app/api/settings/reset-token/route.js.nft.json +1 -1
  116. package/_standalone/.next/server/app/api/settings/reset-token/route_client-reference-manifest.js +1 -1
  117. package/_standalone/.next/server/app/api/settings/route.js +1 -1
  118. package/_standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
  119. package/_standalone/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  120. package/_standalone/.next/server/app/api/settings/test-key/route.js +1 -1
  121. package/_standalone/.next/server/app/api/settings/test-key/route.js.nft.json +1 -1
  122. package/_standalone/.next/server/app/api/settings/test-key/route_client-reference-manifest.js +1 -1
  123. package/_standalone/.next/server/app/api/setup/check-path/route_client-reference-manifest.js +1 -1
  124. package/_standalone/.next/server/app/api/setup/check-port/route_client-reference-manifest.js +1 -1
  125. package/_standalone/.next/server/app/api/setup/generate-token/route_client-reference-manifest.js +1 -1
  126. package/_standalone/.next/server/app/api/setup/ls/route_client-reference-manifest.js +1 -1
  127. package/_standalone/.next/server/app/api/setup/route.js +1 -1
  128. package/_standalone/.next/server/app/api/setup/route.js.nft.json +1 -1
  129. package/_standalone/.next/server/app/api/setup/route_client-reference-manifest.js +1 -1
  130. package/_standalone/.next/server/app/api/skills/route.js +2 -2
  131. package/_standalone/.next/server/app/api/skills/route.js.nft.json +1 -1
  132. package/_standalone/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  133. package/_standalone/.next/server/app/api/sync/route.js +1 -1
  134. package/_standalone/.next/server/app/api/sync/route_client-reference-manifest.js +1 -1
  135. package/_standalone/.next/server/app/api/tree-version/route.js +1 -1
  136. package/_standalone/.next/server/app/api/tree-version/route.js.nft.json +1 -1
  137. package/_standalone/.next/server/app/api/tree-version/route_client-reference-manifest.js +1 -1
  138. package/_standalone/.next/server/app/api/uninstall/route_client-reference-manifest.js +1 -1
  139. package/_standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  140. package/_standalone/.next/server/app/api/update-check/route.js +1 -1
  141. package/_standalone/.next/server/app/api/update-check/route_client-reference-manifest.js +1 -1
  142. package/_standalone/.next/server/app/api/update-status/route_client-reference-manifest.js +1 -1
  143. package/_standalone/.next/server/app/api/workflows/route.js +2 -2
  144. package/_standalone/.next/server/app/api/workflows/route.js.nft.json +1 -1
  145. package/_standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +1 -1
  146. package/_standalone/.next/server/app/changes/page.js +2 -2
  147. package/_standalone/.next/server/app/changes/page.js.nft.json +1 -1
  148. package/_standalone/.next/server/app/changes/page_client-reference-manifest.js +1 -1
  149. package/_standalone/.next/server/app/echo/[segment]/page.js +6 -6
  150. package/_standalone/.next/server/app/echo/[segment]/page.js.nft.json +1 -1
  151. package/_standalone/.next/server/app/echo/[segment]/page_client-reference-manifest.js +1 -1
  152. package/_standalone/.next/server/app/echo/page.js +2 -2
  153. package/_standalone/.next/server/app/echo/page.js.nft.json +1 -1
  154. package/_standalone/.next/server/app/echo/page_client-reference-manifest.js +1 -1
  155. package/_standalone/.next/server/app/explore/page.js +3 -3
  156. package/_standalone/.next/server/app/explore/page.js.nft.json +1 -1
  157. package/_standalone/.next/server/app/explore/page_client-reference-manifest.js +1 -1
  158. package/_standalone/.next/server/app/help/page.js +2 -2
  159. package/_standalone/.next/server/app/help/page.js.nft.json +1 -1
  160. package/_standalone/.next/server/app/help/page_client-reference-manifest.js +1 -1
  161. package/_standalone/.next/server/app/login/page.js +2 -2
  162. package/_standalone/.next/server/app/login/page.js.nft.json +1 -1
  163. package/_standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  164. package/_standalone/.next/server/app/page.js +3 -3
  165. package/_standalone/.next/server/app/page.js.nft.json +1 -1
  166. package/_standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  167. package/_standalone/.next/server/app/setup/page.js +2 -2
  168. package/_standalone/.next/server/app/setup/page.js.nft.json +1 -1
  169. package/_standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
  170. package/_standalone/.next/server/app/trash/page.js +3 -3
  171. package/_standalone/.next/server/app/trash/page.js.nft.json +1 -1
  172. package/_standalone/.next/server/app/trash/page_client-reference-manifest.js +1 -1
  173. package/_standalone/.next/server/app/view/[...path]/page.js +4 -4
  174. package/_standalone/.next/server/app/view/[...path]/page.js.nft.json +1 -1
  175. package/_standalone/.next/server/app/view/[...path]/page_client-reference-manifest.js +1 -1
  176. package/_standalone/.next/server/app-paths-manifest.json +21 -20
  177. package/_standalone/.next/server/chunks/1550.js +1 -1
  178. package/_standalone/.next/server/chunks/1750.js +1 -0
  179. package/_standalone/.next/server/chunks/1955.js +11 -0
  180. package/_standalone/.next/server/chunks/3680.js +1 -0
  181. package/_standalone/.next/server/chunks/4497.js +219 -0
  182. package/_standalone/.next/server/chunks/5560.js +2 -0
  183. package/_standalone/.next/server/chunks/6365.js +52 -0
  184. package/_standalone/.next/server/chunks/6539.js +1 -1
  185. package/_standalone/.next/server/chunks/8388.js +15 -0
  186. package/_standalone/.next/server/chunks/953.js +42 -2
  187. package/_standalone/.next/server/functions-config-manifest.json +2 -1
  188. package/_standalone/.next/server/instrumentation.js +1 -1
  189. package/_standalone/.next/server/middleware-build-manifest.js +1 -1
  190. package/_standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  191. package/_standalone/.next/server/next-font-manifest.js +1 -1
  192. package/_standalone/.next/server/next-font-manifest.json +1 -1
  193. package/_standalone/.next/server/pages/500.html +2 -2
  194. package/_standalone/.next/server/server-reference-manifest.js +1 -1
  195. package/_standalone/.next/server/server-reference-manifest.json +1 -1
  196. package/_standalone/.next/static/chunks/1053-0adaccc98a752a58.js +29 -0
  197. package/_standalone/.next/static/chunks/1239.10a0710c2772ab34.js +1 -0
  198. package/_standalone/.next/static/chunks/{1814.e2da5460ded71d71.js → 1814.2ee1d03297c0bccd.js} +1 -1
  199. package/_standalone/.next/static/chunks/{1a258343-030e4d6735874dd4.js → 1a258343-9803591e4aaee1f6.js} +1 -1
  200. package/_standalone/.next/static/chunks/2631.dc56e83472bde281.js +1 -0
  201. package/_standalone/.next/static/chunks/2872.045858d00bd8307f.js +8 -0
  202. package/_standalone/.next/static/chunks/2968.f10ccee9e7e2324d.js +2 -0
  203. package/_standalone/.next/static/chunks/3160-83a7e0b94414b3ac.js +1 -0
  204. package/_standalone/.next/static/chunks/{3637.4bcd01a4db78b894.js → 3637.f9a42cca59fd5bb5.js} +1 -1
  205. package/_standalone/.next/static/chunks/4033.6666700547b20141.js +1 -0
  206. package/_standalone/.next/static/chunks/4563-c2afaeacb241d1d0.js +6 -0
  207. package/_standalone/.next/static/chunks/516.24ee058b1d4b1fed.js +8 -0
  208. package/_standalone/.next/static/chunks/5627.c4337d7289acb31f.js +1 -0
  209. package/_standalone/.next/static/chunks/5956.b445072b35915129.js +1 -0
  210. package/_standalone/.next/static/chunks/6090-c98268ca726a68d3.js +1 -0
  211. package/_standalone/.next/static/chunks/6357-c645842834c0d4cd.js +1 -0
  212. package/_standalone/.next/static/chunks/6826.7b7d94dd0fd83812.js +1 -0
  213. package/_standalone/.next/static/chunks/{8409-de5726a4a278d28f.js → 6926-4af497b83952fa87.js} +1 -1
  214. package/_standalone/.next/static/chunks/7266-bb7be1128eccd48e.js +13 -0
  215. package/_standalone/.next/static/chunks/7753.63831cfc54a55fbb.js +1 -0
  216. package/_standalone/.next/static/chunks/862.9f526e964489e2e5.js +1 -0
  217. package/_standalone/.next/static/chunks/{1384-55276d40a9da4e88.js → 8663-de911d2d395622be.js} +2 -2
  218. package/_standalone/.next/static/chunks/9300.118b8c840634383f.js +28 -0
  219. package/_standalone/.next/static/chunks/9371-575600301da5d6bb.js +1 -0
  220. package/_standalone/.next/static/chunks/95247769.3b5caae1c1a76ce1.js +4 -0
  221. package/_standalone/.next/static/chunks/9602-423291fdb36396d1.js +1 -0
  222. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-400c3c09b1540c14.js +1 -0
  223. package/_standalone/.next/static/chunks/app/_global-error/page-400c3c09b1540c14.js +1 -0
  224. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-3e08abb495ecd5fd.js +1 -0
  225. package/_standalone/.next/static/chunks/app/agents/page-e7e0f87ad3d765ac.js +5 -0
  226. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-400c3c09b1540c14.js +1 -0
  227. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-400c3c09b1540c14.js +1 -0
  228. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-400c3c09b1540c14.js +1 -0
  229. package/_standalone/.next/static/chunks/app/api/a2a/route-400c3c09b1540c14.js +1 -0
  230. package/_standalone/.next/static/chunks/app/api/acp/config/route-400c3c09b1540c14.js +1 -0
  231. package/_standalone/.next/static/chunks/app/api/acp/detect/route-400c3c09b1540c14.js +1 -0
  232. package/_standalone/.next/static/chunks/app/api/acp/install/route-400c3c09b1540c14.js +1 -0
  233. package/_standalone/.next/static/chunks/app/api/acp/registry/route-400c3c09b1540c14.js +1 -0
  234. package/_standalone/.next/static/chunks/app/api/acp/session/route-400c3c09b1540c14.js +1 -0
  235. package/_standalone/.next/static/chunks/app/api/agent-activity/route-400c3c09b1540c14.js +1 -0
  236. package/_standalone/.next/static/chunks/app/api/ask/route-400c3c09b1540c14.js +1 -0
  237. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-400c3c09b1540c14.js +1 -0
  238. package/_standalone/.next/static/chunks/app/api/auth/route-400c3c09b1540c14.js +1 -0
  239. package/_standalone/.next/static/chunks/app/api/backlinks/route-400c3c09b1540c14.js +1 -0
  240. package/_standalone/.next/static/chunks/app/api/bootstrap/route-400c3c09b1540c14.js +1 -0
  241. package/_standalone/.next/static/chunks/app/api/changes/route-400c3c09b1540c14.js +1 -0
  242. package/_standalone/.next/static/chunks/app/api/export/route-400c3c09b1540c14.js +1 -0
  243. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-400c3c09b1540c14.js +1 -0
  244. package/_standalone/.next/static/chunks/app/api/file/import/route-400c3c09b1540c14.js +1 -0
  245. package/_standalone/.next/static/chunks/app/api/file/route-400c3c09b1540c14.js +1 -0
  246. package/_standalone/.next/static/chunks/app/api/files/route-400c3c09b1540c14.js +1 -0
  247. package/_standalone/.next/static/chunks/app/api/git/route-400c3c09b1540c14.js +1 -0
  248. package/_standalone/.next/static/chunks/app/api/graph/route-400c3c09b1540c14.js +1 -0
  249. package/_standalone/.next/static/chunks/app/api/health/route-400c3c09b1540c14.js +1 -0
  250. package/_standalone/.next/static/chunks/app/api/inbox/route-400c3c09b1540c14.js +1 -0
  251. package/_standalone/.next/static/chunks/app/api/init/route-400c3c09b1540c14.js +1 -0
  252. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-400c3c09b1540c14.js +1 -0
  253. package/_standalone/.next/static/chunks/app/api/mcp/install/route-400c3c09b1540c14.js +1 -0
  254. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-400c3c09b1540c14.js +1 -0
  255. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-400c3c09b1540c14.js +1 -0
  256. package/_standalone/.next/static/chunks/app/api/mcp/status/route-400c3c09b1540c14.js +1 -0
  257. package/_standalone/.next/static/chunks/app/api/monitoring/route-400c3c09b1540c14.js +1 -0
  258. package/_standalone/.next/static/chunks/app/api/recent-files/route-400c3c09b1540c14.js +1 -0
  259. package/_standalone/.next/static/chunks/app/api/restart/route-400c3c09b1540c14.js +1 -0
  260. package/_standalone/.next/static/chunks/app/api/search/route-400c3c09b1540c14.js +1 -0
  261. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-400c3c09b1540c14.js +1 -0
  262. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-400c3c09b1540c14.js +1 -0
  263. package/_standalone/.next/static/chunks/app/api/settings/route-400c3c09b1540c14.js +1 -0
  264. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-400c3c09b1540c14.js +1 -0
  265. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-400c3c09b1540c14.js +1 -0
  266. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-400c3c09b1540c14.js +1 -0
  267. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-400c3c09b1540c14.js +1 -0
  268. package/_standalone/.next/static/chunks/app/api/setup/ls/route-400c3c09b1540c14.js +1 -0
  269. package/_standalone/.next/static/chunks/app/api/setup/route-400c3c09b1540c14.js +1 -0
  270. package/_standalone/.next/static/chunks/app/api/skills/route-400c3c09b1540c14.js +1 -0
  271. package/_standalone/.next/static/chunks/app/api/sync/route-400c3c09b1540c14.js +1 -0
  272. package/_standalone/.next/static/chunks/app/api/tree-version/route-400c3c09b1540c14.js +1 -0
  273. package/_standalone/.next/static/chunks/app/api/uninstall/route-400c3c09b1540c14.js +1 -0
  274. package/_standalone/.next/static/chunks/app/api/update/route-400c3c09b1540c14.js +1 -0
  275. package/_standalone/.next/static/chunks/app/api/update-check/route-400c3c09b1540c14.js +1 -0
  276. package/_standalone/.next/static/chunks/app/api/update-status/route-400c3c09b1540c14.js +1 -0
  277. package/_standalone/.next/static/chunks/app/api/workflows/route-400c3c09b1540c14.js +1 -0
  278. package/_standalone/.next/static/chunks/app/changes/page-350992cf5091bc5b.js +1 -0
  279. package/_standalone/.next/static/chunks/app/echo/[segment]/page-addf014fcf23fad5.js +11 -0
  280. package/_standalone/.next/static/chunks/app/echo/page-400c3c09b1540c14.js +1 -0
  281. package/_standalone/.next/static/chunks/app/explore/page-5eb2835e9e3ab4bb.js +4 -0
  282. package/_standalone/.next/static/chunks/app/help/page-3d0e1ceaa4abc243.js +1 -0
  283. package/_standalone/.next/static/chunks/app/layout-9378c1c8d3e5761b.js +186 -0
  284. package/_standalone/.next/static/chunks/app/login/page-24236460fa7c11d0.js +1 -0
  285. package/_standalone/.next/static/chunks/app/page-9bae420fbbdc5fff.js +7 -0
  286. package/_standalone/.next/static/chunks/app/setup/page-99ed3d1bb6b8f4ef.js +1 -0
  287. package/_standalone/.next/static/chunks/app/trash/page-b61ef2d5cd4f8d73.js +1 -0
  288. package/_standalone/.next/static/chunks/app/view/[...path]/loading-400c3c09b1540c14.js +1 -0
  289. package/_standalone/.next/static/chunks/app/view/[...path]/not-found-61474670d6bb6116.js +1 -0
  290. package/_standalone/.next/static/chunks/app/view/[...path]/page-44fa78cbea613a78.js +12 -0
  291. package/_standalone/.next/static/chunks/e71f6c19-4df85185bf989b49.js +1 -0
  292. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-400c3c09b1540c14.js +1 -0
  293. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-400c3c09b1540c14.js +1 -0
  294. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-400c3c09b1540c14.js +1 -0
  295. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-400c3c09b1540c14.js +1 -0
  296. package/_standalone/.next/static/chunks/webpack-c28c55d0a6021a6b.js +1 -0
  297. package/_standalone/.next/static/css/d300701f384db50d.css +1 -0
  298. package/_standalone/.next/static/rZLs1krFuduixvcVNe6q3/_buildManifest.js +1 -0
  299. package/_standalone/.next/trace +63 -53
  300. package/_standalone/.next/types/routes.d.ts +2 -1
  301. package/_standalone/.next/types/validator.ts +9 -0
  302. package/_standalone/__tests__/agent/chat-mode.test.ts +103 -0
  303. package/_standalone/__tests__/agents/agents-content-dashboard.test.tsx +4 -3
  304. package/_standalone/__tests__/api/bootstrap.test.ts +0 -2
  305. package/_standalone/__tests__/api/file.test.ts +22 -1
  306. package/_standalone/__tests__/api/install-skill.test.ts +2 -2
  307. package/_standalone/__tests__/api/mcp-install.test.ts +9 -10
  308. package/_standalone/__tests__/api/setup.test.ts +2 -2
  309. package/_standalone/__tests__/api/test-key.test.ts +73 -147
  310. package/_standalone/__tests__/ask/ask-content-input-during-run.test.tsx +1 -1
  311. package/_standalone/__tests__/ask/mode-capsule.test.ts +95 -0
  312. package/_standalone/__tests__/core/inbox.test.ts +250 -0
  313. package/_standalone/__tests__/core/skill-install-logic.test.ts +3 -3
  314. package/_standalone/__tests__/core/sync-status.test.ts +1 -1
  315. package/_standalone/__tests__/core/tools.test.ts +11 -6
  316. package/_standalone/__tests__/lib/echo-pages-visual-i18n.test.ts +2 -2
  317. package/_standalone/__tests__/lib/i18n-new-keys.test.ts +2 -2
  318. package/_standalone/__tests__/panels/agents-panel-hub.test.tsx +2 -2
  319. package/_standalone/__tests__/settings/activity-bar-update-badge.test.tsx +1 -1
  320. package/_standalone/__tests__/settings/settings-update-badge.test.tsx +1 -1
  321. package/_standalone/__tests__/settings/update-tab-availability-sync.test.tsx +1 -1
  322. package/_standalone/__tests__/settings/update-tab-browser.test.tsx +1 -1
  323. package/_standalone/__tests__/settings/update-tab-desktop.test.tsx +1 -1
  324. package/_standalone/__tests__/setup.ts +3 -5
  325. package/_standalone/app/globals.css +11 -1
  326. package/_standalone/components/ActivityBar.tsx +26 -10
  327. package/_standalone/components/AskFab.tsx +1 -1
  328. package/_standalone/components/AskModal.tsx +1 -1
  329. package/_standalone/components/Backlinks.tsx +1 -1
  330. package/_standalone/components/CreateSpaceModal.tsx +7 -55
  331. package/_standalone/components/EchoSpotlight.tsx +1 -1
  332. package/_standalone/components/ExportModal.tsx +1 -1
  333. package/_standalone/components/FileTree.tsx +64 -79
  334. package/_standalone/components/FindInPage.tsx +1 -1
  335. package/_standalone/components/GuideCard.tsx +1 -1
  336. package/_standalone/components/ImportModal.tsx +1 -1
  337. package/_standalone/components/KeyboardShortcuts.tsx +1 -1
  338. package/_standalone/components/MarkdownView.tsx +11 -1
  339. package/_standalone/components/OnboardingView.tsx +1 -1
  340. package/_standalone/components/OrganizeToast.tsx +1 -1
  341. package/_standalone/components/Panel.tsx +82 -4
  342. package/_standalone/components/QuickSuggestion.tsx +1 -1
  343. package/_standalone/components/RightAgentDetailPanel.tsx +2 -2
  344. package/_standalone/components/RightAskPanel.tsx +58 -22
  345. package/_standalone/components/SearchModal.tsx +1 -1
  346. package/_standalone/components/Sidebar.tsx +1 -1
  347. package/_standalone/components/SidebarLayout.tsx +52 -16
  348. package/_standalone/components/SpaceInitToast.tsx +1 -1
  349. package/_standalone/components/SyncStatusBar.tsx +2 -2
  350. package/_standalone/components/SystemPulse.tsx +12 -6
  351. package/_standalone/components/TableOfContents.tsx +86 -39
  352. package/_standalone/components/agents/AgentActivitySection.tsx +225 -0
  353. package/_standalone/components/agents/AgentsMcpSection.tsx +7 -16
  354. package/_standalone/components/agents/AgentsOverviewSection.tsx +28 -27
  355. package/_standalone/components/agents/AgentsPanelA2aTab.tsx +1 -1
  356. package/_standalone/components/agents/AgentsPanelSessionsTab.tsx +6 -1
  357. package/_standalone/components/agents/AgentsSkillsSection.tsx +1 -1
  358. package/_standalone/components/agents/DiscoverAgentModal.tsx +1 -1
  359. package/_standalone/components/agents/RecentActivityFeed.tsx +49 -88
  360. package/_standalone/components/agents/agent-activity-shared.tsx +110 -0
  361. package/_standalone/components/ask/AgentSelectorCapsule.tsx +1 -1
  362. package/_standalone/components/ask/AskContent.tsx +332 -486
  363. package/_standalone/components/ask/AskHeader.tsx +61 -0
  364. package/_standalone/components/ask/FileChip.tsx +9 -5
  365. package/_standalone/components/ask/MessageList.tsx +88 -21
  366. package/_standalone/components/ask/ModeCapsule.tsx +180 -0
  367. package/_standalone/components/ask/ProviderModelCapsule.tsx +284 -0
  368. package/_standalone/components/ask/SessionHistory.tsx +63 -10
  369. package/_standalone/components/ask/SessionTabBar.tsx +1 -1
  370. package/_standalone/components/ask/ThinkingBlock.tsx +1 -1
  371. package/_standalone/components/ask/ToolCallBlock.tsx +28 -24
  372. package/_standalone/components/changes/ChangesBanner.tsx +1 -1
  373. package/_standalone/components/echo/EchoInsightCollapsible.tsx +1 -1
  374. package/_standalone/components/echo/EchoSegmentNav.tsx +1 -1
  375. package/_standalone/components/home/InboxSection.tsx +268 -0
  376. package/_standalone/components/panels/AgentsPanel.tsx +3 -2
  377. package/_standalone/components/panels/AgentsPanelHubNav.tsx +2 -6
  378. package/_standalone/components/panels/DiscoverPanel.tsx +1 -1
  379. package/_standalone/components/panels/EchoPanel.tsx +1 -1
  380. package/_standalone/components/panels/EchoSidebarStats.tsx +1 -1
  381. package/_standalone/components/panels/ImportHistoryPanel.tsx +1 -1
  382. package/_standalone/components/panels/PanelHeader.tsx +1 -1
  383. package/_standalone/components/panels/PluginsPanel.tsx +1 -1
  384. package/_standalone/components/panels/SearchPanel.tsx +5 -2
  385. package/_standalone/components/panels/SyncPopover.tsx +1 -1
  386. package/_standalone/components/panels/WorkflowsPanel.tsx +1 -1
  387. package/_standalone/components/renderers/agent-inspector/AgentInspectorRenderer.tsx +18 -0
  388. package/_standalone/components/renderers/agent-inspector/manifest.ts +16 -0
  389. package/_standalone/components/renderers/todo/TodoRenderer.tsx +489 -75
  390. package/_standalone/components/settings/AiTab.tsx +198 -127
  391. package/_standalone/components/settings/AppearanceTab.tsx +48 -50
  392. package/_standalone/components/settings/KnowledgeTab.tsx +92 -27
  393. package/_standalone/components/settings/McpAgentInstall.tsx +1 -1
  394. package/_standalone/components/settings/McpSkillsSection.tsx +1 -1
  395. package/_standalone/components/settings/McpTab.tsx +145 -7
  396. package/_standalone/components/settings/PluginsTab.tsx +1 -1
  397. package/_standalone/components/settings/SettingsContent.tsx +5 -2
  398. package/_standalone/components/settings/SyncTab.tsx +615 -230
  399. package/_standalone/components/settings/UninstallTab.tsx +1 -1
  400. package/_standalone/components/settings/UpdateTab.tsx +373 -109
  401. package/_standalone/components/settings/types.ts +4 -5
  402. package/_standalone/components/setup/StepAI.tsx +70 -49
  403. package/_standalone/components/setup/StepDots.tsx +1 -1
  404. package/_standalone/components/setup/StepReview.tsx +176 -8
  405. package/_standalone/components/setup/types.ts +11 -8
  406. package/_standalone/components/shared/ProviderSelect.tsx +134 -0
  407. package/_standalone/components/walkthrough/WalkthroughOverlay.tsx +2 -2
  408. package/_standalone/components/walkthrough/WalkthroughTooltip.tsx +2 -2
  409. package/_standalone/components/walkthrough/index.ts +1 -1
  410. package/_standalone/data/skills/mindos/SKILL.md +27 -12
  411. package/_standalone/data/skills/mindos-zh/SKILL.md +27 -12
  412. package/_standalone/hooks/useAcpDetection.ts +1 -1
  413. package/_standalone/hooks/useAskChat.ts +248 -0
  414. package/_standalone/hooks/useAskPanel.ts +24 -4
  415. package/_standalone/hooks/useAskSession.ts +15 -0
  416. package/_standalone/lib/acp/types.ts +1 -1
  417. package/_standalone/lib/api.ts +3 -1
  418. package/_standalone/lib/core/types.ts +2 -0
  419. package/_standalone/lib/i18n/modules/ai-chat.ts +35 -13
  420. package/_standalone/lib/i18n/modules/features.ts +2 -2
  421. package/_standalone/lib/i18n/modules/knowledge.ts +82 -2
  422. package/_standalone/lib/i18n/modules/navigation.ts +6 -2
  423. package/_standalone/lib/i18n/modules/onboarding.ts +39 -9
  424. package/_standalone/lib/i18n/modules/panels.ts +78 -29
  425. package/_standalone/lib/i18n/modules/settings.ts +236 -20
  426. package/_standalone/lib/inbox-upload.ts +93 -0
  427. package/_standalone/lib/settings-ai-client.ts +13 -12
  428. package/_standalone/lib/space-ai-init.ts +66 -0
  429. package/_standalone/lib/stores/McpStoreInit.tsx +18 -0
  430. package/_standalone/lib/stores/WalkthroughInit.tsx +20 -0
  431. package/_standalone/lib/stores/locale-store.ts +55 -0
  432. package/_standalone/lib/stores/mcp-store.ts +156 -0
  433. package/_standalone/lib/stores/walkthrough-store.ts +118 -0
  434. package/_standalone/package-lock.json +40 -8
  435. package/_standalone/package.json +3 -1
  436. package/_standalone/tsconfig.json +1 -1
  437. package/_standalone/tsconfig.tsbuildinfo +1 -1
  438. package/app/app/api/acp/detect/route.ts +29 -20
  439. package/app/app/api/agent-activity/route.ts +1 -1
  440. package/app/app/api/ask/route.ts +115 -31
  441. package/app/app/api/ask-sessions/route.ts +1 -0
  442. package/app/app/api/bootstrap/route.ts +1 -3
  443. package/app/app/api/file/route.ts +34 -4
  444. package/app/app/api/inbox/route.ts +61 -0
  445. package/app/app/api/settings/list-models/route.ts +73 -53
  446. package/app/app/api/settings/route.ts +46 -55
  447. package/app/app/api/settings/test-key/route.ts +57 -114
  448. package/app/app/api/setup/route.ts +31 -21
  449. package/app/app/api/sync/route.ts +122 -12
  450. package/app/app/api/update-check/route.ts +2 -2
  451. package/app/app/globals.css +11 -1
  452. package/app/app/layout.tsx +2 -3
  453. package/app/app/login/page.tsx +1 -1
  454. package/app/app/view/[...path]/ViewPageClient.tsx +10 -10
  455. package/app/app/view/[...path]/not-found.tsx +1 -1
  456. package/app/components/ActivityBar.tsx +26 -10
  457. package/app/components/AskFab.tsx +1 -1
  458. package/app/components/AskModal.tsx +1 -1
  459. package/app/components/Backlinks.tsx +1 -1
  460. package/app/components/CreateSpaceModal.tsx +7 -55
  461. package/app/components/DirView.tsx +93 -11
  462. package/app/components/EchoSpotlight.tsx +1 -1
  463. package/app/components/ExportModal.tsx +1 -1
  464. package/app/components/FileTree.tsx +64 -79
  465. package/app/components/FindInPage.tsx +1 -1
  466. package/app/components/GuideCard.tsx +1 -1
  467. package/app/components/HomeContent.tsx +21 -14
  468. package/app/components/ImportModal.tsx +1 -1
  469. package/app/components/KeyboardShortcuts.tsx +1 -1
  470. package/app/components/MarkdownView.tsx +11 -1
  471. package/app/components/OnboardingView.tsx +1 -1
  472. package/app/components/OrganizeToast.tsx +1 -1
  473. package/app/components/Panel.tsx +82 -4
  474. package/app/components/QuickSuggestion.tsx +1 -1
  475. package/app/components/RightAgentDetailPanel.tsx +2 -2
  476. package/app/components/RightAskPanel.tsx +58 -22
  477. package/app/components/SearchModal.tsx +1 -1
  478. package/app/components/Sidebar.tsx +1 -1
  479. package/app/components/SidebarLayout.tsx +52 -16
  480. package/app/components/SpaceInitToast.tsx +1 -1
  481. package/app/components/SyncStatusBar.tsx +2 -2
  482. package/app/components/SystemPulse.tsx +12 -6
  483. package/app/components/TableOfContents.tsx +86 -39
  484. package/app/components/TrashPageClient.tsx +1 -1
  485. package/app/components/UpdateOverlay.tsx +2 -2
  486. package/app/components/agents/AgentActivitySection.tsx +225 -0
  487. package/app/components/agents/AgentDetailContent.tsx +234 -3
  488. package/app/components/agents/AgentsContentPage.tsx +13 -2
  489. package/app/components/agents/AgentsMcpSection.tsx +7 -16
  490. package/app/components/agents/AgentsOverviewSection.tsx +28 -27
  491. package/app/components/agents/AgentsPanelA2aTab.tsx +1 -1
  492. package/app/components/agents/AgentsPanelSessionsTab.tsx +6 -1
  493. package/app/components/agents/AgentsSkillsSection.tsx +1 -1
  494. package/app/components/agents/DiscoverAgentModal.tsx +1 -1
  495. package/app/components/agents/RecentActivityFeed.tsx +49 -88
  496. package/app/components/agents/agent-activity-shared.tsx +110 -0
  497. package/app/components/agents/agents-content-model.ts +2 -2
  498. package/app/components/ask/AgentSelectorCapsule.tsx +1 -1
  499. package/app/components/ask/AskContent.tsx +332 -486
  500. package/app/components/ask/AskHeader.tsx +61 -0
  501. package/app/components/ask/FileChip.tsx +9 -5
  502. package/app/components/ask/MessageList.tsx +88 -21
  503. package/app/components/ask/ModeCapsule.tsx +180 -0
  504. package/app/components/ask/ProviderModelCapsule.tsx +284 -0
  505. package/app/components/ask/SessionHistory.tsx +63 -10
  506. package/app/components/ask/SessionTabBar.tsx +1 -1
  507. package/app/components/ask/ThinkingBlock.tsx +1 -1
  508. package/app/components/ask/ToolCallBlock.tsx +28 -24
  509. package/app/components/changes/ChangesBanner.tsx +1 -1
  510. package/app/components/changes/ChangesContentPage.tsx +1 -1
  511. package/app/components/echo/EchoInsightCollapsible.tsx +1 -1
  512. package/app/components/echo/EchoSegmentNav.tsx +1 -1
  513. package/app/components/echo/EchoSegmentPageClient.tsx +1 -1
  514. package/app/components/explore/ExploreContent.tsx +1 -1
  515. package/app/components/help/HelpContent.tsx +1 -1
  516. package/app/components/home/InboxSection.tsx +268 -0
  517. package/app/components/panels/AgentsPanel.tsx +3 -2
  518. package/app/components/panels/AgentsPanelHubNav.tsx +2 -6
  519. package/app/components/panels/DiscoverPanel.tsx +1 -1
  520. package/app/components/panels/EchoPanel.tsx +1 -1
  521. package/app/components/panels/EchoSidebarStats.tsx +1 -1
  522. package/app/components/panels/ImportHistoryPanel.tsx +1 -1
  523. package/app/components/panels/PanelHeader.tsx +1 -1
  524. package/app/components/panels/PluginsPanel.tsx +1 -1
  525. package/app/components/panels/SearchPanel.tsx +5 -2
  526. package/app/components/panels/SyncPopover.tsx +1 -1
  527. package/app/components/panels/WorkflowsPanel.tsx +1 -1
  528. package/app/components/renderers/agent-inspector/AgentInspectorRenderer.tsx +18 -0
  529. package/app/components/renderers/todo/TodoRenderer.tsx +489 -75
  530. package/app/components/settings/AiTab.tsx +198 -127
  531. package/app/components/settings/AppearanceTab.tsx +48 -50
  532. package/app/components/settings/KnowledgeTab.tsx +92 -27
  533. package/app/components/settings/McpAgentInstall.tsx +1 -1
  534. package/app/components/settings/McpSkillsSection.tsx +1 -1
  535. package/app/components/settings/McpTab.tsx +145 -7
  536. package/app/components/settings/PluginsTab.tsx +1 -1
  537. package/app/components/settings/SettingsContent.tsx +5 -2
  538. package/app/components/settings/SyncTab.tsx +615 -230
  539. package/app/components/settings/UninstallTab.tsx +1 -1
  540. package/app/components/settings/UpdateTab.tsx +373 -109
  541. package/app/components/settings/types.ts +4 -5
  542. package/app/components/setup/StepAI.tsx +70 -49
  543. package/app/components/setup/StepDots.tsx +1 -1
  544. package/app/components/setup/StepReview.tsx +176 -8
  545. package/app/components/setup/index.tsx +73 -39
  546. package/app/components/setup/types.ts +11 -8
  547. package/app/components/shared/ProviderSelect.tsx +134 -0
  548. package/app/components/walkthrough/WalkthroughOverlay.tsx +2 -2
  549. package/app/components/walkthrough/WalkthroughTooltip.tsx +2 -2
  550. package/app/components/walkthrough/index.ts +1 -1
  551. package/app/data/skills/mindos/SKILL.md +27 -12
  552. package/app/data/skills/mindos-zh/SKILL.md +27 -12
  553. package/app/hooks/useAcpDetection.ts +1 -1
  554. package/app/hooks/useAskChat.ts +248 -0
  555. package/app/hooks/useAskPanel.ts +24 -4
  556. package/app/hooks/useAskSession.ts +15 -0
  557. package/app/lib/acp/types.ts +1 -1
  558. package/app/lib/actions.ts +13 -0
  559. package/app/lib/agent/log.ts +2 -0
  560. package/app/lib/agent/model.ts +69 -81
  561. package/app/lib/agent/prompt.ts +27 -0
  562. package/app/lib/agent/providers.ts +299 -0
  563. package/app/lib/agent/tools.ts +26 -4
  564. package/app/lib/api.ts +3 -1
  565. package/app/lib/core/agent-audit-log.ts +7 -0
  566. package/app/lib/core/fs-ops.ts +9 -4
  567. package/app/lib/core/inbox.ts +181 -0
  568. package/app/lib/core/index.ts +4 -0
  569. package/app/lib/core/tree.ts +3 -0
  570. package/app/lib/core/types.ts +2 -0
  571. package/app/lib/fs.ts +26 -2
  572. package/app/lib/i18n/modules/ai-chat.ts +35 -13
  573. package/app/lib/i18n/modules/features.ts +2 -2
  574. package/app/lib/i18n/modules/knowledge.ts +82 -2
  575. package/app/lib/i18n/modules/navigation.ts +6 -2
  576. package/app/lib/i18n/modules/onboarding.ts +39 -9
  577. package/app/lib/i18n/modules/panels.ts +78 -29
  578. package/app/lib/i18n/modules/settings.ts +236 -20
  579. package/app/lib/inbox-upload.ts +93 -0
  580. package/app/lib/mcp-agents.ts +6 -7
  581. package/app/lib/renderers/index.ts +1 -2
  582. package/app/lib/settings-ai-client.ts +13 -12
  583. package/app/lib/settings.ts +48 -33
  584. package/app/lib/space-ai-init.ts +66 -0
  585. package/app/lib/stores/LocaleStoreInit.tsx +18 -0
  586. package/app/lib/stores/McpStoreInit.tsx +18 -0
  587. package/app/lib/stores/WalkthroughInit.tsx +20 -0
  588. package/app/lib/stores/locale-store.ts +55 -0
  589. package/app/lib/stores/mcp-store.ts +156 -0
  590. package/app/lib/stores/walkthrough-store.ts +118 -0
  591. package/app/lib/types.ts +20 -0
  592. package/app/package.json +3 -1
  593. package/app/tsconfig.json +1 -1
  594. package/bin/cli.js +46 -27
  595. package/bin/commands/file.js +7 -4
  596. package/bin/commands/space.js +4 -0
  597. package/bin/lib/mcp-agents.js +26 -2
  598. package/bin/lib/mcp-install.js +11 -3
  599. package/bin/lib/sync.js +140 -34
  600. package/mcp/README.md +2 -2
  601. package/mcp/dist/index.cjs +43 -43
  602. package/mcp/package.json +1 -1
  603. package/mcp/src/index.ts +77 -61
  604. package/package.json +1 -1
  605. package/scripts/build-runtime-archive.sh +113 -0
  606. package/scripts/setup.js +1 -1
  607. package/skills/mindos/SKILL.md +27 -12
  608. package/skills/mindos/references/preference-capture.md +4 -4
  609. package/skills/mindos/references/write-supplement.md +46 -4
  610. package/skills/mindos-zh/SKILL.md +27 -12
  611. package/skills/mindos-zh/references/preference-capture.md +4 -4
  612. package/skills/mindos-zh/references/write-supplement.md +47 -5
  613. package/templates/empty/INSTRUCTION.md +0 -1
  614. package/templates/en/INSTRUCTION.md +0 -1
  615. package/templates/template-generation-skill.md +0 -1
  616. package/templates/zh/INSTRUCTION.md +0 -1
  617. package/_standalone/.next/server/chunks/248.js +0 -15
  618. package/_standalone/.next/server/chunks/359.js +0 -2
  619. package/_standalone/.next/server/chunks/4931.js +0 -202
  620. package/_standalone/.next/server/chunks/7670.js +0 -1
  621. package/_standalone/.next/server/chunks/8407.js +0 -52
  622. package/_standalone/.next/server/chunks/9414.js +0 -11
  623. package/_standalone/.next/static/VAb8MoUUpoXjVJalRJogO/_buildManifest.js +0 -1
  624. package/_standalone/.next/static/chunks/1038-ed04d6651ec92312.js +0 -1
  625. package/_standalone/.next/static/chunks/1263-79beb8734dee7bbd.js +0 -25
  626. package/_standalone/.next/static/chunks/275-ebcaaedabe706903.js +0 -1
  627. package/_standalone/.next/static/chunks/5637-b97c869adf70c82e.js +0 -1
  628. package/_standalone/.next/static/chunks/5681-a53362a1cd629dc6.js +0 -1
  629. package/_standalone/.next/static/chunks/9602-35ca17b688f1a4fe.js +0 -1
  630. package/_standalone/.next/static/chunks/9670-d59e4d45ed705f58.js +0 -6
  631. package/_standalone/.next/static/chunks/app/.well-known/agent-card.json/route-d4762cc48529e566.js +0 -1
  632. package/_standalone/.next/static/chunks/app/_global-error/page-d4762cc48529e566.js +0 -1
  633. package/_standalone/.next/static/chunks/app/agents/[agentKey]/page-519d4da1142db5ef.js +0 -1
  634. package/_standalone/.next/static/chunks/app/agents/page-b709cf3103321609.js +0 -5
  635. package/_standalone/.next/static/chunks/app/api/a2a/agents/route-d4762cc48529e566.js +0 -1
  636. package/_standalone/.next/static/chunks/app/api/a2a/delegations/route-d4762cc48529e566.js +0 -1
  637. package/_standalone/.next/static/chunks/app/api/a2a/discover/route-d4762cc48529e566.js +0 -1
  638. package/_standalone/.next/static/chunks/app/api/a2a/route-d4762cc48529e566.js +0 -1
  639. package/_standalone/.next/static/chunks/app/api/acp/config/route-d4762cc48529e566.js +0 -1
  640. package/_standalone/.next/static/chunks/app/api/acp/detect/route-d4762cc48529e566.js +0 -1
  641. package/_standalone/.next/static/chunks/app/api/acp/install/route-d4762cc48529e566.js +0 -1
  642. package/_standalone/.next/static/chunks/app/api/acp/registry/route-d4762cc48529e566.js +0 -1
  643. package/_standalone/.next/static/chunks/app/api/acp/session/route-d4762cc48529e566.js +0 -1
  644. package/_standalone/.next/static/chunks/app/api/agent-activity/route-d4762cc48529e566.js +0 -1
  645. package/_standalone/.next/static/chunks/app/api/ask/route-d4762cc48529e566.js +0 -1
  646. package/_standalone/.next/static/chunks/app/api/ask-sessions/route-d4762cc48529e566.js +0 -1
  647. package/_standalone/.next/static/chunks/app/api/auth/route-d4762cc48529e566.js +0 -1
  648. package/_standalone/.next/static/chunks/app/api/backlinks/route-d4762cc48529e566.js +0 -1
  649. package/_standalone/.next/static/chunks/app/api/bootstrap/route-d4762cc48529e566.js +0 -1
  650. package/_standalone/.next/static/chunks/app/api/changes/route-d4762cc48529e566.js +0 -1
  651. package/_standalone/.next/static/chunks/app/api/export/route-d4762cc48529e566.js +0 -1
  652. package/_standalone/.next/static/chunks/app/api/extract-pdf/route-d4762cc48529e566.js +0 -1
  653. package/_standalone/.next/static/chunks/app/api/file/import/route-d4762cc48529e566.js +0 -1
  654. package/_standalone/.next/static/chunks/app/api/file/route-d4762cc48529e566.js +0 -1
  655. package/_standalone/.next/static/chunks/app/api/files/route-d4762cc48529e566.js +0 -1
  656. package/_standalone/.next/static/chunks/app/api/git/route-d4762cc48529e566.js +0 -1
  657. package/_standalone/.next/static/chunks/app/api/graph/route-d4762cc48529e566.js +0 -1
  658. package/_standalone/.next/static/chunks/app/api/health/route-d4762cc48529e566.js +0 -1
  659. package/_standalone/.next/static/chunks/app/api/init/route-d4762cc48529e566.js +0 -1
  660. package/_standalone/.next/static/chunks/app/api/mcp/agents/route-d4762cc48529e566.js +0 -1
  661. package/_standalone/.next/static/chunks/app/api/mcp/install/route-d4762cc48529e566.js +0 -1
  662. package/_standalone/.next/static/chunks/app/api/mcp/install-skill/route-d4762cc48529e566.js +0 -1
  663. package/_standalone/.next/static/chunks/app/api/mcp/restart/route-d4762cc48529e566.js +0 -1
  664. package/_standalone/.next/static/chunks/app/api/mcp/status/route-d4762cc48529e566.js +0 -1
  665. package/_standalone/.next/static/chunks/app/api/monitoring/route-d4762cc48529e566.js +0 -1
  666. package/_standalone/.next/static/chunks/app/api/recent-files/route-d4762cc48529e566.js +0 -1
  667. package/_standalone/.next/static/chunks/app/api/restart/route-d4762cc48529e566.js +0 -1
  668. package/_standalone/.next/static/chunks/app/api/search/route-d4762cc48529e566.js +0 -1
  669. package/_standalone/.next/static/chunks/app/api/settings/list-models/route-d4762cc48529e566.js +0 -1
  670. package/_standalone/.next/static/chunks/app/api/settings/reset-token/route-d4762cc48529e566.js +0 -1
  671. package/_standalone/.next/static/chunks/app/api/settings/route-d4762cc48529e566.js +0 -1
  672. package/_standalone/.next/static/chunks/app/api/settings/test-key/route-d4762cc48529e566.js +0 -1
  673. package/_standalone/.next/static/chunks/app/api/setup/check-path/route-d4762cc48529e566.js +0 -1
  674. package/_standalone/.next/static/chunks/app/api/setup/check-port/route-d4762cc48529e566.js +0 -1
  675. package/_standalone/.next/static/chunks/app/api/setup/generate-token/route-d4762cc48529e566.js +0 -1
  676. package/_standalone/.next/static/chunks/app/api/setup/ls/route-d4762cc48529e566.js +0 -1
  677. package/_standalone/.next/static/chunks/app/api/setup/route-d4762cc48529e566.js +0 -1
  678. package/_standalone/.next/static/chunks/app/api/skills/route-d4762cc48529e566.js +0 -1
  679. package/_standalone/.next/static/chunks/app/api/sync/route-d4762cc48529e566.js +0 -1
  680. package/_standalone/.next/static/chunks/app/api/tree-version/route-d4762cc48529e566.js +0 -1
  681. package/_standalone/.next/static/chunks/app/api/uninstall/route-d4762cc48529e566.js +0 -1
  682. package/_standalone/.next/static/chunks/app/api/update/route-d4762cc48529e566.js +0 -1
  683. package/_standalone/.next/static/chunks/app/api/update-check/route-d4762cc48529e566.js +0 -1
  684. package/_standalone/.next/static/chunks/app/api/update-status/route-d4762cc48529e566.js +0 -1
  685. package/_standalone/.next/static/chunks/app/api/workflows/route-d4762cc48529e566.js +0 -1
  686. package/_standalone/.next/static/chunks/app/changes/page-def5210095f8698d.js +0 -1
  687. package/_standalone/.next/static/chunks/app/echo/[segment]/page-be28eff31b1a186e.js +0 -11
  688. package/_standalone/.next/static/chunks/app/echo/page-d4762cc48529e566.js +0 -1
  689. package/_standalone/.next/static/chunks/app/explore/page-e4b8098dca200389.js +0 -4
  690. package/_standalone/.next/static/chunks/app/help/page-d5e57d73d94bad19.js +0 -1
  691. package/_standalone/.next/static/chunks/app/layout-aab90c2b4faf8d57.js +0 -173
  692. package/_standalone/.next/static/chunks/app/login/page-321875768b70938a.js +0 -1
  693. package/_standalone/.next/static/chunks/app/page-9a15cf85f0962c59.js +0 -7
  694. package/_standalone/.next/static/chunks/app/setup/page-01ab1f549d636057.js +0 -1
  695. package/_standalone/.next/static/chunks/app/trash/page-7df0139c6b0f87e0.js +0 -1
  696. package/_standalone/.next/static/chunks/app/view/[...path]/loading-d4762cc48529e566.js +0 -1
  697. package/_standalone/.next/static/chunks/app/view/[...path]/not-found-f22c513bbc348cc8.js +0 -1
  698. package/_standalone/.next/static/chunks/app/view/[...path]/page-35811d7e49e08157.js +0 -12
  699. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-d4762cc48529e566.js +0 -1
  700. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-d4762cc48529e566.js +0 -1
  701. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-d4762cc48529e566.js +0 -1
  702. package/_standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-d4762cc48529e566.js +0 -1
  703. package/_standalone/.next/static/chunks/webpack-3489a2b6c2882b0c.js +0 -1
  704. package/_standalone/.next/static/css/f16595bc58a16d5d.css +0 -1
  705. package/_standalone/components/walkthrough/WalkthroughProvider.tsx +0 -133
  706. package/_standalone/hooks/useMcpData.tsx +0 -169
  707. package/_standalone/lib/i18n-en.ts +0 -2
  708. package/_standalone/lib/i18n-zh.ts +0 -2
  709. package/_standalone/lib/types.ts +0 -70
  710. package/app/components/walkthrough/WalkthroughProvider.tsx +0 -133
  711. package/app/hooks/useMcpData.tsx +0 -169
  712. package/app/lib/LocaleContext.tsx +0 -60
  713. package/app/lib/i18n-en.ts +0 -2
  714. package/app/lib/i18n-zh.ts +0 -2
  715. /package/_standalone/.next/static/{VAb8MoUUpoXjVJalRJogO → rZLs1krFuduixvcVNe6q3}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7753],{2356:(t,e,r)=>{"use strict";function i(t){return t.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"")}r.d(e,{J:()=>i})},14488:(t,e,r)=>{var i=r(56814);e.operation=function(t){return new i(e.timeouts(t),{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})},e.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw Error("minTimeout is greater than maxTimeout");for(var i=[],o=0;o<e.retries;o++)i.push(this.createTimeout(o,e));return t&&t.forever&&!i.length&&i.push(this.createTimeout(o,e)),i.sort(function(t,e){return t-e}),i},e.createTimeout=function(t,e){var r=Math.round((e.randomize?Math.random()+1:1)*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return Math.min(r,e.maxTimeout)},e.wrap=function(t,r,i){if(r instanceof Array&&(i=r,r=null),!i)for(var o in i=[],t)"function"==typeof t[o]&&i.push(o);for(var n=0;n<i.length;n++){var s=i[n],a=t[s];t[s]=(function(i){var o=e.operation(r),n=Array.prototype.slice.call(arguments,1),s=n.pop();n.push(function(t){o.retry(t)||(t&&(arguments[0]=o.mainError()),s.apply(this,arguments))}),o.attempt(function(){i.apply(t,n)})}).bind(t,a),t[s].options=r}}},56814:t=>{function e(t,e){"boolean"==typeof e&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}t.exports=e,e.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},e.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},e.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(void 0===r)if(!this._cachedTimeouts)return!1;else this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);var i=this;return this._timer=setTimeout(function(){i._attempts++,i._operationTimeoutCb&&(i._timeout=setTimeout(function(){i._operationTimeoutCb(i._attempts)},i._operationTimeout),i._options.unref&&i._timeout.unref()),i._fn(i._attempts)},r),this._options.unref&&this._timer.unref(),!0},e.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},e.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)},e.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)},e.prototype.start=e.prototype.try,e.prototype.errors=function(){return this._errors},e.prototype.attempts=function(){return this._attempts},e.prototype.mainError=function(){if(0===this._errors.length)return null;for(var t={},e=null,r=0,i=0;i<this._errors.length;i++){var o=this._errors[i],n=o.message,s=(t[n]||0)+1;t[n]=s,s>=r&&(e=o,r=s)}return e}},60353:(t,e,r)=>{"use strict";function i(t,e,r){return{temperature:e?.temperature,maxTokens:e?.maxTokens||Math.min(t.maxTokens,32e3),signal:e?.signal,apiKey:r||e?.apiKey,cacheRetention:e?.cacheRetention,sessionId:e?.sessionId,headers:e?.headers,onPayload:e?.onPayload,maxRetryDelayMs:e?.maxRetryDelayMs,metadata:e?.metadata}}function o(t){return"xhigh"===t?"high":t}function n(t,e,r,i){let n={minimal:1024,low:2048,medium:8192,high:16384,...i}[o(r)],s=Math.min(t+n,e);return s<=n&&(n=Math.max(0,s-1024)),{maxTokens:s,thinkingBudget:n}}r.d(e,{M7:()=>o,QP:()=>i,xw:()=>n})},62174:(t,e,r)=>{t.exports=r(14488)},79411:(t,e,r)=>{"use strict";let i=r(62174),o=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class n extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}}let s=(t,e)=>new Promise((r,s)=>{e={onFailedAttempt:()=>{},retries:10,...e};let a=i.operation(e);a.attempt(async i=>{try{r(await t(i))}catch(t){if(!(t instanceof Error))return void s(TypeError(`Non-error was thrown: "${t}". You should only throw errors.`));if(t instanceof n)a.stop(),s(t.originalError);else{let r;if(t instanceof TypeError&&(r=t.message,!o.includes(r)))a.stop(),s(t);else{let r;r=e.retries-(i-1),t.attemptNumber=i,t.retriesLeft=r;try{await e.onFailedAttempt(t)}catch(t){s(t);return}a.retry(t)||s(a.mainError())}}}})});t.exports=s,t.exports.default=s,t.exports.AbortError=n},86015:(t,e,r)=>{"use strict";function i(t,e,r){let i=new Map,o=t.map(t=>{if("user"===t.role)return t;if("toolResult"===t.role){let e=i.get(t.toolCallId);return e&&e!==t.toolCallId?{...t,toolCallId:e}:t}if("assistant"===t.role){let o=t.provider===e.provider&&t.api===e.api&&t.model===e.id,n=t.content.flatMap(n=>{if("thinking"===n.type)return n.redacted?o?n:[]:o&&n.thinkingSignature?n:n.thinking&&""!==n.thinking.trim()?o?n:{type:"text",text:n.thinking}:[];if("text"===n.type)return o?n:{type:"text",text:n.text};if("toolCall"===n.type){let s=n;if(!o&&n.thoughtSignature&&(s={...n},delete s.thoughtSignature),!o&&r){let o=r(n.id,e,t);o!==n.id&&(i.set(n.id,o),s={...s,id:o})}return s}return n});return{...t,content:n}}return t}),n=[],s=[],a=new Set;for(let t=0;t<o.length;t++){let e=o[t];if("assistant"===e.role){if(s.length>0){for(let t of s)a.has(t.id)||n.push({role:"toolResult",toolCallId:t.id,toolName:t.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});s=[],a=new Set}if("error"===e.stopReason||"aborted"===e.stopReason)continue;let t=e.content.filter(t=>"toolCall"===t.type);t.length>0&&(s=t,a=new Set),n.push(e)}else if("toolResult"===e.role)a.add(e.toolCallId),n.push(e);else if("user"===e.role){if(s.length>0){for(let t of s)a.has(t.id)||n.push({role:"toolResult",toolCallId:t.id,toolName:t.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});s=[],a=new Set}n.push(e)}else n.push(e)}return n}r.d(e,{b:()=>i})},89995:(t,e,r)=>{"use strict";r.d(e,{B1:()=>m,_0:()=>h,_Q:()=>c,f7:()=>f,mo:()=>d,oH:()=>s,pc:()=>a});var i=r(33829),o=r(2356),n=r(86015);function s(t){return!0===t.thought}function a(t,e){return"string"==typeof e&&e.length>0?e:t}let u=/^[A-Za-z0-9+/]+={0,2}$/;function l(t,e){return t&&e&&e.length%4==0&&u.test(e)?e:void 0}function p(t){return t.startsWith("claude-")||t.startsWith("gpt-oss-")}function h(t,e){let r=[];for(let i of(0,n.b)(e.messages,t,e=>p(t.id)?e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64):e))if("user"===i.role)if("string"==typeof i.content)r.push({role:"user",parts:[{text:(0,o.J)(i.content)}]});else{let e=i.content.map(t=>"text"===t.type?{text:(0,o.J)(t.text)}:{inlineData:{mimeType:t.mimeType,data:t.data}}),n=t.input.includes("image")?e:e.filter(t=>void 0!==t.text);if(0===n.length)continue;r.push({role:"user",parts:n})}else if("assistant"===i.role){let e=[],n=i.provider===t.provider&&i.model===t.id;for(let r of i.content)if("text"===r.type){if(!r.text||""===r.text.trim())continue;let t=l(n,r.textSignature);e.push({text:(0,o.J)(r.text),...t&&{thoughtSignature:t}})}else if("thinking"===r.type){if(!r.thinking||""===r.thinking.trim())continue;if(n){let t=l(n,r.thinkingSignature);e.push({thought:!0,text:(0,o.J)(r.thinking),...t&&{thoughtSignature:t}})}else e.push({text:(0,o.J)(r.thinking)})}else if("toolCall"===r.type){let i=l(n,r.thoughtSignature),o=t.id.toLowerCase().includes("gemini-3"),s=i||(o?"skip_thought_signature_validator":void 0),a={functionCall:{name:r.name,args:r.arguments??{},...p(t.id)?{id:r.id}:{}},...s&&{thoughtSignature:s}};e.push(a)}if(0===e.length)continue;r.push({role:"model",parts:e})}else if("toolResult"===i.role){let e=i.content.filter(t=>"text"===t.type).map(t=>t.text).join("\n"),n=t.input.includes("image")?i.content.filter(t=>"image"===t.type):[],s=e.length>0,a=n.length>0,u=function(t){let e=function(t){let e=t.toLowerCase().match(/^gemini(?:-live)?-(\d+)/);if(e)return Number.parseInt(e[1],10)}(t);return void 0===e||e>=3}(t.id),l=s?(0,o.J)(e):a?"(see attached image)":"",h=n.map(t=>({inlineData:{mimeType:t.mimeType,data:t.data}})),m=p(t.id),c={functionResponse:{name:i.toolName,response:i.isError?{error:l}:{output:l},...a&&u&&{parts:h},...m?{id:i.toolCallId}:{}}},f=r[r.length-1];f?.role==="user"&&f.parts?.some(t=>t.functionResponse)?f.parts.push(c):r.push({role:"user",parts:[c]}),a&&!u&&r.push({role:"user",parts:[{text:"Tool result image:"},...h]})}return r}function m(t,e=!1){if(0!==t.length)return[{functionDeclarations:t.map(t=>({name:t.name,description:t.description,...e?{parameters:t.parameters}:{parametersJsonSchema:t.parameters}}))}]}function c(t){switch(t){case"auto":default:return i.ce.AUTO;case"none":return i.ce.NONE;case"any":return i.ce.ANY}}function f(t){switch(t){case i.eD.STOP:return"stop";case i.eD.MAX_TOKENS:return"length";case i.eD.BLOCKLIST:case i.eD.PROHIBITED_CONTENT:case i.eD.SPII:case i.eD.SAFETY:case i.eD.IMAGE_SAFETY:case i.eD.IMAGE_PROHIBITED_CONTENT:case i.eD.IMAGE_RECITATION:case i.eD.IMAGE_OTHER:case i.eD.RECITATION:case i.eD.FINISH_REASON_UNSPECIFIED:case i.eD.OTHER:case i.eD.LANGUAGE:case i.eD.MALFORMED_FUNCTION_CALL:case i.eD.UNEXPECTED_TOOL_CALL:case i.eD.NO_IMAGE:return"error";default:throw Error(`Unhandled stop reason: ${t}`)}}function d(t){switch(t){case"STOP":return"stop";case"MAX_TOKENS":return"length";default:return"error"}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[862],{2356:(e,t,r)=>{r.d(t,{J:()=>o});function o(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"")}},60353:(e,t,r)=>{function o(e,t,r){return{temperature:t?.temperature,maxTokens:t?.maxTokens||Math.min(e.maxTokens,32e3),signal:t?.signal,apiKey:r||t?.apiKey,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata}}function n(e){return"xhigh"===e?"high":e}function s(e,t,r,o){let s={minimal:1024,low:2048,medium:8192,high:16384,...o}[n(r)],i=Math.min(e+s,t);return i<=s&&(s=Math.max(0,i-1024)),{maxTokens:i,thinkingBudget:s}}r.d(t,{M7:()=>n,QP:()=>o,xw:()=>s})},82629:(e,t,r)=>{r.r(t),r.d(t,{streamOpenAICodexResponses:()=>f,streamSimpleOpenAICodexResponses:()=>h});var o=r(65882),n=r(54925),s=r(89230),i=r(11239),a=r(60353),l=r(87358);let d=null;void 0!==l&&(l.versions?.node||l.versions?.bun)&&r(84825)("node:os").then(e=>{d=e});let c=new Set(["openai","openai-codex","opencode"]),u=new Set(["completed","incomplete","failed","cancelled","queued","in_progress"]);function p(e,t){return new Promise((r,o)=>{if(t?.aborted)return void o(Error("Request was aborted"));let n=setTimeout(r,e);t?.addEventListener("abort",()=>{clearTimeout(n),o(Error("Request was aborted"))})})}let f=(e,t,r)=>{let n=new s.Q2;return(async()=>{let s={role:"assistant",content:[],api:"openai-codex-responses",provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{var a,l,d,u,f,h,g,w,b,v,E,x,k,R,S,T,_;let I,O,C,N,A,M,P,q=r?.apiKey||(0,o.P)(e.provider)||"";if(!q)throw Error(`No API key for provider: ${e.provider}`);let W=function(e){try{let t=e.split(".");if(3!==t.length)throw Error("Invalid token");let r=JSON.parse(atob(t[1])),o=r?.["https://api.openai.com/auth"]?.chatgpt_account_id;if(!o)throw Error("No account ID in token");return o}catch{throw Error("Failed to extract accountId from token")}}(q),B=(a=e,l=t,d=r,I=(0,i.iq)(a,l,c,{includeSystemPrompt:!1}),O={model:a.id,store:!1,stream:!0,instructions:l.systemPrompt,input:I,text:{verbosity:d?.textVerbosity||"medium"},include:["reasoning.encrypted_content"],prompt_cache_key:d?.sessionId,tool_choice:"auto",parallel_tool_calls:!0},d?.temperature!==void 0&&(O.temperature=d.temperature),l.tools&&(O.tools=(0,i.hX)(l.tools,{strict:null})),d?.reasoningEffort!==void 0&&(O.reasoning={effort:(u=a.id,f=d.reasoningEffort,((C=u.includes("/")?u.split("/").pop():u).startsWith("gpt-5.2")||C.startsWith("gpt-5.3")||C.startsWith("gpt-5.4"))&&"minimal"===f?"low":"gpt-5.1"===C&&"xhigh"===f?"high":"gpt-5.1-codex-mini"===C?"high"===f||"xhigh"===f?"high":"medium":f),summary:d.reasoningSummary??"auto"}),O),F=await r?.onPayload?.(B,e);void 0!==F&&(B=F);let U=r?.sessionId||("function"==typeof globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`codex_${Date.now()}_${Math.random().toString(36).slice(2,10)}`),J=(h=e.headers,g=r?.headers,w=W,b=q,v=r?.sessionId,(N=$(h,g,w,b)).set("OpenAI-Beta","responses=experimental"),N.set("accept","text/event-stream"),N.set("content-type","application/json"),v&&N.set("session_id",v),N),j=(E=e.headers,x=r?.headers,k=W,R=q,S=U,(A=$(E,x,k,R)).delete("accept"),A.delete("content-type"),A.delete("OpenAI-Beta"),A.delete("openai-beta"),A.set("OpenAI-Beta","responses_websockets=2026-02-06"),A.set("x-client-request-id",S),A.set("session_id",S),A),K=JSON.stringify(B),Q=r?.transport||"sse";if("sse"!==Q){let t=!1;try{let o;if(await D((T=e.baseUrl,o=new URL(m(T)),"https:"===o.protocol&&(o.protocol="wss:"),"http:"===o.protocol&&(o.protocol="ws:"),o.toString()),B,j,s,n,e,()=>{t=!0},r),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end();return}catch(e){if("websocket"===Q||t)throw e}}for(let t=0;t<=3;t++){if(r?.signal?.aborted)throw Error("Request was aborted");try{if((M=await fetch(m(e.baseUrl),{method:"POST",headers:J,body:K,signal:r?.signal})).ok)break;let o=await M.text();if(t<3&&(_=M.status,429===_||500===_||502===_||503===_||504===_||/rate.?limit|overloaded|service.?unavailable|upstream.?connect|connection.?refused/i.test(o))){let e=1e3*2**t;await p(e,r?.signal);continue}let n=new Response(o,{status:M.status,statusText:M.statusText}),s=await L(n);throw Error(s.friendlyMessage||s.message)}catch(e){if(e instanceof Error&&("AbortError"===e.name||"Request was aborted"===e.message))throw Error("Request was aborted");if(P=e instanceof Error?e:Error(String(e)),t<3&&!P.message.includes("usage limit")){let e=1e3*2**t;await p(e,r?.signal);continue}throw P}}if(!M?.ok)throw P??Error("Failed after retries");if(!M.body)throw Error("No response body");if(n.push({type:"start",partial:s}),await y(M,s,n,e),r?.signal?.aborted)throw Error("Request was aborted");n.push({type:"done",reason:s.stopReason,message:s}),n.end()}catch(e){s.stopReason=r?.signal?.aborted?"aborted":"error",s.errorMessage=e instanceof Error?e.message:String(e),n.push({type:"error",reason:s.stopReason,error:s}),n.end()}})(),n},h=(e,t,r)=>{let s=r?.apiKey||(0,o.P)(e.provider);if(!s)throw Error(`No API key for provider: ${e.provider}`);let i=(0,a.QP)(e,r,s),l=(0,n.HM)(e)?r?.reasoning:(0,a.M7)(r?.reasoning);return f(e,t,{...i,reasoningEffort:l})};function m(e){let t=(e&&e.trim().length>0?e:"https://chatgpt.com/backend-api").replace(/\/+$/,"");return t.endsWith("/codex/responses")?t:t.endsWith("/codex")?`${t}/responses`:`${t}/codex/responses`}async function y(e,t,r,o){await (0,i.KB)(g(w(e)),t,r,o)}async function*g(e){for await(let t of e){let e="string"==typeof t.type?t.type:void 0;if(e){if("error"===e){let e=t.code||"",r=t.message||"";throw Error(`Codex error: ${r||e||JSON.stringify(t)}`)}if("response.failed"===e)throw Error(t.response?.error?.message||"Codex response failed");if("response.done"===e||"response.completed"===e||"response.incomplete"===e){let e=t.response,r=e?{...e,status:function(e){if("string"==typeof e)return u.has(e)?e:void 0}(e.status)}:e;yield{...t,type:"response.completed",response:r};return}yield t}}}async function*w(e){if(!e.body)return;let t=e.body.getReader(),r=new TextDecoder,o="";try{for(;;){let{done:e,value:n}=await t.read();if(e)break;let s=(o+=r.decode(n,{stream:!0})).indexOf("\n\n");for(;-1!==s;){let e=o.slice(0,s);o=o.slice(s+2);let t=e.split("\n").filter(e=>e.startsWith("data:")).map(e=>e.slice(5).trim());if(t.length>0){let e=t.join("\n").trim();if(e&&"[DONE]"!==e)try{yield JSON.parse(e)}catch{}}s=o.indexOf("\n\n")}}}finally{try{await t.cancel()}catch{}try{t.releaseLock()}catch{}}}let b=new Map;function v(e){let t,r="number"==typeof(t=e.readyState)?t:void 0;return void 0===r||1===r}function E(e,t=1e3,r="done"){try{e.close(t,r)}catch{}}function x(e,t){t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=setTimeout(()=>{t.busy||(E(t.socket,1e3,"idle_timeout"),b.delete(e))},3e5)}async function k(e,t,r){let o,n="function"!=typeof(o=globalThis.WebSocket)?null:o;if(!n)throw Error("WebSocket transport is not available in this runtime");let s=function(e){let t={};for(let[r,o]of e.entries())t[r]=o;return t}(t);return delete s["OpenAI-Beta"],new Promise((t,o)=>{let i,a=!1;try{i=new n(e,{headers:s})}catch(e){o(e instanceof Error?e:Error(String(e)));return}let l=()=>{a||(a=!0,p(),t(i))},d=e=>{let t=S(e);a||(a=!0,p(),o(t))},c=e=>{let t=T(e);a||(a=!0,p(),o(t))},u=()=>{a||(a=!0,p(),i.close(1e3,"aborted"),o(Error("Request was aborted")))},p=()=>{i.removeEventListener("open",l),i.removeEventListener("error",d),i.removeEventListener("close",c),r?.removeEventListener("abort",u)};i.addEventListener("open",l),i.addEventListener("error",d),i.addEventListener("close",c),r?.addEventListener("abort",u)})}async function R(e,t,r,o){if(!r){let r=await k(e,t,o);return{socket:r,release:({keep:e}={})=>{E(r)}}}let n=b.get(r);if(n){if(n.idleTimer&&(clearTimeout(n.idleTimer),n.idleTimer=void 0),!n.busy&&v(n.socket))return n.busy=!0,{socket:n.socket,release:({keep:e}={})=>{if(!e||!v(n.socket)){E(n.socket),b.delete(r);return}n.busy=!1,x(r,n)}};if(n.busy){let r=await k(e,t,o);return{socket:r,release:()=>{E(r)}}}v(n.socket)||(E(n.socket),b.delete(r))}let s=await k(e,t,o),i={socket:s,busy:!0};return b.set(r,i),{socket:s,release:({keep:e}={})=>{if(!e||!v(i.socket)){E(i.socket),i.idleTimer&&clearTimeout(i.idleTimer),b.get(r)===i&&b.delete(r);return}i.busy=!1,x(r,i)}}}function S(e){if(e&&"object"==typeof e&&"message"in e){let t=e.message;if("string"==typeof t&&t.length>0)return Error(t)}return Error("WebSocket error")}function T(e){if(e&&"object"==typeof e){let t="code"in e?e.code:void 0,r="reason"in e?e.reason:void 0,o="number"==typeof t?` ${t}`:"",n="string"==typeof r&&r.length>0?` ${r}`:"";return Error(`WebSocket closed${o}${n}`.trim())}return Error("WebSocket closed")}async function _(e){if("string"==typeof e)return e;if(e instanceof ArrayBuffer)return new TextDecoder().decode(new Uint8Array(e));if(ArrayBuffer.isView(e))return new TextDecoder().decode(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e&&"object"==typeof e&&"arrayBuffer"in e){let t=await e.arrayBuffer();return new TextDecoder().decode(new Uint8Array(t))}return null}async function*I(e,t){let r=[],o=null,n=!1,s=null,i=!1,a=()=>{if(!o)return;let e=o;o=null,e()},l=e=>{(async()=>{if(!e||"object"!=typeof e||!("data"in e))return;let t=await _(e.data);if(t)try{let e=JSON.parse(t),o="string"==typeof e.type?e.type:"";("response.completed"===o||"response.done"===o||"response.incomplete"===o)&&(i=!0,n=!0),r.push(e),a()}catch{}})()},d=e=>{s=S(e),n=!0,a()},c=e=>{if(i){n=!0,a();return}s||(s=T(e)),n=!0,a()},u=()=>{s=Error("Request was aborted"),n=!0,a()};e.addEventListener("message",l),e.addEventListener("error",d),e.addEventListener("close",c),t?.addEventListener("abort",u);try{for(;;){if(t?.aborted)throw Error("Request was aborted");if(r.length>0){yield r.shift();continue}if(n)break;await new Promise(e=>{o=e})}if(s)throw s;if(!i)throw Error("WebSocket stream closed before response.completed")}finally{e.removeEventListener("message",l),e.removeEventListener("error",d),e.removeEventListener("close",c),t?.removeEventListener("abort",u)}}async function D(e,t,r,o,n,s,a,l){let{socket:d,release:c}=await R(e,r,l?.sessionId,l?.signal),u=!0;try{d.send(JSON.stringify({type:"response.create",...t})),a(),n.push({type:"start",partial:o}),await (0,i.KB)(g(I(d,l?.signal)),o,n,s),l?.signal?.aborted&&(u=!1)}catch(e){throw u=!1,e}finally{c({keep:u})}}async function L(e){let t,r=await e.text(),o=r||e.statusText||"Request failed";try{let n=JSON.parse(r),s=n?.error;if(s){let r=s.code||s.type||"";if(/usage_limit_reached|usage_not_included|rate_limit_exceeded/i.test(r)||429===e.status){let e=s.plan_type?` (${s.plan_type.toLowerCase()} plan)`:"",r=s.resets_at?Math.max(0,Math.round((1e3*s.resets_at-Date.now())/6e4)):void 0,o=void 0!==r?` Try again in ~${r} min.`:"";t=`You have hit your ChatGPT usage limit${e}.${o}`.trim()}o=s.message||t||o}}catch{}return{message:o,friendlyMessage:t}}function $(e,t,r,o){let n=new Headers(e);for(let[e,r]of Object.entries(t||{}))n.set(e,r);n.set("Authorization",`Bearer ${o}`),n.set("chatgpt-account-id",r),n.set("originator","pi");let s=d?`pi (${d.platform()} ${d.release()}; ${d.arch()})`:"pi (browser)";return n.set("User-Agent",s),n}},86015:(e,t,r)=>{r.d(t,{b:()=>o});function o(e,t,r){let o=new Map,n=e.map(e=>{if("user"===e.role)return e;if("toolResult"===e.role){let t=o.get(e.toolCallId);return t&&t!==e.toolCallId?{...e,toolCallId:t}:e}if("assistant"===e.role){let n=e.provider===t.provider&&e.api===t.api&&e.model===t.id,s=e.content.flatMap(s=>{if("thinking"===s.type)return s.redacted?n?s:[]:n&&s.thinkingSignature?s:s.thinking&&""!==s.thinking.trim()?n?s:{type:"text",text:s.thinking}:[];if("text"===s.type)return n?s:{type:"text",text:s.text};if("toolCall"===s.type){let i=s;if(!n&&s.thoughtSignature&&(i={...s},delete i.thoughtSignature),!n&&r){let n=r(s.id,t,e);n!==s.id&&(o.set(s.id,n),i={...i,id:n})}return i}return s});return{...e,content:s}}return e}),s=[],i=[],a=new Set;for(let e=0;e<n.length;e++){let t=n[e];if("assistant"===t.role){if(i.length>0){for(let e of i)a.has(e.id)||s.push({role:"toolResult",toolCallId:e.id,toolName:e.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});i=[],a=new Set}if("error"===t.stopReason||"aborted"===t.stopReason)continue;let e=t.content.filter(e=>"toolCall"===e.type);e.length>0&&(i=e,a=new Set),s.push(t)}else if("toolResult"===t.role)a.add(t.toolCallId),s.push(t);else if("user"===t.role){if(i.length>0){for(let e of i)a.has(e.id)||s.push({role:"toolResult",toolCallId:e.id,toolName:e.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});i=[],a=new Set}s.push(t)}else s.push(t)}return s}}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1384],{3590:(e,t,r)=>{function s(e){return{connected:e.filter(e=>e.present&&e.installed),detected:e.filter(e=>e.present&&!e.installed),notFound:e.filter(e=>!e.present)}}function n(e){return e.present&&e.installed?"connected":e.present?"detected":"notFound"}function i(e){return g(`${e.name} ${e.description}`)}function l(e){let t=[];return e.mcpRunning||t.push({id:"mcp-stopped",severity:"error",title:e.copy.riskMcpStopped}),e.detectedCount>0&&t.push({id:"detected-unconfigured",severity:"warn",title:e.copy.riskDetected(e.detectedCount)}),e.allSkillsDisabled&&t.push({id:"skills-disabled",severity:"warn",title:e.copy.riskSkillsDisabled}),t}function o(e){return new Set(e.filter(e=>!e.enabled&&"user"===e.source||0===e.description.trim().length).map(e=>e.name))}function a(e){let t=e.filter(e=>!e.ok).map(e=>e.skillName);return{total:e.length,succeeded:e.length-t.length,failed:t.length,failedSkills:t}}function d(e,t){let r=t.query.trim().toLowerCase();return e.filter(e=>{let s;return("all"===t.status||n(e)===t.status)&&("all"===t.transport||("stdio"===(s=(e.transport??e.preferredTransport??"").toLowerCase())||"http"===s?s:"other")===t.transport)&&(!r||`${e.name} ${e.key} ${e.configPath??""}`.toLowerCase().includes(r))})}function c(e){let t=e.filter(e=>!e.ok).length;return{total:e.length,succeeded:e.length-t,failed:t}}function u(e){let t=new Map;for(let r of e)for(let e of r.configuredMcpServers??[]){let s=t.get(e);s?s.push(r.name):t.set(e,[r.name])}return[...t.entries()].map(([e,t])=>({serverName:e,agents:t})).sort((e,t)=>t.agents.length-e.agents.length||e.serverName.localeCompare(t.serverName))}function p(e){let t=new Map;for(let r of e)for(let e of r.installedSkillNames??[]){let s=t.get(e);s?s.push(r.name):t.set(e,[r.name])}return[...t.entries()].map(([e,t])=>({skillName:e,agents:t})).sort((e,t)=>t.agents.length-e.agents.length||e.skillName.localeCompare(t.skillName))}r.d(t,{$2:()=>i,$t:()=>s,G9:()=>v,GU:()=>h,HL:()=>u,IK:()=>o,Ri:()=>y,ag:()=>f,fH:()=>d,gJ:()=>x,qC:()=>b,x3:()=>p,xJ:()=>c,xR:()=>a,yQ:()=>g,yv:()=>n,zK:()=>l});let m={connected:0,detected:1,notFound:2};function x(e){return[...e].sort((e,t)=>{let r=m[n(e)],s=m[n(t)];return r!==s?r-s:e.name.localeCompare(t.name)})}function b(e,t){let r=t.query.trim().toLowerCase();return e.filter(e=>("all"===t.source||e.source===t.source)&&(!r||`${e.name} ${e.description} ${e.path}`.toLowerCase().includes(r)))}function g(e){let t=e.toLowerCase();return t.includes("search")||t.includes("research")||t.includes("arxiv")||t.includes("paper")?"research":t.includes("doc")||t.includes("write")||t.includes("readme")||t.includes("copy")||t.includes("slide")||t.includes("ppt")?"docs":t.includes("deploy")||t.includes("ops")||t.includes("ci")||t.includes("ship")||t.includes("qa")||t.includes("review")||t.includes("test")?"ops":t.includes("memory")||t.includes("mind")||t.includes("handoff")||t.includes("session")?"memory":"coding"}function f(e,t){let r=new Set(e.map(e=>e.name)),s=new Map;for(let e of t)s.set(e.skillName,e.agents);let n=[];for(let t of e)n.push({name:t.name,kind:"mindos",mindosSkill:t,agents:s.get(t.name)??[],capability:i(t),enabled:t.enabled,source:t.source,description:t.description});for(let e of t)r.has(e.skillName)||n.push({name:e.skillName,kind:"native",agents:e.agents,capability:g(e.skillName),enabled:!0,source:"native",description:""});return n}function h(e){return{research:e.filter(e=>"research"===e.capability),coding:e.filter(e=>"coding"===e.capability),docs:e.filter(e=>"docs"===e.capability),ops:e.filter(e=>"ops"===e.capability),memory:e.filter(e=>"memory"===e.capability)}}function y(e,t){let r=t.query.trim().toLowerCase(),s=new Set(e.filter(e=>"mindos"===e.kind&&(!e.enabled&&"user"===e.source||0===e.description.trim().length)).map(e=>e.name));return e.filter(e=>("all"===t.source||("native"!==t.source||"native"===e.kind)&&("builtin"!==t.source||"builtin"===e.source)&&("user"!==t.source||"user"===e.source))&&("enabled"!==t.status||!!e.enabled)&&("disabled"!==t.status||!e.enabled)&&("attention"!==t.status||!!s.has(e.name))&&("all"===t.capability||e.capability===t.capability)&&(!r||!!`${e.name} ${e.description}`.toLowerCase().includes(r))&&!0)}function v(e,t){return e.filter(e=>"mindos"===e.kind&&e.enabled!==t).map(e=>e.name)}},6296:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},33591:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]])},35550:(e,t,r)=>{r.d(t,{A:()=>C});var s=r(95155),n=r(12115),i=r(61878),l=r(33591),o=r(48368),a=r(15573),d=r(97810),c=r(53961),u=r(33210),p=r(51914),m=r(67635),x=r(6296),b=r(66088);let g=(0,r(90425).A)("toggle-left",[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]]);var f=r(68459),h=r(22356),y=r(7834),v=r(4235),j=r(20171),k=r(39498),N=r(3590);let w={research:i.A,coding:l.A,docs:o.A,ops:a.A,memory:d.A};function $({text:e,className:t=""}){let r=(0,n.useMemo)(()=>{let t;return(t=(t=e.replace(/```(\w*)\n([\s\S]*?)```/g,(e,t,r)=>`<pre><code>${r.trimEnd().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}</code></pre>`).replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^#### (.+)$/gm,"<h4>$1</h4>").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^---$/gm,"<hr/>").replace(/^- (.+)$/gm,"<li>$1</li>").replace(/^\* (.+)$/gm,"<li>$1</li>").replace(/^\d+\. (.+)$/gm,"<li>$1</li>")).replace(/((?:<li>.*<\/li>\n?)+)/g,"<ul>$1</ul>")).split("\n").map(e=>{let t=e.trim();return t?/^<(h[1-4]|ul|ol|li|pre|hr|div|p|blockquote)/.test(t)?e:`<p>${t}</p>`:""}).join("\n")},[e]);return(0,s.jsx)("div",{className:`prose prose-sm prose-invert max-w-none
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8663],{3590:(e,t,r)=>{function s(e){return{connected:e.filter(e=>e.present&&e.installed),detected:e.filter(e=>e.present&&!e.installed),notFound:e.filter(e=>!e.present)}}function n(e){return e.present&&e.installed?"connected":e.present?"detected":"notFound"}function i(e){return g(`${e.name} ${e.description}`)}function l(e){let t=[];return e.mcpRunning||t.push({id:"mcp-stopped",severity:"error",title:e.copy.riskMcpStopped}),e.detectedCount>0&&t.push({id:"detected-unconfigured",severity:"warn",title:e.copy.riskDetected(e.detectedCount)}),e.allSkillsDisabled&&t.push({id:"skills-disabled",severity:"warn",title:e.copy.riskSkillsDisabled}),t}function a(e){return new Set(e.filter(e=>!e.enabled&&"user"===e.source||0===e.description.trim().length).map(e=>e.name))}function o(e){let t=e.filter(e=>!e.ok).map(e=>e.skillName);return{total:e.length,succeeded:e.length-t.length,failed:t.length,failedSkills:t}}function d(e,t){let r=t.query.trim().toLowerCase();return e.filter(e=>{let s;return("all"===t.status||n(e)===t.status)&&("all"===t.transport||("stdio"===(s=(e.transport??e.preferredTransport??"").toLowerCase())||"http"===s?s:"other")===t.transport)&&(!r||`${e.name} ${e.key} ${e.configPath??""}`.toLowerCase().includes(r))})}function c(e){let t=e.filter(e=>!e.ok).length;return{total:e.length,succeeded:e.length-t,failed:t}}function u(e){let t=new Map;for(let r of e)for(let e of r.configuredMcpServers??[]){let s=t.get(e);s?s.push(r.name):t.set(e,[r.name])}return[...t.entries()].map(([e,t])=>({serverName:e,agents:t})).sort((e,t)=>t.agents.length-e.agents.length||e.serverName.localeCompare(t.serverName))}function p(e){let t=new Map;for(let r of e)for(let e of r.installedSkillNames??[]){let s=t.get(e);s?s.push(r.name):t.set(e,[r.name])}return[...t.entries()].map(([e,t])=>({skillName:e,agents:t})).sort((e,t)=>t.agents.length-e.agents.length||e.skillName.localeCompare(t.skillName))}r.d(t,{$2:()=>i,$t:()=>s,G9:()=>v,GU:()=>f,HL:()=>u,IK:()=>a,Ri:()=>y,ag:()=>h,fH:()=>d,gJ:()=>x,qC:()=>b,x3:()=>p,xJ:()=>c,xR:()=>o,yQ:()=>g,yv:()=>n,zK:()=>l});let m={connected:0,detected:1,notFound:2};function x(e){return[...e].sort((e,t)=>{let r=m[n(e)],s=m[n(t)];return r!==s?r-s:e.name.localeCompare(t.name)})}function b(e,t){let r=t.query.trim().toLowerCase();return e.filter(e=>("all"===t.source||e.source===t.source)&&(!r||`${e.name} ${e.description} ${e.path}`.toLowerCase().includes(r)))}function g(e){let t=e.toLowerCase();return t.includes("search")||t.includes("research")||t.includes("arxiv")||t.includes("paper")?"research":t.includes("doc")||t.includes("write")||t.includes("readme")||t.includes("copy")||t.includes("slide")||t.includes("ppt")?"docs":t.includes("deploy")||t.includes("ops")||t.includes("ci")||t.includes("ship")||t.includes("qa")||t.includes("review")||t.includes("test")?"ops":t.includes("memory")||t.includes("mind")||t.includes("handoff")||t.includes("session")?"memory":"coding"}function h(e,t){let r=new Set(e.map(e=>e.name)),s=new Map;for(let e of t)s.set(e.skillName,e.agents);let n=[];for(let t of e)n.push({name:t.name,kind:"mindos",mindosSkill:t,agents:s.get(t.name)??[],capability:i(t),enabled:t.enabled,source:t.source,description:t.description});for(let e of t)r.has(e.skillName)||n.push({name:e.skillName,kind:"native",agents:e.agents,capability:g(e.skillName),enabled:!0,source:"native",description:""});return n}function f(e){return{research:e.filter(e=>"research"===e.capability),coding:e.filter(e=>"coding"===e.capability),docs:e.filter(e=>"docs"===e.capability),ops:e.filter(e=>"ops"===e.capability),memory:e.filter(e=>"memory"===e.capability)}}function y(e,t){let r=t.query.trim().toLowerCase(),s=new Set(e.filter(e=>"mindos"===e.kind&&(!e.enabled&&"user"===e.source||0===e.description.trim().length)).map(e=>e.name));return e.filter(e=>("all"===t.source||("native"!==t.source||"native"===e.kind)&&("builtin"!==t.source||"builtin"===e.source)&&("user"!==t.source||"user"===e.source))&&("enabled"!==t.status||!!e.enabled)&&("disabled"!==t.status||!e.enabled)&&("attention"!==t.status||!!s.has(e.name))&&("all"===t.capability||e.capability===t.capability)&&(!r||!!`${e.name} ${e.description}`.toLowerCase().includes(r))&&!0)}function v(e,t){return e.filter(e=>"mindos"===e.kind&&e.enabled!==t).map(e=>e.name)}},6296:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},10762:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]])},12651:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},33591:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]])},35550:(e,t,r)=>{r.d(t,{A:()=>C});var s=r(95155),n=r(12115),i=r(61878),l=r(33591),a=r(48368),o=r(15573),d=r(97810),c=r(53961),u=r(33210),p=r(51914),m=r(67635),x=r(6296),b=r(66088);let g=(0,r(90425).A)("toggle-left",[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]]);var h=r(68459),f=r(22356),y=r(7834),v=r(4235),j=r(20171),k=r(39498),N=r(3590);let w={research:i.A,coding:l.A,docs:a.A,ops:o.A,memory:d.A};function $({text:e,className:t=""}){let r=(0,n.useMemo)(()=>{let t;return(t=(t=e.replace(/```(\w*)\n([\s\S]*?)```/g,(e,t,r)=>`<pre><code>${r.trimEnd().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}</code></pre>`).replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^#### (.+)$/gm,"<h4>$1</h4>").replace(/^### (.+)$/gm,"<h3>$1</h3>").replace(/^## (.+)$/gm,"<h2>$1</h2>").replace(/^# (.+)$/gm,"<h1>$1</h1>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/\*(.+?)\*/g,"<em>$1</em>").replace(/^---$/gm,"<hr/>").replace(/^- (.+)$/gm,"<li>$1</li>").replace(/^\* (.+)$/gm,"<li>$1</li>").replace(/^\d+\. (.+)$/gm,"<li>$1</li>")).replace(/((?:<li>.*<\/li>\n?)+)/g,"<ul>$1</ul>")).split("\n").map(e=>{let t=e.trim();return t?/^<(h[1-4]|ul|ol|li|pre|hr|div|p|blockquote)/.test(t)?e:`<p>${t}</p>`:""}).join("\n")},[e]);return(0,s.jsx)("div",{className:`prose prose-sm prose-invert max-w-none
2
2
  prose-headings:text-foreground prose-headings:font-semibold prose-headings:mt-4 prose-headings:mb-2
3
3
  prose-h1:text-sm prose-h2:text-xs prose-h3:text-xs
4
4
  prose-p:text-xs prose-p:text-foreground/80 prose-p:leading-relaxed prose-p:my-1.5
@@ -8,4 +8,4 @@
8
8
  prose-pre:bg-muted/30 prose-pre:border prose-pre:border-border/50 prose-pre:rounded-lg prose-pre:p-3 prose-pre:text-2xs prose-pre:overflow-x-auto
9
9
  prose-ul:my-1 prose-ol:my-1
10
10
  prose-hr:border-border/30 prose-hr:my-3
11
- ${t}`,dangerouslySetInnerHTML:{__html:r}})}function C({open:e,skillName:t,skill:r,agentNames:i=[],allAgentNames:l=[],isNative:o=!1,nativeSourcePath:a,copy:d,onClose:C,onToggle:z,onDelete:M,onRefresh:L,onAddAgent:T,onRemoveAgent:E}){let q,D,[F,H]=(0,n.useState)(null),[_,R]=(0,n.useState)(""),[I,J]=(0,n.useState)(!1),[O,P]=(0,n.useState)(!1),[K,Q]=(0,n.useState)(!1),[G,U]=(0,n.useState)(!1),[V,B]=(0,n.useState)(null),[W,X]=(0,n.useState)(!1),[Y,Z]=(0,n.useState)(!1),[ee,et]=(0,n.useState)(!1),er=(0,n.useCallback)(async()=>{if(t){J(!0),P(!1);try{if(o&&a){let e=await (0,h.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read-native",name:t,sourcePath:a})});H(e.content),R(e.description||"")}else if(!o){let e=await (0,h.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read",name:t})});H(e.content)}}catch{P(!0)}finally{J(!1)}}},[t,o,a]);(0,n.useEffect)(()=>{e&&t&&(H(null),R(""),P(!1),B(null),U(!1),X(!1),Z(!1),et(!1),er())},[e,t,er]),(0,n.useEffect)(()=>{if(e)return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t);function t(e){"Escape"===e.key&&C()}},[e,C]);let es=(0,n.useCallback)(async()=>{!F||await (0,y.l)(F)&&v.oR.copy()},[F]),en=(0,n.useCallback)(async e=>{if(t&&z){X(!0);try{await z(t,e)}finally{X(!1)}}},[t,z]),ei=(0,n.useCallback)(async()=>{if(t&&M){Q(!1),U(!0);try{await M(t),B(d.deleted),await L?.(),setTimeout(()=>C(),800)}catch{B(d.deleteFailed),U(!1)}}},[t,M,L,C,d.deleted,d.deleteFailed]);if(!e||!t)return null;let el=r?(0,N.yQ)(`${r.name} ${r.description}`):(0,N.yQ)(t),eo=w[el]??c.A,ea=r?.source==="user",ed=o?d.sourceNative:r?.source==="builtin"?d.sourceBuiltin:d.sourceUser,ec=r?.description||_||"",eu=r?.path||(o&&a?`${a}/${t}/SKILL.md`:""),ep=F?(q=F,(D=F.match(/^---\n[\s\S]*?\n---\n?/))&&(q=F.slice(D[0].length).trim()),{triggerConditions:ec||"",instructions:q}):null,em=l.filter(e=>!i.includes(e));return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-40 overlay-backdrop",onClick:C,"aria-hidden":"true"}),(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":t,className:"fixed right-0 top-0 z-50 h-full w-full max-w-md border-l border-border bg-card shadow-2xl flex flex-col animate-in slide-in-from-right duration-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 px-5 py-4 border-b border-border/60 bg-gradient-to-r from-card to-card/80 shrink-0",children:[(0,s.jsx)("div",{className:"w-9 h-9 rounded-xl bg-[var(--amber)]/[0.08] flex items-center justify-center text-[var(--amber)] shrink-0",children:(0,s.jsx)(eo,{size:18})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-foreground truncate",children:t}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,s.jsx)("span",{className:`text-2xs px-2 py-0.5 rounded-full font-medium select-none ${o||r?.source==="builtin"?"bg-muted text-muted-foreground":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:ed}),(0,s.jsx)("span",{className:"text-2xs text-muted-foreground/60 capitalize",children:el})]})]}),(0,s.jsx)("button",{type:"button",onClick:C,className:"shrink-0 p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":d.close,children:(0,s.jsx)(u.A,{size:16})})]}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-5",children:[ec&&(0,s.jsxs)("section",{children:[(0,s.jsx)(A,{label:"Trigger Conditions"}),(0,s.jsx)("div",{className:"rounded-lg border border-border/40 bg-muted/[0.03] p-3.5",children:(0,s.jsx)("p",{className:"text-xs text-foreground/80 leading-relaxed whitespace-pre-wrap",children:ec})})]}),!ec&&!o&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:d.noDescription}),(0,s.jsx)("section",{children:(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[!o&&r&&(0,s.jsx)(S,{label:d.enabled,value:r.enabled?"✓":"—",tone:r.enabled?"ok":"muted"}),(0,s.jsx)(S,{label:d.capability,value:el}),(0,s.jsx)(S,{label:d.source,value:ed}),(0,s.jsx)(S,{label:d.agents,value:String(i.length)})]})}),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)(A,{label:d.agents,noMargin:!0}),T&&em.length>0&&(0,s.jsxs)("button",{type:"button",onClick:()=>Z(!Y),className:"inline-flex items-center gap-1 text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer",children:[(0,s.jsx)(p.A,{size:12}),(0,s.jsx)("span",{children:"Add"})]})]}),Y&&em.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2 p-2 rounded-lg border border-dashed border-[var(--amber)]/30 bg-[var(--amber)]/[0.03]",children:em.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>{T?.(t,e),Z(!1)},className:"inline-flex items-center gap-1 px-2 py-1 text-2xs rounded-md border border-border bg-card hover:bg-muted cursor-pointer transition-colors",children:[(0,s.jsx)(p.A,{size:10,className:"text-[var(--amber)]"}),(0,s.jsx)("span",{className:"text-foreground/80",children:e})]},e))}),i.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:i.map(e=>(0,s.jsx)(k.lx,{name:e,size:"sm",onRemove:E?()=>E(t,e):void 0},e))}):(0,s.jsx)("div",{className:"rounded-lg border border-dashed border-border p-3 text-center",children:(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:d.noAgents})})]}),(null!==F||I||O)&&(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)(A,{label:"Instructions",noMargin:!0}),(0,s.jsx)("div",{className:"flex items-center gap-2",children:F&&(0,s.jsxs)("button",{type:"button",onClick:es,className:"inline-flex items-center gap-1 text-2xs text-muted-foreground hover:text-foreground cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded px-1.5 py-0.5","aria-label":d.copyContent,children:[(0,s.jsx)(m.A,{size:11}),d.copyContent]})})]}),I&&(0,s.jsxs)("div",{className:"rounded-lg border border-border bg-background p-6 flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(x.A,{size:14,className:"animate-spin"}),d.loading]}),O&&(0,s.jsxs)("div",{className:"rounded-lg border border-destructive/20 bg-destructive/[0.03] p-4 text-center space-y-2",children:[(0,s.jsx)("p",{className:"text-sm text-destructive",children:d.loadFailed}),(0,s.jsx)("button",{type:"button",onClick:er,className:"text-xs text-foreground underline hover:no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",children:d.retry})]}),ep&&!I&&!O&&(0,s.jsx)("div",{className:`rounded-lg border border-border/50 bg-muted/[0.02] p-4 overflow-hidden transition-all duration-200 ${!ee?"max-h-60":""}`,children:(0,s.jsx)($,{text:ep.instructions})}),ep&&!I&&!O&&ep.instructions.split("\n").length>15&&(0,s.jsxs)("button",{type:"button",onClick:()=>et(!ee),className:"inline-flex items-center gap-1 mt-2 text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer",children:[(0,s.jsx)(b.A,{size:12,className:`transition-transform duration-200 ${ee?"rotate-180":""}`}),(0,s.jsx)("span",{children:ee?"Collapse":"View All"})]})]}),eu&&(0,s.jsxs)("section",{children:[(0,s.jsx)(A,{label:d.path}),(0,s.jsx)("div",{className:"rounded-lg border border-border/50 bg-muted/[0.03] p-3",children:(0,s.jsx)("code",{className:"text-2xs text-foreground/60 font-mono break-all leading-relaxed",children:eu})})]}),V&&(0,s.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:V})]}),!o&&r&&(0,s.jsxs)("div",{className:"shrink-0 border-t border-border px-5 py-3 flex items-center gap-2",children:[z&&(0,s.jsxs)("div",{className:"flex items-center gap-2 mr-auto",children:[(0,s.jsx)(g,{size:14,className:"text-muted-foreground","aria-hidden":"true"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r.enabled?d.enabled:d.disabled}),(0,s.jsx)(j.lM,{size:"sm",checked:r.enabled,onChange:e=>void en(e),disabled:W})]}),ea&&M&&(0,s.jsxs)("button",{type:"button",onClick:()=>Q(!0),disabled:G,className:"inline-flex items-center gap-1.5 px-2.5 min-h-[32px] text-xs rounded-md border border-destructive/30 text-destructive hover:bg-destructive/10 cursor-pointer disabled:opacity-50 transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[G?(0,s.jsx)(x.A,{size:12,className:"animate-spin"}):(0,s.jsx)(f.A,{size:12}),d.deleteSkill]})]})]}),(0,s.jsx)(k.TM,{open:K,title:d.confirmDeleteTitle,message:t?d.confirmDeleteMessage(t):"",confirmLabel:d.confirmDeleteAction,cancelLabel:d.cancelAction,onConfirm:()=>void ei(),onCancel:()=>Q(!1),variant:"destructive"})]})}function A({label:e,noMargin:t}){return(0,s.jsx)("h3",{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider ${t?"":"mb-2"}`,children:e})}function S({label:e,value:t,tone:r="default"}){return(0,s.jsxs)("div",{className:"rounded-xl border border-border/50 bg-muted/[0.03] px-3.5 py-3 hover:bg-muted/[0.06] transition-colors duration-100",children:[(0,s.jsx)("span",{className:"text-2xs text-muted-foreground/60 block mb-1 uppercase tracking-wider",children:e}),(0,s.jsx)("span",{className:`text-sm font-semibold capitalize ${"ok"===r?"text-[var(--success)]":"muted"===r?"text-muted-foreground":"text-foreground"}`,children:t})]})}},48368:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},73035:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]])}}]);
11
+ ${t}`,dangerouslySetInnerHTML:{__html:r}})}function C({open:e,skillName:t,skill:r,agentNames:i=[],allAgentNames:l=[],isNative:a=!1,nativeSourcePath:o,copy:d,onClose:C,onToggle:z,onDelete:M,onRefresh:L,onAddAgent:T,onRemoveAgent:E}){let q,D,[F,H]=(0,n.useState)(null),[_,R]=(0,n.useState)(""),[I,J]=(0,n.useState)(!1),[O,P]=(0,n.useState)(!1),[K,Q]=(0,n.useState)(!1),[G,U]=(0,n.useState)(!1),[V,B]=(0,n.useState)(null),[W,X]=(0,n.useState)(!1),[Y,Z]=(0,n.useState)(!1),[ee,et]=(0,n.useState)(!1),er=(0,n.useCallback)(async()=>{if(t){J(!0),P(!1);try{if(a&&o){let e=await (0,f.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read-native",name:t,sourcePath:o})});H(e.content),R(e.description||"")}else if(!a){let e=await (0,f.n)("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"read",name:t})});H(e.content)}}catch{P(!0)}finally{J(!1)}}},[t,a,o]);(0,n.useEffect)(()=>{e&&t&&(H(null),R(""),P(!1),B(null),U(!1),X(!1),Z(!1),et(!1),er())},[e,t,er]),(0,n.useEffect)(()=>{if(e)return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t);function t(e){"Escape"===e.key&&C()}},[e,C]);let es=(0,n.useCallback)(async()=>{!F||await (0,y.l)(F)&&v.oR.copy()},[F]),en=(0,n.useCallback)(async e=>{if(t&&z){X(!0);try{await z(t,e)}finally{X(!1)}}},[t,z]),ei=(0,n.useCallback)(async()=>{if(t&&M){Q(!1),U(!0);try{await M(t),B(d.deleted),await L?.(),setTimeout(()=>C(),800)}catch{B(d.deleteFailed),U(!1)}}},[t,M,L,C,d.deleted,d.deleteFailed]);if(!e||!t)return null;let el=r?(0,N.yQ)(`${r.name} ${r.description}`):(0,N.yQ)(t),ea=w[el]??c.A,eo=r?.source==="user",ed=a?d.sourceNative:r?.source==="builtin"?d.sourceBuiltin:d.sourceUser,ec=r?.description||_||"",eu=r?.path||(a&&o?`${o}/${t}/SKILL.md`:""),ep=F?(q=F,(D=F.match(/^---\n[\s\S]*?\n---\n?/))&&(q=F.slice(D[0].length).trim()),{triggerConditions:ec||"",instructions:q}):null,em=l.filter(e=>!i.includes(e));return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"fixed inset-0 z-40 overlay-backdrop",onClick:C,"aria-hidden":"true"}),(0,s.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":t,className:"fixed right-0 top-0 z-50 h-full w-full max-w-md border-l border-border bg-card shadow-2xl flex flex-col animate-in slide-in-from-right duration-200",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3 px-5 py-4 border-b border-border/60 bg-gradient-to-r from-card to-card/80 shrink-0",children:[(0,s.jsx)("div",{className:"w-9 h-9 rounded-xl bg-[var(--amber)]/[0.08] flex items-center justify-center text-[var(--amber)] shrink-0",children:(0,s.jsx)(ea,{size:18})}),(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("h2",{className:"text-sm font-semibold text-foreground truncate",children:t}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,s.jsx)("span",{className:`text-2xs px-2 py-0.5 rounded-full font-medium select-none ${a||r?.source==="builtin"?"bg-muted text-muted-foreground":"bg-[var(--amber-dim)] text-[var(--amber-text)]"}`,children:ed}),(0,s.jsx)("span",{className:"text-2xs text-muted-foreground/60 capitalize",children:el})]})]}),(0,s.jsx)("button",{type:"button",onClick:C,className:"shrink-0 p-1.5 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":d.close,children:(0,s.jsx)(u.A,{size:16})})]}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-5",children:[ec&&(0,s.jsxs)("section",{children:[(0,s.jsx)(A,{label:"Trigger Conditions"}),(0,s.jsx)("div",{className:"rounded-lg border border-border/40 bg-muted/[0.03] p-3.5",children:(0,s.jsx)("p",{className:"text-xs text-foreground/80 leading-relaxed whitespace-pre-wrap",children:ec})})]}),!ec&&!a&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:d.noDescription}),(0,s.jsx)("section",{children:(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[!a&&r&&(0,s.jsx)(S,{label:d.enabled,value:r.enabled?"✓":"—",tone:r.enabled?"ok":"muted"}),(0,s.jsx)(S,{label:d.capability,value:el}),(0,s.jsx)(S,{label:d.source,value:ed}),(0,s.jsx)(S,{label:d.agents,value:String(i.length)})]})}),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)(A,{label:d.agents,noMargin:!0}),T&&em.length>0&&(0,s.jsxs)("button",{type:"button",onClick:()=>Z(!Y),className:"inline-flex items-center gap-1 text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer",children:[(0,s.jsx)(p.A,{size:12}),(0,s.jsx)("span",{children:"Add"})]})]}),Y&&em.length>0&&(0,s.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2 p-2 rounded-lg border border-dashed border-[var(--amber)]/30 bg-[var(--amber)]/[0.03]",children:em.map(e=>(0,s.jsxs)("button",{type:"button",onClick:()=>{T?.(t,e),Z(!1)},className:"inline-flex items-center gap-1 px-2 py-1 text-2xs rounded-md border border-border bg-card hover:bg-muted cursor-pointer transition-colors",children:[(0,s.jsx)(p.A,{size:10,className:"text-[var(--amber)]"}),(0,s.jsx)("span",{className:"text-foreground/80",children:e})]},e))}),i.length>0?(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:i.map(e=>(0,s.jsx)(k.lx,{name:e,size:"sm",onRemove:E?()=>E(t,e):void 0},e))}):(0,s.jsx)("div",{className:"rounded-lg border border-dashed border-border p-3 text-center",children:(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:d.noAgents})})]}),(null!==F||I||O)&&(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)(A,{label:"Instructions",noMargin:!0}),(0,s.jsx)("div",{className:"flex items-center gap-2",children:F&&(0,s.jsxs)("button",{type:"button",onClick:es,className:"inline-flex items-center gap-1 text-2xs text-muted-foreground hover:text-foreground cursor-pointer transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded px-1.5 py-0.5","aria-label":d.copyContent,children:[(0,s.jsx)(m.A,{size:11}),d.copyContent]})})]}),I&&(0,s.jsxs)("div",{className:"rounded-lg border border-border bg-background p-6 flex items-center justify-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(x.A,{size:14,className:"animate-spin"}),d.loading]}),O&&(0,s.jsxs)("div",{className:"rounded-lg border border-destructive/20 bg-destructive/[0.03] p-4 text-center space-y-2",children:[(0,s.jsx)("p",{className:"text-sm text-destructive",children:d.loadFailed}),(0,s.jsx)("button",{type:"button",onClick:er,className:"text-xs text-foreground underline hover:no-underline cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",children:d.retry})]}),ep&&!I&&!O&&(0,s.jsx)("div",{className:`rounded-lg border border-border/50 bg-muted/[0.02] p-4 overflow-hidden transition-all duration-200 ${!ee?"max-h-60":""}`,children:(0,s.jsx)($,{text:ep.instructions})}),ep&&!I&&!O&&ep.instructions.split("\n").length>15&&(0,s.jsxs)("button",{type:"button",onClick:()=>et(!ee),className:"inline-flex items-center gap-1 mt-2 text-2xs font-medium text-[var(--amber)] hover:opacity-80 transition-opacity cursor-pointer",children:[(0,s.jsx)(b.A,{size:12,className:`transition-transform duration-200 ${ee?"rotate-180":""}`}),(0,s.jsx)("span",{children:ee?"Collapse":"View All"})]})]}),eu&&(0,s.jsxs)("section",{children:[(0,s.jsx)(A,{label:d.path}),(0,s.jsx)("div",{className:"rounded-lg border border-border/50 bg-muted/[0.03] p-3",children:(0,s.jsx)("code",{className:"text-2xs text-foreground/60 font-mono break-all leading-relaxed",children:eu})})]}),V&&(0,s.jsx)("div",{role:"status","aria-live":"polite",className:"rounded-md border border-border bg-muted/50 px-3 py-2 text-xs text-muted-foreground animate-in fade-in duration-200",children:V})]}),!a&&r&&(0,s.jsxs)("div",{className:"shrink-0 border-t border-border px-5 py-3 flex items-center gap-2",children:[z&&(0,s.jsxs)("div",{className:"flex items-center gap-2 mr-auto",children:[(0,s.jsx)(g,{size:14,className:"text-muted-foreground","aria-hidden":"true"}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r.enabled?d.enabled:d.disabled}),(0,s.jsx)(j.lM,{size:"sm",checked:r.enabled,onChange:e=>void en(e),disabled:W})]}),eo&&M&&(0,s.jsxs)("button",{type:"button",onClick:()=>Q(!0),disabled:G,className:"inline-flex items-center gap-1.5 px-2.5 min-h-[32px] text-xs rounded-md border border-destructive/30 text-destructive hover:bg-destructive/10 cursor-pointer disabled:opacity-50 transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",children:[G?(0,s.jsx)(x.A,{size:12,className:"animate-spin"}):(0,s.jsx)(h.A,{size:12}),d.deleteSkill]})]})]}),(0,s.jsx)(k.TM,{open:K,title:d.confirmDeleteTitle,message:t?d.confirmDeleteMessage(t):"",confirmLabel:d.confirmDeleteAction,cancelLabel:d.cancelAction,onConfirm:()=>void ei(),onCancel:()=>Q(!1),variant:"destructive"})]})}function A({label:e,noMargin:t}){return(0,s.jsx)("h3",{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wider ${t?"":"mb-2"}`,children:e})}function S({label:e,value:t,tone:r="default"}){return(0,s.jsxs)("div",{className:"rounded-xl border border-border/50 bg-muted/[0.03] px-3.5 py-3 hover:bg-muted/[0.06] transition-colors duration-100",children:[(0,s.jsx)("span",{className:"text-2xs text-muted-foreground/60 block mb-1 uppercase tracking-wider",children:e}),(0,s.jsx)("span",{className:`text-sm font-semibold capitalize ${"ok"===r?"text-[var(--success)]":"muted"===r?"text-muted-foreground":"text-foreground"}`,children:t})]})}},48368:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},73035:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]])},93219:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(90425).A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]])}}]);
@@ -0,0 +1,28 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9300],{2356:(e,t,s)=>{s.d(t,{J:()=>n});function n(e){return e.replace(/[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?<![\uD800-\uDBFF])[\uDC00-\uDFFF]/g,"")}},47529:(e,t,s)=>{function n(e){return e.some(e=>!!("user"===e.role&&Array.isArray(e.content)||"toolResult"===e.role&&Array.isArray(e.content))&&e.content.some(e=>"image"===e.type))}function r(e){var t;let s,n={"X-Initiator":(s=(t=e.messages)[t.length-1])&&"user"!==s.role?"agent":"user","Openai-Intent":"conversation-edits"};return e.hasImages&&(n["Copilot-Vision-Request"]="true"),n}s.d(t,{G0:()=>r,d1:()=>n})},60353:(e,t,s)=>{function n(e,t,s){return{temperature:t?.temperature,maxTokens:t?.maxTokens||Math.min(e.maxTokens,32e3),signal:t?.signal,apiKey:s||t?.apiKey,cacheRetention:t?.cacheRetention,sessionId:t?.sessionId,headers:t?.headers,onPayload:t?.onPayload,maxRetryDelayMs:t?.maxRetryDelayMs,metadata:t?.metadata}}function r(e){return"xhigh"===e?"high":e}function i(e,t,s,n){let i={minimal:1024,low:2048,medium:8192,high:16384,...n}[r(s)],a=Math.min(e+i,t);return a<=i&&(i=Math.max(0,a-1024)),{maxTokens:a,thinkingBudget:i}}s.d(t,{M7:()=>r,QP:()=>n,xw:()=>i})},79300:(e,t,s)=>{let n,r,i;function a(e,t,s,n,r){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!r)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?r.call(e,s):r?r.value=s:t.set(e,s),s}function o(e,t,s,n){if("a"===s&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?n:"a"===s?n.call(e):n?n.value:t.get(e)}s.r(t),s.d(t,{streamAnthropic:()=>s_,streamSimpleAnthropic:()=>sv});let l=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return l=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),s=e?()=>e.getRandomValues(t)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(e^s()&15>>e/4).toString(16))};function u(e){return"object"==typeof e&&null!==e&&("name"in e&&"AbortError"===e.name||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}let h=e=>{if(e instanceof Error)return e;if("object"==typeof e&&null!==e){try{if("[object Error]"===Object.prototype.toString.call(e)){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)};class c extends Error{}class d extends c{constructor(e,t,s,n){super(`${d.makeMessage(e,t,s)}`),this.status=e,this.headers=n,this.requestID=n?.get("request-id"),this.error=t}static makeMessage(e,t,s){let n=t?.message?"string"==typeof t.message?t.message:JSON.stringify(t.message):t?JSON.stringify(t):s;return e&&n?`${e} ${n}`:e?`${e} status code (no body)`:n||"(no status code or body)"}static generate(e,t,s,n){return e&&n?400===e?new m(e,t,s,n):401===e?new y(e,t,s,n):403===e?new b(e,t,s,n):404===e?new w(e,t,s,n):409===e?new _(e,t,s,n):422===e?new k(e,t,s,n):429===e?new v(e,t,s,n):e>=500?new x(e,t,s,n):new d(e,t,s,n):new f({message:s,cause:h(t)})}}class p extends d{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class f extends d{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class g extends f{constructor({message:e}={}){super({message:e??"Request timed out."})}}class m extends d{}class y extends d{}class b extends d{}class w extends d{}class _ extends d{}class k extends d{}class v extends d{}class x extends d{}let S=/^[a-z][a-z0-9+.-]*:/i,R=e=>(R=Array.isArray)(e),M=R;function T(e){return"object"!=typeof e?{}:e??{}}let P=e=>{try{return JSON.parse(e)}catch(e){return}},A="0.73.0",E=e=>"x32"===e?"x32":"x86_64"===e||"x64"===e?"x64":"arm"===e?"arm":"aarch64"===e||"arm64"===e?"arm64":e?`other:${e}`:"unknown",$=e=>(e=e.toLowerCase()).includes("ios")?"iOS":"android"===e?"Android":"darwin"===e?"MacOS":"win32"===e?"Windows":"freebsd"===e?"FreeBSD":"openbsd"===e?"OpenBSD":"linux"===e?"Linux":e?`Other:${e}`:"Unknown";function I(...e){let t=globalThis.ReadableStream;if(void 0===t)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function O(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return I({start(){},async pull(e){let{done:s,value:n}=await t.next();s?e.close():e.enqueue(n)},async cancel(){await t.return?.()}})}function j(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function W(e){if(null===e||"object"!=typeof e)return;if(e[Symbol.asyncIterator])return void await e[Symbol.asyncIterator]().return?.();let t=e.getReader(),s=t.cancel();t.releaseLock(),await s}let C=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)});function N(e){let t;return(r??(r=(t=new globalThis.TextEncoder).encode.bind(t)))(e)}function q(e){let t;return(i??(i=(t=new globalThis.TextDecoder).decode.bind(t)))(e)}class L{constructor(){ts.set(this,void 0),tn.set(this,void 0),a(this,ts,new Uint8Array,"f"),a(this,tn,null,"f")}decode(e){let t;if(null==e)return[];let s=e instanceof ArrayBuffer?new Uint8Array(e):"string"==typeof e?N(e):e;a(this,ts,function(e){let t=0;for(let s of e)t+=s.length;let s=new Uint8Array(t),n=0;for(let t of e)s.set(t,n),n+=t.length;return s}([o(this,ts,"f"),s]),"f");let n=[];for(;null!=(t=function(e,t){for(let s=t??0;s<e.length;s++){if(10===e[s])return{preceding:s,index:s+1,carriage:!1};if(13===e[s])return{preceding:s,index:s+1,carriage:!0}}return null}(o(this,ts,"f"),o(this,tn,"f")));){if(t.carriage&&null==o(this,tn,"f")){a(this,tn,t.index,"f");continue}if(null!=o(this,tn,"f")&&(t.index!==o(this,tn,"f")+1||t.carriage)){n.push(q(o(this,ts,"f").subarray(0,o(this,tn,"f")-1))),a(this,ts,o(this,ts,"f").subarray(o(this,tn,"f")),"f"),a(this,tn,null,"f");continue}let e=null!==o(this,tn,"f")?t.preceding-1:t.preceding,s=q(o(this,ts,"f").subarray(0,e));n.push(s),a(this,ts,o(this,ts,"f").subarray(t.index),"f"),a(this,tn,null,"f")}return n}flush(){return o(this,ts,"f").length?this.decode("\n"):[]}}ts=new WeakMap,tn=new WeakMap,L.NEWLINE_CHARS=new Set(["\n","\r"]),L.NEWLINE_REGEXP=/\r\n|[\n\r]/g;let U={off:0,error:200,warn:300,info:400,debug:500},D=(e,t,s)=>{if(e){if(Object.prototype.hasOwnProperty.call(U,e))return e;H(s).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(U))}`)}};function F(){}function J(e,t,s){return!t||U[e]>U[s]?F:t[e].bind(t)}let B={error:F,warn:F,info:F,debug:F},X=new WeakMap;function H(e){let t=e.logger,s=e.logLevel??"off";if(!t)return B;let n=X.get(t);if(n&&n[0]===s)return n[1];let r={error:J("error",t,s),warn:J("warn",t,s),info:J("info",t,s),debug:J("debug",t,s)};return X.set(t,[s,r]),r}let K=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,"x-api-key"===e.toLowerCase()||"authorization"===e.toLowerCase()||"cookie"===e.toLowerCase()||"set-cookie"===e.toLowerCase()?"***":t]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);class V{constructor(e,t,s){this.iterator=e,tr.set(this,void 0),this.controller=t,a(this,tr,s,"f")}static fromSSEResponse(e,t,s){let n=!1,r=s?H(s):console;async function*i(){if(n)throw new c("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");n=!0;let s=!1;try{for await(let s of z(e,t)){if("completion"===s.event)try{yield JSON.parse(s.data)}catch(e){throw r.error("Could not parse message into JSON:",s.data),r.error("From chunk:",s.raw),e}if("message_start"===s.event||"message_delta"===s.event||"message_stop"===s.event||"content_block_start"===s.event||"content_block_delta"===s.event||"content_block_stop"===s.event)try{yield JSON.parse(s.data)}catch(e){throw r.error("Could not parse message into JSON:",s.data),r.error("From chunk:",s.raw),e}if("ping"!==s.event&&"error"===s.event)throw new d(void 0,P(s.data)??s.data,void 0,e.headers)}s=!0}catch(e){if(u(e))return;throw e}finally{s||t.abort()}}return new V(i,t,s)}static fromReadableStream(e,t,s){let n=!1;async function*r(){let t=new L;for await(let s of j(e))for(let e of t.decode(s))yield e;for(let e of t.flush())yield e}return new V(async function*(){if(n)throw new c("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");n=!0;let e=!1;try{for await(let t of r())!e&&t&&(yield JSON.parse(t));e=!0}catch(e){if(u(e))return;throw e}finally{e||t.abort()}},t,s)}[(tr=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],t=[],s=this.iterator(),n=n=>({next:()=>{if(0===n.length){let n=s.next();e.push(n),t.push(n)}return n.shift()}});return[new V(()=>n(e),this.controller,o(this,tr,"f")),new V(()=>n(t),this.controller,o(this,tr,"f"))]}toReadableStream(){let e,t=this;return I({async start(){e=t[Symbol.asyncIterator]()},async pull(t){try{let{value:s,done:n}=await e.next();if(n)return t.close();let r=N(JSON.stringify(s)+"\n");t.enqueue(r)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}}async function*z(e,t){if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new c("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new c("Attempted to iterate over a response with no body")}let s=new Q,n=new L;for await(let t of G(j(e.body)))for(let e of n.decode(t)){let t=s.decode(e);t&&(yield t)}for(let e of n.flush()){let t=s.decode(e);t&&(yield t)}}async function*G(e){let t=new Uint8Array;for await(let s of e){let e;if(null==s)continue;let n=s instanceof ArrayBuffer?new Uint8Array(s):"string"==typeof s?N(s):s,r=new Uint8Array(t.length+n.length);for(r.set(t),r.set(n,t.length),t=r;-1!==(e=function(e){for(let t=0;t<e.length-1;t++){if(10===e[t]&&10===e[t+1]||13===e[t]&&13===e[t+1])return t+2;if(13===e[t]&&10===e[t+1]&&t+3<e.length&&13===e[t+2]&&10===e[t+3])return t+4}return -1}(t));)yield t.slice(0,e),t=t.slice(e)}t.length>0&&(yield t)}class Q{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){var t;let s;if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(":"))return null;let[n,r,i]=-1!==(s=(t=e).indexOf(":"))?[t.substring(0,s),":",t.substring(s+1)]:[t,"",""];return i.startsWith(" ")&&(i=i.substring(1)),"event"===n?this.event=i:"data"===n&&this.data.push(i),null}}async function Y(e,t){let{response:s,requestLogID:n,retryOfRequestLogID:r,startTime:i}=t,a=await (async()=>{if(t.options.stream)return(H(e).debug("response",s.status,s.url,s.headers,s.body),t.options.__streamClass)?t.options.__streamClass.fromSSEResponse(s,t.controller):V.fromSSEResponse(s,t.controller);if(204===s.status)return null;if(t.options.__binaryResponse)return s;let n=s.headers.get("content-type"),r=n?.split(";")[0]?.trim();if(r?.includes("application/json")||r?.endsWith("+json")){if("0"===s.headers.get("content-length"))return;return Z(await s.json(),s)}return await s.text()})();return H(e).debug(`[${n}] response parsed`,K({retryOfRequestLogID:r,url:s.url,status:s.status,body:a,durationMs:Date.now()-i})),a}function Z(e,t){return!e||"object"!=typeof e||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("request-id"),enumerable:!1})}class ee extends Promise{constructor(e,t,s=Y){super(e=>{e(null)}),this.responsePromise=t,this.parseResponse=s,ti.set(this,void 0),a(this,ti,e,"f")}_thenUnwrap(e){return new ee(o(this,ti,"f"),this.responsePromise,async(t,s)=>Z(e(await this.parseResponse(t,s),s),s.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(o(this,ti,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}ti=new WeakMap;class et{constructor(e,t,s,n){ta.set(this,void 0),a(this,ta,e,"f"),this.options=n,this.response=t,this.body=s}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new c("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await o(this,ta,"f").requestAPIList(this.constructor,e)}async *iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async *[(ta=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}}class es extends ee{constructor(e,t,s){super(e,t,async(e,t)=>new s(e,t.response,await Y(e,t),t.options))}async *[Symbol.asyncIterator](){for await(let e of(await this))yield e}}class en extends et{constructor(e,t,s,n){super(e,t,s,n),this.data=s.data||[],this.has_more=s.has_more||!1,this.first_id=s.first_id||null,this.last_id=s.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let e=this.first_id;return e?{...this.options,query:{...T(this.options.query),before_id:e}}:null}let e=this.last_id;return e?{...this.options,query:{...T(this.options.query),after_id:e}}:null}}class er extends et{constructor(e,t,s,n){super(e,t,s,n),this.data=s.data||[],this.has_more=s.has_more||!1,this.next_page=s.next_page||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let e=this.next_page;return e?{...this.options,query:{...T(this.options.query),page:e}}:null}}let ei=()=>{if("u"<typeof File){let{process:e}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof e?.versions?.node&&20>parseInt(e.versions.node.split("."))?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function ea(e,t,s){return ei(),new File(e,t??"unknown_file",s)}function eo(e,t){let s="object"==typeof e&&null!==e&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"";return t?s.split(/[\\/]/).pop()||void 0:s}let el=e=>null!=e&&"object"==typeof e&&"function"==typeof e[Symbol.asyncIterator],eu=async(e,t,s=!0)=>({...e,body:await ec(e.body,t,s)}),eh=new WeakMap,ec=async(e,t,s=!0)=>{if(!await function(e){let t="function"==typeof e?e:e.fetch,s=eh.get(t);if(s)return s;let n=(async()=>{try{let e="Response"in t?t.Response:(await t("data:,")).constructor,s=new FormData;if(s.toString()===await new e(s).text())return!1;return!0}catch{return!0}})();return eh.set(t,n),n}(t))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let n=new FormData;return await Promise.all(Object.entries(e||{}).map(([e,t])=>ed(n,e,t,s))),n},ed=async(e,t,s,n)=>{if(void 0!==s){if(null==s)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)e.append(t,String(s));else if(s instanceof Response){let r={},i=s.headers.get("Content-Type");i&&(r={type:i}),e.append(t,ea([await s.blob()],eo(s,n),r))}else if(el(s))e.append(t,ea([await new Response(O(s)).blob()],eo(s,n)));else{let r;if((r=s)instanceof Blob&&"name"in r)e.append(t,ea([s],eo(s,n),{type:s.type}));else if(Array.isArray(s))await Promise.all(s.map(s=>ed(e,t+"[]",s,n)));else if("object"==typeof s)await Promise.all(Object.entries(s).map(([s,r])=>ed(e,`${t}[${s}]`,r,n)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${s} instead`)}}},ep=e=>null!=e&&"object"==typeof e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.text&&"function"==typeof e.slice&&"function"==typeof e.arrayBuffer;async function ef(e,t,s){let n,r;if(ei(),e=await e,t||(t=eo(e,!0)),null!=(n=e)&&"object"==typeof n&&"string"==typeof n.name&&"number"==typeof n.lastModified&&ep(n))return e instanceof File&&null==t&&null==s?e:ea([await e.arrayBuffer()],t??e.name,{type:e.type,lastModified:e.lastModified,...s});if(null!=(r=e)&&"object"==typeof r&&"string"==typeof r.url&&"function"==typeof r.blob){let n=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),ea(await eg(n),t,s)}let i=await eg(e);if(!s?.type){let e=i.find(e=>"object"==typeof e&&"type"in e&&e.type);"string"==typeof e&&(s={...s,type:e})}return ea(i,t,s)}async function eg(e){let t=[];if("string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(ep(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if(el(e))for await(let s of e)t.push(...await eg(s));else{let t=e?.constructor?.name;throw Error(`Unexpected data type: ${typeof e}${t?`; constructor: ${t}`:""}${function(e){if("object"!=typeof e||null===e)return"";let t=Object.getOwnPropertyNames(e);return`; props: [${t.map(e=>`"${e}"`).join(", ")}]`}(e)}`)}return t}class em{constructor(e){this._client=e}}let ey=Symbol.for("brand.privateNullableHeaders"),eb=e=>{let t=new Headers,s=new Set;for(let n of e){let e=new Set;for(let[r,i]of function*(e){let t;if(!e)return;if(ey in e){let{values:t,nulls:s}=e;for(let e of(yield*t.entries(),s))yield[e,null];return}let s=!1;for(let n of(e instanceof Headers?t=e.entries():M(e)?t=e:(s=!0,t=Object.entries(e??{})),t)){let e=n[0];if("string"!=typeof e)throw TypeError("expected header name to be a string");let t=M(n[1])?n[1]:[n[1]],r=!1;for(let n of t)void 0!==n&&(s&&!r&&(r=!0,yield[e,null]),yield[e,n])}}(n)){let n=r.toLowerCase();e.has(n)||(t.delete(r),e.add(n)),null===i?(t.delete(r),s.add(n)):(t.append(r,i),s.delete(n))}}return{[ey]:!0,values:t,nulls:s}},ew=Symbol("anthropic.sdk.stainlessHelper");function e_(e){return"object"==typeof e&&null!==e&&ew in e}function ek(e,t){let s=new Set;if(e)for(let t of e)e_(t)&&s.add(t[ew]);if(t){for(let e of t)if(e_(e)&&s.add(e[ew]),Array.isArray(e.content))for(let t of e.content)e_(t)&&s.add(t[ew])}return Array.from(s)}function ev(e,t){let s=ek(e,t);return 0===s.length?{}:{"x-stainless-helper":s.join(", ")}}function ex(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}let eS=Object.freeze(Object.create(null)),eR=((e=ex)=>function(t,...s){let n;if(1===t.length)return t[0];let r=!1,i=[],a=t.reduce((t,n,a)=>{/[?#]/.test(n)&&(r=!0);let o=s[a],l=(r?encodeURIComponent:e)(""+o);return a!==s.length&&(null==o||"object"==typeof o&&o.toString===Object.getPrototypeOf(Object.getPrototypeOf(o.hasOwnProperty??eS)??eS)?.toString)&&(l=o+"",i.push({start:t.length+n.length,length:l.length,error:`Value of type ${Object.prototype.toString.call(o).slice(8,-1)} is not a valid path parameter`})),t+n+(a===s.length?"":l)},""),o=a.split(/[?#]/,1)[0],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi;for(;null!==(n=l.exec(o));)i.push({start:n.index,length:n[0].length,error:`Value "${n[0]}" can't be safely passed as a path parameter`});if(i.sort((e,t)=>e.start-t.start),i.length>0){let e=0,t=i.reduce((t,s)=>{let n=" ".repeat(s.start-e),r="^".repeat(s.length);return e=s.start+s.length,t+n+r},"");throw new c(`Path parameters result in path with invalid segments:
2
+ ${i.map(e=>e.error).join("\n")}
3
+ ${a}
4
+ ${t}`)}return a})(ex);class eM extends em{list(e={},t){let{betas:s,...n}=e??{};return this._client.getAPIList("/v1/files",en,{query:n,...t,headers:eb([{"anthropic-beta":[...s??[],"files-api-2025-04-14"].toString()},t?.headers])})}delete(e,t={},s){let{betas:n}=t??{};return this._client.delete(eR`/v1/files/${e}`,{...s,headers:eb([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},s?.headers])})}download(e,t={},s){let{betas:n}=t??{};return this._client.get(eR`/v1/files/${e}/content`,{...s,headers:eb([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},s?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},s){let{betas:n}=t??{};return this._client.get(eR`/v1/files/${e}`,{...s,headers:eb([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},s?.headers])})}upload(e,t){var s;let{betas:n,...r}=e;return this._client.post("/v1/files",eu({body:r,...t,headers:eb([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},e_(s=r.file)?{"x-stainless-helper":s[ew]}:{},t?.headers])},this._client))}}class eT extends em{retrieve(e,t={},s){let{betas:n}=t??{};return this._client.get(eR`/v1/models/${e}?beta=true`,{...s,headers:eb([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},s?.headers])})}list(e={},t){let{betas:s,...n}=e??{};return this._client.getAPIList("/v1/models?beta=true",en,{query:n,...t,headers:eb([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers])})}}let eP={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function eA(e){return e?.output_format??e?.output_config?.format}function eE(e,t,s){let n=eA(t);return t&&"parse"in(n??{})?e$(e,t,s):{...e,content:e.content.map(e=>"text"===e.type?Object.defineProperty(Object.defineProperty({...e},"parsed_output",{value:null,enumerable:!1}),"parsed",{get:()=>(s.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null),enumerable:!1}):e),parsed_output:null}}function e$(e,t,s){let n=null,r=e.content.map(e=>{if("text"===e.type){let r=function(e,t){let s=eA(e);if(s?.type!=="json_schema")return null;try{if("parse"in s)return s.parse(t);return JSON.parse(t)}catch(e){throw new c(`Failed to parse structured output: ${e}`)}}(t,e.text);return null===n&&(n=r),Object.defineProperty(Object.defineProperty({...e},"parsed_output",{value:r,enumerable:!1}),"parsed",{get:()=>(s.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),r),enumerable:!1})}return e});return{...e,content:r,parsed_output:n}}let eI=e=>{if(0===e.length)return e;let t=e[e.length-1];switch(t.type){case"separator":return eI(e=e.slice(0,e.length-1));case"number":let s=t.value[t.value.length-1];if("."===s||"-"===s)return eI(e=e.slice(0,e.length-1));case"string":let n=e[e.length-2];if(n?.type==="delimiter"||n?.type==="brace"&&"{"===n.value)return eI(e=e.slice(0,e.length-1));break;case"delimiter":return eI(e=e.slice(0,e.length-1))}return e},eO=e=>{var t;let s,n;return JSON.parse((t=eI((e=>{let t=0,s=[];for(;t<e.length;){let n=e[t];if("\\"===n){t++;continue}if("{"===n){s.push({type:"brace",value:"{"}),t++;continue}if("}"===n){s.push({type:"brace",value:"}"}),t++;continue}if("["===n){s.push({type:"paren",value:"["}),t++;continue}if("]"===n){s.push({type:"paren",value:"]"}),t++;continue}if(":"===n){s.push({type:"separator",value:":"}),t++;continue}if(","===n){s.push({type:"delimiter",value:","}),t++;continue}if('"'===n){let r="",i=!1;for(n=e[++t];'"'!==n;){if(t===e.length){i=!0;break}if("\\"===n){if(++t===e.length){i=!0;break}r+=n+e[t],n=e[++t]}else r+=n,n=e[++t]}n=e[++t],i||s.push({type:"string",value:r});continue}let r=/\s/;if(n&&r.test(n)){t++;continue}let i=/[0-9]/;if(n&&i.test(n)||"-"===n||"."===n){let r="";for("-"===n&&(r+=n,n=e[++t]);n&&i.test(n)||"."===n;)r+=n,n=e[++t];s.push({type:"number",value:r});continue}let a=/[a-z]/i;if(n&&a.test(n)){let r="";for(;n&&a.test(n)&&t!==e.length;)r+=n,n=e[++t];"true"==r||"false"==r||"null"===r?s.push({type:"name",value:r}):t++;continue}t++}return s})(e)),s=[],t.map(e=>{"brace"===e.type&&("{"===e.value?s.push("}"):s.splice(s.lastIndexOf("}"),1)),"paren"===e.type&&("["===e.value?s.push("]"):s.splice(s.lastIndexOf("]"),1))}),s.length>0&&s.reverse().map(e=>{"}"===e?t.push({type:"brace",value:"}"}):"]"===e&&t.push({type:"paren",value:"]"})}),n="",t.map(e=>{"string"===e.type?n+='"'+e.value+'"':n+=e.value}),n))},ej="__json_buf";function eW(e){return"tool_use"===e.type||"server_tool_use"===e.type||"mcp_tool_use"===e.type}class eC{constructor(e,t){to.add(this),this.messages=[],this.receivedMessages=[],tl.set(this,void 0),tu.set(this,null),this.controller=new AbortController,th.set(this,void 0),tc.set(this,()=>{}),td.set(this,()=>{}),tp.set(this,void 0),tf.set(this,()=>{}),tg.set(this,()=>{}),tm.set(this,{}),ty.set(this,!1),tb.set(this,!1),tw.set(this,!1),t_.set(this,!1),tk.set(this,void 0),tv.set(this,void 0),tx.set(this,void 0),tM.set(this,e=>{if(a(this,tb,!0,"f"),u(e)&&(e=new p),e instanceof p)return a(this,tw,!0,"f"),this._emit("abort",e);if(e instanceof c)return this._emit("error",e);if(e instanceof Error){let t=new c(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new c(String(e)))}),a(this,th,new Promise((e,t)=>{a(this,tc,e,"f"),a(this,td,t,"f")}),"f"),a(this,tp,new Promise((e,t)=>{a(this,tf,e,"f"),a(this,tg,t,"f")}),"f"),o(this,th,"f").catch(()=>{}),o(this,tp,"f").catch(()=>{}),a(this,tu,e,"f"),a(this,tx,t?.logger??console,"f")}get response(){return o(this,tk,"f")}get request_id(){return o(this,tv,"f")}async withResponse(){a(this,t_,!0,"f");let e=await o(this,th,"f");if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new eC(null);return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,s,{logger:n}={}){let r=new eC(t,{logger:n});for(let e of t.messages)r._addMessageParam(e);return a(r,tu,{...t,stream:!0},"f"),r._run(()=>r._createMessage(e,{...t,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},o(this,tM,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,s){let n,r=s?.signal;r&&(r.aborted&&this.controller.abort(),n=this.controller.abort.bind(this.controller),r.addEventListener("abort",n));try{o(this,to,"m",tT).call(this);let{response:n,data:r}=await e.create({...t,stream:!0},{...s,signal:this.controller.signal}).withResponse();for await(let e of(this._connected(n),r))o(this,to,"m",tP).call(this,e);if(r.controller.signal?.aborted)throw new p;o(this,to,"m",tA).call(this)}finally{r&&n&&r.removeEventListener("abort",n)}}_connected(e){this.ended||(a(this,tk,e,"f"),a(this,tv,e?.headers.get("request-id"),"f"),o(this,tc,"f").call(this,e),this._emit("connect"))}get ended(){return o(this,ty,"f")}get errored(){return o(this,tb,"f")}get aborted(){return o(this,tw,"f")}abort(){this.controller.abort()}on(e,t){return(o(this,tm,"f")[e]||(o(this,tm,"f")[e]=[])).push({listener:t}),this}off(e,t){let s=o(this,tm,"f")[e];if(!s)return this;let n=s.findIndex(e=>e.listener===t);return n>=0&&s.splice(n,1),this}once(e,t){return(o(this,tm,"f")[e]||(o(this,tm,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,s)=>{a(this,t_,!0,"f"),"error"!==e&&this.once("error",s),this.once(e,t)})}async done(){a(this,t_,!0,"f"),await o(this,tp,"f")}get currentMessage(){return o(this,tl,"f")}async finalMessage(){return await this.done(),o(this,to,"m",tS).call(this)}async finalText(){return await this.done(),o(this,to,"m",tR).call(this)}_emit(e,...t){if(o(this,ty,"f"))return;"end"===e&&(a(this,ty,!0,"f"),o(this,tf,"f").call(this));let s=o(this,tm,"f")[e];if(s&&(o(this,tm,"f")[e]=s.filter(e=>!e.once),s.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];o(this,t_,"f")||s?.length||Promise.reject(e),o(this,td,"f").call(this,e),o(this,tg,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];o(this,t_,"f")||s?.length||Promise.reject(e),o(this,td,"f").call(this,e),o(this,tg,"f").call(this,e),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",o(this,to,"m",tS).call(this))}async _fromReadableStream(e,t){let s,n=t?.signal;n&&(n.aborted&&this.controller.abort(),s=this.controller.abort.bind(this.controller),n.addEventListener("abort",s));try{o(this,to,"m",tT).call(this),this._connected(null);let t=V.fromReadableStream(e,this.controller);for await(let e of t)o(this,to,"m",tP).call(this,e);if(t.controller.signal?.aborted)throw new p;o(this,to,"m",tA).call(this)}finally{n&&s&&n.removeEventListener("abort",s)}}[(tl=new WeakMap,tu=new WeakMap,th=new WeakMap,tc=new WeakMap,td=new WeakMap,tp=new WeakMap,tf=new WeakMap,tg=new WeakMap,tm=new WeakMap,ty=new WeakMap,tb=new WeakMap,tw=new WeakMap,t_=new WeakMap,tk=new WeakMap,tv=new WeakMap,tx=new WeakMap,tM=new WeakMap,to=new WeakSet,tS=function(){if(0===this.receivedMessages.length)throw new c("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},tR=function(){if(0===this.receivedMessages.length)throw new c("stream ended without producing a Message with role=assistant");let e=this.receivedMessages.at(-1).content.filter(e=>"text"===e.type).map(e=>e.text);if(0===e.length)throw new c("stream ended without producing a content block with type=text");return e.join(" ")},tT=function(){this.ended||a(this,tl,void 0,"f")},tP=function(e){if(this.ended)return;let t=o(this,to,"m",tE).call(this,e);switch(this._emit("streamEvent",e,t),e.type){case"content_block_delta":{let s=t.content.at(-1);switch(e.delta.type){case"text_delta":"text"===s.type&&this._emit("text",e.delta.text,s.text||"");break;case"citations_delta":"text"===s.type&&this._emit("citation",e.delta.citation,s.citations??[]);break;case"input_json_delta":eW(s)&&s.input&&this._emit("inputJson",e.delta.partial_json,s.input);break;case"thinking_delta":"thinking"===s.type&&this._emit("thinking",e.delta.thinking,s.thinking);break;case"signature_delta":"thinking"===s.type&&this._emit("signature",s.signature);break;case"compaction_delta":"compaction"===s.type&&s.content&&this._emit("compaction",s.content);break;default:e.delta}break}case"message_stop":this._addMessageParam(t),this._addMessage(eE(t,o(this,tu,"f"),{logger:o(this,tx,"f")}),!0);break;case"content_block_stop":this._emit("contentBlock",t.content.at(-1));break;case"message_start":a(this,tl,t,"f")}},tA=function(){if(this.ended)throw new c("stream has ended, this shouldn't happen");let e=o(this,tl,"f");if(!e)throw new c("request ended without sending any chunks");return a(this,tl,void 0,"f"),eE(e,o(this,tu,"f"),{logger:o(this,tx,"f")})},tE=function(e){let t=o(this,tl,"f");if("message_start"===e.type){if(t)throw new c(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new c(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case"message_stop":case"content_block_stop":return t;case"message_delta":return t.container=e.delta.container,t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,t.context_management=e.context_management,null!=e.usage.input_tokens&&(t.usage.input_tokens=e.usage.input_tokens),null!=e.usage.cache_creation_input_tokens&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),null!=e.usage.cache_read_input_tokens&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),null!=e.usage.server_tool_use&&(t.usage.server_tool_use=e.usage.server_tool_use),null!=e.usage.iterations&&(t.usage.iterations=e.usage.iterations),t;case"content_block_start":return t.content.push(e.content_block),t;case"content_block_delta":{let s=t.content.at(e.index);switch(e.delta.type){case"text_delta":s?.type==="text"&&(t.content[e.index]={...s,text:(s.text||"")+e.delta.text});break;case"citations_delta":s?.type==="text"&&(t.content[e.index]={...s,citations:[...s.citations??[],e.delta.citation]});break;case"input_json_delta":if(s&&eW(s)){let n=s[ej]||"";n+=e.delta.partial_json;let r={...s};if(Object.defineProperty(r,ej,{value:n,enumerable:!1,writable:!0}),n)try{r.input=eO(n)}catch(t){let e=new c(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${t}. JSON: ${n}`);o(this,tM,"f").call(this,e)}t.content[e.index]=r}break;case"thinking_delta":s?.type==="thinking"&&(t.content[e.index]={...s,thinking:s.thinking+e.delta.thinking});break;case"signature_delta":s?.type==="thinking"&&(t.content[e.index]={...s,signature:e.delta.signature});break;case"compaction_delta":s?.type==="compaction"&&(t.content[e.index]={...s,content:(s.content||"")+e.delta.content});break;default:e.delta}return t}}},Symbol.asyncIterator)](){let e=[],t=[],s=!1;return this.on("streamEvent",s=>{let n=t.shift();n?n.resolve(s):e.push(s)}),this.on("end",()=>{for(let e of(s=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let n of(s=!0,t))n.reject(e);t.length=0}),this.on("error",e=>{for(let n of(s=!0,t))n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((e,s)=>t.push({resolve:e,reject:s})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new V(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}class eN extends Error{constructor(e){super("string"==typeof e?e:e.map(e=>"text"===e.type?e.text:`[${e.type}]`).join(" ")),this.name="ToolError",this.content=e}}let eq=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
5
+ 1. Task Overview
6
+ The user's core request and success criteria
7
+ Any clarifications or constraints they specified
8
+ 2. Current State
9
+ What has been completed so far
10
+ Files created, modified, or analyzed (with paths if relevant)
11
+ Key outputs or artifacts produced
12
+ 3. Important Discoveries
13
+ Technical constraints or requirements uncovered
14
+ Decisions made and their rationale
15
+ Errors encountered and how they were resolved
16
+ What approaches were tried that didn't work (and why)
17
+ 4. Next Steps
18
+ Specific actions needed to complete the task
19
+ Any blockers or open questions to resolve
20
+ Priority order if multiple steps remain
21
+ 5. Context to Preserve
22
+ User preferences or style requirements
23
+ Domain-specific details that aren't obvious
24
+ Any promises made to the user
25
+ Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
26
+ Wrap your summary in <summary></summary> tags.`;function eL(){let e,t;return{promise:new Promise((s,n)=>{e=s,t=n}),resolve:e,reject:t}}class eU{constructor(e,t,s){t$.add(this),this.client=e,tI.set(this,!1),tO.set(this,!1),tj.set(this,void 0),tW.set(this,void 0),tC.set(this,void 0),tN.set(this,void 0),tq.set(this,void 0),tL.set(this,0),a(this,tj,{params:{...t,messages:structuredClone(t.messages)}},"f");const n=["BetaToolRunner",...ek(t.tools,t.messages)].join(", ");a(this,tW,{...s,headers:eb([{"x-stainless-helper":n},s?.headers])},"f"),a(this,tq,eL(),"f")}async *[(tI=new WeakMap,tO=new WeakMap,tj=new WeakMap,tW=new WeakMap,tC=new WeakMap,tN=new WeakMap,tq=new WeakMap,tL=new WeakMap,t$=new WeakSet,tU=async function(){let e=o(this,tj,"f").params.compactionControl;if(!e||!e.enabled)return!1;let t=0;if(void 0!==o(this,tC,"f"))try{let e=await o(this,tC,"f");t=e.usage.input_tokens+(e.usage.cache_creation_input_tokens??0)+(e.usage.cache_read_input_tokens??0)+e.usage.output_tokens}catch{return!1}if(t<(e.contextTokenThreshold??1e5))return!1;let s=e.model??o(this,tj,"f").params.model,n=e.summaryPrompt??eq,r=o(this,tj,"f").params.messages;if("assistant"===r[r.length-1].role){let e=r[r.length-1];if(Array.isArray(e.content)){let t=e.content.filter(e=>"tool_use"!==e.type);0===t.length?r.pop():e.content=t}}let i=await this.client.beta.messages.create({model:s,messages:[...r,{role:"user",content:[{type:"text",text:n}]}],max_tokens:o(this,tj,"f").params.max_tokens},{headers:{"x-stainless-helper":"compaction"}});if(i.content[0]?.type!=="text")throw new c("Expected text response for compaction");return o(this,tj,"f").params.messages=[{role:"user",content:i.content}],!0},Symbol.asyncIterator)](){var e;if(o(this,tI,"f"))throw new c("Cannot iterate over a consumed stream");a(this,tI,!0,"f"),a(this,tO,!0,"f"),a(this,tN,void 0,"f");try{for(;;){let t;try{if(o(this,tj,"f").params.max_iterations&&o(this,tL,"f")>=o(this,tj,"f").params.max_iterations)break;a(this,tO,!1,"f"),a(this,tN,void 0,"f"),a(this,tL,(e=o(this,tL,"f"),++e),"f"),a(this,tC,void 0,"f");let{max_iterations:s,compactionControl:n,...r}=o(this,tj,"f").params;if(r.stream?(t=this.client.beta.messages.stream({...r},o(this,tW,"f")),a(this,tC,t.finalMessage(),"f"),o(this,tC,"f").catch(()=>{}),yield t):(a(this,tC,this.client.beta.messages.create({...r,stream:!1},o(this,tW,"f")),"f"),yield o(this,tC,"f")),!await o(this,t$,"m",tU).call(this)){if(!o(this,tO,"f")){let{role:e,content:t}=await o(this,tC,"f");o(this,tj,"f").params.messages.push({role:e,content:t})}let e=await o(this,t$,"m",tD).call(this,o(this,tj,"f").params.messages.at(-1));if(e)o(this,tj,"f").params.messages.push(e);else if(!o(this,tO,"f"))break}}finally{t&&t.abort()}}if(!o(this,tC,"f"))throw new c("ToolRunner concluded without a message from the server");o(this,tq,"f").resolve(await o(this,tC,"f"))}catch(e){throw a(this,tI,!1,"f"),o(this,tq,"f").promise.catch(()=>{}),o(this,tq,"f").reject(e),a(this,tq,eL(),"f"),e}}setMessagesParams(e){"function"==typeof e?o(this,tj,"f").params=e(o(this,tj,"f").params):o(this,tj,"f").params=e,a(this,tO,!0,"f"),a(this,tN,void 0,"f")}async generateToolResponse(){let e=await o(this,tC,"f")??this.params.messages.at(-1);return e?o(this,t$,"m",tD).call(this,e):null}done(){return o(this,tq,"f").promise}async runUntilDone(){if(!o(this,tI,"f"))for await(let e of this);return this.done()}get params(){return o(this,tj,"f").params}pushMessages(...e){this.setMessagesParams(t=>({...t,messages:[...t.messages,...e]}))}then(e,t){return this.runUntilDone().then(e,t)}}async function eD(e,t=e.messages.at(-1)){if(!t||"assistant"!==t.role||!t.content||"string"==typeof t.content)return null;let s=t.content.filter(e=>"tool_use"===e.type);return 0===s.length?null:{role:"user",content:await Promise.all(s.map(async t=>{let s=e.tools.find(e=>("name"in e?e.name:e.mcp_server_name)===t.name);if(!s||!("run"in s))return{type:"tool_result",tool_use_id:t.id,content:`Error: Tool '${t.name}' not found`,is_error:!0};try{let e=t.input;"parse"in s&&s.parse&&(e=s.parse(e));let n=await s.run(e);return{type:"tool_result",tool_use_id:t.id,content:n}}catch(e){return{type:"tool_result",tool_use_id:t.id,content:e instanceof eN?e.content:`Error: ${e instanceof Error?e.message:String(e)}`,is_error:!0}}}))}}tD=async function(e){return void 0!==o(this,tN,"f")||a(this,tN,eD(o(this,tj,"f").params,e),"f"),o(this,tN,"f")};class eF{constructor(e,t){this.iterator=e,this.controller=t}async *decoder(){let e=new L;for await(let t of this.iterator)for(let s of e.decode(t))yield JSON.parse(s);for(let t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(e,t){if(!e.body){if(t.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new c("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new c("Attempted to iterate over a response with no body")}return new eF(j(e.body),t)}}class eJ extends em{create(e,t){let{betas:s,...n}=e;return this._client.post("/v1/messages/batches?beta=true",{body:n,...t,headers:eb([{"anthropic-beta":[...s??[],"message-batches-2024-09-24"].toString()},t?.headers])})}retrieve(e,t={},s){let{betas:n}=t??{};return this._client.get(eR`/v1/messages/batches/${e}?beta=true`,{...s,headers:eb([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},s?.headers])})}list(e={},t){let{betas:s,...n}=e??{};return this._client.getAPIList("/v1/messages/batches?beta=true",en,{query:n,...t,headers:eb([{"anthropic-beta":[...s??[],"message-batches-2024-09-24"].toString()},t?.headers])})}delete(e,t={},s){let{betas:n}=t??{};return this._client.delete(eR`/v1/messages/batches/${e}?beta=true`,{...s,headers:eb([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},s?.headers])})}cancel(e,t={},s){let{betas:n}=t??{};return this._client.post(eR`/v1/messages/batches/${e}/cancel?beta=true`,{...s,headers:eb([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},s?.headers])})}async results(e,t={},s){let n=await this.retrieve(e);if(!n.results_url)throw new c(`No batch \`results_url\`; Has it finished processing? ${n.processing_status} - ${n.id}`);let{betas:r}=t??{};return this._client.get(n.results_url,{...s,headers:eb([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},s?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>eF.fromResponse(t.response,t.controller))}}let eB={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"},eX=["claude-opus-4-6"];class eH extends em{constructor(){super(...arguments),this.batches=new eJ(this._client)}create(e,t){let s=eK(e),{betas:n,...r}=s;r.model in eB&&console.warn(`The model '${r.model}' is deprecated and will reach end-of-life on ${eB[r.model]}
27
+ Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),r.model in eX&&r.thinking&&"enabled"===r.thinking.type&&console.warn(`Using Claude with ${r.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let i=this._client._options.timeout;if(!r.stream&&null==i){let e=eP[r.model]??void 0;i=this._client.calculateNonstreamingTimeout(r.max_tokens,e)}let a=ev(r.tools,r.messages);return this._client.post("/v1/messages?beta=true",{body:r,timeout:i??6e5,...t,headers:eb([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},a,t?.headers]),stream:s.stream??!1})}parse(e,t){return t={...t,headers:eb([{"anthropic-beta":[...e.betas??[],"structured-outputs-2025-12-15"].toString()},t?.headers])},this.create(e,t).then(t=>e$(t,e,{logger:this._client.logger??console}))}stream(e,t){return eC.createMessage(this,e,t)}countTokens(e,t){let{betas:s,...n}=eK(e);return this._client.post("/v1/messages/count_tokens?beta=true",{body:n,...t,headers:eb([{"anthropic-beta":[...s??[],"token-counting-2024-11-01"].toString()},t?.headers])})}toolRunner(e,t){return new eU(this._client,e,t)}}function eK(e){if(!e.output_format)return e;if(e.output_config?.format)throw new c("Both output_format and output_config.format were provided. Please use only output_config.format (output_format is deprecated).");let{output_format:t,...s}=e;return{...s,output_config:{...e.output_config,format:t}}}eH.Batches=eJ,eH.BetaToolRunner=eU,eH.ToolError=eN;class eV extends em{create(e,t={},s){let{betas:n,...r}=t??{};return this._client.post(eR`/v1/skills/${e}/versions?beta=true`,eu({body:r,...s,headers:eb([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},s?.headers])},this._client))}retrieve(e,t,s){let{skill_id:n,betas:r}=t;return this._client.get(eR`/v1/skills/${n}/versions/${e}?beta=true`,{...s,headers:eb([{"anthropic-beta":[...r??[],"skills-2025-10-02"].toString()},s?.headers])})}list(e,t={},s){let{betas:n,...r}=t??{};return this._client.getAPIList(eR`/v1/skills/${e}/versions?beta=true`,er,{query:r,...s,headers:eb([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},s?.headers])})}delete(e,t,s){let{skill_id:n,betas:r}=t;return this._client.delete(eR`/v1/skills/${n}/versions/${e}?beta=true`,{...s,headers:eb([{"anthropic-beta":[...r??[],"skills-2025-10-02"].toString()},s?.headers])})}}class ez extends em{constructor(){super(...arguments),this.versions=new eV(this._client)}create(e={},t){let{betas:s,...n}=e??{};return this._client.post("/v1/skills?beta=true",eu({body:n,...t,headers:eb([{"anthropic-beta":[...s??[],"skills-2025-10-02"].toString()},t?.headers])},this._client,!1))}retrieve(e,t={},s){let{betas:n}=t??{};return this._client.get(eR`/v1/skills/${e}?beta=true`,{...s,headers:eb([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},s?.headers])})}list(e={},t){let{betas:s,...n}=e??{};return this._client.getAPIList("/v1/skills?beta=true",er,{query:n,...t,headers:eb([{"anthropic-beta":[...s??[],"skills-2025-10-02"].toString()},t?.headers])})}delete(e,t={},s){let{betas:n}=t??{};return this._client.delete(eR`/v1/skills/${e}?beta=true`,{...s,headers:eb([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},s?.headers])})}}ez.Versions=eV;class eG extends em{constructor(){super(...arguments),this.models=new eT(this._client),this.messages=new eH(this._client),this.files=new eM(this._client),this.skills=new ez(this._client)}}eG.Models=eT,eG.Messages=eH,eG.Files=eM,eG.Skills=ez;class eQ extends em{create(e,t){let{betas:s,...n}=e;return this._client.post("/v1/complete",{body:n,timeout:this._client._options.timeout??6e5,...t,headers:eb([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}}function eY(e){return e?.output_config?.format}function eZ(e,t,s){let n=eY(t);return t&&"parse"in(n??{})?e0(e,t,s):{...e,content:e.content.map(e=>"text"===e.type?Object.defineProperty({...e},"parsed_output",{value:null,enumerable:!1}):e),parsed_output:null}}function e0(e,t,s){let n=null,r=e.content.map(e=>{if("text"===e.type){let s=function(e,t){let s=eY(e);if(s?.type!=="json_schema")return null;try{if("parse"in s)return s.parse(t);return JSON.parse(t)}catch(e){throw new c(`Failed to parse structured output: ${e}`)}}(t,e.text);return null===n&&(n=s),Object.defineProperty({...e},"parsed_output",{value:s,enumerable:!1})}return e});return{...e,content:r,parsed_output:n}}let e1="__json_buf";function e2(e){return"tool_use"===e.type||"server_tool_use"===e.type}class e4{constructor(e,t){tF.add(this),this.messages=[],this.receivedMessages=[],tJ.set(this,void 0),tB.set(this,null),this.controller=new AbortController,tX.set(this,void 0),tH.set(this,()=>{}),tK.set(this,()=>{}),tV.set(this,void 0),tz.set(this,()=>{}),tG.set(this,()=>{}),tQ.set(this,{}),tY.set(this,!1),tZ.set(this,!1),t0.set(this,!1),t1.set(this,!1),t2.set(this,void 0),t4.set(this,void 0),t5.set(this,void 0),t9.set(this,e=>{if(a(this,tZ,!0,"f"),u(e)&&(e=new p),e instanceof p)return a(this,t0,!0,"f"),this._emit("abort",e);if(e instanceof c)return this._emit("error",e);if(e instanceof Error){let t=new c(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new c(String(e)))}),a(this,tX,new Promise((e,t)=>{a(this,tH,e,"f"),a(this,tK,t,"f")}),"f"),a(this,tV,new Promise((e,t)=>{a(this,tz,e,"f"),a(this,tG,t,"f")}),"f"),o(this,tX,"f").catch(()=>{}),o(this,tV,"f").catch(()=>{}),a(this,tB,e,"f"),a(this,t5,t?.logger??console,"f")}get response(){return o(this,t2,"f")}get request_id(){return o(this,t4,"f")}async withResponse(){a(this,t1,!0,"f");let e=await o(this,tX,"f");if(!e)throw Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new e4(null);return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,s,{logger:n}={}){let r=new e4(t,{logger:n});for(let e of t.messages)r._addMessageParam(e);return a(r,tB,{...t,stream:!0},"f"),r._run(()=>r._createMessage(e,{...t,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},o(this,t9,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,s){let n,r=s?.signal;r&&(r.aborted&&this.controller.abort(),n=this.controller.abort.bind(this.controller),r.addEventListener("abort",n));try{o(this,tF,"m",t8).call(this);let{response:n,data:r}=await e.create({...t,stream:!0},{...s,signal:this.controller.signal}).withResponse();for await(let e of(this._connected(n),r))o(this,tF,"m",t7).call(this,e);if(r.controller.signal?.aborted)throw new p;o(this,tF,"m",se).call(this)}finally{r&&n&&r.removeEventListener("abort",n)}}_connected(e){this.ended||(a(this,t2,e,"f"),a(this,t4,e?.headers.get("request-id"),"f"),o(this,tH,"f").call(this,e),this._emit("connect"))}get ended(){return o(this,tY,"f")}get errored(){return o(this,tZ,"f")}get aborted(){return o(this,t0,"f")}abort(){this.controller.abort()}on(e,t){return(o(this,tQ,"f")[e]||(o(this,tQ,"f")[e]=[])).push({listener:t}),this}off(e,t){let s=o(this,tQ,"f")[e];if(!s)return this;let n=s.findIndex(e=>e.listener===t);return n>=0&&s.splice(n,1),this}once(e,t){return(o(this,tQ,"f")[e]||(o(this,tQ,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,s)=>{a(this,t1,!0,"f"),"error"!==e&&this.once("error",s),this.once(e,t)})}async done(){a(this,t1,!0,"f"),await o(this,tV,"f")}get currentMessage(){return o(this,tJ,"f")}async finalMessage(){return await this.done(),o(this,tF,"m",t6).call(this)}async finalText(){return await this.done(),o(this,tF,"m",t3).call(this)}_emit(e,...t){if(o(this,tY,"f"))return;"end"===e&&(a(this,tY,!0,"f"),o(this,tz,"f").call(this));let s=o(this,tQ,"f")[e];if(s&&(o(this,tQ,"f")[e]=s.filter(e=>!e.once),s.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];o(this,t1,"f")||s?.length||Promise.reject(e),o(this,tK,"f").call(this,e),o(this,tG,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];o(this,t1,"f")||s?.length||Promise.reject(e),o(this,tK,"f").call(this,e),o(this,tG,"f").call(this,e),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",o(this,tF,"m",t6).call(this))}async _fromReadableStream(e,t){let s,n=t?.signal;n&&(n.aborted&&this.controller.abort(),s=this.controller.abort.bind(this.controller),n.addEventListener("abort",s));try{o(this,tF,"m",t8).call(this),this._connected(null);let t=V.fromReadableStream(e,this.controller);for await(let e of t)o(this,tF,"m",t7).call(this,e);if(t.controller.signal?.aborted)throw new p;o(this,tF,"m",se).call(this)}finally{n&&s&&n.removeEventListener("abort",s)}}[(tJ=new WeakMap,tB=new WeakMap,tX=new WeakMap,tH=new WeakMap,tK=new WeakMap,tV=new WeakMap,tz=new WeakMap,tG=new WeakMap,tQ=new WeakMap,tY=new WeakMap,tZ=new WeakMap,t0=new WeakMap,t1=new WeakMap,t2=new WeakMap,t4=new WeakMap,t5=new WeakMap,t9=new WeakMap,tF=new WeakSet,t6=function(){if(0===this.receivedMessages.length)throw new c("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},t3=function(){if(0===this.receivedMessages.length)throw new c("stream ended without producing a Message with role=assistant");let e=this.receivedMessages.at(-1).content.filter(e=>"text"===e.type).map(e=>e.text);if(0===e.length)throw new c("stream ended without producing a content block with type=text");return e.join(" ")},t8=function(){this.ended||a(this,tJ,void 0,"f")},t7=function(e){if(this.ended)return;let t=o(this,tF,"m",st).call(this,e);switch(this._emit("streamEvent",e,t),e.type){case"content_block_delta":{let s=t.content.at(-1);switch(e.delta.type){case"text_delta":"text"===s.type&&this._emit("text",e.delta.text,s.text||"");break;case"citations_delta":"text"===s.type&&this._emit("citation",e.delta.citation,s.citations??[]);break;case"input_json_delta":e2(s)&&s.input&&this._emit("inputJson",e.delta.partial_json,s.input);break;case"thinking_delta":"thinking"===s.type&&this._emit("thinking",e.delta.thinking,s.thinking);break;case"signature_delta":"thinking"===s.type&&this._emit("signature",s.signature);break;default:e.delta}break}case"message_stop":this._addMessageParam(t),this._addMessage(eZ(t,o(this,tB,"f"),{logger:o(this,t5,"f")}),!0);break;case"content_block_stop":this._emit("contentBlock",t.content.at(-1));break;case"message_start":a(this,tJ,t,"f")}},se=function(){if(this.ended)throw new c("stream has ended, this shouldn't happen");let e=o(this,tJ,"f");if(!e)throw new c("request ended without sending any chunks");return a(this,tJ,void 0,"f"),eZ(e,o(this,tB,"f"),{logger:o(this,t5,"f")})},st=function(e){let t=o(this,tJ,"f");if("message_start"===e.type){if(t)throw new c(`Unexpected event order, got ${e.type} before receiving "message_stop"`);return e.message}if(!t)throw new c(`Unexpected event order, got ${e.type} before "message_start"`);switch(e.type){case"message_stop":case"content_block_stop":return t;case"message_delta":return t.stop_reason=e.delta.stop_reason,t.stop_sequence=e.delta.stop_sequence,t.usage.output_tokens=e.usage.output_tokens,null!=e.usage.input_tokens&&(t.usage.input_tokens=e.usage.input_tokens),null!=e.usage.cache_creation_input_tokens&&(t.usage.cache_creation_input_tokens=e.usage.cache_creation_input_tokens),null!=e.usage.cache_read_input_tokens&&(t.usage.cache_read_input_tokens=e.usage.cache_read_input_tokens),null!=e.usage.server_tool_use&&(t.usage.server_tool_use=e.usage.server_tool_use),t;case"content_block_start":return t.content.push({...e.content_block}),t;case"content_block_delta":{let s=t.content.at(e.index);switch(e.delta.type){case"text_delta":s?.type==="text"&&(t.content[e.index]={...s,text:(s.text||"")+e.delta.text});break;case"citations_delta":s?.type==="text"&&(t.content[e.index]={...s,citations:[...s.citations??[],e.delta.citation]});break;case"input_json_delta":if(s&&e2(s)){let n=s[e1]||"";n+=e.delta.partial_json;let r={...s};Object.defineProperty(r,e1,{value:n,enumerable:!1,writable:!0}),n&&(r.input=eO(n)),t.content[e.index]=r}break;case"thinking_delta":s?.type==="thinking"&&(t.content[e.index]={...s,thinking:s.thinking+e.delta.thinking});break;case"signature_delta":s?.type==="thinking"&&(t.content[e.index]={...s,signature:e.delta.signature});break;default:e.delta}return t}}},Symbol.asyncIterator)](){let e=[],t=[],s=!1;return this.on("streamEvent",s=>{let n=t.shift();n?n.resolve(s):e.push(s)}),this.on("end",()=>{for(let e of(s=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let n of(s=!0,t))n.reject(e);t.length=0}),this.on("error",e=>{for(let n of(s=!0,t))n.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((e,s)=>t.push({resolve:e,reject:s})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new V(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}class e5 extends em{create(e,t){return this._client.post("/v1/messages/batches",{body:e,...t})}retrieve(e,t){return this._client.get(eR`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/v1/messages/batches",en,{query:e,...t})}delete(e,t){return this._client.delete(eR`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(eR`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){let s=await this.retrieve(e);if(!s.results_url)throw new c(`No batch \`results_url\`; Has it finished processing? ${s.processing_status} - ${s.id}`);return this._client.get(s.results_url,{...t,headers:eb([{Accept:"application/binary"},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((e,t)=>eF.fromResponse(t.response,t.controller))}}class e6 extends em{constructor(){super(...arguments),this.batches=new e5(this._client)}create(e,t){e.model in e3&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${e3[e.model]}
28
+ Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`),e.model in e9&&e.thinking&&"enabled"===e.thinking.type&&console.warn(`Using Claude with ${e.model} and 'thinking.type=enabled' is deprecated. Use 'thinking.type=adaptive' instead which results in better model performance in our testing: https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking`);let s=this._client._options.timeout;if(!e.stream&&null==s){let t=eP[e.model]??void 0;s=this._client.calculateNonstreamingTimeout(e.max_tokens,t)}let n=ev(e.tools,e.messages);return this._client.post("/v1/messages",{body:e,timeout:s??6e5,...t,headers:eb([n,t?.headers]),stream:e.stream??!1})}parse(e,t){return this.create(e,t).then(t=>e0(t,e,{logger:this._client.logger??console}))}stream(e,t){return e4.createMessage(this,e,t,{logger:this._client.logger??console})}countTokens(e,t){return this._client.post("/v1/messages/count_tokens",{body:e,...t})}}let e3={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026","claude-3-5-haiku-latest":"February 19th, 2026","claude-3-5-haiku-20241022":"February 19th, 2026"},e9=["claude-opus-4-6"];e6.Batches=e5;class e8 extends em{retrieve(e,t={},s){let{betas:n}=t??{};return this._client.get(eR`/v1/models/${e}`,{...s,headers:eb([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},s?.headers])})}list(e={},t){let{betas:s,...n}=e??{};return this._client.getAPIList("/v1/models",en,{query:n,...t,headers:eb([{...s?.toString()!=null?{"anthropic-beta":s?.toString()}:void 0},t?.headers])})}}let e7=e=>void 0!==globalThis.process?globalThis.process.env?.[e]?.trim()??void 0:void 0!==globalThis.Deno?globalThis.Deno.env?.get?.(e)?.trim():void 0;class te{constructor({baseURL:e=e7("ANTHROPIC_BASE_URL"),apiKey:t=e7("ANTHROPIC_API_KEY")??null,authToken:s=e7("ANTHROPIC_AUTH_TOKEN")??null,...n}={}){ss.add(this),sr.set(this,void 0);const r={apiKey:t,authToken:s,...n,baseURL:e||"https://api.anthropic.com"};if(!r.dangerouslyAllowBrowser&&"u">typeof window&&void 0!==window.document&&"u">typeof navigator)throw new c("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew Anthropic({ apiKey, dangerouslyAllowBrowser: true });\n");this.baseURL=r.baseURL,this.timeout=r.timeout??sn.DEFAULT_TIMEOUT,this.logger=r.logger??console;const i="warn";this.logLevel=i,this.logLevel=D(r.logLevel,"ClientOptions.logLevel",this)??D(e7("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??i,this.fetchOptions=r.fetchOptions,this.maxRetries=r.maxRetries??2,this.fetch=r.fetch??function(){if("u">typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}(),a(this,sr,C,"f"),this._options=r,this.apiKey="string"==typeof t?t:null,this.authToken=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(e.get("x-api-key")||e.get("authorization")||this.apiKey&&e.get("x-api-key")||t.has("x-api-key")||this.authToken&&e.get("authorization"))&&!t.has("authorization"))throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders(e){return eb([await this.apiKeyAuth(e),await this.bearerAuth(e)])}async apiKeyAuth(e){if(null!=this.apiKey)return eb([{"X-Api-Key":this.apiKey}])}async bearerAuth(e){if(null!=this.authToken)return eb([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(e){return Object.entries(e).filter(([e,t])=>void 0!==t).map(([e,t])=>{if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(null===t)return`${encodeURIComponent(e)}=`;throw new c(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${A}`}defaultIdempotencyKey(){return`stainless-node-retry-${l()}`}makeStatusError(e,t,s,n){return d.generate(e,t,s,n)}buildURL(e,t,s){let n=!o(this,ss,"m",si).call(this)&&s||this.baseURL,r=new URL(S.test(e)?e:n+(n.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),i=this.defaultQuery();return!function(e){if(!e)return!0;for(let t in e)return!1;return!0}(i)&&(t={...i,...t}),"object"==typeof t&&t&&!Array.isArray(t)&&(r.search=this.stringifyQuery(t)),r.toString()}_calculateNonstreamingTimeout(e){if(3600*e/128e3>600)throw new c("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 6e5}async prepareOptions(e){}async prepareRequest(e,{url:t,options:s}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,s){return this.request(Promise.resolve(s).then(s=>({method:e,path:t,...s})))}request(e,t=null){return new ee(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,s){let n=await e,r=n.maxRetries??this.maxRetries;null==t&&(t=r),await this.prepareOptions(n);let{req:i,url:a,timeout:o}=await this.buildRequest(n,{retryCount:r-t});await this.prepareRequest(i,{url:a,options:n});let l="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),c=void 0===s?"":`, retryOf: ${s}`,d=Date.now();if(H(this).debug(`[${l}] sending request`,K({retryOfRequestLogID:s,method:n.method,url:a,options:n,headers:i.headers})),n.signal?.aborted)throw new p;let m=new AbortController,y=await this.fetchWithTimeout(a,i,o,m).catch(h),b=Date.now();if(y instanceof globalThis.Error){let e=`retrying, ${t} attempts remaining`;if(n.signal?.aborted)throw new p;let r=u(y)||/timed? ?out/i.test(String(y)+("cause"in y?String(y.cause):""));if(t)return H(this).info(`[${l}] connection ${r?"timed out":"failed"} - ${e}`),H(this).debug(`[${l}] connection ${r?"timed out":"failed"} (${e})`,K({retryOfRequestLogID:s,url:a,durationMs:b-d,message:y.message})),this.retryRequest(n,t,s??l);if(H(this).info(`[${l}] connection ${r?"timed out":"failed"} - error; no more retries left`),H(this).debug(`[${l}] connection ${r?"timed out":"failed"} (error; no more retries left)`,K({retryOfRequestLogID:s,url:a,durationMs:b-d,message:y.message})),r)throw new g;throw new f({cause:y})}let w=[...y.headers.entries()].filter(([e])=>"request-id"===e).map(([e,t])=>", "+e+": "+JSON.stringify(t)).join(""),_=`[${l}${c}${w}] ${i.method} ${a} ${y.ok?"succeeded":"failed"} with status ${y.status} in ${b-d}ms`;if(!y.ok){let e=await this.shouldRetry(y);if(t&&e){let e=`retrying, ${t} attempts remaining`;return await W(y.body),H(this).info(`${_} - ${e}`),H(this).debug(`[${l}] response error (${e})`,K({retryOfRequestLogID:s,url:y.url,status:y.status,headers:y.headers,durationMs:b-d})),this.retryRequest(n,t,s??l,y.headers)}let r=e?"error; no more retries left":"error; not retryable";H(this).info(`${_} - ${r}`);let i=await y.text().catch(e=>h(e).message),a=P(i),o=a?void 0:i;throw H(this).debug(`[${l}] response error (${r})`,K({retryOfRequestLogID:s,url:y.url,status:y.status,headers:y.headers,message:o,durationMs:Date.now()-d})),this.makeStatusError(y.status,a,o,y.headers)}return H(this).info(_),H(this).debug(`[${l}] response start`,K({retryOfRequestLogID:s,url:y.url,status:y.status,headers:y.headers,durationMs:b-d})),{response:y,options:n,controller:m,requestLogID:l,retryOfRequestLogID:s,startTime:d}}getAPIList(e,t,s){return this.requestAPIList(t,s&&"then"in s?s.then(t=>({method:"get",path:e,...t})):{method:"get",path:e,...s})}requestAPIList(e,t){return new es(this,this.makeRequest(t,null,void 0),e)}async fetchWithTimeout(e,t,s,n){let{signal:r,method:i,...a}=t||{},o=this._makeAbort(n);r&&r.addEventListener("abort",o,{once:!0});let l=setTimeout(o,s),u=globalThis.ReadableStream&&a.body instanceof globalThis.ReadableStream||"object"==typeof a.body&&null!==a.body&&Symbol.asyncIterator in a.body,h={signal:n.signal,...u?{duplex:"half"}:{},method:"GET",...a};i&&(h.method=i.toUpperCase());try{return await this.fetch.call(void 0,e,h)}finally{clearTimeout(l)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||!!(e.status>=500))}async retryRequest(e,t,s,n){let r,i,a=n?.get("retry-after-ms");if(a){let e=parseFloat(a);Number.isNaN(e)||(r=e)}let o=n?.get("retry-after");if(o&&!r){let e=parseFloat(o);r=Number.isNaN(e)?Date.parse(o)-Date.now():1e3*e}if(!(r&&0<=r&&r<6e4)){let s=e.maxRetries??this.maxRetries;r=this.calculateDefaultRetryTimeoutMillis(t,s)}return await (i=r,new Promise(e=>setTimeout(e,i))),this.makeRequest(e,t-1,s)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}calculateNonstreamingTimeout(e,t){if(36e5*e/128e3>6e5||null!=t&&e>t)throw new c("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 6e5}async buildRequest(e,{retryCount:t=0}={}){let s={...e},{method:n,path:r,query:i,defaultBaseURL:a}=s,o=this.buildURL(r,i,a);"timeout"in s&&((e,t)=>{if("number"!=typeof t||!Number.isInteger(t))throw new c(`${e} must be an integer`);if(t<0)throw new c(`${e} must be a positive integer`)})("timeout",s.timeout),s.timeout=s.timeout??this.timeout;let{bodyHeaders:l,body:u}=this.buildBody({options:s}),h=await this.buildHeaders({options:e,method:n,bodyHeaders:l,retryCount:t});return{req:{method:n,headers:h,...s.signal&&{signal:s.signal},...globalThis.ReadableStream&&u instanceof globalThis.ReadableStream&&{duplex:"half"},...u&&{body:u},...this.fetchOptions??{},...s.fetchOptions??{}},url:o,timeout:s.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:s,retryCount:r}){let i={};this.idempotencyHeader&&"get"!==t&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),i[this.idempotencyHeader]=e.idempotencyKey);let a=eb([i,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(r),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...n??(n=(()=>{let e="u">typeof Deno&&null!=Deno.build?"deno":"u">typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===e)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":A,"X-Stainless-OS":$(Deno.build.os),"X-Stainless-Arch":E(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("u">typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":A,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===e)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":A,"X-Stainless-OS":$(globalThis.process.platform??"unknown"),"X-Stainless-Arch":E(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=function(){if("u"<typeof navigator||!navigator)return null;for(let{key:e,pattern:t}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let s=t.exec(navigator.userAgent);if(s){let t=s[1]||0,n=s[2]||0,r=s[3]||0;return{browser:e,version:`${t}.${n}.${r}`}}}return null}();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":A,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":A,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})()),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders(e),this._options.defaultHeaders,s,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let s=eb([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||"string"==typeof e&&s.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:"object"==typeof e&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&"function"==typeof e.next)?{bodyHeaders:void 0,body:O(e)}:o(this,sr,"f").call(this,{body:e,headers:s})}}sn=te,sr=new WeakMap,ss=new WeakSet,si=function(){return"https://api.anthropic.com"!==this.baseURL},te.Anthropic=sn,te.HUMAN_PROMPT="\\n\\nHuman:",te.AI_PROMPT="\\n\\nAssistant:",te.DEFAULT_TIMEOUT=6e5,te.AnthropicError=c,te.APIError=d,te.APIConnectionError=f,te.APIConnectionTimeoutError=g,te.APIUserAbortError=p,te.NotFoundError=w,te.ConflictError=_,te.RateLimitError=v,te.BadRequestError=m,te.AuthenticationError=y,te.InternalServerError=x,te.PermissionDeniedError=b,te.UnprocessableEntityError=k,te.toFile=ef;class tt extends te{constructor(){super(...arguments),this.completions=new eQ(this),this.messages=new e6(this),this.models=new e8(this),this.beta=new eG(this)}}tt.Completions=eQ,tt.Messages=e6,tt.Models=e8,tt.Beta=eG;var ts,tn,tr,ti,ta,to,tl,tu,th,tc,td,tp,tf,tg,tm,ty,tb,tw,t_,tk,tv,tx,tS,tR,tM,tT,tP,tA,tE,t$,tI,tO,tj,tW,tC,tN,tq,tL,tU,tD,tF,tJ,tB,tX,tH,tK,tV,tz,tG,tQ,tY,tZ,t0,t1,t2,t4,t5,t6,t3,t9,t8,t7,se,st,ss,sn,sr,si,sa=s(65882),so=s(54925),sl=s(89230),su=s(31757),sh=s(2356),sc=s(47529),sd=s(60353),sp=s(86015),sf=s(87358);let sg=new Map(["Read","Write","Edit","Bash","Grep","Glob","AskUserQuestion","EnterPlanMode","ExitPlanMode","KillShell","NotebookEdit","Skill","Task","TaskOutput","TodoWrite","WebFetch","WebSearch"].map(e=>[e.toLowerCase(),e])),sm=e=>sg.get(e.toLowerCase())??e,sy=(e,t)=>{if(t&&t.length>0){let s=e.toLowerCase(),n=t.find(e=>e.name.toLowerCase()===s);if(n)return n.name}return e};function sb(e){if(!e.some(e=>"image"===e.type))return(0,sh.J)(e.map(e=>e.text).join("\n"));let t=e.map(e=>"text"===e.type?{type:"text",text:(0,sh.J)(e.text)}:{type:"image",source:{type:"base64",media_type:e.mimeType,data:e.data}});return t.some(e=>"text"===e.type)||t.unshift({type:"text",text:"(see attached image)"}),t}function sw(...e){let t={};for(let s of e)s&&Object.assign(t,s);return t}let s_=(e,t,s)=>{let n=new sl.Q2;return(async()=>{let r={role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let i,a;if(s?.client)i=s.client,a=!1;else{let n,r=s?.apiKey??(0,sa.P)(e.provider)??"";if("github-copilot"===e.provider){let e=(0,sc.d1)(t.messages);n=(0,sc.G0)({messages:t.messages,hasImages:e})}let o=function(e,t,s,n,r){let i=s&&!sk(e.id);if("github-copilot"===e.provider){let s=[];return i&&s.push("interleaved-thinking-2025-05-14"),{client:new tt({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:sw({accept:"application/json","anthropic-dangerous-direct-browser-access":"true",...s.length>0?{"anthropic-beta":s.join(",")}:{}},e.headers,r,n)}),isOAuthToken:!1}}let a=["fine-grained-tool-streaming-2025-05-14"];return(i&&a.push("interleaved-thinking-2025-05-14"),t.includes("sk-ant-oat"))?{client:new tt({apiKey:null,authToken:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:sw({accept:"application/json","anthropic-dangerous-direct-browser-access":"true","anthropic-beta":`claude-code-20250219,oauth-2025-04-20,${a.join(",")}`,"user-agent":"claude-cli/2.1.75","x-app":"cli"},e.headers,n)}),isOAuthToken:!0}:{client:new tt({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:sw({accept:"application/json","anthropic-dangerous-direct-browser-access":"true","anthropic-beta":a.join(",")},e.headers,n)}),isOAuthToken:!1}}(e,r,s?.interleavedThinking??!0,s?.headers,n);i=o.client,a=o.isOAuthToken}let o=function(e,t,s,n){var r,i;let{cacheControl:a}=function(e,t){let s=t||(void 0!==sf&&"long"===sf.env.PI_CACHE_RETENTION?"long":"short");if("none"===s)return{retention:s};let n="long"===s&&e.includes("api.anthropic.com")?"1h":void 0;return{retention:s,cacheControl:{type:"ephemeral",...n&&{ttl:n}}}}(e.baseUrl,n?.cacheRetention),o={model:e.id,messages:function(e,t,s,n){let r=[],i=(0,sp.b)(e,t,sx);for(let e=0;e<i.length;e++){let n=i[e];if("user"===n.role)if("string"==typeof n.content)n.content.trim().length>0&&r.push({role:"user",content:(0,sh.J)(n.content)});else{let e=n.content.map(e=>"text"===e.type?{type:"text",text:(0,sh.J)(e.text)}:{type:"image",source:{type:"base64",media_type:e.mimeType,data:e.data}}),s=t?.input.includes("image")?e:e.filter(e=>"image"!==e.type);if(0===(s=s.filter(e=>"text"!==e.type||e.text.trim().length>0)).length)continue;r.push({role:"user",content:s})}else if("assistant"===n.role){let e=[];for(let t of n.content)if("text"===t.type){if(0===t.text.trim().length)continue;e.push({type:"text",text:(0,sh.J)(t.text)})}else if("thinking"===t.type){if(t.redacted){e.push({type:"redacted_thinking",data:t.thinkingSignature});continue}if(0===t.thinking.trim().length)continue;t.thinkingSignature&&0!==t.thinkingSignature.trim().length?e.push({type:"thinking",thinking:(0,sh.J)(t.thinking),signature:t.thinkingSignature}):e.push({type:"text",text:(0,sh.J)(t.thinking)})}else"toolCall"===t.type&&e.push({type:"tool_use",id:t.id,name:s?sm(t.name):t.name,input:t.arguments??{}});if(0===e.length)continue;r.push({role:"assistant",content:e})}else if("toolResult"===n.role){let t=[];t.push({type:"tool_result",tool_use_id:n.toolCallId,content:sb(n.content),is_error:n.isError});let s=e+1;for(;s<i.length&&"toolResult"===i[s].role;){let e=i[s];t.push({type:"tool_result",tool_use_id:e.toolCallId,content:sb(e.content),is_error:e.isError}),s++}e=s-1,r.push({role:"user",content:t})}}if(n&&r.length>0){let e=r[r.length-1];if("user"===e.role)if(Array.isArray(e.content)){let t=e.content[e.content.length-1];t&&("text"===t.type||"image"===t.type||"tool_result"===t.type)&&(t.cache_control=n)}else"string"==typeof e.content&&(e.content=[{type:"text",text:e.content,cache_control:n}])}return r}(t.messages,e,s,a),max_tokens:n?.maxTokens||e.maxTokens/3|0,stream:!0};if(s?(o.system=[{type:"text",text:"You are Claude Code, Anthropic's official CLI for Claude.",...a?{cache_control:a}:{}}],t.systemPrompt&&o.system.push({type:"text",text:(0,sh.J)(t.systemPrompt),...a?{cache_control:a}:{}})):t.systemPrompt&&(o.system=[{type:"text",text:(0,sh.J)(t.systemPrompt),...a?{cache_control:a}:{}}]),n?.temperature===void 0||n?.thinkingEnabled||(o.temperature=n.temperature),t.tools&&(r=t.tools,i=s,o.tools=r?r.map(e=>{let t=e.parameters;return{name:i?sm(e.name):e.name,description:e.description,input_schema:{type:"object",properties:t.properties||{},required:t.required||[]}}}):[]),n?.thinkingEnabled&&e.reasoning&&(sk(e.id)?(o.thinking={type:"adaptive"},n.effort&&(o.output_config={effort:n.effort})):o.thinking={type:"enabled",budget_tokens:n.thinkingBudgetTokens||1024}),n?.metadata){let e=n.metadata.user_id;"string"==typeof e&&(o.metadata={user_id:e})}return n?.toolChoice&&("string"==typeof n.toolChoice?o.tool_choice={type:n.toolChoice}:o.tool_choice=n.toolChoice),o}(e,t,a,s),l=await s?.onPayload?.(o,e);void 0!==l&&(o=l);let u=i.messages.stream({...o,stream:!0},{signal:s?.signal});n.push({type:"start",partial:r});let h=r.content;for await(let s of u)if("message_start"===s.type)r.responseId=s.message.id,r.usage.input=s.message.usage.input_tokens||0,r.usage.output=s.message.usage.output_tokens||0,r.usage.cacheRead=s.message.usage.cache_read_input_tokens||0,r.usage.cacheWrite=s.message.usage.cache_creation_input_tokens||0,r.usage.totalTokens=r.usage.input+r.usage.output+r.usage.cacheRead+r.usage.cacheWrite,(0,so.yN)(e,r.usage);else if("content_block_start"===s.type){if("text"===s.content_block.type){let e={type:"text",text:"",index:s.index};r.content.push(e),n.push({type:"text_start",contentIndex:r.content.length-1,partial:r})}else if("thinking"===s.content_block.type){let e={type:"thinking",thinking:"",thinkingSignature:"",index:s.index};r.content.push(e),n.push({type:"thinking_start",contentIndex:r.content.length-1,partial:r})}else if("redacted_thinking"===s.content_block.type){let e={type:"thinking",thinking:"[Reasoning redacted]",thinkingSignature:s.content_block.data,redacted:!0,index:s.index};r.content.push(e),n.push({type:"thinking_start",contentIndex:r.content.length-1,partial:r})}else if("tool_use"===s.content_block.type){let e={type:"toolCall",id:s.content_block.id,name:a?sy(s.content_block.name,t.tools):s.content_block.name,arguments:s.content_block.input??{},partialJson:"",index:s.index};r.content.push(e),n.push({type:"toolcall_start",contentIndex:r.content.length-1,partial:r})}}else if("content_block_delta"===s.type){if("text_delta"===s.delta.type){let e=h.findIndex(e=>e.index===s.index),t=h[e];t&&"text"===t.type&&(t.text+=s.delta.text,n.push({type:"text_delta",contentIndex:e,delta:s.delta.text,partial:r}))}else if("thinking_delta"===s.delta.type){let e=h.findIndex(e=>e.index===s.index),t=h[e];t&&"thinking"===t.type&&(t.thinking+=s.delta.thinking,n.push({type:"thinking_delta",contentIndex:e,delta:s.delta.thinking,partial:r}))}else if("input_json_delta"===s.delta.type){let e=h.findIndex(e=>e.index===s.index),t=h[e];t&&"toolCall"===t.type&&(t.partialJson+=s.delta.partial_json,t.arguments=(0,su.o)(t.partialJson),n.push({type:"toolcall_delta",contentIndex:e,delta:s.delta.partial_json,partial:r}))}else if("signature_delta"===s.delta.type){let e=h.findIndex(e=>e.index===s.index),t=h[e];t&&"thinking"===t.type&&(t.thinkingSignature=t.thinkingSignature||"",t.thinkingSignature+=s.delta.signature)}}else if("content_block_stop"===s.type){let e=h.findIndex(e=>e.index===s.index),t=h[e];t&&(delete t.index,"text"===t.type?n.push({type:"text_end",contentIndex:e,content:t.text,partial:r}):"thinking"===t.type?n.push({type:"thinking_end",contentIndex:e,content:t.thinking,partial:r}):"toolCall"===t.type&&(t.arguments=(0,su.o)(t.partialJson),delete t.partialJson,n.push({type:"toolcall_end",contentIndex:e,toolCall:t,partial:r})))}else"message_delta"===s.type&&(s.delta.stop_reason&&(r.stopReason=function(e){switch(e){case"end_turn":case"pause_turn":case"stop_sequence":return"stop";case"max_tokens":return"length";case"tool_use":return"toolUse";case"refusal":case"sensitive":return"error";default:throw Error(`Unhandled stop reason: ${e}`)}}(s.delta.stop_reason)),null!=s.usage.input_tokens&&(r.usage.input=s.usage.input_tokens),null!=s.usage.output_tokens&&(r.usage.output=s.usage.output_tokens),null!=s.usage.cache_read_input_tokens&&(r.usage.cacheRead=s.usage.cache_read_input_tokens),null!=s.usage.cache_creation_input_tokens&&(r.usage.cacheWrite=s.usage.cache_creation_input_tokens),r.usage.totalTokens=r.usage.input+r.usage.output+r.usage.cacheRead+r.usage.cacheWrite,(0,so.yN)(e,r.usage));if(s?.signal?.aborted)throw Error("Request was aborted");if("aborted"===r.stopReason||"error"===r.stopReason)throw Error("An unknown error occurred");n.push({type:"done",reason:r.stopReason,message:r}),n.end()}catch(e){for(let e of r.content)delete e.index;r.stopReason=s?.signal?.aborted?"aborted":"error",r.errorMessage=e instanceof Error?e.message:JSON.stringify(e),n.push({type:"error",reason:r.stopReason,error:r}),n.end()}})(),n};function sk(e){return e.includes("opus-4-6")||e.includes("opus-4.6")||e.includes("sonnet-4-6")||e.includes("sonnet-4.6")}let sv=(e,t,s)=>{let n=s?.apiKey||(0,sa.P)(e.provider);if(!n)throw Error(`No API key for provider: ${e.provider}`);let r=(0,sd.QP)(e,s,n);if(!s?.reasoning)return s_(e,t,{...r,thinkingEnabled:!1});if(sk(e.id)){let n=function(e,t){switch(e){case"minimal":case"low":return"low";case"medium":return"medium";case"high":default:return"high";case"xhigh":return t.includes("opus-4-6")||t.includes("opus-4.6")?"max":"high"}}(s.reasoning,e.id);return s_(e,t,{...r,thinkingEnabled:!0,effort:n})}let i=(0,sd.xw)(r.maxTokens||0,e.maxTokens,s.reasoning,s.thinkingBudgets);return s_(e,t,{...r,maxTokens:i.maxTokens,thinkingEnabled:!0,thinkingBudgetTokens:i.thinkingBudget})};function sx(e){return e.replace(/[^a-zA-Z0-9_-]/g,"_").slice(0,64)}},86015:(e,t,s)=>{s.d(t,{b:()=>n});function n(e,t,s){let n=new Map,r=e.map(e=>{if("user"===e.role)return e;if("toolResult"===e.role){let t=n.get(e.toolCallId);return t&&t!==e.toolCallId?{...e,toolCallId:t}:e}if("assistant"===e.role){let r=e.provider===t.provider&&e.api===t.api&&e.model===t.id,i=e.content.flatMap(i=>{if("thinking"===i.type)return i.redacted?r?i:[]:r&&i.thinkingSignature?i:i.thinking&&""!==i.thinking.trim()?r?i:{type:"text",text:i.thinking}:[];if("text"===i.type)return r?i:{type:"text",text:i.text};if("toolCall"===i.type){let a=i;if(!r&&i.thoughtSignature&&(a={...i},delete a.thoughtSignature),!r&&s){let r=s(i.id,t,e);r!==i.id&&(n.set(i.id,r),a={...a,id:r})}return a}return i});return{...e,content:i}}return e}),i=[],a=[],o=new Set;for(let e=0;e<r.length;e++){let t=r[e];if("assistant"===t.role){if(a.length>0){for(let e of a)o.has(e.id)||i.push({role:"toolResult",toolCallId:e.id,toolName:e.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});a=[],o=new Set}if("error"===t.stopReason||"aborted"===t.stopReason)continue;let e=t.content.filter(e=>"toolCall"===e.type);e.length>0&&(a=e,o=new Set),i.push(t)}else if("toolResult"===t.role)o.add(t.toolCallId),i.push(t);else if("user"===t.role){if(a.length>0){for(let e of a)o.has(e.id)||i.push({role:"toolResult",toolCallId:e.id,toolName:e.name,content:[{type:"text",text:"No result provided"}],isError:!0,timestamp:Date.now()});a=[],o=new Set}i.push(t)}else i.push(t)}return i}}}]);