puremethod 0.1.0__py3-none-any.whl
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.
- app/__init__.py +2 -0
- app/__main__.py +31 -0
- app/_web/404/index.html +1 -0
- app/_web/404.html +1 -0
- app/_web/__next.!KGNvbnNvbGUp.__PAGE__.txt +42 -0
- app/_web/__next._full.txt +36 -0
- app/_web/__next._tree.txt +4 -0
- app/_web/_next/static/6az3RZxafySyERvJdZAgV/_buildManifest.js +11 -0
- app/_web/_next/static/6az3RZxafySyERvJdZAgV/_clientMiddlewareManifest.js +1 -0
- app/_web/_next/static/6az3RZxafySyERvJdZAgV/_ssgManifest.js +1 -0
- app/_web/_next/static/chunks/00fylloju-1x2.js +1 -0
- app/_web/_next/static/chunks/03hxwfej4sm9g.js +1 -0
- app/_web/_next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- app/_web/_next/static/chunks/0gus9jro9n3j3.js +1 -0
- app/_web/_next/static/chunks/0n12a63ieedt9.js +1 -0
- app/_web/_next/static/chunks/0ns7paypbayry.js +31 -0
- app/_web/_next/static/chunks/0s1d7y-_wn8wn.js +1 -0
- app/_web/_next/static/chunks/12s40azz56b3b.js +1 -0
- app/_web/_next/static/chunks/1b_14wnek5geq.js +1 -0
- app/_web/_next/static/chunks/1oderptqhsaox.css +1 -0
- app/_web/_next/static/chunks/1rcnm-dleh7p6.js +1 -0
- app/_web/_next/static/chunks/1u4klctqx_w0w.js +1 -0
- app/_web/_next/static/chunks/1vahkxwiu_bqp.js +22 -0
- app/_web/_next/static/chunks/26mp4u1wew2xu.js +1 -0
- app/_web/_next/static/chunks/2aq880yo-2z88.js +1 -0
- app/_web/_next/static/chunks/2f5ovhdilzkal.js +1 -0
- app/_web/_next/static/chunks/2qds0qd18u74f.js +1 -0
- app/_web/_next/static/chunks/2qgmxvbiean_r.js +1 -0
- app/_web/_next/static/chunks/3b5v1mle2gmac.js +1 -0
- app/_web/_next/static/chunks/3hw8x3h98ysh4.js +6 -0
- app/_web/_next/static/chunks/3op5__grw4752.js +1 -0
- app/_web/_next/static/chunks/3scuzzds0vtp7.js +1 -0
- app/_web/_next/static/chunks/3v_5wdpvvcxz8.js +1 -0
- app/_web/_next/static/chunks/3wevuf_oyh97l.js +1 -0
- app/_web/_next/static/chunks/turbopack-3-ry682tkyiqk.js +1 -0
- app/_web/_not-found/__next._full.txt +24 -0
- app/_web/_not-found/__next._not-found.__PAGE__.txt +30 -0
- app/_web/_not-found/__next._tree.txt +4 -0
- app/_web/_not-found/index.html +1 -0
- app/_web/_not-found/index.txt +24 -0
- app/_web/credentials/__next.!KGNvbnNvbGUp.credentials.__PAGE__.txt +46 -0
- app/_web/credentials/__next._full.txt +39 -0
- app/_web/credentials/__next._tree.txt +5 -0
- app/_web/credentials/index.html +1 -0
- app/_web/credentials/index.txt +39 -0
- app/_web/executors/__next.!KGNvbnNvbGUp.executors.__PAGE__.txt +46 -0
- app/_web/executors/__next._full.txt +39 -0
- app/_web/executors/__next._tree.txt +5 -0
- app/_web/executors/index.html +1 -0
- app/_web/executors/index.txt +39 -0
- app/_web/index.html +1 -0
- app/_web/index.txt +36 -0
- app/_web/new/__next.!KGNvbnNvbGUp.new.__PAGE__.txt +46 -0
- app/_web/new/__next._full.txt +39 -0
- app/_web/new/__next._tree.txt +5 -0
- app/_web/new/index.html +1 -0
- app/_web/new/index.txt +39 -0
- app/_web/profiles/__next.!KGNvbnNvbGUp.profiles.__PAGE__.txt +46 -0
- app/_web/profiles/__next._full.txt +39 -0
- app/_web/profiles/__next._tree.txt +5 -0
- app/_web/profiles/index.html +1 -0
- app/_web/profiles/index.txt +39 -0
- app/_web/run/__next.!KGNvbnNvbGUp.run.__PAGE__.txt +47 -0
- app/_web/run/__next._full.txt +40 -0
- app/_web/run/__next._tree.txt +5 -0
- app/_web/run/index.html +1 -0
- app/_web/run/index.txt +40 -0
- app/_web/services/__next.!KGNvbnNvbGUp.services.__PAGE__.txt +46 -0
- app/_web/services/__next._full.txt +39 -0
- app/_web/services/__next._tree.txt +5 -0
- app/_web/services/index.html +1 -0
- app/_web/services/index.txt +39 -0
- app/_web/setup/__next.!KGNvbnNvbGUp.setup.__PAGE__.txt +46 -0
- app/_web/setup/__next._full.txt +39 -0
- app/_web/setup/__next._tree.txt +5 -0
- app/_web/setup/index.html +1 -0
- app/_web/setup/index.txt +39 -0
- app/_web/signin/__next._full.txt +30 -0
- app/_web/signin/__next._tree.txt +4 -0
- app/_web/signin/__next.signin.__PAGE__.txt +36 -0
- app/_web/signin/index.html +1 -0
- app/_web/signin/index.txt +30 -0
- app/accounts.py +137 -0
- app/addresses.py +30 -0
- app/api/__init__.py +61 -0
- app/api/auth_routes.py +54 -0
- app/api/common.py +102 -0
- app/api/config_routes.py +562 -0
- app/api/links.py +22 -0
- app/api/run_routes.py +311 -0
- app/api/setup_routes.py +267 -0
- app/bundled.py +521 -0
- app/compose.py +229 -0
- app/db.py +186 -0
- app/executor_config.py +95 -0
- app/keys.py +29 -0
- app/launcher.py +389 -0
- app/leases.py +40 -0
- app/literature_sources.py +131 -0
- app/model_endpoints.py +104 -0
- app/model_search.py +252 -0
- app/outputs.py +77 -0
- app/paths.py +93 -0
- app/readonly.py +70 -0
- app/repo.py +746 -0
- app/scan.py +65 -0
- app/server.py +24 -0
- app/settings.py +125 -0
- app/setup.py +117 -0
- app/ssh_chain.py +102 -0
- app/ssh_hosts.py +244 -0
- app/ssh_machines.py +101 -0
- app/statuses.py +4 -0
- app/supervisor.py +87 -0
- app/tunnels.py +222 -0
- app/unseal.py +27 -0
- app/worker.py +657 -0
- executor/__init__.py +47 -0
- executor/base.py +161 -0
- executor/common.py +139 -0
- executor/local_docker.py +239 -0
- executor/local_process.py +247 -0
- executor/ssh.py +481 -0
- executor/types.py +128 -0
- executor/watchdog.py +108 -0
- ledger/__init__.py +46 -0
- ledger/artifacts.py +62 -0
- ledger/canonical.py +48 -0
- ledger/core.py +337 -0
- ledger/errors.py +36 -0
- ledger/model.py +107 -0
- ledger/payloads.py +228 -0
- ledger/rules.py +204 -0
- ledger/storage.py +226 -0
- llm/__init__.py +45 -0
- llm/backends/__init__.py +0 -0
- llm/backends/anthropic_backend.py +145 -0
- llm/backends/base.py +87 -0
- llm/backends/openai_backend.py +211 -0
- llm/core.py +416 -0
- llm/prices.py +98 -0
- llm/tokens.py +18 -0
- llm/types.py +106 -0
- loop/__init__.py +19 -0
- loop/config.py +108 -0
- loop/core.py +1160 -0
- loop/decide.py +61 -0
- loop/harness.py +132 -0
- loop/prompts.py +88 -0
- loop/view.py +202 -0
- puremethod-0.1.0.dist-info/METADATA +79 -0
- puremethod-0.1.0.dist-info/RECORD +171 -0
- puremethod-0.1.0.dist-info/WHEEL +4 -0
- puremethod-0.1.0.dist-info/entry_points.txt +2 -0
- puremethod-0.1.0.dist-info/licenses/LICENSE +96 -0
- puremethod-0.1.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +173 -0
- purescholar/__init__.py +43 -0
- purescholar/client.py +380 -0
- purescholar/types.py +164 -0
- puretrace/__init__.py +49 -0
- puretrace/client.py +320 -0
- puretrace/types.py +166 -0
- writer/__init__.py +8 -0
- writer/core.py +430 -0
- writer/facts.py +162 -0
- writer/latex.py +62 -0
- writer/lint.py +85 -0
- writer/macros.py +114 -0
- writer/render.py +120 -0
- writer/tectonic.py +79 -0
- writer/types.py +61 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,5439,94179,70065,25959,86530,35338,9515,50216,e=>{var t=e.i(21692),r=e.i(22358),n=e.i(41896),o=e.i(59019);let i={name:"circle-dashed",size:24,node:[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]]};i.node;let a=(0,o.f)(i);var l=e.i(18435),l=l,s=e.i(78928),s=s,d=e.i(94237),c=e.i(84271);let u=(0,d.f)("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});function f({className:e,variant:r,...n}){return(0,t.jsx)("div",{"data-slot":"alert",role:"alert",className:(0,c.f)(u({variant:r}),e),...n})}function p({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"alert-description",className:(0,c.f)("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",e),...r})}var h=e.i(12584);let m=(0,d.f)("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function g({className:e,variant:r="default",asChild:n=!1,...o}){let i=n?h.f.Root:"span";return(0,t.jsx)(i,{"data-slot":"badge","data-variant":r,className:(0,c.f)(m({variant:r}),e),...o})}function x({className:e,size:r="default",...n}){return(0,t.jsx)("div",{"data-slot":"card","data-size":r,className:(0,c.f)("group/card flex flex-col gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl",e),...n})}function v({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,c.f)("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-(--card-spacing) has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-(--card-spacing)",e),...r})}function b({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,c.f)("text-sm text-muted-foreground",e),...r})}function y({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,c.f)("px-(--card-spacing)",e),...r})}e.s(["f",0,g],94179),e.s(["N",0,x,"O",0,y,"u",0,b,"Y",0,v],70065);var w=e.i(92124),j=e.i(66100),k=e.i(14599),S=e.i(17607),C=e.i(76094),R=e.i(91719),I=e.i(65706),P=e.i(3355),E=Object.defineProperty,N=(e,t)=>E(e,"name",{value:t,configurable:!0}),T="Checkbox",[D,z]=(0,k.f)(T),[O,M]=D(T);function A(e){let{__scopeCheckbox:r,checked:n,children:o,defaultChecked:i,disabled:a,form:l,name:s,onCheckedChange:d,required:c,value:u="on",internal_do_not_use_render:f}=e,[p,h]=(0,C.f)({prop:n,defaultProp:i??!1,onChange:d,caller:T}),[m,g]=w.useState(null),[x,v]=w.useState(null),[b,y]=w.useState(null),j=!m||!!l||!!m.closest("form"),k={checked:p,disabled:a,setChecked:h,control:m,setControl:g,name:s,form:l,value:u,userClick:b,onUserClick:y,required:c,defaultChecked:!H(i)&&i,isFormControl:j,bubbleInput:x,setBubbleInput:v};return(0,t.jsx)(O,{scope:r,...k,children:B(f)?f(k):o})}N(A,"CheckboxProvider");var _=w.forwardRef(N(function({__scopeCheckbox:e,onKeyDown:r,onClick:n,...o},i){let{control:a,value:l,disabled:s,checked:d,required:c,setControl:u,setChecked:f,onUserClick:p,isFormControl:h,bubbleInput:m}=M("CheckboxTrigger",e),g=(0,j.j)(i,u),x=w.useRef(d);return w.useEffect(()=>{let e=a?.form;if(e){let t=N(()=>f(x.current),"reset");return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[a,f]),(0,t.jsx)(P.V.button,{type:"button",role:"checkbox","aria-checked":H(d)?"mixed":d,"aria-required":c,"data-state":K(d),"data-disabled":s?"":void 0,disabled:s,value:l,...o,ref:g,onKeyDown:(0,S.f)(r,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,S.f)(n,e=>{let t=e.isPropagationStopped();p({requestedChecked:!!H(d)||!d,hasConsumerStoppedPropagation:t}),f(e=>!!H(e)||!e),m&&h&&!t&&e.stopPropagation()})})},"CheckboxTrigger")),L=w.forwardRef(N(function(e,r){let{__scopeCheckbox:n,name:o,checked:i,defaultChecked:a,required:l,disabled:s,value:d,onCheckedChange:c,form:u,...f}=e;return(0,t.jsx)(A,{__scopeCheckbox:n,checked:i,defaultChecked:a,disabled:s,required:l,onCheckedChange:c,name:o,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(_,{...f,ref:r,__scopeCheckbox:n}),e&&(0,t.jsx)(F,{__scopeCheckbox:n})]})})},"Checkbox")),V=w.forwardRef(N(function(e,r){let{__scopeCheckbox:n,forceMount:o,...i}=e,a=M("CheckboxIndicator",n);return(0,t.jsx)(I.f,{present:o||H(a.checked)||!0===a.checked,children:(0,t.jsx)(P.V.span,{"data-state":K(a.checked),"data-disabled":a.disabled?"":void 0,...i,ref:r,style:{pointerEvents:"none",...e.style}})})},"CheckboxIndicator")),F=w.forwardRef(N(function({__scopeCheckbox:e,onClick:r,...n},o){let{control:i,userClick:a,checked:l,defaultChecked:s,required:d,disabled:c,name:u,value:f,form:p,bubbleInput:h,setBubbleInput:m}=M("CheckboxBubbleInput",e),g=(0,j.j)(o,m),x=(0,R.f)(i),v=w.useRef(!1),b=w.useRef(l),y=w.useRef(a),k=w.useRef(null);w.useEffect(()=>{if(!h)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(!e)return;let t=b.current!==l;b.current=l;let r=null!==a&&a!==y.current;if(y.current=a,r)k.current=t?null:a,t&&(h.indeterminate=H(l),e.call(h,!H(l)&&l)),h.dispatchEvent(new Event("click",{bubbles:!a.hasConsumerStoppedPropagation}));else if(t){let t=k.current;k.current=null;let r=t?.requestedChecked===l;v.current=!0,h.indeterminate=H(l),e.call(h,!H(l)&&l),h.dispatchEvent(new Event("click",{bubbles:!(r&&t.hasConsumerStoppedPropagation)})),v.current=!1}},[h,l,a]);let C=w.useRef(!H(l)&&l);return(0,t.jsx)(P.V.input,{type:"checkbox","aria-hidden":!0,defaultChecked:s??C.current,required:d,disabled:c,name:u,value:f,form:p,...n,tabIndex:-1,ref:g,onClick:(0,S.f)(r,e=>{v.current&&e.stopPropagation()}),style:{...n.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function B(e){return"function"==typeof e}function H(e){return"indeterminate"===e}function K(e){return H(e)?"indeterminate":e?"checked":"unchecked"}N(B,"isFunction"),N(H,"isIndeterminate"),N(K,"getState"),e.s(["Indicator",0,V,"Root",0,L],22162);var U=e.i(22162),U=U,G=U,q=e.i(97735);function W({className:e,...r}){return(0,t.jsx)(U.Root,{"data-slot":"checkbox",className:(0,c.f)("peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 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),...r,children:(0,t.jsx)(G.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:(0,t.jsx)(q.f,{})})})}e.s(["f",0,W],25959);var $=e.i(30374),X=Object.defineProperty,Y=w.forwardRef(X(function(e,r){return(0,t.jsx)(P.V.label,{...e,ref:r,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})},"name",{value:"Label",configurable:!0}));e.s(["Root",0,Y],66687);var Z=e.i(66687),Z=Z;function J({className:e,...r}){return(0,t.jsx)(Z.Root,{"data-slot":"label",className:(0,c.f)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...r})}e.i(69035);let Q=(0,d.f)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});function ee({className:e,orientation:r="vertical",...n}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":r,className:(0,c.f)(Q({orientation:r}),e),...n})}function et({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,c.f)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...r})}function er({className:e,...r}){return(0,t.jsx)(J,{"data-slot":"field-label",className:(0,c.f)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...r})}function en({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"field-label",className:(0,c.f)("flex w-fit items-center gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50",e),...r})}function eo({className:e,...r}){return(0,t.jsx)("p",{"data-slot":"field-description",className:(0,c.f)("text-left text-sm leading-normal font-normal text-muted-foreground group-has-data-horizontal/field:text-balance [[data-variant=legend]+&]:-mt-1.5","last:mt-0 nth-last-2:-mt-1","[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary",e),...r})}e.s(["N",0,ee,"v",0,et,"H",0,eo,"e",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"field-group",className:(0,c.f)("group/field-group @container/field-group flex w-full flex-col gap-5 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",e),...r})},"u",0,er,"t",0,en],86530);var ei=e.i(23750),ea=e.i(94689),el=e.i(31125),es=e.i(44532),ed=Object.defineProperty,ec=(e,t)=>ed(e,"name",{value:t,configurable:!0});function eu(e){let r=e+"CollectionProvider",[n,o]=(0,k.f)(r),[i,a]=n(r,{collectionRef:{current:null},itemMap:new Map}),l=ec(e=>{let{scope:r,children:n}=e,o=w.useRef(null),a=w.useRef(new Map).current;return(0,t.jsx)(i,{scope:r,itemMap:a,collectionRef:o,children:n})},"CollectionProvider");l.displayName=r;let s=e+"CollectionSlot",d=(0,el.createSlot)(s),c=w.forwardRef((e,r)=>{let{scope:n,children:o}=e,i=a(s,n),l=(0,j.j)(r,i.collectionRef);return(0,t.jsx)(d,{ref:l,children:o})});c.displayName=s;let u=e+"CollectionItemSlot",f="data-radix-collection-item",p=(0,el.createSlot)(u),h=w.forwardRef((e,r)=>{let{scope:n,children:o,...i}=e,l=w.useRef(null),s=(0,j.j)(r,l),d=a(u,n);return w.useEffect(()=>(d.itemMap.set(l,{ref:l,...i}),()=>void d.itemMap.delete(l))),(0,t.jsx)(p,{...{[f]:""},ref:s,children:o})});function m(t){let r=a(e+"CollectionConsumer",t);return w.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${f}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])}return h.displayName=u,ec(m,"useCollection"),[{Provider:l,Slot:c,ItemSlot:h},m,o]}ec(eu,"createCollection");var ef=new WeakMap,ep=class e extends Map{static{ec(this,"OrderedDict")}#e;constructor(e){super(e),this.#e=[...super.keys()],ef.set(this,!0)}set(e,t){return ef.get(this)&&!this.has(e)&&this.#e.push(e),super.set(e,t),this}insert(e,t,r){let n=this.has(t),o=n?this.size:this.size+1,i=eg(e),a=i>=0?Math.min(i,o-1):Math.max(o+i,0);if(n?this.#e.indexOf(t)===a:a===this.size)return this.set(t,r),this;let l=this.#e.filter(e=>e!==t);l.splice(a,0,t);let s=l.map(e=>[e,e===t?r:this.get(e)]);for(let[e,t]of(this.clear(),s))this.set(e,t);return this}with(t,r,n){let o=new e(this);return o.insert(t,r,n),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);if(-1===n)return this;let o=this.#e.indexOf(t);return this.insert(-1!==o&&o<n?n-1:n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);if(-1===n)return this;let o=this.#e.indexOf(t);return this.insert(-1!==o&&o<=n?n:n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=eh(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=eh(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return eh(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],o=0;for(let e of this)Reflect.apply(t,r,[e,o,this])&&n.push(e),o++;return new e(n)}map(t,r){let n=[],o=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,o,this])]),o++;return new e(n)}reduce(...e){let[t,r]=e,n=e.length>1;if(!n&&0===this.size)throw TypeError("Reduce of empty OrderedDict with no initial value");let o=0,i=r;for(let e of this)i=0!==o||n?Reflect.apply(t,this,[i,e,o,this]):e,o++;return i}reduceRight(...e){let[t,r]=e,n=e.length>1;if(!n&&0===this.size)throw TypeError("Reduce of empty OrderedDict with no initial value");let o=r;for(let e=this.size-1;e>=0;e--){let r=this.entryAt(e);o=e!==this.size-1||n?Reflect.apply(t,this,[o,r,e,this]):r}return o}sort(e){if("function"!=typeof e)throw TypeError("OrderedDict.sort requires a compare function");let t=[...this.entries()].sort(e);for(let[e,r]of(this.clear(),t))this.set(e,r);return this}toSorted(t){if("function"!=typeof t)throw TypeError("OrderedDict.toSorted requires a compare function");return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e;for(let e of this.#e.slice(t,r))n.set(e,this.get(e));return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}};function eh(e,t){if("at"in Array.prototype)return Array.prototype.at.call(e,t);let r=em(e,t);return -1===r?void 0:e[r]}function em(e,t){let r=e.length,n=eg(t),o=n>=0?n:r+n;return o<0||o>=r?-1:o}function eg(e){return e!=e||0===e?0:Math.trunc(e)}function ex(e,t){if(e===t)return!0;if("object"!=typeof e||"object"!=typeof t||null==e||null==t)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(!Object.prototype.hasOwnProperty.call(t,n)||e[n]!==t[n])return!1;return!0}function ev(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}function eb(e){let t;for(let r of e.keys()){if(t){let e=t.compareDocumentPosition(r);if(!(e&Node.DOCUMENT_POSITION_DISCONNECTED)&&e&Node.DOCUMENT_POSITION_PRECEDING)return!1}t=r}return!0}function ey(e,t){return e[1].element&&t[1].element?ev(e[1].element,t[1].element)?-1:1:0}function ew(e){return new MutationObserver(t=>{for(let r of t)if("childList"===r.type)return void e()})}ec(eh,"at"),ec(em,"toSafeIndex"),ec(eg,"toSafeInteger"),ec(function(e){let r=e+"CollectionProvider",[n,o]=(0,k.f)(r),[i,a]=n(r);i.displayName=e+"CollectionStableContextProvider";let[l,s]=n(r);l.displayName=e+"CollectionStatefulContextProvider";let d=ec(({state:e,...r})=>e?(0,t.jsx)(u,{...r,state:e}):(0,t.jsx)(c,{...r}),"CollectionProvider");d.displayName=r;let c=ec(e=>{let r=v();return(0,t.jsx)(u,{...e,state:r})},"CollectionInit");c.displayName=e+"CollectionInit";let u=ec(e=>{let{scope:r,children:n,state:o}=e,a=w.useRef(null),[s,d]=w.useState(null),c=(0,j.j)(a,d),[u,f]=o,p=w.useRef(new ep),h=w.useCallback(()=>{let e=p.current;return eb(e)||e.sort(ey),e},[]);return w.useEffect(()=>{if(!s)return;let e=ew(()=>{f(e=>{let t=e.toSorted(ey);return t.some(([t],r)=>e.keyAt(r)!==t)?t:e})});return e.observe(s,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[s,f]),(0,t.jsx)(i,{scope:r,collectionElementRef:c,collectionElementRefObject:a,getCollection:h,setCollection:f,registryRef:p,children:(0,t.jsx)(l,{scope:r,collectionElement:s,collection:u,children:n})})},"CollectionProviderImpl");u.displayName=e+"CollectionProviderImpl";let f=e+"CollectionSlot",p=(0,el.createSlot)(f),h=w.forwardRef((e,r)=>{let{scope:n,children:o}=e,i=a(f,n),l=(0,j.j)(r,i.collectionElementRef);return(0,t.jsx)(p,{ref:l,children:o})});h.displayName=f;let m=e+"CollectionItemSlot",g=(0,el.createSlot)(m),x=w.forwardRef((e,r)=>{let{scope:n,children:o,...i}=e,l=w.useRef(null),{setCollection:s,registryRef:d}=a(m,n),c=w.useRef(i);ex(c.current,i)||(c.current=i);let u=c.current,f=w.useCallback(e=>{let t=d.current;e?t.set(e,{...c.current,element:e}):l.current&&t.delete(l.current)},[d]),p=(0,j.j)(r,f,l);(0,es.f)(()=>{let e=l.current,t=d.current;e&&t.has(e)&&t.set(e,{...u,element:e})},[u,d]);let h=w.useRef(null);return w.useEffect(()=>{let e=l.current,t=h.current;((t?.element??null)!==e||e&&t?.itemData!==u)&&(h.current=e?{element:e,itemData:u}:null,s(r=>{let n=new ep(r);return t&&t.element!==e&&n.delete(t.element),e&&n.set(e,{...u,element:e}),n.sort(ey)}))}),w.useEffect(()=>()=>{let e=h.current;h.current=null,e&&s(t=>{if(!t.has(e.element))return t;let r=new ep(t);return r.delete(e.element),r})},[s]),(0,t.jsx)(g,{"data-radix-collection-item":"",ref:p,children:o})});function v(){return w.useState(new ep)}function b(t){let{collection:r}=s(e+"CollectionConsumer",t);return r}function y(t){let{getCollection:r}=a(e+"CollectionConsumer",t);return r}return x.displayName=m,ec(v,"useInitCollection"),ec(b,"useCollection"),ec(y,"useGetCollection"),[{Provider:d,Slot:h,ItemSlot:x},{createCollectionScope:o,useCollection:b,useGetCollection:y,useInitCollection:v}]},"createCollection"),ec(ex,"shallowEqual"),ec(ev,"isElementPreceding"),ec(eb,"isInDocumentOrder"),ec(ey,"sortByDocumentPosition"),ec(ew,"getChildListObserver");var ej=e.i(32567),ek=e.i(71511),eS=Object.defineProperty,eC=w.createContext(void 0);function eR(e){let t=w.useContext(eC);return e||t||"ltr"}eS(eR,"name",{value:"useDirection",configurable:!0}),e.s(["f",0,eR],35338);var eI=Object.defineProperty,eP=(e,t)=>eI(e,"name",{value:t,configurable:!0}),eE=!1;function eN(){let[e,t]=w.useState(eE);return w.useEffect(()=>{eE||(eE=!0,t(!0))},[]),e}eP(eN,"useIsHydrated");var eT=w[" useSyncExternalStore ".trim().toString()];function eD(){return()=>{}}function ez(){return eT(eD,()=>!0,()=>!1)}eP(eD,"subscribe"),eP(ez,"useIsHydratedModern");var eO="function"==typeof eT?ez:eN,eM=Object.defineProperty,eA=(e,t)=>eM(e,"name",{value:t,configurable:!0}),e_="rovingFocusGroup.onEntryFocus",eL={bubbles:!1,cancelable:!0},eV="RovingFocusGroup",[eF,eB,eH]=eu(eV),[eK,eU]=(0,k.f)(eV,[eH]),[eG,eq]=eK(eV),eW=w.forwardRef(eA(function(e,r){return(0,t.jsx)(eF.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(eF.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,t.jsx)(e$,{...e,ref:r})})})},"RovingFocusGroup")),e$=w.forwardRef(eA(function(e,r){let{__scopeRovingFocusGroup:n,orientation:o,loop:i=!1,dir:a,currentTabStopId:l,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:d,onEntryFocus:c,preventScrollOnEntryFocus:u=!1,...f}=e,p=w.useRef(null),h=(0,j.j)(r,p),m=eR(a),[g,x]=(0,C.f)({prop:l,defaultProp:s??null,onChange:d,caller:eV}),[v,b]=w.useState(!1),y=(0,ek.f)(c),k=eB(n),R=w.useRef(!1),[I,E]=w.useState(0);return w.useEffect(()=>{let e=p.current;if(e)return e.addEventListener(e_,y),()=>e.removeEventListener(e_,y)},[y]),(0,t.jsx)(eG,{scope:n,orientation:o,dir:m,loop:i,currentTabStopId:g,onItemFocus:w.useCallback(e=>x(e),[x]),onItemShiftTab:w.useCallback(()=>b(!0),[]),onFocusableItemAdd:w.useCallback(()=>E(e=>e+1),[]),onFocusableItemRemove:w.useCallback(()=>E(e=>e-1),[]),children:(0,t.jsx)(P.V.div,{tabIndex:v||0===I?-1:0,"data-orientation":o,...f,ref:h,style:{outline:"none",...e.style},onMouseDown:(0,S.f)(e.onMouseDown,()=>{R.current=!0}),onFocus:(0,S.f)(e.onFocus,e=>{let t=!R.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(e_,eL);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=k().filter(e=>e.focusable);eQ([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),u)}}R.current=!1}),onBlur:(0,S.f)(e.onBlur,()=>b(!1))})})},"RovingFocusGroupImpl")),eX=w.forwardRef(eA(function(e,r){let{__scopeRovingFocusGroup:n,focusable:o=!0,active:i=!1,tabStopId:a,children:l,...s}=e,d=(0,ej.f)(),c=a||d,u=eq("RovingFocusGroupItem",n),f=u.currentTabStopId===c,p=eB(n),{onFocusableItemAdd:h,onFocusableItemRemove:m,currentTabStopId:g}=u,x=eO();return(0,es.f)(()=>{if(x&&o)return h(),()=>m()},[x,o,h,m]),w.useEffect(()=>{if(!x&&o)return h(),()=>m()},[x,o,h,m]),(0,t.jsx)(eF.ItemSlot,{scope:n,id:c,focusable:o,active:i,children:(0,t.jsx)(P.V.span,{tabIndex:f?0:-1,"data-orientation":u.orientation,...s,ref:r,onMouseDown:(0,S.f)(e.onMouseDown,e=>{o?u.onItemFocus(c):e.preventDefault()}),onFocus:(0,S.f)(e.onFocus,()=>u.onItemFocus(c)),onKeyDown:(0,S.f)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void u.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=eJ(e,u.orientation,u.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let r=p().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)r.reverse();else if("prev"===t||"next"===t){"prev"===t&&r.reverse();let n=r.indexOf(e.currentTarget);r=u.loop?e0(r,n+1):r.slice(n+1)}setTimeout(()=>eQ(r))}}),children:"function"==typeof l?l({isCurrentTabStop:f,hasTabStop:null!=g}):l})})},"RovingFocusGroupItem")),eY={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function eZ(e,t){return"rtl"!==t?e:"ArrowLeft"===e?"ArrowRight":"ArrowRight"===e?"ArrowLeft":e}function eJ(e,t,r){let n=eZ(e.key,r);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(n))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(n)))return eY[n]}function eQ(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}function e0(e,t){return e.map((r,n)=>e[(t+n)%e.length])}eA(eZ,"getDirectionAwareKey"),eA(eJ,"getFocusIntent"),eA(eQ,"focusFirst"),eA(e0,"wrapArray");var e1=Object.defineProperty,e2=(e,t)=>e1(e,"name",{value:t,configurable:!0}),e5="Radio",[e3,e4]=(0,k.f)(e5),[e9,e6]=e3(e5);function e7(e){let{__scopeRadio:r,checked:n=!1,children:o,disabled:i,form:a,name:l,onCheck:s,required:d,value:c="on",internal_do_not_use_render:u}=e,[f,p]=w.useState(null),[h,m]=w.useState(null),[g,x]=w.useState(null),v=!f||!!a||!!f.closest("form"),b={checked:n,disabled:i,required:d,name:l,form:a,value:c,control:f,setControl:p,userClick:g,onUserClick:x,isFormControl:v,bubbleInput:h,setBubbleInput:m,onCheck:e2(()=>s?.(),"onCheck")};return(0,t.jsx)(e9,{scope:r,...b,children:tr(u)?u(b):o})}e2(e7,"RadioProvider");var e8=w.forwardRef(e2(function({__scopeRadio:e,onClick:r,...n},o){let{checked:i,disabled:a,value:l,setControl:s,onCheck:d,onUserClick:c,isFormControl:u,bubbleInput:f}=e6("RadioTrigger",e),p=(0,j.j)(o,s);return(0,t.jsx)(P.V.button,{type:"button",role:"radio","aria-checked":i,"data-state":tn(i),"data-disabled":a?"":void 0,disabled:a,value:l,...n,ref:p,onClick:(0,S.f)(r,e=>{let t=e.isPropagationStopped();i||(c({hasConsumerStoppedPropagation:t}),d()),f&&u&&!t&&e.stopPropagation()})})},"RadioTrigger")),te=w.forwardRef(e2(function(e,r){let{__scopeRadio:n,forceMount:o,...i}=e,a=e6("RadioIndicator",n);return(0,t.jsx)(I.f,{present:o||a.checked,children:(0,t.jsx)(P.V.span,{"data-state":tn(a.checked),"data-disabled":a.disabled?"":void 0,...i,ref:r})})},"RadioIndicator")),tt=w.forwardRef(e2(function({__scopeRadio:e,onClick:r,...n},o){let{control:i,checked:a,required:l,disabled:s,name:d,value:c,form:u,bubbleInput:f,setBubbleInput:p,userClick:h}=e6("RadioBubbleInput",e),m=(0,j.j)(o,p),g=(0,R.f)(i),x=w.useRef(!1),v=w.useRef(a),b=w.useRef(h),y=w.useRef(null);w.useEffect(()=>{if(!f)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(!e)return;let t=v.current!==a;v.current=a;let r=null!==h&&h!==b.current;if(b.current=h,r)y.current=t?null:h,t&&e.call(f,a),f.dispatchEvent(new Event("click",{bubbles:!h.hasConsumerStoppedPropagation}));else if(t){let t=y.current;y.current=null;let r=a&&null!==t;x.current=!0,e.call(f,a),f.dispatchEvent(new Event("click",{bubbles:!(r&&t.hasConsumerStoppedPropagation)})),x.current=!1}},[f,a,h]);let k=w.useRef(a);return(0,t.jsx)(P.V.input,{type:"radio","aria-hidden":!0,defaultChecked:k.current,required:l,disabled:s,name:d,value:c,form:u,...n,tabIndex:-1,ref:m,onClick:(0,S.f)(r,e=>{x.current&&e.stopPropagation()}),style:{...n.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"RadioBubbleInput"));function tr(e){return"function"==typeof e}function tn(e){return e?"checked":"unchecked"}e2(tr,"isFunction"),e2(tn,"getState");var to=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],ti="RadioGroup",[ta,tl]=(0,k.f)(ti,[eU,e4]),ts=eU(),td=e4(),[tc,tu]=ta(ti),tf=w.forwardRef(e2(function(e,r){let{__scopeRadioGroup:n,name:o,form:i,defaultValue:a,value:l,required:s=!1,disabled:d=!1,orientation:c,dir:u,loop:f=!0,onValueChange:p,...h}=e,m=ts(n),g=eR(u),[x,v]=(0,C.f)({prop:l,defaultProp:a??null,onChange:p,caller:ti}),[b,y]=w.useState(null),k=(0,j.j)(r,y),S=w.useRef(x);return w.useEffect(()=>{let e=i?b?.ownerDocument.getElementById(i):b?.closest("form");if(e instanceof HTMLFormElement){let t=e2(()=>v(S.current),"reset");return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[b,i,v]),(0,t.jsx)(tc,{scope:n,name:o,form:i,required:s,disabled:d,value:x,onValueChange:v,children:(0,t.jsx)(eW,{asChild:!0,...m,orientation:c,dir:g,loop:f,children:(0,t.jsx)(P.V.div,{role:"radiogroup","aria-required":s,"aria-orientation":c,"data-disabled":d?"":void 0,dir:g,...h,ref:k})})})},"RadioGroup"));function tp(e){let{__scopeRadioGroup:r,value:n,disabled:o,children:i,internal_do_not_use_render:a}=e,l=tu("RadioGroupItemProvider",r),s=td(r),d=l.disabled||o;return(0,t.jsx)(e7,{...s,checked:l.value===n,disabled:d,required:l.required,name:l.name,form:l.form,value:n,onCheck:()=>l.onValueChange(n),internal_do_not_use_render:a,children:i})}e2(tp,"RadioGroupItemProvider");var th=w.forwardRef(e2(function(e,r){let{__scopeRadioGroup:n,...o}=e,i=ts(n),a=td(n),{checked:l,disabled:s}=e6("RadioGroupItemTrigger",a.__scopeRadio),d=w.useRef(null),c=(0,j.j)(r,d),u=w.useRef(!1);return w.useEffect(()=>{let e=e2(e=>{to.includes(e.key)&&(u.current=!0)},"handleKeyDown"),t=e2(()=>u.current=!1,"handleKeyUp");return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}},[]),(0,t.jsx)(eX,{asChild:!0,...i,focusable:!s,active:l,children:(0,t.jsx)(e8,{...a,...o,ref:c,onKeyDown:(0,S.f)(o.onKeyDown,e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:(0,S.f)(o.onFocus,()=>{u.current&&d.current?.click()})})})},"RadioGroupItemTrigger")),tm=w.forwardRef(e2(function(e,r){let{__scopeRadioGroup:n,value:o,disabled:i,...a}=e;return(0,t.jsx)(tp,{__scopeRadioGroup:n,value:o,disabled:i,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(th,{...a,ref:r,__scopeRadioGroup:n}),e&&(0,t.jsx)(tg,{__scopeRadioGroup:n})]})})},"RadioGroupItem")),tg=w.forwardRef(e2(function(e,r){let{__scopeRadioGroup:n,...o}=e,i=td(n);return(0,t.jsx)(tt,{...i,...o,ref:r})},"RadioGroupItemBubbleInput")),tx=w.forwardRef(e2(function(e,r){let{__scopeRadioGroup:n,...o}=e,i=td(n);return(0,t.jsx)(te,{...i,...o,ref:r})},"RadioGroupIndicator"));e.s(["Indicator",0,tx,"Item",0,tm,"Root",0,tf],77365);var tv=e.i(77365),tv=tv,tb=tv,ty=tv;function tw({className:e,...r}){return(0,t.jsx)(tv.Root,{"data-slot":"radio-group",className:(0,c.f)("grid w-full gap-2",e),...r})}function tj({className:e,...r}){return(0,t.jsx)(tb.Item,{"data-slot":"radio-group-item",className:(0,c.f)("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),...r,children:(0,t.jsx)(ty.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 tk=e.i(27536);function tS(e,[t,r]){return Math.min(r,Math.max(t,e))}(0,Object.defineProperty)(tS,"name",{value:"clamp",configurable:!0}),e.s(["f",0,tS],9515);var tC=e.i(84141),tR=e.i(39845),tI=e.i(37216),tP=e.i(25589),tE=e.i(87733),tN=e.i(9015),tT=e.i(73772),tD=e.i(15588),tz=Object.defineProperty,tO=(e,t)=>tz(e,"name",{value:t,configurable:!0}),tM=[" ","Enter","ArrowUp","ArrowDown"],tA=[" ","Enter"],t_="Select",[tL,tV,tF]=eu(t_),[tB,tH]=(0,k.f)(t_,[tF,tP.y]),tK=(0,tP.y)(),[tU,tG]=tB(t_),[tq,tW]=tB(t_);function t$(e){let{__scopeSelect:r,children:n,open:o,defaultOpen:i,onOpenChange:a,value:l,defaultValue:s,onValueChange:d,dir:c,name:u,autoComplete:f,disabled:p,required:h,form:m,internal_do_not_use_render:g}=e,x=tK(r),[v,b]=w.useState(null),[y,j]=w.useState(null),[k,S]=w.useState(!1),R=eR(c),[I,P]=(0,C.f)({prop:o,defaultProp:i??!1,onChange:a,caller:t_}),[E,N]=(0,C.f)({prop:l,defaultProp:s,onChange:d,caller:t_}),T=w.useRef(null),D=w.useRef(!1),[z,O]=w.useState(null),M=tO(e=>{O({value:e,hasConsumerStoppedPropagation:D.current}),N(e)},"handleUserSelect"),A=w.useRef(E);w.useEffect(()=>{let e=m?v?.ownerDocument.getElementById(m):v?.form;if(e instanceof HTMLFormElement){let t=tO(()=>N(A.current),"reset");return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[m,v,N]);let _=!v||!!m||!!v.closest("form"),[L,V]=w.useState(new Set),F=(0,ej.f)(),B=Array.from(L).map(e=>e.props.value).join(";"),H=w.useCallback(e=>{V(t=>new Set(t).add(e))},[]),K=w.useCallback(e=>{V(t=>{let r=new Set(t);return r.delete(e),r})},[]),U={required:h,trigger:v,onTriggerChange:b,valueNode:y,onValueNodeChange:j,valueNodeHasChildren:k,onValueNodeHasChildrenChange:S,contentId:F,value:E,onValueChange:N,hasConsumerStoppedPropagationRef:D,userSelection:z,onUserSelect:M,open:I,onOpenChange:P,dir:R,triggerPointerDownPosRef:T,disabled:p,name:u,autoComplete:f,form:m,nativeOptions:L,nativeSelectKey:B,isFormControl:_};return(0,t.jsx)(tP.F,{...x,children:(0,t.jsx)(tU,{scope:r,...U,children:(0,t.jsx)(tL.Provider,{scope:r,children:(0,t.jsx)(tq,{scope:r,onNativeOptionAdd:H,onNativeOptionRemove:K,children:rk(g)?g(U):n})})})})}tO(t$,"SelectProvider");var tX=tO(e=>{let{__scopeSelect:r,children:n,...o}=e;return(0,t.jsx)(t$,{__scopeSelect:r,...o,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[n,e?(0,t.jsx)(rj,{__scopeSelect:r}):null]})})},"Select"),tY=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,disabled:o=!1,...i}=e,a=tK(n),l=tG("SelectTrigger",n),s=l.disabled||o,d=(0,j.j)(r,l.onTriggerChange),c=tV(n),u=w.useRef("touch"),[f,p,h]=rC(e=>{let t=c().filter(e=>!e.disabled),r=t.find(e=>e.value===l.value),n=rR(t,e,r);void 0!==n&&l.onUserSelect(n.value)}),m=tO(e=>{s||(l.onOpenChange(!0),h()),e&&(l.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},"handleOpen");return(0,t.jsx)(tP.g,{asChild:!0,...a,children:(0,t.jsx)(P.V.button,{type:"button",role:"combobox","aria-controls":l.open?l.contentId:void 0,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":rS(l.value)?"":void 0,...i,ref:d,onClick:(0,S.f)(i.onClick,e=>{e.currentTarget.focus(),"mouse"!==u.current&&m(e)}),onPointerDown:(0,S.f)(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(m(e),e.preventDefault())}),onKeyDown:(0,S.f)(i.onKeyDown,e=>{let t=""!==f.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||(l.hasConsumerStoppedPropagationRef.current=e.isPropagationStopped(),p(e.key)),(!t||" "!==e.key)&&tM.includes(e.key)&&(m(),e.preventDefault())})})})},"SelectTrigger")),tZ=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,className:o,style:i,children:a,placeholder:l="",...s}=e,d=tG("SelectValue",n),{onValueNodeHasChildrenChange:c}=d,u=void 0!==a,f=(0,j.j)(r,d.onValueNodeChange);(0,es.f)(()=>{c(u)},[c,u]);let p=rS(d.value);return(0,t.jsx)(P.V.span,{...s,asChild:!p&&s.asChild,ref:f,style:{pointerEvents:"none"},children:(0,t.jsx)(w.Fragment,{children:p?l:a},p?"placeholder":"value")})},"SelectValue")),tJ=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,children:o,...i}=e;return(0,t.jsx)(P.V.span,{"aria-hidden":!0,...i,ref:r,children:o||"▼"})},"SelectIcon")),[tQ,t0]=tB("SelectPortal",{forceMount:void 0}),t1=tO(e=>{let{__scopeSelect:r,forceMount:n,...o}=e;return(0,t.jsx)(tQ,{scope:e.__scopeSelect,forceMount:n,children:(0,t.jsx)(tE.f,{asChild:!0,...o})})},"SelectPortal"),t2="SelectContent",t5=w.forwardRef(tO(function(e,r){let n=t0(t2,e.__scopeSelect),{forceMount:o=n.forceMount,...i}=e,a=tG(t2,e.__scopeSelect),[l,s]=w.useState();return(0,es.f)(()=>{s(new DocumentFragment)},[]),(0,t.jsx)(I.f,{present:o||a.open,children:({present:e})=>e?(0,t.jsx)(t7,{...i,ref:r}):(0,t.jsx)(t3,{...i,fragment:l})})},"SelectContent")),t3=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,children:o,fragment:i}=e;return i?tk.createPortal((0,t.jsx)(t4,{scope:n,children:(0,t.jsx)(tL.Slot,{scope:n,children:(0,t.jsx)("div",{ref:r,children:o})})}),i):null},"SelectContentFragment")),[t4,t9]=tB(t2),t6=(0,el.createSlot)("SelectContent.RemoveScroll"),t7=w.forwardRef(tO(function(e,r){let{__scopeSelect:n}=e,{position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:l,side:s,sideOffset:d,align:c,alignOffset:u,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:m,hideWhenDetached:g,avoidCollisions:x,...v}=e,b=tG(t2,n),[y,k]=w.useState(null),[C,R]=w.useState(null),I=(0,j.j)(r,k),[P,E]=w.useState(null),[N,T]=w.useState(null),D=tV(n),[z,O]=w.useState(!1),M=w.useRef(!1),A=w.useRef(!1),_=w.useRef(!1);w.useEffect(()=>{if(y)return(0,tT.f)(y)},[y]),(0,tR.f)();let L=w.useCallback(e=>{let[t,...r]=D().map(e=>e.ref.current),[n]=r.slice(-1),o=document.activeElement;for(let r of e)if(r===o||(r?.scrollIntoView({block:"nearest"}),r===t&&C&&(C.scrollTop=0),r===n&&C&&(C.scrollTop=C.scrollHeight),r?.focus(),document.activeElement!==o))return},[D,C]),V=w.useCallback(()=>L([P,y]),[L,P,y]);w.useEffect(()=>{z&&V()},[z,V]);let{onOpenChange:F,triggerPointerDownPosRef:B}=b;w.useEffect(()=>{if(y){let e={x:0,y:0},t=tO(t=>{e={x:Math.abs(Math.round(t.pageX)-(B.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(B.current?.y??0))}},"handlePointerMove"),r=tO(r=>{e.x<=10&&e.y<=10?r.preventDefault():r.composedPath().includes(y)||F(!1),document.removeEventListener("pointermove",t),B.current=null},"handlePointerUp");return null!==B.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[y,F,B]),w.useEffect(()=>{let e=tO(()=>F(!1),"close");return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[F]);let[H,K]=rC(e=>{let t=D().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=rR(t,e,r);n&&setTimeout(()=>n.ref.current?.focus())}),U=w.useCallback((e,t,r)=>{let n=!A.current;n&&(A.current=!0);let o=!M.current&&!r;void 0!==b.value&&b.value===t||o?(E(e),o&&(M.current=!0)):n&&E(e)},[b.value]),G=w.useCallback(()=>y?.focus(),[y]),q=w.useCallback((e,t,r)=>{if(!e)return;let n=!_.current;n&&(_.current=!0);let o=!M.current&&!r;void 0!==b.value&&b.value===t||o?T(e):n&&T(e)},[b.value]),W="popper"===o?re:t8;return(0,t.jsx)(t4,{scope:n,content:y,viewport:C,onViewportChange:R,itemRefCallback:U,selectedItem:P,onItemLeave:G,itemTextRefCallback:q,focusSelectedItem:V,selectedItemText:N,position:o,isPositioned:z,searchRef:H,children:(0,t.jsx)(tD.f,{as:t6,allowPinchZoom:!0,children:(0,t.jsx)(tI.v,{asChild:!0,trapped:b.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,S.f)(i,e=>{b.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(tC.V,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>b.onOpenChange(!1),children:(0,t.jsx)(W,{role:"listbox",id:b.contentId,"data-state":b.open?"open":"closed",dir:b.dir,onContextMenu:e=>e.preventDefault(),...v,...W===re?{side:s,sideOffset:d,align:c,alignOffset:u,arrowPadding:f,collisionBoundary:p,collisionPadding:h,sticky:m,hideWhenDetached:g,avoidCollisions:x}:{},onPlaced:()=>O(!0),ref:I,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:(0,S.f)(v.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||K(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=D().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>L(t)),e.preventDefault()}})})})})})})},"SelectContentImpl")),t8=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,onPlaced:o,...i}=e,a=tG(t2,n),l=t9(t2,n),[s,d]=w.useState(null),[c,u]=w.useState(null),f=(0,j.j)(r,u),p=tV(n),h=w.useRef(!1),m=w.useRef(!0),{viewport:g,selectedItem:x,selectedItemText:v,focusSelectedItem:b}=l,y=w.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&c&&g&&x&&v){let e=a.trigger.getBoundingClientRect(),t=c.getBoundingClientRect(),r=a.valueNode.getBoundingClientRect(),n=v.getBoundingClientRect();if("rtl"!==a.dir){let o=n.left-t.left,i=r.left-o,a=e.left-i,l=e.width+a,d=Math.max(l,t.width),c=tS(i,[10,Math.max(10,window.innerWidth-10-d)]);s.style.minWidth=l+"px",s.style.left=c+"px"}else{let o=t.right-n.right,i=window.innerWidth-r.right-o,a=window.innerWidth-e.right-i,l=e.width+a,d=Math.max(l,t.width),c=tS(i,[10,Math.max(10,window.innerWidth-10-d)]);s.style.minWidth=l+"px",s.style.right=c+"px"}let i=p(),l=window.innerHeight-20,d=g.scrollHeight,u=window.getComputedStyle(c),f=parseInt(u.borderTopWidth,10),m=parseInt(u.paddingTop,10),b=parseInt(u.borderBottomWidth,10),y=f+m+d+parseInt(u.paddingBottom,10)+b,w=Math.min(5*x.offsetHeight,y),j=window.getComputedStyle(g),k=parseInt(j.paddingTop,10),S=parseInt(j.paddingBottom,10),C=e.top+e.height/2-10,R=x.offsetHeight/2,I=f+m+(x.offsetTop+R);if(I<=C){let e=i.length>0&&x===i[i.length-1].ref.current;s.style.bottom="0px";let t=Math.max(l-C,R+(e?S:0)+(c.clientHeight-g.offsetTop-g.offsetHeight)+b);s.style.height=I+t+"px"}else{let e=i.length>0&&x===i[0].ref.current;s.style.top="0px";let t=Math.max(C,f+g.offsetTop+(e?k:0)+R);s.style.height=t+(y-I)+"px",g.scrollTop=I-C+g.offsetTop}s.style.margin="10px 0",s.style.minHeight=w+"px",s.style.maxHeight=l+"px",o?.(),requestAnimationFrame(()=>h.current=!0)}},[p,a.trigger,a.valueNode,s,c,g,x,v,a.dir,o]);(0,es.f)(()=>y(),[y]);let[k,S]=w.useState();(0,es.f)(()=>{c&&S(window.getComputedStyle(c).zIndex)},[c]);let C=w.useCallback(e=>{e&&!0===m.current&&(y(),b?.(),m.current=!1)},[y,b]);return(0,t.jsx)(rt,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,t.jsx)("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:(0,t.jsx)(P.V.div,{...i,ref:f,style:{boxSizing:"border-box",maxHeight:"100%",...i.style}})})})},"SelectItemAlignedPosition")),re=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,align:o="start",collisionPadding:i=10,...a}=e,l=tK(n);return(0,t.jsx)(tP.c,{...l,...a,ref:r,align:o,collisionPadding:i,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})},"SelectPopperPosition")),[rt,rr]=tB(t2,{}),rn="SelectViewport",ro=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,nonce:o,...i}=e,a=t9(rn,n),l=rr(rn,n),s=(0,j.j)(r,a.onViewportChange),d=w.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),(0,t.jsx)(tL.Slot,{scope:n,children:(0,t.jsx)(P.V.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,S.f)(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=l;if(n?.current&&r){let e=Math.abs(d.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,o=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(o<n){let i=o+e,a=Math.min(n,i),l=i-a;r.style.height=a+"px","0px"===r.style.bottom&&(t.scrollTop=l>0?l:0,r.style.justifyContent="flex-end")}}}d.current=t.scrollTop})})})]})},"SelectViewport")),[ri,ra]=tB("SelectGroup"),rl=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,...o}=e,i=(0,ej.f)();return(0,t.jsx)(ri,{scope:n,id:i,children:(0,t.jsx)(P.V.div,{role:"group","aria-labelledby":i,...o,ref:r})})},"SelectGroup")),rs=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,...o}=e,i=ra("SelectLabel",n);return(0,t.jsx)(P.V.div,{id:i.id,...o,ref:r})},"SelectLabel")),rd="SelectItem",[rc,ru]=tB(rd),rf=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,value:o,disabled:i=!1,textValue:a,...l}=e,s=tG(rd,n),d=t9(rd,n),c=s.value===o,[u,f]=w.useState(a??""),[p,h]=w.useState(!1),m=(0,ek.f)(e=>d.itemRefCallback?.(e,o,i)),g=(0,j.j)(r,m),x=(0,ej.f)(),v=w.useRef("touch");function b(e){s.hasConsumerStoppedPropagationRef.current=e.isPropagationStopped(),s.onUserSelect(o),s.onOpenChange(!1)}return tO(b,"handleSelect"),(0,t.jsx)(rc,{scope:n,value:o,disabled:i,textId:x,isSelected:c,onItemTextChange:w.useCallback(e=>{f(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(tL.ItemSlot,{scope:n,value:o,disabled:i,textValue:u,children:(0,t.jsx)(P.V.div,{role:"option","aria-labelledby":x,"data-highlighted":p?"":void 0,"aria-selected":c&&p,"data-state":c?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...l,ref:g,onFocus:(0,S.f)(l.onFocus,()=>h(!0)),onBlur:(0,S.f)(l.onBlur,()=>h(!1)),onClick:(0,S.f)(l.onClick,e=>{i||"mouse"!==v.current&&b(e)}),onPointerUp:(0,S.f)(l.onPointerUp,e=>{i||"mouse"===v.current&&b(e)}),onPointerDown:(0,S.f)(l.onPointerDown,e=>{v.current=e.pointerType}),onPointerMove:(0,S.f)(l.onPointerMove,e=>{v.current=e.pointerType,i?d.onItemLeave?.():"mouse"===v.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,S.f)(l.onPointerLeave,e=>{e.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:(0,S.f)(l.onKeyDown,e=>{i||e.target!==e.currentTarget||(d.searchRef?.current===""||" "!==e.key)&&(tA.includes(e.key)&&b(e)," "===e.key&&e.preventDefault())})})})})},"SelectItem")),rp="SelectItemText",rh=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,className:o,style:i,...a}=e,l=tG(rp,n),s=t9(rp,n),d=ru(rp,n),c=tW(rp,n),[u,f]=w.useState(null),p=(0,ek.f)(e=>s.itemTextRefCallback?.(e,d.value,d.disabled)),h=(0,j.j)(r,f,d.onItemTextChange,p),m=u?.textContent,g=w.useMemo(()=>(0,t.jsx)("option",{value:d.value,disabled:d.disabled,children:m},d.value),[d.disabled,d.value,m]),{onNativeOptionAdd:x,onNativeOptionRemove:v}=c;return(0,es.f)(()=>(x(g),()=>v(g)),[x,v,g]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P.V.span,{id:d.textId,...a,ref:h}),d.isSelected&&l.valueNode&&!l.valueNodeHasChildren&&!rS(l.value)?tk.createPortal(a.children,l.valueNode):null]})},"SelectItemText")),rm=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,...o}=e;return ru("SelectItemIndicator",n).isSelected?(0,t.jsx)(P.V.span,{"aria-hidden":!0,...o,ref:r}):null},"SelectItemIndicator")),rg="SelectScrollUpButton",rx=w.forwardRef(tO(function(e,r){let n=t9(rg,e.__scopeSelect),o=rr(rg,e.__scopeSelect),[i,a]=w.useState(!1),l=(0,j.j)(r,o.onScrollButtonChange);return(0,es.f)(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)};tO(e,"handleScroll");let t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[n.viewport,n.isPositioned]),i?(0,t.jsx)(ry,{...e,ref:l,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null},"SelectScrollUpButton")),rv="SelectScrollDownButton",rb=w.forwardRef(tO(function(e,r){let n=t9(rv,e.__scopeSelect),o=rr(rv,e.__scopeSelect),[i,a]=w.useState(!1),l=(0,j.j)(r,o.onScrollButtonChange);return(0,es.f)(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)};tO(e,"handleScroll");let t=n.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[n.viewport,n.isPositioned]),i?(0,t.jsx)(ry,{...e,ref:l,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null},"SelectScrollDownButton")),ry=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,onAutoScroll:o,...i}=e,a=t9("SelectScrollButton",n),l=w.useRef(null),s=tV(n),d=w.useCallback(()=>{null!==l.current&&(window.clearInterval(l.current),l.current=null)},[]);return w.useEffect(()=>()=>d(),[d]),(0,es.f)(()=>{let e=s().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[s]),(0,t.jsx)(P.V.div,{"aria-hidden":!0,...i,ref:r,style:{flexShrink:0,...i.style},onPointerDown:(0,S.f)(i.onPointerDown,()=>{null===l.current&&(l.current=window.setInterval(o,50))}),onPointerMove:(0,S.f)(i.onPointerMove,()=>{a.onItemLeave?.(),null===l.current&&(l.current=window.setInterval(o,50))}),onPointerLeave:(0,S.f)(i.onPointerLeave,()=>{d()})})},"SelectScrollButtonImpl")),rw=w.forwardRef(tO(function(e,r){let{__scopeSelect:n,...o}=e;return(0,t.jsx)(P.V.div,{"aria-hidden":!0,...o,ref:r})},"SelectSeparator")),rj=w.forwardRef(tO(function({__scopeSelect:e,...r},n){let o=tG("SelectBubbleInput",e),{value:i,onValueChange:a,required:l,disabled:s,name:d,autoComplete:c,form:u,userSelection:f}=o,{nativeOptions:p,nativeSelectKey:h}=o,m=w.useRef(null),g=(0,j.j)(n,m),x=i??"",v=w.useRef(x),b=w.useRef(f),y=w.useRef(!1),k=Array.from(p).some(e=>(e.props.value??"")==="");return w.useEffect(()=>{let e=m.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set,r=null!==f&&f!==b.current;b.current=f;let n=v.current!==x;if(v.current=x,r&&!n&&f.value!==x&&!f.hasConsumerStoppedPropagation&&t){y.current=!0;try{t.call(e,f.value),e.dispatchEvent(new Event("change",{bubbles:!0}))}finally{y.current=!1,t.call(e,x)}return}let o=r&&n&&!f.hasConsumerStoppedPropagation;if(n&&t){let r=new Event("change",{bubbles:o});t.call(e,x),e.dispatchEvent(r)}},[x,f]),(0,t.jsxs)(P.V.select,{"aria-hidden":!0,required:l,tabIndex:-1,name:d,autoComplete:c,disabled:s,form:u,onChange:e=>{y.current||a(e.target.value)},...r,style:{...tN.u,...r.style},ref:g,defaultValue:x,children:[rS(i)&&!k?(0,t.jsx)("option",{value:""}):null,Array.from(p)]},h)},"SelectBubbleInput"));function rk(e){return"function"==typeof e}function rS(e){return""===e||void 0===e}function rC(e){let t=(0,ek.f)(e),r=w.useRef(""),n=w.useRef(0),o=w.useCallback(e=>{let o=r.current+e;function i(e){r.current=e,window.clearTimeout(n.current),""!==e&&(n.current=window.setTimeout(()=>i(""),1e3))}t(o),tO(i,"updateSearch"),i(o)},[t]),i=w.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return w.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,o,i]}function rR(e,t,r){let n=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=r?e.indexOf(r):-1,i=rI(e,Math.max(o,0));1===n.length&&(i=i.filter(e=>e!==r));let a=i.find(e=>e.textValue.toLowerCase().startsWith(n.toLowerCase()));return a!==r?a:void 0}function rI(e,t){return e.map((r,n)=>e[(t+n)%e.length])}tO(rk,"isFunction"),tO(rS,"shouldShowPlaceholder"),tO(rC,"useTypeaheadSearch"),tO(rR,"findNextItem"),tO(rI,"wrapArray"),e.s(["Content",0,t5,"Group",0,rl,"Icon",0,tJ,"Item",0,rf,"ItemIndicator",0,rm,"ItemText",0,rh,"Label",0,rs,"Portal",0,t1,"Root",0,tX,"ScrollDownButton",0,rb,"ScrollUpButton",0,rx,"Separator",0,rw,"Trigger",0,tY,"Value",0,tZ,"Viewport",0,ro],9510);var rP=e.i(9510),rP=rP,rE=rP,rN=rP,rT=rP,rD=rP,rz=rP,rO=rP,rM=rP,rA=rP,r_=rP,rL=rP,rV=rP;let rF={name:"chevron-down",size:24,node:[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]};rF.node;let rB=(0,o.f)(rF),rH={name:"chevron-up",size:24,node:[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]};rH.node;let rK=(0,o.f)(rH);function rU({...e}){return(0,t.jsx)(rP.Root,{"data-slot":"select",...e})}function rG({...e}){return(0,t.jsx)(rE.Value,{"data-slot":"select-value",...e})}function rq({className:e,size:r="default",children:n,...o}){return(0,t.jsxs)(rN.Trigger,{"data-slot":"select-trigger","data-size":r,className:(0,c.f)("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none 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 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...o,children:[n,(0,t.jsx)(rT.Icon,{asChild:!0,children:(0,t.jsx)(rB,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function rW({className:e,children:r,position:n="item-aligned",align:o="center",...i}){return(0,t.jsx)(rD.Portal,{children:(0,t.jsxs)(rz.Content,{"data-slot":"select-content","data-align-trigger":"item-aligned"===n,className:(0,c.f)("relative z-50 max-h-(--radix-select-content-available-height) min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 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","popper"===n&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,align:o,...i,children:[(0,t.jsx)(rX,{}),(0,t.jsx)(rO.Viewport,{"data-position":n,className:(0,c.f)("data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)","popper"===n&&""),children:r}),(0,t.jsx)(rY,{})]})})}function r$({className:e,children:r,...n}){return(0,t.jsxs)(rM.Item,{"data-slot":"select-item",className:(0,c.f)("relative flex w-full cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[(0,t.jsx)("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center",children:(0,t.jsx)(rA.ItemIndicator,{children:(0,t.jsx)(q.f,{className:"pointer-events-none"})})}),(0,t.jsx)(r_.ItemText,{children:r})]})}function rX({className:e,...r}){return(0,t.jsx)(rL.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,c.f)("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...r,children:(0,t.jsx)(rK,{})})}function rY({className:e,...r}){return(0,t.jsx)(rV.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,c.f)("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",e),...r,children:(0,t.jsx)(rB,{})})}var rZ=e.i(98292);function rJ({className:e,...r}){return(0,t.jsx)(rZ.f,{"data-slot":"spinner",role:"status","aria-label":"Loading",className:(0,c.f)("size-4 animate-spin",e),...r})}function rQ({id:e,label:r,description:n,children:o,className:i}){return(0,t.jsxs)(ee,{className:i,children:[(0,t.jsx)(er,{htmlFor:e,children:r}),o,n&&(0,t.jsx)(eo,{children:n})]})}e.s(["f",0,rJ],50216),e.s(["z",0,function({name:e,value:r,onChange:n,choices:o,columns:i=2}){return(0,t.jsx)(tw,{value:r,onValueChange:e=>n(e),className:(0,c.f)("grid gap-2",i>=2&&"sm:grid-cols-2",3===i&&"lg:grid-cols-3",4===i&&"lg:grid-cols-4"),children:o.map(r=>{let n=`${e}-${r.value}`,o=r.icon;return(0,t.jsx)(er,{htmlFor:n,children:(0,t.jsxs)(ee,{orientation:"horizontal",children:[o&&(0,t.jsx)(o,{className:"mt-0.5 size-4 shrink-0 text-muted-foreground","aria-hidden":!0}),(0,t.jsxs)(et,{children:[(0,t.jsx)(en,{children:r.title}),r.description&&(0,t.jsx)(eo,{children:r.description})]}),(0,t.jsx)(tj,{value:r.value,id:n})]})},r.value)})})},"d",0,function({id:e,checked:r,onChange:n,title:o,children:i,testId:a}){return(0,t.jsx)("div",{className:"rounded-lg border border-warning/50 bg-warning/5 p-3",children:(0,t.jsxs)(ee,{orientation:"horizontal",children:[(0,t.jsx)(W,{id:e,checked:r,"data-testid":a,onCheckedChange:e=>n(!0===e)}),(0,t.jsxs)(et,{children:[(0,t.jsx)(er,{htmlFor:e,className:"font-medium",children:o}),i&&(0,t.jsx)(eo,{children:i})]})]})})},"O",0,function({children:e}){return e?(0,t.jsxs)(f,{variant:"destructive",children:[(0,t.jsx)(r.f,{"aria-hidden":!0}),(0,t.jsx)(p,{children:e})]}):null},"Y",0,function({open:e,onOpenChange:r,icon:n,title:o,description:i,footer:a,busy:l,children:s,testId:d}){return(0,t.jsx)($.N,{open:e,onOpenChange:e=>{l||r(e)},children:(0,t.jsxs)($.d,{"data-testid":d,showCloseButton:!l,onInteractOutside:e=>e.preventDefault(),className:"flex max-h-[90vh] flex-col gap-0 p-0 sm:max-w-4xl",children:[(0,t.jsxs)($.s,{className:"border-b p-5",children:[(0,t.jsxs)($.F,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(n,{className:"size-4 text-muted-foreground","aria-hidden":!0}),o]}),i&&(0,t.jsx)($.C,{children:i})]}),(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto p-5 *:shrink-0",children:s}),a&&(0,t.jsx)($.c,{className:"m-0 rounded-b-xl p-4",children:a})]})})},"P",0,rQ,"N",0,function({tone:e="info",children:r,...o}){let i="warn"===e?s.f:"ok"===e?n.f:l.f;return(0,t.jsxs)("div",{...o,className:(0,c.f)("flex items-start gap-2 rounded-lg border px-3 py-2 text-sm","warn"===e&&"border-warning/40 bg-warning/5","ok"===e&&"border-success/40 bg-success/5",o.className),children:[(0,t.jsx)(i,{className:(0,c.f)("mt-0.5 size-4 shrink-0","warn"===e&&"text-warning","ok"===e&&"text-success","info"===e&&"text-muted-foreground"),"aria-hidden":!0}),(0,t.jsx)("div",{className:"flex flex-col gap-1",children:r})]})},"_",0,function({text:e,...o}){let i=e?"ok"===e||e.startsWith("ok")?"ok":e.startsWith("problems")||e.startsWith("Error")?"bad":e.includes("…")?"busy":"info":"";return(0,t.jsxs)("span",{...o,className:(0,c.f)("inline-flex items-center gap-1.5 text-sm","ok"===i&&"text-success","bad"===i&&"text-destructive",("busy"===i||"info"===i)&&"text-muted-foreground",o.className),children:["ok"===i&&(0,t.jsx)(n.f,{className:"size-4 shrink-0","aria-hidden":!0}),"bad"===i&&(0,t.jsx)(r.f,{className:"size-4 shrink-0","aria-hidden":!0}),"busy"===i&&(0,t.jsx)(rJ,{className:"size-4 shrink-0"}),e]})},"K",0,function({icon:e,title:r,description:n,children:o}){return(0,t.jsxs)("div",{className:"mb-6 flex flex-wrap items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted",children:(0,t.jsx)(e,{className:"size-5","aria-hidden":!0})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-xl font-semibold tracking-tight",children:r}),n&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n})]})]}),o]})},"S",0,function({id:e,value:r,onChange:n,options:o,placeholder:i="Choose…",disabled:a,className:l}){return(0,t.jsxs)(rU,{value:r||void 0,onValueChange:n,disabled:a,children:[(0,t.jsx)(rq,{id:e,className:(0,c.f)("w-full",l),children:(0,t.jsx)(rG,{placeholder:i})}),(0,t.jsx)(rW,{position:"popper",children:o.map(e=>(0,t.jsx)(r$,{value:e.value,children:e.label},e.value))})]})},"Z",0,function({icon:e,title:r,description:n,action:o,children:i,className:a,...l}){return(0,t.jsxs)(x,{className:(0,c.f)("mb-4",a),...l,children:[(r||n)&&(0,t.jsxs)(v,{children:[r&&(0,t.jsxs)("h2",{className:"flex flex-wrap items-center gap-2 text-base font-semibold leading-snug",children:[e&&(0,t.jsx)(e,{className:"size-4 text-muted-foreground","aria-hidden":!0}),r,o&&(0,t.jsx)("span",{className:"ml-auto",children:o})]}),n&&(0,t.jsx)(b,{children:n})]}),(0,t.jsx)(y,{className:"flex flex-col gap-4",children:i})]})},"j",0,function({ok:e,label:r}){return e?(0,t.jsxs)(g,{className:"bg-success/15 text-success","data-testid":`step-${r}`,children:[(0,t.jsx)(n.f,{"aria-hidden":!0}),"done"]}):(0,t.jsxs)(g,{variant:"outline",className:"text-muted-foreground","data-testid":`step-${r}`,children:[(0,t.jsx)(a,{"aria-hidden":!0}),"to do"]})},"C",0,function({id:e,label:r,description:n,unit:o,className:i,...a}){return(0,t.jsx)(rQ,{id:e,label:r,description:n,className:i,children:o?(0,t.jsxs)(ea.H,{children:[(0,t.jsx)(ea.M,{id:e,...a}),(0,t.jsx)(ea.B,{align:"inline-end",children:(0,t.jsx)(ea.v,{children:o})})]}):(0,t.jsx)(ei.f,{id:e,...a})})}],5439)},22358,e=>{var t=e.i(59019);let r={name:"circle-alert",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],aliases:["alert-circle"]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],22358)},41896,e=>{var t=e.i(61991);e.s(["f",()=>t.f])}])})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,[60313,e=>{var t=e.i(21692),a=e.i(74692),r=e.i(75471),i=e.i(92124),n=e.i(9773),l=e.i(62867),s=e.i(88276),d=e.i(63847),o=e.i(59019);let u={name:"log-out",size:24,node:[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]};u.node;let c=(0,o.f)(u),f={name:"microscope",size:24,node:[["path",{d:"M6 18h8",key:"1borvv"}],["path",{d:"M3 22h18",key:"8prr45"}],["path",{d:"M14 22a7 7 0 1 0 0-14h-1",key:"1jwaiy"}],["path",{d:"M9 14h2",key:"197e7h"}],["path",{d:"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z",key:"1bmzmy"}],["path",{d:"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3",key:"1drr47"}]]};f.node;let h=(0,o.f)(f);var p=e.i(41240),m=e.i(89946),b=e.i(98803),g=e.i(6607),v=e.i(11522),x=e.i(64773),w=e.i(54858);let j=[{href:"/",label:"Runs",icon:l.f},{href:"/new/",label:"New run",icon:m.f}],y=[{href:"/setup/",label:"Setup",icon:d.f},{href:"/profiles/",label:"LLM profiles",icon:n.f},{href:"/services/",label:"Services",icon:p.f},{href:"/executors/",label:"Executors",icon:b.f},{href:"/credentials/",label:"Credentials",icon:s.f}];function S({label:e,items:r,path:i}){return(0,t.jsxs)(v.SidebarGroup,{children:[(0,t.jsx)(v.SidebarGroupLabel,{children:e}),(0,t.jsx)(v.SidebarGroupContent,{children:(0,t.jsx)(v.SidebarMenu,{children:r.map(e=>(0,t.jsx)(v.SidebarMenuItem,{children:(0,t.jsx)(v.SidebarMenuButton,{asChild:!0,tooltip:e.label,isActive:"/"===e.href?"/"===i||i.startsWith("/run"):i.startsWith(e.href.slice(0,-1)),children:(0,t.jsxs)(a.default,{href:e.href,children:[(0,t.jsx)(e.icon,{"aria-hidden":!0}),(0,t.jsx)("span",{children:e.label})]})})},e.href))})})]})}async function k(){try{await (0,w.k)("DELETE","/auth/session"),window.location.assign("/signin/")}catch(e){g.c.error("Could not log out",{description:String(e)})}}e.s(["AppSidebar",0,function(){let e=(0,r.usePathname)()??"/";return(0,t.jsxs)(v.Sidebar,{collapsible:"icon",children:[(0,t.jsx)(v.SidebarHeader,{children:(0,t.jsx)(v.SidebarMenu,{children:(0,t.jsx)(v.SidebarMenuItem,{children:(0,t.jsx)(v.SidebarMenuButton,{size:"lg",asChild:!0,children:(0,t.jsxs)(a.default,{href:"/",children:[(0,t.jsx)("div",{className:"flex aspect-square size-8 items-center justify-center rounded-lg bg-sidebar-primary text-sidebar-primary-foreground",children:(0,t.jsx)(h,{className:"size-4","aria-hidden":!0})}),(0,t.jsx)("span",{className:"font-semibold",children:"puremethod"})]})})})})}),(0,t.jsxs)(v.SidebarContent,{children:[(0,t.jsx)(S,{label:"Research",items:j,path:e}),(0,t.jsx)(i.Suspense,{fallback:null,children:(0,t.jsx)(x.ActiveRuns,{})}),(0,t.jsx)(S,{label:"Configure",items:y,path:e})]}),(0,t.jsx)(v.SidebarFooter,{children:(0,t.jsx)(v.SidebarMenu,{children:(0,t.jsx)(v.SidebarMenuItem,{children:(0,t.jsxs)(v.SidebarMenuButton,{tooltip:"Log out",onClick:k,children:[(0,t.jsx)(c,{"aria-hidden":!0}),(0,t.jsx)("span",{children:"Log out"})]})})})}),(0,t.jsx)(v.SidebarRail,{})]})}],60313)},64773,e=>{var t=e.i(21692),a=e.i(74692),r=e.i(75471),i=e.i(92124),n=e.i(6607),l=e.i(9563),s=/[\\\/_+.#"@\[\(\{&]/,d=/[\\\/_+.#"@\[\(\{&]/g,o=/[\s-]/,u=/[\s-]/g;function c(e){return e.toLowerCase().replace(u," ")}var f=e.i(5120),h=e.i(3355),p=e.i(32567),m=e.i(66100),b='[cmdk-group=""]',g='[cmdk-group-items=""]',v='[cmdk-item=""]',x=`${v}:not([aria-disabled="true"])`,w="cmdk-item-select",j="data-value",y=(e,t,a)=>{var r;return r=e,function e(t,a,r,i,n,l,c){if(l===a.length)return n===t.length?1:.99;var f=`${n},${l}`;if(void 0!==c[f])return c[f];for(var h,p,m,b,g=i.charAt(l),v=r.indexOf(g,n),x=0;v>=0;)(h=e(t,a,r,i,v+1,l+1,c))>x&&(v===n?h*=1:s.test(t.charAt(v-1))?(h*=.8,(m=t.slice(n,v-1).match(d))&&n>0&&(h*=Math.pow(.999,m.length))):o.test(t.charAt(v-1))?(h*=.9,(b=t.slice(n,v-1).match(u))&&n>0&&(h*=Math.pow(.999,b.length))):(h*=.17,n>0&&(h*=Math.pow(.999,v-n))),t.charAt(v)!==a.charAt(l)&&(h*=.9999)),(h<.1&&r.charAt(v-1)===i.charAt(l+1)||i.charAt(l+1)===i.charAt(l)&&r.charAt(v-1)!==i.charAt(l))&&.1*(p=e(t,a,r,i,v+1,l+2,c))>h&&(h=.1*p),h>x&&(x=h),v=r.indexOf(g,v+1);return c[f]=x,x}(r=a&&a.length>0?`${r+" "+a.join(" ")}`:r,t,c(r),c(t),0,0,{})},S=i.createContext(void 0),k=i.createContext(void 0),C=i.createContext(void 0),E=i.forwardRef((e,t)=>{let a=P(()=>{var t,a;return{search:"",value:null!=(a=null!=(t=e.value)?t:e.defaultValue)?a:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=P(()=>new Set),n=P(()=>new Map),l=P(()=>new Map),s=P(()=>new Set),d=L(e),{label:o,children:u,value:c,onValueChange:f,filter:m,shouldFilter:C,loop:E,disablePointerSelection:N=!1,vimBindings:M=!0,...I}=e,R=(0,p.f)(),A=(0,p.f)(),_=(0,p.f)(),z=i.useRef(null),V=O();$(()=>{if(void 0!==c){let e=c.trim();a.current.value=e,D.emit()}},[c]),$(()=>{V(6,W)},[]);let D=i.useMemo(()=>({subscribe:e=>(s.current.add(e),()=>s.current.delete(e)),snapshot:()=>a.current,setState:(e,t,r)=>{var i,n,l,s;if(!Object.is(a.current[e],t)){if(a.current[e]=t,"search"===e)H(),q(),V(1,G);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(_);e?e.focus():null==(i=document.getElementById(R))||i.focus()}if(V(7,()=>{var e;a.current.selectedItemId=null==(e=Q())?void 0:e.id,D.emit()}),r||V(5,W),(null==(n=d.current)?void 0:n.value)!==void 0){null==(s=(l=d.current).onValueChange)||s.call(l,null!=t?t:"");return}}D.emit()}},emit:()=>{s.current.forEach(e=>e())}}),[]),T=i.useMemo(()=>({value:(e,t,r)=>{var i;t!==(null==(i=l.current.get(e))?void 0:i.value)&&(l.current.set(e,{value:t,keywords:r}),a.current.filtered.items.set(e,F(t,r)),V(2,()=>{q(),D.emit()}))},item:(e,t)=>(r.current.add(e),t&&(n.current.has(t)?n.current.get(t).add(e):n.current.set(t,new Set([e]))),V(3,()=>{H(),q(),a.current.value||G(),D.emit()}),()=>{l.current.delete(e),r.current.delete(e),a.current.filtered.items.delete(e);let t=Q();V(4,()=>{H(),(null==t?void 0:t.getAttribute("id"))===e&&G(),D.emit()})}),group:e=>(n.current.has(e)||n.current.set(e,new Set),()=>{l.current.delete(e),n.current.delete(e)}),filter:()=>d.current.shouldFilter,label:o||e["aria-label"],getDisablePointerSelection:()=>d.current.disablePointerSelection,listId:R,inputId:_,labelId:A,listInnerRef:z}),[]);function F(e,t){var r,i;let n=null!=(i=null==(r=d.current)?void 0:r.filter)?i:y;return e?n(e,a.current.search,t):0}function q(){if(!a.current.search||!1===d.current.shouldFilter)return;let e=a.current.filtered.items,t=[];a.current.filtered.groups.forEach(a=>{let r=n.current.get(a),i=0;r.forEach(t=>{i=Math.max(e.get(t),i)}),t.push([a,i])});let r=z.current;U().sort((t,a)=>{var r,i;let n=t.getAttribute("id"),l=a.getAttribute("id");return(null!=(r=e.get(l))?r:0)-(null!=(i=e.get(n))?i:0)}).forEach(e=>{let t=e.closest(g);t?t.appendChild(e.parentElement===t?e:e.closest(`${g} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${g} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let a=null==(t=z.current)?void 0:t.querySelector(`${b}[${j}="${encodeURIComponent(e[0])}"]`);null==a||a.parentElement.appendChild(a)})}function G(){let e=U().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(j);D.setState("value",t||void 0)}function H(){var e,t,i,s;if(!a.current.search||!1===d.current.shouldFilter){a.current.filtered.count=r.current.size;return}a.current.filtered.groups=new Set;let o=0;for(let n of r.current){let r=F(null!=(t=null==(e=l.current.get(n))?void 0:e.value)?t:"",null!=(s=null==(i=l.current.get(n))?void 0:i.keywords)?s:[]);a.current.filtered.items.set(n,r),r>0&&o++}for(let[e,t]of n.current)for(let r of t)if(a.current.filtered.items.get(r)>0){a.current.filtered.groups.add(e);break}a.current.filtered.count=o}function W(){var e,t,a;let r=Q();r&&((null==(e=r.parentElement)?void 0:e.firstChild)===r&&(null==(a=null==(t=r.closest(b))?void 0:t.querySelector('[cmdk-group-heading=""]'))||a.scrollIntoView({block:"nearest"})),r.scrollIntoView({block:"nearest"}))}function Q(){var e;return null==(e=z.current)?void 0:e.querySelector(`${v}[aria-selected="true"]`)}function U(){var e;return Array.from((null==(e=z.current)?void 0:e.querySelectorAll(x))||[])}function Z(e){let t=U()[e];t&&D.setState("value",t.getAttribute(j))}function J(e){var t;let a=Q(),r=U(),i=r.findIndex(e=>e===a),n=r[i+e];null!=(t=d.current)&&t.loop&&(n=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),n&&D.setState("value",n.getAttribute(j))}function X(e){let t=Q(),a=null==t?void 0:t.closest(b),r;for(;a&&!r;)r=null==(a=e>0?function(e,t){let a=e.nextElementSibling;for(;a;){if(a.matches(t))return a;a=a.nextElementSibling}}(a,b):function(e,t){let a=e.previousElementSibling;for(;a;){if(a.matches(t))return a;a=a.previousElementSibling}}(a,b))?void 0:a.querySelector(x);r?D.setState("value",r.getAttribute(j)):J(e)}let Y=()=>Z(U().length-1),ee=e=>{e.preventDefault(),e.metaKey?Y():e.altKey?X(1):J(1)},et=e=>{e.preventDefault(),e.metaKey?Z(0):e.altKey?X(-1):J(-1)};return i.createElement(h.V.div,{ref:t,tabIndex:-1,...I,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=I.onKeyDown)||t.call(I,e);let a=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||a))switch(e.key){case"n":case"j":M&&e.ctrlKey&&ee(e);break;case"ArrowDown":ee(e);break;case"p":case"k":M&&e.ctrlKey&&et(e);break;case"ArrowUp":et(e);break;case"Home":e.preventDefault(),Z(0);break;case"End":e.preventDefault(),Y();break;case"Enter":{e.preventDefault();let t=Q();if(t){let e=new Event(w);t.dispatchEvent(e)}}}}},i.createElement("label",{"cmdk-label":"",htmlFor:T.inputId,id:T.labelId,style:B},o),K(e,e=>i.createElement(k.Provider,{value:D},i.createElement(S.Provider,{value:T},e))))}),N=i.forwardRef((e,t)=>{var a,r;let n=(0,p.f)(),l=i.useRef(null),s=i.useContext(C),d=i.useContext(S),o=L(e),u=null!=(r=null==(a=o.current)?void 0:a.forceMount)?r:null==s?void 0:s.forceMount;$(()=>{if(!u)return d.item(n,null==s?void 0:s.id)},[u]);let c=D(n,l,[e.value,e.children,l],e.keywords),f=i.useContext(k),b=V(e=>e.value&&e.value===c.current),g=V(e=>!!u||!1===d.filter()||!e.search||e.filtered.items.get(n)>0);function v(){var e,t;x(),null==(t=(e=o.current).onSelect)||t.call(e,c.current)}function x(){f.setState("value",c.current,!0)}if(i.useEffect(()=>{let t=l.current;if(!(!t||e.disabled))return t.addEventListener(w,v),()=>t.removeEventListener(w,v)},[g,e.onSelect,e.disabled]),!g)return null;let{disabled:j,value:y,onSelect:E,forceMount:N,keywords:M,...I}=e;return i.createElement(h.V.div,{ref:(0,m.Q)(l,t),...I,id:n,"cmdk-item":"",role:"option","aria-disabled":!!j,"aria-selected":!!b,"data-disabled":!!j,"data-selected":!!b,onPointerMove:j||d.getDisablePointerSelection()?void 0:x,onClick:j?void 0:v},e.children)}),M=i.forwardRef((e,t)=>{let{heading:a,children:r,forceMount:n,...l}=e,s=(0,p.f)(),d=i.useRef(null),o=i.useRef(null),u=(0,p.f)(),c=i.useContext(S),f=V(e=>!!n||!1===c.filter()||!e.search||e.filtered.groups.has(s));$(()=>c.group(s),[]),D(s,d,[e.value,e.heading,o]);let b=i.useMemo(()=>({id:s,forceMount:n}),[n]);return i.createElement(h.V.div,{ref:(0,m.Q)(d,t),...l,"cmdk-group":"",role:"presentation",hidden:!f||void 0},a&&i.createElement("div",{ref:o,"cmdk-group-heading":"","aria-hidden":!0,id:u},a),K(e,e=>i.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":a?u:void 0},i.createElement(C.Provider,{value:b},e))))}),I=i.forwardRef((e,t)=>{let{alwaysRender:a,...r}=e,n=i.useRef(null),l=V(e=>!e.search);return a||l?i.createElement(h.V.div,{ref:(0,m.Q)(n,t),...r,"cmdk-separator":"",role:"separator"}):null}),R=i.forwardRef((e,t)=>{let{onValueChange:a,...r}=e,n=null!=e.value,l=i.useContext(k),s=V(e=>e.search),d=V(e=>e.selectedItemId),o=i.useContext(S);return i.useEffect(()=>{null!=e.value&&l.setState("search",e.value)},[e.value]),i.createElement(h.V.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":o.listId,"aria-labelledby":o.labelId,"aria-activedescendant":d,id:o.inputId,type:"text",value:n?e.value:s,onChange:e=>{n||l.setState("search",e.target.value),null==a||a(e.target.value)}})}),A=i.forwardRef((e,t)=>{let{children:a,label:r="Suggestions",...n}=e,l=i.useRef(null),s=i.useRef(null),d=V(e=>e.selectedItemId),o=i.useContext(S);return i.useEffect(()=>{if(s.current&&l.current){let e=s.current,t=l.current,a,r=new ResizeObserver(()=>{a=requestAnimationFrame(()=>{let a=e.offsetHeight;t.style.setProperty("--cmdk-list-height",a.toFixed(1)+"px")})});return r.observe(e),()=>{cancelAnimationFrame(a),r.unobserve(e)}}},[]),i.createElement(h.V.div,{ref:(0,m.Q)(l,t),...n,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":d,"aria-label":r,id:o.listId},K(e,e=>i.createElement("div",{ref:(0,m.Q)(s,o.listInnerRef),"cmdk-list-sizer":""},e)))}),_=i.forwardRef((e,t)=>{let{open:a,onOpenChange:r,overlayClassName:n,contentClassName:l,container:s,...d}=e;return i.createElement(f.Root,{open:a,onOpenChange:r},i.createElement(f.Portal,{container:s},i.createElement(f.Overlay,{"cmdk-overlay":"",className:n}),i.createElement(f.Content,{"aria-label":e.label,"cmdk-dialog":"",className:l},i.createElement(E,{ref:t,...d}))))}),z=Object.assign(E,{List:A,Item:N,Input:R,Group:M,Separator:I,Dialog:_,Empty:i.forwardRef((e,t)=>V(e=>0===e.filtered.count)?i.createElement(h.V.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:i.forwardRef((e,t)=>{let{progress:a,children:r,label:n="Loading...",...l}=e;return i.createElement(h.V.div,{ref:t,...l,"cmdk-loading":"",role:"progressbar","aria-valuenow":a,"aria-valuemin":0,"aria-valuemax":100,"aria-label":n},K(e,e=>i.createElement("div",{"aria-hidden":!0},e)))})});function L(e){let t=i.useRef(e);return $(()=>{t.current=e}),t}var $="u"<typeof window?i.useEffect:i.useLayoutEffect;function P(e){let t=i.useRef();return void 0===t.current&&(t.current=e()),t}function V(e){let t=i.useContext(k),a=()=>e(t.snapshot());return i.useSyncExternalStore(t.subscribe,a,a)}function D(e,t,a,r=[]){let n=i.useRef(),l=i.useContext(S);return $(()=>{var i;let s=(()=>{var e;for(let t of a){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():n.current}})(),d=r.map(e=>e.trim());l.value(e,s,d),null==(i=t.current)||i.setAttribute(j,s),n.current=s}),n}var O=()=>{let[e,t]=i.useState(),a=P(()=>new Map);return $(()=>{a.current.forEach(e=>e()),a.current=new Map},[e]),(e,r)=>{a.current.set(e,r),t({})}};function K({asChild:e,children:t},a){let r;return e&&i.isValidElement(t)?i.cloneElement("function"==typeof(r=t.type)?r(t.props):"render"in r?r.render(t.props):t,{ref:t.ref},a(t.props.children)):a(t)}var B={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},T=e.i(84271),F=e.i(30374),q=e.i(94689),G=e.i(21078),G=G,H=e.i(97735);function W({className:e,...a}){return(0,t.jsx)(z,{"data-slot":"command",className:(0,T.f)("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",e),...a})}function Q({title:e="Command Palette",description:a="Search for a command to run...",children:r,className:i,showCloseButton:n=!1,...l}){return(0,t.jsxs)(F.N,{...l,children:[(0,t.jsxs)(F.s,{className:"sr-only",children:[(0,t.jsx)(F.F,{children:e}),(0,t.jsx)(F.C,{children:a})]}),(0,t.jsx)(F.d,{className:(0,T.f)("top-1/3 translate-y-0 overflow-hidden rounded-xl! p-0",i),showCloseButton:n,children:r})]})}function U({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"command-input-wrapper",className:"p-1 pb-0",children:(0,t.jsxs)(q.H,{className:"h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",children:[(0,t.jsx)(z.Input,{"data-slot":"command-input",className:(0,T.f)("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...a}),(0,t.jsx)(q.B,{children:(0,t.jsx)(G.f,{className:"size-4 shrink-0 opacity-50"})})]})})}function Z({className:e,...a}){return(0,t.jsx)(z.List,{"data-slot":"command-list",className:(0,T.f)("no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",e),...a})}function J({className:e,...a}){return(0,t.jsx)(z.Empty,{"data-slot":"command-empty",className:(0,T.f)("py-6 text-center text-sm",e),...a})}function X({className:e,...a}){return(0,t.jsx)(z.Group,{"data-slot":"command-group",className:(0,T.f)("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",e),...a})}function Y({className:e,children:a,...r}){return(0,t.jsxs)(z.Item,{"data-slot":"command-item",className:(0,T.f)("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",e),...r,children:[a,(0,t.jsx)(H.f,{className:"ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})}var ee=e.i(87336),et=e.i(11522),ea=e.i(54858);let er=e=>"start_failed"===e.state||e.status?.status==="delivered"||e.status?.status==="failed",ei=e=>!er(e)&&(e.status?.open_checkpoints.length??0)>0,en=e=>`/run/?id=${e.id}`,el=e=>e.title||"Untitled run";function es(e){return"start_failed"===e.state||e.status?.status==="failed"?"failed":e.status?.status==="delivered"?"delivered":ei(e)?"waiting":e.status?.status==="paused"?"paused":"queued"!==e.state&&"starting"!==e.state&&e.status?"running":"queued"}let ed={running:"running",waiting:"needs review",paused:"paused",queued:"starting",delivered:"delivered",failed:"failed"},eo=(0,i.createContext)({runs:[],endedAt:{},openSwitcher:()=>{},switcherOpen:!1});function eu({kind:e}){return(0,t.jsx)("span",{"aria-hidden":!0,className:"flex size-4 shrink-0 items-center justify-center",children:(0,t.jsx)("span",{className:(0,T.f)("size-2.5 rounded-full","running"===e&&"animate-pulse bg-success","delivered"===e&&"bg-success","waiting"===e&&"bg-warning","paused"===e&&"bg-muted-foreground","queued"===e&&"animate-pulse bg-muted-foreground","failed"===e&&"bg-destructive")})})}let ec=e=>`$${e<10?e.toFixed(2):e.toFixed(0)}`;function ef(){let{runs:e,switcherOpen:a,openSwitcher:n}=(0,i.useContext)(eo),l=(0,r.useRouter)(),s=e.filter(e=>!er(e)),d=e.filter(er),o=e=>(0,t.jsxs)(Y,{value:`${el(e)} ${e.id}`,onSelect:()=>{n(!1),l.push(en(e))},children:[(0,t.jsx)(eu,{kind:es(e)}),(0,t.jsx)("span",{className:"flex-1 truncate",children:el(e)}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:ed[es(e)]})]},e.id);return(0,t.jsx)(Q,{open:a,onOpenChange:n,title:"Switch to a run",description:"Search runs by title",children:(0,t.jsxs)(W,{children:[(0,t.jsx)(U,{placeholder:"Search runs by title…"}),(0,t.jsxs)(Z,{children:[(0,t.jsx)(J,{children:"No run with that title."}),s.length>0&&(0,t.jsx)(X,{heading:"Active",children:s.map(o)}),d.length>0&&(0,t.jsx)(X,{heading:"Earlier",children:d.map(o)})]})]})})}e.s(["ActiveRuns",0,function(){let{runs:e,endedAt:n,openSwitcher:s}=(0,i.useContext)(eo),d=(0,r.usePathname)()??"/",o=(0,r.useSearchParams)()?.get("id")??null,u=d.startsWith("/run")?o:null,c=Date.now(),f=e.filter(e=>!er(e)||c-(n[e.id]??0)<3e5),h=f.filter(e=>!er(e)).length;return(0,t.jsxs)(et.SidebarGroup,{"data-testid":"active-runs",children:[(0,t.jsxs)(et.SidebarGroupLabel,{children:["Active runs",h?` (${h})`:""]}),(0,t.jsx)(et.SidebarGroupContent,{children:(0,t.jsxs)(et.SidebarMenu,{children:[f.map(e=>{let r=es(e),i=e.status,n=[ed[r],i?.phase].filter(Boolean).join(" · ");return(0,t.jsx)(et.SidebarMenuItem,{children:(0,t.jsx)(et.SidebarMenuButton,{asChild:!0,isActive:u===e.id,className:"h-auto py-2",tooltip:`${el(e)}: ${n}`,children:(0,t.jsxs)(a.default,{href:en(e),"data-testid":`active-run-${e.id}`,"data-kind":r,children:[(0,t.jsx)(eu,{kind:r}),(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1",children:[(0,t.jsx)("span",{className:"truncate font-medium",children:el(e)}),(0,t.jsx)("span",{className:"truncate text-xs text-muted-foreground",children:n}),i&&i.money_limit_usd>0&&(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)(ee.f,{className:"h-1 flex-1",value:Math.min(100,100*i.spend_usd/i.money_limit_usd)}),(0,t.jsxs)("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[ec(i.spend_usd)," / ",ec(i.money_limit_usd)]})]})]})]})})},e.id)}),(0,t.jsx)(et.SidebarMenuItem,{children:(0,t.jsxs)(et.SidebarMenuButton,{tooltip:"Switch to a run (Ctrl+K)",onClick:()=>s(!0),className:"text-muted-foreground",children:[(0,t.jsx)(l.f,{"aria-hidden":!0}),(0,t.jsx)("span",{className:"flex-1",children:"Switch to a run"}),(0,t.jsx)("kbd",{className:"rounded border px-1 font-mono text-[10px]",children:"Ctrl K"})]})})]})})]})},"RunsProvider",0,function({children:e}){let a=(0,r.useRouter)(),l=(0,r.usePathname)()??"/",[s,d]=(0,i.useState)([]),[o,u]=(0,i.useState)({}),[c,f]=(0,i.useState)(!1),h=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let e=!1;async function t(){let t;if("visible"!==document.visibilityState)return;try{t=await (0,ea.g)("/runs")}catch{return}if(e)return;let r=h.current;if(r){let e={};for(let i of t){let t=r.get(i.id),l={label:"Open",onClick:()=>a.push(en(i))},s=t?.status?.open_checkpoints??[],d=(i.status?.open_checkpoints??[]).filter(e=>!s.includes(e));d.length&&!er(i)&&n.c.warning(`${el(i)} needs your review`,{description:`Waiting at ${d.join(", ")}.`,action:l}),er(i)&&!(t&&er(t))&&(e[i.id]=Date.now(),i.status?.status==="delivered"?n.c.success(`${el(i)}: paper ready`,{action:l}):n.c.error(`${el(i)} failed`,{description:i.status?.reason||i.start_error||void 0,action:l}))}Object.keys(e).length&&u(t=>({...t,...e}))}h.current=new Map(t.map(e=>[e.id,e])),d(t)}t();let r=setInterval(()=>void t(),5e3),i=()=>{"visible"===document.visibilityState&&t()};return document.addEventListener("visibilitychange",i),()=>{e=!0,clearInterval(r),document.removeEventListener("visibilitychange",i)}},[a,l]),(0,i.useEffect)(()=>{let e=s.filter(ei).length;document.title=e?`(${e}) puremethod`:"puremethod"},[s,l]),(0,i.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&"k"===e.key.toLowerCase()&&(e.preventDefault(),f(e=>!e))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,t.jsxs)(eo.Provider,{value:{runs:s,endedAt:o,switcherOpen:c,openSwitcher:f},children:[e,(0,t.jsx)(ef,{})]})}],64773)},11522,e=>{var t=e.i(21692),a=e.i(92124),r=e.i(94237),i=e.i(84271),n=e.i(12584),l=e.i(67881);e.i(23750),e.i(69035);var s=e.i(52276);e.i(15738);var d=e.i(69712),o=e.i(54937),u=e.i(36484),c=e.i(6330),f=e.i(64823),h=e.i(22969),p=e.i(87940);function m({...e}){return(0,t.jsx)(s.f.Root,{"data-slot":"sheet",...e})}function b({...e}){return(0,t.jsx)(o.f.Portal,{"data-slot":"sheet-portal",...e})}function g({className:e,...a}){return(0,t.jsx)(u.f.Overlay,{"data-slot":"sheet-overlay",className:(0,i.f)("fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",e),...a})}function v({className:e,children:a,side:r="right",showCloseButton:n=!0,...s}){return(0,t.jsxs)(b,{children:[(0,t.jsx)(g,{}),(0,t.jsxs)(c.f.Content,{"data-slot":"sheet-content","data-side":r,className:(0,i.f)("fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",e),...s,children:[a,n&&(0,t.jsx)(d.f.Close,{"data-slot":"sheet-close",asChild:!0,children:(0,t.jsxs)(l.f,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[(0,t.jsx)(p.f,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})}function x({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sheet-header",className:(0,i.f)("flex flex-col gap-0.5 p-4",e),...a})}function w({className:e,...a}){return(0,t.jsx)(f.f.Title,{"data-slot":"sheet-title",className:(0,i.f)("font-heading text-base font-medium text-foreground",e),...a})}function j({className:e,...a}){return(0,t.jsx)(h.f.Description,{"data-slot":"sheet-description",className:(0,i.f)("text-sm text-muted-foreground",e),...a})}var y=e.i(28231),S=e.i(59019);let k={name:"panel-left",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],aliases:["sidebar"]};k.node;let C=(0,S.f)(k),E=a.createContext(null);function N(){let e=a.useContext(E);if(!e)throw Error("useSidebar must be used within a SidebarProvider.");return e}let M=(0,r.f)("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});e.s(["Sidebar",0,function({side:e="left",variant:a="sidebar",collapsible:r="offcanvas",className:n,children:l,dir:s,...d}){let{isMobile:o,state:u,openMobile:c,setOpenMobile:f}=N();return"none"===r?(0,t.jsx)("div",{"data-slot":"sidebar",className:(0,i.f)("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",n),...d,children:l}):o?(0,t.jsx)(m,{open:c,onOpenChange:f,...d,children:(0,t.jsxs)(v,{dir:s,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:e,children:[(0,t.jsxs)(x,{className:"sr-only",children:[(0,t.jsx)(w,{children:"Sidebar"}),(0,t.jsx)(j,{children:"Displays the mobile sidebar."})]}),(0,t.jsx)("div",{className:"flex h-full w-full flex-col",children:l})]})}):(0,t.jsxs)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":u,"data-collapsible":"collapsed"===u?r:"","data-variant":a,"data-side":e,"data-slot":"sidebar",children:[(0,t.jsx)("div",{"data-slot":"sidebar-gap",className:(0,i.f)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===a||"inset"===a?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,t.jsx)("div",{"data-slot":"sidebar-container","data-side":e,className:(0,i.f)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex","floating"===a||"inset"===a?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",n),...d,children:(0,t.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:l})})]})},"SidebarContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,i.f)("no-scrollbar flex min-h-0 flex-1 flex-col gap-0 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...a})},"SidebarFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,i.f)("flex flex-col gap-2 p-2",e),...a})},"SidebarGroup",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,i.f)("relative flex w-full min-w-0 flex-col p-2",e),...a})},"SidebarGroupContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,i.f)("w-full text-sm",e),...a})},"SidebarGroupLabel",0,function({className:e,asChild:a=!1,...r}){let l=a?n.f.Root:"div";return(0,t.jsx)(l,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,i.f)("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",e),...r})},"SidebarHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,i.f)("flex flex-col gap-2 p-2",e),...a})},"SidebarInset",0,function({className:e,...a}){return(0,t.jsx)("main",{"data-slot":"sidebar-inset",className:(0,i.f)("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",e),...a})},"SidebarMenu",0,function({className:e,...a}){return(0,t.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,i.f)("flex w-full min-w-0 flex-col gap-0",e),...a})},"SidebarMenuButton",0,function({asChild:e=!1,isActive:a=!1,variant:r="default",size:l="default",tooltip:s,className:d,...o}){let u=e?n.f.Root:"button",{isMobile:c,state:f}=N(),h=(0,t.jsx)(u,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":l,"data-active":a,className:(0,i.f)(M({variant:r,size:l}),d),...o});return s?("string"==typeof s&&(s={children:s}),(0,t.jsxs)(y.Tooltip,{children:[(0,t.jsx)(y.TooltipTrigger,{asChild:!0,children:h}),(0,t.jsx)(y.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==f||c,...s})]})):h},"SidebarMenuItem",0,function({className:e,...a}){return(0,t.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,i.f)("group/menu-item relative",e),...a})},"SidebarProvider",0,function({defaultOpen:e=!0,open:r,onOpenChange:n,className:l,style:s,children:d,...o}){let u=function(){let[e,t]=a.useState(void 0);return a.useEffect(()=>{let e=window.matchMedia("(max-width: 767px)"),a=()=>{t(window.innerWidth<768)};return e.addEventListener("change",a),t(window.innerWidth<768),()=>e.removeEventListener("change",a)},[]),!!e}(),[c,f]=a.useState(!1),[h,p]=a.useState(e),m=r??h,b=a.useCallback(e=>{let t="function"==typeof e?e(m):e;n?n(t):p(t),document.cookie=`sidebar_state=${t}; path=/; max-age=604800`},[n,m]),g=a.useCallback(()=>u?f(e=>!e):b(e=>!e),[u,b,f]);a.useEffect(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),g())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[g]);let v=m?"expanded":"collapsed",x=a.useMemo(()=>({state:v,open:m,setOpen:b,isMobile:u,openMobile:c,setOpenMobile:f,toggleSidebar:g}),[v,m,b,u,c,f,g]);return(0,t.jsx)(E.Provider,{value:x,children:(0,t.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...s},className:(0,i.f)("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",l),...o,children:d})})},"SidebarRail",0,function({className:e,...a}){let{toggleSidebar:r}=N();return(0,t.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:(0,i.f)("absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:start-1/2 after:w-[2px] hover:after:bg-sidebar-border sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...a})},"SidebarTrigger",0,function({className:e,onClick:a,...r}){let{toggleSidebar:n}=N();return(0,t.jsxs)(l.f,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:(0,i.f)(e),onClick:e=>{a?.(e),n()},...r,children:[(0,t.jsx)(C,{}),(0,t.jsx)("span",{className:"sr-only",children:"Toggle Sidebar"})]})}],11522)}],75471,(e,t,a)=>{t.exports=e.r(87939)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98995,e=>{var a=e.i(21692),t=e.i(46872),r=e.i(41240),s=e.i(71068),i=e.i(5439),l=e.i(95107),n=e.i(11078),o=e.i(73048);e.s(["default",0,function(){let e=(0,o.Z)("/services/literature");return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.K,{icon:r.f,title:"Services",description:"The services puremethod uses besides your model: the literature service, and PureTrace if you have it."}),(0,a.jsxs)(i.Z,{icon:t.f,title:"Literature",description:"Where PureScholar runs, the model it writes with, and where it looks for papers.",children:[(0,a.jsx)(i.O,{children:e.error}),e.data&&(0,a.jsx)(l.f,{page:!0,state:e.data.status.state,reason:e.data.status.reason??"",onChange:e.reload})]}),(0,a.jsx)(i.Z,{icon:s.f,title:"PureTrace","data-testid":"services-puretrace",description:"Scores how reproducible a paper is. Optional.",children:(0,a.jsx)(n.f,{})})]})}])},95107,11078,e=>{var a=e.i(21692),t=e.i(92124),r=e.i(34404),s=e.i(41896),i=e.i(46811),l=e.i(51477),n=e.i(42481),o=e.i(62867),d=e.i(30072),c=e.i(72020),u=e.i(46872),h=e.i(5439),p=e.i(94179),m=e.i(67881),f=e.i(25959),g=e.i(50216),x=e.i(84762),y=e.i(54858),v=e.i(73048);let k=[{id:"openalex",title:"OpenAlex",sources:["openalex"],free:!0,email:!0,keyPage:"https://docs.openalex.org/how-to-use-the-api/rate-limits-and-authentication",text:"A broad open index of scholarly works. A contact email gives faster, more reliable access."},{id:"crossref",title:"Crossref",sources:["crossref"],free:!0,text:"DOIs and publisher metadata. Nothing to set up."},{id:"semanticscholar",title:"Semantic Scholar",sources:["semanticscholar"],free:!0,group:"semanticscholar",keyPage:"https://www.semanticscholar.org/product/api#api-key-form",text:"Works without a key on a shared limit that is often busy. A free key gives this install its own limit."},{id:"ieee",title:"IEEE Xplore",sources:["ieee"],free:!1,group:"ieee",keyPage:"https://developer.ieee.org/",text:"IEEE journals and conferences, first-hand."},{id:"elsevier",title:"Elsevier: ScienceDirect and Scopus",sources:["sciencedirect","scopus"],free:!1,group:"elsevier",keyPage:"https://dev.elsevier.com/",text:"One key for both. Scopus also covers ACM, Springer and IEEE. Full abstracts may need institutional access."},{id:"springer",title:"Springer Nature",sources:["springer"],free:!1,group:"springer",keyPage:"https://dev.springernature.com/",text:"Springer and Nature journals and books."}],j=["openalex","crossref","semanticscholar"],b=e=>`source-${e}`,w=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function S(e,a){let t=e.trim()||"[your institution]",r=a.trim()||"[your research area]";return`We use puremethod, an open research tool, at ${t} for research in ${r}. A researcher gives it a research question; it runs computational experiments and writes a paper. Its literature service, PureScholar, uses the Graph API paper search endpoint (/graph/v1/paper/search) to find related work and to verify that every citation in a generated paper refers to a real, retrievable paper. We request the fields title, year, venue, abstract, authors, externalIds and publicationTypes, and use the year filter. Users are a few researchers in our group. One research run makes roughly 50 to 300 searches, and we run a few research runs per day. We will stay within the 1 request per second limit.`}function C({state:e,reason:l,onChange:n,page:o=!1,saved:p}){let f=p??{},x="remote"!==f.mode,S=(0,v.Z)("/credentials"),P=(0,v.Z)("/llm-profiles"),[A,$]=(0,t.useState)(x?"local":"remote"),[z,M]=(0,t.useState)(x?"":String(f.url??"")),[O,E]=(0,t.useState)(""),[T,_]=(0,t.useState)(x&&f.embedding?String(f.embedding):"local"),[I,q]=(0,t.useState)(""),[L,U]=(0,t.useState)(x?f.llm_profile?`prof:${String(f.llm_profile)}`:f.llm_credential?`cred:${String(f.llm_credential)}`:"":""),[H,V]=(0,t.useState)(x&&Array.isArray(f.sources)?f.sources.map(String):j),[W,Z]=(0,t.useState)(x?String(f.openalex_email??""):""),[F,R]=(0,t.useState)({}),[D,B]=(0,t.useState)({}),[K,G]=(0,t.useState)(null),Y=()=>JSON.stringify({mode:A,url:z,embedding:T,model:L,on:[...H].sort(),email:W.trim()}),[J,X]=(0,t.useState)(Y),[Q,ee]=(0,t.useState)(x?String(f.openalex_email??""):""),[ea,et]=(0,t.useState)(x?Object.keys(f.source_keys??{}):[]),er=new Set((S.data??[]).filter(e=>"literature-key"===e.type).map(e=>e.name)),es=[...(P.data??[]).map(e=>({key:`prof:${e.id}`,step1:e.name.startsWith("default")&&!e.roles.analyst?.credential,label:`${e.roles.analyst?.model??"?"} (profile ${e.name})`})),...(S.data??[]).filter(e=>"llm-key"===e.type&&"openai-embeddings"!==e.name).map(e=>({key:`cred:${e.name}`,step1:"llm"===e.name,label:`key ${e.name}`}))].sort((e,a)=>Number(a.step1)-Number(e.step1)),ei=L||es[0]?.key||"",el=k.some(e=>e.group&&er.has(b(e.group))&&e.sources.every(e=>H.includes(e))&&!ea.includes(e.group)),en=Y()!==J||el||!!O||!!I||Object.values(F).some(Boolean);async function eo(e){if(e.email)return void B(a=>({...a,[e.id]:w.test(W.trim())?W.trim()===Q?"ok: a valid address, in use":"ok: a valid address. Press Save and check to start using it":"problems: not an email address"}));let a=e.group;B(a=>({...a,[e.id]:"checking…"}));try{let{report:t}=await (0,y.A)(b(a),"literature-key",F[a]??"",{source:a});R(e=>({...e,[a]:""})),await S.reload(),B(r=>({...r,[e.id]:t.ok?ea.includes(a)?"ok: the key works and is in use":"ok: the key works and is stored. Press Save and check to start using it":`problems: ${t.problems.join("; ")}`}))}catch(a){B(t=>({...t,[e.id]:`problems: ${a instanceof Error?a.message:String(a)}`}))}}async function ed(){let e=Date.now();try{for(let a=0;a<900;a++){let a=await (0,y.g)("/services/literature");if("starting"!==a.status.state)break;G(Math.round((Date.now()-e)/1e3)),await new Promise(e=>setTimeout(e,1e3))}}finally{G(null)}}(0,t.useEffect)(()=>{if(!en)return;let e=e=>{e.preventDefault()};return window.addEventListener("beforeunload",e),()=>window.removeEventListener("beforeunload",e)},[en]);let[ec,eu,eh]=(0,v.L)(async()=>{if("remote"===A){let{report:e}=await (0,y.A)("purescholar","purescholar-key",O,{url:z});if(E(""),!e.ok)throw Error(`the PureScholar key did not pass: ${e.problems.join("; ")}`);await (0,y.k)("PUT","/services/literature",{mode:"remote",url:z}),X(Y()),await ed()}else{for(let[e,a]of Object.entries(F))a&&await (0,y.A)(b(e),"literature-key",a,null);R({});let e=new Set((await (0,y.g)("/credentials")).filter(e=>"literature-key"===e.type).map(e=>e.name)),a=Object.fromEntries(k.filter(a=>a.group&&e.has(b(a.group))).map(e=>[e.group,b(e.group)])),t={mode:"local",embedding:T,sources:H,source_keys:a};W.trim()&&(t.openalex_email=W.trim()),ei.startsWith("prof:")?Object.assign(t,{llm_profile:ei.slice(5),llm_role:"analyst"}):t.llm_credential=ei.slice(5)||"llm","openai"===T&&(await (0,y.A)("openai-embeddings","llm-key",I,null),q(""),t.openai_credential="openai-embeddings");try{await (0,y.k)("PUT","/services/literature",t)}catch(e){if(!(e instanceof Error&&e.message.includes("re-indexes")))throw e;if(!window.confirm("Changing the search quality re-indexes every stored paper, which can take a while. Continue?"))return;await (0,y.k)("PUT","/services/literature?reindex=yes",t)}X(Y()),ee(W.trim()),et(Object.keys(a)),B({}),await S.reload(),await ed()}await n()}),ep=null!==K||"starting"===e?null:"ready"===e?s.f:"failed"===e?i.f:null,em="local"===A&&0===H.length;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.z,{name:"litmode",value:A,onChange:$,choices:[{value:"local",title:"On this machine",icon:c.f,description:"Started for you in Docker"},{value:"remote",title:"A remote PureScholar",icon:d.f,description:"One your lab already runs"}]}),"local"===A?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,a.jsx)(h.P,{id:"lemb",label:"Search quality (embeddings)",description:"Changing it later re-indexes the stored papers.",children:(0,a.jsx)(h.S,{id:"lemb",value:T,onChange:_,options:[{value:"local",label:"Basic: no key, lower quality"},{value:"openai",label:"OpenAI embeddings: uses your OpenAI key"},{value:"sentence-transformers",label:"Local model: about a 2 GB download"}]})}),(0,a.jsx)(h.P,{id:"lmodel",label:"Model PureScholar writes with",children:(0,a.jsx)(h.S,{id:"lmodel",value:ei,onChange:U,options:es.map(e=>({value:e.key,label:`${e.label}${e.step1?" (from step 1)":""}`}))})}),"openai"===T&&(0,a.jsx)(h.C,{id:"loakey",label:"OpenAI API key for embeddings",type:"password",autoComplete:"off",value:I,onChange:e=>q(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,a.jsx)(u.f,{className:"size-4 text-muted-foreground","aria-hidden":!0}),"Where PureScholar looks for papers"]}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"The first three need nothing. Keys are free, stored encrypted, and can be added here at any time."}),(0,a.jsx)("div",{className:"grid gap-2 lg:grid-cols-2","data-testid":"sources",children:k.map(e=>{let t;return(0,a.jsx)(N,{card:e,enabled:e.sources.every(e=>H.includes(e)),onToggle:a=>{V(t=>a?[...t.filter(a=>!e.sources.includes(a)),...e.sources]:t.filter(a=>!e.sources.includes(a)))},keyStored:!!e.group&&er.has(b(e.group)),inUse:e.email?!!Q&&Q===W.trim():!!e.group&&ea.includes(e.group),canEnable:e.free||!!e.group&&(t=e.group,er.has(b(t))||!!F[t]),keyValue:e.group?F[e.group]??"":"",onKey:a=>e.group&&R(t=>({...t,[e.group]:a})),email:W,onEmail:Z,result:D[e.id]??"",onTest:()=>eo(e)},e.id)})}),em&&(0,a.jsx)(h.N,{tone:"warn",children:"Turn at least one source on."})]})]}):(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,a.jsx)(h.C,{id:"lurl",label:"PureScholar URL",type:"text",value:z,placeholder:"https://…",onChange:e=>M(e.target.value)}),(0,a.jsx)(h.C,{id:"lkey",label:"PureScholar API key",type:"password",autoComplete:"off",value:O,onChange:e=>E(e.target.value)})]}),o&&"local"===A&&(0,a.jsx)(h.N,{children:"Saving restarts the literature service with the new settings. It is refused while a run is active."}),en&&(0,a.jsx)(h.N,{tone:"warn","data-testid":"literature-unsaved",children:"You have changes that are not saved yet. Press Save and check to use them; leaving the page discards them."}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)(m.f,{onClick:ec,disabled:eu||em||"remote"===A&&(!z||!O)||"local"===A&&"openai"===T&&!I,children:[(0,a.jsx)(r.f,{"aria-hidden":!0}),"Save and check"]}),(0,a.jsxs)("span",{"data-testid":"literature-state",className:`inline-flex items-center gap-1.5 text-sm ${"ready"===e&&null===K?"text-success":"failed"===e?"text-destructive":"text-muted-foreground"}`,children:[ep?(0,a.jsx)(ep,{className:"size-4 shrink-0","aria-hidden":!0}):(null!==K||"starting"===e)&&(0,a.jsx)(g.f,{className:"size-4 shrink-0"}),null!==K?`starting… ${K} s (the first start downloads PureScholar; this can take a few minutes)`:`${e}${l?`: ${l}`:""}`]})]}),(0,a.jsx)(h.O,{children:eh})]})}function N({card:e,enabled:r,onToggle:s,keyStored:i,inUse:d,canEnable:c,keyValue:u,onKey:g,email:y,onEmail:v,result:k,onTest:j}){let[b,w]=(0,t.useState)(!1),[C,P]=(0,t.useState)(""),[A,$]=(0,t.useState)(""),z=`src-${e.id}`;return(0,a.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border p-3","data-testid":z,children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(f.f,{id:z,checked:r,disabled:!c&&!r,onCheckedChange:e=>s(!0===e),className:"mt-0.5"}),(0,a.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,a.jsxs)("label",{htmlFor:z,className:"flex flex-wrap items-center gap-2 text-sm font-medium",children:[e.title,e.free?(0,a.jsx)(p.f,{variant:"secondary",children:"no key needed"}):(0,a.jsx)(p.f,{variant:"outline",children:"needs a free key"}),(i||e.email&&!!y.trim())&&(d?(0,a.jsx)(p.f,{className:"bg-success/15 text-success",children:e.email?"email in use":"key in use"}):(0,a.jsx)(p.f,{variant:"outline",className:"border-warning/50 text-warning",children:e.email?"email not saved yet":"key not in use yet"}))]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:e.text}),e.keyPage&&(0,a.jsxs)("a",{href:e.keyPage,target:"_blank",rel:"noreferrer",className:"flex w-fit items-center gap-1 text-xs font-medium underline underline-offset-4",children:[e.email?"About the contact email":"Get a key",(0,a.jsx)(n.f,{className:"size-3","aria-hidden":!0})]})]})]}),(e.group||e.email)&&(0,a.jsxs)("div",{className:"flex flex-col gap-2 pl-7",children:[e.email?(0,a.jsx)(h.C,{id:`${z}-email`,label:"Contact email (optional)",type:"email",value:y,placeholder:"you@university.edu",onChange:e=>v(e.target.value)}):(0,a.jsx)(h.C,{id:`${z}-key`,type:"password",autoComplete:"off",value:u,label:i?"Replace the key":`${e.title.split(":")[0]} API key`,onChange:e=>g(e.target.value)}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)(m.f,{size:"sm",variant:"outline",onClick:j,disabled:e.email?!y.trim():!u,children:[(0,a.jsx)(o.f,{"aria-hidden":!0}),"Test"]}),(0,a.jsx)(h._,{text:k,"data-testid":`${z}-result`})]}),"semanticscholar"===e.id&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("button",{type:"button",className:"w-fit text-xs font-medium underline underline-offset-4",onClick:()=>w(!b),children:[b?"Hide":"Help me fill in"," Semantic Scholar's key form"]}),b&&(0,a.jsxs)("div",{className:"flex flex-col gap-2 rounded-md bg-muted/50 p-3 text-xs",children:[(0,a.jsxs)("p",{children:["The key usually arrives by email within a few days; add it here then. Suggested answers for the form (Application use: Private; Endpoints:",(0,a.jsx)("code",{children:" /graph/v1/paper/search"}),"; Requests per day: 1,000):"]}),(0,a.jsxs)("div",{className:"grid gap-2 sm:grid-cols-2",children:[(0,a.jsx)(h.C,{id:`${z}-inst`,label:"Your institution",type:"text",value:C,onChange:e=>P(e.target.value)}),(0,a.jsx)(h.C,{id:`${z}-area`,label:"Your research area",type:"text",value:A,onChange:e=>$(e.target.value)})]}),(0,a.jsx)(x.f,{readOnly:!0,rows:6,className:"text-xs",value:S(C,A)}),(0,a.jsx)("div",{children:(0,a.jsxs)(m.f,{size:"sm",variant:"outline",onClick:()=>void navigator.clipboard.writeText(S(C,A)),children:[(0,a.jsx)(l.f,{"aria-hidden":!0}),"Copy"]})})]})]})]})]})}e.s(["f",0,function(e){let t=(0,v.Z)("/services/literature");return t.data||t.error?(0,a.jsx)(C,{...e,saved:t.data?.setting??null}):(0,a.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,a.jsx)(g.f,{className:"size-4"}),"loading…"]})}],95107);var P=e.i(71068),A=e.i(26907);e.s(["f",0,function(){let e=(0,v.Z)("/services/puretrace"),[r,s]=(0,t.useState)(""),[i,l]=(0,t.useState)(""),[n,o]=(0,t.useState)(""),[d,c,u]=(0,v.L)(async()=>{o("checking…");let{report:a}=await (0,y.A)("puretrace","puretrace-key",i,{url:r});l(""),a.ok&&await (0,y.k)("PUT","/services/puretrace",{url:r}),o(a.ok?"ok":`problems: ${a.problems.join("; ")}`),await e.reload()}),[p,f,g]=(0,v.L)(async()=>{await (0,y.k)("PUT","/services/puretrace",{url:null}),o("ok: removed"),await e.reload()});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"puretrace-current",children:e.data?.url?(0,a.jsxs)(a.Fragment,{children:["Connected to ",(0,a.jsx)("code",{children:e.data.url}),"."]}):"Not connected."}),(0,a.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,a.jsx)(h.C,{id:"turl",label:"PureTrace URL",type:"text",value:r,onChange:e=>s(e.target.value)}),(0,a.jsx)(h.C,{id:"tkey",label:"PureTrace API key",type:"password",autoComplete:"off",value:i,onChange:e=>l(e.target.value)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,a.jsxs)(m.f,{onClick:d,disabled:c||!r||!i,children:[(0,a.jsx)(P.f,{"aria-hidden":!0}),"Save and check"]}),e.data?.url&&(0,a.jsxs)(m.f,{variant:"outline",onClick:p,disabled:f,children:[(0,a.jsx)(A.f,{"aria-hidden":!0}),"Remove"]}),(0,a.jsx)(h._,{text:n,"data-testid":"puretrace-result"})]}),(0,a.jsx)(h.O,{children:u}),(0,a.jsx)(h.O,{children:g})]})}],11078)},73048,e=>{var a=e.i(92124),t=e.i(54858);e.s(["L",0,function(e){let[t,r]=(0,a.useState)(!1),[s,i]=(0,a.useState)("");return[async()=>{r(!0),i("");try{await e()}catch(e){i(e instanceof Error?e.message:String(e))}finally{r(!1)}},t,s,i]},"Z",0,function(e){let[r,s]=(0,a.useState)(null),[i,l]=(0,a.useState)(""),n=(0,a.useCallback)(async()=>{if(e)try{s(await (0,t.g)(e)),l("")}catch(e){l(e instanceof Error?e.message:String(e))}},[e]);return(0,a.useEffect)(()=>{n()},[n]),{data:r,error:i,reload:n}}])},34404,42481,72020,e=>{var a=e.i(59019);let t={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],34404);let s={name:"external-link",size:24,node:[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]};s.node;let i=(0,a.f)(s);e.s(["f",0,i],42481);let l={name:"hard-drive",size:24,node:[["path",{d:"M10 16h.01",key:"1bzywj"}],["path",{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"18tbho"}],["path",{d:"M21.946 12.013H2.054",key:"zqlbp7"}],["path",{d:"M6 16h.01",key:"1pmjb7"}]]};l.node;let n=(0,a.f)(l);e.s(["f",0,n],72020)},46811,e=>{var a=e.i(59019);let t={name:"circle-x",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],aliases:["x-circle"]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],46811)},51477,e=>{var a=e.i(59019);let t={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],51477)},30072,e=>{var a=e.i(59019);let t={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],30072)},46872,e=>{var a=e.i(59019);let t={name:"library",size:24,node:[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],46872)},71068,e=>{var a=e.i(59019);let t={name:"shield-check",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],71068)},26907,e=>{var a=e.i(59019);let t={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"]};t.node;let r=(0,a.f)(t);e.s(["f",0,r],26907)}])})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,59774,e=>{"use strict";var r=e.i(21692),t=e.i(92124),n=e.i(74692),l=e.i(59019);let o={name:"archive",size:24,node:[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]};o.node;let i=(0,l.f)(o),a={name:"arrow-left",size:24,node:[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]};a.node;let s=(0,l.f)(a),c={name:"circle-slash",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]};c.node;let d=(0,l.f)(c);var u=e.i(72401);let h={name:"dollar-sign",size:24,node:[["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M17 5H9.5a1 1 0 000 7h5a1 1 0 010 7H6",key:"pwzcbw"}]]};h.node;let f=(0,l.f)(h),p={name:"download",size:24,node:[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]};p.node;let m=(0,l.f)(p);var x=e.i(86703);let v={name:"flag",size:24,node:[["path",{d:"M4 22V4a1 1 0 0 1 .4-.8A6 6 0 0 1 8 2c3 0 5 2 7.333 2q2 0 3.067-.8A1 1 0 0 1 20 4v10a1 1 0 0 1-.4.8A6 6 0 0 1 16 16c-3 0-5-2-8-2a6 6 0 0 0-4 1.528",key:"1jaruq"}]]};v.node;let g=(0,l.f)(v);var w=e.i(34550);let j={name:"list-tree",size:24,node:[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]};j.node;let b=(0,l.f)(j);var S=e.i(82059),y=e.i(64810),C=e.i(88031);let N={name:"scroll-text",size:24,node:[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]};N.node;let E=(0,l.f)(N);var T=e.i(5439),R=e.i(67110),k=e.i(94179),A=e.i(67881),_=e.i(70065),P=e.i(25959),L=e.i(86530),z=e.i(87336),D=e.i(84271),M=e.i(3355),O=e.i(65706),H=e.i(31125),V=e.i(14599),I=e.i(66100),F=e.i(71511),U=e.i(35338),W=e.i(44532),$=e.i(9515),X=e.i(17607),Y=e.i(19573),B=Object.defineProperty,q=(e,r)=>B(e,"name",{value:r,configurable:!0});function Z(e,r){return t.useReducer((e,t)=>r[e][t]??e,e)}q(Z,"useStateMachine");var K="scroll",J="hover",G="vertical",Q="horizontal",ee="ScrollArea",[er,et]=(0,V.f)(ee),[en,el]=er(ee),eo=t.forwardRef(q(function(e,n){let{__scopeScrollArea:l,type:o=J,dir:i,scrollHideDelay:a=600,...s}=e,[c,d]=t.useState(null),[u,h]=t.useState(null),[f,p]=t.useState(null),[m,x]=t.useState(null),[v,g]=t.useState(null),[w,j]=t.useState(0),[b,S]=t.useState(0),[y,C]=t.useState(!1),[N,E]=t.useState(!1),T=(0,I.j)(n,d),R=(0,U.f)(i);return(0,r.jsx)(en,{scope:l,type:o,dir:R,scrollHideDelay:a,scrollArea:c,viewport:u,onViewportChange:h,content:f,onContentChange:p,scrollbarX:m,onScrollbarXChange:x,scrollbarXEnabled:y,onScrollbarXEnabledChange:C,scrollbarY:v,onScrollbarYChange:g,scrollbarYEnabled:N,onScrollbarYEnabledChange:E,onCornerWidthChange:j,onCornerHeightChange:S,children:(0,r.jsx)(M.V.div,{dir:R,...s,ref:T,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":b+"px",...e.style}})})},"ScrollArea")),ei="ScrollAreaViewport",ea=(0,H.createSlottable)(ei),es=t.forwardRef(q(function(e,n){let{__scopeScrollArea:l,children:o,nonce:i,disableImplicitContentElement:a,...s}=e,c=el(ei,l),d=t.useRef(null),u=(0,I.j)(n,d,c.onViewportChange),h=t.isValidElement(o);if(Y.f){let r=t.useRef(!1),n=!0===e.asChild&&!a&&!h;t.useEffect(()=>{n&&!r.current&&(r.current=!0,console.warn(`${ei}: \`asChild\` expects a single React element child, so its props have been applied to the implicitly rendered content element instead. Wrap the children in a single element, or opt into \`disableImplicitContentElement\` and render a \`ScrollArea.Content\` inside the viewport.`))},[n])}return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ec,{nonce:i}),(0,r.jsx)(M.V.div,{"data-radix-scroll-area-viewport":"",...s,ref:u,style:{overflowX:c.scrollbarXEnabled?"scroll":"hidden",overflowY:c.scrollbarYEnabled?"scroll":"hidden",...e.style},children:a?o:h?(0,r.jsx)(ea,{child:o,children:e=>(0,r.jsx)(ed,{__scopeScrollArea:l,children:e})}):(0,r.jsx)(ea,{children:(0,r.jsx)(ed,{__scopeScrollArea:l,children:o})})})]})},"ScrollAreaViewport")),ec=t.memo(q(function({nonce:e}){return(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:e})},"ScrollAreaViewportStyle"),(e,r)=>e.nonce===r.nonce),ed=t.forwardRef(q(function(e,t){let{__scopeScrollArea:n,children:l,...o}=e,i=el("ScrollAreaContent",n),a=(0,I.j)(t,i.onContentChange);return(0,r.jsx)(M.V.div,{...o,ref:a,style:{minWidth:"100%",display:"table",...e.style},children:l})},"ScrollAreaContent")),eu="ScrollAreaScrollbar",eh=t.forwardRef(q(function(e,n){let{forceMount:l,...o}=e,i=el(eu,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=i,c=e.orientation===Q;return t.useEffect(()=>(c?a(!0):s(!0),()=>{c?a(!1):s(!1)}),[c,a,s]),i.type===J?(0,r.jsx)(ef,{...o,ref:n,forceMount:l}):i.type===K?(0,r.jsx)(ep,{...o,ref:n,forceMount:l}):"auto"===i.type?(0,r.jsx)(em,{...o,ref:n,forceMount:l}):"always"===i.type?(0,r.jsx)(ex,{...o,ref:n,"data-state":"visible"}):null},"ScrollAreaScrollbar")),ef=t.forwardRef(q(function(e,n){let{forceMount:l,...o}=e,i=el(eu,e.__scopeScrollArea),[a,s]=t.useState(!1);return t.useEffect(()=>{let e=i.scrollArea,r=0;if(e){let t=q(()=>{window.clearTimeout(r),s(!0)},"handlePointerEnter"),n=q(()=>{r=window.setTimeout(()=>s(!1),i.scrollHideDelay)},"handlePointerLeave");return e.addEventListener("pointerenter",t),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",t),e.removeEventListener("pointerleave",n)}}},[i.scrollArea,i.scrollHideDelay]),(0,r.jsx)(O.f,{present:l||a,children:(0,r.jsx)(em,{"data-state":a?"visible":"hidden",...o,ref:n})})},"ScrollAreaScrollbarHover")),ep=t.forwardRef(q(function(e,n){let{forceMount:l,...o}=e,i=el(eu,e.__scopeScrollArea),a=e.orientation===Q,s=eM(()=>d("SCROLL_END"),100),[c,d]=Z("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return t.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>d("HIDE"),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,i.scrollHideDelay,d]),t.useEffect(()=>{let e=i.viewport,r=a?"scrollLeft":"scrollTop";if(e){let t=e[r],n=q(()=>{let n=e[r];t!==n&&(d("SCROLL"),s()),t=n},"handleScroll");return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[i.viewport,a,d,s]),(0,r.jsx)(O.f,{present:l||"hidden"!==c,children:(0,r.jsx)(ex,{"data-state":"hidden"===c?"hidden":"visible",...o,ref:n,onPointerEnter:(0,X.f)(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:(0,X.f)(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})},"ScrollAreaScrollbarScroll")),em=t.forwardRef(q(function(e,n){let l=el(eu,e.__scopeScrollArea),{forceMount:o,...i}=e,[a,s]=t.useState(!1),c=e.orientation===Q,d=eM(()=>{if(l.viewport){let e=l.viewport.offsetWidth<l.viewport.scrollWidth,r=l.viewport.offsetHeight<l.viewport.scrollHeight;s(c?e:r)}},10);return eO(l.viewport,d),eO(l.content,d),(0,r.jsx)(O.f,{present:o||a,children:(0,r.jsx)(ex,{"data-state":a?"visible":"hidden",...i,ref:n})})},"ScrollAreaScrollbarAuto")),ex=t.forwardRef(q(function(e,n){let{orientation:l=G,...o}=e,i=el(eu,e.__scopeScrollArea),a=t.useRef(null),s=t.useRef(0),[c,d]=t.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=ek(c.viewport,c.content),h={...o,sizes:c,onSizesChange:d,hasThumb:!!(u>0&&u<1),onThumbChange:q(e=>a.current=e,"onThumbChange"),onThumbPointerUp:q(()=>s.current=0,"onThumbPointerUp"),onThumbPointerDown:q(e=>s.current=e,"onThumbPointerDown")};function f(e,r){return e_(e,s.current,c,r)}return(q(f,"getScrollPosition"),l===Q)?(0,r.jsx)(ev,{...h,ref:n,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=eP(i.viewport.scrollLeft,c,i.dir);a.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=f(e,i.dir))}}):l===G?(0,r.jsx)(eg,{...h,ref:n,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=eP(i.viewport.scrollTop,c);a.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=f(e))}}):null},"ScrollAreaScrollbarVisible")),ev=t.forwardRef(q(function(e,n){let{sizes:l,onSizesChange:o,...i}=e,a=el(eu,e.__scopeScrollArea),[s,c]=t.useState(),d=t.useRef(null),u=(0,I.j)(n,d,a.onScrollbarXChange);return t.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,r.jsx)(eb,{"data-orientation":"horizontal",...i,ref:u,sizes:l,style:{bottom:0,left:"rtl"===a.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===a.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":eA(l)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,t)=>{if(a.viewport){let n=a.viewport.scrollLeft+r.deltaX;e.onWheelScroll(n),ez(n,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&o({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:d.current.clientWidth,paddingStart:eR(s.paddingLeft),paddingEnd:eR(s.paddingRight)}})}})},"ScrollAreaScrollbarX")),eg=t.forwardRef(q(function(e,n){let{sizes:l,onSizesChange:o,...i}=e,a=el(eu,e.__scopeScrollArea),[s,c]=t.useState(),d=t.useRef(null),u=(0,I.j)(n,d,a.onScrollbarYChange);return t.useEffect(()=>{d.current&&c(getComputedStyle(d.current))},[d]),(0,r.jsx)(eb,{"data-orientation":"vertical",...i,ref:u,sizes:l,style:{top:0,right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":eA(l)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,t)=>{if(a.viewport){let n=a.viewport.scrollTop+r.deltaY;e.onWheelScroll(n),ez(n,t)&&r.preventDefault()}},onResize:()=>{d.current&&a.viewport&&s&&o({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:d.current.clientHeight,paddingStart:eR(s.paddingTop),paddingEnd:eR(s.paddingBottom)}})}})},"ScrollAreaScrollbarY")),[ew,ej]=er(eu),eb=t.forwardRef(q(function(e,n){let{__scopeScrollArea:l,sizes:o,hasThumb:i,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:u,onWheelScroll:h,onResize:f,...p}=e,m=el(eu,l),[x,v]=t.useState(null),g=(0,I.j)(n,v),w=t.useRef(null),j=t.useRef(""),b=m.viewport,S=o.content-o.viewport,y=(0,F.f)(h),C=(0,F.f)(d),N=eM(f,10);function E(e){w.current&&u({x:e.clientX-w.current.left,y:e.clientY-w.current.top})}return q(E,"handleDragScroll"),t.useEffect(()=>{let e=q(e=>{let r=e.target;x?.contains(r)&&y(e,S)},"handleWheel");return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[b,x,S,y]),t.useEffect(C,[o,C]),eO(x,N),eO(m.content,N),(0,r.jsx)(ew,{scope:l,scrollbar:x,hasThumb:i,onThumbChange:(0,F.f)(a),onThumbPointerUp:(0,F.f)(s),onThumbPositionChange:C,onThumbPointerDown:(0,F.f)(c),children:(0,r.jsx)(M.V.div,{...p,ref:g,style:{position:"absolute",...p.style},onPointerDown:(0,X.f)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),w.current=x.getBoundingClientRect(),j.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",m.viewport&&(m.viewport.style.scrollBehavior="auto"),E(e))}),onPointerMove:(0,X.f)(e.onPointerMove,E),onPointerUp:(0,X.f)(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=j.current,m.viewport&&(m.viewport.style.scrollBehavior=""),w.current=null})})})},"ScrollAreaScrollbarImpl")),eS="ScrollAreaThumb",ey=t.forwardRef(q(function(e,t){let{forceMount:n,...l}=e,o=ej(eS,e.__scopeScrollArea);return(0,r.jsx)(O.f,{present:n||o.hasThumb,children:(0,r.jsx)(eC,{ref:t,...l})})},"ScrollAreaThumb")),eC=t.forwardRef(q(function(e,n){let{__scopeScrollArea:l,style:o,...i}=e,a=el(eS,l),s=ej(eS,l),{onThumbPositionChange:c}=s,d=(0,I.j)(n,s.onThumbChange),u=t.useRef(void 0),h=eM(()=>{u.current&&(u.current(),u.current=void 0)},100);return t.useEffect(()=>{let e=a.viewport;if(e){let r=q(()=>{h(),u.current||(u.current=eD(e,c),c())},"handleScroll");return c(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[a.viewport,h,c]),(0,r.jsx)(M.V.div,{"data-state":s.hasThumb?"visible":"hidden",...i,ref:d,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...o},onPointerDownCapture:(0,X.f)(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),t=e.clientX-r.left,n=e.clientY-r.top;s.onThumbPointerDown({x:t,y:n})}),onPointerUp:(0,X.f)(e.onPointerUp,s.onThumbPointerUp)})},"ScrollAreaThumbImpl")),eN="ScrollAreaCorner",eE=t.forwardRef(q(function(e,t){let n=el(eN,e.__scopeScrollArea),l=!!(n.scrollbarX&&n.scrollbarY);return n.type!==K&&l?(0,r.jsx)(eT,{...e,ref:t}):null},"ScrollAreaCorner")),eT=t.forwardRef(q(function(e,n){let{__scopeScrollArea:l,...o}=e,i=el(eN,l),[a,s]=t.useState(0),[c,d]=t.useState(0),u=!!(a&&c),{onCornerWidthChange:h,onCornerHeightChange:f}=i;return eO(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),d(e)}),eO(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),s(e)}),t.useEffect(()=>()=>{h(0),f(0)},[h,f]),u?(0,r.jsx)(M.V.div,{...o,ref:n,style:{width:a,height:c,position:"absolute",right:"ltr"===i.dir?0:void 0,left:"rtl"===i.dir?0:void 0,bottom:0,...e.style}}):null},"ScrollAreaCornerImpl"));function eR(e){return e?parseInt(e,10):0}function ek(e,r){let t=e/r;return isNaN(t)?0:t}function eA(e){let r=ek(e.viewport,e.content),t=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-t)*r,18)}function e_(e,r,t,n="ltr"){let l=eA(t),o=r||l/2,i=t.scrollbar.paddingStart+o,a=t.scrollbar.size-t.scrollbar.paddingEnd-(l-o),s=t.content-t.viewport;return eL([i,a],"ltr"===n?[0,s]:[-1*s,0])(e)}function eP(e,r,t="ltr"){let n=eA(r),l=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,o=r.scrollbar.size-l,i=r.content-r.viewport,a=(0,$.f)(e,"ltr"===t?[0,i]:[-1*i,0]);return eL([0,i],[0,o-n])(a)}function eL(e,r){return t=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let n=(r[1]-r[0])/(e[1]-e[0]);return r[0]+n*(t-e[0])}}function ez(e,r){return e>0&&e<r}q(eR,"toInt"),q(ek,"getThumbRatio"),q(eA,"getThumbSize"),q(e_,"getScrollPositionFromPointer"),q(eP,"getThumbOffsetFromScroll"),q(eL,"linearScale"),q(ez,"isScrollingWithinScrollbarBounds");var eD=q((e,r=()=>{})=>{let t={left:e.scrollLeft,top:e.scrollTop},n=0;function l(){let o={left:e.scrollLeft,top:e.scrollTop},i=t.left!==o.left,a=t.top!==o.top;(i||a)&&r(),t=o,n=window.requestAnimationFrame(l)}return q(l,"loop"),l(),()=>window.cancelAnimationFrame(n)},"addUnlinkedScrollListener");function eM(e,r){let n=(0,F.f)(e),l=t.useRef(0);return t.useEffect(()=>()=>window.clearTimeout(l.current),[]),t.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(n,r)},[n,r])}function eO(e,r){let t=(0,F.f)(r);(0,W.f)(()=>{let r=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(t)});return n.observe(e),()=>{window.cancelAnimationFrame(r),n.unobserve(e)}}},[e,t])}q(eM,"useDebounceCallback"),q(eO,"useResizeObserver"),e.s(["Corner",0,eE,"Root",0,eo,"ScrollAreaScrollbar",0,eh,"ScrollAreaThumb",0,ey,"Viewport",0,es],60880);var eH=e.i(60880),eH=eH,eV=eH,eI=eH,eF=eH,eU=eH;function eW({className:e,children:t,...n}){return(0,r.jsxs)(eH.Root,{"data-slot":"scroll-area",className:(0,D.f)("relative",e),...n,children:[(0,r.jsx)(eV.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:t}),(0,r.jsx)(e$,{}),(0,r.jsx)(eI.Corner,{})]})}function e$({className:e,orientation:t="vertical",...n}){return(0,r.jsx)(eF.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":t,orientation:t,className:(0,D.f)("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent",e),...n,children:(0,r.jsx)(eU.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}var eX=e.i(50216),eY=e.i(47627),eB=e.i(84762),eq=e.i(54858),eZ=e.i(49733);function eK({icon:e,label:t,text:n,value:l}){return(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between text-sm",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-muted-foreground",children:[(0,r.jsx)(e,{className:"size-4","aria-hidden":!0}),t]}),(0,r.jsx)("span",{className:"font-medium",children:n})]}),(0,r.jsx)(z.f,{value:Math.min(100,l)})]})}function eJ({outcome:e}){let t=/confirm|support|pass/.test(e),n=/refut|fail|error|discard/.test(e);return(0,r.jsx)(k.f,{variant:"outline",className:t?"border-success/40 text-success":n?"border-destructive/40 text-destructive":"",children:e||"open"})}function eG({cp:e,entries:t,act:n}){let l=e.requested.payload.options;if("C1"===e.id)return(0,r.jsx)(eQ,{options:l,act:n});let o=l??{confirmed:[],negative:[]};return(0,r.jsxs)(T.Z,{icon:g,title:"Checkpoint C2: review the findings before writing",className:"ring-2 ring-warning/50","data-testid":"checkpoint-C2",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"mb-2 text-sm font-semibold",children:"Confirmed"}),(0,r.jsxs)("ul",{className:"flex list-disc flex-col gap-1 pl-5 text-sm",children:[o.confirmed.map(e=>(0,r.jsx)("li",{children:e.statement},e.id)),0===o.confirmed.length&&(0,r.jsx)("li",{className:"text-muted-foreground",children:"Nothing was confirmed; the paper will report the negative results."})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"mb-2 text-sm font-semibold",children:"Not confirmed"}),(0,r.jsx)("ul",{className:"flex list-disc flex-col gap-1 pl-5 text-sm",children:o.negative.map(e=>(0,r.jsxs)("li",{children:[e.statement,": ",e.outcome??"open",e.reason_code?` (${e.reason_code})`:""]},e.id))})]}),(0,r.jsx)("div",{children:(0,r.jsxs)(A.f,{onClick:()=>n("checkpoints/C2",{decision:{approve:!0}}),children:[(0,r.jsx)(y.f,{"aria-hidden":!0}),"Approve and write the paper"]})})]})}function eQ({options:e,act:n}){let[l,o]=(0,t.useState)(Object.fromEntries(e.map(e=>[e.id,!0]))),[i,a]=(0,t.useState)("");return(0,r.jsxs)(T.Z,{icon:g,title:"Checkpoint C1: choose the research directions",className:"ring-2 ring-warning/50","data-testid":"checkpoint-C1",children:[(0,r.jsx)("div",{className:"flex flex-col gap-2",children:e.map(e=>(0,r.jsxs)(L.N,{orientation:"horizontal",className:"rounded-lg border p-3",children:[(0,r.jsx)(P.f,{id:`c1-${e.id}`,checked:l[e.id]??!1,onCheckedChange:r=>o({...l,[e.id]:!0===r})}),(0,r.jsx)(L.u,{htmlFor:`c1-${e.id}`,className:"font-normal",children:e.direction})]},e.id))}),(0,r.jsxs)(L.N,{children:[(0,r.jsx)(L.u,{htmlFor:"add",children:"Add directions (optional, one per line)"}),(0,r.jsx)(eB.f,{id:"add",value:i,onChange:e=>a(e.target.value)})]}),(0,r.jsx)("div",{children:(0,r.jsx)(A.f,{onClick:()=>n("checkpoints/C1",{decision:{keep:e.filter(e=>l[e.id]).map(e=>e.id),add:i.split("\n").map(e=>e.trim()).filter(Boolean)}}),children:"Continue with these directions"})})]})}e.s(["default",0,function(){let[e,l]=(0,t.useState)(null),[o,a]=(0,t.useState)(null),[c,h]=(0,t.useState)(null),[p,v]=(0,t.useState)([]),[g,j]=(0,t.useState)(""),[N,P]=(0,t.useState)("");(0,t.useEffect)(()=>{l(new URLSearchParams(window.location.search).get("id"))},[]),(0,t.useEffect)(()=>{if(!e)return;let r=!1,t=async()=>{try{let t=await (0,eq.g)(`/runs/${e}`);if(r)return;a(t),t.status&&h(t.status)}catch(e){P(e instanceof Error?e.message:String(e))}};t();let n=setInterval(t,3e3);return()=>{r=!0,clearInterval(n)}},[e]),(0,t.useEffect)(()=>{if(!e)return;let r=new EventSource(`/api/v1/runs/${e}/events`);return r.addEventListener("entry",e=>{let r=JSON.parse(e.data);v(e=>e.some(e=>e.seq===r.seq)?e:[...e,r])}),r.addEventListener("status",e=>{h(JSON.parse(e.data))}),()=>r.close()},[e]);let L=(0,t.useMemo)(()=>(0,eZ.T)(p),[p]),z=(0,t.useMemo)(()=>(0,eZ.B)(p),[p]),D=c?(0,eZ.G)(p,c.open_checkpoints):null;async function M(r,t={}){if(e){j("Waiting for the run's worker…"),P("");try{let n=await (0,eq.$)(e,r,t);j(""),"refused"===n.state&&P(`Refused: ${n.reason??""}`)}catch(e){j(""),P(e instanceof Error?e.message:String(e))}}}if(!e)return(0,r.jsx)("p",{className:"text-muted-foreground",children:"No run selected."});let O=c?.status==="delivered",H=O||c?.status==="failed",V=p.some(e=>"paper.built"===e.type),I={...o??{id:e,title:"",created_at:"",state:"started",start_error:null,worker_error:null,status_error:null},status:c};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(A.f,{variant:"ghost",size:"sm",className:"-ml-2 mb-2",asChild:!0,children:(0,r.jsxs)(n.default,{href:"/",children:[(0,r.jsx)(s,{"aria-hidden":!0}),"All runs"]})}),(0,r.jsx)(T.K,{icon:E,title:o?.title??"Run",children:!H&&(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,r.jsxs)(A.f,{variant:"outline",onClick:()=>M("pause",{reason:"paused from the UI"}),disabled:!c||!["running","preflight","stopping","writing"].includes(c.status??""),children:[(0,r.jsx)(S.f,{"aria-hidden":!0}),"Pause"]}),(0,r.jsxs)(A.f,{variant:"outline",onClick:()=>M("resume"),disabled:c?.status!=="paused"||!!D,children:[(0,r.jsx)(C.f,{"aria-hidden":!0}),"Resume"]}),(0,r.jsxs)(A.f,{variant:"outline",onClick:()=>M("stop"),disabled:!c||O||"failed"===c.status,children:[(0,r.jsx)(y.f,{"aria-hidden":!0}),"Stop exploring and write"]})]})}),(0,r.jsxs)("div",{className:"mb-4 flex flex-col gap-3",children:[(0,r.jsx)(T.O,{children:o?.start_error&&(0,r.jsxs)(r.Fragment,{children:["Did not start: ",o.start_error]})}),(0,r.jsx)(T.O,{children:o?.worker_error&&(0,r.jsxs)(r.Fragment,{children:["The worker cannot continue: ",o.worker_error,". Fix it, then resume."]})}),(0,r.jsx)(T.O,{children:N}),g&&(0,r.jsxs)("p",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,r.jsx)(eX.f,{className:"size-4"}),g]})]}),(0,r.jsx)(_.N,{className:"mb-4",children:(0,r.jsxs)(_.O,{className:"flex flex-col gap-4",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[o?(0,r.jsx)(R.f,{run:I,text:(0,eZ.O)(I),"data-testid":"run-state"}):(0,r.jsx)("span",{"data-testid":"run-state",className:"text-sm text-muted-foreground",children:"loading…"}),c?.reason&&(0,r.jsx)("span",{className:"text-sm text-muted-foreground",children:c.reason})]}),c&&(0,r.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,r.jsx)(eK,{icon:f,label:"Spend",text:`$${c.spend_usd.toFixed(2)} of $${c.money_limit_usd}`,value:100*c.spend_usd/c.money_limit_usd}),(0,r.jsx)(eK,{icon:u.f,label:"Time",text:`${c.elapsed_h.toFixed(2)} h of ${c.wall_clock_limit_h} h`,value:100*c.elapsed_h/c.wall_clock_limit_h})]}),H&&c?.status==="failed"&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"This run has ended. Fix the problem above, then start a new run."})]})}),D&&(0,r.jsx)(eG,{cp:D,entries:p,act:M}),O&&(0,r.jsxs)(T.Z,{icon:m,title:"Downloads",description:"The bundle holds the paper, the code, and the full ledger, failures included.",children:[!V&&(0,r.jsx)(T.N,{"data-testid":"no-paper",children:"No paper was built; the reason is shown above."}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[V&&(0,r.jsxs)(A.f,{onClick:()=>e&&(0,eq.F)(e,"paper"),children:[(0,r.jsx)(x.f,{"aria-hidden":!0}),"Paper (PDF)"]}),(0,r.jsxs)(A.f,{variant:"outline",onClick:()=>e&&(0,eq.F)(e,"bundle"),children:[(0,r.jsx)(i,{"aria-hidden":!0}),"Run bundle (.tar.gz)"]})]})]}),(0,r.jsx)(T.Z,{icon:w.f,title:"Hypotheses",children:(0,r.jsxs)(eY.s,{children:[(0,r.jsx)(eY.E,{children:(0,r.jsxs)(eY.N,{children:[(0,r.jsx)(eY.U,{children:"Hypothesis"}),(0,r.jsx)(eY.U,{children:"Stages"}),(0,r.jsx)(eY.U,{children:"Result"})]})}),(0,r.jsxs)(eY.z,{children:[L.map(e=>(0,r.jsxs)(eY.N,{children:[(0,r.jsx)(eY.d,{className:"whitespace-normal",children:e.statement}),(0,r.jsx)(eY.d,{children:(0,r.jsx)("div",{className:"flex flex-wrap gap-1",children:e.stages.map((e,t)=>(0,r.jsxs)(k.f,{variant:"secondary",children:[e.stage,": ",e.outcome]},t))})}),(0,r.jsx)(eY.d,{children:e.final?(0,r.jsx)(eJ,{outcome:e.final.outcome}):(0,r.jsx)("span",{className:"text-muted-foreground",children:"in progress"})})]},e.id)),0===L.length&&(0,r.jsx)(eY.N,{children:(0,r.jsx)(eY.d,{colSpan:3,className:"text-muted-foreground",children:"None yet."})})]})]})}),(0,r.jsx)(T.Z,{icon:d,title:"Ideas that did not hold, and why",children:(0,r.jsxs)("ul",{"data-testid":"failed",className:"flex flex-col gap-2 text-sm",children:[z.map(e=>(0,r.jsxs)("li",{className:"rounded-lg border p-3",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("span",{className:"font-medium",children:e.statement}),(0,r.jsx)(eJ,{outcome:e.final?.outcome??""}),e.final?.reason_code&&(0,r.jsx)(k.f,{variant:"outline",children:e.final.reason_code})]}),e.final?.reason&&(0,r.jsx)("p",{className:"mt-1 text-muted-foreground",children:e.final.reason})]},e.id)),0===z.length&&(0,r.jsx)("li",{className:"text-muted-foreground",children:"None so far."})]})}),(0,r.jsx)(T.Z,{icon:b,title:"Ledger",description:"Every step of the run, newest first. Nothing here can be edited.",children:(0,r.jsx)(eW,{className:"h-[420px] rounded-md border",children:(0,r.jsx)(eY.s,{className:"text-xs",children:(0,r.jsx)(eY.z,{children:[...p].reverse().map(e=>(0,r.jsxs)(eY.N,{children:[(0,r.jsx)(eY.d,{className:"w-10 text-muted-foreground",children:e.seq}),(0,r.jsx)(eY.d,{className:"w-36 text-muted-foreground",children:e.at.replace("T"," ").slice(0,19)}),(0,r.jsx)(eY.d,{children:(0,r.jsx)(k.f,{variant:"secondary",children:(0,eZ.A)(e)})}),(0,r.jsx)(eY.d,{className:"whitespace-normal",children:(0,eZ.t)(e)}),(0,r.jsx)(eY.d,{className:"text-muted-foreground",children:e.actor})]},e.seq))})})})})]})}],59774)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16850,e=>{var t=e.i(21692),a=e.i(92124),n=e.i(9773),i=e.i(47722),s=e.i(59019);let r={name:"code-xml",size:24,node:[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],aliases:["code-2"]};r.node;let l=(0,s.f)(r);var o=e.i(30072),d=e.i(43728);let c={name:"list-ordered",size:24,node:[["path",{d:"M11 5h10",key:"1cz7ny"}],["path",{d:"M11 12h10",key:"1438ji"}],["path",{d:"M11 19h10",key:"11t30w"}],["path",{d:"M4 4h1v5",key:"10yrso"}],["path",{d:"M4 9h2",key:"r1h2o0"}],["path",{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",key:"xtkcd5"}]]};c.node;let h=(0,s.f)(c),p={name:"notebook-pen",size:24,node:[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]]};p.node;let u=(0,s.f)(p);var m=e.i(15200),f=e.i(89946),x=e.i(6611);let v={name:"save",size:24,node:[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]};v.node;let g=(0,s.f)(v);var y=e.i(98803),k=e.i(71068);let j={name:"square-pen",size:24,node:[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],aliases:["pen-box","edit","pen-square"]};j.node;let b=(0,s.f)(j),w={name:"tag",size:24,node:[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]};w.node;let S=(0,s.f)(w);var N=e.i(26907);let $={name:"wand-sparkles",size:24,node:[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]],aliases:["wand-2"]};$.node;let C=(0,s.f)($);var M=e.i(5557),_=e.i(5439),z=e.i(28642),O=e.i(94179),L=e.i(67881),H=e.i(70065),E=e.i(47627),U=e.i(54858),A=e.i(73048);let P=["planner","coder","analyst"],F=["anthropic","openai","openai_compatible"],D="11434",I={provider:"anthropic",model:"",credential:"",where:"url",base_url:"",port:D,machine:"",unencrypted:!1,cost:"",input:"",output:""},T={key:"",input:"",output:""},q="openai_compatible/";function R(e,t){let a=t=>void 0===e[t]?"":String(e[t]),n=t[`${q}${a("model")}`],i="openai_compatible"===a("provider")&&n?n.unmetered?"unmetered":0===n.input&&0===n.output?"free":"priced":"";return{provider:a("provider"),model:a("model"),credential:a("credential"),where:e.local_port?"local":e.machine?"ssh":"url",base_url:a("base_url"),port:a("local_port")||a("remote_port")||D,machine:a("machine"),unencrypted:!0===e.allow_unencrypted,cost:i,input:"priced"===i?String(n?.input??""):"",output:"priced"===i?String(n?.output??""):""}}function Z(e){return Object.keys(e.prices).find(e=>!e.startsWith(q))??""}function V(e){return Array.isArray(e)?`[${e.map(V).join(",")}]`:e&&"object"==typeof e?`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${V(e[t])}`).join(",")}}`:JSON.stringify(e)}let W={planner:{icon:h,text:"Proposes directions and hypotheses, and plans experiments."},coder:{icon:l,text:"Writes and fixes the experiment code."},analyst:{icon:u,text:"Reads results and writes the paper."}};function B({spec:e,text:a}){if(!e)return null;let n=e.local_port?d.f:e.machine?y.f:"openai_compatible"===e.provider?o.f:i.f;return(0,t.jsxs)("span",{className:"flex items-start gap-1.5",children:[(0,t.jsx)(n,{className:"mt-0.5 size-3.5 shrink-0 text-muted-foreground","aria-hidden":!0}),(0,t.jsx)("span",{children:a})]})}e.s(["default",0,function(){let{data:e,error:i,reload:s}=(0,A.Z)("/llm-profiles"),r=(0,A.Z)("/ssh-machines"),l=(0,A.Z)("/executors"),[c,p]=(0,a.useState)(null),[u,v]=(0,a.useState)(""),[j,w]=(0,a.useState)(Object.fromEntries(P.map(e=>[e,{...I}]))),[$,D]=(0,a.useState)(T),[K,Y]=(0,a.useState)(""),[X,J]=(0,a.useState)({}),[G,Q]=(0,a.useState)(""),[ee,et]=(0,a.useState)(!1),[ea,en]=(0,a.useState)("manual"),[ei,es]=(0,a.useState)(""),er=(e,t)=>w(a=>({...a,[e]:{...a[e],...t}}));function el(){et(!1),en("manual"),es(""),ef(""),eb(""),e$(""),p(null),v(""),w(Object.fromEntries(P.map(e=>[e,{...I}]))),D(T)}let eo=P.every(e=>{let t=j[e];return!!t.model&&("openai_compatible"!==t.provider?!!t.credential:("url"!==t.where||!!t.base_url)&&("ssh"!==t.where||!!t.machine)&&""!==t.cost&&("priced"!==t.cost||!!t.input&&!!t.output))}),ed=function(e,t,a){let n={};if(a)for(let[e,t]of Object.entries(a.prices))e.startsWith(q)||e===Z(a)||(n[e]=t);let i=Object.fromEntries(P.map(t=>{let i=e[t],s={provider:i.provider,model:i.model};i.credential&&(s.credential=i.credential),"openai_compatible"===i.provider?("url"===i.where&&(s.base_url=i.base_url,i.unencrypted&&(s.allow_unencrypted=!0)),"local"===i.where&&(s.local_port=Number(i.port)),"ssh"===i.where&&Object.assign(s,{machine:i.machine,remote_port:Number(i.port)}),n[`${q}${i.model}`]="free"===i.cost?{input:0,output:0}:"unmetered"===i.cost?{unmetered:!0}:{input:Number(i.input),output:Number(i.output)}):i.base_url&&(s.base_url=i.base_url);let r=a?.roles[t]?.fallback;return r&&(s.fallback=r),[t,s]}));return t.key&&(n[t.key]={input:Number(t.input),output:Number(t.output)}),{roles:i,prices:n}}(j,$,c),ec=!!c&&(V(ed.roles)!==V(c.roles)||V(ed.prices)!==V(c.prices)),eh=!!c&&u!==c.name,[ep,eu,em,ef]=(0,A.L)(async()=>{await eg(!0)}),[ex,ev]=(0,A.L)(async()=>{await eg(!1)});async function eg(e){ef("");let t=await (0,U.M)("/llm-profiles",{name:u,...ed});if(e){Y("checking the models (the first load can take a minute)…");let{check_id:e}=await (0,U.M)(`/llm-profiles/${t.id}/check`),a=await (0,U.h)(`/llm-profiles/${t.id}/check/${e}`,600);if(!a.ok){await (0,U.k)("DELETE",`/llm-profiles/${t.id}`),Y(""),ef(`not added: ${a.problems.join("; ")}`),await s();return}}el(),Y(e?`ok: "${t.name}" added and checked`:`ok: "${t.name}" added, not checked. Check it before starting a run.`),await s()}let[ey,ek,ej,eb]=(0,A.L)(async()=>{c&&await eC(!0)}),[ew,eS,eN,e$]=(0,A.L)(async()=>{c&&await eC(!1)});async function eC(e){let t={};eh&&(t.name=u),ec&&Object.assign(t,ed,{version:c.version,check:e});let a=await (0,U.k)("PATCH",`/llm-profiles/${c.id}`,t),n=c.literature&&ec?" The Literature service keeps its old model until it next starts: press Save and check on the Services page.":"";if(a.check_id){Y("checking the new models (the first load can take a minute)…");let e=await (0,U.h)(`/llm-profiles/${c.id}/check/${a.check_id}`,600);if(!e.ok){Y(""),eb(`not saved: ${e.problems.join("; ")}`),await s();return}Y(`ok: "${a.name}" saved and checked.${n}`)}else ec?Y(`ok: "${a.name}" saved, not checked. Check it before starting a run.${n}`):Y(`ok: renamed to "${a.name}"`);el(),await s()}async function eM(e){Q(""),J(t=>({...t,[e.id]:"checking…"}));try{let{check_id:t}=await (0,U.M)(`/llm-profiles/${e.id}/check`),a=await (0,U.h)(`/llm-profiles/${e.id}/check/${t}`,600);J(t=>({...t,[e.id]:a.ok?"ok":`problems: ${a.problems.join("; ")}`}))}catch(t){J(t=>({...t,[e.id]:""})),Q(t instanceof Error?t.message:String(t))}await s()}async function e_(e){Q("");try{await (0,U.k)("DELETE",`/llm-profiles/${e.id}`),c?.id===e.id&&el(),await s()}catch(e){Q(e instanceof Error?e.message:String(e))}}let ez=Object.fromEntries((r.data??[]).map(e=>[e.id,e.name])),eO=eu||ev||ek||eS,eL=c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(L.f,{variant:"ghost",onClick:el,disabled:eO,children:[(0,t.jsx)(M.X,{"aria-hidden":!0}),"Cancel"]}),ec&&(0,t.jsxs)(L.f,{variant:"outline",onClick:ew,disabled:eO||!u||!eo,children:[(0,t.jsx)(g,{"aria-hidden":!0}),"Save without checking"]}),(0,t.jsx)(L.f,{onClick:ey,disabled:eO||!u||!eo||!ec&&!eh,children:ec?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(k.f,{"aria-hidden":!0}),"Save and check"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{"aria-hidden":!0}),"Save"]})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(L.f,{variant:"ghost",onClick:el,disabled:eO,children:[(0,t.jsx)(M.X,{"aria-hidden":!0}),"Cancel"]}),(0,t.jsxs)(L.f,{variant:"outline",onClick:ex,disabled:eO||!u||!eo,children:[(0,t.jsx)(f.f,{"aria-hidden":!0}),"Add without checking"]}),(0,t.jsxs)(L.f,{onClick:ep,disabled:eO||!u||!eo,children:[(0,t.jsx)(k.f,{"aria-hidden":!0}),"Add and check"]})]});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(_.K,{icon:n.f,title:"LLM profiles",description:"Which model plans, codes and analyses. A run uses one profile, and it must be checked.",children:(0,t.jsxs)(L.f,{onClick:function(){el(),Y(""),et(!0)},children:[(0,t.jsx)(f.f,{"aria-hidden":!0}),"Add a profile"]})}),(0,t.jsxs)(_.Z,{icon:h,title:"Profiles",children:[(0,t.jsx)(_.O,{children:i}),(0,t.jsxs)(E.s,{children:[(0,t.jsx)(E.E,{children:(0,t.jsxs)(E.N,{children:[(0,t.jsx)(E.U,{children:"Name"}),P.map(e=>(0,t.jsx)(E.U,{children:e},e)),(0,t.jsx)(E.U,{children:"Check"}),(0,t.jsx)(E.U,{})]})}),(0,t.jsxs)(E.z,{children:[(e??[]).map(e=>(0,t.jsxs)(E.N,{"data-testid":`profile-${e.name}`,children:[(0,t.jsx)(E.d,{className:"font-medium",children:e.name}),P.map(a=>(0,t.jsx)(E.d,{className:"whitespace-normal",children:(0,t.jsx)(B,{spec:e.roles[a],text:function(e,t){if(!e)return"";let a=e.local_port?` on this computer :${String(e.local_port)}`:e.machine?` on ${t[String(e.machine)]??"an SSH machine"} :${String(e.remote_port)}`:e.base_url?` at ${String(e.base_url)}`:"";return`${String(e.provider)} / ${String(e.model)}${a}`}(e.roles[a],ez)})},a)),(0,t.jsxs)(E.d,{className:"whitespace-normal",children:[e.checked?(0,t.jsxs)(O.f,{variant:"secondary",children:[(0,t.jsx)(k.f,{"aria-hidden":!0}),"checked"]}):(0,t.jsx)(O.f,{variant:"destructive",children:"unchecked"}),X[e.id]&&(0,t.jsx)("div",{className:"mt-1",children:(0,t.jsx)(_._,{text:X[e.id],"data-testid":`profile-check-${e.name}`})})]}),(0,t.jsx)(E.d,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsxs)(L.f,{variant:"outline",size:"sm",onClick:()=>eM(e),disabled:"checking…"===X[e.id],children:[(0,t.jsx)(x.f,{"aria-hidden":!0}),"Check"]}),(0,t.jsxs)(L.f,{variant:"outline",size:"sm",onClick:()=>{let t,a;return t=e.prices,a=Z(e),void(p(e),v(e.name),w(Object.fromEntries(P.map(a=>[a,R(e.roles[a]??{},t)]))),D(a?{key:a,input:String(t[a]?.input??""),output:String(t[a]?.output??"")}:T),Y(""),et(!0))},children:[(0,t.jsx)(m.f,{"aria-hidden":!0}),"Edit"]}),(0,t.jsxs)(L.f,{variant:"ghost",size:"sm",onClick:()=>e_(e),children:[(0,t.jsx)(N.f,{"aria-hidden":!0}),"Delete"]})]})})]},e.id)),e?.length===0&&(0,t.jsx)(E.N,{children:(0,t.jsx)(E.d,{colSpan:6,className:"text-muted-foreground",children:"None yet."})})]})]}),(0,t.jsx)(_.O,{children:G}),!ee&&K&&(0,t.jsx)(_._,{text:K,"data-testid":"profile-outcome"})]}),(0,t.jsxs)(_.Y,{open:ee,onOpenChange:e=>e?et(!0):el(),icon:c?m.f:f.f,busy:eO,testId:"profile-dialog",title:c?`Edit profile "${c.name}"`:"Add a profile",footer:eL,children:[c&&(0,t.jsxs)(_.N,{children:["A new name applies at once. New models or prices are checked first and saved only if the check passes; runs already started keep the models they began with.",c.literature&&" The Literature service generates with this profile: it keeps its old model until it next starts."]}),!c&&(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"How do you want to start?"}),(0,t.jsx)(_.z,{name:"pstart",value:ea,onChange:e=>en(e),columns:4,choices:[{value:"this-computer",title:"Find a model on this computer",icon:d.f,description:"Ollama, LM Studio, vLLM, llama.cpp"},{value:"machine",title:"Find one on an SSH machine",icon:y.f,description:"Through an SSH tunnel"},{value:"url",title:"Find one at a web address",icon:o.f,description:"A server your lab or a provider runs"},{value:"manual",title:"Fill it in by hand",icon:b,description:"Hosted providers, or any setting"}]})]}),!c&&"manual"!==ea&&(0,t.jsx)("div",{className:"flex flex-col gap-4 rounded-lg border p-4","data-testid":"profile-search",children:(0,t.jsx)(z.f,{where:ea,useLabel:"Fill in the form",useIcon:C,onUse:function(e){let t=R(e.role,{[`${q}${e.model}`]:e.price});w(Object.fromEntries(P.map(e=>[e,{...t}]))),u||v(e.model),es(e.model),en("manual")}},ea)}),ei&&"manual"===ea&&(0,t.jsxs)(_.N,{tone:"ok","data-testid":"profile-filled",children:["Filled in from the search: ",ei," for every role. Review it, then add it."]}),(0,t.jsx)(_.C,{id:"pname",label:"Name",type:"text",className:"max-w-xs",value:u,onChange:e=>v(e.target.value)}),P.map(e=>{let a=j[e],n=W[e].icon;return(0,t.jsxs)(H.N,{"data-testid":`role-${e}`,size:"sm",className:"bg-muted/30",children:[(0,t.jsxs)(H.Y,{children:[(0,t.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-semibold capitalize",children:[(0,t.jsx)(n,{className:"size-4 text-muted-foreground","aria-hidden":!0}),e]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:W[e].text})]}),(0,t.jsxs)(H.O,{className:"flex flex-col gap-4",children:[(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,t.jsx)(_.P,{id:`${e}-provider`,label:"Provider",children:(0,t.jsx)(_.S,{id:`${e}-provider`,value:a.provider,onChange:t=>er(e,{provider:t}),options:F.map(e=>({value:e,label:e}))})}),(0,t.jsx)(_.C,{id:`${e}-model`,label:"Model",type:"text",value:a.model,onChange:t=>er(e,{model:t.target.value})}),(0,t.jsx)(_.C,{id:`${e}-credential`,type:"text",value:a.credential,label:`Key credential${"openai_compatible"===a.provider?" (optional)":""}`,onChange:t=>er(e,{credential:t.target.value})})]}),"openai_compatible"!==a.provider&&(0,t.jsx)(_.C,{id:`${e}-base`,label:"Base URL (optional)",type:"text",value:a.base_url,onChange:t=>er(e,{base_url:t.target.value})}),"openai_compatible"===a.provider&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(_.P,{id:`${e}-where`,label:"Where does the model run?",className:"max-w-xs",children:(0,t.jsx)(_.S,{id:`${e}-where`,value:a.where,onChange:t=>er(e,{where:t}),options:[{value:"url",label:"At a URL"},{value:"local",label:"On this computer"},{value:"ssh",label:"On one of my SSH machines"}]})}),"url"===a.where&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(_.C,{id:`${e}-base`,label:"Base URL",type:"text",value:a.base_url,placeholder:"https://models.example.org/v1",onChange:t=>er(e,{base_url:t.target.value})}),a.base_url.startsWith("http://")&&(0,t.jsx)(_.d,{id:`${e}-unencrypted`,checked:a.unencrypted,onChange:t=>er(e,{unencrypted:t}),title:"Send prompts and code to this address unencrypted",children:"Plain http crosses the network unencrypted. Prefer https, or an SSH machine. Not needed for an address on your own network."})]}),"ssh"===a.where&&(0,t.jsxs)(_.P,{id:`${e}-machine`,label:"SSH machine",description:"puremethod reaches the model through an SSH tunnel, so its server can stay bound to that machine's localhost.",children:[(0,t.jsx)(_.S,{id:`${e}-machine`,value:a.machine,onChange:t=>{let n;return er(e,{machine:t,cost:a.cost||((n=(l.data??[]).find(e=>e.config.machine===t))?0===n.config.rate_usd_per_hour?"free":"unmetered":"")})},options:(r.data??[]).map(e=>({value:e.id,label:`${e.name} (${e.config.user}@${e.config.host})`}))}),(r.data?.length??0)===0&&(0,t.jsx)(_.N,{tone:"warn",children:"Add the machine on the Executors page first."})]}),"url"!==a.where&&(0,t.jsx)(_.C,{id:`${e}-port`,label:"Model server port",type:"number",min:1,max:65535,className:"max-w-xs",value:a.port,description:"Ollama 11434, LM Studio 1234, vLLM 8000, llama.cpp 8080.",onChange:t=>er(e,{port:t.target.value})}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:"Does this model cost you money?"}),(0,t.jsx)(_.z,{name:`${e}-cost`,value:a.cost,columns:3,onChange:t=>er(e,{cost:t}),choices:[{value:"free",title:"No, it is free to me"},{value:"priced",title:"Yes, per token"},{value:"unmetered",title:"Its machine is billed by the hour, or I don't know",description:"Its calls are then not counted against a run's money limit, and each run asks you to accept that."}]}),"priced"===a.cost&&(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,t.jsx)(_.C,{id:`${e}-in`,label:"Input, USD per million tokens",unit:"USD",type:"number",min:0,step:"0.01",value:a.input,onChange:t=>er(e,{input:t.target.value})}),(0,t.jsx)(_.C,{id:`${e}-out`,label:"Output, USD per million tokens",unit:"USD",type:"number",min:0,step:"0.01",value:a.output,onChange:t=>er(e,{output:t.target.value})})]})]})]})]})]},e)}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 rounded-lg border p-4",children:[(0,t.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-semibold",children:[(0,t.jsx)(S,{className:"size-4 text-muted-foreground","aria-hidden":!0}),"Price override (optional)"]}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["USD per million tokens, for a hosted model the built-in table does not price. Key: ",(0,t.jsx)("code",{children:"provider/model"}),"."]}),(0,t.jsxs)("div",{className:"grid gap-4 sm:grid-cols-3",children:[(0,t.jsx)(_.C,{id:"pkey",label:"Model key",type:"text",value:$.key,onChange:e=>D({...$,key:e.target.value})}),(0,t.jsx)(_.C,{id:"pin",label:"Input",unit:"USD",type:"number",min:0,step:"0.01",value:$.input,onChange:e=>D({...$,input:e.target.value})}),(0,t.jsx)(_.C,{id:"pout",label:"Output",unit:"USD",type:"number",min:0,step:"0.01",value:$.output,onChange:e=>D({...$,output:e.target.value})})]})]}),c&&ec&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Save without checking when the model server is down: the profile is then unchecked, and no run can use it until a check passes."}),ek&&K&&(0,t.jsx)(_._,{text:K}),(0,t.jsx)(_.O,{children:em||ej||eN})]})]})}],16850)},47627,e=>{var t=e.i(21692),a=e.i(84271);e.s(["s",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,a.f)("w-full caption-bottom text-sm",e),...n})})},"z",0,function({className:e,...n}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,a.f)("[&_tr:last-child]:border-0",e),...n})},"d",0,function({className:e,...n}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,a.f)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...n})},"U",0,function({className:e,...n}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,a.f)("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e),...n})},"E",0,function({className:e,...n}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,a.f)("[&_tr]:border-b",e),...n})},"N",0,function({className:e,...n}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,a.f)("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",e),...n})}])},73048,e=>{var t=e.i(92124),a=e.i(54858);e.s(["L",0,function(e){let[a,n]=(0,t.useState)(!1),[i,s]=(0,t.useState)("");return[async()=>{n(!0),s("");try{await e()}catch(e){s(e instanceof Error?e.message:String(e))}finally{n(!1)}},a,i,s]},"Z",0,function(e){let[n,i]=(0,t.useState)(null),[s,r]=(0,t.useState)(""),l=(0,t.useCallback)(async()=>{if(e)try{i(await (0,a.g)(e)),r("")}catch(e){r(e instanceof Error?e.message:String(e))}},[e]);return(0,t.useEffect)(()=>{l()},[l]),{data:n,error:s,reload:l}}])},47722,43728,28642,e=>{var t=e.i(59019);let a={name:"cloud",size:24,node:[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],47722);let i={name:"laptop",size:24,node:[["path",{d:"M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z",key:"1pdavp"}],["path",{d:"M20.054 15.987H3.946",key:"14rxg9"}]]};i.node;let s=(0,t.f)(i);e.s(["f",0,s],43728);var r=e.i(21692),l=e.i(92124),o=e.i(6145),d=e.i(9563),c=e.i(98803),h=e.i(5439),p=e.i(94179),u=e.i(67881),m=e.i(50216),f=e.i(54858),x=e.i(73048);async function v(e){let{search_id:t}=await (0,f.M)("/llm-servers/search",e);for(let e=0;e<300;e++){let e=await (0,f.g)(`/llm-servers/search/${t}`);if(e.report)return e.report;await new Promise(e=>setTimeout(e,1e3))}throw Error("no answer from a worker yet")}let g=e=>`${new URL(e.includes("://")?e:`https://${e}`).hostname}-key`;e.s(["f",0,function({where:e,useLabel:t,useIcon:a,onUse:i,outcome:s}){let y=(0,x.Z)("/ssh-machines"),k=(0,x.Z)("/executors"),[j,b]=(0,l.useState)(""),[w,S]=(0,l.useState)(""),[N,$]=(0,l.useState)(""),[C,M]=(0,l.useState)(""),[_,z]=(0,l.useState)(null),[O,L]=(0,l.useState)(""),[H,E]=(0,l.useState)(""),[U,A]=(0,l.useState)(""),[P,F]=(0,l.useState)(""),[D,I]=(0,l.useState)(!1),[T,q,R]=(0,x.L)(async()=>{z(null),L("");let t={kind:e},a=N.split(/[ ,]+/).filter(Boolean).map(Number);a.length&&(t.ports=a),"machine"===e&&(t.machine=j),"url"===e&&(t.url=w,C&&(await (0,f.k)("POST","/credentials",{name:g(w),type:"llm-key",value:C}).catch(()=>void 0),t.credential=g(w))),z(await v(t))}),[Z,V]=O?[Number(O.split("|")[0]),O.slice(O.indexOf("|")+1)]:[-1,""],W=_?.servers[Z],B=W?.models.find(e=>e.id===V),K="machine"===e&&(k.data??[]).some(e=>e.config.machine===j&&0===e.config.rate_usd_per_hour),[Y,X,J]=(0,x.L)(async()=>{var t,a;let n,s;if(!W||!B)return;let r="free"===H?{input:0,output:0}:"unmetered"===H?{unmetered:!0}:{input:Number(U),output:Number(P)};await i({model:B.id,price:r,role:(t=B.id,a="url"===e&&C?g(w):"",n=W.endpoint,s={provider:"openai_compatible",model:t},a&&(s.credential=a),"local"===n.type&&(s.local_port=n.port),"via_ssh"===n.type&&Object.assign(s,{machine:n.machine,remote_port:n.remote_port}),"base_url"===n.type&&(s.base_url=n.base_url,W.encrypted||(s.allow_unencrypted=!0)),s)})}),G=!!W&&!W.encrypted;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:["machine"===e&&(0,r.jsx)(h.P,{id:"msmachine",label:"SSH machine",description:(y.data?.length??0)===0&&"Add the machine as an executor first (setup step 3 or the Executors page).",children:(0,r.jsx)(h.S,{id:"msmachine",value:j,onChange:b,options:(y.data??[]).map(e=>({value:e.id,label:`${e.name} (${e.config.user}@${e.config.host})`}))})}),"url"===e&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(h.C,{id:"msurl",label:"Address",type:"text",value:w,placeholder:"models.example.org",onChange:e=>S(e.target.value)}),(0,r.jsx)(h.C,{id:"mskey",label:"API key (if the server asks for one)",type:"password",autoComplete:"off",value:C,onChange:e=>M(e.target.value)})]}),"url"!==e&&(0,r.jsx)(h.C,{id:"msports",label:"Other ports to try (optional)",type:"text",value:N,placeholder:"e.g. 9000",onChange:e=>$(e.target.value)})]}),(0,r.jsx)("div",{children:(0,r.jsxs)(u.f,{variant:"outline",onClick:T,disabled:q||"machine"===e&&!j||"url"===e&&!w,children:[q?(0,r.jsx)(m.f,{}):(0,r.jsx)(d.f,{"aria-hidden":!0}),q?"Looking…":"Find models"]})}),(0,r.jsx)(h.O,{children:R}),_&&(0,r.jsxs)("div",{"data-testid":"found-models",className:"flex flex-col gap-3",children:[_.problems.map(e=>(0,r.jsx)(h.O,{children:e},e)),0===_.servers.length&&(0,r.jsx)(h.N,{children:"No model server found. Is it running? Ollama listens on 11434, LM Studio on 1234, vLLM on 8000."}),_.servers.map((e,t)=>{var a,i;return(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsxs)("p",{className:"flex flex-wrap items-center gap-2 text-sm",children:[(0,r.jsx)(c.f,{className:"size-4 text-muted-foreground","aria-hidden":!0}),(0,r.jsx)("span",{className:"font-medium",children:e.kind??"A model server"}),e.provider&&(0,r.jsx)(p.f,{variant:"secondary",children:e.provider}),(0,r.jsxs)("span",{className:"text-muted-foreground",children:["at ",(a=e.endpoint,i=y.data??[],"local"===a.type?`this computer, port ${String(a.port)}`:"via_ssh"===a.type?`${i.find(e=>e.id===a.machine)?.name??"SSH machine"}, port ${String(a.remote_port)} (through SSH)`:String(a.base_url))]})]}),e.needs_key&&(0,r.jsx)(h.N,{tone:"warn",children:"It asks for an API key: enter it above and search again."}),(0,r.jsx)(h.z,{name:`mpick-${t}`,value:O,columns:2,onChange:a=>{L(a);let n=e.models.find(e=>`${t}|${e.id}`===a);E(K&&n?.local?"free":"")},choices:e.models.map(e=>({value:`${t}|${e.id}`,title:e.id,icon:e.local?o.f:n,description:(0,r.jsxs)(r.Fragment,{children:[e.context_length?`context ${e.context_length.toLocaleString()} tokens`:"context unknown",!e.local&&(0,r.jsx)("span",{className:"block text-warning",children:"not local: the server forwards it to a hosted service"})]})}))})]},t)})]}),B&&(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,r.jsxs)("span",{className:"text-sm font-medium",children:["Does ",B.id," cost you money?"]}),(0,r.jsx)(h.z,{name:"mcost",value:H,onChange:E,columns:3,choices:[...B.local?[{value:"free",title:"No, it is free to me"}]:[],{value:"priced",title:"Yes, per token"},{value:"unmetered",title:"Its machine is billed by the hour, or I don't know"}]}),"priced"===H&&(0,r.jsxs)("div",{className:"grid gap-4 sm:grid-cols-2",children:[(0,r.jsx)(h.C,{id:"mfin",label:"Input, USD per million tokens",unit:"USD",type:"number",min:"0",step:"any",value:U,onChange:e=>A(e.target.value)}),(0,r.jsx)(h.C,{id:"mfout",label:"Output, USD per million tokens",unit:"USD",type:"number",min:"0",step:"any",value:P,onChange:e=>F(e.target.value)})]})]}),G&&(0,r.jsx)(h.d,{id:"munencrypted",checked:D,onChange:I,title:"Send prompts and code to this address unencrypted",children:"It uses plain http across the internet. Prefer https, or reach it through an SSH machine."}),B&&(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,r.jsxs)(u.f,{onClick:Y,disabled:X||!H||"priced"===H&&(!U||!P)||G&&!D,children:[(0,r.jsx)(a,{"aria-hidden":!0}),t]}),s]}),(0,r.jsx)(h.O,{children:J})]})}],28642)},6145,e=>{var t=e.i(59019);let a={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],6145)},30072,e=>{var t=e.i(59019);let a={name:"globe",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],30072)},15200,e=>{var t=e.i(59019);let a={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],15200)},6611,e=>{var t=e.i(59019);let a={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],6611)},71068,e=>{var t=e.i(59019);let a={name:"shield-check",size:24,node:[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],71068)},26907,e=>{var t=e.i(59019);let a={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"]};a.node;let n=(0,t.f)(a);e.s(["f",0,n],26907)},5557,e=>{var t=e.i(88066);e.s(["X",()=>t.f])}])})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30692,e=>{"use strict";var t=e.i(21692),s=e.i(92124),a=e.i(59019);let n={name:"log-in",size:24,node:[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]};n.node;let i=(0,a.f)(n),l={name:"terminal",size:24,node:[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]};l.node;let o=(0,a.f)(l);var r=e.i(5439),c=e.i(67881),d=e.i(70065),h=e.i(86530),u=e.i(23750),m=e.i(50216),p=e.i(54858);async function f(){let e=await (0,p.g)("/setup");window.location.assign(e.complete?"/":"/setup/")}e.s(["default",0,function(){let[e,a]=(0,s.useState)(""),[n,l]=(0,s.useState)(""),[x,g]=(0,s.useState)(!1),[j,w]=(0,s.useState)(!1),k=(0,s.useRef)(!1);async function y(t){t.preventDefault(),l("");try{await (0,p.k)("POST","/auth/session",{token:e}),await f()}catch(e){l(e instanceof p.a&&401===e.status?"That token is not valid.":String(e))}}return((0,s.useEffect)(()=>{if(k.current)return;k.current=!0;let e=new URLSearchParams(window.location.hash.slice(1)).get("code");e?(w(!0),window.history.replaceState(null,"",window.location.pathname),g(!0),(0,p.k)("POST","/auth/session",{code:e}).then(f).catch(e=>{g(!1),l(e instanceof p.a&&401===e.status?"That sign-in link has expired or was already used. Run `puremethod open` for a new one.":String(e))})):fetch(`${p.t}/setup`,{credentials:"same-origin"}).then(e=>{e.ok?window.location.replace("/"):w(!0)}).catch(()=>w(!0))},[]),j)?(0,t.jsxs)(d.N,{children:[(0,t.jsxs)(d.Y,{children:[(0,t.jsxs)("h1",{className:"flex items-center gap-2 text-xl font-semibold",children:[(0,t.jsx)(i,{className:"size-5","aria-hidden":!0}),"Sign in"]}),(0,t.jsxs)(d.u,{children:["Run ",(0,t.jsx)("code",{className:"rounded bg-muted px-1",children:"puremethod open"})," in a terminal to get a sign-in link. Or paste an API token:"]})]}),(0,t.jsxs)(d.O,{className:"flex flex-col gap-4",children:[x&&(0,t.jsxs)("p",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(m.f,{className:"size-4"}),"Signing in…"]}),(0,t.jsxs)("form",{onSubmit:y,className:"flex flex-col gap-4",children:[(0,t.jsxs)(h.N,{children:[(0,t.jsx)(h.u,{htmlFor:"token",children:"API token"}),(0,t.jsx)(u.f,{id:"token",type:"password",autoComplete:"off",value:e,onChange:e=>a(e.target.value)}),(0,t.jsxs)(h.H,{className:"flex items-center gap-1.5",children:[(0,t.jsx)(o,{className:"size-3.5","aria-hidden":!0}),(0,t.jsx)("code",{children:"puremethod token rotate"})," prints a new one."]})]}),(0,t.jsx)(c.f,{type:"submit",className:"self-start",disabled:!e,children:"Sign in"})]}),(0,t.jsx)(r.O,{children:n})]})]}):null}],30692)}]);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,87336,e=>{var t=e.i(21692),r=e.i(84271),n=e.i(92124),o=e.i(14599),a=e.i(3355),l=Object.defineProperty,i=(e,t)=>l(e,"name",{value:t,configurable:!0}),u="Progress",[s,c]=(0,o.f)(u),[f,d]=s(u),p=n.forwardRef(i(function(e,r){let{__scopeProgress:n,value:o=null,max:l,getValueLabel:i=y,...u}=e;(l||0===l)&&!v(l)&&console.error(b(`${l}`,"Progress"));let s=v(l)?l:100;null===o||x(o,s)||console.error(k(`${o}`,"Progress"));let c=x(o,s)?o:null,d=g(c)?i(c,s):void 0;return(0,t.jsx)(f,{scope:n,value:c,max:s,children:(0,t.jsx)(a.V.div,{"aria-valuemax":s,"aria-valuemin":0,"aria-valuenow":g(c)?c:void 0,"aria-valuetext":d,role:"progressbar","data-state":m(c,s),"data-value":c??void 0,"data-max":s,...u,ref:r})})},"Progress")),h=n.forwardRef(i(function(e,r){let{__scopeProgress:n,...o}=e,l=d("ProgressIndicator",n);return(0,t.jsx)(a.V.div,{"data-state":m(l.value,l.max),"data-value":l.value??void 0,"data-max":l.max,...o,ref:r})},"ProgressIndicator"));function y(e,t){return`${Math.round(e/t*100)}%`}function m(e,t){return null==e?"indeterminate":e===t?"complete":"loading"}function g(e){return"number"==typeof e}function v(e){return g(e)&&!isNaN(e)&&e>0}function x(e,t){return g(e)&&!isNaN(e)&&e<=t&&e>=0}function b(e,t){return`Invalid prop \`max\` of value \`${e}\` supplied to \`${t}\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`}function k(e,t){return`Invalid prop \`value\` of value \`${e}\` supplied to \`${t}\`. The \`value\` prop must be:
|
|
2
|
+
- a positive number
|
|
3
|
+
- less than the value passed to \`max\` (or 100 if no \`max\` prop is set)
|
|
4
|
+
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
+
|
|
6
|
+
Defaulting to \`null\`.`}i(y,"defaultGetValueLabel"),i(m,"getProgressState"),i(g,"isNumber"),i(v,"isValidMaxNumber"),i(x,"isValidValueNumber"),i(b,"getInvalidMaxError"),i(k,"getInvalidValueError"),e.s(["Indicator",0,h,"Root",0,p],87449);var P=e.i(87449),P=P,M=P;e.s(["f",0,function({className:e,value:n,...o}){return(0,t.jsx)(P.Root,{"data-slot":"progress",className:(0,r.f)("relative flex h-1 w-full items-center overflow-x-hidden rounded-full bg-muted",e),...o,children:(0,t.jsx)(M.Indicator,{"data-slot":"progress-indicator",className:"size-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(n||0)}%)`}})})}],87336)},9773,e=>{var t=e.i(59019);let r={name:"brain-circuit",size:24,node:[["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 012 2v1",key:"6s3bw4"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M12 9a4.17 4.17 0 01-3 4",key:"13l7kh"}],["path",{d:"M16 8V5a2 2 0 012-2",key:"gais5y"}],["path",{d:"M6 18a4 4 0 01-2-7.465",key:"1y2m15"}],["path",{d:"M6.004 5.125a4 4 0 00-2.526 5.77",key:"3cw1ss"}],["path",{d:"M6.294 6.294A3 3 0 1112 5v13a4 4 0 11-7.967-.518",key:"m2z1wm"}],["circle",{cx:"16",cy:"13",r:"0.5",fill:"currentColor",key:"9zzywh"}],["circle",{cx:"18",cy:"3",r:"0.5",fill:"currentColor",key:"i2xui6"}],["circle",{cx:"20",cy:"21",r:"0.5",fill:"currentColor",key:"1dobdp"}],["circle",{cx:"20",cy:"8",r:"0.5",fill:"currentColor",key:"r9nqlq"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],9773)},62867,e=>{var t=e.i(59019);let r={name:"flask-conical",size:24,node:[["path",{d:"M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2",key:"18mbvz"}],["path",{d:"M6.453 15h11.094",key:"3shlmq"}],["path",{d:"M8.5 2h7",key:"csnxdl"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],62867)},88276,e=>{var t=e.i(59019);let r={name:"key-round",size:24,node:[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],88276)},63847,e=>{var t=e.i(59019);let r={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],63847)},41240,e=>{var t=e.i(59019);let r={name:"plug",size:24,node:[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],41240)},89946,e=>{var t=e.i(59019);let r={name:"plus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],89946)},9563,21078,e=>{var t=e.i(59019);let r={name:"search",size:24,node:[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],21078),e.s(["f",0,n],9563)},98803,e=>{var t=e.i(59019);let r={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]};r.node;let n=(0,t.f)(r);e.s(["f",0,n],98803)},74692,(e,t,r)=>{e.i(37302),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return x}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(56421),l=e.r(21692),i=a._(e.r(92124)),u=e.r(67340),s=e.r(28762),c=e.r(1805),f=e.r(72496),d=e.r(1001),p=e.r(1872),h=e.r(69984),y=e.r(89587),m=e.r(56090);function g(t){var r;let n,o,a,[g,x]=(0,i.useOptimistic)(h.IDLE_LINK_STATUS),b=(0,i.useRef)(null),{href:k,as:P,children:M,prefetch:j=null,passHref:w,replace:C,shallow:E,scroll:S,onClick:N,onMouseEnter:O,onTouchStart:_,legacyBehavior:T=!1,onNavigate:$,transitionTypes:z,ref:I,unstable_dynamicOnHover:R,...L}=t;n=M,T&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let A=i.default.useContext(s.AppRouterContext),U=!1!==j,V=!1===j?"none":!0===j?"full":"auto",B="none"!==V?"auto"===V?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,F="string"==typeof(r=P||k)?r:(0,u.formatUrl)(r);if(T){if(n?.$$typeof===Symbol.for("react.lazy"))throw Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag.");o=i.default.Children.only(n)}let D=T?o&&"object"==typeof o&&o.ref:I,q,K=i.default.useCallback(e=>(null!==A&&(b.current=(0,h.mountLinkInstance)(e,F,A,B,U,x,q)),()=>{b.current&&((0,h.unmountLinkForCurrentNavigation)(b.current),b.current=null),(0,h.unmountPrefetchableInstance)(e)}),[U,F,A,B,x,q]),W={ref:(0,c.useMergedRef)(K,D),onClick(t){T||"function"!=typeof N||N(t),T&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!A||t.defaultPrevented||function(t,r,n,o,a,l,i,u="none"){if("u">typeof window){let s,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((s=t.currentTarget.getAttribute("target"))&&"_self"!==s||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,y.isLocalURL)(r)){o&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{navigate:f}=e.r(18300);f(r,o?"replace":"push",!1===a?p.ScrollBehavior.NoScroll:p.ScrollBehavior.Default,n.current,i,u)}}(t,F,b,C,S,$,z,V)},onMouseEnter(e){T||"function"!=typeof O||O(e),T&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),A&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===R)},onTouchStart:function(e){T||"function"!=typeof _||_(e),T&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),A&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===R)}};return(0,f.isAbsoluteUrl)(F)?W.href=F:T&&!w&&("a"!==o.type||"href"in o.props)||(W.href=(0,d.addBasePath)(F)),a=T?i.default.cloneElement(o,W):(0,l.jsx)("a",{...L,...W,children:n}),(0,l.jsx)(v.Provider,{value:g,children:a})}let v=(0,i.createContext)(h.IDLE_LINK_STATUS),x=()=>(0,i.useContext)(v);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},1805,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(92124);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},67340,(e,t,r)=>{e.i(37302),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return i},formatWithValidation:function(){return s},urlObjectKeys:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(56421)._(e.r(21176)),l=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",i=e.hash||"",u=e.query||"",s=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?s=t+e.host:r&&(s=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(s+=":"+e.port)),u&&"object"==typeof u&&(u=String(a.urlQueryToSearchParams(u)));let c=e.search||u&&`?${u}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==s?(s="//"+(s||""),o&&"/"!==o[0]&&(o="/"+o)):s||(s=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${s}${o}${c}${i}`}let u=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return i(e)}},89587,(e,t,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(72496),o=e.r(91229);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},72496,(e,t,r)=>{e.i(37302),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return k},MissingStaticPage:function(){return b},NormalizeError:function(){return v},PageNotFoundError:function(){return x},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return l},getDisplayName:function(){return f},getLocationOrigin:function(){return s},getURL:function(){return c},isAbsoluteUrl:function(){return u},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return P}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let i=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,u=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&i.test(e)};function s(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=s();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`);return n}let y="u">typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class v extends Error{}class x extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class b extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class k extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}}])})();
|