@openchambery/web 2.0.5-beta.3 → 2.0.5

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.
Files changed (54) hide show
  1. package/dist/assets/{AssistantView-BeQjlQi5.js → AssistantView-kXN4mz6j.js} +3 -3
  2. package/dist/assets/{DiagramView-BPFVXhly.js → DiagramView-CGLAl3iS.js} +1 -1
  3. package/dist/assets/MarkdownRenderer-DA08bZsM.js +2 -0
  4. package/dist/assets/{MarkdownRendererImpl-DCim2MBS.js → MarkdownRendererImpl-qaVTVCHe.js} +1 -1
  5. package/dist/assets/{MarkstreamRendererImpl-DLI17gOM.js → MarkstreamRendererImpl-CQdVI8Vx.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-C9097prS.js → MobileDetailNavigation-xaAVkxD-.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-BVRtivg8.js → MobileShareBridge-z2TFroKY.js} +1 -1
  8. package/dist/assets/MobileTabPageHeader-DPlvhJFe.js +2 -0
  9. package/dist/assets/{MultiRunWindow-VdUAIkKj.js → MultiRunWindow-vJc2NLzu.js} +1 -1
  10. package/dist/assets/{SettingsView-BcQCG9q0.js → SettingsView-BG7DgHmP.js} +6 -6
  11. package/dist/assets/{SettingsWindow-BSap8D3j.js → SettingsWindow-3QrhPfuk.js} +1 -1
  12. package/dist/assets/{TerminalView-CQEmfuGt.js → TerminalView-Ciw0BIiz.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-3cIIsSBA.js → ToolOutputDialog-D_23USz-.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-Dl2OjM9t.js → appThemeRegistry-lhAKuFFB.js} +1 -1
  15. package/dist/assets/{fileMentionTouchSelection-BJOHH2CX.js → fileMentionTouchSelection-DPSC4Fx2.js} +1 -1
  16. package/dist/assets/{gitApi-C-zOJTEi.js → gitApi-DeWWyR94.js} +3 -3
  17. package/dist/assets/insertionBoundaries-aV1Cm6zA.js +1 -0
  18. package/dist/assets/{main-ctL2Nr48.js → main-0XIuL0dd.js} +11 -11
  19. package/dist/assets/{main-Fbjmo73O.js → main-DZGXa6wk.js} +2 -2
  20. package/dist/assets/{mcpQueries-B1I3urB4.js → mcpQueries-pTPWjOQO.js} +1 -1
  21. package/dist/assets/{miniChat-BFctomLE.js → miniChat-C8K4fwOO.js} +2 -2
  22. package/dist/assets/{mobile-CgrEAs5U.js → mobile-Brtl2UnC.js} +2 -2
  23. package/dist/assets/multirun-B7FPVrQ-.js +3 -0
  24. package/dist/assets/{projectMeta-iGmHOQNp.js → projectMeta-D_jCNzjw.js} +1 -1
  25. package/dist/assets/{renderElectronMiniChatApp-B82q9wxX.js → renderElectronMiniChatApp-e6XqcsYi.js} +2 -2
  26. package/dist/assets/renderMobileApp-BQenfg50.js +28 -0
  27. package/dist/assets/{runtimeConfig-CCw0l6aJ.js → runtimeConfig-CJE7T1Sr.js} +1 -1
  28. package/dist/assets/{runtimeEndpointReset-CvWlsn11.js → runtimeEndpointReset-DULSaOrI.js} +6 -6
  29. package/dist/assets/{sessionChangeSummary-BCz7YMwL.js → sessionChangeSummary-CVZBClsA.js} +1 -1
  30. package/dist/assets/{sessionLookup-BpO4cCmV.js → sessionLookup--qnazVNO.js} +1 -1
  31. package/dist/assets/{useAppFontEffects-KlbtUhYE.js → useAppFontEffects-BHenW5Q2.js} +53 -53
  32. package/dist/assets/{useDesktopWindowControlsLayout-BflHVu5S.js → useDesktopWindowControlsLayout-BGgoqF_n.js} +1 -1
  33. package/dist/assets/{useEffectiveDirectory-BbQKZPcu.js → useEffectiveDirectory-CF16bcpx.js} +1 -1
  34. package/dist/assets/useMobileNavigationStore-DBML5LIl.js +415 -0
  35. package/dist/assets/{useSessionAutoCleanup-Dho6q-O2.js → useSessionAutoCleanup-moxr9XbA.js} +1 -1
  36. package/dist/assets/{useWorkerHighlightedLines-CbvulSje.js → useWorkerHighlightedLines-DYVg-cuB.js} +1 -1
  37. package/dist/index.html +2 -2
  38. package/dist/mini-chat.html +2 -2
  39. package/dist/mobile.html +2 -2
  40. package/package.json +1 -1
  41. package/server/lib/question-auto-delegate/DOCUMENTATION.md +4 -0
  42. package/server/lib/question-auto-delegate/core.d.ts +5 -0
  43. package/server/lib/question-auto-delegate/core.js +62 -13
  44. package/server/lib/question-auto-delegate/form-io.js +4 -1
  45. package/server/lib/question-auto-delegate/pause-store.d.ts +7 -0
  46. package/server/lib/question-auto-delegate/pause-store.js +39 -0
  47. package/server/lib/question-auto-delegate/runtime.js +3 -0
  48. package/server/lib/question-auto-delegate/runtime.test.js +128 -1
  49. package/dist/assets/MarkdownRenderer-D1fVOsHS.js +0 -2
  50. package/dist/assets/MobileTabPageHeader-tKa6r_KP.js +0 -2
  51. package/dist/assets/insertionBoundaries-DduQc2QR.js +0 -1
  52. package/dist/assets/multirun-BuVN-s4M.js +0 -3
  53. package/dist/assets/renderMobileApp-CM_El_gZ.js +0 -28
  54. package/dist/assets/useMobileNavigationStore-BjIptzTV.js +0 -415
