thursday-agent 0.17.2 → 0.18.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 (362) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  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.js.nft.json +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +1 -1
  15. package/.next/server/app/_not-found.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/.next/server/app/api/artifact/route.js +7 -7
  20. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/files/route.js +4 -4
  22. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/memory/route.js +1 -1
  24. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/route.js +1 -1
  26. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/[id]/route.js +1 -1
  28. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/file/route/app-paths-manifest.json +3 -0
  30. package/.next/server/app/api/bot/thread/file/route/build-manifest.json +12 -0
  31. package/.next/server/app/api/bot/thread/file/route/server-reference-manifest.json +4 -0
  32. package/.next/server/app/api/bot/thread/file/route.js +29 -0
  33. package/.next/server/app/api/bot/thread/file/route.js.map +5 -0
  34. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -0
  35. package/.next/server/app/api/bot/thread/file/route_client-reference-manifest.js +3 -0
  36. package/.next/server/app/api/bot/thread/route.js +1 -1
  37. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  38. package/.next/server/app/api/config/route.js +1 -1
  39. package/.next/server/app/api/config/route.js.nft.json +1 -1
  40. package/.next/server/app/api/events/route.js +2 -2
  41. package/.next/server/app/api/events/route.js.nft.json +1 -1
  42. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/file/[...path]/route.js +4 -4
  44. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  45. package/.next/server/app/api/llm-model/automatic/route.js +1 -1
  46. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  47. package/.next/server/app/api/llm-model/catalog/route.js +1 -1
  48. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  49. package/.next/server/app/api/llm-model/credits/route.js +1 -1
  50. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  51. package/.next/server/app/api/llm-model/route.js +1 -1
  52. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  53. package/.next/server/app/api/llm-model/subscription/route.js +1 -1
  54. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  55. package/.next/server/app/api/mcp/[name]/route.js +1 -1
  56. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  57. package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
  58. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/route.js +1 -1
  60. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/tools/route.js +1 -1
  62. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  63. package/.next/server/app/api/memory/edit/route.js +1 -1
  64. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  65. package/.next/server/app/api/memory/route.js +1 -1
  66. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  67. package/.next/server/app/api/reach/route.js +1 -1
  68. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  69. package/.next/server/app/api/routine/route.js +1 -1
  70. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  71. package/.next/server/app/api/signins/route.js +1 -1
  72. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  73. package/.next/server/app/api/skills/[source]/[name]/route.js +1 -1
  74. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  75. package/.next/server/app/api/skills/route.js +1 -1
  76. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  77. package/.next/server/app/api/thursday/call/end/route.js +1 -1
  78. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  79. package/.next/server/app/api/thursday/call/route.js +1 -1
  80. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  81. package/.next/server/app/api/thursday/settings/route.js +1 -1
  82. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  83. package/.next/server/app/api/thursday/text/route.js +1 -1
  84. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  85. package/.next/server/app/api/thursday/tool-call/route.js +1 -1
  86. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  87. package/.next/server/app/api/workspace/files/route.js +1 -1
  88. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  89. package/.next/server/app/api/workspace/route.js +1 -1
  90. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  91. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +94 -6
  92. package/.next/server/app/artifact/[...path]/page.js +9 -6
  93. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  96. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  97. package/.next/server/app/page/server-reference-manifest.json +161 -128
  98. package/.next/server/app/page.js +9 -9
  99. package/.next/server/app/page.js.nft.json +1 -1
  100. package/.next/server/app/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app-paths-manifest.json +1 -0
  102. package/.next/server/chunks/{[externals]__12stas-._.js → [externals]__178rv3v._.js} +1 -1
  103. package/.next/server/chunks/[root-of-the-server]__00qyw01._.js +1 -1
  104. package/.next/server/chunks/[root-of-the-server]__02ra64t._.js +5 -0
  105. package/.next/server/chunks/[root-of-the-server]__03xamry._.js +1 -1
  106. package/.next/server/chunks/[root-of-the-server]__04hhvpu._.js +7 -0
  107. package/.next/server/chunks/[root-of-the-server]__05dp5tr._.js +1 -1
  108. package/.next/server/chunks/[root-of-the-server]__0bqveex._.js +1 -1
  109. package/.next/server/chunks/{[root-of-the-server]__1_h4hf9._.js → [root-of-the-server]__0brmiv2._.js} +4 -4
  110. package/.next/server/chunks/[root-of-the-server]__0gvdr2h._.js +5 -0
  111. package/.next/server/chunks/[root-of-the-server]__0h656y-._.js +1 -1
  112. package/.next/server/chunks/[root-of-the-server]__0lvjz0b._.js +5 -0
  113. package/.next/server/chunks/[root-of-the-server]__0mgyt8p._.js +1 -1
  114. package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
  115. package/.next/server/chunks/[root-of-the-server]__0my9geo._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__0qdoc_9._.js +5 -0
  117. package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +1 -1
  118. package/.next/server/chunks/[root-of-the-server]__0v_kuor._.js +5 -0
  119. package/.next/server/chunks/[root-of-the-server]__1-rmal0._.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]__1_04mcf._.js +2 -2
  122. package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
  123. package/.next/server/chunks/[root-of-the-server]__1dth047._.js +5 -0
  124. package/.next/server/chunks/[root-of-the-server]__1etbk64._.js +3 -0
  125. package/.next/server/chunks/[root-of-the-server]__1izes4_._.js +7 -0
  126. package/.next/server/chunks/[root-of-the-server]__1ksm9m-._.js +12 -0
  127. package/.next/server/chunks/[root-of-the-server]__1m_dmf6._.js +5 -0
  128. package/.next/server/chunks/[root-of-the-server]__1mys2c3._.js +5 -0
  129. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  130. package/.next/server/chunks/[root-of-the-server]__1p0njle._.js +5 -0
  131. package/.next/server/chunks/[root-of-the-server]__1p47fbb._.js +2 -2
  132. package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
  133. package/.next/server/chunks/[root-of-the-server]__1zn039k._.js +1 -1
  134. package/.next/server/chunks/_01c32w9._.js +1 -1
  135. package/.next/server/chunks/_02bov6_._.js +1 -1
  136. package/.next/server/chunks/_06hnfi8._.js +2 -2
  137. package/.next/server/chunks/_06u9yo-._.js +1 -1
  138. package/.next/server/chunks/_07nxi75._.js +42 -41
  139. package/.next/server/chunks/_08354bn._.js +12 -11
  140. package/.next/server/chunks/{_08btiir._.js → _08_-9ay._.js} +3 -3
  141. package/.next/server/chunks/_08s4vft._.js +1 -1
  142. package/.next/server/chunks/_0bgjf07._.js +5 -0
  143. package/.next/server/chunks/_0fb6dvr._.js +1 -1
  144. package/.next/server/chunks/_0hgvg55._.js +1 -1
  145. package/.next/server/chunks/_0iw19ig._.js +1 -1
  146. package/.next/server/chunks/_0poi1t2._.js +1 -1
  147. package/.next/server/chunks/_0srlnvd._.js +6 -6
  148. package/.next/server/chunks/_0t_7gji._.js +1 -1
  149. package/.next/server/chunks/_0uzj57i._.js +1 -1
  150. package/.next/server/chunks/_0wyh244._.js +112 -0
  151. package/.next/server/chunks/_0xygcxs._.js +42 -41
  152. package/.next/server/chunks/_1-sk_q4._.js +1 -1
  153. package/.next/server/chunks/_108gsm8._.js +2 -2
  154. package/.next/server/chunks/_136j09a._.js +5 -5
  155. package/.next/server/chunks/_15negpy._.js +2 -2
  156. package/.next/server/chunks/_1d7og_q._.js +1 -1
  157. package/.next/server/chunks/_1dxq827._.js +2 -2
  158. package/.next/server/chunks/_1e54wxa._.js +1 -1
  159. package/.next/server/chunks/_1gn2r2q._.js +6 -6
  160. package/.next/server/chunks/_1i3uucm._.js +1 -1
  161. package/.next/server/chunks/_1jvy78-._.js +5 -0
  162. package/.next/server/chunks/_1q6e56i._.js +6 -6
  163. package/.next/server/chunks/_1qgix-j._.js +1 -1
  164. package/.next/server/chunks/_1wwl_7o._.js +1 -1
  165. package/.next/server/chunks/_1y8w80a._.js +5 -5
  166. package/.next/server/chunks/_1yx285_._.js +3 -0
  167. package/.next/server/chunks/_20qn224._.js +3 -0
  168. package/.next/server/chunks/_211dn2c._.js +1 -1
  169. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_file_route_actions_0q3be0o.js +3 -0
  170. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  171. package/.next/server/chunks/features_bot_08z387_._.js +3 -3
  172. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +3 -3
  173. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
  174. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js → node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js} +1 -1
  175. package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +1 -1
  176. package/.next/server/chunks/ssr/[root-of-the-server]__06knwl5._.js +3 -0
  177. package/.next/server/chunks/ssr/[root-of-the-server]__07ehpky._.js +3 -0
  178. package/.next/server/chunks/ssr/[root-of-the-server]__0h6jo0s._.js +3 -0
  179. package/.next/server/chunks/ssr/[root-of-the-server]__128hnrd._.js +3 -0
  180. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  181. package/.next/server/chunks/ssr/[root-of-the-server]__1gzje-h._.js +3 -0
  182. package/.next/server/chunks/ssr/{[root-of-the-server]__1d7usu0._.js → [root-of-the-server]__1qn0axo._.js} +2 -2
  183. package/.next/server/chunks/ssr/[root-of-the-server]__1r7tj27._.js +3 -0
  184. package/.next/server/chunks/ssr/[root-of-the-server]__1tb5vve._.js +46 -0
  185. package/.next/server/chunks/ssr/{features_bot_1knyan7._.js → _07nmtxo._.js} +2 -2
  186. package/.next/server/chunks/ssr/{_10-_awu._.js → _0f9hx5p._.js} +2 -2
  187. package/.next/server/chunks/ssr/_0fo4552._.js +10 -9
  188. package/.next/server/chunks/ssr/{_123y-ah._.js → _0is8m6y._.js} +2 -2
  189. package/.next/server/chunks/ssr/{_17a4qyk._.js → _0ixe3g3._.js} +3 -3
  190. package/.next/server/chunks/ssr/_0j9vh-8._.js +3 -0
  191. package/.next/server/chunks/ssr/_0l7rjg5._.js +1 -1
  192. package/.next/server/chunks/ssr/{lib_logger_ts_0-olsze._.js → _0mfgsk-._.js} +4 -2
  193. package/.next/server/chunks/ssr/_0mpn6q0._.js +5 -0
  194. package/.next/server/chunks/ssr/{_0e2fnvg._.js → _0osvxkt._.js} +2 -2
  195. package/.next/server/chunks/ssr/_0p6w0ef._.js +3 -0
  196. package/.next/server/chunks/ssr/_0pbav_w._.js +3 -0
  197. package/.next/server/chunks/ssr/{_1aqjk-1._.js → _0wuvkqk._.js} +2 -2
  198. package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
  199. package/.next/server/chunks/ssr/_0x9f717._.js +60 -0
  200. package/.next/server/chunks/ssr/_1-41lck._.js +1 -1
  201. package/.next/server/chunks/ssr/_10jtmhl._.js +3 -0
  202. package/.next/server/chunks/ssr/{_0xfafez._.js → _12jv_41._.js} +2 -2
  203. package/.next/server/chunks/ssr/{_163dr78._.js → _165wnr4._.js} +2 -2
  204. package/.next/server/chunks/ssr/_16_7zeo._.js +3 -0
  205. package/.next/server/chunks/ssr/{_14oirtb._.js → _1_ogjze._.js} +2 -2
  206. package/.next/server/chunks/ssr/_1bfrntd._.js +6 -0
  207. package/.next/server/chunks/ssr/_1i2swyr._.js +3 -0
  208. package/.next/server/chunks/ssr/{_10_ph1t._.js → _1jd8rjm._.js} +2 -2
  209. package/.next/server/chunks/ssr/_1mdjoak._.js +162 -0
  210. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  211. package/.next/server/chunks/ssr/{_1dfv66y._.js → _1oafxdu._.js} +2 -2
  212. package/.next/server/chunks/ssr/_1omom9y._.js +3 -0
  213. package/.next/server/chunks/ssr/_1pgxh81._.js +271 -0
  214. package/.next/server/chunks/ssr/{_0vo_oym._.js → _1r4mc3i._.js} +2 -2
  215. package/.next/server/chunks/ssr/_1soynbw._.js +6 -0
  216. package/.next/server/chunks/ssr/{_01al00i._.js → _1tx-2k7._.js} +2 -2
  217. package/.next/server/chunks/ssr/_1w899wx._.js +3 -0
  218. package/.next/server/chunks/ssr/_1xwtbdz._.js +3 -0
  219. package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
  220. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +2 -2
  221. package/.next/server/chunks/ssr/features_bot_18gqkr_._.js +3 -0
  222. package/.next/server/chunks/ssr/{features_config_09n-q9q._.js → features_config_1ond01n._.js} +3 -3
  223. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  224. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  225. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  226. package/.next/server/chunks/ssr/features_workspace_workspace_ts_1wc7_u_._.js +4 -4
  227. package/.next/server/chunks/ssr/{node_modules_0msrhxf._.js → node_modules_004qt-z._.js} +1 -1
  228. package/.next/server/chunks/ssr/{node_modules_0q-klni._.js → node_modules_06m6e97._.js} +1 -1
  229. package/.next/server/chunks/ssr/{node_modules_13g-d25._.js → node_modules_09dy7tk._.js} +1 -1
  230. package/.next/server/chunks/ssr/{node_modules_0gd9hbz._.js → node_modules_0_hy3i2._.js} +1 -1
  231. package/.next/server/chunks/ssr/{node_modules_1gq3ght._.js → node_modules_0f485jl._.js} +1 -1
  232. package/.next/server/chunks/ssr/{node_modules_096up6a._.js → node_modules_0gbx70b._.js} +1 -1
  233. package/.next/server/chunks/ssr/{node_modules_13bqv6i._.js → node_modules_0i_v0-m._.js} +1 -1
  234. package/.next/server/chunks/ssr/{node_modules_04x5wyv._.js → node_modules_0lrn9ci._.js} +1 -1
  235. package/.next/server/chunks/ssr/{node_modules_0d6j33x._.js → node_modules_0lxwg2v._.js} +1 -1
  236. package/.next/server/chunks/ssr/{node_modules_113l3e5._.js → node_modules_0n2-p5q._.js} +1 -1
  237. package/.next/server/chunks/ssr/node_modules_0nj36zf._.js +3 -0
  238. package/.next/server/chunks/ssr/{node_modules_0cjnmzp._.js → node_modules_0ppirau._.js} +1 -1
  239. package/.next/server/chunks/ssr/{node_modules_0m73b88._.js → node_modules_0pw13ww._.js} +1 -1
  240. package/.next/server/chunks/ssr/node_modules_0qd7p5f._.js +3 -0
  241. package/.next/server/chunks/ssr/{node_modules_0nmkv-v._.js → node_modules_0upwx50._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_0__0tvm._.js → node_modules_0v__o4h._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_1k5i-_9._.js → node_modules_1-4q6is._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_156kv_t._.js → node_modules_10mb0cv._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_10_fv2a._.js → node_modules_16z7p8b._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_1lmyts8._.js → node_modules_17o218r._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0k8-y89._.js → node_modules_1gpapfv._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_1_8-jcj._.js → node_modules_1hdaxu9._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_1ri_eip._.js → node_modules_1hjvwkh._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0nw5jz7._.js → node_modules_1j886a5._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_1xb-ndg._.js → node_modules_1srjf5c._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_1p_6sq7._.js → node_modules_1tus4vi._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_021lid9._.js → node_modules_1tv_7lk._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_1qstb1x._.js → node_modules_20448xv._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0amkw0b._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0lg9pkl._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0zq3l45._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1xgbf5j._.js} +1 -1
  257. package/.next/server/middleware-build-manifest.js +3 -3
  258. package/.next/server/middleware.js +1 -1
  259. package/.next/server/pages/404.html +1 -1
  260. package/.next/server/pages/500.html +1 -1
  261. package/.next/server/server-reference-manifest.js +1 -1
  262. package/.next/server/server-reference-manifest.json +205 -132
  263. package/.next/static/chunks/{166smhw8v-s3j.js → 05uvci-bk-vgp.js} +1 -1
  264. package/.next/static/chunks/09y_43y1cy5jw.js +1 -0
  265. package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
  266. package/.next/static/chunks/0oqviw3f55nfp.js +58 -0
  267. package/.next/static/chunks/0q9b2n6l4flqb.js +1 -0
  268. package/.next/static/chunks/0ruf3dqs--3ve.js +1 -0
  269. package/.next/static/chunks/0vggwjufw2-6r.js +1 -0
  270. package/.next/static/chunks/{3sla-dm1puqd1.js → 0x4m9nj2fazl2.js} +1 -1
  271. package/.next/static/chunks/{3t2c76awm9k_p.js → 1-1yfu34-3p2p.js} +1 -1
  272. package/.next/static/chunks/10oyyypxn_cpx.js +1 -0
  273. package/.next/static/chunks/{1cglo3a2mbeou.js → 17dx6w478vnb0.js} +1 -1
  274. package/.next/static/chunks/184-r80rv0xay.css +1 -0
  275. package/.next/static/chunks/1_hgdoungpm0o.js +1 -0
  276. package/.next/static/chunks/{0obogzscwwekj.js → 1dpg1u4a16ujt.js} +1 -1
  277. package/.next/static/chunks/{2qgkbdshzpq1c.js → 1h_6rh86q3i4p.js} +1 -1
  278. package/.next/static/chunks/{3b96xy59nl_gd.js → 1pe7i5yu779ta.js} +1 -1
  279. package/.next/static/chunks/{2zbl41hed17g3.js → 240nfv2dtidhc.js} +1 -1
  280. package/.next/static/chunks/{0uxq_vs6uxi-b.js → 27l8qwnk1j66z.js} +1 -1
  281. package/.next/static/chunks/2gxfy__ef51n9.js +3 -0
  282. package/.next/static/chunks/2kjwmo70judc2.js +15 -0
  283. package/.next/static/chunks/{3gsxnqqqphh-1.js → 2lzg4zedtmyic.js} +1 -1
  284. package/.next/static/chunks/2ug8q1x9e-_j6.js +1 -0
  285. package/.next/static/chunks/{01l7kw74vfp32.js → 2uk8rdtr-pk58.js} +1 -1
  286. package/.next/static/chunks/337g9g_ux2gj-.js +1 -0
  287. package/.next/static/chunks/{0o7o0eb7ihxi6.js → 396enq-m0sss5.js} +1 -1
  288. package/.next/static/chunks/{0p2f6uv4xytfm.js → 3r7u1y9xjoh-v.js} +1 -1
  289. package/.next/static/chunks/{3jtcieuk1l6tw.js → 3vg1-oc-zgw_7.js} +1 -1
  290. package/.next/static/chunks/40re_3ukjulg9.js +1 -0
  291. package/.next/static/chunks/41ztsnjn4qrn-.js +1 -0
  292. package/README.md +5 -5
  293. package/bin/autostart.mjs +32 -2
  294. package/bin/lock.mjs +85 -4
  295. package/bin/thursday.mjs +42 -15
  296. package/bin/tools.mjs +18 -1
  297. package/database/migrations/20260926021847_thread_cache_tokens/migration.sql +2 -0
  298. package/database/migrations/20260926021847_thread_cache_tokens/snapshot.json +1949 -0
  299. package/guide/bots.md +173 -317
  300. package/guide/calls.md +98 -146
  301. package/guide/index.md +2 -2
  302. package/guide/memory.md +14 -18
  303. package/guide/phone.md +86 -133
  304. package/guide/setup.md +127 -172
  305. package/guide/trouble.md +42 -65
  306. package/package.json +1 -1
  307. package/seed-skills/concierge/travel/scripts/itinerary.mjs +1 -1
  308. package/skills/artifact/runtime/shell/shell.js +32 -3
  309. package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +0 -3
  310. package/.next/server/chunks/[root-of-the-server]__021dkui._.js +0 -3
  311. package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +0 -7
  312. package/.next/server/chunks/[root-of-the-server]__0ljizgj._.js +0 -5
  313. package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +0 -5
  314. package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +0 -7
  315. package/.next/server/chunks/[root-of-the-server]__1c2kwku._.js +0 -12
  316. package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +0 -3
  317. package/.next/server/chunks/[root-of-the-server]__1t0jj1j._.js +0 -5
  318. package/.next/server/chunks/[root-of-the-server]__1vlxv19._.js +0 -5
  319. package/.next/server/chunks/_0j0-gq6._.js +0 -5
  320. package/.next/server/chunks/_0p6v1fr._.js +0 -5
  321. package/.next/server/chunks/_1ic3bew._.js +0 -5
  322. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js +0 -3
  323. package/.next/server/chunks/ssr/[root-of-the-server]__0-af_o7._.js +0 -3
  324. package/.next/server/chunks/ssr/[root-of-the-server]__09f39cp._.js +0 -4
  325. package/.next/server/chunks/ssr/[root-of-the-server]__0ouu4qp._.js +0 -3
  326. package/.next/server/chunks/ssr/[root-of-the-server]__0q9g9ea._.js +0 -5
  327. package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +0 -46
  328. package/.next/server/chunks/ssr/[root-of-the-server]__1jyeu61._.js +0 -5
  329. package/.next/server/chunks/ssr/_0afrpci._.js +0 -3
  330. package/.next/server/chunks/ssr/_0bgse1c._.js +0 -162
  331. package/.next/server/chunks/ssr/_0qsmpcu._.js +0 -3
  332. package/.next/server/chunks/ssr/_0z38nha._.js +0 -3
  333. package/.next/server/chunks/ssr/_116lfdc._.js +0 -3
  334. package/.next/server/chunks/ssr/_14dfh7a._.js +0 -4
  335. package/.next/server/chunks/ssr/_17qtuv7._.js +0 -3
  336. package/.next/server/chunks/ssr/_1_5xof_._.js +0 -3
  337. package/.next/server/chunks/ssr/_1alxym6._.js +0 -3
  338. package/.next/server/chunks/ssr/_1ou5sj0._.js +0 -3
  339. package/.next/server/chunks/ssr/_1tmw842._.js +0 -5
  340. package/.next/server/chunks/ssr/_1uij_rj._.js +0 -3
  341. package/.next/server/chunks/ssr/_1w9w1ok._.js +0 -3
  342. package/.next/server/chunks/ssr/_20gq_24._.js +0 -3
  343. package/.next/server/chunks/ssr/features_bot_0ouemw8._.js +0 -3
  344. package/.next/server/chunks/ssr/node_modules_@base-ui_react_1j9i1ho._.js +0 -3
  345. package/.next/static/chunks/0a5_-jqhaktjj.js +0 -1
  346. package/.next/static/chunks/0npvak0wpgagb.js +0 -1
  347. package/.next/static/chunks/19l81deo_pyoc.js +0 -1
  348. package/.next/static/chunks/1bnhw-5fj7aiz.js +0 -1
  349. package/.next/static/chunks/1in6nxpu33iab.js +0 -1
  350. package/.next/static/chunks/1u7kg91f9qy3g.js +0 -1
  351. package/.next/static/chunks/1xv4g10m-cl1s.js +0 -1
  352. package/.next/static/chunks/2ajs12-fcdwzm.js +0 -1
  353. package/.next/static/chunks/2i7qtmxc1kuqg.js +0 -1
  354. package/.next/static/chunks/2kz1f6r59nky0.js +0 -3
  355. package/.next/static/chunks/31kn4_h2rvf6k.css +0 -1
  356. package/.next/static/chunks/35jj-5u4te56r.js +0 -1
  357. package/.next/static/chunks/37ixzapa06xlo.js +0 -1
  358. package/.next/static/chunks/3k1d8y03t5nax.js +0 -58
  359. package/.next/static/chunks/3yiqr95d7ybeq.js +0 -15
  360. /package/.next/static/{8I2hKtciyA9LXvd8txuOz → -IBxB5oqr6e3RuOCCmYtL}/_buildManifest.js +0 -0
  361. /package/.next/static/{8I2hKtciyA9LXvd8txuOz → -IBxB5oqr6e3RuOCCmYtL}/_clientMiddlewareManifest.js +0 -0
  362. /package/.next/static/{8I2hKtciyA9LXvd8txuOz → -IBxB5oqr6e3RuOCCmYtL}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
