@rizom/brain 0.2.0-alpha.373 → 0.2.0-alpha.375
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/brain.js +36 -36
- package/dist/chunks/{app-vc3nv5y9.js → app-j3z3g3eb.js} +2 -2
- package/dist/chunks/{index-sbrkcb6b.js → index-0zjzp75n.js} +2 -2
- package/dist/chunks/{index-rwamfjnc.js → index-cjejqg93.js} +3 -3
- package/dist/chunks/{index-rwamfjnc.js.map → index-cjejqg93.js.map} +1 -1
- package/dist/chunks/{index-tyn6rvwj.js → index-m1k2tyv0.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/model.js +37 -37
- package/dist/model.js.map +1 -1
- package/dist/ui/app.js.map +1 -1
- package/dist/ui/studio-app.css +46 -5
- package/dist/ui/studio-app.js +89 -89
- package/dist/ui/studio-app.js.map +10 -8
- package/dist/ui/studio-asset-manifest.json +18 -18
- package/dist/ui/studio-chunks/{account-view-ccwc00f3.js → account-view-xe37mz6g.js} +2 -2
- package/dist/ui/studio-chunks/{account-view-ccwc00f3.js.map → account-view-xe37mz6g.js.map} +1 -1
- package/dist/ui/studio-chunks/{highlighted-body-OFNGDK62-4nvg61ct.js → highlighted-body-OFNGDK62-rk8j2gp8.js} +2 -2
- package/dist/ui/studio-chunks/{highlighted-body-OFNGDK62-4nvg61ct.js.map → highlighted-body-OFNGDK62-rk8j2gp8.js.map} +1 -1
- package/dist/ui/studio-chunks/{main-m0kdgfnh.js → main-19ek6kcp.js} +5 -5
- package/dist/ui/studio-chunks/{main-m0kdgfnh.js.map → main-19ek6kcp.js.map} +1 -1
- package/dist/ui/studio-chunks/{main-ddbzvt9n.js → main-j8m9t6k5.js} +2 -2
- package/dist/ui/studio-chunks/{main-ddbzvt9n.js.map → main-j8m9t6k5.js.map} +1 -1
- package/dist/ui/studio-chunks/{main-ae3gk7qq.js → main-jyb12r9e.js} +4 -4
- package/dist/ui/studio-chunks/{main-ae3gk7qq.js.map → main-jyb12r9e.js.map} +4 -4
- package/dist/ui/studio-chunks/{main-fnp26a36.js → main-kgem2nc7.js} +2 -2
- package/dist/ui/studio-chunks/{main-fnp26a36.js.map → main-kgem2nc7.js.map} +1 -1
- package/dist/ui/studio-chunks/{main-b5ybzc6w.js → main-wrwp0bss.js} +5 -5
- package/dist/ui/studio-chunks/{main-b5ybzc6w.js.map → main-wrwp0bss.js.map} +7 -5
- package/dist/ui/studio-chunks/mermaid-GHXKKRXX-cvdypvaf.js +3 -0
- package/dist/ui/studio-chunks/{mermaid-GHXKKRXX-fvw2rwpe.js.map → mermaid-GHXKKRXX-cvdypvaf.js.map} +1 -1
- package/dist/ui/studio-chunks/studio-chat-workspace-ynxn5948.js +5 -0
- package/dist/ui/studio-chunks/studio-chat-workspace-ynxn5948.js.map +19 -0
- package/package.json +1 -1
- package/dist/ui/studio-chunks/mermaid-GHXKKRXX-fvw2rwpe.js +0 -3
- package/dist/ui/studio-chunks/studio-chat-workspace-01yyssn0.js +0 -5
- package/dist/ui/studio-chunks/studio-chat-workspace-01yyssn0.js.map +0 -19
- /package/dist/chunks/{app-vc3nv5y9.js.map → app-j3z3g3eb.js.map} +0 -0
- /package/dist/chunks/{index-sbrkcb6b.js.map → index-0zjzp75n.js.map} +0 -0
- /package/dist/chunks/{index-tyn6rvwj.js.map → index-m1k2tyv0.js.map} +0 -0
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{Da as Te,F as St,G as Ie,Z as je,h as Ce,j as Ut,qa as zt,ra as $t,s as Pt,u as Ze,w as kt,wa as Ne,x as we}from"./main-b5ybzc6w.js";import"./main-m0kdgfnh.js";import{Ka as Jt,Na as at,Qa as b,Va as xt,Za as ft,_a as yt,lb as t,mb as Ae,nb as tt,wb as Kt,xb as Oe,yb as Re}from"./main-ae3gk7qq.js";import{Ab as D,Eb as Tt}from"./main-fnp26a36.js";var N=D(Tt(),1);var n={sessionControls:{k1xSpc:"xrvj5dj",kOIVth:"x167g77z",k7Eaqz:"xeuugli",k1K539:"xod5an3",kGuDYH:"xfifm61",kMwMTN:"x1ar3pfp",$$css:!0},sessionFilterInput:{k1xSpc:"x1lliihq",kzqmXN:"xh8yej3",k7Eaqz:"xeuugli",kAzted:"x1gg8mnh",keoZOQ:"x1gslohp",kmVPX3:"x1160tuk",kaIpWk:"x1sxf85j",kMv6JI:"x5ddh9m",kGuDYH:"xif65rj",kMwMTN:"xqvuw85",kWkggS:"x18s3upu",$$css:!0},composerHint:{k1xSpc:"x1lliihq",keoZOQ:"x1xmf6yo",kGuDYH:"x1j6dyjg",kLWn49:"x37zpob",kMwMTN:"x1ar3pfp",$$css:!0},shell:{k1xSpc:"xrvj5dj",kUk6DE:"x98rzlu",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",$$css:!0},root:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",kZKoxP:"xtdtrs8",kskxy:"x1wj9ous",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",$$css:!0},frame:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",k7Eaqz:"xeuugli",kAzted:"x2lwn1j",kVQacm:"xb3r6kr",kGO01o:"x198on2p xw27878",kOIVth:"x33pbmt",$$css:!0},room:{k1xSpc:"xrvj5dj",kumcoG:"x8z353p xf4kbi9",kOIVth:"x1rzw5jd",kUk6DE:"x98rzlu",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",$$css:!0},roomWithoutSessions:{kumcoG:"x1mkdm3x",$$css:!0},emptyThreadHead:{k1K539:"xod5an3",$$css:!0},emptyConversation:{kogj98:"x1ghz6dp",$$css:!0},mobileSessions:{k1xSpc:"x1s85apg x19y3i14",$$css:!0},sessions:{k1xSpc:"x1lliihq xubcuz8",k7Eaqz:"xeuugli",kAzted:"x2lwn1j",kORKVm:"x1odjw0f",$$css:!0},picker:{"--console-text-muted":"x1phc7po",k1xSpc:"xrvj5dj",k9llMU:"x1yn14it",kskxy:"x1j65ot3",kAzted:"x2lwn1j",kVQacm:"xb3r6kr",$$css:!0},thread:{k1xSpc:"x78zum5",kXwgrk:"xdt5ytf",k7Eaqz:"xeuugli",kAzted:"x2lwn1j",kVQacm:"xb3r6kr",$$css:!0},threadHead:{k1xSpc:"x78zum5",kGNEyG:"x1pha0wt",kjj79g:"x1qughib",kOIVth:"x1c1vhfx",k7Eaqz:"xeuugli",k1K539:"x91k8ka",$$css:!0},title:{kogj98:"x1ghz6dp",kHjlTd:"xj0a0fe",kMwMTN:"xqvuw85",$$css:!0},headCopy:{k7Eaqz:"xeuugli",kUk6DE:"x98rzlu",$$css:!0},actions:{k1xSpc:"x78zum5",kwnvtZ:"x1a02dak",kGNEyG:"x6s0dn4",kOIVth:"x883omv",$$css:!0},sessionList:{k1xSpc:"xrvj5dj",kfiyM8:"x10ukxgv",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kORKVm:"x1odjw0f",$$css:!0},session:{k1xSpc:"xrvj5dj",kOIVth:"x17d4w8g",kzqmXN:"xh8yej3",k7Eaqz:"xeuugli",kmVPX3:"x1g8o3q3",kMzoRj:"xc342km",kt9PQ7:"xso031l",ksu8eU:"x1y0btm7",kVAM5u:"xy1lt07",kWkggS:"xjbqb8w",kMwMTN:"xqvuw85",k9WMMc:"xdpxx8g",kkrTdU:"x1ypdohk",kDPRdz:"x1711cle",k3Woio:"x16dl9wz",kiEn40:"x1bqaal",$$css:!0},activeSession:{kMwMTN:"x1myn341",$$css:!0},sessionTitle:{kMv6JI:"x5ddh9m",kGuDYH:"xif65rj",k63SB2:"xo1l8bm",kLWn49:"xfrs9s4",kHjlTd:"xj0a0fe",k1xSpc:"x104kibb",kgKLqz:"x1ua5tub",kJFfOR:"x1h7i4cw",kVQacm:"xb3r6kr",$$css:!0},timestamp:{kMv6JI:"xa9opjo",kGuDYH:"x1j6dyjg",kLWn49:"xa7kkou",kMwMTN:"x1ar3pfp",kHjlTd:"xj0a0fe",$$css:!0},summary:{kAzted:"x21xpn4",kGO01o:"xsag5q8",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kMwMTN:"x1ar3pfp",kkrTdU:"x1ypdohk",$$css:!0},desktopContext:{k1xSpc:"x1lliihq xubcuz8",$$css:!0},context:{k7Eaqz:"xeuugli",kt9PQ7:"xso031l",kfdmCh:"x1q0q8m5",kL6WhQ:"xpqg30t",$$css:!0},contextBody:{k1xSpc:"xrvj5dj",kI3sdo:"x16dl9wz",kInvED:"x2ssjo2",kOIVth:"xou54vl",kskxy:"x1551h31 x9h7e8",kORKVm:"x1odjw0f",kGO01o:"x1l90r2v",kg3NbH:"xfn1xvj",k7Eaqz:"xeuugli",$$css:!0},contextItem:{k1xSpc:"xrvj5dj",kOIVth:"x17d4w8g",k7Eaqz:"xeuugli",kmVPX3:"x1b4vry6",kt9PQ7:"xso031l",kfdmCh:"x1q0q8m5",kL6WhQ:"xpqg30t",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kLWn49:"x1dbl2gt",$$css:!0},threadScroll:{kUk6DE:"x98rzlu",kI3sdo:"x16dl9wz",kInvED:"x2ssjo2",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kORKVm:"x1odjw0f",kZeWKH:"xish69e",k5wCbM:"x1597r2g",k6w4Gs:"xgwpcrc",$$css:!0},manuscript:{k7Eaqz:"xeuugli",$$css:!0},turn:{k1xSpc:"xrvj5dj",kumcoG:"xpczwk3 xfs71jk",kOIVth:"xou54vl",kmVPX3:"x10czhz2",kt9PQ7:"xso031l",kfdmCh:"x1q0q8m5",kL6WhQ:"xpqg30t",k7Eaqz:"xeuugli",$$css:!0},speaker:{kLKAdn:"x1yrsyyn",kMv6JI:"xa9opjo",kGuDYH:"x1j6dyjg",kLWn49:"x1dbl2gt",kMwMTN:"x1ar3pfp",$$css:!0},turnBody:{k1xSpc:"xrvj5dj",kOIVth:"x1v2ro7d",k7Eaqz:"xeuugli",kMv6JI:"xssy22x",kGuDYH:"xosj86m",k63SB2:"xo1l8bm",kLWn49:"x11m8ghp",kMwMTN:"xqvuw85",kHjlTd:"xj0a0fe",$$css:!0},userBody:{k63SB2:"x1s688f",$$css:!0},paragraph:{kogj98:"x1ghz6dp",khDVqt:"x126k92a",kHjlTd:"xj0a0fe",$$css:!0},cards:{k1xSpc:"xrvj5dj",kOIVth:"x1v2ro7d",k7Eaqz:"xeuugli",$$css:!0},card:{k1xSpc:"xrvj5dj",kOIVth:"x883omv",k7Eaqz:"xeuugli",kmVPX3:"x1tamke2",kMzoRj:"xmkeg23",ksu8eU:"x1y0btm7",kVAM5u:"xy1lt07",kaIpWk:"x1sxf85j",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",k63SB2:"xo1l8bm",kLWn49:"x1dbl2gt",kHjlTd:"xj0a0fe",kXHlph:"xw2csxc",$$css:!0},kicker:{kMv6JI:"xa9opjo",kGuDYH:"x1j6dyjg",kMwMTN:"x1ar3pfp",$$css:!0},cardHeading:{kogj98:"x1ghz6dp",$$css:!0},cardText:{kogj98:"x1ghz6dp",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kLWn49:"x1dbl2gt",$$css:!0},empty:{kogj98:"xhv1u6h",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kLWn49:"x1dbl2gt",kMwMTN:"x1ar3pfp",kHjlTd:"xj0a0fe",$$css:!0},error:{kMwMTN:"x1mel2pz",$$css:!0},form:{k1xSpc:"xrvj5dj",kOIVth:"x1v2ro7d",k7Eaqz:"xeuugli",$$css:!0},composer:{kmuXW:"x2lah0s",k7Eaqz:"xeuugli",kLKAdn:"xz9dl7a",kEafiO:"x178xt8z",kPef9Z:"x13fuv20",kLZC3w:"xvg7k2t",$$css:!0},fieldLabel:{k1xSpc:"xrvj5dj",kOIVth:"x167g77z",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kMwMTN:"xqvuw85",$$css:!0},input:{kzqmXN:"xh8yej3",kB7OPa:"x9f619",k7Eaqz:"xeuugli",kAzted:"xseoqlg",kskxy:"x19aweqf",kHenm0:"x288g5",kmVPX3:"xc7ga6q",kMzoRj:"xmkeg23",ksu8eU:"x1y0btm7",kVAM5u:"xy1lt07",kaIpWk:"x1sxf85j",kWkggS:"xjbqb8w",kMv6JI:"x5ddh9m",kGuDYH:"xif65rj",kLWn49:"x1evy7pa",kMwMTN:"xqvuw85",k3Woio:"x16dl9wz",kiEn40:"x7s97pk",$$css:!0},attachButton:{k1xSpc:"x3nfvp2",kGNEyG:"x6s0dn4",kAzted:"x1ba4aug x126n28w",kmVPX3:"x153ncpu",kB7OPa:"x9f619",kMzoRj:"xmkeg23",ksu8eU:"x1y0btm7",kVAM5u:"xy1lt07",kaIpWk:"x1sxf85j",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kMwMTN:"xqvuw85",kkrTdU:"x1ypdohk",k8PahR:"xt2bx3g",kfQpEX:"x1fanpfn",$$css:!0},uploadInput:{kVAEAm:"x10l6tqk",kzqmXN:"x1i1rx1s",kZKoxP:"xjm9jq1",kz4h6p:"x1hyvwdk",kVQacm:"xb3r6kr",khDVqt:"xuxw1ft",$$css:!0},uploadList:{k1xSpc:"x78zum5",kwnvtZ:"x1a02dak",kOIVth:"x167g77z",kogj98:"xjgi5au",kmVPX3:"x1717udv",kH6xsr:"x3ct3a4",$$css:!0},upload:{k1xSpc:"x1rg5ohu",kogj98:"x1ghz6dp",ks0D6T:"x193iq5w",kMv6JI:"xa9opjo",kGuDYH:"x1j6dyjg",k63SB2:"xo1l8bm",kMwMTN:"x1ar3pfp",kHjlTd:"xj0a0fe",$$css:!0},button:{kAzted:"x1ba4aug",kmVPX3:"x153ncpu",kMzoRj:"xmkeg23",ksu8eU:"x1y0btm7",kVAM5u:"xy1lt07",kaIpWk:"x1sxf85j",kWkggS:"xjbqb8w",kMwMTN:"xqvuw85",kMv6JI:"x5ddh9m",kGuDYH:"xfifm61",kkrTdU:"x1ypdohk",k3Woio:"x16dl9wz",kiEn40:"x7s97pk",kWCcOm:"xijokvz",kYPGJ8:"xtgyt42",$$css:!0},primaryButton:{kWkggS:"x15vqgvx",kVAM5u:"xawfzfr",kMwMTN:"xb8ja0n",$$css:!0},subheading:{kogj98:"x1ghz6dp",kLWn49:"x1evy7pa",$$css:!0}};function s(e,...o){return`${e} ${Jt(...o).className??""}`}var j=D(at(),1);function Qt(e){let[o,r]=N.useState(!1),[x,c]=N.useState(e.title),[g,f]=N.useState(!1),[d,l]=N.useState(null),h=N.useRef(!1),S=N.useRef(!1),w=N.useRef(null);N.useEffect(()=>{if(o)w.current?.focus()},[o]);let C=N.useRef(null);N.useEffect(()=>(h.current=!0,()=>{h.current=!1}),[]);let A=()=>{r(!1),l(null),requestAnimationFrame(()=>C.current?.querySelector("button")?.focus())},et=async()=>{if(S.current||!x.trim())return;S.current=!0,f(!0),l(null);try{if(await e.onRename(x.trim()),h.current)A()}catch(v){if(h.current)l(Kt(v,"Rename failed. Your proposed title is kept.")||"Rename failed. Your proposed title is kept.")}finally{if(S.current=!1,h.current)f(!1)}};return j.jsxDEV(j.Fragment,{children:[j.jsxDEV("span",{ref:C,children:j.jsxDEV(b,{type:"button",variant:"ghost","aria-expanded":o,disabled:o,onClick:()=>{c(e.title),r(!0)},children:"Rename"},void 0,!1,void 0,this)},void 0,!1,void 0,this),o&&j.jsxDEV("form",{className:s("studio-chat-rename",n.sessionControls),onSubmit:(v)=>{v.preventDefault(),et()},children:[j.jsxDEV("label",{children:["Conversation title",j.jsxDEV("input",{ref:w,className:s("",n.sessionFilterInput),value:x,onChange:(v)=>c(v.target.value),required:!0,maxLength:48,disabled:g},void 0,!1,void 0,this)]},void 0,!0,void 0,this),j.jsxDEV("div",{className:s("",n.actions),children:[j.jsxDEV(b,{type:"submit",disabled:g||!x.trim(),children:g?"Renaming…":"Save title"},void 0,!1,void 0,this),j.jsxDEV(b,{type:"button",variant:"ghost",disabled:g,onClick:A,children:"Cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d&&j.jsxDEV("p",{role:"alert",children:d},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}var M=D(Tt(),1);var B=D(at(),1),ht="(max-width: 860px)";function Yt(e){let[o,r]=M.useState(!1),[x,c]=M.useState(!1),[g,f]=M.useState(!1),d=M.useRef(null),l=M.useRef(null);return M.useEffect(()=>{let h=window.matchMedia(ht),S=()=>{if(h.matches&&l.current?.parentElement?.contains(document.activeElement))d.current?.querySelector("button")?.focus();if(!h.matches&&document.activeElement===d.current?.querySelector("button"))l.current?.focus();if(r(h.matches),!h.matches)f(!1)};return S(),h.addEventListener("change",S),()=>h.removeEventListener("change",S)},[]),M.useEffect(()=>f(!1),[e.contextKey]),B.jsxDEV("div",{className:s("studio-chat-working-set-control",n.context),children:[B.jsxDEV("details",{className:s("studio-chat-working-set",n.desktopContext),open:x,onBlurCapture:(h)=>{if(h.relatedTarget===null&&window.matchMedia(ht).matches)d.current?.querySelector("button")?.focus()},onToggle:(h)=>c(h.currentTarget.open),children:[B.jsxDEV("summary",{ref:l,className:s("studio-chat-working-set-summary",n.summary),children:"Working set"},void 0,!1,void 0,this),!o&&e.children]},void 0,!0,void 0,this),B.jsxDEV("span",{ref:d,onBlurCapture:(h)=>{if(h.relatedTarget===null&&!window.matchMedia(ht).matches)l.current?.focus()},className:s("studio-chat-working-set-mobile",n.mobileSessions),children:B.jsxDEV(b,{className:"studio-chat-working-set-trigger",variant:"ghost",type:"button","aria-haspopup":"dialog","aria-expanded":g,onClick:()=>f(!0),children:"Working set"},void 0,!1,void 0,this)},void 0,!1,void 0,this),B.jsxDEV(xt,{open:o&&g,onOpenChange:f,children:B.jsxDEV(ft,{className:s("studio-chat-working-set-dialog",St.readable),"aria-describedby":void 0,onCloseAutoFocus:(h)=>{h.preventDefault(),(window.matchMedia(ht).matches?d.current?.querySelector("button"):l.current)?.focus()},children:[B.jsxDEV(yt,{children:"Working set"},void 0,!1,void 0,this),e.children]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var Xt=".md,.txt,.markdown,.png,.jpg,.jpeg,.webp,.gif,.pdf,text/plain,text/markdown,text/x-markdown,image/png,image/jpeg,image/webp,image/gif,application/pdf",te=1e5,ee=5000000;var Be=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),Wo=new Set(Be.values());var Ot=t.object({type:t.literal("event"),event:t.string().min(1),fromState:t.string().min(1).optional()}),Jo=t.object({conversationId:t.string().min(1),interfaceType:t.string().min(1),channelId:t.string().min(1).optional(),channelName:t.string().min(1),userPermissionLevel:t.enum(["admin","trusted","public"]),isAnchor:t.boolean(),action:Ot});var oe=t.strictObject({rows:t.number().int().positive(),rowBytes:t.number().int().positive(),queryCharacters:t.number().int().positive()});var ae=t.strictObject({messageCharacters:t.number().int().positive(),outputTokens:t.number().int().positive(),contextTokens:t.number().int().positive(),contextBytes:t.number().int().positive(),toolSteps:t.number().int().positive(),toolCalls:t.number().int().positive(),toolResultCharacters:t.number().int().positive(),retrieval:oe,requestTimeoutSeconds:t.number().int().positive().max(2147483)}),_e=t.strictObject({limits:ae,maxCostMicroUsd:t.number().int().positive()});var Ve=1,We="/api/chat";var ie=t.strictObject({idleSeconds:t.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000)),maxAgeSeconds:t.number().int().positive().max(Math.floor(Number.MAX_SAFE_INTEGER/1000))}).refine((e)=>e.idleSeconds<=e.maxAgeSeconds,"Guest idle expiry must not exceed maximum age"),na=t.strictObject({visitorId:t.string().uuid(),retention:ie}),u=t.string().trim().min(1).max(256);var Fe=t.strictObject({expiresAt:t.number().int().positive(),provider:t.string().min(1),notice:t.string().min(1),deletionLimitations:t.string().min(1),retention:ie,messageCharacters:t.number().int().positive(),canSend:t.boolean()}),re=t.strictObject({conversationId:u,state:t.enum(["active","completed","failed","interrupted","uncertain"])}),le=t.string().regex(/^upload-[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i),Rt=t.string().trim().min(1).max(48),Et=t.string().datetime(),ne=t.string().regex(/^\/(?!\/)/).max(2048),nt=t.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),Ge=t.looseObject({kind:t.literal("tool-approval"),id:u,toolCallId:u.optional(),toolName:t.string().trim().min(1).max(256),input:t.record(t.string(),t.unknown()).optional(),summary:t.string().max(4096),completionSummary:t.string().max(4096).optional(),preview:t.string().max(1e5).optional(),state:t.enum(["approval-requested","approval-responded","output-available","output-denied","output-error"]),output:t.unknown().optional(),error:t.string().max(4096).optional()}),Je=t.looseObject({entityType:t.string().trim().min(1).max(128).optional(),entityId:u.optional(),attachmentType:t.string().trim().min(1).max(128).optional()}),Ke=t.looseObject({mediaType:t.string().trim().min(1).max(255),url:nt,downloadUrl:nt.optional(),previewUrl:nt.optional(),filename:t.string().trim().min(1).max(255).optional(),sizeBytes:t.number().int().nonnegative().optional(),source:Je.optional()}),de=t.looseObject({kind:t.literal("attachment"),id:u,jobId:u.optional(),title:t.string().max(4096),description:t.string().max(20000).optional(),attachment:Ke}),Qe=t.looseObject({id:u,title:t.string().max(4096).optional(),source:t.string().trim().min(1).max(512),url:nt.optional(),entityType:t.string().trim().min(1).max(128).optional(),entityId:u.optional(),excerpt:t.string().max(20000).optional(),provenance:t.record(t.string(),t.unknown()).optional()}),ce=t.looseObject({kind:t.literal("sources"),id:u,title:t.string().max(4096).optional(),sources:t.array(Qe).min(1).max(100)}),Ye=t.discriminatedUnion("type",[t.object({type:t.literal("prompt"),id:u,label:t.string().trim().min(1).max(256),prompt:t.string().min(1).max(1e5),description:t.string().max(4096).optional()}),t.object({type:t.literal("event"),id:u,label:t.string().trim().min(1).max(256),event:t.string().trim().min(1).max(256),fromState:t.string().trim().min(1).max(256).optional(),description:t.string().max(4096).optional()})]),ue=t.looseObject({kind:t.literal("actions"),id:u,title:t.string().max(4096).optional(),actions:t.array(Ye).min(1).max(100)}),pe=t.discriminatedUnion("kind",[Ge,de,ce,ue]);var Xe=t.object({id:u,toolCallId:u.optional(),toolName:t.string().trim().min(1).max(256),summary:t.string().max(4096),completionSummary:t.string().max(4096).optional(),preview:t.string().max(1e5).optional(),args:t.unknown()}),me=t.object({toolName:t.string().trim().min(1).max(256),args:t.record(t.string(),t.unknown()).optional(),jobId:u.optional(),data:t.unknown().optional(),error:t.object({message:t.string().max(4096),code:t.string().trim().min(1).max(256).optional()}).optional()}),to=t.looseObject({text:t.string().max(1e6),toolResults:t.array(me).max(100).optional(),cards:t.array(pe).max(100).optional(),pendingConfirmations:t.array(Xe).max(100).optional(),usage:t.object({promptTokens:t.number().int().nonnegative(),completionTokens:t.number().int().nonnegative(),totalTokens:t.number().int().nonnegative()})});function eo(e=We){let o=oo(e);return{stream:o,actions:`${o}/actions`,sessions:`${o}/sessions`,sessionArchive:`${o}/sessions/archive`,messages:`${o}/messages`,uploads:`${o}/uploads`,contextSessions:`${o}/context-sessions`,documentAttachments:`${o}/attachments/document`,imageAttachments:`${o}/attachments/image`,jobStatus:`${o}/jobs/status`}}function oo(e){let o=e.trim();if(!o.startsWith("/")||o.startsWith("//")||o.length>512||/[\s"'<>\\]/u.test(o)||o.includes("?")||o.includes("#"))throw Error("Chat API path must be a same-origin absolute path without query or fragment");let r=o.replace(/\/+$/,"");if(r.length===0)throw Error("Chat API path must not be the site root");return r}var ge=t.strictObject({version:t.literal(1),sourceId:t.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:t.string().trim().min(1).max(300),titleSeed:t.string().trim().min(1).max(160).refine((e)=>!/[\p{Cc}\p{Cf}]/u.test(e))}),ao=t.object({query:t.string().trim().max(200).default(""),archived:t.boolean().default(!1),offset:t.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER).default(0),limit:t.number().int().min(1).max(100).default(25)}),no=t.looseObject({id:u,title:Rt,lastActiveAt:Et,archived:t.boolean().optional(),contextHandoff:ge.optional()}),so=t.looseObject({sessions:t.array(no).max(100)}),io=t.looseObject({kind:t.string().trim().min(1).max(64),id:u}),ro=t.looseObject({kind:t.literal("text"),filename:t.string().trim().min(1).max(255),mediaType:t.string().trim().min(1).max(255),sizeBytes:t.number().int().nonnegative(),createdAt:Et,source:io.optional()}),he=t.looseObject({id:u,role:t.enum(["user","assistant"]),content:t.string().max(1e6),attachments:t.array(ro).max(100).optional(),cards:t.array(pe).max(100).optional()}),lo=t.looseObject({messages:t.array(he).max(100)}),co=t.string().min(1).max(256).refine((e)=>e.trim().length>0),uo=t.strictObject({messages:t.array(he).max(100),submission:re.nullable()}),sa=t.object({type:t.literal("text"),text:t.string().max(1e6)}),ia=t.object({type:t.literal("file"),mediaType:t.string().trim().min(1).max(255).optional(),filename:t.string().trim().min(1).max(255).optional(),url:t.string().min(1).max(2000000)}),xe=t.object({kind:t.literal("upload"),id:le}),ra=t.object({type:t.literal("data-upload"),data:t.looseObject({ref:xe})}),po=t.object({id:u,approved:t.boolean(),toolCallId:u.optional(),toolName:t.string().trim().min(1).max(256).optional(),input:t.record(t.string(),t.unknown()).optional(),title:t.string().max(4096).optional()}),la=t.looseObject({state:t.literal("approval-responded"),toolCallId:u.optional(),toolName:t.string().trim().min(1).max(256).optional(),input:t.record(t.string(),t.unknown()).optional(),title:t.string().max(4096).optional(),approval:po}),Lt=t.object({id:u.optional(),role:t.enum(["user","assistant","system"]),parts:t.array(t.unknown()).max(1000).optional(),content:t.string().max(1e6).optional()}),mo=(e)=>t.string().trim().min(1).max(e).refine((o)=>!/[\p{Cc}\p{Cf}]/u.test(o)),go=t.strictObject({sourceId:t.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:t.string().trim().min(1).max(300),label:mo(160)}),ho=t.object({id:u.optional(),messages:t.array(Lt).min(1).max(200),trigger:t.string().trim().min(1).max(64).optional(),inboxContext:go.optional()}).strict(),da=t.strictObject({id:u.optional(),messages:t.array(t.strictObject({id:u,role:t.literal("user"),parts:t.array(t.strictObject({type:t.literal("text"),text:t.string()})).min(1).max(16)})).length(1)}),fe=t.enum(["pending","processing","completed","failed"]),xo=t.looseObject({type:t.enum(["job","batch"]),status:fe,operationType:t.enum(["file_operations","content_operations","data_processing","batch_processing"]),operationTarget:t.string().max(1024).optional(),message:t.string().max(4096).optional(),progress:t.object({current:t.number().nonnegative(),total:t.number().nonnegative(),percentage:t.number().min(0).max(100)}).optional()}),fo=t.looseObject({status:t.enum(["tool-running","tool-completed","tool-awaiting-approval","tool-failed"]),toolName:t.string().trim().min(1).max(256),error:t.string().max(4096).optional()}),yo=t.discriminatedUnion("type",[t.looseObject({type:t.literal("start"),messageId:u.optional()}),t.looseObject({type:t.literal("start-step")}),t.looseObject({type:t.literal("finish-step")}),t.looseObject({type:t.literal("finish"),finishReason:t.enum(["length","error","stop","content-filter","tool-calls","other"]).optional()}),t.looseObject({type:t.literal("abort"),reason:t.string().max(4096).optional()}),t.looseObject({type:t.literal("error"),errorText:t.string().max(20000)}),t.looseObject({type:t.literal("text-start"),id:u}),t.looseObject({type:t.literal("text-delta"),id:u,delta:t.string().max(1e6)}),t.looseObject({type:t.literal("text-end"),id:u}),t.looseObject({type:t.literal("reasoning-start"),id:u}),t.looseObject({type:t.literal("reasoning-delta"),id:u,delta:t.string().max(1e6)}),t.looseObject({type:t.literal("reasoning-end"),id:u}),t.looseObject({type:t.literal("tool-input-start"),toolCallId:u,toolName:t.string().trim().min(1).max(256),title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("tool-input-delta"),toolCallId:u,inputTextDelta:t.string().max(1e6)}),t.looseObject({type:t.literal("tool-input-available"),toolCallId:u,toolName:t.string().trim().min(1).max(256),input:t.unknown(),title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("tool-input-error"),toolCallId:u,toolName:t.string().trim().min(1).max(256),input:t.unknown(),errorText:t.string().max(20000),title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("tool-approval-request"),approvalId:u,toolCallId:u}),t.looseObject({type:t.literal("tool-output-available"),toolCallId:u,output:t.unknown(),preliminary:t.boolean().optional()}),t.looseObject({type:t.literal("tool-output-error"),toolCallId:u,errorText:t.string().max(20000)}),t.looseObject({type:t.literal("tool-output-denied"),toolCallId:u}),t.looseObject({type:t.literal("source-url"),sourceId:u,url:nt,title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("source-document"),sourceId:u,mediaType:t.string().trim().min(1).max(255),title:t.string().max(4096),filename:t.string().trim().min(1).max(255).optional()}),t.looseObject({type:t.literal("file"),url:nt,mediaType:t.string().trim().min(1).max(255)}),t.looseObject({type:t.literal("data-progress"),id:u.optional(),data:xo,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-status"),id:u.optional(),data:fo,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-tool-result"),id:u.optional(),data:me,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-actions"),id:u.optional(),data:ue,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-sources"),id:u.optional(),data:ce,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-attachment"),id:u.optional(),data:de,transient:t.boolean().optional()})]),So=t.strictObject({conversationId:u}),ko=t.object({title:Rt}).strict(),zo=t.object({renamed:t.boolean(),title:Rt}),vo=t.object({archived:t.boolean()}),bo=t.object({deleted:t.boolean()}),Co=t.object({conversationId:u,action:Ot}).strict(),Zo=t.looseObject({id:u,status:fe,message:t.string().max(4096).optional()}),wo=t.looseObject({id:le,ref:xe,filename:t.string().trim().min(1).max(255),mediaType:t.string().trim().min(1).max(255),sizeBytes:t.number().int().nonnegative(),createdAt:Et,url:ne,downloadUrl:ne}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});class _ extends Error{operation;status;kind;guestSubmission;constructor(e,o,r="http",x){super(`Chat API could not ${e} (${o})`);this.name="ChatApiError",this.operation=e,this.status=o,this.kind=r,Object.defineProperty(this,"guestSubmission",{value:x,enumerable:!1,writable:!1})}}function se(e){let o=e.endsWith("\r")?e.slice(0,-1):e;if(!o.startsWith("data:"))return;let r=o.slice(5).trimStart();if(r.length===0||r==="[DONE]")return;let x;try{x=JSON.parse(r)}catch{throw new _("read stream",502,"invalid-response")}let c=yo.safeParse(x);if(!c.success)throw new _("read stream",502,"invalid-response");return c.data}async function*ye(e){if(!e.ok)throw new _("read stream",e.status);if(!e.body)throw new _("read stream",502,"invalid-response");let o=e.body.getReader(),r=new TextDecoder,x="";try{for(;;){let{value:c,done:g}=await o.read();x+=r.decode(c,{stream:!g});let f=x.indexOf(`
|
|
2
|
-
`);while(f>=0){let d=x.slice(0,f);x=x.slice(f+1);let l=se(d);if(l)yield l;f=x.indexOf(`
|
|
3
|
-
`)}if(g)break}if(x.length>0){let c=se(x);if(c)yield c}}finally{o.releaseLock()}}function Se(e={}){let o=eo(e.apiPath),r=e.fetch??globalThis.fetch,x=e.credentials??"include";async function c(d,l,h,S){let w=await r(l,{...S,credentials:x});if(!w.ok)throw new _(d,w.status);let C;try{C=await w.json()}catch{throw new _(d,502,"invalid-response")}let A=h.safeParse(C);if(!A.success)throw new _(d,502,"invalid-response");return A.data}function g(d,l){let h=u.parse(l);return`${d}?id=${encodeURIComponent(h)}`}function f(d,l,h){let S=g(d,l);return h?`${S}&download=1`:S}return{version:Ve,paths:o,async openGuestSession(){return c("open guest session",`${o.stream}/session`,Fe,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"})},async streamMessages(d,l={}){let h=ho.parse(d),S=await r(o.stream,{method:"POST",credentials:x,headers:{"Content-Type":"application/json"},body:JSON.stringify(h),...l.signal?{signal:l.signal}:{}});if(!S.ok){let w;if(S.status===409)try{let C=re.safeParse(await S.json());if(C.success)w=C.data}catch{}throw new _("send messages",S.status,"http",w)}return S},async listSessions(d={}){let l=ao.parse(d),h=new URLSearchParams;if(l.query)h.set("q",l.query);if(l.archived)h.set("archived","true");if(l.offset)h.set("offset",String(l.offset));if(l.limit!==25)h.set("limit",String(l.limit));let S=h.size?`?${h.toString()}`:"";return(await c("list sessions",`${o.sessions}${S}`,so)).sessions},async getMessages(d){return(await c("load messages",g(o.messages,d),lo)).messages},async getGuestHistory(d,l){return c("check guest history",`${g(o.messages,d)}&submissionId=${encodeURIComponent(co.parse(l))}`,uo)},async renameSession(d,l){let h=ko.parse({title:l});return c("rename session",g(o.sessions,d),zo,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(h)})},async archiveSession(d){return c("archive session",g(o.sessionArchive,d),vo,{method:"PUT"})},async deleteSession(d){return c("delete session",g(o.sessions,d),bo,{method:"DELETE"})},getJobStatus(d){return c("load job status",g(o.jobStatus,d),Zo)},openContextSession(d){return c("open context session",o.contextSessions,So,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ge.parse(d))})},runAction(d){let l=Co.parse(d);return c("run action",o.actions,to,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)})},async upload(d,l){let h=t.string().trim().min(1).max(255).parse(l),S=new FormData;return S.set("file",d,h),c("upload file",o.uploads,wo,{method:"POST",body:S})},getUploadUrl(d,l=!1){return f(o.uploads,d,l)},getDocumentAttachmentUrl(d,l=!1){return f(o.documentAttachments,d,l)},getImageAttachmentUrl(d,l=!1){return f(o.imageAttachments,d,l)}}}var p=D(Tt(),1);function ke(){return{messageId:"assistant-stream",text:"",cards:[],approvals:[],progress:[],statuses:[],toolInputs:{},finished:!1,error:null}}function ze(e,o){switch(o.type){case"start":return o.messageId?{...e,messageId:o.messageId}:e;case"text-delta":return{...e,text:`${e.text}${o.delta}`};case"tool-input-available":return{...e,toolInputs:{...e.toolInputs,[o.toolCallId]:{toolCallId:o.toolCallId,toolName:o.toolName,input:o.input,...o.title?{title:o.title}:{}}}};case"tool-approval-request":{let r=e.toolInputs[o.toolCallId],x={approvalId:o.approvalId,toolCallId:o.toolCallId,toolName:r?.toolName??"tool",...Ao(r?.input)?{input:r.input}:{},...r?.title?{title:r.title}:{}};return{...e,approvals:[...e.approvals.filter((c)=>c.approvalId!==o.approvalId),x]}}case"tool-output-available":case"tool-output-error":case"tool-output-denied":return{...e,approvals:e.approvals.filter((r)=>r.toolCallId!==o.toolCallId)};case"data-progress":return{...e,progress:[...e.progress,o.data]};case"data-status":return{...e,statuses:[...e.statuses,o.data]};case"data-actions":case"data-sources":case"data-attachment":return{...e,cards:[...e.cards,o.data]};case"finish":return{...e,finished:!0};case"abort":return{...e,finished:!0,error:o.reason??"Response stopped"};case"error":return{...e,finished:!0,error:o.errorText};default:return e}}function Mt(e){return{id:e.messageId,role:"assistant",content:e.text,...e.cards.length>0?{cards:e.cards}:{}}}function ve(e,o){let r={id:e.approvalId,approved:o,toolCallId:e.toolCallId,toolName:e.toolName,...e.input?{input:e.input}:{},...e.title?{title:e.title}:{}};return Lt.parse({role:"assistant",parts:[{state:"approval-responded",toolCallId:e.toolCallId,toolName:e.toolName,...e.input?{input:e.input}:{},...e.title?{title:e.title}:{},approval:r}]})}function Ao(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var a=D(at(),1),Io=`Text/Markdown up to ${te/1000} KB; PNG, JPEG, WebP, GIF or PDF up to ${ee/1e6} MB.`,G={sessions:["studio","chat","sessions"],messages:(e)=>["studio","chat","messages",e]};function Ra(e){let o=Ce(),r=p.useMemo(()=>Se({apiPath:e.apiPath,fetch:(i,m)=>globalThis.fetch(i,m)}),[e.apiPath]),[x]=p.useState(()=>new we),c=e.draftStore??x,g=kt(e.apiPath,e.sessionId),f=p.useRef(g);f.current=g;let{text:d,uploads:l}=p.useSyncExternalStore(c.subscribe,()=>c.read(g),()=>c.read(g)),h=p.useCallback((i)=>c.update(g,{text:i}),[c,g]),S=p.useCallback((i)=>c.update(g,{uploads:typeof i==="function"?i(c.read(g).uploads):i}),[c,g]),[w,C]=p.useState([]),[A,et]=p.useState(null),[v,J]=p.useState(!1),[qt,vt]=p.useState(!1),[U,bt]=p.useState(!1),[P,st]=p.useState([]),V=p.useRef(null),[Ht,K]=p.useState(null),[L,pt]=p.useState(null);p.useEffect(()=>{e.onNavigationStateChange?.({hasDraft:Boolean(d||l.length||P.length),busy:v||U})},[d,l,P,v,U,e.onNavigationStateChange]),p.useEffect(()=>()=>e.onNavigationStateChange?.({hasDraft:!1,busy:!1}),[e.onNavigationStateChange]);let Ee=Ie(),[Dt,Ct]=p.useState(!1),Bt=p.useRef(null),Le=p.useRef(null),it=p.useRef(null),rt=p.useRef(!0),[Me,Zt]=p.useState(!1),I=p.useRef(null),O=p.useRef(!1);p.useEffect(()=>(O.current=!0,()=>{O.current=!1,V.current=null;let i=I.current;I.current=null,i?.abort()}),[]);let lt=p.useRef(null),wt=p.useRef(null),[dt,Ue]=p.useState(""),[ct,_t]=p.useState({query:"",archived:!1,offset:0});p.useEffect(()=>{let i=window.setTimeout(()=>_t((m)=>m.query===dt.trim()?m:{...m,query:dt.trim(),offset:0}),250);return()=>window.clearTimeout(i)},[dt]);let Q=Ut({queryKey:[...G.sessions,ct],queryFn:()=>r.listSessions(ct)}),Y=Ut({queryKey:G.messages(e.sessionId??""),queryFn:()=>r.getMessages(e.sessionId??""),enabled:e.sessionId!==null&&!v&&w.length===0}),mt=Q.data??[],At=Q.isPending||Boolean(Q.error)||mt.length>0||dt.length>0||ct.archived||ct.offset>0,It=Y.data??[],W=mt.find((i)=>i.id===e.sessionId)??o.getQueriesData({queryKey:G.sessions}).flatMap(([,i])=>i??[]).find((i)=>i.id===e.sessionId),Vt=W?.archived===!0,Wt={search:dt,view:ct,error:Q.error?"Sessions could not be loaded.":null,onRetry:()=>{Q.refetch()},onSearch:Ue,onView:_t},q=p.useMemo(()=>{let i=[...It,...w];if(A&&(A.text||A.cards.length>0))i.push(Mt(A));return i},[w,It,A]),Pe=p.useMemo(()=>q.flatMap((i)=>(i.cards??[]).filter((m)=>m.kind==="sources"||m.kind==="attachment")),[q]);p.useEffect(()=>{if(e.sessionId&&wt.current===e.sessionId){wt.current=null;return}let i=I.current;I.current=null,i?.abort(),J(!1),C([]),et(null),bt(!1),V.current=null,st([]),vt(!1),K(null),pt(null)},[e.sessionId]),p.useEffect(()=>{rt.current=!0,Zt(!1)},[e.sessionId]),p.useEffect(()=>{let i=it.current,m=i?.firstElementChild;if(!i||!m)return;let y=()=>{if(rt.current)i.scrollTop=i.scrollHeight};y();let k=new ResizeObserver(y);return k.observe(m),()=>k.disconnect()},[]),p.useEffect(()=>{if(rt.current){let i=it.current;if(i)i.scrollTop=i.scrollHeight}},[A,q.length]);let R=p.useCallback((i,m=!1)=>{e.navigate(Ze(e.studioBasePath,i),{preserveWork:m}),Ct(!1)},[e.navigate,e.studioBasePath]);p.useEffect(()=>{if(!e.handoff||e.sessionId)return;let i=`${e.handoff.sourceId}\x00${e.handoff.itemId}`;if(lt.current===i)return;lt.current=i,h(e.handoff.prompt),K(null),r.openContextSession({version:1,sourceId:e.handoff.sourceId,itemId:e.handoff.itemId,titleSeed:e.handoff.label}).then(({conversationId:m})=>{if(!O.current||f.current!==g||lt.current!==i)return;c.adopt(g,kt(e.apiPath,m)),R(m,!0)}).catch((m)=>{if(!O.current||f.current!==g||lt.current!==i)return;lt.current=null,K(ut(m,"Context could not be attached"))})},[r,R,e.handoff,e.sessionId,e.apiPath,c,g,h]);let gt=p.useCallback(async(i,m,y,k)=>{I.current?.abort();let z=new AbortController;I.current=z,J(!0),K(null),pt(null);let E=!1,Z={...ke(),messageId:crypto.randomUUID()};et(Z);let H=!1,T=!1,F=()=>{if(T||!Z.text&&Z.cards.length===0)return;T=!0;let X=Mt(Z);C((ot)=>[...ot,X]),et({...Z,text:"",cards:[]})};try{let X=await r.streamMessages({id:i,messages:m,trigger:"submit-message"},{signal:z.signal});H=!0,y?.();for await(let ot of ye(X)){if(I.current!==z)return H;if(ot.type==="abort")E=!0;Z=ze(Z,ot),et(Z)}if(I.current!==z)return H;if(F(),z.signal.aborted||E||Z.error!==null||!Z.finished)return pt({kind:z.signal.aborted||E?"stopped":Z.error!==null?"failed":"disconnected",...Z.error?{detail:Z.error}:{},...k?{retry:k}:{}}),H;try{let ot=await r.getMessages(i);if(I.current!==z)return H;o.setQueryData(G.messages(i),ot),C([])}catch{}await o.invalidateQueries({queryKey:G.sessions})}catch(X){if(I.current!==z)return H;F(),pt({kind:z.signal.aborted?"stopped":H?"disconnected":"failed",...!z.signal.aborted?{detail:ut(X,"Chat could not complete the response")}:{},...k?{retry:k}:{}})}finally{if(I.current===z)I.current=null,J(!1)}return H},[r,o]),jt=p.useCallback(async(i)=>{let m=i.trim();if(!m&&l.length===0||v||U||P.length>0)return;let y=e.sessionId??`web-${crypto.randomUUID()}`,k=kt(e.apiPath,y),z=crypto.randomUUID(),E=l.map((T)=>({type:"data-upload",data:{ref:T.ref}})),Z=[...m?[{type:"text",text:m}]:[],...E];if(C((T)=>[...T,{id:z,role:"user",content:m||l.map((F)=>F.filename).join(", ")}]),!await gt(y,[{id:z,role:"user",parts:Z}],()=>{if(!e.sessionId&&O.current&&f.current===g)c.adopt(g,k),wt.current=y,R(y,!0);let T=c.read(k);c.update(k,{text:T.text===i?"":T.text,uploads:T.uploads.filter((F)=>!l.some((X)=>X.id===F.id))})},{text:i,uploads:[...l]})&&(f.current===k||!e.sessionId&&f.current===g))C((T)=>T.filter((F)=>F.id!==z))},[R,e.sessionId,e.apiPath,c,g,gt,v,U,l,P.length]),$e=(i)=>{i.preventDefault(),jt(d)},Ft=p.useCallback(async(i,m)=>{if(!e.sessionId||v)return;await gt(e.sessionId,[ve(i,m)])},[e.sessionId,gt,v]),qe=p.useCallback(async(i)=>{if(i.type==="prompt"){await jt(i.prompt);return}if(!e.sessionId||v)return;J(!0),K(null);try{let m=await r.runAction({conversationId:e.sessionId,action:{type:"event",event:i.event,...i.fromState?{fromState:i.fromState}:{}}});if(!O.current||f.current!==g)return;C((y)=>[...y,{id:crypto.randomUUID(),role:"assistant",content:m.text,...m.cards?{cards:m.cards}:{}}])}catch(m){if(O.current&&f.current===g)K(ut(m,"Chat action failed"))}finally{if(O.current&&f.current===g)J(!1)}},[r,e.sessionId,v,jt,g]),Nt=p.useCallback(async(i)=>{if(V.current||i.length===0)return;let m=Symbol();if(V.current=m,bt(!0),st((y)=>[...y.filter((k)=>!i.some((z)=>z.id===k.id)),...i.map((k)=>({id:k.id,file:k.file,status:"uploading"}))]),await Promise.all(i.map(async(y)=>{try{let k=await r.upload(y.file,y.file.name);if(V.current!==m||f.current!==g)return;S((z)=>[...z,k]),st((z)=>z.filter((E)=>E.id!==y.id))}catch(k){if(V.current!==m||f.current!==g)return;st((z)=>z.map((E)=>E.id===y.id?{...E,status:"failed",error:ut(k,"Upload failed")}:E))}})),V.current===m)V.current=null,bt(!1)},[r,g,S]),He=p.useCallback(async(i)=>{let m=Array.from(i.target.files??[]);i.target.value="",await Nt(m.map((y)=>({id:crypto.randomUUID(),file:y,status:"uploading"})))},[Nt]),De=p.useCallback(async()=>{if(!e.sessionId||v||U||d||l.length||P.length)return;J(!0),vt(!0);try{if(await r.archiveSession(e.sessionId),await o.invalidateQueries({queryKey:G.sessions}),O.current&&f.current===g)R(void 0,!0)}catch(i){if(O.current&&f.current===g)K(ut(i,"Conversation could not be archived"))}finally{if(O.current&&f.current===g)J(!1),vt(!1)}},[r,R,e.sessionId,o,v,U,d,l.length,P.length,g]),Gt=Object.fromEntries(e.workspaces.flatMap((i)=>i.badge===void 0?[]:[[i.id,i.badge]]));return a.jsxDEV("div",{className:s("studio",St.frame,n.root),"data-view":"chat","data-studio-shell":"",children:[a.jsxDEV(Te,{contextLabel:"Chat",navigation:{types:e.types,workspaces:e.workspaces,activeEntityType:null,activeWorkspaceId:Pt,workspaceBadges:Gt,selectEntityType:e.selectEntityType,selectWorkspace:e.selectWorkspace}},void 0,!1,void 0,this),a.jsxDEV("div",{className:$t("studio-chat-shell",n.shell,zt.shell,Ee&&zt.shellCollapsed),children:[a.jsxDEV("aside",{className:$t("rail studio-chat-studio-rail",zt.rail),children:a.jsxDEV(Ne,{renderMode:"desktop",types:e.types,active:null,onSelect:e.selectEntityType,workspaces:e.workspaces,activeWorkspace:Pt,workspaceBadges:Gt,onSelectWorkspace:e.selectWorkspace},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV("main",{className:s("studio-chat-workspace",n.frame,Ae.inset),children:[a.jsxDEV("div",{children:a.jsxDEV(Re,{model:{title:"Chat",totals:[],access:Oe("trusted")},action:a.jsxDEV("div",{className:s("studio-chat-head-actions",n.actions),children:[a.jsxDEV("span",{ref:Bt,className:s("studio-chat-session-picker-trigger",At&&n.mobileSessions),children:a.jsxDEV(b,{"aria-expanded":Dt,"aria-haspopup":"dialog",variant:"outline",type:"button",onClick:()=>Ct(!0),children:"Sessions"},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(b,{type:"button",onClick:()=>R(),children:"New conversation"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(xt,{open:Dt,onOpenChange:(i)=>{Ct(i)},children:a.jsxDEV(ft,{"aria-describedby":void 0,onCloseAutoFocus:(i)=>{i.preventDefault(),Bt.current?.querySelector("button")?.focus()},children:[a.jsxDEV(yt,{children:"Conversations"},void 0,!1,void 0,this),a.jsxDEV(be,{...Wt,popup:!0,activeSessionId:e.sessionId,loading:Q.isPending,sessions:mt,onNew:()=>R(),onSelect:R},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-room",n.room,!At&&n.roomWithoutSessions),children:[At&&a.jsxDEV(be,{...Wt,activeSessionId:e.sessionId,loading:Q.isPending,sessions:mt,onNew:()=>R(),onSelect:R},void 0,!1,void 0,this),a.jsxDEV("section",{className:s("studio-chat-thread",n.thread),"aria-label":"Conversation",children:[a.jsxDEV("header",{className:s("studio-chat-thread-head",n.threadHead,!e.sessionId&&q.length===0&&n.emptyThreadHead),children:[a.jsxDEV("div",{className:s("studio-chat-head-copy",n.headCopy),children:[a.jsxDEV("h2",{className:s("studio-chat-session-heading",n.title,tt.secondaryDisplay),children:W?.title??(e.sessionId?"Conversation":"New conversation")},void 0,!1,void 0,this),W&&a.jsxDEV(Qt,{title:W.title,onRename:async(i)=>{let m=await r.renameSession(W.id,i);if(!m.renamed)throw Error("The conversation could not be renamed.");o.setQueriesData({queryKey:G.sessions},(y)=>y?.map((k)=>k.id===W.id?{...k,title:m.title}:k)),o.invalidateQueries({queryKey:G.sessions})}},W.id,!1,void 0,this),Vt&&a.jsxDEV("p",{role:"status",children:"Archived conversation. New messages here remain archived."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),e.sessionId&&!Vt?a.jsxDEV(b,{className:"studio-chat-header-action",variant:"ghost",type:"button",onClick:()=>void De(),disabled:v||U||Boolean(d)||l.length>0||P.length>0,title:d||l.length||P.length?"Send or clear the draft before archiving":void 0,children:qt?"Archiving…":"Archive"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),(e.sessionId!==null||q.length>0)&&a.jsxDEV(Yt,{contextKey:e.sessionId,children:a.jsxDEV(Eo,{cards:Pe,messages:q,progress:A?.progress??[],session:W},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV("div",{ref:it,tabIndex:0,role:"region","aria-label":"Conversation messages",onScroll:(i)=>{let m=i.currentTarget,y=m.scrollHeight-m.clientHeight-m.scrollTop<=48;rt.current=y,Zt(!y)},className:s("studio-chat-thread-scroll",n.threadScroll),children:a.jsxDEV("div",{className:s("studio-chat-manuscript",n.manuscript),children:[Y.error&&a.jsxDEV("section",{role:"alert",children:[a.jsxDEV("p",{children:[It.length>0?"Showing previously loaded messages. ":"","Conversation could not be loaded."]},void 0,!0,void 0,this),a.jsxDEV(b,{type:"button",variant:"ghost",disabled:Y.isFetching,onClick:()=>void Y.refetch(),children:"Retry conversation"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y.isPending&&e.sessionId&&q.length===0?a.jsxDEV("p",{className:s("studio-chat-empty",n.empty),children:"Opening conversation…"},void 0,!1,void 0,this):null,!Y.error&&(!e.sessionId||!Y.isPending)&&q.length===0?a.jsxDEV(jo,{},void 0,!1,void 0,this):null,q.map((i)=>a.jsxDEV(No,{message:i,onAction:qe,onApproval:Ft},i.id,!1,void 0,this)),A?.approvals.map((i)=>a.jsxDEV(Oo,{approval:i,disabled:v,onDecision:Ft},i.approvalId,!1,void 0,this)),v?a.jsxDEV("p",{className:s("studio-chat-stream-status",n.empty),role:"status",children:"Working…"},void 0,!1,void 0,this):null,L&&a.jsxDEV("section",{className:s("studio-chat-interruption",n.empty),role:L.kind==="stopped"?"status":"alert","aria-atomic":"true",children:[a.jsxDEV("strong",{children:L.kind==="stopped"?"Stopped":L.kind==="disconnected"?"Connection lost":"Response failed"},void 0,!1,void 0,this),a.jsxDEV("p",{children:"Any received text is kept here. Stopping the response does not undo completed actions; the server may still be working."},void 0,!1,void 0,this),L.detail&&a.jsxDEV("p",{children:L.detail},void 0,!1,void 0,this),L.retry&&a.jsxDEV(a.Fragment,{children:[a.jsxDEV("p",{children:"Sending again may repeat completed actions. Review the request before sending."},void 0,!1,void 0,this),a.jsxDEV(b,{type:"button",variant:"ghost",disabled:v||U||Boolean(d)||l.length>0,onClick:()=>{if(!L.retry||d||l.length>0)return;h(L.retry.text),S([...L.retry.uploads]),it.current?.closest(".studio-chat-thread")?.querySelector("textarea")?.focus()},children:"Review retry in composer"},void 0,!1,void 0,this),(d||l.length>0)&&a.jsxDEV("p",{children:"Your composer draft is unchanged. Send or clear it before restoring this request."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Ht?a.jsxDEV("p",{className:s("studio-chat-error",n.empty,n.error),role:"alert",children:Ht},void 0,!1,void 0,this):null,a.jsxDEV("div",{ref:Le},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(Ro,{onJumpToLatest:Me?()=>{rt.current=!0,Zt(!1);let i=it.current;if(i)i.focus({preventScroll:!0}),i.scrollTop=i.scrollHeight}:void 0,draft:d,sending:v,uploading:U,uploads:l,uploadAttempts:P,onRetryUpload:(i)=>void Nt([i]),onDismissUpload:(i)=>st((m)=>m.filter((y)=>y.id!==i)),onDraft:h,locked:qt,onRemoveUpload:(i)=>S((m)=>m.filter((y)=>y.id!==i)),onFiles:He,onSubmit:$e,onStop:I.current?()=>I.current?.abort():void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function be(e){return a.jsxDEV("aside",{className:e.popup?s("studio-chat-session-picker",n.picker):s("studio-chat-sessions",n.sessions),"aria-label":"Chat sessions",children:[e.popup&&a.jsxDEV("header",{className:s("studio-chat-sessions-head",n.threadHead),children:[a.jsxDEV("div",{className:s("studio-chat-head-copy",n.headCopy),children:a.jsxDEV("h2",{className:s("studio-chat-sessions-title",n.subheading,tt.section),children:"Sessions"},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV("button",{className:s("studio-chat-new",n.button),type:"button","aria-label":"New conversation",onClick:e.onNew,children:"+"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("div",{className:s("studio-chat-session-controls",n.sessionControls),children:[a.jsxDEV("label",{children:["Search conversations",a.jsxDEV("input",{type:"search",maxLength:200,className:s("",n.sessionFilterInput),placeholder:"Titles or messages",value:e.search,onChange:(o)=>e.onSearch(o.target.value)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("label",{children:["Show",a.jsxDEV("select",{className:s("",n.sessionFilterInput),value:e.view.archived?"archived":"active",onChange:(o)=>e.onView({...e.view,archived:o.target.value==="archived",offset:0}),children:[a.jsxDEV("option",{value:"active",children:"Active conversations"},void 0,!1,void 0,this),a.jsxDEV("option",{value:"archived",children:"Archived conversations"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("div",{className:s("",n.actions),"aria-label":"Conversation pages",role:"group",children:[a.jsxDEV(b,{type:"button",variant:"ghost",size:"sm",disabled:e.loading||e.view.offset===0,onClick:()=>e.onView({...e.view,offset:Math.max(0,e.view.offset-25)}),children:"Previous"},void 0,!1,void 0,this),a.jsxDEV(b,{type:"button",variant:"ghost",size:"sm",disabled:e.loading||e.sessions.length<25,onClick:()=>e.onView({...e.view,offset:e.view.offset+25}),children:"Next"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),e.error&&a.jsxDEV("p",{role:"alert",children:[e.error," ",a.jsxDEV(b,{type:"button",variant:"ghost",onClick:e.onRetry,children:"Retry sessions"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("div",{className:s("studio-chat-session-list",n.sessionList),children:[e.loading?a.jsxDEV("p",{className:s("studio-chat-empty",n.empty),children:"Loading sessions…"},void 0,!1,void 0,this):null,!e.loading&&!e.error&&e.sessions.length===0?a.jsxDEV("p",{className:s("studio-chat-empty",n.empty),children:e.view.query?"No conversations match this search.":e.view.offset>0?"No more conversations.":e.view.archived?"No archived conversations.":"No conversations yet."},void 0,!1,void 0,this):null,e.sessions.map((o)=>a.jsxDEV("button",{className:s("studio-chat-session",n.session,o.id===e.activeSessionId&&n.activeSession),"data-active":o.id===e.activeSessionId?"true":"false",type:"button",onClick:()=>e.onSelect(o.id),children:[a.jsxDEV("strong",{className:s("studio-chat-session-title",n.sessionTitle),children:o.title},void 0,!1,void 0,this),a.jsxDEV("time",{className:s("studio-chat-session-time",n.timestamp),dateTime:o.lastActiveAt,title:o.lastActiveAt,children:Lo(o.lastActiveAt)},void 0,!1,void 0,this)]},o.id,!0,void 0,this))]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function jo(){return a.jsxDEV("section",{className:s("studio-chat-empty",n.empty,n.emptyConversation),"aria-label":"New conversation",children:a.jsxDEV("p",{className:s("",n.cardText),children:"No messages yet. Your draft stays in the composer until you send it."},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function No(e){return a.jsxDEV("article",{className:s("studio-chat-turn",n.turn),"data-role":e.message.role,children:[a.jsxDEV("span",{className:s("studio-chat-turn-label",n.speaker),children:e.message.role==="user"?"You":"Brain"},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-turn-body",n.turnBody,e.message.role==="user"&&n.userBody),children:[e.message.content?e.message.role==="assistant"?a.jsxDEV(je,{className:s("studio-chat-prose",n.cards),presentation:"chat",children:e.message.content},void 0,!1,void 0,this):a.jsxDEV("p",{className:s("studio-chat-text",n.paragraph),children:e.message.content},void 0,!1,void 0,this):null,e.message.attachments?.map((o)=>a.jsxDEV("p",{className:s("studio-chat-upload",n.upload),children:o.filename},`${o.filename}-${o.createdAt}`,!1,void 0,this)),e.message.cards?.length?a.jsxDEV("div",{className:s("studio-chat-cards",n.cards),children:e.message.cards.map((o)=>a.jsxDEV(To,{card:o,onAction:e.onAction,onApproval:e.onApproval},`${o.kind}-${o.id}`,!1,void 0,this))},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function To(e){let{card:o}=e;if(o.kind==="actions")return a.jsxDEV("section",{className:s("studio-chat-card",n.card),children:[a.jsxDEV("span",{className:s("studio-chat-card-kicker",n.kicker),children:"Actions"},void 0,!1,void 0,this),o.title?a.jsxDEV("strong",{children:o.title},void 0,!1,void 0,this):null,a.jsxDEV("div",{className:s("studio-chat-card-actions",n.actions),children:o.actions.map((c)=>a.jsxDEV("button",{className:s("studio-chat-card-action",n.button),type:"button",onClick:()=>void e.onAction(c),children:c.label},c.id,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(o.kind==="sources")return a.jsxDEV("section",{className:s("studio-chat-card",n.card),children:[a.jsxDEV("span",{className:s("studio-chat-card-kicker",n.kicker),children:"Sources"},void 0,!1,void 0,this),a.jsxDEV("ul",{children:o.sources.map((c)=>a.jsxDEV("li",{children:c.url?a.jsxDEV("a",{href:c.url,children:c.title??c.source},void 0,!1,void 0,this):c.title??c.source},c.id,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(o.kind==="attachment")return a.jsxDEV("section",{className:s("studio-chat-card",n.card),children:[a.jsxDEV("span",{className:s("studio-chat-card-kicker",n.kicker),children:"Artifact"},void 0,!1,void 0,this),a.jsxDEV("strong",{children:o.title},void 0,!1,void 0,this),o.description?a.jsxDEV("p",{className:s("studio-chat-card-description",n.cardText),children:o.description},void 0,!1,void 0,this):null,o.attachment.previewUrl||o.attachment.downloadUrl?a.jsxDEV("div",{className:s("studio-chat-card-actions",n.actions),children:a.jsxDEV("a",{className:s("studio-chat-card-action",n.button),href:o.attachment.previewUrl??o.attachment.downloadUrl,children:"Open"},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this);let r=o.state==="approval-requested",x={approvalId:o.id,toolCallId:o.toolCallId??o.id,toolName:o.toolName,...o.input?{input:o.input}:{},...o.summary?{title:o.summary}:{}};return a.jsxDEV("section",{className:s("studio-chat-card",n.card),children:[a.jsxDEV("span",{className:s("studio-chat-card-kicker",n.kicker),children:r?"Approval required":"Approval record"},void 0,!1,void 0,this),a.jsxDEV("strong",{children:o.summary},void 0,!1,void 0,this),o.preview?a.jsxDEV("p",{className:s("studio-chat-card-preview",n.paragraph),children:o.preview},void 0,!1,void 0,this):null,r?a.jsxDEV("div",{className:s("studio-chat-approval-actions",n.actions),children:[a.jsxDEV("button",{className:s("studio-chat-approval-action",n.button),type:"button",onClick:()=>void e.onApproval(x,!1),children:"Decline"},void 0,!1,void 0,this),a.jsxDEV("button",{className:s("studio-chat-approval-action",n.button,n.primaryButton),"data-primary":"true",type:"button",onClick:()=>void e.onApproval(x,!0),children:"Approve"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}function Oo(e){return a.jsxDEV("section",{className:s("studio-chat-approval",n.card),children:[a.jsxDEV("span",{className:s("studio-chat-card-kicker",n.kicker),children:"Approval required"},void 0,!1,void 0,this),a.jsxDEV("strong",{children:e.approval.title??e.approval.toolName},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-approval-actions",n.actions),children:[a.jsxDEV("button",{className:s("studio-chat-approval-action",n.button),type:"button",disabled:e.disabled,onClick:()=>void e.onDecision(e.approval,!1),children:"Decline"},void 0,!1,void 0,this),a.jsxDEV("button",{className:s("studio-chat-approval-action",n.button,n.primaryButton),"data-primary":"true",type:"button",disabled:e.disabled,onClick:()=>void e.onDecision(e.approval,!0),children:"Approve"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function Ro(e){let o=(r)=>{if(r.key==="Enter"&&!r.shiftKey&&!r.nativeEvent.isComposing)r.preventDefault(),r.currentTarget.form?.requestSubmit()};return a.jsxDEV("footer",{className:s("studio-chat-composer",n.composer),children:[e.onJumpToLatest&&a.jsxDEV(b,{type:"button",variant:"ghost",onClick:e.onJumpToLatest,children:"Jump to latest ↓"},void 0,!1,void 0,this),e.uploadAttempts.length>0&&a.jsxDEV("ul",{className:s("studio-chat-upload-list",n.uploadList),"aria-label":"File upload progress",children:e.uploadAttempts.map((r)=>a.jsxDEV("li",{className:s("studio-chat-upload",n.upload),children:[a.jsxDEV("span",{role:r.status==="failed"?"alert":"status",children:[r.file.name,":"," ",r.status==="uploading"?"Uploading…":r.error??"Upload failed"]},void 0,!0,void 0,this),r.status==="failed"&&a.jsxDEV(a.Fragment,{children:[a.jsxDEV(b,{type:"button",variant:"ghost",size:"sm","aria-label":`Retry uploading ${r.file.name}`,disabled:e.uploading||e.sending||e.locked,onClick:()=>e.onRetryUpload(r),children:"Retry"},void 0,!1,void 0,this),a.jsxDEV(b,{type:"button",variant:"ghost",size:"sm","aria-label":`Dismiss failed upload ${r.file.name}`,onClick:()=>e.onDismissUpload(r.id),children:"Dismiss"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},r.id,!0,void 0,this))},void 0,!1,void 0,this),e.uploads.length>0?a.jsxDEV("div",{className:s("studio-chat-upload-list",n.uploadList),children:e.uploads.map((r)=>a.jsxDEV("span",{className:s("studio-chat-upload",n.upload),children:[r.filename," ",a.jsxDEV(b,{type:"button",variant:"ghost",size:"sm","aria-label":`Remove ${r.filename} from message`,disabled:e.locked,onClick:()=>e.onRemoveUpload(r.id),children:"×"},void 0,!1,void 0,this)]},r.id,!0,void 0,this))},void 0,!1,void 0,this):null,a.jsxDEV("form",{className:s("studio-chat-composer-form",n.form),onSubmit:e.onSubmit,children:[a.jsxDEV("label",{className:s("studio-chat-message-label",n.fieldLabel),children:["Message",a.jsxDEV("textarea",{className:s("studio-chat-message",n.input),"aria-label":"Message","aria-describedby":"studio-chat-composer-hint",placeholder:"Write to your brain…",value:e.draft,disabled:e.locked,onChange:(r)=>e.onDraft(r.target.value),onKeyDown:o},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("div",{className:s("studio-chat-composer-actions",n.actions),children:[a.jsxDEV("label",{className:s("studio-chat-composer-action",n.attachButton),children:[e.uploading?"Attaching…":"Attach files",a.jsxDEV("input",{className:s("studio-chat-upload-input",n.uploadInput),type:"file",accept:Xt,"aria-describedby":"studio-chat-upload-guidance",multiple:!0,disabled:e.locked||e.sending||e.uploading,onChange:(r)=>void e.onFiles(r)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),e.locked?a.jsxDEV(b,{type:"button",disabled:!0,children:"Archiving…"},void 0,!1,void 0,this):e.sending?a.jsxDEV(b,{type:"button",variant:"outline",onClick:e.onStop,disabled:!e.onStop,title:"Stop receiving the response. Completed actions are not undone.",children:"Stop"},void 0,!1,void 0,this):a.jsxDEV(b,{className:"studio-chat-composer-action",type:"submit","aria-label":"Send message",disabled:e.uploading||e.uploadAttempts.length>0||!e.draft.trim()&&e.uploads.length===0,children:"Send"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("small",{id:"studio-chat-composer-hint",className:s("studio-chat-composer-hint",n.composerHint),children:"Enter to send · Shift+Enter for a new line"},void 0,!1,void 0,this),a.jsxDEV("details",{className:s("studio-chat-upload-guidance",n.composerHint),children:[a.jsxDEV("summary",{children:"File types and limits"},void 0,!1,void 0,this),a.jsxDEV("p",{id:"studio-chat-upload-guidance",children:Io},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function Eo(e){return a.jsxDEV("aside",{className:s("studio-chat-context",n.contextBody),tabIndex:0,"aria-label":"Working set",children:a.jsxDEV("div",{className:s("studio-chat-context-list",n.cards),children:[e.session?.contextHandoff?a.jsxDEV("section",{className:s("studio-chat-context-card",n.contextItem),children:[a.jsxDEV("span",{className:s("studio-chat-context-kicker",n.kicker),children:"Linked context"},void 0,!1,void 0,this),a.jsxDEV("h3",{className:s("studio-chat-context-card-title",n.cardHeading,tt.section),children:e.session.contextHandoff.titleSeed},void 0,!1,void 0,this),a.jsxDEV("p",{className:s("studio-chat-context-card-text",n.cardText),children:[e.session.contextHandoff.sourceId," ·"," ",e.session.contextHandoff.itemId]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null,e.cards.length===0&&e.progress.length===0?a.jsxDEV("p",{className:s("studio-chat-empty",n.empty),children:"Sources, artifacts, and durable jobs appear here as the conversation develops."},void 0,!1,void 0,this):null,e.cards.map((o,r)=>a.jsxDEV("section",{className:s("studio-chat-context-card",n.contextItem),children:[a.jsxDEV("span",{className:s("studio-chat-context-kicker",n.kicker),children:o.kind==="sources"?"Sources":"Artifact"},void 0,!1,void 0,this),a.jsxDEV("h3",{className:s("studio-chat-context-card-title",n.cardHeading,tt.section),children:o.kind==="sources"?o.title??`${o.sources.length} consulted`:o.kind==="attachment"?o.title:"Conversation context"},void 0,!1,void 0,this),o.kind==="sources"?a.jsxDEV(a.Fragment,{children:[a.jsxDEV("ul",{children:o.sources.slice(0,5).map((x)=>a.jsxDEV("li",{children:x.title??x.source},x.id,!1,void 0,this))},void 0,!1,void 0,this),o.sources.length>5?a.jsxDEV("p",{className:s("studio-chat-context-card-text",n.cardText),children:[o.sources.length-5," more sources in the conversation."]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this):o.kind==="attachment"&&o.description?a.jsxDEV("p",{className:s("studio-chat-context-card-text",n.cardText),children:o.description},void 0,!1,void 0,this):null]},`${o.kind}-${o.id}-${r}`,!0,void 0,this)),e.progress.map((o,r)=>a.jsxDEV("section",{className:s("studio-chat-context-card",n.contextItem),children:[a.jsxDEV("span",{className:s("studio-chat-context-kicker",n.kicker),children:"Durable job"},void 0,!1,void 0,this),a.jsxDEV("h3",{className:s("studio-chat-context-card-title",n.cardHeading,tt.section),children:o.operationTarget??o.operationType},void 0,!1,void 0,this),a.jsxDEV("p",{className:s("studio-chat-context-card-text",n.cardText),children:o.message??o.status},void 0,!1,void 0,this)]},`${o.type}-${r}`,!0,void 0,this)),e.messages.length>0?a.jsxDEV("section",{className:s("studio-chat-context-card",n.contextItem),children:[a.jsxDEV("span",{className:s("studio-chat-context-kicker",n.kicker),children:"Activity"},void 0,!1,void 0,this),a.jsxDEV("h3",{className:s("studio-chat-context-card-title",n.cardHeading,tt.section),children:"Visible conversation"},void 0,!1,void 0,this),a.jsxDEV("p",{className:s("studio-chat-context-card-text",n.cardText),children:[e.messages.length," visible messages."]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function Lo(e){let o=new Date(e);if(Number.isNaN(o.getTime()))return"";return new Intl.DateTimeFormat(void 0,{day:"numeric",year:o.getFullYear()===new Date().getFullYear()?void 0:"numeric",month:"short",timeZoneName:"short",hour:"2-digit",minute:"2-digit"}).format(o)}function ut(e,o){return e instanceof Error&&e.message?e.message:o}export{Ra as StudioChatWorkspace};
|
|
4
|
-
|
|
5
|
-
//# debugId=62CB94DE225EBFDE64756E2164756E21
|