@@ -1,2 +1,2 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{_t as t,ht as n,lt as r,mt as i,ut as a}from"./persistence-Dnj1QOdX.js";import{nt as o,rt as s}from"./vendor-base-ui-CnHfUmDN.js";import{n as c,t as l}from"./platform-wu6wSDfg.js";import{n as u}from"./vendor-react-DLPElpoQ.js";import{a as d,n as f}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{f as p,n as m,r as h}from"./vendor-reactuses-core-Dq5ocTF8.js";import{f as g,r as _,t as v}from"./button-CUwjpv-i.js";import{jr as y}from"./useMobileNavigationStore-BjIptzTV.js";import{n as b}from"./Icon-BdzPRCSy.js";import{i as x,t as S}from"./textarea-Kl-rTWJe.js";var C=e(s(),1),w=u(),T=o(),E=d(`OpenChamberMedia`);function D(e){return e.platform===`android`||/Android/i.test(e.userAgent)||e.userAgentDataPlatform===`Android`}function O(){if(typeof window>`u`)return!1;let e=navigator.userAgentData;return D({platform:l(),userAgent:navigator.userAgent||``,userAgentDataPlatform:e?.platform})}function ee(){return c()&&f.getPlatform()===`android`&&f.isPluginAvailable(`OpenChamberMedia`)}async function te(e){if(!ee())return null;let t=await E.pickMedia({limit:e});if(t.cancelled)return[];let n=[];for(let e of t.files){let t=await fetch(f.convertFileSrc(e.path));if(!t.ok)throw Error(`Native media fetch failed (${t.status})`);let r=await t.blob();n.push(new File([r],e.name,{type:e.mimeType}))}return n}var k=`h-auto min-h-12 w-full justify-start gap-3 rounded-none supports-[corner-shape:squircle]:rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,ne=e=>{let t=(0,w.c)(38),{id:n,open:r,onOpenChange:i,onPickPhotos:a,onPickFiles:o}=e,{t:s}=g(),c;t[0]===s?c=t[1]:(c=s(`chat.chatInput.actions.addAttachment`),t[0]=s,t[1]=c);let l;t[2]===c?l=t[3]:(l=(0,T.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:c}),t[2]=c,t[3]=l);let u;t[4]===s?u=t[5]:(u=s(`chat.chatInput.actions.addAttachment`),t[4]=s,t[5]=u);let d;t[6]===s?d=t[7]:(d=s(`mobile.surface.closeAria`),t[6]=s,t[7]=d);let f;t[8]===s?f=t[9]:(f=s(`mobile.sessions.sheet.resizeAria`),t[8]=s,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,T.jsx)(b,{name:`file-image`,className:`size-5 flex-shrink-0 text-muted-foreground`}),t[10]=p):p=t[10];let m;t[11]===s?m=t[12]:(m=s(`chat.chatInput.actions.attachPhotos`),t[11]=s,t[12]=m);let h;t[13]===m?h=t[14]:(h=(0,T.jsx)(`span`,{className:`truncate`,children:m}),t[13]=m,t[14]=h);let _;t[15]!==a||t[16]!==h?(_=(0,T.jsxs)(v,{type:`button`,variant:`ghost`,size:`lg`,className:k,"data-mobile-press-feedback":`none`,onClick:a,children:[p,h]}),t[15]=a,t[16]=h,t[17]=_):_=t[17];let y;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,T.jsx)(b,{name:`attachment-2`,className:`size-5 flex-shrink-0 text-muted-foreground`}),t[18]=y):y=t[18];let S;t[19]===s?S=t[20]:(S=s(`chat.chatInput.actions.attachFiles`),t[19]=s,t[20]=S);let C;t[21]===S?C=t[22]:(C=(0,T.jsx)(`span`,{className:`truncate`,children:S}),t[21]=S,t[22]=C);let E;t[23]!==o||t[24]!==C?(E=(0,T.jsxs)(v,{type:`button`,variant:`ghost`,size:`lg`,className:k,"data-mobile-press-feedback":`none`,onClick:o,children:[y,C]}),t[23]=o,t[24]=C,t[25]=E):E=t[25];let D;t[26]!==E||t[27]!==_?(D=(0,T.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,T.jsxs)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,"data-page-scroll-lock":`true`,children:[_,E]})}),t[26]=E,t[27]=_,t[28]=D):D=t[28];let O;return t[29]!==n||t[30]!==i||t[31]!==r||t[32]!==D||t[33]!==l||t[34]!==u||t[35]!==d||t[36]!==f?(O=(0,T.jsx)(x,{id:n,open:r,onOpenChange:i,title:l,ariaLabel:u,closeAriaLabel:d,resizeAriaLabel:f,fitContent:!0,children:D}),t[29]=n,t[30]=i,t[31]=r,t[32]=D,t[33]=l,t[34]=u,t[35]=d,t[36]=f,t[37]=O):O=t[37],O},re=C.createContext(null),A=e=>{let t=(0,w.c)(3),{actions:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,T.jsx)(re.Provider,{value:n,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},ie=()=>C.useContext(re),ae=e=>e.nativeEvent.isComposing||e.nativeEvent.keyCode===229;function j(e){let t=(0,w.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=_(`inline-flex shrink-0 items-center justify-center rounded-full bg-foreground text-background`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,T.jsx)(`span`,{className:a,...i,"aria-hidden":!0,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function M(e){let t=(0,w.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,T.jsx)(`span`,{"data-stop-glyph":`true`,className:`block size-[38%] rounded-[20%] bg-current`}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,T.jsx)(j,{className:n,...r,children:i}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function N(e){let t=(0,w.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,spinning:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i!==void 0&&i,o=a?`loader-4`:`arrow-up`,s=a?`size-[50%] animate-spin`:`size-[56%]`,c;t[4]===s?c=t[5]:(c=_(s),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,T.jsx)(b,{name:o,weight:`medium`,className:c}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==r||t[11]!==l?(u=(0,T.jsx)(j,{className:n,...r,children:l}),t[9]=n,t[10]=r,t[11]=l,t[12]=u):u=t[12],u}var oe=C.forwardRef((e,t)=>{let n=(0,w.c)(19),r,i,a,o,s,c;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6]):({children:r,className:i,expanded:s,focusedTone:c,style:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c);let l=s!==void 0&&s,u=c===void 0?`primary`:c,d=l&&`min-h-0 flex-1`,f=u===`info`?`focus-within:ring-[var(--status-info)]`:`focus-within:ring-primary/50`,p;n[7]!==i||n[8]!==d||n[9]!==f?(p=_(`relative flex flex-col overflow-visible border border-border/80 focus-within:ring-1`,d,f,i),n[7]=i,n[8]=d,n[9]=f,n[10]=p):p=n[10];let m;n[11]===o?m=n[12]:(m={borderRadius:`var(--radius-xl)`,backgroundColor:`var(--surface-subtle)`,...o},n[11]=o,n[12]=m);let h;return n[13]!==r||n[14]!==a||n[15]!==t||n[16]!==p||n[17]!==m?(h=(0,T.jsx)(`div`,{ref:t,className:p,style:m,...a,children:r}),n[13]=r,n[14]=a,n[15]=t,n[16]=p,n[17]=m,n[18]=h):h=n[18],h});oe.displayName=`ChatComposerSurface`;var se=C.forwardRef((e,t)=>{let n=(0,w.c)(3),r;return n[0]!==e||n[1]!==t?(r=(0,T.jsx)(S,{ref:t,...e}),n[0]=e,n[1]=t,n[2]=r):r=n[2],r});se.displayName=`ChatPromptTextarea`;var ce=e=>{let t=(0,w.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=_(`flex shrink-0 items-center gap-2 bg-transparent px-2.5 py-1.5`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,T.jsx)(`div`,{className:a,"data-chat-input-footer":`true`,...i,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o},le=(e,t)=>{typeof e==`function`?e(t):e&&(e.current=t)},P=({value:e,attachments:t=[],disabled:n=!1,pending:r=!1,placeholder:i,isMobile:a=!1,onChange:o,onSubmit:s,onStop:c,onAddFiles:l,onRemoveAttachment:u,addFilesLabel:d,removeAttachmentLabel:f,fileAccept:h=`image/*`,sendLabel:v,stopLabel:x,hint:S,leftControls:w,rightControls:E,footerContent:D,inputHeader:k,attachmentContent:re,highlightedContent:A,highlightRef:ie,inputRef:j,textareaProps:P,textLayoutClassName:ue,inputClassName:F,inputOuterClassName:de,inputStyle:I,footerClassName:L,footerStyle:R,contentClassName:z,inputSectionClassName:fe,autoResize:B=!0,disableInputWhilePending:V=!0,layout:H=`stacked`,children:pe,className:me,expanded:U=!1,...he})=>{let{t:ge}=g(),W=H===`inline`,[G,_e]=C.useState(!1),[ve,K]=C.useState(!1),q=O(),ye=t.length>0||G,J=C.useRef(null),Y=C.useRef(null),X=C.useRef(null),be=C.useId().replace(/:/g,``),xe=m(()=>{if(!B||U||P?.fillContainer){W&&_e(!1);return}let e=J.current;if(!e)return;e.style.height=W?`0px`:`auto`;let t=Number.parseFloat(window.getComputedStyle(e).maxHeight),n=W?Math.max(e.scrollHeight,48):e.scrollHeight,r=Number.isFinite(t)?Math.min(n,t):n;e.style.height=`${r}px`,e.style.overflowY=Number.isFinite(t)&&n>t?`auto`:`hidden`;let i=r>48;W&&_e(e=>e===i?e:i)});C.useLayoutEffect(()=>{xe()},[B,U,W,P?.fillContainer,e]),p(W&&B&&!U&&!P?.fillContainer?J:null,xe);let Z=e=>{P?.onKeyDown?.(e),!(e.defaultPrevented||ae(e))&&e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!n&&(!r||!V)&&s())},Se=e=>{l?.(e.target.files),e.target.value=``},Ce=m(()=>{J.current?.blur(),K(!0)}),we=m(e=>{K(!1),requestAnimationFrame(()=>e?.click())}),Te=m(()=>{K(!1),requestAnimationFrame(()=>{(async()=>{if(!ee()){X.current?.click();return}try{let e=await te(20);if(e===null){X.current?.click();return}e.length>0&&l?.(e)}catch(e){console.error(`Native photo pick failed`,e),y.error(ge(`chat.chatInput.toast.attachFileFailed`))}})()})}),Ee=e.trim().length>0||t.length>0,De=t.filter(e=>e.mime.startsWith(`image/`)),Oe=t.filter(e=>!e.mime.startsWith(`image/`)),ke=l?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`input`,{ref:Y,type:`file`,accept:h,multiple:!0,className:`hidden`,onChange:Se}),q?(0,T.jsx)(`input`,{ref:X,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:Se}):null,(0,T.jsx)(`button`,{type:`button`,className:`flex size-8 shrink-0 items-center justify-center rounded-md text-foreground outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>q?Ce():Y.current?.click(),onMouseDown:a?e=>e.preventDefault():void 0,onPointerDownCapture:a?e=>e.preventDefault():void 0,disabled:n||r,"aria-label":d,children:(0,T.jsx)(b,{name:`attachment-2`,className:`size-[18px]`})})]}):null,Q=!n&&!r&&Ee,$=a?`size-6`:`size-full`,Ae=r&&c?(0,T.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:c,"aria-label":x,children:(0,T.jsx)(M,{className:$})}):(0,T.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":Q?`true`:void 0,className:_(`flex size-8 shrink-0 items-center justify-center outline-none`,Q?`rounded-full hover:opacity-80`:`rounded-md text-primary hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-30`),disabled:n||r||!Ee,"aria-label":v,children:Q?(0,T.jsx)(N,{className:$}):(0,T.jsx)(b,{name:r?`loader-4`:`send-plane-2`,className:_(`size-4`,r&&`animate-spin`)})}),je=r&&c?(0,T.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:c,"aria-label":x,children:(0,T.jsx)(M,{className:$})}):(0,T.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":`true`,className:_(`flex size-8 shrink-0 items-center justify-center rounded-full outline-none`,Q?`hover:opacity-80`:`cursor-not-allowed opacity-30`),disabled:n||r||!Ee,"aria-busy":r||void 0,"aria-label":v,children:(0,T.jsx)(N,{className:$,spinning:r})}),Me=W?je:Ae,Ne=w===void 0?ke:w;return(0,T.jsxs)(oe,{className:me,expanded:U,...he,children:[pe,(0,T.jsxs)(`div`,{"data-composer-content":`true`,"data-composer-layout":H,className:_(`relative flex min-h-0`,W?_(`min-h-12 flex-row`,ye?`items-end`:`items-center`):`flex-col`,U&&`flex-1`,z),children:[W&&Ne?(0,T.jsx)(`div`,{className:`flex h-12 shrink-0 items-center pl-1.5`,"data-composer-inline-attach":`true`,children:Ne}):null,(0,T.jsxs)(`div`,{className:_(`overflow-hidden`,W&&`min-w-0 flex-1`,U&&`flex min-h-0 flex-1 flex-col`,fe),children:[k,re,De.length>0?(0,T.jsx)(`div`,{className:`flex gap-2 overflow-x-auto px-3 pt-3`,"data-chat-prompt-attachments":`true`,children:De.map(e=>(0,T.jsxs)(`div`,{className:`group relative shrink-0`,children:[(0,T.jsx)(`img`,{src:e.url,alt:e.name,className:`size-16 rounded-lg border border-border object-cover`}),u?(0,T.jsx)(`button`,{type:`button`,className:`absolute -right-1 -top-1 flex size-6 items-center justify-center rounded-full border border-border bg-[var(--surface-elevated)] shadow-sm hover:bg-[var(--interactive-hover)]`,onClick:()=>u(e.id),"aria-label":f,children:(0,T.jsx)(b,{name:`close`,className:`size-3`})}):null]},e.id))}):null,Oe.length>0?(0,T.jsx)(`div`,{className:`flex flex-wrap gap-2 px-3 pt-3`,"data-chat-prompt-file-attachments":`true`,children:Oe.map(e=>(0,T.jsxs)(`div`,{className:`relative flex max-w-[12rem] items-center gap-1.5 rounded-lg border border-border bg-[var(--surface-elevated)] px-2 py-1`,children:[(0,T.jsx)(b,{name:`file-text`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,T.jsx)(`span`,{className:`min-w-0 truncate typography-micro`,children:e.name}),u?(0,T.jsx)(`button`,{type:`button`,className:`flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground hover:bg-[var(--interactive-hover)]`,onClick:()=>u(e.id),"aria-label":f,children:(0,T.jsx)(b,{name:`close`,className:`size-3`})}):null]},e.id))}):null,(0,T.jsxs)(`div`,{className:_(`relative overflow-hidden`,W&&_(`flex min-h-12`,G?`items-end`:`items-center`),U&&`flex min-h-0 flex-1 flex-col`),"data-composer-input-shell":`true`,children:[A?(0,T.jsx)(`div`,{ref:ie,"aria-hidden":!0,"data-composer-highlight":`true`,className:_(`pointer-events-none absolute inset-0 z-0 rounded-b-none`,ue,F),children:A}):null,(0,T.jsx)(se,{...P,simple:!0,fillContainer:!W&&P?.fillContainer,ref:e=>{J.current=e,le(j,e)},"data-chat-input":`true`,value:e,onChange:e=>o(e.target.value,e),onKeyDown:Z,disabled:n||r&&V,placeholder:i,enterKeyHint:a?`send`:P?.enterKeyHint,outerClassName:_(`ring-0 bg-transparent shadow-none hover:bg-transparent focus-within:ring-0`,W&&`flex-none`,U&&`min-h-0 flex-1`,de),className:_(`relative z-10 resize-none overflow-y-hidden appearance-none border-0 bg-transparent typography-markdown hover:border-transparent md:typography-ui-label`,W?`field-sizing-fixed min-h-12 max-h-32 px-3 py-3 leading-6`:`min-h-[52px] max-h-40 rounded-b-none px-3 pb-2 pt-4`,ue,F,A&&`text-transparent caret-[var(--surface-foreground)]`),style:I,rows:P?.rows??1})]})]}),W?(0,T.jsx)(`div`,{className:_(`flex h-12 shrink-0 items-center pr-1.5`,L),style:R,"data-composer-inline-send":`true`,children:E??Me}):(0,T.jsx)(ce,{className:L,style:R,children:D??(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`flex items-center gap-1.5`,children:w??ke}),S?(0,T.jsx)(`div`,{className:`min-w-0 flex-1 truncate typography-micro text-muted-foreground`,children:S}):(0,T.jsx)(`div`,{className:`flex-1`}),(0,T.jsx)(`div`,{className:`flex items-center gap-1.5`,children:E??Me})]})})]}),q&&l?(0,T.jsx)(ne,{id:`mobile-attach-pick-${be}`,open:ve,onOpenChange:e=>{e||K(!1)},onPickPhotos:Te,onPickFiles:()=>we(Y.current)}):null]})},ue={mentionFile:100,mentionAgent:100,mentionSession:100,mentionCommand:100,mentionPaste:100,code:90,codeFence:90,link:80,linkUrl:78,heading:70,blockquote:40,listMarker:35,marker:10},F={mentionFile:`text-[var(--primary)]`,mentionAgent:`text-[var(--primary)]`,mentionSession:`text-[var(--primary)]`,mentionCommand:`text-[var(--primary)]`,mentionPaste:`text-[var(--primary)]`,code:`rounded-[3px] bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,codeFence:`bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,link:`text-[var(--status-info)] underline`,linkUrl:`text-muted-foreground`,heading:`text-[var(--syntax-keyword)]`,blockquote:`text-muted-foreground`,listMarker:`text-[var(--syntax-keyword)]`,marker:`text-muted-foreground`},de=`text-foreground`;function I(e,t,n){let r=0,i=e.length;for(;r<i;){let i=e[r];if(i==="`"){let i=/^`+/.exec(e.slice(r))?.[0]??``,a=e.indexOf(i,r+i.length);if(a!==-1){let e=a+i.length;n.push({start:t+r,end:t+e,style:`code`}),r=e;continue}}if(i===`[`){let i=/^\[([^\]\n]*)\]\(([^)\n]*)\)/.exec(e.slice(r));if(i){let e=t+r,a=i[1].length,o=i[2].length,s=e+1,c=s+a,l=c+2,u=l+o,d=u+1;n.push({start:e,end:s,style:`marker`}),a>0&&n.push({start:s,end:c,style:`link`}),n.push({start:c,end:l,style:`marker`}),o>0&&n.push({start:l,end:u,style:`linkUrl`}),n.push({start:u,end:d,style:`marker`}),r+=i[0].length;continue}}r+=1}}var L=/^(\s*)(`{3,}|~{3,})\s*(\S*)/;function R(e){let t=L.exec(e);return t?{marker:t[2],lang:t[3]||``}:null}function z(e,t){return RegExp(`^\\s*\\${t[0]}{${t.length},}\\s*$`).test(e)}function fe(e){let t=[];if(!e)return t;let n=0,r=!1,i=``,a=e.split(`
1
+ import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{_t as t,ht as n,lt as r,mt as i,ut as a}from"./persistence-Dnj1QOdX.js";import{nt as o,rt as s}from"./vendor-base-ui-CnHfUmDN.js";import{n as c,t as l}from"./platform-wu6wSDfg.js";import{n as u}from"./vendor-react-DLPElpoQ.js";import{a as d,n as f}from"./vendor-aparajita-capacitor-secure-storage-CjQdwfjS.js";import{f as p,n as m,r as h}from"./vendor-reactuses-core-Dq5ocTF8.js";import{f as g,r as _,t as v}from"./button-CUwjpv-i.js";import{Ir as y}from"./useMobileNavigationStore-DBML5LIl.js";import{n as b}from"./Icon-BdzPRCSy.js";import{i as x,t as S}from"./textarea-Kl-rTWJe.js";var C=e(s(),1),w=u(),T=o(),E=d(`OpenChamberMedia`);function D(e){return e.platform===`android`||/Android/i.test(e.userAgent)||e.userAgentDataPlatform===`Android`}function O(){if(typeof window>`u`)return!1;let e=navigator.userAgentData;return D({platform:l(),userAgent:navigator.userAgent||``,userAgentDataPlatform:e?.platform})}function ee(){return c()&&f.getPlatform()===`android`&&f.isPluginAvailable(`OpenChamberMedia`)}async function te(e){if(!ee())return null;let t=await E.pickMedia({limit:e});if(t.cancelled)return[];let n=[];for(let e of t.files){let t=await fetch(f.convertFileSrc(e.path));if(!t.ok)throw Error(`Native media fetch failed (${t.status})`);let r=await t.blob();n.push(new File([r],e.name,{type:e.mimeType}))}return n}var k=`h-auto min-h-12 w-full justify-start gap-3 rounded-none supports-[corner-shape:squircle]:rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,ne=e=>{let t=(0,w.c)(38),{id:n,open:r,onOpenChange:i,onPickPhotos:a,onPickFiles:o}=e,{t:s}=g(),c;t[0]===s?c=t[1]:(c=s(`chat.chatInput.actions.addAttachment`),t[0]=s,t[1]=c);let l;t[2]===c?l=t[3]:(l=(0,T.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:c}),t[2]=c,t[3]=l);let u;t[4]===s?u=t[5]:(u=s(`chat.chatInput.actions.addAttachment`),t[4]=s,t[5]=u);let d;t[6]===s?d=t[7]:(d=s(`mobile.surface.closeAria`),t[6]=s,t[7]=d);let f;t[8]===s?f=t[9]:(f=s(`mobile.sessions.sheet.resizeAria`),t[8]=s,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,T.jsx)(b,{name:`file-image`,className:`size-5 flex-shrink-0 text-muted-foreground`}),t[10]=p):p=t[10];let m;t[11]===s?m=t[12]:(m=s(`chat.chatInput.actions.attachPhotos`),t[11]=s,t[12]=m);let h;t[13]===m?h=t[14]:(h=(0,T.jsx)(`span`,{className:`truncate`,children:m}),t[13]=m,t[14]=h);let _;t[15]!==a||t[16]!==h?(_=(0,T.jsxs)(v,{type:`button`,variant:`ghost`,size:`lg`,className:k,"data-mobile-press-feedback":`none`,onClick:a,children:[p,h]}),t[15]=a,t[16]=h,t[17]=_):_=t[17];let y;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,T.jsx)(b,{name:`attachment-2`,className:`size-5 flex-shrink-0 text-muted-foreground`}),t[18]=y):y=t[18];let S;t[19]===s?S=t[20]:(S=s(`chat.chatInput.actions.attachFiles`),t[19]=s,t[20]=S);let C;t[21]===S?C=t[22]:(C=(0,T.jsx)(`span`,{className:`truncate`,children:S}),t[21]=S,t[22]=C);let E;t[23]!==o||t[24]!==C?(E=(0,T.jsxs)(v,{type:`button`,variant:`ghost`,size:`lg`,className:k,"data-mobile-press-feedback":`none`,onClick:o,children:[y,C]}),t[23]=o,t[24]=C,t[25]=E):E=t[25];let D;t[26]!==E||t[27]!==_?(D=(0,T.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,T.jsxs)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,"data-page-scroll-lock":`true`,children:[_,E]})}),t[26]=E,t[27]=_,t[28]=D):D=t[28];let O;return t[29]!==n||t[30]!==i||t[31]!==r||t[32]!==D||t[33]!==l||t[34]!==u||t[35]!==d||t[36]!==f?(O=(0,T.jsx)(x,{id:n,open:r,onOpenChange:i,title:l,ariaLabel:u,closeAriaLabel:d,resizeAriaLabel:f,fitContent:!0,children:D}),t[29]=n,t[30]=i,t[31]=r,t[32]=D,t[33]=l,t[34]=u,t[35]=d,t[36]=f,t[37]=O):O=t[37],O},re=C.createContext(null),A=e=>{let t=(0,w.c)(3),{actions:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,T.jsx)(re.Provider,{value:n,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},ie=()=>C.useContext(re),ae=e=>e.nativeEvent.isComposing||e.nativeEvent.keyCode===229;function j(e){let t=(0,w.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=_(`inline-flex shrink-0 items-center justify-center rounded-full bg-foreground text-background`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,T.jsx)(`span`,{className:a,...i,"aria-hidden":!0,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function M(e){let t=(0,w.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,T.jsx)(`span`,{"data-stop-glyph":`true`,className:`block size-[38%] rounded-[20%] bg-current`}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,T.jsx)(j,{className:n,...r,children:i}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function N(e){let t=(0,w.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,spinning:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i!==void 0&&i,o=a?`loader-4`:`arrow-up`,s=a?`size-[50%] animate-spin`:`size-[56%]`,c;t[4]===s?c=t[5]:(c=_(s),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,T.jsx)(b,{name:o,weight:`medium`,className:c}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==r||t[11]!==l?(u=(0,T.jsx)(j,{className:n,...r,children:l}),t[9]=n,t[10]=r,t[11]=l,t[12]=u):u=t[12],u}var oe=C.forwardRef((e,t)=>{let n=(0,w.c)(19),r,i,a,o,s,c;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6]):({children:r,className:i,expanded:s,focusedTone:c,style:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c);let l=s!==void 0&&s,u=c===void 0?`primary`:c,d=l&&`min-h-0 flex-1`,f=u===`info`?`focus-within:ring-[var(--status-info)]`:`focus-within:ring-primary/50`,p;n[7]!==i||n[8]!==d||n[9]!==f?(p=_(`relative flex flex-col overflow-visible border border-border/80 focus-within:ring-1`,d,f,i),n[7]=i,n[8]=d,n[9]=f,n[10]=p):p=n[10];let m;n[11]===o?m=n[12]:(m={borderRadius:`var(--radius-xl)`,backgroundColor:`var(--surface-subtle)`,...o},n[11]=o,n[12]=m);let h;return n[13]!==r||n[14]!==a||n[15]!==t||n[16]!==p||n[17]!==m?(h=(0,T.jsx)(`div`,{ref:t,className:p,style:m,...a,children:r}),n[13]=r,n[14]=a,n[15]=t,n[16]=p,n[17]=m,n[18]=h):h=n[18],h});oe.displayName=`ChatComposerSurface`;var se=C.forwardRef((e,t)=>{let n=(0,w.c)(3),r;return n[0]!==e||n[1]!==t?(r=(0,T.jsx)(S,{ref:t,...e}),n[0]=e,n[1]=t,n[2]=r):r=n[2],r});se.displayName=`ChatPromptTextarea`;var ce=e=>{let t=(0,w.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=_(`flex shrink-0 items-center gap-2 bg-transparent px-2.5 py-1.5`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,T.jsx)(`div`,{className:a,"data-chat-input-footer":`true`,...i,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o},le=(e,t)=>{typeof e==`function`?e(t):e&&(e.current=t)},P=({value:e,attachments:t=[],disabled:n=!1,pending:r=!1,placeholder:i,isMobile:a=!1,onChange:o,onSubmit:s,onStop:c,onAddFiles:l,onRemoveAttachment:u,addFilesLabel:d,removeAttachmentLabel:f,fileAccept:h=`image/*`,sendLabel:v,stopLabel:x,hint:S,leftControls:w,rightControls:E,footerContent:D,inputHeader:k,attachmentContent:re,highlightedContent:A,highlightRef:ie,inputRef:j,textareaProps:P,textLayoutClassName:ue,inputClassName:F,inputOuterClassName:de,inputStyle:I,footerClassName:L,footerStyle:R,contentClassName:z,inputSectionClassName:fe,autoResize:B=!0,disableInputWhilePending:V=!0,layout:H=`stacked`,children:pe,className:me,expanded:U=!1,...he})=>{let{t:ge}=g(),W=H===`inline`,[G,_e]=C.useState(!1),[ve,K]=C.useState(!1),q=O(),ye=t.length>0||G,J=C.useRef(null),Y=C.useRef(null),X=C.useRef(null),be=C.useId().replace(/:/g,``),xe=m(()=>{if(!B||U||P?.fillContainer){W&&_e(!1);return}let e=J.current;if(!e)return;e.style.height=W?`0px`:`auto`;let t=Number.parseFloat(window.getComputedStyle(e).maxHeight),n=W?Math.max(e.scrollHeight,48):e.scrollHeight,r=Number.isFinite(t)?Math.min(n,t):n;e.style.height=`${r}px`,e.style.overflowY=Number.isFinite(t)&&n>t?`auto`:`hidden`;let i=r>48;W&&_e(e=>e===i?e:i)});C.useLayoutEffect(()=>{xe()},[B,U,W,P?.fillContainer,e]),p(W&&B&&!U&&!P?.fillContainer?J:null,xe);let Z=e=>{P?.onKeyDown?.(e),!(e.defaultPrevented||ae(e))&&e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!n&&(!r||!V)&&s())},Se=e=>{l?.(e.target.files),e.target.value=``},Ce=m(()=>{J.current?.blur(),K(!0)}),we=m(e=>{K(!1),requestAnimationFrame(()=>e?.click())}),Te=m(()=>{K(!1),requestAnimationFrame(()=>{(async()=>{if(!ee()){X.current?.click();return}try{let e=await te(20);if(e===null){X.current?.click();return}e.length>0&&l?.(e)}catch(e){console.error(`Native photo pick failed`,e),y.error(ge(`chat.chatInput.toast.attachFileFailed`))}})()})}),Ee=e.trim().length>0||t.length>0,De=t.filter(e=>e.mime.startsWith(`image/`)),Oe=t.filter(e=>!e.mime.startsWith(`image/`)),ke=l?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`input`,{ref:Y,type:`file`,accept:h,multiple:!0,className:`hidden`,onChange:Se}),q?(0,T.jsx)(`input`,{ref:X,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:Se}):null,(0,T.jsx)(`button`,{type:`button`,className:`flex size-8 shrink-0 items-center justify-center rounded-md text-foreground outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>q?Ce():Y.current?.click(),onMouseDown:a?e=>e.preventDefault():void 0,onPointerDownCapture:a?e=>e.preventDefault():void 0,disabled:n||r,"aria-label":d,children:(0,T.jsx)(b,{name:`attachment-2`,className:`size-[18px]`})})]}):null,Q=!n&&!r&&Ee,$=a?`size-6`:`size-full`,Ae=r&&c?(0,T.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:c,"aria-label":x,children:(0,T.jsx)(M,{className:$})}):(0,T.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":Q?`true`:void 0,className:_(`flex size-8 shrink-0 items-center justify-center outline-none`,Q?`rounded-full hover:opacity-80`:`rounded-md text-primary hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-30`),disabled:n||r||!Ee,"aria-label":v,children:Q?(0,T.jsx)(N,{className:$}):(0,T.jsx)(b,{name:r?`loader-4`:`send-plane-2`,className:_(`size-4`,r&&`animate-spin`)})}),je=r&&c?(0,T.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:c,"aria-label":x,children:(0,T.jsx)(M,{className:$})}):(0,T.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":`true`,className:_(`flex size-8 shrink-0 items-center justify-center rounded-full outline-none`,Q?`hover:opacity-80`:`cursor-not-allowed opacity-30`),disabled:n||r||!Ee,"aria-busy":r||void 0,"aria-label":v,children:(0,T.jsx)(N,{className:$,spinning:r})}),Me=W?je:Ae,Ne=w===void 0?ke:w;return(0,T.jsxs)(oe,{className:me,expanded:U,...he,children:[pe,(0,T.jsxs)(`div`,{"data-composer-content":`true`,"data-composer-layout":H,className:_(`relative flex min-h-0`,W?_(`min-h-12 flex-row`,ye?`items-end`:`items-center`):`flex-col`,U&&`flex-1`,z),children:[W&&Ne?(0,T.jsx)(`div`,{className:`flex h-12 shrink-0 items-center pl-1.5`,"data-composer-inline-attach":`true`,children:Ne}):null,(0,T.jsxs)(`div`,{className:_(`overflow-hidden`,W&&`min-w-0 flex-1`,U&&`flex min-h-0 flex-1 flex-col`,fe),children:[k,re,De.length>0?(0,T.jsx)(`div`,{className:`flex gap-2 overflow-x-auto px-3 pt-3`,"data-chat-prompt-attachments":`true`,children:De.map(e=>(0,T.jsxs)(`div`,{className:`group relative shrink-0`,children:[(0,T.jsx)(`img`,{src:e.url,alt:e.name,className:`size-16 rounded-lg border border-border object-cover`}),u?(0,T.jsx)(`button`,{type:`button`,className:`absolute -right-1 -top-1 flex size-6 items-center justify-center rounded-full border border-border bg-[var(--surface-elevated)] shadow-sm hover:bg-[var(--interactive-hover)]`,onClick:()=>u(e.id),"aria-label":f,children:(0,T.jsx)(b,{name:`close`,className:`size-3`})}):null]},e.id))}):null,Oe.length>0?(0,T.jsx)(`div`,{className:`flex flex-wrap gap-2 px-3 pt-3`,"data-chat-prompt-file-attachments":`true`,children:Oe.map(e=>(0,T.jsxs)(`div`,{className:`relative flex max-w-[12rem] items-center gap-1.5 rounded-lg border border-border bg-[var(--surface-elevated)] px-2 py-1`,children:[(0,T.jsx)(b,{name:`file-text`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,T.jsx)(`span`,{className:`min-w-0 truncate typography-micro`,children:e.name}),u?(0,T.jsx)(`button`,{type:`button`,className:`flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground hover:bg-[var(--interactive-hover)]`,onClick:()=>u(e.id),"aria-label":f,children:(0,T.jsx)(b,{name:`close`,className:`size-3`})}):null]},e.id))}):null,(0,T.jsxs)(`div`,{className:_(`relative overflow-hidden`,W&&_(`flex min-h-12`,G?`items-end`:`items-center`),U&&`flex min-h-0 flex-1 flex-col`),"data-composer-input-shell":`true`,children:[A?(0,T.jsx)(`div`,{ref:ie,"aria-hidden":!0,"data-composer-highlight":`true`,className:_(`pointer-events-none absolute inset-0 z-0 rounded-b-none`,ue,F),children:A}):null,(0,T.jsx)(se,{...P,simple:!0,fillContainer:!W&&P?.fillContainer,ref:e=>{J.current=e,le(j,e)},"data-chat-input":`true`,value:e,onChange:e=>o(e.target.value,e),onKeyDown:Z,disabled:n||r&&V,placeholder:i,enterKeyHint:a?`send`:P?.enterKeyHint,outerClassName:_(`ring-0 bg-transparent shadow-none hover:bg-transparent focus-within:ring-0`,W&&`flex-none`,U&&`min-h-0 flex-1`,de),className:_(`relative z-10 resize-none overflow-y-hidden appearance-none border-0 bg-transparent typography-markdown hover:border-transparent md:typography-ui-label`,W?`field-sizing-fixed min-h-12 max-h-32 px-3 py-3 leading-6`:`min-h-[52px] max-h-40 rounded-b-none px-3 pb-2 pt-4`,ue,F,A&&`text-transparent caret-[var(--surface-foreground)]`),style:I,rows:P?.rows??1})]})]}),W?(0,T.jsx)(`div`,{className:_(`flex h-12 shrink-0 items-center pr-1.5`,L),style:R,"data-composer-inline-send":`true`,children:E??Me}):(0,T.jsx)(ce,{className:L,style:R,children:D??(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`flex items-center gap-1.5`,children:w??ke}),S?(0,T.jsx)(`div`,{className:`min-w-0 flex-1 truncate typography-micro text-muted-foreground`,children:S}):(0,T.jsx)(`div`,{className:`flex-1`}),(0,T.jsx)(`div`,{className:`flex items-center gap-1.5`,children:E??Me})]})})]}),q&&l?(0,T.jsx)(ne,{id:`mobile-attach-pick-${be}`,open:ve,onOpenChange:e=>{e||K(!1)},onPickPhotos:Te,onPickFiles:()=>we(Y.current)}):null]})},ue={mentionFile:100,mentionAgent:100,mentionSession:100,mentionCommand:100,mentionPaste:100,code:90,codeFence:90,link:80,linkUrl:78,heading:70,blockquote:40,listMarker:35,marker:10},F={mentionFile:`text-[var(--primary)]`,mentionAgent:`text-[var(--primary)]`,mentionSession:`text-[var(--primary)]`,mentionCommand:`text-[var(--primary)]`,mentionPaste:`text-[var(--primary)]`,code:`rounded-[3px] bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,codeFence:`bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,link:`text-[var(--status-info)] underline`,linkUrl:`text-muted-foreground`,heading:`text-[var(--syntax-keyword)]`,blockquote:`text-muted-foreground`,listMarker:`text-[var(--syntax-keyword)]`,marker:`text-muted-foreground`},de=`text-foreground`;function I(e,t,n){let r=0,i=e.length;for(;r<i;){let i=e[r];if(i==="`"){let i=/^`+/.exec(e.slice(r))?.[0]??``,a=e.indexOf(i,r+i.length);if(a!==-1){let e=a+i.length;n.push({start:t+r,end:t+e,style:`code`}),r=e;continue}}if(i===`[`){let i=/^\[([^\]\n]*)\]\(([^)\n]*)\)/.exec(e.slice(r));if(i){let e=t+r,a=i[1].length,o=i[2].length,s=e+1,c=s+a,l=c+2,u=l+o,d=u+1;n.push({start:e,end:s,style:`marker`}),a>0&&n.push({start:s,end:c,style:`link`}),n.push({start:c,end:l,style:`marker`}),o>0&&n.push({start:l,end:u,style:`linkUrl`}),n.push({start:u,end:d,style:`marker`}),r+=i[0].length;continue}}r+=1}}var L=/^(\s*)(`{3,}|~{3,})\s*(\S*)/;function R(e){let t=L.exec(e);return t?{marker:t[2],lang:t[3]||``}:null}function z(e,t){return RegExp(`^\\s*\\${t[0]}{${t.length},}\\s*$`).test(e)}function fe(e){let t=[];if(!e)return t;let n=0,r=!1,i=``,a=e.split(`
2
2
  `);for(let e=0;e<a.length;e+=1){let o=a[e],s=n,c=s+o.length;if(n=c+1,r){t.push({start:s,end:c,style:`codeFence`}),z(o,i)&&(r=!1);continue}let l=R(o);if(l){r=!0,i=l.marker,t.push({start:s,end:c,style:`codeFence`});continue}let u=/^(\s*)(#{1,6})(\s+)/.exec(o);if(u){let e=s+u[1].length,n=e+u[2].length;t.push({start:e,end:n,style:`marker`});let r=n+u[3].length;c>r&&(t.push({start:r,end:c,style:`heading`}),I(o.slice(r-s),r,t));continue}let d=/^(\s*)(>+)(\s?)/.exec(o);if(d){let e=s+d[1].length,n=e+d[2].length;t.push({start:e,end:n,style:`marker`});let r=n+d[3].length;c>r&&(t.push({start:r,end:c,style:`blockquote`}),I(o.slice(r-s),r,t));continue}let f=/^(\s*)([-*+]|\d{1,9}[.)])(\s+)/.exec(o);if(f){let e=s+f[1].length,n=e+f[2].length;t.push({start:e,end:n,style:`listMarker`});let r=n+f[3].length;I(o.slice(r-s),r,t);continue}I(o,s,t)}return t}function B(e,n){if(!e||n.length===0)return null;let r=e.length,i=new Set([0,r]);for(let e of n)e.start>0&&e.start<r&&i.add(e.start),e.end>0&&e.end<r&&i.add(e.end);let a=[...i].sort((e,t)=>e-t),o=n.map((e,t)=>({range:e,index:t})).filter(e=>e.range.end>e.range.start).sort((e,t)=>e.range.start-t.range.start),s=[],c=[],l=0;for(let n=0;n<a.length-1;n+=1){let r=a[n],i=a[n+1];if(i<=r)continue;for(;l<o.length&&o[l].range.start<=r;)c.push(o[l]),l+=1;for(let e=c.length-1;e>=0;--e)c[e].range.end<=r&&c.splice(e,1);let u=null,d=-1,f=1/0;for(let{range:e,index:t}of c){let n=e.priority??ue[e.style];(n>d||n===d&&t<f)&&(d=n,f=t,u=e)}let p=u?u.className??F[u.style]:de,m=e.slice(r,i),h=u?.visual,g=u?.skillName,_=s[s.length-1];_&&_.className===p&&t(_.visual,h)&&_.skillName===g?_.text+=m:s.push({text:m,className:p,visual:h,skillName:g})}return s.length>0?s:null}function V(e,t){let n=new Set(Array.from(t,e=>e.toLowerCase())),r=[];for(let t of[/(^|\s)\/(\u2003)?([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)/gi,/(^|\s)@(\u2003)?([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)(?=$|\s|[),.;:!?])/gi]){let i;for(;(i=t.exec(e))!==null;){let e=i[2]??``,t=i[3]||``;if(!n.has(t.toLowerCase()))continue;let a=i.index+(i[1]?.length??0);r.push({start:a,end:a+1+e.length+t.length,name:t})}}return r}function H(e,t,n){if(e===t){let t=n.find(t=>e>t.start&&e<t.end);return t?{start:t.start,end:t.end}:null}let r=n.filter(n=>n.start<t&&n.end>e);return r.length===0?null:{start:Math.min(e,...r.map(e=>e.start)),end:Math.max(t,...r.map(e=>e.end))}}function pe(e,t,n){let r=V(e,t),i=Math.max(0,Math.min(n.selectionStart,e.length)),a=Math.max(i,Math.min(n.selectionEnd,e.length)),o=i,s=a;if(i===a)if(n.altKey)if(n.key===`Backspace`){for(;o>0&&/\s/.test(e[o-1]);)--o;for(;o>0&&!/\s/.test(e[o-1]);)--o}else{for(;s<e.length&&/\s/.test(e[s]);)s+=1;for(;s<e.length&&!/\s/.test(e[s]);)s+=1}else n.key===`Backspace`?o=Math.max(0,i-1):s=Math.min(e.length,i+1);if(o===s)return null;let c=r.filter(e=>e.start<s&&e.end>o);if(c.length===0)return null;let l=Math.min(o,...c.map(e=>e.start)),u=Math.max(s,...c.map(e=>e.end));return u<e.length&&/\s/.test(e[u])&&(l===0||/\s/.test(e[l-1]))?u+=1:u===e.length&&l>0&&/\s/.test(e[l-1])&&--l,{text:`${e.slice(0,l)}${e.slice(u)}`,caret:l,removedSkillNames:c.map(e=>e.name)}}function me(e){return e.map(e=>({start:e.start,end:e.end,style:e.kind===`file`?`mentionFile`:e.kind===`session`?`mentionSession`:`mentionAgent`,visual:e.kind===`session`&&e.label?n({trigger:`@`,icon:`chat-thread`,label:e.label},i({trigger:`@`,icon:`chat-thread`,label:e.label})):void 0}))}function U(e){let t=(0,w.c)(28),{visual:n,text:i}=e,o=n.trigger.length,s=o+n.label.length,c=s+(n.suffix?.length??0),l;t[0]!==s||t[1]!==o||t[2]!==i?(l=i.slice(o,Math.min(s,i.length)),t[0]=s,t[1]=o,t[2]=i,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c||t[6]!==i?(d=i.slice(s,Math.min(c,i.length)),t[4]=s,t[5]=c,t[6]=i,t[7]=d):d=t[7];let f=d,p;t[8]!==c||t[9]!==i?(p=i.slice(Math.min(c,i.length)),t[8]=c,t[9]=i,t[10]=p):p=t[10];let m=p,h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h={left:r,right:r},t[11]=h):h=t[11];let g=n.icon,_;t[12]===g?_=t[13]:(_=(0,T.jsx)(`span`,{className:`pointer-events-none absolute inset-y-0 inline-flex items-center justify-center`,style:h,children:(0,T.jsx)(b,{name:g,className:`${a} shrink-0 text-[var(--primary)]`,"aria-hidden":`true`})}),t[12]=g,t[13]=_);let v;t[14]!==_||t[15]!==n.trigger?(v=(0,T.jsxs)(`span`,{className:`relative inline-block align-baseline text-transparent leading-none`,children:[n.trigger,_]}),t[14]=_,t[15]=n.trigger,t[16]=v):v=t[16];let y;t[17]===u?y=t[18]:(y=(0,T.jsx)(`span`,{children:u}),t[17]=u,t[18]=y);let x;t[19]===f?x=t[20]:(x=f?(0,T.jsx)(`span`,{className:`text-transparent`,children:f}):null,t[19]=f,t[20]=x);let S;t[21]===m?S=t[22]:(S=m?(0,T.jsx)(`span`,{className:`text-transparent`,children:m}):null,t[21]=m,t[22]=S);let C;return t[23]!==S||t[24]!==v||t[25]!==y||t[26]!==x?(C=(0,T.jsxs)(T.Fragment,{children:[v,y,x,S]}),t[23]=S,t[24]=v,t[25]=y,t[26]=x,t[27]=C):C=t[27],C}var he=e=>({text:e.text,references:e.references.map(e=>({...e}))}),ge=e=>e.map(e=>({...e,range:{...e.range}})),W=(e,t)=>e.text===t.text&&JSON.stringify(e.references)===JSON.stringify(t.references),G=(e,t,n)=>({document:he(e),mentions:ge(t),selection:{...n}}),_e=()=>({undo:[],redo:[]}),ve=(e,t)=>({undo:[...e.undo,t].slice(-100),redo:[]}),K=(e,t)=>{let n=e.undo.at(-1);return!n||!W(n.after.document,t)?null:{history:{undo:e.undo.slice(0,-1),redo:[...e.redo,n]},snapshot:G(n.before.document,n.before.mentions,n.before.selection)}},q=(e,t)=>{let n=e.redo.at(-1);return!n||!W(n.before.document,t)?null:{history:{undo:[...e.undo,n],redo:e.redo.slice(0,-1)},snapshot:G(n.after.document,n.after.mentions,n.after.selection)}},ye=e=>{if(e.altKey||e.ctrlKey||e.metaKey)return!1;switch(e.key){case`ArrowUp`:case`PageUp`:case`Home`:return!0;default:return!1}},J=(e,t)=>{let n=t instanceof Element?t:t instanceof Node?t.parentElement:null;for(;n&&n!==e;){if(n instanceof HTMLElement&&n.scrollTop>0&&n.scrollHeight>n.clientHeight+1)return!0;n=n.parentElement}return!1},Y=e=>{let t=(0,w.c)(15),{scrollRef:n,enabled:r,onUpwardIntent:i}=e,a=r===void 0||r,o=C.useRef(null),s;t[0]===i?s=t[1]:(s=()=>{i()},t[0]=i,t[1]=s);let c=m(s),l;t[2]!==c||t[3]!==n?(l=e=>{let t=n.current;t&&(e.deltaY>=0||t instanceof HTMLElement&&(J(t,e.target)||c()))},t[2]=c,t[3]=n,t[4]=l):l=t[4];let u=m(l),d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{let t=e.touches.item(0);o.current=t?t.clientY:null},t[5]=d):d=t[5];let f=m(d),p;t[6]!==c||t[7]!==n?(p=e=>{let t=n.current,r=e.touches.item(0);if(!r){o.current=null;return}let i=o.current;o.current=r.clientY,i!==null&&(r.clientY-i<=2||!t||!(t instanceof HTMLElement)||J(t,e.target)||c())},t[6]=c,t[7]=n,t[8]=p):p=t[8];let g=m(p),_;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{o.current=null},t[9]=_):_=t[9];let v=m(_),y;t[10]===c?y=t[11]:(y=e=>{ye(e)&&c()},t[10]=c,t[11]=y);let b=m(y),[x,S]=C.useState(null),T;t[12]===n?T=t[13]:(T=()=>{let e=n.current??null;S(t=>t===e?t:e)},t[12]=n,t[13]=T),C.useEffect(T);let E=a&&x?x:X,D;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(D={passive:!0},t[14]=D):D=t[14];let O=D;h(`wheel`,u,E,O),h(`touchstart`,f,E,O),h(`touchmove`,g,E,O),h(`touchend`,v,E,O),h(`touchcancel`,v,E,O),h(`keydown`,b,E)};function X(){}var be=e=>{if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.trunc(e);return t>=0?t:void 0},xe=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e.summary;return!t||typeof t!=`object`||Array.isArray(t)?null:t},Z=e=>{let t=be(e);return t!==void 0&&t>0?t:void 0};function Se(e){let t=xe(e);if(!t)return null;let n=Z(t.additions),r=Z(t.deletions),i=Z(t.files)??Z(t.diffCount);return n===void 0&&r===void 0&&i===void 0?null:{...n===void 0?{}:{additions:n},...r===void 0?{}:{deletions:r},...i===void 0?{}:{files:i}}}function Ce(e){if(!e)return null;let t=[];return e.additions!==void 0&&e.additions>0&&t.push(`+${e.additions}`),e.deletions!==void 0&&e.deletions>0&&t.push(`−${e.deletions}`),t.length>0?t.join(` `):null}function we(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=typeof t.providerID==`string`?t.providerID.trim():``,r=typeof t.modelID==`string`?t.modelID.trim():``;if(n&&r)return`${n}/${r}`;let i=t.model;if(typeof i==`string`&&i.trim())return i.trim();if(i&&typeof i==`object`&&!Array.isArray(i)){let e=i,t=typeof e.providerID==`string`?e.providerID.trim():typeof e.provider==`string`?e.provider.trim():``,n=typeof e.modelID==`string`?e.modelID.trim():typeof e.id==`string`?e.id.trim():``;if(t&&n)return`${t}/${n}`}return null}function Te(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;if(typeof t.branch==`string`&&t.branch.trim())return t.branch.trim();let n=t.project;if(n&&typeof n==`object`&&!Array.isArray(n)){let e=n.branch;if(typeof e==`string`&&e.trim())return e.trim()}return null}export{te as A,N as C,ie as D,A as E,ne as O,P as S,ae as T,R as _,ye as a,pe as b,G as c,q as d,K as f,z as g,V as h,we as i,O as j,ee as k,_e as l,B as m,Te as n,J as o,U as p,Se as r,Y as s,Ce as t,ve as u,me as v,M as w,fe as x,H as y};
@@ -1 +1 @@
1
- import{nt as e}from"./vendor-base-ui-CnHfUmDN.js";import{Nt as t}from"./platform-wu6wSDfg.js";import{n}from"./vendor-react-DLPElpoQ.js";import{f as r,r as i}from"./button-CUwjpv-i.js";import{x as a}from"./MobileDetailNavigation-C9097prS.js";import{Dr as o,Vr as s,wr as c}from"./useMobileNavigationStore-BjIptzTV.js";var l=n(),u=e();function d(e){let t=(0,l.c)(10),{count:n,className:a}=e,{t:o}=r();if(!(n>0))return null;let s;t[0]===a?s=t[1]:(s=i(`inline-flex h-[18px] min-w-[18px] shrink-0 items-center justify-center rounded-full bg-[var(--status-info)] px-1.5 typography-micro font-semibold leading-none text-[var(--status-info-foreground)] tabular-nums shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--status-info-foreground)_15%,transparent)]`,a),t[0]=a,t[1]=s);let c;t[2]!==n||t[3]!==o?(c=o(`assistants.unread.label`,{count:n}),t[2]=n,t[3]=o,t[4]=c):c=t[4];let d=n>99?`99+`:n,f;return t[5]!==n||t[6]!==s||t[7]!==c||t[8]!==d?(f=(0,u.jsx)(`span`,{className:s,"aria-label":c,"data-assistant-unread-count":n,children:d}),t[5]=n,t[6]=s,t[7]=c,t[8]=d,t[9]=f):f=t[9],f}function f(e){let t=(0,l.c)(3),{className:n}=e,r=a(),i;return t[0]!==n||t[1]!==r?(i=(0,u.jsx)(d,{count:r,className:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function p(e){if(!e||e.trim().length===0)return null;let t=o.getState(),n=t.activeSessions.find(t=>t.id===e)??t.archivedSessions.find(t=>t.id===e)??null;if(!n)return null;let r=c(n);return r?{sessionId:e,directory:r,session:n,fromCache:!t.hasLoaded,source:`memory`}:null}function m(e){return p(e)?.directory??null}var h=new Map;async function g(e,n){let r=e.trim();if(!r)return null;let i=p(r);if(i)return i;let a=h.get(r);if(a)return a;let o=(async()=>{let e=p(r);if(e)return e;let i=await s(r,{signal:n?.signal});if(i?.directory)return{sessionId:i.id,directory:i.directory,session:null,fromCache:!1,source:`session-index`};if(n?.trySessionGet===!1)return null;try{let e=await t.getSession(r),n=typeof e.directory==`string`&&e.directory.trim()||(typeof e.project?.worktree==`string`?e.project.worktree.trim():``)||null;return n?{sessionId:r,directory:n,session:e,fromCache:!1,source:`session-get`}:null}catch{return null}})().finally(()=>{h.get(r)===o&&h.delete(r)});return h.set(r,o),o}export{d as a,f as i,m as n,g as r,p as t};
1
+ import{nt as e}from"./vendor-base-ui-CnHfUmDN.js";import{Nt as t}from"./platform-wu6wSDfg.js";import{n}from"./vendor-react-DLPElpoQ.js";import{f as r,r as i}from"./button-CUwjpv-i.js";import{x as a}from"./MobileDetailNavigation-xaAVkxD-.js";import{Kr as o,Mr as s,kr as c}from"./useMobileNavigationStore-DBML5LIl.js";var l=n(),u=e();function d(e){let t=(0,l.c)(10),{count:n,className:a}=e,{t:o}=r();if(!(n>0))return null;let s;t[0]===a?s=t[1]:(s=i(`inline-flex h-[18px] min-w-[18px] shrink-0 items-center justify-center rounded-full bg-[var(--status-info)] px-1.5 typography-micro font-semibold leading-none text-[var(--status-info-foreground)] tabular-nums shadow-[inset_0_0_0_1px_color-mix(in_srgb,var(--status-info-foreground)_15%,transparent)]`,a),t[0]=a,t[1]=s);let c;t[2]!==n||t[3]!==o?(c=o(`assistants.unread.label`,{count:n}),t[2]=n,t[3]=o,t[4]=c):c=t[4];let d=n>99?`99+`:n,f;return t[5]!==n||t[6]!==s||t[7]!==c||t[8]!==d?(f=(0,u.jsx)(`span`,{className:s,"aria-label":c,"data-assistant-unread-count":n,children:d}),t[5]=n,t[6]=s,t[7]=c,t[8]=d,t[9]=f):f=t[9],f}function f(e){let t=(0,l.c)(3),{className:n}=e,r=a(),i;return t[0]!==n||t[1]!==r?(i=(0,u.jsx)(d,{count:r,className:n}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i}function p(e){if(!e||e.trim().length===0)return null;let t=s.getState(),n=t.activeSessions.find(t=>t.id===e)??t.archivedSessions.find(t=>t.id===e)??null;if(!n)return null;let r=c(n);return r?{sessionId:e,directory:r,session:n,fromCache:!t.hasLoaded,source:`memory`}:null}function m(e){return p(e)?.directory??null}var h=new Map;async function g(e,n){let r=e.trim();if(!r)return null;let i=p(r);if(i)return i;let a=h.get(r);if(a)return a;let s=(async()=>{let e=p(r);if(e)return e;let i=await o(r,{signal:n?.signal});if(i?.directory)return{sessionId:i.id,directory:i.directory,session:null,fromCache:!1,source:`session-index`};if(n?.trySessionGet===!1)return null;try{let e=await t.getSession(r),n=typeof e.directory==`string`&&e.directory.trim()||(typeof e.project?.worktree==`string`?e.project.worktree.trim():``)||null;return n?{sessionId:r,directory:n,session:e,fromCache:!1,source:`session-get`}:null}catch{return null}})().finally(()=>{h.get(r)===s&&h.delete(r)});return h.set(r,s),s}export{d as a,f as i,m as n,g as r,p as t};