thursday-agent 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +5 -5
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +5 -5
  5. package/.next/server/app/_global-error/page/build-manifest.json +2 -2
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page/build-manifest.json +2 -2
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +10 -10
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/memory/files/route.js +1 -1
  23. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/route.js +8 -8
  25. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  26. package/.next/server/app/api/bot/route.js +8 -8
  27. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bot/thread/file/route.js +15 -15
  29. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  30. package/.next/server/app/api/bot/thread/route.js +5 -5
  31. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  32. package/.next/server/app/api/bot/tool-result/[id]/route.js +6 -6
  33. package/.next/server/app/api/bot/tool-result/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/config/route.js +3 -3
  35. package/.next/server/app/api/config/route.js.nft.json +1 -1
  36. package/.next/server/app/api/events/route.js +1 -1
  37. package/.next/server/app/api/events/route.js.nft.json +1 -1
  38. package/.next/server/app/api/favicon/[host]/route.js +4 -4
  39. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js +4 -4
  41. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/automatic/route.js +5 -5
  43. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/[provider]/route.js +5 -5
  45. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/[provider]/route.js +5 -5
  47. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/route.js +6 -6
  49. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  50. package/.next/server/app/api/llm-model/subscription/route.js +6 -6
  51. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  52. package/.next/server/app/api/mcp/[name]/route.js +5 -5
  53. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/mcp/oauth/callback/route.js +6 -6
  55. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  56. package/.next/server/app/api/mcp/route.js +5 -5
  57. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  58. package/.next/server/app/api/mcp/tools/route.js +5 -5
  59. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  60. package/.next/server/app/api/memory/edit/route.js +15 -15
  61. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  62. package/.next/server/app/api/memory/route.js +4 -4
  63. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  64. package/.next/server/app/api/reach/route.js +18 -18
  65. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  66. package/.next/server/app/api/routine/route.js +8 -8
  67. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  68. package/.next/server/app/api/running/route.js +2 -2
  69. package/.next/server/app/api/running/route.js.nft.json +1 -1
  70. package/.next/server/app/api/signins/route.js +3 -3
  71. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  72. package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
  73. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  74. package/.next/server/app/api/skills/route.js +6 -6
  75. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  76. package/.next/server/app/api/thursday/call/end/route.js +5 -5
  77. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  78. package/.next/server/app/api/thursday/call/plan/route.js +14 -14
  79. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  80. package/.next/server/app/api/thursday/call/route.js +6 -6
  81. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  82. package/.next/server/app/api/thursday/settings/route.js +5 -5
  83. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  84. package/.next/server/app/api/thursday/text/route.js +14 -14
  85. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  86. package/.next/server/app/api/thursday/tool-call/route.js +15 -15
  87. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  88. package/.next/server/app/api/update/route.js +7 -7
  89. package/.next/server/app/api/update/route.js.nft.json +1 -1
  90. package/.next/server/app/api/workspace/files/route.js +6 -6
  91. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  92. package/.next/server/app/api/workspace/route.js +6 -6
  93. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page/build-manifest.json +2 -2
  95. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  96. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  97. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/favicon.ico/route.js +2 -2
  99. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  100. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  101. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  102. package/.next/server/app/page/build-manifest.json +2 -2
  103. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  104. package/.next/server/app/page/server-reference-manifest.json +184 -184
  105. package/.next/server/app/page.js +10 -10
  106. package/.next/server/app/page.js.nft.json +1 -1
  107. package/.next/server/app/page_client-reference-manifest.js +1 -1
  108. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
  109. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +3 -3
  110. package/.next/server/chunks/{[root-of-the-server]__0wosonh._.js → [root-of-the-server]__05u-9a3._.js} +1 -1
  111. package/.next/server/chunks/{[root-of-the-server]__1dyse-1._.js → [root-of-the-server]__0_qe8iq._.js} +1 -1
  112. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__0jqidnu._.js +1 -1
  114. package/.next/server/chunks/[root-of-the-server]__0mmynvy._.js +2 -2
  115. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  116. package/.next/server/chunks/[root-of-the-server]__0qhf60h._.js +3 -0
  117. package/.next/server/chunks/[root-of-the-server]__0sea36s._.js +4 -4
  118. package/.next/server/chunks/[root-of-the-server]__0zezbds._.js +2 -2
  119. package/.next/server/chunks/[root-of-the-server]__12hkdpz._.js +1 -1
  120. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  121. package/.next/server/chunks/[root-of-the-server]__14inehv._.js +3 -0
  122. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +1 -1
  123. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +2 -2
  124. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  125. package/.next/server/chunks/{[root-of-the-server]__0b3_rzi._.js → [root-of-the-server]__1hjb8wf._.js} +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +2 -2
  127. package/.next/server/chunks/[root-of-the-server]__1jmr2ed._.js +3 -3
  128. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  129. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +2 -2
  130. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +2 -2
  131. package/.next/server/chunks/_0-mqt2w._.js +1 -1
  132. package/.next/server/chunks/_04s1gb9._.js +30 -27
  133. package/.next/server/chunks/_06u9yo-._.js +1 -1
  134. package/.next/server/chunks/_08354bn._.js +33 -30
  135. package/.next/server/chunks/_083t_nr._.js +1 -1
  136. package/.next/server/chunks/_0c-s0ei._.js +1 -1
  137. package/.next/server/chunks/_0gifi_2._.js +2 -2
  138. package/.next/server/chunks/_0m3sdq8._.js +1 -1
  139. package/.next/server/chunks/_0pljp-1._.js +1 -1
  140. package/.next/server/chunks/_0wjia9n._.js +1 -1
  141. package/.next/server/chunks/_0wyh244._.js +33 -30
  142. package/.next/server/chunks/_0x2mdif._.js +1 -1
  143. package/.next/server/chunks/_1-sk_q4._.js +1 -1
  144. package/.next/server/chunks/_12a_gfz._.js +1 -1
  145. package/.next/server/chunks/_14-kmob._.js +1 -1
  146. package/.next/server/chunks/_16zct7w._.js +30 -27
  147. package/.next/server/chunks/_1823_7a._.js +4 -4
  148. package/.next/server/chunks/_1f_x75d._.js +1 -1
  149. package/.next/server/chunks/_1o2r4ja._.js +1 -1
  150. package/.next/server/chunks/_1q42187._.js +3 -3
  151. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  152. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  153. package/.next/server/chunks/features_14kex_m._.js +11 -11
  154. package/.next/server/chunks/features_bot_08z387_._.js +4 -4
  155. package/.next/server/chunks/features_memory_0__61kl._.js +1 -1
  156. package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
  157. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +1 -1
  158. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
  159. package/.next/server/chunks/ssr/{[root-of-the-server]__0x297x3._.js → [root-of-the-server]__03_9u5q._.js} +2 -2
  160. package/.next/server/chunks/ssr/{[root-of-the-server]__0653diy._.js → [root-of-the-server]__04ky8w1._.js} +2 -2
  161. package/.next/server/chunks/ssr/{[root-of-the-server]__1zlzs9j._.js → [root-of-the-server]__0crm8gr._.js} +2 -2
  162. package/.next/server/chunks/ssr/{[root-of-the-server]__02936mh._.js → [root-of-the-server]__0d3n8i_._.js} +2 -2
  163. package/.next/server/chunks/ssr/{[root-of-the-server]__0s8q44q._.js → [root-of-the-server]__0d4o9hs._.js} +2 -2
  164. package/.next/server/chunks/ssr/[root-of-the-server]__0id2dqb._.js +1 -1
  165. package/.next/server/chunks/ssr/{[root-of-the-server]__1s0etwd._.js → [root-of-the-server]__0q2c15o._.js} +2 -2
  166. package/.next/server/chunks/ssr/[root-of-the-server]__0t_oz3-._.js +6 -0
  167. package/.next/server/chunks/ssr/{[root-of-the-server]__16x99f1._.js → [root-of-the-server]__12r70jm._.js} +1 -1
  168. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  169. package/.next/server/chunks/ssr/{[root-of-the-server]__0glkz9k._.js → [root-of-the-server]__1fvh0zn._.js} +2 -2
  170. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +1 -1
  171. package/.next/server/chunks/ssr/{[root-of-the-server]__1c1xyyb._.js → [root-of-the-server]__1uy0zqr._.js} +2 -2
  172. package/.next/server/chunks/ssr/_02uubus._.js +3 -0
  173. package/.next/server/chunks/ssr/_0692i-a._.js +3 -0
  174. package/.next/server/chunks/ssr/_079xt7h._.js +32 -29
  175. package/.next/server/chunks/ssr/_07g7ojr._.js +3 -0
  176. package/.next/server/chunks/ssr/_0ewhz_x._.js +3 -0
  177. package/.next/server/chunks/ssr/_0f3t9pm._.js +2 -2
  178. package/.next/server/chunks/ssr/_0gx6qzr._.js +57 -0
  179. package/.next/server/chunks/ssr/_0pjwmak._.js +6 -0
  180. package/.next/server/chunks/ssr/_0pnzfq1._.js +1 -1
  181. package/.next/server/chunks/ssr/_0px9eat._.js +3 -0
  182. package/.next/server/chunks/ssr/_0r2_l__._.js +3 -0
  183. package/.next/server/chunks/ssr/{_20_wc-g._.js → _0rcuovx._.js} +2 -2
  184. package/.next/server/chunks/ssr/_0uwhhcs._.js +3 -0
  185. package/.next/server/chunks/ssr/{_1wct0tm._.js → _128r03g._.js} +1 -1
  186. package/.next/server/chunks/ssr/_12c2n7f._.js +3 -0
  187. package/.next/server/chunks/ssr/{_12_ail7._.js → _14f64h2._.js} +1 -1
  188. package/.next/server/chunks/ssr/_17fa2ns._.js +162 -0
  189. package/.next/server/chunks/ssr/_1_px1o-._.js +3 -0
  190. package/.next/server/chunks/ssr/_1a_w_du._.js +1 -1
  191. package/.next/server/chunks/ssr/_1e_9qjr._.js +1 -1
  192. package/.next/server/chunks/ssr/_1f59vze._.js +57 -0
  193. package/.next/server/chunks/ssr/_1j5ohq5._.js +3 -0
  194. package/.next/server/chunks/ssr/{_0ingto_._.js → _1kj3d2q._.js} +2 -2
  195. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  196. package/.next/server/chunks/ssr/_1ocl7u0._.js +3 -0
  197. package/.next/server/chunks/ssr/_1q9r6u6._.js +3 -0
  198. package/.next/server/chunks/ssr/{_0fvctar._.js → _1qqusa-._.js} +2 -2
  199. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  200. package/.next/server/chunks/ssr/_1uok0wt._.js +3 -0
  201. package/.next/server/chunks/ssr/_1v1pcoh._.js +1 -1
  202. package/.next/server/chunks/ssr/_1xw9imq._.js +3 -0
  203. package/.next/server/chunks/ssr/{components_ui_markdown-body_tsx_0h7bkrz._.js → components_ui_markdown-body_tsx_08i96c6._.js} +2 -2
  204. package/.next/server/chunks/ssr/features_0rrgq_t._.js +1 -1
  205. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  206. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +2 -2
  207. package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +1 -1
  208. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  209. package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +1 -1
  210. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +2 -2
  211. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  212. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +2 -2
  213. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  214. package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +1 -1
  215. package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +1 -1
  216. package/.next/server/chunks/ssr/{node_modules_193w7l8._.js → node_modules_02djdfa._.js} +2 -2
  217. package/.next/server/chunks/ssr/{node_modules_1bwlhwa._.js → node_modules_03ybg-h._.js} +1 -1
  218. package/.next/server/chunks/ssr/{node_modules_01xoz64._.js → node_modules_066eqdg._.js} +1 -1
  219. package/.next/server/chunks/ssr/{node_modules_20ifwl6._.js → node_modules_09605b3._.js} +1 -1
  220. package/.next/server/chunks/ssr/{node_modules_1yilsx4._.js → node_modules_0_c17cv._.js} +1 -1
  221. package/.next/server/chunks/ssr/{node_modules_080f5gu._.js → node_modules_0a1-9-h._.js} +1 -1
  222. package/.next/server/chunks/ssr/{node_modules_17c047f._.js → node_modules_0bfpl_c._.js} +1 -1
  223. package/.next/server/chunks/ssr/{node_modules_1pav8g4._.js → node_modules_0brchjo._.js} +1 -1
  224. package/.next/server/chunks/ssr/{node_modules_0gwiuga._.js → node_modules_0c0pgdi._.js} +1 -1
  225. package/.next/server/chunks/ssr/{node_modules_02-zrtu._.js → node_modules_0ep265x._.js} +1 -1
  226. package/.next/server/chunks/ssr/{node_modules_0kqej10._.js → node_modules_0gzvt6a._.js} +2 -2
  227. package/.next/server/chunks/ssr/{node_modules_0i18max._.js → node_modules_0h4gjw5._.js} +1 -1
  228. package/.next/server/chunks/ssr/{node_modules_1m2_gxv._.js → node_modules_0iso-he._.js} +1 -1
  229. package/.next/server/chunks/ssr/{node_modules_0cda8i6._.js → node_modules_0jvqmb4._.js} +1 -1
  230. package/.next/server/chunks/ssr/node_modules_0kzgugm._.js +3 -0
  231. package/.next/server/chunks/ssr/{node_modules_0uvoegq._.js → node_modules_0l8gpkg._.js} +1 -1
  232. package/.next/server/chunks/ssr/{node_modules_12ajdg8._.js → node_modules_0mlrvds._.js} +2 -2
  233. package/.next/server/chunks/ssr/node_modules_0nvqvnw._.js +7 -7
  234. package/.next/server/chunks/ssr/{node_modules_1s3j8gb._.js → node_modules_0ogtyfm._.js} +2 -2
  235. package/.next/server/chunks/ssr/{node_modules_1_xiwxs._.js → node_modules_0os_-0h._.js} +1 -1
  236. package/.next/server/chunks/ssr/{node_modules_1abjhxx._.js → node_modules_0p05zru._.js} +1 -1
  237. package/.next/server/chunks/ssr/{node_modules_1o-m6_3._.js → node_modules_0pf8124._.js} +2 -2
  238. package/.next/server/chunks/ssr/{node_modules_0eqvt2l._.js → node_modules_0pp3v4f._.js} +2 -2
  239. package/.next/server/chunks/ssr/{node_modules_0rzz90e._.js → node_modules_0r1vv13._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules_1kum1yu._.js → node_modules_0r9yw6x._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules_1yw5fq4._.js → node_modules_0rk1a3e._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1es3wjv._.js → node_modules_0sq1pa3._.js} +2 -2
  243. package/.next/server/chunks/ssr/{node_modules_1-cv1_p._.js → node_modules_0w-pjyz._.js} +2 -2
  244. package/.next/server/chunks/ssr/{node_modules_0g_yuwn._.js → node_modules_0yoh66_._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_1s9agqr._.js → node_modules_10kn3ni._.js} +2 -2
  246. package/.next/server/chunks/ssr/{node_modules_1yajzrd._.js → node_modules_124ipg-._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0svoyrb._.js → node_modules_12_p7d0._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_203yqqb._.js → node_modules_12w12wr._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_17ks351._.js → node_modules_16kmp_v._.js} +2 -2
  250. package/.next/server/chunks/ssr/{node_modules_05qs8r_._.js → node_modules_16m_yhd._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_07dc1cr._.js → node_modules_171uvar._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0qsi9t2._.js → node_modules_19pn2ti._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_0k9_jdk._.js → node_modules_1_ly5yy._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0o_gq58._.js → node_modules_1_wsn9q._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1u7wlaq._.js → node_modules_1djak6n._.js} +2 -2
  256. package/.next/server/chunks/ssr/{node_modules_08cq8i-._.js → node_modules_1e-oxmh._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_15x7int._.js → node_modules_1ed4zep._.js} +2 -2
  258. package/.next/server/chunks/ssr/{node_modules_1pkpq6d._.js → node_modules_1f2qlxm._.js} +2 -2
  259. package/.next/server/chunks/ssr/{node_modules_1aw7c9f._.js → node_modules_1fn72fs._.js} +2 -2
  260. package/.next/server/chunks/ssr/node_modules_1h9p77x._.js +7 -7
  261. package/.next/server/chunks/ssr/{node_modules_1ucf2fi._.js → node_modules_1hj0rvo._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_12pvysk._.js → node_modules_1jvkoqj._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_0tq4-57._.js → node_modules_1jzofr8._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_08hfp3a._.js → node_modules_1maqy-g._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_071fb26._.js → node_modules_1oox5h1._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_0_jxnnn._.js → node_modules_1p56fwh._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_01yukzc._.js → node_modules_1prbr1-._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_1hrbceb._.js → node_modules_1qfou69._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_11f1w-3._.js → node_modules_1qnosqe._.js} +2 -2
  270. package/.next/server/chunks/ssr/{node_modules_1kd_hpx._.js → node_modules_1rdpn6v._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_079iwnx._.js → node_modules_1v6m9sp._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_1iapzqf._.js → node_modules_1z8ywx9._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_1dim95c._.js → node_modules_1zzudo-._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_1_71wv3._.js → node_modules_2157u1j._.js} +2 -2
  275. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1c5gb92._.js → node_modules_katex_dist_katex_mjs_12lynt6._.js} +1 -1
  276. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1ocxq2z._.js → node_modules_katex_dist_katex_mjs_1vjoadq._.js} +1 -1
  277. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1v93o68._.js +1 -1
  278. package/.next/server/middleware-build-manifest.js +5 -5
  279. package/.next/server/pages/404.html +1 -1
  280. package/.next/server/pages/500.html +1 -1
  281. package/.next/server/server-reference-manifest.js +1 -1
  282. package/.next/server/server-reference-manifest.json +185 -185
  283. package/.next/static/chunks/051z85h3ofmif.js +1 -0
  284. package/.next/static/chunks/05722zc-sohb_.js +4 -0
  285. package/.next/static/chunks/07jo959manleh.js +1 -0
  286. package/.next/static/chunks/0_5a18_y41-_4.js +1 -0
  287. package/.next/static/chunks/0be7dgti95u_2.js +1 -0
  288. package/.next/static/chunks/0c28x0q2aqsbj.js +1 -0
  289. package/.next/static/chunks/0o_rabv5are-o.js +2 -0
  290. package/.next/static/chunks/{0776-hu4_eek7.js → 0wwq57j09skhy.js} +2 -2
  291. package/.next/static/chunks/0zm3urd75-zw5.js +1 -0
  292. package/.next/static/chunks/16hfi69t-6a4t.js +2 -0
  293. package/.next/static/chunks/1g58g8-daiwu5.js +3 -0
  294. package/.next/static/chunks/1i1u85j-_yb1n.js +15 -0
  295. package/.next/static/chunks/1kd2sxkkrae8e.js +1 -0
  296. package/.next/static/chunks/{3xloayc4c096r.js → 1n3a07w81jbc-.js} +1 -1
  297. package/.next/static/chunks/1nncyxatu7une.js +1 -0
  298. package/.next/static/chunks/1s5t41jiomssd.css +1 -0
  299. package/.next/static/chunks/1yl4mlpsw8e7h.js +1 -0
  300. package/.next/static/chunks/{33qtnlc00c9gq.js → 2gl-fo_rmmmq0.js} +1 -1
  301. package/.next/static/chunks/2h_sak2oi70qs.js +1 -0
  302. package/.next/static/chunks/2isg5redeg2bc.js +1 -0
  303. package/.next/static/chunks/{2fxn-xltgy2un.js → 2of2-kggzp-fk.js} +1 -1
  304. package/.next/static/chunks/2vmran3sacktz.js +1 -0
  305. package/.next/static/chunks/2w02v9g8o9-rz.js +1 -0
  306. package/.next/static/chunks/2wi2pcbjrqm86.js +1 -0
  307. package/.next/static/chunks/2xk8otp3gnzml.js +1 -0
  308. package/.next/static/chunks/2ym1hrikoit8p.js +1 -0
  309. package/.next/static/chunks/34d1f980dv5c6.js +18 -0
  310. package/.next/static/chunks/34zhr71217o1-.js +2 -0
  311. package/.next/static/chunks/{0o1r15rfncytn.js → 37r4l2878vybp.js} +1 -1
  312. package/.next/static/chunks/{2cz5734j90h5b.js → 3a-2z23puvz2z.js} +1 -1
  313. package/.next/static/chunks/3d55-y263hup9.js +1 -0
  314. package/.next/static/chunks/3dzrveotr82eu.js +39 -0
  315. package/.next/static/chunks/3fensfht8pxhl.js +55 -0
  316. package/.next/static/chunks/3k7fum0yljmyr.js +1 -0
  317. package/.next/static/chunks/3sawwm4vucnzn.js +1 -0
  318. package/.next/static/chunks/{0z0-g4k1hnpw2.js → 3u208m--8u1iq.js} +1 -1
  319. package/.next/static/chunks/{turbopack-1kym6rf88i5i0.js → turbopack-0ekrsq98buh0j.js} +1 -1
  320. package/README.md +18 -18
  321. package/bin/background.mjs +60 -32
  322. package/bin/print.mjs +82 -0
  323. package/bin/thursday.mjs +44 -13
  324. package/guide/bots.md +19 -3
  325. package/guide/calls.md +5 -2
  326. package/guide/memory.md +2 -1
  327. package/guide/setup.md +8 -6
  328. package/guide/trouble.md +4 -0
  329. package/package.json +11 -5
  330. package/public/voices/intro/awake-f4e02fad.ogg +0 -0
  331. package/seed-skills/concierge/travel/scripts/itinerary.mjs +2 -1
  332. package/server.js +1 -1
  333. package/skills/artifact/references/document.md +5 -2
  334. package/skills/artifact/runtime/document/markdown.mjs +14 -1
  335. package/skills/artifact/runtime/shell/head.html +1 -1
  336. package/skills/artifact/scripts/document.mjs +9 -3
  337. package/skills/browser/SKILL.md +17 -13
  338. package/.next/server/chunks/[root-of-the-server]__0ald4vb._.js +0 -3
  339. package/.next/server/chunks/[root-of-the-server]__0srfj96._.js +0 -3
  340. package/.next/server/chunks/ssr/[root-of-the-server]__1kos36s._.js +0 -6
  341. package/.next/server/chunks/ssr/_024j8bs._.js +0 -3
  342. package/.next/server/chunks/ssr/_04jb10a._.js +0 -3
  343. package/.next/server/chunks/ssr/_059oyhd._.js +0 -3
  344. package/.next/server/chunks/ssr/_0d0uyl3._.js +0 -3
  345. package/.next/server/chunks/ssr/_0fk7dbp._.js +0 -88
  346. package/.next/server/chunks/ssr/_0gfa_rb._.js +0 -3
  347. package/.next/server/chunks/ssr/_0i7zd74._.js +0 -3
  348. package/.next/server/chunks/ssr/_0sp2z94._.js +0 -3
  349. package/.next/server/chunks/ssr/_1avnw03._.js +0 -57
  350. package/.next/server/chunks/ssr/_1bfrntd._.js +0 -6
  351. package/.next/server/chunks/ssr/_1cpvfkg._.js +0 -3
  352. package/.next/server/chunks/ssr/_1cqjpyq._.js +0 -3
  353. package/.next/server/chunks/ssr/_1khngyc._.js +0 -72
  354. package/.next/server/chunks/ssr/_1kyjimg._.js +0 -162
  355. package/.next/server/chunks/ssr/_1sw4r4m._.js +0 -6
  356. package/.next/server/chunks/ssr/_20004tu._.js +0 -57
  357. package/.next/server/chunks/ssr/node_modules_01alue6._.js +0 -3
  358. package/.next/server/chunks/ssr/node_modules_02n9-pb._.js +0 -3
  359. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0zxr5sz._.js +0 -3
  360. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +0 -3
  361. package/.next/static/chunks/02d9vhnz5mwvu.js +0 -1
  362. package/.next/static/chunks/06ff4fq0z4das.js +0 -1
  363. package/.next/static/chunks/09q9n7jrkm4c9.js +0 -39
  364. package/.next/static/chunks/0b3wt5kqs-mk2.js +0 -2
  365. package/.next/static/chunks/0blrj_tg1yur0.js +0 -1
  366. package/.next/static/chunks/0dn1ptom1ahgg.js +0 -18
  367. package/.next/static/chunks/0dq7uppta9s--.js +0 -1
  368. package/.next/static/chunks/0hoz2b--nhn4y.js +0 -1
  369. package/.next/static/chunks/0kfjtkez2xze2.js +0 -1
  370. package/.next/static/chunks/0mv2zywfzt83k.js +0 -4
  371. package/.next/static/chunks/0txtrhykehsd_.js +0 -55
  372. package/.next/static/chunks/17vs1vz7_4l4p.css +0 -1
  373. package/.next/static/chunks/1dnvf_117h4k3.js +0 -2
  374. package/.next/static/chunks/1irynso77np9t.js +0 -1
  375. package/.next/static/chunks/1sh_-w_keseat.js +0 -1
  376. package/.next/static/chunks/1z2_9pl3nezly.js +0 -3
  377. package/.next/static/chunks/23ty4edkuxirx.js +0 -1
  378. package/.next/static/chunks/2f1cnfz4h1e2x.js +0 -1
  379. package/.next/static/chunks/2jepcbdewlwlg.js +0 -1
  380. package/.next/static/chunks/2r_zq_knm0hph.js +0 -15
  381. package/.next/static/chunks/2yfmmo4qr_f-m.js +0 -1
  382. package/.next/static/chunks/3-xnkknav7azp.js +0 -1
  383. package/.next/static/chunks/38q31td1ecuay.js +0 -1
  384. package/.next/static/chunks/3n75-7grldc6f.js +0 -1
  385. package/.next/static/chunks/3ofr4htw4wpj3.js +0 -1
  386. package/.next/static/chunks/40bkw3zfenss4.js +0 -2
  387. package/public/voices/intro/awake-17dbafbf.ogg +0 -0
  388. package/public/voices/intro/models-d09ddc74.ogg +0 -0
  389. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_buildManifest.js +0 -0
  390. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_clientMiddlewareManifest.js +0 -0
  391. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[901729,a=>{"use strict";var b=a.i(187924),c=a.i(707963),d=a.i(141146),e=a.i(168370),f=a.i(998697),g=a.i(164831);let h={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};h.node;let i=(0,g.default)(h);var j=a.i(707938),k=a.i(483138),l=a.i(69095),m=a.i(844561),n=a.i(71215),o=a.i(649268);let p={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};p.node;let q=(0,g.default)(p);var r=a.i(951675),s=a.i(586446),t=a.i(572131),u=a.i(767561),v=a.i(340695),w=a.i(446181),x=a.i(287702),y=a.i(619477),z=a.i(369768),A=a.i(530365),B=a.i(405050);let C=(0,B.createServerReference)("7f8cb9900672365c48c2944ec0bd68db4e9086f4af",B.callServer,void 0,B.findSourceMapURL,"emptyScratchAction");var D=a.i(613842),E=a.i(199169),F=a.i(313237),G=a.i(759497),H=a.i(497895);let I={markdown:k.FileText,csv:q,json:j.FileJson,text:k.FileText,frame:i,image:n.Image,audio:o.Music,video:s.Video,none:f.File};function J({label:a,rows:c,children:d}){return 0===c.length?null:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground",children:a}),d]})}function K({entry:a,active:c,onPick:e}){let f="dir"===a.kind?l.Folder:I[a.view];return(0,b.jsxs)("button",{type:"button",onClick:e,title:"file"===a.kind?`${a.name} \xb7 ${(0,E.shortAgo)(a.at)}`:a.name,className:(0,H.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",c?(0,H.cn)(y.PICKED_ROW,"font-medium"):"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,b.jsx)(f,{className:"size-3.5 shrink-0 opacity-70"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.name}),"file"===a.kind?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:(0,H.formatBytes)(a.bytes)}),(0,b.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,b.jsx)(d.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function L({empty:a}){return(0,b.jsx)("div",{className:"space-y-4 p-8",children:a?(0,b.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:["Nothing here yet. What a bot writes during a call lands in"," ",(0,b.jsxs)("span",{className:"font-mono text-[13px] text-foreground",children:[x.PATHS.artifacts,"/"]})," ","— a page, a table, a picture — and shows up here to open."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"Pick a file on the left."}),(0,b.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Only what the app can open is listed — a page, a table, a picture, a note. Installed packages and tool leftovers are left out, and no folder is measured, so a folder opens as fast as it lists. Reveal folder, at the foot, opens everything else."})]})})}function M({file:a,onGone:c}){let d=a.path,[f]=(0,F.useServerAction)(D.revealFileAction),[g,h]=(0,F.useServerAction)(A.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,G.revalidate)(u.queryKey.workspace),c()}}),i=async()=>{await w.notify.confirm({title:`Delete ${d.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&g(d)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-b border-border/60 px-6 py-2",children:[(0,b.jsx)(N,{path:d}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:[(0,H.formatBytes)(a.bytes)," · ",(0,E.shortAgo)(a.at)]}),(0,b.jsx)("a",{href:u.queryKey.fileView(d),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(e.ExternalLink,{className:"size-4"})}),(0,b.jsx)(v.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>f(d),children:(0,b.jsx)(m.FolderOpen,{})}),(0,b.jsx)(v.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:h,className:"text-muted-foreground",onClick:i,children:(0,b.jsx)(r.Trash2,{})})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,b.jsx)(z.FilePreview,{path:d,bytes:a.bytes})})]})}function N({path:a}){let c=["workspace",...a.split("/").filter(Boolean)];return(0,b.jsx)("span",{className:"flex min-w-0 flex-1 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:c.map((a,e)=>(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[e>0&&(0,b.jsx)(d.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,b.jsx)("span",{className:(0,H.cn)("truncate",e===c.length-1&&"text-foreground"),children:a})]},`${e}-${a}`))})}a.s(["WorkspaceSetting",0,function(){let[a,d]=(0,t.useState)(""),[e,f]=(0,t.useState)(x.WORKSPACE_VIEW.rows),[g,h]=(0,t.useState)(null),[i,j]=(0,t.useState)(""),{data:k,isLoading:l,error:n}=(0,G.useServerRoute)(u.queryKey.workspaceFolder(a,e),{keepPreviousData:!0}),o=a=>{d(a),f(x.WORKSPACE_VIEW.rows)},[p,q]=(0,F.useServerAction)(C,{okMessage:"Scratch emptied",onOk:()=>(0,G.revalidate)(u.queryKey.workspace)}),[r]=(0,F.useServerAction)(D.revealFileAction),s=async()=>{await w.notify.confirm({title:"Empty scratch?",description:`Everything under ${x.PATHS.scratch}/ is deleted for good. ${x.PATHS.artifacts}/ and ${x.PATHS.projects}/ are untouched.`,okText:"Empty",destructive:!0})&&p()};if(l)return(0,b.jsx)(y.SettingPanesSkeleton,{});if(n)return(0,b.jsx)(y.SettingError,{message:n.message});let z=k?.entries??[],A=k?.total??0,B=i.trim().toLowerCase(),E=B?z.filter(a=>a.name.toLowerCase().includes(B)):z,H=E.filter(a=>"dir"===a.kind),I=E.filter(a=>"file"===a.kind),N=""!==a||z.some(a=>"dir"===a.kind&&a.name===x.PATHS.scratch),O=z.find(a=>"file"===a.kind&&a.path===g?.path)??g;return(0,b.jsx)(y.SettingPanes,{footer:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(y.SettingRailNote,{children:(0,b.jsxs)("span",{className:"font-mono",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:`${x.PATHS.workspace}${a?`/${a}`:""}`}),` \xb7 ${function(a,b){let c=a.filter(a=>"dir"===a.kind).length,d=a.length-c,e=[c&&`${c} ${1===c?"folder":"folders"}`,d&&`${d} ${1===d?"file":"files"}`].filter(Boolean);if(!e.length)return"empty";let f=e.join(" · ");return b>a.length?`${f} of ${b.toLocaleString("en")}`:f}(z,A)}`]})}),(0,b.jsxs)(v.Button,{variant:"outline",size:"sm",onClick:()=>r(a||"."),children:[(0,b.jsx)(m.FolderOpen,{}),"Reveal folder"]}),N&&(0,b.jsx)(v.Button,{variant:"outline",size:"sm",loading:q,onClick:s,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,b.jsxs)("div",{className:"flex flex-col py-2",children:[(0,b.jsx)(y.SettingFilter,{value:i,onChange:j,placeholder:"Filter this folder",className:"mx-2 mb-1.5 w-auto"}),a&&(0,b.jsxs)("button",{type:"button",onClick:()=>o(a.split("/").slice(0,-1).join("/")),className:"mx-2 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,b.jsx)(c.ChevronLeft,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a.split("/").slice(0,-1).pop()??"workspace"})]}),0===E.length?(0,b.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground",children:B?"Nothing matches":"Empty folder"}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(J,{label:"folders",rows:H,children:H.map(a=>(0,b.jsx)(K,{entry:a,onPick:()=>o(a.path)},a.path))}),(0,b.jsx)(J,{label:"files",rows:I,children:I.map(a=>(0,b.jsx)(K,{entry:a,active:a.path===g?.path,onPick:()=>"file"===a.kind&&h(a)},a.path))})]}),A>z.length&&(0,b.jsx)("button",{type:"button",onClick:()=>f(e+x.WORKSPACE_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(x.WORKSPACE_VIEW.rows,A-z.length)} more of ${A.toLocaleString("en")}`})]}),right:O?.kind==="file"?(0,b.jsx)(M,{file:O,onGone:()=>h(null)},O.path):(0,b.jsx)(L,{empty:!a&&0===z.length})})}],901729)},530365,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fb032f1365c4590741fb41e5393384b8aa6dd1cda",b.callServer,void 0,b.findSourceMapURL,"deleteWorkspaceFileAction");a.s(["deleteWorkspaceFileAction",0,c])},69095,a=>{"use strict";var b=a.i(164831);let c={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};c.node;let d=(0,b.default)(c);a.s(["Folder",0,d],69095)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
