thursday-agent 0.16.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 +3 -3
- 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.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/artifact/route.js +9 -9
- 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 +8 -8
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +8 -8
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js +3 -3
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/route.js +3 -3
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- 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 +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.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/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.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 +11 -11
- 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 +11 -11
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +7 -7
- 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 +7 -7
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +7 -7
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +5 -5
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js +5 -5
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +13 -13
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +12 -12
- 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 +4 -4
- 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 +5 -5
- 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 +1 -1
- 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]__18e65_-._.js → [root-of-the-server]__03xamry._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__05dp5tr._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__10_7vqz._.js → [root-of-the-server]__0b36yfw._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1gamvcz._.js → [root-of-the-server]__0jzwdg-._.js} +2 -2
- 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]__0svzjwa._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__16yw3mb._.js → [root-of-the-server]__12m24xl._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1zrwxis._.js → [root-of-the-server]__12tahb4._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1ep-pao._.js → [root-of-the-server]__1_h4hf9._.js} +4 -4
- package/.next/server/chunks/{[root-of-the-server]__1-tdj60._.js → [root-of-the-server]__1de1o6m._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1voqqyc._.js → [root-of-the-server]__1ignh6-._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__11g20j-._.js → [root-of-the-server]__1yl5l25._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1mbd2w_._.js → [root-of-the-server]__208vmyf._.js} +1 -1
- package/.next/server/chunks/{_1mfu9a3._.js → _02lipqs._.js} +1 -1
- package/.next/server/chunks/_05sa7xl._.js +1 -1
- package/.next/server/chunks/{_1rg5bfd._.js → _074f2ts._.js} +1 -1
- package/.next/server/chunks/_07nxi75._.js +3 -3
- package/.next/server/chunks/_08btiir._.js +7 -0
- package/.next/server/chunks/_0caua_s._.js +1 -1
- package/.next/server/chunks/{_0qoush_._.js → _0gt6cbj._.js} +1 -1
- package/.next/server/chunks/_0xygcxs._.js +3 -3
- package/.next/server/chunks/{_09c4we8._.js → _17i1lt2._.js} +1 -1
- package/.next/server/chunks/_19kea1l._.js +9 -9
- package/.next/server/chunks/_1gn2r2q._.js +3 -3
- package/.next/server/chunks/{_03niwml._.js → _1ntwp1s._.js} +1 -1
- package/.next/server/chunks/_1q6e56i._.js +3 -3
- package/.next/server/chunks/{_02fn1o3._.js → _1tkzgtm._.js} +1 -1
- package/.next/server/chunks/_1wl2g8_._.js +2 -2
- package/.next/server/chunks/{_1w6uf9k._.js → _1y3mnz4._.js} +1 -1
- 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_consola_dist_chunks_prompt_mjs_0cux6zt._.js → node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0w32bqh._.js → node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_1clmnaj._.js → node_modules_consola_dist_chunks_prompt_mjs_1341cnf._.js} +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__02jdtqa._.js → [root-of-the-server]__07660xu._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__0rnjkw2._.js → [root-of-the-server]__149x25m._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.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]__1jyeu61._.js +1 -1
- package/.next/server/chunks/ssr/_088vzgn._.js +3 -0
- package/.next/server/chunks/ssr/{_0wupyvd._.js → _0_vnw9v._.js} +2 -2
- package/.next/server/chunks/ssr/{_1u5vsy-._.js → _0aeknva._.js} +2 -2
- package/.next/server/chunks/ssr/_0fo4552._.js +3 -3
- package/.next/server/chunks/ssr/{_0-ou1b0._.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/_0r0g9ki._.js +1 -1
- package/.next/server/chunks/ssr/_0v9r8g2._.js +3 -0
- package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
- package/.next/server/chunks/ssr/{_0ncuqct._.js → _0ztbn5q._.js} +2 -2
- package/.next/server/chunks/ssr/{_0w8r7o7._.js → _1-41lck._.js} +2 -2
- package/.next/server/chunks/ssr/{_10fwcz_._.js → _14dfh7a._.js} +2 -2
- package/.next/server/chunks/ssr/{_1f6s34p._.js → _15m5ctz._.js} +2 -2
- package/.next/server/chunks/ssr/{_11pnnvd._.js → _18-e7zi._.js} +2 -2
- package/.next/server/chunks/ssr/{_0y28gl3._.js → _1c5iqz1._.js} +3 -3
- package/.next/server/chunks/ssr/{_1dqaksc._.js → _1hbjh6n._.js} +2 -2
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/{_1k0efi3._.js → _1sttj8x._.js} +2 -2
- package/.next/server/chunks/ssr/_1uij_rj._.js +1 -1
- package/.next/server/chunks/ssr/_1umbr78._.js +1 -1
- package/.next/server/chunks/ssr/{_17ble8k._.js → _1vtgiou._.js} +3 -3
- package/.next/server/chunks/ssr/_1w9w1ok._.js +1 -1
- package/.next/server/chunks/ssr/{_1z586yw._.js → _1z6pirx._.js} +2 -2
- package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_1knyan7._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_1kr0_m-._.js +3 -0
- package/.next/server/chunks/ssr/{features_config_11dpa7r._.js → features_config_0n0zu89._.js} +3 -3
- 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_workspace_workspace_ts_1wc7_u_._.js +4 -4
- package/.next/server/chunks/ssr/{node_modules_1r5o-bo._.js → node_modules_00h1t1j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1o9n7_n._.js → node_modules_02ficyi._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0u24mg0._.js → node_modules_03q71_j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_138kcrz._.js → node_modules_03uejh6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0x_2io2._.js → node_modules_06grs09._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0n1js5k._.js → node_modules_07mo9rn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bas34k._.js → node_modules_09e8kz_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1dzye0n._.js → node_modules_09ikzel._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_18yn_bs._.js → node_modules_0_d_7gq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ka8te1._.js → node_modules_0_p8w7p._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0mark4f._.js → node_modules_0f5bmkb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0sdjzae._.js → node_modules_0kwie-o._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ozyial._.js → node_modules_0r-9e4n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_156m1qh._.js → node_modules_0u_8z64._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-ew8f8._.js → node_modules_0zf3wuu._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xua-g1._.js → node_modules_1-7fc7h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ld7p-1._.js → node_modules_142z3o5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-8r9yw._.js → node_modules_180l3i0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1tj7_9z._.js → node_modules_197vh1s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0y5uubt._.js → node_modules_1_n9o9s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0etz1i0._.js → node_modules_1fw32pg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bbwe-u._.js → node_modules_1hefp6h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_097cl9f._.js → node_modules_1irot3r._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0uibk9z._.js → node_modules_1om2itc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1zkzksd._.js → node_modules_1ubln7w._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_02uwbwp._.js → node_modules_1wyhtw9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_133hjui._.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_1b3vwd3._.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/{1ub9obhgfm4jl.js → 024plctckvq-1.js} +1 -1
- package/.next/static/chunks/04toe_3nqfjqt.js +1 -0
- package/.next/static/chunks/{0609ejkwuy4sf.js → 0_b_bi2pobasx.js} +2 -2
- package/.next/static/chunks/{3ro66d9dc70bc.js → 0dfvwgnyrp8qt.js} +1 -1
- package/.next/static/chunks/{314szf8yer-3n.js → 0f47nnshdlucs.js} +1 -1
- package/.next/static/chunks/0sowxe4nnl5qu.js +1 -0
- package/.next/static/chunks/{07vcuxousbmy1.js → 0sv142q1yrva2.js} +1 -1
- package/.next/static/chunks/{0q4ws7qd21chx.js → 0tp868040z9nn.js} +2 -2
- package/.next/static/chunks/{0unonxbajyknw.js → 1-63yde5eaz7i.js} +1 -1
- package/.next/static/chunks/14qitm0kwsb6g.js +15 -0
- package/.next/static/chunks/{2xjr5b-yk_h3o.js → 1bgvxd3xny53w.js} +1 -1
- package/.next/static/chunks/{245_cp14iz637.js → 1cyrrz4q871aj.js} +1 -1
- package/.next/static/chunks/1st3b0c9vhxg3.js +1 -0
- package/.next/static/chunks/{39miwvg4k-b2d.js → 1wbqaidq7vc3_.js} +1 -1
- package/.next/static/chunks/{0cl_fgkphk1oz.js → 28sxb_k460e9h.js} +1 -1
- package/.next/static/chunks/{3j-l8un0d77v7.js → 2v6e_9p95o2e3.js} +1 -1
- package/.next/static/chunks/{23tx-2paw9qa6.js → 3-qp777vtfglj.js} +1 -1
- package/.next/static/chunks/{2jbjyazqfqyoh.js → 33ekkscpcq-z1.js} +1 -1
- package/.next/static/chunks/388l-zszwa_jf.js +1 -0
- package/.next/static/chunks/{3vwjs5kq11417.js → 38edd4rpcbvzp.js} +1 -1
- package/.next/static/chunks/3bwrvpjk95_x4.js +1 -0
- package/.next/static/chunks/{42m371fn687r5.js → 3itdg6t243u6f.js} +1 -1
- package/.next/static/chunks/{2oa4gpkzjtpni.js → 44vre0f7xqsh-.js} +1 -1
- package/README.md +12 -12
- package/guide/bots.md +48 -8
- package/guide/calls.md +13 -12
- package/guide/setup.md +4 -2
- package/package.json +1 -1
- package/public/sounds/NOTICE +3 -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/skills/README.md +3 -0
- package/skills/artifact/SKILL.md +6 -5
- package/skills/artifact/references/book.md +22 -8
- package/skills/artifact/references/deck.md +4 -2
- package/skills/artifact/references/document.md +9 -0
- package/skills/artifact/references/sheet.md +108 -0
- package/skills/artifact/runtime/book/book.css +75 -0
- package/skills/artifact/runtime/book/book.html +6 -3
- package/skills/artifact/runtime/book/book.js +21 -0
- package/skills/artifact/runtime/canvas/canvas.css +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.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 +1 -0
- 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 +229 -11
- package/skills/artifact/scripts/document.mjs +29 -2
- package/skills/artifact/scripts/spreadsheet.mjs +1068 -0
- package/skills/data-report/SKILL.md +8 -1
- package/.next/server/chunks/[root-of-the-server]__0aijj66._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tvoct-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__118qjk_._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__1b8tp42._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1gzcbda._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qcn1ti._.js +0 -7
- package/.next/server/chunks/_0xx3ryc._.js +0 -7
- package/.next/server/chunks/ssr/[root-of-the-server]__1y5_1cv._.js +0 -3
- package/.next/server/chunks/ssr/_0l1-xc6._.js +0 -3
- package/.next/server/chunks/ssr/_1g48r6t._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1k25jdg._.js +0 -3
- 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/00d54fcfm-lko.js +0 -1
- package/.next/static/chunks/0gjlsu6vrfzod.js +0 -1
- package/.next/static/chunks/17yqt1p_svv13.js +0 -1
- package/.next/static/chunks/203pbwecfs3tm.js +0 -1
- package/.next/static/chunks/3ghvoe_mlljzs.js +0 -15
- package/.next/static/chunks/3gn7dubb4-pwy.js +0 -1
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → VtbCMn-0G969p8QJsWdGv}/_buildManifest.js +0 -0
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → VtbCMn-0G969p8QJsWdGv}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → VtbCMn-0G969p8QJsWdGv}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,616816,e=>{"use strict";var t=e.i(843476),a=e.i(375775),r=e.i(689664),n=e.i(263676),l=e.i(271645),i=e.i(798120),o=e.i(167881),s=e.i(23750),h=e.i(41533),u=e.i(968978),c=e.i(149666),d=e.i(265402),f=e.i(609856),m=e.i(283653),p=e.i(647163),g=e.i(790930),y=e.i(992112);function M({provider:e,saved:a,autoFocus:r,dense:n,plain:l,value:i,ready:o,saving:s,onValue:h,onSubmit:c}){return(0,t.jsxs)("div",{className:"space-y-2",children:[!l&&(0,t.jsxs)("span",{className:"flex items-center gap-2 px-0.5 text-muted-foreground",children:[(0,t.jsx)(u.ProviderIcon,{provider:e.id,className:"size-4 shrink-0"}),(0,t.jsx)("span",{className:(0,p.cn)("font-mono",n?"text-[11px]":"text-[12.5px]"),children:e.label})]}),(0,t.jsx)(w,{provider:e,saved:a,autoFocus:r,dense:n,mark:l,value:i,ready:o,saving:s,onValue:h,onSubmit:c})]})}let x=e=>e?.replace(/…$/,"")??"";function w({provider:e,saved:a,autoFocus:n,dense:l,mark:i,value:h,ready:c,saving:f,onValue:m,onSubmit:g}){var y;let M,b=(y=e.id,M=x(d.TEXT_MODEL_PROVIDERS[y].keyLooks),Object.entries(d.TEXT_MODEL_PROVIDERS).flatMap(([e,t])=>{let a=x(t.keyLooks);return e!==y&&a&&!M.startsWith(a)?[a]:[]})).some(e=>h.trim().startsWith(e));return(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault(),g()},className:(0,p.cn)("flex items-center gap-3 rounded-2xl border bg-muted/40 px-4 transition-colors",l?"h-11 rounded-xl px-3":"h-14",a||c?"border-foreground bg-transparent":"border-border"),children:[i&&(0,t.jsx)(u.ProviderIcon,{provider:e.id,className:"size-4 shrink-0 text-muted-foreground"}),(0,t.jsx)(s.Input,{autoFocus:n,type:"password","aria-label":"OpenAI API key",autoComplete:"off",value:h,spellCheck:!1,placeholder:a?"Replace it":"sk-…",onChange:e=>m(e.target.value),className:(0,p.cn)("min-w-0 flex-1 border-0 bg-transparent px-0 font-mono shadow-none focus-visible:ring-0 dark:bg-transparent",l?"h-7 text-[13px]":"h-9 text-[15px]")}),h?(0,t.jsx)(o.Button,{type:"submit",size:"sm",variant:b?"outline":"default",loading:f,disabled:!c,className:(0,p.cn)("shrink-0",l?"h-7 px-3":"h-9 px-4"),children:b?`Not ${e.label}?`:"Save"}):a&&(0,t.jsx)("span",{className:(0,p.cn)("grid shrink-0 animate-in place-items-center rounded-full bg-foreground text-background zoom-in-50 duration-300",l?"size-5":"size-7"),children:(0,t.jsx)(r.Check,{className:l?"size-3":"size-4"})})]})}e.s(["GetKeyLink",0,function(){let e=d.TEXT_MODEL_PROVIDERS[c.LIVE_PROVIDER.id].keysAt;return e?(0,t.jsxs)("a",{href:e,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2.5 text-[13px] font-medium text-foreground no-underline",children:[(0,t.jsxs)("span",{className:"flex h-7.5 shrink-0 items-center gap-1.5 rounded-full bg-muted px-3.5 whitespace-nowrap transition-colors hover:bg-accent",children:["Get a key",(0,t.jsx)(a.ArrowUpRight,{className:"size-3.5"})]}),(0,t.jsx)("span",{className:"truncate font-mono text-[11px] font-normal text-muted-foreground/70",children:e.replace(/^https:\/\//,"")})]}):null},"KeyInput",0,w,"VoiceKeys",0,function({ref:e,autoFocus:a,dense:r=!1,plain:s=!1,onCancel:u,onSaved:d,className:x}){let{data:w}=(0,m.useServerRoute)(i.queryKey.config),[b,v]=(0,l.useState)({}),[A,k]=(0,l.useState)(null),[O,S]=(0,l.useState)(null),[_]=(0,f.useServerAction)(g.setConfigAction,{errorMessage:!1,onError:e=>S(e??"That key was not saved."),onOk:()=>{(0,m.revalidate)(i.queryKey.config),(0,m.revalidate)(i.queryKey.llmModel)}}),E=e=>(b[e]?.trim().length??0)>=h.KEY_MIN,L=async e=>{let t=e.apiKeyName;if(!E(t)||A)return!1;S(null),k(t);try{return await _(t,b[t]),v(e=>({...e,[t]:""})),d?.(e.id),!0}catch{return!1}finally{k(null)}};return(0,l.useImperativeHandle)(e,()=>({pending:()=>E(c.LIVE_PROVIDER.apiKeyName),flush:async()=>!E(c.LIVE_PROVIDER.apiKeyName)||L(c.LIVE_PROVIDER)})),(0,t.jsxs)("div",{className:(0,p.cn)("w-full",r?"space-y-2":"space-y-4",x),children:[r&&!s&&(0,t.jsxs)("div",{className:"flex h-6 items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"px-0.5 font-mono text-[11px] text-muted-foreground",children:"Voice key"}),u&&(0,t.jsx)(o.Button,{type:"button",size:"icon",variant:"ghost","aria-label":"Not now",onClick:u,className:"-my-1 size-6",children:(0,t.jsx)(n.X,{className:"size-3.5"})})]}),(0,t.jsx)(M,{provider:c.LIVE_PROVIDER,saved:(0,y.isConfigSet)(w,c.LIVE_PROVIDER.apiKeyName),autoFocus:a,dense:r,plain:s,value:b[c.LIVE_PROVIDER.apiKeyName]??"",ready:E(c.LIVE_PROVIDER.apiKeyName),saving:A===c.LIVE_PROVIDER.apiKeyName,onValue:e=>{S(null),v(t=>({...t,[c.LIVE_PROVIDER.apiKeyName]:e}))},onSubmit:()=>void L(c.LIVE_PROVIDER)}),O&&(0,t.jsx)("p",{className:(0,p.cn)("px-0.5 leading-5 break-words",r?"text-xs":"text-center text-[13px]",p.WAITING_INK),children:O}),!s&&(0,t.jsx)("p",{className:(0,p.cn)("px-0.5 font-mono text-muted-foreground",r?"text-[11px]":"pt-1 text-center text-[12.5px]"),children:r?"Live voice and reasoning share this OpenAI API key.":"Live uses an OpenAI API key, billed separately from ChatGPT. Stored on this machine, in this app's database."})]})}])},671228,67045,297825,e=>{"use strict";let t,a;var r=e.i(504565),n=e.i(265402),l=e.i(413168);let i=[{id:"chatgpt",...n.TEXT_MODEL_PROVIDERS.chatgpt},{id:"openai",...n.TEXT_MODEL_PROVIDERS.openai}];r.default.object({id:r.default.string().min(1),text:r.default.string(),said:r.default.boolean()});let o="note",s=e=>e.type===`data-${o}`?e.data:null,h={min:3,max:32},u=r.default.object({enabled:r.default.boolean(),phrase:r.default.string().trim().min(h.min).max(h.max)}),c={enabled:!1,phrase:"hey thursday"},d=r.default.object({enabled:r.default.boolean(),combo:r.default.string().trim().min(1).max(64)}),f={enabled:!1,combo:"alt+shift+KeyT"},m=["off","waiting","any"],p=r.default.enum(m),g="waiting",y=["center","sides"],M=r.default.enum(y);r.default.object({id:r.default.string().min(1),role:r.default.enum(["user","assistant","tool"]),tool:r.default.string().nullish(),text:r.default.string(),seq:r.default.number().int().min(0),fragments:r.default.array(l.LiveFragmentSchema).nullish()}),r.default.object({id:r.default.string().min(1),text:r.default.string(),seq:r.default.number().int().min(0)}),e.s(["CALL_BACK_DEFAULT",0,g,"CALL_BACK_LABEL",0,{off:"Never",waiting:"When a job needs me",any:"Whenever a job ends"},"CALL_BACK_MODES",0,m,"CAPTION_VIEWS",0,y,"CallBackSchema",0,p,"CaptionViewSchema",0,M,"HOTKEY_DEFAULT",0,f,"HotkeySchema",0,d,"TEXT_CALL_NOTE",0,o,"WAKE_DEFAULT",0,c,"WAKE_PHRASE",0,h,"WakeSchema",0,u,"isEnglishPhrase",0,e=>/^[a-z0-9\s'.,!?-]+$/i.test(e.trim())&&/[a-z]/i.test(e),"noteOf",0,s,"notesIn",0,e=>e.flatMap(e=>e.parts.flatMap(e=>{let t=s(e);return t?[t]:[]})),"textCallRunsOn",0,e=>i.find(t=>e(t.apiKeyName))?.id??null],671228);var x=e.i(681307),w=e.i(768834);let b=e=>t=>{try{let a=e(t);if(a instanceof Promise)return a;return{then:e=>b(e)(a),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>b(t)(e)}}};var v=e.i(149666);let A=x.z.object({wake:u.catch(c),hotkey:d.catch(f),callBack:p.catch(g),captionView:M.catch("sides"),textModel:n.textModelRefSchema.nullable().catch(null)}),k={wake:c,hotkey:f,callBack:g,captionView:"sides",textModel:null},O=(0,w.create)()((t=e=>({...k,carried:null,patch:t=>e(t),carriedDone:()=>e({carried:null})}),a={name:"thursday.settings",version:2,migrate:(e,t)=>t<1&&e&&"object"==typeof e?{...e,webSearch:!0}:e,partialize:e=>({wake:e.wake,hotkey:e.hotkey,callBack:e.callBack,captionView:e.captionView,textModel:e.textModel}),merge:(e,t)=>{let a=A.safeParse(e),r=a.success?a.data:k;return{...t,...r,carried:function(e){if(!e||"object"!=typeof e)return null;let t=[...Object.keys(v.LiveSettingsSchema.shape),"voicePrompt","systemPrompt","model"].filter(t=>t in e);return t.length?Object.fromEntries(t.map(t=>[t,e[t]])):null}(e)}}},(e,r,n)=>{let l,i={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var a;let r=e=>null===e?null:JSON.parse(e,void 0),n=null!=(a=t.getItem(e))?a:null;return n instanceof Promise?n.then(r):r(n)},setItem:(e,a)=>t.setItem(e,JSON.stringify(a,void 0)),removeItem:e=>t.removeItem(e)}}(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...a},o=!1,s=0,h=new Set,u=new Set,c=i.storage;if(!c)return t((...t)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),e(...t)});let d=()=>{let e=i.partialize({...r()});return c.setItem(i.name,{state:e,version:i.version})},f=n.setState;n.setState=(e,t)=>(f(e,t),d());let m=t((...t)=>(e(...t),d()));n.getInitialState=()=>m;let p=()=>{var t,a;if(!c)return;let n=++s;o=!1,h.forEach(e=>{var t;return e(null!=(t=r())?t:m)});let f=(null==(a=i.onRehydrateStorage)?void 0:a.call(i,null!=(t=r())?t:m))||void 0;return b(c.getItem.bind(c))(i.name).then(e=>{if(e)if("number"!=typeof e.version||e.version===i.version)return[!1,e.state];else{if(i.migrate){let t=i.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(t=>{var a;if(n!==s)return;let[o,h]=t;if(e(l=i.merge(h,null!=(a=r())?a:m),!0),o)return d()}).then(()=>{n===s&&(null==f||f(r(),void 0),l=r(),o=!0,u.forEach(e=>e(l)))}).catch(e=>{n===s&&(null==f||f(void 0,e))})};return n.persist={setOptions:e=>{i={...i,...e},e.storage&&(c=e.storage)},clearStorage:()=>{++s,null==c||c.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>p(),hasHydrated:()=>o,onHydrate:e=>(h.add(e),()=>{h.delete(e)}),onFinishHydration:e=>(u.add(e),()=>{u.delete(e)})},i.skipHydration||p(),l||m}));e.s(["useThursdayStore",0,O],67045);var S=e.i(271645),_=e.i(798120),E=e.i(609856),L=e.i(283653),N=e.i(95187);let R=(0,N.createServerReference)("7f46291180d6c1fd9732a36194a563097dfd1a1c7e",N.callServer,void 0,N.findSourceMapURL,"seedLiveSettingsAction"),I=(0,N.createServerReference)("7f2f84f33cb10d029abb01910aa3ad70ff1af268f0",N.callServer,void 0,N.findSourceMapURL,"setLiveSettingsAction");e.s(["useLiveSettings",0,function(){let{data:e}=(0,L.useServerRoute)(_.queryKey.thursdaySettings),[t]=(0,E.useServerAction)(I,{onOk:()=>(0,L.revalidate)(_.queryKey.thursdaySettings)}),a=(0,S.useRef)(e);a.current=e;let r=(0,S.useCallback)(e=>{let r=a.current;r&&t({...r,...e})},[t]);return function(){let e=O(e=>e.carried),t=O(e=>e.carriedDone),[a]=(0,E.useServerAction)(R,{onOk:e=>{e&&(0,L.revalidate)(_.queryKey.thursdaySettings)},errorMessage:!1});(0,S.useEffect)(()=>{e&&(t(),a(e))},[e,t,a])}(),{settings:e,patch:r}}],297825)},561540,377090,732061,298293,387758,333495,e=>{"use strict";var t=e.i(213377);let a={[t.TOOL_NAMES.memory_recall]:"Checking your notes",[t.TOOL_NAMES.memory_create]:"Starting a note",[t.TOOL_NAMES.memory_remember]:"Noting that down",[t.TOOL_NAMES.memory_describe]:"Renaming a note",[t.TOOL_NAMES.memory_forget]:"Forgetting that",[t.TOOL_NAMES.bash]:"Doing it on this computer",[t.TOOL_NAMES.web_search]:"Searching the web",[t.TOOL_NAMES.load_skill]:"Reading how to do this",[t.TOOL_NAMES.look_at]:"Looking at the picture",[t.TOOL_NAMES.make_deck]:"Making the deck",[t.TOOL_NAMES.end_call]:"Ending the call",[t.TOOL_NAMES.routine]:"Checking your routines"};function r(e,t=28){let a=e.trim().replace(/\s+/g," ");if(a.length<=t)return a;let n=a.slice(0,t),l=n.lastIndexOf(" ");return`${(l>t/2?n.slice(0,l):n).trimEnd()}…`}let n=(e,t)=>"string"==typeof e[t]?e[t].trim():"";function l(e){if(!e)return null;try{let t=JSON.parse(e);if(t&&"object"==typeof t&&!Array.isArray(t))return t}catch{}return null}let i=new Set([t.TOOL_NAMES.thread_tell,t.TOOL_NAMES.thread_answer,t.TOOL_NAMES.thread_status,t.TOOL_NAMES.thread_show,t.TOOL_NAMES.thread_cancel,t.TOOL_NAMES.thread_seen]);function o(e){return Array.isArray(e)?e.flatMap(e=>e&&"object"==typeof e&&"string"==typeof e.url?[e]:[]):[]}e.s(["reasoningTitle",0,function(e){return/^\s*\*\*(.+?)\*\*/.exec(e)?.[1]?.trim()||null},"searchOf",0,function(e,a){if(e!==t.TOOL_NAMES.web_search)return null;try{let e=JSON.parse(a);return{query:"string"==typeof e.query?e.query:null,sources:o(e.sources)}}catch{return null}},"searchQueryOf",0,function(e){let t=l(e)?.query;return"string"==typeof t&&t.trim()?t.trim():null},"searchSourcesOf",0,function(e){return o(l(e)?.sources)},"startedLabel",0,function(e,a){if(e!==t.TOOL_NAMES.thread_start)return null;try{let e=JSON.parse(a);return"string"==typeof e.label?e.label:null}catch{return null}},"toolBot",0,function(e,a,r,n){let o=l(a);if(!o)return null;if(e===t.TOOL_NAMES.thread_start)return"string"==typeof o.bot&&o.bot.trim()?o.bot.trim():null;if(!i.has(e))return null;let s="string"==typeof o.thread?o.thread.trim():"";if(!s||"all"===s.toLowerCase())return null;let h=s.toLowerCase(),u=r?.find(e=>e.id===s)??r?.find(e=>e.label.toLowerCase()===h);return u?e===t.TOOL_NAMES.thread_answer?u.room.questions[0]?.bot??u.bot:u.bot:function(e){let t=l(e);if(!t)return null;if("string"==typeof t.bot&&t.bot.trim())return t.bot.trim();let a=t.answered;return"string"==typeof a?.bot?a.bot:null}(n)},"toolLine",0,function(e,i,o=null){let s;if(e===t.TOOL_NAMES.tool_search||e===t.TOOL_NAMES.tool_call)return"Reaching a connected service";let h=l(i);return(h&&function(e,a,l){if(e===t.TOOL_NAMES.memory_remember||e===t.TOOL_NAMES.memory_create){let l=n(a,"path"),i=function(e){if(!Array.isArray(e.facts))return null;let t=e.facts.map(e=>e&&"object"==typeof e&&"string"==typeof e.text?e.text.trim():"").filter(Boolean);return t.length?{text:t[0],more:t.length-1}:null}(a),o=e===t.TOOL_NAMES.memory_create?"Starting":"Noting";if(!l)return null;if(!i)return`${o} ${l}`;let s=i.more>0?` (+${i.more})`:"";return`${o} ${l}: ${r(i.text)}${s}`}if(e===t.TOOL_NAMES.memory_recall){let e=n(a,"path");return e?`Checking \xb7 ${e}`:null}if(e===t.TOOL_NAMES.memory_describe){let e=n(a,"path");return e?`Renaming \xb7 ${e}`:null}if(e===t.TOOL_NAMES.bash){let e=n(a,"description")||n(a,"command");return e?`On this computer \xb7 ${r(e,44)}`:null}if(e===t.TOOL_NAMES.load_skill){let e=n(a,"name");return e?`Reading the ${e} skill`:null}if(e===t.TOOL_NAMES.look_at){let e=n(a,"path");return e?`Looking at ${e.split("/").filter(Boolean).at(-1)??""}`:null}if(e===t.TOOL_NAMES.make_deck){let e=n(a,"title");return e?`Making the deck \xb7 ${r(e,44)}`:null}if(e===t.TOOL_NAMES.thread_start){let e=n(a,"bot");return e?`Handing this to ${e}`:"Handing this over"}if(e===t.TOOL_NAMES.web_search){let e=n(a,"query");return e?`Searching \xb7 ${e}`:null}if(e===t.TOOL_NAMES.routine){if("create"===a.action){let e=[n(a,"bot"),function(e){if("string"==typeof e.at&&e.at.length>=16){let[t,a]=e.at.split(" "),[r,n,l]=t.split("-").map(Number),i=new Date(r,n-1,l);if(i.toDateString()===new Date().toDateString())return`once at ${a}`;let o=i.toLocaleDateString("en-US",{month:"short",day:"numeric"});return`once, ${o} ${a}`}return"string"==typeof e.time&&e.time?`daily at ${e.time}`:"number"==typeof e.everyHours?`every ${e.everyHours} hours`:null}(a)].filter(Boolean).join(", ");return e?`Setting a routine \xb7 ${e}`:"Setting a routine"}return"change"===a.action?"Changing a routine":"delete"===a.action?"Deleting a routine":null}let i=n(a,"thread");return e===t.TOOL_NAMES.thread_tell?l?`Telling ${l}`:"Passing that on":e===t.TOOL_NAMES.thread_answer?l?`Answering ${l}`:"Answering that":e===t.TOOL_NAMES.thread_cancel?i?`Stopping ${i}`:"Stopping that":e===t.TOOL_NAMES.thread_seen?i?`Marking ${i} as read`:"Marking that as read":e===t.TOOL_NAMES.thread_show?i?`Opening ${i}`:"Opening that":e===t.TOOL_NAMES.thread_status?i&&"all"!==i.toLowerCase()?`Checking on ${i}`:"Checking on the work":null}(e,h,o))??a[e]??((s=e.indexOf("__"))<=0?null:`Reaching ${e.slice(0,s).replace(/[-_]/g," ")}`)}],561540);var s=e.i(843476),h=e.i(271645),u=e.i(41533),c=e.i(218080),d=e.i(567334);function f(e,t,a){let r=(0|e)*0x165667b1+(0|t)*0x27d4eb2f+(0|a)*0x4bf19f61;return(((r=Math.imul(r^r>>>13,0x4bf19f61))^r>>>16)>>>0)/0x100000000}let m=(e,t,a)=>e+(t-e)*a;function p(e,t,a){let r=Math.floor(e),n=Math.floor(t),l=Math.floor(a),i=e-r,o=t-n,s=a-l,h=i*i*(3-2*i),u=o*o*(3-2*o),c=m(f(r,n,l),f(r+1,n,l),h),d=m(f(r,n+1,l),f(r+1,n+1,l),h),p=m(f(r,n,l+1),f(r+1,n,l+1),h),g=m(f(r,n+1,l+1),f(r+1,n+1,l+1),h);return m(m(c,d,u),m(p,g,u),s*s*(3-2*s))}function g(e,t,a,r=3){let n=0,l=.5,i=0;for(let o=0;o<r;o++)n+=l*p(e,t,a),i+=l,e*=2.03,t*=2.03,a*=1.97,l*=.5;return n/i}function y(e,t,a,r=4){let n=g(e,t,a,2),l=g(e+5.2,t+1.3,a+2.8,2);return g(e+r*n,t+r*l,a,3)}function M(e,t=0){let a=9.2*g(.1*e+3.7*t,3.1+t,1.4,2);return{x:Math.cos(a),y:Math.sin(a),g:.38+.62*Math.max(0,Math.min(1,(g(.11*e+5.3*t,7.7,2.2,3)-.38)*3.2))**1.5}}e.s(["fbm",0,g,"ihash",0,f,"vnoise",0,p,"warp",0,y,"windAt",0,M],377090);let x=2*Math.PI,w=(e,t,a)=>(0,d.smoothstep)(t,t+(a-t)*.3,e)*(1-(0,d.smoothstep)(a-(a-t)*.3,a,e)),b={x:0,y:0,rot:0,yaw:0,pitch:0,spin:0,axis:0,sx:1,sy:1,lidL:1,lidR:1,size:1,gx:0,gy:0},v=(()=>{let e=0;for(let t=0;t<5;t++)e+=Math.exp(-t/1.6);return Array.from({length:5},(t,a)=>Math.exp(-a/1.6)/e)})(),A={now:{wake:!0,sighs:!0,len:0,pose:()=>b},dust:{wake:!0,len:2.4,pose(e,t){let a=t?-1:1,r=.55*(0,d.smoothstep)(.16,.3,e)*Math.exp(-Math.max(0,e-.3)/.55),n=2.5*x*(e-.2),l=.3+.2*(0,d.smoothstep)(.05,.25,e)+.5*(0,d.smoothstep)(1.35,1.75,e),i=w(e,1.45,2.4);return{...b,yaw:a*r*Math.sin(n),x:.035*a*r*Math.sin(n-.5),rot:.03*a*r*Math.sin(n+.9),y:-.02*i,lidL:l,lidR:l,size:1+.06*i}},fx(e,t,a,r,n,l,i,o){let s=t?-1:1,h=1;for(let t=0;t<5;t++){let a=.2+(.25+.5*t)/2.5;h-=v[t]*(0,d.smoothstep)(a-.03,a+.1,e),e>=a&&l.thrown<=t&&(l.thrown=t+1,function(e,t,a,r){let n=e.head,l=Math.min(1.4,3.2*a),i=4+Math.round(6*l);for(let a=0;a<i;a++){let a=(Math.random()-.5)*1.6*r,i=t*Math.sqrt(Math.max(0,r*r-a*a))*(.1+.8*Math.random()),o=(230+170*Math.random())*(.55+.45*l),s=(Math.random()-.6)*90+a/r*50;for(let l=0;l<7;l++){let l=o*(.75+.5*Math.random());L(e,{...N,x:n.x*r+i+(Math.random()-.5)*24,y:n.y*r+a+(Math.random()-.5)*24,vx:t*l,vy:s+(Math.random()-.5)*50,life:1.3+.8*Math.random(),a:.55+.3*Math.random(),r0:4,r1:30+20*Math.random(),grow:.5,keep:.35,fall:45,curl:40,kind:2,hold:0,fadeP:1.5})}for(let l=0;l<3;l++)L(e,{...N,x:n.x*r+i,y:n.y*r+a,vx:t*o*(.8+.5*Math.random()),vy:s-40*Math.random(),life:.6+.4*Math.random(),a:.9,r0:1.5,r1:2.5,grow:1,keep:.4,fall:320,curl:0,kind:2,hold:0,fadeP:1})}}(r,s*(t%2?-1:1),v[t],o))}a.crust=Math.max(a.crust,e<0?(0,d.smoothstep)(-.8,-.3,e):Math.max(0,h))}},turn:{wake:!0,len:1.8,pose(e,t){let a=t?-1:1,r=x*(0,d.smoothstep)(-.6,.95,e),n=e>.95?-.1*Math.sin(Math.min(1,(e-.95)/.6)*Math.PI):0,l=(0,d.smoothstep)(0,.3,e);return{...b,spin:a*(r+n),axis:.22*a,y:-.02*w(e,.5,1.6),lidL:l,lidR:l}}},vape:{len:6.6,pose(e){let t=w(e,.2,1.7),a=(0,d.smoothstep)(1.7,2.3,e)*(1-(0,d.smoothstep)(5.2,6.4,e)),r=1-.35*t-.42*a;return{...b,pitch:.12*t-.08*a,y:-.02*t+.015*a,sx:1+.03*t,sy:1+.03*t,lidL:r,lidR:r}},fx(e,t,a,r,n,l,i,o){if(e<0||e>6.8)return;a.hush=Math.max(a.hush,.8*w(e,.2,2));let s=e>1.8&&e<5.4?(0,d.smoothstep)(1.8,2.2,e)*(.4+.6*Math.exp(-(e-1.8)/1.6))*(1-(0,d.smoothstep)(4.5,5.4,e)):0;s>0&&function(e,t,a,r,n,l){var i;let o,s,h,u,c,[d,f]=(i=.55*l,s=Math.cos((o=e.head).rot),h=Math.sin(o.rot),u=0*o.sx,c=i*o.sy,[o.x*l+u*s-c*h,o.y*l+u*h+c*s]),m=.88*t.field;for(a.owed+=110*r*n;a.owed>=1;){a.owed-=1;let t=Math.PI/2+(Math.random()-.5)*1.6,n=165*(.6+.4*r)*(.7+.6*Math.random());L(e,{x:d+(Math.random()-.5)*26,y:f+(Math.random()-.5)*10,vx:Math.cos(t)*n,vy:Math.sin(t)*n,life:5+2.5*Math.random(),a:.75,r0:10,r1:96*(.7+.6*Math.random()),grow:1.6,keep:.55,fall:10,rise:30,riseT:3.6,curl:85,splay:55,wall:m,home:m*Math.random()**.85*.92,peel:.1+1.0999999999999999*Math.random(),side:0,hitAt:-1,peeled:!1,kind:1,hold:3,fadeP:2.4})}}(r,n,l,s,i,o)}},look:{len:2.8,pose(e,t){let a=t?-1:1,r=w(e,.45,1.35),n=w(e,1.45,2.45);return{...b,yaw:a*(-.42*r+.42*n),gx:a*(-.08*r+.08*n),x:a*(-.03*r+.03*n),rot:a*(-.03*r+.03*n)}}},wink:{len:2,pose(e,t){let a=w(e,.8,1.35),r=.08*w(e,.7,1.55);return t?{...b,lidL:1-a,rot:-r}:{...b,lidR:1-a,rot:r}}},sleepy:{len:3.2,hold:!0,pose(e){let t=w(e,1.5,1.95),a=.8*(0,d.smoothstep)(.1,1.5,e)*(1-.8*t)+.2*(0,d.smoothstep)(1.95,3.1,e),r=1-.7*a;return{...b,y:.07*a,rot:.1*a,gy:.05*a,lidL:r,lidR:r}}},spin:{len:3,pose(e,t){let a=t?-1:1,r=-.25*w(e,0,.45)+x*(0,d.smoothstep)(.3,1.75,e),n=e>1.7?Math.exp(-(e-1.7)/.55)*(0,d.smoothstep)(1.7,1.85,e):0,l=1.5*x*(e-1.7),i=1-.3*n;return{...b,spin:a*r,axis:.62*a,x:.035*n*Math.sin(l),y:.022*n*Math.cos(l),rot:.07*n*Math.sin(l+.6),gx:.06*n*Math.sin(1.3*l),gy:.04*n*Math.cos(1.3*l),lidL:i,lidR:i}}}},k=Object.keys(A),O=k.filter(e=>A[e].wake),S=k.filter(e=>!A[e].wake),_=(e,t,a,r)=>e+(t-e)*(1-Math.exp(-r/a)),E=e=>Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.rot)+Math.abs(e.yaw)+Math.abs(e.pitch)+Math.abs(e.spin)+Math.abs(e.sx-1)+Math.abs(e.sy-1)<1e-4;function L(e,t){e.parts.length>=2200||e.parts.push({...t,age:0,seed:60*Math.random()})}let N={rise:0,riseT:1,splay:0,wall:0,home:0,peel:0,side:0,hitAt:-1,peeled:!1},R={x:0,y:0},I={v:0,kind:0,hold:0,covers:!1},T=(e,t,a)=>e+(t-e)*a,z=(e,t,a)=>{let r,n=(r=(a-e)/(t-e))<0?0:r>1?1:r;return n*n*(3-2*n)};function j(e,t=!1,a=0){let r,n=t=>f(e,7*t+3,1),l=.5>n(3)?-1:1,i=(.26+.18*n(2))*l,o=[0,0],s=e=>[l*e*(.15+.07*n(9)),(n(10)-.5)*.07],h=e=>({ms:.62+.2*n(11),tilt:0,gaze:o,blink:[e,e+.22]});switch(t?[0,2,3,4][4*n(1)|0]:5*n(1)|0){case 0:r=[{ms:1.3+.9*n(4),tilt:0,gaze:o,snap:.01},{ms:1.4+.9*n(5),tilt:0,gaze:o},h(.12),{ms:1.2+.9*n(6),tilt:0,gaze:s(1),snap:.1},{ms:1.3+.9*n(7),tilt:0,gaze:o,snap:.12},{ms:.95,tilt:0,gaze:o,blink:[.1,.3],blink2:.5>n(8)?[.44,.64]:null},{ms:1.6+1.2*n(12),tilt:0,gaze:o}];break;case 1:r=[{ms:.9+.5*n(4),tilt:0,gaze:o,snap:.01},{ms:.8+.5*n(5),tilt:0,gaze:o},h(.1),{ms:.7+.6*n(6),tilt:0,gaze:o}];break;case 2:r=[{ms:1.2+.8*n(4),tilt:0,gaze:o,snap:.01},{ms:1.6+1.2*n(13),tilt:i,gaze:o,snap:.9},{ms:.8,tilt:i,gaze:o,blink:[.14,.36]},{ms:1.8+1.1*n(5),tilt:0,gaze:o,snap:.75},{ms:1.5+1.3*n(6),tilt:0,gaze:o}];break;case 3:r=[{ms:.9+.5*n(4),tilt:0,gaze:o,snap:.01},{ms:1.1+.7*n(5),tilt:0,gaze:s(1.1),snap:.09},{ms:1.4+.8*n(6),tilt:0,gaze:o,snap:.12},{ms:1,tilt:0,gaze:o,blink:[.08,.28],blink2:[.42,.62]},{ms:1.4+1.2*n(7),tilt:0,gaze:o}];break;default:r=[{ms:1.2+.7*n(4),tilt:0,gaze:o,snap:.01},{ms:1.2+.7*n(5),tilt:0,gaze:o},{ms:1+.6*n(6),tilt:0,gaze:s(1),snap:.09},{ms:.9+.5*n(7),tilt:0,gaze:s(-.85),snap:.09},{ms:1.2+.8*n(8),tilt:0,gaze:o,snap:.12},h(.12),{ms:1.3+ +n(12),tilt:0,gaze:o}]}let u=0;for(let e of r)u+=e.ms;for(let e=20;u<a;e+=2){let t=2.6+1.8*n(e);r.push({ms:t,tilt:0,gaze:o,blink:.7>n(e+1)?[.4,.62]:void 0}),u+=t}return{beats:r,total:u}}let P={gaze:[0,0],tilt:0,lid:1},F=(e,t,a)=>e+(t-e)*a,V=(e,t,a,r)=>r<.5?e+(t-e)*r*2:t+(a-t)*(r-.5)*2;function C(e,t,a){return .58+.07*Math.sin(.35*a)+(g(.011*e+.04*a,.011*t-.03*a,.22*a,2)-.5)*.6}function $(){let e={face:0,hush:0,dim:0,ink:0,reach:0,few:0,narrow:0,hard:0,haze:0,sigh:{live:!1,t0:0,dir:Math.PI/2,seed:0,now:0,front:0},ways:{jumble:new Float32Array(257),reach:new Float32Array(257),gush:new Float32Array(257),gust:new Float32Array(257),lobe:new Float32Array(257)}};return D(e),e}function D(e){let t=F(.52,1,e.face);e.ink=F(1.52,2.5,e.face),e.reach=F(2.2,4,e.face),e.haze=F(.27,.57,e.face),e.few=V(4.2,1.9,1,t),e.narrow=V(.3,.17,.04,t),e.hard=V(2.6,2,1.25,t)}function K(e,t){return(0,d.smoothstep)(0,.05,e)*Math.max(.18,Math.exp(-Math.max(0,e-.5)/.3))*(.6+.8*g(5*e+t,1.7,2.9,2))}function q(e,t,a,r,n,l,i=!0){let o=e.sigh;i&&l>=0&&l<.3&&!o.live&&(o.live=!0,o.t0=t-l,o.dir=Math.PI/2+(.5>Math.random()?-1:1)*(.7+(Math.random()-.5)*.3),o.seed=50*Math.random());let s=(t-o.t0)*.65;o.live&&s>2.4&&(o.live=!1),o.now=o.live?K(s,o.seed)*(1-(0,d.smoothstep)(.855,2.4,s))*1.5*(0,d.smoothstep)(0,.25,s):0,o.front=.55+1.53*(1-Math.exp(-Math.max(0,s)/.6))+.18*Math.max(0,s),e.dim=Math.max(n,e.dim*Math.exp(-a/2.2));let h=l>=0?r*(0,d.smoothstep)(.65,.65+.2,l):0,u=h>e.face?2.05/2.3:.5;e.face+=(h-e.face)*(1-Math.exp(-a/u)),D(e);let c=e.ways;for(let e=0;e<=256;e++){let a=-Math.PI+e/256*Math.PI*2,r=Math.cos(a),n=Math.sin(a);c.jumble[e]=(g(2.2*r+11,2.2*n,.35*t,2)-.5)*220,c.reach[e]=Math.max(0,g(1.1*r+5,1.1*n,.12*t,2)-.22),c.gush[e]=(0,d.smoothstep)(.5,.78,g(1.6*r+3,1.6*n,.5*t,2)),c.gust[e]=.4+1.2*g(1.2*r+7,1.2*n,.4*t,2),o.live&&(c.lobe[e]=1.53*(.5+ +g(1.4*r+o.seed,1.4*n,.3*s,2)))}}function B(e,t){let a=(t+Math.PI)/(2*Math.PI)*256,r=Math.min(255,Math.max(0,Math.floor(a)));return e[r]+(e[r+1]-e[r])*(a-r)}function W(e,t,a,r,n,l,i){let o=e.px??e.dx,s=e.py??e.dy,h=e.sx??e.dx,u=e.sy??e.dy,c=.018*i.g*Math.min(1,e.dist/r)**2*r,f=Math.hypot(o-i.x*c,s-i.y*c),m=1-(0,d.smoothstep)(.55*r,r,f),p=m>0?(C(e.dx,e.dy,t)+a)*m:0;l.dim>.002&&(p*=1-.16*l.dim);let M=1-l.hush,x=Math.hypot(h-i.x*c,u-i.y*c);if(l.haze>0&&M>0&&x<1.32*r){let e=l.haze*M*(1-.39*l.dim)*(1-(0,d.smoothstep)(.9*r,1.32*r,x))*n;if(1.55*e>p){let a=e*(.45+1.1*y(.012*h+11,.012*u,.15*t,2));a>p&&(p=a)}}let w=.55+Math.max(0,.92*l.ink-.55)*(0,d.smoothstep)(.92*r,1.14*r,x);if(M>0&&w*n*M>p){let e=function(e,t,a,r,n,l,i,o,s){let h;if(n>r*(i.reach+.2+.54))return 0;let u=.087*o.g*n,c=e-o.x*u,f=t-o.y*u,m=Math.hypot(c,f)||1,p=Math.atan2(f,c),M=i.few/(1+.006*n),x=g(c/m*M,f/m*M,.008*(n-66*a-B(i.ways.jumble,p)),3),w=function(e,t){let a=e.sigh;if(!a.live||a.now<=.01)return 0;let r=t-a.dir;return r-=Math.round(r/(2*Math.PI))*Math.PI*2,a.now*(1-(0,d.smoothstep)(1.3608,3.024,Math.abs(r)))}(i,p),b=i.sigh.front,v=w>0?w*(1-(0,d.smoothstep)(b-.35,b+.05,n/r)):0,A=w>0?w*((h=b-1)<0?0:h>1?1:h):0,k=r*(1.05+(i.reach-1.05)*Math.min(1,2.4*B(i.ways.reach,p))+.54*A),O=(0,d.smoothstep)(.55*r,k,n),S=.4+i.narrow*O;if(1.2*x<=S)return 0;let _=x*(.8+.4*y(.02*e+3,.02*t,.3*a,2)),E=(3.2*Math.max(0,_-S))**i.hard;return E<=0?0:(E*=1+.9*B(i.ways.gush,p)+1.2*v,i.dim>.002&&(E*=1-.65*i.dim),Math.min(s,E*(1-O)**1.25*(.6+.65*(o.g*B(i.ways.gust,p)))*i.ink)*l)}(h,u,t,r,x,n,l,i,w)*M;e>p&&(p=e)}if(n<.98&&p>0){let t=y(.015*e.dx-7,.015*e.dy+3,11.4,2);p*=(0,d.smoothstep)(t-.34,t+.34,1.7*n-.24)}return p}function H(e,t,a,r){let n=r.sigh;if(!n.live)return 0;let l=(t-n.t0)*.65,i=e.dist/a-.55;if(i<=0)return 0;let o=Math.atan2(e.py??e.dy,e.px??e.dx)-n.dir;if(Math.abs(o-=Math.round(o/(2*Math.PI))*Math.PI*2)>3.141592653589793)return 0;let s=B(r.ways.lobe,o);if(i>s*(1-Math.exp(-l/.6))+.18*l)return 0;let h=-.6*Math.log(1-Math.min(i/s,.97));for(let e=0;e<3;e++){let e=Math.exp(-h/.6);h-=(s*(1-e)+.18*h-i)/(s*e/.6+.18)}let u=l-h;if(h<0||u<0||u>1.9)return 0;let c=K(u,n.seed),f=1-(0,d.smoothstep)(.855,2.4,l);if(c*f<.01)return 0;o+=(g(1.8*i,2.2*u,.3*t,2)-.5)*1.1*(.3+h);let m=Math.min(Math.PI,(.95+1.45*(1-Math.exp(-h/.45)))*1.8*(.55+.9*g(2.2*i+n.seed,1.7*u,3.3,2))),p=1-(0,d.smoothstep)(.55*m,m,Math.abs(o));if(p<=0)return 0;let M=1+.4*h,x=(3*Math.max(0,g(2.2*o/M+4,3*u+.6*i/M,5.1,3)-.32))**1.4,w=1-(0,d.smoothstep)(.15,.9,i)*(1-Math.min(1,.45+x)),b=1/(1+(i/.81)**2),v=(0,d.smoothstep)(.25,.65,y(.014*e.dx+n.seed,.014*e.dy,.9*u+.2*t,2)),A=1-.65*(0,d.smoothstep)(.1,.7,i)*(1-v);return Math.min(.95,C(e.dx,e.dy,t)*c*f*p*w*b*A*3.5)}e.s(["createSmoke",0,$,"restValue",0,W,"sighValue",0,H,"stepSmoke",0,q],732061);let U=(e,t,a)=>{let r,n=(r=(a-e)/(t-e))<0?0:r>1?1:r;return n*n*(3-2*n)},J=[{ascii:["0","1","7","4","9","2","8","3","5","6"],emoji:["🤍","🖤","⚪","⚫","☁️","🦢","🐧","🐼","🎱","🕊️"]},{ascii:["/","\\","|","_","-","~","^","<",">","="],emoji:["🌑","🌒","🌓","🌔","🌕","🌖","🌗","🌘","🌙","🌚"]},{ascii:["(",")","[","]","{","}",":",";","*","+"],emoji:["❄️","🫧","💧","🌊","🧊","🐳","🐟","🪸","🌌","🔮"]},{ascii:[".",",","'","`",":",'"',";","·","*","^"],emoji:["🗿","💬","🖨️","📀","🗝️","🧷","📎","🖇️","🧮","🔭"]}];function X(e,t,a,r,n){let l=Math.floor(a/r);return Y(e,t,a,l*r+.6+f(l,11,5)*r*.45,n*(.6+3.4*f(l,17,9)**2),l)}function G(e){let t=e;for(let e=0;e<400;e++,t++){let e=1+t%J.length;if(.25>f(t,19,7)&&(2===e||3===e)&&.35>f(t,3,2))break}return t}function Y(e,t,a,r,n,l){let i=a-r;if(i<0||i>n)return 0;let o=U(0,1.7+2.6*f(l,3,2),i),s=U(n-(1.5+2.8*f(l,4,3)),n,i),h=1+(4*f(l,19,7)|0);for(let a=0;a<h;a++){let r=(f(7*l+a,23,1)-.5)*300,n=(f(7*l+a,29,2)-.5)*300,i=e-r,h=t-n,u=Math.hypot(i,h),c=470*o*(.4+1.1*g(.011*i+l,.011*h,3.3*a,3));if(u>=c||s>.85*g(.016*i-4,.016*h+6,5.1*a+1,2)+.1)continue;let d=1-u/Math.max(1,c);if(!(g(.05*e+a,.05*t,2.7*l,2)>.95*d+.34))return 1+(l+a)%J.length}return 0}e.s(["WASH_SETS",0,J,"wakingSlot",0,G,"washAt",0,X,"washOnce",0,Y],298293);let Q=1e3/240,Z=e=>`700 ${e}px ui-monospace,SFMono-Regular,Menlo,monospace`,ee=(e,t,a)=>Z(e*(.5+.5*(0,d.emojiWeight)(t,a))),et=[235,235,235];function ea(e){let t=[[],[],[],[],[]],a=0;for(let r of Array.from(e.toUpperCase())){let e=d.LETTERS[r];if(e){if(t[0].length)for(let e of t)e.push(-1);e.forEach((e,r)=>{for(let n of e)t[r].push("#"===n?a:-1)})," "!==r&&a++}}return t}let er=ea("ERROR");function en(e,t,a,r,n){return e+(t-e)*Math.min(1,n/(t>e?a:r))}function el(e,t,a,r,n,l){let i=Math.floor(t/(r*l)+e[0].length/2),o=Math.floor(a/(n*l)+e.length/2);return o<0||o>=e.length?-1:e[o][i]??-1}let ei=[...J,{ascii:["~","s","S","§","~","∫","s","≈","S","~"],emoji:["💨","☁️","🌫️","💨","☁️","🫧","💭","💨","☁️","🌫️"]},{ascii:["*",":","'",".","*",",",":","`","*",";"],emoji:null}],eo=J.length,es={gap:1,size:1.1},eh=e=>e<0?0:e>1?1:e;function eu(e,t,a,r){let n=e=>Math.max(1,Math.min(3,Math.floor(625.6/(e[0].length*t)),Math.floor(421.6/(e.length*a)))),l=ea(r),i=3>n(l)?function(e){let t=Array.from(e.trim()),a=t.flatMap((e,t)=>" "===e?[t]:[]);if(!a.length)return null;let r=t.length/2,n=a.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e),l=ea(t.slice(0,n).join("")),i=ea(t.slice(n+1).join(""));if(!l[0].length||!i[0].length)return null;let o=Math.max(-1,...l.flat())+1,s=Math.max(l[0].length,i[0].length),h=(e,t)=>{let a=Math.floor((s-e.length)/2);return[...Array(a).fill(-1),...e.map(e=>e<0?e:e+t),...Array(s-e.length-a).fill(-1)]},u=()=>Array(s).fill(-1);return[...l.map(e=>h(e,0)),u(),u(),...i.map(e=>h(e,o))]}(r):null,o=i&&n(i)>n(l)?i:l,s=n(o),h=0;for(let r of e)r.word=el(o,r.dx,r.dy,t,a,s),h=Math.max(h,r.word+1);return h}function ec({className:e,mode:t="idle",charset:a=u.ASCII_FACE.charset,fontSize:r=u.ASCII_FACE.fontSize,density:n=u.ASCII_FACE.density,size:l=680,color:i=et,getSpectrum:o,word:f=null,waking:m=!1}){let y=(0,h.useRef)(null),x=(0,h.useRef)(null),w=(0,h.useRef)([]),v=(0,h.useRef)(null),k=(0,h.useRef)(a),F=(0,h.useRef)({cur:[...i],target:i}),V=(0,h.useRef)(0),C=(0,h.useRef)(o);C.current=o;let D=(0,h.useRef)({phrase:0,bob:0,bobVel:0,amp:[,,,,].fill(0),phase:Array.from({length:4},(e,t)=>2.1*t),spin:0,rings:[]}),K=(0,h.useRef)({mode:t,start:0}),B=(0,h.useRef)(performance.now()),U=(0,h.useRef)(90*Math.random()).current,J=(0,h.useRef)({scale:.3,lift:0,gather:0,comet:0,speech:0,err:0,word:0}),ea=(0,h.useRef)(null),ed=(0,h.useRef)({cw:1,ch:1}),ef=(0,h.useRef)({script:null,from:0,until:0}),em=(0,h.useRef)(null),ep=(0,h.useRef)(m);return(0,h.useEffect)(()=>{let e=y.current;if(!e)return;let t=.95*r/n,a=1.25*r/n,i=680/l,o=t*i,s=a*i,h=Math.max(1,Math.floor(625.6/(er[0].length*o)));V.current=l,ed.current={cw:o,ch:s};let u=[],c=Math.ceil(l/t),f=Math.ceil(l/a),m=new Int32Array(c*f).fill(-1);for(let e=0;e<f;e++)for(let r=0;r<c;r++){let n=r*t,f=e*a,p=(n-l/2)*i,g=(f-l/2)*i,y=Math.hypot(p,g),M=el(er,p,g,o,s,h);M<0&&y>328||(m[e*c+r]=u.length,u.push({x:n+t/2,y:f+a/2,dx:p,dy:g,dist:y,angle:Math.atan2(g,p),cos:y>0?p/y:1,sin:y>0?g/y:0,seed:(0,d.hash)(r,e),grain:(0,d.hash)(5.7*r+19,2.3*e+53),gap:.05+.3*(0,d.hash)(7.3*r+11,3.1*e+5),emoji:(0,d.hash)(2.7*r+31,5.9*e+17)<d.EMOJI_RATIO,speck:(0,d.hash)(4.1*r+23,6.3*e+41),letter:M,word:-1}))}w.current=u,em.current={cells:u,cols:c,rows:f,cw:o,ch:s,half:340,at:m,field:328},ea.current&&eu(u,o,s,ea.current.text),v.current={ascii:Array.from({length:d.RAMP.length},()=>new Int32Array(u.length)),emoji:Array.from({length:d.RAMP.length},()=>new Int32Array(u.length)),asciiN:new Int32Array(d.RAMP.length),emojiN:new Int32Array(d.RAMP.length),glyph:Array(u.length),fast:new Float32Array(u.length),slow:new Float32Array(u.length),wasLevel:new Int8Array(u.length).fill(-9),turn:new Int32Array(u.length).fill(-9),pick:new Int32Array(u.length),pool:new Int8Array(u.length),poolFor:new Float32Array(u.length)};let p=Math.min(2,window.devicePixelRatio||1);e.width=l*p,e.height=l*p,e.style.width=`${l}px`,e.style.height=`${l}px`;let g=e.getContext("2d");return g&&(g.setTransform(p,0,0,p,0,0),g.font=Z(r),g.textAlign="center",g.textBaseline="middle",!function(e,t,a){if(0===a.length)return;let r=new Set(d.EMOJI_POOL);for(let e of ei)for(let t of e.emoji??[])r.add(t);let n=d.RAMP.length-1,l=[Z(t)];for(let e=1;e<=n;e++)l.push(ee(t,e,n));for(let t of l){e.font=t;let n=0;for(let t of r){let r=a[97*n++%a.length];e.fillText(t,r.x,r.y)}}e.font=Z(t),e.clearRect(0,0,e.canvas.width,e.canvas.height)}(g,r,u),x.current=g),()=>{g?.clearRect(0,0,l,l),w.current=[],em.current=null,v.current=null}},[r,n,l]),(0,h.useEffect)(()=>{k.current=a},[a]),(0,h.useEffect)(()=>{F.current.target=i},[i]),(0,h.useEffect)(()=>{K.current.mode!==t&&(K.current={mode:t,start:.001*performance.now()})},[t]),(0,h.useEffect)(()=>{if(!f||Date.now()-f.at>(f.hold??3.4)*1e3)return;let{cw:e,ch:t}=ed.current,a=performance.now();if(ea.current={text:f.text,start:.001*a,letters:eu(w.current,e,t,f.text),hold:f.hold??3.4},a-B.current<600){let e=J.current;e.word=1,e.scale=0}},[f]),(0,h.useEffect)(()=>{let e,t=0,a=(0,c.createVoiceFollower)(),n=$(),l=(e=new Float32Array(0),{deck:[],lastWake:null,head:{...b},smoke:{...b},want:{hush:0,crust:0},doing:{hush:0,crust:0},yawSlow:0,yawV:0,moved:!1,turned:!1,hx:e,hy:e,hz:e,px:e,py:e,pd:e,sx:e,sy:e,crust:0,crustSeed:40*Math.random(),crustWas:new Uint8Array(0),crusted:0,crustedNow:0,parts:[],live:!1,calm:1,thick:e,top:e,kind:new Int8Array(0),keep:e}),i={dx:0,dy:0,dist:0,px:0,py:0,sx:0,sy:0},o=Array(c.SPECTRUM_BANDS).fill(0),s=.001*performance.now(),h=0,f=0,m=ep.current?{slot:G(4e3*Math.random()|0)}:null;if(m){let e=j(1e6*Math.random()|0,!0);ef.current={script:e,from:.15,until:1.4+e.total+1.5}}let y=-1/0,B=e=>{var c,$;if(e-y<1e3/u.ASCII_FACE.fps-Q){t=requestAnimationFrame(B);return}y=e;let G=.001*e,et=Math.min(.05,Math.max(0,G-s));s=G;let er=x.current,el=v.current,eu=em.current;if(!er||!el||!eu){t=requestAnimationFrame(B);return}let ec=k.current,ed=V.current;el.asciiN.fill(0),el.emojiN.fill(0);let ep=C.current?.();if(!ep||ep.length<2){for(let e=0;e<o.length;e++){let t=.5*Math.sin(1.7*G+1.7*e)+.3*Math.sin(.8*G+.6*e)+.2*Math.sin(3*G+2.9*e);o[e]=.5*t+.5}ep=o}let eg=D.current,ey=Math.max(1,Math.round(60*et)),eM=a.read(ep,et);eg.phrase=eM.phrase,eM.onset>0&&(eg.bobVel+=.06*eM.onset,eg.rings.push({born:G,power:eM.onset}),eg.rings.length>5&&eg.rings.shift());for(let e=0;e<ey;e++)eg.bobVel+=-(.012*eg.bob)-.09*eg.bobVel,eg.bob+=eg.bobVel;h+=et;for(let e=0;e<4;e++){let t=Math.floor(e*eM.bands.length/4),a=Math.max(t+1,Math.floor((e+1)*eM.bands.length/4)),r=0;for(let e=t;e<a;e++)r+=eM.bands[e];r/=a-t;let n=.7+.6*(0,d.hash)((.9*G|0)+31*e,e);eg.amp[e]+=(r*n-eg.amp[e])*(1-(1-(.05+.02*e))**ey),eg.phase[e]+=et*(.9+.5*e)*(e%2?-1:1)}for(eg.spin+=et*(1.1+.9*eg.phrase);eg.rings.length>0&&G-eg.rings[0].born>.7;)eg.rings.shift();let ex=K.current,ew=ea.current,eb=ew?G-ew.start:0,ev=null!==ew&&"error"!==ex.mode&&eb<ew.hold+.08*ew.letters+.45+.35+.9,eA=function(e,t){let a={scale:1,lift:0,gather:0,comet:0,speech:0,err:0,word:0};switch(e){case"idle":return a;case"connecting":{let e=1-Math.exp(-t/1.3);return{...a,scale:.45+.55*e,lift:.06*e,gather:1}}case"speaking":return{...a,speech:1};case"working":return{...a,scale:0,comet:1};case"ending":return{...a,scale:0};case"error":return{...a,scale:0,err:1}}}(ex.mode,G-ex.start);ev&&(eA.word=1,null!==ew&&eb<ew.hold&&(eA.scale=0,eA.lift=0,eA.gather=0,eA.comet=0,eA.speech=0));let ek=J.current;ek.scale=en(ek.scale,eA.scale,.45,"ending"===ex.mode?.4:.7,et),ek.lift=en(ek.lift,eA.lift,.22,.4,et),ek.gather=en(ek.gather,eA.gather,.3,.95,et),ek.comet=en(ek.comet,eA.comet,.45,.9,et),ek.speech=en(ek.speech,eA.speech,.5,.75,et),"error"===ex.mode&&(ek.err<=.01&&(f=0),f+=et),ek.err=en(ek.err,eA.err,.5,.6,et),ek.word=en(ek.word,eA.word,.35,.5,et);let eO=ek.err>.5,eS=ek.word>.5,e_="emojiOnly"===ec?.264:.4,eE=M(h,U),eL=Math.exp(-et/.085),eN=Math.exp(-et/.8),eR=ek.scale*(1-ek.speech)*(1-ek.comet)*(1-ek.gather),eI=null,eT=0,ez=0,ej=0,eP=-1,eF=null,eV=-1,eC=ef.current,e$=eR>.4&&!eO&&!eS,eD=(0,d.smoothstep)(.4,.75,eR)*(1-(0,d.smoothstep)(0,.5,ek.word));if(!e$&&void 0===eC.cut&&eC.script&&h>eC.from&&h<eC.until&&(eC.cut=h),e$&&void 0===eC.cut&&h>eC.until){let e=0===eC.until,t=function(e){let[t,a]=function(e){let t=e.deck;if(!t.length){for(let e of O)for(let a of S)t.push([e,a]);for(let a=0;a<200;a++){for(let e=t.length-1;e>0;e--){let a=Math.random()*(e+1)|0;[t[e],t[a]]=[t[a],t[e]]}let a=t[t.length-1][0]!==e.lastWake;for(let e=1;a&&e<t.length;e++)a=t[e][0]!==t[e-1][0];if(a)break}}let a=t.pop()??[O[0],S[0]];return e.lastWake=a[0],a}(e),r=11*(.75+.5*Math.random()),n=Math.max(Math.max(A[t].len,1.5)+.8,r-A[a].len),l=(e,t)=>({key:e,at:t,m:.5>Math.random(),thrown:0,owed:0});return{items:[l(t,0),l(a,n)],open:n+A[a].len+.8*!A[a].hold}}(l);eC.plan=t,eC.script=j(1e3*h|0,!1,t.open),eC.from=h+(e?.15:17*(.55+.9*Math.random())),eC.until=eC.from+1.25+Math.max(eC.script.total,t.open)+1.5}if(e$||void 0!==eC.cut){let e=h-eC.from,t=eC.until-eC.from;if(eC.script&&e>0){let a=(0,d.smoothstep)(.4,.75,eR),r=t-1.5-.3,n=void 0===eC.cut?eh((e-r)/1.35):Math.max(eh((e-r)/1.35),eh((h-eC.cut)/.4));eT=(0,d.smoothstep)(.75,1.05,e);let l=function(e,t){let a=0,r=[0,0],n=0;for(let l of e.beats){let e=t-a;if(e<l.ms){let t=z(0,l.snap??.12,e),a=1;for(let t of[l.blink,l.blink2])!t||e<=t[0]||e>=t[1]||(a*=Math.abs(Math.cos(Math.PI*((e-t[0])/(t[1]-t[0]))))**.7);return{gaze:[T(r[0],l.gaze[0],t),T(r[1],l.gaze[1],t)],tilt:T(n,l.tilt,t),lid:a}}a+=l.ms,r=l.gaze,n=l.tilt}return P}(eC.script,Math.max(0,e-.875)),i=l.lid*(0,d.smoothstep)(.75,1.13,e),o=(1-n)**2.2;eI={...l,gaze:[l.gaze[0],l.gaze[1]+.04*(0,d.smoothstep)(0,.65,n)],lid:i*o,fall:i*(1-o)*.3999999999999999},ez=eT*(1-n)*a,ej=(0,d.smoothstep)(.1,.9,n)*a,a>.5&&(eP=e-.75),void 0===eC.cut?(eF=eC.plan??null,eV=e-.75):n>=1&&(eC.until=h,eC.cut=void 0,eI=null,eT=0)}}let eK=170*1.08*Math.max(.02,ek.scale);eI=function(e,t,a,r,n,l,i,o,s){var h;h=t.cells.length,e.hx.length!==h&&(e.hx=new Float32Array(h),e.hy=new Float32Array(h),e.hz=new Float32Array(h),e.px=new Float32Array(h),e.py=new Float32Array(h),e.pd=new Float32Array(h),e.sx=new Float32Array(h),e.sy=new Float32Array(h),e.crustWas=new Uint8Array(h),e.thick=new Float32Array(h),e.top=new Float32Array(h),e.kind=new Int8Array(h),e.keep=new Float32Array(h),e.parts.length=0,e.live=!1),e.calm=s,e.crusted=e.crustedNow,e.crustedNow=0;let u=b,c=e.want;if(c.hush=0,c.crust=0,n&&l>-1){let s={...b},h=!1;for(let a of n.items){let n=A[a.key],i=l-a.at;if(n.fx?.(i,a.m,c,e,t,a,r,o),i<(n.wake?-.8:0)||!n.hold&&i>n.len+.6)continue;let u=n.pose(i,a.m);u!==b&&(h=!0,s.x+=u.x,s.y+=u.y,s.rot+=u.rot,s.yaw+=u.yaw,s.pitch+=u.pitch,s.spin+=u.spin,u.spin&&(s.axis=u.axis),s.gx+=u.gx,s.gy+=u.gy,s.sx*=u.sx,s.sy*=u.sy,s.lidL*=u.lidL,s.lidR*=u.lidR,s.size*=u.size)}if(i&&l>=0){let e;s.yaw+=.08*(g(.13*a+3.1,1.7,.4,2)-.5)*2*(0,d.smoothstep)(0,1.2,l)*((e=i.lid)<0?0:e>1?1:e),h=!0}h&&(u=s)}let f=e.doing;f.hush=_(f.hush,c.hush,.15,r),f.crust=_(f.crust,c.crust,.1,r),e.crust=f.crust;let m=e.head,y=m.yaw,M=u!==b?.045:s<.99?.3:.6;m.spin=u.spin+Math.atan2(Math.sin(m.spin-u.spin),Math.cos(m.spin-u.spin)),u.spin&&(m.axis=u.axis),m.x=_(m.x,u.x,M,r),m.y=_(m.y,u.y,M,r),m.rot=_(m.rot,u.rot,M,r),m.yaw=_(m.yaw,u.yaw,M,r),m.pitch=_(m.pitch,u.pitch,M,r),m.spin=_(m.spin,u.spin,M,r),m.sx=_(m.sx,u.sx,M,r),m.sy=_(m.sy,u.sy,M,r),e.yawV=(m.yaw-y)/Math.max(r,.001);let x=e.smoke;e.yawSlow=_(e.yawSlow,m.yaw,.3,r);let w=1-Math.exp(-r/.12);return(x.x+=(m.x+.25*Math.sin(e.yawSlow)-x.x)*w,x.y+=(m.y-x.y)*w,x.rot+=(m.rot-x.rot)*w,x.sx+=(m.sx-x.sx)*w,x.sy+=(m.sy-x.sy)*w,e.moved=!(E(m)&&E(x)),e.turned=Math.abs(m.yaw)+Math.abs(m.pitch)+Math.abs(m.spin)>1e-4,e.moved&&function(e,t,a){let r=t.cells,n=e.head;{let t=Math.cos(n.rot),l=Math.sin(n.rot),i=n.x*a,o=n.y*a,s=e.turned?function(e){let t=Math.cos(e.yaw),a=Math.sin(e.yaw),r=Math.cos(e.pitch),n=Math.sin(e.pitch),l=[t,a*n,a*r,0,r,-n,-a,t*n,t*r];if(!e.spin)return l;let i=Math.sin(e.axis),o=Math.cos(e.axis),s=Math.cos(e.spin),h=Math.sin(e.spin),u=1-s,c=[s+i*i*u,i*o*u,o*h,i*o*u,s+o*o*u,-i*h,-o*h,i*h,s],d=Array(9);for(let e=0;e<3;e++)for(let t=0;t<3;t++)d[3*e+t]=c[3*e]*l[t]+c[3*e+1]*l[3+t]+c[3*e+2]*l[6+t];return d}(n):null,h=a*a;for(let a=0;a<r.length;a++){let u=r[a].dx-i,c=r[a].dy-o,d=(u*t+c*l)/n.sx,f=(-u*l+c*t)/n.sy;if(e.px[a]=d,e.py[a]=f,e.pd[a]=Math.hypot(d,f),s){let t=Math.sqrt(Math.max(0,h-d*d-f*f));e.hx[a]=s[0]*d+s[3]*f+s[6]*t,e.hy[a]=s[1]*d+s[4]*f+s[7]*t,e.hz[a]=s[2]*d+s[5]*f+s[8]*t}else e.hx[a]=d,e.hy[a]=f,e.hz[a]=1}}let l=e.smoke,i=Math.cos(l.rot),o=Math.sin(l.rot),s=l.x*a,h=l.y*a;for(let t=0;t<r.length;t++){let a=r[t].dx-s,n=r[t].dy-h;e.sx[t]=(a*i+n*o)/l.sx,e.sy[t]=(-a*o+n*i)/l.sy}}(e,t,o),function(e,t,a,r){let n=e.parts;if(!n.length&&!e.live)return;e.calm<.02&&(n.length=0),e.thick.fill(0),e.top.fill(0),e.keep.fill(0);let l=0;for(let i of n){if(i.age+=r,i.age>=i.life)continue;let o=i.x,s=i.y,h=i.keep**r;i.vx*=h,i.vy*=h,i.vy+=(i.fall-i.rise*Math.min(1,i.age/i.riseT))*r,i.splay&&(i.vx+=(0===i.vx?i.seed%2<1?-1:1:Math.sign(i.vx))*i.splay*Math.min(1,i.age/.8)*r),i.wall&&function(e,t){let a=Math.hypot(e.x,e.y);if(a>.94*e.wall){let r=e.x/a,n=e.y/a,l=-n,i=e.vx*r+e.vy*n;if(!e.side){let t=e.vx*l+e.vy*r;e.side=Math.abs(t)>1?Math.sign(t):e.seed%2<1?-1:1}a>e.wall&&i>0&&(e.vx+=-i*r+e.side*i*.85*l,e.vy+=-i*n+e.side*i*.85*r);let o=120*Math.max(0,1-e.age/3.2);e.vx+=e.side*l*o*t,e.vy+=e.side*r*o*t,a>e.wall&&(e.x-=r*(a-e.wall)*.5,e.y-=n*(a-e.wall)*.5),e.hitAt<0&&(e.hitAt=e.age)}if(e.hitAt>=0&&e.age-e.hitAt>e.peel&&a>1){e.peeled||(e.peeled=!0,e.rise=Math.min(e.rise,14));let r=1.2*(a-e.home)*Math.min(1,(e.age-e.hitAt-e.peel)/.6);e.vx-=e.x/a*r*t,e.vy-=e.y/a*r*t}}(i,r);let u=0,c=0;if(i.curl){let e=i.curl*Math.min(1,i.age/.4);!function(e,t,a){let r=.011*e,n=.011*t,l=.3*a;R.x=(p(r,n+.25,l)-p(r,n-.25,l))/.5,R.y=-(p(r+.25,n,l)-p(r-.25,n,l))/.5}(i.x+7*i.seed,i.y,a),u=R.x*e,c=R.y*e}i.x+=(i.vx+u)*r,i.y+=(i.vy+c)*r;let f=i.a*(1-(i.age/i.life)**i.fadeP)*(0,d.smoothstep)(0,.06,i.age)*e.calm,m=i.r0+(i.r1-i.r0)*(1-Math.exp(-i.age/i.grow)),g=Math.min(4,Math.max(1,Math.ceil(Math.hypot(i.x-o,i.y-s)/7)));for(let a=1;a<=g;a++)!function(e,t,a,r,n,l,i,o){let s=Math.min(70,n+9),h=(a+t.half)/t.cw,u=(r+t.half)/t.ch,c=s/t.cw,d=s/t.ch,f=Math.max(0,Math.floor(h-c)),m=Math.min(t.cols-1,Math.ceil(h+c)),p=Math.max(0,Math.floor(u-d)),g=Math.min(t.rows-1,Math.ceil(u+d)),y=1/(s*s),M=t.cells;for(let n=p;n<=g;n++)for(let s=f;s<=m;s++){let h=t.at[n*t.cols+s];if(h<0)continue;let u=M[h].dx-a,c=M[h].dy-r,d=1-(u*u+c*c)*y;if(d<=0)continue;let f=l*d*d;e.thick[h]+=f-e.thick[h]*f,f>e.top[h]&&(e.top[h]=f,e.kind[h]=i),o>e.keep[h]&&(e.keep[h]=o)}}(e,t,o+(i.x-o)*a/g,s+(i.y-s)*a/g,m,f/Math.sqrt(g),i.kind,i.hold);n[l++]=i}n.length=l,e.live=l>0}(e,t,a,r),i&&u!==b)?{...i,gaze:[i.gaze[0]+u.gx,i.gaze[1]+u.gy],lids:[u.lidL,u.lidR],size:u.size}:i}(l,eu,G,et,eF,eV,eI,eK,eD),n.hush=l.doing.hush,q(n,G,et,ez,ej,eP,null===eF||null!==(c=eF)&&!0===A[c.items[0].key].sighs);let eq=l.moved,eB=l.live||l.crust>.004||l.crusted>0,eW=w.current;for(let e=0;e<eW.length;e++){let t=eW[e];eq?(i.dx=l.hx[e],i.dy=l.hy[e],i.px=l.px[e],i.py=l.py[e],i.dist=l.pd[e],i.sx=l.sx[e],i.sy=l.sy[e]):(i.dx=i.px=i.sx=t.dx,i.dy=i.py=i.sy=t.dy,i.dist=t.dist);let a=function(e,t,a,r,n,l,i,o,s,h){let u,c,f,m,p=i.scale>.02?W(t,a,i.lift,170*1.08*i.scale,i.scale,s,h)*(1-.6*i.speech):0;return i.gather>.01&&(p+=function(e,t,a){let r=170*a;if(e.speck>=.55||e.dist<.8*r)return 0;let n=Math.min(55,Math.floor((e.angle+Math.PI)/(2*Math.PI)*56)),l=(.7*t+(0,d.hash)(n,5.3))%1,i=e.dist-(r+(320-r)*(1-l)**1.25)-(e.grain-.5)*16;return Math.exp(-(i*i)/260)*(0,d.smoothstep)(0,.2,l)*(1-l)*1.1}(e,a,i.scale)*i.gather),i.comet>.01&&(p+=(c=Math.exp(-((u=e.dist-210)*u)/1100),c*Math.exp(-((m=Math.atan2(Math.sin(f=e.angle-3*a),Math.cos(f)))*m)/(m<0?2.8:.16))*i.comet)),i.speech>.01&&(p+=function(e,t,a,r){var n;let l=170+40*a.phrase+85*a.bob;for(let t=0;t<4;t++)l+=28*a.amp[t]*Math.sin((t+2)*(e.angle+a.spin)+a.phase[t]);let i=170+(((n=l)<=205?Math.max(110,n):205+30*Math.tanh((n-205)/30))-170)*r,o=(e.grain-.5)*20+20*Math.sin(5*e.angle+.9*t+6.283*e.seed)*.3,s=e.dist-(i+o),h=Math.exp(-(s*s)/800)+.5*Math.exp(-(e.dist*e.dist)/6e3);if(e.dist<i&&(h+=.22*(1-e.dist/i)**.6*(.75+.25*Math.sin(.05*e.dist-1.2*t))),e.speck<.22){let r=90*(.6+.9*e.grain);for(let n=0;n<a.rings.length;n++){let l=a.rings[n],o=t-l.born,s=e.dist-(i+6+o*r);h+=Math.exp(-(s*s)/500)*l.power*Math.max(0,1-o/.7)}}return h}(e,a,o,i.speech)*i.speech),i.err>.01&&(p+=function(e,t,a){if(e.letter<0)return 0;let r=a%9.2,n=.12*e.seed;return Math.max(0,(0,d.smoothstep)(0,1,(r-.65*e.letter-n)/.8)-(0,d.smoothstep)(0,1,(r-5.6-.5*e.letter-n)/.7))*(.86+.14*Math.sin(3.5*t+6*e.seed))}(e,a,r)*i.err),i.word>.01&&(p+=function(e,t,a,r){if(e.word<0)return 0;let n=.45*e.seed,l=(0,d.smoothstep)(0,1,(a-.11*e.word-n)/.3),i=a-r-.08*e.word-n,o=(0,d.smoothstep)(0,1,i/.35),s=.2*(1-(0,d.smoothstep)(0,1,(i-.35)/.9));return Math.max(l-o,l>.5?s*o:0)*((l>0&&l<1||o>0&&s>0)&&.35>(0,d.hash)(Math.floor(14*t)+97*e.seed,31*e.grain)?.25:1)*(.86+.14*Math.sin(3.5*t+6*e.seed))}(e,a,n,l)*i.word),p}(t,i,G,f,eb,ew?.hold??3.4,ek,eg,n,eE);if(n.sigh.live){let e=H(i,G,eK,n)*ek.scale;e>a&&(a=e)}let r=!(eO&&t.letter>=0||eS&&t.word>=0),o=0,s=0,u=!1;if(eB&&r){let t=function(e,t,a,r,n,l,i){let o=t.cells[a];if(I.v=r,I.kind=0,I.hold=0,I.covers=!1,e.crust>.004||e.crusted>0){let t=e.moved?e.hx[a]:o.dx,r=e.moved?e.hy[a]:o.dy,n=e.moved?e.pd[a]:o.dist,s=1-(0,d.smoothstep)(.92*l,1.1*l,n),h=!1;if(s>.05){let a=.12+.76*g(.022*t+e.crustSeed,.022*r,2.7,2);(h=e.crust>a)&&(I.v=.42*(.5+.9*g(.09*t,.09*r,5.5,2))*s*i,I.kind=2,I.hold=.15,e.crustedNow++)}e.crustWas[a]&&!h&&.06>Math.random()&&function(e,t,a){let r=Math.sqrt(Math.max(0,a*a-t.dist*t.dist)),n=Math.max(-260,Math.min(260,e.yawV*r*.55)),l=90+80*Math.random();L(e,{...N,x:t.dx,y:t.dy,vx:n+t.cos*l,vy:t.sin*l-30,life:1+.7*Math.random(),a:.45+.25*Math.random(),r0:3,r1:18+12*Math.random(),grow:.6,keep:.3,fall:45,curl:35,kind:2,hold:0,fadeP:1.5}),.35>Math.random()&&L(e,{...N,x:t.dx,y:t.dy,vx:n+t.cos*(120+80*Math.random()),vy:t.sin*l-50,life:.6+.4*Math.random(),a:.9,r0:1.5,r1:2.5,grow:1,keep:.4,fall:300,curl:0,kind:2,hold:0,fadeP:1})}(e,o,l),e.crustWas[a]=+!!h}if(e.live){let t=e.thick[a];if(t>.02){let r=e.kind[a],l=t*i*(.6+.8*p(.04*o.dx+.3*n,.04*o.dy-.2*n,.5*n)),s=.1+.3*o.grain;l>s?(I.v=2===r?.5*(1-Math.exp(-1.5*l)):.3+.62*Math.min(1,l),I.kind=r,I.hold=.12,l>.45&&2===r&&(I.covers=!0)):e.keep[a]>0&&l>.5*s&&(I.kind=r,I.hold=e.keep[a]*(.5+o.grain))}}return I}(l,eu,e,a,G,eK,ek.scale);a=t.v,o=t.kind,s=t.hold,u=t.covers}r&&(a*=(.66+.72*t.grain)*(.8+.4*(0,d.hash)(Math.floor(.05*t.dx+.5*G),Math.floor(.05*t.dy-.3*G))))>.3&&(0,d.hash)(31.7*Math.floor(1.6*G),613*t.seed)>.992&&(a=Math.max(a,.9));let c=!r||o?0:h<42?m?Y(t.dx,t.dy,h,1,2.9,m.slot):0:X(t.dx,t.dy,h,42,3.2);if(o?(el.pool[e]=eo+o,el.poolFor[e]=s):c?(el.pool[e]=c,el.poolFor[e]=.3+.9*t.grain):el.poolFor[e]>0?(el.poolFor[e]-=et,el.poolFor[e]<=0&&(el.pool[e]=0)):el.pool[e]=0,eT>.03&&null!==eI&&r&&!u&&($=e,!l.turned||l.pd[$]<.985*eK&&l.hz[$]>0)&&function(e,t,a,r,n,l){if(r<=.03||n.lid<=.02)return!1;let i=a/112,o=i*l.size*(n.size??1);for(let s of[-1,1]){let h=n.lid*(n.lids?n.lids[s<0?0:1]:1);if(h<=.02)continue;let u=e-(44*s*i*l.gap+n.gaze[0]*a),c=t-(-20*i+n.gaze[1]*a+(n.fall??0)*51*o/2),d=Math.cos(n.tilt),f=Math.sin(n.tilt),m=u*d-c*f,p=51*o*h,y=(-(u*f+c*d)+p/2)/p;if(!(y<=0||y>=1||Math.abs(m- - -(2*(1-y)*y*1)*o)>38*o/2*Math.sin(Math.PI*y)**.35)&&!(r<.99&&r<.88*g(.026*u+3,.026*c,7.7,2)+.06))return!0}return!1}(eq?l.hx[e]:t.dx,eq?l.hy[e]:t.dy,eK,eT,eI,es)){el.fast[e]=0,el.slow[e]=0,el.pool[e]=0;continue}let y=el.fast[e]=a>el.fast[e]*eL?a:el.fast[e]*eL,M=el.slow[e]=a>el.slow[e]*eN?a:el.slow[e]*eN;a=y>.52*M?y:.52*M,r&&a<t.gap+.05*Math.sin(.28*G+6.283*t.seed)&&(a=0);let x=(a=a<0?0:a>1?1:a)*(d.RAMP.length-1)|0;if(0===x)continue;let w=h*e_+7*t.seed|0;(w!==el.turn[e]||x-el.wasLevel[e]>=2||el.wasLevel[e]-x>=2)&&(el.turn[e]=w,el.wasLevel[e]=x,el.pick[e]=(997*t.seed|0)+w+x);let b=el.pick[e],v="emojiOnly"===ec||"emoji"===ec&&t.emoji&&x>=d.EMOJI_MIN_LEVEL,A=el.pool[e]?ei[el.pool[e]-1]:null;if(v){let t=A?.emoji??d.EMOJI_POOL;el.glyph[e]=t[(b%t.length+t.length)%t.length],el.emoji[x][el.emojiN[x]++]=e}else{let t=A?A.ascii:d.RAMP[x];el.glyph[e]=t[(b%t.length+t.length)%t.length],el.ascii[x][el.asciiN[x]++]=e}}er.clearRect(0,0,ed,ed);let eH=w.current,eU=d.RAMP.length-1,eJ=F.current;for(let e=0;e<3;e++)eJ.cur[e]+=(eJ.target[e]-eJ.cur[e])*(1-.95**ey);er.fillStyle=`rgb(${0|eJ.cur[0]},${0|eJ.cur[1]},${0|eJ.cur[2]})`;for(let e=1;e<=eU;e++){let t=el.asciiN[e];if(0===t)continue;er.globalAlpha=d.ALPHA_TOP*(e/eU);let a=el.ascii[e];for(let e=0;e<t;e++){let t=eH[a[e]];er.fillText(el.glyph[a[e]],t.x,t.y)}}let eX="emojiOnly"===ec;for(let e=1;e<=eU;e++){let t=el.emojiN[e];if(0===t)continue;er.globalAlpha=(0,d.emojiAlpha)(e,eU,eX),eX&&(er.font=ee(r,e,eU));let a=el.emoji[e];for(let e=0;e<t;e++){let t=eH[a[e]];er.fillText(el.glyph[a[e]],t.x,t.y)}}eX&&(er.font=Z(r)),er.globalAlpha=1,t=requestAnimationFrame(B)};return t=requestAnimationFrame(B),()=>cancelAnimationFrame(t)},[]),(0,s.jsx)("canvas",{ref:y,className:e,"aria-hidden":!0,style:{display:"block",pointerEvents:"none"}})}e.s(["AsciiOrb",0,ec,"CHURN_ASCII",0,.4,"CHURN_EMOJI",0,.264,"DESIGN",0,680,"GLYPH_FONT",0,Z,"REST_R",0,170*1.08,"TRAIL_FAST",0,.085],387758);var ed=e.i(922521),ef=e.i(647163);let em={ending:"ending",idle:"idle",connecting:"connecting",listening:"idle",speaking:"speaking",working:"working",delegating:"working"},ep=[247,247,247],eg=[10,10,10];function ey({status:e,failed:t,word:a,size:r,getSpectrum:n,waking:l,className:i}){let o=(0,ed.useIsDark)();return(0,s.jsx)(ec,{mode:t?"error":em[e],word:a,size:r,color:o?ep:eg,getSpectrum:n,waking:l,className:i})}let eM=(0,h.memo)(function({status:e="idle",className:t,...a}){let r=(0,h.useRef)(null),[n,l]=(0,h.useState)(null),[i,o]=(0,h.useState)(!1);return(0,h.useEffect)(()=>{let e=r.current;if(!e)return;let t=new ResizeObserver(([e])=>{let t=Math.round(e.contentRect.width);t>0&&l(t)});return t.observe(e),()=>t.disconnect()},[]),(0,h.useEffect)(()=>{let e=requestAnimationFrame(()=>o(!0));return()=>cancelAnimationFrame(e)},[]),(0,s.jsx)("div",{ref:r,className:(0,ef.cn)("aspect-square transition-opacity duration-700 ease-out",i&&null!==n?"opacity-100":"opacity-0",t),children:null!==n&&(0,s.jsx)(ey,{...a,status:e,size:n})})});e.s(["Face",0,eM],333495)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,457343,e=>{"use strict";var t=e.i(843476),s=e.i(867927),n=e.i(632781),a=e.i(648119),i=e.i(929272),r=e.i(759659),o=e.i(263676),l=e.i(271645),d=e.i(798120),c=e.i(167881),u=e.i(630374),x=e.i(463415),h=e.i(917162),m=e.i(660302),p=e.i(671428),f=e.i(41533),g=e.i(43374),j=e.i(95187);let b=(0,j.createServerReference)("7f48fe61fe223edd441e06c5a298c96193881538b1",j.callServer,void 0,j.findSourceMapURL,"clearFinishedThreadsAction"),k=(0,j.createServerReference)("7f6111468a06cf7a0bfaa23bd80358c4ce156af908",j.callServer,void 0,j.findSourceMapURL,"deleteThreadAction");var N=e.i(451888),w=e.i(635963),v=e.i(835878),y=e.i(222055),S=e.i(351866),T=e.i(978411),M=e.i(431594),D=e.i(895836),C=e.i(245629),R=e.i(609856),z=e.i(661504),A=e.i(283653),I=e.i(647163),$=e.i(399512);let O="w-36";function F({thread:e,bots:a,open:i,onOpen:r,onStop:o,onDelete:d}){let c="running"===e.status,u=(0,l.useMemo)(()=>(0,T.threadFromRow)(e,a),[e,a]),x=function(e){let t=e.room.questions[0];if(t)return{text:(0,I.plainText)(t.text),tone:I.WAITING_INK};if("waiting"===e.status&&e.ask)return{text:(0,N.isAppStop)(e.ask)?(0,I.plainText)(e.outcome??e.ask.question):e.ask.question,tone:I.WAITING_INK};let s=e.seen;if("cancelled"===e.status)return{text:"Stopped",tone:"text-muted-foreground"};if("done"===e.status)return{text:(0,I.plainText)(e.outcome??"Done"),tone:s?"text-muted-foreground":"text-foreground/80"};for(let t=e.lines.length-1;t>=0;t--){let s=e.lines[t];if("tool"===s.kind)return{text:s.note??s.input,tone:"text-muted-foreground",tool:s.name,shine:!0};if("text"===s.kind)return{text:s.text,tone:"text-muted-foreground",shine:!0};if("user"===s.kind)break}return{text:`${e.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(e),h=e.tokens.input+e.tokens.output;return(0,t.jsxs)("div",{className:(0,I.cn)("group/row relative transition-colors",i?"bg-muted/80":"hover:bg-muted/50"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,t.jsxs)("button",{type:"button",onClick:r,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,t.jsx)(w.BotMark,{size:40,seed:e.bot,...(0,w.markOf)(e.bot,a),state:c?"thinking":"idle",notify:(0,N.needsThreadReply)(e)||(0,N.isUnread)(e),crossed:"cancelled"===e.status,className:"shrink-0"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.label}),e.routineId&&(0,t.jsx)("span",{title:"Started by a routine",className:"shrink-0",children:(0,t.jsx)(M.RoutineMark,{className:"size-3 text-muted-foreground/80"})}),(0,t.jsx)(v.BotRoster,{bots:u.roster}),c&&(0,t.jsx)(n.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),x&&(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[x.tool&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:x.tool}),x.shine?(0,t.jsx)(m.ShinyText,{text:x.text,speed:2.2,className:"min-w-0 truncate"}):(0,t.jsx)("span",{className:(0,I.cn)("min-w-0 truncate",x.tone),children:x.text})]})]}),(0,t.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",O),children:[(0,t.jsx)("span",{children:(0,C.whenOf)(e.updatedAt)}),(0,t.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:h>0?`${e.id} \xb7 in ${(0,I.formatCount)(e.tokens.input)} \xb7 out ${(0,I.formatCount)(e.tokens.output)}`:e.id,children:[e.bot,h>0&&` \xb7 ${(0,I.formatCount)(h)}`]})]}),(0,t.jsx)(s.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]}),(0,t.jsx)(K,{thread:e,onStop:o,onDelete:d})]}),c&&(0,t.jsx)(B,{thread:e})]})}function K({thread:e,onStop:s,onDelete:n,className:o}){let l="running"===e.status||"waiting"===e.status;return(0,t.jsxs)(x.DropdownMenu,{children:[(0,t.jsx)(x.DropdownMenuTrigger,{render:(0,t.jsx)(c.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:o}),children:(0,t.jsx)(a.MoreHorizontal,{})}),(0,t.jsxs)(x.DropdownMenuContent,{align:"end",children:[l&&(0,t.jsxs)(x.DropdownMenuItem,{onClick:s,children:[(0,t.jsx)(i.Square,{}),"Stop"]}),(0,t.jsxs)(x.DropdownMenuItem,{variant:"destructive",onClick:n,children:[(0,t.jsx)(r.Trash2,{}),"Delete"]})]})]})}function q({thread:e,whole:s,bots:n,onClose:a,onStop:i,onDelete:r}){let[d,x]=(0,l.useState)(null),h=(0,l.useCallback)(e=>{x(e?.closest("[data-slot=dialog-content]")??null)},[]),[m,f]=(0,l.useState)({}),g=(0,l.useMemo)(()=>e?(0,T.threadFromRow)(e,n):null,[e,n]),j=(0,l.useMemo)(()=>s?(0,T.threadFromRow)(s,n):g?.lines.length?g:null,[s,g,n]),b=e?m[e.id]??null:null;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{ref:h,hidden:!0}),(0,t.jsx)(u.Dialog,{open:!!(e&&d),onOpenChange:e=>!e&&a(),modal:!1,disablePointerDismissal:!0,children:(0,t.jsx)(u.DialogPortal,{container:d,children:(0,t.jsx)(u.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:e&&g&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-2.5 pt-3.5 pr-3 pb-1.5 pl-5",children:[(0,t.jsx)(w.BotMark,{size:28,seed:e.bot,...(0,w.markOf)(e.bot,n),state:"running"===e.status?"thinking":"idle",notify:(0,N.needsThreadReply)(e),crossed:"cancelled"===e.status,className:"shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)(u.DialogTitle,{className:"sr-only",children:e.label}),(0,t.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:e.label}),(0,t.jsxs)("div",{className:"mt-0.5 flex min-w-0 items-center gap-2 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsxs)("span",{title:e.id,className:"min-w-0 truncate",children:[e.bot," · ",(0,C.whenOf)(e.updatedAt)]}),(0,t.jsx)(S.ThreadFacts,{thread:g})]})]}),(0,t.jsx)(K,{thread:e,onStop:()=>i(e),onDelete:()=>r(e),className:"text-muted-foreground"}),(0,t.jsx)(u.DialogClose,{render:(0,t.jsx)(c.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the thread"}),children:(0,t.jsx)(o.X,{})})]}),j?(0,t.jsx)(S.Conversation,{thread:j,tab:b,onTab:t=>f(s=>({...s,[e.id]:t})),className:"max-h-none min-h-0 flex-1 px-5",tabsClassName:"px-5"}):(0,t.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-2 px-5 py-4",children:[(0,t.jsx)(p.Skeleton,{className:"h-3 w-4/5"}),(0,t.jsx)(p.Skeleton,{className:"h-3 w-3/5"}),(0,t.jsx)(p.Skeleton,{className:"h-3 w-2/3"})]}),(0,t.jsx)("div",{className:"shrink-0 px-5 pt-2 pb-4",children:(0,t.jsx)($.ThreadReply,{thread:{id:e.id,label:e.label,bot:e.bot,ask:e.ask,room:e.room},status:e.status,faces:g.roster,to:b??e.bot})})]})})})})]})}function B({thread:e}){let s=[];if(e.lines.forEach((t,n)=>{if("tool"!==t.kind)return;let a=e.lines[n+1];s.push({step:t,took:a?(0,C.toDate)(a.at).getTime()-(0,C.toDate)(t.at).getTime():null})}),0===s.length)return null;let a=(0,C.toDate)(e.updatedAt).getTime()-(0,C.toDate)(e.createdAt).getTime();return(0,t.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,t.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,t.jsx)("span",{children:e.bot}),(0,t.jsx)("span",{className:"opacity-50",children:"·"}),(0,t.jsxs)("span",{children:[s.length," ",1===s.length?"step":"steps"]}),(0,t.jsx)("span",{className:"opacity-50",children:"·"}),(0,t.jsx)("span",{children:P(a)})]}),s.slice(-6).map(({step:e,took:s})=>{let a=(0,y.toolIcon)(e.name);return(0,t.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===s?(0,t.jsx)(n.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,t.jsx)(a,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:e.name}),null===s?(0,t.jsx)(m.ShinyText,{text:e.note??e.input,speed:2.2,className:"min-w-0 flex-1 truncate"}):(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:e.note??e.input}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===s?"":P(s)})]},e.id)})]})}function P(e){let t=Math.max(0,e)/1e3;if(t<10)return`${t.toFixed(1)}s`;if(t<60)return`${Math.round(t)}s`;let s=Math.floor(t/60);return`${s}m ${Math.round(t-60*s)}s`}function L(){return(0,t.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,t.jsx)(p.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,t.jsx)(p.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,t.jsx)(p.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,t.jsxs)("span",{className:(0,I.cn)("flex shrink-0 flex-col items-end gap-1.5",O),children:[(0,t.jsx)(p.Skeleton,{className:"h-2.5 w-12"}),(0,t.jsx)(p.Skeleton,{className:"h-2.5 w-24"})]}),(0,t.jsx)("span",{className:"size-4 shrink-0"}),(0,t.jsx)("span",{className:"size-7 shrink-0"})]})}e.s(["ThreadSetting",0,function(){let[e,s]=(0,l.useState)(null),[n,a]=(0,l.useState)(""),{data:i}=(0,A.useServerRoute)(d.queryKey.bot),{items:r,isLoading:o,isLoadingMore:u,error:x,hasMore:m,sentinelRef:p}=(0,z.useServerPages)({key:(e,t)=>{if(0===e)return d.queryKey.threadHistory(null);let s=t?.at(-1);return s?d.queryKey.threadHistory((0,C.toDate)(s.updatedAt).toISOString()):null},size:f.PAGE_SIZE}),j=r.find(t=>t.id===e),{data:w}=(0,A.useServerRoute)(e?d.queryKey.thread(e):null),v=w?.id===e?w:void 0;(0,T.useSeenOnDetail)(j);let[y]=(0,R.useServerAction)(g.cancelThreadAction,{onOk:e=>{(0,A.revalidate)(d.queryKey.threads),T.screenActs.announce({kind:"stopped",id:e.id,label:e.label})}}),[S]=(0,R.useServerAction)(k,{onOk:()=>(0,A.revalidate)(d.queryKey.threads)}),[M]=(0,R.useServerAction)(b,{onOk:()=>(0,A.revalidate)(d.queryKey.threads)}),I=n.trim().toLowerCase(),$=I?r.filter(e=>[e.label,e.outcome,e.bot].join(" ").toLowerCase().includes(I)):r,O=async()=>{await h.notify.confirm({title:"Clear finished jobs?",description:"Everything done or stopped goes, messages included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&M()},K=async t=>{if(!await h.notify.confirm({title:`Delete "${t.label}"?`,description:"Its messages go with it — nothing can be picked back up.",okText:"Delete",destructive:!0}))return;let n=$.findIndex(e=>e.id===t.id),a=$[n+1]??$[n-1];try{await S(t.id)}catch{return}t.id===e&&s(a?.id??null)};if(o)return(0,t.jsx)(D.SettingSkeleton,{rows:3});if(x)return(0,t.jsx)(D.SettingError,{message:x.message});let B=r.filter(e=>"waiting"===e.status).length,P=r.filter(N.isUnread).length;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(D.SettingScreen,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(D.SettingRailNote,{children:[r.length," shown",B>0&&` \xb7 ${B} waiting on you`,P>0&&` \xb7 ${P} new result${1===P?"":"s"}`]}),(m||r.some(e=>"done"===e.status||"cancelled"===e.status))&&(0,t.jsx)(c.Button,{variant:"outline",size:"sm",onClick:O,children:"Clear finished"})]}),children:(0,t.jsx)(D.SettingGroup,{filter:(0,t.jsx)(D.SettingFilter,{value:n,onChange:a,placeholder:"Filter by label, bot or word"}),right:I?`${$.length} of ${r.length}`:void 0,children:(0,t.jsxs)(D.SettingItems,{children:[0===$.length?(0,t.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:I?"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."}):$.map(e=>(0,t.jsx)(F,{thread:e,bots:i,open:e.id===j?.id,onOpen:()=>s(e.id),onStop:()=>y(e.id),onDelete:()=>K(e)},e.id)),(0,t.jsx)(D.SettingMore,{hasMore:m,loading:u,sentinelRef:p,ghost:(0,t.jsx)(L,{}),className:"divide-y divide-border/60"})]})})}),(0,t.jsx)(q,{thread:j,whole:v,bots:i,onClose:()=>s(null),onStop:e=>y(e.id),onDelete:K})]})}],457343)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},759659,e=>{"use strict";var t=e.i(456420);let s={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};s.node;let n=(0,t.default)(s);e.s(["Trash2",0,n],759659)}]);
|