@rizom/brain 0.2.0-alpha.383 → 0.2.0-alpha.384
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-7z5e3c7s.js → app-zn0wshdg.js} +2 -2
- package/dist/chunks/{index-ymrghn05.js → index-fe19h0ey.js} +3 -3
- package/dist/chunks/{index-ymrghn05.js.map → index-fe19h0ey.js.map} +1 -1
- package/dist/chunks/{index-ccy24bdp.js → index-q8rrvgdf.js} +2 -2
- package/dist/chunks/{index-3dz3sh65.js → index-y41e244y.js} +2 -2
- package/dist/index.js +1 -1
- package/dist/model.js +37 -37
- package/dist/model.js.map +2 -2
- package/dist/ui/studio-app.css +32 -18
- package/dist/ui/studio-app.js +3 -3
- package/dist/ui/studio-app.js.map +1 -1
- package/dist/ui/studio-asset-manifest.json +16 -16
- package/dist/ui/studio-chunks/account-view-811dnmr7.js +3 -0
- package/dist/ui/studio-chunks/{account-view-4544h367.js.map → account-view-811dnmr7.js.map} +2 -2
- package/dist/ui/studio-chunks/{highlighted-body-OFNGDK62-1w01z27m.js → highlighted-body-OFNGDK62-kw57xp1t.js} +2 -2
- package/dist/ui/studio-chunks/{highlighted-body-OFNGDK62-1w01z27m.js.map → highlighted-body-OFNGDK62-kw57xp1t.js.map} +1 -1
- package/dist/ui/studio-chunks/{main-1gqf08r8.js → main-53ha0ekw.js} +18 -18
- package/dist/ui/studio-chunks/{main-1gqf08r8.js.map → main-53ha0ekw.js.map} +4 -7
- package/dist/ui/studio-chunks/{main-b34wmcw1.js → main-g0bad58x.js} +4 -4
- package/dist/ui/studio-chunks/{main-b34wmcw1.js.map → main-g0bad58x.js.map} +1 -1
- package/dist/ui/studio-chunks/main-g6b89p15.js +7 -0
- package/dist/ui/studio-chunks/{main-ptks77cs.js.map → main-g6b89p15.js.map} +3 -3
- package/dist/ui/studio-chunks/main-me847330.js +50 -0
- package/dist/ui/studio-chunks/{main-vzjqx8f9.js.map → main-me847330.js.map} +6 -3
- package/dist/ui/studio-chunks/mermaid-GHXKKRXX-hqacyqmt.js +3 -0
- package/dist/ui/studio-chunks/{mermaid-GHXKKRXX-ftrk50mv.js.map → mermaid-GHXKKRXX-hqacyqmt.js.map} +1 -1
- package/dist/ui/studio-chunks/studio-chat-workspace-hmkhk808.js +5 -0
- package/dist/ui/studio-chunks/studio-chat-workspace-hmkhk808.js.map +20 -0
- package/package.json +1 -1
- package/dist/ui/studio-chunks/account-view-4544h367.js +0 -3
- package/dist/ui/studio-chunks/main-ptks77cs.js +0 -7
- package/dist/ui/studio-chunks/main-vzjqx8f9.js +0 -50
- package/dist/ui/studio-chunks/mermaid-GHXKKRXX-ftrk50mv.js +0 -3
- package/dist/ui/studio-chunks/studio-chat-workspace-kpfmp85b.js +0 -5
- package/dist/ui/studio-chunks/studio-chat-workspace-kpfmp85b.js.map +0 -21
- /package/dist/chunks/{app-7z5e3c7s.js.map → app-zn0wshdg.js.map} +0 -0
- /package/dist/chunks/{index-ccy24bdp.js.map → index-q8rrvgdf.js.map} +0 -0
- /package/dist/chunks/{index-3dz3sh65.js.map → index-y41e244y.js.map} +0 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{A as Ne,C as bt,D as Te,Ga as Ue,L as Oe,La as Le,Y as Re,Z as vt,_ as qt,ka as Ee,n as Ie,na as Pe,p as dt,y as $t}from"./main-g6b89p15.js";import"./main-g0bad58x.js";import{$a as je,Db as ke,Sa as xe,Va as nt,Za as z,_a as Se,cb as ct,gb as ut,hb as pt,ub as t,vb as gt}from"./main-53ha0ekw.js";import{Eb as F,Ib as Lt}from"./main-rjhqdb2v.js";var at=F(Lt(),1);var Rt=t.object({type:t.literal("event"),event:t.string().min(1),fromState:t.string().min(1).optional()}),Vo=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:Rt});var Xt=t.strictObject({rows:t.number().int().positive(),rowBytes:t.number().int().positive(),queryCharacters:t.number().int().positive()});var Qt=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:Xt,requestTimeoutSeconds:t.number().int().positive().max(2147483)}),Je=t.strictObject({limits:Qt,maxCostMicroUsd:t.number().int().positive()});var Ke=1,Xe="/api/chat";var ee=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"),ta=t.strictObject({visitorId:t.string().uuid(),retention:ee}),p=t.string().trim().min(1).max(256);var Qe=t.strictObject({expiresAt:t.number().int().positive(),provider:t.string().min(1),notice:t.string().min(1),deletionLimitations:t.string().min(1),retention:ee,messageCharacters:t.number().int().positive(),canSend:t.boolean()}),oe=t.strictObject({conversationId:p,state:t.enum(["active","completed","failed","interrupted","uncertain"])}),ae=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),Et=t.string().trim().min(1).max(48),Pt=t.string().datetime(),Yt=t.string().regex(/^\/(?!\/)/).max(2048),ot=t.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),Ye=t.looseObject({kind:t.literal("tool-approval"),id:p,toolCallId:p.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()}),to=t.looseObject({entityType:t.string().trim().min(1).max(128).optional(),entityId:p.optional(),attachmentType:t.string().trim().min(1).max(128).optional()}),eo=t.looseObject({mediaType:t.string().trim().min(1).max(255),url:ot,downloadUrl:ot.optional(),previewUrl:ot.optional(),filename:t.string().trim().min(1).max(255).optional(),sizeBytes:t.number().int().nonnegative().optional(),source:to.optional()}),ne=t.looseObject({kind:t.literal("attachment"),id:p,jobId:p.optional(),title:t.string().max(4096),description:t.string().max(20000).optional(),attachment:eo}),oo=t.looseObject({id:p,title:t.string().max(4096).optional(),source:t.string().trim().min(1).max(512),url:ot.optional(),entityType:t.string().trim().min(1).max(128).optional(),entityId:p.optional(),excerpt:t.string().max(20000).optional(),provenance:t.record(t.string(),t.unknown()).optional()}),se=t.looseObject({kind:t.literal("sources"),id:p,title:t.string().max(4096).optional(),sources:t.array(oo).min(1).max(100)}),ao=t.discriminatedUnion("type",[t.object({type:t.literal("prompt"),id:p,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:p,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()})]),ie=t.looseObject({kind:t.literal("actions"),id:p,title:t.string().max(4096).optional(),actions:t.array(ao).min(1).max(100)}),re=t.discriminatedUnion("kind",[Ye,ne,se,ie]);var no=t.object({id:p,toolCallId:p.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()}),le=t.object({toolName:t.string().trim().min(1).max(256),args:t.record(t.string(),t.unknown()).optional(),jobId:p.optional(),data:t.unknown().optional(),error:t.object({message:t.string().max(4096),code:t.string().trim().min(1).max(256).optional()}).optional()}),so=t.looseObject({text:t.string().max(1e6),toolResults:t.array(le).max(100).optional(),cards:t.array(re).max(100).optional(),pendingConfirmations:t.array(no).max(100).optional(),usage:t.object({promptTokens:t.number().int().nonnegative(),completionTokens:t.number().int().nonnegative(),totalTokens:t.number().int().nonnegative()})});function io(e=Xe){let o=ro(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 ro(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 de=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))}),lo=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)}),co=t.looseObject({id:p,title:Et,lastActiveAt:Pt,archived:t.boolean().optional(),contextHandoff:de.optional()}),uo=t.looseObject({sessions:t.array(co).max(100)}),po=t.looseObject({kind:t.string().trim().min(1).max(64),id:p}),mo=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:Pt,source:po.optional()}),ce=t.looseObject({id:p,role:t.enum(["user","assistant"]),content:t.string().max(1e6),attachments:t.array(mo).max(100).optional(),cards:t.array(re).max(100).optional()}),go=t.looseObject({messages:t.array(ce).max(100)}),ho=t.string().min(1).max(256).refine((e)=>e.trim().length>0),fo=t.strictObject({messages:t.array(ce).max(100),submission:oe.nullable()}),ea=t.object({type:t.literal("text"),text:t.string().max(1e6)}),oa=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)}),ue=t.object({kind:t.literal("upload"),id:ae}),aa=t.object({type:t.literal("data-upload"),data:t.looseObject({ref:ue})}),xo=t.object({id:p,approved:t.boolean(),toolCallId:p.optional(),toolName:t.string().trim().min(1).max(256).optional(),input:t.record(t.string(),t.unknown()).optional(),title:t.string().max(4096).optional()}),na=t.looseObject({state:t.literal("approval-responded"),toolCallId:p.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:xo}),Ut=t.object({id:p.optional(),role:t.enum(["user","assistant","system"]),parts:t.array(t.unknown()).max(1000).optional(),content:t.string().max(1e6).optional()}),yo=(e)=>t.string().trim().min(1).max(e).refine((o)=>!/[\p{Cc}\p{Cf}]/u.test(o)),So=t.strictObject({sourceId:t.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:t.string().trim().min(1).max(300),label:yo(160)}),ko=t.object({id:p.optional(),messages:t.array(Ut).min(1).max(200),trigger:t.string().trim().min(1).max(64).optional(),inboxContext:So.optional()}).strict(),sa=t.strictObject({id:p.optional(),messages:t.array(t.strictObject({id:p,role:t.literal("user"),parts:t.array(t.strictObject({type:t.literal("text"),text:t.string()})).min(1).max(16)})).length(1)}),pe=t.enum(["pending","processing","completed","failed"]),bo=t.looseObject({type:t.enum(["job","batch"]),status:pe,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()}),vo=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()}),zo=t.discriminatedUnion("type",[t.looseObject({type:t.literal("start"),messageId:p.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:p}),t.looseObject({type:t.literal("text-delta"),id:p,delta:t.string().max(1e6)}),t.looseObject({type:t.literal("text-end"),id:p}),t.looseObject({type:t.literal("reasoning-start"),id:p}),t.looseObject({type:t.literal("reasoning-delta"),id:p,delta:t.string().max(1e6)}),t.looseObject({type:t.literal("reasoning-end"),id:p}),t.looseObject({type:t.literal("tool-input-start"),toolCallId:p,toolName:t.string().trim().min(1).max(256),title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("tool-input-delta"),toolCallId:p,inputTextDelta:t.string().max(1e6)}),t.looseObject({type:t.literal("tool-input-available"),toolCallId:p,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:p,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:p,toolCallId:p}),t.looseObject({type:t.literal("tool-output-available"),toolCallId:p,output:t.unknown(),preliminary:t.boolean().optional()}),t.looseObject({type:t.literal("tool-output-error"),toolCallId:p,errorText:t.string().max(20000)}),t.looseObject({type:t.literal("tool-output-denied"),toolCallId:p}),t.looseObject({type:t.literal("source-url"),sourceId:p,url:ot,title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("source-document"),sourceId:p,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:ot,mediaType:t.string().trim().min(1).max(255)}),t.looseObject({type:t.literal("data-progress"),id:p.optional(),data:bo,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-status"),id:p.optional(),data:vo,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-tool-result"),id:p.optional(),data:le,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-actions"),id:p.optional(),data:ie,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-sources"),id:p.optional(),data:se,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-attachment"),id:p.optional(),data:ne,transient:t.boolean().optional()})]),Co=t.strictObject({conversationId:p}),Zo=t.object({title:Et}).strict(),wo=t.object({renamed:t.boolean(),title:Et}),Ao=t.object({archived:t.boolean()}),Io=t.object({deleted:t.boolean()}),jo=t.object({conversationId:p,action:Rt}).strict(),No=t.looseObject({id:p,status:pe,message:t.string().max(4096).optional()}),To=t.looseObject({id:ae,ref:ue,filename:t.string().trim().min(1).max(255),mediaType:t.string().trim().min(1).max(255),sizeBytes:t.number().int().nonnegative(),createdAt:Pt,url:Yt,downloadUrl:Yt}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});class L extends Error{operation;status;kind;guestSubmission;constructor(e,o,r="http",h){super(`Chat API could not ${e} (${o})`);this.name="ChatApiError",this.operation=e,this.status=o,this.kind=r,Object.defineProperty(this,"guestSubmission",{value:h,enumerable:!1,writable:!1})}}function te(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 h;try{h=JSON.parse(r)}catch{throw new L("read stream",502,"invalid-response")}let l=zo.safeParse(h);if(!l.success)throw new L("read stream",502,"invalid-response");return l.data}async function*me(e){if(!e.ok)throw new L("read stream",e.status);if(!e.body)throw new L("read stream",502,"invalid-response");let o=e.body.getReader(),r=new TextDecoder,h="";try{for(;;){let{value:l,done:g}=await o.read();h+=r.decode(l,{stream:!g});let f=h.indexOf(`
|
|
2
|
+
`);while(f>=0){let c=h.slice(0,f);h=h.slice(f+1);let d=te(c);if(d)yield d;f=h.indexOf(`
|
|
3
|
+
`)}if(g)break}if(h.length>0){let l=te(h);if(l)yield l}}finally{o.releaseLock()}}function ge(e={}){let o=io(e.apiPath),r=e.fetch??globalThis.fetch,h=e.credentials??"include";async function l(c,d,x,S){let A=await r(d,{...S,credentials:h});if(!A.ok)throw new L(c,A.status);let w;try{w=await A.json()}catch{throw new L(c,502,"invalid-response")}let C=x.safeParse(w);if(!C.success)throw new L(c,502,"invalid-response");return C.data}function g(c,d){let x=p.parse(d);return`${c}?id=${encodeURIComponent(x)}`}function f(c,d,x){let S=g(c,d);return x?`${S}&download=1`:S}return{version:Ke,paths:o,async openGuestSession(){return l("open guest session",`${o.stream}/session`,Qe,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"})},async streamMessages(c,d={}){let x=ko.parse(c),S=await r(o.stream,{method:"POST",credentials:h,headers:{"Content-Type":"application/json"},body:JSON.stringify(x),...d.signal?{signal:d.signal}:{}});if(!S.ok){let A;if(S.status===409)try{let w=oe.safeParse(await S.json());if(w.success)A=w.data}catch{}throw new L("send messages",S.status,"http",A)}return S},async listSessions(c={}){let d=lo.parse(c),x=new URLSearchParams;if(d.query)x.set("q",d.query);if(d.archived)x.set("archived","true");if(d.offset)x.set("offset",String(d.offset));if(d.limit!==25)x.set("limit",String(d.limit));let S=x.size?`?${x.toString()}`:"";return(await l("list sessions",`${o.sessions}${S}`,uo)).sessions},async getMessages(c){return(await l("load messages",g(o.messages,c),go)).messages},async getGuestHistory(c,d){return l("check guest history",`${g(o.messages,c)}&submissionId=${encodeURIComponent(ho.parse(d))}`,fo)},async renameSession(c,d){let x=Zo.parse({title:d});return l("rename session",g(o.sessions,c),wo,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)})},async archiveSession(c){return l("archive session",g(o.sessionArchive,c),Ao,{method:"PUT"})},async deleteSession(c){return l("delete session",g(o.sessions,c),Io,{method:"DELETE"})},getJobStatus(c){return l("load job status",g(o.jobStatus,c),No)},openContextSession(c){return l("open context session",o.contextSessions,Co,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(de.parse(c))})},runAction(c){let d=jo.parse(c);return l("run action",o.actions,so,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(d)})},async upload(c,d){let x=t.string().trim().min(1).max(255).parse(d),S=new FormData;return S.set("file",c,x),l("upload file",o.uploads,To,{method:"POST",body:S})},getUploadUrl(c,d=!1){return f(o.uploads,c,d)},getDocumentAttachmentUrl(c,d=!1){return f(o.documentAttachments,c,d)},getImageAttachmentUrl(c,d=!1){return f(o.imageAttachments,c,d)}}}function he(e){switch(e){case"pending":case"processing":case"completed":case"failed":return e;default:return"unknown"}}function Oo(e){switch(e){case"pending":return"queued";case"processing":return"generating";case"completed":return"ready";case"failed":return"failed";case"unknown":return"status unknown";default:return"ready"}}function fe(e){return{status:e??"ready",label:Oo(e),isPending:e==="pending"||e==="processing"}}var pa=t.record(t.string(),t.unknown());var n={imageTrigger:{k1xSpc:"x1lliihq",kzqmXN:"xh8yej3",kmVPX3:"x1717udv",kMzoRj:"xc342km",kWkggS:"xjbqb8w",kkrTdU:"x1huxd7x",kAzted:"x1gg8mnh",k3Woio:"x16dl9wz",kiEn40:"x7s97pk",$$css:!0},fullImage:{kzqmXN:"xh8yej3",kZKoxP:"xt7dq6l",kskxy:"x6kd6ug",kVIFPx:"x19kjcj4",$$css:!0},toolbar:{k1xSpc:"x78zum5",kGNEyG:"x6s0dn4",kOIVth:"x195vfkc",kmuXW:"x2lah0s",$$css:!0},toolbarButton:{kAzted:"x1gg8mnh",k7Eaqz:"x1nb6za0",kmVPX3:"x1160tuk",kGuDYH:"xfifm61",$$css:!0},details:{k1xSpc:"xrvj5dj",kOIVth:"xou54vl",k7Eaqz:"xeuugli",$$css:!0},composerBar:{k1xSpc:"x78zum5",kjj79g:"x1qughib",kGNEyG:"x6s0dn4",kOIVth:"x167g77z",$$css:!0},userTurn:{koQZXg:"x8x9d4c",ks0D6T:"x1v8xovm",kWkggS:"xbslqsl",kaIpWk:"x1cxwkf3",kmVPX3:"x1j671cp",$$css:!0},source:{khDVqt:"x126k92a",kHjlTd:"xj0a0fe",kVQacm:"xysyzu8",kskxy:"x8ln6o7",kmVPX3:"xc7ga6q",kogj98:"x1ghz6dp",kMv6JI:"xa9opjo",kGuDYH:"xfifm61",kLWn49:"x1dbl2gt",kWkggS:"xbslqsl",$$css:!0},uploadStrip:{k1xSpc:"x78zum5",kXHlph:"xw2csxc",kskxy:"x569fbc",kOIVth:"x167g77z",k7Eaqz:"xeuugli",k5wCbM:"x1597r2g",k1K539:"xzueoph",$$css:!0},uploadPreview:{kzqmXN:"x100vrsf",kZKoxP:"x1vqgdyp",kVIFPx:"xl1xv1r",kaIpWk:"x12oqio5",$$css:!0},uploadName:{k7Eaqz:"xeuugli",kUk6DE:"x98rzlu",kHjlTd:"xj0a0fe",kGuDYH:"xfifm61",$$css:!0},sessionControls:{k1xSpc:"xrvj5dj",kOIVth:"x167g77z",k7Eaqz:"xeuugli",k1K539:"xod5an3",kGuDYH:"xfifm61",kMwMTN:"x1ar3pfp",$$css:!0},sessionFilterSelect:{kzqmXN:"xh8yej3",k7Eaqz:"xeuugli",kAzted:"x141feeh x1c4ya5t",kGuDYH:"x4z9k3i xf2x79s",$$css:!0},composerHint:{k1xSpc:"x1lliihq xkaaz9w",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",kmVPX3:"x1717udv",kOIVth:"xxhr3t",$$css:!0},room:{k1xSpc:"xrvj5dj",kumcoG:"x1mkdm3x",kOIVth:"xxhr3t",kUk6DE:"x98rzlu",kAzted:"x2lwn1j",k7Eaqz:"xeuugli",kVQacm:"xb3r6kr",$$css:!0},emptyConversation:{kogj98:"x1ghz6dp",$$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:"x6s0dn4",kjj79g:"x1qughib",kOIVth:"x167g77z",k7Eaqz:"xeuugli",kmuXW:"x2lah0s",kAzted:"xt55aet",kmVPX3:"xsoouyo xbqoc8e",kt9PQ7:"xso031l",kfdmCh:"x1q0q8m5",kL6WhQ:"xpqg30t",k1K539:"xat24cr",$$css:!0},title:{kogj98:"x1ghz6dp",kVQacm:"xb3r6kr",kg5iWk:"xlyipyv",khDVqt:"xuxw1ft",k7Eaqz:"xeuugli",kMv6JI:"x5ddh9m",kGuDYH:"x4z9k3i",k63SB2:"xo1l8bm",kLWn49:"x1evy7pa",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},context:{k7Eaqz:"xeuugli",kt9PQ7:"xso031l",kfdmCh:"x1q0q8m5",kL6WhQ:"xpqg30t",$$css:!0},contextBody:{k1xSpc:"xrvj5dj",kI3sdo:"x16dl9wz",kInvED:"x2ssjo2",kOIVth:"xou54vl",kskxy:"xtgemb3",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",ks0D6T:"x1ac2792",kUOVxO:"xvueqy4",kmVPX3:"x12mnf9l xvc418b",$$css:!0},turn:{k1xSpc:"xrvj5dj",kumcoG:"x1mkdm3x",kOIVth:"x167g77z",kmVPX3:"x1717udv",k1K539:"x1xka2u1",k7Eaqz:"xeuugli",$$css:!0},speaker:{kLKAdn:"xexx8yu",kMv6JI:"xa9opjo",kGuDYH:"x1j6dyjg",kLWn49:"x1dbl2gt",kMwMTN:"x1ar3pfp",$$css:!0},turnBody:{k1xSpc:"xrvj5dj",kOIVth:"x1v2ro7d",k7Eaqz:"xeuugli",kMv6JI:"x5ddh9m",kGuDYH:"x1j61zf2 x1sgj8az",k63SB2:"xo1l8bm",kLWn49:"x11m8ghp",kMwMTN:"xqvuw85",kHjlTd:"xj0a0fe",$$css:!0},userBody:{k63SB2:"xo1l8bm",$$css:!0},paragraph:{kogj98:"x1ghz6dp",khDVqt:"x126k92a",kHjlTd:"xj0a0fe",$$css:!0},cards:{k1xSpc:"xrvj5dj",kOIVth:"x1v2ro7d",k7Eaqz:"xeuugli",$$css:!0},attachmentPreview:{k1xSpc:"x1lliihq",kzqmXN:"xh8yej3",ks0D6T:"x193iq5w",kZKoxP:"xt7dq6l",kskxy:"x1iuus0c",kVIFPx:"x19kjcj4",kWkggS:"x18s3upu",$$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:"x1jnr06f",k7Eaqz:"xeuugli",kMzoRj:"xmkeg23",ksu8eU:"x1y0btm7",kVAM5u:"x8tuc8h",kaIpWk:"x4pepcl",kmVPX3:"x1160tuk",kWkggS:"x18s3upu",$$css:!0},composer:{kmuXW:"x2lah0s",k7Eaqz:"xeuugli",kzqmXN:"xh8yej3",ks0D6T:"x1ac2792",kSGwAc:"xamitd3",kmVPX3:"x17udgi5 x1lbfznl",$$css:!0},input:{kzqmXN:"xh8yej3",kB7OPa:"x9f619",k7Eaqz:"xeuugli",kZKoxP:"xn3w4p2",kAzted:"x1gg8mnh",kskxy:"x1hyak1l",kHenm0:"xtt52l0",kmVPX3:"x14odnwx",kMzoRj:"xc342km",ksu8eU:"x1y0btm7",kVAM5u:"xy1lt07",kaIpWk:"x1sxf85j",kWkggS:"xjbqb8w",kMv6JI:"x5ddh9m",kGuDYH:"x1j61zf2",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:"xozqiw3",kmuXW:"x2lah0s",kOIVth:"x167g77z",kogj98:"x1ghz6dp",kmVPX3:"x1717udv",kH6xsr:"x3ct3a4",$$css:!0},upload:{k1xSpc:"x78zum5",kGNEyG:"x6s0dn4",kOIVth:"x17d4w8g",kmuXW:"x2lah0s",kogj98:"x1ghz6dp",ks0D6T:"x1jkqq1h",kMv6JI:"xa9opjo",kGuDYH:"x1j6dyjg",k63SB2:"xo1l8bm",kMwMTN:"x1ar3pfp",kHjlTd:"xj0a0fe",$$css:!0},button:{kAzted:"x1gg8mnh",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} ${xe(...o).className??""}`}var Z=F(nt(),1);function ye(e){let{card:o,client:r}=e,h=dt({queryKey:["studio","chat","attachment-job",r.paths.jobStatus,o.jobId],queryFn:()=>r.getJobStatus(o.jobId??""),enabled:Boolean(o.jobId),retry:!1,refetchInterval:(J)=>J.state.data?.status==="pending"||J.state.data?.status==="processing"?2000:!1}),l=h.error instanceof L&&h.error.status===404,g=h.isError&&!l,f=fe(o.jobId?he(h.data?.status):null),c=!o.jobId||l||!h.isError&&h.data!==void 0&&(f.status==="completed"||f.status==="unknown"),d=o.attachment.previewUrl??o.attachment.url,[x,S]=at.useState(null),[A,w]=at.useState(!1),[C,D]=at.useState(null),k=at.useRef(null),B=g?"Status unavailable":o.jobId&&h.isPending?"Checking generation status":f.label;return Z.jsxDEV("section",{className:s("studio-chat-card",n.card),"aria-label":o.title,children:[Z.jsxDEV("span",{className:s("studio-chat-card-kicker",n.kicker),children:"Artifact"},void 0,!1,void 0,this),Z.jsxDEV("strong",{children:o.title},void 0,!1,void 0,this),Z.jsxDEV("span",{role:"status",className:s("studio-chat-card-description",n.cardText),children:B},void 0,!1,void 0,this),o.description?Z.jsxDEV("p",{className:s("studio-chat-card-description",n.cardText),children:o.description},void 0,!1,void 0,this):null,c&&o.attachment.mediaType.startsWith("image/")?x===d?Z.jsxDEV("p",{role:"status",children:"Image preview unavailable. You can still open or download the file."},void 0,!1,void 0,this):Z.jsxDEV("button",{ref:k,type:"button","aria-label":`Enlarge ${o.title}`,className:s("studio-chat-image-trigger",n.imageTrigger),onClick:()=>w(!0),children:Z.jsxDEV("img",{className:s("studio-chat-attachment-preview",n.attachmentPreview),src:d,alt:o.title,loading:"lazy",onError:()=>S(d)},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,c?Z.jsxDEV("div",{className:s("studio-chat-card-actions",n.actions),children:[Z.jsxDEV("a",{className:s("studio-chat-card-action",n.button),href:o.attachment.url,children:"Open"},void 0,!1,void 0,this),Z.jsxDEV("a",{className:s("studio-chat-card-action",n.button),href:o.attachment.downloadUrl??o.attachment.url,download:o.attachment.filename??!0,children:"Download"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,Z.jsxDEV(ct,{open:A&&c,onOpenChange:w,children:Z.jsxDEV(ut,{"aria-describedby":void 0,onCloseAutoFocus:(J)=>{J.preventDefault(),k.current?.focus()},children:[Z.jsxDEV(pt,{children:o.title},void 0,!1,void 0,this),C===o.attachment.url?Z.jsxDEV("p",{role:"status",children:"Image unavailable. You can still try opening or downloading the file."},void 0,!1,void 0,this):Z.jsxDEV("img",{className:s("studio-chat-full-image",n.fullImage),src:o.attachment.url,alt:o.title,onError:()=>D(o.attachment.url)},void 0,!1,void 0,this),Z.jsxDEV("a",{href:o.attachment.downloadUrl??o.attachment.url,download:o.attachment.filename??!0,children:"Download image"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),g?Z.jsxDEV(z,{type:"button",variant:"outline",onClick:()=>void h.refetch(),children:"Check status"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}var R=F(Lt(),1);var O=F(nt(),1);function be(e){let[o,r]=R.useState(!1),[h,l]=R.useState(e.title),[g,f]=R.useState(!1),[c,d]=R.useState(null),x=R.useRef(!1),S=R.useRef(!1),A=R.useRef(null);R.useEffect(()=>{if(o)A.current?.focus()},[o]);let w=R.useRef(null);R.useEffect(()=>(x.current=!0,()=>{x.current=!1}),[]);let C=()=>{r(!1),d(null),requestAnimationFrame(()=>w.current?.querySelector("button")?.focus())},D=async()=>{if(S.current||!h.trim())return;S.current=!0,f(!0),d(null);try{if(await e.onRename(h.trim()),x.current)C()}catch(k){if(x.current)d(ke(k,"Rename failed. Your proposed title is kept.")||"Rename failed. Your proposed title is kept.")}finally{if(S.current=!1,x.current)f(!1)}};return O.jsxDEV(O.Fragment,{children:[O.jsxDEV("span",{ref:w,children:O.jsxDEV(z,{type:"button",variant:"ghost","aria-expanded":o,disabled:o,onClick:()=>{l(e.title),r(!0)},children:"Rename"},void 0,!1,void 0,this)},void 0,!1,void 0,this),o&&O.jsxDEV("form",{className:s("studio-chat-rename",n.sessionControls),onSubmit:(k)=>{k.preventDefault(),D()},children:[O.jsxDEV("label",{children:["Conversation title",O.jsxDEV(Se,{ref:A,xstyle:n.sessionFilterSelect,value:h,onChange:(k)=>l(k.target.value),required:!0,maxLength:48,disabled:g},void 0,!1,void 0,this)]},void 0,!0,void 0,this),O.jsxDEV("div",{className:s("",n.actions),children:[O.jsxDEV(z,{type:"submit",disabled:g||!h.trim(),children:g?"Renaming…":"Save title"},void 0,!1,void 0,this),O.jsxDEV(z,{type:"button",variant:"ghost",disabled:g,onClick:C,children:"Cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c&&O.jsxDEV("p",{role:"alert",children:c},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}var ve=".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",ze=1e5,Ce=5000000;var Ro=new Map([[".png","image/png"],[".jpg","image/jpeg"],[".jpeg","image/jpeg"],[".webp","image/webp"],[".gif","image/gif"],[".pdf","application/pdf"]]),wa=new Set(Ro.values());var u=F(Lt(),1);function Ze(){return{messageId:"assistant-stream",text:"",cards:[],approvals:[],progress:[],statuses:[],toolInputs:{},finished:!1,error:null}}function we(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],h={approvalId:o.approvalId,toolCallId:o.toolCallId,toolName:r?.toolName??"tool",...Eo(r?.input)?{input:r.input}:{},...r?.title?{title:r.title}:{}};return{...e,approvals:[...e.approvals.filter((l)=>l.approvalId!==o.approvalId),h]}}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 Ae(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 Ut.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 Eo(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var a=F(nt(),1),Me=`Text/Markdown up to ${ze/1000} KB; PNG, JPEG, WebP, GIF or PDF up to ${Ce/1e6} MB.`,G={sessions:["studio","chat","sessions"],messages:(e)=>["studio","chat","messages",e]};function Ga(e){let o=Ie(),r=u.useMemo(()=>ge({apiPath:e.apiPath,fetch:(i,m)=>globalThis.fetch(i,m)}),[e.apiPath]),[h]=u.useState(()=>new Te),l=e.draftStore??h,g=bt(e.apiPath,e.sessionId),f=u.useRef(g);f.current=g;let{text:c,uploads:d}=u.useSyncExternalStore(l.subscribe,()=>l.read(g),()=>l.read(g)),x=u.useCallback((i)=>l.update(g,{text:i}),[l,g]),S=u.useCallback((i)=>l.update(g,{uploads:typeof i==="function"?i(l.read(g).uploads):i}),[l,g]),[A,w]=u.useState([]),[C,D]=u.useState(null),[k,B]=u.useState(!1),[J,zt]=u.useState(!1),[H,Ct]=u.useState(!1),[_,st]=u.useState([]),W=u.useRef(null),[Dt,K]=u.useState(null),[M,ht]=u.useState(null);u.useEffect(()=>{e.onNavigationStateChange?.({hasDraft:Boolean(c||d.length||_.length),busy:k||H})},[c,d,_,k,H,e.onNavigationStateChange]),u.useEffect(()=>()=>e.onNavigationStateChange?.({hasDraft:!1,busy:!1}),[e.onNavigationStateChange]);let $e=Oe(),[Bt,ft]=u.useState(!1),[Ht,xt]=u.useState(!1),_t=u.useRef(null),Vt=u.useRef(null),qe=u.useRef(null),it=u.useRef(null),rt=u.useRef(!0),[De,Zt]=u.useState(!1),N=u.useRef(null),P=u.useRef(!1);u.useEffect(()=>(P.current=!0,()=>{P.current=!1,W.current=null;let i=N.current;N.current=null,i?.abort()}),[]);let lt=u.useRef(null),wt=u.useRef(null),[yt,Be]=u.useState(""),[At,Ft]=u.useState({query:"",archived:!1,offset:0});u.useEffect(()=>{let i=window.setTimeout(()=>Ft((m)=>m.query===yt.trim()?m:{...m,query:yt.trim(),offset:0}),250);return()=>window.clearTimeout(i)},[yt]);let St=dt({queryKey:[...G.sessions,At],queryFn:()=>r.listSessions(At)}),X=dt({queryKey:G.messages(e.sessionId??""),queryFn:()=>r.getMessages(e.sessionId??""),enabled:e.sessionId!==null&&!k&&A.length===0}),Wt=St.data??[],It=X.data??[],q=Wt.find((i)=>i.id===e.sessionId)??o.getQueriesData({queryKey:G.sessions}).flatMap(([,i])=>i??[]).find((i)=>i.id===e.sessionId),Gt=q?.archived===!0,He={search:yt,view:At,error:St.error?"Sessions could not be loaded.":null,onRetry:()=>{St.refetch()},onSearch:Be,onView:Ft},Q=u.useMemo(()=>{let i=[...It,...A];if(C&&(C.text||C.cards.length>0))i.push(Mt(C));return i},[A,It,C]),_e=u.useMemo(()=>Q.flatMap((i)=>(i.cards??[]).filter((m)=>m.kind==="sources"||m.kind==="attachment")),[Q]);u.useEffect(()=>{if(xt(!1),ft(!1),e.sessionId&&wt.current===e.sessionId){wt.current=null;return}let i=N.current;N.current=null,i?.abort(),B(!1),w([]),D(null),Ct(!1),W.current=null,st([]),zt(!1),K(null),ht(null)},[e.sessionId]),u.useEffect(()=>{rt.current=!0,Zt(!1)},[e.sessionId]),u.useEffect(()=>{let i=it.current,m=i?.firstElementChild;if(!i||!m)return;let y=()=>{if(rt.current)i.scrollTop=i.scrollHeight};y();let b=new ResizeObserver(y);return b.observe(m),()=>b.disconnect()},[]),u.useEffect(()=>{if(rt.current){let i=it.current;if(i)i.scrollTop=i.scrollHeight}},[C,Q.length]);let V=u.useCallback((i,m=!1)=>{e.navigate(Ne(e.studioBasePath,i),{preserveWork:m}),ft(!1),xt(!1)},[e.navigate,e.studioBasePath]);u.useEffect(()=>{if(!e.handoff||e.sessionId)return;let i=`${e.handoff.sourceId}\x00${e.handoff.itemId}`;if(lt.current===i)return;lt.current=i,x(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(!P.current||f.current!==g||lt.current!==i)return;l.adopt(g,bt(e.apiPath,m)),V(m,!0)}).catch((m)=>{if(!P.current||f.current!==g||lt.current!==i)return;lt.current=null,K(mt(m,"Context could not be attached"))})},[r,V,e.handoff,e.sessionId,e.apiPath,l,g,x]);let kt=u.useCallback(async(i,m,y,b)=>{N.current?.abort();let v=new AbortController;N.current=v,B(!0),K(null),ht(null);let U=!1,I={...Ze(),messageId:crypto.randomUUID()};D(I);let E=!1,Y=!1,tt=()=>{if(Y||!I.text&&I.cards.length===0)return;Y=!0;let et=Mt(I);w((j)=>[...j,et]),D({...I,text:"",cards:[]})};try{let et=await r.streamMessages({id:i,messages:m,trigger:"submit-message"},{signal:v.signal});E=!0,y?.();for await(let j of me(et)){if(N.current!==v)return E;if(j.type==="abort")U=!0;I=we(I,j),D(I)}if(N.current!==v)return E;if(tt(),v.signal.aborted||U||I.error!==null||!I.finished)return ht({kind:v.signal.aborted||U?"stopped":I.error!==null?"failed":"disconnected",...I.error?{detail:I.error}:{},...b?{retry:b}:{}}),E;try{let j=await r.getMessages(i);if(N.current!==v)return E;o.setQueryData(G.messages(i),j),w([]),D(null)}catch{}await o.invalidateQueries({queryKey:G.sessions})}catch(et){if(N.current!==v)return E;tt(),ht({kind:v.signal.aborted?"stopped":E?"disconnected":"failed",...!v.signal.aborted?{detail:mt(et,"Chat could not complete the response")}:{},...b?{retry:b}:{}})}finally{if(N.current===v)N.current=null,B(!1)}return E},[r,o]),jt=u.useCallback(async(i)=>{let m=i.trim();if(!m&&d.length===0||k||H||_.length>0)return;let y=e.sessionId??`web-${crypto.randomUUID()}`,b=bt(e.apiPath,y),v=crypto.randomUUID(),U=d.map((j)=>({type:"data-upload",data:{ref:j.ref}})),I=[...m?[{type:"text",text:m}]:[],...U];w((j)=>[...j,{id:v,role:"user",content:m,cards:d.map((T)=>({kind:"attachment",id:T.id,title:T.filename,attachment:{mediaType:T.mediaType,filename:T.filename,sizeBytes:T.sizeBytes,url:T.url,downloadUrl:T.downloadUrl}}))}]);let E=[...d],Y=l.read(g),tt=Y.text===i;if(tt||E.length>0)l.update(g,{text:tt?"":Y.text,uploads:Y.uploads.filter((j)=>!E.some((T)=>T.id===j.id))});if(!await kt(y,[{id:v,role:"user",parts:I}],()=>{if(!e.sessionId&&P.current&&f.current===g)l.adopt(g,b),wt.current=y,V(y,!0)},{text:i,uploads:[...d]})&&(f.current===b||!e.sessionId&&f.current===g)){w((Tt)=>Tt.filter((Ot)=>Ot.id!==v));let j=f.current,T=l.read(j);l.update(j,{...tt&&!T.text?{text:i}:{},uploads:[...E.filter((Tt)=>!T.uploads.some((Ot)=>Ot.id===Tt.id)),...T.uploads]})}},[V,e.sessionId,e.apiPath,l,g,kt,k,H,d,_.length]),Ve=(i)=>{i.preventDefault(),jt(c)},Jt=u.useCallback(async(i,m)=>{if(!e.sessionId||k)return;await kt(e.sessionId,[Ae(i,m)])},[e.sessionId,kt,k]),Fe=u.useCallback(async(i)=>{if(i.type==="prompt"){await jt(i.prompt);return}if(!e.sessionId||k)return;B(!0),K(null);try{let m=await r.runAction({conversationId:e.sessionId,action:{type:"event",event:i.event,...i.fromState?{fromState:i.fromState}:{}}});if(!P.current||f.current!==g)return;w((y)=>[...y,{id:crypto.randomUUID(),role:"assistant",content:m.text,...m.cards?{cards:m.cards}:{}}])}catch(m){if(P.current&&f.current===g)K(mt(m,"Chat action failed"))}finally{if(P.current&&f.current===g)B(!1)}},[r,e.sessionId,k,jt,g]),Nt=u.useCallback(async(i)=>{if(W.current||i.length===0)return;let m=Symbol();if(W.current=m,Ct(!0),st((y)=>[...y.filter((b)=>!i.some((v)=>v.id===b.id)),...i.map((b)=>({id:b.id,file:b.file,status:"uploading"}))]),await Promise.all(i.map(async(y)=>{try{let b=await r.upload(y.file,y.file.name);if(W.current!==m||f.current!==g)return;S((v)=>[...v,b]),st((v)=>v.filter((U)=>U.id!==y.id))}catch(b){if(W.current!==m||f.current!==g)return;st((v)=>v.map((U)=>U.id===y.id?{...U,status:"failed",error:mt(b,"Upload failed")}:U))}})),W.current===m)W.current=null,Ct(!1)},[r,g,S]),We=u.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]),Ge=u.useCallback(async()=>{if(!e.sessionId||k||H||c||d.length||_.length)return;B(!0),zt(!0);try{if(await r.archiveSession(e.sessionId),await o.invalidateQueries({queryKey:G.sessions}),P.current&&f.current===g)V(void 0,!0)}catch(i){if(P.current&&f.current===g)K(mt(i,"Conversation could not be archived"))}finally{if(P.current&&f.current===g)B(!1),zt(!1)}},[r,V,e.sessionId,o,k,H,c,d.length,_.length,g]),Kt=Object.fromEntries(e.workspaces.flatMap((i)=>i.badge===void 0?[]:[[i.id,i.badge]]));return a.jsxDEV("div",{className:s("studio",Pe.frame,n.root),"data-view":"chat","data-studio-shell":"",children:[a.jsxDEV(Le,{contextLabel:"Chat",navigation:{types:e.types,workspaces:e.workspaces,activeEntityType:null,activeWorkspaceId:$t,workspaceBadges:Kt,selectEntityType:e.selectEntityType,selectWorkspace:e.selectWorkspace}},void 0,!1,void 0,this),a.jsxDEV("div",{className:qt("studio-chat-shell",n.shell,vt.shell,$e&&vt.shellCollapsed),children:[a.jsxDEV("aside",{className:qt("rail studio-chat-studio-rail",vt.rail),children:a.jsxDEV(Ee,{renderMode:"desktop",types:e.types,active:null,onSelect:e.selectEntityType,workspaces:e.workspaces,activeWorkspace:$t,workspaceBadges:Kt,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),children:a.jsxDEV("div",{className:s("studio-chat-room",n.room),children: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),children:[a.jsxDEV("h1",{className:s("studio-chat-session-heading",n.title),title:q?.title,children:q?.title??(e.sessionId?"Conversation":"New conversation")},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-head-actions",n.toolbar),children:[a.jsxDEV("span",{ref:Vt,className:"studio-chat-session-picker-trigger",children:a.jsxDEV(z,{type:"button",variant:"ghost",xstyle:n.toolbarButton,"aria-haspopup":"dialog","aria-expanded":Bt,onClick:()=>ft(!0),children:"History"},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(z,{type:"button",variant:"ghost",xstyle:n.toolbarButton,"aria-label":"New conversation",title:"New conversation",onClick:()=>V(),children:"+"},void 0,!1,void 0,this),a.jsxDEV("span",{ref:_t,children:a.jsxDEV(z,{type:"button",variant:"ghost",xstyle:n.toolbarButton,"aria-label":"Conversation details and options","aria-haspopup":"dialog","aria-expanded":Ht,onClick:()=>xt(!0),children:"•••"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV(ct,{open:Bt,onOpenChange:ft,children:a.jsxDEV(ut,{"aria-describedby":void 0,onCloseAutoFocus:(i)=>{i.preventDefault(),Vt.current?.querySelector("button")?.focus()},children:[a.jsxDEV(pt,{children:"Conversations"},void 0,!1,void 0,this),a.jsxDEV(Po,{...He,activeSessionId:e.sessionId,loading:St.isPending,sessions:Wt,onNew:()=>V(),onSelect:V},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(ct,{open:Ht,onOpenChange:xt,children:a.jsxDEV(ut,{"aria-describedby":void 0,onCloseAutoFocus:(i)=>{i.preventDefault(),_t.current?.querySelector("button")?.focus()},children:[a.jsxDEV(pt,{children:"Conversation details"},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-details",n.details),children:[a.jsxDEV("p",{children:q?.title??"New conversation"},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-session-actions",n.actions),children:[q&&a.jsxDEV(be,{title:q.title,onRename:async(i)=>{let m=await r.renameSession(q.id,i);if(!m.renamed)throw Error("The conversation could not be renamed.");o.setQueriesData({queryKey:G.sessions},(y)=>y?.map((b)=>b.id===q.id?{...b,title:m.title}:b)),o.invalidateQueries({queryKey:G.sessions})}},q.id,!1,void 0,this),Gt&&a.jsxDEV("p",{role:"status",children:"Archived conversation. New messages here remain archived."},void 0,!1,void 0,this),e.sessionId&&!Gt?a.jsxDEV(z,{className:"studio-chat-header-action",variant:"ghost",type:"button",onClick:()=>void Ge(),disabled:k||H||Boolean(c)||d.length>0||_.length>0,title:c||d.length||_.length?"Send or clear the draft before archiving":void 0,children:J?"Archiving…":"Archive"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"Sources and attachments"},void 0,!1,void 0,this),a.jsxDEV(Bo,{cards:_e,progress:C?.progress??[],session:q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"File types and limits"},void 0,!1,void 0,this),a.jsxDEV("p",{id:"studio-chat-upload-guidance",children:Me},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,!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:[X.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(z,{type:"button",variant:"ghost",disabled:X.isFetching,onClick:()=>void X.refetch(),children:"Retry conversation"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.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,!X.error&&(!e.sessionId||!X.isPending)&&Q.length===0?a.jsxDEV(Uo,{},void 0,!1,void 0,this):null,Q.map((i)=>a.jsxDEV(Lo,{message:i,client:r,disabled:k,onAction:Fe,onApproval:Jt},i.id,!1,void 0,this)),C?.approvals.map((i)=>a.jsxDEV($o,{approval:i,disabled:k,onDecision:Jt},i.approvalId,!1,void 0,this)),C&&C.progress.length>0&&a.jsxDEV("details",{className:s("studio-chat-progress",n.card),children:[a.jsxDEV("summary",{children:["Activity · ",C.progress.length," updates"]},void 0,!0,void 0,this),a.jsxDEV("pre",{className:s("",n.source),children:JSON.stringify(C.progress,null,2)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),k?a.jsxDEV("p",{className:s("studio-chat-stream-status",n.empty),role:"status",children:"Responding…"},void 0,!1,void 0,this):null,M&&a.jsxDEV("section",{className:s("studio-chat-interruption",n.empty),role:M.kind==="stopped"?"status":"alert","aria-atomic":"true",children:[a.jsxDEV("strong",{children:M.kind==="stopped"?"Stopped":M.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),M.detail&&a.jsxDEV("p",{children:M.detail},void 0,!1,void 0,this),M.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(z,{type:"button",variant:"ghost",disabled:k||H||Boolean(c)||d.length>0,onClick:()=>{if(!M.retry||c||d.length>0)return;x(M.retry.text),S([...M.retry.uploads]),it.current?.closest(".studio-chat-thread")?.querySelector("textarea")?.focus()},children:"Review retry in composer"},void 0,!1,void 0,this),(c||d.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),Dt?a.jsxDEV("p",{className:s("studio-chat-error",n.empty,n.error),role:"alert",children:Dt},void 0,!1,void 0,this):null,a.jsxDEV("div",{ref:qe},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(qo,{onJumpToLatest:De?()=>{rt.current=!0,Zt(!1);let i=it.current;if(i)i.focus({preventScroll:!0}),i.scrollTop=i.scrollHeight}:void 0,draft:c,sending:k,uploading:H,uploads:d,uploadAttempts:_,onRetryUpload:(i)=>void Nt([i]),onDismissUpload:(i)=>st((m)=>m.filter((y)=>y.id!==i)),onDraft:x,locked:J,onRemoveUpload:(i)=>S((m)=>m.filter((y)=>y.id!==i)),onFiles:We,onSubmit:Ve,onStop:N.current?()=>N.current?.abort():void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function Po(e){return a.jsxDEV("aside",{className:s("studio-chat-session-picker",n.picker),"aria-label":"Chat sessions",children:[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,gt.section),children:"History"},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(Re,{label:"Search conversations",placeholder:"Search conversations",value:e.search,onChange:e.onSearch},void 0,!1,void 0,this),a.jsxDEV(je,{xstyle:n.sessionFilterSelect,"aria-label":"Show conversations",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),(e.view.offset>0||e.sessions.length>=25)&&a.jsxDEV("div",{className:s("",n.actions),"aria-label":"Conversation pages",role:"group",children:[a.jsxDEV(z,{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(z,{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(z,{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:Ho(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 Uo(){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 Lo(e){return a.jsxDEV("article",{className:s("studio-chat-turn",n.turn,e.message.role==="user"&&n.userTurn),"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(Ue,{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(Mo,{card:o,client:e.client,disabled:e.disabled,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 Mo(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((l)=>a.jsxDEV("button",{className:s("studio-chat-card-action",n.button),type:"button",disabled:e.disabled,onClick:()=>void e.onAction(l),children:l.label},l.id,!1,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(o.kind==="sources")return a.jsxDEV("details",{className:s("studio-chat-sources",n.card),children:[a.jsxDEV("summary",{children:o.title??`${o.sources.length} sources`},void 0,!1,void 0,this),a.jsxDEV("ul",{children:o.sources.map((l)=>a.jsxDEV("li",{children:[l.url?a.jsxDEV("a",{href:l.url,children:l.title??l.source},void 0,!1,void 0,this):l.title??l.source,l.excerpt&&a.jsxDEV("p",{className:s("",n.paragraph),children:l.excerpt},void 0,!1,void 0,this),a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"Source details"},void 0,!1,void 0,this),a.jsxDEV("pre",{className:s("",n.source),children:JSON.stringify(l,null,2)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},l.id,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(o.kind==="attachment")return a.jsxDEV(ye,{card:o,client:e.client},void 0,!1,void 0,this);let r=o.state==="approval-requested",h={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":o.state==="approval-responded"?"Decision received · awaiting result":o.state==="output-available"?"Completed":o.state==="output-denied"?"Declined":"Action failed"},void 0,!1,void 0,this),a.jsxDEV("strong",{children:o.summary},void 0,!1,void 0,this),o.completionSummary&&a.jsxDEV("p",{children:o.completionSummary},void 0,!1,void 0,this),o.error!==void 0&&a.jsxDEV("p",{role:"alert",children:o.error},void 0,!1,void 0,this),(o.preview!==void 0||o.input!==void 0)&&a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"Review exact action"},void 0,!1,void 0,this),a.jsxDEV("pre",{className:s("studio-chat-card-preview",n.source),children:o.preview??JSON.stringify(o.input,null,2)},void 0,!1,void 0,this),o.preview!==void 0&&o.input!==void 0&&a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"Tool input"},void 0,!1,void 0,this),a.jsxDEV("pre",{className:s("",n.source),children:JSON.stringify(o.input,null,2)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("p",{className:s("",n.cardText),children:["Tool: ",o.toolName]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),o.output!==void 0&&a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"Action result"},void 0,!1,void 0,this),a.jsxDEV("pre",{className:s("",n.source),children:typeof o.output==="string"?o.output:JSON.stringify(o.output,null,2)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),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",disabled:e.disabled,onClick:()=>void e.onApproval(h,!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.onApproval(h,!0),children:"Approve"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}function $o(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),e.approval.input!==void 0&&a.jsxDEV("details",{children:[a.jsxDEV("summary",{children:"Review exact action"},void 0,!1,void 0,this),a.jsxDEV("pre",{className:s("",n.source),children:JSON.stringify(e.approval.input,null,2)},void 0,!1,void 0,this),a.jsxDEV("p",{children:["Tool: ",e.approval.toolName]},void 0,!0,void 0,this)]},void 0,!0,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 qo(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(z,{type:"button",variant:"ghost",onClick:e.onJumpToLatest,children:"Jump to latest ↓"},void 0,!1,void 0,this),a.jsxDEV("form",{className:s("studio-chat-composer-form",n.form),onSubmit:e.onSubmit,children:[(e.uploadAttempts.length>0||e.uploads.length>0)&&a.jsxDEV("div",{className:s("studio-chat-upload-strip",n.uploadStrip),role:"region","aria-label":"Draft attachments",tabIndex:0,children:a.jsxDEV("ul",{className:s("studio-chat-upload-list",n.uploadList),"aria-label":e.uploadAttempts.length>0?"File upload progress":"Attached files",children:[e.uploadAttempts.map((r)=>a.jsxDEV("li",{className:s("studio-chat-upload",n.upload),children:[a.jsxDEV("div",{className:s("",n.uploadName),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==="uploading"&&a.jsxDEV("progress",{"aria-label":`Uploading ${r.file.name}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),r.status==="failed"&&a.jsxDEV(a.Fragment,{children:[a.jsxDEV(z,{type:"button",variant:"ghost",size:"sm",xstyle:n.toolbarButton,"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(z,{type:"button",variant:"ghost",size:"sm",xstyle:n.toolbarButton,"aria-label":`Dismiss failed upload ${r.file.name}`,onClick:()=>e.onDismissUpload(r.id),children:"×"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},r.id,!0,void 0,this)),e.uploads.map((r)=>a.jsxDEV("li",{className:s("studio-chat-upload",n.upload),children:[a.jsxDEV(Do,{upload:r},void 0,!1,void 0,this),a.jsxDEV("span",{className:s("",n.uploadName),children:[r.filename,a.jsxDEV("br",{},void 0,!1,void 0,this),"Ready · draft only"]},void 0,!0,void 0,this),a.jsxDEV(z,{type:"button",variant:"ghost",size:"sm",xstyle:n.toolbarButton,"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,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV("textarea",{className:s("studio-chat-message",n.input),"aria-label":"Message","aria-describedby":"studio-chat-composer-hint",placeholder:"Message…",value:e.draft,disabled:e.locked,onChange:(r)=>e.onDraft(r.target.value),onKeyDown:o},void 0,!1,void 0,this),a.jsxDEV("div",{className:s("studio-chat-composer-actions",n.composerBar),children:[a.jsxDEV("label",{className:s("studio-chat-composer-action",n.attachButton),title:Me,children:[a.jsxDEV("span",{"aria-hidden":"true",children:"+"},void 0,!1,void 0,this),a.jsxDEV("input",{className:s("studio-chat-upload-input",n.uploadInput),"aria-label":"Attach files",type:"file",accept:ve,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.uploadAttempts.length>0&&a.jsxDEV("span",{className:s("",n.kicker),children:"Resolve uploads before sending"},void 0,!1,void 0,this),e.locked?a.jsxDEV(z,{type:"button",disabled:!0,children:"Archiving…"},void 0,!1,void 0,this):e.sending?a.jsxDEV(z,{type:"button",variant:"outline",xstyle:n.toolbarButton,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(z,{className:"studio-chat-composer-action",type:"submit",xstyle:n.toolbarButton,"aria-label":"Send message",disabled:e.uploading||e.uploadAttempts.length>0||!e.draft.trim()&&e.uploads.length===0,children:"↑"},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)]},void 0,!0,void 0,this)}function Do({upload:e}){let[o,r]=u.useState(!1);if(o||!e.mediaType.startsWith("image/"))return null;return a.jsxDEV("img",{className:s("studio-chat-draft-preview",n.uploadPreview),src:e.url,alt:e.filename,onError:()=>r(!0)},void 0,!1,void 0,this)}function Bo(e){return a.jsxDEV("aside",{className:s("studio-chat-context",n.contextBody),tabIndex:0,"aria-label":"Conversation sources and attachments",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,gt.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:"No sources or attachments in this conversation yet."},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,gt.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((h)=>a.jsxDEV("li",{children:h.title??h.source},h.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,gt.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))]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function Ho(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 mt(e,o){return e instanceof Error&&e.message?e.message:o}export{Ga as StudioChatWorkspace};
|
|
4
|
+
|
|
5
|
+
//# debugId=F23241A26A6A034464756E2164756E21
|