2
+
3
+ //# sourceMappingURL=_1uok0wt._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[148016,a=>{"use strict";let b=a=>a.split("/").map(encodeURIComponent).join("/");a.s(["decodePagePath",0,a=>a.map(decodeURIComponent).join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:a=>({url:"/api/memory",query:{offset:a||null}}),mcp:"/api/mcp",mcpServer:a=>({url:"/api/mcp",pathVariable:[a]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(a,b,c)=>({url:"/api/skills",pathVariable:[a,b],query:{path:c}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:a=>({url:"/api/bot/memory/files",query:{bot:a}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:a=>({url:"/api/bot/thread",query:{history:1,before:a}}),thread:a=>({url:"/api/bot/thread",query:{id:a}}),fileNotes:"/api/bot/thread/file",fileNote:(a,b)=>({url:"/api/bot/thread/file",query:{path:a,from:b}}),toolResult:(a,b)=>({url:"/api/bot/tool-result",pathVariable:[a],query:{call:b}}),workspace:"/api/workspace",workspaceFolder:(a,b)=>({url:"/api/workspace",query:{path:a||null,rows:b}}),workspaceFiles:a=>({url:"/api/workspace/files",query:{paths:JSON.stringify(a)}}),artifacts:"/api/artifact",artifactShelf:a=>({url:"/api/artifact",query:{rows:a}}),artifactSet:(a,b)=>({url:"/api/artifact",query:{set:a,rows:b}}),file:a=>`/api/file/${b(a)}`,fileFace:a=>`/api/file/${b(a)}?face`,favicon:a=>`/api/favicon/${encodeURIComponent(a)}`,fileView:a=>`/artifact/${b(a)}`,events:"/api/events",config:"/api/config",callHistory:a=>({url:"/api/thursday/call",query:{before:a}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:a=>`/api/llm-model/catalog/${a}`,keyCredits:a=>`/api/llm-model/credits/${a}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running",update:"/api/update"}])},62721,a=>{"use strict";let b="currentColor",c=[{id:"system",label:"System",value:b},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],d=Object.fromEntries(c.map(a=>[a.id,a.value])),e=c.filter(a=>a.value!==b).map(a=>a.value),f=[d.amber,d.red],g={[d.cyan]:"#009dbb",[d.teal]:"#00a190",[d.green]:"#00a640",[d.lime]:"#5ca100",[d.amber]:"#d07b00",[d.orange]:"#ec6700",[d.sky]:"#0098dc",[d.emerald]:"#00a46d",[d.yellow]:"#bb8600"},h={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(a=>`oklch(0.77 0.16 ${a})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},i=Object.keys(h);a.s(["MARK_INK",0,d,"MARK_PAINTS",0,h,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,b,"markInk",0,(a,b)=>b?a:g[a]??a,"randomMarkFill",0,function(){let a=[...e.filter(a=>!f.includes(a)).map(a=>({color:a})),...i.map(a=>({paint:a}))];return a[Math.floor(Math.random()*a.length)]}])},569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(552556),j=a.i(344853),k=a.i(725466),l=a.i(3894),m=b([g,j,k]);async function n(){let a=function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(await (0,k.readConfig)(l.THURSDAY_KEYS.settings)),b=i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a));return a?b:{...b,readSkills:await o()}}async function o(){return(await (0,k.readConfig)(l.THURSDAY_KEYS.wasSkills))?.trim()==="on"}async function p(a){let b=Object.fromEntries(Object.entries(a).filter(([a,b])=>b!==i.LIVE_DEFAULTS[a]));await (0,k.writeConfig)(l.THURSDAY_KEYS.settings,JSON.stringify(b))}async function q(a){let b=i.LiveSettingsSchema.partial().parse(a),c=Object.fromEntries(Object.entries(b).filter(([b])=>b in a));await p({...await n(),...c})}async function r(a){return!await (0,k.readConfig)(l.THURSDAY_KEYS.settings)&&(await p({...i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a)),readSkills:await o()}),!0)}async function s(a){let[b]=await g.database.insert(h.callTable).values({id:crypto.randomUUID(),...a}).returning({id:h.callTable.id});return b.id}async function t(a,b){return(await g.database.update(h.callTable).set({endedAt:new Date,...b?{endedReason:b.reason,seconds:b.seconds??null}:{}}).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function u(a,b){for(let c of b)await g.database.insert(h.callMessageTable).values({callId:a,...c,fragments:c.fragments??null}).onConflictDoUpdate({target:[h.callMessageTable.callId,h.callMessageTable.id],set:{text:c.text,role:c.role,tool:c.tool??null,fragments:c.fragments??null}})}async function v(a){let[b]=await g.database.select({seq:f.sql`max(${h.callMessageTable.seq})`}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a));return b?.seq==null?0:Number(b.seq)+1}async function w(a,b){await g.database.insert(h.callThoughtTable).values({callId:a,...b}).onConflictDoNothing()}async function x(a,b){let c=await g.database.select({callId:h.callMessageTable.callId,startedAt:h.callTable.startedAt,role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text,seq:h.callMessageTable.seq}).from(h.callMessageTable).innerJoin(h.callTable,(0,d.eq)(h.callMessageTable.callId,h.callTable.id)).where(b?(0,d.ne)(h.callMessageTable.callId,b):void 0).orderBy((0,e.desc)(h.callTable.startedAt),(0,e.desc)(h.callMessageTable.seq)).limit(a),f=new Map;for(let a of c){let b=f.get(a.callId)??{callId:a.callId,startedAt:a.startedAt,turns:[]};b.turns.push({role:a.role,tool:a.tool,text:a.text,seq:a.seq}),f.set(a.callId,b)}return[...f.values()].reverse().map(a=>({...a,turns:a.turns.reverse()}))}async function y(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).limit(1)).length>0}async function z(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.isNull)(h.callTable.endedAt)).limit(1)).length>0}async function A(a){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).limit(1)).length>0}async function B(a){return(await g.database.delete(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNotNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function C(a){let b=(0,d.isNotNull)(h.callTable.endedAt);return(await g.database.delete(h.callTable).where(a?(0,d.and)(b,(0,d.lt)(h.callTable.endedAt,a)):b).returning({id:h.callTable.id})).length}[g,j,k]=m.then?(await m)():m,a.s(["changeLiveSettings",0,q,"deleteCall",0,B,"deleteEndedCalls",0,C,"endCall",0,t,"hasAnyCall",0,y,"insertCall",0,s,"isAnyCallLive",0,z,"isCallOpen",0,A,"listRecentTurns",0,x,"nextTurnSeq",0,v,"readLiveSettings",0,n,"saveThought",0,w,"saveTurns",0,u,"seedLiveSettings",0,r]),c()}catch(a){c(a)}},!1),3894,a=>{"use strict";var b=a.i(794219);a.i(148016);var c=a.i(689656);a.i(684321);var d=a.i(746609);let e=b.object({place:b.string().max(120).regex(/^[^\n\r]*$/).nullable(),weather:b.object({code:b.number().int().min(0).max(99),temperature:b.number(),low:b.number(),high:b.number(),sunrise:b.string().regex(/^\d{2}:\d{2}$/),sunset:b.string().regex(/^\d{2}:\d{2}$/),gusts:b.number().min(0).nullish()}).nullable()}),f=[{id:"chatgpt",...c.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...c.TEXT_MODEL_PROVIDERS.openai}],g=b.object({id:b.string().min(1),text:b.string(),said:b.boolean(),pictures:b.array(b.string()).optional()});b.object({enabled:b.boolean(),phrase:b.string().trim().min(3).max(32)}),b.object({enabled:b.boolean(),combo:b.string().trim().min(1).max(64)}),b.enum(["off","waiting","any"]),b.enum(["center","sides"]);let h=b.object({id:b.string().min(1),role:b.enum(["user","assistant","tool"]),tool:b.string().nullish(),text:b.string(),seq:b.number().int().min(0),fragments:b.array(d.LiveFragmentSchema).nullish()}),i=b.object({id:b.string().min(1),text:b.string(),seq:b.number().int().min(0)});a.s(["CallThoughtSchema",0,i,"CallTurnSchema",0,h,"TEXT_CALL_PROVIDERS",0,f,"THURSDAY_KEYS",0,{settings:"THURSDAY_SETTINGS",wasSkills:"THURSDAY_SKILLS"},"TextCallNoteSchema",0,g,"WhereSchema",0,e,"textCallRunsOn",0,a=>f.find(b=>a(b.apiKeyName))?.id??null])},684321,a=>{"use strict";var b=a.i(148016),c=a.i(569572);let d=a=>`text/${a}; charset=utf-8`,e={md:{kind:"markdown",mime:d("markdown")},markdown:{kind:"markdown",mime:d("markdown")},csv:{kind:"csv",mime:d("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:d("plain")},log:{kind:"text",mime:d("plain")},html:{kind:"frame",mime:d("html")},htm:{kind:"frame",mime:d("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:d("css")},js:{kind:"none",mime:d("javascript")},woff2:{kind:"none",mime:"font/woff2"}},f=a=>a.split(".").pop()?.toLowerCase()??"",g=a=>e[f(a)]?.kind??"none",h=new Set(["css","js","woff2"]),i=Object.keys(e).filter(a=>!h.has(a)),j=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${i.join("|")})\b`,"giu"),k=`${c.PATHS.workspace}/`,l=b.queryKey.file(""),m=a=>a.startsWith(`${c.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(f(a));a.s(["extensionOf",0,f,"isPicture",0,a=>"image"===g(a)&&"svg"!==f(a),"leadFirst",0,function(a){let b=a.findIndex(m);return b>0?[a[b],...a.filter((a,c)=>c!==b)]:a},"mimeOf",0,a=>e[f(a)]?.mime??"application/octet-stream","pathsIn",0,function(a){let b=a.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),c=new Set,d="";for(let[a]of b.matchAll(j)){let b=!a.includes("/"),e=function(a){let b,c,d=(c=(b=function(a){if(!a.startsWith(l))return a;let b=a.slice(l.length);try{return decodeURIComponent(b)}catch{return b}}(a.trim())).indexOf(k))>=0?b.slice(c+k.length)||null:b.startsWith("/")||/^[A-Za-z]:/.test(b)||b.split("/").includes("..")?null:b||null;if(!d)return null;let[e,...f]=d.split("/");return f.length&&e.includes(".")?null:d}(b?d+a:a);b||(d=e?.slice(0,e.lastIndexOf("/")+1)??""),e&&c.add(e)}return[...c].slice(0,12)},"viewKindOf",0,g])}];
1
+ module.exports=[148016,a=>{"use strict";let b=a=>a.split("/").map(encodeURIComponent).join("/");a.s(["decodePagePath",0,a=>a.map(decodeURIComponent).join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:a=>({url:"/api/memory",query:{offset:a||null}}),mcp:"/api/mcp",mcpServer:a=>({url:"/api/mcp",pathVariable:[a]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(a,b,c)=>({url:"/api/skills",pathVariable:[a,b],query:{path:c}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:a=>({url:"/api/bot/memory/files",query:{bot:a}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:(a,b)=>({url:"/api/bot/thread",query:{history:1,before:a,q:b||void 0}}),thread:a=>({url:"/api/bot/thread",query:{id:a}}),fileNotes:"/api/bot/thread/file",fileNote:(a,b)=>({url:"/api/bot/thread/file",query:{path:a,from:b}}),toolResult:(a,b)=>({url:"/api/bot/tool-result",pathVariable:[a],query:{call:b}}),workspace:"/api/workspace",workspaceFolder:(a,b)=>({url:"/api/workspace",query:{path:a||null,rows:b}}),workspaceFiles:a=>({url:"/api/workspace/files",query:{paths:JSON.stringify(a)}}),artifacts:"/api/artifact",artifactShelf:a=>({url:"/api/artifact",query:{rows:a}}),artifactSet:(a,b)=>({url:"/api/artifact",query:{set:a,rows:b}}),file:a=>`/api/file/${b(a)}`,fileFace:a=>`/api/file/${b(a)}?face`,favicon:a=>`/api/favicon/${encodeURIComponent(a)}`,fileView:a=>`/artifact/${b(a)}`,events:"/api/events",config:"/api/config",callHistory:a=>({url:"/api/thursday/call",query:{before:a}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:a=>`/api/llm-model/catalog/${a}`,keyCredits:a=>`/api/llm-model/credits/${a}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running",update:"/api/update"}])},62721,a=>{"use strict";let b="currentColor",c=[{id:"system",label:"System",value:b},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],d=Object.fromEntries(c.map(a=>[a.id,a.value])),e=c.filter(a=>a.value!==b).map(a=>a.value),f=[d.amber,d.red],g={[d.cyan]:"#009dbb",[d.teal]:"#00a190",[d.green]:"#00a640",[d.lime]:"#5ca100",[d.amber]:"#d07b00",[d.orange]:"#ec6700",[d.sky]:"#0098dc",[d.emerald]:"#00a46d",[d.yellow]:"#bb8600"},h={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(a=>`oklch(0.77 0.16 ${a})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},i=Object.keys(h);a.s(["MARK_INK",0,d,"MARK_PAINTS",0,h,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,b,"markInk",0,(a,b)=>b?a:g[a]??a,"randomMarkFill",0,function(){let a=[...e.filter(a=>!f.includes(a)).map(a=>({color:a})),...i.map(a=>({paint:a}))];return a[Math.floor(Math.random()*a.length)]}])},569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(552556),j=a.i(344853),k=a.i(725466),l=a.i(3894),m=b([g,j,k]);async function n(){let a=function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(await (0,k.readConfig)(l.THURSDAY_KEYS.settings)),b=i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a));return a?b:{...b,readSkills:await o()}}async function o(){return(await (0,k.readConfig)(l.THURSDAY_KEYS.wasSkills))?.trim()==="on"}async function p(a){let b=Object.fromEntries(Object.entries(a).filter(([a,b])=>b!==i.LIVE_DEFAULTS[a]));await (0,k.writeConfig)(l.THURSDAY_KEYS.settings,JSON.stringify(b))}async function q(a){let b=i.LiveSettingsSchema.partial().parse(a),c=Object.fromEntries(Object.entries(b).filter(([b])=>b in a));await p({...await n(),...c})}async function r(a){return!await (0,k.readConfig)(l.THURSDAY_KEYS.settings)&&(await p({...i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a)),readSkills:await o()}),!0)}async function s(a){let[b]=await g.database.insert(h.callTable).values({id:crypto.randomUUID(),...a}).returning({id:h.callTable.id});return b.id}async function t(a,b){return(await g.database.update(h.callTable).set({endedAt:new Date,...b?{endedReason:b.reason,seconds:b.seconds??null}:{}}).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function u(a,b){for(let c of b)await g.database.insert(h.callMessageTable).values({callId:a,...c,fragments:c.fragments??null}).onConflictDoUpdate({target:[h.callMessageTable.callId,h.callMessageTable.id],set:{text:c.text,role:c.role,tool:c.tool??null,fragments:c.fragments??null}})}async function v(a){let[b]=await g.database.select({seq:f.sql`max(${h.callMessageTable.seq})`}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a));return b?.seq==null?0:Number(b.seq)+1}async function w(a,b){await g.database.insert(h.callThoughtTable).values({callId:a,...b}).onConflictDoNothing()}async function x(a,b){let c=await g.database.select({callId:h.callMessageTable.callId,startedAt:h.callTable.startedAt,role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text,seq:h.callMessageTable.seq}).from(h.callMessageTable).innerJoin(h.callTable,(0,d.eq)(h.callMessageTable.callId,h.callTable.id)).where(b?(0,d.ne)(h.callMessageTable.callId,b):void 0).orderBy((0,e.desc)(h.callTable.startedAt),(0,e.desc)(h.callMessageTable.seq)).limit(a),f=new Map;for(let a of c){let b=f.get(a.callId)??{callId:a.callId,startedAt:a.startedAt,turns:[]};b.turns.push({role:a.role,tool:a.tool,text:a.text,seq:a.seq}),f.set(a.callId,b)}return[...f.values()].reverse().map(a=>({...a,turns:a.turns.reverse()}))}async function y(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).limit(1)).length>0}async function z(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.isNull)(h.callTable.endedAt)).limit(1)).length>0}async function A(a){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).limit(1)).length>0}async function B(a){return(await g.database.delete(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNotNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function C(a){let b=(0,d.isNotNull)(h.callTable.endedAt);return(await g.database.delete(h.callTable).where(a?(0,d.and)(b,(0,d.lt)(h.callTable.endedAt,a)):b).returning({id:h.callTable.id})).length}[g,j,k]=m.then?(await m)():m,a.s(["changeLiveSettings",0,q,"deleteCall",0,B,"deleteEndedCalls",0,C,"endCall",0,t,"hasAnyCall",0,y,"insertCall",0,s,"isAnyCallLive",0,z,"isCallOpen",0,A,"listRecentTurns",0,x,"nextTurnSeq",0,v,"readLiveSettings",0,n,"saveThought",0,w,"saveTurns",0,u,"seedLiveSettings",0,r]),c()}catch(a){c(a)}},!1),3894,a=>{"use strict";var b=a.i(794219);a.i(148016);var c=a.i(689656);a.i(684321);var d=a.i(746609);let e=b.object({place:b.string().max(120).regex(/^[^\n\r]*$/).nullable(),weather:b.object({code:b.number().int().min(0).max(99),temperature:b.number(),low:b.number(),high:b.number(),sunrise:b.string().regex(/^\d{2}:\d{2}$/),sunset:b.string().regex(/^\d{2}:\d{2}$/),gusts:b.number().min(0).nullish()}).nullable()}),f=[{id:"chatgpt",...c.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...c.TEXT_MODEL_PROVIDERS.openai}],g=b.object({id:b.string().min(1),text:b.string(),said:b.boolean(),pictures:b.array(b.string()).optional()});b.object({enabled:b.boolean(),phrase:b.string().trim().min(3).max(32)}),b.object({enabled:b.boolean(),combo:b.string().trim().min(1).max(64)}),b.enum(["off","waiting","any"]),b.enum(["center","sides"]);let h=b.object({id:b.string().min(1),role:b.enum(["user","assistant","tool"]),tool:b.string().nullish(),text:b.string(),seq:b.number().int().min(0),fragments:b.array(d.LiveFragmentSchema).nullish()}),i=b.object({id:b.string().min(1),text:b.string(),seq:b.number().int().min(0)});a.s(["CallThoughtSchema",0,i,"CallTurnSchema",0,h,"TEXT_CALL_PROVIDERS",0,f,"THURSDAY_KEYS",0,{settings:"THURSDAY_SETTINGS",wasSkills:"THURSDAY_SKILLS"},"TextCallNoteSchema",0,g,"WhereSchema",0,e,"textCallRunsOn",0,a=>f.find(b=>a(b.apiKeyName))?.id??null])},684321,a=>{"use strict";var b=a.i(148016),c=a.i(569572);let d=a=>`text/${a}; charset=utf-8`,e={md:{kind:"markdown",mime:d("markdown")},markdown:{kind:"markdown",mime:d("markdown")},csv:{kind:"csv",mime:d("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:d("plain")},log:{kind:"text",mime:d("plain")},html:{kind:"frame",mime:d("html")},htm:{kind:"frame",mime:d("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:d("css")},js:{kind:"none",mime:d("javascript")},woff2:{kind:"none",mime:"font/woff2"}},f=a=>a.split(".").pop()?.toLowerCase()??"",g=a=>e[f(a)]?.kind??"none",h=new Set(["css","js","woff2"]),i=Object.keys(e).filter(a=>!h.has(a)),j=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${i.join("|")})\b`,"giu"),k=`${c.PATHS.workspace}/`,l=b.queryKey.file(""),m=a=>a.startsWith(`${c.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(f(a));a.s(["extensionOf",0,f,"isPicture",0,a=>"image"===g(a)&&"svg"!==f(a),"leadFirst",0,function(a){let b=a.findIndex(m);return b>0?[a[b],...a.filter((a,c)=>c!==b)]:a},"mimeOf",0,a=>e[f(a)]?.mime??"application/octet-stream","pathsIn",0,function(a){let b=a.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),c=new Set,d="";for(let[a]of b.matchAll(j)){let b=!a.includes("/"),e=function(a){let b,c,d=(c=(b=function(a){if(!a.startsWith(l))return a;let b=a.slice(l.length);try{return decodeURIComponent(b)}catch{return b}}(a.trim())).indexOf(k))>=0?b.slice(c+k.length)||null:b.startsWith("/")||/^[A-Za-z]:/.test(b)||b.split("/").includes("..")?null:b||null;if(!d)return null;let[e,...f]=d.split("/");return f.length&&e.includes(".")?null:d}(b?d+a:a);b||(d=e?.slice(0,e.lastIndexOf("/")+1)??""),e&&c.add(e)}return[...c].slice(0,12)},"viewKindOf",0,g])}];
2
2
 
3
3
  //# sourceMappingURL=_1v1pcoh._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[70398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__0q2c15o._.js","server/chunks/ssr/node_modules_14gkv49._.js","server/chunks/ssr/node_modules_1c0h-_d._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-OSK3NFVY_mjs_0x5leh1._.js","server/chunks/ssr/node_modules_1bmqmso._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-75Z2AOVW_mjs_051rute._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-2E4U76K2_mjs_20f4_iz._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-LNGE3PJU_mjs_15ujw6f._.js","server/chunks/ssr/[root-of-the-server]__0t_oz3-._.js","server/chunks/ssr/node_modules_katex_dist_katex_mjs_1oxucd3._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-DU6HZSFF_mjs_20hsuk9._.js","server/chunks/ssr/node_modules_0nvqvnw._.js","server/chunks/ssr/node_modules_1vbiuwu._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-4HAMMTFA_mjs_1cfif1_._.js","server/chunks/ssr/node_modules_roughjs_bundled_rough_esm_15c9pcx.js","server/chunks/ssr/node_modules_0rb-_la._.js"].map(b=>a.l(b))).then(()=>b(132378)))},436788,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1e_9qjr._.js"].map(b=>a.l(b))).then(()=>b(964665)))},348436,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_0ewhz_x._.js","server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js"].map(b=>a.l(b))).then(()=>b(581662)))},315458,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1v93o68._.js","server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js"].map(b=>a.l(b))).then(()=>b(82951)))},228887,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_02uubus._.js","server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js"].map(b=>a.l(b))).then(()=>b(405593)))},930209,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1whffg_._.js","server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js"].map(b=>a.l(b))).then(()=>b(26444)))},277297,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1tih-7v._.js","server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js"].map(b=>a.l(b))).then(()=>b(857022)))},553433,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_0kzgugm._.js","server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js"].map(b=>a.l(b))).then(()=>b(41014)))},15022,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1neoj22._.js"].map(b=>a.l(b))).then(()=>b(109788)))},479648,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1scosxl._.js","server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js"].map(b=>a.l(b))).then(()=>b(703228)))},372511,a=>{a.v(b=>Promise.all(["server/chunks/ssr/features_thursday_components_here-globe_tsx_055duhw._.js"].map(b=>a.l(b))).then(()=>b(307181)))},502073,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1j5ohq5._.js","server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js"].map(b=>a.l(b))).then(()=>b(922056)))},895186,a=>{a.v(b=>Promise.all(["server/chunks/ssr/_1uok0wt._.js"].map(b=>a.l(b))).then(()=>b(901729)))},72597,a=>{a.v(a=>Promise.resolve().then(()=>a(809750)))},628472,a=>{a.v(b=>Promise.all(["server/chunks/ssr/node_modules_@vercel_oidc_dist_token_1mnivwk.js"].map(b=>a.l(b))).then(()=>b(779476)))},715837,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[externals]_node_readline_1u65a-m._.js","server/chunks/ssr/node_modules_consola_dist_chunks_prompt_mjs_05cwqv2._.js"].map(b=>a.l(b))).then(()=>b(270101)))}];
