thursday-agent 0.22.0 → 0.23.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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +4 -4
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +12 -12
- package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js +6 -6
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +5 -4
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js +9 -9
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +9 -9
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js +2 -2
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/file/route.js +12 -12
- package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/route.js +2 -2
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +2 -2
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +3 -3
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +13 -13
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js +1 -1
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js +11 -11
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +9 -9
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/running/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js +7 -6
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +8 -8
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +8 -8
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/end/route.js +6 -6
- package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/plan/route.js +16 -16
- package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +6 -6
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js +6 -6
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +16 -16
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +10 -10
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
- package/.next/server/app/artifact/[...path]/page.js +5 -5
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/page/react-loadable-manifest.json +2 -2
- package/.next/server/app/page/server-reference-manifest.json +162 -162
- package/.next/server/app/page.js +7 -7
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__019e1fy._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__03vunn6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__06kxzw-._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0atwstu._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__005onk_._.js → [root-of-the-server]__0cfv4rq._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1-i6lgn._.js → [root-of-the-server]__0d00o4_._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0itmdqy._.js → [root-of-the-server]__0e8y4ok._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1tyftcr._.js → [root-of-the-server]__0eem_66._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__0xn7a8p._.js → [root-of-the-server]__0jn2qbf._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__08922kg._.js → [root-of-the-server]__0l563r8._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mh1tgg._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mq0qmk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1a7rgvy._.js → [root-of-the-server]__0pp2355._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1g08s7l._.js → [root-of-the-server]__0r77huw._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__10_v9ml._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1478lu3._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__16xao_p._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__17m7ag9._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__19aqyg-._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__19imprr._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1fhule0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1hing45._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0mttntm._.js → [root-of-the-server]__1ivfglf._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +5 -0
- package/.next/server/chunks/{[root-of-the-server]__0m0qglo._.js → [root-of-the-server]__1kb-dkn._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__0eluax8._.js → [root-of-the-server]__1mowvzz._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1q_d6dj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1u_6dhy._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1_wtn0q._.js → [root-of-the-server]__1yiqjfx._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1yr_vvq._.js +3 -0
- package/.next/server/chunks/_0-mqt2w._.js +3 -0
- package/.next/server/chunks/_0-qt5if._.js +1 -1
- package/.next/server/chunks/{_0fau3ya._.js → _00aztuo._.js} +2 -2
- package/.next/server/chunks/_021kabv._.js +53 -0
- package/.next/server/chunks/_032k4m6._.js +3 -0
- package/.next/server/chunks/_03p6r2-._.js +1 -1
- package/.next/server/chunks/_06b5b4-._.js +2 -2
- package/.next/server/chunks/_06u9yo-._.js +1 -1
- package/.next/server/chunks/_07mczew._.js +3 -0
- package/.next/server/chunks/_07pkeds._.js +1 -1
- package/.next/server/chunks/_08354bn._.js +22 -22
- package/.next/server/chunks/_083t_nr._.js +5 -0
- package/.next/server/chunks/_0c-s0ei._.js +3 -0
- package/.next/server/chunks/_0cq69mm._.js +1 -1
- package/.next/server/chunks/_0gifi_2._.js +7 -0
- package/.next/server/chunks/_0gxz_1b._.js +1 -1
- package/.next/server/chunks/{_1tjwvoz._.js → _0la8s6t._.js} +2 -2
- package/.next/server/chunks/_0p27in2._.js +1 -1
- package/.next/server/chunks/{_09rtyfn._.js → _0rn3c_0._.js} +24 -26
- package/.next/server/chunks/_0ue8nq-._.js +5 -1
- package/.next/server/chunks/{_1uu4wjr._.js → _0wkhub3._.js} +2 -2
- package/.next/server/chunks/_0wyh244._.js +22 -22
- package/.next/server/chunks/_0ynjnhl._.js +5 -0
- package/.next/server/chunks/_1-wp0r0._.js +1 -1
- package/.next/server/chunks/{_201k0ah._.js → _12-7atf._.js} +2 -2
- package/.next/server/chunks/{_02mn8d7._.js → _124q1p2._.js} +2 -2
- package/.next/server/chunks/{_14xuq46._.js → _13qoxq9._.js} +24 -26
- package/.next/server/chunks/{_11y8h29._.js → _15-_mie._.js} +2 -2
- package/.next/server/chunks/_1823_7a._.js +1 -1
- package/.next/server/chunks/{_0uir6hb._.js → _186uku9._.js} +2 -2
- package/.next/server/chunks/{_0ggqpiz._.js → _18sj4xf._.js} +2 -2
- package/.next/server/chunks/_19kea1l._.js +12 -12
- package/.next/server/chunks/_1ac33qw._.js +2 -2
- package/.next/server/chunks/{_18z965x._.js → _1chy-lk._.js} +2 -2
- package/.next/server/chunks/_1cw6-rv._.js +1 -1
- package/.next/server/chunks/_1evvnbp._.js +1 -1
- package/.next/server/chunks/_1f_x75d._.js +3 -0
- package/.next/server/chunks/_1gn2r2q._.js +7 -9
- package/.next/server/chunks/_1icgbi8._.js +1 -1
- package/.next/server/chunks/{_1ozcb6o._.js → _1k6bmez._.js} +2 -2
- package/.next/server/chunks/_1ko5shz._.js +1 -1
- package/.next/server/chunks/_1ksyu6r._.js +1 -1
- package/.next/server/chunks/_1kwmzab._.js +3 -0
- package/.next/server/chunks/_1lg0lsu._.js +1 -1
- package/.next/server/chunks/_1pv6xbq._.js +5 -0
- package/.next/server/chunks/_1q42187._.js +2 -2
- package/.next/server/chunks/_1q6e56i._.js +7 -9
- package/.next/server/chunks/_1t43w6q._.js +1 -1
- package/.next/server/chunks/_1t8fv7b._.js +1 -1
- package/.next/server/chunks/_1ufbxe1._.js +1 -1
- package/.next/server/chunks/_1wgae1c._.js +1 -1
- package/.next/server/chunks/_1xps4ob._.js +1 -1
- package/.next/server/chunks/_1znrlca._.js +3 -0
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_14kex_m._.js +11 -11
- package/.next/server/chunks/features_bot_08z387_._.js +2 -2
- package/.next/server/chunks/features_bot_1d6ghh5._.js +41 -0
- package/.next/server/chunks/features_bot_1dfrdsb._.js +10 -6
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js → node_modules_consola_dist_chunks_prompt_mjs_0k--vqs._.js} +1 -1
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ufuc3s._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__05qiosr._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0y03pu0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zt_au4._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0eloa6y._.js → [root-of-the-server]__17yeveo._.js} +5 -5
- package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1u42eh0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__203utm3._.js +1 -1
- package/.next/server/chunks/ssr/{_0xurp8n._.js → _0-s7ria._.js} +2 -2
- package/.next/server/chunks/ssr/_03vw3u5._.js +3 -0
- package/.next/server/chunks/ssr/_088qe9a._.js +162 -0
- package/.next/server/chunks/ssr/_09a6bpd._.js +1 -1
- package/.next/server/chunks/ssr/{_0u43zjx._.js → _0a_pedm._.js} +2 -2
- package/.next/server/chunks/ssr/_0ali_i8._.js +3 -0
- package/.next/server/chunks/ssr/_0cd6g3l._.js +3 -3
- package/.next/server/chunks/ssr/{_1nwey7a._.js → _0eprrig._.js} +2 -2
- package/.next/server/chunks/ssr/_0flnog5._.js +3 -0
- package/.next/server/chunks/ssr/_0iuvjnw._.js +1 -1
- package/.next/server/chunks/ssr/{_0t_e9rd._.js → _0k-gl8l._.js} +2 -2
- package/.next/server/chunks/ssr/_0kmldic._.js +41 -0
- package/.next/server/chunks/ssr/_0ks03l-._.js +3 -0
- package/.next/server/chunks/ssr/_0mng-y8._.js +6 -0
- package/.next/server/chunks/ssr/_0tg3o37._.js +1 -1
- package/.next/server/chunks/ssr/_0ugzm_0._.js +3 -0
- package/.next/server/chunks/ssr/{_0ntol64._.js → _0wnv6c0._.js} +2 -2
- package/.next/server/chunks/ssr/{_0-y08rv._.js → _0z9zkd-._.js} +2 -2
- package/.next/server/chunks/ssr/_11l9kc0._.js +1 -1
- package/.next/server/chunks/ssr/_12_ail7._.js +3 -0
- package/.next/server/chunks/ssr/_16_7zeo._.js +1 -1
- package/.next/server/chunks/ssr/_16wjbs2._.js +3 -0
- package/.next/server/chunks/ssr/{_16o81mn._.js → _18rmqqu._.js} +2 -2
- package/.next/server/chunks/ssr/_1bfrntd._.js +2 -2
- package/.next/server/chunks/ssr/{_0gn_i4s._.js → _1ckje8g._.js} +2 -2
- package/.next/server/chunks/ssr/_1crszf7._.js +1 -1
- package/.next/server/chunks/ssr/_1h3qetc._.js +3 -0
- package/.next/server/chunks/ssr/{_1gz4ov7._.js → _1kpvfmn._.js} +3 -3
- package/.next/server/chunks/ssr/{_12hdw8x._.js → _1l-3enz._.js} +26 -28
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
- package/.next/server/chunks/ssr/{_0ux4i2m._.js → _1v1pcoh._.js} +2 -2
- package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
- package/.next/server/chunks/ssr/{features_bot_06n7hmd._.js → features_bot_0-7flc-._.js} +2 -2
- package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_1stfytf._.js +41 -0
- package/.next/server/chunks/ssr/features_config_10xs4l1._.js +20 -0
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/features_thursday_0cf9y0b._.js +1 -1
- package/.next/server/chunks/ssr/features_thursday_components_here-globe_tsx_055duhw._.js +1 -1
- package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +1 -1
- package/.next/server/chunks/ssr/{node_modules_1i-g3bz._.js → node_modules_00mh9o-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1bvw77g._.js → node_modules_04f_uw2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_16tn8xu._.js → node_modules_07udd3z._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ksqeyy._.js → node_modules_08-pj-2._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0e398ts._.js → node_modules_098h6h5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_19r9vjv._.js → node_modules_0_7yfem._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_01v7ybp._.js → node_modules_0ayoorn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0_zk6yd._.js → node_modules_0bp3vfu._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0m-dnm-._.js → node_modules_0ch5hqr._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0536cp2._.js → node_modules_0e-hyim._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0yn2z6s._.js → node_modules_0ffm9w3._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1jf8aik._.js → node_modules_0jzyuwk._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0m2oth3._.js → node_modules_0ln4iwf._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1dlue-g._.js → node_modules_0my2hph._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0cpegwf._.js → node_modules_0y_k4h5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13dwal5._.js → node_modules_10bzndo._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ctm_ju._.js → node_modules_1b5rxw5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_01fukqn._.js → node_modules_1b_h09q._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_12hh0bx._.js → node_modules_1e83j9e._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_08m1gvh._.js → node_modules_1e9ugfy._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_06n6ruk._.js → node_modules_1hd66k0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1zdz2zf._.js → node_modules_1inwr2m._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1zalmtr._.js → node_modules_1j9xx1k._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1kfbdfo._.js → node_modules_1k8kypa._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_056xgci._.js → node_modules_1oeu85h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ie8g6a._.js → node_modules_1r2ghv5._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_1fqgrh0._.js → node_modules_1ttpnib._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nj1l8f._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ir6p7s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_17ok98u._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1ejf5ye._.js} +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +163 -163
- package/.next/static/chunks/02lze_e5sagjn.js +1 -0
- package/.next/static/chunks/{3866u-edsoyj3.js → 081kl7k8r6f8z.js} +1 -1
- package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
- package/.next/static/chunks/0fklfoj8o_msg.js +18 -0
- package/.next/static/chunks/0ve2gb0hw3wkq.js +1 -0
- package/.next/static/chunks/11c3uijgqik4m.js +39 -0
- package/.next/static/chunks/{0go5_9zqag7l0.js → 125lh2zzxk3r2.js} +1 -1
- package/.next/static/chunks/{3zv4wiqjl5kex.js → 166v36614ycsf.js} +1 -1
- package/.next/static/chunks/16np6727e61io.js +1 -0
- package/.next/static/chunks/18amidjlaqexf.js +1 -0
- package/.next/static/chunks/{35ehi-okrfot5.js → 1ettmta9iet7b.js} +1 -1
- package/.next/static/chunks/{1dy5xaxjdsy11.js → 1j4rndg17wgfk.js} +1 -1
- package/.next/static/chunks/{01r1uco3ikisc.js → 1mpz4epyg-7pz.js} +1 -1
- package/.next/static/chunks/{05blzta_1i7c2.js → 1oh4hbusfz97l.js} +1 -1
- package/.next/static/chunks/{3qfhjwd9yuijo.js → 1x1-44qmhu437.js} +1 -1
- package/.next/static/chunks/{0hpx0--bh7vld.js → 22jb4s3-8ckup.js} +1 -1
- package/.next/static/chunks/236le5kv_yj6a.css +1 -0
- package/.next/static/chunks/24op50z6sqi_5.js +1 -0
- package/.next/static/chunks/2eczs-lporqt6.js +1 -0
- package/.next/static/chunks/{2nbj2t9yp8ke9.js → 2sxclirl-c-um.js} +1 -1
- package/.next/static/chunks/2yfmmo4qr_f-m.js +1 -0
- package/.next/static/chunks/2z4sodeldj_86.js +1 -0
- package/.next/static/chunks/{3tyacy8fh5_18.js → 2zhiqxw61qowv.js} +2 -2
- package/.next/static/chunks/338dt83llhu5m.js +1 -0
- package/.next/static/chunks/3ezjz93yvzmop.js +4 -0
- package/.next/static/chunks/3h6rqjx92wva9.js +1 -0
- package/.next/static/chunks/3ph9u-51x6jhe.js +15 -0
- package/.next/static/chunks/{052u13mcoxt87.js → 3uf32hp_g9stz.js} +1 -1
- package/.next/static/chunks/3w7zt3xzyjn86.js +3 -0
- package/.next/static/chunks/3xkx7vqefm7on.js +2 -0
- package/.next/static/chunks/3ygk41pgsw7nv.js +1 -0
- package/.next/static/chunks/{3146sccz1j76i.js → 411uyd0is9u5s.js} +1 -1
- package/.next/static/chunks/4384atd5zerir.js +1 -0
- package/README.md +1 -1
- package/database/migrations/20260929121448_thread_started_by/migration.sql +1 -0
- package/database/migrations/20260929121448_thread_started_by/snapshot.json +1969 -0
- package/guide/bots.md +89 -44
- package/guide/calls.md +41 -25
- package/guide/index.md +5 -2
- package/guide/phone.md +7 -4
- package/guide/setup.md +12 -6
- package/guide/trouble.md +3 -2
- package/package.json +1 -1
- package/public/voices/intro/mic-b17ca82d.ogg +0 -0
- package/seed-skills/concierge/travel/SKILL.md +2 -1
- package/seed-skills/concierge/travel/page/itinerary.css +1009 -257
- package/seed-skills/concierge/travel/references/itinerary.md +95 -35
- package/seed-skills/concierge/travel/references/plan.md +11 -4
- package/seed-skills/concierge/travel/scripts/itinerary.mjs +754 -138
- package/skills/README.md +7 -4
- package/skills/artifact/SKILL.md +17 -13
- package/skills/artifact/references/canvas.md +4 -5
- package/skills/artifact/references/deck.md +93 -2
- package/skills/artifact/runtime/app/kit/src/index.css +35 -0
- package/skills/artifact/runtime/app/kit/tailwind.config.js +6 -0
- package/skills/artifact/runtime/deck/data.mjs +21 -0
- package/skills/artifact/runtime/deck/deck.css +254 -4
- package/skills/artifact/runtime/deck/deck.html +3 -0
- package/skills/artifact/runtime/deck/deck.js +88 -5
- package/skills/artifact/runtime/deck/deck.mjs +1 -17
- package/skills/artifact/runtime/document/quick.css +264 -89
- package/skills/artifact/runtime/document/quick.html +16 -7
- package/skills/artifact/runtime/document/quick.js +377 -98
- package/skills/artifact/runtime/render.mjs +52 -6
- package/skills/artifact/runtime/sheet/sheet.css +29 -21
- package/skills/artifact/runtime/shell/drafts.js +25 -0
- package/skills/artifact/runtime/shell/fonts/Geist-latin-ext.woff2 +0 -0
- package/skills/artifact/runtime/shell/fonts/Geist-latin.woff2 +0 -0
- package/skills/artifact/runtime/shell/fonts/GeistMono-latin-ext.woff2 +0 -0
- package/skills/artifact/runtime/shell/fonts/GeistMono-latin.woff2 +0 -0
- package/skills/artifact/runtime/shell/fonts/OFL.txt +93 -0
- package/skills/artifact/runtime/shell/head.html +27 -2
- package/skills/artifact/runtime/shell/shell.css +88 -8
- package/skills/artifact/runtime/shell/shell.js +318 -22
- package/skills/artifact/runtime/shell/wear.mjs +114 -12
- package/skills/artifact/scripts/app.mjs +5 -0
- package/skills/artifact/scripts/chart.mjs +20 -19
- package/skills/artifact/scripts/deck.mjs +276 -0
- package/skills/artifact/scripts/document.mjs +55 -2
- package/skills/artifact/scripts/media.mjs +1 -1
- package/skills/artifact/templates/boards/direction.html +55 -2
- package/skills/browser/SKILL.md +1 -1
- package/skills/browser/references/scripts.md +1 -1
- package/skills/daily-brief/SKILL.md +2 -0
- package/skills/daily-brief/page/brief.css +460 -302
- package/skills/daily-brief/references/brief.md +33 -7
- package/skills/daily-brief/scripts/page.mjs +241 -48
- package/skills/media-digest/SKILL.md +1 -0
- package/skills/media-digest/scripts/digest.mjs +57 -43
- package/.next/server/chunks/[root-of-the-server]__00f051a._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__0340k46._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__0ndw2yj._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__16y0k92._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18e65_-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1a0xgyh._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1dth047._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1huywqp._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1ij4h2a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1q1s4ls._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qa67zs._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1t-mfa4._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__20ofm9t._.js +0 -3
- package/.next/server/chunks/_0483t_f._.js +0 -5
- package/.next/server/chunks/_0lcthk8._.js +0 -3
- package/.next/server/chunks/_0uv1gs1._.js +0 -3
- package/.next/server/chunks/_17fjc-7._.js +0 -5
- package/.next/server/chunks/_1dcbwn-._.js +0 -3
- package/.next/server/chunks/_1mgzs18._.js +0 -3
- package/.next/server/chunks/_20qn224._.js +0 -3
- package/.next/server/chunks/features_bot_0zy_q8y._.js +0 -37
- package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0dy20eb._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0yyxgt2._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__14j8gxy._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__20t_4l2._.js +0 -3
- package/.next/server/chunks/ssr/_00buy3i._.js +0 -162
- package/.next/server/chunks/ssr/_014_wjp._.js +0 -3
- package/.next/server/chunks/ssr/_07m4ii5._.js +0 -3
- package/.next/server/chunks/ssr/_0cv9tmv._.js +0 -3
- package/.next/server/chunks/ssr/_0j6rtjm._.js +0 -6
- package/.next/server/chunks/ssr/_0ogkeu-._.js +0 -3
- package/.next/server/chunks/ssr/_10sc7ab._.js +0 -3
- package/.next/server/chunks/ssr/_14nwim3._.js +0 -37
- package/.next/server/chunks/ssr/_1e01b-_._.js +0 -3
- package/.next/server/chunks/ssr/_1nfv27b._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1c56lew._.js +0 -37
- package/.next/server/chunks/ssr/features_bot_1knyan7._.js +0 -3
- package/.next/server/chunks/ssr/features_config_09wq1s9._.js +0 -20
- package/.next/static/chunks/01gkq9y6_xk4a.js +0 -1
- package/.next/static/chunks/09kwsjbmr_z1w.js +0 -1
- package/.next/static/chunks/0ynv7zu_bguve.js +0 -1
- package/.next/static/chunks/0zi59tghmg1lu.js +0 -18
- package/.next/static/chunks/1_ftsgxa-sia_.js +0 -1
- package/.next/static/chunks/1cg3torc90q5t.js +0 -1
- package/.next/static/chunks/1qnx1h5c8f93b.js +0 -1
- package/.next/static/chunks/1rwn3d9ji5w35.js +0 -1
- package/.next/static/chunks/1so3f5fi7e5g9.js +0 -35
- package/.next/static/chunks/1ya41wxfmp4s8.js +0 -1
- package/.next/static/chunks/27rwkfu7_xvs1.js +0 -4
- package/.next/static/chunks/2hueh8masqd91.js +0 -15
- package/.next/static/chunks/2jrt_752fqz2f.js +0 -1
- package/.next/static/chunks/2ogme4qydxnaq.js +0 -3
- package/.next/static/chunks/2r2tocw2rpvm2.js +0 -1
- package/.next/static/chunks/2t4kimg1lt-p7.js +0 -2
- package/.next/static/chunks/2w6y71o27my_z.js +0 -1
- package/.next/static/chunks/31_am8rtmk_tv.css +0 -1
- package/.next/static/chunks/337g9g_ux2gj-.js +0 -1
- package/public/voices/intro/heard-1f12cd45.ogg +0 -0
- package/public/voices/intro/mic-e561372a.ogg +0 -0
- package/skills/artifact/references/book.md +0 -163
- package/skills/artifact/runtime/book/book.css +0 -256
- package/skills/artifact/runtime/book/book.html +0 -38
- package/skills/artifact/runtime/book/book.js +0 -81
- package/skills/artifact/scripts/book-pdf.mjs +0 -73
- package/skills/artifact/scripts/book-video.mjs +0 -168
- package/skills/artifact/scripts/book.mjs +0 -291
- /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_buildManifest.js +0 -0
- /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_ssgManifest.js +0 -0
- /package/seed-skills/{marketer → writer}/marketing/LICENSE +0 -0
- /package/seed-skills/{marketer → writer}/marketing/SKILL.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/copywriting-copy-frameworks.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/copywriting-natural-transitions.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/copywriting.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/emails-copy-guidelines.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/emails-email-types.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/emails-sequence-templates.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/emails.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/launch.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/product-marketing.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-ai-writing-detection.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-international-seo.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/seo-audit.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social-carousel-frameworks.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social-platform-limits.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social-platforms.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social-post-templates.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social-reverse-engineering.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social-short-form-video.md +0 -0
- /package/seed-skills/{marketer → writer}/marketing/references/social.md +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[109788,a=>{"use strict";var b=a.i(187924),c=a.i(263359),d=a.i(823319),e=a.i(696732),f=a.i(126766),g=a.i(474896),h=a.i(164831);let i={name:"log-out",size:24,node:[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]};i.node;let j=(0,h.default)(i),k={name:"shield-check",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]};k.node;let l=(0,h.default)(k);var m=a.i(474215),n=a.i(986368),o=a.i(767561),p=a.i(340695),q=a.i(446181),r=a.i(341889),s=a.i(913834),t=a.i(619477),u=a.i(199169),v=a.i(313237),w=a.i(759497),x=a.i(497895),y=a.i(405050);let z=(0,y.createServerReference)("
|
|
1
|
+
module.exports=[109788,a=>{"use strict";var b=a.i(187924),c=a.i(263359),d=a.i(823319),e=a.i(696732),f=a.i(126766),g=a.i(474896),h=a.i(164831);let i={name:"log-out",size:24,node:[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]};i.node;let j=(0,h.default)(i),k={name:"shield-check",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]};k.node;let l=(0,h.default)(k);var m=a.i(474215),n=a.i(986368),o=a.i(767561),p=a.i(340695),q=a.i(446181),r=a.i(341889),s=a.i(913834),t=a.i(619477),u=a.i(199169),v=a.i(313237),w=a.i(759497),x=a.i(497895),y=a.i(405050);let z=(0,y.createServerReference)("7ff49909ad8823b5ef360e3ed4911396403ed91cee",y.callServer,void 0,y.findSourceMapURL,"removeSignInAction");var A=a.i(282384);let B=[[c.AppWindow,"A bot opens a window","When its work needs you signed in to a site, it opens that site on your screen and asks."],[g.LogIn,"You sign in there","The app keeps that sign-in here — the site's session, never your password. A second account on a site is kept beside the first."],[l,"Only that bot uses it","Later work is signed in without asking. Another bot has to ask you first."]];function C(){return(0,b.jsx)("ol",{className:"grid gap-3 pb-5 sm:grid-cols-3",children:B.map(([a,c,d],e)=>(0,b.jsxs)("li",{className:"flex gap-3 rounded-xl bg-muted/40 p-3.5",children:[(0,b.jsx)("span",{className:"grid size-8 shrink-0 place-items-center rounded-lg bg-background text-muted-foreground ring-1 ring-border/60",children:(0,b.jsx)(a,{className:"size-4"})}),(0,b.jsxs)("span",{className:"min-w-0 space-y-0.5",children:[(0,b.jsxs)("span",{className:"block text-[13px] font-medium",children:[e+1,". ",c]}),(0,b.jsx)("span",{className:"block text-xs leading-relaxed text-muted-foreground",children:d})]})]},c))})}function D({signIn:a,bots:c}){return(0,b.jsxs)("div",{className:"flex flex-col gap-2.5 p-4",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(F,{site:a.site}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,b.jsx)("span",{className:"block truncate text-sm font-medium",children:a.site}),(0,b.jsx)("span",{className:"block truncate text-[13px] text-muted-foreground",children:a.account})]}),(0,b.jsx)(G,{signIn:a}),(0,b.jsx)(H,{signIn:a,others:0})]}),(0,b.jsx)(I,{signIn:a,bots:c,className:"pl-13"})]})}function E({accounts:a,bots:c}){let{site:d}=a[0];return(0,b.jsxs)("div",{className:"flex flex-col p-4 pb-1",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)(F,{site:d}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,b.jsx)("span",{className:"block truncate text-sm font-medium",children:d}),(0,b.jsxs)("span",{className:"block truncate text-[13px] text-muted-foreground",children:[a.length," accounts"]})]})]}),(0,b.jsx)("div",{className:"mt-3 ml-13 flex flex-col",children:a.map(d=>(0,b.jsxs)("div",{className:"flex flex-col gap-2 border-t border-border/60 py-3",children:[(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13.5px] font-medium",children:d.account}),(0,b.jsx)(G,{signIn:d}),(0,b.jsx)(H,{signIn:d,others:a.length-1})]}),(0,b.jsx)(I,{signIn:d,bots:c})]},d.account))})]})}function F({site:a}){return(0,b.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-xl bg-muted/60",children:(0,b.jsx)(r.SiteIcon,{host:a,className:"size-5 rounded-[5px]",fallback:(0,b.jsx)(f.KeyRound,{className:"size-4 text-muted-foreground"})})})}function G({signIn:a}){return(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground tabular-nums",children:a.usedAt?`used ${(0,u.whenOf)(a.usedAt)}`:`kept ${(0,u.whenOf)(a.keptAt)}`})}function H({signIn:a,others:c}){let[d,e]=(0,v.useServerAction)(z,{onOk:()=>(0,w.revalidate)(o.queryKey.signIns)}),f=async()=>{await q.notify.confirm({title:c?`Sign out of ${a.account} on ${a.site}?`:`Sign out of ${a.site}?`,description:`What is kept here is removed, and the bots that used it ask you to sign in again.${c?` Your other ${a.site} ${1===c?"account stays":"accounts stay"}.`:""} The site itself may still list the session until it ends it.`,okText:"Sign out",destructive:!0})&&d(a.site,a.account)};return(0,b.jsxs)(p.Button,{variant:"outline",size:"sm",loading:e,"aria-label":c?`Sign out of ${a.account}`:void 0,onClick:()=>void f(),children:[(0,b.jsx)(j,{}),"Sign out"]})}function I({signIn:a,bots:c,className:d}){let[e,f]=(0,v.useServerAction)(A.setSignInBotAction,{onOk:()=>(0,w.revalidate)(o.queryKey.signIns)});return(0,b.jsxs)("div",{className:(0,x.cn)("flex flex-wrap items-center gap-1.5",d),children:[a.bots.map(d=>(0,b.jsxs)("span",{className:"flex h-7 items-center gap-1.5 rounded-full bg-muted/60 pr-1 pl-1.5 text-[13px]",children:[(0,b.jsx)(s.BotMark,{size:18,seed:d,...(0,s.markOf)(d,c)}),d,(0,b.jsx)("button",{type:"button",disabled:f,"aria-label":`${d} may no longer use it`,onClick:()=>void e(a.site,a.account,d,!1),className:"grid size-5 place-items-center rounded-full text-muted-foreground outline-none hover:bg-muted hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(m.X,{className:"size-3"})})]},d)),0===a.bots.length&&0===a.asking.length&&(0,b.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"No bot may use it. One that needs it will ask."}),a.asking.map(d=>(0,b.jsxs)("span",{className:(0,x.cn)("flex h-7 items-center gap-1.5 rounded-full pr-1 pl-1.5 text-[13px] ring-1 ring-border ring-inset",x.WAITING_INK),children:[(0,b.jsx)(s.BotMark,{size:18,seed:d,...(0,s.markOf)(d,c)}),d," asks",(0,b.jsx)(p.Button,{size:"sm",variant:"secondary",className:"h-5 rounded-full px-2 text-[11px]",disabled:f,onClick:()=>void e(a.site,a.account,d,!0),children:"Allow"})]},d))]})}let J="https://chromewebstore.google.com/detail/playwright-extension/mmlmfjhmonkocbjadbfplnigmagldckm";function K(){return(0,b.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,b.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-xl bg-muted/60",children:(0,b.jsx)(r.SiteIcon,{host:new URL(J).host,className:"size-5 rounded-[5px]",fallback:(0,b.jsx)(e.Globe,{className:"size-4 text-muted-foreground"})})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,b.jsx)("span",{className:"block text-sm font-medium",children:"Your own Chrome"}),(0,b.jsx)("span",{className:"block text-[13px] text-muted-foreground",children:"For a site that will not stay signed in. A bot gets a tab of its own, signed in as you — to every site your Chrome is, not only that one."})]}),(0,b.jsxs)("a",{href:J,target:"_blank",rel:"noreferrer",className:(0,x.cn)((0,p.buttonVariants)({variant:"outline",size:"sm"})),children:["Get the extension",(0,b.jsx)(d.ArrowUpRight,{})]})]})}a.s(["SignInsSetting",0,function(){let{data:a,isLoading:c,error:d}=(0,w.useServerRoute)(o.queryKey.signIns),{data:e}=(0,w.useServerRoute)(o.queryKey.bot);if((0,n.useAppEvent)({signins:()=>void(0,w.revalidate)(o.queryKey.signIns)}),c)return(0,b.jsx)(t.SettingSkeleton,{rows:3});if(d)return(0,b.jsx)(t.SettingError,{message:d.message});let f=a??[];return(0,b.jsxs)(t.SettingScreen,{footer:(0,b.jsx)(t.SettingRailNote,{children:"A site's session as the browser held it — never a password. Kept on this machine, outside the folder the bots work in. It is the whole session: signed in with Google, it carries the Google sign-in too."}),children:[(0,b.jsx)(C,{}),(0,b.jsxs)(t.SettingItems,{children:[0===f.length?(0,b.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:"Nothing is kept yet. When a bot needs you signed in somewhere, it opens a window for you to sign in — and that sign-in is kept here for its later work."}):(function(a){let b=new Map;for(let c of a)b.set(c.site,[...b.get(c.site)??[],c]);return[...b.values()]})(f).map(a=>1===a.length?(0,b.jsx)(D,{signIn:a[0],bots:e},`${a[0].site}
|
|
2
2
|
${a[0].account}`):(0,b.jsx)(E,{accounts:a,bots:e},a[0].site)),(0,b.jsx)(K,{})]})]})}],109788)},263359,a=>{"use strict";var b=a.i(164831);let c={name:"app-window",size:24,node:[["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}],["path",{d:"M10 4v4",key:"pp8u80"}],["path",{d:"M2 8h20",key:"d11cs7"}],["path",{d:"M6 4v4",key:"1svtjw"}]]};c.node;let d=(0,b.default)(c);a.s(["AppWindow",0,d],263359)}];
|
|
3
3
|
|
|
4
4
|
//# sourceMappingURL=_1neoj22._.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports=[229666,a=>a.a(async(b,c)=>{try{var d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(221214);a.i(684321);var h=a.i(821415),i=a.i(293480),j=b([g]);async function k(a){let[b,c]=await Promise.all([(0,h.insideWorkspace)(a),(0,h.insideWorkspace)(f.PATHS.artifacts)]);return b&&c&&b.startsWith(c+e.sep)||(0,i.publicError)("Not an artifact"),b}async function l(){let a=await (0,g.listBotNames)();return new Map(a.map(a=>[(0,h.botFolderName)(a).toLowerCase(),a]))}async function m(a){let[b,c,...d]=a.split("/");return b===f.PATHS.artifacts&&c&&d.length?(await l()).get(c.toLowerCase())??null:null}async function n(a){try{let{bot:b}=JSON.parse(await (0,d.readFile)((0,e.join)(a,h.DELETED_BOT_MARK),"utf8"));return"string"==typeof b&&b.trim()?b:null}catch{return null}}async function o(a){let b=await k(a),c=await (0,d.stat)(b).catch(()=>null);if(c||(0,i.publicError)("Not found"),c.isDirectory()){let a=await (0,h.insideWorkspace)(f.PATHS.artifacts),c=(0,e.relative)(a??h.ARTIFACTS,b);!c.includes(e.sep)&&((await l()).has(c.toLowerCase())||await n(b))&&(0,i.publicError)("That is a bot's whole folder, not one artifact"),await (0,d.rm)(b,{recursive:!0});return}await (0,d.rm)(b)}[g]=j.then?(await j)():j,a.s(["botOfArtifact",0,m,"deleteArtifact",0,o]),c()}catch(a){c(a)}},!1),910350,a=>a.a(async(b,c)=>{try{var d=a.i(137936),e=a.i(53112),f=a.i(569572),g=a.i(689656),h=a.i(821415),i=a.i(225689),j=a.i(293480),k=a.i(221214),l=a.i(674986),m=a.i(446957),n=a.i(636616),o=a.i(839430),p=a.i(706182),q=a.i(344853),r=a.i(713095),s=b([k,l,o,p,q]);[k,l,o,p,q]=s.then?(await s)():s;let u=(0,i.serverAction)(async a=>{let b=m.BotFormSchema.parse(a),c=await (0,k.createBot)(b);return c||(0,j.publicError)(`"${b.name}" already exists`),{name:c.name}}),v=(0,i.serverAction)(async(a,b)=>{let c=m.BotFormSchema.partial().parse(b);await (0,k.updateBot)(e.z.string().parse(a),c)||(0,j.publicError)("Bot not found")}),w=(0,i.serverAction)(async a=>{await (0,k.clearOwnLine)(e.z.string().parse(a))||(0,j.publicError)("Bot not found")}),x=e.z.object({name:e.z.string().trim().min(1).max(80),provider:g.textModelProviderSchema.nullish(),model:e.z.string().trim().min(1).max(80).nullish()}),y=(0,i.serverAction)(async a=>{let b=x.array().max(20).parse(a),c=f.BOT_ROSTER.max-await (0,k.countBots)(),d=[];for(let a of b){if(d.length>=c)break;let b=(0,n.findBotSeed)(a.name);if(!b)continue;let e=await (0,k.createBot)({name:b.name,description:b.description,systemPrompt:b.systemPrompt,icon:b.icon,provider:a.provider,model:a.model,toolIds:[]});e&&d.push(e.name)}return{created:d}}),z=(0,i.serverAction)(async a=>{let b=e.z.string().parse(a);await (0,k.deleteBot)(b)||(0,j.publicError)("Bot not found"),await (0,h.removeBotFolder)(b)}),A=(0,i.serverAction)(async a=>{await (0,k.writeBotMemoryOn)(!0===a)}),B=(0,i.serverAction)(async(a,b)=>{await (0,o.withdrawDelivery)(e.z.string().min(1).parse(a),e.z.string().min(1).parse(b))||(0,j.publicError)("It has already read that.")}),C=(0,i.serverAction)(async(a,b)=>{let c=e.z.string().parse(b).trim();return c||(0,j.publicError)("Nothing to hand over."),t(a,c,c)}),D=(0,i.serverAction)(async(a,b,c)=>{let d=e.z.string().parse(b).trim();return d||(0,j.publicError)("Nothing to tell it."),(0,p.tellFileThread)(e.z.string().min(1).parse(a),d,e.z.string().nullish().parse(c)??null)}),E=(0,i.serverAction)(async(a,b,c)=>{let d=e.z.string().parse(c).trim();d||(0,j.publicError)("Nothing to hand over.");let f=e.z.string().min(1).parse(b);return"gone"===(await (0,p.readFileThread)(f)).state&&(0,j.publicError)("This file is no longer on disk."),t(a,(0,p.aboutFile)(f,d),d)});async function t(a,b,c){let d,f,g=await (0,k.findJobBot)(e.z.string().parse(a));(!g||g.disabled)&&(0,j.publicError)(`No enabled bot called "${a}".`);let h=(f=(d=c.replace(/\s+/g," ").trim().split(" ")).slice(0,4).join(" "),(d.length>4?`${f}…`:f).slice(0,60));return{id:await (0,l.startThread)({bot:g.name,request:b,label:h,from:"user"}),label:h,bot:g.name}}let F=(0,i.serverAction)(async(a,b,c,d)=>{let f=await (0,q.resolveThread)(e.z.string().parse(a));f||(0,j.publicError)(`No job called "${a}".`);let g=e.z.string().parse(b).trim();return g||(0,j.publicError)("Nothing to tell it."),await (0,l.answerThread)(f.id,g,"user",e.z.string().nullish().parse(c)??void 0,e.z.string().nullish().parse(d)??void 0),{id:f.id,label:f.label,status:"running"}}),G=(0,i.serverAction)(async(a,b)=>{(0,l.askCompact)(e.z.string().min(1).parse(a),e.z.string().min(1).parse(b))}),H=(0,i.serverAction)(async a=>{let b=await (0,q.resolveThread)(e.z.string().parse(a));return b||(0,j.publicError)(`No job called "${a}".`),await (0,l.cancelThread)(b.id),{id:b.id,label:b.label,status:"cancelled"}}),I=(0,i.serverAction)(async a=>{await (0,q.markSeen)(a.filter(a=>"string"==typeof a&&a))}),J=(0,i.serverAction)(async a=>{await (0,l.removeThread)(e.z.string().parse(a))||(0,j.publicError)("Thread not found")}),K=(0,i.serverAction)(async()=>({removed:await (0,l.removeFinishedThreads)()})),L=(0,i.serverAction)(async a=>{await (0,o.acceptRoomRelays)(e.z.number().int().positive().array().parse(a))});(0,r.ensureServerEntryExports)([u,v,w,y,z,A,B,C,D,E,F,G,H,I,J,K,L]),(0,d.registerServerReference)(u,"
|
|
1
|
+
module.exports=[229666,a=>a.a(async(b,c)=>{try{var d=a.i(912714),e=a.i(750227),f=a.i(569572),g=a.i(221214);a.i(684321);var h=a.i(821415),i=a.i(293480),j=b([g]);async function k(a){let[b,c]=await Promise.all([(0,h.insideWorkspace)(a),(0,h.insideWorkspace)(f.PATHS.artifacts)]);return b&&c&&b.startsWith(c+e.sep)||(0,i.publicError)("Not an artifact"),b}async function l(){let a=await (0,g.listBotNames)();return new Map(a.map(a=>[(0,h.botFolderName)(a).toLowerCase(),a]))}async function m(a){let[b,c,...d]=a.split("/");return b===f.PATHS.artifacts&&c&&d.length?(await l()).get(c.toLowerCase())??null:null}async function n(a){try{let{bot:b}=JSON.parse(await (0,d.readFile)((0,e.join)(a,h.DELETED_BOT_MARK),"utf8"));return"string"==typeof b&&b.trim()?b:null}catch{return null}}async function o(a){let b=await k(a),c=await (0,d.stat)(b).catch(()=>null);if(c||(0,i.publicError)("Not found"),c.isDirectory()){let a=await (0,h.insideWorkspace)(f.PATHS.artifacts),c=(0,e.relative)(a??h.ARTIFACTS,b);!c.includes(e.sep)&&((await l()).has(c.toLowerCase())||await n(b))&&(0,i.publicError)("That is a bot's whole folder, not one artifact"),await (0,d.rm)(b,{recursive:!0});return}await (0,d.rm)(b)}[g]=j.then?(await j)():j,a.s(["botOfArtifact",0,m,"deleteArtifact",0,o]),c()}catch(a){c(a)}},!1),910350,a=>a.a(async(b,c)=>{try{var d=a.i(137936),e=a.i(53112),f=a.i(569572),g=a.i(689656),h=a.i(821415),i=a.i(225689),j=a.i(293480),k=a.i(221214),l=a.i(674986),m=a.i(446957),n=a.i(636616),o=a.i(839430),p=a.i(706182),q=a.i(344853),r=a.i(713095),s=b([k,l,o,p,q]);[k,l,o,p,q]=s.then?(await s)():s;let u=(0,i.serverAction)(async a=>{let b=m.BotFormSchema.parse(a),c=await (0,k.createBot)(b);return c||(0,j.publicError)(`"${b.name}" already exists`),{name:c.name}}),v=(0,i.serverAction)(async(a,b)=>{let c=m.BotFormSchema.partial().parse(b);await (0,k.updateBot)(e.z.string().parse(a),c)||(0,j.publicError)("Bot not found")}),w=(0,i.serverAction)(async a=>{await (0,k.clearOwnLine)(e.z.string().parse(a))||(0,j.publicError)("Bot not found")}),x=e.z.object({name:e.z.string().trim().min(1).max(80),provider:g.textModelProviderSchema.nullish(),model:e.z.string().trim().min(1).max(80).nullish()}),y=(0,i.serverAction)(async a=>{let b=x.array().max(20).parse(a),c=f.BOT_ROSTER.max-await (0,k.countBots)(),d=[];for(let a of b){if(d.length>=c)break;let b=(0,n.findBotSeed)(a.name);if(!b)continue;let e=await (0,k.createBot)({name:b.name,description:b.description,systemPrompt:b.systemPrompt,icon:b.icon,provider:a.provider,model:a.model,toolIds:[]});e&&d.push(e.name)}return{created:d}}),z=(0,i.serverAction)(async a=>{let b=e.z.string().parse(a);await (0,k.deleteBot)(b)||(0,j.publicError)("Bot not found"),await (0,h.removeBotFolder)(b)}),A=(0,i.serverAction)(async a=>{await (0,k.writeBotMemoryOn)(!0===a)}),B=(0,i.serverAction)(async(a,b)=>{await (0,o.withdrawDelivery)(e.z.string().min(1).parse(a),e.z.string().min(1).parse(b))||(0,j.publicError)("It has already read that.")}),C=(0,i.serverAction)(async(a,b)=>{let c=e.z.string().parse(b).trim();return c||(0,j.publicError)("Nothing to hand over."),t(a,c,c)}),D=(0,i.serverAction)(async(a,b,c)=>{let d=e.z.string().parse(b).trim();return d||(0,j.publicError)("Nothing to tell it."),(0,p.tellFileThread)(e.z.string().min(1).parse(a),d,e.z.string().nullish().parse(c)??null)}),E=(0,i.serverAction)(async(a,b,c)=>{let d=e.z.string().parse(c).trim();d||(0,j.publicError)("Nothing to hand over.");let f=e.z.string().min(1).parse(b);return"gone"===(await (0,p.readFileThread)(f)).state&&(0,j.publicError)("This file is no longer on disk."),t(a,(0,p.aboutFile)(f,d),d)});async function t(a,b,c){let d,f,g=await (0,k.findJobBot)(e.z.string().parse(a));(!g||g.disabled)&&(0,j.publicError)(`No enabled bot called "${a}".`);let h=(f=(d=c.replace(/\s+/g," ").trim().split(" ")).slice(0,4).join(" "),(d.length>4?`${f}…`:f).slice(0,60));return{id:await (0,l.startThread)({bot:g.name,request:b,label:h,from:"user"}),label:h,bot:g.name}}let F=(0,i.serverAction)(async(a,b,c,d)=>{let f=await (0,q.resolveThread)(e.z.string().parse(a));f||(0,j.publicError)(`No job called "${a}".`);let g=e.z.string().parse(b).trim();return g||(0,j.publicError)("Nothing to tell it."),await (0,l.answerThread)(f.id,g,"user",e.z.string().nullish().parse(c)??void 0,e.z.string().nullish().parse(d)??void 0),{id:f.id,label:f.label,status:"running"}}),G=(0,i.serverAction)(async(a,b)=>{(0,l.askCompact)(e.z.string().min(1).parse(a),e.z.string().min(1).parse(b))}),H=(0,i.serverAction)(async a=>{let b=await (0,q.resolveThread)(e.z.string().parse(a));return b||(0,j.publicError)(`No job called "${a}".`),await (0,l.cancelThread)(b.id),{id:b.id,label:b.label,status:"cancelled"}}),I=(0,i.serverAction)(async a=>{await (0,q.markSeen)(a.filter(a=>"string"==typeof a&&a))}),J=(0,i.serverAction)(async a=>{await (0,l.removeThread)(e.z.string().parse(a))||(0,j.publicError)("Thread not found")}),K=(0,i.serverAction)(async()=>({removed:await (0,l.removeFinishedThreads)()})),L=(0,i.serverAction)(async a=>{await (0,o.acceptRoomRelays)(e.z.number().int().positive().array().parse(a))});(0,r.ensureServerEntryExports)([u,v,w,y,z,A,B,C,D,E,F,G,H,I,J,K,L]),(0,d.registerServerReference)(u,"7fd56681214bf9f0382e8666c06c414cc7d6e0f605",null),(0,d.registerServerReference)(v,"7f7c9c51edfa501edddc629a07abe8f2980b9a3308",null),(0,d.registerServerReference)(w,"7f1dd295b0b610a747ded40e9b45a9754e17ab85f8",null),(0,d.registerServerReference)(y,"7f4d1b83a856be03b184db5399983948fd7fba94a6",null),(0,d.registerServerReference)(z,"7f2dd937bbd0b02ea4560fe6b144108ba82295beaa",null),(0,d.registerServerReference)(A,"7f26b5fc0d2b17be7dbd7655b369e7245577159186",null),(0,d.registerServerReference)(B,"7f487e023794e32d1f38f84888eee4bedb8ec7669b",null),(0,d.registerServerReference)(C,"7f55266b04466868375c8d1d447e03c99bb0e659aa",null),(0,d.registerServerReference)(D,"7fa7dfd6d414554348a0b2ca6d9b9523082950cc07",null),(0,d.registerServerReference)(E,"7f6a1f4250ace49f37f97878708026883aabdf97de",null),(0,d.registerServerReference)(F,"7f309ae063e87c26a97799f88691408f2f53cf70aa",null),(0,d.registerServerReference)(G,"7fc2cba9f0fc75fa2215f18ba8e7ed6661bc7f8b77",null),(0,d.registerServerReference)(H,"7f56ed84c09474fd0592fe62f3aa4a809ab9b53563",null),(0,d.registerServerReference)(I,"7f2c03ef978ece4af4c45f31f27774a9a769a1bfac",null),(0,d.registerServerReference)(J,"7f7b01acd185abd45b14d85f82ded01b9947b20a06",null),(0,d.registerServerReference)(K,"7fad766f26aec8e232c267934bfbb64336e43eeda4",null),(0,d.registerServerReference)(L,"7f40567ca286d4939a46ffe468135d6e8b07b56d50",null),a.s(["acceptThreadRelaysAction",0,L,"answerThreadAction",0,F,"cancelThreadAction",0,H,"clearFinishedThreadsAction",0,K,"clearOwnLineAction",0,w,"compactThreadAction",0,G,"createBotAction",0,u,"createSeedBotsAction",0,y,"deleteBotAction",0,z,"deleteThreadAction",0,J,"handFileAction",0,E,"markSeenAction",0,I,"setBotMemoryOnAction",0,A,"startThreadAction",0,C,"tellFileThreadAction",0,D,"updateBotAction",0,v,"withdrawStepInAction",0,B]),c()}catch(a){c(a)}},!1),706182,a=>a.a(async(b,c)=>{try{var d=a.i(912714),e=a.i(569572),f=a.i(229666),g=a.i(684321),h=a.i(821415),i=a.i(293480),j=a.i(182248),k=a.i(221214),l=a.i(654034),m=a.i(674986),n=a.i(446957),o=a.i(839430),p=a.i(344853),q=b([f,k,l,m,o,p]);async function r(a,b=null){let c=await (0,h.insideWorkspace)(a),e=c?await (0,d.stat)(c).catch(()=>null):null;if(!e?.isFile())return{state:"gone"};let g=await t(a,b);if(!g)return{state:"none",bot:await (0,f.botOfArtifact)(a),threadDeleted:null!==b};let m={id:g.id,label:g.label,bot:g.bot};if("waiting"===g.status&&g.pending&&!(0,n.isAppStop)(g.pending))return{state:"asking",thread:m,bot:g.pending.bot??g.bot,question:g.outcome??""};let p=a.split("/")[1]?.toLowerCase(),q=[...new Set((await (0,o.listRoomWork)(g.id)).map(a=>a.bot))].find(a=>a!==g.bot&&(0,h.botFolderName)(a).toLowerCase()===p),s=(q&&await (0,k.findJobBot)(q))??await (0,k.findJobBot)(g.bot);if(!s)return{state:"refused",thread:m,reason:"deleted",why:`${q??g.bot} was deleted, so nobody in this thread can take it up.`};try{await (0,l.resolveModel)(s,{quiet:!0})}catch(a){if(!(0,i.isPublicError)(a))throw a;return{state:"refused",thread:m,reason:"model",why:(0,j.errorToString)(a)}}return{state:"open",thread:m,status:g.status,to:s.name,coordinator:g.bot,paused:"waiting"===g.status&&(0,n.isAppStop)(g.pending)?g.outcome:null}}[f,k,l,m,o,p]=q.then?(await q)():q;let u=(a,b)=>`About \`${a}\`:
|
|
2
2
|
|
|
3
|
-
${b.trim()}`;async function s(a,b,c=null){let d=await r(a,c);return"gone"===d.state&&(0,i.publicError)("This file is no longer on disk."),"none"===d.state&&(0,i.publicError)(`${d.threadDeleted?"This file's thread was deleted.":"No thread's report names this file."} Hand it to a bot as a new job.`),"asking"===d.state&&(0,i.publicError)(`${d.bot} is waiting on your answer to a question. Answer it in the thread first.`),"refused"===d.state&&(0,i.publicError)(d.why),await (0,m.answerThread)(d.thread.id,u(a,b),"user",d.to),{id:d.thread.id,label:d.thread.label,to:d.to}}async function t(a,b){if(b)return(0,p.findThread)(b);let c=function(a){let[b,c,d,...f]=a.split("/");return b===e.PATHS.artifacts&&c&&d&&f.length?`${b}/${c}/${d}`:null}(a),d=await (0,o.listReportsNaming)(c??a),f=async a=>{for(let b of d){if(!(0,g.pathsIn)(b.text).some(a))continue;let c=await (0,p.findThread)(b.threadId);if(c)return c}return null};return await f(b=>b===a)??(c?await f(a=>a.startsWith(`${c}/`)):null)}a.s(["aboutFile",0,u,"readFileThread",0,r,"tellFileThread",0,s]),c()}catch(a){c(a)}},!1),69999,a=>{"use strict";var b=a.i(137936),c=a.i(53112),d=a.i(225689),e=a.i(487591),f=a.i(713095);let g=c.z.string().trim().min(1),h=c.z.string().min(1),i=(0,d.serverAction)(async(a,b,d,f)=>{await (0,e.setSignInBot)(g.parse(a),h.parse(b),c.z.string().min(1).parse(d),c.z.boolean().parse(f))}),j=(0,d.serverAction)(async(a,b)=>{await (0,e.removeSignIn)(g.parse(a),h.parse(b))});(0,f.ensureServerEntryExports)([i,j]),(0,b.registerServerReference)(i,"
|
|
3
|
+
${b.trim()}`;async function s(a,b,c=null){let d=await r(a,c);return"gone"===d.state&&(0,i.publicError)("This file is no longer on disk."),"none"===d.state&&(0,i.publicError)(`${d.threadDeleted?"This file's thread was deleted.":"No thread's report names this file."} Hand it to a bot as a new job.`),"asking"===d.state&&(0,i.publicError)(`${d.bot} is waiting on your answer to a question. Answer it in the thread first.`),"refused"===d.state&&(0,i.publicError)(d.why),await (0,m.answerThread)(d.thread.id,u(a,b),"user",d.to),{id:d.thread.id,label:d.thread.label,to:d.to}}async function t(a,b){if(b)return(0,p.findThread)(b);let c=function(a){let[b,c,d,...f]=a.split("/");return b===e.PATHS.artifacts&&c&&d&&f.length?`${b}/${c}/${d}`:null}(a),d=await (0,o.listReportsNaming)(c??a),f=async a=>{for(let b of d){if(!(0,g.pathsIn)(b.text).some(a))continue;let c=await (0,p.findThread)(b.threadId);if(c)return c}return null};return await f(b=>b===a)??(c?await f(a=>a.startsWith(`${c}/`)):null)}a.s(["aboutFile",0,u,"readFileThread",0,r,"tellFileThread",0,s]),c()}catch(a){c(a)}},!1),69999,a=>{"use strict";var b=a.i(137936),c=a.i(53112),d=a.i(225689),e=a.i(487591),f=a.i(713095);let g=c.z.string().trim().min(1),h=c.z.string().min(1),i=(0,d.serverAction)(async(a,b,d,f)=>{await (0,e.setSignInBot)(g.parse(a),h.parse(b),c.z.string().min(1).parse(d),c.z.boolean().parse(f))}),j=(0,d.serverAction)(async(a,b)=>{await (0,e.removeSignIn)(g.parse(a),h.parse(b))});(0,f.ensureServerEntryExports)([i,j]),(0,b.registerServerReference)(i,"7f329c6ce9546b9bbe43207116dfc1130f75e5a292",null),(0,b.registerServerReference)(j,"7ff49909ad8823b5ef360e3ed4911396403ed91cee",null),a.s(["removeSignInAction",0,j,"setSignInBotAction",0,i])},451208,a=>a.a(async(b,c)=>{try{var d=a.i(137936),e=a.i(569572),f=a.i(821415),g=a.i(941981),h=a.i(225689),i=a.i(293480),j=a.i(201013),k=a.i(182248),l=a.i(713095),m=b([g]);[g]=m.then?(await m)():m;let o=(0,h.serverAction)(async a=>{let{target:b,full:c}=await n(a);try{await (0,j.openPath)(c)}catch(a){(0,i.publicError)(`Could not open ${b}: ${(0,k.errorToString)(a)}`)}}),p=(0,h.serverAction)(async a=>{let{target:b,full:c}=await n(a);try{await (0,j.revealPath)(c)}catch(a){(0,i.publicError)(`Could not show ${b}: ${(0,k.errorToString)(a)}`)}});async function n(a){let b=a.trim();b||(0,i.publicError)("Which file?");let c=await (0,f.openWorkspace)();return{target:b,full:c.resolve(b)}}let q=(0,h.serverAction)(async a=>{let b=a.trim();b||(0,i.publicError)("Which file?"),await (0,g.deleteWorkspaceFile)(b)}),r=(0,h.serverAction)(async(a,b,c)=>{let d=a.trim();return d||(0,i.publicError)("Which page?"),"string"!=typeof b&&(0,i.publicError)("Nothing to keep."),"string"!=typeof c&&(0,i.publicError)("Which revision?"),(0,g.savePage)(d,b,c)}),s=(0,h.serverAction)(async()=>(0,g.emptyScratch)()),t=(0,h.serverAction)(async a=>{a instanceof FormData||(0,i.publicError)("No files came with that.");let b=a.getAll("file").filter(a=>a instanceof File&&a.size>0);b.length||(0,i.publicError)("No files came with that."),b.length>e.GIVEN_FILES.perMessage&&(0,i.publicError)(`At most ${e.GIVEN_FILES.perMessage} files at a time.`);let c=b.find(a=>a.size>e.GIVEN_FILES.maxBytes);return c&&(0,i.publicError)(`${c.name} is larger than ${Math.round(e.GIVEN_FILES.maxBytes/1024/1024)} MB.`),(0,g.keepGivenFiles)(b)});(0,l.ensureServerEntryExports)([o,p,q,r,s,t]),(0,d.registerServerReference)(o,"7fcbd6568a4eb8a342cb55bff2c269c3391c25574f",null),(0,d.registerServerReference)(p,"7f42e2daa2da92f125dd934414c999ea8cddaf2441",null),(0,d.registerServerReference)(q,"7f225d450f53c4344c1735d5981a402c7265d469c8",null),(0,d.registerServerReference)(r,"7fb8c7f9db25756a8e9046115c1417c21586b0b359",null),(0,d.registerServerReference)(s,"7fe96bf1186b240a2834c6e2bfb8dcf43ff788a320",null),(0,d.registerServerReference)(t,"7ff5c9c6eb174c2cb72ff218342df8a8537032d267",null),a.s(["deleteWorkspaceFileAction",0,q,"emptyScratchAction",0,s,"giveFilesAction",0,t,"openFileAction",0,o,"revealFileAction",0,p,"savePageAction",0,r]),c()}catch(a){c(a)}},!1),225689,a=>{"use strict";var b=a.i(422842);a.s(["serverAction",0,a=>(...c)=>(0,b.toResult)(()=>a(...c))])},201013,a=>{"use strict";var b=a.i(874533),c=a.i(912714),d=a.i(750227),e=a.i(812057);let f={darwin:a=>["open",[a]],win32:a=>["cmd.exe",["/c","start","",a]],linux:a=>["xdg-open",[a]]},g={darwin:a=>["open",["-R",a]],win32:a=>["explorer.exe",[`/select,${a}`]],linux:a=>["xdg-open",[(0,d.dirname)(a)]]};async function h(a){await (0,c.access)(a),await j(f,a)}async function i(a){let b=await (0,c.stat)(a);await j(b.isDirectory()?f:g,a)}async function j(a,c){let d=a[process.platform]?.(c);if(!d)throw Error(`Opening files is not wired up on ${process.platform}.`);let[f,g]=d;await (0,e.promisify)(b.execFile)(f,g,{windowsHide:!0}).catch(a=>{if("explorer.exe"!==f)throw a})}a.s(["openPath",0,h,"revealPath",0,i])},713095,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
4
4
|
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},137936,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(211857)}];
|
|
5
5
|
|
|
6
6
|
//# sourceMappingURL=_1soynbw._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[148016,a=>{"use strict";let b=a=>a.split("/").map(encodeURIComponent).join("/");a.s(["decodePagePath",0,a=>a.map(decodeURIComponent).join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:a=>({url:"/api/memory",query:{offset:a||null}}),mcp:"/api/mcp",mcpServer:a=>({url:"/api/mcp",pathVariable:[a]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(a,b,c)=>({url:"/api/skills",pathVariable:[a,b],query:{path:c}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:a=>({url:"/api/bot/memory/files",query:{bot:a}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:a=>({url:"/api/bot/thread",query:{history:1,before:a}}),thread:a=>({url:"/api/bot/thread",query:{id:a}}),fileNotes:"/api/bot/thread/file",fileNote:(a,b)=>({url:"/api/bot/thread/file",query:{path:a,from:b}}),toolResult:(a,b)=>({url:"/api/bot/thread",pathVariable:[a],query:{call:b}}),workspace:"/api/workspace",workspaceFolder:(a,b)=>({url:"/api/workspace",query:{path:a||null,rows:b}}),workspaceFiles:a=>({url:"/api/workspace/files",query:{paths:JSON.stringify(a)}}),artifacts:"/api/artifact",artifactShelf:a=>({url:"/api/artifact",query:{rows:a}}),artifactSet:(a,b)=>({url:"/api/artifact",query:{set:a,rows:b}}),file:a=>`/api/file/${b(a)}`,fileFace:a=>`/api/file/${b(a)}?face`,favicon:a=>`/api/favicon/${encodeURIComponent(a)}`,fileView:a=>`/artifact/${b(a)}`,events:"/api/events",config:"/api/config",callHistory:a=>({url:"/api/thursday/call",query:{before:a}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:a=>`/api/llm-model/catalog/${a}`,keyCredits:a=>`/api/llm-model/credits/${a}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running"}])},62721,a=>{"use strict";let b="currentColor",c=[{id:"system",label:"System",value:b},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],d=Object.fromEntries(c.map(a=>[a.id,a.value])),e=c.filter(a=>a.value!==b).map(a=>a.value),f=[d.amber,d.red],g={[d.cyan]:"#009dbb",[d.teal]:"#00a190",[d.green]:"#00a640",[d.lime]:"#5ca100",[d.amber]:"#d07b00",[d.orange]:"#ec6700",[d.sky]:"#0098dc",[d.emerald]:"#00a46d",[d.yellow]:"#bb8600"},h={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(a=>`oklch(0.77 0.16 ${a})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},i=Object.keys(h);a.s(["MARK_INK",0,d,"MARK_PAINTS",0,h,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,b,"markInk",0,(a,b)=>b?a:g[a]??a,"randomMarkFill",0,function(){let a=[...e.filter(a=>!f.includes(a)).map(a=>({color:a})),...i.map(a=>({paint:a}))];return a[Math.floor(Math.random()*a.length)]}])},569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(552556),j=a.i(344853),k=a.i(725466),l=a.i(3894),m=b([g,j,k]);async function n(){let a=function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(await (0,k.readConfig)(l.THURSDAY_KEYS.settings)),b=i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a));return a?b:{...b,readSkills:await o()}}async function o(){return(await (0,k.readConfig)(l.THURSDAY_KEYS.wasSkills))?.trim()==="on"}async function p(a){let b=Object.fromEntries(Object.entries(a).filter(([a,b])=>b!==i.LIVE_DEFAULTS[a]));await (0,k.writeConfig)(l.THURSDAY_KEYS.settings,JSON.stringify(b))}async function q(a){let b=i.LiveSettingsSchema.partial().parse(a),c=Object.fromEntries(Object.entries(b).filter(([b])=>b in a));await p({...await n(),...c})}async function r(a){return!await (0,k.readConfig)(l.THURSDAY_KEYS.settings)&&(await p({...i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a)),readSkills:await o()}),!0)}async function s(a){let[b]=await g.database.insert(h.callTable).values({id:crypto.randomUUID(),...a}).returning({id:h.callTable.id});return b.id}async function t(a,b){return(await g.database.update(h.callTable).set({endedAt:new Date,...b?{endedReason:b.reason,seconds:b.seconds??null}:{}}).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function u(a,b){for(let c of b)await g.database.insert(h.callMessageTable).values({callId:a,...c,fragments:c.fragments??null}).onConflictDoUpdate({target:[h.callMessageTable.callId,h.callMessageTable.id],set:{text:c.text,role:c.role,tool:c.tool??null,fragments:c.fragments??null}})}async function v(a){let[b]=await g.database.select({seq:f.sql`max(${h.callMessageTable.seq})`}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a));return b?.seq==null?0:Number(b.seq)+1}async function w(a,b){await g.database.insert(h.callThoughtTable).values({callId:a,...b}).onConflictDoNothing()}async function x(a,b){let c=await g.database.select({callId:h.callMessageTable.callId,startedAt:h.callTable.startedAt,role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text,seq:h.callMessageTable.seq}).from(h.callMessageTable).innerJoin(h.callTable,(0,d.eq)(h.callMessageTable.callId,h.callTable.id)).where(b?(0,d.ne)(h.callMessageTable.callId,b):void 0).orderBy((0,e.desc)(h.callTable.startedAt),(0,e.desc)(h.callMessageTable.seq)).limit(a),f=new Map;for(let a of c){let b=f.get(a.callId)??{callId:a.callId,startedAt:a.startedAt,turns:[]};b.turns.push({role:a.role,tool:a.tool,text:a.text,seq:a.seq}),f.set(a.callId,b)}return[...f.values()].reverse().map(a=>({...a,turns:a.turns.reverse()}))}async function y(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).limit(1)).length>0}async function z(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.isNull)(h.callTable.endedAt)).limit(1)).length>0}async function A(a){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).limit(1)).length>0}async function B(a){return(await g.database.delete(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNotNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function C(a){let b=(0,d.isNotNull)(h.callTable.endedAt);return(await g.database.delete(h.callTable).where(a?(0,d.and)(b,(0,d.lt)(h.callTable.endedAt,a)):b).returning({id:h.callTable.id})).length}[g,j,k]=m.then?(await m)():m,a.s(["changeLiveSettings",0,q,"deleteCall",0,B,"deleteEndedCalls",0,C,"endCall",0,t,"hasAnyCall",0,y,"insertCall",0,s,"isAnyCallLive",0,z,"isCallOpen",0,A,"listRecentTurns",0,x,"nextTurnSeq",0,v,"readLiveSettings",0,n,"saveThought",0,w,"saveTurns",0,u,"seedLiveSettings",0,r]),c()}catch(a){c(a)}},!1),3894,a=>{"use strict";var b=a.i(723885),c=a.i(689656),d=a.i(746609);let e=b.default.object({place:b.default.string().max(120).regex(/^[^\n\r]*$/).nullable(),weather:b.default.object({code:b.default.number().int().min(0).max(99),temperature:b.default.number(),low:b.default.number(),high:b.default.number(),sunrise:b.default.string().regex(/^\d{2}:\d{2}$/),sunset:b.default.string().regex(/^\d{2}:\d{2}$/),gusts:b.default.number().min(0).nullish()}).nullable()}),f=[{id:"chatgpt",...c.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...c.TEXT_MODEL_PROVIDERS.openai}],g=b.default.object({id:b.default.string().min(1),text:b.default.string(),said:b.default.boolean()});b.default.object({enabled:b.default.boolean(),phrase:b.default.string().trim().min(3).max(32)}),b.default.object({enabled:b.default.boolean(),combo:b.default.string().trim().min(1).max(64)}),b.default.enum(["off","waiting","any"]),b.default.enum(["center","sides"]);let h=b.default.object({id:b.default.string().min(1),role:b.default.enum(["user","assistant","tool"]),tool:b.default.string().nullish(),text:b.default.string(),seq:b.default.number().int().min(0),fragments:b.default.array(d.LiveFragmentSchema).nullish()}),i=b.default.object({id:b.default.string().min(1),text:b.default.string(),seq:b.default.number().int().min(0)});a.s(["CallThoughtSchema",0,i,"CallTurnSchema",0,h,"TEXT_CALL_PROVIDERS",0,f,"THURSDAY_KEYS",0,{settings:"THURSDAY_SETTINGS",wasSkills:"THURSDAY_SKILLS"},"TextCallNoteSchema",0,g,"WhereSchema",0,e,"textCallRunsOn",0,a=>f.find(b=>a(b.apiKeyName))?.id??null])}];
|
|
1
|
+
module.exports=[148016,a=>{"use strict";let b=a=>a.split("/").map(encodeURIComponent).join("/");a.s(["decodePagePath",0,a=>a.map(decodeURIComponent).join("/"),"queryKey",0,{memory:"/api/memory",memoryPage:a=>({url:"/api/memory",query:{offset:a||null}}),mcp:"/api/mcp",mcpServer:a=>({url:"/api/mcp",pathVariable:[a]}),mcpTools:"/api/mcp/tools",skills:"/api/skills",skillNode:(a,b,c)=>({url:"/api/skills",pathVariable:[a,b],query:{path:c}}),bot:"/api/bot",botMemory:"/api/bot/memory",botMemoryFiles:a=>({url:"/api/bot/memory/files",query:{bot:a}}),routines:"/api/routine",threads:"/api/bot/thread",threadHistory:a=>({url:"/api/bot/thread",query:{history:1,before:a}}),thread:a=>({url:"/api/bot/thread",query:{id:a}}),fileNotes:"/api/bot/thread/file",fileNote:(a,b)=>({url:"/api/bot/thread/file",query:{path:a,from:b}}),toolResult:(a,b)=>({url:"/api/bot/thread",pathVariable:[a],query:{call:b}}),workspace:"/api/workspace",workspaceFolder:(a,b)=>({url:"/api/workspace",query:{path:a||null,rows:b}}),workspaceFiles:a=>({url:"/api/workspace/files",query:{paths:JSON.stringify(a)}}),artifacts:"/api/artifact",artifactShelf:a=>({url:"/api/artifact",query:{rows:a}}),artifactSet:(a,b)=>({url:"/api/artifact",query:{set:a,rows:b}}),file:a=>`/api/file/${b(a)}`,fileFace:a=>`/api/file/${b(a)}?face`,favicon:a=>`/api/favicon/${encodeURIComponent(a)}`,fileView:a=>`/artifact/${b(a)}`,events:"/api/events",config:"/api/config",callHistory:a=>({url:"/api/thursday/call",query:{before:a}}),thursdaySettings:"/api/thursday/settings",toolCall:"/api/thursday/tool-call",callEnd:"/api/thursday/call/end",signIns:"/api/signins",reach:"/api/reach",textCall:"/api/thursday/text",memoryEdit:"/api/memory/edit",llmModel:"/api/llm-model",automaticModel:"/api/llm-model/automatic",modelCatalog:a=>`/api/llm-model/catalog/${a}`,keyCredits:a=>`/api/llm-model/credits/${a}`,subscriptionUsage:"/api/llm-model/subscription",running:"/api/running"}])},62721,a=>{"use strict";let b="currentColor",c=[{id:"system",label:"System",value:b},{id:"slate",label:"Slate",value:"#64748B"},{id:"indigo",label:"Indigo",value:"#6366F1"},{id:"blue",label:"Blue",value:"#3B82F6"},{id:"cyan",label:"Cyan",value:"#06B6D4"},{id:"teal",label:"Teal",value:"#14B8A6"},{id:"green",label:"Green",value:"#22C55E"},{id:"lime",label:"Lime",value:"#84CC16"},{id:"amber",label:"Amber",value:"#F59E0B"},{id:"orange",label:"Orange",value:"#F97316"},{id:"red",label:"Red",value:"#EF4444"},{id:"pink",label:"Pink",value:"#EC4899"},{id:"violet",label:"Violet",value:"#8B5CF6"},{id:"fuchsia",label:"Fuchsia",value:"#D946EF"},{id:"rose",label:"Rose",value:"#F43F5E"},{id:"sky",label:"Sky",value:"#0EA5E9"},{id:"emerald",label:"Emerald",value:"#10B981"},{id:"yellow",label:"Yellow",value:"#EAB308"},{id:"stone",label:"Stone",value:"#78716C"}],d=Object.fromEntries(c.map(a=>[a.id,a.value])),e=c.filter(a=>a.value!==b).map(a=>a.value),f=[d.amber,d.red],g={[d.cyan]:"#009dbb",[d.teal]:"#00a190",[d.green]:"#00a640",[d.lime]:"#5ca100",[d.amber]:"#d07b00",[d.orange]:"#ec6700",[d.sky]:"#0098dc",[d.emerald]:"#00a46d",[d.yellow]:"#bb8600"},h={rainbow:{label:"Rainbow",look:"flow",colors:[0,45,90,140,190,240,290,330,360].map(a=>`oklch(0.77 0.16 ${a})`)},duo:{label:"Duo",look:"duo",colors:["#818CF8","#F472B6"]},aurora:{label:"Aurora",look:"aurora",edge:"dark",colors:["#1a2f73","#2c56c9","#34d399","#22d3ee","#a7f3d0"]},"aurora-pink":{label:"Pink aurora",look:"aurora",edge:"dark",colors:["#3a1478","#7c3aed","#f472b6","#e879f9","#fbcfe8"]}},i=Object.keys(h);a.s(["MARK_INK",0,d,"MARK_PAINTS",0,h,"MARK_PAINT_IDS",0,i,"MARK_SHAPES",0,["blob","poly","squircle","heart"],"MARK_SYSTEM",0,b,"markInk",0,(a,b)=>b?a:g[a]??a,"randomMarkFill",0,function(){let a=[...e.filter(a=>!f.includes(a)).map(a=>({color:a})),...i.map(a=>({paint:a}))];return a[Math.floor(Math.random()*a.length)]}])},569549,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674);a.i(569572);var g=a.i(184838),h=a.i(714428),i=a.i(552556),j=a.i(344853),k=a.i(725466),l=a.i(3894),m=b([g,j,k]);async function n(){let a=function(a){if(!a)return null;try{let b=JSON.parse(a);return b&&"object"==typeof b&&!Array.isArray(b)?b:null}catch{return null}}(await (0,k.readConfig)(l.THURSDAY_KEYS.settings)),b=i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a));return a?b:{...b,readSkills:await o()}}async function o(){return(await (0,k.readConfig)(l.THURSDAY_KEYS.wasSkills))?.trim()==="on"}async function p(a){let b=Object.fromEntries(Object.entries(a).filter(([a,b])=>b!==i.LIVE_DEFAULTS[a]));await (0,k.writeConfig)(l.THURSDAY_KEYS.settings,JSON.stringify(b))}async function q(a){let b=i.LiveSettingsSchema.partial().parse(a),c=Object.fromEntries(Object.entries(b).filter(([b])=>b in a));await p({...await n(),...c})}async function r(a){return!await (0,k.readConfig)(l.THURSDAY_KEYS.settings)&&(await p({...i.LiveSettingsSchema.parse((0,i.migrateLiveSettings)(a)),readSkills:await o()}),!0)}async function s(a){let[b]=await g.database.insert(h.callTable).values({id:crypto.randomUUID(),...a}).returning({id:h.callTable.id});return b.id}async function t(a,b){return(await g.database.update(h.callTable).set({endedAt:new Date,...b?{endedReason:b.reason,seconds:b.seconds??null}:{}}).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function u(a,b){for(let c of b)await g.database.insert(h.callMessageTable).values({callId:a,...c,fragments:c.fragments??null}).onConflictDoUpdate({target:[h.callMessageTable.callId,h.callMessageTable.id],set:{text:c.text,role:c.role,tool:c.tool??null,fragments:c.fragments??null}})}async function v(a){let[b]=await g.database.select({seq:f.sql`max(${h.callMessageTable.seq})`}).from(h.callMessageTable).where((0,d.eq)(h.callMessageTable.callId,a));return b?.seq==null?0:Number(b.seq)+1}async function w(a,b){await g.database.insert(h.callThoughtTable).values({callId:a,...b}).onConflictDoNothing()}async function x(a,b){let c=await g.database.select({callId:h.callMessageTable.callId,startedAt:h.callTable.startedAt,role:h.callMessageTable.role,tool:h.callMessageTable.tool,text:h.callMessageTable.text,seq:h.callMessageTable.seq}).from(h.callMessageTable).innerJoin(h.callTable,(0,d.eq)(h.callMessageTable.callId,h.callTable.id)).where(b?(0,d.ne)(h.callMessageTable.callId,b):void 0).orderBy((0,e.desc)(h.callTable.startedAt),(0,e.desc)(h.callMessageTable.seq)).limit(a),f=new Map;for(let a of c){let b=f.get(a.callId)??{callId:a.callId,startedAt:a.startedAt,turns:[]};b.turns.push({role:a.role,tool:a.tool,text:a.text,seq:a.seq}),f.set(a.callId,b)}return[...f.values()].reverse().map(a=>({...a,turns:a.turns.reverse()}))}async function y(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).limit(1)).length>0}async function z(){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.isNull)(h.callTable.endedAt)).limit(1)).length>0}async function A(a){return(await g.database.select({id:h.callTable.id}).from(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNull)(h.callTable.endedAt))).limit(1)).length>0}async function B(a){return(await g.database.delete(h.callTable).where((0,d.and)((0,d.eq)(h.callTable.id,a),(0,d.isNotNull)(h.callTable.endedAt))).returning({id:h.callTable.id})).length>0}async function C(a){let b=(0,d.isNotNull)(h.callTable.endedAt);return(await g.database.delete(h.callTable).where(a?(0,d.and)(b,(0,d.lt)(h.callTable.endedAt,a)):b).returning({id:h.callTable.id})).length}[g,j,k]=m.then?(await m)():m,a.s(["changeLiveSettings",0,q,"deleteCall",0,B,"deleteEndedCalls",0,C,"endCall",0,t,"hasAnyCall",0,y,"insertCall",0,s,"isAnyCallLive",0,z,"isCallOpen",0,A,"listRecentTurns",0,x,"nextTurnSeq",0,v,"readLiveSettings",0,n,"saveThought",0,w,"saveTurns",0,u,"seedLiveSettings",0,r]),c()}catch(a){c(a)}},!1),3894,a=>{"use strict";var b=a.i(723885);a.i(148016);var c=a.i(689656);a.i(684321);var d=a.i(746609);let e=b.default.object({place:b.default.string().max(120).regex(/^[^\n\r]*$/).nullable(),weather:b.default.object({code:b.default.number().int().min(0).max(99),temperature:b.default.number(),low:b.default.number(),high:b.default.number(),sunrise:b.default.string().regex(/^\d{2}:\d{2}$/),sunset:b.default.string().regex(/^\d{2}:\d{2}$/),gusts:b.default.number().min(0).nullish()}).nullable()}),f=[{id:"chatgpt",...c.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...c.TEXT_MODEL_PROVIDERS.openai}],g=b.default.object({id:b.default.string().min(1),text:b.default.string(),said:b.default.boolean(),pictures:b.default.array(b.default.string()).optional()});b.default.object({enabled:b.default.boolean(),phrase:b.default.string().trim().min(3).max(32)}),b.default.object({enabled:b.default.boolean(),combo:b.default.string().trim().min(1).max(64)}),b.default.enum(["off","waiting","any"]),b.default.enum(["center","sides"]);let h=b.default.object({id:b.default.string().min(1),role:b.default.enum(["user","assistant","tool"]),tool:b.default.string().nullish(),text:b.default.string(),seq:b.default.number().int().min(0),fragments:b.default.array(d.LiveFragmentSchema).nullish()}),i=b.default.object({id:b.default.string().min(1),text:b.default.string(),seq:b.default.number().int().min(0)});a.s(["CallThoughtSchema",0,i,"CallTurnSchema",0,h,"TEXT_CALL_PROVIDERS",0,f,"THURSDAY_KEYS",0,{settings:"THURSDAY_SETTINGS",wasSkills:"THURSDAY_SKILLS"},"TextCallNoteSchema",0,g,"WhereSchema",0,e,"textCallRunsOn",0,a=>f.find(b=>a(b.apiKeyName))?.id??null])},684321,a=>{"use strict";var b=a.i(148016),c=a.i(569572);let d=a=>`text/${a}; charset=utf-8`,e={md:{kind:"markdown",mime:d("markdown")},markdown:{kind:"markdown",mime:d("markdown")},csv:{kind:"csv",mime:d("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:d("plain")},log:{kind:"text",mime:d("plain")},html:{kind:"frame",mime:d("html")},htm:{kind:"frame",mime:d("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:d("css")},js:{kind:"none",mime:d("javascript")},woff2:{kind:"none",mime:"font/woff2"}},f=a=>a.split(".").pop()?.toLowerCase()??"",g=a=>e[f(a)]?.kind??"none",h=new Set(["css","js","woff2"]),i=Object.keys(e).filter(a=>!h.has(a)),j=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${i.join("|")})\b`,"giu"),k=`${c.PATHS.workspace}/`,l=b.queryKey.file(""),m=a=>a.startsWith(`${c.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(f(a));a.s(["extensionOf",0,f,"isPicture",0,a=>"image"===g(a)&&"svg"!==f(a),"leadFirst",0,function(a){let b=a.findIndex(m);return b>0?[a[b],...a.filter((a,c)=>c!==b)]:a},"mimeOf",0,a=>e[f(a)]?.mime??"application/octet-stream","pathsIn",0,function(a){let b=a.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),c=new Set,d="";for(let[a]of b.matchAll(j)){let b=!a.includes("/"),e=function(a){let b,c,d=(c=(b=function(a){if(!a.startsWith(l))return a;let b=a.slice(l.length);try{return decodeURIComponent(b)}catch{return b}}(a.trim())).indexOf(k))>=0?b.slice(c+k.length)||null:b.startsWith("/")||/^[A-Za-z]:/.test(b)||b.split("/").includes("..")?null:b||null;if(!d)return null;let[e,...f]=d.split("/");return f.length&&e.includes(".")?null:d}(b?d+a:a);b||(d=e?.slice(0,e.lastIndexOf("/")+1)??""),e&&c.add(e)}return[...c].slice(0,12)},"viewKindOf",0,g])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=_1v1pcoh._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[608902,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(340345),e=a.i(164831);let f={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};f.node;let g=(0,e.default)(f);var h=a.i(126766),i=a.i(572131),j=a.i(767561),k=a.i(340695),l=a.i(205522),m=a.i(630342),n=a.i(287702),o=a.i(404153),p=a.i(478978),q=a.i(313237),r=a.i(759497),s=a.i(497895),t=a.i(61876),u=a.i(852307),v=a.i(158983),w=a.i(233540),x=a.i(965733),y=a.i(777794),z=a.i(379630);let A={alibaba:[{d:"M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"}],amazon:[{d:"M13.05 15.513h3.08c.214 0 .389.177.389.394v1.82a1.704 1.704 0 011.296 1.661c0 .943-.755 1.708-1.685 1.708-.931 0-1.686-.765-1.686-1.708 0-.807.554-1.484 1.297-1.662v-1.425h-2.69v4.663a.395.395 0 01-.188.338l-2.69 1.641a.385.385 0 01-.405-.002l-4.926-3.086a.395.395 0 01-.185-.336V16.3L2.196 14.87A.395.395 0 012 14.555L2 14.528V9.406c0-.14.073-.27.192-.34l2.465-1.462V4.448c0-.129.062-.249.165-.322l.021-.014L9.77 1.058a.385.385 0 01.407 0l2.69 1.675a.395.395 0 01.185.336V7.6h3.856V5.683a1.704 1.704 0 01-1.296-1.662c0-.943.755-1.708 1.685-1.708.931 0 1.685.765 1.685 1.708 0 .807-.553 1.484-1.296 1.662v2.311a.391.391 0 01-.389.394h-4.245v1.806h6.624a1.69 1.69 0 011.64-1.313c.93 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708a1.69 1.69 0 01-1.64-1.314H13.05v1.937h4.953l.915 1.18a1.66 1.66 0 01.84-.227c.931 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708-.93 0-1.685-.765-1.685-1.708 0-.346.102-.668.276-.937l-.724-.935H13.05v1.806zM9.973 1.856L7.93 3.122V6.09h-.778V3.604L5.435 4.669v2.945l2.11 1.36L9.712 7.61V5.334h.778V7.83c0 .136-.07.263-.184.335L7.963 9.638v2.081l1.422 1.009-.446.646-1.406-.998-1.53 1.005-.423-.66 1.605-1.055v-1.99L5.038 8.29l-2.26 1.34v1.676l1.972-1.189.398.677-2.37 1.429V14.3l2.166 1.258 2.27-1.368.397.677-2.176 1.311V19.3l1.876 1.175 2.365-1.426.398.678-2.017 1.216 1.918 1.201 2.298-1.403v-5.78l-4.758 2.893-.4-.675 5.158-3.136V3.289L9.972 1.856zM16.13 18.47a.913.913 0 00-.908.92c0 .507.406.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zm3.63-3.81a.913.913 0 00-.908.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92zm1.555-4.99a.913.913 0 00-.908.92c0 .507.407.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zM17.296 3.1a.913.913 0 00-.907.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92z"}],"arcee-ai":[{d:"M13.236 2.377L2.751 20.493H0L11.863 0l1.373 2.377zm3.554 6.156l-9.606 11.96H4.13L15.511 6.32l1.279 2.212zm6.908 11.96H14.05l8.406-2.151 1.242 2.15zm-3.42-5.922l-7.843 5.92H8.482l10.597-7.997 1.2 2.077z"}],bfl:[{d:"M0 20.683L12.01 2.5 24 20.683h-2.233L12.009 5.878 3.471 18.806h12.122l1.239 1.877H0z"},{d:"M8.069 16.724l2.073-3.115 2.074 3.115H8.069zM18.24 20.683l-5.668-8.707h2.177l5.686 8.707h-2.196zM19.74 11.676l2.13-3.19 2.13 3.19h-4.26z"}],bytedance:[{d:"M14.944 18.587l-1.704-.445V10.01l1.824-.462c1-.254 1.84-.461 1.88-.453.032 0 .056 2.235.056 4.972v4.973l-.176-.008c-.104 0-.952-.207-1.88-.446z"},{d:"M7 16.542c0-2.736.024-4.98.064-4.98.032-.008.872.2 1.88.454l1.816.461-.016 4.05-.024 4.049-1.632.422c-.896.23-1.736.445-1.856.469L7 21.523v-4.98z"},{d:"M19.24 12.477c0-9.03.008-9.515.144-9.475.072.024.784.207 1.576.406.792.207 1.576.405 1.744.445l.296.08-.016 8.56-.024 8.568-1.624.414c-.888.23-1.728.437-1.856.47l-.24.055v-9.523z"},{d:"M1 12.509c0-4.678.024-8.505.064-8.505.032 0 .872.207 1.872.454l1.824.461v7.582c0 4.16-.016 7.574-.032 7.574-.024 0-.872.215-1.88.47L1 21.013v-8.505z"}],"fish-audio":[{d:"M23.12 12.13v.62c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.62c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.37v1.74c0 .24.2.44.44.44.25 0 .44-.2.44-.44V12.5c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76.43v1.99q0 .09.03.17.04.08.1.14.07.07.15.1t.17.03c.24 0 .44-.19.44-.44v-1.99c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17m-1.76.35v1.97c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-1.97c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.32v1.65c0 .25.2.45.44.45s.44-.2.44-.45V13.6c0-.25-.2-.45-.44-.45s-.44.2-.44.45m-1.76 1.26v.3q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-.3q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M0 9.38v.19c0 .24.2.44.44.44.25 0 .44-.2.44-.44v-.19c0-.25-.19-.44-.44-.44-.24 0-.44.19-.44.44m1.82.15v.81c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.81q0-.18-.13-.31t-.31-.13-.31.13-.13.31m1.81-.24v3.39q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V9.29q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3m1.83-.35v.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.22q0-.18-.13-.31T5.9 8.5t-.31.13-.13.31m0 2.94v2.34c0 .25.19.44.44.44.24 0 .44-.19.44-.44v-2.34c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m15.89-3.32V11c0 .25.2.44.44.44.25 0 .44-.19.44-.44V8.56c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76-.39v3.28q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.17c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17M17.83 8v3.9c0 .24.19.44.44.44.24 0 .44-.2.44-.44V8c0-.25-.2-.44-.44-.44-.25 0-.44.19-.44.44m-1.77.11v3.96c0 .25.2.44.44.44s.44-.19.44-.44V8.11c0-.25-.2-.44-.44-.44s-.44.19-.44.44m-1.76.27v5.03q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.38c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.8.46v5.75q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.84c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.76.76v5.52c0 .24.2.44.44.44.25 0 .44-.2.44-.44V9.6c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.77 1.01v4.77q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-4.77q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M23.12 9.6v1.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44V9.6c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44M7.21 11.32V16c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-4.68q0-.18-.13-.31t-.31-.13-.31.13-.13.31"}],inception:[{d:"M14.767 1H7.884L1 7.883v6.884h6.884V7.883h6.883V1zM9.234 23h6.882L23 16.116V9.233h-6.884v6.883H9.234V23z"}],klingai:[{d:"M5.493 21.234c-1.112-1.451-1.109-4.263-.081-7.459l-4.557-2.63a1.683 1.683 0 01-.85-1.304 1.505 1.505 0 01.08-.622 13.18 13.18 0 011.037-2.255c3.476-6.02 10.916-8.23 16.619-4.938.46.266.82.67 1.081 1.184.785 1.545.685 4.096-.234 6.954l4.557 2.631c.339.196.596.492.736.832a1.53 1.53 0 01.034 1.093 13.146 13.146 0 01-1.037 2.255c-3.476 6.02-10.916 8.23-16.619 4.938a2.6 2.6 0 01-.766-.68zm11.096-6.615c-2.073 3.591-5.808 5.316-8.343 3.852-1.267-.731-1.994-2.122-2.145-3.778-.095-1.035.036-2.173.4-3.32.217-.684.517-1.37.902-2.039l.008-.014c2.073-3.59 5.808-5.315 8.343-3.852.633.366 1.13.895 1.49 1.54.986 1.772.922 4.415-.285 6.914-.111.23-.232.457-.362.683l-.008.014z"}],kwaipilot:[{d:"M11.765.03C5.327.03.108 5.25.108 11.686c0 3.514 1.556 6.665 4.015 8.804L9.89 8.665h6.451L9.31 23.083c.807.173 1.63.26 2.455.26 6.438 0 11.657-5.22 11.657-11.658S18.202.028 11.765.028V.03z"}],meta:[{d:"M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z"}],minimax:[{d:"M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z"}],moonshotai:[{d:"M1.052 16.916l9.539 2.552a21.007 21.007 0 00.06 2.033l5.956 1.593a11.997 11.997 0 01-5.586.865l-.18-.016-.044-.004-.084-.009-.094-.01a11.605 11.605 0 01-.157-.02l-.107-.014-.11-.016a11.962 11.962 0 01-.32-.051l-.042-.008-.075-.013-.107-.02-.07-.015-.093-.019-.075-.016-.095-.02-.097-.023-.094-.022-.068-.017-.088-.022-.09-.024-.095-.025-.082-.023-.109-.03-.062-.02-.084-.025-.093-.028-.105-.034-.058-.019-.08-.026-.09-.031-.066-.024a6.293 6.293 0 01-.044-.015l-.068-.025-.101-.037-.057-.022-.08-.03-.087-.035-.088-.035-.079-.032-.095-.04-.063-.028-.063-.027a5.655 5.655 0 01-.041-.018l-.066-.03-.103-.047-.052-.024-.096-.046-.062-.03-.084-.04-.086-.044-.093-.047-.052-.027-.103-.055-.057-.03-.058-.032a6.49 6.49 0 01-.046-.026l-.094-.053-.06-.034-.051-.03-.072-.041-.082-.05-.093-.056-.052-.032-.084-.053-.061-.039-.079-.05-.07-.047-.053-.035a7.785 7.785 0 01-.054-.036l-.044-.03-.044-.03a6.066 6.066 0 01-.04-.028l-.057-.04-.076-.054-.069-.05-.074-.054-.056-.042-.076-.057-.076-.059-.086-.067-.045-.035-.064-.052-.074-.06-.089-.073-.046-.039-.046-.039a7.516 7.516 0 01-.043-.037l-.045-.04-.061-.053-.07-.062-.068-.06-.062-.058-.067-.062-.053-.05-.088-.084a13.28 13.28 0 01-.099-.097l-.029-.028-.041-.042-.069-.07-.05-.051-.05-.053a6.457 6.457 0 01-.168-.179l-.08-.088-.062-.07-.071-.08-.042-.049-.053-.062-.058-.068-.046-.056a7.175 7.175 0 01-.027-.033l-.045-.055-.066-.082-.041-.052-.05-.064-.02-.025a11.99 11.99 0 01-1.44-2.402zm-1.02-5.794l11.353 3.037a20.468 20.468 0 00-.469 2.011l10.817 2.894a12.076 12.076 0 01-1.845 2.005L.657 15.923l-.016-.046-.035-.104a11.965 11.965 0 01-.05-.153l-.007-.023a11.896 11.896 0 01-.207-.741l-.03-.126-.018-.08-.021-.097-.018-.081-.018-.09-.017-.084-.018-.094c-.026-.141-.05-.283-.071-.426l-.017-.118-.011-.083-.013-.102a12.01 12.01 0 01-.019-.161l-.005-.047a12.12 12.12 0 01-.034-2.145zm1.593-5.15l11.948 3.196c-.368.605-.705 1.231-1.01 1.875l11.295 3.022c-.142.82-.368 1.612-.668 2.365l-11.55-3.09L.124 10.26l.015-.1.008-.049.01-.067.015-.087.018-.098c.026-.148.056-.295.088-.442l.028-.124.02-.085.024-.097c.022-.09.045-.18.07-.268l.028-.102.023-.083.03-.1.025-.082.03-.096.026-.082.031-.095a11.896 11.896 0 011.01-2.232zm4.442-4.4L17.352 4.59a20.77 20.77 0 00-1.688 1.721l7.823 2.093c.267.852.442 1.744.513 2.665L2.106 5.213l.045-.065.027-.04.04-.055.046-.065.055-.076.054-.072.064-.086.05-.065.057-.073.055-.07.06-.074.055-.069.065-.077.054-.066.066-.077.053-.06.072-.082.053-.06.067-.074.054-.058.073-.078.058-.06.063-.067.168-.17.1-.098.059-.056.076-.071a12.084 12.084 0 012.272-1.677zM12.017 0h.097l.082.001.069.001.054.002.068.002.046.001.076.003.047.002.06.003.054.002.087.005.105.007.144.011.088.007.044.004.077.008.082.008.047.005.102.012.05.006.108.014.081.01.042.006.065.01.207.032.07.012.065.011.14.026.092.018.11.022.046.01.075.016.041.01L14.7.3l.042.01.065.015.049.012.071.017.096.024.112.03.113.03.113.032.05.015.07.02.078.024.073.023.05.016.05.016.076.025.099.033.102.036.048.017.064.023.093.034.11.041.116.045.1.04.047.02.06.024.041.018.063.026.04.018.057.025.11.048.1.046.074.035.075.036.06.028.092.046.091.045.102.052.053.028.049.026.046.024.06.033.041.022.052.029.088.05.106.06.087.051.057.034.053.032.096.059.088.055.098.062.036.024.064.041.084.056.04.027.062.042.062.043.023.017c.054.037.108.075.161.114l.083.06.065.048.056.043.086.065.082.064.04.03.05.041.086.069.079.065.085.071c.712.6 1.353 1.283 1.909 2.031L7.222.994l.062-.027.065-.028.081-.034.086-.035c.113-.045.227-.09.341-.131l.096-.035.093-.033.084-.03.096-.031c.087-.03.176-.058.264-.085l.091-.027.086-.025.102-.03.085-.023.1-.026L9.04.37l.09-.023.091-.022.095-.022.09-.02.098-.021.091-.02.095-.018.092-.018.1-.018.091-.016.098-.017.092-.014.097-.015.092-.013.102-.013.091-.012.105-.012.09-.01.105-.01c.093-.01.186-.018.28-.024l.106-.008.09-.005.11-.006.093-.004.1-.004.097-.002.099-.002.197-.002z"}],morph:[{d:"M7.941 2c.23 0 .452.073.638.21.186.136.325.328.397.55l.593 1.814c.073.221.212.413.397.55.186.136.409.21.638.21h2.791c.23 0 .452-.074.638-.21a1.11 1.11 0 00.397-.55l.594-1.815a1.11 1.11 0 01.397-.55c.185-.136.408-.209.637-.209h1.7c.23 0 .453.073.639.21.185.136.324.328.397.55l.652 1.994c.118.361.41.635.77.728l2.957.752c.236.06.446.199.596.394.15.195.23.436.231.684v9.376c0 .248-.081.488-.231.684a1.09 1.09 0 01-.595.394l-2.957.752a1.086 1.086 0 00-.477.263 1.114 1.114 0 00-.293.465l-.653 1.994a1.11 1.11 0 01-.396.55c-.186.136-.41.21-.638.21h-1.702c-.229 0-.452-.073-.637-.21a1.11 1.11 0 01-.397-.55l-.364-1.11a1.131 1.131 0 01.15-1.002 1.074 1.074 0 01.885-.462h2.85c.29 0 .567-.116.772-.325.204-.208.32-.49.32-.785V6.444c0-.294-.116-.577-.32-.785a1.08 1.08 0 00-.771-.326h-3.273c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v7.778c0 .295-.114.578-.319.786a1.08 1.08 0 01-.771.325h-2.182a1.08 1.08 0 01-.771-.325 1.122 1.122 0 01-.32-.786V6.444c0-.294-.115-.577-.32-.785a1.081 1.081 0 00-.77-.326H5.454c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v11.112c0 .294.116.577.32.785.205.209.482.326.772.326h2.85a1.075 1.075 0 01.885.461 1.122 1.122 0 01.15 1.001l-.364 1.112a1.11 1.11 0 01-.397.55c-.185.136-.408.209-.637.209H6.24c-.229 0-.452-.073-.638-.21a1.11 1.11 0 01-.397-.55l-.652-1.994a1.114 1.114 0 00-.294-.465 1.086 1.086 0 00-.477-.263l-2.956-.752a1.09 1.09 0 01-.595-.394A1.124 1.124 0 010 16.688V7.312c0-.248.081-.489.231-.684.15-.195.36-.334.595-.394l2.957-.753c.178-.045.342-.136.477-.263.134-.127.235-.287.293-.464l.653-1.995a1.11 1.11 0 01.397-.55C5.788 2.075 6.01 2 6.24 2h1.701z"}],nvidia:[{d:"M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"}],perplexity:[{d:"M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"}],recraft:[{d:"M19.667 8.275c0-4.57-4.15-8.275-9.27-8.275-1.774 0-3.213 3.705-3.213 8.275 0 1.143.09 2.233.253 3.224H4.29L1 23h9.4v-6.447c5.117 0 9.266-3.707 9.266-8.275l.001-.002zm-9.27-6.76c.93 0 1.682 3.028 1.682 6.76 0 3.733-.752 6.76-1.681 6.76-.93 0-1.681-3.027-1.681-6.76 0-3.732.752-6.76 1.68-6.76z"},{d:"M19.848 16.552h-9.44L14.028 23h9.438l-3.618-6.448z"}],stepfun:[{d:"M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0zM8.762 19.614H4.376v-4.386h4.386v4.386zm5.423 0H9.798v-4.386h4.387v4.386zm0-5.42H9.798V9.81h4.387v4.386zm0-5.418H9.798V4.39h4.387v4.386zm5.422-.004h-4.386V4.386h4.386v4.386z"}],tencent:[{d:"M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0zm1.652 1.123l-.01-.001c.533.097 1.023.233 1.41.404 6.084 2.683 7.396 9.214 1.601 14.338a3.781 3.781 0 01-5.337-.328 3.654 3.654 0 01-.884-3.044c-1.934.6-3.295 2.305-3.524 4.45-.204 1.912.324 4.044 2.056 5.634l.245.067C10.1 22.876 11.036 23 12 23c6.075 0 11-4.925 11-11 0-5.513-4.056-10.08-9.348-10.877zM2.748 6.21c-.178.269-.348.536-.51.803l-.235.394.078-.167A10.957 10.957 0 001 12c0 4.919 3.228 9.083 7.682 10.49l.214.065C3.523 18.528 2.84 14.149 6.47 8.68A2.234 2.234 0 102.748 6.21zm10.157-5.172c4.408 1.33 3.61 5.41 2.447 6.924-.86 1.117-2.922 1.46-3.708 2.238-.666.657-1.077 1.462-1.212 2.291A5.303 5.303 0 0112 12.258a5.672 5.672 0 001.404-11.169 10.51 10.51 0 00-.5-.052z"}],voyage:[{d:"M5.407 0v.066a.974.974 0 00-.048.245c-.011.11-.016.208-.016.295 0 .339.043.715.128 1.13.097.405.274.912.531 1.524l7.125 16.366L20.011 3.39c.161-.404.333-.846.515-1.327.182-.48.273-.966.273-1.458a1.406 1.406 0 00-.096-.54V0H24v.066c-.204.207-.45.578-.74 1.114-.29.535-.606 1.195-.949 1.982L13.095 24h-1.287L3.075 3.965c-.204-.47-.418-.923-.644-1.36-.214-.437-.418-.83-.61-1.18-.194-.36-.365-.66-.515-.9A5.666 5.666 0 001 .064V0h4.407z"}],xiaomi:[{d:"M12 0C8.016 0 4.756.255 2.493 2.516.23 4.776 0 8.033 0 12.012c0 3.98.23 7.235 2.494 9.497C4.757 23.77 8.017 24 12 24c3.983 0 7.243-.23 9.506-2.491C23.77 19.247 24 15.99 24 12.012c0-3.984-.233-7.243-2.502-9.504C19.234.252 15.978 0 12 0zM4.906 7.405h5.624c1.47 0 3.007.068 3.764.827.746.746.827 2.233.83 3.676v4.54a.15.15 0 0 1-.152.147h-1.947a.15.15 0 0 1-.152-.148V11.83c-.002-.806-.048-1.634-.464-2.051-.358-.36-1.026-.441-1.72-.458H7.158a.15.15 0 0 0-.151.147v6.98a.15.15 0 0 1-.152.148H4.906a.15.15 0 0 1-.15-.148V7.554a.15.15 0 0 1 .15-.149zm12.131 0h1.949a.15.15 0 0 1 .15.15v8.892a.15.15 0 0 1-.15.148h-1.949a.15.15 0 0 1-.151-.148V7.554a.15.15 0 0 1 .151-.149zM8.92 10.948h2.046c.083 0 .15.066.15.147v5.352a.15.15 0 0 1-.15.148H8.92a.15.15 0 0 1-.152-.148v-5.352a.15.15 0 0 1 .152-.147Z"}],zai:[{d:"M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"}]};function B({owner:a,className:c}){let d=t.VENDOR_PROVIDERS[a];if(d)return(0,b.jsx)(z.ProviderIcon,{provider:d,className:c});let e=A[a];return e?(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:c,"aria-hidden":"true",children:e.map(a=>(0,b.jsx)("path",{d:a.d,opacity:a.opacity},a.d))}):null}function C({provider:a,models:c,kind:d,value:e,loading:f,onPick:g}){let[h,j]=(0,i.useState)(!1),[m,n]=(0,i.useState)(""),[o,p]=(0,i.useState)("cheap"),[q,r]=(0,i.useState)(e),{label:u}=t.TEXT_MODEL_PROVIDERS[a],A=c.filter(a=>a.type===(d??t.CATALOG_TEXT)),B=d?A:A.filter(a=>a.tags.includes(t.CATALOG_TOOL_USE)),G=m.trim().toLowerCase(),I=(G?B.filter(a=>`${a.id} ${a.label}`.toLowerCase().includes(G)):B).slice().sort(E[o].compare);return(0,b.jsxs)(x.Dialog,{open:h,onOpenChange:a=>{j(a),a?r(e):n("")},children:[(0,b.jsxs)(x.DialogTrigger,{render:(0,b.jsx)("button",{type:"button","aria-label":"Model",className:(0,s.cn)(l.inputClassName,"relative flex items-center pr-8 text-left font-mono text-sm")}),children:[(0,b.jsx)("span",{className:(0,s.cn)("min-w-0 flex-1 truncate",!e&&"font-sans text-muted-foreground"),children:e||"Pick a model"}),(0,b.jsx)("span",{className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground",children:f&&0===B.length?(0,b.jsx)(v.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,b.jsx)(w.Search,{className:"size-3.5"})})]}),(0,b.jsx)(x.DialogContent,{className:"h-[min(40rem,calc(100vh-3rem))] gap-0 overflow-hidden p-0 sm:max-w-2xl",children:(0,b.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,b.jsxs)("div",{className:"shrink-0 space-y-1 px-6 pt-5 pb-4",children:[(0,b.jsxs)(x.DialogTitle,{className:"flex items-center gap-2.5 text-xl font-semibold",children:[(0,b.jsx)(z.ProviderIcon,{provider:a,className:"size-3.5"}),d?D[d]:"Text"," models"]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`${I.length} matching “${m.trim()}”`:d?`${B.length} on ${u}`:`${B.length} of ${A.length} on ${u} can call tools`})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-6 py-3",children:[(0,b.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,b.jsx)(w.Search,{className:"pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(l.Input,{autoFocus:!0,"aria-label":"Search models",placeholder:"name, id or provider",spellCheck:!1,value:m,onChange:a=>n(a.target.value),className:"h-8 pl-8 font-mono text-xs"})]}),(0,b.jsx)(y.Segmented,{"aria-label":"Sort",options:F,value:o,onChange:p})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4 px-6 pb-1.5 font-mono text-[10px] tracking-wide text-muted-foreground/60",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1",children:"model"}),(0,b.jsx)("span",{className:"w-28 text-right",children:"per 1M in / out"})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto border-t border-border/60",children:[I.map(a=>(0,b.jsx)(H,{model:a,picked:a.id===q,onPick:()=>r(a.id)},a.id)),0===I.length&&(0,b.jsxs)("div",{className:"flex flex-col items-start gap-2.5 p-10",children:[(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`Nothing matches “${m.trim()}”.`:"Nothing on the shelf — search for an id."}),G&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Button,{size:"sm",onClick:()=>r(m.trim()),children:["Use “",m.trim(),"” as the id"]}),(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:()=>n(""),children:"Clear search"})]})]})]}),(0,b.jsxs)("div",{className:"flex h-14 shrink-0 items-center gap-3 border-t border-border/60 px-6",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:q||"Nothing picked — the field keeps what it has"}),(0,b.jsx)(k.Button,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),(0,b.jsx)(k.Button,{disabled:!q,onClick:()=>{g(q),j(!1)},children:"Use this model"})]})]})})]})}let D={image:"Image",video:"Video",speech:"Speech",transcription:"Transcription"},E={cheap:{label:"$↑",title:"Cheapest first",compare:(a,b)=>(a.price.in??1/0)-(b.price.in??1/0)},dear:{label:"$↓",title:"Dearest first",compare:(a,b)=>(b.price.in??-1)-(a.price.in??-1)},name:{label:"a–z",title:"By name",compare:(a,b)=>a.label.localeCompare(b.label)}},F=Object.keys(E).map(a=>({value:a,label:E[a].label,title:E[a].title})),G=a=>a>=1?a.toFixed(2):String(Number(a.toFixed(4)));function H({model:a,picked:d,onPick:e}){let{price:f}=a,g=null!==f.in||null!==f.out;return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,s.cn)("flex w-full items-center gap-4 border-b border-border/60 px-6 py-2.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",d?"bg-muted/40":"hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:"grid size-[18px] shrink-0 place-items-center",children:(0,b.jsx)(B,{owner:a.owner,className:"size-[15px]"})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)("span",{className:(0,s.cn)("truncate text-[13px]",d&&"font-medium"),children:a.label}),d&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"}),a.retiring&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground",children:"retiring"})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:a.id})]}),(0,b.jsxs)("span",{className:"flex w-28 shrink-0 flex-col items-end",children:[(0,b.jsx)("span",{className:(0,s.cn)("font-mono text-xs",g||f.free?"text-foreground":"text-muted-foreground"),children:f.free?"free":null===f.in&&null===f.out?f.note??"—":`${null===f.in?"—":G(f.in)} / ${null===f.out?"—":G(f.out)}`}),g&&f.note&&(0,b.jsx)("span",{className:"font-mono text-[9px] text-muted-foreground/70",children:f.note})]})]})}function I({tier:a}){return(0,b.jsx)("span",{className:"shrink-0 rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-muted-foreground ring-1 ring-border ring-inset",children:a})}function J({provider:a,onSaved:c}){let[d,e]=(0,i.useState)(""),[f,g]=(0,q.useServerAction)(o.setConfigAction,{onOk:()=>{(0,r.revalidate)(j.queryKey.llmModel),(0,r.revalidate)(j.queryKey.config),c()}});return a.signIn?(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("p",{className:"px-1 font-mono text-[11px] text-muted-foreground",children:"Runs on your plan once you sign in"}),(0,b.jsx)(u.ChatGptSignIn,{variant:"outline"})]}):(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(l.Input,{value:d,onChange:a=>e(a.target.value),placeholder:t.TEXT_MODEL_PROVIDERS[a.id].keyLooks??"Paste the key",spellCheck:!1,type:"password"}),(0,b.jsx)(k.Button,{variant:"outline",loading:g,disabled:d.trim().length<n.KEY_MIN,onClick:()=>f(a.apiKeyName,d),children:"Save key"})]})}a.s(["ModelPicker",0,function({provider:a,model:e,kind:f,unset:n,onChange:o,onUnset:q,compact:u=!1}){let{data:v=[],mutate:w}=(0,r.useServerRoute)(j.queryKey.llmModel),x=f?v.filter(a=>(0,t.canMakeKind)(a.id,f)):v,y=x.find(b=>b.id===a),[A,B]=(0,i.useState)(!1),[D,E]=(0,i.useState)(null),[F,G]=(0,i.useState)(""),H=x.find(b=>b.id===(D??a))??x[0],K=H&&(0,t.isCatalogProvider)(H.id)?H.id:null,L=(0,r.useServerRoute)(A&&K&&j.queryKey.modelCatalog(K)),M=a=>f&&a?t.MEDIA_MODEL_PROVIDERS[a.id]?.models[f]??[]:a?.suggestModels??[],N=M(y).find(a=>a.id===e),O=a=>{H&&a.trim()&&(o({provider:H.id,model:a.trim()}),G(""),B(!1))};return(0,b.jsxs)(m.Popover,{open:A,onOpenChange:a=>{B(a),a||E(null)},children:[(0,b.jsxs)(m.PopoverTrigger,{render:u?(0,b.jsx)("button",{type:"button",className:"inline-flex h-5 max-w-64 items-center gap-1.5 rounded-full px-2 text-foreground/80 ring-1 ring-border outline-none ring-inset transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50"}):(0,b.jsx)(k.Button,{variant:"outline",className:"w-full min-w-0 justify-start gap-2 font-normal"}),children:[y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.ProviderIcon,{provider:y.id,className:(0,s.cn)("shrink-0",u?"size-3":"size-4")}),!u&&(0,b.jsxs)("span",{className:"min-w-0 max-w-fit grow basis-0 truncate text-muted-foreground",children:[y.label,(0,b.jsx)("span",{className:"ml-2 text-muted-foreground/40",children:"·"})]}),(0,b.jsx)("span",{className:(0,s.cn)("truncate",!u&&"font-medium"),children:N?.label??(e||"Pick a model")})]}):(0,b.jsx)("span",{className:"truncate text-muted-foreground",children:n??(f?"Not picked":"App default")}),(0,b.jsx)(d.ChevronsUpDown,{className:(0,s.cn)("ml-auto shrink-0 text-muted-foreground",u?"size-2.5":"size-3.5")})]}),(0,b.jsxs)(m.PopoverContent,{align:"start",className:"flex w-[min(34rem,calc(100vw-2rem))] flex-row gap-0 overflow-hidden rounded-2xl p-0",children:[(0,b.jsxs)("div",{className:"flex max-h-80 w-48 shrink-0 flex-col gap-px overflow-y-auto border-r border-border/60 bg-muted/40 p-1.5",children:[q&&(0,b.jsxs)("button",{type:"button",onClick:()=>{q(),B(!1)},className:(0,s.cn)("mb-1 flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",y?"hover:bg-muted/60":"bg-muted font-medium"),children:[(0,b.jsx)(g,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:n??(f?"Not picked":"App default")}),!y&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]}),x.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>E(a.id),className:(0,s.cn)("flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a.id===H?.id?"bg-muted font-medium":"hover:bg-muted/60",!a.hasKey&&"text-muted-foreground"),children:[(0,b.jsx)(z.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.label}),!a.hasKey&&(0,b.jsx)(h.KeyRound,{className:"size-3 shrink-0"})]},a.id))]}),(0,b.jsx)("div",{className:"flex max-h-80 min-w-0 flex-1 flex-col gap-px overflow-y-auto p-1.5",children:H?H.hasKey?K&&!L.error?(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Every model ",H.label," carries, with what each costs."]}),(0,b.jsx)(C,{provider:K,models:L.data??[],kind:f,value:H.id===a?e:"",loading:L.isLoading,onPick:O})]}):(0,b.jsxs)(b.Fragment,{children:[M(H).map(d=>{let f=H.id===a&&d.id===e;return(0,b.jsxs)("button",{type:"button",onClick:()=>O(d.id),className:(0,s.cn)("flex shrink-0 items-center gap-2 rounded-lg px-2.5 py-1.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"bg-muted":"hover:bg-muted/60"),children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-[13px] font-medium",children:[(0,b.jsx)("span",{className:"truncate",children:d.label}),(0,b.jsx)(I,{tier:d.tier})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:d.id})]}),f&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]},d.id)}),(0,b.jsx)("form",{onSubmit:a=>{a.preventDefault(),O(F)},className:"mt-1 px-1 pb-1",children:(0,b.jsx)(l.Input,{value:F,onChange:a=>G(a.target.value),spellCheck:!1,"aria-label":"Model id",placeholder:L.error?"Could not read the catalog — type an id":"or type a model id",className:"h-8 font-mono text-xs"})})]}):(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsx)("p",{className:(0,s.cn)("text-xs leading-relaxed",H.lostKey?s.WAITING_INK:"text-muted-foreground"),children:H.lostKey?H.signIn?(0,p.lostWords)(`The ${H.label} sign-in saved before`,"Sign in again."):(0,p.lostWords)(`The ${H.label} key saved before`,"Paste it again."):`${H.label} has no key yet.`}),(0,b.jsx)(J,{provider:H,onSaved:()=>w()})]}):null})]})]})}],608902)}];
|
|
1
|
+
module.exports=[608902,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(340345),e=a.i(164831);let f={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};f.node;let g=(0,e.default)(f);var h=a.i(126766),i=a.i(572131),j=a.i(767561),k=a.i(340695),l=a.i(205522),m=a.i(630342),n=a.i(287702),o=a.i(564117),p=a.i(478978),q=a.i(313237),r=a.i(759497),s=a.i(497895),t=a.i(61876),u=a.i(852307),v=a.i(158983),w=a.i(233540),x=a.i(965733),y=a.i(777794),z=a.i(379630);let A={alibaba:[{d:"M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z"}],amazon:[{d:"M13.05 15.513h3.08c.214 0 .389.177.389.394v1.82a1.704 1.704 0 011.296 1.661c0 .943-.755 1.708-1.685 1.708-.931 0-1.686-.765-1.686-1.708 0-.807.554-1.484 1.297-1.662v-1.425h-2.69v4.663a.395.395 0 01-.188.338l-2.69 1.641a.385.385 0 01-.405-.002l-4.926-3.086a.395.395 0 01-.185-.336V16.3L2.196 14.87A.395.395 0 012 14.555L2 14.528V9.406c0-.14.073-.27.192-.34l2.465-1.462V4.448c0-.129.062-.249.165-.322l.021-.014L9.77 1.058a.385.385 0 01.407 0l2.69 1.675a.395.395 0 01.185.336V7.6h3.856V5.683a1.704 1.704 0 01-1.296-1.662c0-.943.755-1.708 1.685-1.708.931 0 1.685.765 1.685 1.708 0 .807-.553 1.484-1.296 1.662v2.311a.391.391 0 01-.389.394h-4.245v1.806h6.624a1.69 1.69 0 011.64-1.313c.93 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708a1.69 1.69 0 01-1.64-1.314H13.05v1.937h4.953l.915 1.18a1.66 1.66 0 01.84-.227c.931 0 1.685.764 1.685 1.707 0 .943-.754 1.708-1.685 1.708-.93 0-1.685-.765-1.685-1.708 0-.346.102-.668.276-.937l-.724-.935H13.05v1.806zM9.973 1.856L7.93 3.122V6.09h-.778V3.604L5.435 4.669v2.945l2.11 1.36L9.712 7.61V5.334h.778V7.83c0 .136-.07.263-.184.335L7.963 9.638v2.081l1.422 1.009-.446.646-1.406-.998-1.53 1.005-.423-.66 1.605-1.055v-1.99L5.038 8.29l-2.26 1.34v1.676l1.972-1.189.398.677-2.37 1.429V14.3l2.166 1.258 2.27-1.368.397.677-2.176 1.311V19.3l1.876 1.175 2.365-1.426.398.678-2.017 1.216 1.918 1.201 2.298-1.403v-5.78l-4.758 2.893-.4-.675 5.158-3.136V3.289L9.972 1.856zM16.13 18.47a.913.913 0 00-.908.92c0 .507.406.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zm3.63-3.81a.913.913 0 00-.908.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92zm1.555-4.99a.913.913 0 00-.908.92c0 .507.407.918.908.918a.913.913 0 00.907-.919.913.913 0 00-.907-.92zM17.296 3.1a.913.913 0 00-.907.92c0 .508.406.92.907.92a.913.913 0 00.908-.92.913.913 0 00-.908-.92z"}],"arcee-ai":[{d:"M13.236 2.377L2.751 20.493H0L11.863 0l1.373 2.377zm3.554 6.156l-9.606 11.96H4.13L15.511 6.32l1.279 2.212zm6.908 11.96H14.05l8.406-2.151 1.242 2.15zm-3.42-5.922l-7.843 5.92H8.482l10.597-7.997 1.2 2.077z"}],bfl:[{d:"M0 20.683L12.01 2.5 24 20.683h-2.233L12.009 5.878 3.471 18.806h12.122l1.239 1.877H0z"},{d:"M8.069 16.724l2.073-3.115 2.074 3.115H8.069zM18.24 20.683l-5.668-8.707h2.177l5.686 8.707h-2.196zM19.74 11.676l2.13-3.19 2.13 3.19h-4.26z"}],bytedance:[{d:"M14.944 18.587l-1.704-.445V10.01l1.824-.462c1-.254 1.84-.461 1.88-.453.032 0 .056 2.235.056 4.972v4.973l-.176-.008c-.104 0-.952-.207-1.88-.446z"},{d:"M7 16.542c0-2.736.024-4.98.064-4.98.032-.008.872.2 1.88.454l1.816.461-.016 4.05-.024 4.049-1.632.422c-.896.23-1.736.445-1.856.469L7 21.523v-4.98z"},{d:"M19.24 12.477c0-9.03.008-9.515.144-9.475.072.024.784.207 1.576.406.792.207 1.576.405 1.744.445l.296.08-.016 8.56-.024 8.568-1.624.414c-.888.23-1.728.437-1.856.47l-.24.055v-9.523z"},{d:"M1 12.509c0-4.678.024-8.505.064-8.505.032 0 .872.207 1.872.454l1.824.461v7.582c0 4.16-.016 7.574-.032 7.574-.024 0-.872.215-1.88.47L1 21.013v-8.505z"}],"fish-audio":[{d:"M23.12 12.13v.62c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.62c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.37v1.74c0 .24.2.44.44.44.25 0 .44-.2.44-.44V12.5c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76.43v1.99q0 .09.03.17.04.08.1.14.07.07.15.1t.17.03c.24 0 .44-.19.44-.44v-1.99c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17m-1.76.35v1.97c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-1.97c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m-1.77.32v1.65c0 .25.2.45.44.45s.44-.2.44-.45V13.6c0-.25-.2-.45-.44-.45s-.44.2-.44.45m-1.76 1.26v.3q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-.3q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M0 9.38v.19c0 .24.2.44.44.44.25 0 .44-.2.44-.44v-.19c0-.25-.19-.44-.44-.44-.24 0-.44.19-.44.44m1.82.15v.81c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.81q0-.18-.13-.31t-.31-.13-.31.13-.13.31m1.81-.24v3.39q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V9.29q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3m1.83-.35v.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-.22q0-.18-.13-.31T5.9 8.5t-.31.13-.13.31m0 2.94v2.34c0 .25.19.44.44.44.24 0 .44-.19.44-.44v-2.34c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44m15.89-3.32V11c0 .25.2.44.44.44.25 0 .44-.19.44-.44V8.56c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.76-.39v3.28q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.17c0-.25-.2-.44-.44-.44q-.09 0-.17.03t-.15.1q-.06.06-.1.14-.03.08-.03.17M17.83 8v3.9c0 .24.19.44.44.44.24 0 .44-.2.44-.44V8c0-.25-.2-.44-.44-.44-.25 0-.44.19-.44.44m-1.77.11v3.96c0 .25.2.44.44.44s.44-.19.44-.44V8.11c0-.25-.2-.44-.44-.44s-.44.19-.44.44m-1.76.27v5.03q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.38c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.8.46v5.75q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3V8.84c0-.25-.2-.44-.45-.44-.24 0-.44.19-.44.44m-1.76.76v5.52c0 .24.2.44.44.44.25 0 .44-.2.44-.44V9.6c0-.24-.19-.44-.44-.44-.24 0-.44.2-.44.44m-1.77 1.01v4.77q.01.17.14.3.13.11.3.12.18-.01.31-.12.13-.13.14-.3v-4.77q-.01-.17-.14-.3-.13-.11-.31-.12-.17.01-.3.12-.13.13-.14.3M23.12 9.6v1.22c0 .24.19.44.44.44.24 0 .44-.2.44-.44V9.6c0-.24-.2-.44-.44-.44-.25 0-.44.2-.44.44M7.21 11.32V16c0 .24.19.44.44.44.24 0 .44-.2.44-.44v-4.68q0-.18-.13-.31t-.31-.13-.31.13-.13.31"}],inception:[{d:"M14.767 1H7.884L1 7.883v6.884h6.884V7.883h6.883V1zM9.234 23h6.882L23 16.116V9.233h-6.884v6.883H9.234V23z"}],klingai:[{d:"M5.493 21.234c-1.112-1.451-1.109-4.263-.081-7.459l-4.557-2.63a1.683 1.683 0 01-.85-1.304 1.505 1.505 0 01.08-.622 13.18 13.18 0 011.037-2.255c3.476-6.02 10.916-8.23 16.619-4.938.46.266.82.67 1.081 1.184.785 1.545.685 4.096-.234 6.954l4.557 2.631c.339.196.596.492.736.832a1.53 1.53 0 01.034 1.093 13.146 13.146 0 01-1.037 2.255c-3.476 6.02-10.916 8.23-16.619 4.938a2.6 2.6 0 01-.766-.68zm11.096-6.615c-2.073 3.591-5.808 5.316-8.343 3.852-1.267-.731-1.994-2.122-2.145-3.778-.095-1.035.036-2.173.4-3.32.217-.684.517-1.37.902-2.039l.008-.014c2.073-3.59 5.808-5.315 8.343-3.852.633.366 1.13.895 1.49 1.54.986 1.772.922 4.415-.285 6.914-.111.23-.232.457-.362.683l-.008.014z"}],kwaipilot:[{d:"M11.765.03C5.327.03.108 5.25.108 11.686c0 3.514 1.556 6.665 4.015 8.804L9.89 8.665h6.451L9.31 23.083c.807.173 1.63.26 2.455.26 6.438 0 11.657-5.22 11.657-11.658S18.202.028 11.765.028V.03z"}],meta:[{d:"M6.897 4c1.915 0 3.516.932 5.43 3.376l.282-.373c.19-.246.383-.484.58-.71l.313-.35C14.588 4.788 15.792 4 17.225 4c1.273 0 2.469.557 3.491 1.516l.218.213c1.73 1.765 2.917 4.71 3.053 8.026l.011.392.002.25c0 1.501-.28 2.759-.818 3.7l-.14.23-.108.153c-.301.42-.664.758-1.086 1.009l-.265.142-.087.04a3.493 3.493 0 01-.302.118 4.117 4.117 0 01-1.33.208c-.524 0-.996-.067-1.438-.215-.614-.204-1.163-.56-1.726-1.116l-.227-.235c-.753-.812-1.534-1.976-2.493-3.586l-1.43-2.41-.544-.895-1.766 3.13-.343.592C7.597 19.156 6.227 20 4.356 20c-1.21 0-2.205-.42-2.936-1.182l-.168-.184c-.484-.573-.837-1.311-1.043-2.189l-.067-.32a8.69 8.69 0 01-.136-1.288L0 14.468c.002-.745.06-1.49.174-2.23l.1-.573c.298-1.53.828-2.958 1.536-4.157l.209-.34c1.177-1.83 2.789-3.053 4.615-3.16L6.897 4zm-.033 2.615l-.201.01c-.83.083-1.606.673-2.252 1.577l-.138.199-.01.018c-.67 1.017-1.185 2.378-1.456 3.845l-.004.022a12.591 12.591 0 00-.207 2.254l.002.188c.004.18.017.36.04.54l.043.291c.092.503.257.908.486 1.208l.117.137c.303.323.698.492 1.17.492 1.1 0 1.796-.676 3.696-3.641l2.175-3.4.454-.701-.139-.198C9.11 7.3 8.084 6.616 6.864 6.616zm10.196-.552l-.176.007c-.635.048-1.223.359-1.82.933l-.196.198c-.439.462-.887 1.064-1.367 1.807l.266.398c.18.274.362.56.55.858l.293.475 1.396 2.335.695 1.114c.583.926 1.03 1.6 1.408 2.082l.213.262c.282.326.529.54.777.673l.102.05c.227.1.457.138.718.138.176.002.35-.023.518-.073.338-.104.61-.32.813-.637l.095-.163.077-.162c.194-.459.29-1.06.29-1.785l-.006-.449c-.08-2.871-.938-5.372-2.2-6.798l-.176-.189c-.67-.683-1.444-1.074-2.27-1.074z"}],minimax:[{d:"M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z"}],moonshotai:[{d:"M1.052 16.916l9.539 2.552a21.007 21.007 0 00.06 2.033l5.956 1.593a11.997 11.997 0 01-5.586.865l-.18-.016-.044-.004-.084-.009-.094-.01a11.605 11.605 0 01-.157-.02l-.107-.014-.11-.016a11.962 11.962 0 01-.32-.051l-.042-.008-.075-.013-.107-.02-.07-.015-.093-.019-.075-.016-.095-.02-.097-.023-.094-.022-.068-.017-.088-.022-.09-.024-.095-.025-.082-.023-.109-.03-.062-.02-.084-.025-.093-.028-.105-.034-.058-.019-.08-.026-.09-.031-.066-.024a6.293 6.293 0 01-.044-.015l-.068-.025-.101-.037-.057-.022-.08-.03-.087-.035-.088-.035-.079-.032-.095-.04-.063-.028-.063-.027a5.655 5.655 0 01-.041-.018l-.066-.03-.103-.047-.052-.024-.096-.046-.062-.03-.084-.04-.086-.044-.093-.047-.052-.027-.103-.055-.057-.03-.058-.032a6.49 6.49 0 01-.046-.026l-.094-.053-.06-.034-.051-.03-.072-.041-.082-.05-.093-.056-.052-.032-.084-.053-.061-.039-.079-.05-.07-.047-.053-.035a7.785 7.785 0 01-.054-.036l-.044-.03-.044-.03a6.066 6.066 0 01-.04-.028l-.057-.04-.076-.054-.069-.05-.074-.054-.056-.042-.076-.057-.076-.059-.086-.067-.045-.035-.064-.052-.074-.06-.089-.073-.046-.039-.046-.039a7.516 7.516 0 01-.043-.037l-.045-.04-.061-.053-.07-.062-.068-.06-.062-.058-.067-.062-.053-.05-.088-.084a13.28 13.28 0 01-.099-.097l-.029-.028-.041-.042-.069-.07-.05-.051-.05-.053a6.457 6.457 0 01-.168-.179l-.08-.088-.062-.07-.071-.08-.042-.049-.053-.062-.058-.068-.046-.056a7.175 7.175 0 01-.027-.033l-.045-.055-.066-.082-.041-.052-.05-.064-.02-.025a11.99 11.99 0 01-1.44-2.402zm-1.02-5.794l11.353 3.037a20.468 20.468 0 00-.469 2.011l10.817 2.894a12.076 12.076 0 01-1.845 2.005L.657 15.923l-.016-.046-.035-.104a11.965 11.965 0 01-.05-.153l-.007-.023a11.896 11.896 0 01-.207-.741l-.03-.126-.018-.08-.021-.097-.018-.081-.018-.09-.017-.084-.018-.094c-.026-.141-.05-.283-.071-.426l-.017-.118-.011-.083-.013-.102a12.01 12.01 0 01-.019-.161l-.005-.047a12.12 12.12 0 01-.034-2.145zm1.593-5.15l11.948 3.196c-.368.605-.705 1.231-1.01 1.875l11.295 3.022c-.142.82-.368 1.612-.668 2.365l-11.55-3.09L.124 10.26l.015-.1.008-.049.01-.067.015-.087.018-.098c.026-.148.056-.295.088-.442l.028-.124.02-.085.024-.097c.022-.09.045-.18.07-.268l.028-.102.023-.083.03-.1.025-.082.03-.096.026-.082.031-.095a11.896 11.896 0 011.01-2.232zm4.442-4.4L17.352 4.59a20.77 20.77 0 00-1.688 1.721l7.823 2.093c.267.852.442 1.744.513 2.665L2.106 5.213l.045-.065.027-.04.04-.055.046-.065.055-.076.054-.072.064-.086.05-.065.057-.073.055-.07.06-.074.055-.069.065-.077.054-.066.066-.077.053-.06.072-.082.053-.06.067-.074.054-.058.073-.078.058-.06.063-.067.168-.17.1-.098.059-.056.076-.071a12.084 12.084 0 012.272-1.677zM12.017 0h.097l.082.001.069.001.054.002.068.002.046.001.076.003.047.002.06.003.054.002.087.005.105.007.144.011.088.007.044.004.077.008.082.008.047.005.102.012.05.006.108.014.081.01.042.006.065.01.207.032.07.012.065.011.14.026.092.018.11.022.046.01.075.016.041.01L14.7.3l.042.01.065.015.049.012.071.017.096.024.112.03.113.03.113.032.05.015.07.02.078.024.073.023.05.016.05.016.076.025.099.033.102.036.048.017.064.023.093.034.11.041.116.045.1.04.047.02.06.024.041.018.063.026.04.018.057.025.11.048.1.046.074.035.075.036.06.028.092.046.091.045.102.052.053.028.049.026.046.024.06.033.041.022.052.029.088.05.106.06.087.051.057.034.053.032.096.059.088.055.098.062.036.024.064.041.084.056.04.027.062.042.062.043.023.017c.054.037.108.075.161.114l.083.06.065.048.056.043.086.065.082.064.04.03.05.041.086.069.079.065.085.071c.712.6 1.353 1.283 1.909 2.031L7.222.994l.062-.027.065-.028.081-.034.086-.035c.113-.045.227-.09.341-.131l.096-.035.093-.033.084-.03.096-.031c.087-.03.176-.058.264-.085l.091-.027.086-.025.102-.03.085-.023.1-.026L9.04.37l.09-.023.091-.022.095-.022.09-.02.098-.021.091-.02.095-.018.092-.018.1-.018.091-.016.098-.017.092-.014.097-.015.092-.013.102-.013.091-.012.105-.012.09-.01.105-.01c.093-.01.186-.018.28-.024l.106-.008.09-.005.11-.006.093-.004.1-.004.097-.002.099-.002.197-.002z"}],morph:[{d:"M7.941 2c.23 0 .452.073.638.21.186.136.325.328.397.55l.593 1.814c.073.221.212.413.397.55.186.136.409.21.638.21h2.791c.23 0 .452-.074.638-.21a1.11 1.11 0 00.397-.55l.594-1.815a1.11 1.11 0 01.397-.55c.185-.136.408-.209.637-.209h1.7c.23 0 .453.073.639.21.185.136.324.328.397.55l.652 1.994c.118.361.41.635.77.728l2.957.752c.236.06.446.199.596.394.15.195.23.436.231.684v9.376c0 .248-.081.488-.231.684a1.09 1.09 0 01-.595.394l-2.957.752a1.086 1.086 0 00-.477.263 1.114 1.114 0 00-.293.465l-.653 1.994a1.11 1.11 0 01-.396.55c-.186.136-.41.21-.638.21h-1.702c-.229 0-.452-.073-.637-.21a1.11 1.11 0 01-.397-.55l-.364-1.11a1.131 1.131 0 01.15-1.002 1.074 1.074 0 01.885-.462h2.85c.29 0 .567-.116.772-.325.204-.208.32-.49.32-.785V6.444c0-.294-.116-.577-.32-.785a1.08 1.08 0 00-.771-.326h-3.273c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v7.778c0 .295-.114.578-.319.786a1.08 1.08 0 01-.771.325h-2.182a1.08 1.08 0 01-.771-.325 1.122 1.122 0 01-.32-.786V6.444c0-.294-.115-.577-.32-.785a1.081 1.081 0 00-.77-.326H5.454c-.29 0-.567.117-.772.326-.204.208-.32.49-.32.785v11.112c0 .294.116.577.32.785.205.209.482.326.772.326h2.85a1.075 1.075 0 01.885.461 1.122 1.122 0 01.15 1.001l-.364 1.112a1.11 1.11 0 01-.397.55c-.185.136-.408.209-.637.209H6.24c-.229 0-.452-.073-.638-.21a1.11 1.11 0 01-.397-.55l-.652-1.994a1.114 1.114 0 00-.294-.465 1.086 1.086 0 00-.477-.263l-2.956-.752a1.09 1.09 0 01-.595-.394A1.124 1.124 0 010 16.688V7.312c0-.248.081-.489.231-.684.15-.195.36-.334.595-.394l2.957-.753c.178-.045.342-.136.477-.263.134-.127.235-.287.293-.464l.653-1.995a1.11 1.11 0 01.397-.55C5.788 2.075 6.01 2 6.24 2h1.701z"}],nvidia:[{d:"M10.212 8.976V7.62c.127-.01.256-.017.388-.021 3.596-.117 5.957 3.184 5.957 3.184s-2.548 3.647-5.282 3.647a3.227 3.227 0 01-1.063-.175v-4.109c1.4.174 1.681.812 2.523 2.258l1.873-1.627a4.905 4.905 0 00-3.67-1.846 6.594 6.594 0 00-.729.044m0-4.476v2.025c.13-.01.259-.019.388-.024 5.002-.174 8.261 4.226 8.261 4.226s-3.743 4.69-7.643 4.69c-.338 0-.675-.031-1.007-.092v1.25c.278.038.558.057.838.057 3.629 0 6.253-1.91 8.794-4.169.421.347 2.146 1.193 2.501 1.564-2.416 2.083-8.048 3.763-11.24 3.763-.308 0-.603-.02-.894-.048V19.5H24v-15H10.21zm0 9.756v1.068c-3.356-.616-4.287-4.21-4.287-4.21a7.173 7.173 0 014.287-2.138v1.172h-.005a3.182 3.182 0 00-2.502 1.178s.615 2.276 2.507 2.931m-5.961-3.3c1.436-1.935 3.604-3.148 5.961-3.336V6.523C5.81 6.887 2 10.723 2 10.723s2.158 6.427 8.21 7.015v-1.166C5.77 16 4.25 10.958 4.25 10.958h-.002z"}],perplexity:[{d:"M19.785 0v7.272H22.5V17.62h-2.935V24l-7.037-6.194v6.145h-1.091v-6.152L4.392 24v-6.465H1.5V7.188h2.884V0l7.053 6.494V.19h1.09v6.49L19.786 0zm-7.257 9.044v7.319l5.946 5.234V14.44l-5.946-5.397zm-1.099-.08l-5.946 5.398v7.235l5.946-5.234V8.965zm8.136 7.58h1.844V8.349H13.46l6.105 5.54v2.655zm-8.982-8.28H2.59v8.195h1.8v-2.576l6.192-5.62zM5.475 2.476v4.71h5.115l-5.115-4.71zm13.219 0l-5.115 4.71h5.115v-4.71z"}],recraft:[{d:"M19.667 8.275c0-4.57-4.15-8.275-9.27-8.275-1.774 0-3.213 3.705-3.213 8.275 0 1.143.09 2.233.253 3.224H4.29L1 23h9.4v-6.447c5.117 0 9.266-3.707 9.266-8.275l.001-.002zm-9.27-6.76c.93 0 1.682 3.028 1.682 6.76 0 3.733-.752 6.76-1.681 6.76-.93 0-1.681-3.027-1.681-6.76 0-3.732.752-6.76 1.68-6.76z"},{d:"M19.848 16.552h-9.44L14.028 23h9.438l-3.618-6.448z"}],stepfun:[{d:"M12 0C5.372 0 0 5.372 0 12s5.372 12 12 12 12-5.372 12-12S18.628 0 12 0zM8.762 19.614H4.376v-4.386h4.386v4.386zm5.423 0H9.798v-4.386h4.387v4.386zm0-5.42H9.798V9.81h4.387v4.386zm0-5.418H9.798V4.39h4.387v4.386zm5.422-.004h-4.386V4.386h4.386v4.386z"}],tencent:[{d:"M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0zm1.652 1.123l-.01-.001c.533.097 1.023.233 1.41.404 6.084 2.683 7.396 9.214 1.601 14.338a3.781 3.781 0 01-5.337-.328 3.654 3.654 0 01-.884-3.044c-1.934.6-3.295 2.305-3.524 4.45-.204 1.912.324 4.044 2.056 5.634l.245.067C10.1 22.876 11.036 23 12 23c6.075 0 11-4.925 11-11 0-5.513-4.056-10.08-9.348-10.877zM2.748 6.21c-.178.269-.348.536-.51.803l-.235.394.078-.167A10.957 10.957 0 001 12c0 4.919 3.228 9.083 7.682 10.49l.214.065C3.523 18.528 2.84 14.149 6.47 8.68A2.234 2.234 0 102.748 6.21zm10.157-5.172c4.408 1.33 3.61 5.41 2.447 6.924-.86 1.117-2.922 1.46-3.708 2.238-.666.657-1.077 1.462-1.212 2.291A5.303 5.303 0 0112 12.258a5.672 5.672 0 001.404-11.169 10.51 10.51 0 00-.5-.052z"}],voyage:[{d:"M5.407 0v.066a.974.974 0 00-.048.245c-.011.11-.016.208-.016.295 0 .339.043.715.128 1.13.097.405.274.912.531 1.524l7.125 16.366L20.011 3.39c.161-.404.333-.846.515-1.327.182-.48.273-.966.273-1.458a1.406 1.406 0 00-.096-.54V0H24v.066c-.204.207-.45.578-.74 1.114-.29.535-.606 1.195-.949 1.982L13.095 24h-1.287L3.075 3.965c-.204-.47-.418-.923-.644-1.36-.214-.437-.418-.83-.61-1.18-.194-.36-.365-.66-.515-.9A5.666 5.666 0 001 .064V0h4.407z"}],xiaomi:[{d:"M12 0C8.016 0 4.756.255 2.493 2.516.23 4.776 0 8.033 0 12.012c0 3.98.23 7.235 2.494 9.497C4.757 23.77 8.017 24 12 24c3.983 0 7.243-.23 9.506-2.491C23.77 19.247 24 15.99 24 12.012c0-3.984-.233-7.243-2.502-9.504C19.234.252 15.978 0 12 0zM4.906 7.405h5.624c1.47 0 3.007.068 3.764.827.746.746.827 2.233.83 3.676v4.54a.15.15 0 0 1-.152.147h-1.947a.15.15 0 0 1-.152-.148V11.83c-.002-.806-.048-1.634-.464-2.051-.358-.36-1.026-.441-1.72-.458H7.158a.15.15 0 0 0-.151.147v6.98a.15.15 0 0 1-.152.148H4.906a.15.15 0 0 1-.15-.148V7.554a.15.15 0 0 1 .15-.149zm12.131 0h1.949a.15.15 0 0 1 .15.15v8.892a.15.15 0 0 1-.15.148h-1.949a.15.15 0 0 1-.151-.148V7.554a.15.15 0 0 1 .151-.149zM8.92 10.948h2.046c.083 0 .15.066.15.147v5.352a.15.15 0 0 1-.15.148H8.92a.15.15 0 0 1-.152-.148v-5.352a.15.15 0 0 1 .152-.147Z"}],zai:[{d:"M12.105 2L9.927 4.953H.653L2.83 2h9.276zM23.254 19.048L21.078 22h-9.242l2.174-2.952h9.244zM24 2L9.264 22H0L14.736 2H24z"}]};function B({owner:a,className:c}){let d=t.VENDOR_PROVIDERS[a];if(d)return(0,b.jsx)(z.ProviderIcon,{provider:d,className:c});let e=A[a];return e?(0,b.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",fillRule:"evenodd",className:c,"aria-hidden":"true",children:e.map(a=>(0,b.jsx)("path",{d:a.d,opacity:a.opacity},a.d))}):null}function C({provider:a,models:c,kind:d,value:e,loading:f,onPick:g}){let[h,j]=(0,i.useState)(!1),[m,n]=(0,i.useState)(""),[o,p]=(0,i.useState)("cheap"),[q,r]=(0,i.useState)(e),{label:u}=t.TEXT_MODEL_PROVIDERS[a],A=c.filter(a=>a.type===(d??t.CATALOG_TEXT)),B=d?A:A.filter(a=>a.tags.includes(t.CATALOG_TOOL_USE)),G=m.trim().toLowerCase(),I=(G?B.filter(a=>`${a.id} ${a.label}`.toLowerCase().includes(G)):B).slice().sort(E[o].compare);return(0,b.jsxs)(x.Dialog,{open:h,onOpenChange:a=>{j(a),a?r(e):n("")},children:[(0,b.jsxs)(x.DialogTrigger,{render:(0,b.jsx)("button",{type:"button","aria-label":"Model",className:(0,s.cn)(l.inputClassName,"relative flex items-center pr-8 text-left font-mono text-sm")}),children:[(0,b.jsx)("span",{className:(0,s.cn)("min-w-0 flex-1 truncate",!e&&"font-sans text-muted-foreground"),children:e||"Pick a model"}),(0,b.jsx)("span",{className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground",children:f&&0===B.length?(0,b.jsx)(v.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,b.jsx)(w.Search,{className:"size-3.5"})})]}),(0,b.jsx)(x.DialogContent,{className:"h-[min(40rem,calc(100vh-3rem))] gap-0 overflow-hidden p-0 sm:max-w-2xl",children:(0,b.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col",children:[(0,b.jsxs)("div",{className:"shrink-0 space-y-1 px-6 pt-5 pb-4",children:[(0,b.jsxs)(x.DialogTitle,{className:"flex items-center gap-2.5 text-xl font-semibold",children:[(0,b.jsx)(z.ProviderIcon,{provider:a,className:"size-3.5"}),d?D[d]:"Text"," models"]}),(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`${I.length} matching “${m.trim()}”`:d?`${B.length} on ${u}`:`${B.length} of ${A.length} on ${u} can call tools`})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-6 py-3",children:[(0,b.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,b.jsx)(w.Search,{className:"pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(l.Input,{autoFocus:!0,"aria-label":"Search models",placeholder:"name, id or provider",spellCheck:!1,value:m,onChange:a=>n(a.target.value),className:"h-8 pl-8 font-mono text-xs"})]}),(0,b.jsx)(y.Segmented,{"aria-label":"Sort",options:F,value:o,onChange:p})]}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-4 px-6 pb-1.5 font-mono text-[10px] tracking-wide text-muted-foreground/60",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1",children:"model"}),(0,b.jsx)("span",{className:"w-28 text-right",children:"per 1M in / out"})]}),(0,b.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto border-t border-border/60",children:[I.map(a=>(0,b.jsx)(H,{model:a,picked:a.id===q,onPick:()=>r(a.id)},a.id)),0===I.length&&(0,b.jsxs)("div",{className:"flex flex-col items-start gap-2.5 p-10",children:[(0,b.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:G?`Nothing matches “${m.trim()}”.`:"Nothing on the shelf — search for an id."}),G&&(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(k.Button,{size:"sm",onClick:()=>r(m.trim()),children:["Use “",m.trim(),"” as the id"]}),(0,b.jsx)(k.Button,{variant:"outline",size:"sm",onClick:()=>n(""),children:"Clear search"})]})]})]}),(0,b.jsxs)("div",{className:"flex h-14 shrink-0 items-center gap-3 border-t border-border/60 px-6",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs text-muted-foreground",children:q||"Nothing picked — the field keeps what it has"}),(0,b.jsx)(k.Button,{variant:"outline",onClick:()=>j(!1),children:"Cancel"}),(0,b.jsx)(k.Button,{disabled:!q,onClick:()=>{g(q),j(!1)},children:"Use this model"})]})]})})]})}let D={image:"Image",video:"Video",speech:"Speech",transcription:"Transcription"},E={cheap:{label:"$↑",title:"Cheapest first",compare:(a,b)=>(a.price.in??1/0)-(b.price.in??1/0)},dear:{label:"$↓",title:"Dearest first",compare:(a,b)=>(b.price.in??-1)-(a.price.in??-1)},name:{label:"a–z",title:"By name",compare:(a,b)=>a.label.localeCompare(b.label)}},F=Object.keys(E).map(a=>({value:a,label:E[a].label,title:E[a].title})),G=a=>a>=1?a.toFixed(2):String(Number(a.toFixed(4)));function H({model:a,picked:d,onPick:e}){let{price:f}=a,g=null!==f.in||null!==f.out;return(0,b.jsxs)("button",{type:"button",onClick:e,className:(0,s.cn)("flex w-full items-center gap-4 border-b border-border/60 px-6 py-2.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",d?"bg-muted/40":"hover:bg-muted/50"),children:[(0,b.jsx)("span",{className:"grid size-[18px] shrink-0 place-items-center",children:(0,b.jsx)(B,{owner:a.owner,className:"size-[15px]"})}),(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,b.jsx)("span",{className:(0,s.cn)("truncate text-[13px]",d&&"font-medium"),children:a.label}),d&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"}),a.retiring&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground",children:"retiring"})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:a.id})]}),(0,b.jsxs)("span",{className:"flex w-28 shrink-0 flex-col items-end",children:[(0,b.jsx)("span",{className:(0,s.cn)("font-mono text-xs",g||f.free?"text-foreground":"text-muted-foreground"),children:f.free?"free":null===f.in&&null===f.out?f.note??"—":`${null===f.in?"—":G(f.in)} / ${null===f.out?"—":G(f.out)}`}),g&&f.note&&(0,b.jsx)("span",{className:"font-mono text-[9px] text-muted-foreground/70",children:f.note})]})]})}function I({tier:a}){return(0,b.jsx)("span",{className:"shrink-0 rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-muted-foreground ring-1 ring-border ring-inset",children:a})}function J({provider:a,onSaved:c}){let[d,e]=(0,i.useState)(""),[f,g]=(0,q.useServerAction)(o.setConfigAction,{onOk:()=>{(0,r.revalidate)(j.queryKey.llmModel),(0,r.revalidate)(j.queryKey.config),c()}});return a.signIn?(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,b.jsx)("p",{className:"px-1 font-mono text-[11px] text-muted-foreground",children:"Runs on your plan once you sign in"}),(0,b.jsx)(u.ChatGptSignIn,{variant:"outline"})]}):(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(l.Input,{value:d,onChange:a=>e(a.target.value),placeholder:t.TEXT_MODEL_PROVIDERS[a.id].keyLooks??"Paste the key",spellCheck:!1,type:"password"}),(0,b.jsx)(k.Button,{variant:"outline",loading:g,disabled:d.trim().length<n.KEY_MIN,onClick:()=>f(a.apiKeyName,d),children:"Save key"})]})}a.s(["ModelPicker",0,function({provider:a,model:e,kind:f,unset:n,onChange:o,onUnset:q,compact:u=!1}){let{data:v=[],mutate:w}=(0,r.useServerRoute)(j.queryKey.llmModel),x=f?v.filter(a=>(0,t.canMakeKind)(a.id,f)):v,y=x.find(b=>b.id===a),[A,B]=(0,i.useState)(!1),[D,E]=(0,i.useState)(null),[F,G]=(0,i.useState)(""),H=x.find(b=>b.id===(D??a))??x[0],K=H&&(0,t.isCatalogProvider)(H.id)?H.id:null,L=(0,r.useServerRoute)(A&&K&&j.queryKey.modelCatalog(K)),M=a=>f&&a?t.MEDIA_MODEL_PROVIDERS[a.id]?.models[f]??[]:a?.suggestModels??[],N=M(y).find(a=>a.id===e),O=a=>{H&&a.trim()&&(o({provider:H.id,model:a.trim()}),G(""),B(!1))};return(0,b.jsxs)(m.Popover,{open:A,onOpenChange:a=>{B(a),a||E(null)},children:[(0,b.jsxs)(m.PopoverTrigger,{render:u?(0,b.jsx)("button",{type:"button",className:"inline-flex h-5 max-w-64 items-center gap-1.5 rounded-full px-2 text-foreground/80 ring-1 ring-border outline-none ring-inset transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50"}):(0,b.jsx)(k.Button,{variant:"outline",className:"w-full min-w-0 justify-start gap-2 font-normal"}),children:[y?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(z.ProviderIcon,{provider:y.id,className:(0,s.cn)("shrink-0",u?"size-3":"size-4")}),!u&&(0,b.jsxs)("span",{className:"min-w-0 max-w-fit grow basis-0 truncate text-muted-foreground",children:[y.label,(0,b.jsx)("span",{className:"ml-2 text-muted-foreground/40",children:"·"})]}),(0,b.jsx)("span",{className:(0,s.cn)("truncate",!u&&"font-medium"),children:N?.label??(e||"Pick a model")})]}):(0,b.jsx)("span",{className:"truncate text-muted-foreground",children:n??(f?"Not picked":"App default")}),(0,b.jsx)(d.ChevronsUpDown,{className:(0,s.cn)("ml-auto shrink-0 text-muted-foreground",u?"size-2.5":"size-3.5")})]}),(0,b.jsxs)(m.PopoverContent,{align:"start",className:"flex w-[min(34rem,calc(100vw-2rem))] flex-row gap-0 overflow-hidden rounded-2xl p-0",children:[(0,b.jsxs)("div",{className:"flex max-h-80 w-48 shrink-0 flex-col gap-px overflow-y-auto border-r border-border/60 bg-muted/40 p-1.5",children:[q&&(0,b.jsxs)("button",{type:"button",onClick:()=>{q(),B(!1)},className:(0,s.cn)("mb-1 flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",y?"hover:bg-muted/60":"bg-muted font-medium"),children:[(0,b.jsx)(g,{className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:n??(f?"Not picked":"App default")}),!y&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]}),x.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>E(a.id),className:(0,s.cn)("flex h-8.5 shrink-0 items-center gap-2 rounded-lg px-2 text-left text-[13px] outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a.id===H?.id?"bg-muted font-medium":"hover:bg-muted/60",!a.hasKey&&"text-muted-foreground"),children:[(0,b.jsx)(z.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a.label}),!a.hasKey&&(0,b.jsx)(h.KeyRound,{className:"size-3 shrink-0"})]},a.id))]}),(0,b.jsx)("div",{className:"flex max-h-80 min-w-0 flex-1 flex-col gap-px overflow-y-auto p-1.5",children:H?H.hasKey?K&&!L.error?(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["Every model ",H.label," carries, with what each costs."]}),(0,b.jsx)(C,{provider:K,models:L.data??[],kind:f,value:H.id===a?e:"",loading:L.isLoading,onPick:O})]}):(0,b.jsxs)(b.Fragment,{children:[M(H).map(d=>{let f=H.id===a&&d.id===e;return(0,b.jsxs)("button",{type:"button",onClick:()=>O(d.id),className:(0,s.cn)("flex shrink-0 items-center gap-2 rounded-lg px-2.5 py-1.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"bg-muted":"hover:bg-muted/60"),children:[(0,b.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,b.jsxs)("span",{className:"flex items-center gap-1.5 text-[13px] font-medium",children:[(0,b.jsx)("span",{className:"truncate",children:d.label}),(0,b.jsx)(I,{tier:d.tier})]}),(0,b.jsx)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:d.id})]}),f&&(0,b.jsx)(c.Check,{className:"size-3.5 shrink-0"})]},d.id)}),(0,b.jsx)("form",{onSubmit:a=>{a.preventDefault(),O(F)},className:"mt-1 px-1 pb-1",children:(0,b.jsx)(l.Input,{value:F,onChange:a=>G(a.target.value),spellCheck:!1,"aria-label":"Model id",placeholder:L.error?"Could not read the catalog — type an id":"or type a model id",className:"h-8 font-mono text-xs"})})]}):(0,b.jsxs)("div",{className:"space-y-2 p-2",children:[(0,b.jsx)("p",{className:(0,s.cn)("text-xs leading-relaxed",H.lostKey?s.WAITING_INK:"text-muted-foreground"),children:H.lostKey?H.signIn?(0,p.lostWords)(`The ${H.label} sign-in saved before`,"Sign in again."):(0,p.lostWords)(`The ${H.label} key saved before`,"Paste it again."):`${H.label} has no key yet.`}),(0,b.jsx)(J,{provider:H,onSaved:()=>w()})]}):null})]})]})}],608902)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=features_ai_components_model-picker_tsx_0ucb1y9._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[82951,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(875160),g=a.i(272944),h=a.i(19895),i=a.i(951675),j=a.i(474215),k=a.i(572131),l=a.i(767561),m=a.i(340695),n=a.i(965733),o=a.i(676504),p=a.i(446181),q=a.i(545097),r=a.i(950463),s=a.i(287702),t=a.i(84450),u=a.i(808519),v=a.i(857672),w=a.i(411509),x=a.i(913834),y=a.i(42380),z=a.i(8468),A=a.i(181809),B=a.i(135432),C=a.i(156819),D=a.i(619477),E=a.i(199169),F=a.i(313237),G=a.i(862966),H=a.i(759497),I=a.i(497895),J=a.i(988422),K=b([z,A,J]);[z,A,J]=K.then?(await K)():K;let R="w-36";function L({thread:a,bots:b,open:c,onOpen:g,onStop:h,onDelete:i}){let j="running"===a.status,l=(0,k.useMemo)(()=>(0,B.threadFromRow)(a,b),[a,b]),m=function(a){let b=a.room.questions[0];if(b)return{text:(0,I.plainText)(b.text),tone:I.WAITING_INK};if("waiting"===a.status&&a.ask)return{text:(0,w.isAppStop)(a.ask)?(0,I.plainText)(a.outcome??a.ask.question):a.ask.question,tone:I.WAITING_INK};let c=a.seen;if("cancelled"===a.status)return{text:"Stopped",tone:"text-muted-foreground"};if("done"===a.status)return{text:(0,I.plainText)(a.outcome??"Done"),tone:c?"text-muted-foreground":"text-foreground/80"};for(let b=a.lines.length-1;b>=0;b--){let c=a.lines[b];if("tool"===c.kind)return{text:c.note??c.input,tone:"text-muted-foreground",tool:c.name,shine:!0};if("text"===c.kind)return{text:c.text,tone:"text-muted-foreground",shine:!0};if("user"===c.kind)break}return{text:`${a.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(a),n=a.tokens.input+a.tokens.output;return(0,d.jsxs)("div",{className:(0,I.cn)("group/row relative transition-colors",c?"bg-muted/80":"hover:bg-muted/50"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsxs)("button",{type:"button",onClick:g,className:"flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(x.BotMark,{size:40,seed:a.bot,...(0,x.markOf)(a.bot,b),state:j?"thinking":"idle",notify:(0,w.needsThreadReply)(a)||(0,w.isUnread)(a),crossed:"cancelled"===a.status,className:"shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:a.label}),a.routineId&&(0,d.jsx)("span",{title:"Started by a routine",className:"shrink-0",children:(0,d.jsx)(C.RoutineMark,{className:"size-3 text-muted-foreground/80"})}),(0,d.jsx)(y.BotRoster,{bots:l.roster}),j&&(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),m&&(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[m.tool&&(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:m.tool}),m.shine?(0,d.jsx)(q.ShinyText,{text:m.text,speed:2.2,className:"min-w-0 truncate"}):(0,d.jsx)("span",{className:(0,I.cn)("min-w-0 truncate",m.tone),children:m.text})]})]}),(0,d.jsxs)("span",{className:(0,I.cn)("flex shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",R),children:[(0,d.jsx)("span",{children:(0,E.whenOf)(a.updatedAt)}),(0,d.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:n>0?`${a.id} \xb7 in ${(0,I.formatCount)(a.tokens.input)} \xb7 out ${(0,I.formatCount)(a.tokens.output)}`:a.id,children:[a.bot,n>0&&` \xb7 ${(0,I.formatCount)(n)}`]})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]}),(0,d.jsx)(M,{thread:a,onStop:h,onDelete:i})]}),j&&(0,d.jsx)(O,{thread:a})]})}function M({thread:a,onStop:b,onDelete:c,className:e}){let f="running"===a.status||"waiting"===a.status;return(0,d.jsxs)(o.DropdownMenu,{children:[(0,d.jsx)(o.DropdownMenuTrigger,{render:(0,d.jsx)(m.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:e}),children:(0,d.jsx)(g.MoreHorizontal,{})}),(0,d.jsxs)(o.DropdownMenuContent,{align:"end",children:[f&&(0,d.jsxs)(o.DropdownMenuItem,{onClick:b,children:[(0,d.jsx)(h.Square,{}),"Stop"]}),(0,d.jsxs)(o.DropdownMenuItem,{variant:"destructive",onClick:c,children:[(0,d.jsx)(i.Trash2,{}),"Delete"]})]})]})}function N({thread:a,whole:b,bots:c,onClose:e,onStop:f,onDelete:g}){let[h,i]=(0,k.useState)(null),l=(0,k.useCallback)(a=>{i(a?.closest("[data-slot=dialog-content]")??null)},[]),[o,p]=(0,k.useState)({}),q=(0,k.useMemo)(()=>a?(0,B.threadFromRow)(a,c):null,[a,c]),s=(0,k.useMemo)(()=>b?(0,B.threadFromRow)(b,c):q?.lines.length?q:null,[b,q,c]),t=a?o[a.id]??null:null;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{ref:l,hidden:!0}),(0,d.jsx)(n.Dialog,{open:!!(a&&h),onOpenChange:a=>!a&&e(),modal:!1,disablePointerDismissal:!0,children:(0,d.jsx)(n.DialogPortal,{container:h,children:(0,d.jsx)(n.DialogPopup,{className:"absolute inset-y-0 right-0 z-10 flex w-[min(35rem,calc(100%-13rem))] flex-col border-l border-border/60 bg-popover text-popover-foreground shadow-2xl shadow-black/10 duration-150 data-open:animate-in data-open:fade-in-0 data-open:slide-in-from-right-4 data-closed:animate-out data-closed:fade-out-0 data-closed:slide-out-to-right-4",children:a&&q&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2.5 pt-3.5 pr-3 pb-1.5 pl-5",children:[(0,d.jsx)(x.BotMark,{size:28,seed:a.bot,...(0,x.markOf)(a.bot,c),state:"running"===a.status?"thinking":"idle",notify:(0,w.needsThreadReply)(a),crossed:"cancelled"===a.status,className:"shrink-0"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)(n.DialogTitle,{className:"sr-only",children:a.label}),(0,d.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:a.label}),(0,d.jsxs)("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 font-mono text-[11px] text-muted-foreground",children:[(0,d.jsxs)("span",{title:a.id,className:"min-w-0 truncate",children:[a.bot," · ",(0,E.whenOf)(a.updatedAt)]}),(0,d.jsx)(A.ThreadFacts,{thread:q})]})]}),(0,d.jsx)(M,{thread:a,onStop:()=>f(a),onDelete:()=>g(a),className:"text-muted-foreground"}),(0,d.jsx)(n.DialogClose,{render:(0,d.jsx)(m.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the thread"}),children:(0,d.jsx)(j.X,{})})]}),s?(0,d.jsx)(A.Conversation,{thread:s,tab:t,onTab:b=>p(c=>({...c,[a.id]:b})),className:"max-h-none min-h-0 flex-1 px-5",tabsClassName:"px-5"}):(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 px-5 py-4",children:[(0,d.jsx)(r.Skeleton,{className:"h-3 w-4/5"}),(0,d.jsx)(r.Skeleton,{className:"h-3 w-3/5"}),(0,d.jsx)(r.Skeleton,{className:"h-3 w-2/3"})]}),(0,d.jsx)("div",{className:"shrink-0 px-5 pt-2 pb-4",children:(0,d.jsx)(J.ThreadReply,{thread:{id:a.id,label:a.label,bot:a.bot,ask:a.ask,room:a.room},status:a.status,faces:q.roster,to:t??a.bot})})]})})})})]})}function O({thread:a}){let b=[];if(a.lines.forEach((c,d)=>{if("tool"!==c.kind)return;let e=a.lines[d+1];b.push({step:c,took:e?(0,E.toDate)(e.at).getTime()-(0,E.toDate)(c.at).getTime():null})}),0===b.length)return null;let c=(0,E.toDate)(a.updatedAt).getTime()-(0,E.toDate)(a.createdAt).getTime();return(0,d.jsxs)("div",{className:"pointer-events-none absolute top-[calc(100%-0.75rem)] left-17 z-20 hidden w-96 max-w-[calc(100%-5rem)] rounded-xl bg-background p-3 pb-2 shadow-xl shadow-black/10 ring-1 ring-border/60 group-hover/row:block",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,d.jsx)("span",{children:a.bot}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsxs)("span",{children:[b.length," ",1===b.length?"step":"steps"]}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsx)("span",{children:P(c)})]}),b.slice(-6).map(({step:a,took:b})=>{let c=(0,z.toolIcon)(a.name);return(0,d.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===b?(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,d.jsx)(c,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:a.name}),null===b?(0,d.jsx)(q.ShinyText,{text:a.note??a.input,speed:2.2,className:"min-w-0 flex-1 truncate"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:a.note??a.input}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===b?"":P(b)})]},a.id)})]})}function P(a){let b=Math.max(0,a)/1e3;if(b<10)return`${b.toFixed(1)}s`;if(b<60)return`${Math.round(b)}s`;let c=Math.floor(b/60);return`${c}m ${Math.round(b-60*c)}s`}function Q(){return(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)(r.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,d.jsx)(r.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,d.jsx)(r.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,d.jsxs)("span",{className:(0,I.cn)("flex shrink-0 flex-col items-end gap-1.5",R),children:[(0,d.jsx)(r.Skeleton,{className:"h-2.5 w-12"}),(0,d.jsx)(r.Skeleton,{className:"h-2.5 w-24"})]}),(0,d.jsx)("span",{className:"size-4 shrink-0"}),(0,d.jsx)("span",{className:"size-7 shrink-0"})]})}a.s(["ThreadSetting",0,function(){let[a,b]=(0,k.useState)(null),[c,e]=(0,k.useState)(""),{data:f}=(0,H.useServerRoute)(l.queryKey.bot),{items:g,isLoading:h,isLoadingMore:i,error:j,hasMore:n,sentinelRef:o}=(0,G.useServerPages)({key:(a,b)=>{if(0===a)return l.queryKey.threadHistory(null);let c=b?.at(-1);return c?l.queryKey.threadHistory((0,E.toDate)(c.updatedAt).toISOString()):null},size:s.PAGE_SIZE}),q=g.find(b=>b.id===a),{data:r}=(0,H.useServerRoute)(a?l.queryKey.thread(a):null),x=r?.id===a?r:void 0;(0,B.useSeenOnDetail)(q);let[y]=(0,F.useServerAction)(t.cancelThreadAction,{onOk:a=>{(0,H.revalidate)(l.queryKey.threads),B.screenActs.announce({kind:"stopped",id:a.id,label:a.label})}}),[z]=(0,F.useServerAction)(v.deleteThreadAction,{onOk:()=>(0,H.revalidate)(l.queryKey.threads)}),[A]=(0,F.useServerAction)(u.clearFinishedThreadsAction,{onOk:()=>(0,H.revalidate)(l.queryKey.threads)}),C=c.trim().toLowerCase(),I=C?g.filter(a=>[a.label,a.outcome,a.bot].join(" ").toLowerCase().includes(C)):g,J=async()=>{await p.notify.confirm({title:"Clear finished jobs?",description:"Everything done or stopped goes, messages included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&A()},K=async c=>{if(!await p.notify.confirm({title:`Delete "${c.label}"?`,description:"Its messages go with it — nothing can be picked back up.",okText:"Delete",destructive:!0}))return;let d=I.findIndex(a=>a.id===c.id),e=I[d+1]??I[d-1];try{await z(c.id)}catch{return}c.id===a&&b(e?.id??null)};if(h)return(0,d.jsx)(D.SettingSkeleton,{rows:3});if(j)return(0,d.jsx)(D.SettingError,{message:j.message});let M=g.filter(a=>"waiting"===a.status).length,O=g.filter(w.isUnread).length;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(D.SettingScreen,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(D.SettingRailNote,{children:[g.length," shown",M>0&&` \xb7 ${M} waiting on you`,O>0&&` \xb7 ${O} new result${1===O?"":"s"}`]}),(n||g.some(a=>"done"===a.status||"cancelled"===a.status))&&(0,d.jsx)(m.Button,{variant:"outline",size:"sm",onClick:J,children:"Clear finished"})]}),children:(0,d.jsx)(D.SettingGroup,{filter:(0,d.jsx)(D.SettingFilter,{value:c,onChange:e,placeholder:"Filter by label, bot or word"}),right:C?`${I.length} of ${g.length}`:void 0,children:(0,d.jsxs)(D.SettingItems,{children:[0===I.length?(0,d.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:C?"Nothing here matches. Keep scrolling to search further back.":"Nothing yet. When Thursday hands a job to a bot mid-call, it shows up here — while it runs, and after."}):I.map(a=>(0,d.jsx)(L,{thread:a,bots:f,open:a.id===q?.id,onOpen:()=>b(a.id),onStop:()=>y(a.id),onDelete:()=>K(a)},a.id)),(0,d.jsx)(D.SettingMore,{hasMore:n,loading:i,sentinelRef:o,ghost:(0,d.jsx)(Q,{}),className:"divide-y divide-border/60"})]})})}),(0,d.jsx)(N,{thread:q,whole:x,bots:f,onClose:()=>b(null),onStop:a=>y(a.id),onDelete:K})]})}]),c()}catch(a){c(a)}},!1),808519,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fdb1316193e67caf4748d281eef408f1ed088ee63",b.callServer,void 0,b.findSourceMapURL,"clearFinishedThreadsAction");a.s(["clearFinishedThreadsAction",0,c])},857672,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f2241d47cd5bdb236943358f0a3f7c5d4d362a725",b.callServer,void 0,b.findSourceMapURL,"deleteThreadAction");a.s(["deleteThreadAction",0,c])}];
|
|
1
|
+
module.exports=[82951,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(875160),g=a.i(272944),h=a.i(19895),i=a.i(951675),j=a.i(474215),k=a.i(572131),l=a.i(767561),m=a.i(340695),n=a.i(965733),o=a.i(676504),p=a.i(446181),q=a.i(545097),r=a.i(950463),s=a.i(287702),t=a.i(235243),u=a.i(94772),v=a.i(731899),w=a.i(411509),x=a.i(913834),y=a.i(42380),z=a.i(8468),A=a.i(181809),B=a.i(135432),C=a.i(156819),D=a.i(619477),E=a.i(199169),F=a.i(313237),G=a.i(862966),H=a.i(759497),I=a.i(497895),J=a.i(988422),K=b([z,A,J]);[z,A,J]=K.then?(await K)():K;let R="w-36";function L({thread:a,bots:b,open:c,onOpen:g,onStop:h,onDelete:i}){let j="running"===a.status,l=(0,k.useMemo)(()=>(0,B.threadFromRow)(a,b),[a,b]),m=function(a){let b=a.room.questions[0];if(b)return{text:(0,I.plainText)(b.text),tone:I.WAITING_INK};if("waiting"===a.status&&a.ask)return{text:(0,w.isAppStop)(a.ask)?(0,I.plainText)(a.outcome??a.ask.question):a.ask.question,tone:I.WAITING_INK};let c=a.seen;if("cancelled"===a.status)return{text:"Stopped",tone:"text-muted-foreground"};if("done"===a.status)return{text:(0,I.plainText)(a.outcome??"Done"),tone:c?"text-muted-foreground":"text-foreground/80"};for(let b=a.lines.length-1;b>=0;b--){let c=a.lines[b];if("tool"===c.kind)return{text:c.note??c.input,tone:"text-muted-foreground",tool:c.name,shine:!0};if("text"===c.kind)return{text:c.text,tone:"text-muted-foreground",shine:!0};if("user"===c.kind)break}return{text:`${a.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(a),n=a.tokens.input+a.tokens.output;return(0,d.jsxs)("div",{className:(0,I.cn)("group/row relative transition-colors",c?"bg-muted/80":"hover:bg-muted/50"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsxs)("button",{type:"button",onClick:g,className:"flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(x.BotMark,{size:40,seed:a.bot,...(0,x.markOf)(a.bot,b),state:j?"thinking":"idle",notify:(0,w.needsThreadReply)(a)||(0,w.isUnread)(a),crossed:"cancelled"===a.status,className:"shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:a.label}),a.routineId&&(0,d.jsx)("span",{title:"Started by a routine",className:"shrink-0",children:(0,d.jsx)(C.RoutineMark,{className:"size-3 text-muted-foreground/80"})}),(0,d.jsx)(y.BotRoster,{bots:l.roster}),j&&(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),m&&(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[m.tool&&(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:m.tool}),m.shine?(0,d.jsx)(q.ShinyText,{text:m.text,speed:2.2,className:"min-w-0 truncate"}):(0,d.jsx)("span",{className:(0,I.cn)("min-w-0 truncate",m.tone),children:m.text})]})]}),(0,d.jsxs)("span",{className:(0,I.cn)("flex shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",R),children:[(0,d.jsx)("span",{children:(0,E.whenOf)(a.updatedAt)}),(0,d.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:n>0?`${a.id} \xb7 in ${(0,I.formatCount)(a.tokens.input)} \xb7 out ${(0,I.formatCount)(a.tokens.output)}`:a.id,children:[a.bot,n>0&&` \xb7 ${(0,I.formatCount)(n)}`]})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]}),(0,d.jsx)(M,{thread:a,onStop:h,onDelete:i})]}),j&&(0,d.jsx)(O,{thread:a})]})}function M({thread:a,onStop:b,onDelete:c,className:e}){let f="running"===a.status||"waiting"===a.status;return(0,d.jsxs)(o.DropdownMenu,{children:[(0,d.jsx)(o.DropdownMenuTrigger,{render:(0,d.jsx)(m.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:e}),children:(0,d.jsx)(g.MoreHorizontal,{})}),(0,d.jsxs)(o.DropdownMenuContent,{align:"end",children:[f&&(0,d.jsxs)(o.DropdownMenuItem,{onClick:b,children:[(0,d.jsx)(h.Square,{}),"Stop"]}),(0,d.jsxs)(o.DropdownMenuItem,{variant:"destructive",onClick:c,children:[(0,d.jsx)(i.Trash2,{}),"Delete"]})]})]})}function N({thread:a,whole:b,bots:c,onClose:e,onStop:f,onDelete:g}){let[h,i]=(0,k.useState)(null),l=(0,k.useCallback)(a=>{i(a?.closest("[data-slot=dialog-content]")??null)},[]),[o,p]=(0,k.useState)({}),q=(0,k.useMemo)(()=>a?(0,B.threadFromRow)(a,c):null,[a,c]),s=(0,k.useMemo)(()=>b?(0,B.threadFromRow)(b,c):q?.lines.length?q:null,[b,q,c]),t=a?o[a.id]??null:null;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{ref:l,hidden:!0}),(0,d.jsx)(n.Dialog,{open:!!(a&&h),onOpenChange:a=>!a&&e(),modal:!1,disablePointerDismissal:!0,children:(0,d.jsx)(n.DialogPortal,{container:h,children:(0,d.jsx)(n.DialogPopup,{className:"absolute inset-y-0 right-0 z-10 flex w-[min(35rem,calc(100%-13rem))] flex-col border-l border-border/60 bg-popover text-popover-foreground shadow-2xl shadow-black/10 duration-150 data-open:animate-in data-open:fade-in-0 data-open:slide-in-from-right-4 data-closed:animate-out data-closed:fade-out-0 data-closed:slide-out-to-right-4",children:a&&q&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2.5 pt-3.5 pr-3 pb-1.5 pl-5",children:[(0,d.jsx)(x.BotMark,{size:28,seed:a.bot,...(0,x.markOf)(a.bot,c),state:"running"===a.status?"thinking":"idle",notify:(0,w.needsThreadReply)(a),crossed:"cancelled"===a.status,className:"shrink-0"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)(n.DialogTitle,{className:"sr-only",children:a.label}),(0,d.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:a.label}),(0,d.jsxs)("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 font-mono text-[11px] text-muted-foreground",children:[(0,d.jsxs)("span",{title:a.id,className:"min-w-0 truncate",children:[a.bot," · ",(0,E.whenOf)(a.updatedAt)]}),(0,d.jsx)(A.ThreadFacts,{thread:q})]})]}),(0,d.jsx)(M,{thread:a,onStop:()=>f(a),onDelete:()=>g(a),className:"text-muted-foreground"}),(0,d.jsx)(n.DialogClose,{render:(0,d.jsx)(m.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the thread"}),children:(0,d.jsx)(j.X,{})})]}),s?(0,d.jsx)(A.Conversation,{thread:s,tab:t,onTab:b=>p(c=>({...c,[a.id]:b})),className:"max-h-none min-h-0 flex-1 px-5",tabsClassName:"px-5"}):(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 px-5 py-4",children:[(0,d.jsx)(r.Skeleton,{className:"h-3 w-4/5"}),(0,d.jsx)(r.Skeleton,{className:"h-3 w-3/5"}),(0,d.jsx)(r.Skeleton,{className:"h-3 w-2/3"})]}),(0,d.jsx)("div",{className:"shrink-0 px-5 pt-2 pb-4",children:(0,d.jsx)(J.ThreadReply,{thread:{id:a.id,label:a.label,bot:a.bot,ask:a.ask,room:a.room},status:a.status,faces:q.roster,to:t??a.bot})})]})})})})]})}function O({thread:a}){let b=[];if(a.lines.forEach((c,d)=>{if("tool"!==c.kind)return;let e=a.lines[d+1];b.push({step:c,took:e?(0,E.toDate)(e.at).getTime()-(0,E.toDate)(c.at).getTime():null})}),0===b.length)return null;let c=(0,E.toDate)(a.updatedAt).getTime()-(0,E.toDate)(a.createdAt).getTime();return(0,d.jsxs)("div",{className:"pointer-events-none absolute top-[calc(100%-0.75rem)] left-17 z-20 hidden w-96 max-w-[calc(100%-5rem)] rounded-xl bg-background p-3 pb-2 shadow-xl shadow-black/10 ring-1 ring-border/60 group-hover/row:block",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,d.jsx)("span",{children:a.bot}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsxs)("span",{children:[b.length," ",1===b.length?"step":"steps"]}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsx)("span",{children:P(c)})]}),b.slice(-6).map(({step:a,took:b})=>{let c=(0,z.toolIcon)(a.name);return(0,d.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===b?(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,d.jsx)(c,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:a.name}),null===b?(0,d.jsx)(q.ShinyText,{text:a.note??a.input,speed:2.2,className:"min-w-0 flex-1 truncate"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:a.note??a.input}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===b?"":P(b)})]},a.id)})]})}function P(a){let b=Math.max(0,a)/1e3;if(b<10)return`${b.toFixed(1)}s`;if(b<60)return`${Math.round(b)}s`;let c=Math.floor(b/60);return`${c}m ${Math.round(b-60*c)}s`}function Q(){return(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)(r.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,d.jsx)(r.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,d.jsx)(r.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,d.jsxs)("span",{className:(0,I.cn)("flex shrink-0 flex-col items-end gap-1.5",R),children:[(0,d.jsx)(r.Skeleton,{className:"h-2.5 w-12"}),(0,d.jsx)(r.Skeleton,{className:"h-2.5 w-24"})]}),(0,d.jsx)("span",{className:"size-4 shrink-0"}),(0,d.jsx)("span",{className:"size-7 shrink-0"})]})}a.s(["ThreadSetting",0,function(){let[a,b]=(0,k.useState)(null),[c,e]=(0,k.useState)(""),{data:f}=(0,H.useServerRoute)(l.queryKey.bot),{items:g,isLoading:h,isLoadingMore:i,error:j,hasMore:n,sentinelRef:o}=(0,G.useServerPages)({key:(a,b)=>{if(0===a)return l.queryKey.threadHistory(null);let c=b?.at(-1);return c?l.queryKey.threadHistory((0,E.toDate)(c.updatedAt).toISOString()):null},size:s.PAGE_SIZE}),q=g.find(b=>b.id===a),{data:r}=(0,H.useServerRoute)(a?l.queryKey.thread(a):null),x=r?.id===a?r:void 0;(0,B.useSeenOnDetail)(q);let[y]=(0,F.useServerAction)(t.cancelThreadAction,{onOk:a=>{(0,H.revalidate)(l.queryKey.threads),B.screenActs.announce({kind:"stopped",id:a.id,label:a.label})}}),[z]=(0,F.useServerAction)(v.deleteThreadAction,{onOk:()=>(0,H.revalidate)(l.queryKey.threads)}),[A]=(0,F.useServerAction)(u.clearFinishedThreadsAction,{onOk:()=>(0,H.revalidate)(l.queryKey.threads)}),C=c.trim().toLowerCase(),I=C?g.filter(a=>[a.label,a.outcome,a.bot].join(" ").toLowerCase().includes(C)):g,J=async()=>{await p.notify.confirm({title:"Clear finished jobs?",description:"Everything done or stopped goes, messages included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&A()},K=async c=>{if(!await p.notify.confirm({title:`Delete "${c.label}"?`,description:"Its messages go with it — nothing can be picked back up.",okText:"Delete",destructive:!0}))return;let d=I.findIndex(a=>a.id===c.id),e=I[d+1]??I[d-1];try{await z(c.id)}catch{return}c.id===a&&b(e?.id??null)};if(h)return(0,d.jsx)(D.SettingSkeleton,{rows:3});if(j)return(0,d.jsx)(D.SettingError,{message:j.message});let M=g.filter(a=>"waiting"===a.status).length,O=g.filter(w.isUnread).length;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(D.SettingScreen,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(D.SettingRailNote,{children:[g.length," shown",M>0&&` \xb7 ${M} waiting on you`,O>0&&` \xb7 ${O} new result${1===O?"":"s"}`]}),(n||g.some(a=>"done"===a.status||"cancelled"===a.status))&&(0,d.jsx)(m.Button,{variant:"outline",size:"sm",onClick:J,children:"Clear finished"})]}),children:(0,d.jsx)(D.SettingGroup,{filter:(0,d.jsx)(D.SettingFilter,{value:c,onChange:e,placeholder:"Filter by label, bot or word"}),right:C?`${I.length} of ${g.length}`:void 0,children:(0,d.jsxs)(D.SettingItems,{children:[0===I.length?(0,d.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:C?"Nothing here matches. Keep scrolling to search further back.":"Nothing yet. When Thursday hands a job to a bot mid-call, it shows up here — while it runs, and after."}):I.map(a=>(0,d.jsx)(L,{thread:a,bots:f,open:a.id===q?.id,onOpen:()=>b(a.id),onStop:()=>y(a.id),onDelete:()=>K(a)},a.id)),(0,d.jsx)(D.SettingMore,{hasMore:n,loading:i,sentinelRef:o,ghost:(0,d.jsx)(Q,{}),className:"divide-y divide-border/60"})]})})}),(0,d.jsx)(N,{thread:q,whole:x,bots:f,onClose:()=>b(null),onStop:a=>y(a.id),onDelete:K})]})}]),c()}catch(a){c(a)}},!1),94772,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fad766f26aec8e232c267934bfbb64336e43eeda4",b.callServer,void 0,b.findSourceMapURL,"clearFinishedThreadsAction");a.s(["clearFinishedThreadsAction",0,c])},731899,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f7b01acd185abd45b14d85f82ded01b9947b20a06",b.callServer,void 0,b.findSourceMapURL,"deleteThreadAction");a.s(["deleteThreadAction",0,c])}];
|
|
2
2
|
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=features_bot_0-7flc-._.js.map
|
|
@@ -6,7 +6,7 @@ ${c} stopped without an answer.`})}let ae=(a,b,c,d)=>[c,...D(a,b,d)].join("\n\n"
|
|
|
6
6
|
${m.map(i).join("\n")}`:"Everything you handed out is back.",...n.length?[`The user wrote to these bots directly; their answers come to you:
|
|
7
7
|
${n.map(i).join("\n")}`]:[]].join("\n\n")}function O(a){return a.visible?(0,p.tagSpeaker)(a.speaker===q.ROOM_USER?"user":"thursday",a.text):`${a.speaker}:
|
|
8
8
|
|
|
9
|
-
${a.text}`}async function P(a,b){await k.database.transaction(async c=>{await A(c,a),await F(c,a);let d=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.parentId,a.id)),f=await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1),g=await s(c,a.threadId,a.bot),h=f.length&&!g?"queued":f.length||d.some(a=>!$(a.state))?"waiting":"done";if(await c.update(l.threadWorkTable).set({state:h,result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),"done"!==h)return;if(a.parentId){let[d]=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.id,a.parentId)),[f]=b?[]:await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.parentId),(0,e.eq)(l.threadDeliveryTable.speaker,a.bot),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1);d&&"cancelled"!==d.state&&!f&&await B(c,{key:`return:${a.id}:${a.generation}`,threadId:a.threadId,workId:d.id,speaker:a.bot,text:b||"This turn ended without a message."})}let[i]=await c.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a.threadId)),j=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId));i&&a.bot===i.bot&&!a.parentId&&j.every(a=>$(a.state))&&(await c.update(l.threadTable).set({status:b?"done":"waiting",outcome:b||"The room is idle. Send a message to continue.",pending:b?null:{options:[p.THREAD_CONTINUE]},wrapped:!0,endedAt:b?new Date:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a.threadId)),b&&await c.insert(l.threadRelayTable).values({key:`report:${a.threadId}:${i.generation}`,threadId:a.threadId,bot:a.bot,text:b,kind:"report"}).onConflictDoNothing())}),Z()}async function Q(a){await k.database.transaction(async b=>{let[c]=await b.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));if(!c||"running"!==c.status)return;let d=await b.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a));if(d.some(a=>"queued"===a.state||"running"===a.state))return;let f=d.find(a=>"external"===a.state);if(f)return void await b.update(l.threadTable).set({status:"waiting",outcome:f.result,pending:{options:f.options,messageId:f.id,bot:f.caller},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a));if(d.some(a=>!$(a.state))||c.wrapped)return void await b.update(l.threadTable).set({status:"waiting",outcome:c.turns>=j.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.",pending:{options:[p.THREAD_CONTINUE]},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a));let g=crypto.randomUUID();await b.insert(l.threadWorkTable).values({id:g,threadId:a,bot:c.bot,caller:q.ROOM_THURSDAY,state:"queued"}),await B(b,{key:g,threadId:a,workId:g,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await b.update(l.threadTable).set({wrapped:!0}).where((0,e.eq)(l.threadTable.id,a))}),Z()}async function R(a,b){await k.database.transaction(async c=>{let d=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a));for(let f of d.filter(a=>"running"===a.state||"queued"===a.state))await c.update(l.threadWorkTable).set({state:"paused",generation:f.generation+1}).where((0,e.eq)(l.threadWorkTable.id,f.id)),await u(c,a,aa(f,b));await c.update(l.threadTable).set({status:"waiting",outcome:b,pending:{options:[p.THREAD_CONTINUE]},seen:!1,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await c.insert(l.threadRelayTable).values({key:crypto.randomUUID(),threadId:a,bot:d.find(a=>!a.parentId)?.bot??"Bot",text:b,kind:"interrupted"})}),Z()}async function S(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await b.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.eq)(l.threadRelayTable.kind,"interrupted")))}),Z()}async function T(a,b,c){let d=a.select({workId:l.threadDeliveryTable.workId}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.threadId,b),(0,e.eq)(l.threadDeliveryTable.consumed,!1)));await a.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,b),(0,e.eq)(l.threadWorkTable.bot,c),(0,e.inArray)(l.threadWorkTable.state,["waiting","done"]),(0,e.inArray)(l.threadWorkTable.id,d)))}async function U(a,b,c,d,f,g=!0){let i=await k.database.transaction(async i=>{let[j]=await i.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));j||(0,n.publicError)("No such thread.");let k=await i.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)).orderBy(l.threadWorkTable.createdAt),m=k.filter(a=>"external"===a.state),o=f?[m.find(a=>a.id===f)??(0,n.publicError)("That question is no longer waiting for an answer.")]:g?function(a,b){let c=b?a.filter(a=>a.caller===b):a;if(new Set(c.map(a=>a.caller)).size<=1)return c;(0,n.publicError)(`Several bots are waiting for an answer: ${c.map(a=>`${a.caller} (replyTo ${a.id}): “${(a.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by naming its bot or by its replyTo.`)}(m,d):[],p=o[0],r=p?.caller??d??j.bot,t=p?k.find(a=>a.id===p.parentId):k.find(a=>a.bot===r&&"running"===a.state)??k.find(a=>a.bot===r&&!$(a.state)&&"external"!==a.state);for(let a of o)await i.update(l.threadWorkTable).set({state:"done",result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.messageId,a.id));if(!t){let b=null;if(r!==j.bot){let c=k.findLast(a=>a.bot===j.bot&&!a.parentId&&"cancelled"!==a.state);c?"done"===c.state&&await i.update(l.threadWorkTable).set({state:"waiting"}).where((0,e.eq)(l.threadWorkTable.id,c.id)):c=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:j.bot,caller:q.ROOM_THURSDAY,state:"waiting"}).returning())[0],b=c.id}t=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:r,caller:b?j.bot:q.ROOM_THURSDAY,parentId:b,state:"queued"}).returning())[0]}p&&await B(i,{key:`answer:${p.id}`,threadId:a,workId:t.id,speaker:"Thread activity",text:o.length>1?`The next message answers your questions to the user: ${o.map(a=>`“${a.result??""}”`).join(", ")}`:`The next message answers your question to the user: “${p.result??""}”`});let u=crypto.randomUUID();return await B(i,{key:u,threadId:a,workId:t.id,speaker:c,text:b,visible:!0}),p&&!await s(i,a,r)&&await T(i,a,r),await i.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await i.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.inArray)(l.threadRelayTable.kind,["interrupted","report"]))),{key:u,to:r,answered:p?{bot:p.caller,question:o.map(a=>a.result??"").join(" · ")}:null}});return Z(),i}async function V(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"cancelled",generation:h.sql`${l.threadWorkTable.generation} + 1`}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.inArray)(l.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.threadId,a))}),Z()}async function W(a,b){let[c]=await k.database.select({bot:l.threadTable.bot}).from(l.threadTable).where((0,e.eq)(l.threadTable.id,a)),d=await k.database.select().from(l.threadMessageTable).where((0,e.and)((0,e.eq)(l.threadMessageTable.threadId,a),(0,e.or)((0,e.eq)(l.threadMessageTable.bot,b),c?.bot===b?h.sql`${l.threadMessageTable.bot} is null AND ${l.threadMessageTable.parent} is null`:void 0))).orderBy(l.threadMessageTable.seq),f=d.findLastIndex(a=>a.compact);return(f>0?[d[0],...d.slice(f)]:d).map(a=>({role:a.role,content:a.content}))}async function X(a){return k.database.select({threadId:l.threadRelayTable.threadId,text:l.threadRelayTable.text}).from(l.threadRelayTable).where((0,e.and)((0,e.eq)(l.threadRelayTable.kind,"report"),h.sql`instr(${l.threadRelayTable.text}, ${a}) > 0`)).orderBy((0,f.desc)(l.threadRelayTable.id))}async function Y(a){a.length&&(await k.database.update(l.threadRelayTable).set({accepted:!0}).where((0,e.inArray)(l.threadRelayTable.id,a)),Z())}a.s(["acceptRoomRelays",0,Y,"appendRoomMessage",0,w,"cancelRoom",0,V,"claimRoomWork",0,J,"consumeRoomInbox",0,L,"finishRoomWork",0,P,"joinRoom",0,M,"listParticipantTranscript",0,W,"listReportsNaming",0,X,"listRoomReceipts",0,t,"listRoomWork",0,x,"lowerRoomContextBudget",0,z,"messageKey",0,_,"noteRoomBreak",0,v,"pauseRoom",0,R,"resumeRoom",0,S,"roomBoard",0,N,"roomContextBudget",0,y,"sendRoomMessage",0,I,"settleRoom",0,Q,"tellRoom",0,U,"withdrawDelivery",0,K]),c()}catch(a){c(a)}},!1),344853,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469),h=a.i(148016),i=a.i(569572),j=a.i(184838),k=a.i(714428),l=a.i(762008),m=a.i(182248),n=a.i(446957),o=a.i(839430),p=a.i(109955),q=b([j,o]);[j,o]=q.then?(await q)():q;let R=()=>g.appEvents.emit({type:"threads"}),S={id:k.threadTable.id,bot:k.threadTable.bot,label:k.threadTable.label,request:k.threadTable.request,status:k.threadTable.status,outcome:k.threadTable.outcome,pending:k.threadTable.pending,seen:k.threadTable.seen,routineId:k.threadTable.routineId,inputTokens:k.threadTable.inputTokens,outputTokens:k.threadTable.outputTokens,contextTokens:k.threadTable.contextTokens,contextBudget:k.threadTable.contextBudget,createdAt:k.threadTable.createdAt,updatedAt:k.threadTable.updatedAt};async function r(a){let{opening:b,...c}=a,d=await j.database.transaction(async a=>{let[d]=await a.insert(k.threadTable).values({id:crypto.randomUUID(),status:"running",...c}).returning();return await a.insert(k.threadMessageTable).values({threadId:d.id,seq:0,bot:null,parent:null,role:"user",content:b,compact:!1,note:!1}),await a.insert(k.threadWorkTable).values({id:crypto.randomUUID(),threadId:d.id,bot:d.bot,caller:p.ROOM_THURSDAY,state:"queued"}),d});return R(),d}async function s(a,b){await j.database.update(k.threadTable).set({...b,updatedAt:new Date}).where((0,d.eq)(k.threadTable.id,a)),R()}async function t(a){0!==a.length&&(await j.database.transaction(async b=>{await b.update(k.threadTable).set({seen:!0}).where((0,d.inArray)(k.threadTable.id,a)),await b.update(k.threadRelayTable).set({accepted:!0}).where((0,d.inArray)(k.threadRelayTable.threadId,a))}),R())}async function u(a,b,c=null){(b.input||b.output||null!==c)&&(await j.database.update(k.threadTable).set({inputTokens:f.sql`${k.threadTable.inputTokens} + ${b.input}`,outputTokens:f.sql`${k.threadTable.outputTokens} + ${b.output}`,cacheReadTokens:f.sql`${k.threadTable.cacheReadTokens} + ${b.cacheRead}`,cacheWriteTokens:f.sql`${k.threadTable.cacheWriteTokens} + ${b.cacheWrite}`,...null===c?{}:{contextTokens:c.tokens,contextBudget:c.budget}}).where((0,d.eq)(k.threadTable.id,a)),R())}async function v(a){let[b]=await j.database.select(S).from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));if(!b)return null;let[c]=await L([b]);return c??null}async function w(a){let[b]=await j.database.select().from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));return b??null}async function x(){let[a,b,c,f]=await Promise.all([j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["running","waiting"])).orderBy((0,e.desc)(k.threadTable.updatedAt)),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["done","cancelled"])).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.INBOX_FINISHED),j.database.select(S).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,["done","cancelled"]),(0,d.eq)(k.threadTable.seen,!1))),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadRelayTable.threadId}).from(k.threadRelayTable).where((0,d.eq)(k.threadRelayTable.accepted,!1))))]),g=[...new Map([...a,...b,...c,...f].map(a=>[a.id,a])).values()].sort((a,b)=>b.updatedAt.getTime()-a.updatedAt.getTime());return L(g,a=>{let b;return b=a.status,"running"===b||"waiting"===b})}async function y(){let a=await j.database.select(S).from(k.threadTable).orderBy(f.sql`case when ${k.threadTable.status} in ('running', 'waiting') then 0 else 1 end`,(0,e.desc)(k.threadTable.updatedAt),(0,e.desc)(k.threadTable.id)).limit(i.THREAD_STATUS_LIMIT);return L(a)}async function z(a){return a.length?await j.database.select({id:k.threadTable.id,callId:k.threadTable.callId,label:k.threadTable.label,status:k.threadTable.status,outcome:k.threadTable.outcome}).from(k.threadTable).where((0,d.inArray)(k.threadTable.callId,a)).orderBy(k.threadTable.createdAt):[]}async function A(a,b){let c=(c,f)=>j.database.select({id:k.threadTable.id,owner:k.threadTable.bot,label:k.threadTable.label,status:k.threadTable.status,pending:k.threadTable.pending,updatedAt:k.threadTable.updatedAt}).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,c),b?(0,d.ne)(k.threadTable.id,b):void 0,(0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadWorkTable.threadId}).from(k.threadWorkTable).where((0,d.eq)(k.threadWorkTable.bot,a))))).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(f),[f,g]=await Promise.all([c(["running","waiting"],i.BOT_WORK.open),c(["done","cancelled"],i.BOT_WORK.recent)]),h=[...f,...g].map(a=>a.id);if(!h.length)return{open:[],recent:[]};let l=await j.database.select({id:k.threadWorkTable.id,threadId:k.threadWorkTable.threadId,result:k.threadWorkTable.result}).from(k.threadWorkTable).where((0,d.and)((0,d.eq)(k.threadWorkTable.bot,a),(0,d.inArray)(k.threadWorkTable.threadId,h),(0,d.isNotNull)(k.threadWorkTable.result))).orderBy((0,e.desc)(k.threadWorkTable.createdAt)),m=new Map;for(let{id:a,threadId:b,result:c}of l)c?.trim()&&!m.has(b)&&m.set(b,{workId:a,words:c});let n=({pending:a,...b})=>{let c=m.get(b.id);return{...b,workId:c?.workId??null,asking:"waiting"===b.status&&!!a?.messageId,said:c?.words??null,cut:!!c&&c.words.replace(/\s+/g," ").trim().length>i.BOT_WORK.said}};return{open:f.map(n),recent:g.map(n)}}async function B(a,b){if(b.owner===a){let[a]=await j.database.select({request:k.threadTable.request}).from(k.threadTable).where((0,d.eq)(k.threadTable.id,b.id));return a?.request??""}return b.workId?(await j.database.select({text:k.threadDeliveryTable.text}).from(k.threadDeliveryTable).where((0,d.eq)(k.threadDeliveryTable.workId,b.workId)).orderBy(k.threadDeliveryTable.id)).map(a=>a.text).join("\n\n"):""}async function C(a){let b=await j.database.delete(k.threadTable).where((0,d.eq)(k.threadTable.id,a)).returning({id:k.threadTable.id});return b.length&&R(),b.length>0}async function D(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).orderBy((0,e.desc)(k.threadTable.createdAt))).map(a=>a.id)}async function E(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).where((0,d.eq)(k.threadTable.status,"running"))).map(a=>a.id)}async function F(){return await j.database.select({id:k.threadTable.id,label:k.threadTable.label,status:k.threadTable.status,endedAt:k.threadTable.endedAt,updatedAt:k.threadTable.updatedAt}).from(k.threadTable)}function G(a){let b=new Set;for(let c of a)if(Array.isArray(c))for(let a of c){if("tool-call"!==a.type||a.toolName!==l.TOOL_NAMES.write_file)continue;let c=a.input?.path;"string"==typeof c&&c.trim()&&(b.delete(c.trim()),b.add(c.trim()))}return[...b]}async function H(a){let b=await j.database.select({content:k.threadMessageTable.content}).from(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.eq)(k.threadMessageTable.role,"assistant"))).orderBy(k.threadMessageTable.seq);return G(b.map(a=>a.content))}async function I(a){let b=a.trim();if(!b)return null;let c=await w(b);if(c)return c;let d=b.toLowerCase();return(await j.database.select().from(k.threadTable).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.THREAD_LABEL_REACH)).find(a=>a.label.toLowerCase()===d)??null}async function J(a,b,c){await j.database.insert(k.threadMessageTable).values({threadId:a,seq:b,...c,compact:c.compact??!1,note:c.note??!1}).onConflictDoUpdate({target:[k.threadMessageTable.threadId,k.threadMessageTable.seq],set:{role:c.role,content:c.content,compact:c.compact??!1,note:c.note??!1}}),R()}async function K(a,b){b.length&&(await j.database.delete(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.inArray)(k.threadMessageTable.seq,b))),R())}async function L(a,b=()=>!0){if(0===a.length)return[];let c=a.filter(b).map(a=>a.id),e=c.length?await j.database.select().from(k.threadMessageTable).where((0,d.inArray)(k.threadMessageTable.threadId,c)).orderBy(k.threadMessageTable.seq):[],g=a.map(a=>a.id),[h,i,q]=await Promise.all([j.database.select().from(k.threadWorkTable).where((0,d.inArray)(k.threadWorkTable.threadId,g)).orderBy(f.sql`${k.threadWorkTable}.rowid`),j.database.select().from(k.threadDeliveryTable).where((0,d.and)((0,d.inArray)(k.threadDeliveryTable.threadId,g),(0,d.eq)(k.threadDeliveryTable.visible,!0))),j.database.select().from(k.threadRelayTable).where((0,d.and)((0,d.inArray)(k.threadRelayTable.threadId,g),(0,d.eq)(k.threadRelayTable.accepted,!1)))]),r=new Map(a.map(a=>[a.id,a.bot])),s=new Map(h.map(a=>[a.id,a.caller])),t=new Map;for(let a of e){let b=t.get(a.threadId)??[];b.push(...function(a,b){if(a.hidden)return[];let c={seq:a.seq,bot:a.bot,parent:a.parent,to:"user"===a.role?a.bot:b,at:a.createdAt},d=b=>`${a.id}-${b}`,e=a.content;if("user"===a.role){if(0===a.seq)return[];let b="string"==typeof e?e:e.flatMap(a=>"text"===a.type&&a.text?[a.text]:[]).join("\n").trim();if(!b)return[];if(a.compact)return[{...c,id:d(0),kind:"note",text:b}];if(a.note){let a=b.endsWith(p.RESUME_CHECK)?b.slice(0,-p.RESUME_CHECK.length).trimEnd():b;return[{...c,id:d(0),kind:"stop",text:a}]}return[{...c,id:d(0),kind:"user",text:(0,n.untagSpeaker)(b)}]}if("assistant"===a.role){let b=a.content;if("string"==typeof b)return b.trim()?[{...c,id:d(0),kind:"text",text:b.trim()}]:[];let e=[];return b.forEach((b,f)=>{if("text"===b.type){let a=b.text.trim();a&&e.push({...c,id:d(f),kind:"text",text:a});return}if("tool-result"===b.type)return void e.push(P(c,d(f),b));if("tool-call"!==b.type)return;let g=b.input??{};if(b.toolName===l.TOOL_NAMES.send_message){let h;e.push({...c,id:d(f),kind:"ask",callId:b.toolCallId,to:(h=String(g.to??"").trim()).toLowerCase()===p.ROOM_THURSDAY.toLowerCase()?p.ROOM_THURSDAY:h,text:String(g.text??""),question:"question"===g.kind,..."question"===g.kind&&a.bot?{questionId:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...a.bot?{exchange:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...Array.isArray(g.after)&&g.after.length?{after:g.after.map(String)}:{}})}else b.toolName===l.TOOL_NAMES.bash?e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:(0,m.clip)(String(g.command??""),120),note:M(g)}):e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:N(b.toolName,g),note:M(g),path:b.toolName===l.TOOL_NAMES.write_file?U(g,"path")??null:null})}),e}if("tool"===a.role){let b=[];return a.content.forEach((a,e)=>{"tool-result"!==a.type||(a.toolName!==l.TOOL_NAMES.send_message||"error-text"===a.output.type)&&b.push(P(c,d(e),a))}),b}return[]}(a,(a.parent?s.get(a.parent):null)??r.get(a.threadId)??"")),t.set(a.threadId,b)}return a.map(a=>{let c=h.filter(b=>b.threadId===a.id),d=["running","queued","paused","waiting","done","cancelled"],e=[...new Set(c.map(a=>a.bot))].filter(a=>a!==p.ROOM_THURSDAY).map(a=>({bot:a,state:c.filter(b=>b.bot===a).sort((a,b)=>d.indexOf(a.state)-d.indexOf(b.state))[0].state}));return{...function(a,b){let{pending:c,inputTokens:d,outputTokens:e,...f}=a;return{...f,ask:"waiting"===a.status?{question:a.outcome??"",options:c?.options??[],messageId:c?.messageId,bot:c?.bot}:null,tokens:{input:d,output:e},lines:b}}(a,t.get(a.id)??[]),room:{participants:e,questions:c.filter(a=>"external"===a.state).map(a=>({id:a.id,bot:a.caller,text:a.result??"",options:a.options})),deliveries:i.filter(b=>b.threadId===a.id).map(b=>({id:b.key,bot:c.find(a=>a.id===b.workId)?.bot??a.bot,text:b.text,delivered:b.consumed})),relays:q.filter(b=>b.threadId===a.id),exchanges:b(a)?c.map(a=>({id:a.id,bot:a.bot,caller:a.caller,state:a.state,waitsFor:a.waitsFor})):[]}}})}let T=["query","command","prompt","url","path","pattern","request","question","title","name","thread","text"],U=(a,b)=>{let c=a[b];return"string"==typeof c&&c.trim()?c:null};function M(a){let b=U(a,"description");return b?(0,m.clip)(b,120):null}function N(a,b){let c=b??{};if("object"!=typeof c||Array.isArray(c))return(0,m.clip)(String(b??""),120);if(a===l.TOOL_NAMES.bash)return M(c)??(0,m.clip)(String(c.command??""),120);if(a===l.TOOL_NAMES.tool_call||a===l.TOOL_NAMES.tool_search){let a=Array.isArray(c.tools)?c.tools.map(String).join(", "):String(c.tool??""),b=c.args??null,d=b&&"object"==typeof b?String(c.server??"")===i.STUDIO_SERVER?O(b):JSON.stringify(b):"";return(0,m.clip)([String(c.server??""),a,d].filter(Boolean).join(" "),120)}let d=O(c);return d?(0,m.clip)(d,120):Object.keys(c).length?(0,m.clip)(JSON.stringify(c),120):""}function O(a){for(let b of T){let c=U(a,b);if(c)return c}for(let b of Object.keys(a)){let c=U(a,b);if(c)return c}return""}let V=/https?:\/\/\S+(?: · \d{4}-\d{2}-\d{2})?\s*$/,W=" — ";function P(a,b,c){let d=c.toolName===l.TOOL_NAMES.web_search,e=function a(b,c,d=!1){var e;if(null==b)return[];if("string"==typeof b)return Q(b,c,d);if("object"!=typeof b)return Q(String(b),c,d);switch(b.type){case"text":case"error-text":return Q(String(b.value??""),c,d);case"json":case"error-json":return a(b.value,c,d);case"execution-denied":return Q("Denied.",c,d);case"content":{if(!Array.isArray(b.value))return[];let a=[];for(let e of b.value){if("text"===e.type&&"string"==typeof e.text){a.push(...Q(e.text,c,d));continue}let b=function(a){let b=String(a.mediaType??"");if(!b.startsWith("image/"))return null;let c=a.data;return"string"==typeof c?`data:${b};base64,${c}`:c?.type==="url"&&c.url?c.url:c?.type==="data"&&"string"==typeof c.data?`data:${b};base64,${c.data}`:null}(e);b&&a.push({type:"image",src:b})}return a}}return"string"==typeof b.path&&String(b.mediaType??"").startsWith("image/")?[{type:"text",text:b.path},{type:"image",src:h.queryKey.file(b.path)}]:Array.isArray(b.sources)?b.sources.map(a=>String(a?.title??"")).filter(Boolean).slice(0,c).map(a=>({type:"text",text:a})):"string"==typeof b.stdout?Q(b.stdout||String(b.stderr??""),c,d):"string"==typeof b.answer?Q(b.answer,c,d):Q(d?(e=b,Array.isArray(e)?JSON.stringify(e,null,2):Object.entries(e).map(([a,b])=>"string"==typeof b&&b.includes("\n")?`${a}:
|
|
9
|
+
${a.text}`}async function P(a,b){await k.database.transaction(async c=>{await A(c,a),await F(c,a);let d=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.parentId,a.id)),f=await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.id),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1),g=await s(c,a.threadId,a.bot),h=f.length&&!g?"queued":f.length||d.some(a=>!$(a.state))?"waiting":"done";if(await c.update(l.threadWorkTable).set({state:h,result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),"done"!==h)return;if(a.parentId){let[d]=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.id,a.parentId)),[f]=b?[]:await c.select({id:l.threadDeliveryTable.id}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.workId,a.parentId),(0,e.eq)(l.threadDeliveryTable.speaker,a.bot),(0,e.eq)(l.threadDeliveryTable.consumed,!1))).limit(1);d&&"cancelled"!==d.state&&!f&&await B(c,{key:`return:${a.id}:${a.generation}`,threadId:a.threadId,workId:d.id,speaker:a.bot,text:b||"This turn ended without a message."})}let[i]=await c.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a.threadId)),j=await c.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a.threadId));i&&a.bot===i.bot&&!a.parentId&&j.every(a=>$(a.state))&&(await c.update(l.threadTable).set({status:b?"done":"waiting",outcome:b||"The room is idle. Send a message to continue.",pending:b?null:{options:[p.THREAD_CONTINUE]},wrapped:!0,endedAt:b?new Date:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a.threadId)),b&&await c.insert(l.threadRelayTable).values({key:`report:${a.threadId}:${i.generation}`,threadId:a.threadId,bot:a.bot,text:b,kind:"report"}).onConflictDoNothing())}),Z()}async function Q(a){await k.database.transaction(async b=>{let[c]=await b.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));if(!c||"running"!==c.status)return;let d=await b.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a));if(d.some(a=>"queued"===a.state||"running"===a.state))return;let f=d.find(a=>"external"===a.state);if(f)return void await b.update(l.threadTable).set({status:"waiting",outcome:f.result,pending:{options:f.options,messageId:f.id,bot:f.caller},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a));if(d.some(a=>!$(a.state))||c.wrapped)return void await b.update(l.threadTable).set({status:"waiting",outcome:c.turns>=j.BOT_RUN.turns?"The room reached its automatic turn limit. Continue from the saved conversation.":"Work is paused. Continue from the saved conversation.",pending:{options:[p.THREAD_CONTINUE]},updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a));let g=crypto.randomUUID();await b.insert(l.threadWorkTable).values({id:g,threadId:a,bot:c.bot,caller:q.ROOM_THURSDAY,state:"queued"}),await B(b,{key:g,threadId:a,workId:g,speaker:"Thread activity",text:"The participants have finished their current turns. Bring together the results you received for Thursday, including anything still unresolved."}),await b.update(l.threadTable).set({wrapped:!0}).where((0,e.eq)(l.threadTable.id,a))}),Z()}async function R(a,b,c){await k.database.transaction(async d=>{let f=await d.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a));for(let c of f.filter(a=>"running"===a.state||"queued"===a.state))await d.update(l.threadWorkTable).set({state:"paused",generation:c.generation+1}).where((0,e.eq)(l.threadWorkTable.id,c.id)),await u(d,a,aa(c,b));await d.update(l.threadTable).set({status:"waiting",outcome:b,pending:{options:[p.THREAD_CONTINUE],...c?{refused:c}:{}},seen:!1,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await d.insert(l.threadRelayTable).values({key:crypto.randomUUID(),threadId:a,bot:f.find(a=>!a.parentId)?.bot??"Bot",text:b,kind:"interrupted"})}),Z()}async function S(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await b.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,pending:null,outcome:null,endedAt:null,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.eq)(l.threadRelayTable.kind,"interrupted")))}),Z()}async function T(a,b,c){let d=a.select({workId:l.threadDeliveryTable.workId}).from(l.threadDeliveryTable).where((0,e.and)((0,e.eq)(l.threadDeliveryTable.threadId,b),(0,e.eq)(l.threadDeliveryTable.consumed,!1)));await a.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,b),(0,e.eq)(l.threadWorkTable.bot,c),(0,e.inArray)(l.threadWorkTable.state,["waiting","done"]),(0,e.inArray)(l.threadWorkTable.id,d)))}async function U(a,b,c,d,f,g=!0){let i=await k.database.transaction(async i=>{let[j]=await i.select().from(l.threadTable).where((0,e.eq)(l.threadTable.id,a));j||(0,n.publicError)("No such thread.");let k=await i.select().from(l.threadWorkTable).where((0,e.eq)(l.threadWorkTable.threadId,a)).orderBy(l.threadWorkTable.createdAt),m=k.filter(a=>"external"===a.state),o=f?[m.find(a=>a.id===f)??(0,n.publicError)("That question is no longer waiting for an answer.")]:g?function(a,b){let c=b?a.filter(a=>a.caller===b):a;if(new Set(c.map(a=>a.caller)).size<=1)return c;(0,n.publicError)(`Several bots are waiting for an answer: ${c.map(a=>`${a.caller} (replyTo ${a.id}): “${(a.result??"").slice(0,160)}”`).join("; ")}. Answer one of them by naming its bot or by its replyTo.`)}(m,d):[],p=o[0],r=p?.caller??d??j.bot,t=p?k.find(a=>a.id===p.parentId):k.find(a=>a.bot===r&&"running"===a.state)??k.find(a=>a.bot===r&&!$(a.state)&&"external"!==a.state);for(let a of o)await i.update(l.threadWorkTable).set({state:"done",result:b}).where((0,e.eq)(l.threadWorkTable.id,a.id)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.messageId,a.id));if(!t){let b=null;if(r!==j.bot){let c=k.findLast(a=>a.bot===j.bot&&!a.parentId&&"cancelled"!==a.state);c?"done"===c.state&&await i.update(l.threadWorkTable).set({state:"waiting"}).where((0,e.eq)(l.threadWorkTable.id,c.id)):c=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:j.bot,caller:q.ROOM_THURSDAY,state:"waiting"}).returning())[0],b=c.id}t=(await i.insert(l.threadWorkTable).values({id:crypto.randomUUID(),threadId:a,bot:r,caller:b?j.bot:q.ROOM_THURSDAY,parentId:b,state:"queued"}).returning())[0]}p&&await B(i,{key:`answer:${p.id}`,threadId:a,workId:t.id,speaker:"Thread activity",text:o.length>1?`The next message answers your questions to the user: ${o.map(a=>`“${a.result??""}”`).join(", ")}`:`The next message answers your question to the user: “${p.result??""}”`});let u=crypto.randomUUID();return await B(i,{key:u,threadId:a,workId:t.id,speaker:c,text:b,visible:!0}),p&&!await s(i,a,r)&&await T(i,a,r),await i.update(l.threadWorkTable).set({state:"queued"}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.eq)(l.threadWorkTable.state,"paused"))),await i.update(l.threadTable).set({status:"running",generation:h.sql`${l.threadTable.generation} + 1`,turns:0,wrapped:!1,pending:null,outcome:null,endedAt:null,seen:!1,updatedAt:new Date}).where((0,e.eq)(l.threadTable.id,a)),await i.update(l.threadRelayTable).set({accepted:!0}).where((0,e.and)((0,e.eq)(l.threadRelayTable.threadId,a),(0,e.inArray)(l.threadRelayTable.kind,["interrupted","report"]))),{key:u,to:r,answered:p?{bot:p.caller,question:o.map(a=>a.result??"").join(" · ")}:null}});return Z(),i}async function V(a){await k.database.transaction(async b=>{await b.update(l.threadWorkTable).set({state:"cancelled",generation:h.sql`${l.threadWorkTable.generation} + 1`}).where((0,e.and)((0,e.eq)(l.threadWorkTable.threadId,a),(0,e.inArray)(l.threadWorkTable.state,["queued","running","waiting","external","paused"]))),await b.update(l.threadRelayTable).set({accepted:!0}).where((0,e.eq)(l.threadRelayTable.threadId,a))}),Z()}async function W(a,b){let[c]=await k.database.select({bot:l.threadTable.bot}).from(l.threadTable).where((0,e.eq)(l.threadTable.id,a)),d=await k.database.select().from(l.threadMessageTable).where((0,e.and)((0,e.eq)(l.threadMessageTable.threadId,a),(0,e.or)((0,e.eq)(l.threadMessageTable.bot,b),c?.bot===b?h.sql`${l.threadMessageTable.bot} is null AND ${l.threadMessageTable.parent} is null`:void 0))).orderBy(l.threadMessageTable.seq),f=d.findLastIndex(a=>a.compact);return(f>0?[d[0],...d.slice(f)]:d).map(a=>({role:a.role,content:a.content}))}async function X(a){return k.database.select({threadId:l.threadRelayTable.threadId,text:l.threadRelayTable.text}).from(l.threadRelayTable).where((0,e.and)((0,e.eq)(l.threadRelayTable.kind,"report"),h.sql`instr(${l.threadRelayTable.text}, ${a}) > 0`)).orderBy((0,f.desc)(l.threadRelayTable.id))}async function Y(a){a.length&&(await k.database.update(l.threadRelayTable).set({accepted:!0}).where((0,e.inArray)(l.threadRelayTable.id,a)),Z())}a.s(["acceptRoomRelays",0,Y,"appendRoomMessage",0,w,"cancelRoom",0,V,"claimRoomWork",0,J,"consumeRoomInbox",0,L,"finishRoomWork",0,P,"joinRoom",0,M,"listParticipantTranscript",0,W,"listReportsNaming",0,X,"listRoomReceipts",0,t,"listRoomWork",0,x,"lowerRoomContextBudget",0,z,"messageKey",0,_,"noteRoomBreak",0,v,"pauseRoom",0,R,"resumeRoom",0,S,"roomBoard",0,N,"roomContextBudget",0,y,"sendRoomMessage",0,I,"settleRoom",0,Q,"tellRoom",0,U,"withdrawDelivery",0,K]),c()}catch(a){c(a)}},!1),344853,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(530385),f=a.i(351674),g=a.i(203469),h=a.i(148016),i=a.i(569572),j=a.i(184838),k=a.i(714428),l=a.i(762008),m=a.i(182248),n=a.i(446957),o=a.i(839430),p=a.i(109955),q=b([j,o]);[j,o]=q.then?(await q)():q;let R=()=>g.appEvents.emit({type:"threads"}),S={id:k.threadTable.id,bot:k.threadTable.bot,label:k.threadTable.label,request:k.threadTable.request,status:k.threadTable.status,outcome:k.threadTable.outcome,pending:k.threadTable.pending,seen:k.threadTable.seen,routineId:k.threadTable.routineId,startedBy:k.threadTable.startedBy,inputTokens:k.threadTable.inputTokens,outputTokens:k.threadTable.outputTokens,contextTokens:k.threadTable.contextTokens,contextBudget:k.threadTable.contextBudget,createdAt:k.threadTable.createdAt,updatedAt:k.threadTable.updatedAt};async function r(a){let{opening:b,...c}=a,d=await j.database.transaction(async a=>{let[d]=await a.insert(k.threadTable).values({id:crypto.randomUUID(),status:"running",...c}).returning();return await a.insert(k.threadMessageTable).values({threadId:d.id,seq:0,bot:null,parent:null,role:"user",content:b,compact:!1,note:!1}),await a.insert(k.threadWorkTable).values({id:crypto.randomUUID(),threadId:d.id,bot:d.bot,caller:p.ROOM_THURSDAY,state:"queued"}),d});return R(),d}async function s(a,b){await j.database.update(k.threadTable).set({...b,updatedAt:new Date}).where((0,d.eq)(k.threadTable.id,a)),R()}async function t(a){0!==a.length&&(await j.database.transaction(async b=>{await b.update(k.threadTable).set({seen:!0}).where((0,d.inArray)(k.threadTable.id,a)),await b.update(k.threadRelayTable).set({accepted:!0}).where((0,d.inArray)(k.threadRelayTable.threadId,a))}),R())}async function u(a,b,c=null){(b.input||b.output||null!==c)&&(await j.database.update(k.threadTable).set({inputTokens:f.sql`${k.threadTable.inputTokens} + ${b.input}`,outputTokens:f.sql`${k.threadTable.outputTokens} + ${b.output}`,cacheReadTokens:f.sql`${k.threadTable.cacheReadTokens} + ${b.cacheRead}`,cacheWriteTokens:f.sql`${k.threadTable.cacheWriteTokens} + ${b.cacheWrite}`,...null===c?{}:{contextTokens:c.tokens,contextBudget:c.budget}}).where((0,d.eq)(k.threadTable.id,a)),R())}async function v(a){let[b]=await j.database.select(S).from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));if(!b)return null;let[c]=await L([b]);return c??null}async function w(a){let[b]=await j.database.select().from(k.threadTable).where((0,d.eq)(k.threadTable.id,a));return b??null}async function x(){let[a,b,c,f]=await Promise.all([j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["running","waiting"])).orderBy((0,e.desc)(k.threadTable.updatedAt)),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.status,["done","cancelled"])).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.INBOX_FINISHED),j.database.select(S).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,["done","cancelled"]),(0,d.eq)(k.threadTable.seen,!1))),j.database.select(S).from(k.threadTable).where((0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadRelayTable.threadId}).from(k.threadRelayTable).where((0,d.eq)(k.threadRelayTable.accepted,!1))))]),g=[...new Map([...a,...b,...c,...f].map(a=>[a.id,a])).values()].sort((a,b)=>b.updatedAt.getTime()-a.updatedAt.getTime());return L(g,a=>{let b;return b=a.status,"running"===b||"waiting"===b})}async function y(){let a=await j.database.select(S).from(k.threadTable).orderBy(f.sql`case when ${k.threadTable.status} in ('running', 'waiting') then 0 else 1 end`,(0,e.desc)(k.threadTable.updatedAt),(0,e.desc)(k.threadTable.id)).limit(i.THREAD_STATUS_LIMIT);return L(a)}async function z(a){return a.length?await j.database.select({id:k.threadTable.id,callId:k.threadTable.callId,label:k.threadTable.label,status:k.threadTable.status,outcome:k.threadTable.outcome}).from(k.threadTable).where((0,d.inArray)(k.threadTable.callId,a)).orderBy(k.threadTable.createdAt):[]}async function A(a,b){let c=(c,f)=>j.database.select({id:k.threadTable.id,owner:k.threadTable.bot,label:k.threadTable.label,status:k.threadTable.status,pending:k.threadTable.pending,updatedAt:k.threadTable.updatedAt}).from(k.threadTable).where((0,d.and)((0,d.inArray)(k.threadTable.status,c),b?(0,d.ne)(k.threadTable.id,b):void 0,(0,d.inArray)(k.threadTable.id,j.database.select({id:k.threadWorkTable.threadId}).from(k.threadWorkTable).where((0,d.eq)(k.threadWorkTable.bot,a))))).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(f),[f,g]=await Promise.all([c(["running","waiting"],i.BOT_WORK.open),c(["done","cancelled"],i.BOT_WORK.recent)]),h=[...f,...g].map(a=>a.id);if(!h.length)return{open:[],recent:[]};let l=await j.database.select({id:k.threadWorkTable.id,threadId:k.threadWorkTable.threadId,result:k.threadWorkTable.result}).from(k.threadWorkTable).where((0,d.and)((0,d.eq)(k.threadWorkTable.bot,a),(0,d.inArray)(k.threadWorkTable.threadId,h),(0,d.isNotNull)(k.threadWorkTable.result))).orderBy((0,e.desc)(k.threadWorkTable.createdAt)),m=new Map;for(let{id:a,threadId:b,result:c}of l)c?.trim()&&!m.has(b)&&m.set(b,{workId:a,words:c});let n=({pending:a,...b})=>{let c=m.get(b.id);return{...b,workId:c?.workId??null,asking:"waiting"===b.status&&!!a?.messageId,said:c?.words??null,cut:!!c&&c.words.replace(/\s+/g," ").trim().length>i.BOT_WORK.said}};return{open:f.map(n),recent:g.map(n)}}async function B(a,b){if(b.owner===a){let[a]=await j.database.select({request:k.threadTable.request}).from(k.threadTable).where((0,d.eq)(k.threadTable.id,b.id));return a?.request??""}return b.workId?(await j.database.select({text:k.threadDeliveryTable.text}).from(k.threadDeliveryTable).where((0,d.eq)(k.threadDeliveryTable.workId,b.workId)).orderBy(k.threadDeliveryTable.id)).map(a=>a.text).join("\n\n"):""}async function C(a){let b=await j.database.delete(k.threadTable).where((0,d.eq)(k.threadTable.id,a)).returning({id:k.threadTable.id});return b.length&&R(),b.length>0}async function D(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).orderBy((0,e.desc)(k.threadTable.createdAt))).map(a=>a.id)}async function E(){return(await j.database.select({id:k.threadTable.id}).from(k.threadTable).where((0,d.eq)(k.threadTable.status,"running"))).map(a=>a.id)}async function F(){return await j.database.select({id:k.threadTable.id,label:k.threadTable.label,status:k.threadTable.status,endedAt:k.threadTable.endedAt,updatedAt:k.threadTable.updatedAt}).from(k.threadTable)}function G(a){let b=new Set;for(let c of a)if(Array.isArray(c))for(let a of c){if("tool-call"!==a.type||a.toolName!==l.TOOL_NAMES.write_file)continue;let c=a.input?.path;"string"==typeof c&&c.trim()&&(b.delete(c.trim()),b.add(c.trim()))}return[...b]}async function H(a){let b=await j.database.select({content:k.threadMessageTable.content}).from(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.eq)(k.threadMessageTable.role,"assistant"))).orderBy(k.threadMessageTable.seq);return G(b.map(a=>a.content))}async function I(a){let b=a.trim();if(!b)return null;let c=await w(b);if(c)return c;let d=b.toLowerCase();return(await j.database.select().from(k.threadTable).orderBy((0,e.desc)(k.threadTable.updatedAt)).limit(i.THREAD_LABEL_REACH)).find(a=>a.label.toLowerCase()===d)??null}async function J(a,b,c){await j.database.insert(k.threadMessageTable).values({threadId:a,seq:b,...c,compact:c.compact??!1,note:c.note??!1}).onConflictDoUpdate({target:[k.threadMessageTable.threadId,k.threadMessageTable.seq],set:{role:c.role,content:c.content,compact:c.compact??!1,note:c.note??!1}}),R()}async function K(a,b){b.length&&(await j.database.delete(k.threadMessageTable).where((0,d.and)((0,d.eq)(k.threadMessageTable.threadId,a),(0,d.inArray)(k.threadMessageTable.seq,b))),R())}async function L(a,b=()=>!0){if(0===a.length)return[];let c=a.filter(b).map(a=>a.id),e=c.length?await j.database.select().from(k.threadMessageTable).where((0,d.inArray)(k.threadMessageTable.threadId,c)).orderBy(k.threadMessageTable.seq):[],g=a.map(a=>a.id),[h,i,q]=await Promise.all([j.database.select().from(k.threadWorkTable).where((0,d.inArray)(k.threadWorkTable.threadId,g)).orderBy(f.sql`${k.threadWorkTable}.rowid`),j.database.select().from(k.threadDeliveryTable).where((0,d.and)((0,d.inArray)(k.threadDeliveryTable.threadId,g),(0,d.eq)(k.threadDeliveryTable.visible,!0))),j.database.select().from(k.threadRelayTable).where((0,d.and)((0,d.inArray)(k.threadRelayTable.threadId,g),(0,d.eq)(k.threadRelayTable.accepted,!1)))]),r=new Map(a.map(a=>[a.id,a.bot])),s=new Map(h.map(a=>[a.id,a.caller])),t=new Map;for(let a of e){let b=t.get(a.threadId)??[];b.push(...function(a,b){if(a.hidden)return[];let c={seq:a.seq,bot:a.bot,parent:a.parent,to:"user"===a.role?a.bot:b,at:a.createdAt},d=b=>`${a.id}-${b}`,e=a.content;if("user"===a.role){if(0===a.seq)return[];let b="string"==typeof e?e:e.flatMap(a=>"text"===a.type&&a.text?[a.text]:[]).join("\n").trim();if(!b)return[];if(a.compact)return[{...c,id:d(0),kind:"note",text:b}];if(a.note){let a=b.endsWith(p.RESUME_CHECK)?b.slice(0,-p.RESUME_CHECK.length).trimEnd():b;return[{...c,id:d(0),kind:"stop",text:a}]}return[{...c,id:d(0),kind:"user",text:(0,n.untagSpeaker)(b),by:(0,n.speakerOf)(b)}]}if("assistant"===a.role){let b=a.content;if("string"==typeof b)return b.trim()?[{...c,id:d(0),kind:"text",text:b.trim()}]:[];let e=[];return b.forEach((b,f)=>{if("text"===b.type){let a=b.text.trim();a&&e.push({...c,id:d(f),kind:"text",text:a});return}if("tool-result"===b.type)return void e.push(P(c,d(f),b));if("tool-call"!==b.type)return;let g=b.input??{};if(b.toolName===l.TOOL_NAMES.send_message){let h;e.push({...c,id:d(f),kind:"ask",callId:b.toolCallId,to:(h=String(g.to??"").trim()).toLowerCase()===p.ROOM_THURSDAY.toLowerCase()?p.ROOM_THURSDAY:h,text:String(g.text??""),question:"question"===g.kind,..."question"===g.kind&&a.bot?{questionId:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...a.bot?{exchange:(0,o.messageKey)(a.threadId,a.bot,b.toolCallId)}:{},...Array.isArray(g.after)&&g.after.length?{after:g.after.map(String)}:{}})}else b.toolName===l.TOOL_NAMES.bash?e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:(0,m.clip)(String(g.command??""),120),note:M(g)}):e.push({...c,id:d(f),kind:"tool",callId:b.toolCallId,name:b.toolName,input:N(b.toolName,g),note:M(g),path:b.toolName===l.TOOL_NAMES.write_file?U(g,"path")??null:null})}),e}if("tool"===a.role){let b=[];return a.content.forEach((a,e)=>{"tool-result"!==a.type||(a.toolName!==l.TOOL_NAMES.send_message||"error-text"===a.output.type)&&b.push(P(c,d(e),a))}),b}return[]}(a,(a.parent?s.get(a.parent):null)??r.get(a.threadId)??"")),t.set(a.threadId,b)}return a.map(a=>{let c=h.filter(b=>b.threadId===a.id),d=["running","queued","paused","waiting","done","cancelled"],e=[...new Set(c.map(a=>a.bot))].filter(a=>a!==p.ROOM_THURSDAY).map(a=>({bot:a,state:c.filter(b=>b.bot===a).sort((a,b)=>d.indexOf(a.state)-d.indexOf(b.state))[0].state}));return{...function(a,b){let{pending:c,inputTokens:d,outputTokens:e,...f}=a;return{...f,ask:"waiting"===a.status?{question:a.outcome??"",options:c?.options??[],messageId:c?.messageId,bot:c?.bot,refused:c?.refused}:null,tokens:{input:d,output:e},lines:b}}(a,t.get(a.id)??[]),room:{participants:e,questions:c.filter(a=>"external"===a.state).map(a=>({id:a.id,bot:a.caller,text:a.result??"",options:a.options})),deliveries:i.filter(b=>b.threadId===a.id).map(b=>({id:b.key,bot:c.find(a=>a.id===b.workId)?.bot??a.bot,text:b.text,delivered:b.consumed})),relays:q.filter(b=>b.threadId===a.id),exchanges:b(a)?c.map(a=>({id:a.id,bot:a.bot,caller:a.caller,state:a.state,waitsFor:a.waitsFor})):[]}}})}let T=["query","command","prompt","url","path","pattern","request","question","title","name","thread","text"],U=(a,b)=>{let c=a[b];return"string"==typeof c&&c.trim()?c:null};function M(a){let b=U(a,"description");return b?(0,m.clip)(b,120):null}function N(a,b){let c=b??{};if("object"!=typeof c||Array.isArray(c))return(0,m.clip)(String(b??""),120);if(a===l.TOOL_NAMES.bash)return M(c)??(0,m.clip)(String(c.command??""),120);if(a===l.TOOL_NAMES.tool_call||a===l.TOOL_NAMES.tool_search){let a=Array.isArray(c.tools)?c.tools.map(String).join(", "):String(c.tool??""),b=c.args??null,d=b&&"object"==typeof b?String(c.server??"")===i.STUDIO_SERVER?O(b):JSON.stringify(b):"";return(0,m.clip)([String(c.server??""),a,d].filter(Boolean).join(" "),120)}let d=O(c);return d?(0,m.clip)(d,120):Object.keys(c).length?(0,m.clip)(JSON.stringify(c),120):""}function O(a){for(let b of T){let c=U(a,b);if(c)return c}for(let b of Object.keys(a)){let c=U(a,b);if(c)return c}return""}let V=/https?:\/\/\S+(?: · \d{4}-\d{2}-\d{2})?\s*$/,W=" — ";function P(a,b,c){let d=c.toolName===l.TOOL_NAMES.web_search,e=function a(b,c,d=!1){var e;if(null==b)return[];if("string"==typeof b)return Q(b,c,d);if("object"!=typeof b)return Q(String(b),c,d);switch(b.type){case"text":case"error-text":return Q(String(b.value??""),c,d);case"json":case"error-json":return a(b.value,c,d);case"execution-denied":return Q("Denied.",c,d);case"content":{if(!Array.isArray(b.value))return[];let a=[];for(let e of b.value){if("text"===e.type&&"string"==typeof e.text){a.push(...Q(e.text,c,d));continue}let b=function(a){let b=String(a.mediaType??"");if(!b.startsWith("image/"))return null;let c=a.data;return"string"==typeof c?`data:${b};base64,${c}`:c?.type==="url"&&c.url?c.url:c?.type==="data"&&"string"==typeof c.data?`data:${b};base64,${c.data}`:null}(e);b&&a.push({type:"image",src:b})}return a}}return"string"==typeof b.path&&String(b.mediaType??"").startsWith("image/")?[{type:"text",text:b.path},{type:"image",src:h.queryKey.file(b.path)}]:Array.isArray(b.sources)?b.sources.map(a=>String(a?.title??"")).filter(Boolean).slice(0,c).map(a=>({type:"text",text:a})):"string"==typeof b.stdout?Q(b.stdout||String(b.stderr??""),c,d):"string"==typeof b.answer?Q(b.answer,c,d):Q(d?(e=b,Array.isArray(e)?JSON.stringify(e,null,2):Object.entries(e).map(([a,b])=>"string"==typeof b&&b.includes("\n")?`${a}:
|
|
10
10
|
${b}`:`${a}: ${JSON.stringify(b,null,2)}`).join("\n")):JSON.stringify(b),c,d)}(c.output,d?i.FULL_RESULT_LINES:5),f=e.flatMap(a=>"text"===a.type?[a.text]:[]),g=d?f.filter(a=>V.test(a)):[],j=(g.length?g:f).slice(0,4);return{...a,id:b,kind:"tool-result",callId:c.toolCallId,name:c.toolName,results:j.map(a=>({type:"text",text:g.length?function(a){let b=a.replace(/\s+/g," ").trim(),c=V.exec(b);if(!c||b.length<=200)return(0,m.clip)(b,200);let d=c[0].trim(),e=b.slice(0,c.index).replace(/[\s—-]+$/,""),f=200-d.length-W.length;return e&&f>1?`${(0,m.clip)(e,f)}${W}${d}`:d}(a):(0,m.clip)(a,200)})),more:f.length>j.length||e.length>f.length||j.some(a=>a.length>200)}}function Q(a,b,c=!1){if(c){let c=a.split("\n"),d=c.slice(0,b);c.length>b&&d.push(`… ${c.length-b} more lines`);let e=d.join("\n").trimEnd();return e?[{type:"text",text:e}]:[]}return a.split("\n").map(a=>a.trim()).filter(Boolean).slice(0,b).map(a=>({type:"text",text:a}))}a.s(["addThreadUsage",0,u,"argumentLine",0,N,"deleteMessages",0,K,"deleteThread",0,C,"findThread",0,w,"findThreadView",0,v,"insertThread",0,r,"listAllThreadIds",0,D,"listBotWork",0,A,"listCallJobs",0,z,"listInboxThreads",0,x,"listRunningThreadIds",0,E,"listThreadFolders",0,F,"listThreadOverview",0,y,"listWrittenPaths",0,H,"markSeen",0,t,"readBotAsk",0,B,"resolveThread",0,I,"updateThread",0,s,"upsertMessage",0,J,"writtenPathsIn",0,G]),c()}catch(a){c(a)}},!1)];
|
|
11
11
|
|
|
12
12
|
//# sourceMappingURL=features_bot_0tb4ui-._.js.map
|