thursday-agent 0.15.0 → 0.17.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 +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- 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 +8 -8
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +3 -3
- 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 +7 -7
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/route.js +8 -8
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js +5 -5
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js +1 -1
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/favicon/[host]/route.js +1 -1
- package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +4 -4
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js +7 -7
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route.js +7 -7
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js +4 -4
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js +4 -4
- 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 +15 -16
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js +18 -19
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +8 -8
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js +5 -5
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +8 -5
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +8 -5
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +7 -7
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js +7 -7
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +17 -18
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +15 -16
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js +8 -8
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +9 -9
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +3 -3
- package/.next/server/app/artifact/[...path]/page.js +6 -6
- 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/server-reference-manifest.json +60 -60
- package/.next/server/app/page.js +10 -10
- 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]__00qyw01._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__021dkui._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__03b09q0._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__03vunn6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__03xamry._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0adz-25._.js → [root-of-the-server]__05dp5tr._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__05n-hql._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__06nspyt._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__0132c27._.js → [root-of-the-server]__0b36yfw._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0g38-aj._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0h656y-._.js +11 -0
- package/.next/server/chunks/{[root-of-the-server]__0g67-oo._.js → [root-of-the-server]__0j_nz36._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__0jzwdg-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ljizgj._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__0tsded0._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__10xnb7e._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0o-w4t4._.js → [root-of-the-server]__12m24xl._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__12tahb4._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__18k8s-z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_h4hf9._.js +7 -0
- package/.next/server/chunks/[root-of-the-server]__1c2kwku._.js +12 -0
- package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1de1o6m._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__0ei2xnb._.js → [root-of-the-server]__1ignh6-._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1p47fbb._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1t0jj1j._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__1v7x5ym._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vlxv19._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1yl5l25._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zn039k._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__20tvhdf._.js → [root-of-the-server]__208vmyf._.js} +2 -2
- package/.next/server/chunks/_01t8da9._.js +1 -1
- package/.next/server/chunks/_02lipqs._.js +2 -2
- package/.next/server/chunks/_05sa7xl._.js +1 -1
- package/.next/server/chunks/_06u9yo-._.js +1 -1
- package/.next/server/chunks/{_1rg5bfd._.js → _074f2ts._.js} +1 -1
- package/.next/server/chunks/_07nxi75._.js +250 -0
- package/.next/server/chunks/_08354bn._.js +107 -0
- package/.next/server/chunks/_08btiir._.js +7 -0
- package/.next/server/chunks/_0caua_s._.js +1 -1
- package/.next/server/chunks/_0gt6cbj._.js +3 -0
- package/.next/server/chunks/_0j0-gq6._.js +5 -0
- package/.next/server/chunks/_0nn99o2._.js +1 -1
- package/.next/server/chunks/_0p-h6xe._.js +5 -0
- package/.next/server/chunks/_0p6v1fr._.js +5 -0
- package/.next/server/chunks/_0srlnvd._.js +1 -1
- package/.next/server/chunks/_0t_7gji._.js +1 -1
- package/.next/server/chunks/_0uir6hb._.js +9 -9
- package/.next/server/chunks/_0uzj57i._.js +1 -1
- package/.next/server/chunks/_0xm040x._.js +1 -1
- package/.next/server/chunks/_0xygcxs._.js +250 -0
- package/.next/server/chunks/{_0ol42w-._.js → _1-sk_q4._.js} +2 -2
- package/.next/server/chunks/_146mcip._.js +1 -1
- package/.next/server/chunks/{_09c4we8._.js → _17i1lt2._.js} +1 -1
- package/.next/server/chunks/_19kea1l._.js +12 -12
- package/.next/server/chunks/_1d5zmy8._.js +1 -1
- package/.next/server/chunks/_1dxq827._.js +5 -0
- package/.next/server/chunks/{_0ejoy4d._.js → _1e54wxa._.js} +2 -2
- package/.next/server/chunks/_1gn2r2q._.js +12 -12
- package/.next/server/chunks/_1gxankq._.js +2 -2
- package/.next/server/chunks/_1hyvcgk._.js +5 -0
- package/.next/server/chunks/_1m88lkh._.js +9 -9
- package/.next/server/chunks/_1mx9sfo._.js +1 -1
- package/.next/server/chunks/{_03niwml._.js → _1ntwp1s._.js} +1 -1
- package/.next/server/chunks/_1ozcb6o._.js +27 -0
- package/.next/server/chunks/_1q6e56i._.js +12 -12
- package/.next/server/chunks/_1qgix-j._.js +1 -1
- package/.next/server/chunks/_1tkzgtm._.js +3 -0
- package/.next/server/chunks/_1wl2g8_._.js +2 -2
- package/.next/server/chunks/_1wwl_7o._.js +1 -1
- package/.next/server/chunks/_1xcnogc._.js +6 -0
- package/.next/server/chunks/_1y3mnz4._.js +3 -0
- package/.next/server/chunks/_1zfxb7j._.js +1 -1
- package/.next/server/chunks/_20oecmn._.js +6 -0
- package/.next/server/chunks/_211dn2c._.js +1 -1
- package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
- package/.next/server/chunks/features_0wm-ujw._.js +6 -0
- package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +4 -4
- package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +4 -4
- package/.next/server/chunks/{node_modules_1osf6vs._.js → node_modules_0dctjy-._.js} +1 -1
- package/.next/server/chunks/{node_modules_1821h5r._.js → node_modules_0mquap1._.js} +1 -1
- package/.next/server/chunks/{node_modules_1bfhxob._.js → node_modules_1er1u8w._.js} +1 -1
- package/.next/server/chunks/{node_modules_1i11kg5._.js → node_modules_1rosz79._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_035jiu9._.js → node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0736s17._.js → node_modules_consola_dist_chunks_prompt_mjs_0_nz09c._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_07szfwb._.js → node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0cux6zt._.js → node_modules_consola_dist_chunks_prompt_mjs_0rx6rvb._.js} +1 -1
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_128pb4i._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1341cnf._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1x3bsmx._.js +3 -0
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_20s275p._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__0670az2._.js → [root-of-the-server]__07660xu._.js} +3 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__10eb-1x._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__149x25m._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__19s8qyj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1d7usu0._.js +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__00ro8qe._.js → [root-of-the-server]__1jyeu61._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1y8_-v1._.js +3 -0
- package/.next/server/chunks/ssr/_088vzgn._.js +3 -0
- package/.next/server/chunks/ssr/{_074hv3s._.js → _0_vnw9v._.js} +2 -2
- package/.next/server/chunks/ssr/_0aeknva._.js +3 -0
- package/.next/server/chunks/ssr/{_02u485c._.js → _0afrpci._.js} +2 -2
- package/.next/server/chunks/ssr/_0cd6g3l._.js +5 -5
- package/.next/server/chunks/ssr/{_0trt3zp._.js → _0fo4552._.js} +18 -20
- package/.next/server/chunks/ssr/{_1zdizo8._.js → _0n2scfq._.js} +2 -2
- package/.next/server/chunks/ssr/_0o_o9ji._.js +3 -0
- package/.next/server/chunks/ssr/_0qne8xs._.js +3 -0
- package/.next/server/chunks/ssr/_0qsmpcu._.js +1 -1
- package/.next/server/chunks/ssr/{_0c1h0l9._.js → _0r0g9ki._.js} +3 -3
- package/.next/server/chunks/ssr/_0rvbegp._.js +7 -0
- package/.next/server/chunks/ssr/_0v9r8g2._.js +3 -0
- package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
- package/.next/server/chunks/ssr/{_1rxpx-u._.js → _0ztbn5q._.js} +2 -2
- package/.next/server/chunks/ssr/{_1_n8qpv._.js → _1-41lck._.js} +2 -2
- package/.next/server/chunks/ssr/{node_modules_0vi73_6._.js → _10-_awu._.js} +2 -2
- package/.next/server/chunks/ssr/{_06m66w8._.js → _14dfh7a._.js} +2 -2
- package/.next/server/chunks/ssr/{_20lwjif._.js → _15m5ctz._.js} +2 -2
- package/.next/server/chunks/ssr/_17qtuv7._.js +3 -0
- package/.next/server/chunks/ssr/{_0ze-0vs._.js → _18-e7zi._.js} +4 -4
- package/.next/server/chunks/ssr/{_0z0scn4._.js → _1c5iqz1._.js} +3 -3
- package/.next/server/chunks/ssr/{_1xq-4on._.js → _1hbjh6n._.js} +2 -2
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/_1sttj8x._.js +3 -0
- package/.next/server/chunks/ssr/_1uij_rj._.js +3 -0
- package/.next/server/chunks/ssr/{_1r0tx3q._.js → _1umbr78._.js} +3 -3
- package/.next/server/chunks/ssr/_1vtgiou._.js +162 -0
- package/.next/server/chunks/ssr/_1w9w1ok._.js +3 -0
- package/.next/server/chunks/ssr/_1z6pirx._.js +3 -0
- package/.next/server/chunks/ssr/features_0796o8r._.js +3 -0
- package/.next/server/chunks/ssr/features_133mpna._.js +6 -0
- package/.next/server/chunks/ssr/features_bot_1knyan7._.js +3 -0
- package/.next/server/chunks/ssr/{features_bot_0v6r-lh._.js → features_bot_1kr0_m-._.js} +2 -2
- package/.next/server/chunks/ssr/{features_config_13cg2cx._.js → features_config_0n0zu89._.js} +3 -3
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +3 -3
- 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_workspace_workspace_ts_1wc7_u_._.js +4 -3
- package/.next/server/chunks/ssr/{node_modules_1j59xrt._.js → node_modules_00h1t1j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1gdff1c._.js → node_modules_02ficyi._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1x2-bh1._.js → node_modules_03q71_j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_16op-wf._.js → node_modules_03uejh6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ngj__4._.js → node_modules_06grs09._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_01uutx9._.js → node_modules_07mo9rn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0den7sw._.js → node_modules_09e8kz_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_218nu70._.js → node_modules_09ikzel._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_19d6gup._.js → node_modules_0_d_7gq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_16oefzh._.js → node_modules_0_p8w7p._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_09eqoqr._.js → node_modules_0f5bmkb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1-20i0r._.js → node_modules_0kwie-o._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0yslr-j._.js → node_modules_0r-9e4n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1lmv1ux._.js → node_modules_0u_8z64._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0t93862._.js → node_modules_0zf3wuu._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0h3dnyw._.js → node_modules_1-7fc7h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_15ksxpk._.js → node_modules_142z3o5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_20d3gsv._.js → node_modules_180l3i0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1uil5qp._.js → node_modules_197vh1s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1us2bdc._.js → node_modules_1_n9o9s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0r6leyg._.js → node_modules_1fw32pg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1vx7yq2._.js → node_modules_1hefp6h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0v6s4c8._.js → node_modules_1irot3r._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_10t4pbm._.js → node_modules_1om2itc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_03hfcze._.js → node_modules_1ubln7w._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1_gizvz._.js → node_modules_1wyhtw9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0wbgrv5._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0aczkbn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_15680yt._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ah684s._.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 +61 -61
- package/.next/static/chunks/024plctckvq-1.js +1 -0
- package/.next/static/chunks/04toe_3nqfjqt.js +1 -0
- package/.next/static/chunks/05scfrgo_a_5_.js +58 -0
- package/.next/static/chunks/{1rjn_x_ty28qc.js → 0_b_bi2pobasx.js} +2 -2
- package/.next/static/chunks/{1iezy4u4v9kl7.js → 0dfvwgnyrp8qt.js} +1 -1
- package/.next/static/chunks/0f47nnshdlucs.js +2 -0
- package/.next/static/chunks/0npvak0wpgagb.js +1 -0
- package/.next/static/chunks/{1wkrzv0y4qx48.js → 0o7o0eb7ihxi6.js} +1 -1
- package/.next/static/chunks/{3c_bgfr_z4peu.js → 0sowxe4nnl5qu.js} +1 -1
- package/.next/static/chunks/{3w3v100tg-tun.js → 0sv142q1yrva2.js} +1 -1
- package/.next/static/chunks/0tp868040z9nn.js +35 -0
- package/.next/static/chunks/{2q33y6q5_4yxf.js → 1-63yde5eaz7i.js} +1 -1
- package/.next/static/chunks/14qitm0kwsb6g.js +15 -0
- package/.next/static/chunks/19l81deo_pyoc.js +1 -0
- package/.next/static/chunks/{1ln0zczby868j.js → 1bgvxd3xny53w.js} +2 -2
- package/.next/static/chunks/{22djpz2dakws5.js → 1cyrrz4q871aj.js} +1 -1
- package/.next/static/chunks/1st3b0c9vhxg3.js +1 -0
- package/.next/static/chunks/1wbqaidq7vc3_.js +1 -0
- package/.next/static/chunks/{3r1p-za3kwq6b.js → 28sxb_k460e9h.js} +1 -1
- package/.next/static/chunks/2uraofiaoy32s.js +1 -0
- package/.next/static/chunks/2v6e_9p95o2e3.js +18 -0
- package/.next/static/chunks/{30_2pay06oou4.js → 3-qp777vtfglj.js} +3 -3
- package/.next/static/chunks/{38srd01ofppmn.css → 31kn4_h2rvf6k.css} +1 -1
- package/.next/static/chunks/33ekkscpcq-z1.js +1 -0
- package/.next/static/chunks/388l-zszwa_jf.js +1 -0
- package/.next/static/chunks/38edd4rpcbvzp.js +1 -0
- package/.next/static/chunks/3bwrvpjk95_x4.js +1 -0
- package/.next/static/chunks/3itdg6t243u6f.js +1 -0
- package/.next/static/chunks/44vre0f7xqsh-.js +1 -0
- package/README.md +15 -13
- package/guide/bots.md +50 -9
- package/guide/calls.md +23 -21
- package/guide/index.md +1 -1
- package/guide/setup.md +23 -12
- package/guide/trouble.md +12 -2
- package/package.json +2 -2
- package/public/sounds/NOTICE +216 -0
- package/public/sounds/end_voice.ogg +0 -0
- package/public/sounds/opening-land.ogg +0 -0
- package/public/sounds/opening-rise.ogg +0 -0
- package/public/sounds/opening-step-1.ogg +0 -0
- package/public/sounds/opening-step-2.ogg +0 -0
- package/public/sounds/opening-step-3.ogg +0 -0
- package/public/sounds/ring.ogg +0 -0
- package/public/sounds/start_voice.ogg +0 -0
- package/seed-skills/concierge/travel/SKILL.md +4 -4
- package/seed-skills/marketer/marketing/references/copywriting-copy-frameworks.md +3 -10
- package/seed-skills/marketer/marketing/references/copywriting.md +2 -2
- package/seed-skills/marketer/marketing/references/social-platforms.md +5 -5
- package/skills/README.md +3 -0
- package/skills/artifact/SKILL.md +7 -5
- package/skills/artifact/references/book.md +24 -11
- package/skills/artifact/references/deck.md +8 -2
- package/skills/artifact/references/document.md +9 -0
- package/skills/artifact/references/sheet.md +108 -0
- package/skills/artifact/runtime/app/kit/vite.config.ts +6 -3
- package/skills/artifact/runtime/app/page/index.html +1 -1
- package/skills/artifact/runtime/book/book.css +75 -0
- package/skills/artifact/runtime/book/book.html +7 -4
- package/skills/artifact/runtime/book/book.js +21 -0
- package/skills/artifact/runtime/canvas/canvas.css +1 -1
- package/skills/artifact/runtime/canvas/canvas.html +1 -1
- package/skills/artifact/runtime/canvas/canvas.js +11 -1
- package/skills/artifact/runtime/deck/deck.css +164 -1
- package/skills/artifact/runtime/deck/deck.html +1 -1
- package/skills/artifact/runtime/deck/deck.js +76 -1
- package/skills/artifact/runtime/document/docx.js +631 -0
- package/skills/artifact/runtime/document/markdown.mjs +58 -2
- package/skills/artifact/runtime/document/quick.css +66 -0
- package/skills/artifact/runtime/document/quick.html +2 -1
- package/skills/artifact/runtime/document/quick.js +154 -0
- package/skills/artifact/runtime/document/word.mjs +65 -0
- package/skills/artifact/runtime/sheet/format.mjs +385 -0
- package/skills/artifact/runtime/sheet/formula.mjs +755 -0
- package/skills/artifact/runtime/sheet/sheet.css +499 -0
- package/skills/artifact/runtime/sheet/sheet.html +102 -0
- package/skills/artifact/runtime/sheet/sheet.js +1361 -0
- package/skills/artifact/runtime/sheet/xlsx.mjs +320 -0
- package/skills/artifact/runtime/shell/head.html +1 -1
- package/skills/artifact/runtime/shell/shell.css +3 -0
- package/skills/artifact/runtime/shell/wear.mjs +47 -1
- package/skills/artifact/runtime/vendor/fflate.LICENSE.md +23 -0
- package/skills/artifact/runtime/vendor/fflate.mjs +2710 -0
- package/skills/artifact/scripts/book.mjs +141 -5
- package/skills/artifact/scripts/chart.mjs +351 -25
- package/skills/artifact/scripts/document.mjs +32 -4
- package/skills/artifact/scripts/spreadsheet.mjs +1068 -0
- package/skills/daily-brief/scripts/story.mjs +13 -1
- package/skills/data-report/SKILL.md +8 -1
- package/skills/media-digest/SKILL.md +4 -2
- package/skills/media-digest/references/no-captions.md +2 -1
- package/skills/media-digest/scripts/audio.mjs +7 -2
- package/.next/server/chunks/[root-of-the-server]__0876r42._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0aijj66._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0brcw76._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0c_j_qe._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0grmfwp._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0kv916d._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tkqhnc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tvoct-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0vffrja._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0vn91fr._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__0vxvcj4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0zbo906._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__10ep3hy._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__10iry08._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__118qjk_._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__11d0tvc._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__19sv9or._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1_1zysn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1e0f7he._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__1fdpwcm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1gzcbda._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1hgdkzg._.js +0 -11
- package/.next/server/chunks/[root-of-the-server]__1ksm9m-._.js +0 -12
- package/.next/server/chunks/[root-of-the-server]__1l_nubj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1pmsv_6._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qcn1ti._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__1tdudkf._.js +0 -5
- package/.next/server/chunks/_034lk-r._.js +0 -3
- package/.next/server/chunks/_04ynt0z._.js +0 -252
- package/.next/server/chunks/_0xx3ryc._.js +0 -7
- package/.next/server/chunks/_171rt-v._.js +0 -109
- package/.next/server/chunks/_17esum5._.js +0 -5
- package/.next/server/chunks/_1p8rzg_._.js +0 -252
- package/.next/server/chunks/_1v5g4kx._.js +0 -3
- package/.next/server/chunks/_1vxrw1q._.js +0 -5
- package/.next/server/chunks/features_0-cnt0l._.js +0 -4
- package/.next/server/chunks/features_0hdaci0._.js +0 -4
- package/.next/server/chunks/features_0p85gv6._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0rzuf5j._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ta6hsy._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0tok7g7._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0w32bqh._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_187uwe9._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1clmnaj._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1cu9mam._.js +0 -3
- package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1g1et-d._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__099tvf0._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0dxszdt._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ihvne0._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__11hcjwx._.js +0 -3
- package/.next/server/chunks/ssr/_018vrx-._.js +0 -3
- package/.next/server/chunks/ssr/_0afqubz._.js +0 -162
- package/.next/server/chunks/ssr/_0ayihi5._.js +0 -3
- package/.next/server/chunks/ssr/_0gv5wzb._.js +0 -3
- package/.next/server/chunks/ssr/_0kkdx7t._.js +0 -3
- package/.next/server/chunks/ssr/_0yjztzi._.js +0 -3
- package/.next/server/chunks/ssr/_14fdswx._.js +0 -3
- package/.next/server/chunks/ssr/_168tvri._.js +0 -3
- package/.next/server/chunks/ssr/_1ajl6hf._.js +0 -5
- package/.next/server/chunks/ssr/_1o_i8-d._.js +0 -7
- package/.next/server/chunks/ssr/_1ri-y7z._.js +0 -4
- package/.next/server/chunks/ssr/features_0ctqq63._.js +0 -4
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
- package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +0 -3
- package/.next/static/chunks/0j8_qql4enu93.js +0 -1
- package/.next/static/chunks/0mr03ivl4_fxd.js +0 -1
- package/.next/static/chunks/13qwyo9-jd5kw.js +0 -1
- package/.next/static/chunks/17_b97pj_av_t.js +0 -1
- package/.next/static/chunks/18id2dgl_39_1.js +0 -18
- package/.next/static/chunks/1lp02y2nmddxg.js +0 -1
- package/.next/static/chunks/2-9ybn1k9el1e.js +0 -1
- package/.next/static/chunks/249i2g6ele3t2.js +0 -1
- package/.next/static/chunks/249wisxmxrwa9.js +0 -1
- package/.next/static/chunks/27dovttmtqjhi.js +0 -15
- package/.next/static/chunks/2k1rwhz_x2lej.js +0 -1
- package/.next/static/chunks/2p2pqpub-48me.js +0 -58
- package/.next/static/chunks/34-6gj9kheq74.js +0 -2
- package/.next/static/chunks/3a29oqdmvp25o.js +0 -35
- package/.next/static/chunks/3gyqds2iodotb.js +0 -1
- package/.next/static/chunks/3hxors_gsfsut.js +0 -1
- package/.next/static/chunks/3q-3lu8gpr4-h.js +0 -1
- package/.next/static/chunks/3qkm3p4g4ajku.js +0 -3
- package/.next/static/chunks/3w3mgbz8nuug2.js +0 -1
- package/app/api/bot/memory/files/route.ts +0 -14
- package/app/api/bot/memory/route.ts +0 -5
- package/app/api/events/app-event.client.ts +0 -30
- package/app/api/events/app-event.server.ts +0 -47
- package/app/api/events/app-event.ts +0 -78
- package/app/api/llm-model/catalog/route.ts +0 -12
- package/app/api/llm-model/credits/route.ts +0 -11
- package/app/api/llm-model/route.ts +0 -26
- package/app/api/llm-model/subscription/route.ts +0 -11
- package/app/api/memory/edit/route.ts +0 -7
- package/app/api/memory/route.ts +0 -8
- package/app/api/query-key.ts +0 -192
- package/app/api/thursday/tool-call/route.ts +0 -76
- package/biome.json +0 -72
- package/components/ui/button-group.tsx +0 -45
- package/components/ui/custom-icon.tsx +0 -199
- package/components/ui/dropdown-menu.tsx +0 -271
- package/components/ui/folded-text.tsx +0 -68
- package/components/ui/input-group.tsx +0 -157
- package/components/ui/json-view.tsx +0 -240
- package/components/ui/radio-group.tsx +0 -37
- package/components/ui/shiny-text.tsx +0 -68
- package/components/ui/site-icon.tsx +0 -45
- package/components/ui/source-chips.tsx +0 -54
- package/components/ui/theme-sync.tsx +0 -9
- package/components.json +0 -25
- package/docs/how-it-works.md +0 -76
- package/docs/images/errands-dark.png +0 -0
- package/docs/images/errands-light.png +0 -0
- package/docs/images/hero-dark.png +0 -0
- package/docs/images/hero-light.png +0 -0
- package/docs/images/keeps-going.png +0 -0
- package/docs/images/more-dark.png +0 -0
- package/docs/images/more-light.png +0 -0
- package/docs/images/results-dark.png +0 -0
- package/docs/images/results-light.png +0 -0
- package/docs/images/talk-dark.png +0 -0
- package/docs/images/talk-light.png +0 -0
- package/docs/images/team-dark.png +0 -0
- package/docs/images/team-light.png +0 -0
- package/docs/images/two-minds.png +0 -0
- package/features/ai/chatgpt.ts +0 -638
- package/features/ai/components/chatgpt-sign-in.tsx +0 -66
- package/features/ai/components/effort-switch.tsx +0 -112
- package/features/ai/components/gateway-mark.tsx +0 -188
- package/features/ai/components/model-browser.tsx +0 -324
- package/features/ai/components/model-picker.tsx +0 -336
- package/features/ai/components/provider-icon.tsx +0 -162
- package/features/ai/guide.ts +0 -44
- package/features/ai/live.schema.ts +0 -150
- package/features/ai/load-tools.ts +0 -495
- package/features/ai/model.schema.ts +0 -985
- package/features/ai/model.ts +0 -662
- package/features/ai/prompts/bot.prompt.ts +0 -418
- package/features/ai/prompts/call-standing.ts +0 -43
- package/features/ai/prompts/live.prompt.ts +0 -197
- package/features/ai/prompts/memory-edit.prompt.ts +0 -33
- package/features/ai/prompts/persona.ts +0 -114
- package/features/ai/prompts/prompt-helper.ts +0 -287
- package/features/ai/prompts/thursday.prompt.ts +0 -281
- package/features/ai/tools/bot.tool.ts +0 -183
- package/features/ai/tools/call.tool.ts +0 -50
- package/features/ai/tools/connected.ts +0 -199
- package/features/ai/tools/deck.tool.ts +0 -518
- package/features/ai/tools/look.tool.ts +0 -65
- package/features/ai/tools/mcp.tool.ts +0 -187
- package/features/ai/tools/memory.tool.ts +0 -296
- package/features/ai/tools/routine.tool.ts +0 -214
- package/features/ai/tools/search.tool.ts +0 -248
- package/features/ai/tools/self.tool.ts +0 -58
- package/features/ai/tools/signin.tool.ts +0 -138
- package/features/ai/tools/skills.tool.ts +0 -109
- package/features/ai/tools/studio.tool.ts +0 -360
- package/features/ai/tools/tool-name.ts +0 -56
- package/features/ai/tools/workspace.tool.ts +0 -126
- package/features/ai/words.ts +0 -60
- package/features/artifact/artifact.action.ts +0 -12
- package/features/artifact/artifact.query.ts +0 -218
- package/features/artifact/artifact.schema.ts +0 -58
- package/features/artifact/components/artifact-setting.tsx +0 -513
- package/features/bot/bot.action.ts +0 -195
- package/features/bot/bot.memory.ts +0 -206
- package/features/bot/bot.query.ts +0 -293
- package/features/bot/bot.run.ts +0 -909
- package/features/bot/bot.runner.ts +0 -595
- package/features/bot/bot.schema.ts +0 -501
- package/features/bot/bot.seed.ts +0 -160
- package/features/bot/components/attachments.tsx +0 -225
- package/features/bot/components/bot-badge.tsx +0 -21
- package/features/bot/components/bot-mark.tsx +0 -1678
- package/features/bot/components/bot-room.tsx +0 -439
- package/features/bot/components/bot-roster.tsx +0 -43
- package/features/bot/components/bot-setting.tsx +0 -1698
- package/features/bot/components/bot-tip.tsx +0 -48
- package/features/bot/components/bot-tool.tsx +0 -644
- package/features/bot/components/crew-motion.ts +0 -168
- package/features/bot/components/mark-palette.tsx +0 -57
- package/features/bot/components/room-conversation.tsx +0 -1208
- package/features/bot/components/room-list.tsx +0 -539
- package/features/bot/components/room-pill.tsx +0 -1045
- package/features/bot/components/thread-badge.tsx +0 -37
- package/features/bot/components/thread-reply.tsx +0 -780
- package/features/bot/components/thread-setting.tsx +0 -718
- package/features/bot/components/write-orb.tsx +0 -298
- package/features/bot/mark.const.ts +0 -164
- package/features/bot/room.query.ts +0 -922
- package/features/bot/room.schema.ts +0 -78
- package/features/bot/seed-bots.ts +0 -44
- package/features/bot/thread.query.ts +0 -1175
- package/features/bot/thread.store.ts +0 -726
- package/features/config/components/config-badge.tsx +0 -28
- package/features/config/components/config-setting.tsx +0 -881
- package/features/config/components/models-badge.tsx +0 -42
- package/features/config/components/voice-key.tsx +0 -321
- package/features/config/config.action.ts +0 -67
- package/features/config/config.const.ts +0 -356
- package/features/config/config.query.ts +0 -43
- package/features/connectors/components/mcp-badge.tsx +0 -17
- package/features/connectors/components/mcp-mark.tsx +0 -4
- package/features/connectors/components/mcp-setting.tsx +0 -1028
- package/features/connectors/mcp.action.ts +0 -93
- package/features/connectors/mcp.const.ts +0 -336
- package/features/connectors/mcp.manager.ts +0 -497
- package/features/connectors/mcp.query.ts +0 -256
- package/features/connectors/mcp.schema.ts +0 -122
- package/features/intro/components/echoes.tsx +0 -563
- package/features/intro/components/intro.tsx +0 -964
- package/features/intro/intro-voice.ts +0 -174
- package/features/memory/components/memory-edit.tsx +0 -333
- package/features/memory/components/memory-mark.tsx +0 -4
- package/features/memory/components/memory-setting.tsx +0 -662
- package/features/memory/memory.action.ts +0 -75
- package/features/memory/memory.edit.ts +0 -79
- package/features/memory/memory.query.ts +0 -513
- package/features/memory/memory.schema.ts +0 -196
- package/features/reach/channel.ts +0 -127
- package/features/reach/chat-text.ts +0 -364
- package/features/reach/components/reach-ask.tsx +0 -94
- package/features/reach/components/reach-badge.tsx +0 -22
- package/features/reach/components/reach-guide.tsx +0 -777
- package/features/reach/discord.ts +0 -308
- package/features/reach/pictures.ts +0 -88
- package/features/reach/reach.action.ts +0 -30
- package/features/reach/reach.schema.ts +0 -80
- package/features/reach/reach.ts +0 -946
- package/features/reach/slack.ts +0 -319
- package/features/reach/socket.ts +0 -63
- package/features/reach/telegram.ts +0 -323
- package/features/routine/components/routine-mark.tsx +0 -7
- package/features/routine/components/routine-setting.tsx +0 -1078
- package/features/routine/routine.action.ts +0 -31
- package/features/routine/routine.clock.ts +0 -102
- package/features/routine/routine.query.ts +0 -207
- package/features/routine/routine.schema.ts +0 -157
- package/features/settings/components/install-app.tsx +0 -153
- package/features/settings/components/setting-ui.tsx +0 -482
- package/features/settings/components/settings.tsx +0 -464
- package/features/settings/settings.alert.ts +0 -42
- package/features/settings/settings.store.ts +0 -44
- package/features/signins/components/signin-ask.tsx +0 -51
- package/features/signins/components/signins-setting.tsx +0 -261
- package/features/signins/signins.action.ts +0 -22
- package/features/signins/signins.query.ts +0 -261
- package/features/signins/signins.schema.ts +0 -26
- package/features/skills/components/skills-mark.tsx +0 -4
- package/features/skills/components/skills-setting.tsx +0 -736
- package/features/skills/skills.action.ts +0 -118
- package/features/skills/skills.discover.ts +0 -146
- package/features/skills/skills.query.ts +0 -363
- package/features/skills/skills.schema.ts +0 -105
- package/features/thursday/ascii.const.ts +0 -218
- package/features/thursday/call-signal.ts +0 -41
- package/features/thursday/components/ascii-orb.tsx +0 -1523
- package/features/thursday/components/boot.tsx +0 -24
- package/features/thursday/components/call-log.tsx +0 -503
- package/features/thursday/components/caption-words.tsx +0 -117
- package/features/thursday/components/connect-wave.tsx +0 -266
- package/features/thursday/components/face.tsx +0 -137
- package/features/thursday/components/side-captions.tsx +0 -347
- package/features/thursday/components/tab-state.tsx +0 -108
- package/features/thursday/components/thursday-mark.tsx +0 -168
- package/features/thursday/components/thursday-setting.tsx +0 -1084
- package/features/thursday/components/thursday.tsx +0 -1823
- package/features/thursday/components/voice-picker.tsx +0 -254
- package/features/thursday/components/write-line.tsx +0 -714
- package/features/thursday/expressions.ts +0 -1278
- package/features/thursday/eyes.ts +0 -274
- package/features/thursday/face-words.ts +0 -44
- package/features/thursday/face.const.ts +0 -6
- package/features/thursday/face.store.ts +0 -62
- package/features/thursday/field.ts +0 -93
- package/features/thursday/open-work.ts +0 -180
- package/features/thursday/screen-act.ts +0 -15
- package/features/thursday/silent-voice.ts +0 -14
- package/features/thursday/smoke.ts +0 -510
- package/features/thursday/thursday.action.ts +0 -266
- package/features/thursday/thursday.query.ts +0 -382
- package/features/thursday/thursday.schema.ts +0 -251
- package/features/thursday/thursday.store.ts +0 -129
- package/features/thursday/thursday.text.ts +0 -567
- package/features/thursday/tool-call.ts +0 -42
- package/features/thursday/tool-line.ts +0 -333
- package/features/thursday/use-call-ring.ts +0 -194
- package/features/thursday/use-live-settings.ts +0 -66
- package/features/thursday/use-text-call.ts +0 -551
- package/features/thursday/use-thursday.ts +0 -1231
- package/features/thursday/wash.ts +0 -116
- package/features/thursday/work-chip.tsx +0 -64
- package/features/workspace/components/artifact-view.tsx +0 -510
- package/features/workspace/components/file-thumb.tsx +0 -253
- package/features/workspace/components/file-view.tsx +0 -875
- package/features/workspace/components/given-files.tsx +0 -195
- package/features/workspace/components/workspace-mark.tsx +0 -4
- package/features/workspace/components/workspace-setting.tsx +0 -454
- package/features/workspace/file-kind.ts +0 -190
- package/features/workspace/workspace.action.ts +0 -88
- package/features/workspace/workspace.query.ts +0 -220
- package/features/workspace/workspace.schema.ts +0 -58
- package/features/workspace/workspace.ts +0 -553
- package/hooks/use-draft.ts +0 -38
- package/hooks/use-hotkey.ts +0 -171
- package/hooks/use-object-state.ts +0 -22
- package/hooks/use-on-visible.ts +0 -72
- package/hooks/use-theme.ts +0 -120
- package/hooks/use-wake-word.ts +0 -262
- package/knip.json +0 -7
- package/lib/date-like.ts +0 -37
- package/lib/desktop-notify.ts +0 -81
- package/lib/favicon.ts +0 -88
- package/lib/json-schema.ts +0 -42
- package/lib/live/live.schema.ts +0 -36
- package/lib/live/live.server.ts +0 -188
- package/lib/live/live.session.ts +0 -712
- package/lib/live/live.tap.ts +0 -288
- package/lib/live/live.transport.ts +0 -152
- package/lib/live/ring.ts +0 -62
- package/lib/logger.ts +0 -14
- package/lib/oauth-page.ts +0 -27
- package/lib/protocol/events.client.ts +0 -89
- package/lib/protocol/events.server.ts +0 -158
- package/lib/protocol/events.ts +0 -53
- package/lib/protocol/presence.ts +0 -65
- package/lib/protocol/result.ts +0 -63
- package/lib/protocol/server-action.ts +0 -13
- package/lib/protocol/server-route.ts +0 -20
- package/lib/protocol/to-result.ts +0 -46
- package/lib/protocol/use-server-action.ts +0 -105
- package/lib/protocol/use-server-pages.ts +0 -117
- package/lib/protocol/use-server-route.ts +0 -165
- package/lib/public-error.ts +0 -19
- package/lib/queue.ts +0 -79
- package/lib/reveal-path.ts +0 -46
- package/lib/sandbox.ts +0 -269
- package/lib/theme.ts +0 -9
- package/lib/tokens.ts +0 -35
- package/lib/utils.ts +0 -163
- package/release-please-config.json +0 -21
- package/scripts/artifact-paths.test.mts +0 -56
- package/scripts/bot-context.test.mts +0 -2122
- package/scripts/intro-voice.mts +0 -65
- package/scripts/live-history.test.mts +0 -115
- package/scripts/live-session.test.mts +0 -1286
- package/scripts/memory-tools.test.mts +0 -177
- package/scripts/page-edits.test.mts +0 -319
- package/scripts/reach-channels.test.mts +0 -524
- package/scripts/skill-files.test.mts +0 -225
- package/scripts/text-call.test.mts +0 -540
- package/skills-lock.json +0 -23
- package/tsconfig.json +0 -44
- /package/.next/static/{0yrnAMu4F_o69_DY3W-ho → VtbCMn-0G969p8QJsWdGv}/_buildManifest.js +0 -0
- /package/.next/static/{0yrnAMu4F_o69_DY3W-ho → VtbCMn-0G969p8QJsWdGv}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{0yrnAMu4F_o69_DY3W-ho → VtbCMn-0G969p8QJsWdGv}/_ssgManifest.js +0 -0
|
@@ -1,256 +0,0 @@
|
|
|
1
|
-
import { and, count, eq, inArray, notInArray, sql } from "drizzle-orm";
|
|
2
|
-
import { appEvents } from "@/app/api/events/app-event.server";
|
|
3
|
-
import { database } from "@/database/db";
|
|
4
|
-
import {
|
|
5
|
-
botMcpToolTable,
|
|
6
|
-
mcpServerTable,
|
|
7
|
-
mcpToolTable,
|
|
8
|
-
} from "@/database/tables";
|
|
9
|
-
import {
|
|
10
|
-
isRemoteConfig,
|
|
11
|
-
type MCPOAuthData,
|
|
12
|
-
type MCPServerConfig,
|
|
13
|
-
type MCPToolInfo,
|
|
14
|
-
} from "@/features/connectors/mcp.schema";
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* `oauth` holds tokens, so reads that reach the browser select columns
|
|
18
|
-
* explicitly. Headers, env and the OAuth client are credentials too and stay
|
|
19
|
-
* server-side with it.
|
|
20
|
-
*/
|
|
21
|
-
function publicConfig(config: MCPServerConfig): MCPServerConfig {
|
|
22
|
-
return isRemoteConfig(config)
|
|
23
|
-
? { url: config.url }
|
|
24
|
-
: { command: config.command, args: config.args };
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export async function findAllServers() {
|
|
28
|
-
const rows = await database
|
|
29
|
-
.select({
|
|
30
|
-
name: mcpServerTable.name,
|
|
31
|
-
config: mcpServerTable.config,
|
|
32
|
-
lastError: mcpServerTable.lastError,
|
|
33
|
-
// leftJoin: a server with no tools is still a row with count 0
|
|
34
|
-
toolCount: count(mcpToolTable.id),
|
|
35
|
-
})
|
|
36
|
-
.from(mcpServerTable)
|
|
37
|
-
.leftJoin(mcpToolTable, eq(mcpToolTable.serverName, mcpServerTable.name))
|
|
38
|
-
.groupBy(mcpServerTable.name);
|
|
39
|
-
return rows.map((row) => ({ ...row, config: publicConfig(row.config) }));
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/** One server with its tools. */
|
|
43
|
-
export async function findServerDetail(name: string) {
|
|
44
|
-
const [server] = await database
|
|
45
|
-
.select({
|
|
46
|
-
name: mcpServerTable.name,
|
|
47
|
-
config: mcpServerTable.config,
|
|
48
|
-
lastError: mcpServerTable.lastError,
|
|
49
|
-
toolsSyncedAt: mcpServerTable.toolsSyncedAt,
|
|
50
|
-
})
|
|
51
|
-
.from(mcpServerTable)
|
|
52
|
-
.where(eq(mcpServerTable.name, name));
|
|
53
|
-
if (!server) return null;
|
|
54
|
-
|
|
55
|
-
return {
|
|
56
|
-
...server,
|
|
57
|
-
config: publicConfig(server.config),
|
|
58
|
-
tools: await findServerTools(name),
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** A server's tools with ids; pins point at the id. */
|
|
63
|
-
async function findServerTools(name: string) {
|
|
64
|
-
return database
|
|
65
|
-
.select({
|
|
66
|
-
id: mcpToolTable.id,
|
|
67
|
-
name: mcpToolTable.name,
|
|
68
|
-
description: mcpToolTable.description,
|
|
69
|
-
inputSchema: mcpToolTable.inputSchema,
|
|
70
|
-
outputSchema: mcpToolTable.outputSchema,
|
|
71
|
-
})
|
|
72
|
-
.from(mcpToolTable)
|
|
73
|
-
.where(eq(mcpToolTable.serverName, name))
|
|
74
|
-
.orderBy(mcpToolTable.name);
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/** Every tool of every server, light columns only (the bot form's pin picker). */
|
|
78
|
-
export function findAllTools() {
|
|
79
|
-
return database
|
|
80
|
-
.select({
|
|
81
|
-
id: mcpToolTable.id,
|
|
82
|
-
name: mcpToolTable.name,
|
|
83
|
-
serverName: mcpToolTable.serverName,
|
|
84
|
-
description: mcpToolTable.description,
|
|
85
|
-
})
|
|
86
|
-
.from(mcpToolTable)
|
|
87
|
-
.orderBy(mcpToolTable.serverName, mcpToolTable.name);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/** Server and tool names only, for the prompt; schemas are the heavy column and stay behind `tool_search`. */
|
|
91
|
-
export function listToolNames(server?: string) {
|
|
92
|
-
const query = database
|
|
93
|
-
.select({ server: mcpToolTable.serverName, name: mcpToolTable.name })
|
|
94
|
-
.from(mcpToolTable);
|
|
95
|
-
return server
|
|
96
|
-
? query
|
|
97
|
-
.where(eq(mcpToolTable.serverName, server))
|
|
98
|
-
.orderBy(mcpToolTable.name)
|
|
99
|
-
: query.orderBy(mcpToolTable.serverName, mcpToolTable.name);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
/** Definitions of the named tools; the one read that carries schemas to the model. */
|
|
103
|
-
export function findToolSchemas(server: string, names: string[]) {
|
|
104
|
-
if (!names.length) return Promise.resolve([]);
|
|
105
|
-
return database
|
|
106
|
-
.select({
|
|
107
|
-
name: mcpToolTable.name,
|
|
108
|
-
description: mcpToolTable.description,
|
|
109
|
-
inputSchema: mcpToolTable.inputSchema,
|
|
110
|
-
})
|
|
111
|
-
.from(mcpToolTable)
|
|
112
|
-
.where(
|
|
113
|
-
and(
|
|
114
|
-
eq(mcpToolTable.serverName, server),
|
|
115
|
-
inArray(mcpToolTable.name, names),
|
|
116
|
-
),
|
|
117
|
-
)
|
|
118
|
-
.orderBy(mcpToolTable.name);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* This bot's pinned tools with schemas; they become tools directly, without
|
|
123
|
-
* `tool_search`. Tools a server stopped reporting cascade away with their row.
|
|
124
|
-
*/
|
|
125
|
-
export function findPinnedTools(botName: string) {
|
|
126
|
-
return database
|
|
127
|
-
.select({
|
|
128
|
-
server: mcpToolTable.serverName,
|
|
129
|
-
name: mcpToolTable.name,
|
|
130
|
-
description: mcpToolTable.description,
|
|
131
|
-
inputSchema: mcpToolTable.inputSchema,
|
|
132
|
-
})
|
|
133
|
-
.from(botMcpToolTable)
|
|
134
|
-
.innerJoin(mcpToolTable, eq(botMcpToolTable.toolId, mcpToolTable.id))
|
|
135
|
-
.where(eq(botMcpToolTable.botName, botName))
|
|
136
|
-
.orderBy(mcpToolTable.serverName, mcpToolTable.name);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/** Registered server names, for answering a missed lookup. */
|
|
140
|
-
export function listServerNames() {
|
|
141
|
-
return database
|
|
142
|
-
.select({ name: mcpServerTable.name })
|
|
143
|
-
.from(mcpServerTable)
|
|
144
|
-
.orderBy(mcpServerTable.name);
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
/** The whole row including credentials; for the manager, never a route. */
|
|
148
|
-
export async function findServer(name: string) {
|
|
149
|
-
const [server] = await database
|
|
150
|
-
.select()
|
|
151
|
-
.from(mcpServerTable)
|
|
152
|
-
.where(eq(mcpServerTable.name, name));
|
|
153
|
-
return server ?? null;
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/** Signals the screen to re-read; called at every write. */
|
|
157
|
-
const changed = () => appEvents.emit({ type: "mcp" });
|
|
158
|
-
|
|
159
|
-
/** Re-registering a name replaces its config. */
|
|
160
|
-
export async function upsertServer(input: {
|
|
161
|
-
name: string;
|
|
162
|
-
config: MCPServerConfig;
|
|
163
|
-
}) {
|
|
164
|
-
const [server] = await database
|
|
165
|
-
.insert(mcpServerTable)
|
|
166
|
-
.values({ ...input, lastError: null })
|
|
167
|
-
.onConflictDoUpdate({
|
|
168
|
-
target: mcpServerTable.name,
|
|
169
|
-
// Tools are left alone; the connect that follows syncs them
|
|
170
|
-
set: { config: input.config, lastError: null },
|
|
171
|
-
})
|
|
172
|
-
.returning();
|
|
173
|
-
changed();
|
|
174
|
-
return server;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* After a successful connect. Upserts on (server_name, name) rather than
|
|
179
|
-
* delete-and-insert: new ids would silently empty every bot's pins. Tools no
|
|
180
|
-
* longer reported are deleted and their pins cascade.
|
|
181
|
-
*/
|
|
182
|
-
export async function syncServerTools(name: string, tools: MCPToolInfo[]) {
|
|
183
|
-
await database.transaction(async (tx) => {
|
|
184
|
-
if (tools.length) {
|
|
185
|
-
await tx
|
|
186
|
-
.insert(mcpToolTable)
|
|
187
|
-
.values(tools.map((tool) => ({ ...tool, serverName: name })))
|
|
188
|
-
.onConflictDoUpdate({
|
|
189
|
-
target: [mcpToolTable.serverName, mcpToolTable.name],
|
|
190
|
-
set: {
|
|
191
|
-
description: excluded(mcpToolTable.description),
|
|
192
|
-
inputSchema: excluded(mcpToolTable.inputSchema),
|
|
193
|
-
outputSchema: excluded(mcpToolTable.outputSchema),
|
|
194
|
-
},
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
await tx.delete(mcpToolTable).where(
|
|
199
|
-
tools.length
|
|
200
|
-
? and(
|
|
201
|
-
eq(mcpToolTable.serverName, name),
|
|
202
|
-
notInArray(
|
|
203
|
-
mcpToolTable.name,
|
|
204
|
-
tools.map((tool) => tool.name),
|
|
205
|
-
),
|
|
206
|
-
)
|
|
207
|
-
: eq(mcpToolTable.serverName, name),
|
|
208
|
-
);
|
|
209
|
-
|
|
210
|
-
await tx
|
|
211
|
-
.update(mcpServerTable)
|
|
212
|
-
.set({ lastError: null, toolsSyncedAt: new Date() })
|
|
213
|
-
.where(eq(mcpServerTable.name, name));
|
|
214
|
-
});
|
|
215
|
-
changed();
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/** The value the insert would have written. */
|
|
219
|
-
function excluded(column: { name: string }) {
|
|
220
|
-
return sql.raw(`excluded."${column.name}"`);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/** After a failed connect. Tool rows stay: dropping them would clear every bot's pins on one timeout. */
|
|
224
|
-
export async function saveConnectionError(name: string, lastError: string) {
|
|
225
|
-
await database
|
|
226
|
-
.update(mcpServerTable)
|
|
227
|
-
.set({ lastError })
|
|
228
|
-
.where(eq(mcpServerTable.name, name));
|
|
229
|
-
changed();
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export async function saveOAuthData(name: string, oauth: MCPOAuthData | null) {
|
|
233
|
-
await database
|
|
234
|
-
.update(mcpServerTable)
|
|
235
|
-
.set({ oauth })
|
|
236
|
-
.where(eq(mcpServerTable.name, name));
|
|
237
|
-
changed();
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
/** The OAuth callback only knows `state`. */
|
|
241
|
-
export async function findServerByOAuthState(state: string) {
|
|
242
|
-
const [server] = await database
|
|
243
|
-
.select()
|
|
244
|
-
.from(mcpServerTable)
|
|
245
|
-
.where(sql`json_extract(${mcpServerTable.oauth}, '$.state') = ${state}`);
|
|
246
|
-
return server ?? null;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
export async function deleteServer(name: string) {
|
|
250
|
-
const removed = await database
|
|
251
|
-
.delete(mcpServerTable)
|
|
252
|
-
.where(eq(mcpServerTable.name, name))
|
|
253
|
-
.returning();
|
|
254
|
-
if (removed.length > 0) changed();
|
|
255
|
-
return removed.length > 0;
|
|
256
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { DateLikeSchema } from "@/lib/date-like";
|
|
3
|
-
|
|
4
|
-
/** Protocol shapes (config, tool info, oauth) and the rows the screen draws; the protocol shape is the stored shape. */
|
|
5
|
-
|
|
6
|
-
export const MCPRemoteConfigSchema = z.object({
|
|
7
|
-
url: z.url(),
|
|
8
|
-
headers: z.record(z.string(), z.string()).optional(),
|
|
9
|
-
/** A hand-registered OAuth client, for servers that refuse dynamic registration (403 at DCR). Skips DCR when set. */
|
|
10
|
-
oauthClient: z
|
|
11
|
-
.object({
|
|
12
|
-
clientId: z.string().min(1),
|
|
13
|
-
clientSecret: z.string().optional(),
|
|
14
|
-
})
|
|
15
|
-
.optional(),
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export const MCPStdioConfigSchema = z.object({
|
|
19
|
-
command: z.string().min(1),
|
|
20
|
-
args: z.array(z.string()).optional(),
|
|
21
|
-
env: z.record(z.string(), z.string()).optional(),
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
export const MCPConfigSchema = z.union([
|
|
25
|
-
MCPRemoteConfigSchema,
|
|
26
|
-
MCPStdioConfigSchema,
|
|
27
|
-
]);
|
|
28
|
-
|
|
29
|
-
const MCPToolInfoSchema = z.object({
|
|
30
|
-
name: z.string(),
|
|
31
|
-
description: z.string().optional(),
|
|
32
|
-
// looseObject: a keyless z.object() strips every property and the schema comes back as {}
|
|
33
|
-
inputSchema: z.looseObject({}).optional(),
|
|
34
|
-
outputSchema: z.looseObject({}).optional(),
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* What an OAuth flow leaves behind, one blob per server. The SDK owns the
|
|
39
|
-
* shapes and round-trips them untouched. `codeVerifier`/`state` live only
|
|
40
|
-
* between the redirect and the callback. Never send this to the browser.
|
|
41
|
-
*/
|
|
42
|
-
const MCPOAuthDataSchema = z.object({
|
|
43
|
-
clientInformation: z.looseObject({}).optional(),
|
|
44
|
-
tokens: z.looseObject({}).optional(),
|
|
45
|
-
authorizationServer: z.looseObject({}).optional(),
|
|
46
|
-
codeVerifier: z.string().optional(),
|
|
47
|
-
state: z.string().optional(),
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
type MCPRemoteConfig = z.infer<typeof MCPRemoteConfigSchema>;
|
|
51
|
-
|
|
52
|
-
export type MCPServerConfig = z.infer<typeof MCPConfigSchema>;
|
|
53
|
-
|
|
54
|
-
export type MCPToolInfo = z.infer<typeof MCPToolInfoSchema>;
|
|
55
|
-
|
|
56
|
-
export type MCPOAuthData = z.infer<typeof MCPOAuthDataSchema>;
|
|
57
|
-
|
|
58
|
-
/** Remote or stdio is decided by shape; the user is never asked. */
|
|
59
|
-
export function isRemoteConfig(
|
|
60
|
-
config: MCPServerConfig,
|
|
61
|
-
): config is MCPRemoteConfig {
|
|
62
|
-
return "url" in config;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/** How the agent points at a tool: server name and tool name as two fields, never joined. */
|
|
66
|
-
export type McpToolRef = {
|
|
67
|
-
server: string;
|
|
68
|
-
name: string;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
export type McpCallOutcome =
|
|
72
|
-
| { status: "ok"; text: string }
|
|
73
|
-
/** The tool ran and refused; its own message, not an exception. */
|
|
74
|
-
| { status: "error"; text: string }
|
|
75
|
-
/** Nothing proceeds until the user signs in at `authorizationUrl`. */
|
|
76
|
-
| { status: "auth_required"; server: string; authorizationUrl?: string };
|
|
77
|
-
|
|
78
|
-
/** A server list row. Tools are counted, not sent; one server can carry a hundred JSON schemas. */
|
|
79
|
-
const MCPServerSummarySchema = z.object({
|
|
80
|
-
name: z.string().min(1).max(40),
|
|
81
|
-
config: MCPConfigSchema,
|
|
82
|
-
toolCount: z.number().int(),
|
|
83
|
-
lastError: z.string().nullish(),
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
/** A stored tool: the protocol shape plus the row id that bot pins point at. */
|
|
87
|
-
const MCPToolSchema = MCPToolInfoSchema.extend({
|
|
88
|
-
id: z.number().int(),
|
|
89
|
-
description: z.string().nullish(),
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
/** One opened server: the summary plus its tools. */
|
|
93
|
-
const MCPServerSchema = MCPServerSummarySchema.omit({
|
|
94
|
-
toolCount: true,
|
|
95
|
-
}).extend({
|
|
96
|
-
tools: MCPToolSchema.array().default([]),
|
|
97
|
-
toolsSyncedAt: DateLikeSchema,
|
|
98
|
-
});
|
|
99
|
-
|
|
100
|
-
/** What the registration form produces; the rest is filled in while connecting. */
|
|
101
|
-
export const MCPServerFormSchema = z.object({
|
|
102
|
-
name: z
|
|
103
|
-
.string()
|
|
104
|
-
.min(1, "Name is required")
|
|
105
|
-
.max(40)
|
|
106
|
-
.regex(/^[a-zA-Z0-9_-]+$/, "Only letters, numbers, - and _ are allowed"),
|
|
107
|
-
config: MCPConfigSchema,
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
/** The shape copied from a server README: `{ mcpServers: {...} }` or the bare map. */
|
|
111
|
-
export const MCPServerJsonSchema = z.union([
|
|
112
|
-
z.object({ mcpServers: z.record(z.string(), MCPConfigSchema) }),
|
|
113
|
-
z.record(z.string(), MCPConfigSchema),
|
|
114
|
-
]);
|
|
115
|
-
|
|
116
|
-
export type MCPServerSummary = z.infer<typeof MCPServerSummarySchema>;
|
|
117
|
-
|
|
118
|
-
export type MCPTool = z.infer<typeof MCPToolSchema>;
|
|
119
|
-
|
|
120
|
-
export type MCPServer = z.infer<typeof MCPServerSchema>;
|
|
121
|
-
|
|
122
|
-
export type MCPServerForm = z.infer<typeof MCPServerFormSchema>;
|