2
+
3
+ //# sourceMappingURL=_1xw9imq._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[70398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1c1xyyb._.js","server/chunks/ssr/node_modules_14gkv49._.js","server/chunks/ssr/node_modules_1c0h-_d._.js","server/chunks/ssr/node_modules_roughjs_bundled_rough_esm_15c9pcx.js","server/chunks/ssr/[root-of-the-server]__1kos36s._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-LNGE3PJU_mjs_15ujw6f._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-2E4U76K2_mjs_20f4_iz._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-OSK3NFVY_mjs_0x5leh1._.js","server/chunks/ssr/node_modules_0nvqvnw._.js","server/chunks/ssr/node_modules_katex_dist_katex_mjs_1oxucd3._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-DU6HZSFF_mjs_20hsuk9._.js","server/chunks/ssr/node_modules_1bmqmso._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-4HAMMTFA_mjs_1cfif1_._.js","server/chunks/ssr/node_modules_1vbiuwu._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-75Z2AOVW_mjs_051rute._.js","server/chunks/ssr/node_modules_0rb-_la._.js"].map(b=>a.l(b))).then(()=>b(132378)))}];
1
+ module.exports=[70398,a=>{a.v(b=>Promise.all(["server/chunks/ssr/[root-of-the-server]__1uy0zqr._.js","server/chunks/ssr/node_modules_14gkv49._.js","server/chunks/ssr/node_modules_1c0h-_d._.js","server/chunks/ssr/node_modules_roughjs_bundled_rough_esm_15c9pcx.js","server/chunks/ssr/[root-of-the-server]__0t_oz3-._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-LNGE3PJU_mjs_15ujw6f._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-2E4U76K2_mjs_20f4_iz._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-OSK3NFVY_mjs_0x5leh1._.js","server/chunks/ssr/node_modules_0nvqvnw._.js","server/chunks/ssr/node_modules_katex_dist_katex_mjs_1oxucd3._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-DU6HZSFF_mjs_20hsuk9._.js","server/chunks/ssr/node_modules_1bmqmso._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-4HAMMTFA_mjs_1cfif1_._.js","server/chunks/ssr/node_modules_1vbiuwu._.js","server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-75Z2AOVW_mjs_051rute._.js","server/chunks/ssr/node_modules_0rb-_la._.js"].map(b=>a.l(b))).then(()=>b(132378)))}];
2
2
 