1
+ module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),cacheReadTokens:(0,o.int)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,o.int)("cache_write_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
2
2
  params: ${r}`),this.query=i,this.params=r,this.cause=n,this.name="DrizzleQueryError",Error.captureStackTrace(this,t),n&&(this.cause=n)}},Q=class extends F{static [i.entityKind]="TransactionRollbackError";constructor(){super({message:"Rollback"}),this.name="TransactionRollbackError"}},M=t.i(875225),K=t.i(349129),W=class{static [i.entityKind]="RelationV2";fieldName;sourceColumns;targetColumns;alias;where;sourceTable;targetTable;through;throughTable;isReversed;sourceColumnTableNames=[];targetColumnTableNames=[];constructor(t,i){this.targetTableName=i,this.targetTable=t}},G=class extends W{static [i.entityKind]="OneV2";relationType="one";optional;constructor(t,i,r,n){super(i,r),this.alias=n?.alias,this.where=n?.where,n?.from&&(this.sourceColumns=(Array.isArray(n.from)?n.from:[n.from]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.sourceColumnTableNames.push(i._.tableName),i._.column))),n?.to&&(this.targetColumns=(Array.isArray(n.to)?n.to:[n.to]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.targetColumnTableNames.push(i._.tableName),i._.column))),this.throughTable&&(this.through={source:(Array.isArray(n?.from)?n.from:n?.from?[n.from]:[]).map(t=>t._.through),target:(Array.isArray(n?.to)?n.to:n?.to?[n.to]:[]).map(t=>t._.through)}),this.optional=n?.optional??!0}},X=(i.entityKind,class{static [i.entityKind]="AggregatedField";table;onTable(t){return this.table=t,this}});i.entityKind;let H={and:M.and,between:M.between,eq:M.eq,exists:M.exists,gt:M.gt,gte:M.gte,ilike:M.ilike,inArray:M.inArray,arrayContains:M.arrayContains,arrayContained:M.arrayContained,arrayOverlaps:M.arrayOverlaps,isNull:M.isNull,isNotNull:M.isNotNull,like:M.like,lt:M.lt,lte:M.lte,ne:M.ne,not:M.not,notBetween:M.notBetween,notExists:M.notExists,notLike:M.notLike,notIlike:M.notIlike,notInArray:M.notInArray,or:M.or,sql:r.sql},Y={sql:r.sql,asc:K.asc,desc:K.desc};function ee(t,n,a,o=!1,s=!1,l=!0){let u=n?1:t.length,d=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder,l&&t.mapFromJsonValue)?i=>t.mapFromJsonValue(i):o.mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)});for(let i=0;i<u;++i){let r=n?t:t[i];for(let t=0;t<a.length;++t){let i=a[t];if(i.selection){if(null===r[i.key])continue;if(o){if(r[i.key]=JSON.parse(r[i.key]),null===r[i.key])continue}else s&&"string"==typeof r[i.key]&&(r[i.key]=JSON.parse(r[i.key]));if(i.isArray){ee(r[i.key],!1,i.selection,!1,s);continue}ee(r[i.key],!0,i.selection,!1,s);continue}if(null===r[i.key])continue;let n=d[t];n&&(r[i.key]=n(r[i.key]))}}return t}function et({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:s,arrayModeRoot:l}){return u=>n&&!u[0]?u[0]:l?function(t,n,a,o=!1,s=!1){let l=n?1:t.length,u=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder).mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)}),d=Array.from({length:l});for(let i=0;i<l;++i){let r=n?t:t[i],l={};for(let t=0;t<a.length;++t){let i=a[t],n=r[t];if(i.selection){if(null===n){l[i.key]=null;continue}if(o){if(null===(n=JSON.parse(n))){l[i.key]=null;continue}}else s&&"string"==typeof n&&(n=JSON.parse(n));i.isArray?ee(n,!1,i.selection,!1,s):ee(n,!0,i.selection,!1,s),l[i.key]=n;continue}if(null===n){l[i.key]=null;continue}let d=u[t];l[i.key]=d?d(n):n}d[i]=l}return n?d[0]:d}(n?u[0]:u,n,t,a,o):ee(n?u[0]:u,n,t,a,o,s)}function ei({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:l,arrayModeRoot:u}){let d=[],c=function t(n,a,o,s,l,u,d,c,m){let f=[],p=[],h=!1,v=n.map(()=>`c${c.n++}`),g=n.map((t,i)=>m?v[i]:`${JSON.stringify(t.key)}: ${v[i]}`);for(let[y,{field:b,key:x,codec:k,isArray:I,selection:w,arrayDimensions:S}]of(f.push(m?`let [ ${g.join(", ")} ] = ${a};`:`let { ${g.join(", ")} } = ${a};`),n.entries())){let n=`${o}[${y}]`,a=JSON.stringify(x),m=v[y];if(w){s?(f.push(`if (${m} !== null) ${m} = JSON.parse(${m});`),h=!0):l&&(f.push(`if (typeof ${m} === 'string') ${m} = JSON.parse(${m});`),h=!0);let i=`s${c.n++}`,r=d.length;if(d.push(`const { selection: ${i} } = ${n};`),I){let n=`j${c.n++}`,a=t(w,`${m}[${n}]`,i,!1,l,!0,d,c,!1);if(a.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),f.push(` for (let ${n} = 0; ${n} < ${m}.length; ++${n}) {`),a.bodyStmts))f.push(` ${t}`);f.push(` ${m}[${n}] = ${a.literal};`),f.push(" }"),f.push("}")}else d.splice(r,1)}else{let n=t(w,m,i,!1,l,!0,d,c,!1);if(n.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),n.bodyStmts))f.push(` ${t}`);f.push(` ${m} = ${n.literal};`),f.push("}")}else d.splice(r,1)}p.push(`${a}: ${m}`);continue}let g="",Z="",z=!1;if((0,i.is)(b,$.Column)){if(u&&b.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromJsonValue`}else if(!b.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL)){if(u&&b.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromJsonValue`}else if(!b.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL.Aliased)){if(u&&b.sql.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromJsonValue`}else if(!b.sql.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,_.Table)||(0,i.is)(b,r.View));else{let t=b.getSQL();if(u&&t.decoder.mapFromJsonValue){z=!0;let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromJsonValue`}else if(!t.decoder.mapFromDriverValue.isNoop){let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromDriverValue`}}let N="";if(!z&&k&&(N=`codec${c.n++}`),Z||N){let t=[];Z&&t.push(Z),N&&t.push(`codec: ${N}`),d.push(`const { ${t.join(", ")} } = ${n};`)}if(g||N){h=!0;let t=m;N&&(t=`${N}(${t}, ${S})`),g&&(t=`${g}(${t})`),p.push(`${a}: ${m} === null ? null : ${t}`)}else p.push(`${a}: ${m}`)}return{bodyStmts:f,literal:`{ ${p.join(", ")} }`,hasWork:h}}(t,"row","selection",a,o,!u&&l,d,{n:0},!!u),m=[];for(let t of(m.push(` "use strict";
3
3
  const { selection } = this;`),d))m.push(` ${t}`);if(u)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` return ${c.literal};`)}else{for(let t of(m.push(" const { length } = rows;"),m.push(" const mapped = Array.from({ length });"),m.push(" for (let i = 0; i < length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` mapped[i] = ${c.literal};`),m.push(" }"),m.push(" return mapped;")}else if(c.hasWork)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[0] = ${c.literal};`),m.push(" return rows[0];")}else{for(let t of(m.push(" for (let i = 0; i < rows.length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[i] = ${c.literal};`),m.push(" }"),m.push(" return rows;")}else m.push(n?" return rows[0];":" return rows;");m.push(" //# sourceURL=drizzle:jit-relational-query-mapper");let f=m.join("\n");return Object.assign(new s.FnConstructor("rows",f).bind({selection:t}),{body:`function jitRqbMapper (rows) {
4
4
  ${f}
@@ -1,4 +1,4 @@
1
- module.exports=[139886,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,r)=>({url:"/api/skills",pathVariable:[e,t],query:{path:r}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:e=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),toolResult:(e,t)=>({url:"/api/bot/thread",pathVariable:[e],query:{call:t}}),workspace:"/api/workspace",workspaceFolder:(e,t)=>({url:"/api/workspace",query:{path:e||null,rows:t}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,t)=>({url:"/api/artifact",query:{set:e,rows:t}}),file:e=>`/api/file/${t(e)}`,fileFace:e=>`/api/file/${t(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${t(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),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:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},973589,e=>{"use strict";var t=e.i(902157),r=e.i(912714),n=e.i(750227),a=e.i(333925);let i=(0,n.join)(a.APP_DIR,"guide"),o=".guide";async function l(){if(!(0,t.existsSync)(i))return;let e=(0,n.join)(a.DATA_DIR,a.PATHS.workspace,o);await (0,r.rm)(e,{recursive:!0,force:!0}),await (0,r.cp)(i,e,{recursive:!0})}e.s(["botGuideLine",0,()=>`How ${a.APP_NAME} itself works for the user — its screens and settings — is written under \`${o}/\` here, \`index.md\` first; read it only when the job is about the app.`,"guideLine",0,()=>`How ${a.APP_NAME} works for the person using it — its screens, its settings, what it connects to, what to do when something stops — is written under \`${o}/\` here, \`index.md\` first. Read it whenever an answer depends on how the app works: what can be asked for, where something is changed, a wish that needs a setting switched on, something that stopped or was refused. Answer from it rather than from what you assume.`,"installGuide",0,l])},379651,377205,e=>{"use strict";var t=e.i(912714),r=e.i(750227),n=e.i(232347),a=e.i(333925),i=e.i(871096),o=e.i(938281);let l=e=>e.trim().toLowerCase().replace(/^[a-z]+:\/\//,"").replace(/^www\./,"").replace(/[/?#].*$/,"");e.s(["siteOf",0,l],377205);let s=(0,r.join)(a.DATA_DIR,a.PATHS.signIns),c=e=>(0,r.join)(s,`${encodeURIComponent(l(e))}.json`);async function u(e){try{return JSON.parse(await (0,t.readFile)(c(e),"utf8"))}catch{return null}}async function d(e){let t=l(e),r=await u(t);if(r)return r;let n=(await p()).map(e=>e.site).filter(e=>t.endsWith(`.${e}`)).sort((e,t)=>t.length-e.length)[0];return n?u(n):null}async function f(e){await (0,t.mkdir)(s,{recursive:!0}),await (0,t.writeFile)(c(e.site),JSON.stringify(e),{mode:384}),n.appEvents.emit({type:"signins"})}async function p(){let e=await (0,t.readdir)(s).catch(()=>[]);return(await Promise.all(e.filter(e=>e.endsWith(".json")).map(e=>u(decodeURIComponent(e.slice(0,-5)))))).flatMap(e=>e?[(({state:e,...t})=>t)(e)]:[]).sort((e,t)=>e.site.localeCompare(t.site))}async function m(e){let t=await d(e.site);if(t&&!t.bots.includes(e.bot)){let r=t.asking.includes(e.bot)?t:{...t,asking:[...t.asking,e.bot]};return r!==t&&await f(r),{kind:"taken",signIn:(({state:e,...t})=>t)(r)}}let r=t?.site??l(e.site),n={site:r,account:e.account.trim()||r,bots:[...new Set([...t?.bots??[],e.bot])],asking:(t?.asking??[]).filter(t=>t!==e.bot),keptAt:new Date().toISOString(),usedAt:t?.usedAt??null,state:e.state};return await f(n),{kind:"kept",signIn:(({state:e,...t})=>t)(n)}}let g=globalThis.__signInsHeld??=new Map;async function h(e,t){let r=await d(e);if(!r)return{kind:"none",kept:(await p()).map(e=>e.site)};if(!r.bots.includes(t))return r.asking.includes(t)||await f({...r,asking:[...r.asking,t]}),{kind:"ask",signIn:(({state:e,...t})=>t)(r)};let n={...r,usedAt:new Date().toISOString()};return await f(n),{kind:"state",signIn:(({state:e,...t})=>t)(n),state:r.state}}async function w(e,t){return(await (0,i.listBrowsers)(e,t)).find(e=>e.name===t.PLAYWRIGHT_CLI_SESSION)??null}async function y(e,t){let r=await w(e,t);return r?r.attached?"theirs":"own":null}async function b(e,t){let r=await w(e,t);return!!r&&!r.attached&&!0===r.headed}let k=e=>`${e.name}
1
+ module.exports=[139886,e=>{"use strict";let t=e=>e.split("/").map(encodeURIComponent).join("/");e.s(["queryKey",0,{memory:"/api/memory",memoryPage:e=>({url:"/api/memory",query:{offset:e||null}}),mcp:"/api/mcp",mcpServer:e=>({url:"/api/mcp",pathVariable:[e]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(e,t,r)=>({url:"/api/skills",pathVariable:[e,t],query:{path:r}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:e=>({url:"/api/bot/memory/files",query:{bot:e}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:e=>({url:"/api/bot/thread",query:{history:1,before:e}}),thread:e=>({url:"/api/bot/thread",query:{id:e}}),fileNotes:"/api/bot/thread/file",fileNote:(e,t)=>({url:"/api/bot/thread/file",query:{path:e,from:t}}),toolResult:(e,t)=>({url:"/api/bot/thread",pathVariable:[e],query:{call:t}}),workspace:"/api/workspace",workspaceFolder:(e,t)=>({url:"/api/workspace",query:{path:e||null,rows:t}}),workspaceFiles:e=>({url:"/api/workspace/files",query:{paths:JSON.stringify(e)}}),artifacts:"/api/artifact",artifactShelf:e=>({url:"/api/artifact",query:{rows:e}}),artifactSet:(e,t)=>({url:"/api/artifact",query:{set:e,rows:t}}),file:e=>`/api/file/${t(e)}`,fileFace:e=>`/api/file/${t(e)}?face`,favicon:e=>`/api/favicon/${encodeURIComponent(e)}`,fileView:e=>`/artifact/${t(e)}`,events:"/api/events",config:"/api/config",callHistory:e=>({url:"/api/thursday/call",query:{before:e}}),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:"/api/llm-model/catalog",gatewayCredits:"/api/llm-model/credits",subscriptionUsage:"/api/llm-model/subscription"}])},973589,e=>{"use strict";var t=e.i(902157),r=e.i(912714),n=e.i(750227),a=e.i(333925);let i=(0,n.join)(a.APP_DIR,"guide"),o=".guide";async function l(){if(!(0,t.existsSync)(i))return;let e=(0,n.join)(a.DATA_DIR,a.PATHS.workspace,o);await (0,r.rm)(e,{recursive:!0,force:!0}),await (0,r.cp)(i,e,{recursive:!0})}e.s(["botGuideLine",0,()=>`How ${a.APP_NAME} itself works for the user — its screens and settings — is written under \`${o}/\` here, \`index.md\` first; read it only when the job is about the app.`,"guideLine",0,()=>`How ${a.APP_NAME} works for the person using it — its screens, its settings, what it connects to, what to do when something stops — is written under \`${o}/\` here, \`index.md\` first. Read it whenever an answer depends on how the app works: what can be asked for, where something is changed, a wish that needs a setting switched on, something that stopped or was refused. Answer from it rather than from what you assume.`,"installGuide",0,l])},379651,377205,e=>{"use strict";var t=e.i(912714),r=e.i(750227),n=e.i(232347),a=e.i(333925),i=e.i(871096),o=e.i(938281);let l=e=>e.trim().toLowerCase().replace(/^[a-z]+:\/\//,"").replace(/^www\./,"").replace(/[/?#].*$/,"");e.s(["siteOf",0,l],377205);let s=(0,r.join)(a.DATA_DIR,a.PATHS.signIns),c=e=>(0,r.join)(s,`${encodeURIComponent(l(e))}.json`);async function u(e){try{return JSON.parse(await (0,t.readFile)(c(e),"utf8"))}catch{return null}}async function d(e){let t=l(e),r=await u(t);if(r)return r;let n=(await p()).map(e=>e.site).filter(e=>t.endsWith(`.${e}`)).sort((e,t)=>t.length-e.length)[0];return n?u(n):null}async function f(e){await (0,t.mkdir)(s,{recursive:!0}),await (0,t.writeFile)(c(e.site),JSON.stringify(e),{mode:384}),n.appEvents.emit({type:"signins"})}async function p(){let e=await (0,t.readdir)(s).catch(()=>[]);return(await Promise.all(e.filter(e=>e.endsWith(".json")).map(e=>u(decodeURIComponent(e.slice(0,-5)))))).flatMap(e=>e?[(({state:e,...t})=>t)(e)]:[]).sort((e,t)=>e.site.localeCompare(t.site))}async function m(e){let t=await d(e.site);if(t&&!t.bots.includes(e.bot)){let r=t.asking.includes(e.bot)?t:{...t,asking:[...t.asking,e.bot]};return r!==t&&await f(r),{kind:"taken",signIn:(({state:e,...t})=>t)(r)}}let r=t?.site??l(e.site),n={site:r,account:e.account.trim()||r,bots:[...new Set([...t?.bots??[],e.bot])],asking:(t?.asking??[]).filter(t=>t!==e.bot),keptAt:new Date().toISOString(),usedAt:t?.usedAt??null,state:e.state};return await f(n),{kind:"kept",signIn:(({state:e,...t})=>t)(n)}}let g=globalThis.__signInsHeld??=new Map;async function h(e,t){let r=await d(e);if(!r)return{kind:"none",kept:(await p()).map(e=>e.site)};if(!r.bots.includes(t))return r.asking.includes(t)||await f({...r,asking:[...r.asking,t]}),{kind:"ask",signIn:(({state:e,...t})=>t)(r)};let n={...r,usedAt:new Date().toISOString()};return await f(n),{kind:"state",signIn:(({state:e,...t})=>t)(n),state:r.state}}async function w(e,t){return(await (0,i.listBrowsers)(e,t)).find(e=>e.name===t.PLAYWRIGHT_CLI_SESSION)??null}async function y(e,t){let r=await w(e,t);return r?r.attached?"theirs":"own":null}async function b(e,t){let r=await w(e,t);return!!r&&!r.attached&&!0===r.headed}let k=e=>`${e.name}
2
2
  ${e.domain}
3
3
  ${e.path}`;async function v(e){let t,r=(0,i.jobShellEnv)(e),n=r.PLAYWRIGHT_CLI_SESSION??e,o=g.get(n);if(!o?.sites.size)return;let l=await (0,i.openWorkspace)();if(await y(l,r)!=="own")return void g.delete(n);let s=(0,i.browserStateFile)();try{let e=await l.exec((0,i.saveBrowserState)(s),{env:r,timeoutMs:a.BROWSER_CLI.loadMs});if(0!==e.exitCode)return;let n=JSON.parse(await l.readFile(s,"utf-8"));t=new Map((n.cookies??[]).map(e=>[k(e),e]))}finally{await l.exec(`rm -f ${s}`)}for(let e of o.sites){let r=await u(e),n=r?.state;if(!r||!n?.cookies||!r.bots.includes(o.bot))continue;let a=!1,i=n.cookies.map(e=>{let r=t.get(k(e));return r&&JSON.stringify(r)!==JSON.stringify(e)?(a=!0,r):e});a&&await f({...r,state:{...n,cookies:i}})}}async function T(){let e=(0,r.join)(i.WORKSPACE,a.PATHS.bots);for(let n of(await (0,t.readdir)(e).catch(()=>[]))){let a=(0,r.join)(e,n,".auth");for(let e of(await (0,t.readdir)(a).catch(()=>[]))){if(!e.endsWith(".json"))continue;let i=(0,r.join)(a,e);try{let l=JSON.parse(await (0,t.readFile)(i,"utf8")),s=e.slice(0,-5),c=(await (0,t.readFile)((0,r.join)(a,"account.txt"),"utf8").catch(()=>"")).trim(),u=await m({site:s,account:c,bot:n,state:l});await (0,t.rm)(i),o.logger.info("kept"===u.kind?`sign-ins: took in ${n}'s ${s}`:`sign-ins: ${s} is kept for another bot already; ${n}'s old copy was removed and ${n} is asking for it`)}catch(e){o.logger.warn(`sign-ins: could not take in ${i}`,e)}}}}e.s(["adoptKeptSessions",0,T,"borrowSignIn",0,h,"holdSignIn",0,function(e,t,r){let n=g.get(e);n&&n.bot===t?n.sites.add(r):g.set(e,{bot:t,sites:new Set([r])})},"keepSignIn",0,m,"renewSignIns",0,v,"sessionBrowser",0,y,"sessionWindow",0,b],379651)},520401,e=>e.a(async(t,r)=>{try{var n=e.i(336763),a=e.i(396918),i=e.i(533102);e.i(333925);var o=e.i(876393),l=e.i(220376),s=e.i(247839),c=e.i(5509),u=e.i(724185),d=e.i(933395),f=t([o,c,u]);async function p(){let e=function(e){if(!e)return null;try{let t=JSON.parse(e);return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch{return null}}(await (0,u.readConfig)(d.THURSDAY_KEYS.settings)),t=s.LiveSettingsSchema.parse((0,s.migrateLiveSettings)(e));return e?t:{...t,readSkills:await m()}}async function m(){return(await (0,u.readConfig)(d.THURSDAY_KEYS.wasSkills))?.trim()==="on"}async function g(e){let[t]=await o.database.insert(l.callTable).values({id:crypto.randomUUID(),...e}).returning({id:l.callTable.id});return t.id}async function h(e,t){return(await o.database.update(l.callTable).set({endedAt:new Date,...t?{endedReason:t.reason,seconds:t.seconds??null}:{}}).where((0,n.and)((0,n.eq)(l.callTable.id,e),(0,n.isNull)(l.callTable.endedAt))).returning({id:l.callTable.id})).length>0}async function w(e,t){for(let r of t)await o.database.insert(l.callMessageTable).values({callId:e,...r,fragments:r.fragments??null}).onConflictDoUpdate({target:[l.callMessageTable.callId,l.callMessageTable.id],set:{text:r.text,role:r.role,tool:r.tool??null,fragments:r.fragments??null}})}async function y(e){let[t]=await o.database.select({seq:i.sql`max(${l.callMessageTable.seq})`}).from(l.callMessageTable).where((0,n.eq)(l.callMessageTable.callId,e));return t?.seq==null?0:Number(t.seq)+1}async function b(e,t){await o.database.insert(l.callThoughtTable).values({callId:e,...t}).onConflictDoNothing()}async function k(e,t){let r=await o.database.select({callId:l.callMessageTable.callId,startedAt:l.callTable.startedAt,role:l.callMessageTable.role,tool:l.callMessageTable.tool,text:l.callMessageTable.text,seq:l.callMessageTable.seq}).from(l.callMessageTable).innerJoin(l.callTable,(0,n.eq)(l.callMessageTable.callId,l.callTable.id)).where(t?(0,n.ne)(l.callMessageTable.callId,t):void 0).orderBy((0,a.desc)(l.callTable.startedAt),(0,a.desc)(l.callMessageTable.seq)).limit(e),i=new Map;for(let e of r){let t=i.get(e.callId)??{callId:e.callId,startedAt:e.startedAt,turns:[]};t.turns.push({role:e.role,tool:e.tool,text:e.text,seq:e.seq}),i.set(e.callId,t)}return[...i.values()].reverse().map(e=>({...e,turns:e.turns.reverse()}))}async function v(){return(await o.database.select({id:l.callTable.id}).from(l.callTable).where((0,n.isNull)(l.callTable.endedAt)).limit(1)).length>0}async function T(e){return(await o.database.select({id:l.callTable.id}).from(l.callTable).where((0,n.and)((0,n.eq)(l.callTable.id,e),(0,n.isNull)(l.callTable.endedAt))).limit(1)).length>0}async function O(e=[]){await o.database.update(l.callTable).set({endedAt:new Date}).where((0,n.and)((0,n.isNull)(l.callTable.endedAt),e.length?(0,n.notInArray)(l.callTable.id,e):void 0))}async function j(e){let t=(0,n.isNotNull)(l.callTable.endedAt);return(await o.database.delete(l.callTable).where(e?(0,n.and)(t,(0,n.lt)(l.callTable.endedAt,e)):t).returning({id:l.callTable.id})).length}[o,c,u]=f.then?(await f)():f,e.s(["deleteEndedCalls",0,j,"endCall",0,h,"insertCall",0,g,"isAnyCallLive",0,v,"isCallOpen",0,T,"listRecentTurns",0,k,"nextTurnSeq",0,y,"readLiveSettings",0,p,"saveThought",0,b,"saveTurns",0,w,"sweepCalls",0,O]),r()}catch(e){r(e)}},!1),933395,e=>{"use strict";var t=e.i(517435),r=e.i(864328),n=e.i(556325);let a=[{id:"chatgpt",...r.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...r.TEXT_MODEL_PROVIDERS.openai}];t.default.object({id:t.default.string().min(1),text:t.default.string(),said:t.default.boolean()});t.default.object({enabled:t.default.boolean(),phrase:t.default.string().trim().min(3).max(32)}),t.default.object({enabled:t.default.boolean(),combo:t.default.string().trim().min(1).max(64)}),t.default.enum(["off","waiting","any"]),t.default.enum(["center","sides"]),t.default.object({id:t.default.string().min(1),role:t.default.enum(["user","assistant","tool"]),tool:t.default.string().nullish(),text:t.default.string(),seq:t.default.number().int().min(0),fragments:t.default.array(n.LiveFragmentSchema).nullish()}),t.default.object({id:t.default.string().min(1),text:t.default.string(),seq:t.default.number().int().min(0)}),e.s(["TEXT_CALL_PROVIDERS",0,a,"THURSDAY_KEYS",0,{settings:"THURSDAY_SETTINGS",wasSkills:"THURSDAY_SKILLS"},"textCallRunsOn",0,e=>a.find(t=>e(t.apiKeyName))?.id??null])},375814,e=>{"use strict";var t=e.i(139886),r=e.i(333925);let n=e=>`text/${e}; charset=utf-8`,a={md:{kind:"markdown",mime:n("markdown")},markdown:{kind:"markdown",mime:n("markdown")},csv:{kind:"csv",mime:n("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:n("plain")},log:{kind:"text",mime:n("plain")},html:{kind:"frame",mime:n("html")},htm:{kind:"frame",mime:n("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:n("css")},js:{kind:"none",mime:n("javascript")},woff2:{kind:"none",mime:"font/woff2"}},i=e=>e.split(".").pop()?.toLowerCase()??"",o=new Set(["css","js","woff2"]),l=Object.keys(a).filter(e=>!o.has(e)),s=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${l.join("|")})\b`,"giu"),c=`${r.PATHS.workspace}/`,u=t.queryKey.file(""),d=e=>e.startsWith(`${r.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(i(e));e.s(["extensionOf",0,i,"leadFirst",0,function(e){let t=e.findIndex(d);return t>0?[e[t],...e.filter((e,r)=>r!==t)]:e},"mimeOf",0,e=>a[i(e)]?.mime??"application/octet-stream","pathsIn",0,function(e){let t=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),r=new Set,n="";for(let[e]of t.matchAll(s)){let t=!e.includes("/"),a=function(e){let t,r,n=(r=(t=function(e){if(!e.startsWith(u))return e;let t=e.slice(u.length);try{return decodeURIComponent(t)}catch{return t}}(e.trim())).indexOf(c))>=0?t.slice(r+c.length)||null:t.startsWith("/")||/^[A-Za-z]:/.test(t)||t.split("/").includes("..")?null:t||null;if(!n)return null;let[a,...i]=n.split("/");return i.length&&a.includes(".")?null:n}(t?n+e:e);t||(n=a?.slice(0,a.lastIndexOf("/")+1)??""),a&&r.add(a)}return[...r].slice(0,12)},"viewKindOf",0,e=>a[i(e)]?.kind??"none"])},198306,(e,t,r)=>{"use strict";var n=Object.create,a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,l=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===r||a(e,l,{get:()=>t[l],enumerable:!(n=i(t,l))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(l(e)):{},c(!t&&e&&e.__esModule?r:a(r,"default",{value:e,enumerable:!0}),e)),d={},f={isValidAccessToken:()=>k,readAuthConfig:()=>y,writeAuthConfig:()=>b};for(var p in f)a(d,p,{get:f[p],enumerable:!0});t.exports=c(a({},"__esModule",{value:!0}),d);var m=u(e.r(522734)),g=u(e.r(814747)),h=e.r(913803);function w(){let e=(0,h.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return g.join(e,"auth.json")}function y(){try{let e=w();if(!m.existsSync(e))return null;let t=m.readFileSync(e,"utf8");if(!t)return null;return JSON.parse(t)}catch(e){return null}}function b(e){let t=w(),r=g.dirname(t);m.existsSync(r)||m.mkdirSync(r,{mode:504,recursive:!0}),m.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function k(e,t=0){if(!e.token)return!1;if("number"!=typeof e.expiresAt)return!0;let r=Math.floor(Date.now()/1e3);return e.expiresAt>=r+t/1e3}},736374,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,l={},s={AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d};for(var c in s)n(l,c,{get:s[c],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of i(t))o.call(e,l)||void 0===l||n(e,l,{get:()=>t[l],enumerable:!(r=a(t,l))||r.enumerable});return e})(n({},"__esModule",{value:!0}),l);class u extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class d extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},903736,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,l={},s={processTokenResponse:()=>g,refreshTokenRequest:()=>m};for(var c in s)n(l,c,{get:s[c],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of i(t))o.call(e,l)||void 0===l||n(e,l,{get:()=>t[l],enumerable:!(r=a(t,l))||r.enumerable});return e})(n({},"__esModule",{value:!0}),l);var u=e.r(446786);let d=`@vercel/oidc node-${process.version} ${(0,u.platform)()} (${(0,u.arch)()}) ${(0,u.hostname)()}`,f=null;async function p(){if(f)return f;let e=await fetch("https://vercel.com/.well-known/openid-configuration",{headers:{"user-agent":d}});if(!e.ok)throw Error("Failed to discover OAuth endpoints");let t=await e.json();if(!t||"string"!=typeof t.token_endpoint)throw Error("Invalid OAuth discovery response");let r=t.token_endpoint;return f=r,r}async function m(e){let t=await p();return await fetch(t,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":d},body:new URLSearchParams({client_id:"cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",grant_type:"refresh_token",...e})})}async function g(e){let t=await e.json();return e.ok?"object"!=typeof t||null===t?[Error("Invalid token response")]:"string"!=typeof t.access_token?[Error("Missing access_token in response")]:"Bearer"!==t.token_type?[Error("Invalid token_type in response")]:"number"!=typeof t.expires_in?[Error("Missing expires_in in response")]:[null,t]:[Error("object"==typeof t&&t&&"error"in t?String(t.error):"Token refresh failed")]}},424134,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,l={},s={VercelOidcTokenError:()=>u};for(var c in s)n(l,c,{get:s[c],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of i(t))o.call(e,l)||void 0===l||n(e,l,{get:()=>t[l],enumerable:!(r=a(t,l))||r.enumerable});return e})(n({},"__esModule",{value:!0}),l);class u extends Error{constructor(e,t){super(e),this.name="VercelOidcTokenError",this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}},713292,(e,t,r)=>{"use strict";var n=Object.create,a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,l=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===r||a(e,l,{get:()=>t[l],enumerable:!(n=i(t,l))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(l(e)):{},c(!t&&e&&e.__esModule?r:a(r,"default",{value:e,enumerable:!0}),e)),d={},f={findRootDir:()=>y,getUserDataDir:()=>b};for(var p in f)a(d,p,{get:f[p],enumerable:!0});t.exports=c(a({},"__esModule",{value:!0}),d);var m=u(e.r(814747)),g=u(e.r(522734)),h=u(e.r(446786)),w=e.r(424134);function y(){try{let e=process.cwd();for(;e!==m.default.dirname(e);){let t=m.default.join(e,".vercel");if(g.default.existsSync(t))return e;e=m.default.dirname(e)}}catch(e){throw new w.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function b(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(h.default.platform()){case"darwin":return m.default.join(h.default.homedir(),"Library/Application Support");case"linux":return m.default.join(h.default.homedir(),".local/share");case"win32":if(process.env.LOCALAPPDATA)return process.env.LOCALAPPDATA;return null;default:return null}}},913803,(e,t,r)=>{"use strict";var n=Object.create,a=Object.defineProperty,i=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,l=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of o(t))s.call(e,l)||l===r||a(e,l,{get:()=>t[l],enumerable:!(n=i(t,l))||n.enumerable});return e},u=(e,t,r)=>(r=null!=e?n(l(e)):{},c(!t&&e&&e.__esModule?r:a(r,"default",{value:e,enumerable:!0}),e)),d={},f={assertVercelOidcTokenResponse:()=>j,findProjectInfo:()=>S,getTokenPayload:()=>_,getVercelDataDir:()=>v,getVercelOidcToken:()=>O,getVercelToken:()=>T,isExpired:()=>I,loadToken:()=>x,saveToken:()=>A};for(var p in f)a(d,p,{get:f[p],enumerable:!0});t.exports=c(a({},"__esModule",{value:!0}),d);var m=u(e.r(814747)),g=u(e.r(522734)),h=e.r(424134),w=e.r(713292),y=e.r(198306),b=e.r(903736),k=e.r(736374);function v(){let e=(0,w.getUserDataDir)();return e?m.join(e,"com.vercel.cli"):null}async function T(e){let t=(0,y.readAuthConfig)();if(!t?.token)throw new k.AccessTokenMissingError;if((0,y.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,y.writeAuthConfig)({}),new k.RefreshAccessTokenFailedError("No refresh token available");try{let e=await (0,b.refreshTokenRequest)({refresh_token:t.refreshToken}),[r,n]=await (0,b.processTokenResponse)(e);if(r||!n)throw(0,y.writeAuthConfig)({}),new k.RefreshAccessTokenFailedError(r);let a={token:n.access_token,expiresAt:Math.floor(Date.now()/1e3)+n.expires_in};return n.refresh_token&&(a.refreshToken=n.refresh_token),(0,y.writeAuthConfig)(a),a.token}catch(e){if((0,y.writeAuthConfig)({}),e instanceof k.AccessTokenMissingError||e instanceof k.RefreshAccessTokenFailedError)throw e;throw new k.RefreshAccessTokenFailedError(e)}}async function O(e,t,r){let n=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${r?`&teamId=${r}`:""}`,a=await fetch(n,{method:"POST",headers:{Authorization:`Bearer ${e}`}});if(!a.ok)throw new h.VercelOidcTokenError(`Failed to refresh OIDC token: ${a.statusText}`);let i=await a.json();return j(i),i}function j(e){if(!e||"object"!=typeof e)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in e)||"string"!=typeof e.token)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function S(){let e=(0,w.findRootDir)();if(!e)throw new h.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=m.join(e,".vercel","project.json");if(!g.existsSync(t))throw new h.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let r=JSON.parse(g.readFileSync(t,"utf8"));if("string"!=typeof r.projectId&&"string"!=typeof r.orgId)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:r.projectId,teamId:r.orgId}}function A(e,t){let r=(0,w.getUserDataDir)();if(!r)throw new h.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let n=m.join(r,"com.vercel.token",`${t}.json`),a=JSON.stringify(e);g.mkdirSync(m.dirname(n),{mode:504,recursive:!0}),g.writeFileSync(n,a),g.chmodSync(n,432)}function x(e){let t=(0,w.getUserDataDir)();if(!t)throw new h.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let r=m.join(t,"com.vercel.token",`${e}.json`);if(!g.existsSync(r))return null;let n=JSON.parse(g.readFileSync(r,"utf8"));return j(n),n}function _(e){let t=e.split(".");if(3!==t.length)throw new h.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let r=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=r.padEnd(r.length+(4-r.length%4)%4,"=");return JSON.parse(Buffer.from(n,"base64").toString("utf8"))}function I(e,t=0){return 1e3*e.exp<Date.now()+t}}];
4
4
 
@@ -1,4 +1,4 @@
1
- module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
1
+ module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),cacheReadTokens:(0,o.int)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,o.int)("cache_write_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
2
2
  params: ${r}`),this.query=i,this.params=r,this.cause=n,this.name="DrizzleQueryError",Error.captureStackTrace(this,t),n&&(this.cause=n)}},Q=class extends F{static [i.entityKind]="TransactionRollbackError";constructor(){super({message:"Rollback"}),this.name="TransactionRollbackError"}},M=t.i(875225),K=t.i(349129),W=class{static [i.entityKind]="RelationV2";fieldName;sourceColumns;targetColumns;alias;where;sourceTable;targetTable;through;throughTable;isReversed;sourceColumnTableNames=[];targetColumnTableNames=[];constructor(t,i){this.targetTableName=i,this.targetTable=t}},G=class extends W{static [i.entityKind]="OneV2";relationType="one";optional;constructor(t,i,r,n){super(i,r),this.alias=n?.alias,this.where=n?.where,n?.from&&(this.sourceColumns=(Array.isArray(n.from)?n.from:[n.from]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.sourceColumnTableNames.push(i._.tableName),i._.column))),n?.to&&(this.targetColumns=(Array.isArray(n.to)?n.to:[n.to]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.targetColumnTableNames.push(i._.tableName),i._.column))),this.throughTable&&(this.through={source:(Array.isArray(n?.from)?n.from:n?.from?[n.from]:[]).map(t=>t._.through),target:(Array.isArray(n?.to)?n.to:n?.to?[n.to]:[]).map(t=>t._.through)}),this.optional=n?.optional??!0}},X=(i.entityKind,class{static [i.entityKind]="AggregatedField";table;onTable(t){return this.table=t,this}});i.entityKind;let H={and:M.and,between:M.between,eq:M.eq,exists:M.exists,gt:M.gt,gte:M.gte,ilike:M.ilike,inArray:M.inArray,arrayContains:M.arrayContains,arrayContained:M.arrayContained,arrayOverlaps:M.arrayOverlaps,isNull:M.isNull,isNotNull:M.isNotNull,like:M.like,lt:M.lt,lte:M.lte,ne:M.ne,not:M.not,notBetween:M.notBetween,notExists:M.notExists,notLike:M.notLike,notIlike:M.notIlike,notInArray:M.notInArray,or:M.or,sql:r.sql},Y={sql:r.sql,asc:K.asc,desc:K.desc};function ee(t,n,a,o=!1,s=!1,l=!0){let u=n?1:t.length,d=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder,l&&t.mapFromJsonValue)?i=>t.mapFromJsonValue(i):o.mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)});for(let i=0;i<u;++i){let r=n?t:t[i];for(let t=0;t<a.length;++t){let i=a[t];if(i.selection){if(null===r[i.key])continue;if(o){if(r[i.key]=JSON.parse(r[i.key]),null===r[i.key])continue}else s&&"string"==typeof r[i.key]&&(r[i.key]=JSON.parse(r[i.key]));if(i.isArray){ee(r[i.key],!1,i.selection,!1,s);continue}ee(r[i.key],!0,i.selection,!1,s);continue}if(null===r[i.key])continue;let n=d[t];n&&(r[i.key]=n(r[i.key]))}}return t}function et({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:s,arrayModeRoot:l}){return u=>n&&!u[0]?u[0]:l?function(t,n,a,o=!1,s=!1){let l=n?1:t.length,u=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder).mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)}),d=Array.from({length:l});for(let i=0;i<l;++i){let r=n?t:t[i],l={};for(let t=0;t<a.length;++t){let i=a[t],n=r[t];if(i.selection){if(null===n){l[i.key]=null;continue}if(o){if(null===(n=JSON.parse(n))){l[i.key]=null;continue}}else s&&"string"==typeof n&&(n=JSON.parse(n));i.isArray?ee(n,!1,i.selection,!1,s):ee(n,!0,i.selection,!1,s),l[i.key]=n;continue}if(null===n){l[i.key]=null;continue}let d=u[t];l[i.key]=d?d(n):n}d[i]=l}return n?d[0]:d}(n?u[0]:u,n,t,a,o):ee(n?u[0]:u,n,t,a,o,s)}function ei({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:l,arrayModeRoot:u}){let d=[],c=function t(n,a,o,s,l,u,d,c,m){let f=[],p=[],h=!1,v=n.map(()=>`c${c.n++}`),g=n.map((t,i)=>m?v[i]:`${JSON.stringify(t.key)}: ${v[i]}`);for(let[y,{field:b,key:x,codec:k,isArray:I,selection:w,arrayDimensions:S}]of(f.push(m?`let [ ${g.join(", ")} ] = ${a};`:`let { ${g.join(", ")} } = ${a};`),n.entries())){let n=`${o}[${y}]`,a=JSON.stringify(x),m=v[y];if(w){s?(f.push(`if (${m} !== null) ${m} = JSON.parse(${m});`),h=!0):l&&(f.push(`if (typeof ${m} === 'string') ${m} = JSON.parse(${m});`),h=!0);let i=`s${c.n++}`,r=d.length;if(d.push(`const { selection: ${i} } = ${n};`),I){let n=`j${c.n++}`,a=t(w,`${m}[${n}]`,i,!1,l,!0,d,c,!1);if(a.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),f.push(` for (let ${n} = 0; ${n} < ${m}.length; ++${n}) {`),a.bodyStmts))f.push(` ${t}`);f.push(` ${m}[${n}] = ${a.literal};`),f.push(" }"),f.push("}")}else d.splice(r,1)}else{let n=t(w,m,i,!1,l,!0,d,c,!1);if(n.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),n.bodyStmts))f.push(` ${t}`);f.push(` ${m} = ${n.literal};`),f.push("}")}else d.splice(r,1)}p.push(`${a}: ${m}`);continue}let g="",Z="",z=!1;if((0,i.is)(b,$.Column)){if(u&&b.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromJsonValue`}else if(!b.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL)){if(u&&b.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromJsonValue`}else if(!b.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL.Aliased)){if(u&&b.sql.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromJsonValue`}else if(!b.sql.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,_.Table)||(0,i.is)(b,r.View));else{let t=b.getSQL();if(u&&t.decoder.mapFromJsonValue){z=!0;let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromJsonValue`}else if(!t.decoder.mapFromDriverValue.isNoop){let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromDriverValue`}}let N="";if(!z&&k&&(N=`codec${c.n++}`),Z||N){let t=[];Z&&t.push(Z),N&&t.push(`codec: ${N}`),d.push(`const { ${t.join(", ")} } = ${n};`)}if(g||N){h=!0;let t=m;N&&(t=`${N}(${t}, ${S})`),g&&(t=`${g}(${t})`),p.push(`${a}: ${m} === null ? null : ${t}`)}else p.push(`${a}: ${m}`)}return{bodyStmts:f,literal:`{ ${p.join(", ")} }`,hasWork:h}}(t,"row","selection",a,o,!u&&l,d,{n:0},!!u),m=[];for(let t of(m.push(` "use strict";
3
3
  const { selection } = this;`),d))m.push(` ${t}`);if(u)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` return ${c.literal};`)}else{for(let t of(m.push(" const { length } = rows;"),m.push(" const mapped = Array.from({ length });"),m.push(" for (let i = 0; i < length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` mapped[i] = ${c.literal};`),m.push(" }"),m.push(" return mapped;")}else if(c.hasWork)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[0] = ${c.literal};`),m.push(" return rows[0];")}else{for(let t of(m.push(" for (let i = 0; i < rows.length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[i] = ${c.literal};`),m.push(" }"),m.push(" return rows;")}else m.push(n?" return rows[0];":" return rows;");m.push(" //# sourceURL=drizzle:jit-relational-query-mapper");let f=m.join("\n");return Object.assign(new s.FnConstructor("rows",f).bind({selection:t}),{body:`function jitRqbMapper (rows) {
4
4
  ${f}
@@ -1,4 +1,4 @@
1
- module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
1
+ module.exports=[528790,t=>t.a(async(i,r)=>{try{let f,p;var n,a=t.i(902157),o=t.i(750227),s=t.i(418520),l=t.i(219756),u=t.i(687388),d=t.i(41444),c=i([s,l]);[s,l]=c.then?(await c)():c,(0,a.mkdirSync)((0,o.dirname)(u.DB_PATH),{recursive:!0});let h=globalThis.__dbClient??=(n=((f=(0,s.createClient)({url:u.DB_FILE_NAME,timeout:5e3})).execute("PRAGMA journal_mode = WAL").finally(m),f),p=(0,d.PromiseChain)(),{get closed(){return n.closed},protocol:n.protocol,close:()=>n.close(),sync:()=>n.sync(),reconnect:()=>n.reconnect(),execute:(...t)=>p(()=>n.execute(...t)),batch:(...t)=>p(()=>n.batch(...t)),executeMultiple:(...t)=>p(()=>n.executeMultiple(...t)),migrate:(...t)=>p(()=>n.migrate(...t)),async transaction(...t){let i,r=await new Promise(t=>{let i,r=new Promise(t=>{i=t});p(async()=>{t(i),await r})});try{i=await n.transaction(...t)}catch(t){throw r(),t}let a=!1,o=()=>{a||(a=!0,r())};return{execute:(...t)=>i.execute(...t),batch:(...t)=>i.batch(...t),executeMultiple:(...t)=>i.executeMultiple(...t),get closed(){return i.closed},commit:()=>i.commit().finally(o),rollback:()=>i.rollback().finally(o),close:()=>{try{i.close()}finally{o()}}}}});function m(){for(let t of[u.DB_PATH,`${u.DB_PATH}-wal`,`${u.DB_PATH}-shm`])try{(0,a.chmodSync)(t,384)}catch{}}let v=(0,l.drizzle)({client:h});t.s(["database",0,v]),r()}catch(t){r(t)}},!1),613240,t=>{"use strict";var i=t.i(518899),r=t.i(646683),n=t.i(201440),a=t.i(616918),o=t.i(937540),s=t.i(380568),l=t.i(75799);let u=(0,l.sqliteTable)("bot",{name:(0,s.text)("name").primaryKey(),description:(0,s.text)("description").notNull(),descriptionLocked:(0,o.int)("description_locked",{mode:"boolean"}).notNull().default(!1),ownLine:(0,s.text)("own_line",{mode:"json"}).$type(),systemPrompt:(0,s.text)("system_prompt"),icon:(0,s.text)("icon",{mode:"json"}).$type(),provider:(0,s.text)("provider").$type(),model:(0,s.text)("model"),compactAt:(0,o.int)("compact_at"),effort:(0,s.text)("effort").$type(),disabled:(0,o.int)("disabled",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,l.sqliteTable)("mcp_server",{name:(0,s.text)("name").primaryKey(),config:(0,s.text)("config",{mode:"json"}).notNull().$type(),toolsSyncedAt:(0,o.int)("tools_synced_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),lastError:(0,s.text)("last_error"),oauth:(0,s.text)("oauth",{mode:"json"}).$type(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,l.sqliteTable)("mcp_tool",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),serverName:(0,s.text)("server_name").notNull().references(()=>d.name,{onDelete:"cascade"}),name:(0,s.text)("name").notNull(),description:(0,s.text)("description"),inputSchema:(0,s.text)("input_schema",{mode:"json"}).$type(),outputSchema:(0,s.text)("output_schema",{mode:"json"}).$type()},t=>[(0,a.unique)("uq_mcp_tool_server_name").on(t.serverName,t.name)]),m=(0,l.sqliteTable)("bot_mcp_tool",{botName:(0,s.text)().notNull().references(()=>u.name,{onDelete:"cascade"}),toolId:(0,o.int)("tool_id").notNull().references(()=>c.id,{onDelete:"cascade"})},t=>[(0,n.primaryKey)({columns:[t.botName,t.toolId]})]),f=(0,l.sqliteTable)("thread",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),status:(0,s.text)("status").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),turns:(0,o.int)("turns").notNull().default(0),wrapped:(0,o.int)("wrapped",{mode:"boolean"}).notNull().default(!1),outcome:(0,s.text)("outcome"),pending:(0,s.text)("pending",{mode:"json"}).$type(),seen:(0,o.int)("seen",{mode:"boolean"}).notNull().default(!1),callId:(0,s.text)("call_id"),routineId:(0,s.text)("routine_id"),inputTokens:(0,o.int)("input_tokens").notNull().default(0),outputTokens:(0,o.int)("output_tokens").notNull().default(0),cacheReadTokens:(0,o.int)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,o.int)("cache_write_tokens").notNull().default(0),contextTokens:(0,o.int)("context_tokens").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})},t=>[(0,r.index)("idx_thread_routine").on(t.routineId,t.createdAt),(0,r.index)("idx_thread_status_updated").on(t.status,t.updatedAt)]),p=(0,l.sqliteTable)("thread_message",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),seq:(0,o.int)("seq").notNull(),bot:(0,s.text)("bot"),parent:(0,s.text)("parent"),hidden:(0,o.int)("hidden",{mode:"boolean"}).notNull().default(!1),role:(0,s.text)("role").notNull().$type(),content:(0,s.text)("content",{mode:"json"}).notNull().$type(),compact:(0,o.int)("compact",{mode:"boolean"}).notNull().default(!1),note:(0,o.int)("note",{mode:"boolean"}).notNull().default(!1),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,a.unique)("uq_thread_message_seq").on(t.threadId,t.seq)]),h=(0,l.sqliteTable)("thread_work",{id:(0,s.text)("id").primaryKey(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),caller:(0,s.text)("caller").notNull(),parentId:(0,s.text)("parent_id"),state:(0,s.text)("state").notNull().$type(),generation:(0,o.int)("generation").notNull().default(0),contextBudget:(0,o.int)("context_budget").notNull().default(0),result:(0,s.text)("result"),options:(0,s.text)("options",{mode:"json"}).$type().notNull().default([]),createdAt:(0,o.int)("created_at",{mode:"timestamp_ms"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_thread_work_queue").on(t.threadId,t.state,t.createdAt),(0,r.index)("idx_thread_work_parent").on(t.parentId),(0,r.uniqueIndex)("uq_thread_work_running_bot").on(t.threadId,t.bot).where(i.sql`${t.state} = 'running'`)]),v=(0,l.sqliteTable)("thread_delivery",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),workId:(0,s.text)("work_id").notNull().references(()=>h.id,{onDelete:"cascade"}),speaker:(0,s.text)("speaker").notNull(),text:(0,s.text)("text").notNull(),visible:(0,o.int)("visible",{mode:"boolean"}).notNull().default(!1),consumed:(0,o.int)("consumed",{mode:"boolean"}).notNull().default(!1)},t=>[(0,r.index)("idx_thread_delivery_inbox").on(t.workId,t.consumed,t.id)]),g=(0,l.sqliteTable)("thread_relay",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),key:(0,s.text)("key").notNull().unique(),threadId:(0,s.text)("thread_id").notNull().references(()=>f.id,{onDelete:"cascade"}),bot:(0,s.text)("bot").notNull(),text:(0,s.text)("text").notNull(),kind:(0,s.text)("kind").notNull().$type(),messageId:(0,s.text)("message_id"),accepted:(0,o.int)("accepted",{mode:"boolean"}).notNull().default(!1)}),$=(0,l.sqliteTable)("call",{id:(0,s.text)("id").primaryKey(),provider:(0,s.text)("provider").notNull(),model:(0,s.text)("model").notNull(),backendModel:(0,s.text)("backend_model"),startedAt:(0,o.int)("started_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),endedReason:(0,s.text)("ended_reason"),seconds:(0,o.int)("seconds"),endedAt:(0,o.int)("ended_at",{mode:"timestamp"})}),y=(0,l.sqliteTable)("call_message",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),role:(0,s.text)("role").notNull().$type(),tool:(0,s.text)("tool"),text:(0,s.text)("text").notNull(),fragments:(0,s.text)("fragments",{mode:"json"}).$type(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]}),(0,r.index)("idx_call_message_call").on(t.callId,t.seq)]),b=(0,l.sqliteTable)("call_thought",{callId:(0,s.text)("call_id").notNull().references(()=>$.id,{onDelete:"cascade"}),id:(0,s.text)("id").notNull(),seq:(0,o.int)("seq").notNull(),text:(0,s.text)("text").notNull(),at:(0,o.int)("at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,n.primaryKey)({columns:[t.callId,t.id]})]),_=(0,l.sqliteTable)("memory_note",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),path:(0,s.text)("path").notNull().unique(),description:(0,s.text)("description").notNull(),ownedByUser:(0,o.int)("owned_by_user",{mode:"boolean"}).notNull().default(!1),hits:(0,o.int)("hits").notNull().default(0),lastReadAt:(0,o.int)("last_read_at",{mode:"timestamp"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,o.int)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),x=(0,l.sqliteTable)("memory_fact",{id:(0,o.int)("id").primaryKey({autoIncrement:!0}),noteId:(0,o.int)("note_id").notNull().references(()=>_.id,{onDelete:"cascade"}),text:(0,s.text)("text").notNull(),isLatest:(0,o.int)("is_latest",{mode:"boolean"}).notNull().default(!0),source:(0,s.text)("source").$type(),callId:(0,s.text)("call_id").references(()=>$.id,{onDelete:"set null"}),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_memory_fact_note").on(t.noteId,t.isLatest),(0,r.index)("idx_memory_fact_call").on(t.callId)]),k=(0,l.sqliteTable)("routine",{id:(0,s.text)("id").primaryKey(),bot:(0,s.text)("bot").notNull(),label:(0,s.text)("label").notNull(),request:(0,s.text)("request").notNull(),schedule:(0,s.text)("schedule",{mode:"json"}).notNull().$type(),enabled:(0,o.int)("enabled",{mode:"boolean"}).notNull().default(!0),nextRunAt:(0,o.int)("next_run_at",{mode:"timestamp"}).notNull(),createdAt:(0,o.int)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},t=>[(0,r.index)("idx_routine_due").on(t.enabled,t.nextRunAt)]),I=(0,l.sqliteTable)("config",{key:(0,s.text)("key").primaryKey(),value:(0,s.text)("value").notNull()});t.s(["botMcpToolTable",0,m,"botTable",0,u,"callMessageTable",0,y,"callTable",0,$,"callThoughtTable",0,b,"configTable",0,I,"mcpServerTable",0,d,"mcpToolTable",0,c,"memoryFactTable",0,x,"memoryNoteTable",0,_,"routineTable",0,k,"threadDeliveryTable",0,v,"threadMessageTable",0,p,"threadRelayTable",0,g,"threadTable",0,f,"threadWorkTable",0,h])},999884,t=>{"use strict";var i=t.i(844988),r=t.i(518899),n=class{static [i.entityKind]="ConsoleLogWriter";write(t){console.log(t)}},a=class{static [i.entityKind]="DefaultLogger";writer;constructor(t){this.writer=t?.writer??new n}logQuery(t,i){let r=i.map(t=>{try{return JSON.stringify(t)}catch{return String(t)}}),n=r.length?` -- params: [${r.join(", ")}]`:"";this.writer.write(`Query: ${t}${n}`)}},o=class{static [i.entityKind]="NoopLogger";logQuery(){}},s=t.i(704313),l=class{static [i.entityKind]="QueryPromise";[Symbol.toStringTag]="QueryPromise";catch(t){return this.then(void 0,t)}finally(t){return this.then(i=>(t?.(),i),i=>{throw t?.(),i})}then(t,i){return this.execute().then(t,i)}},u=r,d=class t extends u.SQL{static [i.entityKind]="SQLiteCountBuilder";dialect;session;static buildCount(t,i,r){let n=u.sql`select count(*) from ${t}${u.sql` where ${i}`.if(i)}`;return r?u.sql`(${n})`:n}constructor(i){super(t.buildCount(i.source,i.filters,!0).queryChunks),this.countConfig=i,this.dialect=i.dialect,this.session=i.session,this.mapWith(t=>"number"==typeof t?t:Number(t??0))}executableSql;build(){if(!this.executableSql){let{source:i,filters:r}=this.countConfig;this.executableSql=t.buildCount(i,r)}return this.dialect.sqlToQuery(this.executableSql)}},c=class extends d{static [i.entityKind]="SQLiteAsyncCountBuilder";constructor(t){super(t)}executeRaw(t){return this.session.prepareQuery(this.build(),"arrays",!1,"all",t=>{let i=t[0]?.[0];return"number"==typeof i?i:i?Number(i):0}).execute(t)}async execute(t){return await this.executeRaw(t)}};(0,s.applyMixins)(c,[l]);var m=class extends c{static [i.entityKind]="SQLiteSyncCountBuilder";sync(t){return this.executeRaw(t).sync()}},f=class{static [i.entityKind]="SQLiteRelationalQueryBuilderV2";constructor(t,i,r,n,a,o,s,l=p){this.mode=t,this.schema=i,this.table=r,this.tableConfig=n,this.dialect=a,this.session=o,this.forbidJsonb=s,this.builder=l}findMany(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"many",this.forbidJsonb)}findFirst(t){return new this.builder(this.mode,this.schema,this.table,this.tableConfig,this.dialect,this.session,t??!0,"first",this.forbidJsonb)}},p=class{static [i.entityKind]="SQLiteRelationalQueryV2";mode;table;resultKind;constructor(t,i,r,n,a,o,s,l,u){this.schema=i,this.tableConfig=n,this.dialect=a,this.session=o,this.config=s,this.forbidJsonb=u,this.resultKind=t,this.mode=l,this.table=r}getSQL(){return this._getQuery().sql}_getQuery(){let t=this.forbidJsonb?r.sql`json`:r.sql`jsonb`;return this.dialect.buildRelationalQuery({schema:this.schema,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,mode:this.mode,jsonb:t})}_toSQL(){let t=this._getQuery();return{query:t,builtQuery:this.dialect.sqlToQuery(t.sql)}}toSQL(){return this._toSQL().builtQuery}},h=class extends p{static [i.entityKind]="SQLiteAsyncRelationalQueryV2";_prepare(t=!1){let{query:i,builtQuery:r}=this._toSQL(),n=this.dialect.mapperGenerators.relationalRows({isFirst:"first"===this.mode,parseJson:!0,parseJsonIfString:!1,rootJsonMappers:!1,selection:i.selection,arrayModeRoot:!0});return this.session.prepareQuery(r,"arrays",t,"all",n)}prepare(){return this._prepare(!0)}async execute(t){return this._prepare().execute(t)}},v=class extends h{static [i.entityKind]="SQLiteSyncRelationalQueryV2";sync(t){return this._prepare().execute(t).sync()}};(0,s.applyMixins)(h,[l]);var g=t.i(792352),$=t.i(156325),y=t.i(88274),b=t.i(923277),_=t.i(369e3),x=class{static [i.entityKind]="ColumnTableAliasProxyHandler";constructor(t,i){this.table=t,this.ignoreColumnAlias=i}get(t,i){return"table"===i?this.table:("isAlias"!==i||!this.ignoreColumnAlias)&&t[i]}},k=class{static [i.entityKind]="ViewSelectionAliasProxyHandler";constructor(t,i,r){this.view=t,this.selection=i,this.ignoreColumnAlias=r}get(t,n){let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(this.view,this.ignoreColumnAlias)):(0,i.is)(a,g.Subquery)||(0,i.is)(a,r.SQL)||(0,i.is)(a,r.SQL.Aliased)||(0,r.isSQLWrapper)(a)||"object"!=typeof a||null===a?a:new Proxy(a,this)}},I=class{static [i.entityKind]="TableAliasProxyHandler";constructor(t,i,r){this.alias=t,this.replaceOriginalName=i,this.ignoreColumnAlias=r}get(t,n){if(n===_.Table.Symbol.IsAlias)return!0;if(n===_.Table.Symbol.Name||this.replaceOriginalName&&n===_.Table.Symbol.OriginalName)return this.alias;if(n===y.ViewBaseConfig)return{...t[y.ViewBaseConfig],name:this.alias,isAlias:!0,selectedFields:new Proxy(t[y.ViewBaseConfig].selectedFields,new k(new Proxy(t,this),t[y.ViewBaseConfig].selectedFields,this.ignoreColumnAlias))};if(n===_.Table.Symbol.Columns){let n=t[_.Table.Symbol.Columns];if(!n)return n;if((0,i.is)(t,r.View))return new Proxy(t[_.Table.Symbol.Columns],new k(new Proxy(t,this),t[_.Table.Symbol.Columns],this.ignoreColumnAlias));let a={};return Object.keys(n).map(i=>{a[i]=new Proxy(n[i],new x(new Proxy(t,this),this.ignoreColumnAlias))}),a}let a=t[n];return(0,i.is)(a,$.Column)?new Proxy(a,new x(new Proxy(t,this),this.ignoreColumnAlias)):a}},w=class{static [i.entityKind]="ColumnAliasProxyHandler";constructor(t){this.alias=t}get(t,i){return"isAlias"===i||("name"===i?this.alias:"keyAsName"!==i&&(i===b.OriginalColumn?()=>t:t[i]))}};function S(t,i){return new Proxy(t,new I(i,!1,!1))}function Z(t){return t[b.OriginalColumn]()}i.entityKind,$.Column.prototype.as=function(t){return new Proxy(this,new w(t))};var z=class t{static [i.entityKind]="SelectionProxyHandler";config;constructor(t){this.config={...t}}get(n,a){if("_"===a)return{...n._,selectedFields:new Proxy(n._.selectedFields,this)};if(a===y.ViewBaseConfig)return{...n[y.ViewBaseConfig],selectedFields:new Proxy(n[y.ViewBaseConfig].selectedFields,this)};if("symbol"==typeof a)return n[a];let o=((0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n)[a];if((0,i.is)(o,r.SQL.Aliased)){if("sql"===this.config.sqlAliasedBehavior&&!o.isSelectionField)return o.sql;let t=o.clone();return t.isSelectionField=!0,t.origin=this.config.alias,t}if((0,i.is)(o,r.SQL)){if("sql"===this.config.sqlBehavior)return o;throw Error(`You tried to reference "${a}" field from a subquery, which is a raw SQL field, but it doesn't have an alias declared. Please add an alias to the field using ".as('alias')" method.`)}return(0,i.is)(o,$.Column)?this.config.alias?new Proxy(o,new x(new Proxy(o.table,new I(this.config.alias,this.config.replaceOriginalName??!1,!0)),!0)):o:"object"!=typeof o||null===o?o:new Proxy(o,new t(this.config))}},N=t.i(75799);function D(t){return(0,i.is)(t,N.SQLiteTable)?[`${t[_.Table.Symbol.BaseName]}`]:(0,i.is)(t,g.Subquery)?t._.usedTables??[]:(0,i.is)(t,r.SQL)?t.usedTables??[]:[]}i.entityKind,i.entityKind,t.i(361328),t.i(646683),t.i(201440),t.i(616918);var P=class{static [i.entityKind]="SQLiteDelete";config;constructor(t,i,r,n){this.table=t,this.session=i,this.dialect=r,this.config={table:t,withList:n}}where(t){return this.config.where=t,this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.table[_.Table.Symbol.Columns],new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.orderBy=r}else this.config.orderBy=t;return this}limit(t){return this.config.limit=t,this}returning(t=this.table[N.SQLiteTable.Symbol.Columns]){return this.config.returning=(0,s.orderSelectedFields)(t),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}$dynamic(){return this}},U=class extends P{static [i.entityKind]="SQLiteAsyncDelete";_prepare(t=!1){return this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),"arrays",t,this.config.returning?"all":"run",this.config.returning?this.dialect.mapperGenerators.rows(this.config.returning,void 0):void 0,{type:"delete",tables:D(this.config.table)})}prepare(){return this._prepare(!0)}run=t=>this._prepare().run(t);all=t=>this._prepare().all(t);get=t=>this._prepare().get(t);values=t=>this._prepare().values(t);async execute(t){return this._prepare().execute(t)}};(0,s.applyMixins)(U,[l]);var A=r,j=class extends A.View{static [i.entityKind]="SQLiteViewBase"},O=class{static [i.entityKind]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}withoutSelectionCastCodecs(){return this}},T=class{static [i.entityKind]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(t,i=L){this.builder=i,this.fields=t.fields,this.session=t.session,this.dialect=t.dialect,this.withList=t.withList,this.distinct=t.distinct}from(t){let n,a=!!this.fields;return n=this.fields?this.fields:(0,i.is)(t,g.Subquery)?Object.fromEntries(Object.keys(t._.selectedFields).map(i=>[i,t[i]])):(0,i.is)(t,j)?t[y.ViewBaseConfig].selectedFields:(0,i.is)(t,r.SQL)?{}:(0,s.getTableColumns)(t),new this.builder({table:t,fields:n,isPartialSelect:a,session:this.session,dialect:this.dialect,withList:this.withList??[],distinct:this.distinct})}},L=class extends O{static [i.entityKind]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:t,fields:i,isPartialSelect:r,session:n,dialect:a,withList:o,distinct:l}){for(const u of(super(),this.config={withList:o,table:t,fields:{...i},distinct:l,setOperators:[]},this.isPartialSelect=r,this.session=n,this.dialect=a,this._={selectedFields:i,config:this.config},this.tableName=(0,s.getTableLikeName)(t),this.joinsNotNullableMap="string"==typeof this.tableName?{[this.tableName]:!0}:{},D(t)))this.usedTables.add(u)}getUsedTables(){return[...this.usedTables]}createJoin(t){return(n,a)=>{let o=this.tableName,l=(0,s.getTableLikeName)(n);for(let t of D(n))this.usedTables.add(t);if("string"==typeof l&&this.config.joins?.some(t=>t.alias===l))throw Error(`Alias "${l}" is already used in this query`);if(!this.isPartialSelect&&(1===Object.keys(this.joinsNotNullableMap).length&&"string"==typeof o&&(this.config.fields={[o]:this.config.fields}),"string"==typeof l&&!(0,i.is)(n,r.SQL))){let t=(0,i.is)(n,g.Subquery)?n._.selectedFields:(0,i.is)(n,r.View)?n[y.ViewBaseConfig].selectedFields:n[_.Table.Symbol.Columns];this.config.fields[l]=t}if("function"==typeof a&&(a=a(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:a,table:n,joinType:t,alias:l}),"string"==typeof l)switch(t){case"left":this.joinsNotNullableMap[l]=!1;break;case"right":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!0;break;case"cross":case"inner":this.joinsNotNullableMap[l]=!0;break;case"full":this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([t])=>[t,!1])),this.joinsNotNullableMap[l]=!1}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(t,i){return r=>{let n="function"==typeof r?r(q()):r;if(!(0,s.haveSameKeys)(this.getSelectedFields(),n.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:t,isAll:i,rightSelect:n}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(t){return this.config.setOperators.push(...t),this}where(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.where=t,this}having(t){return"function"==typeof t&&(t=t(new Proxy(this.config.fields,new z({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))),this.config.having=t,this}groupBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(i)?i:[i]}else this.config.groupBy=t;return this}orderBy(...t){if("function"==typeof t[0]){let i=t[0](new Proxy(this.config.fields,new z({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(i)?i:[i];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=r:this.config.orderBy=r}else this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t;return this}limit(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=t:this.config.limit=t,this}offset(t){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=t:this.config.offset=t,this}$withCache(t){return this.cacheConfig=void 0===t?{config:{},enabled:!0,autoInvalidate:!0}:!1===t?{enabled:!1}:{enabled:!0,autoInvalidate:!0,...t},this}getSQL(){return this.config.fieldsFlat=(0,s.orderSelectedFields)(this.config.fields),this.dialect.buildSelectQuery(this.config)}toSQL(){return this.dialect.sqlToQuery(this.getSQL())}as(t){let i=[];if(i.push(...D(this.config.table)),this.config.joins)for(let t of this.config.joins)i.push(...D(t.table));return new Proxy(new g.Subquery(this.getSQL(),this.config.fields,t,!1,[...new Set(i)]),new z({alias:t,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new z({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}withoutSelectionCastCodecs(){return this}$dynamic(){return this}};function C(t,i){return(r,n,...a)=>{let o=[n,...a].map(r=>({type:t,isAll:i,rightSelect:r}));for(let t of o)if(!(0,s.haveSameKeys)(r.getSelectedFields(),t.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}let q=()=>({union:E,unionAll:V,intersect:R,except:B}),E=C("union",!1),V=C("union",!0),R=C("intersect",!1),B=C("except",!1);var F=class extends Error{static [i.entityKind]="DrizzleError";constructor({message:t,cause:i}){super(t),this.name="DrizzleError",this.cause=i}},J=class t extends Error{static [i.entityKind]="DrizzleQueryError";constructor(i,r,n){super(`Failed query: ${i}
2
2
  params: ${r}`),this.query=i,this.params=r,this.cause=n,this.name="DrizzleQueryError",Error.captureStackTrace(this,t),n&&(this.cause=n)}},Q=class extends F{static [i.entityKind]="TransactionRollbackError";constructor(){super({message:"Rollback"}),this.name="TransactionRollbackError"}},M=t.i(875225),K=t.i(349129),W=class{static [i.entityKind]="RelationV2";fieldName;sourceColumns;targetColumns;alias;where;sourceTable;targetTable;through;throughTable;isReversed;sourceColumnTableNames=[];targetColumnTableNames=[];constructor(t,i){this.targetTableName=i,this.targetTable=t}},G=class extends W{static [i.entityKind]="OneV2";relationType="one";optional;constructor(t,i,r,n){super(i,r),this.alias=n?.alias,this.where=n?.where,n?.from&&(this.sourceColumns=(Array.isArray(n.from)?n.from:[n.from]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.sourceColumnTableNames.push(i._.tableName),i._.column))),n?.to&&(this.targetColumns=(Array.isArray(n.to)?n.to:[n.to]).map(i=>(this.throughTable??=i._.through?t[i._.through._.tableName]:void 0,this.targetColumnTableNames.push(i._.tableName),i._.column))),this.throughTable&&(this.through={source:(Array.isArray(n?.from)?n.from:n?.from?[n.from]:[]).map(t=>t._.through),target:(Array.isArray(n?.to)?n.to:n?.to?[n.to]:[]).map(t=>t._.through)}),this.optional=n?.optional??!0}},X=(i.entityKind,class{static [i.entityKind]="AggregatedField";table;onTable(t){return this.table=t,this}});i.entityKind;let H={and:M.and,between:M.between,eq:M.eq,exists:M.exists,gt:M.gt,gte:M.gte,ilike:M.ilike,inArray:M.inArray,arrayContains:M.arrayContains,arrayContained:M.arrayContained,arrayOverlaps:M.arrayOverlaps,isNull:M.isNull,isNotNull:M.isNotNull,like:M.like,lt:M.lt,lte:M.lte,ne:M.ne,not:M.not,notBetween:M.notBetween,notExists:M.notExists,notLike:M.notLike,notIlike:M.notIlike,notInArray:M.notInArray,or:M.or,sql:r.sql},Y={sql:r.sql,asc:K.asc,desc:K.desc};function ee(t,n,a,o=!1,s=!1,l=!0){let u=n?1:t.length,d=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder,l&&t.mapFromJsonValue)?i=>t.mapFromJsonValue(i):o.mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)});for(let i=0;i<u;++i){let r=n?t:t[i];for(let t=0;t<a.length;++t){let i=a[t];if(i.selection){if(null===r[i.key])continue;if(o){if(r[i.key]=JSON.parse(r[i.key]),null===r[i.key])continue}else s&&"string"==typeof r[i.key]&&(r[i.key]=JSON.parse(r[i.key]));if(i.isArray){ee(r[i.key],!1,i.selection,!1,s);continue}ee(r[i.key],!0,i.selection,!1,s);continue}if(null===r[i.key])continue;let n=d[t];n&&(r[i.key]=n(r[i.key]))}}return t}function et({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:s,arrayModeRoot:l}){return u=>n&&!u[0]?u[0]:l?function(t,n,a,o=!1,s=!1){let l=n?1:t.length,u=a.map(({field:t,codec:n,arrayDimensions:a})=>{let o;return(o=(0,i.is)(t,$.Column)?t:(0,i.is)(t,r.SQL)?t.decoder:(0,i.is)(t,r.SQL.Aliased)?t.sql.decoder:(0,i.is)(t,_.Table)||(0,i.is)(t,r.View)?r.noopDecoder:t.getSQL().decoder).mapFromDriverValue.isNoop?n?t=>n(t,a):void 0:n?t=>o.mapFromDriverValue(n(t,a)):t=>o.mapFromDriverValue(t)}),d=Array.from({length:l});for(let i=0;i<l;++i){let r=n?t:t[i],l={};for(let t=0;t<a.length;++t){let i=a[t],n=r[t];if(i.selection){if(null===n){l[i.key]=null;continue}if(o){if(null===(n=JSON.parse(n))){l[i.key]=null;continue}}else s&&"string"==typeof n&&(n=JSON.parse(n));i.isArray?ee(n,!1,i.selection,!1,s):ee(n,!0,i.selection,!1,s),l[i.key]=n;continue}if(null===n){l[i.key]=null;continue}let d=u[t];l[i.key]=d?d(n):n}d[i]=l}return n?d[0]:d}(n?u[0]:u,n,t,a,o):ee(n?u[0]:u,n,t,a,o,s)}function ei({selection:t,isFirst:n,parseJson:a,parseJsonIfString:o,rootJsonMappers:l,arrayModeRoot:u}){let d=[],c=function t(n,a,o,s,l,u,d,c,m){let f=[],p=[],h=!1,v=n.map(()=>`c${c.n++}`),g=n.map((t,i)=>m?v[i]:`${JSON.stringify(t.key)}: ${v[i]}`);for(let[y,{field:b,key:x,codec:k,isArray:I,selection:w,arrayDimensions:S}]of(f.push(m?`let [ ${g.join(", ")} ] = ${a};`:`let { ${g.join(", ")} } = ${a};`),n.entries())){let n=`${o}[${y}]`,a=JSON.stringify(x),m=v[y];if(w){s?(f.push(`if (${m} !== null) ${m} = JSON.parse(${m});`),h=!0):l&&(f.push(`if (typeof ${m} === 'string') ${m} = JSON.parse(${m});`),h=!0);let i=`s${c.n++}`,r=d.length;if(d.push(`const { selection: ${i} } = ${n};`),I){let n=`j${c.n++}`,a=t(w,`${m}[${n}]`,i,!1,l,!0,d,c,!1);if(a.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),f.push(` for (let ${n} = 0; ${n} < ${m}.length; ++${n}) {`),a.bodyStmts))f.push(` ${t}`);f.push(` ${m}[${n}] = ${a.literal};`),f.push(" }"),f.push("}")}else d.splice(r,1)}else{let n=t(w,m,i,!1,l,!0,d,c,!1);if(n.hasWork){for(let t of(h=!0,f.push(`if (${m} !== null) {`),n.bodyStmts))f.push(` ${t}`);f.push(` ${m} = ${n.literal};`),f.push("}")}else d.splice(r,1)}p.push(`${a}: ${m}`);continue}let g="",Z="",z=!1;if((0,i.is)(b,$.Column)){if(u&&b.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromJsonValue`}else if(!b.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: dec${t}`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL)){if(u&&b.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromJsonValue`}else if(!b.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { decoder: dec${t} }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,r.SQL.Aliased)){if(u&&b.sql.decoder.mapFromJsonValue){z=!0;let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromJsonValue`}else if(!b.sql.decoder.mapFromDriverValue.isNoop){let t=c.n++;Z=`field: { sql: { decoder: dec${t} } }`,g=`dec${t}.mapFromDriverValue`}}else if((0,i.is)(b,_.Table)||(0,i.is)(b,r.View));else{let t=b.getSQL();if(u&&t.decoder.mapFromJsonValue){z=!0;let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromJsonValue`}else if(!t.decoder.mapFromDriverValue.isNoop){let t=c.n++;d.push(`const dec${t} = ${n}.field.getSQL().decoder;`),g=`dec${t}.mapFromDriverValue`}}let N="";if(!z&&k&&(N=`codec${c.n++}`),Z||N){let t=[];Z&&t.push(Z),N&&t.push(`codec: ${N}`),d.push(`const { ${t.join(", ")} } = ${n};`)}if(g||N){h=!0;let t=m;N&&(t=`${N}(${t}, ${S})`),g&&(t=`${g}(${t})`),p.push(`${a}: ${m} === null ? null : ${t}`)}else p.push(`${a}: ${m}`)}return{bodyStmts:f,literal:`{ ${p.join(", ")} }`,hasWork:h}}(t,"row","selection",a,o,!u&&l,d,{n:0},!!u),m=[];for(let t of(m.push(` "use strict";
3
3
  const { selection } = this;`),d))m.push(` ${t}`);if(u)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` return ${c.literal};`)}else{for(let t of(m.push(" const { length } = rows;"),m.push(" const mapped = Array.from({ length });"),m.push(" for (let i = 0; i < length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` mapped[i] = ${c.literal};`),m.push(" }"),m.push(" return mapped;")}else if(c.hasWork)if(n){for(let t of(m.push(" const row = rows[0];"),m.push(" if (!row) return undefined;"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[0] = ${c.literal};`),m.push(" return rows[0];")}else{for(let t of(m.push(" for (let i = 0; i < rows.length; ++i) {"),m.push(" const row = rows[i];"),c.bodyStmts))m.push(` ${t}`);m.push(` rows[i] = ${c.literal};`),m.push(" }"),m.push(" return rows;")}else m.push(n?" return rows[0];":" return rows;");m.push(" //# sourceURL=drizzle:jit-relational-query-mapper");let f=m.join("\n");return Object.assign(new s.FnConstructor("rows",f).bind({selection:t}),{body:`function jitRqbMapper (rows) {
4
4
  ${f}