@vellumai/web 0.11.4-dev.202608201513.9b3b830 → 0.11.4-dev.202608201611.db9392e

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 (22) hide show
  1. package/dist/assets/{acp-run-detail-panel-DbUV0nPN.js → acp-run-detail-panel-CUQU7NjK.js} +1 -1
  2. package/dist/assets/{activity-steps-panel-B1qLS9b4.js → activity-steps-panel-BTcWQoQ-.js} +1 -1
  3. package/dist/assets/{background-task-detail-panel-Dsa6UIjB.js → background-task-detail-panel-Bd1Tk3IL.js} +1 -1
  4. package/dist/assets/{channels-page-route-C7XLhJzB.js → channels-page-route-Dk6C7UXE.js} +1 -1
  5. package/dist/assets/{chat-markdown-message-Bvi03_n9.js → chat-markdown-message-BC-UF8DZ.js} +1 -1
  6. package/dist/assets/companion-surface-page-CrQuuF3_.js +1 -0
  7. package/dist/assets/{document-viewer-page-D9EQ0A9B.js → document-viewer-page-GtM69Wnz.js} +1 -1
  8. package/dist/assets/{index-B9Vy2se0.js → index-l77_Jh7j.js} +1 -1
  9. package/dist/assets/{library-detail-page-BiOVUZgY.js → library-detail-page-BKf3X-7-.js} +1 -1
  10. package/dist/assets/{logs-layout-pvzP0q8N.js → logs-layout-BtnaSbVT.js} +1 -1
  11. package/dist/assets/{open-workspace-file-CHqRW_FU.js → open-workspace-file-CkAkrrW2.js} +2 -2
  12. package/dist/assets/{routes-CfX1ii5d.js → routes-D24Ara4a.js} +4 -4
  13. package/dist/assets/{select-assistant-screen-CsDAceI6.js → select-assistant-screen-BAS1nCAA.js} +1 -1
  14. package/dist/assets/{settings-layout-C50s0_Fd.js → settings-layout-ByUQtD_a.js} +1 -1
  15. package/dist/assets/{sidebar-tree-C-Z4RZJ4.js → sidebar-tree-C2abC5qW.js} +1 -1
  16. package/dist/assets/{skill-detail-page-MNrR0Idz.js → skill-detail-page-BnA3Y9HB.js} +1 -1
  17. package/dist/assets/{subagent-detail-panel-DpTfnhi0.js → subagent-detail-panel-BY7NGrNV.js} +1 -1
  18. package/dist/assets/{tool-detail-panel-5tteheYt.js → tool-detail-panel-BcIGIX3-.js} +1 -1
  19. package/dist/assets/{use-edge-swipe-back-CgEphemz.js → use-edge-swipe-back-qAnPjuSy.js} +2 -2
  20. package/dist/index.html +4 -4
  21. package/package.json +1 -1
  22. package/dist/assets/companion-surface-page-0y2LVTA0.js +0 -1
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-u47kRfIQ.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-VkxVX0DM.js";import{t as i}from"./jsx-runtime-BJ8jcmzB.js";import{t as a}from"./typography-DekrYXvs.js";import{t as o}from"./createLucideIcon-B-ZPaMbU.js";import{t as s}from"./arrow-down-to-line-BuKRLRZS.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./acp-run-actions-CC73slKc.js";import{n as m,r as h,t as g}from"./metric-card-q2gCgn5b.js";import{t as _}from"./brain-9Csfs96f.js";import{t as v}from"./chevron-down-D1ho6wFA.js";import{t as y}from"./chevron-left-D29BeQ4x.js";import{t as b}from"./chevron-right-DTpkwA4e.js";import{t as x}from"./circle-check-BQyrCkaB.js";import{t as S}from"./circle-minus-DgUiTTwX.js";import{w as C}from"./menu-noj9Ohcf.js";import{t as w}from"./code-B7TA1KYq.js";import{t as T}from"./file-text-BEpL7wIA.js";import{t as E}from"./globe-BJuNFSn-.js";import{t as D}from"./chat-markdown-message-Bvi03_n9.js";import{t as ee}from"./repeat-ORyt0N0E.js";import{t as te}from"./search-FGnzWjRX.js";import{t as ne}from"./send-CnqSHaqf.js";import{t as O}from"./terminal-CIR8bWcg.js";import{t as k}from"./trash-2-DnajdgJS.js";import{t as re}from"./triangle-alert-B-18Pims.js";import"./src-Ch3HTlFm.js";import{t as ie}from"./tag-Ddzwz3ij.js";import{a as A,i as ae,n as j,r as M}from"./acp-run-store-183gczJG.js";import{t as N}from"./three-dot-indicator-os9PYk-m.js";import{n as oe}from"./detail-shell-BhsB3DjJ.js";import{t as se}from"./diff-rows-VHcvi5AW.js";import{n as ce,t as le}from"./status-badge-pill-DCEE1meW.js";var ue=o(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),P=e(n(),1),F=``;function I(e,t){switch(e){case`complete`:case`completed`:return`completed`;case`failed`:case`error`:return`error`;case void 0:return t;default:return`running`}}function de(e){return(e.messageId?.startsWith(`local-marker-`)??!1)||(e.content?.startsWith(`↻ Steering: `)??!1)}function L(e){let t=e??``;return t.startsWith(`↻ Steering: `)?t.slice(j.length):t}function R(e){let t=e[e.length-1];t&&(t.kind===`agent`||t.kind===`thinking`)&&!t.isComplete&&(e[e.length-1]={...t,isComplete:!0})}function z(e,t){if(t.updateType===`agent_message_chunk`&&de(t)){R(e),e.push({kind:`user`,id:t.messageId??`steer-${e.length}`,content:L(t.content)});return}switch(t.updateType){case`user_message_chunk`:{let n=t.messageId??F,r=L(t.content),i=e[e.length-1];i&&i.kind===`user`&&i.id===n?e[e.length-1]={...i,content:i.content+r}:(R(e),e.push({kind:`user`,id:n,content:r}));let a=e[e.length-1].content;for(let t=0;t<e.length-1;t++){let n=e[t];if(n.kind===`user`&&n.id.startsWith(`local-marker-`)&&n.content===a){e.splice(t,1);break}}return}case`agent_message_chunk`:{let n=t.messageId??F,r=e[e.length-1];if(r&&r.kind===`agent`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}if(n!==F&&r&&r.kind===`agent`&&r.messageId===F&&!r.isComplete&&r.content===(t.content??``)){e[e.length-1]={...r,messageId:n};return}R(e),e.push({kind:`agent`,messageId:n,content:t.content??``,isComplete:!1});return}case`agent_thought_chunk`:{let n=t.messageId??F,r=e[e.length-1];if(r&&r.kind===`thinking`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}R(e),e.push({kind:`thinking`,messageId:n,content:t.content??``,isComplete:!1});return}case`tool_call`:{let n=t.toolCallId;if(n===void 0)return;R(e),e.push({kind:`tool`,toolCallId:n,title:t.toolTitle??``,toolKind:t.toolKind,status:I(t.toolStatus,`running`),content:t.content,locations:B(t),rawInput:t.rawInput,rawOutput:t.rawOutput});return}case`tool_call_update`:{let n=t.toolCallId;if(n===void 0)return;let r=e.findIndex(e=>e.kind===`tool`&&e.toolCallId===n);if(r===-1)return;let i=e[r],a=B(t);e[r]={...i,title:t.toolTitle??i.title,toolKind:t.toolKind??i.toolKind,status:I(t.toolStatus,i.status),content:t.content??i.content,locations:a??i.locations,rawInput:t.rawInput===void 0?i.rawInput:t.rawInput,rawOutput:t.rawOutput===void 0?i.rawOutput:t.rawOutput};return}case`plan`:{let n=V(t.content);if(n===null)return;let r=e.findIndex(e=>e.kind===`plan`),i={kind:`plan`,entries:n};r===-1?(R(e),e.push(i)):e[r]=i;return}}}function B(e){let t=e.locations;if(!Array.isArray(t))return;let n=[];for(let e of t){let t=e??{};typeof t.path==`string`&&n.push(typeof t.line==`number`?{path:t.path,line:t.line}:{path:t.path})}return n}function V(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}let n=Array.isArray(t)?t:Array.isArray(t?.entries)?t.entries:null;return n===null?null:n.map(e=>{let t=e??{},n=t.content??t.label??``;return{label:typeof n==`string`?n:String(n),checked:t.checked===!0||t.status===`completed`}})}function H(e){let t=[];for(let n of e)z(t,n);return t}function fe(e,t){if(e===t)return{kind:`identity`};if(e===null)return{kind:`first`};if(t.length<e.length)return{kind:`fallback`};for(let n=0;n<e.length;n++)if(e[n]!==t[n])return n===e.length-1&&t.length===e.length?{kind:`mutate-last`}:{kind:`fallback`};return t.length===e.length?{kind:`identity`}:{kind:`append`,from:e.length}}function pe(){let e=null,t=[];function n(n){return t=H(n),e=n,t}function r(r){let i=fe(e,r);switch(i.kind){case`identity`:return t;case`first`:return n(r);case`append`:{let n=t.slice();for(let e=i.from;e<r.length;e++)z(n,r[e]);return e=r,t=n,t}case`mutate-last`:case`fallback`:return n(r)}}return{project:r}}function me(e){let t=(0,P.useRef)(null);return t.current??=pe(),t.current.project(e)}function U(e){if(!e)return[];let t;try{t=JSON.parse(e)}catch{let t=e.trimStart();return t.startsWith(`{`)||t.startsWith(`[`)?[]:[{type:`content`,text:e}]}let n=Array.isArray(t)?t:[t],r=[];for(let e of n){let t=he(e);t&&r.push(t)}return r}function he(e){if(typeof e!=`object`||!e)return null;let t=e;switch(t.type){case`content`:return{type:`content`,text:ge(t.content)};case`diff`:return typeof t.path!=`string`||typeof t.newText!=`string`?null:{type:`diff`,path:t.path,newText:t.newText,...typeof t.oldText==`string`?{oldText:t.oldText}:{}};case`terminal`:{let e=_e(t);return e===void 0?{type:`terminal`}:{type:`terminal`,text:e}}default:return null}}function ge(e){if(typeof e==`string`)return e;if(typeof e==`object`&&e){let t=e.text;if(typeof t==`string`)return t}return``}function _e(e){if(typeof e.text==`string`)return e.text;if(typeof e.output==`string`)return e.output;if(typeof e.content==`string`)return e.content;if(typeof e.content==`object`&&e.content!==null){let t=e.content.text;if(typeof t==`string`)return t}}function W(e){if(typeof e!=`object`||!e)return;let t=e.command;return typeof t==`string`?t:void 0}function G(e){return U(e).filter(e=>e.type===`content`||e.type===`terminal`).map(e=>`text`in e?e.text??``:``).filter(e=>e.length>0).join(`
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-u47kRfIQ.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-VkxVX0DM.js";import{t as i}from"./jsx-runtime-BJ8jcmzB.js";import{t as a}from"./typography-DekrYXvs.js";import{t as o}from"./createLucideIcon-B-ZPaMbU.js";import{t as s}from"./arrow-down-to-line-BuKRLRZS.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./acp-run-actions-CC73slKc.js";import{n as m,r as h,t as g}from"./metric-card-q2gCgn5b.js";import{t as _}from"./brain-9Csfs96f.js";import{t as v}from"./chevron-down-D1ho6wFA.js";import{t as y}from"./chevron-left-D29BeQ4x.js";import{t as b}from"./chevron-right-DTpkwA4e.js";import{t as x}from"./circle-check-BQyrCkaB.js";import{t as S}from"./circle-minus-DgUiTTwX.js";import{w as C}from"./menu-noj9Ohcf.js";import{t as w}from"./code-B7TA1KYq.js";import{t as T}from"./file-text-BEpL7wIA.js";import{t as E}from"./globe-BJuNFSn-.js";import{t as D}from"./chat-markdown-message-BC-UF8DZ.js";import{t as ee}from"./repeat-ORyt0N0E.js";import{t as te}from"./search-FGnzWjRX.js";import{t as ne}from"./send-CnqSHaqf.js";import{t as O}from"./terminal-CIR8bWcg.js";import{t as k}from"./trash-2-DnajdgJS.js";import{t as re}from"./triangle-alert-B-18Pims.js";import"./src-Ch3HTlFm.js";import{t as ie}from"./tag-Ddzwz3ij.js";import{a as A,i as ae,n as j,r as M}from"./acp-run-store-183gczJG.js";import{t as N}from"./three-dot-indicator-os9PYk-m.js";import{n as oe}from"./detail-shell-BhsB3DjJ.js";import{t as se}from"./diff-rows-VHcvi5AW.js";import{n as ce,t as le}from"./status-badge-pill-DCEE1meW.js";var ue=o(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),P=e(n(),1),F=``;function I(e,t){switch(e){case`complete`:case`completed`:return`completed`;case`failed`:case`error`:return`error`;case void 0:return t;default:return`running`}}function de(e){return(e.messageId?.startsWith(`local-marker-`)??!1)||(e.content?.startsWith(`↻ Steering: `)??!1)}function L(e){let t=e??``;return t.startsWith(`↻ Steering: `)?t.slice(j.length):t}function R(e){let t=e[e.length-1];t&&(t.kind===`agent`||t.kind===`thinking`)&&!t.isComplete&&(e[e.length-1]={...t,isComplete:!0})}function z(e,t){if(t.updateType===`agent_message_chunk`&&de(t)){R(e),e.push({kind:`user`,id:t.messageId??`steer-${e.length}`,content:L(t.content)});return}switch(t.updateType){case`user_message_chunk`:{let n=t.messageId??F,r=L(t.content),i=e[e.length-1];i&&i.kind===`user`&&i.id===n?e[e.length-1]={...i,content:i.content+r}:(R(e),e.push({kind:`user`,id:n,content:r}));let a=e[e.length-1].content;for(let t=0;t<e.length-1;t++){let n=e[t];if(n.kind===`user`&&n.id.startsWith(`local-marker-`)&&n.content===a){e.splice(t,1);break}}return}case`agent_message_chunk`:{let n=t.messageId??F,r=e[e.length-1];if(r&&r.kind===`agent`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}if(n!==F&&r&&r.kind===`agent`&&r.messageId===F&&!r.isComplete&&r.content===(t.content??``)){e[e.length-1]={...r,messageId:n};return}R(e),e.push({kind:`agent`,messageId:n,content:t.content??``,isComplete:!1});return}case`agent_thought_chunk`:{let n=t.messageId??F,r=e[e.length-1];if(r&&r.kind===`thinking`&&r.messageId===n){e[e.length-1]={...r,content:r.content+(t.content??``)};return}R(e),e.push({kind:`thinking`,messageId:n,content:t.content??``,isComplete:!1});return}case`tool_call`:{let n=t.toolCallId;if(n===void 0)return;R(e),e.push({kind:`tool`,toolCallId:n,title:t.toolTitle??``,toolKind:t.toolKind,status:I(t.toolStatus,`running`),content:t.content,locations:B(t),rawInput:t.rawInput,rawOutput:t.rawOutput});return}case`tool_call_update`:{let n=t.toolCallId;if(n===void 0)return;let r=e.findIndex(e=>e.kind===`tool`&&e.toolCallId===n);if(r===-1)return;let i=e[r],a=B(t);e[r]={...i,title:t.toolTitle??i.title,toolKind:t.toolKind??i.toolKind,status:I(t.toolStatus,i.status),content:t.content??i.content,locations:a??i.locations,rawInput:t.rawInput===void 0?i.rawInput:t.rawInput,rawOutput:t.rawOutput===void 0?i.rawOutput:t.rawOutput};return}case`plan`:{let n=V(t.content);if(n===null)return;let r=e.findIndex(e=>e.kind===`plan`),i={kind:`plan`,entries:n};r===-1?(R(e),e.push(i)):e[r]=i;return}}}function B(e){let t=e.locations;if(!Array.isArray(t))return;let n=[];for(let e of t){let t=e??{};typeof t.path==`string`&&n.push(typeof t.line==`number`?{path:t.path,line:t.line}:{path:t.path})}return n}function V(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}let n=Array.isArray(t)?t:Array.isArray(t?.entries)?t.entries:null;return n===null?null:n.map(e=>{let t=e??{},n=t.content??t.label??``;return{label:typeof n==`string`?n:String(n),checked:t.checked===!0||t.status===`completed`}})}function H(e){let t=[];for(let n of e)z(t,n);return t}function fe(e,t){if(e===t)return{kind:`identity`};if(e===null)return{kind:`first`};if(t.length<e.length)return{kind:`fallback`};for(let n=0;n<e.length;n++)if(e[n]!==t[n])return n===e.length-1&&t.length===e.length?{kind:`mutate-last`}:{kind:`fallback`};return t.length===e.length?{kind:`identity`}:{kind:`append`,from:e.length}}function pe(){let e=null,t=[];function n(n){return t=H(n),e=n,t}function r(r){let i=fe(e,r);switch(i.kind){case`identity`:return t;case`first`:return n(r);case`append`:{let n=t.slice();for(let e=i.from;e<r.length;e++)z(n,r[e]);return e=r,t=n,t}case`mutate-last`:case`fallback`:return n(r)}}return{project:r}}function me(e){let t=(0,P.useRef)(null);return t.current??=pe(),t.current.project(e)}function U(e){if(!e)return[];let t;try{t=JSON.parse(e)}catch{let t=e.trimStart();return t.startsWith(`{`)||t.startsWith(`[`)?[]:[{type:`content`,text:e}]}let n=Array.isArray(t)?t:[t],r=[];for(let e of n){let t=he(e);t&&r.push(t)}return r}function he(e){if(typeof e!=`object`||!e)return null;let t=e;switch(t.type){case`content`:return{type:`content`,text:ge(t.content)};case`diff`:return typeof t.path!=`string`||typeof t.newText!=`string`?null:{type:`diff`,path:t.path,newText:t.newText,...typeof t.oldText==`string`?{oldText:t.oldText}:{}};case`terminal`:{let e=_e(t);return e===void 0?{type:`terminal`}:{type:`terminal`,text:e}}default:return null}}function ge(e){if(typeof e==`string`)return e;if(typeof e==`object`&&e){let t=e.text;if(typeof t==`string`)return t}return``}function _e(e){if(typeof e.text==`string`)return e.text;if(typeof e.output==`string`)return e.output;if(typeof e.content==`string`)return e.content;if(typeof e.content==`object`&&e.content!==null){let t=e.content.text;if(typeof t==`string`)return t}}function W(e){if(typeof e!=`object`||!e)return;let t=e.command;return typeof t==`string`?t:void 0}function G(e){return U(e).filter(e=>e.type===`content`||e.type===`terminal`).map(e=>`text`in e?e.text??``:``).filter(e=>e.length>0).join(`
2
2
  `)}function K(e){if(e!=null){if(typeof e==`string`)return e;if(typeof e==`object`)try{return JSON.stringify(e,null,2)}catch{return String(e)}return String(e)}}function q(e,t){let n=new Map;for(let t of e)t.type===`diff`&&n.set(t.path,{path:t.path,newText:t.newText,...t.oldText===void 0?{}:{oldText:t.oldText}});for(let e of t??[])n.has(e.path)||n.set(e.path,{path:e.path});return Array.from(n.values())}var J=i();function ve({content:e,isComplete:t,assistantId:n}){return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-agent-message`,className:`flex w-full flex-col items-start text-chat text-[var(--content-default)]`,children:[(0,J.jsx)(D,{content:e,assistantId:n}),!t&&(0,J.jsx)(N,{className:`mt-1`,"data-testid":`acp-chat-agent-streaming`})]})}function ye({entries:e}){return e.length===0?null:(0,J.jsxs)(`div`,{"data-testid":`acp-chat-plan-block`,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center gap-1.5 text-[var(--content-tertiary)]`,children:[(0,J.jsx)(l,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(a,{variant:`body-small-emphasised`,className:`text-inherit`,children:`Plan`})]}),(0,J.jsx)(`ul`,{className:`flex flex-col gap-1.5`,children:e.map((e,t)=>(0,J.jsxs)(`li`,{"data-testid":`acp-chat-plan-entry`,"data-checked":e.checked,className:`flex items-start gap-2`,children:[e.checked?(0,J.jsx)(x,{"aria-hidden":!0,className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}):(0,J.jsx)(C,{"aria-hidden":!0,className:`mt-0.5 h-4 w-4 shrink-0 text-[var(--content-disabled)]`}),(0,J.jsx)(`span`,{className:e.checked?`text-body-small-default text-[var(--content-tertiary)] line-through`:`text-body-small-default text-[var(--content-default)]`,children:e.label})]},t))})]})}function be(e){switch(e){case`max_tokens`:case`max_turn_requests`:return`Stopped: limit reached`;case`refusal`:return`Refused`;case`cancelled`:return`Cancelled`;default:return`Completed`}}function xe(e){return new Date(e).toLocaleTimeString([],{hour:`numeric`,minute:`2-digit`})}function Y({completedAt:e}){return e===void 0?null:(0,J.jsxs)(`span`,{"data-testid":`acp-chat-terminal-time`,children:[`at `,xe(e)]})}function Se({status:e,stopReason:t,error:n,completedAt:r}){if(A(e))return null;if(e===`failed`)return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`failed`,className:`flex items-start gap-2 rounded-lg bg-[var(--system-negative-weak)] px-3 py-2 text-body-small-default text-[var(--system-negative-strong)]`,children:[(0,J.jsx)(`span`,{"aria-hidden":!0,"data-testid":`acp-chat-terminal-failed-icon`,className:`flex h-[12px] w-4 shrink-0 items-center justify-center`,children:(0,J.jsx)(re,{className:`h-4 w-4`})}),(0,J.jsx)(`span`,{children:n??`Run failed`})]});if(e===`cancelled`)return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`cancelled`,className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(S,{"aria-hidden":!0,className:`h-4 w-4 shrink-0`}),(0,J.jsx)(`span`,{children:`Cancelled`}),(0,J.jsx)(Y,{completedAt:r})]});let i=be(t);return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-terminal-block`,"data-terminal-kind":`completed`,className:`flex items-center gap-2 text-body-small-default text-[var(--content-tertiary)]`,children:[(0,J.jsx)(x,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--system-positive-strong)]`}),(0,J.jsx)(`span`,{children:i}),(0,J.jsx)(Y,{completedAt:r})]})}function Ce({showDot:e,isLast:t,children:n}){return(0,J.jsxs)(`div`,{className:`relative flex items-start gap-2${t?``:` pb-4`}`,children:[!t&&(0,J.jsx)(`div`,{"aria-hidden":!0,className:`absolute bottom-0 left-[6.5px] w-px bg-[var(--border-element)] ${e?`top-[16px]`:`top-0`}`}),e?(0,J.jsx)(`span`,{"aria-hidden":!0,"data-testid":`acp-chat-timeline-dot`,className:`flex h-[14px] w-[14px] shrink-0 items-center justify-center`,children:(0,J.jsx)(`span`,{className:`h-[5px] w-[5px] rounded-full bg-[var(--content-disabled)]`})}):(0,J.jsx)(`span`,{"aria-hidden":!0,className:`h-[14px] w-[14px] shrink-0`}),(0,J.jsx)(`div`,{className:`min-w-0 flex-1`,children:n})]})}function we({content:e,isComplete:t,assistantId:n}){let[r,i]=(0,P.useState)(null),a=r??!t,o=e.trim().length>0,s=t?`Thought process`:`Thinking`,c=t?(0,J.jsx)(_,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,J.jsx)(N,{dotSize:5,className:`shrink-0`,"data-testid":`acp-chat-thinking-streaming`});return o?(0,J.jsxs)(`div`,{"data-testid":`acp-chat-thinking-block`,className:`w-full`,children:[(0,J.jsxs)(`button`,{type:`button`,"aria-expanded":a,onClick:()=>i(!a),"data-testid":`acp-chat-thinking-toggle`,className:`flex w-full items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)]`,children:[a?(0,J.jsx)(v,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,J.jsx)(b,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),c,(0,J.jsx)(`span`,{children:s})]}),a&&(0,J.jsx)(`div`,{"data-testid":`acp-chat-thinking-body`,className:`mt-1.5 border-l-2 border-[var(--border-base)] pl-3 text-body-small-default text-[var(--content-tertiary)]`,children:(0,J.jsx)(D,{content:e,assistantId:n})})]}):(0,J.jsx)(`div`,{"data-testid":`acp-chat-thinking-block`,className:`w-full`,children:(0,J.jsxs)(`div`,{className:`flex w-full items-center gap-1.5 text-body-small-default text-[var(--content-tertiary)]`,children:[c,(0,J.jsx)(`span`,{children:s})]})})}var Te={running:`neutral`,completed:`positive`,error:`negative`,ended:`neutral`},Ee={running:`Running`,completed:`Completed`,error:`Failed`,ended:`Ended`},De={read:`Read file`,edit:`Edit file`,delete:`Delete file`,move:`Move file`,search:`Search`,execute:`Run command`,think:`Thinking`,fetch:`Fetch`,switch_mode:`Switch mode`},Oe=`Tool call`,ke={read:T,edit:ue,delete:k,move:c,search:te,execute:O,think:_,fetch:E,switch_mode:ee},Ae=new Set([`read`,`edit`,`delete`,`move`]);function je({toolKind:e}){return(0,J.jsx)(e&&ke[e]||w,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)]`})}function X({label:e,value:t,testId:n}){return(0,J.jsxs)(`div`,{"data-testid":n,children:[(0,J.jsx)(`div`,{className:`mb-1 text-body-small-default text-[var(--content-tertiary)]`,children:e}),(0,J.jsx)(`pre`,{className:`max-h-60 overflow-auto rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] p-2.5 font-mono text-body-small-default text-[var(--content-secondary)]`,children:t})]})}function Me({block:e,isTerminal:t=!1,onOpenDiff:n,onOpenOutput:r}){let[i,o]=(0,P.useState)(!1),s=(0,P.useMemo)(()=>U(e.content),[e.content]),c=(0,P.useMemo)(()=>G(e.content),[e.content]),l=(0,P.useMemo)(()=>c.split(`
3
3
  `).map(e=>e.trim()).find(e=>e.length>0&&!e.startsWith("```"))||`View output`,[c]),u=(0,P.useMemo)(()=>q(s,e.locations),[s,e.locations]),d=t&&e.status===`running`?`ended`:e.status,f=d===`running`,p=e.toolKind&&De[e.toolKind]||Oe,m=W(e.rawInput)??e.title,h=m&&m!==p&&(!Ae.has(e.toolKind??``)||u.length===0)?m:null,g=K(e.rawInput),_=K(e.rawOutput),y=g!==void 0||_!==void 0;return(0,J.jsxs)(`div`,{"data-testid":`acp-chat-tool-card`,"data-status":e.status,className:`w-full rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(je,{toolKind:e.toolKind}),(0,J.jsx)(a,{variant:`body-small-emphasised`,className:`min-w-0 flex-1 truncate text-[var(--content-default)]`,title:e.title,children:p}),(0,J.jsx)(ie,{tone:Te[d],"data-testid":`acp-chat-tool-status`,children:Ee[d]}),f&&(0,J.jsx)(N,{className:`shrink-0`,"data-testid":`acp-chat-tool-running`})]}),h&&(0,J.jsx)(`div`,{"data-testid":`acp-chat-tool-detail`,className:`mt-1.5 font-mono text-body-small-default whitespace-pre-wrap break-words text-[var(--content-secondary)]`,children:h}),u.length>0&&(0,J.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:u.map(t=>{let r=t.oldText!==void 0||t.newText!==void 0,i=`flex max-w-full items-center gap-1.5 rounded-md border border-[var(--border-base)] bg-[var(--surface-base)] px-2 py-1 text-body-small-default text-[var(--content-secondary)]`;return r?(0,J.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-file-chip`,onClick:()=>n(e.toolCallId,t),title:t.path,className:`${i} cursor-pointer transition-colors hover:bg-[var(--surface-hover)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,children:[(0,J.jsx)(T,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate font-mono`,children:t.path})]},t.path):(0,J.jsxs)(`span`,{"data-testid":`acp-chat-tool-file-ref`,title:t.path,className:i,children:[(0,J.jsx)(T,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate font-mono`,children:t.path})]},t.path)})}),c.length>0&&(0,J.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-output-open`,onClick:()=>r?.(e.toolCallId),className:`mt-2 flex w-full items-center gap-2 rounded-md border border-[var(--border-element)] bg-[var(--surface-base)] px-2.5 py-2 text-left transition-colors hover:bg-[var(--surface-hover)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-[var(--border-focus)]`,children:[(0,J.jsx)(O,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`}),(0,J.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-body-small-default text-[var(--content-secondary)]`,children:l}),(0,J.jsx)(b,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 text-[var(--content-tertiary)]`})]}),y&&(0,J.jsxs)(`div`,{className:`mt-2`,"data-testid":`acp-chat-tool-raw`,children:[(0,J.jsxs)(`button`,{type:`button`,"data-testid":`acp-chat-tool-raw-toggle`,"aria-expanded":i,onClick:()=>o(e=>!e),className:`flex items-center gap-1 text-body-small-default text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-default)]`,children:[i?(0,J.jsx)(v,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}):(0,J.jsx)(b,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{children:i?`Hide raw input/output`:`Show raw input/output`})]}),i&&(0,J.jsxs)(`div`,{className:`mt-1.5 flex flex-col gap-2`,children:[g!==void 0&&(0,J.jsx)(X,{label:`Raw input`,value:g,testId:`acp-chat-tool-raw-input`}),_!==void 0&&(0,J.jsx)(X,{label:`Raw output`,value:_,testId:`acp-chat-tool-raw-output`})]})]})]})}function Ne({content:e}){return(0,J.jsx)(`div`,{"data-testid":`acp-chat-user-turn`,className:`flex w-full justify-end`,children:(0,J.jsx)(`div`,{className:`max-w-[80%] rounded-lg bg-[var(--surface-lift)] px-4 py-3 whitespace-pre-wrap text-chat text-[var(--content-default)]`,children:e})})}function Pe({content:e,assistantId:t}){return(0,J.jsx)(`div`,{"data-testid":`acp-chat-command-output`,className:`rounded-lg border border-[var(--border-base)] bg-[var(--surface-overlay)] p-3 [&_pre]:!max-h-none`,children:(0,J.jsx)(D,{content:G(e),hardLineBreaks:!0,assistantId:t})})}var Z=2e3;function Q(e){if(e===``)return[];let t=e.split(`
4
4
  `);return e.endsWith(`
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-VkxVX0DM.js";import{t as r}from"./jsx-runtime-BJ8jcmzB.js";import{t as i}from"./typography-DekrYXvs.js";import{n as a,t as o,y as s}from"./message-content-C1CZhGIc.js";import{_ as c,a as l,f as u,g as d,i as f,r as p,v as m,y as h}from"./transcript-message-body-shared-DrK4B3Ph.js";import{t as g}from"./chevron-left-D29BeQ4x.js";import{t as _}from"./chat-markdown-message-Bvi03_n9.js";import"./src-Ch3HTlFm.js";import"./i18n-DRUiM4wH.js";import{t as v}from"./useTranslation-CR3ZnQ9P.js";import{t as y}from"./workflow-store-CHfTybGB.js";import{t as b}from"./background-task-store-LBGlKur3.js";import{r as x}from"./acp-run-store-183gczJG.js";import{a as S,g as C,i as w,n as T,r as E,s as D,w as O,x as k}from"./site-favicon-D5ZGXA0F.js";import{t as A}from"./detail-shell-BhsB3DjJ.js";import{t as j}from"./use-transcript-message-by-id-DBNERn9w.js";import{ToolDetailBody as M,t as N}from"./tool-detail-panel-5tteheYt.js";var P=e(t(),1);function F(e,t,n){let r=f(t,n.workflow),i=e=>{let t=u(e,n.workflow.byToolUseId);if(t!==null&&r.has(t))return!0;let i=p(e,n.acpByToolUseId);if(i!==null&&n.acpById[i]!==void 0)return!0;let a=l(e);return a!==void 0&&n.backgroundTaskById[a]!==void 0},a=t.filter(e=>!i(e));if(a.length===t.length)return{items:e,toolCalls:t};let o=new Set(a.map(e=>e.id));return{items:e.filter(e=>e.kind!==`toolCall`||o.has(e.toolCall.id)),toolCalls:a}}function I(e,t){let n=j(e),r=y.use.byId(),i=y.use.byToolUseId(),s=y.use.notFoundRunIds(),c=y.use.hydrationFailedRunIds(),l=x.use.byId(),u=x.use.byToolUseId(),d=b.use.byId();return(0,P.useMemo)(()=>{if(!n||t==null)return null;let e=a(n.contentBlocks??[],{splitInlineThinking:n.role!==`user`})[t];if(!e||e.type!==`activity`)return null;let{cardItems:f,toolCalls:p}=o(e.items);return F(f,p,{workflow:{byId:r,byToolUseId:i,notFoundRunIds:s,hydrationFailedRunIds:c},acpById:l,acpByToolUseId:u,backgroundTaskById:d})},[n,t,r,i,s,c,l,u,d])}var L=r(),R=60;function z({payload:e,onClose:t,assistantId:r}){let{t:a}=v(`chat`),[o,s]=(0,P.useState)(null),l=I(e.messageId,e.groupIndex),u=l?.items??e.items,f=l?.toolCalls??e.toolCalls,p=h(u),_=c(p.steps),y=m(p.state,p.steps),b=y===`loading`,x=d(y,p.totalDurationLabel??``,_.failed),S=b&&p.currentStepTitle||x,w=new Map(f.map(e=>[e.id,e])),T=o?o.kind===`thinking`?`Thinking`:o.activity||o.title:``;return(0,L.jsx)(A,{icon:o?(0,L.jsx)(n,{variant:`outlined`,iconOnly:(0,L.jsx)(g,{}),"aria-label":a(`activityStepsPanel.backAria`),tooltip:a(`activityStepsPanel.backTooltip`),onClick:()=>s(null),className:`shrink-0`}):void 0,titleNode:o?(0,L.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:T}):(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 py-0.5`,children:[(0,L.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:b?(0,L.jsx)(C,{children:S}):S}),p.stepCount?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,L.jsx)(i,{variant:`title-medium`,className:`shrink-0 whitespace-nowrap leading-snug text-[var(--content-secondary)]`,children:p.stepCount})]}):null]}),closeLabel:`Close steps`,onClose:t,children:o?(0,L.jsx)(V,{detail:o,assistantId:r}):(0,L.jsx)(D,{steps:p.steps,timeline:!0,renderStep:t=>(0,L.jsx)(B,{step:t,activeDetail:o,onOpenDetail:s,lookupToolCall:e=>w.get(e),messageId:e.messageId,groupIndex:e.groupIndex})})})}function B({step:e,activeDetail:t,onOpenDetail:n,lookupToolCall:r,messageId:i,groupIndex:a}){if(e.kind===`thinking`){let t=i!=null&&e.thinkingItemIndex!=null?{messageId:i,thinkingGroupIndex:a,thinkingItemIndex:e.thinkingItemIndex}:{};return(0,L.jsx)(w,{iconName:`brain`,label:s(O(e.text),R),ariaLabel:`View thinking`,active:!1,onClick:()=>n({kind:`thinking`,toolCallId:``,toolName:``,title:`Thinking`,activity:``,input:{},status:`completed`,thinkingText:e.text,...t})})}if(e.kind===`web_search`)return(0,L.jsx)(E,{step:e});if(e.kind===`web_search_error`)return(0,L.jsx)(T,{step:e});if(e.kind!==`tool`)return(0,L.jsx)(S,{step:e});let o=r(e.toolCallId);return(0,L.jsx)(w,{iconName:e.iconName,label:e.activity||e.info||e.title,active:t?.toolCallId===e.toolCallId,onClick:()=>{o&&n(k(o))}})}function V({detail:e,assistantId:t}){let n=N(e.kind===`thinking`?e.messageId:void 0,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,L.jsx)(`div`,{className:`flex flex-col gap-4`,children:e.kind===`thinking`?(0,L.jsx)(_,{content:n??e.thinkingText??``,hardLineBreaks:!0,assistantId:t}):(0,L.jsx)(M,{detail:e,assistantId:t})})}export{z as ActivityStepsPanel};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-VkxVX0DM.js";import{t as r}from"./jsx-runtime-BJ8jcmzB.js";import{t as i}from"./typography-DekrYXvs.js";import{n as a,t as o,y as s}from"./message-content-C1CZhGIc.js";import{_ as c,a as l,f as u,g as d,i as f,r as p,v as m,y as h}from"./transcript-message-body-shared-DrK4B3Ph.js";import{t as g}from"./chevron-left-D29BeQ4x.js";import{t as _}from"./chat-markdown-message-BC-UF8DZ.js";import"./src-Ch3HTlFm.js";import"./i18n-DRUiM4wH.js";import{t as v}from"./useTranslation-CR3ZnQ9P.js";import{t as y}from"./workflow-store-CHfTybGB.js";import{t as b}from"./background-task-store-LBGlKur3.js";import{r as x}from"./acp-run-store-183gczJG.js";import{a as S,g as C,i as w,n as T,r as E,s as D,w as O,x as k}from"./site-favicon-D5ZGXA0F.js";import{t as A}from"./detail-shell-BhsB3DjJ.js";import{t as j}from"./use-transcript-message-by-id-DBNERn9w.js";import{ToolDetailBody as M,t as N}from"./tool-detail-panel-BcIGIX3-.js";var P=e(t(),1);function F(e,t,n){let r=f(t,n.workflow),i=e=>{let t=u(e,n.workflow.byToolUseId);if(t!==null&&r.has(t))return!0;let i=p(e,n.acpByToolUseId);if(i!==null&&n.acpById[i]!==void 0)return!0;let a=l(e);return a!==void 0&&n.backgroundTaskById[a]!==void 0},a=t.filter(e=>!i(e));if(a.length===t.length)return{items:e,toolCalls:t};let o=new Set(a.map(e=>e.id));return{items:e.filter(e=>e.kind!==`toolCall`||o.has(e.toolCall.id)),toolCalls:a}}function I(e,t){let n=j(e),r=y.use.byId(),i=y.use.byToolUseId(),s=y.use.notFoundRunIds(),c=y.use.hydrationFailedRunIds(),l=x.use.byId(),u=x.use.byToolUseId(),d=b.use.byId();return(0,P.useMemo)(()=>{if(!n||t==null)return null;let e=a(n.contentBlocks??[],{splitInlineThinking:n.role!==`user`})[t];if(!e||e.type!==`activity`)return null;let{cardItems:f,toolCalls:p}=o(e.items);return F(f,p,{workflow:{byId:r,byToolUseId:i,notFoundRunIds:s,hydrationFailedRunIds:c},acpById:l,acpByToolUseId:u,backgroundTaskById:d})},[n,t,r,i,s,c,l,u,d])}var L=r(),R=60;function z({payload:e,onClose:t,assistantId:r}){let{t:a}=v(`chat`),[o,s]=(0,P.useState)(null),l=I(e.messageId,e.groupIndex),u=l?.items??e.items,f=l?.toolCalls??e.toolCalls,p=h(u),_=c(p.steps),y=m(p.state,p.steps),b=y===`loading`,x=d(y,p.totalDurationLabel??``,_.failed),S=b&&p.currentStepTitle||x,w=new Map(f.map(e=>[e.id,e])),T=o?o.kind===`thinking`?`Thinking`:o.activity||o.title:``;return(0,L.jsx)(A,{icon:o?(0,L.jsx)(n,{variant:`outlined`,iconOnly:(0,L.jsx)(g,{}),"aria-label":a(`activityStepsPanel.backAria`),tooltip:a(`activityStepsPanel.backTooltip`),onClick:()=>s(null),className:`shrink-0`}):void 0,titleNode:o?(0,L.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate py-0.5 leading-snug text-[var(--content-default)]`,children:T}):(0,L.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5 py-0.5`,children:[(0,L.jsx)(i,{variant:`title-medium`,className:`min-w-0 shrink truncate leading-snug text-[var(--content-default)]`,children:b?(0,L.jsx)(C,{children:S}):S}),p.stepCount?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`span`,{"aria-hidden":!0,className:`size-[3px] shrink-0 rounded-full bg-[var(--content-tertiary)]`}),(0,L.jsx)(i,{variant:`title-medium`,className:`shrink-0 whitespace-nowrap leading-snug text-[var(--content-secondary)]`,children:p.stepCount})]}):null]}),closeLabel:`Close steps`,onClose:t,children:o?(0,L.jsx)(V,{detail:o,assistantId:r}):(0,L.jsx)(D,{steps:p.steps,timeline:!0,renderStep:t=>(0,L.jsx)(B,{step:t,activeDetail:o,onOpenDetail:s,lookupToolCall:e=>w.get(e),messageId:e.messageId,groupIndex:e.groupIndex})})})}function B({step:e,activeDetail:t,onOpenDetail:n,lookupToolCall:r,messageId:i,groupIndex:a}){if(e.kind===`thinking`){let t=i!=null&&e.thinkingItemIndex!=null?{messageId:i,thinkingGroupIndex:a,thinkingItemIndex:e.thinkingItemIndex}:{};return(0,L.jsx)(w,{iconName:`brain`,label:s(O(e.text),R),ariaLabel:`View thinking`,active:!1,onClick:()=>n({kind:`thinking`,toolCallId:``,toolName:``,title:`Thinking`,activity:``,input:{},status:`completed`,thinkingText:e.text,...t})})}if(e.kind===`web_search`)return(0,L.jsx)(E,{step:e});if(e.kind===`web_search_error`)return(0,L.jsx)(T,{step:e});if(e.kind!==`tool`)return(0,L.jsx)(S,{step:e});let o=r(e.toolCallId);return(0,L.jsx)(w,{iconName:e.iconName,label:e.activity||e.info||e.title,active:t?.toolCallId===e.toolCallId,onClick:()=>{o&&n(k(o))}})}function V({detail:e,assistantId:t}){let n=N(e.kind===`thinking`?e.messageId:void 0,e.thinkingGroupIndex,e.thinkingItemIndex);return(0,L.jsx)(`div`,{className:`flex flex-col gap-4`,children:e.kind===`thinking`?(0,L.jsx)(_,{content:n??e.thinkingText??``,hardLineBreaks:!0,assistantId:t}):(0,L.jsx)(M,{detail:e,assistantId:t})})}export{z as ActivityStepsPanel};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-u47kRfIQ.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./jsx-runtime-BJ8jcmzB.js";import{t as i}from"./typography-DekrYXvs.js";import{r as a,t as o}from"./background-task-actions-D4DT9M4H.js";import"./src-Ch3HTlFm.js";import{a as s,i as c,n as l,r as u}from"./background-task-store-LBGlKur3.js";import{t as d}from"./detail-shell-BhsB3DjJ.js";import{n as f,t as p}from"./status-badge-pill-DCEE1meW.js";import{CodeBlock as m,SectionLabel as h}from"./tool-detail-panel-5tteheYt.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(p,{color:l(e),label:u(e)})}function y({entry:e,onClose:n}){let r=s(e.status),l=!r,u=l&&e.output!==void 0&&e.output!==``,p=l&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),o(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(d,{Glyph:a(e.toolName),title:c(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(f,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(h,{children:`Command`}),(0,_.jsx)(m,{text:e.command})]}),u&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(h,{children:`Output`}),(0,_.jsx)(m,{text:e.output})]}),p&&(0,_.jsxs)(i,{variant:`body-small-default`,as:`p`,className:`mt-2 text-[var(--content-tertiary)]`,children:[`Exit code: `,e.exitCode]})]})}export{y as BackgroundTaskDetailPanel};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-u47kRfIQ.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./jsx-runtime-BJ8jcmzB.js";import{t as i}from"./typography-DekrYXvs.js";import{r as a,t as o}from"./background-task-actions-D4DT9M4H.js";import"./src-Ch3HTlFm.js";import{a as s,i as c,n as l,r as u}from"./background-task-store-LBGlKur3.js";import{t as d}from"./detail-shell-BhsB3DjJ.js";import{n as f,t as p}from"./status-badge-pill-DCEE1meW.js";import{CodeBlock as m,SectionLabel as h}from"./tool-detail-panel-BcIGIX3-.js";var g=e(n(),1),_=r();function v({status:e}){return(0,_.jsx)(p,{color:l(e),label:u(e)})}function y({entry:e,onClose:n}){let r=s(e.status),l=!r,u=l&&e.output!==void 0&&e.output!==``,p=l&&e.exitCode!=null,[y,b]=(0,g.useState)(!1),x=(0,g.useCallback)(()=>{b(!0),o(e.id).catch(e=>{b(!1),t(e,{context:`BackgroundTaskDetailPanel.stop`})})},[e.id]);return(0,_.jsxs)(d,{Glyph:a(e.toolName),title:c(e.status),headerTrailing:(0,_.jsx)(v,{status:e.status}),headerActions:r?(0,_.jsx)(f,{onStop:x,ariaLabel:`Stop command`,disabled:y}):void 0,closeVariant:`outlined`,closeLabel:`Close task detail`,onClose:n,children:[(0,_.jsxs)(`div`,{children:[(0,_.jsx)(h,{children:`Command`}),(0,_.jsx)(m,{text:e.command})]}),u&&(0,_.jsxs)(`div`,{className:`mt-5`,children:[(0,_.jsx)(h,{children:`Output`}),(0,_.jsx)(m,{text:e.output})]}),p&&(0,_.jsxs)(i,{variant:`body-small-default`,as:`p`,className:`mt-2 text-[var(--content-tertiary)]`,children:[`Exit code: `,e.exitCode]})]})}export{y as BackgroundTaskDetailPanel};
@@ -1,4 +1,4 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-VkxVX0DM.js";import{d as r,h as i,p as a,t as o}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as s}from"./QueryClientProvider-EuRl-wrW.js";import{t as c}from"./useQuery-CTSuec5b.js";import{t as l}from"./useMutation-D2YPyfEH.js";import{t as u}from"./jsx-runtime-BJ8jcmzB.js";import{t as d}from"./cn-Cf8SmgbR.js";import{t as f}from"./typography-DekrYXvs.js";import{t as p}from"./card-DUsAeHUS.js";import{n as m,t as h}from"./list-row-D1odQOMJ.js";import{C as g,D as _,S as v,_ as y,b,c as x,d as S,g as C,h as w,l as T,o as E,p as D,u as O,v as k,x as A,y as j}from"./use-save-twilio-credentials-CQjLPOTt.js";import{t as M}from"./chevron-down-D1ho6wFA.js";import{t as N}from"./circle-check-big-C9sLhbGa.js";import{o as ee,r as P,t as F,u as I}from"./threshold-presets-DZwUMxeR.js";import{t as L}from"./message-square-CENNR7tf.js";import{t as R}from"./plug-CVzxWCFR.js";import{t as te}from"./search-FGnzWjRX.js";import{t as z}from"./notice-C_AsX_o9.js";import{B,V,c as H,s as U}from"./src-Ch3HTlFm.js";import{t as W}from"./tag-Ddzwz3ij.js";import{t as G}from"./input-DkgpMeG9.js";import{t as ne}from"./confirm-dialog--7V28331.js";import{t as re}from"./select-D133FK9g.js";import{t as ie}from"./assistant-identity-store-DrQJhZh3.js";import"./i18n-DRUiM4wH.js";import{t as ae}from"./Trans-DnN-8anN.js";import{t as K}from"./useTranslation-CR3ZnQ9P.js";import{i as oe}from"./utils-CTYMUtnk.js";import{d as se}from"./routes-CZi85r7Q.js";import{s as ce}from"./react-query.gen-pBlyOJpJ.js";import{r as le}from"./conversation-navigation-CmWIQkd1.js";import{l as ue,o as de,s as fe}from"./sdk.gen-CtvxLTrj.js";import{t as pe}from"./assistant-feature-flag-store-CSCzqQg4.js";import{t as me}from"./public-asset-BS7DmY-0.js";import{t as he}from"./use-active-assistant-id-ByjxM30e.js";import{n as ge,t as _e}from"./telegram-setup-wizard-k-br9dW2.js";import{n as ve,r as ye}from"./index-B9Vy2se0.js";import{t as be}from"./detail-card-CJ0sXFPM.js";import{n as xe,r as Se,t as Ce}from"./use-side-list-room-Ci0VBl6y.js";import{a as we,c as q,d as Te,f as Ee,i as De,n as Oe,o as ke,r as Ae,s as je,t as Me,u as Ne}from"./use-invite-link-dialog-Dfk5wcAO.js";var J=e(t(),1);function Pe(){let{channelId:e}=a(),t=r();return{selected:e,select:(0,J.useCallback)(e=>{t(`/assistant/channels/${encodeURIComponent(e)}`,{replace:!0})},[t])}}var Fe={slack:{labelKey:`channelMeta.slack.label`,disconnectMessageKey:`channelMeta.slack.disconnectMessage`,hasTrustFloorControl:!1},telegram:{labelKey:`channelMeta.telegram.label`,disconnectMessageKey:`channelMeta.telegram.disconnectMessage`,hasTrustFloorControl:!0,disconnectedPitchKey:`channelMeta.telegram.disconnectedPitch`},phone:{labelKey:`channelMeta.phone.label`,disconnectMessageKey:`channelMeta.phone.disconnectMessage`,hasTrustFloorControl:!0,disconnectedPitchKey:`channelMeta.phone.disconnectedPitch`}},Y=u();function Ie({channels:e,pluginChannels:t=[],selectedKey:n,onSelect:r}){return(0,Y.jsx)(p.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsx)(p.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.map(e=>(0,Y.jsx)(Le,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key)),t.map(e=>(0,Y.jsx)(Re,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key))]})})})}function Le({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=D(e.key),a=r?`Connected`:`Not connected`;return(0,Y.jsx)(m,{asChild:!0,active:t,"aria-label":`${i}, ${a}`,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsx)(O,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,Y.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,Y.jsx)(W,{tone:r?`positive`:`neutral`,children:a})})]})})}function Re({channel:e,selected:t,onClick:n}){let{t:r}=K(`channels`);return(0,Y.jsx)(m,{asChild:!0,active:t,"aria-label":r(`channelAdapterList.pluginChannelAria`,{channel:e.label}),children:(0,Y.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsx)(S,{icon:e.icon,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:e.label}),(0,Y.jsx)(R,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`})]})})}function ze({icon:e,title:t,description:n,action:r,className:i}){return(0,Y.jsxs)(`div`,{className:d(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,Y.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,Y.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,Y.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,Y.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function Be({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let{t:o}=K(`channels`),s=t??`trusted_contacts`,c=Ee(e),l=Ne.map(e=>({value:e,label:Te[e],tooltip:c[e]}));return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:o(`channelTrustFloor.heading`,{assistant:e})}),r?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:o(`channelTrustFloor.loading`)}):i?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:o(`channelTrustFloor.loadFailed`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{style:{maxWidth:280},children:(0,Y.jsx)(re,{value:s,onChange:a,options:l,disabled:n,"aria-label":o(`channelTrustFloor.selectAria`,{assistant:e})})}),(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:c[s]}),s===`trusted_contacts`?(0,Y.jsx)(z,{tone:`info`,className:`max-w-lg`,children:o(`channelTrustFloor.trustedContactsNotice`,{assistant:e})}):null]})]})}function Ve({address:e,pending:t,onDisconnect:r}){let{t:i}=K(`channels`);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(W,{tone:`positive`,leftIcon:(0,Y.jsx)(N,{}),children:i(`connectionCard.connected`)}),e?(0,Y.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,Y.jsx)(`div`,{className:`ml-auto`,children:(0,Y.jsx)(n,{type:`button`,variant:`danger`,onClick:r,disabled:!r||t,children:i(t?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}function He({children:e}){let{t}=K(`channels`);return(0,Y.jsxs)(p.Root,{children:[(0,Y.jsx)(p.Header,{children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`img`,{src:me(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,Y.jsx)(f,{as:`span`,variant:`body-medium-default`,children:t(`slackChannelCard.setupHeading`)})]})}),(0,Y.jsx)(p.Body,{children:e})]})}F.map(e=>e.riskThreshold);var Ue=[`none`,`low`];function We(e){if(e!==void 0)return e===`none`?`none`:`low`}var X={none:{label:P(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:P(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:P(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:P(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Z=[`trusted_contact`,`unverified_contact`,`unknown`];function Ge(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Ke(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function qe(e,t,n){let r;for(let i of e)Ke(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var Je=`__default__`;function Ye({color:e}){return(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Xe({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let{t:o}=K(`channels`),s=We(e??t??void 0),c=We(t??void 0)??null,l=Ue.map(e=>({value:e,label:X[e].label,icon:(0,Y.jsx)(Ye,{color:X[e].dotColor}),suffix:e===c?(0,Y.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:o(`tierPicker.defaultSuffix`)}):void 0,tooltip:X[e].sublabel}));return l.unshift({value:Je,label:`Default`,icon:(0,Y.jsx)(Ye,{color:`transparent`}),tooltip:`follows the default level`}),(0,Y.jsx)(re,{value:s??``,onChange:e=>{e===Je||e===c?i():r(e)},options:l,placeholder:o(`tierPicker.defaultPlaceholder`),disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Ze(e){return e.filter(e=>Q(e)!==`dm`)}function Qe(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function $e(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function et(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var tt=[{value:null,labelKey:`slackChannelList.filterAll`},{value:`public`,labelKey:`slackChannelList.filterPublic`},{value:`private`,labelKey:`slackChannelList.filterPrivate`}],nt={public:_,private:I},rt=100,it=new Set;function at({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:u=it,onTierChange:p,onTierReset:m}){let{t:h}=K(`channels`),[g,v]=(0,J.useState)(``),[y,b]=(0,J.useState)(null),x=(0,J.useMemo)(()=>Ze(n??[]),[n]),S=(0,J.useMemo)(()=>Qe(x,g,y),[x,g,y]),C=(0,J.useMemo)(()=>$e(x),[x]);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,Y.jsx)(f,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(ae,{i18nKey:`slackChannelList.presenceHint`,ns:`channels`,values:{handle:t??`@${e}`,assistant:e},components:{invite:(0,Y.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`}),remove:(0,Y.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`})}})}),r?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.loading`)}):i?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:h(`slackChannelList.loadFailed`)}):x.length===0?(0,Y.jsx)(ze,{icon:(0,Y.jsx)(_,{className:`h-6 w-6`}),title:h(`slackChannelList.emptyTitle`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,Y.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,Y.jsx)(G,{type:`search`,value:g,onChange:e=>v(e.target.value),placeholder:h(`slackChannelList.searchPlaceholder`),"aria-label":h(`slackChannelList.searchAria`),leftIcon:(0,Y.jsx)(te,{className:`h-4 w-4`}),fullWidth:!0})}),(0,Y.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":h(`slackChannelList.filterGroupAria`),children:tt.map(({value:e,labelKey:t})=>{let n=y===e,r=e===null?x.length:C[e];return(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>b(e),className:d(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:h(t,{count:r})},e??`all`)})})]}),S.length===0?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.noMatches`)}):S.length>rt?(0,Y.jsx)(`div`,{className:`h-96`,children:(0,Y.jsx)(H,{items:S,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,Y.jsx)(ot,{channel:t,pending:u.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,Y.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:S.map(e=>(0,Y.jsx)(ot,{channel:e,pending:u.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function ot({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let{t:l}=K(`channels`),u=Q(e);if(u===`dm`)return null;let d=nt[u],f=et(e),p=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,Y.jsx)(h,{className:p,leading:(0,Y.jsx)(d,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:f??void 0,trailing:(0,Y.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Y.jsx)(Xe,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":l(`slackChannelList.accessAria`,{channel:e.name})})})}):(0,Y.jsx)(h,{className:p,leading:(0,Y.jsx)(d,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:f==null?void 0:(0,Y.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:f})})}function st(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function ct({defaultTier:e}){let{t}=K(`channels`),n=We(e??void 0)??null;return(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,Y.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...Ue].reverse().map(e=>{let r=X[e];return(0,Y.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(Ye,{color:r.dotColor}),(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,children:r.label}),e===n?(0,Y.jsx)(f,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:t(`slackChannelTierLegend.defaultMarker`)}):null]}),(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:st(e)})]},e)})})})}var lt=[{bucket:`channels`,icon:_,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:L,title:`Direct messages`,description:`One-on-one DMs`}];function ut({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:i,pendingBuckets:a,onBucketChange:s,onBucketReset:c}){let{t:l}=K(`channels`);return(0,Y.jsxs)(p.Root,{children:[(0,Y.jsx)(p.Header,{children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[l(`slackChannelTypeDefaults.heading`),(0,Y.jsx)(f,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(ae,{i18nKey:`slackChannelTypeDefaults.subtitle`,ns:`channels`,values:{assistant:e},components:{trustRules:(0,Y.jsx)(o,{to:se.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]})}),(0,Y.jsx)(p.Body,{className:`py-1`,children:lt.map(({bucket:e,icon:o,title:u,description:d})=>{let f=e===`dm`?n?.channels??t:t;return(0,Y.jsx)(h,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,Y.jsx)(o,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:u,subtitle:d,trailing:(0,Y.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Y.jsx)(Xe,{tier:n?.[e],defaultTier:f,disabled:r||i||a.has(e),onTierChange:t=>s(e,t),onReset:()=>c(e),"aria-label":l(`slackChannelTypeDefaults.bucketAria`,{bucket:u})})})},e)})}),(0,Y.jsx)(p.Footer,{className:`p-0`,children:(0,Y.jsx)(ct,{defaultTier:t})})]})}var dt=`0.11.0`;function ft(){return oe(dt)}var pt=new Set([404,501]);function mt(e){let t=ve(e);return t!==void 0&&pt.has(t)}function ht(e,t,n){return Z.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function gt(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function _t(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function vt(e,t,n){let r=_t(e,t);return Z.map(e=>({selector:r,contactType:e,threshold:n}))}function yt({assistantId:e,adapter:t}){let n=s(),r=ft()&&!!e,i=(0,J.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,J.useMemo)(()=>g(i),[i]),o=(0,J.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=c({...v(i),enabled:r}),d=u.data?.cells,f=(0,J.useMemo)(()=>d?Ge(d,t):void 0,[d,t]),p=(0,J.useMemo)(()=>d?{channels:qe(d,t,`channels`),dm:qe(d,t,`dm`)}:void 0,[d,t]),m=c({queryKey:o,queryFn:async()=>{let{data:e}=await ue({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),h=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},_=l({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(ht(t,e,n).map(e=>fe({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>h(n=>gt(n,t,e),ht(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),y=l({mutationFn:async({channelExternalId:e})=>{await Promise.all(Z.map(n=>de({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>h(n=>gt(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),b=l({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(vt(t,e,n).map(e=>fe({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>h(n=>Ke(n,t,e),vt(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:o})}}),x=l({mutationFn:async({bucket:e})=>{let n=_t(t,e);await Promise.all(Z.map(e=>de({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>h(n=>Ke(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:o})}}),S=(0,J.useMemo)(()=>{let e=new Set;return _.isPending&&_.variables&&e.add(_.variables.channelExternalId),y.isPending&&y.variables&&e.add(y.variables.channelExternalId),e},[_.isPending,_.variables,y.isPending,y.variables]),C=(0,J.useMemo)(()=>{let e=new Set;return b.isPending&&b.variables&&e.add(b.variables.bucket),x.isPending&&x.variables&&e.add(x.variables.bucket),e},[b.isPending,b.variables,x.isPending,x.variables]);return!r||u.isError&&mt(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:m.data,bucketTiers:p,pendingChannelIds:S,pendingBuckets:C,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>_.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&y.mutate({channelExternalId:e})},onBucketChange:(e,t)=>b.mutate({bucket:e,tier:t}),onBucketReset:e=>{p?.[e]!==void 0&&x.mutate({bucket:e})}}}function bt({assistantId:e,assistantDisplayName:t,slackHandle:n}){let{t:r}=K(`channels`),i=c({...E(e),enabled:!!e,select:e=>e.channels}),a=yt({assistantId:e,adapter:`slack`}),o=c({queryKey:[`thresholds`,e],queryFn:()=>ee(e),enabled:a.supported&&!!e,staleTime:3e4}).data?.interactive??null,s=a.defaultCellTier===void 0?null:a.defaultCellTier??o,l=(0,Y.jsx)(at,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:a.supported,defaultTier:s,channels:i.data,loading:i.isPending,error:i.isError,tierOverrides:a.tierOverrides,tierOverridesLoading:a.isLoading,tierOverridesError:a.isError,pendingChannelIds:a.pendingChannelIds,onTierChange:a.onTierChange,onTierReset:a.onTierReset});return!a.supported||!a.onBucketChange||!a.onBucketReset?(0,Y.jsx)(p.Root,{noPadding:!0,clipContents:!0,children:l}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[a.isError?(0,Y.jsx)(z,{tone:`error`,children:r(`slackChannelSection.overridesLoadFailed`)}):null,(0,Y.jsx)(ut,{assistantName:t,globalDefaultTier:o,bucketTiers:a.bucketTiers,loading:a.isLoading,error:a.isError,pendingBuckets:a.pendingBuckets,onBucketChange:a.onBucketChange,onBucketReset:a.onBucketReset}),(0,Y.jsx)(p.Root,{noPadding:!0,clipContents:!0,children:(0,Y.jsx)(U.Root,{type:`single`,collapsible:!0,children:(0,Y.jsxs)(U.Item,{value:`per-channel-overrides`,children:[(0,Y.jsxs)(U.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,children:r(`slackChannelSection.perChannelOverrides`)}),(0,Y.jsx)(M,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Y.jsx)(U.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:l})]})})})]})}function xt({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){let{t:a}=K(`channels`);return(0,Y.jsxs)(p.Root,{children:[(0,Y.jsx)(p.Header,{children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`img`,{src:me(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,Y.jsx)(f,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,Y.jsx)(W,{tone:`positive`,leftIcon:(0,Y.jsx)(N,{}),children:a(`connectionCard.connected`)}),(0,Y.jsx)(`div`,{className:`ml-auto`,children:(0,Y.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:a(t?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}),(0,Y.jsx)(p.Body,{children:i})]})}function St({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){let{t:r}=K(`channels`);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:r(`slackThreadBehavior.heading`)}),(0,Y.jsxs)(V,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":r(`slackThreadBehavior.selectAria`),children:[(0,Y.jsx)(B,{value:`mention_only`,label:r(`slackThreadBehavior.mentionsOnly`),helperText:r(`slackThreadBehavior.mentionsOnlyHelp`)}),(0,Y.jsx)(B,{value:`mention_then_thread`,label:r(`slackThreadBehavior.followThreads`),helperText:r(`slackThreadBehavior.followThreadsHelp`)})]})]})}function Ct({onSave:e}){let{t}=K(`channels`),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(``),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(null),d=r.trim().length>0&&a.trim().length>0&&!s;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(G,{label:t(`twilioCredentialEntry.accountSid`),type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:s,fullWidth:!0}),(0,Y.jsx)(G,{label:t(`twilioCredentialEntry.authToken`),type:`password`,value:a,onChange:e=>o(e.target.value),placeholder:t(`twilioCredentialEntry.authTokenPlaceholder`),disabled:s,fullWidth:!0}),l?(0,Y.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:l}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!d)){c(!0),u(null);try{await e(r.trim(),a.trim()),i(``),o(``)}catch(e){u(e instanceof Error?e.message:`Failed to save`)}finally{c(!1)}}},disabled:!d,children:t(s?`twilioCredentialEntry.saving`:`twilioCredentialEntry.save`)})})]})}function wt({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,telegramSaveStatus:u,telegramSaveError:d,onSaveSlackConfig:f,slackSaveStatus:p,slackSaveError:m,slackThreadMode:h,slackThreadModePending:g=!1,onSlackThreadModeChange:_,onSaveTwilioCredentials:v,policy:y,policySaving:b=!1,policyLoading:x=!1,policyError:S=!1,onPolicyChange:C}){let{t:w}=K(`channels`),T=e.status===`ready`,E=e.status===`incomplete`,[k,A]=(0,J.useState)(o);if(e.key===`slack`)return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[T?(0,Y.jsx)(xt,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,Y.jsx)(St,{threadMode:h,threadModePending:g,onThreadModeChange:_})}):(0,Y.jsx)(He,{children:(0,Y.jsx)(ge,{assistantName:r,onSave:f,saveStatus:p,saveError:m})}),T?(0,Y.jsx)(bt,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let j=Fe[e.key];return(0,Y.jsx)(`div`,{className:`flex flex-col gap-4`,children:T?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ve,{address:e.address,pending:a,onDisconnect:c}),j.hasTrustFloorControl&&C?(0,Y.jsx)(Be,{assistantDisplayName:i,policy:y,saving:b,loading:x,error:S,onChange:C}):null]}):k?e.key===`telegram`?(0,Y.jsx)(_e,{assistantName:r,saveStatus:u,saveError:d,onSave:l}):(0,Y.jsx)(Ct,{onSave:v}):(0,Y.jsx)(ze,{icon:(0,Y.jsx)(O,{channelId:e.key,className:`h-6 w-6`}),title:w(E?`channelPanel.incompleteTitle`:`channelPanel.disconnectedTitle`,{channel:D(e.key)}),description:E?e.warning??w(`channelPanel.incompleteDescription`,{channel:D(e.key)}):j.disconnectedPitchKey?w(j.disconnectedPitchKey,{assistant:i}):void 0,action:(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,Y.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:w(a?`channelPanel.opening`:E?`channelPanel.finishSetup`:`channelPanel.setUp`)}),(0,Y.jsx)(n,{type:`button`,variant:`link`,onClick:()=>A(!0),children:w(`channelPanel.connectManually`)})]})})})}var Tt=new Set([404,501]),Et=new Set([401,403]);function Dt(e){let t=ve(e);return t!==void 0&&Tt.has(t)?`unsupported`:t!==void 0&&Et.has(t)?`forbidden`:`unreadable`}function Ot(e,t,n){let r=e===`unreadable`?t:n;return r?r instanceof Error&&r.message?r.message:`Something went wrong`:null}function kt(e,t){let n=s(),r={assistant_id:e},i=c({...j({path:r}),enabled:!!e,retry:ye}),a=()=>n.invalidateQueries({queryKey:b({path:r})}),o=l({...k(),onSuccess:a}),u=l({...A(),onSuccess:a}),d=i.data?.sources?.find(e=>e.source===t),f;f=i.isError?Dt(i.error):i.isPending?`loading`:d?d.state:`none`;let p=Ot(f,i.error,o.error??u.error);return{status:f,paths:d?.routes?.map(e=>({path:e.publicPath,approvalGoverned:e.signer!==`vellum`,deliversInbound:e.deliversInbound===!0}))??[],deciding:o.isPending||u.isPending,approve:()=>{d?.digest&&o.mutate({path:{...r,source:t},body:{digest:d.digest}})},revoke:()=>u.mutate({path:{...r,source:t}}),error:p}}var At=`plugin`;function jt(e){let t=s(),n=we(),r=(0,J.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,J.useMemo)(()=>y(r),[r]),a=c({...C(r),enabled:n&&!!e,select:je}),o=l({mutationFn:t=>ke(e,At,t),onSuccess:()=>t.invalidateQueries({queryKey:i}),onError:q(`Failed to save channel policy`)}),u=(0,J.useCallback)(e=>{o.mutate(e)},[o]);return n?{policy:a.data?.find(e=>e.channelType===At)?.policy,isLoading:a.isPending,isError:a.isError,isSaving:o.isPending,onChange:u}:{policy:void 0,isLoading:!1,isError:!1,isSaving:!1,onChange:void 0}}function Mt({channel:e,assistantId:t,assistantDisplayName:i}){let{t:a}=K(`channels`),o=r(),s=kt(t,e.plugin),c=jt(t);return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10 text-center`,children:[(0,Y.jsx)(S,{icon:e.icon,className:`h-8 w-8 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`h3`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e.label}),e.description?(0,Y.jsx)(`p`,{className:`max-w-[420px] text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e.description}):null,(0,Y.jsx)(Nt,{channel:e,ingress:s}),c.onChange?(0,Y.jsx)(`div`,{className:`w-full max-w-[420px] text-left`,children:(0,Y.jsx)(Be,{assistantDisplayName:i,policy:c.policy,saving:c.isSaving,loading:c.isLoading,error:c.isError,onChange:c.onChange})}):null,(0,Y.jsx)(n,{onClick:()=>o(`/assistant/plugins/${e.plugin}`),variant:`outlined`,children:a(`pluginChannelPanel.openPluginPage`)})]})}function Nt({channel:e,ingress:t}){let{t:n}=K(`channels`);switch(t.status){case`loading`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressLoading`,{channel:e.label})});case`unsupported`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressUnsupported`)});case`forbidden`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressForbidden`)});case`unreadable`:return(0,Y.jsxs)($,{children:[n(`pluginChannelPanel.ingressUnreadable`,{channel:e.label}),t.error?` ${t.error}`:``]});case`none`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressNone`,{channel:e.label})});case`pending`:case`approved`:return(0,Y.jsx)(Pt,{channel:e,ingress:t})}}function Pt({channel:e,ingress:t}){let{t:r}=K(`channels`),i=t.status===`approved`,a=t.paths.filter(e=>e.approvalGoverned),o=t.paths.filter(e=>!e.approvalGoverned),s=a.some(e=>e.deliversInbound);return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,Y.jsx)(W,{tone:i?`positive`:`neutral`,children:r(i?`pluginChannelPanel.ingressApprovedTag`:`pluginChannelPanel.ingressPendingTag`)}),a.length>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{children:r(i?`pluginChannelPanel.approvedAddresses`:`pluginChannelPanel.pendingAddresses`,{channel:e.label})}),(0,Y.jsx)(Ft,{paths:a}),s?(0,Y.jsx)($,{children:r(`pluginChannelPanel.deliversInbound`,{channel:e.label})}):null]}):null,o.length>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{children:r(`pluginChannelPanel.ungovernedAddresses`)}),(0,Y.jsx)(Ft,{paths:o})]}):null,(0,Y.jsx)(n,{onClick:i?t.revoke:t.approve,disabled:t.deciding,variant:i?`outlined`:`primary`,children:r(i?`pluginChannelPanel.revokeIngress`:`pluginChannelPanel.approveIngress`)}),t.error?(0,Y.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:t.error}):null]})}function $({children:e}){return(0,Y.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}function Ft({paths:e}){return(0,Y.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,Y.jsx)(`li`,{className:`font-mono text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.path},e.path))})}var It={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message, including messages from you.
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./button-VkxVX0DM.js";import{d as r,h as i,p as a,t as o}from"./chunk-5KNZJZUH-BUqIilZr.js";import{n as s}from"./QueryClientProvider-EuRl-wrW.js";import{t as c}from"./useQuery-CTSuec5b.js";import{t as l}from"./useMutation-D2YPyfEH.js";import{t as u}from"./jsx-runtime-BJ8jcmzB.js";import{t as d}from"./cn-Cf8SmgbR.js";import{t as f}from"./typography-DekrYXvs.js";import{t as p}from"./card-DUsAeHUS.js";import{n as m,t as h}from"./list-row-D1odQOMJ.js";import{C as g,D as _,S as v,_ as y,b,c as x,d as S,g as C,h as w,l as T,o as E,p as D,u as O,v as k,x as A,y as j}from"./use-save-twilio-credentials-CQjLPOTt.js";import{t as M}from"./chevron-down-D1ho6wFA.js";import{t as N}from"./circle-check-big-C9sLhbGa.js";import{o as ee,r as P,t as F,u as I}from"./threshold-presets-DZwUMxeR.js";import{t as L}from"./message-square-CENNR7tf.js";import{t as R}from"./plug-CVzxWCFR.js";import{t as te}from"./search-FGnzWjRX.js";import{t as z}from"./notice-C_AsX_o9.js";import{B,V,c as H,s as U}from"./src-Ch3HTlFm.js";import{t as W}from"./tag-Ddzwz3ij.js";import{t as G}from"./input-DkgpMeG9.js";import{t as ne}from"./confirm-dialog--7V28331.js";import{t as re}from"./select-D133FK9g.js";import{t as ie}from"./assistant-identity-store-DrQJhZh3.js";import"./i18n-DRUiM4wH.js";import{t as ae}from"./Trans-DnN-8anN.js";import{t as K}from"./useTranslation-CR3ZnQ9P.js";import{i as oe}from"./utils-CTYMUtnk.js";import{d as se}from"./routes-CZi85r7Q.js";import{s as ce}from"./react-query.gen-pBlyOJpJ.js";import{r as le}from"./conversation-navigation-CmWIQkd1.js";import{l as ue,o as de,s as fe}from"./sdk.gen-CtvxLTrj.js";import{t as pe}from"./assistant-feature-flag-store-CSCzqQg4.js";import{t as me}from"./public-asset-BS7DmY-0.js";import{t as he}from"./use-active-assistant-id-ByjxM30e.js";import{n as ge,t as _e}from"./telegram-setup-wizard-k-br9dW2.js";import{n as ve,r as ye}from"./index-l77_Jh7j.js";import{t as be}from"./detail-card-CJ0sXFPM.js";import{n as xe,r as Se,t as Ce}from"./use-side-list-room-Ci0VBl6y.js";import{a as we,c as q,d as Te,f as Ee,i as De,n as Oe,o as ke,r as Ae,s as je,t as Me,u as Ne}from"./use-invite-link-dialog-Dfk5wcAO.js";var J=e(t(),1);function Pe(){let{channelId:e}=a(),t=r();return{selected:e,select:(0,J.useCallback)(e=>{t(`/assistant/channels/${encodeURIComponent(e)}`,{replace:!0})},[t])}}var Fe={slack:{labelKey:`channelMeta.slack.label`,disconnectMessageKey:`channelMeta.slack.disconnectMessage`,hasTrustFloorControl:!1},telegram:{labelKey:`channelMeta.telegram.label`,disconnectMessageKey:`channelMeta.telegram.disconnectMessage`,hasTrustFloorControl:!0,disconnectedPitchKey:`channelMeta.telegram.disconnectedPitch`},phone:{labelKey:`channelMeta.phone.label`,disconnectMessageKey:`channelMeta.phone.disconnectMessage`,hasTrustFloorControl:!0,disconnectedPitchKey:`channelMeta.phone.disconnectedPitch`}},Y=u();function Ie({channels:e,pluginChannels:t=[],selectedKey:n,onSelect:r}){return(0,Y.jsx)(p.Root,{className:`flex h-full flex-col overflow-hidden`,children:(0,Y.jsx)(p.Body,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-4`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[e.map(e=>(0,Y.jsx)(Le,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key)),t.map(e=>(0,Y.jsx)(Re,{channel:e,selected:e.key===n,onClick:()=>r(e.key)},e.key))]})})})}function Le({channel:e,selected:t,onClick:n}){let r=e.status===`ready`,i=D(e.key),a=r?`Connected`:`Not connected`;return(0,Y.jsx)(m,{asChild:!0,active:t,"aria-label":`${i}, ${a}`,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsx)(O,{channelId:e.key,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:i}),(0,Y.jsx)(`span`,{className:`flex shrink-0 items-center`,children:(0,Y.jsx)(W,{tone:r?`positive`:`neutral`,children:a})})]})})}function Re({channel:e,selected:t,onClick:n}){let{t:r}=K(`channels`);return(0,Y.jsx)(m,{asChild:!0,active:t,"aria-label":r(`channelAdapterList.pluginChannelAria`,{channel:e.label}),children:(0,Y.jsxs)(`button`,{type:`button`,onClick:n,className:`flex h-auto w-full items-center gap-2 rounded-[6px] px-[8px] py-2 text-left`,children:[(0,Y.jsx)(S,{icon:e.icon,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body-medium-default`,children:e.label}),(0,Y.jsx)(R,{"aria-hidden":!0,className:`h-4 w-4 shrink-0 text-[color:var(--content-secondary)]`})]})})}function ze({icon:e,title:t,description:n,action:r,className:i}){return(0,Y.jsxs)(`div`,{className:d(`flex flex-col items-center justify-center gap-3 px-4 py-12 text-center`,i),children:[e?(0,Y.jsx)(`div`,{className:`flex h-12 w-12 items-center justify-center rounded-xl bg-[var(--surface-sunken)] text-[var(--content-tertiary)]`,children:e}):null,(0,Y.jsx)(`h3`,{className:`text-title-small text-[var(--content-default)]`,children:t}),n?(0,Y.jsx)(`p`,{className:`max-w-md text-body-medium-lighter text-[color:var(--content-tertiary)]`,children:n}):null,r?(0,Y.jsx)(`div`,{className:`mt-1`,children:r}):null]})}function Be({assistantDisplayName:e,policy:t,saving:n=!1,loading:r=!1,error:i=!1,onChange:a}){let{t:o}=K(`channels`),s=t??`trusted_contacts`,c=Ee(e),l=Ne.map(e=>({value:e,label:Te[e],tooltip:c[e]}));return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:o(`channelTrustFloor.heading`,{assistant:e})}),r?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:o(`channelTrustFloor.loading`)}):i?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:o(`channelTrustFloor.loadFailed`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{style:{maxWidth:280},children:(0,Y.jsx)(re,{value:s,onChange:a,options:l,disabled:n,"aria-label":o(`channelTrustFloor.selectAria`,{assistant:e})})}),(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:c[s]}),s===`trusted_contacts`?(0,Y.jsx)(z,{tone:`info`,className:`max-w-lg`,children:o(`channelTrustFloor.trustedContactsNotice`,{assistant:e})}):null]})]})}function Ve({address:e,pending:t,onDisconnect:r}){let{t:i}=K(`channels`);return(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(W,{tone:`positive`,leftIcon:(0,Y.jsx)(N,{}),children:i(`connectionCard.connected`)}),e?(0,Y.jsx)(`span`,{className:`text-body-medium-lighter`,style:{color:`var(--content-tertiary)`},children:e}):null,(0,Y.jsx)(`div`,{className:`ml-auto`,children:(0,Y.jsx)(n,{type:`button`,variant:`danger`,onClick:r,disabled:!r||t,children:i(t?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}function He({children:e}){let{t}=K(`channels`);return(0,Y.jsxs)(p.Root,{children:[(0,Y.jsx)(p.Header,{children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`img`,{src:me(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),(0,Y.jsx)(f,{as:`span`,variant:`body-medium-default`,children:t(`slackChannelCard.setupHeading`)})]})}),(0,Y.jsx)(p.Body,{children:e})]})}F.map(e=>e.riskThreshold);var Ue=[`none`,`low`];function We(e){if(e!==void 0)return e===`none`?`none`:`low`}var X={none:{label:P(`none`).label,sublabel:`asks every time`,tone:`negative`,dotColor:`var(--system-negative-strong)`},low:{label:P(`low`).label,sublabel:`safe lookups`,tone:`warning`,dotColor:`var(--system-mid-strong)`},medium:{label:P(`medium`).label,sublabel:`broader lookups`,tone:`info`,dotColor:`var(--system-info-strong)`},high:{label:P(`high`).label,sublabel:`any lookup`,tone:`positive`,dotColor:`var(--system-positive-strong)`}},Z=[`trusted_contact`,`unverified_contact`,`unknown`];function Ge(e,t){let n={};for(let r of e){if(r.selector.scope!==`channel`||r.selector.adapter!==t)continue;let e=r.selector.channelExternalId;e&&(r.contactType===`trusted_contact`||!(e in n))&&(n[e]=r.threshold)}return n}function Ke(e,t,n){return n===`channels`?e.selector.scope===`adapter`&&e.selector.adapter===t:e.selector.scope===`channel_type`&&e.selector.adapter===t&&e.selector.channelType===`dm`}function qe(e,t,n){let r;for(let i of e)Ke(i,t,n)&&(i.contactType===`trusted_contact`||r===void 0)&&(r=i.threshold);return r}var Je=`__default__`;function Ye({color:e}){return(0,Y.jsx)(`span`,{"aria-hidden":`true`,className:`h-1.5 w-1.5 shrink-0 rounded-full`,style:{backgroundColor:e}})}function Xe({tier:e,defaultTier:t,disabled:n,onTierChange:r,onReset:i,"aria-label":a}){let{t:o}=K(`channels`),s=We(e??t??void 0),c=We(t??void 0)??null,l=Ue.map(e=>({value:e,label:X[e].label,icon:(0,Y.jsx)(Ye,{color:X[e].dotColor}),suffix:e===c?(0,Y.jsx)(`span`,{className:`text-[color:var(--content-tertiary)]`,children:o(`tierPicker.defaultSuffix`)}):void 0,tooltip:X[e].sublabel}));return l.unshift({value:Je,label:`Default`,icon:(0,Y.jsx)(Ye,{color:`transparent`}),tooltip:`follows the default level`}),(0,Y.jsx)(re,{value:s??``,onChange:e=>{e===Je||e===c?i():r(e)},options:l,placeholder:o(`tierPicker.defaultPlaceholder`),disabled:n,size:`compact`,menuAlign:`end`,"aria-label":a})}function Q(e){return e.type===`dm`?`dm`:e.isPrivate?`private`:`public`}function Ze(e){return e.filter(e=>Q(e)!==`dm`)}function Qe(e,t,n){let r=t.trim().toLowerCase();return e.filter(e=>(n===null||Q(e)===n)&&(r===``||e.name.toLowerCase().includes(r))).sort((e,t)=>e.name.localeCompare(t.name))}function $e(e){let t={public:0,private:0,dm:0};for(let n of e)t[Q(n)]+=1;return t}function et(e){return e.memberCount==null?null:e.memberCount===1?`1 member`:`${e.memberCount} members`}var tt=[{value:null,labelKey:`slackChannelList.filterAll`},{value:`public`,labelKey:`slackChannelList.filterPublic`},{value:`private`,labelKey:`slackChannelList.filterPrivate`}],nt={public:_,private:I},rt=100,it=new Set;function at({assistantDisplayName:e,slackHandle:t,channels:n,loading:r=!1,error:i=!1,tierOverrides:a,defaultTier:o=null,accessControlsSupported:s=!0,tierOverridesLoading:c=!1,tierOverridesError:l=!1,pendingChannelIds:u=it,onTierChange:p,onTierReset:m}){let{t:h}=K(`channels`),[g,v]=(0,J.useState)(``),[y,b]=(0,J.useState)(null),x=(0,J.useMemo)(()=>Ze(n??[]),[n]),S=(0,J.useMemo)(()=>Qe(x,g,y),[x,g,y]),C=(0,J.useMemo)(()=>$e(x),[x]);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3 p-4`,children:[(0,Y.jsx)(f,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(ae,{i18nKey:`slackChannelList.presenceHint`,ns:`channels`,values:{handle:t??`@${e}`,assistant:e},components:{invite:(0,Y.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`}),remove:(0,Y.jsx)(`code`,{className:`text-[color:var(--content-secondary)]`})}})}),r?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.loading`)}):i?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-negative)]`,children:h(`slackChannelList.loadFailed`)}):x.length===0?(0,Y.jsx)(ze,{icon:(0,Y.jsx)(_,{className:`h-6 w-6`}),title:h(`slackChannelList.emptyTitle`)}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,Y.jsx)(`div`,{className:`min-w-56 flex-1`,children:(0,Y.jsx)(G,{type:`search`,value:g,onChange:e=>v(e.target.value),placeholder:h(`slackChannelList.searchPlaceholder`),"aria-label":h(`slackChannelList.searchAria`),leftIcon:(0,Y.jsx)(te,{className:`h-4 w-4`}),fullWidth:!0})}),(0,Y.jsx)(`div`,{className:`flex items-center gap-2`,role:`group`,"aria-label":h(`slackChannelList.filterGroupAria`),children:tt.map(({value:e,labelKey:t})=>{let n=y===e,r=e===null?x.length:C[e];return(0,Y.jsx)(`button`,{type:`button`,"aria-pressed":n,onClick:()=>b(e),className:d(`inline-flex h-6 items-center rounded-full px-2.5 text-body-small-emphasised leading-none transition-colors`,n?`bg-[var(--content-default)] text-[var(--surface-base)]`:`bg-[var(--tag-bg-neutral)] text-[color:var(--content-secondary)] hover:text-[color:var(--content-default)]`),children:h(t,{count:r})},e??`all`)})})]}),S.length===0?(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`py-4 text-center text-[color:var(--content-tertiary)]`,children:h(`slackChannelList.noMatches`)}):S.length>rt?(0,Y.jsx)(`div`,{className:`h-96`,children:(0,Y.jsx)(H,{items:S,computeItemKey:(e,t)=>t.id,itemContent:(e,t)=>(0,Y.jsx)(ot,{channel:t,pending:u.has(t.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[t.id],onTierChange:e=>p?.(t.id,e),onReset:()=>m?.(t.id)}),className:`h-full`})}):(0,Y.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:S.map(e=>(0,Y.jsx)(ot,{channel:e,pending:u.has(e.id),overridesLoading:c,overridesError:l,defaultTier:o,accessControls:s,tierOverride:a?.[e.id],onTierChange:t=>p?.(e.id,t),onReset:()=>m?.(e.id)},e.id))})]})]})}function ot({channel:e,pending:t,overridesLoading:n,overridesError:r,defaultTier:i,accessControls:a,tierOverride:o,onTierChange:s,onReset:c}){let{t:l}=K(`channels`),u=Q(e);if(u===`dm`)return null;let d=nt[u],f=et(e),p=`[&+&]:border-t [&+&]:border-[var(--border-base)]`;return a?(0,Y.jsx)(h,{className:p,leading:(0,Y.jsx)(d,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,subtitle:f??void 0,trailing:(0,Y.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Y.jsx)(Xe,{tier:o,defaultTier:i,disabled:t||n||r,onTierChange:s,onReset:c,"aria-label":l(`slackChannelList.accessAria`,{channel:e.name})})})}):(0,Y.jsx)(h,{className:p,leading:(0,Y.jsx)(d,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:e.name,trailing:f==null?void 0:(0,Y.jsx)(`span`,{className:`text-body-small-default text-[color:var(--content-tertiary)]`,children:f})})}function st(e){return e===`none`?`Asks before every action, even a web search.`:`Asks before anything beyond looking things up and saving files in its own workspace.`}function ct({defaultTier:e}){let{t}=K(`channels`),n=We(e??void 0)??null;return(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 px-4 py-3`,children:(0,Y.jsx)(`ul`,{className:`grid gap-x-6 gap-y-3 sm:grid-cols-2`,children:[...Ue].reverse().map(e=>{let r=X[e];return(0,Y.jsxs)(`li`,{className:`flex flex-col gap-0.5`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(Ye,{color:r.dotColor}),(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,children:r.label}),e===n?(0,Y.jsx)(f,{as:`span`,variant:`body-small-default`,className:`text-[color:var(--content-tertiary)]`,children:t(`slackChannelTierLegend.defaultMarker`)}):null]}),(0,Y.jsx)(f,{as:`span`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:st(e)})]},e)})})})}var lt=[{bucket:`channels`,icon:_,title:`Channels`,description:`Public and private channels`},{bucket:`dm`,icon:L,title:`Direct messages`,description:`One-on-one DMs`}];function ut({assistantName:e,globalDefaultTier:t,bucketTiers:n,loading:r,error:i,pendingBuckets:a,onBucketChange:s,onBucketReset:c}){let{t:l}=K(`channels`);return(0,Y.jsxs)(p.Root,{children:[(0,Y.jsx)(p.Header,{children:(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[l(`slackChannelTypeDefaults.heading`),(0,Y.jsx)(f,{as:`p`,variant:`body-small-lighter`,className:`text-[color:var(--content-tertiary)]`,children:(0,Y.jsx)(ae,{i18nKey:`slackChannelTypeDefaults.subtitle`,ns:`channels`,values:{assistant:e},components:{trustRules:(0,Y.jsx)(o,{to:se.settings.privacy,className:`text-[var(--content-link)] underline hover:text-[var(--content-link-hover)]`})}})})]})}),(0,Y.jsx)(p.Body,{className:`py-1`,children:lt.map(({bucket:e,icon:o,title:u,description:d})=>{let f=e===`dm`?n?.channels??t:t;return(0,Y.jsx)(h,{className:`[&+&]:border-t [&+&]:border-[var(--border-base)]`,leading:(0,Y.jsx)(o,{className:`h-4 w-4 text-[var(--content-tertiary)]`}),title:u,subtitle:d,trailing:(0,Y.jsx)(`div`,{className:`w-40 sm:w-48`,children:(0,Y.jsx)(Xe,{tier:n?.[e],defaultTier:f,disabled:r||i||a.has(e),onTierChange:t=>s(e,t),onReset:()=>c(e),"aria-label":l(`slackChannelTypeDefaults.bucketAria`,{bucket:u})})})},e)})}),(0,Y.jsx)(p.Footer,{className:`p-0`,children:(0,Y.jsx)(ct,{defaultTier:t})})]})}var dt=`0.11.0`;function ft(){return oe(dt)}var pt=new Set([404,501]);function mt(e){let t=ve(e);return t!==void 0&&pt.has(t)}function ht(e,t,n){return Z.map(r=>({selector:{scope:`channel`,adapter:e,channelExternalId:t},contactType:r,threshold:n}))}function gt(e,t,n){return e.selector.scope===`channel`&&e.selector.adapter===t&&e.selector.channelExternalId===n}function _t(e,t){return t===`channels`?{scope:`adapter`,adapter:e}:{scope:`channel_type`,adapter:e,channelType:`dm`}}function vt(e,t,n){let r=_t(e,t);return Z.map(e=>({selector:r,contactType:e,threshold:n}))}function yt({assistantId:e,adapter:t}){let n=s(),r=ft()&&!!e,i=(0,J.useMemo)(()=>({path:{assistant_id:e}}),[e]),a=(0,J.useMemo)(()=>g(i),[i]),o=(0,J.useMemo)(()=>[`channel-permission-resolve`,e,t],[e,t]),u=c({...v(i),enabled:r}),d=u.data?.cells,f=(0,J.useMemo)(()=>d?Ge(d,t):void 0,[d,t]),p=(0,J.useMemo)(()=>d?{channels:qe(d,t,`channels`),dm:qe(d,t,`dm`)}:void 0,[d,t]),m=c({queryKey:o,queryFn:async()=>{let{data:e}=await ue({...i,body:{adapter:t,contactType:`trusted_contact`},throwOnError:!0});return e.resolved?.threshold??null},enabled:r,retry:!1,staleTime:3e4}),h=(e,t)=>{let r=n.getQueryData(a),i=Date.now();return n.setQueryData(a,n=>({cells:[...(n?.cells??[]).filter(t=>!e(t)),...t.map(e=>({...e,updatedAt:i}))]})),{previous:r}},_=l({mutationFn:async({channelExternalId:e,tier:n})=>{await Promise.all(ht(t,e,n).map(e=>fe({...i,body:e,throwOnError:!0})))},onMutate:({channelExternalId:e,tier:n})=>h(n=>gt(n,t,e),ht(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to save channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),y=l({mutationFn:async({channelExternalId:e})=>{await Promise.all(Z.map(n=>de({...i,body:{selector:{scope:`channel`,adapter:t,channelExternalId:e},contactType:n},throwOnError:!0})))},onMutate:({channelExternalId:e})=>h(n=>gt(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to reset channel settings`)(e)},onSettled:()=>n.invalidateQueries({queryKey:a})}),b=l({mutationFn:async({bucket:e,tier:n})=>{await Promise.all(vt(t,e,n).map(e=>fe({...i,body:e,throwOnError:!0})))},onMutate:({bucket:e,tier:n})=>h(n=>Ke(n,t,e),vt(t,e,n)),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to save the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:o})}}),x=l({mutationFn:async({bucket:e})=>{let n=_t(t,e);await Promise.all(Z.map(e=>de({...i,body:{selector:n,contactType:e},throwOnError:!0})))},onMutate:({bucket:e})=>h(n=>Ke(n,t,e),[]),onError:(e,t,r)=>{n.setQueryData(a,r?.previous),q(`Failed to reset the default`)(e)},onSettled:(e,t,{bucket:r})=>{n.invalidateQueries({queryKey:a}),r===`channels`&&n.invalidateQueries({queryKey:o})}}),S=(0,J.useMemo)(()=>{let e=new Set;return _.isPending&&_.variables&&e.add(_.variables.channelExternalId),y.isPending&&y.variables&&e.add(y.variables.channelExternalId),e},[_.isPending,_.variables,y.isPending,y.variables]),C=(0,J.useMemo)(()=>{let e=new Set;return b.isPending&&b.variables&&e.add(b.variables.bucket),x.isPending&&x.variables&&e.add(x.variables.bucket),e},[b.isPending,b.variables,x.isPending,x.variables]);return!r||u.isError&&mt(u.error)?{supported:!1,tierOverrides:void 0,defaultCellTier:void 0,bucketTiers:void 0,pendingChannelIds:new Set,pendingBuckets:new Set,isLoading:!1,isError:!1,onTierChange:void 0,onTierReset:void 0,onBucketChange:void 0,onBucketReset:void 0}:{supported:!0,tierOverrides:f,defaultCellTier:m.data,bucketTiers:p,pendingChannelIds:S,pendingBuckets:C,isLoading:u.isPending,isError:u.isError,onTierChange:(e,t)=>_.mutate({channelExternalId:e,tier:t}),onTierReset:e=>{f?.[e]!==void 0&&y.mutate({channelExternalId:e})},onBucketChange:(e,t)=>b.mutate({bucket:e,tier:t}),onBucketReset:e=>{p?.[e]!==void 0&&x.mutate({bucket:e})}}}function bt({assistantId:e,assistantDisplayName:t,slackHandle:n}){let{t:r}=K(`channels`),i=c({...E(e),enabled:!!e,select:e=>e.channels}),a=yt({assistantId:e,adapter:`slack`}),o=c({queryKey:[`thresholds`,e],queryFn:()=>ee(e),enabled:a.supported&&!!e,staleTime:3e4}).data?.interactive??null,s=a.defaultCellTier===void 0?null:a.defaultCellTier??o,l=(0,Y.jsx)(at,{assistantDisplayName:t,slackHandle:n,accessControlsSupported:a.supported,defaultTier:s,channels:i.data,loading:i.isPending,error:i.isError,tierOverrides:a.tierOverrides,tierOverridesLoading:a.isLoading,tierOverridesError:a.isError,pendingChannelIds:a.pendingChannelIds,onTierChange:a.onTierChange,onTierReset:a.onTierReset});return!a.supported||!a.onBucketChange||!a.onBucketReset?(0,Y.jsx)(p.Root,{noPadding:!0,clipContents:!0,children:l}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[a.isError?(0,Y.jsx)(z,{tone:`error`,children:r(`slackChannelSection.overridesLoadFailed`)}):null,(0,Y.jsx)(ut,{assistantName:t,globalDefaultTier:o,bucketTiers:a.bucketTiers,loading:a.isLoading,error:a.isError,pendingBuckets:a.pendingBuckets,onBucketChange:a.onBucketChange,onBucketReset:a.onBucketReset}),(0,Y.jsx)(p.Root,{noPadding:!0,clipContents:!0,children:(0,Y.jsx)(U.Root,{type:`single`,collapsible:!0,children:(0,Y.jsxs)(U.Item,{value:`per-channel-overrides`,children:[(0,Y.jsxs)(U.Trigger,{className:`group justify-between gap-2 px-4 py-3`,children:[(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,children:r(`slackChannelSection.perChannelOverrides`)}),(0,Y.jsx)(M,{"aria-hidden":`true`,className:`h-4 w-4 shrink-0 text-[var(--content-tertiary)] transition-transform group-data-[state=open]:rotate-180`})]}),(0,Y.jsx)(U.Content,{className:`border-[var(--border-base)] data-[state=open]:border-t`,children:l})]})})})]})}function xt({slackHandle:e,disconnectPending:t=!1,onDisconnect:r,children:i}){let{t:a}=K(`channels`);return(0,Y.jsxs)(p.Root,{children:[(0,Y.jsx)(p.Header,{children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(`img`,{src:me(`/images/integrations/slack.svg`),alt:``,className:`size-8 rounded-lg bg-[var(--surface-sunken)] p-1`}),e?(0,Y.jsx)(f,{as:`span`,variant:`body-medium-default`,children:e}):null,(0,Y.jsx)(W,{tone:`positive`,leftIcon:(0,Y.jsx)(N,{}),children:a(`connectionCard.connected`)}),(0,Y.jsx)(`div`,{className:`ml-auto`,children:(0,Y.jsx)(n,{type:`button`,variant:`ghost`,onClick:r,disabled:!r||t,children:a(t?`connectionCard.disconnecting`:`connectionCard.disconnect`)})})]})}),(0,Y.jsx)(p.Body,{children:i})]})}function St({threadMode:e,threadModePending:t=!1,onThreadModeChange:n}){let{t:r}=K(`channels`);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(f,{as:`span`,variant:`body-small-emphasised`,className:`text-[color:var(--content-secondary)]`,children:r(`slackThreadBehavior.heading`)}),(0,Y.jsxs)(V,{value:e??`mention_then_thread`,onValueChange:e=>n?.(e),disabled:t||!n,"aria-label":r(`slackThreadBehavior.selectAria`),children:[(0,Y.jsx)(B,{value:`mention_only`,label:r(`slackThreadBehavior.mentionsOnly`),helperText:r(`slackThreadBehavior.mentionsOnlyHelp`)}),(0,Y.jsx)(B,{value:`mention_then_thread`,label:r(`slackThreadBehavior.followThreads`),helperText:r(`slackThreadBehavior.followThreadsHelp`)})]})]})}function Ct({onSave:e}){let{t}=K(`channels`),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(``),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(null),d=r.trim().length>0&&a.trim().length>0&&!s;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(G,{label:t(`twilioCredentialEntry.accountSid`),type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`,disabled:s,fullWidth:!0}),(0,Y.jsx)(G,{label:t(`twilioCredentialEntry.authToken`),type:`password`,value:a,onChange:e=>o(e.target.value),placeholder:t(`twilioCredentialEntry.authTokenPlaceholder`),disabled:s,fullWidth:!0}),l?(0,Y.jsx)(`p`,{className:`text-label-small`,style:{color:`var(--content-negative)`},children:l}):null,(0,Y.jsx)(`div`,{children:(0,Y.jsx)(n,{type:`button`,onClick:async()=>{if(!(!e||!d)){c(!0),u(null);try{await e(r.trim(),a.trim()),i(``),o(``)}catch(e){u(e instanceof Error?e.message:`Failed to save`)}finally{c(!1)}}},disabled:!d,children:t(s?`twilioCredentialEntry.saving`:`twilioCredentialEntry.save`)})})]})}function wt({channel:e,assistantId:t,assistantName:r,assistantDisplayName:i,pending:a,initialManualEntry:o=!1,onSetup:s,onDisconnect:c,onSaveTelegramToken:l,telegramSaveStatus:u,telegramSaveError:d,onSaveSlackConfig:f,slackSaveStatus:p,slackSaveError:m,slackThreadMode:h,slackThreadModePending:g=!1,onSlackThreadModeChange:_,onSaveTwilioCredentials:v,policy:y,policySaving:b=!1,policyLoading:x=!1,policyError:S=!1,onPolicyChange:C}){let{t:w}=K(`channels`),T=e.status===`ready`,E=e.status===`incomplete`,[k,A]=(0,J.useState)(o);if(e.key===`slack`)return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[T?(0,Y.jsx)(xt,{slackHandle:e.address,disconnectPending:a,onDisconnect:c,children:(0,Y.jsx)(St,{threadMode:h,threadModePending:g,onThreadModeChange:_})}):(0,Y.jsx)(He,{children:(0,Y.jsx)(ge,{assistantName:r,onSave:f,saveStatus:p,saveError:m})}),T?(0,Y.jsx)(bt,{assistantId:t,assistantDisplayName:i,slackHandle:e.address}):null]});let j=Fe[e.key];return(0,Y.jsx)(`div`,{className:`flex flex-col gap-4`,children:T?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ve,{address:e.address,pending:a,onDisconnect:c}),j.hasTrustFloorControl&&C?(0,Y.jsx)(Be,{assistantDisplayName:i,policy:y,saving:b,loading:x,error:S,onChange:C}):null]}):k?e.key===`telegram`?(0,Y.jsx)(_e,{assistantName:r,saveStatus:u,saveError:d,onSave:l}):(0,Y.jsx)(Ct,{onSave:v}):(0,Y.jsx)(ze,{icon:(0,Y.jsx)(O,{channelId:e.key,className:`h-6 w-6`}),title:w(E?`channelPanel.incompleteTitle`:`channelPanel.disconnectedTitle`,{channel:D(e.key)}),description:E?e.warning??w(`channelPanel.incompleteDescription`,{channel:D(e.key)}):j.disconnectedPitchKey?w(j.disconnectedPitchKey,{assistant:i}):void 0,action:(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,Y.jsx)(n,{type:`button`,variant:`outlined`,onClick:s,disabled:!s||a,children:w(a?`channelPanel.opening`:E?`channelPanel.finishSetup`:`channelPanel.setUp`)}),(0,Y.jsx)(n,{type:`button`,variant:`link`,onClick:()=>A(!0),children:w(`channelPanel.connectManually`)})]})})})}var Tt=new Set([404,501]),Et=new Set([401,403]);function Dt(e){let t=ve(e);return t!==void 0&&Tt.has(t)?`unsupported`:t!==void 0&&Et.has(t)?`forbidden`:`unreadable`}function Ot(e,t,n){let r=e===`unreadable`?t:n;return r?r instanceof Error&&r.message?r.message:`Something went wrong`:null}function kt(e,t){let n=s(),r={assistant_id:e},i=c({...j({path:r}),enabled:!!e,retry:ye}),a=()=>n.invalidateQueries({queryKey:b({path:r})}),o=l({...k(),onSuccess:a}),u=l({...A(),onSuccess:a}),d=i.data?.sources?.find(e=>e.source===t),f;f=i.isError?Dt(i.error):i.isPending?`loading`:d?d.state:`none`;let p=Ot(f,i.error,o.error??u.error);return{status:f,paths:d?.routes?.map(e=>({path:e.publicPath,approvalGoverned:e.signer!==`vellum`,deliversInbound:e.deliversInbound===!0}))??[],deciding:o.isPending||u.isPending,approve:()=>{d?.digest&&o.mutate({path:{...r,source:t},body:{digest:d.digest}})},revoke:()=>u.mutate({path:{...r,source:t}}),error:p}}var At=`plugin`;function jt(e){let t=s(),n=we(),r=(0,J.useMemo)(()=>({path:{assistant_id:e}}),[e]),i=(0,J.useMemo)(()=>y(r),[r]),a=c({...C(r),enabled:n&&!!e,select:je}),o=l({mutationFn:t=>ke(e,At,t),onSuccess:()=>t.invalidateQueries({queryKey:i}),onError:q(`Failed to save channel policy`)}),u=(0,J.useCallback)(e=>{o.mutate(e)},[o]);return n?{policy:a.data?.find(e=>e.channelType===At)?.policy,isLoading:a.isPending,isError:a.isError,isSaving:o.isPending,onChange:u}:{policy:void 0,isLoading:!1,isError:!1,isSaving:!1,onChange:void 0}}function Mt({channel:e,assistantId:t,assistantDisplayName:i}){let{t:a}=K(`channels`),o=r(),s=kt(t,e.plugin),c=jt(t);return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-3 py-10 text-center`,children:[(0,Y.jsx)(S,{icon:e.icon,className:`h-8 w-8 text-[color:var(--content-secondary)]`}),(0,Y.jsx)(`h3`,{className:`text-title-medium`,style:{color:`var(--content-default)`},children:e.label}),e.description?(0,Y.jsx)(`p`,{className:`max-w-[420px] text-body-medium-default`,style:{color:`var(--content-secondary)`},children:e.description}):null,(0,Y.jsx)(Nt,{channel:e,ingress:s}),c.onChange?(0,Y.jsx)(`div`,{className:`w-full max-w-[420px] text-left`,children:(0,Y.jsx)(Be,{assistantDisplayName:i,policy:c.policy,saving:c.isSaving,loading:c.isLoading,error:c.isError,onChange:c.onChange})}):null,(0,Y.jsx)(n,{onClick:()=>o(`/assistant/plugins/${e.plugin}`),variant:`outlined`,children:a(`pluginChannelPanel.openPluginPage`)})]})}function Nt({channel:e,ingress:t}){let{t:n}=K(`channels`);switch(t.status){case`loading`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressLoading`,{channel:e.label})});case`unsupported`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressUnsupported`)});case`forbidden`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressForbidden`)});case`unreadable`:return(0,Y.jsxs)($,{children:[n(`pluginChannelPanel.ingressUnreadable`,{channel:e.label}),t.error?` ${t.error}`:``]});case`none`:return(0,Y.jsx)($,{children:n(`pluginChannelPanel.ingressNone`,{channel:e.label})});case`pending`:case`approved`:return(0,Y.jsx)(Pt,{channel:e,ingress:t})}}function Pt({channel:e,ingress:t}){let{t:r}=K(`channels`),i=t.status===`approved`,a=t.paths.filter(e=>e.approvalGoverned),o=t.paths.filter(e=>!e.approvalGoverned),s=a.some(e=>e.deliversInbound);return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,Y.jsx)(W,{tone:i?`positive`:`neutral`,children:r(i?`pluginChannelPanel.ingressApprovedTag`:`pluginChannelPanel.ingressPendingTag`)}),a.length>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{children:r(i?`pluginChannelPanel.approvedAddresses`:`pluginChannelPanel.pendingAddresses`,{channel:e.label})}),(0,Y.jsx)(Ft,{paths:a}),s?(0,Y.jsx)($,{children:r(`pluginChannelPanel.deliversInbound`,{channel:e.label})}):null]}):null,o.length>0?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($,{children:r(`pluginChannelPanel.ungovernedAddresses`)}),(0,Y.jsx)(Ft,{paths:o})]}):null,(0,Y.jsx)(n,{onClick:i?t.revoke:t.approve,disabled:t.deciding,variant:i?`outlined`:`primary`,children:r(i?`pluginChannelPanel.revokeIngress`:`pluginChannelPanel.approveIngress`)}),t.error?(0,Y.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--system-negative-strong)`},children:t.error}):null]})}function $({children:e}){return(0,Y.jsx)(`p`,{className:`max-w-[420px] text-body-small-default`,style:{color:`var(--content-secondary)`},children:e})}function Ft({paths:e}){return(0,Y.jsx)(`ul`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,Y.jsx)(`li`,{className:`font-mono text-body-small-default`,style:{color:`var(--content-secondary)`},children:e.path},e.path))})}var It={no_one:{title:`Block all messages?`,message:`Setting this channel to “No one” hard-denies every inbound message, including messages from you.
2
2
 