3
- //# sourceMappingURL=components_ui_markdown-body_tsx_0h7bkrz._.js.map
3
+ //# sourceMappingURL=components_ui_markdown-body_tsx_08i96c6._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[663364,27418,a=>{"use strict";var b=a.i(920226),c=a.i(767561),d=a.i(446181),e=a.i(864037),f=a.i(287702),g=a.i(576271),h=a.i(759497),i=a.i(497895),j=a.i(405050);let k=(0,j.createServerReference)("7fbf86df0c9967e0a428f013ee099588ad272e98ed",j.callServer,void 0,j.findSourceMapURL,"updateNowAction"),l=(0,b.create)()(()=>({to:null,failed:null})),m=a=>new Promise(b=>setTimeout(b,a));async function n(a){if(l.getState().to)return;l.setState({to:a,failed:null});let b=(b,c=!0)=>l.setState({to:null,failed:{to:a,why:b,running:c}}),d=Date.now()+f.UPDATE.waitMs;for(;Date.now()<d;){let d;await m(f.UPDATE.pollMs);try{d=await (0,h.fetchRoute)(c.queryKey.update)}catch{continue}if(d.current===a)return window.location.reload();if(d.moving?.failed)return b(d.moving.failed);if(!d.moving)return b(`${d.current??"The one before"} runs again.`)}b("The new version did not answer in time.",!1)}async function o(a){try{let b=(0,g.unwrapResult)(await k(a,!1));if(!b.started&&b.busy){if(!await d.notify.confirm({title:`Update to ${a} now?`,description:(({call:a,threads:b})=>[a?"A call is open and ends when Thursday restarts.":null,b?`${1===b?"A job is":`${b} jobs are`} at work: ${1===b?"it pauses and waits":"they pause and wait"} on Continue, and a routine's run ends.`:null].filter(Boolean).join(" "))(b.busy),okText:"Update",cancelText:"Later",cautious:!0}))return;b=(0,g.unwrapResult)(await k(a,!0))}b.started&&n(a)}catch(a){e.toast.add({type:"error",title:"Could not start the update",description:(0,i.errorToString)(a)})}}a.s(["followUpdate",0,n,"moveTo",0,o,"useUpdateStore",0,l],663364);var p=a.i(421042);let q={[p.TOOL_NAMES.memory_recall]:"Checking your notes",[p.TOOL_NAMES.memory_create]:"Starting a note",[p.TOOL_NAMES.memory_remember]:"Noting that down",[p.TOOL_NAMES.memory_describe]:"Renaming a note",[p.TOOL_NAMES.memory_forget]:"Forgetting that",[p.TOOL_NAMES.bash]:"Doing it on this computer",[p.TOOL_NAMES.web_search]:"Searching the web",[p.TOOL_NAMES.load_skill]:"Reading how to do this",[p.TOOL_NAMES.look_at]:"Looking at the picture",[p.TOOL_NAMES.make_deck]:"Making the deck",[p.TOOL_NAMES.end_call]:"Ending the call",[p.TOOL_NAMES.routine]:"Checking your routines"};function r(a,b=28){let c=a.trim().replace(/\s+/g," ");if(c.length<=b)return c;let d=c.slice(0,b),e=d.lastIndexOf(" ");return`${(e>b/2?d.slice(0,e):d).trimEnd()}…`}let s=(a,b)=>"string"==typeof a[b]?a[b].trim():"";function t(a){if(!a)return null;try{let b=JSON.parse(a);if(b&&"object"==typeof b&&!Array.isArray(b))return b}catch{}return null}let u=new Set([p.TOOL_NAMES.thread_tell,p.TOOL_NAMES.thread_answer,p.TOOL_NAMES.thread_status,p.TOOL_NAMES.thread_show,p.TOOL_NAMES.thread_cancel,p.TOOL_NAMES.thread_seen]);function v(a){return Array.isArray(a)?a.flatMap(a=>a&&"object"==typeof a&&"string"==typeof a.url?[a]:[]):[]}a.s(["reasoningTitle",0,function(a){return/^\s*\*\*(.+?)\*\*/.exec(a)?.[1]?.trim()||null},"searchOf",0,function(a,b){if(a!==p.TOOL_NAMES.web_search)return null;try{let a=JSON.parse(b);return{query:"string"==typeof a.query?a.query:null,sources:v(a.sources)}}catch{return null}},"searchQueryOf",0,function(a){let b=t(a)?.query;return"string"==typeof b&&b.trim()?b.trim():null},"searchSourcesOf",0,function(a){return v(t(a)?.sources)},"startedLabel",0,function(a,b){if(a!==p.TOOL_NAMES.thread_start)return null;try{let a=JSON.parse(b);return"string"==typeof a.label?a.label:null}catch{return null}},"toolBot",0,function(a,b,c,d){let e=t(b);if(!e)return null;if(a===p.TOOL_NAMES.thread_start)return"string"==typeof e.bot&&e.bot.trim()?e.bot.trim():null;if(!u.has(a))return null;let f="string"==typeof e.thread?e.thread.trim():"";if(!f||"all"===f.toLowerCase())return null;let g=f.toLowerCase(),h=c?.find(a=>a.id===f)??c?.find(a=>a.label.toLowerCase()===g);return h?a===p.TOOL_NAMES.thread_answer?h.room.questions[0]?.bot??h.bot:h.bot:function(a){let b=t(a);if(!b)return null;if("string"==typeof b.bot&&b.bot.trim())return b.bot.trim();let c=b.answered;return"string"==typeof c?.bot?c.bot:null}(d)},"toolLine",0,function(a,b,c=null){let d;if(a===p.TOOL_NAMES.tool_search||a===p.TOOL_NAMES.tool_call)return"Reaching a connected service";let e=t(b);return(e&&function(a,b,c){if(a===p.TOOL_NAMES.memory_remember||a===p.TOOL_NAMES.memory_create){let c=s(b,"path"),d=function(a){if(!Array.isArray(a.facts))return null;let b=a.facts.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text.trim():"").filter(Boolean);return b.length?{text:b[0],more:b.length-1}:null}(b),e=a===p.TOOL_NAMES.memory_create?"Starting":"Noting";if(!c)return null;if(!d)return`${e} ${c}`;let f=d.more>0?` (+${d.more})`:"";return`${e} ${c}: ${r(d.text)}${f}`}if(a===p.TOOL_NAMES.memory_recall){let a=s(b,"path");return a?`Checking \xb7 ${a}`:null}if(a===p.TOOL_NAMES.memory_describe){let a=s(b,"path");return a?`Renaming \xb7 ${a}`:null}if(a===p.TOOL_NAMES.bash){let a=s(b,"description")||s(b,"command");return a?`On this computer \xb7 ${r(a,44)}`:null}if(a===p.TOOL_NAMES.load_skill){let a=s(b,"name");return a?`Reading the ${a} skill`:null}if(a===p.TOOL_NAMES.look_at){let a=s(b,"path");return a?`Looking at ${a.split("/").filter(Boolean).at(-1)??""}`:null}if(a===p.TOOL_NAMES.make_deck){let a=s(b,"title");return a?`Making the deck \xb7 ${r(a,44)}`:null}if(a===p.TOOL_NAMES.thread_start){let a=s(b,"bot");return a?`Handing this to ${a}`:"Handing this over"}if(a===p.TOOL_NAMES.web_search){let a=s(b,"query");return a?`Searching \xb7 ${a}`:null}if(a===p.TOOL_NAMES.routine){if("create"===b.action){let a=[s(b,"bot"),function(a){if("string"==typeof a.at&&a.at.length>=16){let[b,c]=a.at.split(" "),[d,e,f]=b.split("-").map(Number),g=new Date(d,e-1,f);if(g.toDateString()===new Date().toDateString())return`once at ${c}`;let h=g.toLocaleDateString("en-US",{month:"short",day:"numeric"});return`once, ${h} ${c}`}return"string"==typeof a.time&&a.time?`daily at ${a.time}`:"number"==typeof a.everyHours?`every ${a.everyHours} hours`:null}(b)].filter(Boolean).join(", ");return a?`Setting a routine \xb7 ${a}`:"Setting a routine"}return"change"===b.action?"Changing a routine":"delete"===b.action?"Deleting a routine":null}let d=s(b,"thread");return a===p.TOOL_NAMES.thread_tell?c?`Telling ${c}`:"Passing that on":a===p.TOOL_NAMES.thread_answer?c?`Answering ${c}`:"Answering that":a===p.TOOL_NAMES.thread_cancel?d?`Stopping ${d}`:"Stopping that":a===p.TOOL_NAMES.thread_seen?d?`Marking ${d} as read`:"Marking that as read":a===p.TOOL_NAMES.thread_show?d?`Opening ${d}`:"Opening that":a===p.TOOL_NAMES.thread_status?d&&"all"!==d.toLowerCase()?`Checking on ${d}`:"Checking on the work":null}(a,e,c))??q[a]??((d=a.indexOf("__"))<=0?null:`Reaching ${a.slice(0,d).replace(/[-_]/g," ")}`)}],27418)},445432,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(647509),e=a.i(590513),f=a.i(730357),g=a.i(497895);let h={ending:"ending",idle:"idle",connecting:"connecting",listening:"idle",speaking:"speaking",working:"working",delegating:"working"};function i({status:a,failed:c,word:g,size:j,getSpectrum:k,waking:l,held:m,className:n}){let o=(0,f.useIsDark)();return(0,b.jsx)(e.AsciiOrb,{mode:c?"error":h[a],word:g,size:j,color:o?d.ORB_INK.dark:d.ORB_INK.light,getSpectrum:k,waking:l,held:m,className:n})}let j=(0,c.memo)(function({status:a="idle",covered:d=!1,className:e,...f}){let h=(0,c.useRef)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=h.current;if(!a)return;let b=new ResizeObserver(([a])=>{let b=Math.round(a.contentRect.width);b>0&&k(b)});return b.observe(a),()=>b.disconnect()},[]),(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(a)},[]),(0,b.jsx)("div",{ref:h,className:(0,g.cn)("aspect-square transition-opacity duration-700 ease-out",l&&null!==j?"opacity-100":"opacity-0",e),children:null!==j&&!d&&(0,b.jsx)(i,{...f,status:a,size:j})})});a.s(["Face",0,j])},461512,359006,926919,a=>{"use strict";let b,c;var d=a.i(954714),e=a.i(767561),f=a.i(61876),g=a.i(559553),h=a.i(249890);d.object({place:d.string().max(120).regex(/^[^\n\r]*$/).nullable(),weather:d.object({code:d.number().int().min(0).max(99),temperature:d.number(),low:d.number(),high:d.number(),sunrise:d.string().regex(/^\d{2}:\d{2}$/),sunset:d.string().regex(/^\d{2}:\d{2}$/),gusts:d.number().min(0).nullish()}).nullable()});let i=[{id:"chatgpt",...f.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...f.TEXT_MODEL_PROVIDERS.openai}];d.object({id:d.string().min(1),text:d.string(),said:d.boolean(),pictures:d.array(d.string()).optional()});let j="note",k=a=>a.type===`data-${j}`?a.data:null,l={min:3,max:32},m=d.object({enabled:d.boolean(),phrase:d.string().trim().min(l.min).max(l.max)}),n={enabled:!1,phrase:"hey thursday"},o=d.object({enabled:d.boolean(),combo:d.string().trim().min(1).max(64)}),p={enabled:!1,combo:"alt+shift+KeyT"},q=["off","waiting","any"],r=d.enum(q),s="waiting",t=["center","sides"],u=d.enum(t);d.object({id:d.string().min(1),role:d.enum(["user","assistant","tool"]),tool:d.string().nullish(),text:d.string(),seq:d.number().int().min(0),fragments:d.array(h.LiveFragmentSchema).nullish()}),d.object({id:d.string().min(1),text:d.string(),seq:d.number().int().min(0)}),a.s(["CALL_BACK_DEFAULT",0,s,"CALL_BACK_LABEL",0,{off:"Never",waiting:"When a job needs me",any:"Whenever a job ends"},"CALL_BACK_MODES",0,q,"CAPTION_VIEWS",0,t,"CallBackSchema",0,r,"CaptionViewSchema",0,u,"HOTKEY_DEFAULT",0,p,"HotkeySchema",0,o,"TEXT_CALL_MOVED",0,"moved","TEXT_CALL_NOTE",0,j,"TEXT_CALL_REFUSED",0,"refused","WAKE_DEFAULT",0,n,"WAKE_PHRASE",0,l,"WakeSchema",0,m,"isEnglishPhrase",0,a=>/^[a-z0-9\s'.,!?-]+$/i.test(a.trim())&&/[a-z]/i.test(a),"noteOf",0,k,"notesIn",0,a=>a.flatMap(a=>a.parts.flatMap(a=>{let b=k(a);return b?[b]:[]})),"picturePart",0,a=>({type:"file",mediaType:(0,g.mimeOf)(a),url:e.queryKey.file(a),filename:a.split("/").pop()??a}),"textCallRunsOn",0,a=>i.find(b=>a(b.apiKeyName))?.id??null],461512);var v=a.i(920226);let w=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>w(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>w(b)(a)}}};var x=a.i(96340);let y=d.object({wake:m.catch(n),hotkey:o.catch(p),callBack:r.catch(s),captionView:u.catch("sides"),textModel:f.textModelRefSchema.nullable().catch(null)}),z={wake:n,hotkey:p,callBack:s,captionView:"sides",textModel:null},A=(0,v.create)()((b=a=>({...z,carried:null,patch:b=>a(b),carriedDone:()=>a({carried:null})}),c={name:"thursday.settings",version:2,migrate:(a,b)=>b<1&&a&&"object"==typeof a?{...a,webSearch:!0}:a,partialize:a=>({wake:a.wake,hotkey:a.hotkey,callBack:a.callBack,captionView:a.captionView,textModel:a.textModel}),merge:(a,b)=>{let c=y.safeParse(a),d=c.success?c.data:z;return{...b,...d,carried:function(a){if(!a||"object"!=typeof a)return null;let b=[...Object.keys(x.LiveSettingsSchema.shape),"voicePrompt","systemPrompt","model"].filter(b=>b in a);return b.length?Object.fromEntries(b.map(b=>[b,a[b]])):null}(a)}}},(a,d,e)=>{let f,g={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},h=!1,i=0,j=new Set,k=new Set,l=g.storage;if(!l)return b((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${g.name}', the given storage is currently unavailable.`),a(...b)});let m=()=>{let a=g.partialize({...d()});return l.setItem(g.name,{state:a,version:g.version})},n=e.setState;e.setState=(a,b)=>(n(a,b),m());let o=b((...b)=>(a(...b),m()));e.getInitialState=()=>o;let p=()=>{var b,c;if(!l)return;let e=++i;h=!1,j.forEach(a=>{var b;return a(null!=(b=d())?b:o)});let n=(null==(c=g.onRehydrateStorage)?void 0:c.call(g,null!=(b=d())?b:o))||void 0;return w(l.getItem.bind(l))(g.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===g.version)return[!1,a.state];else{if(g.migrate){let b=g.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(b=>{var c;if(e!==i)return;let[h,j]=b;if(a(f=g.merge(j,null!=(c=d())?c:o),!0),h)return m()}).then(()=>{e===i&&(null==n||n(d(),void 0),f=d(),h=!0,k.forEach(a=>a(f)))}).catch(a=>{e===i&&(null==n||n(void 0,a))})};return e.persist={setOptions:a=>{g={...g,...a},a.storage&&(l=a.storage)},clearStorage:()=>{++i,null==l||l.removeItem(g.name)},getOptions:()=>g,rehydrate:()=>p(),hasHydrated:()=>h,onHydrate:a=>(j.add(a),()=>{j.delete(a)}),onFinishHydration:a=>(k.add(a),()=>{k.delete(a)})},g.skipHydration||p(),f||o}));a.s(["useThursdayStore",0,A],359006);var B=a.i(572131),C=a.i(313237),D=a.i(759497),E=a.i(405050);let F=(0,E.createServerReference)("7ff22c8b6c935be21064bf78352bbb4b4faf387fc2",E.callServer,void 0,E.findSourceMapURL,"seedLiveSettingsAction"),G=(0,E.createServerReference)("7f7b2a00fd12ec0921e7724ee75a5d89d2dd9c13e6",E.callServer,void 0,E.findSourceMapURL,"setLiveSettingsAction");a.s(["useLiveSettings",0,function(){let{data:a}=(0,D.useServerRoute)(e.queryKey.thursdaySettings),[b]=(0,C.useServerAction)(G,{onOk:()=>(0,D.revalidate)(e.queryKey.thursdaySettings)}),c=(0,B.useCallback)(a=>void b(a),[b]);return function(){let a=A(a=>a.carried),b=A(a=>a.carriedDone),[c]=(0,C.useServerAction)(F,{onOk:a=>{a&&(0,D.revalidate)(e.queryKey.thursdaySettings)},errorMessage:!1});(0,B.useEffect)(()=>{a&&(b(),c(a))},[a,b,c])}(),{settings:a,patch:c}}],926919)}];
1
+ module.exports=[663364,27418,a=>{"use strict";var b=a.i(920226),c=a.i(767561),d=a.i(446181),e=a.i(864037),f=a.i(287702),g=a.i(576271),h=a.i(759497),i=a.i(497895),j=a.i(405050);let k=(0,j.createServerReference)("7f6254cab2a25f0dc7b921549a52e34ee9adf49d1d",j.callServer,void 0,j.findSourceMapURL,"updateNowAction"),l=(0,b.create)()(()=>({to:null,failed:null})),m=a=>new Promise(b=>setTimeout(b,a));async function n(a){if(l.getState().to)return;l.setState({to:a,failed:null});let b=(b,c=!0)=>l.setState({to:null,failed:{to:a,why:b,running:c}}),d=Date.now()+f.UPDATE.waitMs;for(;Date.now()<d;){let d;await m(f.UPDATE.pollMs);try{d=await (0,h.fetchRoute)(c.queryKey.update)}catch{continue}if(d.current===a)return window.location.reload();if(d.moving?.failed)return b(d.moving.failed);if(!d.moving)return b(`${d.current??"The one before"} runs again.`)}b("The new version did not answer in time.",!1)}async function o(a){try{let b=(0,g.unwrapResult)(await k(a,!1));if(!b.started&&b.busy){if(!await d.notify.confirm({title:`Update to ${a} now?`,description:(({call:a,threads:b})=>[a?"A call is open and ends when Thursday restarts.":null,b?`${1===b?"A job is":`${b} jobs are`} at work: ${1===b?"it pauses and waits":"they pause and wait"} on Continue, and a routine's run ends.`:null].filter(Boolean).join(" "))(b.busy),okText:"Update",cancelText:"Later",cautious:!0}))return;b=(0,g.unwrapResult)(await k(a,!0))}b.started&&n(a)}catch(a){e.toast.add({type:"error",title:"Could not start the update",description:(0,i.errorToString)(a)})}}a.s(["followUpdate",0,n,"moveTo",0,o,"useUpdateStore",0,l],663364);var p=a.i(421042);let q={[p.TOOL_NAMES.memory_recall]:"Checking your notes",[p.TOOL_NAMES.memory_create]:"Starting a note",[p.TOOL_NAMES.memory_remember]:"Noting that down",[p.TOOL_NAMES.memory_describe]:"Renaming a note",[p.TOOL_NAMES.memory_forget]:"Forgetting that",[p.TOOL_NAMES.bash]:"Doing it on this computer",[p.TOOL_NAMES.web_search]:"Searching the web",[p.TOOL_NAMES.load_skill]:"Reading how to do this",[p.TOOL_NAMES.look_at]:"Looking at the picture",[p.TOOL_NAMES.make_deck]:"Making the deck",[p.TOOL_NAMES.end_call]:"Ending the call",[p.TOOL_NAMES.routine]:"Checking your routines"};function r(a,b=28){let c=a.trim().replace(/\s+/g," ");if(c.length<=b)return c;let d=c.slice(0,b),e=d.lastIndexOf(" ");return`${(e>b/2?d.slice(0,e):d).trimEnd()}…`}let s=(a,b)=>"string"==typeof a[b]?a[b].trim():"";function t(a){if(!a)return null;try{let b=JSON.parse(a);if(b&&"object"==typeof b&&!Array.isArray(b))return b}catch{}return null}let u=new Set([p.TOOL_NAMES.thread_tell,p.TOOL_NAMES.thread_answer,p.TOOL_NAMES.thread_status,p.TOOL_NAMES.thread_show,p.TOOL_NAMES.thread_cancel,p.TOOL_NAMES.thread_seen]);function v(a){return Array.isArray(a)?a.flatMap(a=>a&&"object"==typeof a&&"string"==typeof a.url?[a]:[]):[]}a.s(["reasoningTitle",0,function(a){return/^\s*\*\*(.+?)\*\*/.exec(a)?.[1]?.trim()||null},"searchOf",0,function(a,b){if(a!==p.TOOL_NAMES.web_search)return null;try{let a=JSON.parse(b);return{query:"string"==typeof a.query?a.query:null,sources:v(a.sources)}}catch{return null}},"searchQueryOf",0,function(a){let b=t(a)?.query;return"string"==typeof b&&b.trim()?b.trim():null},"searchSourcesOf",0,function(a){return v(t(a)?.sources)},"startedLabel",0,function(a,b){if(a!==p.TOOL_NAMES.thread_start)return null;try{let a=JSON.parse(b);return"string"==typeof a.label?a.label:null}catch{return null}},"toolBot",0,function(a,b,c,d){let e=t(b);if(!e)return null;if(a===p.TOOL_NAMES.thread_start)return"string"==typeof e.bot&&e.bot.trim()?e.bot.trim():null;if(!u.has(a))return null;let f="string"==typeof e.thread?e.thread.trim():"";if(!f||"all"===f.toLowerCase())return null;let g=f.toLowerCase(),h=c?.find(a=>a.id===f)??c?.find(a=>a.label.toLowerCase()===g);return h?a===p.TOOL_NAMES.thread_answer?h.room.questions[0]?.bot??h.bot:h.bot:function(a){let b=t(a);if(!b)return null;if("string"==typeof b.bot&&b.bot.trim())return b.bot.trim();let c=b.answered;return"string"==typeof c?.bot?c.bot:null}(d)},"toolLine",0,function(a,b,c=null){let d;if(a===p.TOOL_NAMES.tool_search||a===p.TOOL_NAMES.tool_call)return"Reaching a connected service";let e=t(b);return(e&&function(a,b,c){if(a===p.TOOL_NAMES.memory_remember||a===p.TOOL_NAMES.memory_create){let c=s(b,"path"),d=function(a){if(!Array.isArray(a.facts))return null;let b=a.facts.map(a=>a&&"object"==typeof a&&"string"==typeof a.text?a.text.trim():"").filter(Boolean);return b.length?{text:b[0],more:b.length-1}:null}(b),e=a===p.TOOL_NAMES.memory_create?"Starting":"Noting";if(!c)return null;if(!d)return`${e} ${c}`;let f=d.more>0?` (+${d.more})`:"";return`${e} ${c}: ${r(d.text)}${f}`}if(a===p.TOOL_NAMES.memory_recall){let a=s(b,"path");return a?`Checking \xb7 ${a}`:null}if(a===p.TOOL_NAMES.memory_describe){let a=s(b,"path");return a?`Renaming \xb7 ${a}`:null}if(a===p.TOOL_NAMES.bash){let a=s(b,"description")||s(b,"command");return a?`On this computer \xb7 ${r(a,44)}`:null}if(a===p.TOOL_NAMES.load_skill){let a=s(b,"name");return a?`Reading the ${a} skill`:null}if(a===p.TOOL_NAMES.look_at){let a=s(b,"path");return a?`Looking at ${a.split("/").filter(Boolean).at(-1)??""}`:null}if(a===p.TOOL_NAMES.make_deck){let a=s(b,"title");return a?`Making the deck \xb7 ${r(a,44)}`:null}if(a===p.TOOL_NAMES.thread_start){let a=s(b,"bot");return a?`Handing this to ${a}`:"Handing this over"}if(a===p.TOOL_NAMES.web_search){let a=s(b,"query");return a?`Searching \xb7 ${a}`:null}if(a===p.TOOL_NAMES.routine){if("create"===b.action){let a=[s(b,"bot"),function(a){if("string"==typeof a.at&&a.at.length>=16){let[b,c]=a.at.split(" "),[d,e,f]=b.split("-").map(Number),g=new Date(d,e-1,f);if(g.toDateString()===new Date().toDateString())return`once at ${c}`;let h=g.toLocaleDateString("en-US",{month:"short",day:"numeric"});return`once, ${h} ${c}`}return"string"==typeof a.time&&a.time?`daily at ${a.time}`:"number"==typeof a.everyHours?`every ${a.everyHours} hours`:null}(b)].filter(Boolean).join(", ");return a?`Setting a routine \xb7 ${a}`:"Setting a routine"}return"change"===b.action?"Changing a routine":"delete"===b.action?"Deleting a routine":null}let d=s(b,"thread");return a===p.TOOL_NAMES.thread_tell?c?`Telling ${c}`:"Passing that on":a===p.TOOL_NAMES.thread_answer?c?`Answering ${c}`:"Answering that":a===p.TOOL_NAMES.thread_cancel?d?`Stopping ${d}`:"Stopping that":a===p.TOOL_NAMES.thread_seen?d?`Marking ${d} as read`:"Marking that as read":a===p.TOOL_NAMES.thread_show?d?`Opening ${d}`:"Opening that":a===p.TOOL_NAMES.thread_status?d&&"all"!==d.toLowerCase()?`Checking on ${d}`:"Checking on the work":null}(a,e,c))??q[a]??((d=a.indexOf("__"))<=0?null:`Reaching ${a.slice(0,d).replace(/[-_]/g," ")}`)}],27418)},445432,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(647509),e=a.i(590513),f=a.i(730357),g=a.i(497895);let h={ending:"ending",idle:"idle",connecting:"connecting",listening:"idle",speaking:"speaking",working:"working",delegating:"working"};function i({status:a,failed:c,word:g,size:j,getSpectrum:k,waking:l,held:m,className:n}){let o=(0,f.useIsDark)();return(0,b.jsx)(e.AsciiOrb,{mode:c?"error":h[a],word:g,size:j,color:o?d.ORB_INK.dark:d.ORB_INK.light,getSpectrum:k,waking:l,held:m,className:n})}let j=(0,c.memo)(function({status:a="idle",covered:d=!1,className:e,...f}){let h=(0,c.useRef)(null),[j,k]=(0,c.useState)(null),[l,m]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{let a=h.current;if(!a)return;let b=new ResizeObserver(([a])=>{let b=Math.round(a.contentRect.width);b>0&&k(b)});return b.observe(a),()=>b.disconnect()},[]),(0,c.useEffect)(()=>{let a=requestAnimationFrame(()=>m(!0));return()=>cancelAnimationFrame(a)},[]),(0,b.jsx)("div",{ref:h,className:(0,g.cn)("aspect-square transition-opacity duration-700 ease-out",l&&null!==j?"opacity-100":"opacity-0",e),children:null!==j&&!d&&(0,b.jsx)(i,{...f,status:a,size:j})})});a.s(["Face",0,j])},461512,359006,926919,a=>{"use strict";let b,c;var d=a.i(954714),e=a.i(767561),f=a.i(61876),g=a.i(559553),h=a.i(249890);d.object({place:d.string().max(120).regex(/^[^\n\r]*$/).nullable(),weather:d.object({code:d.number().int().min(0).max(99),temperature:d.number(),low:d.number(),high:d.number(),sunrise:d.string().regex(/^\d{2}:\d{2}$/),sunset:d.string().regex(/^\d{2}:\d{2}$/),gusts:d.number().min(0).nullish()}).nullable()});let i=[{id:"chatgpt",...f.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...f.TEXT_MODEL_PROVIDERS.openai}];d.object({id:d.string().min(1),text:d.string(),said:d.boolean(),pictures:d.array(d.string()).optional()});let j="note",k=a=>a.type===`data-${j}`?a.data:null,l={min:3,max:32},m=d.object({enabled:d.boolean(),phrase:d.string().trim().min(l.min).max(l.max)}),n={enabled:!1,phrase:"hey thursday"},o=d.object({enabled:d.boolean(),combo:d.string().trim().min(1).max(64)}),p={enabled:!1,combo:"alt+shift+KeyT"},q=["off","waiting","any"],r=d.enum(q),s="waiting",t=["center","sides"],u=d.enum(t);d.object({id:d.string().min(1),role:d.enum(["user","assistant","tool"]),tool:d.string().nullish(),text:d.string(),seq:d.number().int().min(0),fragments:d.array(h.LiveFragmentSchema).nullish()}),d.object({id:d.string().min(1),text:d.string(),seq:d.number().int().min(0)}),a.s(["CALL_BACK_DEFAULT",0,s,"CALL_BACK_LABEL",0,{off:"Never",waiting:"When a job needs me",any:"Whenever a job ends"},"CALL_BACK_MODES",0,q,"CAPTION_VIEWS",0,t,"CallBackSchema",0,r,"CaptionViewSchema",0,u,"HOTKEY_DEFAULT",0,p,"HotkeySchema",0,o,"TEXT_CALL_MOVED",0,"moved","TEXT_CALL_NOTE",0,j,"TEXT_CALL_REFUSED",0,"refused","WAKE_DEFAULT",0,n,"WAKE_PHRASE",0,l,"WakeSchema",0,m,"isEnglishPhrase",0,a=>/^[a-z0-9\s'.,!?-]+$/i.test(a.trim())&&/[a-z]/i.test(a),"noteOf",0,k,"notesIn",0,a=>a.flatMap(a=>a.parts.flatMap(a=>{let b=k(a);return b?[b]:[]})),"picturePart",0,a=>({type:"file",mediaType:(0,g.mimeOf)(a),url:e.queryKey.file(a),filename:a.split("/").pop()??a}),"textCallRunsOn",0,a=>i.find(b=>a(b.apiKeyName))?.id??null],461512);var v=a.i(920226);let w=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>w(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>w(b)(a)}}};var x=a.i(96340);let y=d.object({wake:m.catch(n),hotkey:o.catch(p),callBack:r.catch(s),captionView:u.catch("sides"),textModel:f.textModelRefSchema.nullable().catch(null)}),z={wake:n,hotkey:p,callBack:s,captionView:"sides",textModel:null},A=(0,v.create)()((b=a=>({...z,carried:null,patch:b=>a(b),carriedDone:()=>a({carried:null})}),c={name:"thursday.settings",version:2,migrate:(a,b)=>b<1&&a&&"object"==typeof a?{...a,webSearch:!0}:a,partialize:a=>({wake:a.wake,hotkey:a.hotkey,callBack:a.callBack,captionView:a.captionView,textModel:a.textModel}),merge:(a,b)=>{let c=y.safeParse(a),d=c.success?c.data:z;return{...b,...d,carried:function(a){if(!a||"object"!=typeof a)return null;let b=[...Object.keys(x.LiveSettingsSchema.shape),"voicePrompt","systemPrompt","model"].filter(b=>b in a);return b.length?Object.fromEntries(b.map(b=>[b,a[b]])):null}(a)}}},(a,d,e)=>{let f,g={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...c},h=!1,i=0,j=new Set,k=new Set,l=g.storage;if(!l)return b((...b)=>{console.warn(`[zustand persist middleware] Unable to update item '${g.name}', the given storage is currently unavailable.`),a(...b)});let m=()=>{let a=g.partialize({...d()});return l.setItem(g.name,{state:a,version:g.version})},n=e.setState;e.setState=(a,b)=>(n(a,b),m());let o=b((...b)=>(a(...b),m()));e.getInitialState=()=>o;let p=()=>{var b,c;if(!l)return;let e=++i;h=!1,j.forEach(a=>{var b;return a(null!=(b=d())?b:o)});let n=(null==(c=g.onRehydrateStorage)?void 0:c.call(g,null!=(b=d())?b:o))||void 0;return w(l.getItem.bind(l))(g.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===g.version)return[!1,a.state];else{if(g.migrate){let b=g.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(b=>{var c;if(e!==i)return;let[h,j]=b;if(a(f=g.merge(j,null!=(c=d())?c:o),!0),h)return m()}).then(()=>{e===i&&(null==n||n(d(),void 0),f=d(),h=!0,k.forEach(a=>a(f)))}).catch(a=>{e===i&&(null==n||n(void 0,a))})};return e.persist={setOptions:a=>{g={...g,...a},a.storage&&(l=a.storage)},clearStorage:()=>{++i,null==l||l.removeItem(g.name)},getOptions:()=>g,rehydrate:()=>p(),hasHydrated:()=>h,onHydrate:a=>(j.add(a),()=>{j.delete(a)}),onFinishHydration:a=>(k.add(a),()=>{k.delete(a)})},g.skipHydration||p(),f||o}));a.s(["useThursdayStore",0,A],359006);var B=a.i(572131),C=a.i(313237),D=a.i(759497),E=a.i(405050);let F=(0,E.createServerReference)("7fa82d392d905101dd467f10fbf8a470086d809d0b",E.callServer,void 0,E.findSourceMapURL,"seedLiveSettingsAction"),G=(0,E.createServerReference)("7f0049565363d7820c3f80f8ffdcbf33fe233d12ce",E.callServer,void 0,E.findSourceMapURL,"setLiveSettingsAction");a.s(["useLiveSettings",0,function(){let{data:a}=(0,D.useServerRoute)(e.queryKey.thursdaySettings),[b]=(0,C.useServerAction)(G,{onOk:()=>(0,D.revalidate)(e.queryKey.thursdaySettings)}),c=(0,B.useCallback)(a=>void b(a),[b]);return function(){let a=A(a=>a.carried),b=A(a=>a.carriedDone),[c]=(0,C.useServerAction)(F,{onOk:a=>{a&&(0,D.revalidate)(e.queryKey.thursdaySettings)},errorMessage:!1});(0,B.useEffect)(()=>{a&&(b(),c(a))},[a,b,c])}(),{settings:a,patch:c}}],926919)}];
2
2
 
3
3
  //# sourceMappingURL=features_0rrgq_t._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[608902,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(340345),e=a.i(164831);let f={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};f.node;let g=(0,e.default)(f);var h=a.i(126766),i=a.i(572131),j=a.i(767561),k=a.i(340695),l=a.i(205522),m=a.i(630342),n=a.i(287702),o=a.i(824553),p=a.i(478978),q=a.i(313237),r=a.i(759497),s=a.i(497895),t=a.i(61876),u=a.i(852307),v=a.i(158983),w=a.i(233540),x=a.i(965733),y=a.i(777794),z=a.i(379630);let A={alibaba:[{d:"M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"}],amazon:[{d:"M13.05 15.513h3.08c.214 0 .389.177.389.394v1.82a1.704 1.704 0 011.296 1.661c0 .943-.755 1.708-1.685 1.708-.931 0-1.686-.765-1.686-1.708 0-.807.554-1.484 1.297-1.662v-1.425h-2.69v4.663a.395.395 0 01-.188.338l-2.69 1.641a.385.385 0 01-.405-.002l-4.926-3.086a.395.395 0 01-.185-.336V16.3L2.196 14.87A.395.395 0 012 14.555L2 14.528V9.406c0-.14.073-.27.192-.34l2.465-1.462V4.448c0-.129.062-.249.165-.322l.021-.014L9.77 1.058a.385.385 0 01.407 0l2.69 1.675a.395.395 0 01.185.336V7.6h3.856V5.683a1.704 1.704 0 01-1.296-1.662c0-.943.755-1.708 1.685-1.708.931 0 1.685.765 1.685 1.708 0 .807-.553 1.484-1.296 1.662v2.311a.391.391 0 01-.389.394h-4.245v1.806h6.624a1.69 1.69 0 011.64-1.313c.93 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708a1.69 1.69 0 01-1.64-1.314H13.05v1.937h4.953l.915 1.18a1.66 1.66 0 01.84-.227c.931 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708-.93 0-1.685-.765-1.685-1.708 0-.346.102-.668.276-.937l-.724-.935H13.05v1.806zM9.973 1.856L7.93 3.122V6.09h-.778V3.604L5.435 4.669v2.945l2.11 1.36L9.712 7.61V5.334h.778V7.83c0 .136-.07.263-.184.335L7.963 9.638v2.081l1.422 1.009-.446.646-1.406-.998-1.53 1.005-.423-.66 1.605-1.055v-1.99L5.038 8.29l-2.26 1.34v1.676l1.972-1.189.398.677-2.37 1.429V14.3l2.166 1.258 2.27-1.368.397.677-2.176 1.311V19.3l1.876 1.175 2.365-1.426.398.678-2.017 1.216 1.918 1.201 2.298-1.403v-5.78l-4.758 2.893-.4-.675 5.158-3.136V3.289L9.972 1.856zM16.13 18.47a.913.913 0 00-.908.92c0 .507.406.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zm3.63-3.81a.913.913 0 00-.908.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92zm1.555-4.99a.913.913 0 00-.908.92c0 .507.407.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zM17.296 3.1a.913.913 0 00-.907.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92z"}],"arcee-ai":[{d:"M13.236 2.377L2.751 20.493H0L11.863 0l1.373 2.377zm3.554 6.156l-9.606 11.96H4.13L15.511 6.32l1.279 2.212zm6.908 11.96H14.05l8.406-2.151 1.242 2.15zm-3.42-5.922l-7.843 5.92H8.482l10.597-7.997 1.2 2.077z"}],bfl:[{d:"M0 20.683L12.01 2.5 24 20.683h-2.233L12.009 5.878 3.471 18.806h12.122l1.239 1.877H0z"},{d:"M8.069 16.724l2.073-3.115 2.074 3.115H8.069zM18.24 20.683l-5.668-8.707h2.177l5.686 8.707h-2.196zM19.74 11.676l2.13-3.19 2.13 3.19h-4.26z"}],bytedance:[{d:"M14.944 18.587l-1.704-.445V10.01l1.824-.462c1-.254 1.84-.461 1.88-.453.032 0 .056 2.235.056 4.972v4.973l-.176-.008c-.104 0-.952-.207-1.88-.446z"},{d:"M7 16.542c0-2.736.024-4.98.064-4.98.032-.008.872.2 1.88.454l1.816.461-.016 4.05-.024 4.049-1.632.422c-.896.23-1.736.445-1.856.469L7 21.523v-4.98z"},{d:"M19.24 12.477c0-9.03.008-9.515.144-9.475.072.024.784.207 1.576.406.792.207 1.576.405 1.744.445l.296.08-.016 8.56-.024 8.568-1.624.414c-.888.23-1.728.437-1.856.47l-.24.055v-9.523z"},{d:"M1 12.509c0-4.678.024-8.505.064-8.505.032 0 .872.207 1.872.454l1.824.461v7.582c0 4.16-.016 7.574-.032 7.574-.024 0-.872.215-1.88.47L1 21.013v-8.505z"}],"fish-audio":[{d:"M23.12 12.13v.62c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.62c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.37v1.74c0 .24.2.44.44.44.25 0 .44-.2.44-.44V12.5c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76.43v1.99q0 .09.03.17.04.08.1.14.07.07.15.1t.17.03c.24 0 .44-.19.44-.44v-1.99c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17m-1.76.35v1.97c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-1.97c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.32v1.65c0 .25.2.45.44.45s.44-.2.44-.45V13.6c0-.25-.2-.45-.44-.45s-.44.2-.44.45m-1.76 1.26v.3q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-.3q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M0 9.38v.19c0 .24.2.44.44.44.25 0 .44-.2.44-.44v-.19c0-.25-.19-.44-.44-.44-.24 0-.44.19-.44.44m1.82.15v.81c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.81q0-.18-.13-.31t-.31-.13-.31.13-.13.31m1.81-.24v3.39q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V9.29q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3m1.83-.35v.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.22q0-.18-.13-.31T5.9 8.5t-.31.13-.13.31m0 2.94v2.34c0 .25.19.44.44.44.24 0 .44-.19.44-.44v-2.34c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m15.89-3.32V11c0 .25.2.44.44.44.25 0 .44-.19.44-.44V8.56c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76-.39v3.28q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.17c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17M17.83 8v3.9c0 .24.19.44.44.44.24 0 .44-.2.44-.44V8c0-.25-.2-.44-.44-.44-.25 0-.44.19-.44.44m-1.77.11v3.96c0 .25.2.44.44.44s.44-.19.44-.44V8.11c0-.25-.2-.44-.44-.44s-.44.19-.44.44m-1.76.27v5.03q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.38c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.8.46v5.75q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.84c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.76.76v5.52c0 .24.2.44.44.44.25 0 .44-.2.44-.44V9.6c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.77 1.01v4.77q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-4.77q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M23.12 9.6v1.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44V9.6c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44M7.21 11.32V16c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-4.68q0-.18-.13-.31t-.31-.13-.31.13-.13.31"}],inception:[{d:"M14.767 1H7.884L1 7.883v6.884h6.884V7.883h6.883V1zM9.234 23h6.882L23 16.116V9.233h-6.884v6.883H9.234V23z"}],klingai:[{d:"M5.493 21.234c-1.112-1.451-1.109-4.263-.081-7.459l-4.557-2.63a1.683 1.683 0 01-.85-1.304 1.505 1.505 0 01.08-.622 13.18 13.18 0 011.037-2.255c3.476-6.02 10.916-8.23 16.619-4.938.46.266.82.67 1.081 1.184.785 1.545.685 4.096-.234 6.954l4.557 2.631c.339.196.596.492.736.832a1.53 1.53 0 01.034 1.093 13.146 13.146 0 01-1.037 2.255c-3.476 6.02-10.916 8.23-16.619 4.938a2.6 2.6 0 01-.766-.68zm11.096-6.615c-2.073 3.591-5.808 5.316-8.343 3.852-1.267-.731-1.994-2.122-2.145-3.778-.095-1.035.036-2.173.4-3.32.217-.684.517-1.37.902-2.039l.008-.014c2.073-3.59 5.808-5.315 8.343-3.852.633.366 1.13.895 1.49 1.54.986 1.772.922 4.415-.285 6.914-.111.23-.232.457-.362.683l-.008.014z"}],kwaipilot:[{d:"M11.765.03C5.327.03.108 5.25.108 11.686c0 3.514 1.556 6.665 4.015 8.804L9.89 8.665h6.451L9.31 23.083c.807.173 1.63.26 2.455.26 6.438 0 11.657-5.22 11.657-11.658S18.202.028 11.765.028V.03z"}],meta:[{d:"M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z"}],minimax:[{d:"M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z"}],moonshotai:[{d:"M1.052 16.916l9.539 2.552a21.007 21.007 0 00.06 2.033l5.956 1.593a11.997 11.997 0 01-5.586.865l-.18-.016-.044-.004-.084-.009-.094-.01a11.605 11.605 0 01-.157-.02l-.107-.014-.11-.016a11.962 11.962 0 01-.32-.051l-.042-.008-.075-.013-.107-.02-.07-.015-.093-.019-.075-.016-.095-.02-.097-.023-.094-.022-.068-.017-.088-.022-.09-.024-.095-.025-.082-.023-.109-.03-.062-.02-.084-.025-.093-.028-.105-.034-.058-.019-.08-.026-.09-.031-.066-.024a6.293 6.293 0 01-.044-.015l-.068-.025-.101-.037-.057-.022-.08-.03-.087-.035-.088-.035-.079-.032-.095-.04-.063-.028-.063-.027a5.655 5.655 0 01-.041-.018l-.066-.03-.103-.047-.052-.024-.096-.046-.062-.03-.084-.04-.086-.044-.093-.047-.052-.027-.103-.055-.057-.03-.058-.032a6.49 6.49 0 01-.046-.026l-.094-.053-.06-.034-.051-.03-.072-.041-.082-.05-.093-.056-.052-.032-.084-.053-.061-.039-.079-.05-.07-.047-.053-.035a7.785 7.785 0 01-.054-.036l-.044-.03-.044-.03a6.066 6.066 0 01-.04-.028l-.057-.04-.076-.054-.069-.05-.074-.054-.056-.042-.076-.057-.076-.059-.086-.067-.045-.035-.064-.052-.074-.06-.089-.073-.046-.039-.046-.039a7.516 7.516 0 01-.043-.037l-.045-.04-.061-.053-.07-.062-.068-.06-.062-.058-.067-.062-.053-.05-.088-.084a13.28 13.28 0 01-.099-.097l-.029-.028-.041-.042-.069-.07-.05-.051-.05-.053a6.457 6.457 0 01-.168-.179l-.08-.088-.062-.07-.071-.08-.042-.049-.053-.062-.058-.068-.046-.056a7.175 7.175 0 01-.027-.033l-.045-.055-.066-.082-.041-.052-.05-.064-.02-.025a11.99 11.99 0 01-1.44-2.402zm-1.02-5.794l11.353 3.037a20.468 20.468 0 00-.469 2.011l10.817 2.894a12.076 12.076 0 01-1.845 2.005L.657 15.923l-.016-.046-.035-.104a11.965 11.965 0 01-.05-.153l-.007-.023a11.896 11.896 0 01-.207-.741l-.03-.126-.018-.08-.021-.097-.018-.081-.018-.09-.017-.084-.018-.094c-.026-.141-.05-.283-.071-.426l-.017-.118-.011-.083-.013-.102a12.01 12.01 0 01-.019-.161l-.005-.047a12.12 12.12 0 01-.034-2.145zm1.593-5.15l11.948 3.196c-.368.605-.705 1.231-1.01 1.875l11.295 3.022c-.142.82-.368 1.612-.668 2.365l-11.55-3.09L.124 10.26l.015-.1.008-.049.01-.067.015-.087.018-.098c.026-.148.056-.295.088-.442l.028-.124.02-.085.024-.097c.022-.09.045-.18.07-.268l.028-.102.023-.083.03-.1.025-.082.03-.096.026-.082.031-.095a11.896 11.896 0 011.01-2.232zm4.442-4.4L17.352 4.59a20.77 20.77 0 00-1.688 1.721l7.823 2.093c.267.852.442 1.744.513 2.665L2.106 5.213l.045-.065.027-.04.04-.055.046-.065.055-.076.054-.072.064-.086.05-.065.057-.073.055-.07.06-.074.055-.069.065-.077.054-.066.066-.077.053-.06.072-.082.053-.06.067-.074.054-.058.073-.078.058-.06.063-.067.168-.17.1-.098.059-.056.076-.071a12.084 12.084 0 012.272-1.677zM12.017 0h.097l.082.001.069.001.054.002.068.002.046.001.076.003.047.002.06.003.054.002.087.005.105.007.144.011.088.007.044.004.077.008.082.008.047.005.102.012.05.006.108.014.081.01.042.006.065.01.207.032.07.012.065.011.14.026.092.018.11.022.046.01.075.016.041.01L14.7.3l.042.01.065.015.049.012.071.017.096.024.112.03.113.03.113.032.05.015.07.02.078.024.073.023.05.016.05.016.076.025.099.033.102.036.048.017.064.023.093.034.11.041.116.045.1.04.047.02.06.024.041.018.063.026.04.018.057.025.11.048.1.046.074.035.075.036.06.028.092.046.091.045.102.052.053.028.049.026.046.024.06.033.041.022.052.029.088.05.106.06.087.051.057.034.053.032.096.059.088.055.098.062.036.024.064.041.084.056.04.027.062.042.062.043.023.017c.054.037.108.075.161.114l.083.06.065.048.056.043.086.065.082.064.04.03.05.041.086.069.079.065.085.071c.712.6 1.353 1.283 1.909 2.031L7.222.994l.062-.027.065-.028.081-.034.086-.035c.113-.045.227-.09.341-.131l.096-.035.093-.033.084-.03.096-.031c.087-.03.176-.058.264-.085l.091-.027.086-.025.102-.03.085-.023.1-.026L9.04.37l.09-.023.091-.022.095-.022.09-.02.098-.021.091-.02.095-.018.092-.018.1-.018.091-.016.098-.017.092-.014.097-.015.092-.013.102-.013.091-.012.105-.012.09-.01.105-.01c.093-.01.186-.018.28-.024l.106-.008.09-.005.11-.006.093-.004.1-.004.097-.002.099-.002.197-.002z"}],morph:[{d:"M7.941 2c.23 0 .452.073.638.21.186.136.325.328.397.55l.593 1.814c.073.221.212.413.397.55.186.136.409.21.638.21h2.791c.23 0 .452-.074.638-.21a1.11 1.11 0 00.397-.55l.594-1.815a1.11 1.11 0 01.397-.55c.185-.136.408-.209.637-.209h1.7c.23 0 .453.073.639.21.185.136.324.328.397.55l.652 1.994c.118.361.41.635.77.728l2.957.752c.236.06.446.199.596.394.15.195.23.436.231.684v9.376c0 .248-.081.488-.231.684a1.09 1.09 0 01-.595.394l-2.957.752a1.086 1.086 0 00-.477.263 1.114 1.114 0 00-.293.465l-.653 1.994a1.11 1.11 0 01-.396.55c-.186.136-.41.21-.638.21h-1.702c-.229 0-.452-.073-.637-.21a1.11 1.11 0 01-.397-.55l-.364-1.11a1.131 1.131 0 01.15-1.002 1.074 1.074 0 01.885-.462h2.85c.29 0 .567-.116.772-.325.204-.208.32-.49.32-.785V6.444c0-.294-.116-.577-.32-.785a1.08 1.08 0 00-.771-.326h-3.273c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v7.778c0 .295-.114.578-.319.786a1.08 1.08 0 01-.771.325h-2.182a1.08 1.08 0 01-.771-.325 1.122 1.122 0 01-.32-.786V6.444c0-.294-.115-.577-.32-.785a1.081 1.081 0 00-.77-.326H5.454c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v11.112c0 .294.116.577.32.785.205.209.482.326.772.326h2.85a1.075 1.075 0 01.885.461 1.122 1.122 0 01.15 1.001l-.364 1.112a1.11 1.11 0 01-.397.55c-.185.136-.408.209-.637.209H6.24c-.229 0-.452-.073-.638-.21a1.11 1.11 0 01-.397-.55l-.652-1.994a1.114 1.114 0 00-.294-.465 1.086 1.086 0 00-.477-.263l-2.956-.752a1.09 1.09 0 01-.595-.394A1.124 1.124 0 010 16.688V7.312c0-.248.081-.489.231-.684.15-.195.36-.334.595-.394l2.957-.753c.178-.045.342-.136.477-.263.134-.127.235-.287.293-.464l.653-1.995a1.11 1.11 0 01.397-.55C5.788 2.075 6.01 2 6.24 2h1.701z"}],nvidia:[{d:"M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"}],perplexity:[{d:"M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"}],recraft:[{d:"M19.667 8.275c0-4.57-4.15-8.275-9.27-8.275-1.774 0-3.213 3.705-3.213 8.275 0 1.143.09 2.233.253 3.224H4.29L1 23h9.4v-6.447c5.117 0 9.266-3.707 9.266-8.275l.001-.002zm-9.27-6.76c.93 0 1.682 3.028 1.682 6.76 0 3.733-.752 6.76-1.681 6.76-.93 0-1.681-3.027-1.681-6.76 0-3.732.752-6.76 1.68-6.76z"},{d:"M19.848 16.552h-9.44L14.028 23h9.438l-3.618-6.448z"}],stepfun:[{d:"M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0zM8.762 19.614H4.376v-4.386h4.386v4.386zm5.423 0H9.798v-4.386h4.387v4.386zm0-5.42H9.798V9.81h4.387v4.386zm0-5.418H9.798V4.39h4.387v4.386zm5.422-.004h-4.386V4.386h4.386v4.386z"}],tencent:[{d:"M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0zm1.652 1.123l-.01-.001c.533.097 1.023.233 1.41.404 6.084 2.683 7.396 9.214 1.601 14.338a3.781 3.781 0 01-5.337-.328 3.654 3.654 0 01-.884-3.044c-1.934.6-3.295 2.305-3.524 4.45-.204 1.912.324 4.044 2.056 5.634l.245.067C10.1 22.876 11.036 23 12 23c6.075 0 11-4.925 11-11 0-5.513-4.056-10.08-9.348-10.877zM2.748 6.21c-.178.269-.348.536-.51.803l-.235.394.078-.167A10.957 10.957 0 001 12c0 4.919 3.228 9.083 7.682 10.49l.214.065C3.523 18.528 2.84 14.149 6.47 8.68A2.234 2.234 0 102.748 6.21zm10.157-5.172c4.408 1.33 3.61 5.41 2.447 6.924-.86 1.117-2.922 1.46-3.708 2.238-.666.657-1.077 1.462-1.212 2.291A5.303 5.303 0 0112 12.258a5.672 5.672 0 001.404-11.169 10.51 10.51 0 00-.5-.052z"}],voyage:[{d:"M5.407 0v.066a.974.974 0 00-.048.245c-.011.11-.016.208-.016.295 0 .339.043.715.128 1.13.097.405.274.912.531 1.524l7.125 16.366L20.011 3.39c.161-.404.333-.846.515-1.327.182-.48.273-.966.273-1.458a1.406 1.406 0 00-.096-.54V0H24v.066c-.204.207-.45.578-.74 1.114-.29.535-.606 1.195-.949 1.982L13.095 24h-1.287L3.075 3.965c-.204-.47-.418-.923-.644-1.36-.214-.437-.418-.83-.61-1.18-.194-.36-.365-.66-.515-.9A5.666 5.666 0 001 .064V0h4.407z"}],xiaomi:[{d:"M12 0C8.016 0 4.756.255 2.493 2.516.23 4.776 0 8.033 0 12.012c0 3.98.23 7.235 2.494 9.497C4.757 23.77 8.017 24 12 24c3.983 0 7.243-.23 9.506-2.491C23.77 19.247 24 15.99 24 12.012c0-3.984-.233-7.243-2.502-9.504C19.234.252 15.978 0 12 0zM4.906 7.405h5.624c1.47 0 3.007.068 3.764.827.746.746.827 2.233.83 3.676v4.54a.15.15 0 0 1-.152.147h-1.947a.15.15 0 0 1-.152-.148V11.83c-.002-.806-.048-1.634-.464-2.051-.358-.36-1.026-.441-1.72-.458H7.158a.15.15 0 0 0-.151.147v6.98a.15.15 0 0 1-.152.148H4.906a.15.15 0 0 1-.15-.148V7.554a.15.15 0 0 1 .15-.149zm12.131 0h1.949a.15.15 0 0 1 .15.15v8.892a.15.15 0 0 1-.15.148h-1.949a.15.15 0 0 1-.151-.148V7.554a.15.15 0 0 1 .151-.149zM8.92 10.948h2.046c.083 0 .15.066.15.147v5.352a.15.15 0 0 1-.15.148H8.92a.15.15 0 0 1-.152-.148v-5.352a.15.15 0 0 1 .152-.147Z"}],zai:[{d:"M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"}]};function B({owner:a,className:c}){let d=t.VENDOR_PROVIDERS[a];if(d)return(0,b.jsx)(z.ProviderIcon,{provider:d,className:c});let e=A[a];return e?(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:c,"aria-hidden":"true",children:e.map(a=>(0,b.jsx)("path",{d:a.d,opacity:a.opacity},a.d))}):null}function C({provider:a,models:c,kind:d,value:e,loading:f,onPick:g}){let[h,j]=(0,i.useState)(!1),[m,n]=(0,i.useState)(""),[o,p]=(0,i.useState)("cheap"),[q,r]=(0,i.useState)(e),{label:u}=t.TEXT_MODEL_PROVIDERS[a],A=c.filter(a=>a.type===(d??t.CATALOG_TEXT)),B=d?A:A.filter(a=>a.tags.includes(t.CATALOG_TOOL_USE)),G=m.trim().toLowerCase(),I=(G?B.filter(a=>`${a.id} ${a.label}`.toLowerCase().includes(G)):B).slice().sort(E[o].compare);return(0,b.jsxs)(x.Dialog,{open:h,onOpenChange:a=>{j(a),a?r(e):n("")},children:[(0,b.jsxs)(x.DialogTrigger,{render:(0,b.jsx)("button",{type:"button","aria-label":"Model",className:(0,s.cn)(l.inputClassName,"relative flex items-center pr-8 text-left font-mono text-sm")}),children:[(0,b.jsx)("span",{className:(0,s.cn)("min-w-0 flex-1 truncate",!e&&"font-sans text-muted-foreground"),children:e||"Pick a model"}),(0,b.jsx)("span",{className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground",children:f&&0===B.length?(0,b.jsx)(v.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,b.jsx)(w.Search,{className:"size-3.5"})})]}),(0,b.jsx)(x.DialogContent,{className:"h-[min(40rem,calc(100vh-3rem))] gap-0 overflow-hidden p-0 sm:max-w-2xl",children:(0,b.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,b.jsxs)("div",{className:"shrink-0 space-y-1 px-6 pt-5 pb-4",children:[(0,b.jsxs)(x.DialogTitle,{className:"flex items-center gap-2.5 text-xl font-semibold",children:[(0,b.jsx)(z.ProviderIcon,{provider:a,className:"size-3.5"}),d?D[d]:"Text"," models"]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`${I.length} matching “${m.trim()}”`:d?`${B.length} on ${u}`:`${B.length} of ${A.length} on ${u} can call tools`})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-6 py-3",children:[(0,b.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,b.jsx)(w.Search,{className:"pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(l.Input,{autoFocus:!0,"aria-label":"Search models",placeholder:"name, id or provider",spellCheck:!1,value:m,onChange:a=>n(a.target.value),className:"h-8 pl-8 font-mono text-xs"})]}),(0,b.jsx)(y.Segmented,{"aria-label":"Sort",options:F,value:o,onChange:p})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4 px-6 pb-1.5 font-mono text-[10px] tracking-wide text-muted-foreground/60",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1",children:"model"}),(0,b.jsx)("span",{className:"w-28 text-right",children:"per 1M in / out"})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto border-t border-border/60",children:[I.map(a=>(0,b.jsx)(H,{model:a,picked:a.id===q,onPick:()=>r(a.id)},a.id)),0===I.length&&(0,b.jsxs)("div",{className:"flex flex-col items-start gap-2.5 p-10",children:[(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`Nothing matches “${m.trim()}”.`:"Nothing on the shelf — search for an id."}),G&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Button,{size:"sm",onClick:()=>r(m.trim()),children:["Use “",m.trim(),"” as the id"]}),(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:()=>n(""),children:"Clear search"})]})]})]}),(0,b.jsxs)("div",{className:"flex h-14 shrink-0 items-center gap-3 border-t border-border/60 px-6",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:q||"Nothing picked — the field keeps what it has"}),(0,b.jsx)(k.Button,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),(0,b.jsx)(k.Button,{disabled:!q,onClick:()=>{g(q),j(!1)},children:"Use this model"})]})]})})]})}let D={image:"Image",video:"Video",speech:"Speech",transcription:"Transcription"},E={cheap:{label:"$↑",title:"Cheapest first",compare:(a,b)=>(a.price.in??1/0)-(b.price.in??1/0)},dear:{label:"$↓",title:"Dearest first",compare:(a,b)=>(b.price.in??-1)-(a.price.in??-1)},name:{label:"a–z",title:"By name",compare:(a,b)=>a.label.localeCompare(b.label)}},F=Object.keys(E).map(a=>({value:a,label:E[a].label,title:E[a].title})),G=a=>a>=1?a.toFixed(2):String(Number(a.toFixed(4)));function H({model:a,picked:d,onPick:e}){let{price:f}=a,g=null!==f.in||null!==f.out;return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,s.cn)("flex w-full items-center gap-4 border-b border-border/60 px-6 py-2.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",d?"bg-muted/40":"hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:"grid size-[18px] shrink-0 place-items-center",children:(0,b.jsx)(B,{owner:a.owner,className:"size-[15px]"})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)("span",{className:(0,s.cn)("truncate text-[13px]",d&&"font-medium"),children:a.label}),d&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"}),a.retiring&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground",children:"retiring"})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:a.id})]}),(0,b.jsxs)("span",{className:"flex w-28 shrink-0 flex-col items-end",children:[(0,b.jsx)("span",{className:(0,s.cn)("font-mono text-xs",g||f.free?"text-foreground":"text-muted-foreground"),children:f.free?"free":null===f.in&&null===f.out?f.note??"—":`${null===f.in?"—":G(f.in)} / ${null===f.out?"—":G(f.out)}`}),g&&f.note&&(0,b.jsx)("span",{className:"font-mono text-[9px] text-muted-foreground/70",children:f.note})]})]})}function I({tier:a}){return(0,b.jsx)("span",{className:"shrink-0 rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-muted-foreground ring-1 ring-border ring-inset",children:a})}function J({provider:a,onSaved:c}){let[d,e]=(0,i.useState)(""),[f,g]=(0,q.useServerAction)(o.setConfigAction,{onOk:()=>{(0,r.revalidate)(j.queryKey.llmModel),(0,r.revalidate)(j.queryKey.config),c()}});return a.signIn?(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("p",{className:"px-1 font-mono text-[11px] text-muted-foreground",children:"Runs on your plan once you sign in"}),(0,b.jsx)(u.ChatGptSignIn,{variant:"outline"})]}):(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(l.Input,{value:d,onChange:a=>e(a.target.value),placeholder:t.TEXT_MODEL_PROVIDERS[a.id].keyLooks??"Paste the key",spellCheck:!1,type:"password"}),(0,b.jsx)(k.Button,{variant:"outline",loading:g,disabled:d.trim().length<n.KEY_MIN,onClick:()=>f(a.apiKeyName,d),children:"Save key"})]})}a.s(["ModelPicker",0,function({provider:a,model:e,kind:f,unset:n,onChange:o,onUnset:q,compact:u=!1}){let{data:v=[],mutate:w}=(0,r.useServerRoute)(j.queryKey.llmModel),x=f?v.filter(a=>(0,t.canMakeKind)(a.id,f)):v,y=x.find(b=>b.id===a),[A,B]=(0,i.useState)(!1),[D,E]=(0,i.useState)(null),[F,G]=(0,i.useState)(""),H=x.find(b=>b.id===(D??a))??x[0],K=H&&(0,t.isCatalogProvider)(H.id)?H.id:null,L=(0,r.useServerRoute)(A&&K&&j.queryKey.modelCatalog(K)),M=a=>f&&a?t.MEDIA_MODEL_PROVIDERS[a.id]?.models[f]??[]:a?.suggestModels??[],N=M(y).find(a=>a.id===e),O=a=>{H&&a.trim()&&(o({provider:H.id,model:a.trim()}),G(""),B(!1))};return(0,b.jsxs)(m.Popover,{open:A,onOpenChange:a=>{B(a),a||E(null)},children:[(0,b.jsxs)(m.PopoverTrigger,{render:u?(0,b.jsx)("button",{type:"button",className:"inline-flex h-5 max-w-64 items-center gap-1.5 rounded-full px-2 text-foreground/80 ring-1 ring-border outline-none ring-inset transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50"}):(0,b.jsx)(k.Button,{variant:"outline",className:"w-full min-w-0 justify-start gap-2 font-normal"}),children:[y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.ProviderIcon,{provider:y.id,className:(0,s.cn)("shrink-0",u?"size-3":"size-4")}),!u&&(0,b.jsxs)("span",{className:"min-w-0 max-w-fit grow basis-0 truncate text-muted-foreground",children:[y.label,(0,b.jsx)("span",{className:"ml-2 text-muted-foreground/40",children:"·"})]}),(0,b.jsx)("span",{className:(0,s.cn)("truncate",!u&&"font-medium"),children:N?.label??(e||"Pick a model")})]}):(0,b.jsx)("span",{className:"truncate text-muted-foreground",children:n??(f?"Not picked":"App default")}),(0,b.jsx)(d.ChevronsUpDown,{className:(0,s.cn)("ml-auto shrink-0 text-muted-foreground",u?"size-2.5":"size-3.5")})]}),(0,b.jsxs)(m.PopoverContent,{align:"start",className:"flex w-[min(34rem,calc(100vw-2rem))] flex-row gap-0 overflow-hidden rounded-2xl p-0",children:[(0,b.jsxs)("div",{className:"flex max-h-80 w-48 shrink-0 flex-col gap-px overflow-y-auto border-r border-border/60 bg-muted/40 p-1.5",children:[q&&(0,b.jsxs)("button",{type:"button",onClick:()=>{q(),B(!1)},className:(0,s.cn)("mb-1 flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",y?"hover:bg-muted/60":"bg-muted font-medium"),children:[(0,b.jsx)(g,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:n??(f?"Not picked":"App default")}),!y&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]}),x.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>E(a.id),className:(0,s.cn)("flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a.id===H?.id?"bg-muted font-medium":"hover:bg-muted/60",!a.hasKey&&"text-muted-foreground"),children:[(0,b.jsx)(z.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.label}),!a.hasKey&&(0,b.jsx)(h.KeyRound,{className:"size-3 shrink-0"})]},a.id))]}),(0,b.jsx)("div",{className:"flex max-h-80 min-w-0 flex-1 flex-col gap-px overflow-y-auto p-1.5",children:H?H.hasKey?K&&!L.error?(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Every model ",H.label," carries, with what each costs."]}),(0,b.jsx)(C,{provider:K,models:L.data??[],kind:f,value:H.id===a?e:"",loading:L.isLoading,onPick:O})]}):(0,b.jsxs)(b.Fragment,{children:[M(H).map(d=>{let f=H.id===a&&d.id===e;return(0,b.jsxs)("button",{type:"button",onClick:()=>O(d.id),className:(0,s.cn)("flex shrink-0 items-center gap-2 rounded-lg px-2.5 py-1.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"bg-muted":"hover:bg-muted/60"),children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-[13px] font-medium",children:[(0,b.jsx)("span",{className:"truncate",children:d.label}),(0,b.jsx)(I,{tier:d.tier})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:d.id})]}),f&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]},d.id)}),(0,b.jsx)("form",{onSubmit:a=>{a.preventDefault(),O(F)},className:"mt-1 px-1 pb-1",children:(0,b.jsx)(l.Input,{value:F,onChange:a=>G(a.target.value),spellCheck:!1,"aria-label":"Model id",placeholder:L.error?"Could not read the catalog — type an id":"or type a model id",className:"h-8 font-mono text-xs"})})]}):(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsx)("p",{className:(0,s.cn)("text-xs leading-relaxed",H.lostKey?s.WAITING_INK:"text-muted-foreground"),children:H.lostKey?H.signIn?(0,p.lostWords)(`The ${H.label} sign-in saved before`,"Sign in again."):(0,p.lostWords)(`The ${H.label} key saved before`,"Paste it again."):`${H.label} has no key yet.`}),(0,b.jsx)(J,{provider:H,onSaved:()=>w()})]}):null})]})]})}],608902)}];
1
+ module.exports=[608902,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(340345),e=a.i(164831);let f={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};f.node;let g=(0,e.default)(f);var h=a.i(126766),i=a.i(572131),j=a.i(767561),k=a.i(340695),l=a.i(205522),m=a.i(630342),n=a.i(287702),o=a.i(370403),p=a.i(478978),q=a.i(313237),r=a.i(759497),s=a.i(497895),t=a.i(61876),u=a.i(852307),v=a.i(158983),w=a.i(233540),x=a.i(965733),y=a.i(777794),z=a.i(379630);let A={alibaba:[{d:"M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"}],amazon:[{d:"M13.05 15.513h3.08c.214 0 .389.177.389.394v1.82a1.704 1.704 0 011.296 1.661c0 .943-.755 1.708-1.685 1.708-.931 0-1.686-.765-1.686-1.708 0-.807.554-1.484 1.297-1.662v-1.425h-2.69v4.663a.395.395 0 01-.188.338l-2.69 1.641a.385.385 0 01-.405-.002l-4.926-3.086a.395.395 0 01-.185-.336V16.3L2.196 14.87A.395.395 0 012 14.555L2 14.528V9.406c0-.14.073-.27.192-.34l2.465-1.462V4.448c0-.129.062-.249.165-.322l.021-.014L9.77 1.058a.385.385 0 01.407 0l2.69 1.675a.395.395 0 01.185.336V7.6h3.856V5.683a1.704 1.704 0 01-1.296-1.662c0-.943.755-1.708 1.685-1.708.931 0 1.685.765 1.685 1.708 0 .807-.553 1.484-1.296 1.662v2.311a.391.391 0 01-.389.394h-4.245v1.806h6.624a1.69 1.69 0 011.64-1.313c.93 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708a1.69 1.69 0 01-1.64-1.314H13.05v1.937h4.953l.915 1.18a1.66 1.66 0 01.84-.227c.931 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708-.93 0-1.685-.765-1.685-1.708 0-.346.102-.668.276-.937l-.724-.935H13.05v1.806zM9.973 1.856L7.93 3.122V6.09h-.778V3.604L5.435 4.669v2.945l2.11 1.36L9.712 7.61V5.334h.778V7.83c0 .136-.07.263-.184.335L7.963 9.638v2.081l1.422 1.009-.446.646-1.406-.998-1.53 1.005-.423-.66 1.605-1.055v-1.99L5.038 8.29l-2.26 1.34v1.676l1.972-1.189.398.677-2.37 1.429V14.3l2.166 1.258 2.27-1.368.397.677-2.176 1.311V19.3l1.876 1.175 2.365-1.426.398.678-2.017 1.216 1.918 1.201 2.298-1.403v-5.78l-4.758 2.893-.4-.675 5.158-3.136V3.289L9.972 1.856zM16.13 18.47a.913.913 0 00-.908.92c0 .507.406.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zm3.63-3.81a.913.913 0 00-.908.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92zm1.555-4.99a.913.913 0 00-.908.92c0 .507.407.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zM17.296 3.1a.913.913 0 00-.907.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92z"}],"arcee-ai":[{d:"M13.236 2.377L2.751 20.493H0L11.863 0l1.373 2.377zm3.554 6.156l-9.606 11.96H4.13L15.511 6.32l1.279 2.212zm6.908 11.96H14.05l8.406-2.151 1.242 2.15zm-3.42-5.922l-7.843 5.92H8.482l10.597-7.997 1.2 2.077z"}],bfl:[{d:"M0 20.683L12.01 2.5 24 20.683h-2.233L12.009 5.878 3.471 18.806h12.122l1.239 1.877H0z"},{d:"M8.069 16.724l2.073-3.115 2.074 3.115H8.069zM18.24 20.683l-5.668-8.707h2.177l5.686 8.707h-2.196zM19.74 11.676l2.13-3.19 2.13 3.19h-4.26z"}],bytedance:[{d:"M14.944 18.587l-1.704-.445V10.01l1.824-.462c1-.254 1.84-.461 1.88-.453.032 0 .056 2.235.056 4.972v4.973l-.176-.008c-.104 0-.952-.207-1.88-.446z"},{d:"M7 16.542c0-2.736.024-4.98.064-4.98.032-.008.872.2 1.88.454l1.816.461-.016 4.05-.024 4.049-1.632.422c-.896.23-1.736.445-1.856.469L7 21.523v-4.98z"},{d:"M19.24 12.477c0-9.03.008-9.515.144-9.475.072.024.784.207 1.576.406.792.207 1.576.405 1.744.445l.296.08-.016 8.56-.024 8.568-1.624.414c-.888.23-1.728.437-1.856.47l-.24.055v-9.523z"},{d:"M1 12.509c0-4.678.024-8.505.064-8.505.032 0 .872.207 1.872.454l1.824.461v7.582c0 4.16-.016 7.574-.032 7.574-.024 0-.872.215-1.88.47L1 21.013v-8.505z"}],"fish-audio":[{d:"M23.12 12.13v.62c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.62c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.37v1.74c0 .24.2.44.44.44.25 0 .44-.2.44-.44V12.5c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76.43v1.99q0 .09.03.17.04.08.1.14.07.07.15.1t.17.03c.24 0 .44-.19.44-.44v-1.99c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17m-1.76.35v1.97c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-1.97c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.32v1.65c0 .25.2.45.44.45s.44-.2.44-.45V13.6c0-.25-.2-.45-.44-.45s-.44.2-.44.45m-1.76 1.26v.3q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-.3q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M0 9.38v.19c0 .24.2.44.44.44.25 0 .44-.2.44-.44v-.19c0-.25-.19-.44-.44-.44-.24 0-.44.19-.44.44m1.82.15v.81c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.81q0-.18-.13-.31t-.31-.13-.31.13-.13.31m1.81-.24v3.39q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V9.29q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3m1.83-.35v.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.22q0-.18-.13-.31T5.9 8.5t-.31.13-.13.31m0 2.94v2.34c0 .25.19.44.44.44.24 0 .44-.19.44-.44v-2.34c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m15.89-3.32V11c0 .25.2.44.44.44.25 0 .44-.19.44-.44V8.56c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76-.39v3.28q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.17c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17M17.83 8v3.9c0 .24.19.44.44.44.24 0 .44-.2.44-.44V8c0-.25-.2-.44-.44-.44-.25 0-.44.19-.44.44m-1.77.11v3.96c0 .25.2.44.44.44s.44-.19.44-.44V8.11c0-.25-.2-.44-.44-.44s-.44.19-.44.44m-1.76.27v5.03q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.38c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.8.46v5.75q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.84c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.76.76v5.52c0 .24.2.44.44.44.25 0 .44-.2.44-.44V9.6c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.77 1.01v4.77q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-4.77q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M23.12 9.6v1.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44V9.6c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44M7.21 11.32V16c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-4.68q0-.18-.13-.31t-.31-.13-.31.13-.13.31"}],inception:[{d:"M14.767 1H7.884L1 7.883v6.884h6.884V7.883h6.883V1zM9.234 23h6.882L23 16.116V9.233h-6.884v6.883H9.234V23z"}],klingai:[{d:"M5.493 21.234c-1.112-1.451-1.109-4.263-.081-7.459l-4.557-2.63a1.683 1.683 0 01-.85-1.304 1.505 1.505 0 01.08-.622 13.18 13.18 0 011.037-2.255c3.476-6.02 10.916-8.23 16.619-4.938.46.266.82.67 1.081 1.184.785 1.545.685 4.096-.234 6.954l4.557 2.631c.339.196.596.492.736.832a1.53 1.53 0 01.034 1.093 13.146 13.146 0 01-1.037 2.255c-3.476 6.02-10.916 8.23-16.619 4.938a2.6 2.6 0 01-.766-.68zm11.096-6.615c-2.073 3.591-5.808 5.316-8.343 3.852-1.267-.731-1.994-2.122-2.145-3.778-.095-1.035.036-2.173.4-3.32.217-.684.517-1.37.902-2.039l.008-.014c2.073-3.59 5.808-5.315 8.343-3.852.633.366 1.13.895 1.49 1.54.986 1.772.922 4.415-.285 6.914-.111.23-.232.457-.362.683l-.008.014z"}],kwaipilot:[{d:"M11.765.03C5.327.03.108 5.25.108 11.686c0 3.514 1.556 6.665 4.015 8.804L9.89 8.665h6.451L9.31 23.083c.807.173 1.63.26 2.455.26 6.438 0 11.657-5.22 11.657-11.658S18.202.028 11.765.028V.03z"}],meta:[{d:"M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z"}],minimax:[{d:"M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z"}],moonshotai:[{d:"M1.052 16.916l9.539 2.552a21.007 21.007 0 00.06 2.033l5.956 1.593a11.997 11.997 0 01-5.586.865l-.18-.016-.044-.004-.084-.009-.094-.01a11.605 11.605 0 01-.157-.02l-.107-.014-.11-.016a11.962 11.962 0 01-.32-.051l-.042-.008-.075-.013-.107-.02-.07-.015-.093-.019-.075-.016-.095-.02-.097-.023-.094-.022-.068-.017-.088-.022-.09-.024-.095-.025-.082-.023-.109-.03-.062-.02-.084-.025-.093-.028-.105-.034-.058-.019-.08-.026-.09-.031-.066-.024a6.293 6.293 0 01-.044-.015l-.068-.025-.101-.037-.057-.022-.08-.03-.087-.035-.088-.035-.079-.032-.095-.04-.063-.028-.063-.027a5.655 5.655 0 01-.041-.018l-.066-.03-.103-.047-.052-.024-.096-.046-.062-.03-.084-.04-.086-.044-.093-.047-.052-.027-.103-.055-.057-.03-.058-.032a6.49 6.49 0 01-.046-.026l-.094-.053-.06-.034-.051-.03-.072-.041-.082-.05-.093-.056-.052-.032-.084-.053-.061-.039-.079-.05-.07-.047-.053-.035a7.785 7.785 0 01-.054-.036l-.044-.03-.044-.03a6.066 6.066 0 01-.04-.028l-.057-.04-.076-.054-.069-.05-.074-.054-.056-.042-.076-.057-.076-.059-.086-.067-.045-.035-.064-.052-.074-.06-.089-.073-.046-.039-.046-.039a7.516 7.516 0 01-.043-.037l-.045-.04-.061-.053-.07-.062-.068-.06-.062-.058-.067-.062-.053-.05-.088-.084a13.28 13.28 0 01-.099-.097l-.029-.028-.041-.042-.069-.07-.05-.051-.05-.053a6.457 6.457 0 01-.168-.179l-.08-.088-.062-.07-.071-.08-.042-.049-.053-.062-.058-.068-.046-.056a7.175 7.175 0 01-.027-.033l-.045-.055-.066-.082-.041-.052-.05-.064-.02-.025a11.99 11.99 0 01-1.44-2.402zm-1.02-5.794l11.353 3.037a20.468 20.468 0 00-.469 2.011l10.817 2.894a12.076 12.076 0 01-1.845 2.005L.657 15.923l-.016-.046-.035-.104a11.965 11.965 0 01-.05-.153l-.007-.023a11.896 11.896 0 01-.207-.741l-.03-.126-.018-.08-.021-.097-.018-.081-.018-.09-.017-.084-.018-.094c-.026-.141-.05-.283-.071-.426l-.017-.118-.011-.083-.013-.102a12.01 12.01 0 01-.019-.161l-.005-.047a12.12 12.12 0 01-.034-2.145zm1.593-5.15l11.948 3.196c-.368.605-.705 1.231-1.01 1.875l11.295 3.022c-.142.82-.368 1.612-.668 2.365l-11.55-3.09L.124 10.26l.015-.1.008-.049.01-.067.015-.087.018-.098c.026-.148.056-.295.088-.442l.028-.124.02-.085.024-.097c.022-.09.045-.18.07-.268l.028-.102.023-.083.03-.1.025-.082.03-.096.026-.082.031-.095a11.896 11.896 0 011.01-2.232zm4.442-4.4L17.352 4.59a20.77 20.77 0 00-1.688 1.721l7.823 2.093c.267.852.442 1.744.513 2.665L2.106 5.213l.045-.065.027-.04.04-.055.046-.065.055-.076.054-.072.064-.086.05-.065.057-.073.055-.07.06-.074.055-.069.065-.077.054-.066.066-.077.053-.06.072-.082.053-.06.067-.074.054-.058.073-.078.058-.06.063-.067.168-.17.1-.098.059-.056.076-.071a12.084 12.084 0 012.272-1.677zM12.017 0h.097l.082.001.069.001.054.002.068.002.046.001.076.003.047.002.06.003.054.002.087.005.105.007.144.011.088.007.044.004.077.008.082.008.047.005.102.012.05.006.108.014.081.01.042.006.065.01.207.032.07.012.065.011.14.026.092.018.11.022.046.01.075.016.041.01L14.7.3l.042.01.065.015.049.012.071.017.096.024.112.03.113.03.113.032.05.015.07.02.078.024.073.023.05.016.05.016.076.025.099.033.102.036.048.017.064.023.093.034.11.041.116.045.1.04.047.02.06.024.041.018.063.026.04.018.057.025.11.048.1.046.074.035.075.036.06.028.092.046.091.045.102.052.053.028.049.026.046.024.06.033.041.022.052.029.088.05.106.06.087.051.057.034.053.032.096.059.088.055.098.062.036.024.064.041.084.056.04.027.062.042.062.043.023.017c.054.037.108.075.161.114l.083.06.065.048.056.043.086.065.082.064.04.03.05.041.086.069.079.065.085.071c.712.6 1.353 1.283 1.909 2.031L7.222.994l.062-.027.065-.028.081-.034.086-.035c.113-.045.227-.09.341-.131l.096-.035.093-.033.084-.03.096-.031c.087-.03.176-.058.264-.085l.091-.027.086-.025.102-.03.085-.023.1-.026L9.04.37l.09-.023.091-.022.095-.022.09-.02.098-.021.091-.02.095-.018.092-.018.1-.018.091-.016.098-.017.092-.014.097-.015.092-.013.102-.013.091-.012.105-.012.09-.01.105-.01c.093-.01.186-.018.28-.024l.106-.008.09-.005.11-.006.093-.004.1-.004.097-.002.099-.002.197-.002z"}],morph:[{d:"M7.941 2c.23 0 .452.073.638.21.186.136.325.328.397.55l.593 1.814c.073.221.212.413.397.55.186.136.409.21.638.21h2.791c.23 0 .452-.074.638-.21a1.11 1.11 0 00.397-.55l.594-1.815a1.11 1.11 0 01.397-.55c.185-.136.408-.209.637-.209h1.7c.23 0 .453.073.639.21.185.136.324.328.397.55l.652 1.994c.118.361.41.635.77.728l2.957.752c.236.06.446.199.596.394.15.195.23.436.231.684v9.376c0 .248-.081.488-.231.684a1.09 1.09 0 01-.595.394l-2.957.752a1.086 1.086 0 00-.477.263 1.114 1.114 0 00-.293.465l-.653 1.994a1.11 1.11 0 01-.396.55c-.186.136-.41.21-.638.21h-1.702c-.229 0-.452-.073-.637-.21a1.11 1.11 0 01-.397-.55l-.364-1.11a1.131 1.131 0 01.15-1.002 1.074 1.074 0 01.885-.462h2.85c.29 0 .567-.116.772-.325.204-.208.32-.49.32-.785V6.444c0-.294-.116-.577-.32-.785a1.08 1.08 0 00-.771-.326h-3.273c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v7.778c0 .295-.114.578-.319.786a1.08 1.08 0 01-.771.325h-2.182a1.08 1.08 0 01-.771-.325 1.122 1.122 0 01-.32-.786V6.444c0-.294-.115-.577-.32-.785a1.081 1.081 0 00-.77-.326H5.454c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v11.112c0 .294.116.577.32.785.205.209.482.326.772.326h2.85a1.075 1.075 0 01.885.461 1.122 1.122 0 01.15 1.001l-.364 1.112a1.11 1.11 0 01-.397.55c-.185.136-.408.209-.637.209H6.24c-.229 0-.452-.073-.638-.21a1.11 1.11 0 01-.397-.55l-.652-1.994a1.114 1.114 0 00-.294-.465 1.086 1.086 0 00-.477-.263l-2.956-.752a1.09 1.09 0 01-.595-.394A1.124 1.124 0 010 16.688V7.312c0-.248.081-.489.231-.684.15-.195.36-.334.595-.394l2.957-.753c.178-.045.342-.136.477-.263.134-.127.235-.287.293-.464l.653-1.995a1.11 1.11 0 01.397-.55C5.788 2.075 6.01 2 6.24 2h1.701z"}],nvidia:[{d:"M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"}],perplexity:[{d:"M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"}],recraft:[{d:"M19.667 8.275c0-4.57-4.15-8.275-9.27-8.275-1.774 0-3.213 3.705-3.213 8.275 0 1.143.09 2.233.253 3.224H4.29L1 23h9.4v-6.447c5.117 0 9.266-3.707 9.266-8.275l.001-.002zm-9.27-6.76c.93 0 1.682 3.028 1.682 6.76 0 3.733-.752 6.76-1.681 6.76-.93 0-1.681-3.027-1.681-6.76 0-3.732.752-6.76 1.68-6.76z"},{d:"M19.848 16.552h-9.44L14.028 23h9.438l-3.618-6.448z"}],stepfun:[{d:"M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0zM8.762 19.614H4.376v-4.386h4.386v4.386zm5.423 0H9.798v-4.386h4.387v4.386zm0-5.42H9.798V9.81h4.387v4.386zm0-5.418H9.798V4.39h4.387v4.386zm5.422-.004h-4.386V4.386h4.386v4.386z"}],tencent:[{d:"M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0zm1.652 1.123l-.01-.001c.533.097 1.023.233 1.41.404 6.084 2.683 7.396 9.214 1.601 14.338a3.781 3.781 0 01-5.337-.328 3.654 3.654 0 01-.884-3.044c-1.934.6-3.295 2.305-3.524 4.45-.204 1.912.324 4.044 2.056 5.634l.245.067C10.1 22.876 11.036 23 12 23c6.075 0 11-4.925 11-11 0-5.513-4.056-10.08-9.348-10.877zM2.748 6.21c-.178.269-.348.536-.51.803l-.235.394.078-.167A10.957 10.957 0 001 12c0 4.919 3.228 9.083 7.682 10.49l.214.065C3.523 18.528 2.84 14.149 6.47 8.68A2.234 2.234 0 102.748 6.21zm10.157-5.172c4.408 1.33 3.61 5.41 2.447 6.924-.86 1.117-2.922 1.46-3.708 2.238-.666.657-1.077 1.462-1.212 2.291A5.303 5.303 0 0112 12.258a5.672 5.672 0 001.404-11.169 10.51 10.51 0 00-.5-.052z"}],voyage:[{d:"M5.407 0v.066a.974.974 0 00-.048.245c-.011.11-.016.208-.016.295 0 .339.043.715.128 1.13.097.405.274.912.531 1.524l7.125 16.366L20.011 3.39c.161-.404.333-.846.515-1.327.182-.48.273-.966.273-1.458a1.406 1.406 0 00-.096-.54V0H24v.066c-.204.207-.45.578-.74 1.114-.29.535-.606 1.195-.949 1.982L13.095 24h-1.287L3.075 3.965c-.204-.47-.418-.923-.644-1.36-.214-.437-.418-.83-.61-1.18-.194-.36-.365-.66-.515-.9A5.666 5.666 0 001 .064V0h4.407z"}],xiaomi:[{d:"M12 0C8.016 0 4.756.255 2.493 2.516.23 4.776 0 8.033 0 12.012c0 3.98.23 7.235 2.494 9.497C4.757 23.77 8.017 24 12 24c3.983 0 7.243-.23 9.506-2.491C23.77 19.247 24 15.99 24 12.012c0-3.984-.233-7.243-2.502-9.504C19.234.252 15.978 0 12 0zM4.906 7.405h5.624c1.47 0 3.007.068 3.764.827.746.746.827 2.233.83 3.676v4.54a.15.15 0 0 1-.152.147h-1.947a.15.15 0 0 1-.152-.148V11.83c-.002-.806-.048-1.634-.464-2.051-.358-.36-1.026-.441-1.72-.458H7.158a.15.15 0 0 0-.151.147v6.98a.15.15 0 0 1-.152.148H4.906a.15.15 0 0 1-.15-.148V7.554a.15.15 0 0 1 .15-.149zm12.131 0h1.949a.15.15 0 0 1 .15.15v8.892a.15.15 0 0 1-.15.148h-1.949a.15.15 0 0 1-.151-.148V7.554a.15.15 0 0 1 .151-.149zM8.92 10.948h2.046c.083 0 .15.066.15.147v5.352a.15.15 0 0 1-.15.148H8.92a.15.15 0 0 1-.152-.148v-5.352a.15.15 0 0 1 .152-.147Z"}],zai:[{d:"M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"}]};function B({owner:a,className:c}){let d=t.VENDOR_PROVIDERS[a];if(d)return(0,b.jsx)(z.ProviderIcon,{provider:d,className:c});let e=A[a];return e?(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:c,"aria-hidden":"true",children:e.map(a=>(0,b.jsx)("path",{d:a.d,opacity:a.opacity},a.d))}):null}function C({provider:a,models:c,kind:d,value:e,loading:f,onPick:g}){let[h,j]=(0,i.useState)(!1),[m,n]=(0,i.useState)(""),[o,p]=(0,i.useState)("cheap"),[q,r]=(0,i.useState)(e),{label:u}=t.TEXT_MODEL_PROVIDERS[a],A=c.filter(a=>a.type===(d??t.CATALOG_TEXT)),B=d?A:A.filter(a=>a.tags.includes(t.CATALOG_TOOL_USE)),G=m.trim().toLowerCase(),I=(G?B.filter(a=>`${a.id} ${a.label}`.toLowerCase().includes(G)):B).slice().sort(E[o].compare);return(0,b.jsxs)(x.Dialog,{open:h,onOpenChange:a=>{j(a),a?r(e):n("")},children:[(0,b.jsxs)(x.DialogTrigger,{render:(0,b.jsx)("button",{type:"button","aria-label":"Model",className:(0,s.cn)(l.inputClassName,"relative flex items-center pr-8 text-left font-mono text-sm")}),children:[(0,b.jsx)("span",{className:(0,s.cn)("min-w-0 flex-1 truncate",!e&&"font-sans text-muted-foreground"),children:e||"Pick a model"}),(0,b.jsx)("span",{className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground",children:f&&0===B.length?(0,b.jsx)(v.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,b.jsx)(w.Search,{className:"size-3.5"})})]}),(0,b.jsx)(x.DialogContent,{className:"h-[min(40rem,calc(100vh-3rem))] gap-0 overflow-hidden p-0 sm:max-w-2xl",children:(0,b.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,b.jsxs)("div",{className:"shrink-0 space-y-1 px-6 pt-5 pb-4",children:[(0,b.jsxs)(x.DialogTitle,{className:"flex items-center gap-2.5 text-xl font-semibold",children:[(0,b.jsx)(z.ProviderIcon,{provider:a,className:"size-3.5"}),d?D[d]:"Text"," models"]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`${I.length} matching “${m.trim()}”`:d?`${B.length} on ${u}`:`${B.length} of ${A.length} on ${u} can call tools`})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-6 py-3",children:[(0,b.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,b.jsx)(w.Search,{className:"pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(l.Input,{autoFocus:!0,"aria-label":"Search models",placeholder:"name, id or provider",spellCheck:!1,value:m,onChange:a=>n(a.target.value),className:"h-8 pl-8 font-mono text-xs"})]}),(0,b.jsx)(y.Segmented,{"aria-label":"Sort",options:F,value:o,onChange:p})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4 px-6 pb-1.5 font-mono text-[10px] tracking-wide text-muted-foreground",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1",children:"model"}),(0,b.jsx)("span",{className:"w-28 text-right",children:"per 1M in / out"})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto border-t border-border/60",children:[I.map(a=>(0,b.jsx)(H,{model:a,picked:a.id===q,onPick:()=>r(a.id)},a.id)),0===I.length&&(0,b.jsxs)("div",{className:"flex flex-col items-start gap-2.5 p-10",children:[(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`Nothing matches “${m.trim()}”.`:"Nothing on the shelf — search for an id."}),G&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Button,{size:"sm",onClick:()=>r(m.trim()),children:["Use “",m.trim(),"” as the id"]}),(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:()=>n(""),children:"Clear search"})]})]})]}),(0,b.jsxs)("div",{className:"flex h-14 shrink-0 items-center gap-3 border-t border-border/60 px-6",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:q||"Nothing picked — the field keeps what it has"}),(0,b.jsx)(k.Button,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),(0,b.jsx)(k.Button,{disabled:!q,onClick:()=>{g(q),j(!1)},children:"Use this model"})]})]})})]})}let D={image:"Image",video:"Video",speech:"Speech",transcription:"Transcription"},E={cheap:{label:"$↑",title:"Cheapest first",compare:(a,b)=>(a.price.in??1/0)-(b.price.in??1/0)},dear:{label:"$↓",title:"Dearest first",compare:(a,b)=>(b.price.in??-1)-(a.price.in??-1)},name:{label:"a–z",title:"By name",compare:(a,b)=>a.label.localeCompare(b.label)}},F=Object.keys(E).map(a=>({value:a,label:E[a].label,title:E[a].title})),G=a=>a>=1?a.toFixed(2):String(Number(a.toFixed(4)));function H({model:a,picked:d,onPick:e}){let{price:f}=a,g=null!==f.in||null!==f.out;return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,s.cn)("flex w-full items-center gap-4 border-b border-border/60 px-6 py-2.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",d?"bg-muted/40":"hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:"grid size-[18px] shrink-0 place-items-center",children:(0,b.jsx)(B,{owner:a.owner,className:"size-[15px]"})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)("span",{className:(0,s.cn)("truncate text-[13px]",d&&"font-medium"),children:a.label}),d&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"}),a.retiring&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground",children:"retiring"})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:a.id})]}),(0,b.jsxs)("span",{className:"flex w-28 shrink-0 flex-col items-end",children:[(0,b.jsx)("span",{className:(0,s.cn)("font-mono text-xs",g||f.free?"text-foreground":"text-muted-foreground"),children:f.free?"free":null===f.in&&null===f.out?f.note??"—":`${null===f.in?"—":G(f.in)} / ${null===f.out?"—":G(f.out)}`}),g&&f.note&&(0,b.jsx)("span",{className:"font-mono text-[9px] text-muted-foreground",children:f.note})]})]})}function I({tier:a}){return(0,b.jsx)("span",{className:"shrink-0 rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-muted-foreground ring-1 ring-border ring-inset",children:a})}function J({provider:a,onSaved:c}){let[d,e]=(0,i.useState)(""),[f,g]=(0,q.useServerAction)(o.setConfigAction,{onOk:()=>{(0,r.revalidate)(j.queryKey.llmModel),(0,r.revalidate)(j.queryKey.config),c()}});return a.signIn?(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("p",{className:"px-1 font-mono text-[11px] text-muted-foreground",children:"Runs on your plan once you sign in"}),(0,b.jsx)(u.ChatGptSignIn,{variant:"outline"})]}):(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(l.Input,{value:d,onChange:a=>e(a.target.value),placeholder:t.TEXT_MODEL_PROVIDERS[a.id].keyLooks??"Paste the key",spellCheck:!1,type:"password"}),(0,b.jsx)(k.Button,{variant:"outline",loading:g,disabled:d.trim().length<n.KEY_MIN,onClick:()=>f(a.apiKeyName,d),children:"Save key"})]})}a.s(["ModelPicker",0,function({provider:a,model:e,kind:f,unset:n,onChange:o,onUnset:q,compact:u=!1}){let{data:v=[],mutate:w}=(0,r.useServerRoute)(j.queryKey.llmModel),x=f?v.filter(a=>(0,t.canMakeKind)(a.id,f)):v,y=x.find(b=>b.id===a),[A,B]=(0,i.useState)(!1),[D,E]=(0,i.useState)(null),[F,G]=(0,i.useState)(""),H=x.find(b=>b.id===(D??a))??x[0],K=H&&(0,t.isCatalogProvider)(H.id)?H.id:null,L=(0,r.useServerRoute)(A&&K&&j.queryKey.modelCatalog(K)),M=a=>f&&a?t.MEDIA_MODEL_PROVIDERS[a.id]?.models[f]??[]:a?.suggestModels??[],N=M(y).find(a=>a.id===e),O=a=>{H&&a.trim()&&(o({provider:H.id,model:a.trim()}),G(""),B(!1))};return(0,b.jsxs)(m.Popover,{open:A,onOpenChange:a=>{B(a),a||E(null)},children:[(0,b.jsxs)(m.PopoverTrigger,{render:u?(0,b.jsx)("button",{type:"button",className:"inline-flex h-5 max-w-64 items-center gap-1.5 rounded-full px-2 text-foreground/80 ring-1 ring-border outline-none ring-inset transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50"}):(0,b.jsx)(k.Button,{variant:"outline",className:"w-full min-w-0 justify-start gap-2 font-normal"}),children:[y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.ProviderIcon,{provider:y.id,className:(0,s.cn)("shrink-0",u?"size-3":"size-4")}),!u&&(0,b.jsxs)("span",{className:"min-w-0 max-w-fit grow basis-0 truncate text-muted-foreground",children:[y.label,(0,b.jsx)("span",{className:"ml-2 text-muted-foreground/40",children:"·"})]}),(0,b.jsx)("span",{className:(0,s.cn)("truncate",!u&&"font-medium"),children:N?.label??(e||"Pick a model")})]}):(0,b.jsx)("span",{className:"truncate text-muted-foreground",children:n??(f?"Not picked":"App default")}),(0,b.jsx)(d.ChevronsUpDown,{className:(0,s.cn)("ml-auto shrink-0 text-muted-foreground",u?"size-2.5":"size-3.5")})]}),(0,b.jsxs)(m.PopoverContent,{align:"start",className:"flex w-[min(34rem,calc(100vw-2rem))] flex-row gap-0 overflow-hidden rounded-2xl p-0",children:[(0,b.jsxs)("div",{className:"flex max-h-80 w-48 shrink-0 flex-col gap-px overflow-y-auto border-r border-border/60 bg-muted/40 p-1.5",children:[q&&(0,b.jsxs)("button",{type:"button",onClick:()=>{q(),B(!1)},className:(0,s.cn)("mb-1 flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",y?"hover:bg-muted/60":"bg-muted font-medium"),children:[(0,b.jsx)(g,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:n??(f?"Not picked":"App default")}),!y&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]}),x.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>E(a.id),className:(0,s.cn)("flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a.id===H?.id?"bg-muted font-medium":"hover:bg-muted/60",!a.hasKey&&"text-muted-foreground"),children:[(0,b.jsx)(z.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.label}),!a.hasKey&&(0,b.jsx)(h.KeyRound,{className:"size-3 shrink-0"})]},a.id))]}),(0,b.jsx)("div",{className:"flex max-h-80 min-w-0 flex-1 flex-col gap-px overflow-y-auto p-1.5",children:H?H.hasKey?K&&!L.error?(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Every model ",H.label," carries, with what each costs."]}),(0,b.jsx)(C,{provider:K,models:L.data??[],kind:f,value:H.id===a?e:"",loading:L.isLoading,onPick:O})]}):(0,b.jsxs)(b.Fragment,{children:[M(H).map(d=>{let f=H.id===a&&d.id===e;return(0,b.jsxs)("button",{type:"button",onClick:()=>O(d.id),className:(0,s.cn)("flex shrink-0 items-center gap-2 rounded-lg px-2.5 py-1.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"bg-muted":"hover:bg-muted/60"),children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-[13px] font-medium",children:[(0,b.jsx)("span",{className:"truncate",children:d.label}),(0,b.jsx)(I,{tier:d.tier})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:d.id})]}),f&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]},d.id)}),(0,b.jsx)("form",{onSubmit:a=>{a.preventDefault(),O(F)},className:"mt-1 px-1 pb-1",children:(0,b.jsx)(l.Input,{value:F,onChange:a=>G(a.target.value),spellCheck:!1,"aria-label":"Model id",placeholder:L.error?"Could not read the catalog — type an id":"or type a model id",className:"h-8 font-mono text-xs"})})]}):(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsx)("p",{className:(0,s.cn)("text-xs leading-relaxed",H.lostKey?s.WAITING_INK:"text-muted-foreground"),children:H.lostKey?H.signIn?(0,p.lostWords)(`The ${H.label} sign-in saved before`,"Sign in again."):(0,p.lostWords)(`The ${H.label} key saved before`,"Paste it again."):`${H.label} has no key yet.`}),(0,b.jsx)(J,{provider:H,onSaved:()=>w()})]}):null})]})]})}],608902)}];
2
2
 
3
3
  //# sourceMappingURL=features_ai_components_model-picker_tsx_0ucb1y9._.js.map
@@ -2,11 +2,11 @@ module.exports=[839430,a=>a.a(async(b,c)=>{try{var d=a.i(666680),e=a.i(93321),f=
2
2
 
3
3
  ${d.result}`:`## ${c}
4
4
 
5
- ${c} stopped without an answer.`})}let af=(a,b,c,d)=>[c,...D(a,b,d)].join("\n\n");function E(a,b){let c={messageId:b,to:a.bot};return a.bot===q.ROOM_THURSDAY?c:ad(a)?{...c,note:`Held: it goes to ${a.bot} with ${ae(a.waitsFor)} attached, when you end the turn in which you have read ${a.waitsFor.length>1?"them":"it"}. There is nothing to do for it until then.`}:a.id!==b?{...c,note:`${a.bot} is already working for you and reads this before its next step. Its one answer covers both.`}:{...c,note:`${a.bot} has it now, and their answer starts your next turn: until then, do not research, build, guess or report their part yourself, or watch their folder. Work that needs their answer goes out now with \`after: ["${a.bot}"]\`, and the app hands it on with that answer attached. A fact only the user has is asked for now, not after. Otherwise end your turn; the thread stays open.`}}async function F(a,b){let c=await a.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,b.threadId)).orderBy(h.sql`${l.threadWorkTable}.rowid`),d=c.filter(a=>a.caller===b.bot&&a.waitsFor.length>0&&"cancelled"!==a.state);if(!d.length||await s(a,b.threadId,b.bot))return;let f=await C(a,b);for(let g of d)g.waitsFor.some(a=>ac(c,b.bot,a)||f.has(a))||(await B(a,{key:`after:${g.id}`,threadId:b.threadId,workId:g.id,speaker:b.bot,text:D(c,b.bot,g.waitsFor).join("\n\n")}),await a.update(l.threadWorkTable).set({waitsFor:[]}).where((0,e.eq)(l.threadWorkTable.id,g.id)))}function G(a,b){let c=new Set(a.map(a=>a.bot).filter(a=>a!==q.ROOM_THURSDAY));b!==q.ROOM_THURSDAY&&!c.has(b)&&c.size>=j.BOT_RUN.participants&&(0,n.publicError)("This thread has reached its participant limit."),a.filter(a=>!_(a.state)).length>=j.BOT_RUN.queuedMessages&&(0,n.publicError)("This thread has reached its pending message limit.")}async function H(a,b){await a.update(l.threadTable).set({wrapped:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,b))}async function I(a,b){let c={...q.RoomMessageSchema.parse(b),id:b.id};"question"===c.kind&&c.to!==q.ROOM_THURSDAY&&(0,n.publicError)("Address user questions to Thursday; use a message to contact another bot."),c.options?.length&&"question"!==c.kind&&(0,n.publicError)("Offer answer choices only with a user question."),c.to===q.ROOM_THURSDAY&&"question"!==c.kind&&(0,n.publicError)("Send Thursday only a question for the user. The user already sees who is working, and your result reaches them as the last words of your turn."),c.to===q.ROOM_THURSDAY&&c.after?.length&&(0,n.publicError)("`after` is for work handed to a bot, not for a question."),c.to===a.bot&&(0,n.publicError)("Continue your own work directly; choose another recipient.");let d=await k.database.transaction(async b=>{await A(b,a);let d=aa(a.threadId,a.bot,c.id),f=await b.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId)),[g]=await b.select({workId:l.threadDeliveryTable.workId}).from(l.threadDeliveryTable).where((0,e.eq)(l.threadDeliveryTable.key,d)),h=f.find(a=>a.id===(g?.workId??d));if(h)return E(h,d);if(c.to===q.ROOM_THURSDAY)return G(f,c.to),await b.insert(l.threadWorkTable).values({id:d,threadId:a.threadId,bot:q.ROOM_THURSDAY,caller:a.bot,parentId:a.id,state:"external",result:c.text,options:[...new Set(c.options??[])]}),await b.insert(l.threadRelayTable).values({key:d,threadId:a.threadId,bot:a.bot,text:c.text,kind:"question",messageId:d}),await H(b,a.threadId),{messageId:d,to:q.ROOM_THURSDAY};let i=function(a,b,c,d){let e=new Map(a.filter(a=>a.caller===b&&a.bot!==q.ROOM_THURSDAY).map(a=>[a.bot.toLowerCase(),a.bot])),f=[];for(let a of d){a.toLowerCase()===c.toLowerCase()&&(0,n.publicError)(`${c} cannot wait on its own answer; leave it out of after.`);let b=e.get(a.toLowerCase());b||(0,n.publicError)(`${a} has no work from you to wait on: hand ${a} its part first, or leave it out of after.`),f.includes(b)||f.push(b)}return f}(f,a.bot,c.to,c.after??[]),j=await C(b,a),k=i.filter(b=>ac(f,a.bot,b)||j.has(b)),m=f.filter(b=>b.bot===c.to&&b.caller===a.bot&&!_(b.state)),o=m.find(ad),p=m.find(a=>"running"===a.state)??m.find(a=>!ad(a));if(o&&(k.length||!p)){await b.insert(l.threadDeliveryTable).values({key:d,threadId:a.threadId,workId:o.id,speaker:a.bot,text:c.text});let f=[...new Set([...o.waitsFor,...i])];return await b.update(l.threadWorkTable).set({waitsFor:f}).where((0,e.eq)(l.threadWorkTable.id,o.id)),await H(b,a.threadId),E({...o,waitsFor:f},d)}if(p&&!k.length)return await B(b,{key:d,threadId:a.threadId,workId:p.id,speaker:a.bot,text:af(f,a.bot,c.text,i)}),await H(b,a.threadId),E(p,d);G(f,c.to);let[r]=await b.insert(l.threadWorkTable).values({id:d,threadId:a.threadId,bot:c.to,caller:a.bot,parentId:a.id,state:k.length?"waiting":"queued",waitsFor:k.length?i:[]}).returning();return k.length?await b.insert(l.threadDeliveryTable).values({key:d,threadId:a.threadId,workId:d,speaker:a.bot,text:c.text}):await B(b,{key:d,threadId:a.threadId,workId:d,speaker:a.bot,text:af(f,a.bot,c.text,i)}),await H(b,a.threadId),E(r,d)});return $(),d}async function J(a){let b=!1,c=await k.database.transaction(async c=>{let[d]=await c.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));if(!d||"running"!==d.status)return null;let f=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)).orderBy(h.sql`${l.threadWorkTable}.rowid`),g=new Set(f.filter(a=>"external"===a.state).map(a=>a.caller));for(let a of f)"queued"===a.state&&g.has(a.bot)&&(await c.update(l.threadWorkTable).set({state:"waiting"}).where((0,e.eq)(l.threadWorkTable.id,a.id)),a.state="waiting",b=!0);let i=f.filter(a=>"running"===a.state);if(i.length>=j.BOT_RUN.concurrent)return null;let k=f.find(a=>"queued"===a.state&&!i.some(b=>b.bot===a.bot));if(!k)return null;if(d.turns>=j.BOT_RUN.turns)return await c.update(l.threadWorkTable).set({state:"paused"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"queued"))),null;let[m]=await c.update(l.threadWorkTable).set({state:"running",generation:k.generation+1}).where((0,e.eq)(l.threadWorkTable.id,k.id)).returning();return await c.update(l.threadTable).set({turns:d.turns+1}).where((0,e.eq)(l.threadTable.id,a)),m});return(c||b)&&$(),c}async function K(a,b){let c=await k.database.transaction(async c=>{let[d]=await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).innerJoin(l.threadWorkTable,(0,e.eq)(l.threadWorkTable.id,l.threadDeliveryTable.workId)).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.key,b),(0,e.eq)(l.threadDeliveryTable.threadId,a),(0,e.eq)(l.threadDeliveryTable.visible,!0),(0,e.eq)(l.threadDeliveryTable.consumed,!1),(0,e.eq)(l.threadWorkTable.state,"running")));return!!d&&(await c.delete(l.threadDeliveryTable).where((0,e.eq)(l.threadDeliveryTable.id,d.id)),!0)});return c&&$(),c}async function L(a){let b=await k.database.transaction(async b=>{await A(b,a);let c=await b.select().from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).orderBy(l.threadDeliveryTable.id);for(let d of c){let c=O(d);await u(b,a.threadId,{bot:a.bot,parent:a.id,role:"user",content:c,hidden:!d.visible}),await b.update(l.threadDeliveryTable).set({consumed:!0}).where((0,e.eq)(l.threadDeliveryTable.id,d.id))}return c.map(O)});return b.length&&$(),b}async function M(a,b){await k.database.transaction(async c=>{await A(c,a);let[d]=await c.select().from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1),(0,e.eq)(l.threadDeliveryTable.visible,!1),(0,e.eq)(l.threadDeliveryTable.speaker,a.caller))).orderBy(l.threadDeliveryTable.id).limit(1);await u(c,a.threadId,{bot:a.bot,parent:a.id,role:"user",content:b(d?{from:d.speaker,text:d.text}:null),hidden:!0}),d&&await c.update(l.threadDeliveryTable).set({consumed:!0}).where((0,e.eq)(l.threadDeliveryTable.id,d.id))}),$()}async function N(a){let b=await k.database.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId)).orderBy(l.threadWorkTable.createdAt),c=b.filter(b=>b.parentId===a.id&&b.bot!==q.ROOM_THURSDAY);if(!c.length)return null;let d=c.filter(a=>!_(a.state)||"done"===a.state&&a.waitsFor.length>0);if(!d.length)return"Everything you handed out is back.";let f=new Map,g=new Set;for(let a of(await k.database.select({workId:l.threadDeliveryTable.workId,key:l.threadDeliveryTable.key,text:l.threadDeliveryTable.text,visible:l.threadDeliveryTable.visible}).from(l.threadDeliveryTable).where((0,e.inArray)(l.threadDeliveryTable.workId,d.map(a=>a.id))).orderBy(l.threadDeliveryTable.id)))f.has(a.workId)||f.set(a.workId,a),a.key===`after:${a.workId}`&&g.add(a.workId);let h=Date.now(),i=a=>{let c=Math.max(0,Math.round((h-a.createdAt.getTime())/6e4)),d=(f.get(a.id)?.text??"").split("\n")[0].trim();return`- ${a.bot}, ${function(a,b,c){let d=b.waitsFor.filter(c=>ac(a,b.caller,c)),e=d.length?`once ${d.join(" and ")} ${d.length>1?"are":"is"} back`:"when you end this turn";if(ad(b))return d.length?`waits for ${d.join(" and ")}`:`goes out with ${ae(b.waitsFor)} ${e}`;let f="running"===b.state?"working":"queued"===b.state?"about to start":"paused"===b.state?"paused":"done"===b.state?"done for now":"waiting",g=b.waitsFor.length?`; ${ae(b.waitsFor)} follows ${e}`:"";return`${f}${c?", with the answers it waited for":""}${g}`}(b,a,g.has(a.id))} (${c} min): "${(0,o.clip)(d,j.PROMPT_LINE.boardAsk)}"`},m=d.filter(a=>!f.get(a.id)?.visible),n=d.filter(a=>f.get(a.id)?.visible);return[m.length?`What you handed out that is not back yet:
5
+ ${c} stopped without an answer.`})}let af=(a,b,c,d)=>[c,...D(a,b,d)].join("\n\n");function E(a,b){let c={messageId:b,to:a.bot};return a.bot===q.ROOM_THURSDAY?c:ad(a)?{...c,note:`Held: it goes to ${a.bot} with ${ae(a.waitsFor)} attached, when you end the turn in which you have read ${a.waitsFor.length>1?"them":"it"}. There is nothing to do for it until then.`}:a.id!==b?{...c,note:`${a.bot} is already working for you and reads this before its next step. Its one answer covers both.`}:{...c,note:`${a.bot} has it now, and their answer starts your next turn: until then, do not research, build, guess or report their part yourself, or watch their folder. Work that needs their answer goes out now with \`after: ["${a.bot}"]\`, and the app hands it on with that answer attached. A fact only the user has is asked for now, not after. Otherwise end your turn; the thread stays open.`}}async function F(a,b){let c=await a.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,b.threadId)).orderBy(h.sql`${l.threadWorkTable}.rowid`),d=c.filter(a=>a.caller===b.bot&&a.waitsFor.length>0&&"cancelled"!==a.state);if(!d.length||await s(a,b.threadId,b.bot))return;let f=await C(a,b);for(let g of d)g.waitsFor.some(a=>ac(c,b.bot,a)||f.has(a))||(await B(a,{key:`after:${g.id}`,threadId:b.threadId,workId:g.id,speaker:b.bot,text:D(c,b.bot,g.waitsFor).join("\n\n")}),await a.update(l.threadWorkTable).set({waitsFor:[]}).where((0,e.eq)(l.threadWorkTable.id,g.id)))}function G(a,b){let c=new Set(a.map(a=>a.bot).filter(a=>a!==q.ROOM_THURSDAY));b!==q.ROOM_THURSDAY&&!c.has(b)&&c.size>=j.BOT_RUN.participants&&(0,n.publicError)("This thread has reached its participant limit."),a.filter(a=>!_(a.state)).length>=j.BOT_RUN.queuedMessages&&(0,n.publicError)("This thread has reached its pending message limit.")}async function H(a,b){await a.update(l.threadTable).set({wrapped:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,b))}async function I(a,b){let c={...q.RoomMessageSchema.parse(b),id:b.id};"question"===c.kind&&c.to!==q.ROOM_THURSDAY&&(0,n.publicError)("Address user questions to Thursday; use a message to contact another bot."),c.options?.length&&"question"!==c.kind&&(0,n.publicError)("Offer answer choices only with a user question."),c.to===q.ROOM_THURSDAY&&"question"!==c.kind&&(0,n.publicError)("Thursday takes only a question that needs the user's answer: they already see who is working, and your result reaches them as the last words of your turn. Do not send this as a question; end your turn, and a bot's answer starts your next one."),c.to===q.ROOM_THURSDAY&&c.after?.length&&(0,n.publicError)("`after` is for work handed to a bot, not for a question."),c.to===a.bot&&(0,n.publicError)("Continue your own work directly; choose another recipient.");let d=await k.database.transaction(async b=>{await A(b,a);let d=aa(a.threadId,a.bot,c.id),f=await b.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId)),[g]=await b.select({workId:l.threadDeliveryTable.workId}).from(l.threadDeliveryTable).where((0,e.eq)(l.threadDeliveryTable.key,d)),h=f.find(a=>a.id===(g?.workId??d));if(h)return E(h,d);if(c.to===q.ROOM_THURSDAY)return G(f,c.to),await b.insert(l.threadWorkTable).values({id:d,threadId:a.threadId,bot:q.ROOM_THURSDAY,caller:a.bot,parentId:a.id,state:"external",result:c.text,options:[...new Set(c.options??[])]}),await b.insert(l.threadRelayTable).values({key:d,threadId:a.threadId,bot:a.bot,text:c.text,kind:"question",messageId:d}),await H(b,a.threadId),{messageId:d,to:q.ROOM_THURSDAY};let i=function(a,b,c,d){let e=new Map(a.filter(a=>a.caller===b&&a.bot!==q.ROOM_THURSDAY).map(a=>[a.bot.toLowerCase(),a.bot])),f=[];for(let a of d){a.toLowerCase()===c.toLowerCase()&&(0,n.publicError)(`${c} cannot wait on its own answer; leave it out of after.`);let b=e.get(a.toLowerCase());b||(0,n.publicError)(`${a} has no work from you to wait on: hand ${a} its part first, or leave it out of after.`),f.includes(b)||f.push(b)}return f}(f,a.bot,c.to,c.after??[]),j=await C(b,a),k=i.filter(b=>ac(f,a.bot,b)||j.has(b)),m=f.filter(b=>b.bot===c.to&&b.caller===a.bot&&!_(b.state)),o=m.find(ad),p=m.find(a=>"running"===a.state)??m.find(a=>!ad(a));if(o&&(k.length||!p)){await b.insert(l.threadDeliveryTable).values({key:d,threadId:a.threadId,workId:o.id,speaker:a.bot,text:c.text});let f=[...new Set([...o.waitsFor,...i])];return await b.update(l.threadWorkTable).set({waitsFor:f}).where((0,e.eq)(l.threadWorkTable.id,o.id)),await H(b,a.threadId),E({...o,waitsFor:f},d)}if(p&&!k.length)return await B(b,{key:d,threadId:a.threadId,workId:p.id,speaker:a.bot,text:af(f,a.bot,c.text,i)}),await H(b,a.threadId),E(p,d);G(f,c.to);let[r]=await b.insert(l.threadWorkTable).values({id:d,threadId:a.threadId,bot:c.to,caller:a.bot,parentId:a.id,state:k.length?"waiting":"queued",waitsFor:k.length?i:[]}).returning();return k.length?await b.insert(l.threadDeliveryTable).values({key:d,threadId:a.threadId,workId:d,speaker:a.bot,text:c.text}):await B(b,{key:d,threadId:a.threadId,workId:d,speaker:a.bot,text:af(f,a.bot,c.text,i)}),await H(b,a.threadId),E(r,d)});return $(),d}async function J(a){let b=!1,c=await k.database.transaction(async c=>{let[d]=await c.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));if(!d||"running"!==d.status)return null;let f=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)).orderBy(h.sql`${l.threadWorkTable}.rowid`),g=new Set(f.filter(a=>"external"===a.state).map(a=>a.caller));for(let a of f)"queued"===a.state&&g.has(a.bot)&&(await c.update(l.threadWorkTable).set({state:"waiting"}).where((0,e.eq)(l.threadWorkTable.id,a.id)),a.state="waiting",b=!0);let i=f.filter(a=>"running"===a.state);if(i.length>=j.BOT_RUN.concurrent)return null;let k=f.find(a=>"queued"===a.state&&!i.some(b=>b.bot===a.bot));if(!k)return null;if(d.turns>=j.BOT_RUN.turns)return await c.update(l.threadWorkTable).set({state:"paused"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"queued"))),null;let[m]=await c.update(l.threadWorkTable).set({state:"running",generation:k.generation+1}).where((0,e.eq)(l.threadWorkTable.id,k.id)).returning();return await c.update(l.threadTable).set({turns:d.turns+1}).where((0,e.eq)(l.threadTable.id,a)),m});return(c||b)&&$(),c}async function K(a,b){let c=await k.database.transaction(async c=>{let[d]=await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).innerJoin(l.threadWorkTable,(0,e.eq)(l.threadWorkTable.id,l.threadDeliveryTable.workId)).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.key,b),(0,e.eq)(l.threadDeliveryTable.threadId,a),(0,e.eq)(l.threadDeliveryTable.visible,!0),(0,e.eq)(l.threadDeliveryTable.consumed,!1),(0,e.eq)(l.threadWorkTable.state,"running")));return!!d&&(await c.delete(l.threadDeliveryTable).where((0,e.eq)(l.threadDeliveryTable.id,d.id)),!0)});return c&&$(),c}async function L(a){let b=await k.database.transaction(async b=>{await A(b,a);let c=await b.select().from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).orderBy(l.threadDeliveryTable.id);for(let d of c){let c=O(d);await u(b,a.threadId,{bot:a.bot,parent:a.id,role:"user",content:c,hidden:!d.visible}),await b.update(l.threadDeliveryTable).set({consumed:!0}).where((0,e.eq)(l.threadDeliveryTable.id,d.id))}return c.map(O)});return b.length&&$(),b}async function M(a,b){await k.database.transaction(async c=>{await A(c,a);let[d]=await c.select().from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1),(0,e.eq)(l.threadDeliveryTable.visible,!1),(0,e.eq)(l.threadDeliveryTable.speaker,a.caller))).orderBy(l.threadDeliveryTable.id).limit(1);await u(c,a.threadId,{bot:a.bot,parent:a.id,role:"user",content:b(d?{from:d.speaker,text:d.text}:null),hidden:!0}),d&&await c.update(l.threadDeliveryTable).set({consumed:!0}).where((0,e.eq)(l.threadDeliveryTable.id,d.id))}),$()}async function N(a){let b=await k.database.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId)).orderBy(l.threadWorkTable.createdAt),c=b.filter(b=>b.parentId===a.id&&b.bot!==q.ROOM_THURSDAY);if(!c.length)return null;let d=c.filter(a=>!_(a.state)||"done"===a.state&&a.waitsFor.length>0);if(!d.length)return"Everything you handed out is back.";let f=new Map,g=new Set;for(let a of(await k.database.select({workId:l.threadDeliveryTable.workId,key:l.threadDeliveryTable.key,text:l.threadDeliveryTable.text,visible:l.threadDeliveryTable.visible}).from(l.threadDeliveryTable).where((0,e.inArray)(l.threadDeliveryTable.workId,d.map(a=>a.id))).orderBy(l.threadDeliveryTable.id)))f.has(a.workId)||f.set(a.workId,a),a.key===`after:${a.workId}`&&g.add(a.workId);let h=Date.now(),i=a=>{let c=Math.max(0,Math.round((h-a.createdAt.getTime())/6e4)),d=(f.get(a.id)?.text??"").split("\n")[0].trim();return`- ${a.bot}, ${function(a,b,c){let d=b.waitsFor.filter(c=>ac(a,b.caller,c)),e=d.length?`once ${d.join(" and ")} ${d.length>1?"are":"is"} back`:"when you end this turn";if(ad(b))return d.length?`waits for ${d.join(" and ")}`:`goes out with ${ae(b.waitsFor)} ${e}`;let f="running"===b.state?"working":"queued"===b.state?"about to start":"paused"===b.state?"paused":"done"===b.state?"done for now":"waiting",g=b.waitsFor.length?`; ${ae(b.waitsFor)} follows ${e}`:"";return`${f}${c?", with the answers it waited for":""}${g}`}(b,a,g.has(a.id))} (${c} min): "${(0,o.clip)(d,j.PROMPT_LINE.boardAsk)}"`},m=d.filter(a=>!f.get(a.id)?.visible),n=d.filter(a=>f.get(a.id)?.visible);return[m.length?`What you handed out that is not back yet:
6
6
  ${m.map(i).join("\n")}`:"Everything you handed out is back.",...n.length?[`The user wrote to these bots directly; their answers come to you:
7
7
  ${n.map(i).join("\n")}`]:[]].join("\n\n")}function O(a){return a.visible?(0,p.tagSpeaker)(a.speaker===q.ROOM_USER?"user":"thursday",a.text):`${a.speaker}:
8
8
 
9
- ${a.text}`}async function P(a,b){await k.database.transaction(async c=>{await A(c,a),await F(c,a);let d=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.parentId,a.id)),f=await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1),g=await s(c,a.threadId,a.bot),h=f.length&&!g?"queued":f.length||d.some(a=>!_(a.state))?"waiting":"done";if(await c.update(l.threadWorkTable).set({state:h,result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),"done"!==h)return;if(a.parentId){let[d]=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.id,a.parentId)),[f]=b?[]:await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.parentId),(0,e.eq)(l.threadDeliveryTable.speaker,a.bot),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1);d&&"cancelled"!==d.state&&!f&&await B(c,{key:`return:${a.id}:${a.generation}`,threadId:a.threadId,workId:d.id,speaker:a.bot,text:b||"This turn ended without a message."})}let[i]=await c.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a.threadId)),j=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId));i&&a.bot===i.bot&&!a.parentId&&j.every(a=>_(a.state))&&(await c.update(l.threadTable).set({status:b?"done":"waiting",outcome:b||"The room is idle. Send a message to continue.",pending:b?null:{options:[p.THREAD_CONTINUE]},wrapped:!0,endedAt:b?new Date:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a.threadId)),b&&await c.insert(l.threadRelayTable).values({key:`report:${a.threadId}:${i.generation}`,threadId:a.threadId,bot:a.bot,text:b,kind:"report"}).onConflictDoNothing())}),$()}async function Q(a){await k.database.transaction(async b=>{let[c]=await b.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));if(!c||"running"!==c.status)return;let d=await b.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a));if(d.some(a=>"queued"===a.state||"running"===a.state))return;let f=d.find(a=>"external"===a.state);if(f)return void await b.update(l.threadTable).set({status:"waiting",outcome:f.result,pending:{options:f.options,messageId:f.id,bot:f.caller},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a));if(d.some(a=>!_(a.state))||c.wrapped){let f=c.turns>=j.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.";return c.routineId?void await R(b,a,d,f):void await b.update(l.threadTable).set({status:"waiting",outcome:f,pending:{options:[p.THREAD_CONTINUE]},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a))}let g=crypto.randomUUID();await b.insert(l.threadWorkTable).values({id:g,threadId:a,bot:c.bot,caller:q.ROOM_THURSDAY,state:"queued"}),await B(b,{key:g,threadId:a,workId:g,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await b.update(l.threadTable).set({wrapped:!0}).where((0,e.eq)(l.threadTable.id,a))}),$()}async function R(a,b,c,d){for(let b of c.filter(a=>!_(a.state)))await a.update(l.threadWorkTable).set({state:"cancelled",generation:b.generation+1}).where((0,e.eq)(l.threadWorkTable.id,b.id));await a.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.threadId,b)),await a.update(l.threadTable).set({status:"cancelled",outcome:d,pending:null,seen:!1,endedAt:new Date,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,b)),await a.insert(l.threadRelayTable).values({key:crypto.randomUUID(),threadId:b,bot:c.find(a=>!a.parentId)?.bot??"Bot",text:d,kind:"interrupted"})}async function S(a,b,c){await k.database.transaction(async d=>{let f=await d.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)),[g]=await d.select({routineId:l.threadTable.routineId}).from(l.threadTable).where((0,e.eq)(l.threadTable.id,a)),h=!!g?.routineId;for(let c of f.filter(a=>"running"===a.state||"queued"===a.state))h||await d.update(l.threadWorkTable).set({state:"paused",generation:c.generation+1}).where((0,e.eq)(l.threadWorkTable.id,c.id)),await u(d,a,ab(c,b));h?await R(d,a,f,b):(await d.update(l.threadTable).set({status:"waiting",outcome:b,pending:{options:[p.THREAD_CONTINUE],...c?{refused:c}:{}},seen:!1,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await d.insert(l.threadRelayTable).values({key:crypto.randomUUID(),threadId:a,bot:f.find(a=>!a.parentId)?.bot??"Bot",text:b,kind:"interrupted"}))}),$()}async function T(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await b.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.eq)(l.threadRelayTable.kind,"interrupted")))}),$()}async function U(a,b,c){let d=a.select({workId:l.threadDeliveryTable.workId}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.threadId,b),(0,e.eq)(l.threadDeliveryTable.consumed,!1)));await a.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,b),(0,e.eq)(l.threadWorkTable.bot,c),(0,e.inArray)(l.threadWorkTable.state,["waiting","done"]),(0,e.inArray)(l.threadWorkTable.id,d)))}async function V(a,b,c,d,f,g=!0){let i=await k.database.transaction(async i=>{let[j]=await i.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));j||(0,n.publicError)("No such thread.");let k=await i.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)).orderBy(l.threadWorkTable.createdAt),m=k.filter(a=>"external"===a.state),o=f?[m.find(a=>a.id===f)??(0,n.publicError)("That question is no longer waiting for an answer.")]:g?function(a,b){let c=b?a.filter(a=>a.caller===b):a;if(new Set(c.map(a=>a.caller)).size<=1)return c;(0,n.publicError)(`Several bots are waiting for an answer: ${c.map(a=>`${a.caller} (replyTo ${a.id}): “${(a.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by naming its bot or by its replyTo.`)}(m,d):[],p=o[0],r=p?.caller??d??j.bot,t=p?k.find(a=>a.id===p.parentId):k.find(a=>a.bot===r&&"running"===a.state)??k.find(a=>a.bot===r&&!_(a.state)&&"external"!==a.state);for(let a of o)await i.update(l.threadWorkTable).set({state:"done",result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.messageId,a.id));if(!t){let b=null;if(r!==j.bot){let c=k.findLast(a=>a.bot===j.bot&&!a.parentId&&"cancelled"!==a.state);c?"done"===c.state&&await i.update(l.threadWorkTable).set({state:"waiting"}).where((0,e.eq)(l.threadWorkTable.id,c.id)):c=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:j.bot,caller:q.ROOM_THURSDAY,state:"waiting"}).returning())[0],b=c.id}t=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:r,caller:b?j.bot:q.ROOM_THURSDAY,parentId:b,state:"queued"}).returning())[0]}p&&await B(i,{key:`answer:${p.id}`,threadId:a,workId:t.id,speaker:"Thread activity",text:o.length>1?`The next message answers your questions to the user: ${o.map(a=>`“${a.result??""}”`).join(", ")}`:`The next message answers your question to the user: “${p.result??""}”`});let u=crypto.randomUUID();return await B(i,{key:u,threadId:a,workId:t.id,speaker:c,text:b,visible:!0}),p&&!await s(i,a,r)&&await U(i,a,r),await i.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await i.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.inArray)(l.threadRelayTable.kind,["interrupted","report"]))),{key:u,to:r,answered:p?{bot:p.caller,question:o.map(a=>a.result??"").join(" · ")}:null}});return $(),i}async function W(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"cancelled",generation:h.sql`${l.threadWorkTable.generation} + 1`}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.inArray)(l.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.threadId,a))}),$()}async function X(a,b){let[c]=await k.database.select({bot:l.threadTable.bot}).from(l.threadTable).where((0,e.eq)(l.threadTable.id,a)),d=await k.database.select().from(l.threadMessageTable).where((0,e.and)((0,e.eq)(l.threadMessageTable.threadId,a),(0,e.or)((0,e.eq)(l.threadMessageTable.bot,b),c?.bot===b?h.sql`${l.threadMessageTable.bot} is null AND ${l.threadMessageTable.parent} is null`:void 0))).orderBy(l.threadMessageTable.seq),f=d.findLastIndex(a=>a.compact);return(f>0?[d[0],...d.slice(f)]:d).map(a=>({role:a.role,content:a.content}))}async function Y(a){return k.database.select({threadId:l.threadRelayTable.threadId,text:l.threadRelayTable.text}).from(l.threadRelayTable).where((0,e.and)((0,e.eq)(l.threadRelayTable.kind,"report"),h.sql`instr(${l.threadRelayTable.text}, ${a}) > 0`)).orderBy((0,f.desc)(l.threadRelayTable.id))}async function Z(a){a.length&&(await k.database.update(l.threadRelayTable).set({accepted:!0}).where((0,e.inArray)(l.threadRelayTable.id,a)),$())}a.s(["acceptRoomRelays",0,Z,"appendRoomMessage",0,w,"cancelRoom",0,W,"claimRoomWork",0,J,"consumeRoomInbox",0,L,"finishRoomWork",0,P,"joinRoom",0,M,"listParticipantTranscript",0,X,"listReportsNaming",0,Y,"listRoomReceipts",0,t,"listRoomWork",0,x,"lowerRoomContextBudget",0,z,"messageKey",0,aa,"noteRoomBreak",0,v,"pauseRoom",0,S,"resumeRoom",0,T,"roomBoard",0,N,"roomContextBudget",0,y,"sendRoomMessage",0,I,"settleRoom",0,Q,"tellRoom",0,V,"withdrawDelivery",0,K]),c()}catch(a){c(a)}},!1),344853,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469),h=a.i(148016),i=a.i(569572),j=a.i(184838),k=a.i(714428),l=a.i(762008),m=a.i(182248),n=a.i(446957),o=a.i(839430),p=a.i(109955),q=b([j,o]);[j,o]=q.then?(await q)():q;let R=()=>g.appEvents.emit({type:"threads"}),S={id:k.threadTable.id,bot:k.threadTable.bot,label:k.threadTable.label,request:k.threadTable.request,status:k.threadTable.status,outcome:k.threadTable.outcome,pending:k.threadTable.pending,seen:k.threadTable.seen,routineId:k.threadTable.routineId,startedBy:k.threadTable.startedBy,inputTokens:k.threadTable.inputTokens,outputTokens:k.threadTable.outputTokens,contextTokens:k.threadTable.contextTokens,contextBudget:k.threadTable.contextBudget,createdAt:k.threadTable.createdAt,updatedAt:k.threadTable.updatedAt};async function r(a){let{opening:b,...c}=a,d=await j.database.transaction(async a=>{let[d]=await a.insert(k.threadTable).values({id:crypto.randomUUID(),status:"running",...c}).returning();return await a.insert(k.threadMessageTable).values({threadId:d.id,seq:0,bot:null,parent:null,role:"user",content:b,compact:!1,note:!1}),await a.insert(k.threadWorkTable).values({id:crypto.randomUUID(),threadId:d.id,bot:d.bot,caller:p.ROOM_THURSDAY,state:"queued"}),d});return R(),d}async function s(a,b){await j.database.update(k.threadTable).set({...b,updatedAt:new Date}).where((0,d.eq)(k.threadTable.id,a)),R()}async function t(a){0!==a.length&&(await j.database.transaction(async b=>{await b.update(k.threadTable).set({seen:!0}).where((0,d.inArray)(k.threadTable.id,a)),await b.update(k.threadRelayTable).set({accepted:!0}).where((0,d.inArray)(k.threadRelayTable.threadId,a))}),R())}async function u(a,b,c=null){(b.input||b.output||null!==c)&&(await j.database.update(k.threadTable).set({inputTokens:f.sql`${k.threadTable.inputTokens} + ${b.input}`,outputTokens:f.sql`${k.threadTable.outputTokens} + ${b.output}`,cacheReadTokens:f.sql`${k.threadTable.cacheReadTokens} + ${b.cacheRead}`,cacheWriteTokens:f.sql`${k.threadTable.cacheWriteTokens} + ${b.cacheWrite}`,...null===c?{}:{contextTokens:c.tokens,contextBudget:c.budget}}).where((0,d.eq)(k.threadTable.id,a)),R())}async function v(a){let[b]=await j.database.select(S).from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));if(!b)return null;let[c]=await L([b],()=>!1);return c?.room??null}async function w(a){let[b]=await j.database.select().from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));return b??null}async function x(){let[a,b,c,f]=await Promise.all([j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["running","waiting"])).orderBy((0,e.desc)(k.threadTable.updatedAt)),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["done","cancelled"])).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.INBOX_FINISHED),j.database.select(S).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,["done","cancelled"]),(0,d.eq)(k.threadTable.seen,!1))),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadRelayTable.threadId}).from(k.threadRelayTable).where((0,d.eq)(k.threadRelayTable.accepted,!1))))]),g=[...new Map([...a,...b,...c,...f].map(a=>[a.id,a])).values()].sort((a,b)=>b.updatedAt.getTime()-a.updatedAt.getTime());return L(g,a=>{let b;return b=a.status,"running"===b||"waiting"===b})}async function y(){let a=await j.database.select(S).from(k.threadTable).orderBy(f.sql`case when ${k.threadTable.status} in ('running', 'waiting') then 0 else 1 end`,(0,e.desc)(k.threadTable.updatedAt),(0,e.desc)(k.threadTable.id)).limit(i.THREAD_STATUS_LIMIT);return L(a,a=>"running"===a.status)}async function z(a){return a.length?await j.database.select({id:k.threadTable.id,callId:k.threadTable.callId,label:k.threadTable.label,status:k.threadTable.status,outcome:k.threadTable.outcome}).from(k.threadTable).where((0,d.inArray)(k.threadTable.callId,a)).orderBy(k.threadTable.createdAt):[]}async function A(a,b){let c=(c,f)=>j.database.select({id:k.threadTable.id,owner:k.threadTable.bot,label:k.threadTable.label,status:k.threadTable.status,pending:k.threadTable.pending,updatedAt:k.threadTable.updatedAt}).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,c),b?(0,d.ne)(k.threadTable.id,b):void 0,(0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadWorkTable.threadId}).from(k.threadWorkTable).where((0,d.eq)(k.threadWorkTable.bot,a))))).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(f),[f,g]=await Promise.all([c(["running","waiting"],i.BOT_WORK.open),c(["done","cancelled"],i.BOT_WORK.recent)]),h=[...f,...g].map(a=>a.id);if(!h.length)return{open:[],recent:[]};let l=await j.database.select({id:k.threadWorkTable.id,threadId:k.threadWorkTable.threadId,result:k.threadWorkTable.result}).from(k.threadWorkTable).where((0,d.and)((0,d.eq)(k.threadWorkTable.bot,a),(0,d.inArray)(k.threadWorkTable.threadId,h),(0,d.isNotNull)(k.threadWorkTable.result))).orderBy((0,e.desc)(k.threadWorkTable.createdAt)),m=new Map;for(let{id:a,threadId:b,result:c}of l)c?.trim()&&!m.has(b)&&m.set(b,{workId:a,words:c});let n=({pending:a,...b})=>{let c=m.get(b.id);return{...b,workId:c?.workId??null,asking:"waiting"===b.status&&!!a?.messageId,said:c?.words??null,cut:!!c&&c.words.replace(/\s+/g," ").trim().length>i.BOT_WORK.said}};return{open:f.map(n),recent:g.map(n)}}async function B(a,b){if(b.owner===a){let[a]=await j.database.select({request:k.threadTable.request}).from(k.threadTable).where((0,d.eq)(k.threadTable.id,b.id));return a?.request??""}return b.workId?(await j.database.select({text:k.threadDeliveryTable.text}).from(k.threadDeliveryTable).where((0,d.eq)(k.threadDeliveryTable.workId,b.workId)).orderBy(k.threadDeliveryTable.id)).map(a=>a.text).join("\n\n"):""}async function C(a){let b=await j.database.delete(k.threadTable).where((0,d.eq)(k.threadTable.id,a)).returning({id:k.threadTable.id});return b.length&&R(),b.length>0}async function D(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).orderBy((0,e.desc)(k.threadTable.createdAt))).map(a=>a.id)}async function E(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).where((0,d.eq)(k.threadTable.status,"running"))).map(a=>a.id)}async function F(){return await j.database.select({id:k.threadTable.id,label:k.threadTable.label,status:k.threadTable.status,endedAt:k.threadTable.endedAt,updatedAt:k.threadTable.updatedAt}).from(k.threadTable)}function G(a){let b=new Set;for(let c of a)if(Array.isArray(c))for(let a of c){if("tool-call"!==a.type||a.toolName!==l.TOOL_NAMES.write_file)continue;let c=a.input?.path;"string"==typeof c&&c.trim()&&(b.delete(c.trim()),b.add(c.trim()))}return[...b]}async function H(a){let b=await j.database.select({content:k.threadMessageTable.content}).from(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.eq)(k.threadMessageTable.role,"assistant"))).orderBy(k.threadMessageTable.seq);return G(b.map(a=>a.content))}async function I(a){let b=a.trim();if(!b)return null;let c=await w(b);if(c)return c;let d=b.toLowerCase();return(await j.database.select().from(k.threadTable).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.THREAD_LABEL_REACH)).find(a=>a.label.toLowerCase()===d)??null}async function J(a,b,c){await j.database.insert(k.threadMessageTable).values({threadId:a,seq:b,...c,compact:c.compact??!1,note:c.note??!1}).onConflictDoUpdate({target:[k.threadMessageTable.threadId,k.threadMessageTable.seq],set:{role:c.role,content:c.content,compact:c.compact??!1,note:c.note??!1}}),R()}async function K(a,b){b.length&&(await j.database.delete(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.inArray)(k.threadMessageTable.seq,b))),R())}async function L(a,b=()=>!0){if(0===a.length)return[];let c=a.filter(b).map(a=>a.id),e=c.length?await j.database.select().from(k.threadMessageTable).where((0,d.inArray)(k.threadMessageTable.threadId,c)).orderBy(k.threadMessageTable.seq):[],g=a.map(a=>a.id),[h,i,q]=await Promise.all([j.database.select().from(k.threadWorkTable).where((0,d.inArray)(k.threadWorkTable.threadId,g)).orderBy(f.sql`${k.threadWorkTable}.rowid`),j.database.select().from(k.threadDeliveryTable).where((0,d.and)((0,d.inArray)(k.threadDeliveryTable.threadId,g),(0,d.eq)(k.threadDeliveryTable.visible,!0))),j.database.select().from(k.threadRelayTable).where((0,d.and)((0,d.inArray)(k.threadRelayTable.threadId,g),(0,d.eq)(k.threadRelayTable.accepted,!1)))]),r=new Map(a.map(a=>[a.id,a.bot])),s=new Map(h.map(a=>[a.id,a.caller])),t=new Map;for(let a of e){let b=t.get(a.threadId)??[];b.push(...function(a,b){if(a.hidden)return[];let c={seq:a.seq,bot:a.bot,parent:a.parent,to:"user"===a.role?a.bot:b,at:a.createdAt},d=b=>`${a.id}-${b}`,e=a.content;if("user"===a.role){if(0===a.seq)return[];let b="string"==typeof e?e:e.flatMap(a=>"text"===a.type&&a.text?[a.text]:[]).join("\n").trim();if(!b)return[];if(a.compact)return[{...c,id:d(0),kind:"note",text:b}];if(a.note){let a=b.endsWith(p.RESUME_CHECK)?b.slice(0,-p.RESUME_CHECK.length).trimEnd():b;return[{...c,id:d(0),kind:"stop",text:a}]}return[{...c,id:d(0),kind:"user",text:(0,n.untagSpeaker)(b),by:(0,n.speakerOf)(b)}]}if("assistant"===a.role){let b=a.content;if("string"==typeof b)return b.trim()?[{...c,id:d(0),kind:"text",text:b.trim()}]:[];let e=[];return b.forEach((b,f)=>{if("text"===b.type){let a=b.text.trim();a&&e.push({...c,id:d(f),kind:"text",text:a});return}if("tool-result"===b.type)return void e.push(P(c,d(f),b));if("tool-call"!==b.type)return;let g=b.input??{};if(b.toolName===l.TOOL_NAMES.send_message){let h;e.push({...c,id:d(f),kind:"ask",callId:b.toolCallId,to:(h=String(g.to??"").trim()).toLowerCase()===p.ROOM_THURSDAY.toLowerCase()?p.ROOM_THURSDAY:h,text:String(g.text??""),question:"question"===g.kind,..."question"===g.kind&&a.bot?{questionId:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...a.bot?{exchange:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...Array.isArray(g.after)&&g.after.length?{after:g.after.map(String)}:{}})}else b.toolName===l.TOOL_NAMES.bash?e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:(0,m.clip)(String(g.command??""),120),note:M(g)}):e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:N(b.toolName,g),note:M(g),path:b.toolName===l.TOOL_NAMES.write_file?U(g,"path")??null:null})}),e}if("tool"===a.role){let b=[];return a.content.forEach((a,e)=>{"tool-result"!==a.type||(a.toolName!==l.TOOL_NAMES.send_message||"error-text"===a.output.type)&&b.push(P(c,d(e),a))}),b}return[]}(a,(a.parent?s.get(a.parent):null)??r.get(a.threadId)??"")),t.set(a.threadId,b)}return a.map(a=>{let c=h.filter(b=>b.threadId===a.id),d=["running","queued","paused","waiting","done","cancelled"],e=[...new Set(c.map(a=>a.bot))].filter(a=>a!==p.ROOM_THURSDAY).map(a=>({bot:a,state:c.filter(b=>b.bot===a).sort((a,b)=>d.indexOf(a.state)-d.indexOf(b.state))[0].state}));return{...function(a,b){let{pending:c,inputTokens:d,outputTokens:e,...f}=a;return{...f,ask:"waiting"===a.status?{question:a.outcome??"",options:c?.options??[],messageId:c?.messageId,bot:c?.bot,refused:c?.refused}:null,tokens:{input:d,output:e},lines:b}}(a,t.get(a.id)??[]),room:{participants:e,questions:c.filter(a=>"external"===a.state).map(a=>({id:a.id,bot:a.caller,text:a.result??"",options:a.options})),deliveries:i.filter(b=>b.threadId===a.id).map(b=>({id:b.key,bot:c.find(a=>a.id===b.workId)?.bot??a.bot,text:b.text,delivered:b.consumed})),relays:q.filter(b=>b.threadId===a.id),exchanges:b(a)?c.map(a=>({id:a.id,bot:a.bot,caller:a.caller,state:a.state,waitsFor:a.waitsFor})):[]}}})}let T=["query","command","prompt","url","path","pattern","request","question","title","name","thread","text"],U=(a,b)=>{let c=a[b];return"string"==typeof c&&c.trim()?c:null};function M(a){let b=U(a,"description");return b?(0,m.clip)(b,120):null}function N(a,b){let c=b??{};if("object"!=typeof c||Array.isArray(c))return(0,m.clip)(String(b??""),120);if(a===l.TOOL_NAMES.bash)return M(c)??(0,m.clip)(String(c.command??""),120);if(a===l.TOOL_NAMES.tool_call||a===l.TOOL_NAMES.tool_search){let a=Array.isArray(c.tools)?c.tools.map(String).join(", "):String(c.tool??""),b=c.args??null,d=b&&"object"==typeof b?String(c.server??"")===i.STUDIO_SERVER?O(b):JSON.stringify(b):"";return(0,m.clip)([String(c.server??""),a,d].filter(Boolean).join(" "),120)}let d=O(c);return d?(0,m.clip)(d,120):Object.keys(c).length?(0,m.clip)(JSON.stringify(c),120):""}function O(a){for(let b of T){let c=U(a,b);if(c)return c}for(let b of Object.keys(a)){let c=U(a,b);if(c)return c}return""}let V=/https?:\/\/\S+(?: · \d{4}-\d{2}-\d{2})?\s*$/,W=" — ";function P(a,b,c){let d=c.toolName===l.TOOL_NAMES.web_search,e=function a(b,c,d=!1){var e;if(null==b)return[];if("string"==typeof b)return Q(b,c,d);if("object"!=typeof b)return Q(String(b),c,d);switch(b.type){case"text":case"error-text":return Q(String(b.value??""),c,d);case"json":case"error-json":return a(b.value,c,d);case"execution-denied":return Q("Denied.",c,d);case"content":{if(!Array.isArray(b.value))return[];let a=[];for(let e of b.value){if("text"===e.type&&"string"==typeof e.text){a.push(...Q(e.text,c,d));continue}let b=function(a){let b=String(a.mediaType??"");if(!b.startsWith("image/"))return null;let c=a.data;return"string"==typeof c?`data:${b};base64,${c}`:c?.type==="url"&&c.url?c.url:c?.type==="data"&&"string"==typeof c.data?`data:${b};base64,${c.data}`:null}(e);b&&a.push({type:"image",src:b})}return a}}return"string"==typeof b.path&&String(b.mediaType??"").startsWith("image/")?[{type:"text",text:b.path},{type:"image",src:h.queryKey.file(b.path)}]:Array.isArray(b.sources)?b.sources.map(a=>String(a?.title??"")).filter(Boolean).slice(0,c).map(a=>({type:"text",text:a})):"string"==typeof b.stdout?Q(b.stdout||String(b.stderr??""),c,d):"string"==typeof b.answer?Q(b.answer,c,d):Q(d?(e=b,Array.isArray(e)?JSON.stringify(e,null,2):Object.entries(e).map(([a,b])=>"string"==typeof b&&b.includes("\n")?`${a}:
9
+ ${a.text}`}async function P(a,b){await k.database.transaction(async c=>{await A(c,a),await F(c,a);let d=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.parentId,a.id)),f=await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1),g=await s(c,a.threadId,a.bot),h=f.length&&!g?"queued":f.length||d.some(a=>!_(a.state))?"waiting":"done";if(await c.update(l.threadWorkTable).set({state:h,result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),"done"!==h)return;if(a.parentId){let[d]=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.id,a.parentId)),[f]=b?[]:await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.parentId),(0,e.eq)(l.threadDeliveryTable.speaker,a.bot),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1);d&&"cancelled"!==d.state&&!f&&await B(c,{key:`return:${a.id}:${a.generation}`,threadId:a.threadId,workId:d.id,speaker:a.bot,text:b||"This turn ended without a message."})}let[i]=await c.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a.threadId)),j=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId));i&&a.bot===i.bot&&!a.parentId&&j.every(a=>_(a.state))&&(await c.update(l.threadTable).set({status:b?"done":"waiting",outcome:b||"The room is idle. Send a message to continue.",pending:b?null:{options:[p.THREAD_CONTINUE]},wrapped:!0,endedAt:b?new Date:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a.threadId)),b&&await c.insert(l.threadRelayTable).values({key:`report:${a.threadId}:${i.generation}`,threadId:a.threadId,bot:a.bot,text:b,kind:"report"}).onConflictDoNothing())}),$()}async function Q(a){await k.database.transaction(async b=>{let[c]=await b.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));if(!c||"running"!==c.status)return;let d=await b.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a));if(d.some(a=>"queued"===a.state||"running"===a.state))return;let f=d.find(a=>"external"===a.state);if(f)return void await b.update(l.threadTable).set({status:"waiting",outcome:f.result,pending:{options:f.options,messageId:f.id,bot:f.caller},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a));if(d.some(a=>!_(a.state))||c.wrapped){let f=c.turns>=j.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.";return c.routineId?void await R(b,a,d,f):void await b.update(l.threadTable).set({status:"waiting",outcome:f,pending:{options:[p.THREAD_CONTINUE]},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a))}let g=crypto.randomUUID();await b.insert(l.threadWorkTable).values({id:g,threadId:a,bot:c.bot,caller:q.ROOM_THURSDAY,state:"queued"}),await B(b,{key:g,threadId:a,workId:g,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await b.update(l.threadTable).set({wrapped:!0}).where((0,e.eq)(l.threadTable.id,a))}),$()}async function R(a,b,c,d){for(let b of c.filter(a=>!_(a.state)))await a.update(l.threadWorkTable).set({state:"cancelled",generation:b.generation+1}).where((0,e.eq)(l.threadWorkTable.id,b.id));await a.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.threadId,b)),await a.update(l.threadTable).set({status:"cancelled",outcome:d,pending:null,seen:!1,endedAt:new Date,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,b)),await a.insert(l.threadRelayTable).values({key:crypto.randomUUID(),threadId:b,bot:c.find(a=>!a.parentId)?.bot??"Bot",text:d,kind:"interrupted"})}async function S(a,b,c){await k.database.transaction(async d=>{let f=await d.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)),[g]=await d.select({routineId:l.threadTable.routineId}).from(l.threadTable).where((0,e.eq)(l.threadTable.id,a)),h=!!g?.routineId;for(let c of f.filter(a=>"running"===a.state||"queued"===a.state))h||await d.update(l.threadWorkTable).set({state:"paused",generation:c.generation+1}).where((0,e.eq)(l.threadWorkTable.id,c.id)),await u(d,a,ab(c,b));h?await R(d,a,f,b):(await d.update(l.threadTable).set({status:"waiting",outcome:b,pending:{options:[p.THREAD_CONTINUE],...c?{refused:c}:{}},seen:!1,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await d.insert(l.threadRelayTable).values({key:crypto.randomUUID(),threadId:a,bot:f.find(a=>!a.parentId)?.bot??"Bot",text:b,kind:"interrupted"}))}),$()}async function T(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await b.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.eq)(l.threadRelayTable.kind,"interrupted")))}),$()}async function U(a,b,c){let d=a.select({workId:l.threadDeliveryTable.workId}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.threadId,b),(0,e.eq)(l.threadDeliveryTable.consumed,!1)));await a.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,b),(0,e.eq)(l.threadWorkTable.bot,c),(0,e.inArray)(l.threadWorkTable.state,["waiting","done"]),(0,e.inArray)(l.threadWorkTable.id,d)))}async function V(a,b,c,d,f,g=!0){let i=await k.database.transaction(async i=>{let[j]=await i.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));j||(0,n.publicError)("No such thread.");let k=await i.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)).orderBy(l.threadWorkTable.createdAt),m=k.filter(a=>"external"===a.state),o=f?[m.find(a=>a.id===f)??(0,n.publicError)("That question is no longer waiting for an answer.")]:g?function(a,b){let c=b?a.filter(a=>a.caller===b):a;if(new Set(c.map(a=>a.caller)).size<=1)return c;(0,n.publicError)(`Several bots are waiting for an answer: ${c.map(a=>`${a.caller} (replyTo ${a.id}): “${(a.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by naming its bot or by its replyTo.`)}(m,d):[],p=o[0],r=p?.caller??d??j.bot,t=p?k.find(a=>a.id===p.parentId):k.find(a=>a.bot===r&&"running"===a.state)??k.find(a=>a.bot===r&&!_(a.state)&&"external"!==a.state);for(let a of o)await i.update(l.threadWorkTable).set({state:"done",result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.messageId,a.id));if(!t){let b=null;if(r!==j.bot){let c=k.findLast(a=>a.bot===j.bot&&!a.parentId&&"cancelled"!==a.state);c?"done"===c.state&&await i.update(l.threadWorkTable).set({state:"waiting"}).where((0,e.eq)(l.threadWorkTable.id,c.id)):c=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:j.bot,caller:q.ROOM_THURSDAY,state:"waiting"}).returning())[0],b=c.id}t=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:r,caller:b?j.bot:q.ROOM_THURSDAY,parentId:b,state:"queued"}).returning())[0]}p&&await B(i,{key:`answer:${p.id}`,threadId:a,workId:t.id,speaker:"Thread activity",text:o.length>1?`The next message answers your questions to the user: ${o.map(a=>`“${a.result??""}”`).join(", ")}`:`The next message answers your question to the user: “${p.result??""}”`});let u=crypto.randomUUID();return await B(i,{key:u,threadId:a,workId:t.id,speaker:c,text:b,visible:!0}),p&&!await s(i,a,r)&&await U(i,a,r),await i.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await i.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.inArray)(l.threadRelayTable.kind,["interrupted","report"]))),{key:u,to:r,answered:p?{bot:p.caller,question:o.map(a=>a.result??"").join(" · ")}:null}});return $(),i}async function W(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"cancelled",generation:h.sql`${l.threadWorkTable.generation} + 1`}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.inArray)(l.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.threadId,a))}),$()}async function X(a,b){let[c]=await k.database.select({bot:l.threadTable.bot}).from(l.threadTable).where((0,e.eq)(l.threadTable.id,a)),d=await k.database.select().from(l.threadMessageTable).where((0,e.and)((0,e.eq)(l.threadMessageTable.threadId,a),(0,e.or)((0,e.eq)(l.threadMessageTable.bot,b),c?.bot===b?h.sql`${l.threadMessageTable.bot} is null AND ${l.threadMessageTable.parent} is null`:void 0))).orderBy(l.threadMessageTable.seq),f=d.findLastIndex(a=>a.compact);return(f>0?[d[0],...d.slice(f)]:d).map(a=>({role:a.role,content:a.content}))}async function Y(a){return k.database.select({threadId:l.threadRelayTable.threadId,text:l.threadRelayTable.text}).from(l.threadRelayTable).where((0,e.and)((0,e.eq)(l.threadRelayTable.kind,"report"),h.sql`instr(${l.threadRelayTable.text}, ${a}) > 0`)).orderBy((0,f.desc)(l.threadRelayTable.id))}async function Z(a){a.length&&(await k.database.update(l.threadRelayTable).set({accepted:!0}).where((0,e.inArray)(l.threadRelayTable.id,a)),$())}a.s(["acceptRoomRelays",0,Z,"appendRoomMessage",0,w,"cancelRoom",0,W,"claimRoomWork",0,J,"consumeRoomInbox",0,L,"finishRoomWork",0,P,"joinRoom",0,M,"listParticipantTranscript",0,X,"listReportsNaming",0,Y,"listRoomReceipts",0,t,"listRoomWork",0,x,"lowerRoomContextBudget",0,z,"messageKey",0,aa,"noteRoomBreak",0,v,"pauseRoom",0,S,"resumeRoom",0,T,"roomBoard",0,N,"roomContextBudget",0,y,"sendRoomMessage",0,I,"settleRoom",0,Q,"tellRoom",0,V,"withdrawDelivery",0,K]),c()}catch(a){c(a)}},!1),344853,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469),h=a.i(148016),i=a.i(569572),j=a.i(184838),k=a.i(714428),l=a.i(762008),m=a.i(182248),n=a.i(446957),o=a.i(839430),p=a.i(109955),q=b([j,o]);[j,o]=q.then?(await q)():q;let R=()=>g.appEvents.emit({type:"threads"}),S={id:k.threadTable.id,bot:k.threadTable.bot,label:k.threadTable.label,request:k.threadTable.request,status:k.threadTable.status,outcome:k.threadTable.outcome,pending:k.threadTable.pending,seen:k.threadTable.seen,routineId:k.threadTable.routineId,startedBy:k.threadTable.startedBy,inputTokens:k.threadTable.inputTokens,outputTokens:k.threadTable.outputTokens,contextTokens:k.threadTable.contextTokens,contextBudget:k.threadTable.contextBudget,createdAt:k.threadTable.createdAt,updatedAt:k.threadTable.updatedAt};async function r(a){let{opening:b,...c}=a,d=await j.database.transaction(async a=>{let[d]=await a.insert(k.threadTable).values({id:crypto.randomUUID(),status:"running",...c}).returning();return await a.insert(k.threadMessageTable).values({threadId:d.id,seq:0,bot:null,parent:null,role:"user",content:b,compact:!1,note:!1}),await a.insert(k.threadWorkTable).values({id:crypto.randomUUID(),threadId:d.id,bot:d.bot,caller:p.ROOM_THURSDAY,state:"queued"}),d});return R(),d}async function s(a,b){let[c]=await j.database.update(k.threadTable).set({...b,updatedAt:new Date}).where((0,d.eq)(k.threadTable.id,a)).returning({routineId:k.threadTable.routineId});R(),c?.routineId&&("status"in b||"outcome"in b)&&g.appEvents.emit({type:"routines"})}async function t(a){0!==a.length&&(await j.database.transaction(async b=>{await b.update(k.threadTable).set({seen:!0}).where((0,d.inArray)(k.threadTable.id,a)),await b.update(k.threadRelayTable).set({accepted:!0}).where((0,d.inArray)(k.threadRelayTable.threadId,a))}),R())}async function u(a,b,c=null){(b.input||b.output||null!==c)&&(await j.database.update(k.threadTable).set({inputTokens:f.sql`${k.threadTable.inputTokens} + ${b.input}`,outputTokens:f.sql`${k.threadTable.outputTokens} + ${b.output}`,cacheReadTokens:f.sql`${k.threadTable.cacheReadTokens} + ${b.cacheRead}`,cacheWriteTokens:f.sql`${k.threadTable.cacheWriteTokens} + ${b.cacheWrite}`,...null===c?{}:{contextTokens:c.tokens,contextBudget:c.budget}}).where((0,d.eq)(k.threadTable.id,a)),R())}async function v(a){let[b]=await j.database.select(S).from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));if(!b)return null;let[c]=await L([b],()=>!1);return c?.room??null}async function w(a){let[b]=await j.database.select().from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));return b??null}async function x(){let[a,b,c,f]=await Promise.all([j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["running","waiting"])).orderBy((0,e.desc)(k.threadTable.updatedAt)),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["done","cancelled"])).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.INBOX_FINISHED),j.database.select(S).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,["done","cancelled"]),(0,d.eq)(k.threadTable.seen,!1))).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.INBOX_UNREAD),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadRelayTable.threadId}).from(k.threadRelayTable).where((0,d.eq)(k.threadRelayTable.accepted,!1)))).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.INBOX_UNREAD)]),g=[...new Map([...a,...b,...c,...f].map(a=>[a.id,a])).values()].sort((a,b)=>b.updatedAt.getTime()-a.updatedAt.getTime());return L(g,a=>{let b;return b=a.status,"running"===b||"waiting"===b})}async function y(){let a=await j.database.select(S).from(k.threadTable).orderBy(f.sql`case when ${k.threadTable.status} in ('running', 'waiting') then 0 else 1 end`,(0,e.desc)(k.threadTable.updatedAt),(0,e.desc)(k.threadTable.id)).limit(i.THREAD_STATUS_LIMIT);return L(a,a=>"running"===a.status)}async function z(a){return a.length?await j.database.select({id:k.threadTable.id,callId:k.threadTable.callId,label:k.threadTable.label,status:k.threadTable.status,outcome:k.threadTable.outcome}).from(k.threadTable).where((0,d.inArray)(k.threadTable.callId,a)).orderBy(k.threadTable.createdAt):[]}async function A(a,b){let c=(c,f)=>j.database.select({id:k.threadTable.id,owner:k.threadTable.bot,label:k.threadTable.label,status:k.threadTable.status,pending:k.threadTable.pending,updatedAt:k.threadTable.updatedAt}).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,c),b?(0,d.ne)(k.threadTable.id,b):void 0,(0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadWorkTable.threadId}).from(k.threadWorkTable).where((0,d.eq)(k.threadWorkTable.bot,a))))).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(f),[f,g]=await Promise.all([c(["running","waiting"],i.BOT_WORK.open),c(["done","cancelled"],i.BOT_WORK.recent)]),h=[...f,...g].map(a=>a.id);if(!h.length)return{open:[],recent:[]};let l=await j.database.select({id:k.threadWorkTable.id,threadId:k.threadWorkTable.threadId,result:k.threadWorkTable.result}).from(k.threadWorkTable).where((0,d.and)((0,d.eq)(k.threadWorkTable.bot,a),(0,d.inArray)(k.threadWorkTable.threadId,h),(0,d.isNotNull)(k.threadWorkTable.result))).orderBy((0,e.desc)(k.threadWorkTable.createdAt)),m=new Map;for(let{id:a,threadId:b,result:c}of l)c?.trim()&&!m.has(b)&&m.set(b,{workId:a,words:c});let n=({pending:a,...b})=>{let c=m.get(b.id);return{...b,workId:c?.workId??null,asking:"waiting"===b.status&&!!a?.messageId,said:c?.words??null,cut:!!c&&c.words.replace(/\s+/g," ").trim().length>i.BOT_WORK.said}};return{open:f.map(n),recent:g.map(n)}}async function B(a,b){if(b.owner===a){let[a]=await j.database.select({request:k.threadTable.request}).from(k.threadTable).where((0,d.eq)(k.threadTable.id,b.id));return a?.request??""}return b.workId?(await j.database.select({text:k.threadDeliveryTable.text}).from(k.threadDeliveryTable).where((0,d.eq)(k.threadDeliveryTable.workId,b.workId)).orderBy(k.threadDeliveryTable.id)).map(a=>a.text).join("\n\n"):""}async function C(a){let b=await j.database.delete(k.threadTable).where((0,d.eq)(k.threadTable.id,a)).returning({id:k.threadTable.id});return b.length&&R(),b.length>0}async function D(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).orderBy((0,e.desc)(k.threadTable.createdAt))).map(a=>a.id)}async function E(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).where((0,d.eq)(k.threadTable.status,"running"))).map(a=>a.id)}async function F(){return await j.database.select({id:k.threadTable.id,label:k.threadTable.label,status:k.threadTable.status,endedAt:k.threadTable.endedAt,updatedAt:k.threadTable.updatedAt}).from(k.threadTable)}function G(a){let b=new Set;for(let c of a)if(Array.isArray(c))for(let a of c){if("tool-call"!==a.type||a.toolName!==l.TOOL_NAMES.write_file)continue;let c=a.input?.path;"string"==typeof c&&c.trim()&&(b.delete(c.trim()),b.add(c.trim()))}return[...b]}async function H(a){let b=await j.database.select({content:k.threadMessageTable.content}).from(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.eq)(k.threadMessageTable.role,"assistant"))).orderBy(k.threadMessageTable.seq);return G(b.map(a=>a.content))}async function I(a){let b=a.trim();if(!b)return null;let c=await w(b);if(c)return c;let d=b.toLowerCase();return(await j.database.select().from(k.threadTable).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.THREAD_LABEL_REACH)).find(a=>a.label.toLowerCase()===d)??null}async function J(a,b,c){await j.database.insert(k.threadMessageTable).values({threadId:a,seq:b,...c,compact:c.compact??!1,note:c.note??!1}).onConflictDoUpdate({target:[k.threadMessageTable.threadId,k.threadMessageTable.seq],set:{role:c.role,content:c.content,compact:c.compact??!1,note:c.note??!1}}),R()}async function K(a,b){b.length&&(await j.database.delete(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.inArray)(k.threadMessageTable.seq,b))),R())}async function L(a,b=()=>!0){if(0===a.length)return[];let c=a.filter(b).map(a=>a.id),e=c.length?await j.database.select().from(k.threadMessageTable).where((0,d.inArray)(k.threadMessageTable.threadId,c)).orderBy(k.threadMessageTable.seq):[],g=a.map(a=>a.id),[h,i,q]=await Promise.all([j.database.select().from(k.threadWorkTable).where((0,d.inArray)(k.threadWorkTable.threadId,g)).orderBy(f.sql`${k.threadWorkTable}.rowid`),j.database.select().from(k.threadDeliveryTable).where((0,d.and)((0,d.inArray)(k.threadDeliveryTable.threadId,g),(0,d.eq)(k.threadDeliveryTable.visible,!0))),j.database.select().from(k.threadRelayTable).where((0,d.and)((0,d.inArray)(k.threadRelayTable.threadId,g),(0,d.eq)(k.threadRelayTable.accepted,!1)))]),r=new Map(a.map(a=>[a.id,a.bot])),s=new Map(h.map(a=>[a.id,a.caller])),t=new Map;for(let a of e){let b=t.get(a.threadId)??[];b.push(...function(a,b){if(a.hidden)return[];let c={seq:a.seq,bot:a.bot,parent:a.parent,to:"user"===a.role?a.bot:b,at:a.createdAt},d=b=>`${a.id}-${b}`,e=a.content;if("user"===a.role){if(0===a.seq)return[];let b="string"==typeof e?e:e.flatMap(a=>"text"===a.type&&a.text?[a.text]:[]).join("\n").trim();if(!b)return[];if(a.compact)return[{...c,id:d(0),kind:"note",text:b}];if(a.note){let a=b.endsWith(p.RESUME_CHECK)?b.slice(0,-p.RESUME_CHECK.length).trimEnd():b;return[{...c,id:d(0),kind:"stop",text:a}]}return[{...c,id:d(0),kind:"user",text:(0,n.untagSpeaker)(b),by:(0,n.speakerOf)(b)}]}if("assistant"===a.role){let b=a.content;if("string"==typeof b)return b.trim()?[{...c,id:d(0),kind:"text",text:b.trim()}]:[];let e=[];return b.forEach((b,f)=>{if("text"===b.type){let a=b.text.trim();a&&e.push({...c,id:d(f),kind:"text",text:a});return}if("tool-result"===b.type)return void e.push(P(c,d(f),b));if("tool-call"!==b.type)return;let g=b.input??{};if(b.toolName===l.TOOL_NAMES.send_message){let h;e.push({...c,id:d(f),kind:"ask",callId:b.toolCallId,to:(h=String(g.to??"").trim()).toLowerCase()===p.ROOM_THURSDAY.toLowerCase()?p.ROOM_THURSDAY:h,text:String(g.text??""),question:"question"===g.kind,..."question"===g.kind&&a.bot?{questionId:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...a.bot?{exchange:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...Array.isArray(g.after)&&g.after.length?{after:g.after.map(String)}:{}})}else b.toolName===l.TOOL_NAMES.bash?e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:(0,m.clip)(String(g.command??""),120),note:M(g)}):e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:N(b.toolName,g),note:M(g),path:b.toolName===l.TOOL_NAMES.write_file?U(g,"path")??null:null})}),e}if("tool"===a.role){let b=[];return a.content.forEach((a,e)=>{"tool-result"!==a.type||(a.toolName!==l.TOOL_NAMES.send_message||"error-text"===a.output.type)&&b.push(P(c,d(e),a))}),b}return[]}(a,(a.parent?s.get(a.parent):null)??r.get(a.threadId)??"")),t.set(a.threadId,b)}return a.map(a=>{let c=h.filter(b=>b.threadId===a.id),d=["running","queued","paused","waiting","done","cancelled"],e=[...new Set(c.map(a=>a.bot))].filter(a=>a!==p.ROOM_THURSDAY).map(a=>({bot:a,state:c.filter(b=>b.bot===a).sort((a,b)=>d.indexOf(a.state)-d.indexOf(b.state))[0].state}));return{...function(a,b){let{pending:c,inputTokens:d,outputTokens:e,...f}=a;return{...f,ask:"waiting"===a.status?{question:a.outcome??"",options:c?.options??[],messageId:c?.messageId,bot:c?.bot,refused:c?.refused}:null,tokens:{input:d,output:e},lines:b}}(a,t.get(a.id)??[]),room:{participants:e,questions:c.filter(a=>"external"===a.state).map(a=>({id:a.id,bot:a.caller,text:a.result??"",options:a.options})),deliveries:i.filter(b=>b.threadId===a.id).map(b=>({id:b.key,bot:c.find(a=>a.id===b.workId)?.bot??a.bot,text:b.text,delivered:b.consumed})),relays:q.filter(b=>b.threadId===a.id),exchanges:b(a)?c.map(a=>({id:a.id,bot:a.bot,caller:a.caller,state:a.state,waitsFor:a.waitsFor})):[]}}})}let T=["query","command","prompt","url","path","pattern","request","question","title","name","thread","text"],U=(a,b)=>{let c=a[b];return"string"==typeof c&&c.trim()?c:null};function M(a){let b=U(a,"description");return b?(0,m.clip)(b,120):null}function N(a,b){let c=b??{};if("object"!=typeof c||Array.isArray(c))return(0,m.clip)(String(b??""),120);if(a===l.TOOL_NAMES.bash)return M(c)??(0,m.clip)(String(c.command??""),120);if(a===l.TOOL_NAMES.tool_call||a===l.TOOL_NAMES.tool_search){let a=Array.isArray(c.tools)?c.tools.map(String).join(", "):String(c.tool??""),b=c.args??null,d=b&&"object"==typeof b?String(c.server??"")===i.STUDIO_SERVER?O(b):JSON.stringify(b):"";return(0,m.clip)([String(c.server??""),a,d].filter(Boolean).join(" "),120)}let d=O(c);return d?(0,m.clip)(d,120):Object.keys(c).length?(0,m.clip)(JSON.stringify(c),120):""}function O(a){for(let b of T){let c=U(a,b);if(c)return c}for(let b of Object.keys(a)){let c=U(a,b);if(c)return c}return""}let V=/https?:\/\/\S+(?: · \d{4}-\d{2}-\d{2})?\s*$/,W=" — ";function P(a,b,c){let d=c.toolName===l.TOOL_NAMES.web_search,e=function a(b,c,d=!1){var e;if(null==b)return[];if("string"==typeof b)return Q(b,c,d);if("object"!=typeof b)return Q(String(b),c,d);switch(b.type){case"text":case"error-text":return Q(String(b.value??""),c,d);case"json":case"error-json":return a(b.value,c,d);case"execution-denied":return Q("Denied.",c,d);case"content":{if(!Array.isArray(b.value))return[];let a=[];for(let e of b.value){if("text"===e.type&&"string"==typeof e.text){a.push(...Q(e.text,c,d));continue}let b=function(a){let b=String(a.mediaType??"");if(!b.startsWith("image/"))return null;let c=a.data;return"string"==typeof c?`data:${b};base64,${c}`:c?.type==="url"&&c.url?c.url:c?.type==="data"&&"string"==typeof c.data?`data:${b};base64,${c.data}`:null}(e);b&&a.push({type:"image",src:b})}return a}}return"string"==typeof b.path&&String(b.mediaType??"").startsWith("image/")?[{type:"text",text:b.path},{type:"image",src:h.queryKey.file(b.path)}]:Array.isArray(b.sources)?b.sources.map(a=>String(a?.title??"")).filter(Boolean).slice(0,c).map(a=>({type:"text",text:a})):"string"==typeof b.stdout?Q(b.stdout||String(b.stderr??""),c,d):"string"==typeof b.answer?Q(b.answer,c,d):Q(d?(e=b,Array.isArray(e)?JSON.stringify(e,null,2):Object.entries(e).map(([a,b])=>"string"==typeof b&&b.includes("\n")?`${a}:
10
10
  ${b}`:`${a}: ${JSON.stringify(b,null,2)}`).join("\n")):JSON.stringify(b),c,d)}(c.output,d?i.FULL_RESULT_LINES:5),f=e.flatMap(a=>"text"===a.type?[a.text]:[]),g=d?f.filter(a=>V.test(a)):[],j=(g.length?g:f).slice(0,4);return{...a,id:b,kind:"tool-result",callId:c.toolCallId,name:c.toolName,results:j.map(a=>({type:"text",text:g.length?function(a){let b=a.replace(/\s+/g," ").trim(),c=V.exec(b);if(!c||b.length<=200)return(0,m.clip)(b,200);let d=c[0].trim(),e=b.slice(0,c.index).replace(/[\s—-]+$/,""),f=200-d.length-W.length;return e&&f>1?`${(0,m.clip)(e,f)}${W}${d}`:d}(a):(0,m.clip)(a,200)})),more:f.length>j.length||e.length>f.length||j.some(a=>a.length>200)}}function Q(a,b,c=!1){if(c){let c=a.split("\n"),d=c.slice(0,b);c.length>b&&d.push(`… ${c.length-b} more lines`);let e=d.join("\n").trimEnd();return e?[{type:"text",text:e}]:[]}return a.split("\n").map(a=>a.trim()).filter(Boolean).slice(0,b).map(a=>({type:"text",text:a}))}a.s(["addThreadUsage",0,u,"argumentLine",0,N,"deleteMessages",0,K,"deleteThread",0,C,"findThread",0,w,"findThreadRoom",0,v,"insertThread",0,r,"listAllThreadIds",0,D,"listBotWork",0,A,"listCallJobs",0,z,"listInboxThreads",0,x,"listRunningThreadIds",0,E,"listThreadFolders",0,F,"listThreadOverview",0,y,"listWrittenPaths",0,H,"markSeen",0,t,"readBotAsk",0,B,"resolveThread",0,I,"updateThread",0,s,"upsertMessage",0,J,"writtenPathsIn",0,G]),c()}catch(a){c(a)}},!1)];
11
11
 
12
12
  //# sourceMappingURL=features_bot_0tb4ui-._.js.map