thursday-agent 0.9.0 → 0.10.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/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/keep-working/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- 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.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.nft.json +1 -1
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/probe/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
- 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 +56 -56
- 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/ssr/{[root-of-the-server]__0oo-wlv._.js → [root-of-the-server]__0cxqzfc._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0tzekbl._.js +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__0zuns7e._.js → [root-of-the-server]__1-d2tgh._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1se25x0._.js +1 -1
- package/.next/server/chunks/ssr/{_0scf7xy._.js → _05rxyf9._.js} +2 -2
- package/.next/server/chunks/ssr/_070nv1_._.js +1 -1
- package/.next/server/chunks/ssr/_097-ljd._.js +1 -1
- package/.next/server/chunks/ssr/{_1uy0xom._.js → _0bp-_fi._.js} +3 -3
- package/.next/server/chunks/ssr/_0fqhhwi._.js +1 -1
- package/.next/server/chunks/ssr/{_0ltz2q5._.js → _0hlxij-._.js} +2 -2
- package/.next/server/chunks/ssr/{_1a-nuxx._.js → _0p9pmxe._.js} +2 -2
- package/.next/server/chunks/ssr/{_0ital-2._.js → _0s41irp._.js} +2 -2
- package/.next/server/chunks/ssr/{_1z74dmq._.js → _0tg0vf8._.js} +4 -4
- package/.next/server/chunks/ssr/{_1tmu8z-._.js → _173siic._.js} +2 -2
- package/.next/server/chunks/ssr/{_1x-kojb._.js → _17v-33v._.js} +3 -3
- package/.next/server/chunks/ssr/{_0l_mcfz._.js → _19n08g5._.js} +2 -2
- package/.next/server/chunks/ssr/{_0urj3mc._.js → _1doidrw._.js} +2 -2
- package/.next/server/chunks/ssr/{_1-zyvdb._.js → _1flsjeo._.js} +2 -2
- package/.next/server/chunks/ssr/_1mqn9mc._.js +1 -1
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/_1ng831c._.js +3 -0
- package/.next/server/chunks/ssr/{_0kjj5ts._.js → _1u2jw0i._.js} +3 -3
- package/.next/server/chunks/ssr/_1xoch6f._.js +1 -1
- package/.next/server/chunks/ssr/{_1flbs77._.js → _1yk6yak._.js} +2 -2
- package/.next/server/chunks/ssr/features_bot_1yr-_pm._.js +3 -0
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ogczzz._.js → node_modules_048wmmj._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1af3w91._.js → node_modules_04t200t._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1wbkzl9._.js → node_modules_0511ha-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0wnlddw._.js → node_modules_08g12f-._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0uyh_vb._.js → node_modules_0cdu6jq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_03d0rfz._.js → node_modules_0eb4rx7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_05ybmta._.js → node_modules_0f2k5l0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0sgy-dc._.js → node_modules_0piws2a._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_12et8d5._.js → node_modules_0pk6i-e._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_04_sbbc._.js → node_modules_0s1lwc9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_068ws5v._.js → node_modules_0wq4-ts._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_13kwejm._.js → node_modules_0zjqwz7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_07rs_p2._.js → node_modules_11hbkuj._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1z1lrbk._.js → node_modules_18woe20._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0yvz9e0._.js → node_modules_1_afpz7._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0t_ez6-._.js → node_modules_1_ban4u._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1uwg-gz._.js → node_modules_1cxc8kn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0th357h._.js → node_modules_1dcbvfw._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_06bb4q8._.js → node_modules_1expacw._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1s-gb-1._.js → node_modules_1ksh9gy._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ubdtk-._.js → node_modules_1m2ho33._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1bucjlk._.js → node_modules_1n0h9sf._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1lkix61._.js → node_modules_1qehmwm._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0x630an._.js → node_modules_1xzo2wn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0jljel9._.js → node_modules_1zf46lp._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0dzm4um._.js → node_modules_1zkpek5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0r443fh._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0avl8-1._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_10wnlbk._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_14oslro._.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 +57 -57
- package/.next/static/chunks/03kgfyrli_0gz.js +1 -0
- package/.next/static/chunks/{245hb85nsy6j4.js → 09120tms63y21.js} +1 -1
- package/.next/static/chunks/{2c64drdevdla3.js → 0o980477kfqez.js} +1 -1
- package/.next/static/chunks/{13ixzheqw7o-w.js → 0oz3rs47yy3p8.js} +2 -2
- package/.next/static/chunks/0w20wnnfrscq7.js +1 -0
- package/.next/static/chunks/{3bbzsitgiltnt.js → 19ojn4lomsk0r.js} +1 -1
- package/.next/static/chunks/{38301ji-85i30.js → 1mwee7xvitlp9.js} +1 -1
- package/.next/static/chunks/1p764d75_0lhv.js +18 -0
- package/.next/static/chunks/{27tvv1i-smrck.js → 1pjygp7hqib6j.js} +1 -1
- package/.next/static/chunks/{0_awn8tucznxc.js → 22shnca_6zfzs.js} +1 -1
- package/.next/static/chunks/{0ge-hx0ed83a1.js → 24dst4mgurbsh.js} +1 -1
- package/.next/static/chunks/{06nt9tatr-dug.js → 25zq8gzhbdsr7.js} +1 -1
- package/.next/static/chunks/{37j27b3e1gt7r.js → 2d4z3er53ng8r.js} +1 -1
- package/.next/static/chunks/2ky81z-jgvasc.js +1 -0
- package/.next/static/chunks/2m6jd3586ijb-.js +1 -0
- package/.next/static/chunks/{1grkt5gr8pbg1.js → 2qod5tqlpz8b7.js} +7 -7
- package/.next/static/chunks/{1yugpvvi8qrbu.js → 30skcjexa57zn.js} +2 -2
- package/.next/static/chunks/{427qsc6kahxyo.js → 35kwn237o4wdn.js} +1 -1
- package/.next/static/chunks/{0qmd8n52hp-6v.js → 3exjsi8pfdvzj.js} +1 -1
- package/.next/static/chunks/3qq4o8w2rv_e9.css +1 -0
- package/.next/static/chunks/{3h2e-xv1zxh_f.js → 3vynnr71ghvom.js} +2 -2
- package/.next/static/chunks/42890jqk049q1.js +1 -0
- package/README.md +4 -0
- package/components/ui/radio-group.tsx +2 -2
- package/features/bot/components/bot-setting.tsx +4 -4
- package/features/routine/components/routine-setting.tsx +1 -1
- package/features/thursday/components/thursday-setting.tsx +5 -5
- package/guide/bots.md +1 -1
- package/knip.json +1 -0
- package/package.json +1 -1
- package/seed-skills/analyst/README.md +19 -0
- package/seed-skills/analyst/data-report/SKILL.md +59 -0
- package/seed-skills/analyst/data-report/references/brief.md +31 -0
- package/seed-skills/analyst/data-report/references/company.md +41 -0
- package/seed-skills/analyst/data-report/references/comparison.md +42 -0
- package/seed-skills/analyst/data-report/references/decision.md +28 -0
- package/seed-skills/analyst/data-report/references/market-size.md +49 -0
- package/seed-skills/analyst/data-report/references/price-check.md +33 -0
- package/seed-skills/analyst/data-report/references/sources.md +51 -0
- package/seed-skills/analyst/data-report/references/trend.md +39 -0
- package/seed-skills/analyst/data-report/scripts/chart.mjs +679 -0
- package/seed-skills/analyst/data-report/scripts/fetch.mjs +521 -0
- package/seed-skills/insta/instagram/SKILL.md +33 -0
- package/seed-skills/insta/instagram/references/dm.md +49 -0
- package/seed-skills/insta/instagram/references/post.md +74 -0
- package/seed-skills/insta/instagram/scripts/compose.mjs +329 -0
- package/seed-skills/insta/instagram/scripts/image-size.mjs +30 -0
- package/seed-skills/insta/instagram/scripts/inbox.mjs +159 -0
- package/seed-skills/insta/instagram/scripts/lib.mjs +91 -0
- package/seed-skills/insta/instagram/scripts/media.mjs +104 -0
- package/seed-skills/insta/instagram/scripts/profile.mjs +139 -0
- package/seed-skills/insta/instagram/scripts/read.mjs +240 -0
- package/seed-skills/insta/instagram/scripts/render.mjs +126 -0
- package/seed-skills/insta/instagram/scripts/search.mjs +133 -0
- package/seed-skills/insta/instagram/scripts/selectors.mjs +56 -0
- package/seed-skills/insta/instagram/scripts/sheet.mjs +100 -0
- package/seed-skills/insta/instagram/scripts/webimage.mjs +105 -0
- package/seed-skills/insta/instagram/templates/carousel.html +62 -0
- package/seed-skills/mail/mail/SKILL.md +37 -0
- package/seed-skills/mail/mail/recipes/gmail.mjs +448 -0
- package/seed-skills/mail/mail/references/recipes.md +55 -0
- package/seed-skills/mail/mail/scripts/mail.mjs +202 -0
- package/seed-skills/marketer/README.md +6 -4
- package/seed-skills/marketer/copywriting/SKILL.md +1 -1
- package/seed-skills/marketer/emails/SKILL.md +1 -1
- package/seed-skills/marketer/launch/SKILL.md +1 -1
- package/seed-skills/marketer/product-marketing/SKILL.md +5 -5
- package/seed-skills/marketer/seo-audit/SKILL.md +1 -1
- package/seed-skills/marketer/social/SKILL.md +1 -1
- package/.next/server/chunks/ssr/_0dshsh4._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1nr94ks._.js +0 -3
- package/.next/static/chunks/0pda_vf-abwvx.js +0 -1
- package/.next/static/chunks/0rowp9rx3qbxu.js +0 -18
- package/.next/static/chunks/27lkanxvtdn09.js +0 -1
- package/.next/static/chunks/3fec-aeteddr-.js +0 -1
- package/.next/static/chunks/3go3hwp1z2_h2.css +0 -1
- package/.next/static/chunks/3h2bun3hcggg8.js +0 -1
- package/.next/static/chunks/3j1y335o95mj7.js +0 -1
- /package/.next/static/{u8kJqShUAa49vY7BxAWsw → Ar5V4kMdL4CE1trx8anrH}/_buildManifest.js +0 -0
- /package/.next/static/{u8kJqShUAa49vY7BxAWsw → Ar5V4kMdL4CE1trx8anrH}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{u8kJqShUAa49vY7BxAWsw → Ar5V4kMdL4CE1trx8anrH}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59158,e=>{"use strict";var t=e.i(843476),n=e.i(689664),r=e.i(466787),l=e.i(271645),a=e.i(798120),i=e.i(167881);e.s([],148099),e.i(148099);var s=e.i(733332),o=e.i(951437),u=e.i(146376),c=e.i(667865),d=e.i(828918),p=e.i(446265),f=e.i(502077),m=e.i(388940),x=e.i(301252),h=e.i(956789),g=e.i(229315),v=e.i(17989),b=e.i(265858),S=e.i(260891),y=e.i(385689),C=e.i(621082);function E(e,t,n,r,l,a,i,s,o,u=2){let c=(0,C.getGridNavigatedIndex)(n.current,{event:e,orientation:r,loopFocus:l,rtl:a,cols:u,disabledIndices:i,minIndex:s,maxIndex:o,prevIndex:t>o?s:t,stopEvent:!0});return(0,C.isIndexOutOfListBounds)(n.current,c)?void 0:c}var j=e.i(584446),N=e.i(675606),I=e.i(56434);let R=l.createContext(void 0),k=l.createContext(void 0),w=l.createContext(void 0),A=l.createContext(!1),O=l.createContext("");function T(){let e=l.useContext(R);if(!e)throw Error((0,s.default)(22));return e}function P(){let e=l.useContext(k);if(!e)throw Error((0,s.default)(23));return e}function M(){let e=l.useContext(w);if(!e)throw Error((0,s.default)(24));return e}function D(){return l.useContext(O)}let V=(e,t)=>Object.is(e,t);function L(e,t,n){return null==e||null==t?Object.is(e,t):n(e,t)}function F(e,t,n){return!!e&&e.some(e=>void 0!==e&&L(t,e,n))}function _(e,t,n){return e?e.findIndex(e=>void 0!==e&&L(e,t,n)):-1}function B(e,t,n,r){let l=r&&Array.isArray(t)?e.findIndex(function(e,t){if(t!==V)return n=>F(e,n,t);let n=new Set(e);return n.delete(void 0),t=>n.has(t)&&(0!==t||e.some(e=>Object.is(t,e)))}(t,n)):_(e,t,n);return -1===l?null:l}function H(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}function K(e){var t;return"object"==typeof(t=e?.[0])&&null!=t&&Array.isArray(t.items)}function z(e){return K(e)?e.flatMap(e=>e.items):e}function q(e,t){if(t&&null!=e)return t(e)??"";if(e&&"object"==typeof e){if("label"in e&&null!=e.label)return String(e.label);if("value"in e)return String(e.value)}return H(e)}function W(e,t){return t&&null!=e?t(e)??"":e&&"object"==typeof e&&"value"in e&&"label"in e?H(e.value):H(e)}let G={id:e=>e.id,labelId:e=>e.labelId,items:e=>e.items,selectedValue:e=>e.selectedValue,hasSelectionChips:e=>{let t=e.selectedValue;return Array.isArray(t)&&t.length>0},hasSelectedValue:e=>{let{selectedValue:t,selectionMode:n}=e;return null!=t&&(!("multiple"===n&&Array.isArray(t))||t.length>0)},hasNullItemLabel:(e,t)=>!!t&&function(e){if(!Array.isArray(e))return null!=e&&"null"in e;if(K(e)){for(let t of e)for(let e of t.items)if(e&&null==e.value&&null!=e.label)return!0;return!1}for(let t of e)if(t&&null==t.value&&null!=t.label)return!0;return!1}(e.items),open:e=>e.open,mounted:e=>e.mounted,forceMounted:e=>e.forceMounted,inline:e=>e.inline,activeIndex:e=>e.activeIndex,selectedIndex:e=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let n=e.isItemEqualToValue,r=e.selectedValue;return Array.isArray(r)?r.some(e=>L(t,e,n)):L(t,r,n)},transitionStatus:e=>e.transitionStatus,popupProps:e=>e.popupProps,listProps:e=>e.listProps,inputProps:e=>e.inputProps,triggerProps:e=>e.triggerProps,itemProps:e=>e.itemProps,positionerElement:e=>e.positionerElement,listElement:e=>e.listElement,popupId:e=>e.popupId,triggerElement:e=>e.triggerElement,inputElement:e=>e.inputElement,inputGroupElement:e=>e.inputGroupElement,popupSide:e=>e.popupSide,openMethod:e=>e.openMethod,inputInsidePopup:e=>e.inputInsidePopup,inputOwnsFormValue:e=>e.inputOwnsFormValue,selectionMode:e=>e.selectionMode,name:e=>e.name,form:e=>e.form,disabled:e=>e.disabled,readOnly:e=>e.readOnly,required:e=>e.required,grid:e=>e.grid,virtualized:e=>e.virtualized,itemToStringLabel:e=>e.itemToStringLabel,isItemEqualToValue:e=>e.isItemEqualToValue,modal:e=>e.modal,autoHighlight:e=>e.autoHighlight};var U=e.i(137584),$=e.i(469690),Y=e.i(381104),J=e.i(884708),Q=e.i(538489);function X(e){return null==e?void 0:`${e}-popup`}let Z=new Map,ee=function(e={}){let t={usage:"search",sensitivity:"base",ignorePunctuation:!0,...e},n=`${function e(t){return Array.isArray(t)?t.map(t=>e(t)).join(","):null==t?"":String(t)}(e.locale)}|${JSON.stringify(t)}`,r=Z.get(n);if(r)return r;let l=new Intl.Collator(e.locale,t),a={contains(e,t,n){if(!t)return!0;let r=q(e,n);for(let e=0;e<=r.length-t.length;e+=1)if(0===l.compare(r.slice(e,e+t.length),t))return!0;return!1},startsWith(e,t,n){if(!t)return!0;let r=q(e,n);return 0===l.compare(r.slice(0,t.length),t)},endsWith(e,t,n){if(!t)return!0;let r=q(e,n),a=t.length;return r.length>=a&&0===l.compare(r.slice(r.length-a),t)}};return Z.set(n,a),a};var et=e.i(223910),en=e.i(32199),er=e.i(606039),el=e.i(264111),ea=e.i(176782);let ei=Symbol("none"),es={value:ei,index:-1};var eo=e.i(872855);function eu(e){let n,r,{id:a,onOpenChangeComplete:i,defaultSelectedValue:C=null,selectedValue:T,onSelectedValueChange:P,defaultInputValue:M,inputValue:D,open:H,defaultOpen:X=!1,selectionMode:Z,onItemHighlighted:eu,name:ec,form:ed,disabled:ep=!1,readOnly:ef=!1,required:em=!1,inputRef:ex,grid:eh=!1,items:eg,filteredItems:ev,filter:eb,filterQuery:eS,openOnInputClick:ey=!0,autoHighlight:eC=!1,keepHighlight:eE=!1,highlightItemOnHover:ej=!0,loopFocus:eN=!0,itemToStringLabel:eI,itemToStringValue:eR,isItemEqualToValue:ek=V,virtualized:ew=!1,inline:eA=!1,fillInputOnItemPress:eO=!0,modal:eT=!1,limit:eP=-1,autoComplete:eM="list",formAutoComplete:eD,locale:eV,submitOnItemClick:eL=!1}=e,{clearErrors:eF}=(0,J.useFormContext)(),{setDirty:e_,validityData:eB,setFilled:eH,name:eK,disabled:ez,setTouched:eq,setFocused:eW,validationMode:eG,validation:eU}=(0,$.useFieldRootContext)(),e$=(0,eo.useDirection)(),eY=(0,Q.useLabelableId)({id:a}),eJ=ee({locale:eV}),eQ=Array.isArray(eg)?null:eg;if(eQ&&"function"!=typeof eQ.label)throw Error((0,s.default)(100));let eX=eQ?eQ.data:eg,eZ=eQ?.value,e0=eZ?void 0:eX,e1=l.useMemo(()=>{let e;if(!ev||!eZ)return;let t=z(ev),n=t.map(eZ);return{values:n,findItem(r,l){if(!e){e=new Map;for(let r=0;r<n.length;r+=1)e.has(n[r])||e.set(n[r],t[r])}var a=e;let i=a.get(r);if(void 0!==i||l===V)return i;for(let[e,t]of a)if(L(e,r,l))return t}}},[ev,eZ]),e2=l.useMemo(()=>eQ?e=>eQ.label(e,ek,e=>{let t=e1?.findItem(e,ek);return null!=t?eQ.itemLabel(t):q(e,eI)}):eI,[eQ,eI,e1,ek]),e3=l.useMemo(()=>eQ?Object.assign(e=>eQ.itemLabel(e),{selected:e=>q(e,e2)}):eI,[eQ,e2,eI]);function e5(e){return q(e,e2)}let[e6,e4]=l.useState(!1),[e8,e7]=l.useState(null),e9=l.useRef(e8),te=l.useRef([]),tt=l.useRef([]),tn=l.useRef(null),tr=l.useRef(null),tl=l.useRef(null),ta=l.useRef(null),ti=l.useRef(null),ts=l.useRef(!0),to=l.useRef(!1),tu=l.useRef(null),tc=l.useRef(null),td=l.useRef(null),tp=l.useRef(es),tf=l.useRef(null),tm=l.useRef([]),tx=l.useRef(null),th=ez||ep,tg=eK??ec,tv="multiple"===Z,tb="single"===Z,tS=void 0!==D||void 0!==M,ty=void 0!==eX,tC=void 0!==ev;n="always"===eC?"always":!!eC&&"input-change";let[tE,tj]=(0,o.useControlled)({controlled:T,default:tv?C??h.EMPTY_ARRAY:C,name:"Combobox",state:"selectedValue"}),tN=l.useMemo(()=>null===eb?()=>!0:void 0!==eb?eb:(e,t)=>null!=e&&eJ.contains(e,t,e3),[eb,eJ,e3]),tI=(0,m.useRefWithInit)(()=>tS?M??"":tb?e5(tE):"").current,[tR,tk]=(0,o.useControlled)({controlled:D,default:tI,name:"Combobox",state:"inputValue"}),[tw,tA]=(0,o.useControlled)({controlled:H,default:X,name:"Combobox",state:"open"}),tO=K(eX),tT=tw||null===e8?String(tR).trim():e8,tP=tb?e5(tE):"",tM=tb&&!e6&&""!==tT&&tP.length===tT.length&&eJ.contains(tP,tT),tD=tM?"":eS??tT,tV=ty&&tC&&tM&&(!eQ||eQ.hasValue(tE,ek)),tL=l.useMemo(()=>eX?z(eX):h.EMPTY_ARRAY,[eX]),tF=l.useMemo(()=>{if(ev&&!tV)return ev;if(!eX)return h.EMPTY_ARRAY;if(tO){let e=[],t=0;for(let n of eX){if(eP>-1&&t>=eP)break;let r=eP>-1?eP-t:1/0,l=""===tD?n.items.slice(0,r):[];if(""!==tD)for(let e of n.items){if(l.length>=r)break;tN(e,tD,e3)&&l.push(e)}if(l.length>0){let r={...n,items:l};e.push(r),t+=l.length}}return e}if(""===tD)return eP>-1?tL.slice(0,eP):tL;let e=[];for(let t of tL){if(eP>-1&&e.length>=eP)break;tN(t,tD,e3)&&e.push(t)}return e},[ev,tV,eX,tO,tD,eP,tN,e3,tL]),t_=l.useMemo(()=>{if(e1&&tF===ev)return e1.values;let e=z(tF);return eZ?e.map(e=>eZ(e)):e},[tF,ev,e1,eZ]),tB=(0,m.useRefWithInit)(()=>{let e=null;return eA&&tw&&ty&&"none"!==Z&&(e=B(t_,tE,ek,tv)),new x.ReactStore({id:eY,labelId:void 0,selectedValue:tE,open:tw,items:e0,selectionMode:Z,name:tg,form:ed,disabled:th,readOnly:ef,required:em,grid:eh,virtualized:ew,openOnInputClick:ey,itemToStringLabel:e2,isItemEqualToValue:ek,modal:eT,autoHighlight:n,submitOnItemClick:eL,hasInputValue:tS,mounted:!1,forceMounted:!1,transitionStatus:"idle",inline:eA,activeIndex:null,selectedIndex:e,popupProps:{},listProps:{},inputProps:{},triggerProps:{},itemProps:h.EMPTY_OBJECT,positionerElement:null,listElement:null,popupId:void 0,triggerElement:null,inputElement:null,inputGroupElement:null,popupSide:null,openMethod:null,inputInsidePopup:!0,inputOwnsFormValue:"none"===Z},{onOpenChangeComplete:h.NOOP,setOpen:h.NOOP,setInputValue:h.NOOP,setSelectedValue:h.NOOP,setIndices:h.NOOP,handleSelection:h.NOOP,forceMount:h.NOOP,requestSubmit:h.NOOP,listRef:te,labelsRef:tt,popupRef:tn,emptyRef:ti,inputRef:tr,startDismissRef:tl,endDismissRef:ta,keyboardActiveRef:ts,chipsContainerRef:tu,clearRef:tc,valuesRef:tm,pointerDownItemRef:tx,selectionEventRef:td},G)}).current,tH="none"===Z?tR:tE,tK=l.useMemo(()=>"none"===Z?tH:Array.isArray(tE)?tE.map(e=>W(e,eR)):W(tE,eR),[tH,eR,Z,tE]),tz=(0,c.useStableCallback)(eu),tq=(0,c.useStableCallback)(i),tW=tB.useState("activeIndex"),tG=tB.useState("selectedIndex"),tU=tB.useState("positionerElement"),t$=tB.useState("listElement"),tY=tB.useState("triggerElement"),tJ=tB.useState("inputElement"),tQ=tB.useState("inputGroupElement"),tX=tB.useState("inline"),tZ=tB.useState("inputInsidePopup"),t0=tB.useState("inputOwnsFormValue"),t1=tb&&!tZ&&tR===tP,t2=(0,p.useValueAsRef)(tY),{mounted:t3,setMounted:t5,transitionStatus:t6}=(0,et.useTransitionStatus)(tw),{openMethod:t4,triggerProps:t8}=(0,en.useOpenInteractionType)(tw),t7=(0,c.useStableCallback)(()=>tK);(0,Y.useRegisterFieldControl)(tZ?t2:tr,eY,tH,t7,!th,ec);let t9=(0,c.useStableCallback)(()=>{eX?tt.current=t_.map(e5):tB.set("forceMounted",!0)}),ne=(0,c.useStableCallback)((e,t,n)=>{if(-1===t){if(tp.current===es)return;tp.current=es}else tp.current={value:e,index:t};tz(e,(0,N.createGenericEventDetails)(n,void 0,{index:t}))}),nt=(0,c.useStableCallback)(e=>{let t={};void 0!==e.activeIndex&&(t.activeIndex=e.activeIndex),void 0!==e.selectedIndex&&(t.selectedIndex=e.selectedIndex),tB.update(t);let n=e.activeIndex;if(void 0===n)return;let r=e.type||I.REASONS.none;null===n?ne(void 0,-1,r):ne(tm.current[n],n,r)}),nn=(0,c.useStableCallback)((t,r)=>{if(e.onInputValueChange?.(t,r),!r.isCanceled){if(to.current=r.reason===I.REASONS.inputClear,r.reason===I.REASONS.inputChange){tw&&null!==e8&&e7(null);let e=r.event,l=e.inputType;if("compositionend"===e.type||null!=l&&""!==l&&"insertReplacementText"!==l){let e=""!==t.trim();e&&e4(!0),tf.current={hasQuery:e};let r=tB.state.listElement;if(!tB.state.virtualized&&r){let e=tn.current;for(let t of(0,g.getOverflowAncestors)(r.firstElementChild??r)){if(!(0,g.isHTMLElement)(t)||(e?!(0,j.contains)(e,t):"dialog"===t.getAttribute("role")))break;if(function(e,t=!1){let{overflowY:n}=(0,g.getComputedStyle)(e);return("auto"===n||"scroll"===n)&&(t?e.clientHeight>0:e.scrollHeight>e.clientHeight)}(t)){t.scrollTop=0;break}}}e&&n&&null==tB.state.activeIndex&&(tw||tX)&&tB.set("activeIndex",0)}}else r.reason===I.REASONS.inputClear&&""===t&&tB.state.inputInsidePopup&&(tf.current={hasQuery:!1,selection:!0});tk(t)}}),nr=(0,c.useStableCallback)(e=>{let t=!e&&tZ&&!tX&&""!==tR&&(String(tR).trim()===e8||tR===tP);!e&&(t||""===tR||t1)&&e4(!1),e7(null),t&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear))}),nl=(0,c.useStableCallback)((t,n)=>{if(tw!==t&&(n.reason===I.REASONS.escapeKey&&ty&&0===t_.length&&!ti.current&&n.allowPropagation(),e.onOpenChange?.(t,n),!n.isCanceled&&(t&&null!==e8&&nr(n.reason===I.REASONS.inputChange),!t&&e6&&(tb?(tX||e7(tT),""===tT&&e4(!1)):tv&&(tX||e7(tT),tZ&&nt({activeIndex:null}),(!tZ||tX)&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear,n.event,void 0,{isItemPress:n.reason===I.REASONS.itemPress})))),tA(t),!t&&tZ&&(n.reason===I.REASONS.focusOut||n.reason===I.REASONS.outsidePress))&&(eq(!0),eW(!1),"onBlur"===eG))){let e="none"===Z?tR:tE;eU.commit(e)}}),na=(0,c.useStableCallback)((e,t)=>{P?.(e,t),t.isCanceled||(tj(e),("none"===Z&&tn.current&&eO||tb&&!tB.state.inputInsidePopup)&&nn(e5(e),(0,N.createChangeEventDetails)(t.reason,t.event)))}),ni=(0,c.useStableCallback)((e,t)=>{let n=(0,j.getTarget)(e),r=td.current??e;td.current=null;let l=(0,N.createChangeEventDetails)(I.REASONS.itemPress,r),a=n?.closest("a")?.getAttribute("href");if(a){a.startsWith("#")&&nl(!1,l);return}if(tv){let e=Array.isArray(tE)?tE:[],n=F(e,t,ek);if(na(n?e.filter(e=>!L(t,e,ek)):[...e,t],l),l.isCanceled||!(tr.current&&""!==tr.current.value.trim()))return;if(tB.state.inputInsidePopup){nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear,l.event,void 0,{isItemPress:!0}));let e=tf.current;e&&!n&&(e.toggledValue=t)}else nl(!1,l)}else{if(na(t,l),l.isCanceled)return;nl(!1,l)}}),ns=(0,c.useStableCallback)(()=>{let e=eU.inputRef.current?.form??tB.state.inputElement?.form;e&&"function"==typeof e.requestSubmit&&e.requestSubmit()}),no=(0,c.useStableCallback)(()=>{if(t5(!1),tq?.(!1),e4(!1),e7(null),"none"===Z?nt({activeIndex:null,selectedIndex:null}):nt({activeIndex:null}),tv&&tr.current&&""!==tr.current.value&&!to.current&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear)),tb)if(tB.state.inputInsidePopup)tr.current&&""!==tr.current.value&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear));else{let e=e5(tE);if(tr.current&&tr.current.value!==e){let t=""===e?I.REASONS.inputClear:I.REASONS.none;nn(e,(0,N.createChangeEventDetails)(t))}}}),nu=l.useMemo(()=>tX&&tU?{current:tU.closest('[role="dialog"]')}:tn,[tX,tU]);(0,U.useOpenChangeComplete)({enabled:!e.actionsRef,open:tw,ref:nu,onComplete(){tw||no()}}),l.useImperativeHandle(e.actionsRef,()=>({unmount:no}),[no]),(0,u.useIsoLayoutEffect)(function(){let e=null!==e9.current&&null===e8;e9.current=e8,(!tw||e&&ty)&&(tw||(tx.current=null),"none"===Z||nt({selectedIndex:B(ty?t_:tm.current,tE,ek,tv)}))},[tw,e8,tE,Z,tv,ty,t_,ek,nt]),(0,u.useIsoLayoutEffect)(()=>{eX&&(tm.current=t_,te.current.length=t_.length)},[eX,t_]),(0,u.useIsoLayoutEffect)(()=>{let e=tf.current;if(e){let t=tw||tX||tB.state.positionerElement?.hidden===!1;if(e.hasQuery)n&&t&&tB.set("activeIndex",0),tf.current=null;else if(""===String(tR).trim()&&(tf.current=null,t)){let t=e.selection;"always"!==n||t||"none"!==tB.state.selectionMode||tB.set("activeIndex",0),queueMicrotask(()=>{if(!tB.state.open&&!tB.state.inline||tr.current&&""!==tr.current.value.trim())return;let r=tB.state.selectedValue,l="multiple"===tB.state.selectionMode;if(l&&Array.isArray(r)?r.length>0:"none"!==tB.state.selectionMode&&null!=r){let t=ty||tC?t_:tm.current,n=_(t,e.toggledValue,tB.state.isItemEqualToValue);tB.set("activeIndex",-1!==n?n:B(t,r,tB.state.isItemEqualToValue,l))}else t?tB.set("activeIndex",null):"always"===n&&tB.set("activeIndex",0)})}}if(!tw&&!tX)return;let t=ty||tC?t_:tm.current,r=tB.state.activeIndex;if(null==r)return"always"===n&&t.length>0?void tB.set("activeIndex",0):void ne(void 0,-1,I.REASONS.none);if(r>=t.length){ne(void 0,-1,I.REASONS.none),tB.set("activeIndex",null);return}let l=t[r],a=tp.current.value,i=a!==ei&&L(l,a,tB.state.isItemEqualToValue);tp.current.index===r&&i||ne(l,r,I.REASONS.none)},[tW,n,ne,tC,ty,t_,tX,tw,tB,tR]),(0,u.useIsoLayoutEffect)(()=>{"none"===Z?eH(""!==String(tR)):eH(tv?Array.isArray(tE)&&tE.length>0:null!=tE)},[eH,Z,tR,tE,tv]),l.useEffect(()=>{ty&&n&&0===t_.length&&nt({activeIndex:null})},[ty,n,t_.length,nt]);let nc=!1;function nd(){nc||tR===tP||(nc=!0,nn(tP,(0,N.createChangeEventDetails)(I.REASONS.none)))}function np(){!tb||tS||tZ||e6||nd()}(0,er.useValueChanged)(tT,function(){tw&&""!==tT&&tT!==String(tI)&&!t1&&e4(!0)}),(0,er.useValueChanged)(tw,function(){tw&&null!==e8&&nr(!1)}),(0,er.useValueChanged)(tE,function(){if("none"!==Z){var e;eF(tg),e_((e=eB.initialValue,Array.isArray(tE)&&Array.isArray(e)?!function(e,t,n=Object.is){let{length:r}=e;if(r!==t.length)return!1;for(let l=0;l<r;l+=1)if(!n(e[l],t[l]))return!1;return!0}(tE,e,(e,t)=>L(e,t,ek)):tE!==e)),eU.change(tE),!tb||tS||tZ||nd()}}),(0,er.useValueChanged)(tP,np),(0,er.useValueChanged)(eX,np),(0,er.useValueChanged)(tR,function(){"none"===Z&&(eF(tg),e_(tR!==eB.initialValue),eU.change(tR))});let nf=(0,b.useFloatingRootContext)({open:!!tX||tw,onOpenChange:nl,elements:{reference:tZ?tY:tJ,floating:tU}}),nm=eh?"grid":"listbox",nx=tw||tX,nh=nx?"true":"false",ng=l.useMemo(()=>{let e=tJ?.tagName==="INPUT",t=null==tJ||e,n=t||nx,r=t?{autoComplete:"off",spellCheck:"false",autoCorrect:"off",autoCapitalize:"none"}:{};return n&&(r.role="combobox",r["aria-expanded"]=nh,r["aria-haspopup"]=nm,r["aria-controls"]=nx?t$?.id:void 0,r["aria-autocomplete"]=ef?"none":eM),{reference:r,floating:{role:"presentation"}}},[tJ,nx,nh,nm,t$?.id,eM,ef]),nv=(0,y.useClick)(nf,{enabled:!th&&ey,event:"mousedown-only",toggle:!1,touchOpenDelay:100*!tZ,reason:I.REASONS.inputPress}),nb=(0,v.useDismiss)(nf,{enabled:!th&&!tX,outsidePressEvent:{mouse:"sloppy",touch:"intentional"},bubbles:!!tX||void 0,outsidePress(e){let t=(0,j.getTarget)(e);return!(0,j.contains)(tY,t)&&!(0,j.contains)(tc.current,t)&&!(0,j.contains)(tu.current,t)&&!(0,j.contains)(tQ,t)}}),nS=(0,S.useListNavigation)(nf,{enabled:!th,id:eY,listRef:te,activeIndex:tW,selectedIndex:tG,virtual:!0,loopFocus:eN,allowEscape:eN&&!n,focusItemOnOpen:!e6&&("none"!==Z||!!n)&&"auto",focusItemOnHover:ej,resetOnPointerLeave:!eE,orientation:eh?"horizontal":void 0,rtl:"rtl"===e$,disabledIndices:h.EMPTY_ARRAY,grid:eh?E:void 0,onNavigate(e,t){(t||tw)&&"ending"!==t6&&(t?nt({activeIndex:e,type:ts.current?I.REASONS.keyboard:I.REASONS.pointer}):nt({activeIndex:e}))}}),ny=l.useMemo(()=>(0,ea.mergeProps)(nS.reference,{onKeyDown(e){eh&&null==tB.state.activeIndex&&("ArrowLeft"===e.key||"ArrowRight"===e.key)&&e.preventBaseUIHandler()}},nb.reference,nv.reference,ng.reference),[nS.reference,nb.reference,nv.reference,ng.reference,eh,tB]),nC=l.useMemo(()=>(0,ea.mergeProps)(el.FOCUSABLE_POPUP_PROPS,nb.floating),[nb.floating]),nE=l.useMemo(()=>(0,ea.mergeProps)(nS.floating,ng.floating),[nS.floating,ng.floating]),nj=l.useMemo(()=>{let e=nS.item;return e?{...e,onFocus:void 0}:h.EMPTY_OBJECT},[nS.item]);tB.useContextCallback("setOpen",nl),tB.useContextCallback("setInputValue",nn),tB.useContextCallback("setSelectedValue",na),tB.useContextCallback("setIndices",nt),tB.useContextCallback("handleSelection",ni),tB.useContextCallback("forceMount",t9),tB.useContextCallback("requestSubmit",ns),tB.useContextCallback("onOpenChangeComplete",i),(r=l.useRef(!0)).current&&(r.current=!1,(()=>{tB.update({inline:eA,popupProps:nC,listProps:nE,inputProps:ny,triggerProps:t8,itemProps:nj})})());let nN={id:eY,selectedValue:tE,open:tw,mounted:t3,transitionStatus:t6,items:e0,inline:eA,popupProps:nC,listProps:nE,inputProps:ny,triggerProps:t8,itemProps:nj,openMethod:t4,selectionMode:Z,name:tg,form:ed,disabled:th,readOnly:ef,required:em,grid:eh,virtualized:ew,openOnInputClick:ey,itemToStringLabel:e2,modal:eT,autoHighlight:n,isItemEqualToValue:ek,submitOnItemClick:eL,hasInputValue:tS};(0,u.useIsoLayoutEffect)(()=>{tB.update({...nN,inputOwnsFormValue:"none"===Z&&(eA||!tB.state.inputInsidePopup)})},[tB,...Object.values(nN)]);let nI=(0,d.useMergedRefs)(ex,eU.inputRef),nR=l.useMemo(()=>({query:tT,hasItems:ty,filteredItems:tF,flatFilteredValues:t_}),[tT,ty,tF,t_]),nk=l.useMemo(()=>Array.isArray(tH)?"":W(tH,eR),[tH,eR]),nw=tv&&Array.isArray(tE)&&tE.length>0,nA=tv||"none"===Z&&t0?void 0:tg,nO=l.useMemo(()=>tv&&Array.isArray(tE)&&tg?tE.map(e=>{let n=W(e,eR);return(0,t.jsx)("input",{type:"hidden",form:ed,name:tg,value:n,disabled:th},n)}):null,[tv,tE,ed,tg,eR,th]),nT=(0,t.jsxs)(l.Fragment,{children:[e.children,(0,t.jsx)("input",{...eU.getValidationProps(th,{onFocus(){tZ?tY?.focus():(tr.current||tY)?.focus()},onChange(e){if(e.nativeEvent.defaultPrevented||th||ef)return;let t=e.currentTarget.value,n=t.toLowerCase(),r=(0,N.createChangeEventDetails)(I.REASONS.none,e.nativeEvent),l=()=>tm.current.findIndex(e=>W(e,eR).toLowerCase()===n||e5(e).toLowerCase()===n);tb&&(t9(),eX&&-1===l()&&tB.set("forceMounted",!0)),queueMicrotask(function(){if(tv)return;if("none"===Z)return void nn(t,r);let e=l();-1===e&&(e=tm.current.findIndex((e,t)=>{let r=tt.current[t];return null!=r&&r.toLowerCase()===n}));let a=-1===e?void 0:tm.current[e];null!=a&&na?.(a,r)})}}),id:eY&&null==nA?`${eY}-hidden-input`:void 0,form:ed,name:nA,autoComplete:eD,disabled:th,required:em&&!nw,readOnly:ef,value:nk,ref:nI,style:nA?f.visuallyHiddenInput:f.visuallyHidden,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),nO]});return(0,t.jsx)(R.Provider,{value:tB,children:(0,t.jsx)(k.Provider,{value:nf,children:(0,t.jsx)(A.Provider,{value:ty,children:(0,t.jsx)(w.Provider,{value:nR,children:(0,t.jsx)(O.Provider,{value:tR,children:nT})})})})})}var ec=e.i(439957),ed=e.i(108868),ep=e.i(552245),ef=e.i(540886),em=e.i(879938),ex=e.i(875812),eh=e.i(145147);eh.CommonTriggerDataAttributes.popupOpen,eh.CommonTriggerDataAttributes.pressed;let eg={...em.pressableTriggerOpenStateMapping,...ex.fieldValidityMapping,popupSide:e=>e?{"data-popup-side":e}:null,listEmpty:e=>e?{"data-list-empty":""}:null};var ev=e.i(247778),eb=e.i(157940),eS=e.i(264042),ey=e.i(736760);function eC(e){let t=e.useState("mounted"),n=e.useState("popupSide"),r=e.useState("positionerElement");return t&&r?n:null}function eE(){return 0===M().filteredItems.length}function ej(e,t,n){let r=e.context.listRef.current[t];r&&(e.context.selectionEventRef.current=n,r.click(),e.context.selectionEventRef.current=null)}let eN=l.forwardRef(function(e,t){let n,{render:r,className:a,nativeButton:i=!0,disabled:s=!1,id:o,style:u,...d}=e,{state:p,disabled:f,setTouched:m,setFocused:x,validationMode:h,validation:g}=(0,$.useFieldRootContext)(),{labelId:v}=(0,ev.useLabelableContext)(),b=T(),S=b.useState("selectionMode"),C=b.useState("disabled"),E=b.useState("readOnly"),R=b.useState("required"),k=b.useState("positionerElement"),w=b.useState("listElement"),A=b.useState("popupId"),O=b.useState("triggerProps"),M=b.useState("inputInsidePopup"),V=b.useState("id"),L=b.useState("labelId"),F=b.useState("open"),_=b.useState("selectedValue"),B=b.useState("activeIndex"),H=b.useState("selectedIndex"),K=b.useState("hasSelectedValue"),z=P(),q=D(),W=(0,ec.useTimeout)(),G=f||C||s,U=eE(),Y=eC(b);(0,Q.useLabelableId)({id:M?o:void 0});let J=M?o??V:o;F&&M?n=A??X(V):F&&(n=w?.id);let Z=l.useRef("");function ee(e){Z.current=e.pointerType}let{reference:et}=(0,ey.useTypeahead)(z,{enabled:!F&&!E&&!C&&"single"===S,listRef:b.context.labelsRef,activeIndex:B,selectedIndex:H,onMatch(e){let t=b.context.valuesRef.current[e];void 0!==t&&b.context.setSelectedValue(t,(0,N.createChangeEventDetails)(I.REASONS.none))}}),{reference:en}=(0,y.useClick)(z,{enabled:!C,event:"mousedown"}),{buttonRef:er,getButtonProps:el}=(0,ef.useButton)({native:i,disabled:G}),ea={...p,readOnly:E,open:F,disabled:G,popupSide:Y,listEmpty:U,placeholder:"none"!==S&&!K},ei=(0,c.useStableCallback)(e=>{b.set("triggerElement",e)});return(0,ep.useRenderElement)("button",e,{ref:[t,er,ei],state:ea,props:[O,en,et,{id:J,tabIndex:M?0:-1,role:M?"combobox":void 0,"aria-expanded":F,"aria-haspopup":M?"dialog":"listbox","aria-controls":n,"aria-required":M&&R||void 0,"aria-readonly":M&&E||void 0,"aria-labelledby":v??L,onPointerDown:ee,onPointerEnter:ee,onFocus(){x(!0),G||W.start(0,b.context.forceMount)},onBlur(e){(0,j.contains)(k,e.relatedTarget)||(m(!0),x(!1),"onBlur"===h&&g.commit("none"===S?q:_))},onMouseDown(e){if(G||(M||z.set("domReferenceElement",e.currentTarget),b.context.forceMount(),"touch"!==Z.current&&(b.context.inputRef.current?.focus(),M||e.preventDefault()),F))return;let t=(0,ed.ownerDocument)(e.currentTarget);M&&t.addEventListener("mouseup",function(e){let t=b.state.triggerElement;if(!t)return;let n=(0,j.getTarget)(e),r=b.state.positionerElement,l=b.state.listElement;(0,j.contains)(t,n)||(0,j.contains)(r,n)||(0,j.contains)(l,n)||(0,eS.isMouseWithinBounds)(e,t)||b.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.cancelOpen,e))},{once:!0})},onKeyDown(e){("ArrowDown"===e.key||"ArrowUp"===e.key)&&((0,eb.stopEvent)(e),b.context.setOpen(!0,(0,N.createChangeEventDetails)(I.REASONS.listNavigation,e.nativeEvent)),b.context.inputRef.current?.focus())}},g.getValidationProps(G,d),el],stateAttributesMapping:eg})});var eI=e.i(328744),eR=e.i(788015);let ek=l.createContext(void 0),ew=l.createContext(void 0);function eA(e){let t=l.useContext(ew);if(void 0===t&&!e)throw Error((0,s.default)(21));return t}let eO=l.forwardRef(function(e,n){let r=T(),{buttonRef:l,getButtonProps:a}=(0,ef.useButton)({native:!1}),i=(0,d.useMergedRefs)(n,l),s=a({onClick:function(e){r.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.closePress,e.nativeEvent,e.currentTarget))}});return(0,t.jsx)("span",{ref:i,...s,"aria-label":"Dismiss",tabIndex:void 0,style:f.visuallyHiddenInput})}),eT=l.forwardRef(function(e,n){let{render:r,className:a,disabled:i=!1,id:s,style:o,...u}=e,{state:d,disabled:p,setTouched:f,setFocused:m,validationMode:x,validation:h}=(0,$.useFieldRootContext)(),{labelId:g}=(0,ev.useLabelableContext)(),v=l.useContext(ek),b=!!eA(!0),S=T(),y=D(),C=(0,eo.useDirection)(),E=S.useState("required"),j=S.useState("disabled"),R=S.useState("readOnly"),k=S.useState("name"),w=S.useState("form"),A=S.useState("selectionMode"),O=S.useState("autoHighlight"),P=S.useState("inputProps"),M=S.useState("triggerProps"),V=S.useState("open"),L=S.useState("mounted"),F=S.useState("selectedValue"),_=S.useState("id"),B=S.useState("inline"),H=S.useState("modal"),K=!!O,z=eC(S),q=p||j||i,W=eE(),G=b||B,U=(0,eR.useBaseUiId)(s??(G?void 0:_)),Y=b?ex.DEFAULT_FIELD_STATE_ATTRIBUTES:d,[J,Q]=l.useState(null),X=l.useRef(!1),Z=l.useRef(null),ee=l.useRef(!1),et="none"===A&&!b,en=(0,c.useStableCallback)(e=>{let t=b||S.state.inline;t&&!S.state.hasInputValue&&S.context.setInputValue("",(0,N.createChangeEventDetails)(I.REASONS.none)),S.update({inputElement:e,inputInsidePopup:t,inputOwnsFormValue:et})}),er=b?u:h.getValidationProps(q,u);function el(){S.context.setIndices({activeIndex:null,selectedIndex:null,type:S.context.keyboardActiveRef.current?I.REASONS.keyboard:I.REASONS.pointer})}function ea(){S.context.keyboardActiveRef.current=!1}let ei={...Y,open:V,disabled:q,readOnly:R,popupSide:z,listEmpty:W},es=(0,ep.useRenderElement)("input",e,{state:ei,ref:[n,S.context.inputRef,en],props:[P,M,{value:J??y,"aria-readonly":R||void 0,"aria-required":E||void 0,"aria-labelledby":g,disabled:q,readOnly:R,required:"none"===A?E:void 0,form:w,...et&&k&&{name:k},id:U,onFocus(){if(m(!0),!B||!ee.current)return;ee.current=!1;let e=Z.current;null!=e&&Object.hasOwn(S.context.valuesRef.current,e)&&S.context.setIndices({activeIndex:e})},onBlur(){f(!0),m(!1);let e=S.state.activeIndex;if(B&&null!==e&&"always"!==O&&(Z.current=e,ee.current=!0,S.context.setIndices({activeIndex:null})),"onBlur"===x){let e="none"===A?y:F;h.commit(e)}},onCompositionStart(e){eI.platform.os.android||(X.current=!0,Q(e.currentTarget.value))},onCompositionEnd(e){X.current=!1;let t=e.currentTarget.value;Q(null),S.context.setInputValue(t,(0,N.createChangeEventDetails)(I.REASONS.inputChange,e.nativeEvent))},onChange(e){let t=e.nativeEvent,n=t.inputType,r=X.current||!(!n||"insertReplacementText"===n);function l(e){!R&&!q&&e&&r&&(S.context.setOpen(!0,(0,N.createChangeEventDetails)(I.REASONS.inputChange,t)),K||el())}if(X.current){let n=e.currentTarget.value;Q(n),""!==n||S.state.openOnInputClick||S.state.inputInsidePopup||S.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.inputClear,t));let r=n.trim(),a=K&&""!==r;l(r),V&&null!==S.state.activeIndex&&!a&&el();return}let a=(0,N.createChangeEventDetails)(I.REASONS.inputChange,t);if(S.context.setInputValue(e.currentTarget.value,a),a.isCanceled)return;let i=""===e.currentTarget.value,s=(0,N.createChangeEventDetails)(I.REASONS.inputClear,t);i&&!S.state.inputInsidePopup&&("single"===A&&S.context.setSelectedValue(null,s),S.state.openOnInputClick||S.context.setOpen(!1,s)),l(e.currentTarget.value.trim()),V&&null!==S.state.activeIndex&&!K&&el()},onKeyDown(e){if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)return;if(S.context.keyboardActiveRef.current=!0,q||R){R&&"Enter"===e.key&&V&&null!==S.state.activeIndex&&(0,eb.stopEvent)(e);return}let t=e.currentTarget,n=t.scrollWidth-t.clientWidth,r="rtl"===C;if("Home"===e.key){(0,eb.stopEvent)(e);let n=eI.platform.engine.gecko&&r?t.value.length:0;t.setSelectionRange(n,n),t.scrollLeft=0;return}if("End"===e.key){(0,eb.stopEvent)(e);let l=eI.platform.engine.gecko&&r?0:t.value.length;t.setSelectionRange(l,l),t.scrollLeft=r?-n:n;return}if(!L&&"Escape"===e.key){let t="multiple"===A&&Array.isArray(F)?0===F.length:null===F,n=(0,N.createChangeEventDetails)(I.REASONS.escapeKey,e.nativeEvent);S.context.setInputValue("",n),S.context.setSelectedValue("multiple"===A?[]:null,n),t||S.state.inline||n.isPropagationAllowed||e.stopPropagation();return}if(v&&"Backspace"===e.key&&""===t.value&&void 0===v.highlightedChipIndex&&Array.isArray(F)&&F.length>0){let t=v.chipsRef.current.length,n=t>0?t-1:F.length-1,r=F.filter((e,t)=>t!==n);el(),S.context.setSelectedValue(r,(0,N.createChangeEventDetails)(I.REASONS.none,e.nativeEvent));return}let l=v?.highlightedChipIndex!==void 0,a=function(e){let t;if(!v)return;let{highlightedChipIndex:n}=v,r=v.chipsRef.current.length,[l,a]="rtl"===C?["ArrowRight","ArrowLeft"]:["ArrowLeft","ArrowRight"];if(void 0!==n){if(e.key===l)e.preventDefault(),t=n>0?n-1:void 0;else if(e.key===a)e.preventDefault(),t=n<r-1?n+1:void 0;else if("Backspace"===e.key||"Delete"===e.key){var i;let r;e.preventDefault(),t=(r=n>=(i=F.length)-1?i-2:n)>=0?r:void 0,el()}return t}return e.key===l&&(e.currentTarget.selectionStart??0)===0&&F.length>0&&(e.preventDefault(),t=r>0?r-1:void 0),t}(e);if(v?.setHighlightedChipIndex(a),void 0!==a?v?.chipsRef.current[a]?.focus():l&&S.context.inputRef.current?.focus(),229!==e.which&&"Enter"===e.key&&V){let t=S.state.activeIndex,n=e.nativeEvent;if(null===t){if(B)return;S.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.none,n));return}(0,eb.stopEvent)(e),ej(S,t,n)}},onPointerMove:ea,onPointerDown:ea},er],stateAttributesMapping:eg}),eu=b?(0,t.jsx)($.FieldRootContext.Provider,{value:$.DEFAULT_FIELD_ROOT_CONTEXT,children:es}):es;return(0,t.jsxs)(l.Fragment,{children:[V&&(!G||H)&&(0,t.jsx)(eO,{ref:S.context.startDismissRef}),eu]})});var eP=e.i(596296);let eM=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e,{state:i}=(0,$.useFieldRootContext)(),s=T(),o=s.useState("open"),u=s.useState("disabled"),d=s.useState("readOnly"),p=s.useState("hasSelectedValue"),f=s.useState("selectionMode"),m=eC(s),x=eE(),h={...i,open:o,disabled:u,readOnly:d,popupSide:m,listEmpty:x,placeholder:"none"!==f&&!p},v=(0,c.useStableCallback)(e=>{s.set("inputGroupElement",e)});return(0,ep.useRenderElement)("div",e,{ref:[t,v],props:[{role:"group",onMouseDown(e){!function(e,t,n,r){if(e.baseUIHandlerPrevented)return;let l=(0,j.getTarget)(e.nativeEvent),a=(0,g.isElement)(l)?l:null;a!==e.currentTarget&&(r?.(a)||(0,eP.isInteractiveElement)(a))||(e.preventDefault(),!n&&(t.context.inputRef.current?.focus(),t.state.openOnInputClick&&t.context.setOpen(!0,(0,N.createChangeEventDetails)(I.REASONS.inputPress,e.nativeEvent))))}(e,s,u,e=>(0,j.contains)(s.context.chipsContainerRef.current,e))}},a],state:h,stateAttributesMapping:eg})}),eD=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e;return(0,ep.useRenderElement)("span",e,{ref:t,props:[{"aria-hidden":!0,children:"▼"},a]})});var eV=e.i(474354);let eL={...eV.transitionStatusMapping,...em.triggerOpenStateMapping},eF=l.forwardRef(function(e,t){let{render:n,className:r,disabled:l=!1,nativeButton:a=!0,keepMounted:i=!1,style:s,...o}=e,{disabled:u}=(0,$.useFieldRootContext)(),c=T(),d=c.useState("selectionMode"),p=c.useState("disabled"),f=c.useState("readOnly"),m=c.useState("open"),x=c.useState("selectedValue"),h=c.useState("hasSelectionChips"),g=D(),v=!1;v="none"===d?""!==g:"single"===d?null!=x:h;let b=u||p||l,{buttonRef:S,getButtonProps:y}=(0,ef.useButton)({native:a,disabled:b}),{mounted:C,transitionStatus:E,setMounted:j}=(0,et.useTransitionStatus)(v),R={disabled:b,visible:v,open:m,transitionStatus:E};(0,U.useOpenChangeComplete)({open:v,ref:c.context.clearRef,onComplete(){v||j(!1)}});let k=(0,ep.useRenderElement)("button",e,{state:R,ref:[t,S,c.context.clearRef],props:[{tabIndex:-1,children:"x",onMouseDown(e){e.preventDefault()},onClick(e){if(b||f)return;let t=c.context.keyboardActiveRef.current?I.REASONS.keyboard:I.REASONS.pointer;c.context.setInputValue("",(0,N.createChangeEventDetails)(I.REASONS.clearPress,e.nativeEvent)),"none"!==d?(c.context.setSelectedValue(Array.isArray(x)?[]:null,(0,N.createChangeEventDetails)(I.REASONS.clearPress,e.nativeEvent)),c.context.setIndices({activeIndex:null,selectedIndex:null,type:t})):c.context.setIndices({activeIndex:null,type:t}),c.context.inputRef.current?.focus()}},o,y],stateAttributesMapping:eL});return i||C?k:null}),e_=l.createContext(null);function eB(e){let{children:n,items:r}=e,a=l.useMemo(()=>({items:r}),[r]);return(0,t.jsx)(e_.Provider,{value:a,children:n})}function eH(e){let{children:n}=e,{filteredItems:r}=M(),a=l.useContext(e_),i=a?a.items:r;return(0,t.jsx)(l.Fragment,{children:i.map(n)})}var eK=e.i(53687);let ez=l.forwardRef(function(e,n){var r;let{render:a,className:i,style:s,children:o,...u}=e,d=T(),p=P(),f=!!eA(!0),{filteredItems:m,hasItems:x}=M(),h=d.useState("selectionMode"),g=d.useState("grid"),v=d.useState("readOnly"),b=d.useState("listProps"),S=d.useState("virtualized"),y=d.useState("forceMounted"),C=0===m.length,E=(0,c.useStableCallback)(e=>{d.set("positionerElement",e)}),j=(0,c.useStableCallback)(e=>{d.set("listElement",e)}),N=l.useMemo(()=>"function"==typeof o?r||(r=(0,t.jsx)(eH,{children:o})):o,[o]),I=p.useState("floatingId"),R=(0,ep.useRenderElement)("div",e,{state:{empty:C},ref:[n,j,f?null:E],props:[b,{children:N,tabIndex:-1,id:I,role:g?"grid":"listbox","aria-multiselectable":"multiple"===h?"true":void 0,"aria-readonly":!g&&!!v||void 0,onKeyDown(e){if(!d.state.disabled&&!d.state.readOnly&&"Enter"===e.key){let t=d.state.activeIndex;null!=t&&((0,eb.stopEvent)(e),ej(d,t,e.nativeEvent))}},onKeyDownCapture(){d.context.keyboardActiveRef.current=!0},onPointerMoveCapture(){d.context.keyboardActiveRef.current=!1}},u]});if(S)return R;let k=x&&!y?void 0:d.context.labelsRef;return(0,t.jsx)(eK.CompositeList,{elementsRef:d.context.listRef,labelsRef:k,children:R})});function eq(){let e=(0,ec.useTimeout)(),t=l.useRef(null);return l.useEffect(()=>{if(eI.platform.os.ios)return;let n=t.current;if(null==n)return;let r=function(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=null;for(;t.nextNode();){let e=t.currentNode;""!==e.nodeValue&&(n=e)}return n}(n);if(null==r)return;let l=r.data,a=`${l}\u2060`;return r.nodeValue=a,e.start(200,()=>{r.nodeValue===a&&(r.nodeValue=l)}),()=>{e.clear(),r.nodeValue===a&&(r.nodeValue=l)}},[t,e]),t}let eW=l.forwardRef(function(e,t){let{render:n,className:r,style:l,children:a,...i}=e,s=eq();return(0,ep.useRenderElement)("div",e,{ref:[t,s],props:[{children:a,role:"status","aria-live":"polite","aria-atomic":!0},i]})});var eG=e.i(726674);let eU=l.createContext(void 0),e$=l.forwardRef(function(e,n){let{keepMounted:r=!1,...l}=e,a=T(),i=a.useState("mounted"),s=a.useState("forceMounted");return i||r||s?(0,t.jsx)(eU.Provider,{value:r,children:(0,t.jsx)(eG.FloatingPortal,{ref:n,...l})}):null}),eY={...em.popupStateMapping,...eV.transitionStatusMapping},eJ=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e,i=T(),s=i.useState("open"),o=i.useState("mounted"),u=i.useState("transitionStatus");return(0,ep.useRenderElement)("div",e,{state:{open:s,transitionStatus:u},ref:t,stateAttributesMapping:eY,props:[{role:"presentation",hidden:!o,style:{userSelect:"none",WebkitUserSelect:"none"}},a]})});var eQ=e.i(144394),eX=e.i(923706),eZ=e.i(638396),e0=e.i(426),e1=e.i(789579),e2=e.i(33383);let e3=l.forwardRef(function(e,n){let{render:r,className:a,anchor:i,positionMethod:o,side:d,align:p,sideOffset:f,alignOffset:m,collisionBoundary:x="clipping-ancestors",collisionPadding:h,arrowPadding:g,sticky:v,disableAnchorTracking:b=!1,collisionAvoidance:S=eZ.DROPDOWN_COLLISION_AVOIDANCE,style:y,...C}=e,E=T(),j=P(),N=function(){let e=l.useContext(eU);if(void 0===e)throw Error((0,s.default)(20));return e}(),I=E.useState("modal"),R=E.useState("open"),k=E.useState("mounted"),w=E.useState("openMethod"),A=E.useState("positionerElement"),O=E.useState("triggerElement"),M=E.useState("inputElement"),D=E.useState("inputGroupElement"),V=E.useState("inputInsidePopup"),L=E.useState("transitionStatus"),F=eE(),_=(0,eX.useAnchorPositioning)({anchor:i??(V?O:D??M),floatingRootContext:j,positionMethod:o,mounted:k,side:d,sideOffset:f,align:p,alignOffset:m,arrowPadding:g,collisionBoundary:x,collisionPadding:h,sticky:v,disableAnchorTracking:b,keepMounted:N,collisionAvoidance:S,lazyFlip:!0});(0,e2.useAnchoredPopupScrollLock)(R&&I,"touch"===w,A,O);let B={open:R,side:_.side,align:_.align,anchorHidden:_.anchorHidden,empty:F};(0,u.useIsoLayoutEffect)(()=>{E.set("popupSide",_.side)},[E,_.side]);let H=(0,c.useStableCallback)(e=>{E.set("positionerElement",e)}),K=(0,e1.usePositioner)(e,B,{styles:_.positionerStyles,transitionStatus:L,props:C,refs:[n,H],hidden:!k,inert:!R});return(0,t.jsxs)(ew.Provider,{value:_,children:[k&&I&&(0,t.jsx)(e0.InternalBackdrop,{inert:(0,eQ.inertValue)(!R),cutout:D??M??O}),K]})});var e5=e.i(61487),e6=e.i(253984);let e4={...em.popupStateMapping,...eV.transitionStatusMapping},e8=l.forwardRef(function(e,n){let{render:r,className:a,style:i,initialFocus:s,finalFocus:o,...c}=e,d=T(),p=eA(),f=P(),m=d.useState("mounted"),x=d.useState("open"),h=d.useState("openMethod"),g=d.useState("popupProps"),v=d.useState("transitionStatus"),b=d.useState("inputInsidePopup"),S=d.useState("inputElement"),y=d.useState("modal"),C=d.useState("id"),E=eE(),N=c.id??(b?X(C):void 0);(0,u.useIsoLayoutEffect)(()=>(d.set("popupId",d.context.popupRef.current?.id||N),()=>{d.set("popupId",void 0)}),[d,N]),(0,U.useOpenChangeComplete)({open:x,ref:d.context.popupRef,onComplete(){x&&d.context.onOpenChangeComplete(!0)}});let I={open:x,side:p.side,align:p.align,anchorHidden:p.anchorHidden,transitionStatus:v,empty:E},R=(0,ep.useRenderElement)("div",e,{state:I,ref:[n,d.context.popupRef],props:[g,{id:N,role:b?"dialog":"presentation",onFocus(e){let t=(0,j.getTarget)(e.nativeEvent);"touch"!==h&&((0,j.contains)(d.state.listElement,t)||t===e.currentTarget)&&d.context.inputRef.current?.focus()}},(0,e6.getDisabledMountTransitionStyles)(v),c],stateAttributesMapping:e4}),k=!!b&&(e=>"touch"===e?d.context.popupRef.current:S),w=!b||y;return(0,t.jsx)(e5.FloatingFocusManager,{context:f,disabled:!m,modal:w,openInteractionType:h,initialFocus:void 0===s?k:s,returnFocus:null!=o?o:!!b&&void 0,getInsideElements:()=>[d.context.startDismissRef.current,d.context.endDismissRef.current],children:(0,t.jsxs)(l.Fragment,{children:[R,w&&(0,t.jsx)(eO,{ref:d.context.endDismissRef})]})})}),e7=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e,i=T(),{arrowRef:s,side:o,align:u,arrowUncentered:c,arrowStyles:d}=eA(),p=i.useState("open");return(0,ep.useRenderElement)("div",e,{ref:[s,t],stateAttributesMapping:em.popupStateMapping,state:{open:p,side:o,align:u,uncentered:c},props:{style:d,"aria-hidden":!0,...a}})}),e9=l.createContext(void 0),te=l.forwardRef(function(e,n){let{render:r,className:a,style:i,items:s,...o}=e,u=T().useState("grid"),[c,d]=l.useState(),p=l.useMemo(()=>({labelId:c,setLabelId:d,items:s}),[c,d,s]),f=(0,ep.useRenderElement)("div",e,{ref:n,props:[{role:u?"rowgroup":"group","aria-labelledby":c},o]}),m=(0,t.jsx)(e9.Provider,{value:p,children:f});return s?(0,t.jsx)(eB,{items:s,children:m}):m}),tt=l.forwardRef(function(e,t){let{render:n,className:r,style:a,id:i,...o}=e,{setLabelId:c}=function(){let e=l.useContext(e9);if(void 0===e)throw Error((0,s.default)(18));return e}(),d=(0,eR.useBaseUiId)(i);return(0,u.useIsoLayoutEffect)(()=>(c(d),()=>{c(e=>e===d?void 0:e)}),[d,c]),(0,ep.useRenderElement)("div",e,{ref:t,props:[{id:d,"aria-hidden":!0},o]})});var tn=e.i(174080),tr=e.i(673553);let tl=l.createContext(void 0),ta=l.createContext(!1);function ti(e){let{componentProps:n,forwardedRef:r,virtualized:a,indexFromFilter:i}=e,{render:s,className:o,style:c,value:d=null,index:p,disabled:f=!1,nativeButton:m=!1,...x}=n,h=l.useRef(null),g=(0,tr.useCompositeListItem)({guess:!0,index:p,textRef:h}),v=T(),b=l.useContext(ta),S=l.useContext(A),y=v.useState("selectionMode"),C=v.useState("disabled"),E=v.useState("readOnly"),j=v.useState("isItemEqualToValue"),N=C||f,I="none"!==y,R=p??i??g.index,k=-1!==R,w=v.useState("id"),O=v.useState("isActive",R),P=v.useState("isSelected",d),M=v.useState("itemProps"),D=l.useRef(null),V=null!=w&&k?`${w}-${R}`:void 0,_=P&&I;(0,u.useIsoLayoutEffect)(()=>{if(!(k&&(a||null!=p)))return;let e=v.context.listRef.current;return e[R]=D.current,()=>{delete e[R]}},[k,a,R,p,v]),(0,u.useIsoLayoutEffect)(()=>{if(!k||S)return;let e=v.context.valuesRef.current;return e[R]=d,()=>{delete e[R]}},[k,S,R,d,v]),(0,u.useIsoLayoutEffect)(()=>{if(!k||S)return;let e=v.state.selectedValue,t=v.state.selectedIndex;if("multiple"===v.state.selectionMode&&Array.isArray(e)){var n,r;n=v.context.valuesRef.current,r=t,t=F(e,d,j)?null!=r&&R>r&&F(e,n[r],j)?r:R:R===r?B(n,e,j,!0):r}else L(d,e,j)&&(t=R);v.set("selectedIndex",t)},[k,S,v,R,d,j]);let{getButtonProps:H,buttonRef:K}=(0,ef.useButton)({disabled:N,focusableWhenDisabled:!0,native:m,composite:!0});function z(e){function t(){v.context.handleSelection(e,d)}v.state.submitOnItemClick?(tn.flushSync(t),v.context.requestSubmit()):t()}let q=(0,ep.useRenderElement)("div",n,{ref:[K,r,g.ref,D],state:{disabled:N,selected:_,highlighted:O},props:[M,{id:V,role:b?"gridcell":"option","aria-selected":I?_:void 0,tabIndex:void 0,onPointerDownCapture(e){e.isPrimary&&(v.context.pointerDownItemRef.current=e.currentTarget),e.preventDefault()},onMouseDown(e){e.preventDefault()},onClick(e){N||E||z(e.nativeEvent)},onMouseUp(e){let t=v.context.pointerDownItemRef.current===e.currentTarget;v.context.pointerDownItemRef.current=null,N||E||0!==e.button||t||!O||z(e.nativeEvent)}},x,H]}),W=l.useMemo(()=>({selected:_,textRef:h}),[_,h]);return(0,t.jsx)(tl.Provider,{value:W,children:q})}function ts(e){let{componentProps:n,forwardedRef:r}=e,l=T().useState("isItemEqualToValue"),{flatFilteredValues:a}=M(),i=_(a,n.value??null,l);return(0,t.jsx)(ti,{componentProps:n,forwardedRef:r,virtualized:!0,indexFromFilter:i})}let to=l.memo(l.forwardRef(function(e,n){let r=T().useState("virtualized");return r&&null==e.index?(0,t.jsx)(ts,{componentProps:e,forwardedRef:n}):(0,t.jsx)(ti,{componentProps:e,forwardedRef:n,virtualized:r,indexFromFilter:void 0})})),tu=l.forwardRef(function(e,n){let{render:r,className:l,style:a,...i}=e,s=(0,ep.useRenderElement)("div",e,{ref:n,props:[{role:"row"},i]});return(0,t.jsx)(ta.Provider,{value:!0,children:s})}),tc=l.forwardRef(function(e,t){let{render:n,className:r,style:l,children:a,...i}=e,{filteredItems:s}=M(),o=T(),u=eq(),c=0===s.length?a:null;return(0,ep.useRenderElement)("div",e,{ref:[t,o.context.emptyRef,u],props:[{children:c,role:"status","aria-live":"polite","aria-atomic":!0},i]})}),td=l.forwardRef(function(e,t){let{className:n,render:r,orientation:l="horizontal",style:a,...i}=e;return(0,ep.useRenderElement)("div",e,{state:{orientation:l},ref:t,props:[{role:"presentation"},i]})});e.s(["Arrow",0,e7,"Backdrop",0,eJ,"Clear",0,eF,"Collection",0,eH,"Empty",0,tc,"Group",0,te,"GroupLabel",0,tt,"Icon",0,eD,"Input",0,eT,"InputGroup",0,eM,"Item",0,to,"List",0,ez,"Popup",0,e8,"Portal",0,e$,"Positioner",0,e3,"Root",0,function(e){let n,{openOnInputClick:r=!1,value:a,defaultValue:i,onValueChange:s,mode:o="list",itemToStringValue:u,...c}=e,d=("inline"===o||"both"===o)&&!e.readOnly,p=void 0!==a,[f,m]=l.useState(i??""),[x,h]=l.useState("");l.useEffect(()=>{(p||!d)&&h("")},[a,p,d]),n=d&&""!==x?x:p?a??"":f;let g=ee({locale:c.locale}),v=String((p?a:f)??"").trim(),b="inline"===o||"none"===o||null===c.filter?null:c.filter??g.contains;return(0,t.jsx)(eu,{...c,itemToStringLabel:u,openOnInputClick:r,selectionMode:"none",fillInputOnItemPress:!0,filter:b,filterQuery:"both"===o?v:void 0,autoComplete:o,inputValue:n,defaultInputValue:i,onInputValueChange:function(e,t){h(""),p||m(e),s?.(e,t)},onItemHighlighted:function(t,n){e.onItemHighlighted?.(t,n),n.reason!==I.REASONS.pointer&&h(d&&null!=t?q(t,u):"")}})},"Row",0,tu,"Separator",0,td,"Status",0,eW,"Trigger",0,eN,"Value",0,function(e){let{children:n}=e,r=D(),a=null;return a="function"==typeof n?n(String(r)):null!=n?n:r,(0,t.jsx)(l.Fragment,{children:a})},"useFilter",0,ee,"useFilteredItems",0,function(){return M().filteredItems}],196799);var tp=e.i(196799),tp=tp,tf=e.i(716327),tm=e.i(611568),tx=e.i(23750),th=e.i(647163);function tg({value:e,onChange:r,options:a,placeholder:s,empty:o="Nothing matches",note:u="Not on the list? Type it, then save.",loading:c=!1,disabled:d=!1,className:p,"aria-label":f}){let m=new Set(a.map(e=>e.value.toLowerCase())),[x,h]=(0,l.useState)(e),[g,v]=(0,l.useState)(e);g!==e&&(v(e),h(e));let b=x.trim(),S=""!==b&&b!==e;return(0,t.jsxs)(tp.Root,{items:a,value:x,onValueChange:(e,t)=>{h(e),"item-press"===t.reason&&r(e)},itemToStringValue:e=>e.value,filter:(e,t)=>{let n;return!!(!(n=t.trim().toLowerCase())||m.has(n))||[e.value,e.label,e.badge].filter(Boolean).some(e=>String(e).toLowerCase().includes(n))},openOnInputClick:!0,disabled:d,children:[(0,t.jsxs)("div",{className:(0,th.cn)("flex gap-2",p),children:[(0,t.jsxs)(tp.InputGroup,{className:"relative min-w-0 flex-1",children:[(0,t.jsx)(tp.Input,{placeholder:s,"aria-label":f,spellCheck:!1,className:(0,th.cn)(tx.inputClassName,"pr-8 font-mono text-sm")}),(0,t.jsx)(tp.Trigger,{"aria-label":"Show suggestions",className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground transition-colors outline-none hover:text-foreground focus-visible:text-foreground disabled:opacity-50",children:c?(0,t.jsx)(tm.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,t.jsx)(tf.ChevronDown,{className:"size-3.5"})})]}),S&&!d&&(0,t.jsx)(i.Button,{variant:"outline",className:"shrink-0",onClick:()=>r(b),children:"Save"})]}),(0,t.jsx)(tp.Portal,{children:(0,t.jsx)(tp.Positioner,{sideOffset:4,className:"isolate z-50 outline-none",children:(0,t.jsxs)(tp.Popup,{className:"max-h-(--available-height) w-max min-w-(--anchor-width) max-w-[min(28rem,var(--available-width))] origin-(--transform-origin) rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",children:[u&&(0,t.jsx)("p",{className:"px-1.5 pt-1 pb-1.5 text-[11px] text-muted-foreground",children:u}),(0,t.jsx)(tp.Empty,{className:"px-2 py-2 font-mono text-[11px] text-muted-foreground empty:hidden",children:c?"Loading models…":o}),(0,t.jsx)(tp.List,{className:"max-h-64 overflow-y-auto outline-none",children:r=>(0,t.jsxs)(tp.Item,{value:r,className:"flex cursor-default items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground",children:[(0,t.jsx)("span",{className:"flex-1 whitespace-nowrap",children:r.label}),r.badge&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:r.badge}),r.hint&&r.hint!==r.label&&(0,t.jsx)("span",{className:"min-w-0 shrink truncate font-mono text-[11px] text-muted-foreground",children:r.hint}),(0,t.jsx)(n.Check,{className:(0,th.cn)("size-3.5 shrink-0",r.value===e.trim()?"opacity-100":"opacity-0")})]},r.value)})]})})})]})}var tv=e.i(917162);e.s([],506329),e.i(506329);let tb={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},...eV.transitionStatusMapping,...ex.fieldValidityMapping};var tS=e.i(64350),ty=e.i(370359),tC=e.i(348990),tE=e.i(157153),tj=e.i(31421);let tN=l.createContext(void 0),tI=l.createContext(void 0),tR=l.forwardRef(function(e,n){let{render:r,className:a,disabled:i=!1,readOnly:s=!1,required:o=!1,"aria-labelledby":c,value:p,inputRef:m,nativeButton:x=!1,id:g,style:v,...b}=e,S=l.useContext(tN),{disabled:y,readOnly:C,required:E,form:j,checkedValue:R,touched:k=!1,validation:w,name:A,setCheckedValue:O=h.NOOP,setTouched:T=h.NOOP,registerInputRef:P=h.NOOP}=S??{},{setTouched:M,setFilled:D,state:V,disabled:L}=(0,$.useFieldRootContext)(),F=(0,tE.useFieldItemContext)(),{labelId:_,getDescriptionProps:B}=(0,ev.useLabelableContext)(),K=L||F.disabled||y||i,z=C||s,q=E||o,W=S?R===p:""===p,G=l.useRef(null),U=l.useRef(null),Y=w?.registerInput,J=l.useCallback(e=>Y?.(e,{controlRef:G,value:void 0}),[Y]),X=(0,d.useMergedRefs)(m,U,P,J);(0,u.useIsoLayoutEffect)(()=>{U.current?.checked&&D(!0)},[D]),(0,u.useIsoLayoutEffect)(()=>{if(U.current){if(K&&W)return void P(null);P(U.current)}},[W,K,P]);let Z=(0,eR.useBaseUiId)(),ee=(0,Q.useLabelableId)({id:g}),et=x?void 0:ee,en={role:"radio","aria-checked":W,"aria-labelledby":(0,tj.useAriaLabelledBy)(c,_,U,!x,et),[ty.ACTIVE_COMPOSITE_ITEM]:W?"":void 0,id:x?ee:Z,onKeyDown(e){"Enter"===e.key&&e.preventDefault()},onClick(e){if(e.defaultPrevented||K||z)return;e.preventDefault();let t=U.current;t&&(0,tS.dispatchClickWithModifiers)(t,e)},onFocus(e){e.defaultPrevented||K||z||!k||(U.current?.click(),T(!1))}},{getButtonProps:er,buttonRef:el}=(0,ef.useButton)({disabled:K,native:x,composite:!1}),ea={type:"radio",ref:X,form:j,id:et,name:A,tabIndex:-1,style:A?f.visuallyHiddenInput:f.visuallyHidden,"aria-hidden":!0,...void 0!==p?{value:H(p)}:h.EMPTY_OBJECT,disabled:K,checked:W,required:q,readOnly:z,onChange(e){if(e.nativeEvent.defaultPrevented||K||z||void 0===p)return;let t=(0,N.createChangeEventDetails)(I.REASONS.none,e.nativeEvent);O(p,t),t.isCanceled||M(!0)},onClick(e){e.stopPropagation()},onFocus(){G.current?.focus()}},ei=l.useMemo(()=>({...V,required:q,disabled:K,readOnly:z,checked:W}),[V,K,z,W,q]),es=void 0!==S,eo=[n,G,el],eu=[en,b,er,B,w?e=>w.getValidationProps(K,e):h.EMPTY_OBJECT],ec=(0,ep.useRenderElement)("span",e,{enabled:!es,state:ei,ref:eo,props:eu,stateAttributesMapping:tb});return(0,t.jsxs)(tI.Provider,{value:ei,children:[es?(0,t.jsx)(tC.CompositeItem,{tag:"span",render:r,className:a,style:v,state:ei,refs:eo,props:eu,stateAttributesMapping:tb}):ec,(0,t.jsx)("input",{...ea,suppressHydrationWarning:!0})]})}),tk=l.forwardRef(function(e,t){let{render:n,className:r,style:a,keepMounted:i=!1,...o}=e,u=function(){let e=l.useContext(tI);if(void 0===e)throw Error((0,s.default)(52));return e}(),c=u.checked,{mounted:d,transitionStatus:p,setMounted:f}=(0,et.useTransitionStatus)(c),m={...u,transitionStatus:p},x=l.useRef(null),h=(0,ep.useRenderElement)("span",e,{ref:[t,x],state:m,props:o,stateAttributesMapping:tb});return((0,U.useOpenChangeComplete)({batch:!0,enabled:!c,open:c,ref:x,onComplete(){c||f(!1)}}),i||d)?h:null});e.s(["Indicator",0,tk,"Root",0,tR],66747);var tw=e.i(66747),tw=tw,tA=e.i(673327),tO=e.i(405934),tT=e.i(155627),tP=e.i(387068);let tM=[tA.SHIFT],tD=l.forwardRef(function(e,n){let{render:r,className:a,disabled:i,readOnly:s,required:u,onValueChange:d,value:p,defaultValue:f,form:m,name:x,inputRef:h,id:g,style:v,...b}=e,{setTouched:S,setFocused:y,validationMode:C,name:E,disabled:N,state:I,validation:R,setDirty:k,setFilled:w,validityData:A}=(0,$.useFieldRootContext)(),{labelId:O}=(0,ev.useLabelableContext)(),{clearErrors:T,elementRef:P}=(0,J.useFormContext)(),M=(0,tP.useFieldsetRootContext)(!0),D=N||i,V=E??x,L=(0,eR.useBaseUiId)(g),[F,_]=(0,o.useControlled)({controlled:p,default:f,name:"RadioGroup",state:"value"}),[B,H]=l.useState(!1),K=(0,c.useStableCallback)((e,t)=>{d?.(e,t),t.isCanceled||_(e)}),z=R.getInputControl,q=l.useMemo(()=>({get current(){return z()}}),[z]),W=l.useRef(null),G=l.useRef(null);function U(e){let t;return h&&("function"==typeof h?t=h(e):h.current=e),W.current=e,t}let Q=(0,c.useStableCallback)(e=>{if(!e||e.disabled)return;G.current||(G.current=e);let t=W.current,n=e.checked||null==t||t.disabled?U(e):void 0;return()=>{G.current===e&&(G.current=null),W.current===e?n?(n(),W.current=null):U(null):n?.()}}),X=(0,c.useStableCallback)(()=>{let e=P.current;if(!e)return F??null;for(let t of R.registeredInputs.keys())if(t.checked&&(0,tT.isEligibleInput)(t,e))return F??null;return null});(0,Y.useRegisterFieldControl)(q,L,F??null,X,!D,x),(0,er.useValueChanged)(F,()=>{T(V),k(F!==A.initialValue),w(null!=F),R.change(F);let e=G.current;null==F&&e&&!e.disabled&&U(e)});let Z=O??M?.legendId,ee={...I,disabled:D??!1,required:u??!1,readOnly:s??!1},et=l.useMemo(()=>({checkedValue:F,disabled:D,form:m,validation:R,name:V,readOnly:s,registerInputRef:Q,required:u,setCheckedValue:K,setTouched:H,touched:B}),[F,D,m,R,V,s,Q,u,K,H,B]);return(0,t.jsx)(tN.Provider,{value:et,children:(0,t.jsx)(tO.CompositeRoot,{render:r,className:a,style:v,state:ee,props:[{id:g,role:"radiogroup","aria-required":u||void 0,"aria-disabled":D||void 0,"aria-readonly":s||void 0,"aria-labelledby":Z,onFocus(){y(!0)},onBlur(e){(0,j.contains)(e.currentTarget,e.relatedTarget)||(S(!0),y(!1),"onBlur"===C&&R.commit(F))},onKeyDownCapture(e){e.key.startsWith("Arrow")&&(H(!0),y(!0))}},b,e=>R.getValidationProps(D??!1,e)],refs:[n],stateAttributesMapping:ex.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:tM})})});function tV({className:e,...n}){return(0,t.jsx)(tD,{"data-slot":"radio-group",className:(0,th.cn)("grid w-full gap-2",e),...n})}function tL({className:e,...n}){return(0,t.jsx)(tw.Root,{"data-slot":"radio-group-item",className:(0,th.cn)("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground group-has-[:focus-visible]/field-label:data-checked:border-primary dark:data-checked:bg-primary",e),...n,children:(0,t.jsx)(tw.Indicator,{"data-slot":"radio-group-indicator",className:"flex size-4 items-center justify-center",children:(0,t.jsx)("span",{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground"})})})}var tF=e.i(421429),t_=e.i(319036),tB=e.i(184762),tH=e.i(41533),tK=e.i(149666),tz=e.i(616816),tq=e.i(799623),tW=e.i(895836),tG=e.i(867927),tU=e.i(456420);let t$={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};t$.node;let tY=(0,tU.default)(t$);var tJ=e.i(759659),tQ=e.i(660302),tX=e.i(671428),tZ=e.i(633669),t0=e.i(222055),t1=e.i(245629),t2=e.i(609856),t3=e.i(661504),t5=e.i(95187);let t6=(0,t5.createServerReference)("7f3dd80394270fb057d0d3bac3f669ff586b75dd4c",t5.callServer,void 0,t5.findSourceMapURL,"deleteCallAction"),t4=(0,t5.createServerReference)("7f7fb480a317331a2e1c0c5b0201895c0357c45d37",t5.callServer,void 0,t5.findSourceMapURL,"deleteEndedCallsAction");var t8=e.i(561540),t7=e.i(256604);function t9(){return(0,t.jsxs)("button",{type:"button",onClick:()=>tv.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,t.jsx)(tW.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,t.jsx)(nr,{})})}),className:"flex w-full min-w-0 items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(tY,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,t.jsx)(tG.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})}let ne={running:"working",waiting:"waiting on you",done:"done",cancelled:"stopped"},nt={running:"text-muted-foreground",waiting:th.WAITING_INK,done:"text-muted-foreground",cancelled:"text-muted-foreground"},nn="h-[min(34rem,58vh)] min-h-64 px-1";function nr(){let{items:e,isLoading:n,isLoadingMore:r,error:s,hasMore:o,sentinelRef:u,refresh:c}=(0,t3.useServerPages)({key:(e,t)=>{if(0===e)return a.queryKey.callHistory(null);let n=t?.at(-1);return n?a.queryKey.callHistory((0,t1.toDate)(n.startedAt).toISOString()):null},size:tH.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),d=(0,l.useMemo)(()=>[...e].reverse(),[e]),[p,f]=(0,t2.useServerAction)(t4,{okMessage:e=>1===e?"1 call deleted":`${e} calls deleted`,onOk:c}),m=async()=>{await tv.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&p()},x=(0,l.useRef)(null),h=(0,l.useRef)(!1),g=(0,l.useRef)(0);return((0,l.useLayoutEffect)(()=>{let e=x.current;e&&0!==d.length&&(h.current?e.scrollTop=e.scrollHeight-g.current:(h.current=!0,e.scrollTop=e.scrollHeight),g.current=e.scrollHeight-e.scrollTop)},[d]),n)?(0,t.jsx)("div",{className:(0,th.cn)(nn,"overflow-hidden"),children:(0,t.jsx)(nl,{})}):s?(0,t.jsx)(tW.SettingError,{message:s.message}):(0,t.jsx)(t.Fragment,{children:0===d.length?(0,t.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{ref:x,onScroll:e=>{let t=e.currentTarget;g.current=t.scrollHeight-t.scrollTop},className:(0,th.cn)(nn,"overflow-y-auto overscroll-contain pb-6"),children:[(0,t.jsx)(tW.SettingMore,{hasMore:o,loading:r,sentinelRef:u,count:1,ghost:(0,t.jsx)(nl,{})}),d.map((e,n)=>(0,t.jsx)(ni,{call:e,first:0===n,onDropped:c},e.id))]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(i.Button,{variant:"ghost",loading:f,onClick:m,className:"text-muted-foreground hover:text-destructive",children:[(0,t.jsx)(tJ.Trash2,{}),"Delete all"]})})]})})}function nl(){return(0,t.jsxs)("div",{className:"pb-3",children:[(0,t.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,t.jsx)(tX.Skeleton,{className:"h-3 w-24"}),(0,t.jsx)(tX.Skeleton,{className:"h-3 w-10"})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(tX.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,t.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,t.jsx)(tX.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,t.jsx)(tX.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let na=e=>"user"===e.role?"user":"her";function ni({call:e,first:n,onDropped:r}){let[l,a]=(0,t2.useServerAction)(t6,{okMessage:"Call deleted",onOk:r}),s=(0,t1.toDate)(e.startedAt),o=e.turns.at(-1),u=e.endedAt&&o?function(e,t){let n=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m ${String(n%60).padStart(2,"0")}s`:`${Math.floor(r/60)}h ${String(r%60).padStart(2,"0")}m`}(s,(0,t1.toDate)(o.at)):"on the line",c=async()=>{await tv.notify.confirm({title:`Delete the call from ${(0,t1.whenOf)(s)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&l(e.id)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,th.cn)("group flex items-center gap-2.5",n?"mt-1":"mt-11"),children:[(0,t.jsx)("span",{title:[e.provider,e.model,e.backendModel,null===e.seconds?null:`${e.seconds}s active`,e.endedReason].filter(Boolean).join(" · "),className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,t1.whenOf)(s)}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:e.model===tH.TEXT_CALL.model?`${u} \xb7 in writing`:u}),(0,t.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:e.endedAt&&(0,t.jsx)(i.Button,{size:"icon-sm",variant:"ghost",loading:a,"aria-label":"Delete this call",onClick:c,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,t.jsx)(tJ.Trash2,{})})})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&"tool"===n.role&&"tool"===e.turn.role&&e.turn.tool===n.tool&&e.turn.text===n.text){e.repeats+=1;continue}t.push({turn:n,repeats:1})}return t})(e.turns).map(({turn:n,repeats:r},l,a)=>{var i,s;let o,u=a[l-1]?.turn,c=a[l+1]?.turn;return(0,t.jsx)(ns,{turn:n,job:(i=e,s=n,(o=(0,t8.startedLabel)(s.tool,s.text))?i.jobs.find(e=>e.label===o):void 0),repeats:r,opensRun:!u||na(u)!==na(n),closesRun:!c||na(c)!==na(n)},n.id)})]})}function ns({turn:e,job:n,opensRun:r,closesRun:l,repeats:a=1}){return"tool"===e.role?(0,t.jsx)(nu,{turn:e,job:n,repeats:a,opensRun:r}):"user"===e.role?(0,t.jsx)("div",{className:(0,th.cn)("flex justify-end",r?"mt-3":"mt-1"),children:(0,t.jsx)("p",{className:(0,th.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",l&&"rounded-br-sm"),children:e.text})}):(0,t.jsxs)("div",{className:(0,th.cn)("flex items-start gap-2",r?"mt-3":"mt-1"),children:[(0,t.jsx)(no,{face:r,className:"mt-0.5"}),(0,t.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:e.text})]})}function no({face:e,className:n}){return(0,t.jsx)("span",{className:(0,th.cn)("grid size-[18px] shrink-0 place-items-center",n),children:e&&(0,t.jsx)(t7.ThursdayMark,{size:18})})}function nu({turn:e,job:n,repeats:r,opensRun:l}){let a=e.tool??"",i=(0,t0.toolIcon)(a),s=(0,t8.toolLine)(a,e.text),o=(0,t8.searchOf)(e.tool,e.text)?.sources??[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,th.cn)("flex items-center gap-2",l?"mt-3":"mt-1.5"),children:[(0,t.jsx)(no,{face:l}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,t.jsx)(i,{className:"size-3 shrink-0"}),s&&(0,t.jsx)("span",{className:"truncate text-[11px] break-keep",children:s}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:a}),r>1&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",r]})]})]}),o.length>0&&(0,t.jsx)(tZ.SourceChips,{sources:o,className:"mt-1 ml-[26px]"}),n&&(0,t.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===n.status?(0,t.jsx)(tQ.ShinyText,{text:ne.running,className:"shrink-0 font-mono text-[10px]"}):(0,t.jsx)("span",{className:(0,th.cn)("shrink-0 font-mono text-[10px]",nt[n.status]),children:ne[n.status]}),n.outcome&&"running"!==n.status&&(0,t.jsx)("span",{className:"truncate text-muted-foreground",children:(0,th.plainText)(n.outcome)})]})]})}var nc=e.i(333495),nd=e.i(263676),np=e.i(6799),nf=e.i(218080);let nm=Array(nf.SPECTRUM_BANDS).fill(0);function nx({voice:e,face:r,onChange:a}){let[s,o]=(0,l.useState)(!1),[u,c]=(0,l.useState)(e),[d,p]=(0,l.useState)(!1),[f,m]=(0,l.useState)(""),x=(0,l.useRef)(null),h=(0,l.useRef)(null),g=(0,l.useRef)(0),v=(0,l.useRef)(!1),b=(0,l.useCallback)(()=>h.current&&v.current?h.current.clip.read():nm,[]),S=e=>{v.current=e,p(e)};(0,l.useEffect)(()=>{if(s)return()=>{let e=h.current;h.current=null,e&&(e.element.pause(),e.clip.close())}},[s]);let y=(e,t)=>{e===g.current&&(g.current++,S(!1),np.toast.add({type:"error",title:"Voice sample did not play",description:(0,th.errorToString)(t)}))},C=()=>{g.current++;let e=x.current;e&&(e.pause(),e.currentTime=0),S(!1)};return s?(0,t.jsxs)("div",{className:"@container space-y-2",children:[(0,t.jsx)("audio",{ref:x,onEnded:()=>S(!1),onError:e=>{v.current&&y(g.current,e.currentTarget.error?.message||"The clip could not be read.")},children:(0,t.jsx)("track",{kind:"captions"})}),(0,t.jsxs)("div",{className:"rounded-xl border border-border/60 p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:"click a name to hear it"}),(0,t.jsx)(i.Button,{variant:"ghost",size:"icon-xs",className:"ml-auto","aria-label":"Close",onClick:()=>{C(),o(!1),m(""),c(e)},children:(0,t.jsx)(nd.X,{})})]}),(0,t.jsxs)("div",{className:"grid gap-4 @md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,t.jsx)(nc.Face,{look:r,status:d?"speaking":"idle",getSpectrum:b,size:176,className:"w-44"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:d?(0,t.jsx)(tQ.ShinyText,{text:u}):u}),(0,t.jsx)("span",{className:"h-4 font-mono text-[11px] text-muted-foreground",children:tK.LIVE_VOICE_NOTE[u]})]}),(0,t.jsx)("div",{className:"max-h-56 min-w-0 overflow-y-auto",children:tK.LIVE_VOICES.map(r=>(0,t.jsxs)("button",{type:"button",onClick:()=>(e=>{let t=x.current;if(!t)return;if(d&&e===u)return void C();c(e),m(""),h.current?.element!==t&&(h.current?.clip.close(),h.current={element:t,clip:(0,nf.createClipTap)(t)}),h.current.clip.resume();let n=++g.current;t.src=(0,tK.voiceSamplePath)(e),S(!0),t.play().catch(e=>{e instanceof DOMException&&"AbortError"===e.name||y(n,e)})})(r),className:(0,th.cn)("flex w-full items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none hover:bg-accent focus-visible:bg-accent",r===u&&"bg-accent text-accent-foreground"),children:[(0,t.jsx)("span",{className:"flex-1 text-left",children:d&&r===u?(0,t.jsx)(tQ.ShinyText,{text:r}):r}),(0,t.jsx)("span",{className:"shrink truncate font-mono text-[11px] text-muted-foreground",children:tK.LIVE_VOICE_NOTE[r]}),(0,t.jsx)(n.Check,{className:(0,th.cn)("size-3.5 shrink-0",r===e?"opacity-100":"opacity-0")})]},r))})]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(tx.Input,{value:f,onChange:e=>m(e.target.value),placeholder:"another voice id","aria-label":"Another voice id",spellCheck:!1,className:"font-mono text-sm"}),(0,t.jsx)(i.Button,{className:"shrink-0",onClick:()=>{let t=f.trim()||u;C(),o(!1),m(""),c(t),t!==e&&a(t)},children:"Save"})]})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>o(!0),"aria-label":"Voice",className:(0,th.cn)(tx.inputClassName,"flex items-center gap-2 text-left font-mono text-sm hover:border-ring"),children:[(0,t.jsx)("span",{className:"shrink-0",children:e}),(0,t.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:tK.LIVE_VOICE_NOTE[e]}),(0,t.jsx)(tf.ChevronDown,{className:"ml-auto size-3.5 shrink-0 text-muted-foreground"})]})}var nh=e.i(933916),ng=e.i(762074);let nv=(0,t5.createServerReference)("7fc86a7b16cd5f1d18158ce91a6df143d06b4a1735",t5.callServer,void 0,t5.findSourceMapURL,"resetHistoryAction"),nb=(0,t5.createServerReference)("7fca40b0f5cc9392ce04fba2dc6406df351837a645",t5.callServer,void 0,t5.findSourceMapURL,"setCallSkillsAction");var nS=e.i(671228),ny=e.i(67045);function nC(e,t,{min:n=1}={}){let[r,a]=(0,l.useState)(e),[i,s]=(0,l.useState)(e);return e!==i&&(s(e),a(e)),{value:r,set:a,commit:()=>{let l=r.trim();if(l.length<n)return a(e);a(l),l!==e&&t(l)},onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||e.currentTarget.blur()}}}var nE=e.i(319841),nj=e.i(981203),nN=e.i(413168),nI=e.i(283653);function nR({columns:e,children:n}){return(0,t.jsx)("div",{className:"@container",children:(0,t.jsx)("div",{className:(0,th.cn)("grid divide-y divide-border/60 overflow-hidden rounded-xl border border-border/60",3===e?"@3xl:grid-cols-3 @3xl:divide-x @3xl:divide-y-0":"@xl:grid-cols-2 @xl:divide-x @xl:divide-y-0"),children:n})})}function nk({label:e,children:n}){return(0,t.jsxs)("div",{className:"flex min-h-5 items-center gap-3",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:e}),n]})}function nw({value:e,face:n,hasKey:r,onChange:l}){return(0,t.jsx)(tW.SettingGroup,{label:"Models",note:"Both run on your OpenAI key. Instructions are saved when you leave the field.",children:(0,t.jsxs)("div",{className:"@container divide-y divide-border/60 rounded-xl border border-border/60",children:[!r&&(0,t.jsx)(nT,{}),(0,t.jsxs)(nA,{name:"Voice",fact:"billed by the minute",children:[(0,t.jsx)("div",{className:"grid gap-4 @xl:grid-cols-2",children:(0,t.jsx)(nO,{label:"model",children:(0,t.jsx)(tg,{value:nN.LIVE_MODEL,onChange:()=>void 0,options:[{value:nN.LIVE_MODEL,label:"GPT-Live 1"}],"aria-label":"Voice model",disabled:!0})})}),(0,t.jsx)(nO,{label:"voice",children:(0,t.jsx)(nx,{voice:e.voice,face:n,onChange:e=>l({voice:e.trim()||tK.LIVE_DEFAULTS.voice})})}),(0,t.jsx)(nO,{label:"instructions",children:(0,t.jsx)(nF,{value:e.voicePrompt,onCommit:e=>l({voicePrompt:e}),placeholder:"How to address you, how much to say, what to skip.","aria-label":"Voice instructions"})})]}),(0,t.jsxs)(nA,{name:"Backend",fact:"billed per token",children:[(0,t.jsx)(nO,{label:"model",children:(0,t.jsx)(nP,{value:e.backendModel,onChange:e=>l({backendModel:e})})}),(0,t.jsx)(nO,{label:"reasoning",children:(0,t.jsx)(tF.Segmented,{"aria-label":"Reasoning effort",className:"w-full flex-wrap *:flex-1",options:nM,value:e.reasoningEffort??"auto",onChange:e=>l({reasoningEffort:"auto"===e?null:e})})}),(0,t.jsx)(nO,{label:"tools",children:(0,t.jsx)(nD,{webSearch:e.webSearch,onWebSearch:e=>l({webSearch:e})})}),(0,t.jsx)(nO,{label:"instructions",children:(0,t.jsx)(nF,{value:e.backendPrompt,onCommit:e=>l({backendPrompt:e}),placeholder:"How work should be handed over, what to check first.","aria-label":"Backend instructions"})})]})]})})}function nA({name:e,fact:n,children:r}){return(0,t.jsxs)("div",{className:"grid gap-4 p-5 @2xl:grid-cols-[8.5rem_minmax(0,1fr)] @2xl:gap-6",children:[(0,t.jsxs)("span",{className:"space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:e}),(0,t.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:n})]}),(0,t.jsx)("div",{className:"min-w-0 space-y-4",children:r})]})}function nO({label:e,children:n}){return(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:e}),n]})}function nT(){let[e,n]=(0,l.useState)(""),[r,i]=(0,t2.useServerAction)(tq.setConfigAction,{onOk:()=>{(0,nI.revalidate)(a.queryKey.llmModel),(0,nI.revalidate)(a.queryKey.config),n("")}}),s=e.trim().length>=tz.KEY_MIN;return(0,t.jsxs)("div",{className:"space-y-3 p-5",children:[(0,t.jsxs)("span",{className:"block space-y-0.5",children:[(0,t.jsx)("span",{className:(0,th.cn)("block text-sm font-medium",th.WAITING_INK),children:"No OpenAI key"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Her voice and the backend both run on it"})]}),(0,t.jsx)(tz.KeyInput,{dense:!0,provider:tK.LIVE_PROVIDER,saved:!1,value:e,ready:s,saving:i,onValue:n,onSubmit:()=>s&&r(tK.LIVE_PROVIDER.apiKeyName,e)})]})}function nP({value:e,onChange:r}){let l=nC(tK.LIVE_BACKEND_MODELS.some(t=>t.id===e)?"":e,e=>r(e||tK.LIVE_DEFAULTS.backendModel),{min:0});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{role:"radiogroup","aria-label":"Backend model",className:"grid grid-cols-2 gap-2 @3xl:grid-cols-4",children:tK.LIVE_BACKEND_MODELS.map(l=>{let a=l.id===e;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":a,onClick:()=>r(l.id),className:(0,th.cn)("min-w-0 space-y-0.5 rounded-lg border px-3 py-2.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a?"border-foreground bg-muted/40":"border-border/60 hover:bg-muted/50"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:l.label}),a&&(0,t.jsx)(n.Check,{className:"size-3.5 shrink-0"})]}),(0,t.jsxs)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:[l.id," · ",l.tier]})]},l.id)})}),(0,t.jsx)(tx.Input,{value:l.value,onChange:e=>l.set(e.target.value),onBlur:l.commit,onKeyDown:l.onKeyDown,placeholder:"Other model id","aria-label":"Other backend model id",spellCheck:!1,className:"font-mono text-sm"})]})}let nM=[{value:"auto",label:"auto",title:"The model's own default"},...tK.LIVE_REASONING.map(e=>({value:e,label:e,title:`Reasoning effort ${e}`}))];function nD({webSearch:e,onWebSearch:n}){let{data:r}=(0,nI.useServerRoute)(a.queryKey.callSkills),[l]=(0,t2.useServerAction)(nb,{onOk:()=>(0,nI.revalidate)(a.queryKey.callSkills)});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-x-7 gap-y-3",children:[(0,t.jsx)(nV,{label:"Search the web",checked:e,onChange:n}),(0,t.jsx)(nV,{label:"Read skills herself",checked:r??!1,disabled:void 0===r,onChange:e=>l(e)})]}),e&&(0,t.jsx)(tW.SettingNote,{children:"Each search adds to the backend's OpenAI usage."}),r&&(0,t.jsx)(nL,{})]})}function nV({label:e,checked:n,disabled:r,onChange:l}){return(0,t.jsxs)("label",{className:"flex items-center gap-2.5 text-sm",children:[(0,t.jsx)(t_.Switch,{checked:n,disabled:r,onCheckedChange:l}),e]})}function nL(){let{data:e}=(0,nI.useServerRoute)(a.queryKey.skills);return e?(0,t.jsx)(tW.SettingNote,{className:(0,th.cn)(!e.length&&th.WAITING_INK),children:e.length?`The same ${e.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function nF({value:e,onCommit:n,placeholder:r,"aria-label":l}){let a=nC(e,n,{min:0});return(0,t.jsx)(tB.Textarea,{value:a.value,maxLength:nj.COMMON_VALIDATE.prompt.max,onChange:e=>a.set(e.target.value),onBlur:a.commit,placeholder:r,"aria-label":l})}function n_(){let[e,n]=(0,t2.useServerAction)(nv,{okMessage:({calls:e,threads:t,notes:n})=>`Wiped ${e} calls, ${t} jobs, ${n} notes`,onOk:()=>{(0,nI.revalidate)(a.queryKey.memory),(0,nI.revalidate)(a.queryKey.threads),(0,nI.revalidate)(a.queryKey.callHistory(null))}}),l=async()=>{await tv.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&e()};return(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3 p-4",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(r.TriangleAlert,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:"Reset history"}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"Calls, jobs and memory. Keys and bots stay."})]}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",loading:n,onClick:l,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})}function nB({value:e,onChange:n}){let r=t=>n({...e,...t});return(0,t.jsx)(tW.SettingGroup,{label:"Face",children:(0,t.jsxs)("div",{className:"space-y-5 py-2",children:[(0,t.jsx)("div",{className:"flex flex-col items-center gap-4 pt-2",children:(0,t.jsx)(nc.Face,{look:e,size:176,className:"w-44"})}),(0,t.jsx)(nK,{label:"Glyphs",children:(0,t.jsx)(tF.Segmented,{"aria-label":"Glyphs",options:nh.ASCII_CHARSETS.map(e=>({value:e,label:nH[e]})),value:e.charset,onChange:e=>r({charset:e})})}),(0,t.jsx)(nK,{label:"Size",children:(0,t.jsx)(nz,{min:tH.ASCII_FACE.fontSize.min,max:tH.ASCII_FACE.fontSize.max,step:1,value:e.fontSize,format:e=>`${e}px`,onChange:e=>r({fontSize:e})})}),(0,t.jsx)(nK,{label:"Density",children:(0,t.jsx)(nz,{min:tH.ASCII_FACE.density.min,max:tH.ASCII_FACE.density.max,step:.1,value:e.density,format:e=>`${e.toFixed(1)}x`,onChange:e=>r({density:e})})})]})})}let nH={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function nK({label:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:e}),n]})}function nz({value:e,onChange:n,format:r,...l}){return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("input",{type:"range",...l,value:e,onChange:e=>n(Number(e.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:r(e)})]})}let nq={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Both sides",hint:"Hers on the left, yours on the right. Click a line to read it again."}};function nW({value:e,onChange:r}){return(0,t.jsx)(tW.SettingGroup,{label:"Captions",children:(0,t.jsx)("div",{className:"@container",children:(0,t.jsx)("div",{role:"radiogroup","aria-label":"Captions",className:"grid gap-3 @xl:grid-cols-2",children:nS.CAPTION_VIEWS.map(l=>{let a=l===e;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":a,onClick:()=>r(l),className:(0,th.cn)("min-w-0 space-y-3 rounded-xl border p-3 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a?"border-foreground":"border-border/60 hover:bg-muted/50"),children:[(0,t.jsx)(nG,{view:l}),(0,t.jsxs)("span",{className:"flex items-center gap-3 px-1 pb-0.5",children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:nq[l].label}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:nq[l].hint})]}),a&&(0,t.jsx)(n.Check,{className:"size-4 shrink-0"})]})]},l)})})})})}function nG({view:e}){let n="block h-1 max-w-full rounded-full bg-foreground/20";return(0,t.jsx)("span",{className:"flex h-24 items-center justify-center rounded-lg bg-muted",children:"center"===e?(0,t.jsxs)("span",{className:"flex flex-col items-center gap-2.5",children:[(0,t.jsx)(t7.ThursdayMark,{size:32}),(0,t.jsx)("span",{className:(0,th.cn)(n,"w-28")})]}):(0,t.jsxs)("span",{className:"grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4 px-6",children:[(0,t.jsxs)("span",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:(0,th.cn)(n,"w-24")}),(0,t.jsx)("span",{className:(0,th.cn)(n,"w-16")})]}),(0,t.jsx)(t7.ThursdayMark,{size:32}),(0,t.jsx)("span",{children:(0,t.jsx)("span",{className:(0,th.cn)(n,"ml-auto w-20")})})]})})}function nU({value:e,onChange:n}){return(0,t.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,t.jsx)(nk,{label:"She calls you"}),(0,t.jsx)(tV,{"aria-label":"She calls you",value:e,onValueChange:e=>n(nS.CallBackSchema.parse(e)),className:"gap-2.5",children:nS.CALL_BACK_MODES.map(e=>(0,t.jsxs)("label",{className:"flex min-w-0 items-center gap-2.5 text-sm",children:[(0,t.jsx)(tL,{value:e}),(0,t.jsx)("span",{className:"truncate",children:nS.CALL_BACK_LABEL[e]})]},e))}),(0,t.jsx)(tW.SettingNote,{children:n$[e]}),"off"!==e&&(0,t.jsx)(tW.SettingNote,{children:"Needs this tab open. It rings on screen until you answer, decline or let it go; the desktop notification covers a tab you are not looking at."})]})}let n$={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she rings you to tell you."};function nY({value:e,onChange:n}){let r=nC(e.phrase,t=>n({...e,phrase:t}),{min:nS.WAKE_PHRASE.min}),l=r.value.trim().split(/\s+/).length<2;return(0,t.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,t.jsx)(nk,{label:"Wake phrase",children:(0,t.jsx)(t_.Switch,{"aria-label":"Answer to her name",checked:e.enabled,onCheckedChange:t=>n({...e,enabled:t})})}),(0,t.jsx)(tx.Input,{value:r.value,maxLength:nS.WAKE_PHRASE.max,spellCheck:!1,disabled:!e.enabled,onChange:e=>r.set(e.target.value),onBlur:r.commit,onKeyDown:r.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,t.jsx)(tW.SettingNote,{children:e.enabled?l?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count.":"Between calls, the browser listens for it and picks up."})]})}function nJ({value:e,onChange:n}){let[r,a]=(0,l.useState)(!1),[i,s]=(0,l.useState)(!1),o=(0,nE.useHotkeyLabel)((0,nE.isCombo)(e.combo)?e.combo:null);return(0,t.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,t.jsx)(nk,{label:"Shortcut",children:(0,t.jsx)(t_.Switch,{"aria-label":"Answer to a key",checked:e.enabled,onCheckedChange:t=>n({...e,enabled:t})})}),(0,t.jsx)("button",{type:"button",...nE.HOTKEY_CAPTURE,disabled:!e.enabled,onClick:()=>{s(!1),a(!0)},onBlur:()=>a(!1),onKeyDown:r?t=>{if("Tab"===t.key)return;if(t.preventDefault(),t.stopPropagation(),"Escape"===t.key)return a(!1);let r=(0,nE.comboOf)(t.nativeEvent);if(!r)return s(!0);s(!1),a(!1),n({...e,combo:r})}:void 0,className:(0,th.cn)("flex h-8 w-full items-center justify-center rounded-lg border px-3 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50",r?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:r?"Press the keys…":o??"Set a shortcut"}),(0,t.jsx)(tW.SettingNote,{children:i?"Hold Ctrl, Alt or Cmd — a plain key is typing.":r?"Esc to keep the one you have.":e.enabled?"Only while this tab has focus. Not while you are typing.":"Starts a call, and ends the one that is running."})]})}e.s(["ThursdaySetting",0,function(){let e=(0,ny.useThursdayStore)(),n=(0,ny.useThursdayStore)(e=>e.patch),{data:r=[],isLoading:l,error:i}=(0,nI.useServerRoute)(a.queryKey.llmModel),s=(0,ng.useThursdayFace)();if(l)return(0,t.jsx)(tW.SettingSkeleton,{rows:4});if(i)return(0,t.jsx)(tW.SettingError,{message:i.message});let o=r.some(e=>e.apiKeyName===tK.LIVE_PROVIDER.apiKeyName&&e.hasKey);return(0,t.jsxs)(tW.SettingScreen,{footer:(0,t.jsx)(tW.SettingRailNote,{children:"Both of her prompts are assembled fresh on every call — memory, the roster and your skills go in. Changes here apply from the next call."}),children:[(0,t.jsx)(nB,{value:s,onChange:ng.setThursdayFace}),(0,t.jsx)(nW,{value:e.captionView,onChange:e=>n({captionView:e})}),(0,t.jsx)(nw,{value:e,face:s,hasKey:o,onChange:n}),(0,t.jsx)(tW.SettingGroup,{label:"Starting a call",children:(0,t.jsxs)(nR,{columns:3,children:[(0,t.jsx)(nY,{value:e.wake,onChange:e=>n({wake:e})}),(0,t.jsx)(nJ,{value:e.hotkey,onChange:e=>n({hotkey:e})}),(0,t.jsx)(nU,{value:e.callBack,onChange:e=>n({callBack:e})})]})}),(0,t.jsx)(tW.SettingGroup,{label:"History",children:(0,t.jsxs)(nR,{columns:2,children:[(0,t.jsx)(t9,{}),(0,t.jsx)(n_,{})]})})]})}],59158)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59158,e=>{"use strict";var t=e.i(843476),n=e.i(689664),r=e.i(466787),l=e.i(271645),a=e.i(798120),i=e.i(167881);e.s([],148099),e.i(148099);var s=e.i(733332),o=e.i(951437),u=e.i(146376),c=e.i(667865),d=e.i(828918),p=e.i(446265),f=e.i(502077),m=e.i(388940),x=e.i(301252),h=e.i(956789),g=e.i(229315),v=e.i(17989),b=e.i(265858),S=e.i(260891),y=e.i(385689),C=e.i(621082);function E(e,t,n,r,l,a,i,s,o,u=2){let c=(0,C.getGridNavigatedIndex)(n.current,{event:e,orientation:r,loopFocus:l,rtl:a,cols:u,disabledIndices:i,minIndex:s,maxIndex:o,prevIndex:t>o?s:t,stopEvent:!0});return(0,C.isIndexOutOfListBounds)(n.current,c)?void 0:c}var j=e.i(584446),N=e.i(675606),I=e.i(56434);let R=l.createContext(void 0),k=l.createContext(void 0),w=l.createContext(void 0),A=l.createContext(!1),O=l.createContext("");function T(){let e=l.useContext(R);if(!e)throw Error((0,s.default)(22));return e}function P(){let e=l.useContext(k);if(!e)throw Error((0,s.default)(23));return e}function M(){let e=l.useContext(w);if(!e)throw Error((0,s.default)(24));return e}function D(){return l.useContext(O)}let V=(e,t)=>Object.is(e,t);function L(e,t,n){return null==e||null==t?Object.is(e,t):n(e,t)}function F(e,t,n){return!!e&&e.some(e=>void 0!==e&&L(t,e,n))}function _(e,t,n){return e?e.findIndex(e=>void 0!==e&&L(e,t,n)):-1}function B(e,t,n,r){let l=r&&Array.isArray(t)?e.findIndex(function(e,t){if(t!==V)return n=>F(e,n,t);let n=new Set(e);return n.delete(void 0),t=>n.has(t)&&(0!==t||e.some(e=>Object.is(t,e)))}(t,n)):_(e,t,n);return -1===l?null:l}function H(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch{return String(e)}}function K(e){var t;return"object"==typeof(t=e?.[0])&&null!=t&&Array.isArray(t.items)}function z(e){return K(e)?e.flatMap(e=>e.items):e}function q(e,t){if(t&&null!=e)return t(e)??"";if(e&&"object"==typeof e){if("label"in e&&null!=e.label)return String(e.label);if("value"in e)return String(e.value)}return H(e)}function W(e,t){return t&&null!=e?t(e)??"":e&&"object"==typeof e&&"value"in e&&"label"in e?H(e.value):H(e)}let G={id:e=>e.id,labelId:e=>e.labelId,items:e=>e.items,selectedValue:e=>e.selectedValue,hasSelectionChips:e=>{let t=e.selectedValue;return Array.isArray(t)&&t.length>0},hasSelectedValue:e=>{let{selectedValue:t,selectionMode:n}=e;return null!=t&&(!("multiple"===n&&Array.isArray(t))||t.length>0)},hasNullItemLabel:(e,t)=>!!t&&function(e){if(!Array.isArray(e))return null!=e&&"null"in e;if(K(e)){for(let t of e)for(let e of t.items)if(e&&null==e.value&&null!=e.label)return!0;return!1}for(let t of e)if(t&&null==t.value&&null!=t.label)return!0;return!1}(e.items),open:e=>e.open,mounted:e=>e.mounted,forceMounted:e=>e.forceMounted,inline:e=>e.inline,activeIndex:e=>e.activeIndex,selectedIndex:e=>e.selectedIndex,isActive:(e,t)=>e.activeIndex===t,isSelected:(e,t)=>{let n=e.isItemEqualToValue,r=e.selectedValue;return Array.isArray(r)?r.some(e=>L(t,e,n)):L(t,r,n)},transitionStatus:e=>e.transitionStatus,popupProps:e=>e.popupProps,listProps:e=>e.listProps,inputProps:e=>e.inputProps,triggerProps:e=>e.triggerProps,itemProps:e=>e.itemProps,positionerElement:e=>e.positionerElement,listElement:e=>e.listElement,popupId:e=>e.popupId,triggerElement:e=>e.triggerElement,inputElement:e=>e.inputElement,inputGroupElement:e=>e.inputGroupElement,popupSide:e=>e.popupSide,openMethod:e=>e.openMethod,inputInsidePopup:e=>e.inputInsidePopup,inputOwnsFormValue:e=>e.inputOwnsFormValue,selectionMode:e=>e.selectionMode,name:e=>e.name,form:e=>e.form,disabled:e=>e.disabled,readOnly:e=>e.readOnly,required:e=>e.required,grid:e=>e.grid,virtualized:e=>e.virtualized,itemToStringLabel:e=>e.itemToStringLabel,isItemEqualToValue:e=>e.isItemEqualToValue,modal:e=>e.modal,autoHighlight:e=>e.autoHighlight};var U=e.i(137584),$=e.i(469690),Y=e.i(381104),J=e.i(884708),Q=e.i(538489);function X(e){return null==e?void 0:`${e}-popup`}let Z=new Map,ee=function(e={}){let t={usage:"search",sensitivity:"base",ignorePunctuation:!0,...e},n=`${function e(t){return Array.isArray(t)?t.map(t=>e(t)).join(","):null==t?"":String(t)}(e.locale)}|${JSON.stringify(t)}`,r=Z.get(n);if(r)return r;let l=new Intl.Collator(e.locale,t),a={contains(e,t,n){if(!t)return!0;let r=q(e,n);for(let e=0;e<=r.length-t.length;e+=1)if(0===l.compare(r.slice(e,e+t.length),t))return!0;return!1},startsWith(e,t,n){if(!t)return!0;let r=q(e,n);return 0===l.compare(r.slice(0,t.length),t)},endsWith(e,t,n){if(!t)return!0;let r=q(e,n),a=t.length;return r.length>=a&&0===l.compare(r.slice(r.length-a),t)}};return Z.set(n,a),a};var et=e.i(223910),en=e.i(32199),er=e.i(606039),el=e.i(264111),ea=e.i(176782);let ei=Symbol("none"),es={value:ei,index:-1};var eo=e.i(872855);function eu(e){let n,r,{id:a,onOpenChangeComplete:i,defaultSelectedValue:C=null,selectedValue:T,onSelectedValueChange:P,defaultInputValue:M,inputValue:D,open:H,defaultOpen:X=!1,selectionMode:Z,onItemHighlighted:eu,name:ec,form:ed,disabled:ep=!1,readOnly:ef=!1,required:em=!1,inputRef:ex,grid:eh=!1,items:eg,filteredItems:ev,filter:eb,filterQuery:eS,openOnInputClick:ey=!0,autoHighlight:eC=!1,keepHighlight:eE=!1,highlightItemOnHover:ej=!0,loopFocus:eN=!0,itemToStringLabel:eI,itemToStringValue:eR,isItemEqualToValue:ek=V,virtualized:ew=!1,inline:eA=!1,fillInputOnItemPress:eO=!0,modal:eT=!1,limit:eP=-1,autoComplete:eM="list",formAutoComplete:eD,locale:eV,submitOnItemClick:eL=!1}=e,{clearErrors:eF}=(0,J.useFormContext)(),{setDirty:e_,validityData:eB,setFilled:eH,name:eK,disabled:ez,setTouched:eq,setFocused:eW,validationMode:eG,validation:eU}=(0,$.useFieldRootContext)(),e$=(0,eo.useDirection)(),eY=(0,Q.useLabelableId)({id:a}),eJ=ee({locale:eV}),eQ=Array.isArray(eg)?null:eg;if(eQ&&"function"!=typeof eQ.label)throw Error((0,s.default)(100));let eX=eQ?eQ.data:eg,eZ=eQ?.value,e0=eZ?void 0:eX,e1=l.useMemo(()=>{let e;if(!ev||!eZ)return;let t=z(ev),n=t.map(eZ);return{values:n,findItem(r,l){if(!e){e=new Map;for(let r=0;r<n.length;r+=1)e.has(n[r])||e.set(n[r],t[r])}var a=e;let i=a.get(r);if(void 0!==i||l===V)return i;for(let[e,t]of a)if(L(e,r,l))return t}}},[ev,eZ]),e2=l.useMemo(()=>eQ?e=>eQ.label(e,ek,e=>{let t=e1?.findItem(e,ek);return null!=t?eQ.itemLabel(t):q(e,eI)}):eI,[eQ,eI,e1,ek]),e3=l.useMemo(()=>eQ?Object.assign(e=>eQ.itemLabel(e),{selected:e=>q(e,e2)}):eI,[eQ,e2,eI]);function e6(e){return q(e,e2)}let[e5,e4]=l.useState(!1),[e8,e7]=l.useState(null),e9=l.useRef(e8),te=l.useRef([]),tt=l.useRef([]),tn=l.useRef(null),tr=l.useRef(null),tl=l.useRef(null),ta=l.useRef(null),ti=l.useRef(null),ts=l.useRef(!0),to=l.useRef(!1),tu=l.useRef(null),tc=l.useRef(null),td=l.useRef(null),tp=l.useRef(es),tf=l.useRef(null),tm=l.useRef([]),tx=l.useRef(null),th=ez||ep,tg=eK??ec,tv="multiple"===Z,tb="single"===Z,tS=void 0!==D||void 0!==M,ty=void 0!==eX,tC=void 0!==ev;n="always"===eC?"always":!!eC&&"input-change";let[tE,tj]=(0,o.useControlled)({controlled:T,default:tv?C??h.EMPTY_ARRAY:C,name:"Combobox",state:"selectedValue"}),tN=l.useMemo(()=>null===eb?()=>!0:void 0!==eb?eb:(e,t)=>null!=e&&eJ.contains(e,t,e3),[eb,eJ,e3]),tI=(0,m.useRefWithInit)(()=>tS?M??"":tb?e6(tE):"").current,[tR,tk]=(0,o.useControlled)({controlled:D,default:tI,name:"Combobox",state:"inputValue"}),[tw,tA]=(0,o.useControlled)({controlled:H,default:X,name:"Combobox",state:"open"}),tO=K(eX),tT=tw||null===e8?String(tR).trim():e8,tP=tb?e6(tE):"",tM=tb&&!e5&&""!==tT&&tP.length===tT.length&&eJ.contains(tP,tT),tD=tM?"":eS??tT,tV=ty&&tC&&tM&&(!eQ||eQ.hasValue(tE,ek)),tL=l.useMemo(()=>eX?z(eX):h.EMPTY_ARRAY,[eX]),tF=l.useMemo(()=>{if(ev&&!tV)return ev;if(!eX)return h.EMPTY_ARRAY;if(tO){let e=[],t=0;for(let n of eX){if(eP>-1&&t>=eP)break;let r=eP>-1?eP-t:1/0,l=""===tD?n.items.slice(0,r):[];if(""!==tD)for(let e of n.items){if(l.length>=r)break;tN(e,tD,e3)&&l.push(e)}if(l.length>0){let r={...n,items:l};e.push(r),t+=l.length}}return e}if(""===tD)return eP>-1?tL.slice(0,eP):tL;let e=[];for(let t of tL){if(eP>-1&&e.length>=eP)break;tN(t,tD,e3)&&e.push(t)}return e},[ev,tV,eX,tO,tD,eP,tN,e3,tL]),t_=l.useMemo(()=>{if(e1&&tF===ev)return e1.values;let e=z(tF);return eZ?e.map(e=>eZ(e)):e},[tF,ev,e1,eZ]),tB=(0,m.useRefWithInit)(()=>{let e=null;return eA&&tw&&ty&&"none"!==Z&&(e=B(t_,tE,ek,tv)),new x.ReactStore({id:eY,labelId:void 0,selectedValue:tE,open:tw,items:e0,selectionMode:Z,name:tg,form:ed,disabled:th,readOnly:ef,required:em,grid:eh,virtualized:ew,openOnInputClick:ey,itemToStringLabel:e2,isItemEqualToValue:ek,modal:eT,autoHighlight:n,submitOnItemClick:eL,hasInputValue:tS,mounted:!1,forceMounted:!1,transitionStatus:"idle",inline:eA,activeIndex:null,selectedIndex:e,popupProps:{},listProps:{},inputProps:{},triggerProps:{},itemProps:h.EMPTY_OBJECT,positionerElement:null,listElement:null,popupId:void 0,triggerElement:null,inputElement:null,inputGroupElement:null,popupSide:null,openMethod:null,inputInsidePopup:!0,inputOwnsFormValue:"none"===Z},{onOpenChangeComplete:h.NOOP,setOpen:h.NOOP,setInputValue:h.NOOP,setSelectedValue:h.NOOP,setIndices:h.NOOP,handleSelection:h.NOOP,forceMount:h.NOOP,requestSubmit:h.NOOP,listRef:te,labelsRef:tt,popupRef:tn,emptyRef:ti,inputRef:tr,startDismissRef:tl,endDismissRef:ta,keyboardActiveRef:ts,chipsContainerRef:tu,clearRef:tc,valuesRef:tm,pointerDownItemRef:tx,selectionEventRef:td},G)}).current,tH="none"===Z?tR:tE,tK=l.useMemo(()=>"none"===Z?tH:Array.isArray(tE)?tE.map(e=>W(e,eR)):W(tE,eR),[tH,eR,Z,tE]),tz=(0,c.useStableCallback)(eu),tq=(0,c.useStableCallback)(i),tW=tB.useState("activeIndex"),tG=tB.useState("selectedIndex"),tU=tB.useState("positionerElement"),t$=tB.useState("listElement"),tY=tB.useState("triggerElement"),tJ=tB.useState("inputElement"),tQ=tB.useState("inputGroupElement"),tX=tB.useState("inline"),tZ=tB.useState("inputInsidePopup"),t0=tB.useState("inputOwnsFormValue"),t1=tb&&!tZ&&tR===tP,t2=(0,p.useValueAsRef)(tY),{mounted:t3,setMounted:t6,transitionStatus:t5}=(0,et.useTransitionStatus)(tw),{openMethod:t4,triggerProps:t8}=(0,en.useOpenInteractionType)(tw),t7=(0,c.useStableCallback)(()=>tK);(0,Y.useRegisterFieldControl)(tZ?t2:tr,eY,tH,t7,!th,ec);let t9=(0,c.useStableCallback)(()=>{eX?tt.current=t_.map(e6):tB.set("forceMounted",!0)}),ne=(0,c.useStableCallback)((e,t,n)=>{if(-1===t){if(tp.current===es)return;tp.current=es}else tp.current={value:e,index:t};tz(e,(0,N.createGenericEventDetails)(n,void 0,{index:t}))}),nt=(0,c.useStableCallback)(e=>{let t={};void 0!==e.activeIndex&&(t.activeIndex=e.activeIndex),void 0!==e.selectedIndex&&(t.selectedIndex=e.selectedIndex),tB.update(t);let n=e.activeIndex;if(void 0===n)return;let r=e.type||I.REASONS.none;null===n?ne(void 0,-1,r):ne(tm.current[n],n,r)}),nn=(0,c.useStableCallback)((t,r)=>{if(e.onInputValueChange?.(t,r),!r.isCanceled){if(to.current=r.reason===I.REASONS.inputClear,r.reason===I.REASONS.inputChange){tw&&null!==e8&&e7(null);let e=r.event,l=e.inputType;if("compositionend"===e.type||null!=l&&""!==l&&"insertReplacementText"!==l){let e=""!==t.trim();e&&e4(!0),tf.current={hasQuery:e};let r=tB.state.listElement;if(!tB.state.virtualized&&r){let e=tn.current;for(let t of(0,g.getOverflowAncestors)(r.firstElementChild??r)){if(!(0,g.isHTMLElement)(t)||(e?!(0,j.contains)(e,t):"dialog"===t.getAttribute("role")))break;if(function(e,t=!1){let{overflowY:n}=(0,g.getComputedStyle)(e);return("auto"===n||"scroll"===n)&&(t?e.clientHeight>0:e.scrollHeight>e.clientHeight)}(t)){t.scrollTop=0;break}}}e&&n&&null==tB.state.activeIndex&&(tw||tX)&&tB.set("activeIndex",0)}}else r.reason===I.REASONS.inputClear&&""===t&&tB.state.inputInsidePopup&&(tf.current={hasQuery:!1,selection:!0});tk(t)}}),nr=(0,c.useStableCallback)(e=>{let t=!e&&tZ&&!tX&&""!==tR&&(String(tR).trim()===e8||tR===tP);!e&&(t||""===tR||t1)&&e4(!1),e7(null),t&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear))}),nl=(0,c.useStableCallback)((t,n)=>{if(tw!==t&&(n.reason===I.REASONS.escapeKey&&ty&&0===t_.length&&!ti.current&&n.allowPropagation(),e.onOpenChange?.(t,n),!n.isCanceled&&(t&&null!==e8&&nr(n.reason===I.REASONS.inputChange),!t&&e5&&(tb?(tX||e7(tT),""===tT&&e4(!1)):tv&&(tX||e7(tT),tZ&&nt({activeIndex:null}),(!tZ||tX)&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear,n.event,void 0,{isItemPress:n.reason===I.REASONS.itemPress})))),tA(t),!t&&tZ&&(n.reason===I.REASONS.focusOut||n.reason===I.REASONS.outsidePress))&&(eq(!0),eW(!1),"onBlur"===eG))){let e="none"===Z?tR:tE;eU.commit(e)}}),na=(0,c.useStableCallback)((e,t)=>{P?.(e,t),t.isCanceled||(tj(e),("none"===Z&&tn.current&&eO||tb&&!tB.state.inputInsidePopup)&&nn(e6(e),(0,N.createChangeEventDetails)(t.reason,t.event)))}),ni=(0,c.useStableCallback)((e,t)=>{let n=(0,j.getTarget)(e),r=td.current??e;td.current=null;let l=(0,N.createChangeEventDetails)(I.REASONS.itemPress,r),a=n?.closest("a")?.getAttribute("href");if(a){a.startsWith("#")&&nl(!1,l);return}if(tv){let e=Array.isArray(tE)?tE:[],n=F(e,t,ek);if(na(n?e.filter(e=>!L(t,e,ek)):[...e,t],l),l.isCanceled||!(tr.current&&""!==tr.current.value.trim()))return;if(tB.state.inputInsidePopup){nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear,l.event,void 0,{isItemPress:!0}));let e=tf.current;e&&!n&&(e.toggledValue=t)}else nl(!1,l)}else{if(na(t,l),l.isCanceled)return;nl(!1,l)}}),ns=(0,c.useStableCallback)(()=>{let e=eU.inputRef.current?.form??tB.state.inputElement?.form;e&&"function"==typeof e.requestSubmit&&e.requestSubmit()}),no=(0,c.useStableCallback)(()=>{if(t6(!1),tq?.(!1),e4(!1),e7(null),"none"===Z?nt({activeIndex:null,selectedIndex:null}):nt({activeIndex:null}),tv&&tr.current&&""!==tr.current.value&&!to.current&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear)),tb)if(tB.state.inputInsidePopup)tr.current&&""!==tr.current.value&&nn("",(0,N.createChangeEventDetails)(I.REASONS.inputClear));else{let e=e6(tE);if(tr.current&&tr.current.value!==e){let t=""===e?I.REASONS.inputClear:I.REASONS.none;nn(e,(0,N.createChangeEventDetails)(t))}}}),nu=l.useMemo(()=>tX&&tU?{current:tU.closest('[role="dialog"]')}:tn,[tX,tU]);(0,U.useOpenChangeComplete)({enabled:!e.actionsRef,open:tw,ref:nu,onComplete(){tw||no()}}),l.useImperativeHandle(e.actionsRef,()=>({unmount:no}),[no]),(0,u.useIsoLayoutEffect)(function(){let e=null!==e9.current&&null===e8;e9.current=e8,(!tw||e&&ty)&&(tw||(tx.current=null),"none"===Z||nt({selectedIndex:B(ty?t_:tm.current,tE,ek,tv)}))},[tw,e8,tE,Z,tv,ty,t_,ek,nt]),(0,u.useIsoLayoutEffect)(()=>{eX&&(tm.current=t_,te.current.length=t_.length)},[eX,t_]),(0,u.useIsoLayoutEffect)(()=>{let e=tf.current;if(e){let t=tw||tX||tB.state.positionerElement?.hidden===!1;if(e.hasQuery)n&&t&&tB.set("activeIndex",0),tf.current=null;else if(""===String(tR).trim()&&(tf.current=null,t)){let t=e.selection;"always"!==n||t||"none"!==tB.state.selectionMode||tB.set("activeIndex",0),queueMicrotask(()=>{if(!tB.state.open&&!tB.state.inline||tr.current&&""!==tr.current.value.trim())return;let r=tB.state.selectedValue,l="multiple"===tB.state.selectionMode;if(l&&Array.isArray(r)?r.length>0:"none"!==tB.state.selectionMode&&null!=r){let t=ty||tC?t_:tm.current,n=_(t,e.toggledValue,tB.state.isItemEqualToValue);tB.set("activeIndex",-1!==n?n:B(t,r,tB.state.isItemEqualToValue,l))}else t?tB.set("activeIndex",null):"always"===n&&tB.set("activeIndex",0)})}}if(!tw&&!tX)return;let t=ty||tC?t_:tm.current,r=tB.state.activeIndex;if(null==r)return"always"===n&&t.length>0?void tB.set("activeIndex",0):void ne(void 0,-1,I.REASONS.none);if(r>=t.length){ne(void 0,-1,I.REASONS.none),tB.set("activeIndex",null);return}let l=t[r],a=tp.current.value,i=a!==ei&&L(l,a,tB.state.isItemEqualToValue);tp.current.index===r&&i||ne(l,r,I.REASONS.none)},[tW,n,ne,tC,ty,t_,tX,tw,tB,tR]),(0,u.useIsoLayoutEffect)(()=>{"none"===Z?eH(""!==String(tR)):eH(tv?Array.isArray(tE)&&tE.length>0:null!=tE)},[eH,Z,tR,tE,tv]),l.useEffect(()=>{ty&&n&&0===t_.length&&nt({activeIndex:null})},[ty,n,t_.length,nt]);let nc=!1;function nd(){nc||tR===tP||(nc=!0,nn(tP,(0,N.createChangeEventDetails)(I.REASONS.none)))}function np(){!tb||tS||tZ||e5||nd()}(0,er.useValueChanged)(tT,function(){tw&&""!==tT&&tT!==String(tI)&&!t1&&e4(!0)}),(0,er.useValueChanged)(tw,function(){tw&&null!==e8&&nr(!1)}),(0,er.useValueChanged)(tE,function(){if("none"!==Z){var e;eF(tg),e_((e=eB.initialValue,Array.isArray(tE)&&Array.isArray(e)?!function(e,t,n=Object.is){let{length:r}=e;if(r!==t.length)return!1;for(let l=0;l<r;l+=1)if(!n(e[l],t[l]))return!1;return!0}(tE,e,(e,t)=>L(e,t,ek)):tE!==e)),eU.change(tE),!tb||tS||tZ||nd()}}),(0,er.useValueChanged)(tP,np),(0,er.useValueChanged)(eX,np),(0,er.useValueChanged)(tR,function(){"none"===Z&&(eF(tg),e_(tR!==eB.initialValue),eU.change(tR))});let nf=(0,b.useFloatingRootContext)({open:!!tX||tw,onOpenChange:nl,elements:{reference:tZ?tY:tJ,floating:tU}}),nm=eh?"grid":"listbox",nx=tw||tX,nh=nx?"true":"false",ng=l.useMemo(()=>{let e=tJ?.tagName==="INPUT",t=null==tJ||e,n=t||nx,r=t?{autoComplete:"off",spellCheck:"false",autoCorrect:"off",autoCapitalize:"none"}:{};return n&&(r.role="combobox",r["aria-expanded"]=nh,r["aria-haspopup"]=nm,r["aria-controls"]=nx?t$?.id:void 0,r["aria-autocomplete"]=ef?"none":eM),{reference:r,floating:{role:"presentation"}}},[tJ,nx,nh,nm,t$?.id,eM,ef]),nv=(0,y.useClick)(nf,{enabled:!th&&ey,event:"mousedown-only",toggle:!1,touchOpenDelay:100*!tZ,reason:I.REASONS.inputPress}),nb=(0,v.useDismiss)(nf,{enabled:!th&&!tX,outsidePressEvent:{mouse:"sloppy",touch:"intentional"},bubbles:!!tX||void 0,outsidePress(e){let t=(0,j.getTarget)(e);return!(0,j.contains)(tY,t)&&!(0,j.contains)(tc.current,t)&&!(0,j.contains)(tu.current,t)&&!(0,j.contains)(tQ,t)}}),nS=(0,S.useListNavigation)(nf,{enabled:!th,id:eY,listRef:te,activeIndex:tW,selectedIndex:tG,virtual:!0,loopFocus:eN,allowEscape:eN&&!n,focusItemOnOpen:!e5&&("none"!==Z||!!n)&&"auto",focusItemOnHover:ej,resetOnPointerLeave:!eE,orientation:eh?"horizontal":void 0,rtl:"rtl"===e$,disabledIndices:h.EMPTY_ARRAY,grid:eh?E:void 0,onNavigate(e,t){(t||tw)&&"ending"!==t5&&(t?nt({activeIndex:e,type:ts.current?I.REASONS.keyboard:I.REASONS.pointer}):nt({activeIndex:e}))}}),ny=l.useMemo(()=>(0,ea.mergeProps)(nS.reference,{onKeyDown(e){eh&&null==tB.state.activeIndex&&("ArrowLeft"===e.key||"ArrowRight"===e.key)&&e.preventBaseUIHandler()}},nb.reference,nv.reference,ng.reference),[nS.reference,nb.reference,nv.reference,ng.reference,eh,tB]),nC=l.useMemo(()=>(0,ea.mergeProps)(el.FOCUSABLE_POPUP_PROPS,nb.floating),[nb.floating]),nE=l.useMemo(()=>(0,ea.mergeProps)(nS.floating,ng.floating),[nS.floating,ng.floating]),nj=l.useMemo(()=>{let e=nS.item;return e?{...e,onFocus:void 0}:h.EMPTY_OBJECT},[nS.item]);tB.useContextCallback("setOpen",nl),tB.useContextCallback("setInputValue",nn),tB.useContextCallback("setSelectedValue",na),tB.useContextCallback("setIndices",nt),tB.useContextCallback("handleSelection",ni),tB.useContextCallback("forceMount",t9),tB.useContextCallback("requestSubmit",ns),tB.useContextCallback("onOpenChangeComplete",i),(r=l.useRef(!0)).current&&(r.current=!1,(()=>{tB.update({inline:eA,popupProps:nC,listProps:nE,inputProps:ny,triggerProps:t8,itemProps:nj})})());let nN={id:eY,selectedValue:tE,open:tw,mounted:t3,transitionStatus:t5,items:e0,inline:eA,popupProps:nC,listProps:nE,inputProps:ny,triggerProps:t8,itemProps:nj,openMethod:t4,selectionMode:Z,name:tg,form:ed,disabled:th,readOnly:ef,required:em,grid:eh,virtualized:ew,openOnInputClick:ey,itemToStringLabel:e2,modal:eT,autoHighlight:n,isItemEqualToValue:ek,submitOnItemClick:eL,hasInputValue:tS};(0,u.useIsoLayoutEffect)(()=>{tB.update({...nN,inputOwnsFormValue:"none"===Z&&(eA||!tB.state.inputInsidePopup)})},[tB,...Object.values(nN)]);let nI=(0,d.useMergedRefs)(ex,eU.inputRef),nR=l.useMemo(()=>({query:tT,hasItems:ty,filteredItems:tF,flatFilteredValues:t_}),[tT,ty,tF,t_]),nk=l.useMemo(()=>Array.isArray(tH)?"":W(tH,eR),[tH,eR]),nw=tv&&Array.isArray(tE)&&tE.length>0,nA=tv||"none"===Z&&t0?void 0:tg,nO=l.useMemo(()=>tv&&Array.isArray(tE)&&tg?tE.map(e=>{let n=W(e,eR);return(0,t.jsx)("input",{type:"hidden",form:ed,name:tg,value:n,disabled:th},n)}):null,[tv,tE,ed,tg,eR,th]),nT=(0,t.jsxs)(l.Fragment,{children:[e.children,(0,t.jsx)("input",{...eU.getValidationProps(th,{onFocus(){tZ?tY?.focus():(tr.current||tY)?.focus()},onChange(e){if(e.nativeEvent.defaultPrevented||th||ef)return;let t=e.currentTarget.value,n=t.toLowerCase(),r=(0,N.createChangeEventDetails)(I.REASONS.none,e.nativeEvent),l=()=>tm.current.findIndex(e=>W(e,eR).toLowerCase()===n||e6(e).toLowerCase()===n);tb&&(t9(),eX&&-1===l()&&tB.set("forceMounted",!0)),queueMicrotask(function(){if(tv)return;if("none"===Z)return void nn(t,r);let e=l();-1===e&&(e=tm.current.findIndex((e,t)=>{let r=tt.current[t];return null!=r&&r.toLowerCase()===n}));let a=-1===e?void 0:tm.current[e];null!=a&&na?.(a,r)})}}),id:eY&&null==nA?`${eY}-hidden-input`:void 0,form:ed,name:nA,autoComplete:eD,disabled:th,required:em&&!nw,readOnly:ef,value:nk,ref:nI,style:nA?f.visuallyHiddenInput:f.visuallyHidden,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),nO]});return(0,t.jsx)(R.Provider,{value:tB,children:(0,t.jsx)(k.Provider,{value:nf,children:(0,t.jsx)(A.Provider,{value:ty,children:(0,t.jsx)(w.Provider,{value:nR,children:(0,t.jsx)(O.Provider,{value:tR,children:nT})})})})})}var ec=e.i(439957),ed=e.i(108868),ep=e.i(552245),ef=e.i(540886),em=e.i(879938),ex=e.i(875812),eh=e.i(145147);eh.CommonTriggerDataAttributes.popupOpen,eh.CommonTriggerDataAttributes.pressed;let eg={...em.pressableTriggerOpenStateMapping,...ex.fieldValidityMapping,popupSide:e=>e?{"data-popup-side":e}:null,listEmpty:e=>e?{"data-list-empty":""}:null};var ev=e.i(247778),eb=e.i(157940),eS=e.i(264042),ey=e.i(736760);function eC(e){let t=e.useState("mounted"),n=e.useState("popupSide"),r=e.useState("positionerElement");return t&&r?n:null}function eE(){return 0===M().filteredItems.length}function ej(e,t,n){let r=e.context.listRef.current[t];r&&(e.context.selectionEventRef.current=n,r.click(),e.context.selectionEventRef.current=null)}let eN=l.forwardRef(function(e,t){let n,{render:r,className:a,nativeButton:i=!0,disabled:s=!1,id:o,style:u,...d}=e,{state:p,disabled:f,setTouched:m,setFocused:x,validationMode:h,validation:g}=(0,$.useFieldRootContext)(),{labelId:v}=(0,ev.useLabelableContext)(),b=T(),S=b.useState("selectionMode"),C=b.useState("disabled"),E=b.useState("readOnly"),R=b.useState("required"),k=b.useState("positionerElement"),w=b.useState("listElement"),A=b.useState("popupId"),O=b.useState("triggerProps"),M=b.useState("inputInsidePopup"),V=b.useState("id"),L=b.useState("labelId"),F=b.useState("open"),_=b.useState("selectedValue"),B=b.useState("activeIndex"),H=b.useState("selectedIndex"),K=b.useState("hasSelectedValue"),z=P(),q=D(),W=(0,ec.useTimeout)(),G=f||C||s,U=eE(),Y=eC(b);(0,Q.useLabelableId)({id:M?o:void 0});let J=M?o??V:o;F&&M?n=A??X(V):F&&(n=w?.id);let Z=l.useRef("");function ee(e){Z.current=e.pointerType}let{reference:et}=(0,ey.useTypeahead)(z,{enabled:!F&&!E&&!C&&"single"===S,listRef:b.context.labelsRef,activeIndex:B,selectedIndex:H,onMatch(e){let t=b.context.valuesRef.current[e];void 0!==t&&b.context.setSelectedValue(t,(0,N.createChangeEventDetails)(I.REASONS.none))}}),{reference:en}=(0,y.useClick)(z,{enabled:!C,event:"mousedown"}),{buttonRef:er,getButtonProps:el}=(0,ef.useButton)({native:i,disabled:G}),ea={...p,readOnly:E,open:F,disabled:G,popupSide:Y,listEmpty:U,placeholder:"none"!==S&&!K},ei=(0,c.useStableCallback)(e=>{b.set("triggerElement",e)});return(0,ep.useRenderElement)("button",e,{ref:[t,er,ei],state:ea,props:[O,en,et,{id:J,tabIndex:M?0:-1,role:M?"combobox":void 0,"aria-expanded":F,"aria-haspopup":M?"dialog":"listbox","aria-controls":n,"aria-required":M&&R||void 0,"aria-readonly":M&&E||void 0,"aria-labelledby":v??L,onPointerDown:ee,onPointerEnter:ee,onFocus(){x(!0),G||W.start(0,b.context.forceMount)},onBlur(e){(0,j.contains)(k,e.relatedTarget)||(m(!0),x(!1),"onBlur"===h&&g.commit("none"===S?q:_))},onMouseDown(e){if(G||(M||z.set("domReferenceElement",e.currentTarget),b.context.forceMount(),"touch"!==Z.current&&(b.context.inputRef.current?.focus(),M||e.preventDefault()),F))return;let t=(0,ed.ownerDocument)(e.currentTarget);M&&t.addEventListener("mouseup",function(e){let t=b.state.triggerElement;if(!t)return;let n=(0,j.getTarget)(e),r=b.state.positionerElement,l=b.state.listElement;(0,j.contains)(t,n)||(0,j.contains)(r,n)||(0,j.contains)(l,n)||(0,eS.isMouseWithinBounds)(e,t)||b.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.cancelOpen,e))},{once:!0})},onKeyDown(e){("ArrowDown"===e.key||"ArrowUp"===e.key)&&((0,eb.stopEvent)(e),b.context.setOpen(!0,(0,N.createChangeEventDetails)(I.REASONS.listNavigation,e.nativeEvent)),b.context.inputRef.current?.focus())}},g.getValidationProps(G,d),el],stateAttributesMapping:eg})});var eI=e.i(328744),eR=e.i(788015);let ek=l.createContext(void 0),ew=l.createContext(void 0);function eA(e){let t=l.useContext(ew);if(void 0===t&&!e)throw Error((0,s.default)(21));return t}let eO=l.forwardRef(function(e,n){let r=T(),{buttonRef:l,getButtonProps:a}=(0,ef.useButton)({native:!1}),i=(0,d.useMergedRefs)(n,l),s=a({onClick:function(e){r.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.closePress,e.nativeEvent,e.currentTarget))}});return(0,t.jsx)("span",{ref:i,...s,"aria-label":"Dismiss",tabIndex:void 0,style:f.visuallyHiddenInput})}),eT=l.forwardRef(function(e,n){let{render:r,className:a,disabled:i=!1,id:s,style:o,...u}=e,{state:d,disabled:p,setTouched:f,setFocused:m,validationMode:x,validation:h}=(0,$.useFieldRootContext)(),{labelId:g}=(0,ev.useLabelableContext)(),v=l.useContext(ek),b=!!eA(!0),S=T(),y=D(),C=(0,eo.useDirection)(),E=S.useState("required"),j=S.useState("disabled"),R=S.useState("readOnly"),k=S.useState("name"),w=S.useState("form"),A=S.useState("selectionMode"),O=S.useState("autoHighlight"),P=S.useState("inputProps"),M=S.useState("triggerProps"),V=S.useState("open"),L=S.useState("mounted"),F=S.useState("selectedValue"),_=S.useState("id"),B=S.useState("inline"),H=S.useState("modal"),K=!!O,z=eC(S),q=p||j||i,W=eE(),G=b||B,U=(0,eR.useBaseUiId)(s??(G?void 0:_)),Y=b?ex.DEFAULT_FIELD_STATE_ATTRIBUTES:d,[J,Q]=l.useState(null),X=l.useRef(!1),Z=l.useRef(null),ee=l.useRef(!1),et="none"===A&&!b,en=(0,c.useStableCallback)(e=>{let t=b||S.state.inline;t&&!S.state.hasInputValue&&S.context.setInputValue("",(0,N.createChangeEventDetails)(I.REASONS.none)),S.update({inputElement:e,inputInsidePopup:t,inputOwnsFormValue:et})}),er=b?u:h.getValidationProps(q,u);function el(){S.context.setIndices({activeIndex:null,selectedIndex:null,type:S.context.keyboardActiveRef.current?I.REASONS.keyboard:I.REASONS.pointer})}function ea(){S.context.keyboardActiveRef.current=!1}let ei={...Y,open:V,disabled:q,readOnly:R,popupSide:z,listEmpty:W},es=(0,ep.useRenderElement)("input",e,{state:ei,ref:[n,S.context.inputRef,en],props:[P,M,{value:J??y,"aria-readonly":R||void 0,"aria-required":E||void 0,"aria-labelledby":g,disabled:q,readOnly:R,required:"none"===A?E:void 0,form:w,...et&&k&&{name:k},id:U,onFocus(){if(m(!0),!B||!ee.current)return;ee.current=!1;let e=Z.current;null!=e&&Object.hasOwn(S.context.valuesRef.current,e)&&S.context.setIndices({activeIndex:e})},onBlur(){f(!0),m(!1);let e=S.state.activeIndex;if(B&&null!==e&&"always"!==O&&(Z.current=e,ee.current=!0,S.context.setIndices({activeIndex:null})),"onBlur"===x){let e="none"===A?y:F;h.commit(e)}},onCompositionStart(e){eI.platform.os.android||(X.current=!0,Q(e.currentTarget.value))},onCompositionEnd(e){X.current=!1;let t=e.currentTarget.value;Q(null),S.context.setInputValue(t,(0,N.createChangeEventDetails)(I.REASONS.inputChange,e.nativeEvent))},onChange(e){let t=e.nativeEvent,n=t.inputType,r=X.current||!(!n||"insertReplacementText"===n);function l(e){!R&&!q&&e&&r&&(S.context.setOpen(!0,(0,N.createChangeEventDetails)(I.REASONS.inputChange,t)),K||el())}if(X.current){let n=e.currentTarget.value;Q(n),""!==n||S.state.openOnInputClick||S.state.inputInsidePopup||S.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.inputClear,t));let r=n.trim(),a=K&&""!==r;l(r),V&&null!==S.state.activeIndex&&!a&&el();return}let a=(0,N.createChangeEventDetails)(I.REASONS.inputChange,t);if(S.context.setInputValue(e.currentTarget.value,a),a.isCanceled)return;let i=""===e.currentTarget.value,s=(0,N.createChangeEventDetails)(I.REASONS.inputClear,t);i&&!S.state.inputInsidePopup&&("single"===A&&S.context.setSelectedValue(null,s),S.state.openOnInputClick||S.context.setOpen(!1,s)),l(e.currentTarget.value.trim()),V&&null!==S.state.activeIndex&&!K&&el()},onKeyDown(e){if(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)return;if(S.context.keyboardActiveRef.current=!0,q||R){R&&"Enter"===e.key&&V&&null!==S.state.activeIndex&&(0,eb.stopEvent)(e);return}let t=e.currentTarget,n=t.scrollWidth-t.clientWidth,r="rtl"===C;if("Home"===e.key){(0,eb.stopEvent)(e);let n=eI.platform.engine.gecko&&r?t.value.length:0;t.setSelectionRange(n,n),t.scrollLeft=0;return}if("End"===e.key){(0,eb.stopEvent)(e);let l=eI.platform.engine.gecko&&r?0:t.value.length;t.setSelectionRange(l,l),t.scrollLeft=r?-n:n;return}if(!L&&"Escape"===e.key){let t="multiple"===A&&Array.isArray(F)?0===F.length:null===F,n=(0,N.createChangeEventDetails)(I.REASONS.escapeKey,e.nativeEvent);S.context.setInputValue("",n),S.context.setSelectedValue("multiple"===A?[]:null,n),t||S.state.inline||n.isPropagationAllowed||e.stopPropagation();return}if(v&&"Backspace"===e.key&&""===t.value&&void 0===v.highlightedChipIndex&&Array.isArray(F)&&F.length>0){let t=v.chipsRef.current.length,n=t>0?t-1:F.length-1,r=F.filter((e,t)=>t!==n);el(),S.context.setSelectedValue(r,(0,N.createChangeEventDetails)(I.REASONS.none,e.nativeEvent));return}let l=v?.highlightedChipIndex!==void 0,a=function(e){let t;if(!v)return;let{highlightedChipIndex:n}=v,r=v.chipsRef.current.length,[l,a]="rtl"===C?["ArrowRight","ArrowLeft"]:["ArrowLeft","ArrowRight"];if(void 0!==n){if(e.key===l)e.preventDefault(),t=n>0?n-1:void 0;else if(e.key===a)e.preventDefault(),t=n<r-1?n+1:void 0;else if("Backspace"===e.key||"Delete"===e.key){var i;let r;e.preventDefault(),t=(r=n>=(i=F.length)-1?i-2:n)>=0?r:void 0,el()}return t}return e.key===l&&(e.currentTarget.selectionStart??0)===0&&F.length>0&&(e.preventDefault(),t=r>0?r-1:void 0),t}(e);if(v?.setHighlightedChipIndex(a),void 0!==a?v?.chipsRef.current[a]?.focus():l&&S.context.inputRef.current?.focus(),229!==e.which&&"Enter"===e.key&&V){let t=S.state.activeIndex,n=e.nativeEvent;if(null===t){if(B)return;S.context.setOpen(!1,(0,N.createChangeEventDetails)(I.REASONS.none,n));return}(0,eb.stopEvent)(e),ej(S,t,n)}},onPointerMove:ea,onPointerDown:ea},er],stateAttributesMapping:eg}),eu=b?(0,t.jsx)($.FieldRootContext.Provider,{value:$.DEFAULT_FIELD_ROOT_CONTEXT,children:es}):es;return(0,t.jsxs)(l.Fragment,{children:[V&&(!G||H)&&(0,t.jsx)(eO,{ref:S.context.startDismissRef}),eu]})});var eP=e.i(596296);let eM=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e,{state:i}=(0,$.useFieldRootContext)(),s=T(),o=s.useState("open"),u=s.useState("disabled"),d=s.useState("readOnly"),p=s.useState("hasSelectedValue"),f=s.useState("selectionMode"),m=eC(s),x=eE(),h={...i,open:o,disabled:u,readOnly:d,popupSide:m,listEmpty:x,placeholder:"none"!==f&&!p},v=(0,c.useStableCallback)(e=>{s.set("inputGroupElement",e)});return(0,ep.useRenderElement)("div",e,{ref:[t,v],props:[{role:"group",onMouseDown(e){!function(e,t,n,r){if(e.baseUIHandlerPrevented)return;let l=(0,j.getTarget)(e.nativeEvent),a=(0,g.isElement)(l)?l:null;a!==e.currentTarget&&(r?.(a)||(0,eP.isInteractiveElement)(a))||(e.preventDefault(),!n&&(t.context.inputRef.current?.focus(),t.state.openOnInputClick&&t.context.setOpen(!0,(0,N.createChangeEventDetails)(I.REASONS.inputPress,e.nativeEvent))))}(e,s,u,e=>(0,j.contains)(s.context.chipsContainerRef.current,e))}},a],state:h,stateAttributesMapping:eg})}),eD=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e;return(0,ep.useRenderElement)("span",e,{ref:t,props:[{"aria-hidden":!0,children:"▼"},a]})});var eV=e.i(474354);let eL={...eV.transitionStatusMapping,...em.triggerOpenStateMapping},eF=l.forwardRef(function(e,t){let{render:n,className:r,disabled:l=!1,nativeButton:a=!0,keepMounted:i=!1,style:s,...o}=e,{disabled:u}=(0,$.useFieldRootContext)(),c=T(),d=c.useState("selectionMode"),p=c.useState("disabled"),f=c.useState("readOnly"),m=c.useState("open"),x=c.useState("selectedValue"),h=c.useState("hasSelectionChips"),g=D(),v=!1;v="none"===d?""!==g:"single"===d?null!=x:h;let b=u||p||l,{buttonRef:S,getButtonProps:y}=(0,ef.useButton)({native:a,disabled:b}),{mounted:C,transitionStatus:E,setMounted:j}=(0,et.useTransitionStatus)(v),R={disabled:b,visible:v,open:m,transitionStatus:E};(0,U.useOpenChangeComplete)({open:v,ref:c.context.clearRef,onComplete(){v||j(!1)}});let k=(0,ep.useRenderElement)("button",e,{state:R,ref:[t,S,c.context.clearRef],props:[{tabIndex:-1,children:"x",onMouseDown(e){e.preventDefault()},onClick(e){if(b||f)return;let t=c.context.keyboardActiveRef.current?I.REASONS.keyboard:I.REASONS.pointer;c.context.setInputValue("",(0,N.createChangeEventDetails)(I.REASONS.clearPress,e.nativeEvent)),"none"!==d?(c.context.setSelectedValue(Array.isArray(x)?[]:null,(0,N.createChangeEventDetails)(I.REASONS.clearPress,e.nativeEvent)),c.context.setIndices({activeIndex:null,selectedIndex:null,type:t})):c.context.setIndices({activeIndex:null,type:t}),c.context.inputRef.current?.focus()}},o,y],stateAttributesMapping:eL});return i||C?k:null}),e_=l.createContext(null);function eB(e){let{children:n,items:r}=e,a=l.useMemo(()=>({items:r}),[r]);return(0,t.jsx)(e_.Provider,{value:a,children:n})}function eH(e){let{children:n}=e,{filteredItems:r}=M(),a=l.useContext(e_),i=a?a.items:r;return(0,t.jsx)(l.Fragment,{children:i.map(n)})}var eK=e.i(53687);let ez=l.forwardRef(function(e,n){var r;let{render:a,className:i,style:s,children:o,...u}=e,d=T(),p=P(),f=!!eA(!0),{filteredItems:m,hasItems:x}=M(),h=d.useState("selectionMode"),g=d.useState("grid"),v=d.useState("readOnly"),b=d.useState("listProps"),S=d.useState("virtualized"),y=d.useState("forceMounted"),C=0===m.length,E=(0,c.useStableCallback)(e=>{d.set("positionerElement",e)}),j=(0,c.useStableCallback)(e=>{d.set("listElement",e)}),N=l.useMemo(()=>"function"==typeof o?r||(r=(0,t.jsx)(eH,{children:o})):o,[o]),I=p.useState("floatingId"),R=(0,ep.useRenderElement)("div",e,{state:{empty:C},ref:[n,j,f?null:E],props:[b,{children:N,tabIndex:-1,id:I,role:g?"grid":"listbox","aria-multiselectable":"multiple"===h?"true":void 0,"aria-readonly":!g&&!!v||void 0,onKeyDown(e){if(!d.state.disabled&&!d.state.readOnly&&"Enter"===e.key){let t=d.state.activeIndex;null!=t&&((0,eb.stopEvent)(e),ej(d,t,e.nativeEvent))}},onKeyDownCapture(){d.context.keyboardActiveRef.current=!0},onPointerMoveCapture(){d.context.keyboardActiveRef.current=!1}},u]});if(S)return R;let k=x&&!y?void 0:d.context.labelsRef;return(0,t.jsx)(eK.CompositeList,{elementsRef:d.context.listRef,labelsRef:k,children:R})});function eq(){let e=(0,ec.useTimeout)(),t=l.useRef(null);return l.useEffect(()=>{if(eI.platform.os.ios)return;let n=t.current;if(null==n)return;let r=function(e){let t=e.ownerDocument.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=null;for(;t.nextNode();){let e=t.currentNode;""!==e.nodeValue&&(n=e)}return n}(n);if(null==r)return;let l=r.data,a=`${l}\u2060`;return r.nodeValue=a,e.start(200,()=>{r.nodeValue===a&&(r.nodeValue=l)}),()=>{e.clear(),r.nodeValue===a&&(r.nodeValue=l)}},[t,e]),t}let eW=l.forwardRef(function(e,t){let{render:n,className:r,style:l,children:a,...i}=e,s=eq();return(0,ep.useRenderElement)("div",e,{ref:[t,s],props:[{children:a,role:"status","aria-live":"polite","aria-atomic":!0},i]})});var eG=e.i(726674);let eU=l.createContext(void 0),e$=l.forwardRef(function(e,n){let{keepMounted:r=!1,...l}=e,a=T(),i=a.useState("mounted"),s=a.useState("forceMounted");return i||r||s?(0,t.jsx)(eU.Provider,{value:r,children:(0,t.jsx)(eG.FloatingPortal,{ref:n,...l})}):null}),eY={...em.popupStateMapping,...eV.transitionStatusMapping},eJ=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e,i=T(),s=i.useState("open"),o=i.useState("mounted"),u=i.useState("transitionStatus");return(0,ep.useRenderElement)("div",e,{state:{open:s,transitionStatus:u},ref:t,stateAttributesMapping:eY,props:[{role:"presentation",hidden:!o,style:{userSelect:"none",WebkitUserSelect:"none"}},a]})});var eQ=e.i(144394),eX=e.i(923706),eZ=e.i(638396),e0=e.i(426),e1=e.i(789579),e2=e.i(33383);let e3=l.forwardRef(function(e,n){let{render:r,className:a,anchor:i,positionMethod:o,side:d,align:p,sideOffset:f,alignOffset:m,collisionBoundary:x="clipping-ancestors",collisionPadding:h,arrowPadding:g,sticky:v,disableAnchorTracking:b=!1,collisionAvoidance:S=eZ.DROPDOWN_COLLISION_AVOIDANCE,style:y,...C}=e,E=T(),j=P(),N=function(){let e=l.useContext(eU);if(void 0===e)throw Error((0,s.default)(20));return e}(),I=E.useState("modal"),R=E.useState("open"),k=E.useState("mounted"),w=E.useState("openMethod"),A=E.useState("positionerElement"),O=E.useState("triggerElement"),M=E.useState("inputElement"),D=E.useState("inputGroupElement"),V=E.useState("inputInsidePopup"),L=E.useState("transitionStatus"),F=eE(),_=(0,eX.useAnchorPositioning)({anchor:i??(V?O:D??M),floatingRootContext:j,positionMethod:o,mounted:k,side:d,sideOffset:f,align:p,alignOffset:m,arrowPadding:g,collisionBoundary:x,collisionPadding:h,sticky:v,disableAnchorTracking:b,keepMounted:N,collisionAvoidance:S,lazyFlip:!0});(0,e2.useAnchoredPopupScrollLock)(R&&I,"touch"===w,A,O);let B={open:R,side:_.side,align:_.align,anchorHidden:_.anchorHidden,empty:F};(0,u.useIsoLayoutEffect)(()=>{E.set("popupSide",_.side)},[E,_.side]);let H=(0,c.useStableCallback)(e=>{E.set("positionerElement",e)}),K=(0,e1.usePositioner)(e,B,{styles:_.positionerStyles,transitionStatus:L,props:C,refs:[n,H],hidden:!k,inert:!R});return(0,t.jsxs)(ew.Provider,{value:_,children:[k&&I&&(0,t.jsx)(e0.InternalBackdrop,{inert:(0,eQ.inertValue)(!R),cutout:D??M??O}),K]})});var e6=e.i(61487),e5=e.i(253984);let e4={...em.popupStateMapping,...eV.transitionStatusMapping},e8=l.forwardRef(function(e,n){let{render:r,className:a,style:i,initialFocus:s,finalFocus:o,...c}=e,d=T(),p=eA(),f=P(),m=d.useState("mounted"),x=d.useState("open"),h=d.useState("openMethod"),g=d.useState("popupProps"),v=d.useState("transitionStatus"),b=d.useState("inputInsidePopup"),S=d.useState("inputElement"),y=d.useState("modal"),C=d.useState("id"),E=eE(),N=c.id??(b?X(C):void 0);(0,u.useIsoLayoutEffect)(()=>(d.set("popupId",d.context.popupRef.current?.id||N),()=>{d.set("popupId",void 0)}),[d,N]),(0,U.useOpenChangeComplete)({open:x,ref:d.context.popupRef,onComplete(){x&&d.context.onOpenChangeComplete(!0)}});let I={open:x,side:p.side,align:p.align,anchorHidden:p.anchorHidden,transitionStatus:v,empty:E},R=(0,ep.useRenderElement)("div",e,{state:I,ref:[n,d.context.popupRef],props:[g,{id:N,role:b?"dialog":"presentation",onFocus(e){let t=(0,j.getTarget)(e.nativeEvent);"touch"!==h&&((0,j.contains)(d.state.listElement,t)||t===e.currentTarget)&&d.context.inputRef.current?.focus()}},(0,e5.getDisabledMountTransitionStyles)(v),c],stateAttributesMapping:e4}),k=!!b&&(e=>"touch"===e?d.context.popupRef.current:S),w=!b||y;return(0,t.jsx)(e6.FloatingFocusManager,{context:f,disabled:!m,modal:w,openInteractionType:h,initialFocus:void 0===s?k:s,returnFocus:null!=o?o:!!b&&void 0,getInsideElements:()=>[d.context.startDismissRef.current,d.context.endDismissRef.current],children:(0,t.jsxs)(l.Fragment,{children:[R,w&&(0,t.jsx)(eO,{ref:d.context.endDismissRef})]})})}),e7=l.forwardRef(function(e,t){let{render:n,className:r,style:l,...a}=e,i=T(),{arrowRef:s,side:o,align:u,arrowUncentered:c,arrowStyles:d}=eA(),p=i.useState("open");return(0,ep.useRenderElement)("div",e,{ref:[s,t],stateAttributesMapping:em.popupStateMapping,state:{open:p,side:o,align:u,uncentered:c},props:{style:d,"aria-hidden":!0,...a}})}),e9=l.createContext(void 0),te=l.forwardRef(function(e,n){let{render:r,className:a,style:i,items:s,...o}=e,u=T().useState("grid"),[c,d]=l.useState(),p=l.useMemo(()=>({labelId:c,setLabelId:d,items:s}),[c,d,s]),f=(0,ep.useRenderElement)("div",e,{ref:n,props:[{role:u?"rowgroup":"group","aria-labelledby":c},o]}),m=(0,t.jsx)(e9.Provider,{value:p,children:f});return s?(0,t.jsx)(eB,{items:s,children:m}):m}),tt=l.forwardRef(function(e,t){let{render:n,className:r,style:a,id:i,...o}=e,{setLabelId:c}=function(){let e=l.useContext(e9);if(void 0===e)throw Error((0,s.default)(18));return e}(),d=(0,eR.useBaseUiId)(i);return(0,u.useIsoLayoutEffect)(()=>(c(d),()=>{c(e=>e===d?void 0:e)}),[d,c]),(0,ep.useRenderElement)("div",e,{ref:t,props:[{id:d,"aria-hidden":!0},o]})});var tn=e.i(174080),tr=e.i(673553);let tl=l.createContext(void 0),ta=l.createContext(!1);function ti(e){let{componentProps:n,forwardedRef:r,virtualized:a,indexFromFilter:i}=e,{render:s,className:o,style:c,value:d=null,index:p,disabled:f=!1,nativeButton:m=!1,...x}=n,h=l.useRef(null),g=(0,tr.useCompositeListItem)({guess:!0,index:p,textRef:h}),v=T(),b=l.useContext(ta),S=l.useContext(A),y=v.useState("selectionMode"),C=v.useState("disabled"),E=v.useState("readOnly"),j=v.useState("isItemEqualToValue"),N=C||f,I="none"!==y,R=p??i??g.index,k=-1!==R,w=v.useState("id"),O=v.useState("isActive",R),P=v.useState("isSelected",d),M=v.useState("itemProps"),D=l.useRef(null),V=null!=w&&k?`${w}-${R}`:void 0,_=P&&I;(0,u.useIsoLayoutEffect)(()=>{if(!(k&&(a||null!=p)))return;let e=v.context.listRef.current;return e[R]=D.current,()=>{delete e[R]}},[k,a,R,p,v]),(0,u.useIsoLayoutEffect)(()=>{if(!k||S)return;let e=v.context.valuesRef.current;return e[R]=d,()=>{delete e[R]}},[k,S,R,d,v]),(0,u.useIsoLayoutEffect)(()=>{if(!k||S)return;let e=v.state.selectedValue,t=v.state.selectedIndex;if("multiple"===v.state.selectionMode&&Array.isArray(e)){var n,r;n=v.context.valuesRef.current,r=t,t=F(e,d,j)?null!=r&&R>r&&F(e,n[r],j)?r:R:R===r?B(n,e,j,!0):r}else L(d,e,j)&&(t=R);v.set("selectedIndex",t)},[k,S,v,R,d,j]);let{getButtonProps:H,buttonRef:K}=(0,ef.useButton)({disabled:N,focusableWhenDisabled:!0,native:m,composite:!0});function z(e){function t(){v.context.handleSelection(e,d)}v.state.submitOnItemClick?(tn.flushSync(t),v.context.requestSubmit()):t()}let q=(0,ep.useRenderElement)("div",n,{ref:[K,r,g.ref,D],state:{disabled:N,selected:_,highlighted:O},props:[M,{id:V,role:b?"gridcell":"option","aria-selected":I?_:void 0,tabIndex:void 0,onPointerDownCapture(e){e.isPrimary&&(v.context.pointerDownItemRef.current=e.currentTarget),e.preventDefault()},onMouseDown(e){e.preventDefault()},onClick(e){N||E||z(e.nativeEvent)},onMouseUp(e){let t=v.context.pointerDownItemRef.current===e.currentTarget;v.context.pointerDownItemRef.current=null,N||E||0!==e.button||t||!O||z(e.nativeEvent)}},x,H]}),W=l.useMemo(()=>({selected:_,textRef:h}),[_,h]);return(0,t.jsx)(tl.Provider,{value:W,children:q})}function ts(e){let{componentProps:n,forwardedRef:r}=e,l=T().useState("isItemEqualToValue"),{flatFilteredValues:a}=M(),i=_(a,n.value??null,l);return(0,t.jsx)(ti,{componentProps:n,forwardedRef:r,virtualized:!0,indexFromFilter:i})}let to=l.memo(l.forwardRef(function(e,n){let r=T().useState("virtualized");return r&&null==e.index?(0,t.jsx)(ts,{componentProps:e,forwardedRef:n}):(0,t.jsx)(ti,{componentProps:e,forwardedRef:n,virtualized:r,indexFromFilter:void 0})})),tu=l.forwardRef(function(e,n){let{render:r,className:l,style:a,...i}=e,s=(0,ep.useRenderElement)("div",e,{ref:n,props:[{role:"row"},i]});return(0,t.jsx)(ta.Provider,{value:!0,children:s})}),tc=l.forwardRef(function(e,t){let{render:n,className:r,style:l,children:a,...i}=e,{filteredItems:s}=M(),o=T(),u=eq(),c=0===s.length?a:null;return(0,ep.useRenderElement)("div",e,{ref:[t,o.context.emptyRef,u],props:[{children:c,role:"status","aria-live":"polite","aria-atomic":!0},i]})}),td=l.forwardRef(function(e,t){let{className:n,render:r,orientation:l="horizontal",style:a,...i}=e;return(0,ep.useRenderElement)("div",e,{state:{orientation:l},ref:t,props:[{role:"presentation"},i]})});e.s(["Arrow",0,e7,"Backdrop",0,eJ,"Clear",0,eF,"Collection",0,eH,"Empty",0,tc,"Group",0,te,"GroupLabel",0,tt,"Icon",0,eD,"Input",0,eT,"InputGroup",0,eM,"Item",0,to,"List",0,ez,"Popup",0,e8,"Portal",0,e$,"Positioner",0,e3,"Root",0,function(e){let n,{openOnInputClick:r=!1,value:a,defaultValue:i,onValueChange:s,mode:o="list",itemToStringValue:u,...c}=e,d=("inline"===o||"both"===o)&&!e.readOnly,p=void 0!==a,[f,m]=l.useState(i??""),[x,h]=l.useState("");l.useEffect(()=>{(p||!d)&&h("")},[a,p,d]),n=d&&""!==x?x:p?a??"":f;let g=ee({locale:c.locale}),v=String((p?a:f)??"").trim(),b="inline"===o||"none"===o||null===c.filter?null:c.filter??g.contains;return(0,t.jsx)(eu,{...c,itemToStringLabel:u,openOnInputClick:r,selectionMode:"none",fillInputOnItemPress:!0,filter:b,filterQuery:"both"===o?v:void 0,autoComplete:o,inputValue:n,defaultInputValue:i,onInputValueChange:function(e,t){h(""),p||m(e),s?.(e,t)},onItemHighlighted:function(t,n){e.onItemHighlighted?.(t,n),n.reason!==I.REASONS.pointer&&h(d&&null!=t?q(t,u):"")}})},"Row",0,tu,"Separator",0,td,"Status",0,eW,"Trigger",0,eN,"Value",0,function(e){let{children:n}=e,r=D(),a=null;return a="function"==typeof n?n(String(r)):null!=n?n:r,(0,t.jsx)(l.Fragment,{children:a})},"useFilter",0,ee,"useFilteredItems",0,function(){return M().filteredItems}],196799);var tp=e.i(196799),tp=tp,tf=e.i(716327),tm=e.i(611568),tx=e.i(23750),th=e.i(647163);function tg({value:e,onChange:r,options:a,placeholder:s,empty:o="Nothing matches",note:u="Not on the list? Type it, then save.",loading:c=!1,disabled:d=!1,className:p,"aria-label":f}){let m=new Set(a.map(e=>e.value.toLowerCase())),[x,h]=(0,l.useState)(e),[g,v]=(0,l.useState)(e);g!==e&&(v(e),h(e));let b=x.trim(),S=""!==b&&b!==e;return(0,t.jsxs)(tp.Root,{items:a,value:x,onValueChange:(e,t)=>{h(e),"item-press"===t.reason&&r(e)},itemToStringValue:e=>e.value,filter:(e,t)=>{let n;return!!(!(n=t.trim().toLowerCase())||m.has(n))||[e.value,e.label,e.badge].filter(Boolean).some(e=>String(e).toLowerCase().includes(n))},openOnInputClick:!0,disabled:d,children:[(0,t.jsxs)("div",{className:(0,th.cn)("flex gap-2",p),children:[(0,t.jsxs)(tp.InputGroup,{className:"relative min-w-0 flex-1",children:[(0,t.jsx)(tp.Input,{placeholder:s,"aria-label":f,spellCheck:!1,className:(0,th.cn)(tx.inputClassName,"pr-8 font-mono text-sm")}),(0,t.jsx)(tp.Trigger,{"aria-label":"Show suggestions",className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground transition-colors outline-none hover:text-foreground focus-visible:text-foreground disabled:opacity-50",children:c?(0,t.jsx)(tm.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,t.jsx)(tf.ChevronDown,{className:"size-3.5"})})]}),S&&!d&&(0,t.jsx)(i.Button,{variant:"outline",className:"shrink-0",onClick:()=>r(b),children:"Save"})]}),(0,t.jsx)(tp.Portal,{children:(0,t.jsx)(tp.Positioner,{sideOffset:4,className:"isolate z-50 outline-none",children:(0,t.jsxs)(tp.Popup,{className:"max-h-(--available-height) w-max min-w-(--anchor-width) max-w-[min(28rem,var(--available-width))] origin-(--transform-origin) rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",children:[u&&(0,t.jsx)("p",{className:"px-1.5 pt-1 pb-1.5 text-[11px] text-muted-foreground",children:u}),(0,t.jsx)(tp.Empty,{className:"px-2 py-2 font-mono text-[11px] text-muted-foreground empty:hidden",children:c?"Loading models…":o}),(0,t.jsx)(tp.List,{className:"max-h-64 overflow-y-auto outline-none",children:r=>(0,t.jsxs)(tp.Item,{value:r,className:"flex cursor-default items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground",children:[(0,t.jsx)("span",{className:"flex-1 whitespace-nowrap",children:r.label}),r.badge&&(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:r.badge}),r.hint&&r.hint!==r.label&&(0,t.jsx)("span",{className:"min-w-0 shrink truncate font-mono text-[11px] text-muted-foreground",children:r.hint}),(0,t.jsx)(n.Check,{className:(0,th.cn)("size-3.5 shrink-0",r.value===e.trim()?"opacity-100":"opacity-0")})]},r.value)})]})})})]})}var tv=e.i(917162);e.s([],506329),e.i(506329);let tb={checked:e=>e?{"data-checked":""}:{"data-unchecked":""},...eV.transitionStatusMapping,...ex.fieldValidityMapping};var tS=e.i(64350),ty=e.i(370359),tC=e.i(348990),tE=e.i(157153),tj=e.i(31421);let tN=l.createContext(void 0),tI=l.createContext(void 0),tR=l.forwardRef(function(e,n){let{render:r,className:a,disabled:i=!1,readOnly:s=!1,required:o=!1,"aria-labelledby":c,value:p,inputRef:m,nativeButton:x=!1,id:g,style:v,...b}=e,S=l.useContext(tN),{disabled:y,readOnly:C,required:E,form:j,checkedValue:R,touched:k=!1,validation:w,name:A,setCheckedValue:O=h.NOOP,setTouched:T=h.NOOP,registerInputRef:P=h.NOOP}=S??{},{setTouched:M,setFilled:D,state:V,disabled:L}=(0,$.useFieldRootContext)(),F=(0,tE.useFieldItemContext)(),{labelId:_,getDescriptionProps:B}=(0,ev.useLabelableContext)(),K=L||F.disabled||y||i,z=C||s,q=E||o,W=S?R===p:""===p,G=l.useRef(null),U=l.useRef(null),Y=w?.registerInput,J=l.useCallback(e=>Y?.(e,{controlRef:G,value:void 0}),[Y]),X=(0,d.useMergedRefs)(m,U,P,J);(0,u.useIsoLayoutEffect)(()=>{U.current?.checked&&D(!0)},[D]),(0,u.useIsoLayoutEffect)(()=>{if(U.current){if(K&&W)return void P(null);P(U.current)}},[W,K,P]);let Z=(0,eR.useBaseUiId)(),ee=(0,Q.useLabelableId)({id:g}),et=x?void 0:ee,en={role:"radio","aria-checked":W,"aria-labelledby":(0,tj.useAriaLabelledBy)(c,_,U,!x,et),[ty.ACTIVE_COMPOSITE_ITEM]:W?"":void 0,id:x?ee:Z,onKeyDown(e){"Enter"===e.key&&e.preventDefault()},onClick(e){if(e.defaultPrevented||K||z)return;e.preventDefault();let t=U.current;t&&(0,tS.dispatchClickWithModifiers)(t,e)},onFocus(e){e.defaultPrevented||K||z||!k||(U.current?.click(),T(!1))}},{getButtonProps:er,buttonRef:el}=(0,ef.useButton)({disabled:K,native:x,composite:!1}),ea={type:"radio",ref:X,form:j,id:et,name:A,tabIndex:-1,style:A?f.visuallyHiddenInput:f.visuallyHidden,"aria-hidden":!0,...void 0!==p?{value:H(p)}:h.EMPTY_OBJECT,disabled:K,checked:W,required:q,readOnly:z,onChange(e){if(e.nativeEvent.defaultPrevented||K||z||void 0===p)return;let t=(0,N.createChangeEventDetails)(I.REASONS.none,e.nativeEvent);O(p,t),t.isCanceled||M(!0)},onClick(e){e.stopPropagation()},onFocus(){G.current?.focus()}},ei=l.useMemo(()=>({...V,required:q,disabled:K,readOnly:z,checked:W}),[V,K,z,W,q]),es=void 0!==S,eo=[n,G,el],eu=[en,b,er,B,w?e=>w.getValidationProps(K,e):h.EMPTY_OBJECT],ec=(0,ep.useRenderElement)("span",e,{enabled:!es,state:ei,ref:eo,props:eu,stateAttributesMapping:tb});return(0,t.jsxs)(tI.Provider,{value:ei,children:[es?(0,t.jsx)(tC.CompositeItem,{tag:"span",render:r,className:a,style:v,state:ei,refs:eo,props:eu,stateAttributesMapping:tb}):ec,(0,t.jsx)("input",{...ea,suppressHydrationWarning:!0})]})}),tk=l.forwardRef(function(e,t){let{render:n,className:r,style:a,keepMounted:i=!1,...o}=e,u=function(){let e=l.useContext(tI);if(void 0===e)throw Error((0,s.default)(52));return e}(),c=u.checked,{mounted:d,transitionStatus:p,setMounted:f}=(0,et.useTransitionStatus)(c),m={...u,transitionStatus:p},x=l.useRef(null),h=(0,ep.useRenderElement)("span",e,{ref:[t,x],state:m,props:o,stateAttributesMapping:tb});return((0,U.useOpenChangeComplete)({batch:!0,enabled:!c,open:c,ref:x,onComplete(){c||f(!1)}}),i||d)?h:null});e.s(["Indicator",0,tk,"Root",0,tR],66747);var tw=e.i(66747),tw=tw,tA=e.i(673327),tO=e.i(405934),tT=e.i(155627),tP=e.i(387068);let tM=[tA.SHIFT],tD=l.forwardRef(function(e,n){let{render:r,className:a,disabled:i,readOnly:s,required:u,onValueChange:d,value:p,defaultValue:f,form:m,name:x,inputRef:h,id:g,style:v,...b}=e,{setTouched:S,setFocused:y,validationMode:C,name:E,disabled:N,state:I,validation:R,setDirty:k,setFilled:w,validityData:A}=(0,$.useFieldRootContext)(),{labelId:O}=(0,ev.useLabelableContext)(),{clearErrors:T,elementRef:P}=(0,J.useFormContext)(),M=(0,tP.useFieldsetRootContext)(!0),D=N||i,V=E??x,L=(0,eR.useBaseUiId)(g),[F,_]=(0,o.useControlled)({controlled:p,default:f,name:"RadioGroup",state:"value"}),[B,H]=l.useState(!1),K=(0,c.useStableCallback)((e,t)=>{d?.(e,t),t.isCanceled||_(e)}),z=R.getInputControl,q=l.useMemo(()=>({get current(){return z()}}),[z]),W=l.useRef(null),G=l.useRef(null);function U(e){let t;return h&&("function"==typeof h?t=h(e):h.current=e),W.current=e,t}let Q=(0,c.useStableCallback)(e=>{if(!e||e.disabled)return;G.current||(G.current=e);let t=W.current,n=e.checked||null==t||t.disabled?U(e):void 0;return()=>{G.current===e&&(G.current=null),W.current===e?n?(n(),W.current=null):U(null):n?.()}}),X=(0,c.useStableCallback)(()=>{let e=P.current;if(!e)return F??null;for(let t of R.registeredInputs.keys())if(t.checked&&(0,tT.isEligibleInput)(t,e))return F??null;return null});(0,Y.useRegisterFieldControl)(q,L,F??null,X,!D,x),(0,er.useValueChanged)(F,()=>{T(V),k(F!==A.initialValue),w(null!=F),R.change(F);let e=G.current;null==F&&e&&!e.disabled&&U(e)});let Z=O??M?.legendId,ee={...I,disabled:D??!1,required:u??!1,readOnly:s??!1},et=l.useMemo(()=>({checkedValue:F,disabled:D,form:m,validation:R,name:V,readOnly:s,registerInputRef:Q,required:u,setCheckedValue:K,setTouched:H,touched:B}),[F,D,m,R,V,s,Q,u,K,H,B]);return(0,t.jsx)(tN.Provider,{value:et,children:(0,t.jsx)(tO.CompositeRoot,{render:r,className:a,style:v,state:ee,props:[{id:g,role:"radiogroup","aria-required":u||void 0,"aria-disabled":D||void 0,"aria-readonly":s||void 0,"aria-labelledby":Z,onFocus(){y(!0)},onBlur(e){(0,j.contains)(e.currentTarget,e.relatedTarget)||(S(!0),y(!1),"onBlur"===C&&R.commit(F))},onKeyDownCapture(e){e.key.startsWith("Arrow")&&(H(!0),y(!0))}},b,e=>R.getValidationProps(D??!1,e)],refs:[n],stateAttributesMapping:ex.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:tM})})});function tV({className:e,...n}){return(0,t.jsx)(tD,{"data-slot":"radio-group",className:(0,th.cn)("grid w-full gap-2",e),...n})}function tL({className:e,...n}){return(0,t.jsx)(tw.Root,{"data-slot":"radio-group-item",className:(0,th.cn)("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-brand data-checked:bg-brand data-checked:text-brand-foreground group-has-[:focus-visible]/field-label:data-checked:border-brand dark:data-checked:bg-brand",e),...n,children:(0,t.jsx)(tw.Indicator,{"data-slot":"radio-group-indicator",className:"flex size-4 items-center justify-center",children:(0,t.jsx)("span",{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-brand-foreground"})})})}var tF=e.i(421429),t_=e.i(319036),tB=e.i(184762),tH=e.i(41533),tK=e.i(149666),tz=e.i(616816),tq=e.i(690191),tW=e.i(895836),tG=e.i(867927),tU=e.i(456420);let t$={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};t$.node;let tY=(0,tU.default)(t$);var tJ=e.i(759659),tQ=e.i(660302),tX=e.i(671428),tZ=e.i(633669),t0=e.i(222055),t1=e.i(245629),t2=e.i(609856),t3=e.i(661504),t6=e.i(95187);let t5=(0,t6.createServerReference)("7fa67559f1f05a37bc4fdb6b0b06845ba29cbdffe2",t6.callServer,void 0,t6.findSourceMapURL,"deleteCallAction"),t4=(0,t6.createServerReference)("7fb8e664c79402270934579e443df27ca86fd11fd3",t6.callServer,void 0,t6.findSourceMapURL,"deleteEndedCallsAction");var t8=e.i(561540),t7=e.i(256604);function t9(){return(0,t.jsxs)("button",{type:"button",onClick:()=>tv.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,t.jsx)(tW.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,t.jsx)(nr,{})})}),className:"flex w-full min-w-0 items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(tY,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,t.jsx)(tG.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})}let ne={running:"working",waiting:"waiting on you",done:"done",cancelled:"stopped"},nt={running:"text-muted-foreground",waiting:th.WAITING_INK,done:"text-muted-foreground",cancelled:"text-muted-foreground"},nn="h-[min(34rem,58vh)] min-h-64 px-1";function nr(){let{items:e,isLoading:n,isLoadingMore:r,error:s,hasMore:o,sentinelRef:u,refresh:c}=(0,t3.useServerPages)({key:(e,t)=>{if(0===e)return a.queryKey.callHistory(null);let n=t?.at(-1);return n?a.queryKey.callHistory((0,t1.toDate)(n.startedAt).toISOString()):null},size:tH.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),d=(0,l.useMemo)(()=>[...e].reverse(),[e]),[p,f]=(0,t2.useServerAction)(t4,{okMessage:e=>1===e?"1 call deleted":`${e} calls deleted`,onOk:c}),m=async()=>{await tv.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&p()},x=(0,l.useRef)(null),h=(0,l.useRef)(!1),g=(0,l.useRef)(0);return((0,l.useLayoutEffect)(()=>{let e=x.current;e&&0!==d.length&&(h.current?e.scrollTop=e.scrollHeight-g.current:(h.current=!0,e.scrollTop=e.scrollHeight),g.current=e.scrollHeight-e.scrollTop)},[d]),n)?(0,t.jsx)("div",{className:(0,th.cn)(nn,"overflow-hidden"),children:(0,t.jsx)(nl,{})}):s?(0,t.jsx)(tW.SettingError,{message:s.message}):(0,t.jsx)(t.Fragment,{children:0===d.length?(0,t.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{ref:x,onScroll:e=>{let t=e.currentTarget;g.current=t.scrollHeight-t.scrollTop},className:(0,th.cn)(nn,"overflow-y-auto overscroll-contain pb-6"),children:[(0,t.jsx)(tW.SettingMore,{hasMore:o,loading:r,sentinelRef:u,count:1,ghost:(0,t.jsx)(nl,{})}),d.map((e,n)=>(0,t.jsx)(ni,{call:e,first:0===n,onDropped:c},e.id))]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(i.Button,{variant:"ghost",loading:f,onClick:m,className:"text-muted-foreground hover:text-destructive",children:[(0,t.jsx)(tJ.Trash2,{}),"Delete all"]})})]})})}function nl(){return(0,t.jsxs)("div",{className:"pb-3",children:[(0,t.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,t.jsx)(tX.Skeleton,{className:"h-3 w-24"}),(0,t.jsx)(tX.Skeleton,{className:"h-3 w-10"})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(tX.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,t.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,t.jsx)(tX.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,t.jsx)(tX.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let na=e=>"user"===e.role?"user":"her";function ni({call:e,first:n,onDropped:r}){let[l,a]=(0,t2.useServerAction)(t5,{okMessage:"Call deleted",onOk:r}),s=(0,t1.toDate)(e.startedAt),o=e.turns.at(-1),u=e.endedAt&&o?function(e,t){let n=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m ${String(n%60).padStart(2,"0")}s`:`${Math.floor(r/60)}h ${String(r%60).padStart(2,"0")}m`}(s,(0,t1.toDate)(o.at)):"on the line",c=async()=>{await tv.notify.confirm({title:`Delete the call from ${(0,t1.whenOf)(s)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&l(e.id)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,th.cn)("group flex items-center gap-2.5",n?"mt-1":"mt-11"),children:[(0,t.jsx)("span",{title:[e.provider,e.model,e.backendModel,null===e.seconds?null:`${e.seconds}s active`,e.endedReason].filter(Boolean).join(" · "),className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,t1.whenOf)(s)}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:e.model===tH.TEXT_CALL.model?`${u} \xb7 in writing`:u}),(0,t.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:e.endedAt&&(0,t.jsx)(i.Button,{size:"icon-sm",variant:"ghost",loading:a,"aria-label":"Delete this call",onClick:c,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,t.jsx)(tJ.Trash2,{})})})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&"tool"===n.role&&"tool"===e.turn.role&&e.turn.tool===n.tool&&e.turn.text===n.text){e.repeats+=1;continue}t.push({turn:n,repeats:1})}return t})(e.turns).map(({turn:n,repeats:r},l,a)=>{var i,s;let o,u=a[l-1]?.turn,c=a[l+1]?.turn;return(0,t.jsx)(ns,{turn:n,job:(i=e,s=n,(o=(0,t8.startedLabel)(s.tool,s.text))?i.jobs.find(e=>e.label===o):void 0),repeats:r,opensRun:!u||na(u)!==na(n),closesRun:!c||na(c)!==na(n)},n.id)})]})}function ns({turn:e,job:n,opensRun:r,closesRun:l,repeats:a=1}){return"tool"===e.role?(0,t.jsx)(nu,{turn:e,job:n,repeats:a,opensRun:r}):"user"===e.role?(0,t.jsx)("div",{className:(0,th.cn)("flex justify-end",r?"mt-3":"mt-1"),children:(0,t.jsx)("p",{className:(0,th.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",l&&"rounded-br-sm"),children:e.text})}):(0,t.jsxs)("div",{className:(0,th.cn)("flex items-start gap-2",r?"mt-3":"mt-1"),children:[(0,t.jsx)(no,{face:r,className:"mt-0.5"}),(0,t.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:e.text})]})}function no({face:e,className:n}){return(0,t.jsx)("span",{className:(0,th.cn)("grid size-[18px] shrink-0 place-items-center",n),children:e&&(0,t.jsx)(t7.ThursdayMark,{size:18})})}function nu({turn:e,job:n,repeats:r,opensRun:l}){let a=e.tool??"",i=(0,t0.toolIcon)(a),s=(0,t8.toolLine)(a,e.text),o=(0,t8.searchOf)(e.tool,e.text)?.sources??[];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,th.cn)("flex items-center gap-2",l?"mt-3":"mt-1.5"),children:[(0,t.jsx)(no,{face:l}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,t.jsx)(i,{className:"size-3 shrink-0"}),s&&(0,t.jsx)("span",{className:"truncate text-[11px] break-keep",children:s}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:a}),r>1&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",r]})]})]}),o.length>0&&(0,t.jsx)(tZ.SourceChips,{sources:o,className:"mt-1 ml-[26px]"}),n&&(0,t.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===n.status?(0,t.jsx)(tQ.ShinyText,{text:ne.running,className:"shrink-0 font-mono text-[10px]"}):(0,t.jsx)("span",{className:(0,th.cn)("shrink-0 font-mono text-[10px]",nt[n.status]),children:ne[n.status]}),n.outcome&&"running"!==n.status&&(0,t.jsx)("span",{className:"truncate text-muted-foreground",children:(0,th.plainText)(n.outcome)})]})]})}var nc=e.i(333495),nd=e.i(263676),np=e.i(6799),nf=e.i(218080);let nm=Array(nf.SPECTRUM_BANDS).fill(0);function nx({voice:e,face:r,onChange:a}){let[s,o]=(0,l.useState)(!1),[u,c]=(0,l.useState)(e),[d,p]=(0,l.useState)(!1),[f,m]=(0,l.useState)(""),x=(0,l.useRef)(null),h=(0,l.useRef)(null),g=(0,l.useRef)(0),v=(0,l.useRef)(!1),b=(0,l.useCallback)(()=>h.current&&v.current?h.current.clip.read():nm,[]),S=e=>{v.current=e,p(e)};(0,l.useEffect)(()=>{if(s)return()=>{let e=h.current;h.current=null,e&&(e.element.pause(),e.clip.close())}},[s]);let y=(e,t)=>{e===g.current&&(g.current++,S(!1),np.toast.add({type:"error",title:"Voice sample did not play",description:(0,th.errorToString)(t)}))},C=()=>{g.current++;let e=x.current;e&&(e.pause(),e.currentTime=0),S(!1)};return s?(0,t.jsxs)("div",{className:"@container space-y-2",children:[(0,t.jsx)("audio",{ref:x,onEnded:()=>S(!1),onError:e=>{v.current&&y(g.current,e.currentTarget.error?.message||"The clip could not be read.")},children:(0,t.jsx)("track",{kind:"captions"})}),(0,t.jsxs)("div",{className:"rounded-xl border border-border/60 p-3",children:[(0,t.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:"click a name to hear it"}),(0,t.jsx)(i.Button,{variant:"ghost",size:"icon-xs",className:"ml-auto","aria-label":"Close",onClick:()=>{C(),o(!1),m(""),c(e)},children:(0,t.jsx)(nd.X,{})})]}),(0,t.jsxs)("div",{className:"grid gap-4 @md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,t.jsx)(nc.Face,{look:r,status:d?"speaking":"idle",getSpectrum:b,size:176,className:"w-44"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:d?(0,t.jsx)(tQ.ShinyText,{text:u}):u}),(0,t.jsx)("span",{className:"h-4 font-mono text-[11px] text-muted-foreground",children:tK.LIVE_VOICE_NOTE[u]})]}),(0,t.jsx)("div",{className:"max-h-56 min-w-0 overflow-y-auto",children:tK.LIVE_VOICES.map(r=>(0,t.jsxs)("button",{type:"button",onClick:()=>(e=>{let t=x.current;if(!t)return;if(d&&e===u)return void C();c(e),m(""),h.current?.element!==t&&(h.current?.clip.close(),h.current={element:t,clip:(0,nf.createClipTap)(t)}),h.current.clip.resume();let n=++g.current;t.src=(0,tK.voiceSamplePath)(e),S(!0),t.play().catch(e=>{e instanceof DOMException&&"AbortError"===e.name||y(n,e)})})(r),className:(0,th.cn)("flex w-full items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none hover:bg-accent focus-visible:bg-accent",r===u&&"bg-accent text-accent-foreground"),children:[(0,t.jsx)("span",{className:"flex-1 text-left",children:d&&r===u?(0,t.jsx)(tQ.ShinyText,{text:r}):r}),(0,t.jsx)("span",{className:"shrink truncate font-mono text-[11px] text-muted-foreground",children:tK.LIVE_VOICE_NOTE[r]}),(0,t.jsx)(n.Check,{className:(0,th.cn)("size-3.5 shrink-0",r===e?"opacity-100":"opacity-0")})]},r))})]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(tx.Input,{value:f,onChange:e=>m(e.target.value),placeholder:"another voice id","aria-label":"Another voice id",spellCheck:!1,className:"font-mono text-sm"}),(0,t.jsx)(i.Button,{className:"shrink-0",onClick:()=>{let t=f.trim()||u;C(),o(!1),m(""),c(t),t!==e&&a(t)},children:"Save"})]})]}):(0,t.jsxs)("button",{type:"button",onClick:()=>o(!0),"aria-label":"Voice",className:(0,th.cn)(tx.inputClassName,"flex items-center gap-2 text-left font-mono text-sm hover:border-ring"),children:[(0,t.jsx)("span",{className:"shrink-0",children:e}),(0,t.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:tK.LIVE_VOICE_NOTE[e]}),(0,t.jsx)(tf.ChevronDown,{className:"ml-auto size-3.5 shrink-0 text-muted-foreground"})]})}var nh=e.i(933916),ng=e.i(762074);let nv=(0,t6.createServerReference)("7f47fb55b1cdcad1cc68338226d24d6796e69714e5",t6.callServer,void 0,t6.findSourceMapURL,"resetHistoryAction"),nb=(0,t6.createServerReference)("7fe032fa735ecbbab21fdff0930099ce3a3903c9c8",t6.callServer,void 0,t6.findSourceMapURL,"setCallSkillsAction");var nS=e.i(671228),ny=e.i(67045);function nC(e,t,{min:n=1}={}){let[r,a]=(0,l.useState)(e),[i,s]=(0,l.useState)(e);return e!==i&&(s(e),a(e)),{value:r,set:a,commit:()=>{let l=r.trim();if(l.length<n)return a(e);a(l),l!==e&&t(l)},onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||e.currentTarget.blur()}}}var nE=e.i(319841),nj=e.i(981203),nN=e.i(413168),nI=e.i(283653);function nR({columns:e,children:n}){return(0,t.jsx)("div",{className:"@container",children:(0,t.jsx)("div",{className:(0,th.cn)("grid divide-y divide-border/60 overflow-hidden rounded-xl border border-border/60",3===e?"@3xl:grid-cols-3 @3xl:divide-x @3xl:divide-y-0":"@xl:grid-cols-2 @xl:divide-x @xl:divide-y-0"),children:n})})}function nk({label:e,children:n}){return(0,t.jsxs)("div",{className:"flex min-h-5 items-center gap-3",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:e}),n]})}function nw({value:e,face:n,hasKey:r,onChange:l}){return(0,t.jsx)(tW.SettingGroup,{label:"Models",note:"Both run on your OpenAI key. Instructions are saved when you leave the field.",children:(0,t.jsxs)("div",{className:"@container divide-y divide-border/60 rounded-xl border border-border/60",children:[!r&&(0,t.jsx)(nT,{}),(0,t.jsxs)(nA,{name:"Voice",fact:"billed by the minute",children:[(0,t.jsx)("div",{className:"grid gap-4 @xl:grid-cols-2",children:(0,t.jsx)(nO,{label:"model",children:(0,t.jsx)(tg,{value:nN.LIVE_MODEL,onChange:()=>void 0,options:[{value:nN.LIVE_MODEL,label:"GPT-Live 1"}],"aria-label":"Voice model",disabled:!0})})}),(0,t.jsx)(nO,{label:"voice",children:(0,t.jsx)(nx,{voice:e.voice,face:n,onChange:e=>l({voice:e.trim()||tK.LIVE_DEFAULTS.voice})})}),(0,t.jsx)(nO,{label:"instructions",children:(0,t.jsx)(nF,{value:e.voicePrompt,onCommit:e=>l({voicePrompt:e}),placeholder:"How to address you, how much to say, what to skip.","aria-label":"Voice instructions"})})]}),(0,t.jsxs)(nA,{name:"Backend",fact:"billed per token",children:[(0,t.jsx)(nO,{label:"model",children:(0,t.jsx)(nP,{value:e.backendModel,onChange:e=>l({backendModel:e})})}),(0,t.jsx)(nO,{label:"reasoning",children:(0,t.jsx)(tF.Segmented,{"aria-label":"Reasoning effort",className:"w-full flex-wrap *:flex-1",options:nM,value:e.reasoningEffort??"auto",onChange:e=>l({reasoningEffort:"auto"===e?null:e})})}),(0,t.jsx)(nO,{label:"tools",children:(0,t.jsx)(nD,{webSearch:e.webSearch,onWebSearch:e=>l({webSearch:e})})}),(0,t.jsx)(nO,{label:"instructions",children:(0,t.jsx)(nF,{value:e.backendPrompt,onCommit:e=>l({backendPrompt:e}),placeholder:"How work should be handed over, what to check first.","aria-label":"Backend instructions"})})]})]})})}function nA({name:e,fact:n,children:r}){return(0,t.jsxs)("div",{className:"grid gap-4 p-5 @2xl:grid-cols-[8.5rem_minmax(0,1fr)] @2xl:gap-6",children:[(0,t.jsxs)("span",{className:"space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:e}),(0,t.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:n})]}),(0,t.jsx)("div",{className:"min-w-0 space-y-4",children:r})]})}function nO({label:e,children:n}){return(0,t.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,t.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:e}),n]})}function nT(){let[e,n]=(0,l.useState)(""),[r,i]=(0,t2.useServerAction)(tq.setConfigAction,{onOk:()=>{(0,nI.revalidate)(a.queryKey.llmModel),(0,nI.revalidate)(a.queryKey.config),n("")}}),s=e.trim().length>=tz.KEY_MIN;return(0,t.jsxs)("div",{className:"space-y-3 p-5",children:[(0,t.jsxs)("span",{className:"block space-y-0.5",children:[(0,t.jsx)("span",{className:(0,th.cn)("block text-sm font-medium",th.WAITING_INK),children:"No OpenAI key"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Her voice and the backend both run on it"})]}),(0,t.jsx)(tz.KeyInput,{dense:!0,provider:tK.LIVE_PROVIDER,saved:!1,value:e,ready:s,saving:i,onValue:n,onSubmit:()=>s&&r(tK.LIVE_PROVIDER.apiKeyName,e)})]})}function nP({value:e,onChange:r}){let l=nC(tK.LIVE_BACKEND_MODELS.some(t=>t.id===e)?"":e,e=>r(e||tK.LIVE_DEFAULTS.backendModel),{min:0});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("div",{role:"radiogroup","aria-label":"Backend model",className:"grid grid-cols-2 gap-2 @3xl:grid-cols-4",children:tK.LIVE_BACKEND_MODELS.map(l=>{let a=l.id===e;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":a,onClick:()=>r(l.id),className:(0,th.cn)("min-w-0 space-y-0.5 rounded-lg border px-3 py-2.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a?"border-brand bg-brand/4":"border-border/60 hover:bg-muted/50"),children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:l.label}),a&&(0,t.jsx)(n.Check,{className:"size-3.5 shrink-0 text-brand"})]}),(0,t.jsxs)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:[l.id," · ",l.tier]})]},l.id)})}),(0,t.jsx)(tx.Input,{value:l.value,onChange:e=>l.set(e.target.value),onBlur:l.commit,onKeyDown:l.onKeyDown,placeholder:"Other model id","aria-label":"Other backend model id",spellCheck:!1,className:"font-mono text-sm"})]})}let nM=[{value:"auto",label:"auto",title:"The model's own default"},...tK.LIVE_REASONING.map(e=>({value:e,label:e,title:`Reasoning effort ${e}`}))];function nD({webSearch:e,onWebSearch:n}){let{data:r}=(0,nI.useServerRoute)(a.queryKey.callSkills),[l]=(0,t2.useServerAction)(nb,{onOk:()=>(0,nI.revalidate)(a.queryKey.callSkills)});return(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap gap-x-7 gap-y-3",children:[(0,t.jsx)(nV,{label:"Search the web",checked:e,onChange:n}),(0,t.jsx)(nV,{label:"Read skills herself",checked:r??!1,disabled:void 0===r,onChange:e=>l(e)})]}),e&&(0,t.jsx)(tW.SettingNote,{children:"Each search adds to the backend's OpenAI usage."}),r&&(0,t.jsx)(nL,{})]})}function nV({label:e,checked:n,disabled:r,onChange:l}){return(0,t.jsxs)("label",{className:"flex items-center gap-2.5 text-sm",children:[(0,t.jsx)(t_.Switch,{checked:n,disabled:r,onCheckedChange:l}),e]})}function nL(){let{data:e}=(0,nI.useServerRoute)(a.queryKey.skills);return e?(0,t.jsx)(tW.SettingNote,{className:(0,th.cn)(!e.length&&th.WAITING_INK),children:e.length?`The same ${e.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function nF({value:e,onCommit:n,placeholder:r,"aria-label":l}){let a=nC(e,n,{min:0});return(0,t.jsx)(tB.Textarea,{value:a.value,maxLength:nj.COMMON_VALIDATE.prompt.max,onChange:e=>a.set(e.target.value),onBlur:a.commit,placeholder:r,"aria-label":l})}function n_(){let[e,n]=(0,t2.useServerAction)(nv,{okMessage:({calls:e,threads:t,notes:n})=>`Wiped ${e} calls, ${t} jobs, ${n} notes`,onOk:()=>{(0,nI.revalidate)(a.queryKey.memory),(0,nI.revalidate)(a.queryKey.threads),(0,nI.revalidate)(a.queryKey.callHistory(null))}}),l=async()=>{await tv.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&e()};return(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-3 p-4",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(r.TriangleAlert,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:"Reset history"}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"Calls, jobs and memory. Keys and bots stay."})]}),(0,t.jsx)(i.Button,{variant:"outline",size:"sm",loading:n,onClick:l,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})}function nB({value:e,onChange:n}){let r=t=>n({...e,...t});return(0,t.jsx)(tW.SettingGroup,{label:"Face",children:(0,t.jsxs)("div",{className:"space-y-5 py-2",children:[(0,t.jsx)("div",{className:"flex flex-col items-center gap-4 pt-2",children:(0,t.jsx)(nc.Face,{look:e,size:176,className:"w-44"})}),(0,t.jsx)(nK,{label:"Glyphs",children:(0,t.jsx)(tF.Segmented,{"aria-label":"Glyphs",options:nh.ASCII_CHARSETS.map(e=>({value:e,label:nH[e]})),value:e.charset,onChange:e=>r({charset:e})})}),(0,t.jsx)(nK,{label:"Size",children:(0,t.jsx)(nz,{min:tH.ASCII_FACE.fontSize.min,max:tH.ASCII_FACE.fontSize.max,step:1,value:e.fontSize,format:e=>`${e}px`,onChange:e=>r({fontSize:e})})}),(0,t.jsx)(nK,{label:"Density",children:(0,t.jsx)(nz,{min:tH.ASCII_FACE.density.min,max:tH.ASCII_FACE.density.max,step:.1,value:e.density,format:e=>`${e.toFixed(1)}x`,onChange:e=>r({density:e})})})]})})}let nH={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function nK({label:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:e}),n]})}function nz({value:e,onChange:n,format:r,...l}){return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("input",{type:"range",...l,value:e,onChange:e=>n(Number(e.target.value)),className:"min-w-0 flex-1 accent-brand"}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:r(e)})]})}let nq={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Both sides",hint:"Hers on the left, yours on the right. Click a line to read it again."}};function nW({value:e,onChange:r}){return(0,t.jsx)(tW.SettingGroup,{label:"Captions",children:(0,t.jsx)("div",{className:"@container",children:(0,t.jsx)("div",{role:"radiogroup","aria-label":"Captions",className:"grid gap-3 @xl:grid-cols-2",children:nS.CAPTION_VIEWS.map(l=>{let a=l===e;return(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":a,onClick:()=>r(l),className:(0,th.cn)("min-w-0 space-y-3 rounded-xl border p-3 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",a?"border-brand bg-brand/4":"border-border/60 hover:bg-muted/50"),children:[(0,t.jsx)(nG,{view:l}),(0,t.jsxs)("span",{className:"flex items-center gap-3 px-1 pb-0.5",children:[(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:nq[l].label}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:nq[l].hint})]}),a&&(0,t.jsx)(n.Check,{className:"size-4 shrink-0 text-brand"})]})]},l)})})})})}function nG({view:e}){let n="block h-1 max-w-full rounded-full bg-foreground/20";return(0,t.jsx)("span",{className:"flex h-24 items-center justify-center rounded-lg bg-muted",children:"center"===e?(0,t.jsxs)("span",{className:"flex flex-col items-center gap-2.5",children:[(0,t.jsx)(t7.ThursdayMark,{size:32}),(0,t.jsx)("span",{className:(0,th.cn)(n,"w-28")})]}):(0,t.jsxs)("span",{className:"grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4 px-6",children:[(0,t.jsxs)("span",{className:"space-y-1.5",children:[(0,t.jsx)("span",{className:(0,th.cn)(n,"w-24")}),(0,t.jsx)("span",{className:(0,th.cn)(n,"w-16")})]}),(0,t.jsx)(t7.ThursdayMark,{size:32}),(0,t.jsx)("span",{children:(0,t.jsx)("span",{className:(0,th.cn)(n,"ml-auto w-20")})})]})})}function nU({value:e,onChange:n}){return(0,t.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,t.jsx)(nk,{label:"She calls you"}),(0,t.jsx)(tV,{"aria-label":"She calls you",value:e,onValueChange:e=>n(nS.CallBackSchema.parse(e)),className:"gap-2.5",children:nS.CALL_BACK_MODES.map(e=>(0,t.jsxs)("label",{className:"flex min-w-0 items-center gap-2.5 text-sm",children:[(0,t.jsx)(tL,{value:e}),(0,t.jsx)("span",{className:"truncate",children:nS.CALL_BACK_LABEL[e]})]},e))}),(0,t.jsx)(tW.SettingNote,{children:n$[e]}),"off"!==e&&(0,t.jsx)(tW.SettingNote,{children:"Needs this tab open. It rings on screen until you answer, decline or let it go; the desktop notification covers a tab you are not looking at."})]})}let n$={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she rings you to tell you."};function nY({value:e,onChange:n}){let r=nC(e.phrase,t=>n({...e,phrase:t}),{min:nS.WAKE_PHRASE.min}),l=r.value.trim().split(/\s+/).length<2;return(0,t.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,t.jsx)(nk,{label:"Wake phrase",children:(0,t.jsx)(t_.Switch,{"aria-label":"Answer to her name",checked:e.enabled,onCheckedChange:t=>n({...e,enabled:t})})}),(0,t.jsx)(tx.Input,{value:r.value,maxLength:nS.WAKE_PHRASE.max,spellCheck:!1,disabled:!e.enabled,onChange:e=>r.set(e.target.value),onBlur:r.commit,onKeyDown:r.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,t.jsx)(tW.SettingNote,{children:e.enabled?l?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count.":"Between calls, the browser listens for it and picks up."})]})}function nJ({value:e,onChange:n}){let[r,a]=(0,l.useState)(!1),[i,s]=(0,l.useState)(!1),o=(0,nE.useHotkeyLabel)((0,nE.isCombo)(e.combo)?e.combo:null);return(0,t.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,t.jsx)(nk,{label:"Shortcut",children:(0,t.jsx)(t_.Switch,{"aria-label":"Answer to a key",checked:e.enabled,onCheckedChange:t=>n({...e,enabled:t})})}),(0,t.jsx)("button",{type:"button",...nE.HOTKEY_CAPTURE,disabled:!e.enabled,onClick:()=>{s(!1),a(!0)},onBlur:()=>a(!1),onKeyDown:r?t=>{if("Tab"===t.key)return;if(t.preventDefault(),t.stopPropagation(),"Escape"===t.key)return a(!1);let r=(0,nE.comboOf)(t.nativeEvent);if(!r)return s(!0);s(!1),a(!1),n({...e,combo:r})}:void 0,className:(0,th.cn)("flex h-8 w-full items-center justify-center rounded-lg border px-3 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50",r?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:r?"Press the keys…":o??"Set a shortcut"}),(0,t.jsx)(tW.SettingNote,{children:i?"Hold Ctrl, Alt or Cmd — a plain key is typing.":r?"Esc to keep the one you have.":e.enabled?"Only while this tab has focus. Not while you are typing.":"Starts a call, and ends the one that is running."})]})}e.s(["ThursdaySetting",0,function(){let e=(0,ny.useThursdayStore)(),n=(0,ny.useThursdayStore)(e=>e.patch),{data:r=[],isLoading:l,error:i}=(0,nI.useServerRoute)(a.queryKey.llmModel),s=(0,ng.useThursdayFace)();if(l)return(0,t.jsx)(tW.SettingSkeleton,{rows:4});if(i)return(0,t.jsx)(tW.SettingError,{message:i.message});let o=r.some(e=>e.apiKeyName===tK.LIVE_PROVIDER.apiKeyName&&e.hasKey);return(0,t.jsxs)(tW.SettingScreen,{footer:(0,t.jsx)(tW.SettingRailNote,{children:"Both of her prompts are assembled fresh on every call — memory, the roster and your skills go in. Changes here apply from the next call."}),children:[(0,t.jsx)(nB,{value:s,onChange:ng.setThursdayFace}),(0,t.jsx)(nW,{value:e.captionView,onChange:e=>n({captionView:e})}),(0,t.jsx)(nw,{value:e,face:s,hasKey:o,onChange:n}),(0,t.jsx)(tW.SettingGroup,{label:"Starting a call",children:(0,t.jsxs)(nR,{columns:3,children:[(0,t.jsx)(nY,{value:e.wake,onChange:e=>n({wake:e})}),(0,t.jsx)(nJ,{value:e.hotkey,onChange:e=>n({hotkey:e})}),(0,t.jsx)(nU,{value:e.callBack,onChange:e=>n({callBack:e})})]})}),(0,t.jsx)(tW.SettingGroup,{label:"History",children:(0,t.jsxs)(nR,{columns:2,children:[(0,t.jsx)(t9,{}),(0,t.jsx)(n_,{})]})})]})}],59158)}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,638475,e=>{"use strict";var t=e.i(843476),n=e.i(798120),a=e.i(319036),i=e.i(609856),s=e.i(283653),r=e.i(95187);let l=(0,r.createServerReference)("7f0ce65e996cfa2473780a3cf0b38904069554f768",r.callServer,void 0,r.findSourceMapURL,"setKeepWorkingOnAction"),o="Work while the app is closed";e.s(["KeepWorkingSwitch",0,function(){let{data:e,mutate:r}=(0,s.useServerRoute)(n.queryKey.botKeepWorking),[d]=(0,i.useServerAction)(l,{onOk:()=>(0,s.revalidate)(n.queryKey.botKeepWorking)});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",title:"Off, closing the last tab stops running jobs and holds routines until one is open again. On, they run until the server stops.",children:o}),(0,t.jsx)(a.Switch,{checked:e??!1,disabled:void 0===e,onCheckedChange:e=>{r(e,!1),d(e)},"aria-label":o})]})}],638475)},480869,e=>{"use strict";var t=e.i(843476),n=e.i(401851),a=e.i(493801),i=e.i(456420);let s={name:"calendar-days",size:24,node:[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]};s.node;let r=(0,i.default)(s);var l=e.i(716327),o=e.i(867927),d=e.i(632781),u=e.i(648119),c=e.i(21357),h=e.i(759659),m=e.i(263676),x=e.i(271645),f=e.i(798120),p=e.i(167881),g=e.i(630374),b=e.i(463415),j=e.i(23750),y=e.i(917162),k=e.i(421429),v=e.i(660302),w=e.i(319036),N=e.i(184762),S=e.i(41533),M=e.i(635963),D=e.i(638475),T=e.i(978411),$=e.i(895836),C=e.i(989409),R=e.i(245629),O=e.i(609856),A=e.i(283653),z=e.i(647163),I=e.i(95187);let q=(0,I.createServerReference)("7fcce53089b7d9ab37e1ede476aa5dedc0b0d35e12",I.callServer,void 0,I.findSourceMapURL,"createRoutineAction"),E=(0,I.createServerReference)("7fdc335db44dcf20b0412b805f81e431a0f5686511",I.callServer,void 0,I.findSourceMapURL,"deleteRoutineAction"),F=(0,I.createServerReference)("7fa185f09203bb0a1f39243fa623f48a736f8dd739",I.callServer,void 0,I.findSourceMapURL,"runRoutineNowAction"),K=(0,I.createServerReference)("7f07a02cdabcb5642ab071031c8335e8f0ba101a04",I.callServer,void 0,I.findSourceMapURL,"updateRoutineAction");var W=e.i(504565);let P=[1,2,3,4,5,6,7],B=W.default.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"A time is HH:MM, 00:00 to 23:59");function H(e){let[t,n]=e.split(" "),[a,i,s]=t.split("-").map(Number),[r,l]=n.split(":").map(Number);return new Date(a,i-1,s,r,l)}let U=/^\d{4}-\d\d-\d\d ([01]\d|2[0-3]):[0-5]\d$/,L=W.default.string().regex(U,'A moment is "YYYY-MM-DD HH:MM"').refine(e=>{if(!U.test(e))return!0;let t=H(e);return t.getMonth()===Number(e.slice(5,7))-1&&t.getDate()===Number(e.slice(8,10))},"There is no such day"),G=W.default.discriminatedUnion("kind",[W.default.object({kind:W.default.literal("once"),at:L}),W.default.object({kind:W.default.literal("daily"),time:B,days:W.default.array(W.default.number().int().min(1).max(7)).min(1,"Pick at least one day").transform(e=>[...new Set(e)].sort((e,t)=>e-t))}),W.default.object({kind:W.default.literal("every"),hours:W.default.number().int().min(S.ROUTINE.minHours,`No more often than every ${S.ROUTINE.minHours}h`).max(168)})]),Y=W.default.object({bot:W.default.string().trim().min(1,"Pick a bot"),label:W.default.string().trim().min(1,"Give it a name").max(80),request:W.default.string().trim().min(1,"Say what it should do"),schedule:G}),J=W.default.object({id:W.default.string(),status:W.default.enum(["running","waiting","done","cancelled"]),outcome:W.default.string().nullable(),updatedAt:R.DateLikeSchema});Y.extend({id:W.default.string(),enabled:W.default.boolean(),nextRunAt:R.DateLikeSchema,runs:W.default.array(J)});let _=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],V=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function X(e){if("once"===e.kind){let[t,n]=e.at.split(" "),[,a,i]=t.split("-").map(Number);return`Once \xb7 ${V[a-1]} ${i} ${n}`}if("every"===e.kind)return 1===e.hours?"Every hour":`Every ${e.hours} hours`;let{days:t,time:n}=e;if(7===t.length)return`Daily ${n}`;if(1===t.length)return`${_[t[0]-1]} ${n}`;let a=t.every((e,n)=>0===n||e===t[n-1]+1)?`${_[t[0]-1]}–${_[t.at(-1)-1]}`:t.map(e=>_[e-1]).join(" ");return`Daily ${n} \xb7 ${a}`}var Q=e.i(431594);let Z=(e,t)=>{let n=t?.find(t=>t.name===e)?.icon;return{color:n?.color,shape:n?.shape,outline:n?.outline,paint:n?.paint}};function ee({routine:e,bots:n,open:a,onOpen:i,onSwitch:s}){let r=function(e,t){let n=e.runs[0],a=n?.outcome?(0,z.plainText)(n.outcome):"",i=n?`${(0,R.whenOf)(n.updatedAt)}${a?` — ${a}`:""}`:"Not run yet";if(!e.enabled)return{text:`Off \xb7 ${i}`,tone:"text-muted-foreground"};let s=t?.find(t=>t.name===e.bot);return t&&(!s||s.disabled)?{text:s?`${e.bot} is switched off`:`${e.bot} is gone — pick another bot`,tone:z.WAITING_INK,waits:!0}:n?.status==="running"?{text:"Running now",tone:"",shine:!0}:n?.status==="waiting"?{text:`The last run waits on you${a?`: ${a}`:""}`,tone:z.WAITING_INK,waits:!0}:{text:i,tone:"text-muted-foreground"}}(e,n),l=e.runs[0]?.status==="running";return(0,t.jsxs)("div",{className:(0,z.cn)("flex items-center gap-3 p-4 transition-colors",a?"bg-muted/80":"hover:bg-muted/50"),children:[(0,t.jsxs)("button",{type:"button",onClick:i,className:(0,z.cn)("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",!e.enabled&&"opacity-70"),children:[(0,t.jsx)(M.BotMark,{size:40,seed:e.bot,...Z(e.bot,n),state:l?"thinking":"idle",notify:!!r.waits,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}),l&&(0,t.jsx)(d.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),(0,t.jsx)("span",{className:"flex min-w-0 text-[13px] leading-snug",children:r.shine?(0,t.jsx)(v.ShinyText,{text:r.text,speed:2.2,className:"min-w-0 truncate"}):(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 truncate",r.tone),children:r.text})})]}),(0,t.jsxs)("span",{className:"flex w-44 shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",children:[(0,t.jsxs)("span",{className:"flex max-w-full items-center gap-1.5 text-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate",children:X(e.schedule)})]}),(0,t.jsx)("span",{className:"max-w-full truncate text-muted-foreground/70",children:e.enabled?`next ${(0,R.whenOf)(e.nextRunAt)}`:"off"})]})]}),(0,t.jsx)(w.Switch,{checked:e.enabled,onCheckedChange:s,"aria-label":`${e.label} on or off`,className:"shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":`Open ${e.label}`,className:"shrink-0 rounded-md text-muted-foreground outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(o.ChevronRight,{className:"size-4"})})]})}let et=e=>String(e).padStart(2,"0");function en(e,t=new Date){let n=new Date(t);return n.setDate(n.getDate()+e),`${n.getFullYear()}-${et(n.getMonth()+1)}-${et(n.getDate())}`}let ea=(e,t)=>{let n=e?.schedule;return{label:e?.label??"",bot:e?.bot??t.find(e=>!e.disabled)?.name??"",request:e?.request??"",kind:n?.kind??"daily",time:n?.kind==="daily"?n.time:n?.kind==="once"?n.at.slice(11):"09:00",days:n?.kind==="daily"?n.days:[...P],hours:n?.kind==="every"?n.hours:6,date:n?.kind==="once"?n.at.slice(0,10):en(1)}};function ei(e){let t=/^\d\d:\d\d$/.test(e.time);return"once"===e.kind?t&&e.date?{kind:"once",at:`${e.date} ${e.time}`}:null:"daily"===e.kind?e.days.length&&t?{kind:"daily",time:e.time,days:e.days}:null:{kind:"every",hours:e.hours}}let es=e=>e?.kind==="once"&&H(e.at)<=new Date,er=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],el=[{label:"Every day",days:[1,2,3,4,5,6,7]},{label:"Weekdays",days:[1,2,3,4,5]},{label:"Weekends",days:[6,7]}],eo=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ed=[1,2,3,6,12,24].filter(e=>e>=S.ROUTINE.minHours);function eu({routine:e,bots:n,onClose:a,onMade:i}){var s,r;let d,[v,S]=(0,x.useState)(null),D=(0,x.useCallback)(e=>{S(e?.closest("[data-slot=dialog-content]")??null)},[]),$="new"===e?null:e,I="new"===e?"new":e?.id??"",[W,B]=(0,x.useState)(()=>ea($,n));(0,x.useEffect)(()=>B(ea($,n)),[I]);let H=e=>B(t=>({...t,...e})),U=()=>(0,A.revalidate)(f.queryKey.routines),[L,G]=(0,O.useServerAction)(q,{onOk:e=>{U(),i(e.id)}}),[Y]=(0,O.useServerAction)(K,{onOk:U}),[J]=(0,O.useServerAction)(E,{onOk:U}),[_,V]=(0,O.useServerAction)(F,{onOk:()=>{U(),(0,A.revalidate)(f.queryKey.threads)}}),ee=ei(W),ex=ee&&!es(ee)&&W.label.trim()&&W.bot&&W.request.trim()?{label:W.label.trim(),bot:W.bot,request:W.request.trim(),schedule:ee}:null,ej=e=>{$&&Y($.id,e).catch(()=>{})},ey=e=>{H(e);let t=ei({...W,...e});!t||es(t)||ej({schedule:t,..."once"===t.kind?{enabled:!0}:{}})},ek=async()=>{!$||await y.notify.confirm({title:`Delete "${$.label}"?`,description:"It starts no more. The jobs it already opened stay.",okText:"Delete",destructive:!0})&&(await J($.id).catch(()=>{}),a())},ev=n.find(e=>e.name===W.bot),ew=$?.runs[0]?.status==="running"||$?.runs[0]?.status==="waiting";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{ref:D,hidden:!0}),(0,t.jsx)(g.Dialog,{open:!!(e&&v),onOpenChange:e=>!e&&a(),modal:!1,disablePointerDismissal:!0,children:(0,t.jsx)(g.DialogPortal,{container:v,children:(0,t.jsx)(g.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&&(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:[ev?(0,t.jsx)(M.BotMark,{size:28,seed:ev.name,...Z(ev.name,n),notify:!1,className:"shrink-0"}):(0,t.jsx)("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:(0,t.jsx)(Q.RoutineMark,{className:"size-3.5"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)(g.DialogTitle,{className:"sr-only",children:$?$.label:"New routine"}),(0,t.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:$?$.label:"New routine"}),$&&(0,t.jsxs)("p",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0"}),(0,t.jsxs)("span",{className:"truncate",children:[$.bot," · ",X($.schedule),$.enabled&&` \xb7 next ${(0,R.whenOf)($.nextRunAt)}`]})]})]}),$&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.Switch,{checked:$.enabled,onCheckedChange:e=>void Y($.id,{enabled:e}).catch(()=>{}),"aria-label":`${$.label} on or off`,className:"mr-1 shrink-0"}),(0,t.jsxs)(b.DropdownMenu,{children:[(0,t.jsx)(b.DropdownMenuTrigger,{render:(0,t.jsx)(p.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:"text-muted-foreground"}),children:(0,t.jsx)(u.MoreHorizontal,{})}),(0,t.jsx)(b.DropdownMenuContent,{align:"end",children:(0,t.jsxs)(b.DropdownMenuItem,{variant:"destructive",onClick:ek,children:[(0,t.jsx)(h.Trash2,{}),"Delete"]})})]})]}),(0,t.jsx)(g.DialogClose,{render:(0,t.jsx)(p.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the routine"}),children:(0,t.jsx)(m.X,{})})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto px-5 pt-3 pb-5",children:[(0,t.jsxs)(eb,{label:"Name",htmlFor:"routine-name",children:[(0,t.jsx)(j.Input,{id:"routine-name",value:W.label,onChange:e=>H({label:e.target.value}),onBlur:()=>{let e=W.label.trim();e&&e!==$?.label&&ej({label:e})},placeholder:"Morning mail",maxLength:80,autoFocus:!$}),(0,t.jsx)(ec,{children:"What it is called in this list, and what she calls it on a call."})]}),(0,t.jsxs)(eb,{label:"Bot",children:[(0,t.jsxs)(b.DropdownMenu,{children:[(0,t.jsxs)(b.DropdownMenuTrigger,{render:(0,t.jsx)(p.Button,{variant:"outline",className:"justify-start gap-2 pl-1.5 font-normal"}),children:[ev?(0,t.jsx)(M.BotMark,{size:20,seed:ev.name,...Z(ev.name,n),notify:!1,className:"shrink-0"}):null,(0,t.jsx)("span",{className:(0,z.cn)(!ev&&"pl-1.5 text-muted-foreground"),children:ev?.name??(W.bot||"Pick a bot")}),(0,t.jsx)(l.ChevronDown,{className:"ml-1 size-3.5 text-muted-foreground"})]}),(0,t.jsx)(b.DropdownMenuContent,{align:"start",children:(0,t.jsx)(b.DropdownMenuGroup,{children:n.filter(e=>!e.disabled).map(e=>(0,t.jsxs)(b.DropdownMenuItem,{onClick:()=>{H({bot:e.name}),e.name!==$?.bot&&ej({bot:e.name})},children:[(0,t.jsx)(M.BotMark,{size:16,seed:e.name,...Z(e.name,n),notify:!1,className:"shrink-0"}),e.name]},e.name))})})]}),(0,t.jsx)(ec,{children:"Who does the job each time it starts."})]}),(0,t.jsx)(eb,{label:"When",children:(0,t.jsxs)("div",{className:"space-y-3.5",children:[(0,t.jsx)(k.Segmented,{"aria-label":"How it starts",value:W.kind,onChange:e=>ey({kind:e}),options:[{value:"once",label:"Once"},{value:"daily",label:"On set days"},{value:"every",label:"Every few hours"}]}),(0,t.jsx)("div",{className:"space-y-2.5",children:"once"===W.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(em,{word:"On",children:(0,t.jsx)(ef,{value:W.date,onPick:e=>ey({date:e})})}),(0,t.jsxs)(em,{word:"At",children:[(0,t.jsx)(ep,{value:W.time,onChange:e=>H({time:e}),onDone:()=>ey({})}),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"or"}),(0,t.jsx)(eh,{picked:!1,onClick:()=>{let e;return ey(((e=new Date(Date.now()+36e5)).setMinutes(5*Math.ceil(e.getMinutes()/5),0,0),{date:en(0,e),time:`${et(e.getHours())}:${et(e.getMinutes())}`}))},children:"In an hour"})]})]}):"daily"===W.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(em,{word:"On",children:P.map(e=>{let n=W.days.includes(e);return(0,t.jsx)(eh,{picked:n,"aria-label":eo[e-1],onClick:()=>ey({days:n?W.days.filter(t=>t!==e):[...W.days,e].sort((e,t)=>e-t)}),children:er[e-1]},e)})}),(0,t.jsx)(em,{children:el.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>ey({days:[...e.days]}),className:"h-6.5 rounded-full bg-muted px-2.5 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:e.label},e.label))}),(0,t.jsx)(em,{word:"At",children:(0,t.jsx)(ep,{value:W.time,onChange:e=>H({time:e}),onDone:()=>ey({})})})]}):(0,t.jsxs)(em,{word:"Every",children:[(ed.includes(W.hours)?ed:[...ed,W.hours].sort((e,t)=>e-t)).map(e=>(0,t.jsx)(eh,{picked:e===W.hours,onClick:()=>ey({hours:e}),className:"min-w-10 px-3",children:e},e)),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"hours"})]})}),(0,t.jsx)(eg,{schedule:ee,kind:W.kind})]})}),(0,t.jsxs)(eb,{label:"Job",htmlFor:"routine-request",children:[(0,t.jsx)(N.Textarea,{id:"routine-request",value:W.request,onChange:e=>H({request:e.target.value}),onBlur:()=>{let e=W.request.trim();e&&e!==$?.request&&ej({request:e})},placeholder:"Go through the mail that came since the last run and draft replies to what needs one. Send nothing.",className:"min-h-28"}),(0,t.jsx)(ec,{children:"Handed to the bot as a new thread each time, with a line on how the last run ended. Nobody is there to ask, so say everything it needs."})]}),$&&(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsx)("div",{className:"flex h-6 items-center",children:(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Runs"})}),0===$.runs.length?(0,t.jsx)("p",{className:"py-2 text-[13px] text-muted-foreground",children:"Not run yet."}):$.runs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;return t=e.id,void(C.useSettingsStore.getState().hide(),T.roomOpens.open(t))},className:"flex h-9 w-full items-center gap-3 border-t border-border/60 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsx)("span",{className:"w-28 shrink-0 font-mono text-[11px] text-muted-foreground tabular-nums",children:(0,R.whenOf)(e.updatedAt)}),(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 flex-1 truncate","waiting"===e.status?z.WAITING_INK:"text-muted-foreground"),children:"running"===e.status?"Running now":e.outcome?(0,z.plainText)(e.outcome):"cancelled"===e.status?"Stopped":"No words"}),(0,t.jsx)(o.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground"})]},e.id))]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-5 py-3",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-4 text-muted-foreground",children:$||ex?"Starts while Thursday is running on this computer, with a tab open unless work goes on with the app closed. A time that passed meanwhile starts once, not once for each.":`Still needs ${s=W,r=ee,(d=[s.label.trim()?null:"a name",s.bot?null:"a bot",!r?"a time":es(r)?"a time still ahead":null,s.request.trim()?null:"a job"].filter(e=>null!==e)).length>1?`${d.slice(0,-1).join(", ")} and ${d.at(-1)}`:d[0]??"nothing"}.`}),$?(0,t.jsxs)(p.Button,{variant:"outline",size:"sm",loading:V,disabled:ew,title:ew?"Its last run is still open":void 0,onClick:()=>void _($.id).catch(()=>{}),children:[(0,t.jsx)(c.Play,{}),"Run now"]}):(0,t.jsx)(p.Button,{variant:"brand",size:"sm",loading:G,disabled:!ex,onClick:()=>ex&&void L(ex).catch(()=>{}),children:"Create"})]})]})})})})]})}let ec=({children:e})=>(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e});function eh({picked:e,className:n,...a}){return(0,t.jsx)("button",{type:"button","aria-pressed":e,className:(0,z.cn)("inline-flex h-8 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] whitespace-nowrap outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",e?"bg-primary font-medium text-primary-foreground":"text-foreground ring-1 ring-border ring-inset hover:bg-muted",n),...a})}function em({word:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("span",{className:"flex h-8 w-9 shrink-0 items-center text-[13px] text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:n})]})}function ex(e){let t=H(`${e} 00:00`),a=(t.getTime()-H(`${en(0)} 00:00`).getTime())/864e5;return(0,n.format)(t,a<7?"EEE d":"EEE, MMM d")}function ef({value:e,onPick:n}){let a=(0,x.useRef)(null),i=[0,1,2,3].map(e=>en(e)),s=()=>a.current?.showPicker();return(0,t.jsxs)(t.Fragment,{children:[i.map((a,i)=>(0,t.jsx)(eh,{picked:a===e,onClick:()=>n(a),children:0===i?"Today":1===i?"Tomorrow":ex(a)},a)),!i.includes(e)&&(0,t.jsx)(eh,{picked:!0,onClick:s,children:ex(e)}),(0,t.jsxs)("span",{className:"relative",children:[(0,t.jsx)(eh,{picked:!1,"aria-label":"Another day",onClick:s,className:"w-8 px-0",children:(0,t.jsx)(r,{className:"size-3.5"})}),(0,t.jsx)("input",{ref:a,type:"date",tabIndex:-1,"aria-hidden":!0,min:i[0],value:e,onChange:e=>e.target.value&&n(e.target.value),className:"pointer-events-none absolute inset-0 opacity-0"})]})]})}function ep({value:e,onChange:n,onDone:a}){return(0,t.jsx)(j.Input,{type:"time","aria-label":"Time of day",value:e,onChange:e=>n(e.target.value),onBlur:a,onClick:e=>e.currentTarget.showPicker?.(),className:"h-8.5 w-28 px-3 text-[15px] tabular-nums md:text-[15px] [&::-webkit-calendar-picker-indicator]:hidden"})}function eg({schedule:e,kind:n}){if(!e||es(e))return(0,t.jsx)("p",{className:"text-xs text-destructive",children:e?"That time has passed. Pick a later one.":"daily"===n?"Pick a time and at least one day.":"Pick a time."});let i=function(e,t){if("once"===e.kind)return H(e.at);if("every"===e.kind)return new Date(t.getTime()+36e5*e.hours);let[n,a]=e.time.split(":").map(Number);for(let i=0;i<=7;i++){let s=new Date(t);s.setDate(s.getDate()+i),s.setHours(n,a,0,0);let r=0===s.getDay()?7:s.getDay();if(s>t&&e.days.includes(r))return s}return new Date(t.getTime()+864e5)}(e,new Date);return(0,t.jsxs)("p",{className:"flex items-start gap-2 text-[13px] leading-5",children:[(0,t.jsx)(Q.RoutineMark,{className:"mt-0.75 size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("span",{className:"min-w-0",children:[X(e),(0,t.jsxs)("span",{className:"text-muted-foreground",children:[" · ","once"===e.kind?`${(0,a.formatDistanceToNowStrict)(i,{addSuffix:!0})}, then it switches itself off`:`first start ${(0,R.whenOf)(i)}`]})]})]})}function eb({label:e,htmlFor:n,children:a}){return(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("label",{htmlFor:n,className:"w-14 shrink-0 pt-2 font-mono text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"min-w-0 flex-1 space-y-1.5",children:a})]})}e.s(["RoutineSetting",0,function(){let[e,n]=(0,x.useState)(null),{data:a,isLoading:i,error:s}=(0,A.useServerRoute)(f.queryKey.routines),{data:r}=(0,A.useServerRoute)(f.queryKey.bot),[l]=(0,O.useServerAction)(K,{onOk:()=>(0,A.revalidate)(f.queryKey.routines)});if(i)return(0,t.jsx)($.SettingSkeleton,{rows:3});if(s)return(0,t.jsx)($.SettingError,{message:s.message});let o=a??[],d=o.filter(e=>e.enabled).length,u=o.find(t=>t.id===e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)($.SettingScreen,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)($.SettingRailNote,{children:[o.length," of ",S.ROUTINE.max," · ",d," on"]}),(0,t.jsx)(D.KeepWorkingSwitch,{})]}),children:(0,t.jsx)($.SettingItems,{addRow:o.length<S.ROUTINE.max?{label:"New routine",onClick:()=>n("new")}:void 0,children:0===o.length?(0,t.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:'Nothing starts by itself yet. Tell Thursday what should — "every weekday at nine, go through my mail" — or make one here.'}):o.map(a=>(0,t.jsx)(ee,{routine:a,bots:r,open:a.id===e,onOpen:()=>n(a.id),onSwitch:e=>l(a.id,{enabled:e})},a.id))})}),(0,t.jsx)(eu,{routine:"new"===e?"new":u??null,bots:r??[],onClose:()=>n(null),onMade:e=>n(e)})]})}],480869)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},21357,e=>{"use strict";var t=e.i(456420);let n={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};n.node;let a=(0,t.default)(n);e.s(["Play",0,a],21357)},759659,e=>{"use strict";var t=e.i(456420);let n={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"]};n.node;let a=(0,t.default)(n);e.s(["Trash2",0,a],759659)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,638475,e=>{"use strict";var t=e.i(843476),n=e.i(798120),a=e.i(319036),i=e.i(609856),s=e.i(283653),r=e.i(95187);let l=(0,r.createServerReference)("7f6153547e2d9efcc9931df21e4985a569be7fbcf6",r.callServer,void 0,r.findSourceMapURL,"setKeepWorkingOnAction"),o="Work while the app is closed";e.s(["KeepWorkingSwitch",0,function(){let{data:e,mutate:r}=(0,s.useServerRoute)(n.queryKey.botKeepWorking),[d]=(0,i.useServerAction)(l,{onOk:()=>(0,s.revalidate)(n.queryKey.botKeepWorking)});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",title:"Off, closing the last tab stops running jobs and holds routines until one is open again. On, they run until the server stops.",children:o}),(0,t.jsx)(a.Switch,{checked:e??!1,disabled:void 0===e,onCheckedChange:e=>{r(e,!1),d(e)},"aria-label":o})]})}],638475)},480869,e=>{"use strict";var t=e.i(843476),n=e.i(401851),a=e.i(493801),i=e.i(456420);let s={name:"calendar-days",size:24,node:[["path",{d:"M8 2v3",key:"1ioesn"}],["path",{d:"M16 2v3",key:"otl347"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M8 13h.01",key:"1sbv64"}],["path",{d:"M12 13h.01",key:"y0uutt"}],["path",{d:"M16 13h.01",key:"wip0gl"}],["path",{d:"M8 17h.01",key:"p3bg7i"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M16 17h.01",key:"ql8jdd"}]]};s.node;let r=(0,i.default)(s);var l=e.i(716327),o=e.i(867927),d=e.i(632781),u=e.i(648119),c=e.i(21357),h=e.i(759659),m=e.i(263676),x=e.i(271645),f=e.i(798120),p=e.i(167881),g=e.i(630374),b=e.i(463415),j=e.i(23750),y=e.i(917162),k=e.i(421429),v=e.i(660302),w=e.i(319036),N=e.i(184762),S=e.i(41533),M=e.i(635963),D=e.i(638475),T=e.i(978411),$=e.i(895836),C=e.i(989409),R=e.i(245629),O=e.i(609856),A=e.i(283653),z=e.i(647163),I=e.i(95187);let q=(0,I.createServerReference)("7f69ad8af4cb47a2951021d9fd4d319363923a906f",I.callServer,void 0,I.findSourceMapURL,"createRoutineAction"),E=(0,I.createServerReference)("7f8b83867e2893787e9ee5c356c1b5027f9aba9d43",I.callServer,void 0,I.findSourceMapURL,"deleteRoutineAction"),F=(0,I.createServerReference)("7f4b2db9339530bc040c2ef87e040c478a32455442",I.callServer,void 0,I.findSourceMapURL,"runRoutineNowAction"),K=(0,I.createServerReference)("7fd6af6c30beee0e6503ec41db633fb4079ed09786",I.callServer,void 0,I.findSourceMapURL,"updateRoutineAction");var W=e.i(504565);let P=[1,2,3,4,5,6,7],B=W.default.string().regex(/^([01]\d|2[0-3]):[0-5]\d$/,"A time is HH:MM, 00:00 to 23:59");function H(e){let[t,n]=e.split(" "),[a,i,s]=t.split("-").map(Number),[r,l]=n.split(":").map(Number);return new Date(a,i-1,s,r,l)}let U=/^\d{4}-\d\d-\d\d ([01]\d|2[0-3]):[0-5]\d$/,L=W.default.string().regex(U,'A moment is "YYYY-MM-DD HH:MM"').refine(e=>{if(!U.test(e))return!0;let t=H(e);return t.getMonth()===Number(e.slice(5,7))-1&&t.getDate()===Number(e.slice(8,10))},"There is no such day"),G=W.default.discriminatedUnion("kind",[W.default.object({kind:W.default.literal("once"),at:L}),W.default.object({kind:W.default.literal("daily"),time:B,days:W.default.array(W.default.number().int().min(1).max(7)).min(1,"Pick at least one day").transform(e=>[...new Set(e)].sort((e,t)=>e-t))}),W.default.object({kind:W.default.literal("every"),hours:W.default.number().int().min(S.ROUTINE.minHours,`No more often than every ${S.ROUTINE.minHours}h`).max(168)})]),Y=W.default.object({bot:W.default.string().trim().min(1,"Pick a bot"),label:W.default.string().trim().min(1,"Give it a name").max(80),request:W.default.string().trim().min(1,"Say what it should do"),schedule:G}),J=W.default.object({id:W.default.string(),status:W.default.enum(["running","waiting","done","cancelled"]),outcome:W.default.string().nullable(),updatedAt:R.DateLikeSchema});Y.extend({id:W.default.string(),enabled:W.default.boolean(),nextRunAt:R.DateLikeSchema,runs:W.default.array(J)});let _=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],V=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function X(e){if("once"===e.kind){let[t,n]=e.at.split(" "),[,a,i]=t.split("-").map(Number);return`Once \xb7 ${V[a-1]} ${i} ${n}`}if("every"===e.kind)return 1===e.hours?"Every hour":`Every ${e.hours} hours`;let{days:t,time:n}=e;if(7===t.length)return`Daily ${n}`;if(1===t.length)return`${_[t[0]-1]} ${n}`;let a=t.every((e,n)=>0===n||e===t[n-1]+1)?`${_[t[0]-1]}–${_[t.at(-1)-1]}`:t.map(e=>_[e-1]).join(" ");return`Daily ${n} \xb7 ${a}`}var Q=e.i(431594);let Z=(e,t)=>{let n=t?.find(t=>t.name===e)?.icon;return{color:n?.color,shape:n?.shape,outline:n?.outline,paint:n?.paint}};function ee({routine:e,bots:n,open:a,onOpen:i,onSwitch:s}){let r=function(e,t){let n=e.runs[0],a=n?.outcome?(0,z.plainText)(n.outcome):"",i=n?`${(0,R.whenOf)(n.updatedAt)}${a?` — ${a}`:""}`:"Not run yet";if(!e.enabled)return{text:`Off \xb7 ${i}`,tone:"text-muted-foreground"};let s=t?.find(t=>t.name===e.bot);return t&&(!s||s.disabled)?{text:s?`${e.bot} is switched off`:`${e.bot} is gone — pick another bot`,tone:z.WAITING_INK,waits:!0}:n?.status==="running"?{text:"Running now",tone:"",shine:!0}:n?.status==="waiting"?{text:`The last run waits on you${a?`: ${a}`:""}`,tone:z.WAITING_INK,waits:!0}:{text:i,tone:"text-muted-foreground"}}(e,n),l=e.runs[0]?.status==="running";return(0,t.jsxs)("div",{className:(0,z.cn)("flex items-center gap-3 p-4 transition-colors",a?"bg-muted/80":"hover:bg-muted/50"),children:[(0,t.jsxs)("button",{type:"button",onClick:i,className:(0,z.cn)("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",!e.enabled&&"opacity-70"),children:[(0,t.jsx)(M.BotMark,{size:40,seed:e.bot,...Z(e.bot,n),state:l?"thinking":"idle",notify:!!r.waits,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}),l&&(0,t.jsx)(d.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),(0,t.jsx)("span",{className:"flex min-w-0 text-[13px] leading-snug",children:r.shine?(0,t.jsx)(v.ShinyText,{text:r.text,speed:2.2,className:"min-w-0 truncate"}):(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 truncate",r.tone),children:r.text})})]}),(0,t.jsxs)("span",{className:"flex w-44 shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",children:[(0,t.jsxs)("span",{className:"flex max-w-full items-center gap-1.5 text-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"truncate",children:X(e.schedule)})]}),(0,t.jsx)("span",{className:"max-w-full truncate text-muted-foreground/70",children:e.enabled?`next ${(0,R.whenOf)(e.nextRunAt)}`:"off"})]})]}),(0,t.jsx)(w.Switch,{checked:e.enabled,onCheckedChange:s,"aria-label":`${e.label} on or off`,className:"shrink-0"}),(0,t.jsx)("button",{type:"button",onClick:i,"aria-label":`Open ${e.label}`,className:"shrink-0 rounded-md text-muted-foreground outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(o.ChevronRight,{className:"size-4"})})]})}let et=e=>String(e).padStart(2,"0");function en(e,t=new Date){let n=new Date(t);return n.setDate(n.getDate()+e),`${n.getFullYear()}-${et(n.getMonth()+1)}-${et(n.getDate())}`}let ea=(e,t)=>{let n=e?.schedule;return{label:e?.label??"",bot:e?.bot??t.find(e=>!e.disabled)?.name??"",request:e?.request??"",kind:n?.kind??"daily",time:n?.kind==="daily"?n.time:n?.kind==="once"?n.at.slice(11):"09:00",days:n?.kind==="daily"?n.days:[...P],hours:n?.kind==="every"?n.hours:6,date:n?.kind==="once"?n.at.slice(0,10):en(1)}};function ei(e){let t=/^\d\d:\d\d$/.test(e.time);return"once"===e.kind?t&&e.date?{kind:"once",at:`${e.date} ${e.time}`}:null:"daily"===e.kind?e.days.length&&t?{kind:"daily",time:e.time,days:e.days}:null:{kind:"every",hours:e.hours}}let es=e=>e?.kind==="once"&&H(e.at)<=new Date,er=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],el=[{label:"Every day",days:[1,2,3,4,5,6,7]},{label:"Weekdays",days:[1,2,3,4,5]},{label:"Weekends",days:[6,7]}],eo=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],ed=[1,2,3,6,12,24].filter(e=>e>=S.ROUTINE.minHours);function eu({routine:e,bots:n,onClose:a,onMade:i}){var s,r;let d,[v,S]=(0,x.useState)(null),D=(0,x.useCallback)(e=>{S(e?.closest("[data-slot=dialog-content]")??null)},[]),$="new"===e?null:e,I="new"===e?"new":e?.id??"",[W,B]=(0,x.useState)(()=>ea($,n));(0,x.useEffect)(()=>B(ea($,n)),[I]);let H=e=>B(t=>({...t,...e})),U=()=>(0,A.revalidate)(f.queryKey.routines),[L,G]=(0,O.useServerAction)(q,{onOk:e=>{U(),i(e.id)}}),[Y]=(0,O.useServerAction)(K,{onOk:U}),[J]=(0,O.useServerAction)(E,{onOk:U}),[_,V]=(0,O.useServerAction)(F,{onOk:()=>{U(),(0,A.revalidate)(f.queryKey.threads)}}),ee=ei(W),ex=ee&&!es(ee)&&W.label.trim()&&W.bot&&W.request.trim()?{label:W.label.trim(),bot:W.bot,request:W.request.trim(),schedule:ee}:null,ej=e=>{$&&Y($.id,e).catch(()=>{})},ey=e=>{H(e);let t=ei({...W,...e});!t||es(t)||ej({schedule:t,..."once"===t.kind?{enabled:!0}:{}})},ek=async()=>{!$||await y.notify.confirm({title:`Delete "${$.label}"?`,description:"It starts no more. The jobs it already opened stay.",okText:"Delete",destructive:!0})&&(await J($.id).catch(()=>{}),a())},ev=n.find(e=>e.name===W.bot),ew=$?.runs[0]?.status==="running"||$?.runs[0]?.status==="waiting";return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{ref:D,hidden:!0}),(0,t.jsx)(g.Dialog,{open:!!(e&&v),onOpenChange:e=>!e&&a(),modal:!1,disablePointerDismissal:!0,children:(0,t.jsx)(g.DialogPortal,{container:v,children:(0,t.jsx)(g.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&&(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:[ev?(0,t.jsx)(M.BotMark,{size:28,seed:ev.name,...Z(ev.name,n),notify:!1,className:"shrink-0"}):(0,t.jsx)("span",{className:"flex size-7 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:(0,t.jsx)(Q.RoutineMark,{className:"size-3.5"})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)(g.DialogTitle,{className:"sr-only",children:$?$.label:"New routine"}),(0,t.jsx)("p",{className:"truncate text-[15px] leading-5 font-semibold",children:$?$.label:"New routine"}),$&&(0,t.jsxs)("p",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(Q.RoutineMark,{className:"size-3 shrink-0"}),(0,t.jsxs)("span",{className:"truncate",children:[$.bot," · ",X($.schedule),$.enabled&&` \xb7 next ${(0,R.whenOf)($.nextRunAt)}`]})]})]}),$&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.Switch,{checked:$.enabled,onCheckedChange:e=>void Y($.id,{enabled:e}).catch(()=>{}),"aria-label":`${$.label} on or off`,className:"mr-1 shrink-0"}),(0,t.jsxs)(b.DropdownMenu,{children:[(0,t.jsx)(b.DropdownMenuTrigger,{render:(0,t.jsx)(p.Button,{size:"icon-sm",variant:"ghost","aria-label":"More",className:"text-muted-foreground"}),children:(0,t.jsx)(u.MoreHorizontal,{})}),(0,t.jsx)(b.DropdownMenuContent,{align:"end",children:(0,t.jsxs)(b.DropdownMenuItem,{variant:"destructive",onClick:ek,children:[(0,t.jsx)(h.Trash2,{}),"Delete"]})})]})]}),(0,t.jsx)(g.DialogClose,{render:(0,t.jsx)(p.Button,{size:"icon-sm",variant:"ghost","aria-label":"Close the routine"}),children:(0,t.jsx)(m.X,{})})]}),(0,t.jsxs)("div",{className:"min-h-0 flex-1 space-y-4 overflow-y-auto px-5 pt-3 pb-5",children:[(0,t.jsxs)(eb,{label:"Name",htmlFor:"routine-name",children:[(0,t.jsx)(j.Input,{id:"routine-name",value:W.label,onChange:e=>H({label:e.target.value}),onBlur:()=>{let e=W.label.trim();e&&e!==$?.label&&ej({label:e})},placeholder:"Morning mail",maxLength:80,autoFocus:!$}),(0,t.jsx)(ec,{children:"What it is called in this list, and what she calls it on a call."})]}),(0,t.jsxs)(eb,{label:"Bot",children:[(0,t.jsxs)(b.DropdownMenu,{children:[(0,t.jsxs)(b.DropdownMenuTrigger,{render:(0,t.jsx)(p.Button,{variant:"outline",className:"justify-start gap-2 pl-1.5 font-normal"}),children:[ev?(0,t.jsx)(M.BotMark,{size:20,seed:ev.name,...Z(ev.name,n),notify:!1,className:"shrink-0"}):null,(0,t.jsx)("span",{className:(0,z.cn)(!ev&&"pl-1.5 text-muted-foreground"),children:ev?.name??(W.bot||"Pick a bot")}),(0,t.jsx)(l.ChevronDown,{className:"ml-1 size-3.5 text-muted-foreground"})]}),(0,t.jsx)(b.DropdownMenuContent,{align:"start",children:(0,t.jsx)(b.DropdownMenuGroup,{children:n.filter(e=>!e.disabled).map(e=>(0,t.jsxs)(b.DropdownMenuItem,{onClick:()=>{H({bot:e.name}),e.name!==$?.bot&&ej({bot:e.name})},children:[(0,t.jsx)(M.BotMark,{size:16,seed:e.name,...Z(e.name,n),notify:!1,className:"shrink-0"}),e.name]},e.name))})})]}),(0,t.jsx)(ec,{children:"Who does the job each time it starts."})]}),(0,t.jsx)(eb,{label:"When",children:(0,t.jsxs)("div",{className:"space-y-3.5",children:[(0,t.jsx)(k.Segmented,{"aria-label":"How it starts",value:W.kind,onChange:e=>ey({kind:e}),options:[{value:"once",label:"Once"},{value:"daily",label:"On set days"},{value:"every",label:"Every few hours"}]}),(0,t.jsx)("div",{className:"space-y-2.5",children:"once"===W.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(em,{word:"On",children:(0,t.jsx)(ef,{value:W.date,onPick:e=>ey({date:e})})}),(0,t.jsxs)(em,{word:"At",children:[(0,t.jsx)(ep,{value:W.time,onChange:e=>H({time:e}),onDone:()=>ey({})}),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"or"}),(0,t.jsx)(eh,{picked:!1,onClick:()=>{let e;return ey(((e=new Date(Date.now()+36e5)).setMinutes(5*Math.ceil(e.getMinutes()/5),0,0),{date:en(0,e),time:`${et(e.getHours())}:${et(e.getMinutes())}`}))},children:"In an hour"})]})]}):"daily"===W.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(em,{word:"On",children:P.map(e=>{let n=W.days.includes(e);return(0,t.jsx)(eh,{picked:n,"aria-label":eo[e-1],onClick:()=>ey({days:n?W.days.filter(t=>t!==e):[...W.days,e].sort((e,t)=>e-t)}),children:er[e-1]},e)})}),(0,t.jsx)(em,{children:el.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>ey({days:[...e.days]}),className:"h-6.5 rounded-full bg-muted px-2.5 text-xs text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:e.label},e.label))}),(0,t.jsx)(em,{word:"At",children:(0,t.jsx)(ep,{value:W.time,onChange:e=>H({time:e}),onDone:()=>ey({})})})]}):(0,t.jsxs)(em,{word:"Every",children:[(ed.includes(W.hours)?ed:[...ed,W.hours].sort((e,t)=>e-t)).map(e=>(0,t.jsx)(eh,{picked:e===W.hours,onClick:()=>ey({hours:e}),className:"min-w-10 px-3",children:e},e)),(0,t.jsx)("span",{className:"text-[13px] text-muted-foreground",children:"hours"})]})}),(0,t.jsx)(eg,{schedule:ee,kind:W.kind})]})}),(0,t.jsxs)(eb,{label:"Job",htmlFor:"routine-request",children:[(0,t.jsx)(N.Textarea,{id:"routine-request",value:W.request,onChange:e=>H({request:e.target.value}),onBlur:()=>{let e=W.request.trim();e&&e!==$?.request&&ej({request:e})},placeholder:"Go through the mail that came since the last run and draft replies to what needs one. Send nothing.",className:"min-h-28"}),(0,t.jsx)(ec,{children:"Handed to the bot as a new thread each time, with a line on how the last run ended. Nobody is there to ask, so say everything it needs."})]}),$&&(0,t.jsxs)("div",{className:"pt-1",children:[(0,t.jsx)("div",{className:"flex h-6 items-center",children:(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Runs"})}),0===$.runs.length?(0,t.jsx)("p",{className:"py-2 text-[13px] text-muted-foreground",children:"Not run yet."}):$.runs.map(e=>(0,t.jsxs)("button",{type:"button",onClick:()=>{var t;return t=e.id,void(C.useSettingsStore.getState().hide(),T.roomOpens.open(t))},className:"flex h-9 w-full items-center gap-3 border-t border-border/60 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,t.jsx)("span",{className:"w-28 shrink-0 font-mono text-[11px] text-muted-foreground tabular-nums",children:(0,R.whenOf)(e.updatedAt)}),(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 flex-1 truncate","waiting"===e.status?z.WAITING_INK:"text-muted-foreground"),children:"running"===e.status?"Running now":e.outcome?(0,z.plainText)(e.outcome):"cancelled"===e.status?"Stopped":"No words"}),(0,t.jsx)(o.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground"})]},e.id))]})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-t border-border/60 px-5 py-3",children:[(0,t.jsx)("p",{className:"min-w-0 flex-1 text-xs leading-4 text-muted-foreground",children:$||ex?"Starts while Thursday is running on this computer, with a tab open unless work goes on with the app closed. A time that passed meanwhile starts once, not once for each.":`Still needs ${s=W,r=ee,(d=[s.label.trim()?null:"a name",s.bot?null:"a bot",!r?"a time":es(r)?"a time still ahead":null,s.request.trim()?null:"a job"].filter(e=>null!==e)).length>1?`${d.slice(0,-1).join(", ")} and ${d.at(-1)}`:d[0]??"nothing"}.`}),$?(0,t.jsxs)(p.Button,{variant:"outline",size:"sm",loading:V,disabled:ew,title:ew?"Its last run is still open":void 0,onClick:()=>void _($.id).catch(()=>{}),children:[(0,t.jsx)(c.Play,{}),"Run now"]}):(0,t.jsx)(p.Button,{variant:"brand",size:"sm",loading:G,disabled:!ex,onClick:()=>ex&&void L(ex).catch(()=>{}),children:"Create"})]})]})})})})]})}let ec=({children:e})=>(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e});function eh({picked:e,className:n,...a}){return(0,t.jsx)("button",{type:"button","aria-pressed":e,className:(0,z.cn)("inline-flex h-8 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] whitespace-nowrap outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",e?"bg-brand font-medium text-brand-foreground":"text-foreground ring-1 ring-border ring-inset hover:bg-muted",n),...a})}function em({word:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,t.jsx)("span",{className:"flex h-8 w-9 shrink-0 items-center text-[13px] text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:n})]})}function ex(e){let t=H(`${e} 00:00`),a=(t.getTime()-H(`${en(0)} 00:00`).getTime())/864e5;return(0,n.format)(t,a<7?"EEE d":"EEE, MMM d")}function ef({value:e,onPick:n}){let a=(0,x.useRef)(null),i=[0,1,2,3].map(e=>en(e)),s=()=>a.current?.showPicker();return(0,t.jsxs)(t.Fragment,{children:[i.map((a,i)=>(0,t.jsx)(eh,{picked:a===e,onClick:()=>n(a),children:0===i?"Today":1===i?"Tomorrow":ex(a)},a)),!i.includes(e)&&(0,t.jsx)(eh,{picked:!0,onClick:s,children:ex(e)}),(0,t.jsxs)("span",{className:"relative",children:[(0,t.jsx)(eh,{picked:!1,"aria-label":"Another day",onClick:s,className:"w-8 px-0",children:(0,t.jsx)(r,{className:"size-3.5"})}),(0,t.jsx)("input",{ref:a,type:"date",tabIndex:-1,"aria-hidden":!0,min:i[0],value:e,onChange:e=>e.target.value&&n(e.target.value),className:"pointer-events-none absolute inset-0 opacity-0"})]})]})}function ep({value:e,onChange:n,onDone:a}){return(0,t.jsx)(j.Input,{type:"time","aria-label":"Time of day",value:e,onChange:e=>n(e.target.value),onBlur:a,onClick:e=>e.currentTarget.showPicker?.(),className:"h-8.5 w-28 px-3 text-[15px] tabular-nums md:text-[15px] [&::-webkit-calendar-picker-indicator]:hidden"})}function eg({schedule:e,kind:n}){if(!e||es(e))return(0,t.jsx)("p",{className:"text-xs text-destructive",children:e?"That time has passed. Pick a later one.":"daily"===n?"Pick a time and at least one day.":"Pick a time."});let i=function(e,t){if("once"===e.kind)return H(e.at);if("every"===e.kind)return new Date(t.getTime()+36e5*e.hours);let[n,a]=e.time.split(":").map(Number);for(let i=0;i<=7;i++){let s=new Date(t);s.setDate(s.getDate()+i),s.setHours(n,a,0,0);let r=0===s.getDay()?7:s.getDay();if(s>t&&e.days.includes(r))return s}return new Date(t.getTime()+864e5)}(e,new Date);return(0,t.jsxs)("p",{className:"flex items-start gap-2 text-[13px] leading-5",children:[(0,t.jsx)(Q.RoutineMark,{className:"mt-0.75 size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("span",{className:"min-w-0",children:[X(e),(0,t.jsxs)("span",{className:"text-muted-foreground",children:[" · ","once"===e.kind?`${(0,a.formatDistanceToNowStrict)(i,{addSuffix:!0})}, then it switches itself off`:`first start ${(0,R.whenOf)(i)}`]})]})]})}function eb({label:e,htmlFor:n,children:a}){return(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsx)("label",{htmlFor:n,className:"w-14 shrink-0 pt-2 font-mono text-xs text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"min-w-0 flex-1 space-y-1.5",children:a})]})}e.s(["RoutineSetting",0,function(){let[e,n]=(0,x.useState)(null),{data:a,isLoading:i,error:s}=(0,A.useServerRoute)(f.queryKey.routines),{data:r}=(0,A.useServerRoute)(f.queryKey.bot),[l]=(0,O.useServerAction)(K,{onOk:()=>(0,A.revalidate)(f.queryKey.routines)});if(i)return(0,t.jsx)($.SettingSkeleton,{rows:3});if(s)return(0,t.jsx)($.SettingError,{message:s.message});let o=a??[],d=o.filter(e=>e.enabled).length,u=o.find(t=>t.id===e);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)($.SettingScreen,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)($.SettingRailNote,{children:[o.length," of ",S.ROUTINE.max," · ",d," on"]}),(0,t.jsx)(D.KeepWorkingSwitch,{})]}),children:(0,t.jsx)($.SettingItems,{addRow:o.length<S.ROUTINE.max?{label:"New routine",onClick:()=>n("new")}:void 0,children:0===o.length?(0,t.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:'Nothing starts by itself yet. Tell Thursday what should — "every weekday at nine, go through my mail" — or make one here.'}):o.map(a=>(0,t.jsx)(ee,{routine:a,bots:r,open:a.id===e,onOpen:()=>n(a.id),onSwitch:e=>l(a.id,{enabled:e})},a.id))})}),(0,t.jsx)(eu,{routine:"new"===e?"new":u??null,bots:r??[],onClose:()=>n(null),onMade:e=>n(e)})]})}],480869)},648119,e=>{"use strict";var t=e.i(560972);e.s(["MoreHorizontal",()=>t.default])},21357,e=>{"use strict";var t=e.i(456420);let n={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};n.node;let a=(0,t.default)(n);e.s(["Play",0,a],21357)},759659,e=>{"use strict";var t=e.i(456420);let n={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"]};n.node;let a=(0,t.default)(n);e.s(["Trash2",0,a],759659)}]);
|