3
3
  You can reverse this at any time.`,confirmLabel:`Block all`,destructive:!0},any_contact:{title:`Allow any contact?`,message:`“Any contact” admits every matched contact in this channel (including pending, unverified ones), not just your verified contacts.
4
4
 
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-u47kRfIQ.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-VkxVX0DM.js";import{t as i}from"./useQuery-CTSuec5b.js";import{t as a}from"./jsx-runtime-BJ8jcmzB.js";import{t as o}from"./cn-Cf8SmgbR.js";import{t as s}from"./typography-DekrYXvs.js";import{d as c}from"./list-row-D1odQOMJ.js";import{t as l}from"./createLucideIcon-B-ZPaMbU.js";import{t as u}from"./archive-LuP5zP9E.js";import{t as d}from"./check-NGUguBHp.js";import{t as f}from"./menu-noj9Ohcf.js";import{a as p,c as m,l as h,o as g,s as _,t as v,u as y}from"./use-attachment-preview-BBkW8tBw.js";import{t as b}from"./download-C7_XK23s.js";import{t as x}from"./ellipsis-DLgXzWgN.js";import{t as S}from"./external-link-DCA91uI6.js";import{t as ee}from"./eye-off-8cYeidA6.js";import{t as te}from"./eye-C5DUd2Vd.js";import{t as C}from"./file-text-BEpL7wIA.js";import{t as ne}from"./file-BgKbUJNS.js";import{t as w}from"./key-round-DcfNNfNG.js";import{t as re}from"./loader-circle-C9QjVTuc.js";import{S as ie,f as ae,p as oe}from"./src-Ch3HTlFm.js";import{n as T}from"./toast-ZCXyBjoj.js";import{t as se}from"./skeleton-D8_lkywC.js";import{r as ce}from"./resolved-assistants-store-D57qRwKv.js";import{s as E}from"./i18n-DRUiM4wH.js";import{l as le,pt as ue}from"./sdk.gen-D0GK8o-1.js";import{t as de}from"./dist-BvgLnwN-.js";import{r as fe}from"./use-is-org-ready-DWQ9ObFx.js";import{n as pe}from"./browser-DCvedB5v.js";import{i as D}from"./viewer-store-D2m1Yxpg.js";import{a as me,i as O,n as he,o as k,r as A,s as ge,t as j}from"./workspace-path-links-Y-WgBhhL.js";import{t as M}from"./open-workspace-file-CHqRW_FU.js";import{t as _e}from"./copy-to-clipboard-DxFqp8rD.js";import{a as ve,n as ye,s as be}from"./pdf-preview-DWgdGevV.js";import{i as xe,o as Se,r as Ce}from"./use-local-file-info-CylHY-1x.js";import{n as we,r as Te}from"./workspace-tree-query-DPvfYL6B.js";import{t as Ee}from"./native-anchor-khF7BS8a.js";import{i as De,r as Oe,t as ke}from"./external-anchor-DVMszxoZ.js";var Ae=l(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),je=l(`picture-in-picture-2`,[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`,key:`daa4of`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`,key:`1nb8gs`}]]),N=e(n(),1),Me=`width=500,height=600`;function P(e){if(!e)return null;let t;try{let n=typeof window>`u`?`http://localhost`:window.location.origin;t=new URL(e,n)}catch{return null}return t.protocol!==`https:`&&t.protocol!==`http:`?null:t}function F(e){let t=P(e);if(!t)return!1;let n=t.pathname.toLowerCase();return t.searchParams.get(`response_type`)===`code`&&t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)||t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)&&/oauth|authorize|auth/.test(n)}function Ne(e){if(typeof window>`u`)return null;let t=P(e);return!t||t.origin!==window.location.origin?null:`${t.pathname}${t.search}${t.hash}`}function Pe(e){return P(e)?.href??null}function Fe(e){if(!F(e))return!1;if(de.isNativePlatform()){let t=Pe(e);return t?(pe(t),!0):!1}let t=window.open(e,`_blank`,Me);return t===null?!1:(t.focus(),!0)}function Ie(e){return Fe(e)}function Le(e){if(Fe(e))return!0;let t=window.open(e,`_blank`);return t===null?!1:(t.focus(),!0)}function Re(e,t){let n=Ne(e);if(n)return t.push(n),{kind:`routed`};let r=Pe(e);return r?t.isNative?(pe(r),{kind:`opened`}):Le(r)?{kind:`opened`}:{kind:`blocked`,url:r}:{kind:`invalid`}}var I=a(),ze=new Map([[`csv`,`csv`],[`tsv`,`csv`],[`md`,`markdown`],[`markdown`,`markdown`],[`txt`,`text`],[`log`,`text`],[`json`,`text`],[`yaml`,`text`],[`yml`,`text`],[`xml`,`text`],[`pdf`,`pdf`],[`png`,`image`],[`jpg`,`image`],[`jpeg`,`image`],[`gif`,`image`],[`webp`,`image`],[`svg`,`image`],[`avif`,`image`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`ogg`,`audio`],[`flac`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`webm`,`video`],[`m4v`,`video`]]);function Be(e){let t=e.lastIndexOf(`.`);return t<=0?null:e.slice(t+1).toLowerCase()}function Ve(e){let t=Be(e);return t===null?null:ze.get(t)??null}function He(e){return Ve(e)??`unsupported`}function L(e,t){return t?{mode:`preview`,assistantId:t,previewKind:He(e)}:{mode:`workspace`}}function Ue(e,t){return L(e,t).mode!==`workspace`}function We(e,t,n){return e===`document`&&t?.source===`workspace-file-preview`&&t.workspacePath===n}function Ge(e){let t=D.use.mainView(),n=D.use.openedDocumentState();return e===null?!1:We(t,n,e)}function Ke(e,t,n){return R(e,t)===n}function R(e,t){return e!==`document`||t?.source!==`document`?null:t.surfaceId}function qe(e,t,n){let r=L(t,n);if(r.mode===`preview`){D.getState().openWorkspaceFilePreview(e,r.previewKind);return}M(e)}function z(e,t,n){let r=D.getState();if(Ue(t,n)&&We(r.mainView,r.openedDocumentState,e)){r.closeDocument();return}qe(e,t,n)}var Je={image:m,video:_,audio:h,pdf:p,code:y,archive:u,spreadsheet:g,document:C,text:C,file:ne};function Ye(e,t){return e===`file`?ye(``,t):e}function B(e){return Se({sniffedMime:null,serverMime:null,filename:e}).kind}function V({kind:e,filename:t,className:n}){let r=Je[Ye(e,t)];return(0,I.jsx)(r,{className:n,"aria-hidden":!0})}var Xe=100*1024*1024,Ze=25*1024*1024;function Qe(e){switch(e){case`image`:case`audio`:case`video`:return Xe;default:return Ze}}var $e=1500,H=`inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-lg bg-[var(--surface-overlay)] px-2 py-1 align-middle text-[0.85em] leading-tight text-[var(--content-secondary)]`,U=`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`;function et({type:e,service:t,field:n,assistantId:r,neutralized:i}){let a=ce.use.activeAssistantId(),o=r===void 0?a:r,[s,l]=(0,N.useState)(null),[u,f]=(0,N.useState)(!1),[p,m]=(0,N.useState)(!1),h=(0,N.useRef)(null),g=(0,N.useRef)(0),_=e??`Secret`,v=t!==void 0&&n!==void 0&&o!=null,y=v?`${t}:${n}`:_,b=(0,N.useCallback)(()=>{g.current++,l(null),f(!1),m(!1),h.current&&=(clearTimeout(h.current),null)},[]),x=(0,N.useCallback)(async()=>{if(!v)return;let e=++g.current;f(!0);try{let{data:r}=await ue({path:{assistant_id:o},body:{service:t,field:n},throwOnError:!0});g.current===e&&l(r.value)}catch{g.current===e&&T.error(E(`chat:redactedCredentialChip.revealFailed`,{name:y}))}finally{g.current===e&&f(!1)}},[v,o,t,n,y]),S=(0,N.useCallback)(()=>{s!=null&&_e(s,{errorMessage:`Couldn't copy. Reveal and copy manually.`,onCopied:()=>{m(!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>m(!1),$e)}})},[s]);if(i)return(0,I.jsxs)(`span`,{className:H,title:`Redaction marker — not verified by the assistant`,children:[(0,I.jsx)(w,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,I.jsx)(`span`,{className:`truncate`,children:`Redacted`})]});if(!v)return(0,I.jsxs)(`span`,{className:H,title:`Redacted — this value is not linked to a stored credential`,children:[(0,I.jsx)(w,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,I.jsx)(`span`,{className:`truncate`,children:_})]});let C=s!==null;return(0,I.jsxs)(`span`,{className:H,children:[(0,I.jsx)(w,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),C?(0,I.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[var(--content-default)]`,children:s}):(0,I.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:u,"aria-label":`Reveal value for ${y}`,title:`${_} · click to reveal`,className:`min-w-0 select-none truncate rounded-sm text-left blur-[3px] transition-[filter] hover:blur-[2px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:y}),u?(0,I.jsx)(re,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):C?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`button`,{type:`button`,onClick:S,"aria-label":`Copy value for ${y}`,title:`Copy value`,className:U,children:p?(0,I.jsx)(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,I.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,I.jsx)(`button`,{type:`button`,onClick:b,"aria-label":`Hide value for ${y}`,title:`Hide value`,className:U,children:(0,I.jsx)(ee,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,I.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:u,"aria-label":`Reveal value for ${y}`,title:`Click to reveal`,className:U,children:(0,I.jsx)(te,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]})}var W=`redacted`;function tt(e){try{return decodeURIComponent(e)}catch{return}}function nt(){return RegExp(`〔${W}:([^:\u3014\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function rt(){return RegExp(`〔\\u2060${W}:([^:\\u3014\\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function it(e){let[,t,n,r]=e;if(n!==void 0&&r!==void 0){let e=tt(n),i=tt(r);if(e!==void 0&&i!==void 0)return{type:t,service:e,field:i}}return{type:t}}var G=`redacted-credential`,at=new Set([`pre`,`code`,`style`,`script`,`a`]);function ot(e){return e.type===`element`}function st(e){let t=[],n=nt(),r;for(;(r=n.exec(e))!==null;){let e=it(r);t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:G,properties:{type:e.type,...e.service!==void 0&&e.field!==void 0?{service:e.service,field:e.field}:{}},children:[]}})}let i=rt();for(;(r=i.exec(e))!==null;)t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:G,properties:{neutralized:!0},children:[]}});if(t.length===0)return;t.sort((e,t)=>e.index-t.index);let a=[],o=0;for(let n of t)n.index>o&&a.push({type:`text`,value:e.slice(o,n.index)}),a.push(n.element),o=n.index+n.length;return o<e.length&&a.push({type:`text`,value:e.slice(o)}),a}function ct(e){if(ot(e)&&at.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){ct(n);continue}let r=n.value;if(!r.includes(`〔`))continue;let i=st(r);i&&t.splice(e,1,...i)}}function lt(){return e=>{ct(e)}}var ut=new Set([`pre`,`code`,`style`,`script`]),dt=5,ft=.4,pt=`stream-word-fade`;function mt(e){return e.type===`element`}function ht(e){if(mt(e)&&ut.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){ht(n);continue}let r=n.value.match(/\S+|\s+/g);if(!r||r.length===1&&/^\s+$/.test(r[0]))continue;let i=r.map(e=>/^\s+$/.test(e)?{type:`text`,value:e}:{type:`element`,tagName:`span`,properties:{className:[pt]},children:[{type:`text`,value:e}]});t.splice(e,1,...i)}}function gt(e,t){if(mt(e)){let n=e.properties?.className;if(Array.isArray(n)&&n.includes(pt)){t.push(e);return}}if(e.children)for(let n of e.children)gt(n,t)}function _t(e){let t=e?.caughtUp??!1;return e=>{if(ht(e),t)return;let n=[];gt(e,n);let r=Math.min(dt,n.length);for(let e=0;e<r;e++){let t=n[n.length-1-e],r=(ft+(1-ft)*((e+1)/(dt+1))).toFixed(3);t.properties={...t.properties,style:`opacity:${r}`}}}}var vt=new Set([`pre`,`a`,`style`,`script`]);function yt(e){return e.type===`element`}function bt(e){if(e.children.length!==1)return;let t=e.children[0];return t.type===`text`?t.value:void 0}function xt(e){let t=e.children;if(t){for(let e of t)if(yt(e)&&!vt.has(e.tagName)){if(e.tagName===`code`){let t=bt(e),n=t===void 0?null:me(t);n!==null&&t!==void 0&&(e.tagName=j,e.properties={...e.properties,path:n,raw:t},e.children=[]);continue}xt(e)}}}function St(){return e=>{xt(e)}}var Ct=15e3,wt=1e4,Tt=9e4;function Et({path:e,raw:t,assistantId:n,onOpen:r}){let a=t??e??``,o=fe(),s=!!(e&&n&&r&&o),[c]=(0,N.useState)(()=>Date.now()+Tt),{data:l}=i({...we({assistantId:n??``,path:e?ge(e):``}),enabled:s,staleTime:Ct,retry:!1,refetchInterval:t=>Date.now()>=c||(t.state.data?.entries.some(t=>t.type===`file`&&t.path===e)??!1)?!1:wt});return!(0,N.useMemo)(()=>e!=null&&(l?.entries.some(t=>t.type===`file`&&t.path===e)??!1),[l,e])||!e||!r?(0,I.jsx)(`code`,{className:ae,children:a}):(0,I.jsx)(`button`,{type:`button`,onClick:()=>r(O(e),k(e)),className:`${ae} cursor-pointer text-[var(--system-positive-strong)] underline decoration-dotted underline-offset-2 hover:opacity-80`,title:`Open ${e}`,children:a})}var Dt=/^[a-zA-Z][a-zA-Z0-9+.-]*:/;function Ot(e){try{return decodeURIComponent(e)}catch{return null}}function K(e){return(e.split(`#`,1)[0]??``).split(`?`,1)[0]??``}function kt(e){let t=Ot(K(e));if(t===null)return null;let n=t.trim();if(n.length===0||n.length>512||n.includes(`\0`))return null;let r;if(n.startsWith(`/`)){let e=n.lastIndexOf(he);if(e===-1)return null;r=n.slice(e+he.length)}else r=n.startsWith(`./`)?n.slice(2):n;return A(r)?r:null}function At(e){let t=K(e.trim()).split(`/`).pop()??``;return Ot(t)??t}function q(e){if(e==null)return{kind:`other`};let t=e.trim();if(t.length===0||t.startsWith(`#`))return{kind:`other`};if(t.startsWith(`//`))return{kind:`web`};let n=Dt.exec(t)?.[0];if(n){let e=n.slice(0,-1).toLowerCase();return e===`vellum`?{kind:`vellum`}:e===`http`||e===`https`?{kind:`web`}:{kind:`other`}}if(!(t.startsWith(`/`)||t.startsWith(`./`)||t.includes(`/`)))return{kind:`other`};let r=kt(t);return{kind:`local-file`,workspacePath:r,filename:r?k(r):At(t)}}function J({workspacePath:e,filename:t,assistantId:n,disabled:i,onPictureInPicture:a,className:s}){let c=i===!0||e===null,l=(0,N.useCallback)(()=>{e!==null&&M(e)},[e]),u=(0,N.useCallback)(async()=>{if(!(e===null||!n))try{await Te({assistantId:n,path:e,filename:t})}catch{T.error(E(`chat:fileDownload.failed`),{description:t})}},[n,t,e]);return(0,I.jsxs)(f.Root,{children:[(0,I.jsx)(f.Trigger,{asChild:!0,children:(0,I.jsx)(r,{variant:`ghost`,size:`compact`,expandOnMobile:!1,iconOnly:(0,I.jsx)(x,{}),"aria-label":`File actions`,className:o(`shrink-0`,s),onClick:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()}})}),(0,I.jsxs)(f.Content,{align:`end`,sideOffset:4,children:[(0,I.jsx)(f.Item,{leftIcon:(0,I.jsx)(S,{size:14}),disabled:c,onSelect:l,className:`whitespace-nowrap`,children:`Go to file`}),a!==void 0&&(0,I.jsx)(f.Item,{leftIcon:(0,I.jsx)(je,{size:14}),onSelect:a,className:`whitespace-nowrap`,children:`Picture in Picture`}),(0,I.jsx)(f.Item,{leftIcon:(0,I.jsx)(b,{size:14}),disabled:c||!n,onSelect:()=>void u(),className:`whitespace-nowrap`,children:`Download`})]})]})}function jt(e){return e===`workspace`?{label:`Open in workspace`,Icon:S}:{label:`Open preview`,Icon:Ae}}var Mt={workspace:`workspace`,preview:`preview`};function Nt(e,t,n){return e===`missing`?`File not found`:e===`unavailable`?`File isn't available here`:n===t?null:n}function Y({displayName:e,filename:t,sizeBytes:n,kind:r,state:i,workspacePath:a,assistantId:c}){let l=i===`ready`,u=l&&a!==null,{mode:d}=L(t,c),f=d!==`workspace`,p=Ge(u?a:null)&&f,m=Nt(i,e,t),{label:h,Icon:g}=jt(d),_=p?`Close ${Mt[d]} for ${t}`:`Open ${t}`,v=()=>{u&&z(a,t,c)};return(0,I.jsxs)(`span`,{role:u?`button`:void 0,tabIndex:u?0:void 0,"aria-label":u?_:void 0,"aria-expanded":u&&f?p:void 0,title:t,onClick:u?v:void 0,onKeyDown:u?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v())}:void 0,"data-reveal-row":``,className:o(`my-2 flex w-full max-w-md items-center gap-2.5 rounded-lg border p-2 transition-colors`,p?`border-[var(--border-active)] bg-[var(--surface-active)]`:`border-[var(--border-element)] bg-[var(--surface-lift)]`,u&&`cursor-pointer`),children:[(0,I.jsx)(`span`,{className:o(`flex h-9 w-9 shrink-0 items-center justify-center rounded-md`,p?`bg-[var(--surface-lift)]`:`bg-[var(--surface-sunken)]`,l?`text-[var(--content-secondary)]`:`text-[var(--content-disabled)]`),children:(0,I.jsx)(V,{kind:r,filename:t,className:`h-4 w-4`})}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsx)(s,{as:`span`,variant:`body-small-default`,className:o(`truncate`,p?`text-[var(--content-emphasised)]`:`text-[var(--content-default)]`),children:be(e,40)}),m!==null&&(0,I.jsx)(s,{as:`span`,variant:`label-small-default`,className:`truncate text-[var(--content-tertiary)]`,children:m})]}),u&&!p&&(0,I.jsxs)(`span`,{"aria-hidden":`true`,"data-reveal":``,className:`flex shrink-0 items-center gap-1 text-[var(--content-tertiary)]`,children:[(0,I.jsx)(g,{className:`h-3.5 w-3.5`}),(0,I.jsx)(s,{as:`span`,variant:`label-small-default`,className:`whitespace-nowrap`,children:h})]}),n!==null&&(0,I.jsx)(s,{as:`span`,variant:`label-small-default`,className:`shrink-0 text-[var(--content-disabled)]`,children:ve(n)}),(0,I.jsx)(J,{workspacePath:a,filename:t,assistantId:c,disabled:!l})]})}var Pt=`vellum://workspace/`;function Ft(e){let t=e.trim().split(`/`).pop()??``;try{return decodeURIComponent(t)}catch{return t}}function It(e){return e.split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}}).join(`/`)}function X(e){let t=e.trim();if(t.startsWith(Pt)){let e=It(t.slice(19));return{workspacePath:A(e)?e:null,filename:k(e)}}let n=q(t);return n.kind===`local-file`?{workspacePath:n.workspacePath,filename:n.filename}:{workspacePath:null,filename:Ft(t)}}var Lt=`max-h-[400px] max-w-full rounded-lg border border-[var(--border-element)] object-contain`;function Rt(){return typeof document<`u`&&`pictureInPictureEnabled`in document&&document.pictureInPictureEnabled}function zt({children:e,menu:t}){return(0,I.jsxs)(`span`,{"data-reveal-row":``,className:`relative my-2 inline-block max-w-full align-top`,children:[e,(0,I.jsx)(`span`,{"data-reveal":``,className:`absolute right-2 top-2 rounded-md bg-[var(--surface-lift)]`,children:t})]})}function Bt({href:e,alt:t,assistantId:n}){let r=(0,N.useMemo)(()=>X(e),[e]),i=Ce(r.workspacePath,n),[a,o]=(0,N.useState)(null),s=(0,N.useRef)(null),c=(0,N.useCallback)(async()=>{let e=s.current;if(e!==null){if(document.pictureInPictureElement===e){try{await document.exitPictureInPicture()}catch{}return}e.disablePictureInPicture=!1;try{await e.requestPictureInPicture()}catch{e.disablePictureInPicture=!0,T.error(E(`chat:localFileEmbed.pictureInPictureUnavailable`));return}e.addEventListener(`leavepictureinpicture`,()=>{e.disablePictureInPicture=!0},{once:!0})}},[]),l=i.status===`ready`?i:null,u=l?.filename??r.filename,d=l?.kind??B(u),f=l?.sizeBytes??null,p=l!==null&&(d===`image`||d===`video`||d===`audio`)&&!(f!==null&&f>104857600)&&a!==e,{url:m,isError:h}=xe({workspacePath:r.workspacePath,mime:l?.mime??null,enabled:p,assistantId:n}),g=t.trim().length>0?t:u,_=g.length>0?g:u,v=(0,I.jsx)(J,{workspacePath:r.workspacePath,filename:u,assistantId:n}),y=(0,I.jsx)(se,{as:`span`,role:`status`,"aria-label":`Loading ${_}`,className:`my-2 inline-block h-7 w-40 rounded-lg align-middle`});if(n===void 0)return(0,I.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});if(i.status===`loading`)return y;if(i.status===`unavailable`)return(0,I.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:i.reason===`missing`?`missing`:`unavailable`,workspacePath:r.workspacePath,assistantId:n});let b=(0,I.jsx)(Y,{displayName:g,filename:u,sizeBytes:f,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});return!p||h?b:m===null?y:d===`image`?(0,I.jsx)(zt,{menu:v,children:(0,I.jsx)(`img`,{src:m,alt:t,onError:()=>o(e),className:Lt})}):d===`video`?(0,I.jsx)(zt,{menu:(0,I.jsx)(J,{workspacePath:r.workspacePath,filename:u,assistantId:n,onPictureInPicture:Rt()?()=>void c():void 0}),children:(0,I.jsx)(`video`,{ref:s,src:m,controls:!0,controlsList:`nodownload noplaybackrate`,disablePictureInPicture:!0,playsInline:!0,preload:`metadata`,"aria-label":_,className:Lt})}):d===`audio`?(0,I.jsxs)(`span`,{className:`my-2 flex w-full max-w-md items-center gap-2`,children:[(0,I.jsx)(`audio`,{src:m,controls:!0,controlsList:`nodownload noplaybackrate`,preload:`metadata`,"aria-label":_,className:`min-w-0 flex-1`}),v]}):b}function Vt({href:e,workspacePath:t,assistantId:n,children:r,onActivate:i}){let a=t===null?Ft(e):k(t);return(0,I.jsxs)(`a`,{href:e,onClick:e=>{if(e.preventDefault(),i){i();return}if(t===null){T.error(E(`chat:localFileLink.unavailable`));return}z(t,a,n)},className:`inline-flex items-baseline gap-1 cursor-pointer text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[(0,I.jsx)(V,{kind:B(a),filename:a,className:`h-3.5 w-3.5 shrink-0 self-center`}),r]})}function Z(e){return e!=null&&(e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`))}function Ht(e){return Z(e)?e:ie(e)}function Ut({href:e,children:t}){return(0,I.jsxs)(`a`,{href:e,target:`_blank`,rel:F(e)?void 0:`noopener noreferrer`,onClick:t=>{if(Ie(e)){t.preventDefault();return}Ee(t,e)},className:ke,children:[t,De(e)?(0,I.jsx)(Oe,{}):null]})}function Q(e){return typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(Q).join(``):(0,N.isValidElement)(e)?Q(e.props.children):``}var Wt=`my-2 max-w-full max-h-[400px] rounded-lg border border-[var(--border-element)] object-contain`;function $({alt:e}){return(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Image failed to load`,e?` (${e})`:``]})}function Gt({src:e,alt:t}){let[n,r]=(0,N.useState)(!1);return n?(0,I.jsx)($,{alt:t}):(0,I.jsx)(`img`,{src:e,alt:t,onError:()=>r(!0),className:Wt})}function Kt(e){try{return decodeURIComponent(e)}catch{return e}}function qt(e,t){let n=Kt(e.split(`/`).pop()??``),r=t?.find(e=>e.filename===n);if(!r)return;let i=r.mimeType;if(!(i===void 0||!i.startsWith(`image/`)))return r}function Jt({attachment:e,alt:n,assistantId:r,onOpenPreview:i}){let[a,o]=(0,N.useState)(null),[s,c]=(0,N.useState)(!1);if((0,N.useEffect)(()=>{if(!r||e.id.startsWith(`rehydrated:`))return;let n=!1;return(async()=>{try{let{data:t,error:i}=await le({path:{assistant_id:r,id:e.id},parseAs:`blob`,throwOnError:!1});if(n)return;if(i||!(t instanceof Blob)){c(!0);return}o(URL.createObjectURL(t))}catch(e){n||(c(!0),t(e,{context:`WorkspaceInlineImage`,bestEffort:!0}))}})(),()=>{n=!0,o(e=>(e&&URL.revokeObjectURL(e),null))}},[e,r]),s)return(0,I.jsx)($,{alt:n||e.filename});if(!a)return(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Loading image…`,n?` (${n})`:``]});let l=(0,I.jsx)(`img`,{src:a,alt:n,className:Wt});return i?(0,I.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`cursor-zoom-in appearance-none border-0 bg-transparent p-0`,"aria-label":n?`Expand image: ${n}`:`Expand image`,children:l}):l}var Yt=(0,N.memo)(function({content:e,className:t,hardLineBreaks:n,onVellumLinkClick:r,attachments:i,assistantId:a,streamWordFade:o,redactedCredentialChips:s,workspacePathLinks:c}){let{openPreview:l,previewModal:u}=v(a,i),d=(0,N.useCallback)((e,t)=>{let{workspacePath:n,filename:i}=X(e);if(a&&n!==null){z(n,i,a);return}r?.(e,t)},[a,r]),f=(0,N.useCallback)(({href:e,children:t})=>{if(e!=null&&Z(e)){let{workspacePath:n}=X(e);return(0,I.jsx)(Vt,{href:e,workspacePath:n,assistantId:a??void 0,onActivate:r&&!(a&&n!==null)?()=>r(e,Q(t)):void 0,children:t})}let n=q(e);if(e!=null&&n.kind===`local-file`){let{workspacePath:i}=n;return(0,I.jsx)(Vt,{href:e,workspacePath:i,assistantId:a??void 0,onActivate:r&&i!==null&&!a?()=>r(O(i),Q(t)):void 0,children:t})}return(0,I.jsx)(Ut,{href:e,children:t})},[r,a]),p=(0,N.useMemo)(()=>[...s?[lt]:[],...c&&r?[St]:[],...o?[[_t,{caughtUp:o===`caughtUp`}]]:[]],[s,o,c,r]),m=(0,N.useMemo)(()=>({src:e,alt:t})=>{let n=(0,I.jsx)(Bt,{href:e,alt:t,assistantId:a??void 0});if(Z(e)){let r=qt(e,i);return r?(0,I.jsx)(Jt,{attachment:r,alt:t,assistantId:a,onOpenPreview:l}):n}return q(e).kind===`local-file`?n:e.length===0?(0,I.jsx)($,{alt:t}):(0,I.jsx)(Gt,{src:e,alt:t})},[i,a,l]),h=(0,N.useMemo)(()=>({[G]:e=>(0,I.jsx)(et,{...e,assistantId:a},`${a??``}\u0000${e.service??``}\u0000${e.field??``}`),[j]:e=>(0,I.jsx)(Et,{...e,assistantId:a,onOpen:r?d:void 0})}),[a,r,d]);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(oe,{content:e,className:t,hardLineBreaks:n,linkComponent:f,imageComponent:m,urlTransform:Ht,extraRehypePlugins:p,extraComponents:s||c&&r?h:void 0}),u]})});export{Ke as a,Le as c,B as i,Qe as n,R as o,V as r,Re as s,Yt as t};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./capture-error-u47kRfIQ.js";import{t as n}from"./react-BFJW0bSv.js";import{t as r}from"./button-VkxVX0DM.js";import{t as i}from"./useQuery-CTSuec5b.js";import{t as a}from"./jsx-runtime-BJ8jcmzB.js";import{t as o}from"./cn-Cf8SmgbR.js";import{t as s}from"./typography-DekrYXvs.js";import{d as c}from"./list-row-D1odQOMJ.js";import{t as l}from"./createLucideIcon-B-ZPaMbU.js";import{t as u}from"./archive-LuP5zP9E.js";import{t as d}from"./check-NGUguBHp.js";import{t as f}from"./menu-noj9Ohcf.js";import{a as p,c as m,l as h,o as g,s as _,t as v,u as y}from"./use-attachment-preview-BBkW8tBw.js";import{t as b}from"./download-C7_XK23s.js";import{t as x}from"./ellipsis-DLgXzWgN.js";import{t as S}from"./external-link-DCA91uI6.js";import{t as ee}from"./eye-off-8cYeidA6.js";import{t as te}from"./eye-C5DUd2Vd.js";import{t as C}from"./file-text-BEpL7wIA.js";import{t as ne}from"./file-BgKbUJNS.js";import{t as w}from"./key-round-DcfNNfNG.js";import{t as re}from"./loader-circle-C9QjVTuc.js";import{S as ie,f as ae,p as oe}from"./src-Ch3HTlFm.js";import{n as T}from"./toast-ZCXyBjoj.js";import{t as se}from"./skeleton-D8_lkywC.js";import{r as ce}from"./resolved-assistants-store-D57qRwKv.js";import{s as E}from"./i18n-DRUiM4wH.js";import{l as le,pt as ue}from"./sdk.gen-D0GK8o-1.js";import{t as de}from"./dist-BvgLnwN-.js";import{r as fe}from"./use-is-org-ready-DWQ9ObFx.js";import{n as pe}from"./browser-DCvedB5v.js";import{i as D}from"./viewer-store-D2m1Yxpg.js";import{a as me,i as O,n as he,o as k,r as A,s as ge,t as j}from"./workspace-path-links-Y-WgBhhL.js";import{t as M}from"./open-workspace-file-CkAkrrW2.js";import{t as _e}from"./copy-to-clipboard-DxFqp8rD.js";import{a as ve,n as ye,s as be}from"./pdf-preview-DWgdGevV.js";import{i as xe,o as Se,r as Ce}from"./use-local-file-info-CylHY-1x.js";import{n as we,r as Te}from"./workspace-tree-query-DPvfYL6B.js";import{t as Ee}from"./native-anchor-khF7BS8a.js";import{i as De,r as Oe,t as ke}from"./external-anchor-DVMszxoZ.js";var Ae=l(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),je=l(`picture-in-picture-2`,[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`,key:`daa4of`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`,key:`1nb8gs`}]]),N=e(n(),1),Me=`width=500,height=600`;function P(e){if(!e)return null;let t;try{let n=typeof window>`u`?`http://localhost`:window.location.origin;t=new URL(e,n)}catch{return null}return t.protocol!==`https:`&&t.protocol!==`http:`?null:t}function F(e){let t=P(e);if(!t)return!1;let n=t.pathname.toLowerCase();return t.searchParams.get(`response_type`)===`code`&&t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)||t.searchParams.has(`client_id`)&&t.searchParams.has(`redirect_uri`)&&/oauth|authorize|auth/.test(n)}function Ne(e){if(typeof window>`u`)return null;let t=P(e);return!t||t.origin!==window.location.origin?null:`${t.pathname}${t.search}${t.hash}`}function Pe(e){return P(e)?.href??null}function Fe(e){if(!F(e))return!1;if(de.isNativePlatform()){let t=Pe(e);return t?(pe(t),!0):!1}let t=window.open(e,`_blank`,Me);return t===null?!1:(t.focus(),!0)}function Ie(e){return Fe(e)}function Le(e){if(Fe(e))return!0;let t=window.open(e,`_blank`);return t===null?!1:(t.focus(),!0)}function Re(e,t){let n=Ne(e);if(n)return t.push(n),{kind:`routed`};let r=Pe(e);return r?t.isNative?(pe(r),{kind:`opened`}):Le(r)?{kind:`opened`}:{kind:`blocked`,url:r}:{kind:`invalid`}}var I=a(),ze=new Map([[`csv`,`csv`],[`tsv`,`csv`],[`md`,`markdown`],[`markdown`,`markdown`],[`txt`,`text`],[`log`,`text`],[`json`,`text`],[`yaml`,`text`],[`yml`,`text`],[`xml`,`text`],[`pdf`,`pdf`],[`png`,`image`],[`jpg`,`image`],[`jpeg`,`image`],[`gif`,`image`],[`webp`,`image`],[`svg`,`image`],[`avif`,`image`],[`mp3`,`audio`],[`wav`,`audio`],[`m4a`,`audio`],[`ogg`,`audio`],[`flac`,`audio`],[`mp4`,`video`],[`mov`,`video`],[`webm`,`video`],[`m4v`,`video`]]);function Be(e){let t=e.lastIndexOf(`.`);return t<=0?null:e.slice(t+1).toLowerCase()}function Ve(e){let t=Be(e);return t===null?null:ze.get(t)??null}function He(e){return Ve(e)??`unsupported`}function L(e,t){return t?{mode:`preview`,assistantId:t,previewKind:He(e)}:{mode:`workspace`}}function Ue(e,t){return L(e,t).mode!==`workspace`}function We(e,t,n){return e===`document`&&t?.source===`workspace-file-preview`&&t.workspacePath===n}function Ge(e){let t=D.use.mainView(),n=D.use.openedDocumentState();return e===null?!1:We(t,n,e)}function Ke(e,t,n){return R(e,t)===n}function R(e,t){return e!==`document`||t?.source!==`document`?null:t.surfaceId}function qe(e,t,n){let r=L(t,n);if(r.mode===`preview`){D.getState().openWorkspaceFilePreview(e,r.previewKind);return}M(e)}function z(e,t,n){let r=D.getState();if(Ue(t,n)&&We(r.mainView,r.openedDocumentState,e)){r.closeDocument();return}qe(e,t,n)}var Je={image:m,video:_,audio:h,pdf:p,code:y,archive:u,spreadsheet:g,document:C,text:C,file:ne};function Ye(e,t){return e===`file`?ye(``,t):e}function B(e){return Se({sniffedMime:null,serverMime:null,filename:e}).kind}function V({kind:e,filename:t,className:n}){let r=Je[Ye(e,t)];return(0,I.jsx)(r,{className:n,"aria-hidden":!0})}var Xe=100*1024*1024,Ze=25*1024*1024;function Qe(e){switch(e){case`image`:case`audio`:case`video`:return Xe;default:return Ze}}var $e=1500,H=`inline-flex max-w-full min-w-0 items-center gap-1.5 rounded-lg bg-[var(--surface-overlay)] px-2 py-1 align-middle text-[0.85em] leading-tight text-[var(--content-secondary)]`,U=`shrink-0 rounded-sm p-0.5 text-[var(--content-tertiary)] transition-colors hover:text-[var(--content-secondary)] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`;function et({type:e,service:t,field:n,assistantId:r,neutralized:i}){let a=ce.use.activeAssistantId(),o=r===void 0?a:r,[s,l]=(0,N.useState)(null),[u,f]=(0,N.useState)(!1),[p,m]=(0,N.useState)(!1),h=(0,N.useRef)(null),g=(0,N.useRef)(0),_=e??`Secret`,v=t!==void 0&&n!==void 0&&o!=null,y=v?`${t}:${n}`:_,b=(0,N.useCallback)(()=>{g.current++,l(null),f(!1),m(!1),h.current&&=(clearTimeout(h.current),null)},[]),x=(0,N.useCallback)(async()=>{if(!v)return;let e=++g.current;f(!0);try{let{data:r}=await ue({path:{assistant_id:o},body:{service:t,field:n},throwOnError:!0});g.current===e&&l(r.value)}catch{g.current===e&&T.error(E(`chat:redactedCredentialChip.revealFailed`,{name:y}))}finally{g.current===e&&f(!1)}},[v,o,t,n,y]),S=(0,N.useCallback)(()=>{s!=null&&_e(s,{errorMessage:`Couldn't copy. Reveal and copy manually.`,onCopied:()=>{m(!0),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>m(!1),$e)}})},[s]);if(i)return(0,I.jsxs)(`span`,{className:H,title:`Redaction marker — not verified by the assistant`,children:[(0,I.jsx)(w,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,I.jsx)(`span`,{className:`truncate`,children:`Redacted`})]});if(!v)return(0,I.jsxs)(`span`,{className:H,title:`Redacted — this value is not linked to a stored credential`,children:[(0,I.jsx)(w,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),(0,I.jsx)(`span`,{className:`truncate`,children:_})]});let C=s!==null;return(0,I.jsxs)(`span`,{className:H,children:[(0,I.jsx)(w,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":!0}),C?(0,I.jsx)(`span`,{className:`min-w-0 truncate font-mono text-[var(--content-default)]`,children:s}):(0,I.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:u,"aria-label":`Reveal value for ${y}`,title:`${_} · click to reveal`,className:`min-w-0 select-none truncate rounded-sm text-left blur-[3px] transition-[filter] hover:blur-[2px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--border-focus)]`,children:y}),u?(0,I.jsx)(re,{className:`h-3.5 w-3.5 shrink-0 animate-spin`,"aria-hidden":!0}):C?(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(`button`,{type:`button`,onClick:S,"aria-label":`Copy value for ${y}`,title:`Copy value`,className:U,children:p?(0,I.jsx)(d,{className:`h-3.5 w-3.5`,"aria-hidden":!0}):(0,I.jsx)(c,{className:`h-3.5 w-3.5`,"aria-hidden":!0})}),(0,I.jsx)(`button`,{type:`button`,onClick:b,"aria-label":`Hide value for ${y}`,title:`Hide value`,className:U,children:(0,I.jsx)(ee,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]}):(0,I.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:u,"aria-label":`Reveal value for ${y}`,title:`Click to reveal`,className:U,children:(0,I.jsx)(te,{className:`h-3.5 w-3.5`,"aria-hidden":!0})})]})}var W=`redacted`;function tt(e){try{return decodeURIComponent(e)}catch{return}}function nt(){return RegExp(`〔${W}:([^:\u3014\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function rt(){return RegExp(`〔\\u2060${W}:([^:\\u3014\\u3015]+?)(?::([A-Za-z0-9_.%-]+):([A-Za-z0-9_.%-]+))?〕`,`g`)}function it(e){let[,t,n,r]=e;if(n!==void 0&&r!==void 0){let e=tt(n),i=tt(r);if(e!==void 0&&i!==void 0)return{type:t,service:e,field:i}}return{type:t}}var G=`redacted-credential`,at=new Set([`pre`,`code`,`style`,`script`,`a`]);function ot(e){return e.type===`element`}function st(e){let t=[],n=nt(),r;for(;(r=n.exec(e))!==null;){let e=it(r);t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:G,properties:{type:e.type,...e.service!==void 0&&e.field!==void 0?{service:e.service,field:e.field}:{}},children:[]}})}let i=rt();for(;(r=i.exec(e))!==null;)t.push({index:r.index,length:r[0].length,element:{type:`element`,tagName:G,properties:{neutralized:!0},children:[]}});if(t.length===0)return;t.sort((e,t)=>e.index-t.index);let a=[],o=0;for(let n of t)n.index>o&&a.push({type:`text`,value:e.slice(o,n.index)}),a.push(n.element),o=n.index+n.length;return o<e.length&&a.push({type:`text`,value:e.slice(o)}),a}function ct(e){if(ot(e)&&at.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){ct(n);continue}let r=n.value;if(!r.includes(`〔`))continue;let i=st(r);i&&t.splice(e,1,...i)}}function lt(){return e=>{ct(e)}}var ut=new Set([`pre`,`code`,`style`,`script`]),dt=5,ft=.4,pt=`stream-word-fade`;function mt(e){return e.type===`element`}function ht(e){if(mt(e)&&ut.has(e.tagName))return;let t=e.children;if(t)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type!==`text`){ht(n);continue}let r=n.value.match(/\S+|\s+/g);if(!r||r.length===1&&/^\s+$/.test(r[0]))continue;let i=r.map(e=>/^\s+$/.test(e)?{type:`text`,value:e}:{type:`element`,tagName:`span`,properties:{className:[pt]},children:[{type:`text`,value:e}]});t.splice(e,1,...i)}}function gt(e,t){if(mt(e)){let n=e.properties?.className;if(Array.isArray(n)&&n.includes(pt)){t.push(e);return}}if(e.children)for(let n of e.children)gt(n,t)}function _t(e){let t=e?.caughtUp??!1;return e=>{if(ht(e),t)return;let n=[];gt(e,n);let r=Math.min(dt,n.length);for(let e=0;e<r;e++){let t=n[n.length-1-e],r=(ft+(1-ft)*((e+1)/(dt+1))).toFixed(3);t.properties={...t.properties,style:`opacity:${r}`}}}}var vt=new Set([`pre`,`a`,`style`,`script`]);function yt(e){return e.type===`element`}function bt(e){if(e.children.length!==1)return;let t=e.children[0];return t.type===`text`?t.value:void 0}function xt(e){let t=e.children;if(t){for(let e of t)if(yt(e)&&!vt.has(e.tagName)){if(e.tagName===`code`){let t=bt(e),n=t===void 0?null:me(t);n!==null&&t!==void 0&&(e.tagName=j,e.properties={...e.properties,path:n,raw:t},e.children=[]);continue}xt(e)}}}function St(){return e=>{xt(e)}}var Ct=15e3,wt=1e4,Tt=9e4;function Et({path:e,raw:t,assistantId:n,onOpen:r}){let a=t??e??``,o=fe(),s=!!(e&&n&&r&&o),[c]=(0,N.useState)(()=>Date.now()+Tt),{data:l}=i({...we({assistantId:n??``,path:e?ge(e):``}),enabled:s,staleTime:Ct,retry:!1,refetchInterval:t=>Date.now()>=c||(t.state.data?.entries.some(t=>t.type===`file`&&t.path===e)??!1)?!1:wt});return!(0,N.useMemo)(()=>e!=null&&(l?.entries.some(t=>t.type===`file`&&t.path===e)??!1),[l,e])||!e||!r?(0,I.jsx)(`code`,{className:ae,children:a}):(0,I.jsx)(`button`,{type:`button`,onClick:()=>r(O(e),k(e)),className:`${ae} cursor-pointer text-[var(--system-positive-strong)] underline decoration-dotted underline-offset-2 hover:opacity-80`,title:`Open ${e}`,children:a})}var Dt=/^[a-zA-Z][a-zA-Z0-9+.-]*:/;function Ot(e){try{return decodeURIComponent(e)}catch{return null}}function K(e){return(e.split(`#`,1)[0]??``).split(`?`,1)[0]??``}function kt(e){let t=Ot(K(e));if(t===null)return null;let n=t.trim();if(n.length===0||n.length>512||n.includes(`\0`))return null;let r;if(n.startsWith(`/`)){let e=n.lastIndexOf(he);if(e===-1)return null;r=n.slice(e+he.length)}else r=n.startsWith(`./`)?n.slice(2):n;return A(r)?r:null}function At(e){let t=K(e.trim()).split(`/`).pop()??``;return Ot(t)??t}function q(e){if(e==null)return{kind:`other`};let t=e.trim();if(t.length===0||t.startsWith(`#`))return{kind:`other`};if(t.startsWith(`//`))return{kind:`web`};let n=Dt.exec(t)?.[0];if(n){let e=n.slice(0,-1).toLowerCase();return e===`vellum`?{kind:`vellum`}:e===`http`||e===`https`?{kind:`web`}:{kind:`other`}}if(!(t.startsWith(`/`)||t.startsWith(`./`)||t.includes(`/`)))return{kind:`other`};let r=kt(t);return{kind:`local-file`,workspacePath:r,filename:r?k(r):At(t)}}function J({workspacePath:e,filename:t,assistantId:n,disabled:i,onPictureInPicture:a,className:s}){let c=i===!0||e===null,l=(0,N.useCallback)(()=>{e!==null&&M(e)},[e]),u=(0,N.useCallback)(async()=>{if(!(e===null||!n))try{await Te({assistantId:n,path:e,filename:t})}catch{T.error(E(`chat:fileDownload.failed`),{description:t})}},[n,t,e]);return(0,I.jsxs)(f.Root,{children:[(0,I.jsx)(f.Trigger,{asChild:!0,children:(0,I.jsx)(r,{variant:`ghost`,size:`compact`,expandOnMobile:!1,iconOnly:(0,I.jsx)(x,{}),"aria-label":`File actions`,className:o(`shrink-0`,s),onClick:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()}})}),(0,I.jsxs)(f.Content,{align:`end`,sideOffset:4,children:[(0,I.jsx)(f.Item,{leftIcon:(0,I.jsx)(S,{size:14}),disabled:c,onSelect:l,className:`whitespace-nowrap`,children:`Go to file`}),a!==void 0&&(0,I.jsx)(f.Item,{leftIcon:(0,I.jsx)(je,{size:14}),onSelect:a,className:`whitespace-nowrap`,children:`Picture in Picture`}),(0,I.jsx)(f.Item,{leftIcon:(0,I.jsx)(b,{size:14}),disabled:c||!n,onSelect:()=>void u(),className:`whitespace-nowrap`,children:`Download`})]})]})}function jt(e){return e===`workspace`?{label:`Open in workspace`,Icon:S}:{label:`Open preview`,Icon:Ae}}var Mt={workspace:`workspace`,preview:`preview`};function Nt(e,t,n){return e===`missing`?`File not found`:e===`unavailable`?`File isn't available here`:n===t?null:n}function Y({displayName:e,filename:t,sizeBytes:n,kind:r,state:i,workspacePath:a,assistantId:c}){let l=i===`ready`,u=l&&a!==null,{mode:d}=L(t,c),f=d!==`workspace`,p=Ge(u?a:null)&&f,m=Nt(i,e,t),{label:h,Icon:g}=jt(d),_=p?`Close ${Mt[d]} for ${t}`:`Open ${t}`,v=()=>{u&&z(a,t,c)};return(0,I.jsxs)(`span`,{role:u?`button`:void 0,tabIndex:u?0:void 0,"aria-label":u?_:void 0,"aria-expanded":u&&f?p:void 0,title:t,onClick:u?v:void 0,onKeyDown:u?e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),v())}:void 0,"data-reveal-row":``,className:o(`my-2 flex w-full max-w-md items-center gap-2.5 rounded-lg border p-2 transition-colors`,p?`border-[var(--border-active)] bg-[var(--surface-active)]`:`border-[var(--border-element)] bg-[var(--surface-lift)]`,u&&`cursor-pointer`),children:[(0,I.jsx)(`span`,{className:o(`flex h-9 w-9 shrink-0 items-center justify-center rounded-md`,p?`bg-[var(--surface-lift)]`:`bg-[var(--surface-sunken)]`,l?`text-[var(--content-secondary)]`:`text-[var(--content-disabled)]`),children:(0,I.jsx)(V,{kind:r,filename:t,className:`h-4 w-4`})}),(0,I.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,I.jsx)(s,{as:`span`,variant:`body-small-default`,className:o(`truncate`,p?`text-[var(--content-emphasised)]`:`text-[var(--content-default)]`),children:be(e,40)}),m!==null&&(0,I.jsx)(s,{as:`span`,variant:`label-small-default`,className:`truncate text-[var(--content-tertiary)]`,children:m})]}),u&&!p&&(0,I.jsxs)(`span`,{"aria-hidden":`true`,"data-reveal":``,className:`flex shrink-0 items-center gap-1 text-[var(--content-tertiary)]`,children:[(0,I.jsx)(g,{className:`h-3.5 w-3.5`}),(0,I.jsx)(s,{as:`span`,variant:`label-small-default`,className:`whitespace-nowrap`,children:h})]}),n!==null&&(0,I.jsx)(s,{as:`span`,variant:`label-small-default`,className:`shrink-0 text-[var(--content-disabled)]`,children:ve(n)}),(0,I.jsx)(J,{workspacePath:a,filename:t,assistantId:c,disabled:!l})]})}var Pt=`vellum://workspace/`;function Ft(e){let t=e.trim().split(`/`).pop()??``;try{return decodeURIComponent(t)}catch{return t}}function It(e){return e.split(`/`).map(e=>{try{return decodeURIComponent(e)}catch{return e}}).join(`/`)}function X(e){let t=e.trim();if(t.startsWith(Pt)){let e=It(t.slice(19));return{workspacePath:A(e)?e:null,filename:k(e)}}let n=q(t);return n.kind===`local-file`?{workspacePath:n.workspacePath,filename:n.filename}:{workspacePath:null,filename:Ft(t)}}var Lt=`max-h-[400px] max-w-full rounded-lg border border-[var(--border-element)] object-contain`;function Rt(){return typeof document<`u`&&`pictureInPictureEnabled`in document&&document.pictureInPictureEnabled}function zt({children:e,menu:t}){return(0,I.jsxs)(`span`,{"data-reveal-row":``,className:`relative my-2 inline-block max-w-full align-top`,children:[e,(0,I.jsx)(`span`,{"data-reveal":``,className:`absolute right-2 top-2 rounded-md bg-[var(--surface-lift)]`,children:t})]})}function Bt({href:e,alt:t,assistantId:n}){let r=(0,N.useMemo)(()=>X(e),[e]),i=Ce(r.workspacePath,n),[a,o]=(0,N.useState)(null),s=(0,N.useRef)(null),c=(0,N.useCallback)(async()=>{let e=s.current;if(e!==null){if(document.pictureInPictureElement===e){try{await document.exitPictureInPicture()}catch{}return}e.disablePictureInPicture=!1;try{await e.requestPictureInPicture()}catch{e.disablePictureInPicture=!0,T.error(E(`chat:localFileEmbed.pictureInPictureUnavailable`));return}e.addEventListener(`leavepictureinpicture`,()=>{e.disablePictureInPicture=!0},{once:!0})}},[]),l=i.status===`ready`?i:null,u=l?.filename??r.filename,d=l?.kind??B(u),f=l?.sizeBytes??null,p=l!==null&&(d===`image`||d===`video`||d===`audio`)&&!(f!==null&&f>104857600)&&a!==e,{url:m,isError:h}=xe({workspacePath:r.workspacePath,mime:l?.mime??null,enabled:p,assistantId:n}),g=t.trim().length>0?t:u,_=g.length>0?g:u,v=(0,I.jsx)(J,{workspacePath:r.workspacePath,filename:u,assistantId:n}),y=(0,I.jsx)(se,{as:`span`,role:`status`,"aria-label":`Loading ${_}`,className:`my-2 inline-block h-7 w-40 rounded-lg align-middle`});if(n===void 0)return(0,I.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});if(i.status===`loading`)return y;if(i.status===`unavailable`)return(0,I.jsx)(Y,{displayName:g,filename:u,sizeBytes:null,kind:d,state:i.reason===`missing`?`missing`:`unavailable`,workspacePath:r.workspacePath,assistantId:n});let b=(0,I.jsx)(Y,{displayName:g,filename:u,sizeBytes:f,kind:d,state:`ready`,workspacePath:r.workspacePath,assistantId:n});return!p||h?b:m===null?y:d===`image`?(0,I.jsx)(zt,{menu:v,children:(0,I.jsx)(`img`,{src:m,alt:t,onError:()=>o(e),className:Lt})}):d===`video`?(0,I.jsx)(zt,{menu:(0,I.jsx)(J,{workspacePath:r.workspacePath,filename:u,assistantId:n,onPictureInPicture:Rt()?()=>void c():void 0}),children:(0,I.jsx)(`video`,{ref:s,src:m,controls:!0,controlsList:`nodownload noplaybackrate`,disablePictureInPicture:!0,playsInline:!0,preload:`metadata`,"aria-label":_,className:Lt})}):d===`audio`?(0,I.jsxs)(`span`,{className:`my-2 flex w-full max-w-md items-center gap-2`,children:[(0,I.jsx)(`audio`,{src:m,controls:!0,controlsList:`nodownload noplaybackrate`,preload:`metadata`,"aria-label":_,className:`min-w-0 flex-1`}),v]}):b}function Vt({href:e,workspacePath:t,assistantId:n,children:r,onActivate:i}){let a=t===null?Ft(e):k(t);return(0,I.jsxs)(`a`,{href:e,onClick:e=>{if(e.preventDefault(),i){i();return}if(t===null){T.error(E(`chat:localFileLink.unavailable`));return}z(t,a,n)},className:`inline-flex items-baseline gap-1 cursor-pointer text-[var(--system-positive-strong)] underline hover:opacity-80`,children:[(0,I.jsx)(V,{kind:B(a),filename:a,className:`h-3.5 w-3.5 shrink-0 self-center`}),r]})}function Z(e){return e!=null&&(e.startsWith(`vellum://workspace/`)||e.startsWith(`vellum://host/`))}function Ht(e){return Z(e)?e:ie(e)}function Ut({href:e,children:t}){return(0,I.jsxs)(`a`,{href:e,target:`_blank`,rel:F(e)?void 0:`noopener noreferrer`,onClick:t=>{if(Ie(e)){t.preventDefault();return}Ee(t,e)},className:ke,children:[t,De(e)?(0,I.jsx)(Oe,{}):null]})}function Q(e){return typeof e==`string`?e:typeof e==`number`?String(e):Array.isArray(e)?e.map(Q).join(``):(0,N.isValidElement)(e)?Q(e.props.children):``}var Wt=`my-2 max-w-full max-h-[400px] rounded-lg border border-[var(--border-element)] object-contain`;function $({alt:e}){return(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Image failed to load`,e?` (${e})`:``]})}function Gt({src:e,alt:t}){let[n,r]=(0,N.useState)(!1);return n?(0,I.jsx)($,{alt:t}):(0,I.jsx)(`img`,{src:e,alt:t,onError:()=>r(!0),className:Wt})}function Kt(e){try{return decodeURIComponent(e)}catch{return e}}function qt(e,t){let n=Kt(e.split(`/`).pop()??``),r=t?.find(e=>e.filename===n);if(!r)return;let i=r.mimeType;if(!(i===void 0||!i.startsWith(`image/`)))return r}function Jt({attachment:e,alt:n,assistantId:r,onOpenPreview:i}){let[a,o]=(0,N.useState)(null),[s,c]=(0,N.useState)(!1);if((0,N.useEffect)(()=>{if(!r||e.id.startsWith(`rehydrated:`))return;let n=!1;return(async()=>{try{let{data:t,error:i}=await le({path:{assistant_id:r,id:e.id},parseAs:`blob`,throwOnError:!1});if(n)return;if(i||!(t instanceof Blob)){c(!0);return}o(URL.createObjectURL(t))}catch(e){n||(c(!0),t(e,{context:`WorkspaceInlineImage`,bestEffort:!0}))}})(),()=>{n=!0,o(e=>(e&&URL.revokeObjectURL(e),null))}},[e,r]),s)return(0,I.jsx)($,{alt:n||e.filename});if(!a)return(0,I.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded bg-[var(--surface-sunken)] px-1.5 py-0.5 text-body-small-default text-[var(--content-tertiary)]`,children:[`Loading image…`,n?` (${n})`:``]});let l=(0,I.jsx)(`img`,{src:a,alt:n,className:Wt});return i?(0,I.jsx)(`button`,{type:`button`,onClick:()=>i(e),className:`cursor-zoom-in appearance-none border-0 bg-transparent p-0`,"aria-label":n?`Expand image: ${n}`:`Expand image`,children:l}):l}var Yt=(0,N.memo)(function({content:e,className:t,hardLineBreaks:n,onVellumLinkClick:r,attachments:i,assistantId:a,streamWordFade:o,redactedCredentialChips:s,workspacePathLinks:c}){let{openPreview:l,previewModal:u}=v(a,i),d=(0,N.useCallback)((e,t)=>{let{workspacePath:n,filename:i}=X(e);if(a&&n!==null){z(n,i,a);return}r?.(e,t)},[a,r]),f=(0,N.useCallback)(({href:e,children:t})=>{if(e!=null&&Z(e)){let{workspacePath:n}=X(e);return(0,I.jsx)(Vt,{href:e,workspacePath:n,assistantId:a??void 0,onActivate:r&&!(a&&n!==null)?()=>r(e,Q(t)):void 0,children:t})}let n=q(e);if(e!=null&&n.kind===`local-file`){let{workspacePath:i}=n;return(0,I.jsx)(Vt,{href:e,workspacePath:i,assistantId:a??void 0,onActivate:r&&i!==null&&!a?()=>r(O(i),Q(t)):void 0,children:t})}return(0,I.jsx)(Ut,{href:e,children:t})},[r,a]),p=(0,N.useMemo)(()=>[...s?[lt]:[],...c&&r?[St]:[],...o?[[_t,{caughtUp:o===`caughtUp`}]]:[]],[s,o,c,r]),m=(0,N.useMemo)(()=>({src:e,alt:t})=>{let n=(0,I.jsx)(Bt,{href:e,alt:t,assistantId:a??void 0});if(Z(e)){let r=qt(e,i);return r?(0,I.jsx)(Jt,{attachment:r,alt:t,assistantId:a,onOpenPreview:l}):n}return q(e).kind===`local-file`?n:e.length===0?(0,I.jsx)($,{alt:t}):(0,I.jsx)(Gt,{src:e,alt:t})},[i,a,l]),h=(0,N.useMemo)(()=>({[G]:e=>(0,I.jsx)(et,{...e,assistantId:a},`${a??``}\u0000${e.service??``}\u0000${e.field??``}`),[j]:e=>(0,I.jsx)(Et,{...e,assistantId:a,onOpen:r?d:void 0})}),[a,r,d]);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(oe,{content:e,className:t,hardLineBreaks:n,linkComponent:f,imageComponent:m,urlTransform:Ht,extraRehypePlugins:p,extraComponents:s||c&&r?h:void 0}),u]})});export{Ke as a,Le as c,B as i,Qe as n,R as o,V as r,Re as s,Yt as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./react-BFJW0bSv.js";import{t as n}from"./jsx-runtime-BJ8jcmzB.js";import{t as r}from"./arrow-up-BiLIdQeR.js";import{c as i,l as a,n as o,o as s,s as c}from"./desktop-voice-activity-B0dHlUep.js";import{t as l}from"./check-NGUguBHp.js";import{t as u}from"./mic-W9IfxqWv.js";import{t as d}from"./volume-2-C9nj0NKL.js";import{t as f}from"./x-zfSDUG5z.js";import{a as p,c as m,f as h,h as g,m as _,o as v,p as y,r as b,u as x}from"./schemas-CwBN1MUL.js";import{a as S,c as C,i as w,l as T,r as E,s as D,t as O,u as k}from"./companion-surface-BsyJC28W.js";import{t as A}from"./avatar-bundled-components-BAf9xLMj.js";import{t as j}from"./animated-avatar-DeoyXVW2.js";var M=e(t(),1),N=[`idle`,`thinking`,`error`,`disconnected`,`authFailed`],P=[`connecting`,`listening`,`transcribing`,`thinking`,`speaking`,`ending`],F=[`muteMicrophone`,`unmuteMicrophone`,`muteAssistantAudio`,`unmuteAssistantAudio`,`endSession`,`approveRequest`,`denyRequest`],I=[`activityComplete`,`toolConfirmation`,`voiceResponseComplete`,`notificationIntent`],L={small:44,medium:66,large:88,huge:110}.small/2+24;b(N),x({category:b(I),title:y(),body:y(),deliveryId:y().optional(),conversationId:y().optional(),toolCallId:y().optional(),deepLinkMetadata:h(y(),g()).optional()}),x({phase:b(P),label:y(),accentHex:y(),muted:v(),outputMuted:v(),detail:y(),approvalRequestId:y()}).extend({assistantName:y(),avatarBase64:y().optional()}),x({action:b(F),requestId:y().optional()});var R=p(x({role:_([m(`user`),m(`assistant`)]),text:y()})).max(40);x({assistantName:y(),turns:R,working:v().default(!1)});var z=y().max(64).regex(/^(#[0-9a-fA-F]{3,8}|(?:rgb|hsl)a?\([^()]*\)|[a-zA-Z]+)$/);x({color:z,symbolColor:z,colorScheme:b([`light`,`dark`])});var B=n(),V=`#5eead4`,H=new Set([`transcribing`,`thinking`,`speaking`]),U=44,W=28,G=8,K={resting:U,hover:188,call:296,typing:360},q=360,J=220;function Y({phase:e,turns:t=[],assistantName:n=`your assistant`,glow:r=!0,accentHex:i=V,avatarSrc:a,character:o,hovered:s=!1,onHoverStart:c,onHoverEnd:l,growth:u=`right`,cardGrowth:d=`up`,rootRef:f,onSurfaceMouseDown:p,spotlight:m,onTalk:h,onType:g,onSubmit:_,onCancelTyping:v,onAvatarClick:y,working:b=!1,call:x,onControl:S}){let C=e!==`resting`,w=e===`typing`,T=b||x!==void 0&&H.has(x.phase),E=(0,M.useRef)(null),[D,O]=(0,M.useState)(null);(0,M.useLayoutEffect)(()=>{let e=E.current;if(!e)return;let t=()=>{O(e.scrollWidth)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[e]);let k=w?q:U+(C?(D??K[e]-U)+G:0),A=u===`left`?{right:`50%`,marginRight:-(U/2)}:{left:`50%`,marginLeft:-(U/2)},j=d===`up`?{top:`calc(100% - ${L}px)`}:{top:L},N={width:k,...A,...j,transform:w?d===`up`?`translateY(calc(-100% + ${U/2}px))`:`translateY(-${U/2}px)`:`translateY(-50%)`,transitionTimingFunction:`cubic-bezier(.2,.8,.2,1)`,"--accent":i};return(0,B.jsxs)(`div`,{className:`absolute cursor-grab transition-[width] duration-300 select-none will-change-[width] active:cursor-grabbing ${w?`flex rounded-[22px] ${d===`up`?`flex-col`:`flex-col-reverse`}`:`flex h-11 items-center rounded-full`} ${u===`left`&&!w?`flex-row-reverse`:``}`,style:N,onMouseLeave:l,onMouseDown:p,ref:f,children:[(0,B.jsx)(`span`,{className:`absolute inset-0 border border-white/10 bg-[#17181b]/95 shadow-lg shadow-black/40 transition-opacity duration-200 ${w?`rounded-[22px]`:`rounded-full`}`,style:{opacity:+!!C},"aria-hidden":!0}),T&&(0,B.jsx)(`span`,{className:`companion-working-ring pointer-events-none absolute -inset-0.5 ${w?`rounded-[24px]`:`rounded-full`}`,style:{"--companion-ring-accent":i},"aria-hidden":!0}),w&&t.length>0&&(0,B.jsx)(X,{turns:t}),(0,B.jsxs)(`div`,{className:`relative flex h-11 shrink-0 items-center ${u===`left`?`flex-row-reverse`:``}`,children:[(0,B.jsx)(ee,{glow:r&&!C,accentHex:i,avatarSrc:a,character:o,attentive:s,busy:T,onMouseEnter:c,onClick:y}),w?(0,B.jsx)(Z,{assistantName:n,onSubmit:_,onCancel:v}):(0,B.jsx)(`div`,{className:`relative flex min-w-0 items-center gap-1 overflow-hidden transition-opacity duration-200`,ref:E,inert:!C,style:{opacity:+!!C,transitionDelay:C?`120ms`:`0ms`},children:e===`call`?(0,B.jsx)(ne,{call:x,onControl:S}):(0,B.jsx)(te,{spotlight:m,onTalk:h,onType:g})})]})]})}function X({turns:e}){let t=(0,M.useRef)(null);return(0,M.useEffect)(()=>{let e=t.current;e&&(e.scrollTop=e.scrollHeight)},[e]),(0,B.jsx)(`div`,{ref:t,className:`relative flex flex-col gap-1.5 overflow-y-auto px-3 pt-3 pb-1 select-text`,style:{maxHeight:J},children:e.map((e,t)=>{let n=e.role===`user`;return(0,B.jsx)(`div`,{className:`flex shrink-0 ${n?`justify-end`:`justify-start`}`,children:(0,B.jsx)(`p`,{className:`text-[12px] leading-[1.45] whitespace-pre-wrap ${n?`max-w-[80%] rounded-lg bg-white/[0.08] px-2.5 py-1.5 text-white/75`:`text-white/85`}`,children:e.text})},`${e.role}-${t}`)})})}function Z({assistantName:e,onSubmit:t,onCancel:n}){let[i,a]=(0,M.useState)(``),o=(0,M.useRef)(null),s=i.trim();(0,M.useEffect)(()=>{o.current?.focus()},[]);let c=()=>{s!==``&&(a(``),t?.(s))};return(0,B.jsxs)(`div`,{className:`relative flex min-w-0 flex-1 items-center gap-1 pr-2`,children:[(0,B.jsx)(`input`,{ref:o,type:`text`,value:i,placeholder:`Message ${e}`,onChange:e=>{a(e.target.value)},onKeyDown:e=>{if(e.key===`Enter`){e.preventDefault(),c();return}e.key===`Escape`&&(e.preventDefault(),n?.())},onMouseDown:e=>{e.stopPropagation()},className:`min-w-0 flex-1 bg-transparent text-[12px] text-white/85 select-text placeholder:text-white/40 focus:outline-none`}),(0,B.jsx)(`button`,{type:`button`,"aria-label":s===``?`Go back`:`Send`,title:s===``?`Go back`:`Send`,onClick:s===``?n:c,onMouseDown:e=>{e.stopPropagation()},className:`grid size-7 shrink-0 place-items-center rounded-full bg-white/10 text-white/85 transition-colors hover:bg-white/20`,children:s===``?(0,B.jsx)(f,{className:`size-3.5`,"aria-hidden":!0}):(0,B.jsx)(r,{className:`size-3.5`,"aria-hidden":!0})})]})}function ee({glow:e,accentHex:t,avatarSrc:n,character:r,busy:i=!1,attentive:a=!1,onMouseEnter:o,onClick:s}){return(0,B.jsxs)(`div`,{className:`relative grid size-11 shrink-0 place-items-center`,onMouseEnter:o,onClick:s,children:[e&&(0,B.jsx)(`span`,{className:`absolute size-10 animate-pulse rounded-full blur-lg`,style:{background:t,opacity:.4},"aria-hidden":!0}),r===void 0?n===void 0?(0,B.jsx)(`span`,{className:`relative size-7 rounded-full drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,style:{background:t},"aria-hidden":!0}):(0,B.jsx)(`img`,{src:n,alt:``,draggable:!1,className:`relative size-7 rounded-full object-contain drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)] [-webkit-user-drag:none]`}):(0,B.jsx)(`div`,{className:`relative drop-shadow-[0_1px_3px_rgba(0,0,0,0.55)]`,children:(0,B.jsx)(j,{components:A,traits:r,size:W,isAssistantBusy:i,attentive:a})})]})}function te({spotlight:e,onTalk:t,onType:n}){return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(Q,{icon:(0,B.jsx)(a,{className:`size-4`}),label:`Talk`,showLabel:!0,active:e===`talk`,onClick:t}),(0,B.jsx)(Q,{icon:(0,B.jsx)(i,{className:`size-4`}),label:`Type`,showLabel:!0,active:e===`type`,onClick:n})]})}function ne({call:e,onControl:t}){if(e!==void 0&&e.approvalRequestId!==``)return(0,B.jsx)(re,{detail:e.detail,requestId:e.approvalRequestId,onControl:t});let n=e===void 0?`Listening`:e.detail||e.label,r=e?.muted??!1,i=e?.outputMuted??!1;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:n}),(0,B.jsx)(Q,{icon:r?(0,B.jsx)(c,{className:`size-4`}):(0,B.jsx)(u,{className:`size-4`}),label:r?`Unmute microphone`:`Mute microphone`,onClick:()=>{t?.(r?`unmuteMicrophone`:`muteMicrophone`)}}),(0,B.jsx)(Q,{icon:i?(0,B.jsx)(s,{className:`size-4`}):(0,B.jsx)(d,{className:`size-4`}),label:i?`Unmute assistant`:`Mute assistant`,onClick:()=>{t?.(i?`unmuteAssistantAudio`:`muteAssistantAudio`)}}),(0,B.jsx)(Q,{icon:(0,B.jsx)(f,{className:`size-4`,strokeWidth:2.5}),label:`End session`,tone:`negative`,onClick:()=>{t?.(`endSession`)}})]})}function re({detail:e,requestId:t,onControl:n}){return(0,B.jsxs)(B.Fragment,{children:[e!==``&&(0,B.jsx)(`span`,{className:`ml-1 max-w-[120px] shrink-0 truncate text-[12px] text-white/85`,children:e}),(0,B.jsx)(Q,{icon:(0,B.jsx)(l,{className:`size-4`}),label:`Allow`,showLabel:!0,tone:`positive`,onClick:()=>{n?.(`approveRequest`,t)}}),(0,B.jsx)(Q,{icon:(0,B.jsx)(f,{className:`size-4`}),label:`Deny`,showLabel:!0,tone:`negative`,onClick:()=>{n?.(`denyRequest`,t)}})]})}function Q({icon:e,label:t,tone:n,showLabel:r=!1,active:i=!1,onClick:a}){return(0,B.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:a,onMouseDown:e=>{e.stopPropagation()},className:`flex h-7 shrink-0 items-center gap-1.5 rounded-full px-2 text-[12px] transition-colors hover:bg-white/15 ${i?`bg-white/15`:``} ${n===`negative`?`text-[#ff6b6b]`:n===`positive`?`text-[#5ee08a]`:`text-white/85`}`,children:[e,r&&(0,B.jsx)(`span`,{children:t})]})}var ie=3,$=44;function ae(){let[e,t]=(0,M.useState)(`right`),[n,r]=(0,M.useState)(`up`),[i,a]=(0,M.useState)($),[s,c]=(0,M.useState)(),[l,u]=(0,M.useState)(),[d,f]=(0,M.useState)(null),[p,m]=(0,M.useState)([]),[h,g]=(0,M.useState)(``),[_,v]=(0,M.useState)(!1),[y,b]=(0,M.useState)(!1),[x,A]=(0,M.useState)(!1),[j,N]=(0,M.useState)(!1),P=(0,M.useRef)(!1),F=(0,M.useRef)(null),I=(0,M.useRef)(null),L=(0,M.useRef)(null),R=(0,M.useRef)(!1);(0,M.useEffect)(()=>{let e=e=>{t(e.growth),r(e.cardGrowth),a(e.avatarBox),c(e.avatarBase64===void 0?void 0:`data:image/png;base64,${e.avatarBase64}`),u(e.character),f(e.call),m(e.turns),g(e.assistantName),v(e.working)},n=k(e);return E().then(t=>{t&&e(t)}),n},[]),(0,M.useEffect)(()=>()=>{D(!1),S(!1)},[]),(0,M.useEffect)(()=>{S(x)},[x]);let z=e=>{P.current!==e&&(P.current=e,D(e))},V=()=>{A(!1),b(!1),z(!1),N(!1)},H=e=>{if(I.current!==null&&e.buttons===0&&(I.current=null),I.current!==null){let{x:t,y:n}=I.current;w(e.screenX-t,e.screenY-n),I.current={x:e.screenX,y:e.screenY};let r=L.current;r!==null&&Math.abs(e.screenX-r.x)+Math.abs(e.screenY-r.y)>ie&&(R.current=!0);return}let t=F.current;if(!t)return;let n=t.getBoundingClientRect(),r=e.clientX>=n.left&&e.clientX<=n.right&&e.clientY>=n.top&&e.clientY<=n.bottom;b(r),z(r)},U=x?`typing`:d===null?y?`hover`:`resting`:`call`,W=d!==null&&/^#[0-9a-f]{6}$/i.test(d.accentHex)?d.accentHex:void 0;return(0,B.jsx)(`div`,{className:`relative h-screen w-screen bg-transparent`,onMouseMove:H,onMouseUp:()=>{I.current=null},onMouseLeave:()=>{I.current=null,b(!1),z(!1)},children:(0,B.jsx)(`div`,{className:`absolute top-0 left-0 origin-top-left`,style:{width:`${100*$/i}%`,height:`${100*$/i}%`,transform:`scale(${i/$})`},children:(0,B.jsx)(Y,{phase:U,growth:e,cardGrowth:n,avatarSrc:s,character:l,hovered:y,accentHex:W,turns:j?p:[],assistantName:h===``?void 0:h,call:d??void 0,working:_,rootRef:F,onSurfaceMouseDown:e=>{I.current={x:e.screenX,y:e.screenY},L.current={x:e.screenX,y:e.screenY},R.current=!1},onAvatarClick:()=>{R.current||O()},onTalk:C,onType:()=>{A(!0)},onSubmit:e=>{j||(m([]),N(!0)),T(e,!j)},onCancelTyping:V,onControl:(e,t)=>{o(t===void 0?{action:e}:{action:e,requestId:t})}})})})}export{ae as CompanionSurfacePage};
@@ -1 +1 @@
1
- import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./document-viewer-container-DRzniNxu.js";import{t as n}from"./react-BFJW0bSv.js";import{d as r,p as i,u as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as o}from"./jsx-runtime-BJ8jcmzB.js";import{t as s}from"./typography-DekrYXvs.js";import{t as c}from"./loader-circle-C9QjVTuc.js";import"./src-Ch3HTlFm.js";import{r as l}from"./resolved-assistants-store-D57qRwKv.js";import{Ct as u,St as d,wt as f}from"./sdk.gen-D0GK8o-1.js";import{d as p}from"./routes-CZi85r7Q.js";import{t as m}from"./use-bus-subscription-BSeo80tc.js";import{i as h,o as g}from"./viewer-store-D2m1Yxpg.js";import{n as _}from"./use-is-mobile-DVK9FG8g.js";import{r as v,t as y}from"./edit-chat-session-DfQeRsD1.js";import{t as b}from"./use-edge-swipe-back-CgEphemz.js";var x=e(n(),1);function S({surfaceId:e,enabled:t,onCommentsChanged:n}){let r=(0,x.useRef)(n);return(0,x.useLayoutEffect)(()=>{r.current=n},[n]),(0,x.useCallback)(n=>{if(!t)return;let i=n.message;switch(i.type){case`document_comment_created`:case`document_comment_resolved`:case`document_comment_reopened`:case`document_comment_deleted`:i.surfaceId===e&&r.current();break;default:break}},[e,t])}var C=o();function w(){let{surfaceId:e}=i(),n=r(),{pathname:o}=a(),w=_(),T=l.use.activeAssistantId(),E=(0,x.useRef)(null),[D,O]=(0,x.useState)(null),[k,A]=(0,x.useState)(!0),[j,M]=(0,x.useState)(null),N=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(!e){M(`No document ID provided.`),A(!1);return}if(!T)return;let t=!1;return(async()=>{try{let{data:n}=await u({path:{assistant_id:T,id:e},throwOnError:!0});if(t)return;O(n),g.getState().clearDocumentEverywhere(e)}catch{t||M(`Failed to load document.`)}finally{t||A(!1)}})(),()=>{t=!0}},[e,T]);let P=(0,x.useCallback)(()=>{N.current?.refreshComments()},[]);m(`sse.event`,S({surfaceId:e??``,enabled:!!e,onCommentsChanged:P}));let F=(0,x.useCallback)(()=>{n(-1)},[n]);b({containerRef:E,onBack:F,enabled:w,navKey:o});let I=(0,x.useCallback)(async()=>{if(!D||!T||!e)return;let t=D.conversationId||y(T,e)||(typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`);if(v(T,e,t),t!==D.conversationId)try{await d({path:{assistant_id:T,id:e},body:{conversationId:t},throwOnError:!0})}catch{}h.getState().openDocument(),h.getState().setLoadedDocument({source:`document`,surfaceId:D.surfaceId,conversationId:t,documentName:D.title,content:D.content});let r=`Please review and address my comments on "${D.title}".`;n(`${p.conversation(t)}?prompt=${encodeURIComponent(r)}`)},[D,T,e,n]),L=(0,x.useCallback)(async()=>{if(!D||!T)return;let{data:e,response:t}=await f({path:{assistant_id:T,id:D.surfaceId},throwOnError:!1,parseAs:`blob`});if(!t?.ok||!e)return;let n=URL.createObjectURL(e);Object.assign(document.createElement(`a`),{href:n,download:`${D.title||`document`}.pdf`}).click(),URL.revokeObjectURL(n)},[D,T]);return k?(0,C.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,C.jsx)(c,{size:24,className:`animate-spin`,style:{color:`var(--content-tertiary)`}})}):j||!D||!T?(0,C.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,C.jsx)(s,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:j??`Document not found.`})}):(0,C.jsx)(`div`,{ref:E,className:`flex min-h-0 flex-1 flex-col`,children:(0,C.jsx)(t,{source:`document`,surfaceId:D.surfaceId,assistantId:T,conversationId:D.conversationId,documentName:D.title,content:D.content,onClose:F,onExport:L,onSubmitFeedback:I,handleRef:N})})}export{w as DocumentViewerPage};
1
+ import{o as e}from"./chunk-jRWAZmH_.js";import{t}from"./document-viewer-container-DRzniNxu.js";import{t as n}from"./react-BFJW0bSv.js";import{d as r,p as i,u as a}from"./chunk-5KNZJZUH-BUqIilZr.js";import{t as o}from"./jsx-runtime-BJ8jcmzB.js";import{t as s}from"./typography-DekrYXvs.js";import{t as c}from"./loader-circle-C9QjVTuc.js";import"./src-Ch3HTlFm.js";import{r as l}from"./resolved-assistants-store-D57qRwKv.js";import{Ct as u,St as d,wt as f}from"./sdk.gen-D0GK8o-1.js";import{d as p}from"./routes-CZi85r7Q.js";import{t as m}from"./use-bus-subscription-BSeo80tc.js";import{i as h,o as g}from"./viewer-store-D2m1Yxpg.js";import{n as _}from"./use-is-mobile-DVK9FG8g.js";import{r as v,t as y}from"./edit-chat-session-DfQeRsD1.js";import{t as b}from"./use-edge-swipe-back-qAnPjuSy.js";var x=e(n(),1);function S({surfaceId:e,enabled:t,onCommentsChanged:n}){let r=(0,x.useRef)(n);return(0,x.useLayoutEffect)(()=>{r.current=n},[n]),(0,x.useCallback)(n=>{if(!t)return;let i=n.message;switch(i.type){case`document_comment_created`:case`document_comment_resolved`:case`document_comment_reopened`:case`document_comment_deleted`:i.surfaceId===e&&r.current();break;default:break}},[e,t])}var C=o();function w(){let{surfaceId:e}=i(),n=r(),{pathname:o}=a(),w=_(),T=l.use.activeAssistantId(),E=(0,x.useRef)(null),[D,O]=(0,x.useState)(null),[k,A]=(0,x.useState)(!0),[j,M]=(0,x.useState)(null),N=(0,x.useRef)(null);(0,x.useEffect)(()=>{if(!e){M(`No document ID provided.`),A(!1);return}if(!T)return;let t=!1;return(async()=>{try{let{data:n}=await u({path:{assistant_id:T,id:e},throwOnError:!0});if(t)return;O(n),g.getState().clearDocumentEverywhere(e)}catch{t||M(`Failed to load document.`)}finally{t||A(!1)}})(),()=>{t=!0}},[e,T]);let P=(0,x.useCallback)(()=>{N.current?.refreshComments()},[]);m(`sse.event`,S({surfaceId:e??``,enabled:!!e,onCommentsChanged:P}));let F=(0,x.useCallback)(()=>{n(-1)},[n]);b({containerRef:E,onBack:F,enabled:w,navKey:o});let I=(0,x.useCallback)(async()=>{if(!D||!T||!e)return;let t=D.conversationId||y(T,e)||(typeof globalThis.crypto?.randomUUID==`function`?globalThis.crypto.randomUUID():`draft-${Date.now()}-${Math.random().toString(16).slice(2)}`);if(v(T,e,t),t!==D.conversationId)try{await d({path:{assistant_id:T,id:e},body:{conversationId:t},throwOnError:!0})}catch{}h.getState().openDocument(),h.getState().setLoadedDocument({source:`document`,surfaceId:D.surfaceId,conversationId:t,documentName:D.title,content:D.content});let r=`Please review and address my comments on "${D.title}".`;n(`${p.conversation(t)}?prompt=${encodeURIComponent(r)}`)},[D,T,e,n]),L=(0,x.useCallback)(async()=>{if(!D||!T)return;let{data:e,response:t}=await f({path:{assistant_id:T,id:D.surfaceId},throwOnError:!1,parseAs:`blob`});if(!t?.ok||!e)return;let n=URL.createObjectURL(e);Object.assign(document.createElement(`a`),{href:n,download:`${D.title||`document`}.pdf`}).click(),URL.revokeObjectURL(n)},[D,T]);return k?(0,C.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,C.jsx)(c,{size:24,className:`animate-spin`,style:{color:`var(--content-tertiary)`}})}):j||!D||!T?(0,C.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,C.jsx)(s,{variant:`body-small-default`,className:`text-[var(--content-tertiary)]`,children:j??`Document not found.`})}):(0,C.jsx)(`div`,{ref:E,className:`flex min-h-0 flex-1 flex-col`,children:(0,C.jsx)(t,{source:`document`,surfaceId:D.surfaceId,assistantId:T,conversationId:D.conversationId,documentName:D.title,content:D.content,onClose:F,onExport:L,onSubmitFeedback:I,handleRef:N})})}export{w as DocumentViewerPage};