@rizom/brain 0.2.0-alpha.367 → 0.2.0-alpha.368

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/brain.js +37 -37
  2. package/dist/chunks/{app-yd32mksm.js → app-8ra52y7h.js} +2 -2
  3. package/dist/chunks/{index-jayjg24d.js → index-73p25fze.js} +3 -3
  4. package/dist/chunks/{index-jayjg24d.js.map → index-73p25fze.js.map} +1 -1
  5. package/dist/chunks/{index-4m0x16b0.js → index-btdnz7tq.js} +2 -2
  6. package/dist/chunks/{index-51vjv16n.js → index-ssjqpwz8.js} +2 -2
  7. package/dist/index.js +1 -1
  8. package/dist/model.js +38 -38
  9. package/dist/model.js.map +2 -2
  10. package/dist/ui/studio-app.css +5 -6
  11. package/dist/ui/studio-app.js +97 -97
  12. package/dist/ui/studio-app.js.map +8 -6
  13. package/dist/ui/studio-asset-manifest.json +10 -10
  14. package/dist/ui/studio-chunks/{account-view-x4x23bba.js → account-view-jaz2s37s.js} +1 -1
  15. package/dist/ui/studio-chunks/{main-1zqwy1pt.js → main-5kjr6001.js} +2 -2
  16. package/dist/ui/studio-chunks/{main-1zqwy1pt.js.map → main-5kjr6001.js.map} +2 -2
  17. package/dist/ui/studio-chunks/{main-gza6av7a.js → main-a0txvxhh.js} +3 -3
  18. package/dist/ui/studio-chunks/{main-gza6av7a.js.map → main-a0txvxhh.js.map} +4 -4
  19. package/dist/ui/studio-chunks/{main-9hc6fxah.js → main-fn39pm5j.js} +1 -1
  20. package/dist/ui/studio-chunks/studio-chat-workspace-tep5fwgz.js +5 -0
  21. package/dist/ui/studio-chunks/{studio-chat-workspace-htkcczf9.js.map → studio-chat-workspace-tep5fwgz.js.map} +3 -3
  22. package/package.json +1 -1
  23. package/dist/ui/studio-chunks/studio-chat-workspace-htkcczf9.js +0 -5
  24. /package/dist/chunks/{app-yd32mksm.js.map → app-8ra52y7h.js.map} +0 -0
  25. /package/dist/chunks/{index-4m0x16b0.js.map → index-btdnz7tq.js.map} +0 -0
  26. /package/dist/chunks/{index-51vjv16n.js.map → index-ssjqpwz8.js.map} +0 -0
  27. /package/dist/ui/studio-chunks/{account-view-x4x23bba.js.map → account-view-jaz2s37s.js.map} +0 -0
  28. /package/dist/ui/studio-chunks/{main-9hc6fxah.js.map → main-fn39pm5j.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rizom/brain",
3
- "version": "0.2.0-alpha.367",
3
+ "version": "0.2.0-alpha.368",
4
4
  "description": "Brain runtime + CLI — scaffold, run, and manage AI brain instances",
5
5
  "keywords": [
6
6
  "brain",
@@ -1,5 +0,0 @@
1
- import{$ as ut,F as Jt,G as Gt,H as Kt,_ as K,ea as Ft,h as Ut,j as dt,la as Qt,s as ct,u as Wt,w as G,x as Vt}from"./main-gza6av7a.js";import"./main-7a0tw7ba.js";import{Da as Dt,Ha as _t,Ia as Bt,Va as t,bb as Yt,cb as Xt,sa as vt,va as qt,ya as P}from"./main-1zqwy1pt.js";import{eb as lt,ib as De}from"./main-912t6xba.js";var n={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:"x11alobv x54aoxz",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},sessions:{k1xSpc:"x1lliihq xubcuz8",k7Eaqz:"xeuugli",kAzted:"x2lwn1j",kORKVm:"x1odjw0f",$$css:!0},picker:{k1xSpc:"xrvj5dj",k9llMU:"x16p6thf",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",kMv6JI:"xssy22x",kGuDYH:"x1pvqxga",ka26j:"xkhxzli",k63SB2:"xo1l8bm",kLWn49:"xwn7fz2",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},context:{k7Eaqz:"xeuugli",kt9PQ7:"xso031l",kfdmCh:"x1q0q8m5",kL6WhQ:"xpqg30t",$$css:!0},contextBody:{k1xSpc:"xrvj5dj",kOIVth:"xou54vl",kskxy:"x1551h31 x1jku9b6",kORKVm:"x1odjw0f",kGO01o:"x1l90r2v",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",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",kGuDYH:"xif65rj",k63SB2:"x1s688f",$$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",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",k1K539:"xod5an3",$$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",kMv6JI:"x5ddh9m",kGuDYH:"xif65rj",k63SB2:"x1s688f",kLWn49:"x1evy7pa",$$css:!0}};function s(e,...o){return`${e} ${vt(...o).className??""}`}var at=t.object({type:t.literal("event"),event:t.string().min(1),fromState:t.string().min(1).optional()}),Xe=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:at});var de=1,ce="/api/chat",l=t.string().trim().min(1).max(256),Ct=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),nt=t.string().trim().min(1).max(48),st=t.string().datetime(),bt=t.string().regex(/^\/(?!\/)/).max(2048),q=t.string().regex(/^(?:\/(?!\/)|https?:\/\/)/).max(2048),ue=t.looseObject({kind:t.literal("tool-approval"),id:l,toolCallId:l.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()}),pe=t.looseObject({entityType:t.string().trim().min(1).max(128).optional(),entityId:l.optional(),attachmentType:t.string().trim().min(1).max(128).optional()}),me=t.looseObject({mediaType:t.string().trim().min(1).max(255),url:q,downloadUrl:q.optional(),previewUrl:q.optional(),filename:t.string().trim().min(1).max(255).optional(),sizeBytes:t.number().int().nonnegative().optional(),source:pe.optional()}),It=t.looseObject({kind:t.literal("attachment"),id:l,jobId:l.optional(),title:t.string().max(4096),description:t.string().max(20000).optional(),attachment:me}),he=t.looseObject({id:l,title:t.string().max(4096).optional(),source:t.string().trim().min(1).max(512),url:q.optional(),entityType:t.string().trim().min(1).max(128).optional(),entityId:l.optional(),excerpt:t.string().max(20000).optional(),provenance:t.record(t.string(),t.unknown()).optional()}),jt=t.looseObject({kind:t.literal("sources"),id:l,title:t.string().max(4096).optional(),sources:t.array(he).min(1).max(100)}),ge=t.discriminatedUnion("type",[t.object({type:t.literal("prompt"),id:l,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:l,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()})]),At=t.looseObject({kind:t.literal("actions"),id:l,title:t.string().max(4096).optional(),actions:t.array(ge).min(1).max(100)}),Ot=t.discriminatedUnion("kind",[ue,It,jt,At]);var xe=t.object({id:l,toolCallId:l.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()}),wt=t.object({toolName:t.string().trim().min(1).max(256),args:t.record(t.string(),t.unknown()).optional(),jobId:l.optional(),data:t.unknown().optional(),error:t.object({message:t.string().max(4096),code:t.string().trim().min(1).max(256).optional()}).optional()}),Se=t.looseObject({text:t.string().max(1e6),toolResults:t.array(wt).max(100).optional(),cards:t.array(Ot).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 ye(e=ce){let o=fe(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 fe(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 Nt=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))}),ke=t.looseObject({id:l,title:nt,lastActiveAt:st,contextHandoff:Nt.optional()}),ze=t.looseObject({sessions:t.array(ke).max(100)}),ve=t.looseObject({kind:t.string().trim().min(1).max(64),id:l}),be=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:st,source:ve.optional()}),Ze=t.looseObject({id:l,role:t.enum(["user","assistant"]),content:t.string().max(1e6),attachments:t.array(be).max(100).optional(),cards:t.array(Ot).max(100).optional()}),Ce=t.looseObject({messages:t.array(Ze).max(100)}),ao=t.object({type:t.literal("text"),text:t.string().max(1e6)}),no=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)}),Tt=t.object({kind:t.literal("upload"),id:Ct}),so=t.object({type:t.literal("data-upload"),data:t.looseObject({ref:Tt})}),Ie=t.object({id:l,approved:t.boolean(),toolCallId:l.optional(),toolName:t.string().trim().min(1).max(256).optional(),input:t.record(t.string(),t.unknown()).optional(),title:t.string().max(4096).optional()}),io=t.looseObject({state:t.literal("approval-responded"),toolCallId:l.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:Ie}),it=t.object({id:l.optional(),role:t.enum(["user","assistant","system"]),parts:t.array(t.unknown()).max(1000).optional(),content:t.string().max(1e6).optional()}),je=(e)=>t.string().trim().min(1).max(e).refine((o)=>!/[\p{Cc}\p{Cf}]/u.test(o)),Ae=t.strictObject({sourceId:t.string().trim().regex(/^[a-z][a-z0-9-]*$/).max(64),itemId:t.string().trim().min(1).max(300),label:je(160)}),Oe=t.object({id:l.optional(),messages:t.array(it).min(1).max(200),trigger:t.string().trim().min(1).max(64).optional(),inboxContext:Ae.optional()}).strict(),Rt=t.enum(["pending","processing","completed","failed"]),we=t.looseObject({type:t.enum(["job","batch"]),status:Rt,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()}),Ne=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()}),Te=t.discriminatedUnion("type",[t.looseObject({type:t.literal("start"),messageId:l.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:l}),t.looseObject({type:t.literal("text-delta"),id:l,delta:t.string().max(1e6)}),t.looseObject({type:t.literal("text-end"),id:l}),t.looseObject({type:t.literal("reasoning-start"),id:l}),t.looseObject({type:t.literal("reasoning-delta"),id:l,delta:t.string().max(1e6)}),t.looseObject({type:t.literal("reasoning-end"),id:l}),t.looseObject({type:t.literal("tool-input-start"),toolCallId:l,toolName:t.string().trim().min(1).max(256),title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("tool-input-delta"),toolCallId:l,inputTextDelta:t.string().max(1e6)}),t.looseObject({type:t.literal("tool-input-available"),toolCallId:l,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:l,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:l,toolCallId:l}),t.looseObject({type:t.literal("tool-output-available"),toolCallId:l,output:t.unknown(),preliminary:t.boolean().optional()}),t.looseObject({type:t.literal("tool-output-error"),toolCallId:l,errorText:t.string().max(20000)}),t.looseObject({type:t.literal("tool-output-denied"),toolCallId:l}),t.looseObject({type:t.literal("source-url"),sourceId:l,url:q,title:t.string().max(4096).optional()}),t.looseObject({type:t.literal("source-document"),sourceId:l,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:q,mediaType:t.string().trim().min(1).max(255)}),t.looseObject({type:t.literal("data-progress"),id:l.optional(),data:we,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-status"),id:l.optional(),data:Ne,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-tool-result"),id:l.optional(),data:wt,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-actions"),id:l.optional(),data:At,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-sources"),id:l.optional(),data:jt,transient:t.boolean().optional()}),t.looseObject({type:t.literal("data-attachment"),id:l.optional(),data:It,transient:t.boolean().optional()})]),Re=t.strictObject({conversationId:l}),Le=t.object({title:nt}).strict(),Pe=t.object({renamed:t.boolean(),title:nt}),$e=t.object({archived:t.boolean()}),Ee=t.object({deleted:t.boolean()}),Me=t.object({conversationId:l,action:at}).strict(),qe=t.looseObject({id:l,status:Rt,message:t.string().max(4096).optional()}),He=t.looseObject({id:Ct,ref:Tt,filename:t.string().trim().min(1).max(255),mediaType:t.string().trim().min(1).max(255),sizeBytes:t.number().int().nonnegative(),createdAt:st,url:bt,downloadUrl:bt}).refine((e)=>e.id===e.ref.id,{path:["ref","id"],message:"Upload response ids must match"});class T extends Error{operation;status;kind;constructor(e,o,r="http"){super(`Chat API could not ${e} (${o})`);this.name="ChatApiError",this.operation=e,this.status=o,this.kind=r}}function Zt(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 g;try{g=JSON.parse(r)}catch{throw new T("read stream",502,"invalid-response")}let d=Te.safeParse(g);if(!d.success)throw new T("read stream",502,"invalid-response");return d.data}async function*Lt(e){if(!e.ok)throw new T("read stream",e.status);if(!e.body)throw new T("read stream",502,"invalid-response");let o=e.body.getReader(),r=new TextDecoder,g="";try{for(;;){let{value:d,done:p}=await o.read();g+=r.decode(d,{stream:!p});let x=g.indexOf(`
2
- `);while(x>=0){let c=g.slice(0,x);g=g.slice(x+1);let m=Zt(c);if(m)yield m;x=g.indexOf(`
3
- `)}if(p)break}if(g.length>0){let d=Zt(g);if(d)yield d}}finally{o.releaseLock()}}function Pt(e={}){let o=ye(e.apiPath),r=e.fetch??globalThis.fetch,g=e.credentials??"include";async function d(c,m,y,f){let E=await r(m,{...f,credentials:g});if(!E.ok)throw new T(c,E.status);let w;try{w=await E.json()}catch{throw new T(c,502,"invalid-response")}let I=y.safeParse(w);if(!I.success)throw new T(c,502,"invalid-response");return I.data}function p(c,m){let y=l.parse(m);return`${c}?id=${encodeURIComponent(y)}`}function x(c,m,y){let f=p(c,m);return y?`${f}&download=1`:f}return{version:de,paths:o,async streamMessages(c,m={}){let y=Oe.parse(c),f=await r(o.stream,{method:"POST",credentials:g,headers:{"Content-Type":"application/json"},body:JSON.stringify(y),...m.signal?{signal:m.signal}:{}});if(!f.ok)throw new T("send messages",f.status);return f},async listSessions(){return(await d("list sessions",o.sessions,ze)).sessions},async getMessages(c){return(await d("load messages",p(o.messages,c),Ce)).messages},async renameSession(c,m){let y=Le.parse({title:m});return d("rename session",p(o.sessions,c),Pe,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(y)})},async archiveSession(c){return d("archive session",p(o.sessionArchive,c),$e,{method:"PUT"})},async deleteSession(c){return d("delete session",p(o.sessions,c),Ee,{method:"DELETE"})},getJobStatus(c){return d("load job status",p(o.jobStatus,c),qe)},openContextSession(c){return d("open context session",o.contextSessions,Re,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Nt.parse(c))})},runAction(c){let m=Me.parse(c);return d("run action",o.actions,Se,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(m)})},async upload(c,m){let y=t.string().trim().min(1).max(255).parse(m),f=new FormData;return f.set("file",c,y),d("upload file",o.uploads,He,{method:"POST",body:f})},getUploadUrl(c,m=!1){return x(o.uploads,c,m)},getDocumentAttachmentUrl(c,m=!1){return x(o.documentAttachments,c,m)},getImageAttachmentUrl(c,m=!1){return x(o.imageAttachments,c,m)}}}var u=lt(De(),1);function $t(){return{messageId:"assistant-stream",text:"",cards:[],approvals:[],progress:[],statuses:[],toolInputs:{},finished:!1,error:null}}function Et(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],g={approvalId:o.approvalId,toolCallId:o.toolCallId,toolName:r?.toolName??"tool",...Ue(r?.input)?{input:r.input}:{},...r?.title?{title:r.title}:{}};return{...e,approvals:[...e.approvals.filter((d)=>d.approvalId!==o.approvalId),g]}}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 rt(e){return{id:e.messageId,role:"assistant",content:e.text,...e.cards.length>0?{cards:e.cards}:{}}}function Mt(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 it.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 Ue(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}var a=lt(qt(),1),U={sessions:["studio","chat","sessions"],messages:(e)=>["studio","chat","messages",e]};function Co(e){let o=Ut(),r=u.useMemo(()=>Pt({apiPath:e.apiPath,fetch:(i,h)=>globalThis.fetch(i,h)}),[e.apiPath]),[g]=u.useState(()=>new Vt),d=e.draftStore??g,p=G(e.apiPath,e.sessionId),x=u.useRef(p);x.current=p;let{text:c,uploads:m}=u.useSyncExternalStore(d.subscribe,()=>d.read(p),()=>d.read(p)),y=u.useCallback((i)=>d.update(p,{text:i}),[d,p]),f=u.useCallback((i)=>d.update(p,{uploads:typeof i==="function"?i(d.read(p).uploads):i}),[d,p]),[E,w]=u.useState([]),[I,_]=u.useState(null),[k,M]=u.useState(!1),[pt,F]=u.useState(!1),[R,Q]=u.useState(!1),[mt,O]=u.useState(null);u.useEffect(()=>{e.onNavigationStateChange?.({hasDraft:Boolean(c||m.length),busy:k||R})},[c,m,k,R,e.onNavigationStateChange]),u.useEffect(()=>()=>e.onNavigationStateChange?.({hasDraft:!1,busy:!1}),[e.onNavigationStateChange]);let te=Gt(),[ee,oe]=u.useState(!1),[ht,Y]=u.useState(!1),gt=u.useRef(null),xt=u.useRef(null),v=u.useRef(null),Z=u.useRef(!1);u.useEffect(()=>(Z.current=!0,()=>{Z.current=!1;let i=v.current;v.current=null,i?.abort()}),[]);let H=u.useRef(null),X=u.useRef(null),B=dt({queryKey:U.sessions,queryFn:()=>r.listSessions()}),tt=dt({queryKey:U.messages(e.sessionId??""),queryFn:()=>r.getMessages(e.sessionId??""),enabled:e.sessionId!==null&&!k&&E.length===0}),W=B.data??[],St=B.isPending||W.length>0,yt=tt.data??[],ft=W.find((i)=>i.id===e.sessionId),N=u.useMemo(()=>{let i=[...yt,...E];if(I&&(I.text||I.cards.length>0))i.push(rt(I));return i},[E,yt,I]),ae=u.useMemo(()=>N.flatMap((i)=>(i.cards??[]).filter((h)=>h.kind==="sources"||h.kind==="attachment")),[N]);u.useEffect(()=>{if(e.sessionId&&X.current===e.sessionId){X.current=null;return}let i=v.current;v.current=null,i?.abort(),M(!1),w([]),_(null),Q(!1),F(!1),O(null)},[e.sessionId]),u.useEffect(()=>{xt.current?.scrollIntoView({block:"end"})},[I?.text,N.length]);let j=u.useCallback((i,h=!1)=>{e.navigate(Wt(e.studioBasePath,i),{preserveWork:h}),Y(!1)},[e.navigate,e.studioBasePath]);u.useEffect(()=>{if(!e.handoff||e.sessionId)return;let i=`${e.handoff.sourceId}\x00${e.handoff.itemId}`;if(H.current===i)return;H.current=i,y(e.handoff.prompt),O(null),r.openContextSession({version:1,sourceId:e.handoff.sourceId,itemId:e.handoff.itemId,titleSeed:e.handoff.label}).then(({conversationId:h})=>{if(!Z.current||x.current!==p||H.current!==i)return;d.adopt(p,G(e.apiPath,h)),j(h,!0)}).catch((h)=>{if(!Z.current||x.current!==p||H.current!==i)return;H.current=null,O(D(h,"Context could not be attached"))})},[r,j,e.handoff,e.sessionId,e.apiPath,d,p,y]);let V=u.useCallback(async(i,h,b)=>{v.current?.abort();let S=new AbortController;v.current=S,M(!0),O(null);let C=$t();_(C);let L=!1,J=!1,ot=()=>{if(J||!C.text&&C.cards.length===0)return;J=!0;let z=rt(C);w((A)=>[...A,z]),_({...C,text:"",cards:[]})};try{let z=await r.streamMessages({id:i,messages:h,trigger:"submit-message"},{signal:S.signal});L=!0,b?.();for await(let A of Lt(z)){if(v.current!==S)return L;C=Et(C,A),_(C)}if(v.current!==S)return L;ot();try{let A=await r.getMessages(i);if(v.current!==S)return L;o.setQueryData(U.messages(i),A),w([])}catch{}await o.invalidateQueries({queryKey:U.sessions})}catch(z){if(v.current!==S)return L;if(ot(),!S.signal.aborted)O(D(z,"Chat could not complete the response"))}finally{if(v.current===S)v.current=null,M(!1)}return L},[r,o]),et=u.useCallback(async(i)=>{let h=i.trim();if(!h&&m.length===0||k||R)return;let b=e.sessionId??`web-${crypto.randomUUID()}`,S=G(e.apiPath,b),C=crypto.randomUUID(),L=m.map((z)=>({type:"data-upload",data:{ref:z.ref}})),J=[...h?[{type:"text",text:h}]:[],...L];if(w((z)=>[...z,{id:C,role:"user",content:h||m.map((A)=>A.filename).join(", ")}]),!await V(b,[{id:C,role:"user",parts:J}],()=>{if(!e.sessionId&&Z.current&&x.current===p)d.adopt(p,S),X.current=b,j(b,!0);let z=d.read(S);d.update(S,{text:z.text===i?"":z.text,uploads:z.uploads.filter((A)=>!m.some((le)=>le.id===A.id))})})&&(x.current===S||!e.sessionId&&x.current===p))w((z)=>z.filter((A)=>A.id!==C))},[j,e.sessionId,e.apiPath,d,p,V,k,R,m]),ne=(i)=>{i.preventDefault(),et(c)},kt=u.useCallback(async(i,h)=>{if(!e.sessionId||k)return;await V(e.sessionId,[Mt(i,h)])},[e.sessionId,V,k]),se=u.useCallback(async(i)=>{if(i.type==="prompt"){await et(i.prompt);return}if(!e.sessionId||k)return;M(!0),O(null);try{let h=await r.runAction({conversationId:e.sessionId,action:{type:"event",event:i.event,...i.fromState?{fromState:i.fromState}:{}}});if(!Z.current||x.current!==p)return;w((b)=>[...b,{id:crypto.randomUUID(),role:"assistant",content:h.text,...h.cards?{cards:h.cards}:{}}])}catch(h){if(Z.current&&x.current===p)O(D(h,"Chat action failed"))}finally{if(Z.current&&x.current===p)M(!1)}},[r,e.sessionId,k,et,p]),ie=u.useCallback(async(i)=>{let h=Array.from(i.target.files??[]);if(i.target.value="",h.length===0)return;Q(!0),O(null);try{let b=await Promise.all(h.map((S)=>r.upload(S,S.name)));f((S)=>[...S,...b])}catch(b){if(Z.current&&x.current===p)O(D(b,"Upload failed"))}finally{if(Z.current&&x.current===p)Q(!1)}},[r,f,p]),re=u.useCallback(async()=>{if(!e.sessionId||k||R||c||m.length)return;M(!0),F(!0);try{if(await r.archiveSession(e.sessionId),await o.invalidateQueries({queryKey:U.sessions}),Z.current&&x.current===p)j(void 0,!0)}catch(i){if(Z.current&&x.current===p)O(D(i,"Conversation could not be archived"))}finally{if(Z.current&&x.current===p)M(!1),F(!1)}},[r,j,e.sessionId,o,k,R,c,m.length,p]),zt=Object.fromEntries(e.workspaces.flatMap((i)=>i.badge===void 0?[]:[[i.id,i.badge]]));return a.jsxDEV("div",{className:s("studio",Jt.frame,n.root),"data-view":"chat","data-studio-shell":"",children:[a.jsxDEV(Qt,{contextLabel:"Chat",navigation:{types:e.types,workspaces:e.workspaces,activeEntityType:null,activeWorkspaceId:ct,workspaceBadges:zt,selectEntityType:e.selectEntityType,selectWorkspace:e.selectWorkspace}},void 0,!1,void 0,this),a.jsxDEV("div",{className:ut("studio-chat-shell",n.shell,K.shell,te&&K.shellCollapsed),children:[a.jsxDEV("aside",{className:ut("rail studio-chat-studio-rail",K.rail),children:a.jsxDEV(Ft,{renderMode:"desktop",types:e.types,active:null,onSelect:e.selectEntityType,workspaces:e.workspaces,activeWorkspace:ct,workspaceBadges:zt,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(Xt,{model:{title:"Chat",totals:[],access:Yt("trusted")},action:a.jsxDEV("div",{className:s("studio-chat-head-actions",n.actions),children:[a.jsxDEV("span",{ref:gt,className:"studio-chat-mobile-sessions",children:a.jsxDEV(P,{"aria-expanded":ht,"aria-haspopup":"dialog",variant:"outline",type:"button",onClick:()=>Y(!0),children:"Sessions"},void 0,!1,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(P,{variant:"outline",type:"button",onClick:()=>j(),children:"New conversation"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(Dt,{open:ht,onOpenChange:(i)=>{Y(i)},children:a.jsxDEV(_t,{"aria-describedby":void 0,onCloseAutoFocus:(i)=>{i.preventDefault(),gt.current?.querySelector("button")?.focus()},children:[a.jsxDEV(Bt,{children:"Conversations"},void 0,!1,void 0,this),a.jsxDEV(Ht,{popup:!0,activeSessionId:e.sessionId,loading:B.isPending,sessions:W,onNew:()=>j(),onSelect:j},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,!St&&n.roomWithoutSessions),children:[St&&a.jsxDEV(Ht,{activeSessionId:e.sessionId,loading:B.isPending,sessions:W,onNew:()=>j(),onSelect:j},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&&N.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),children:ft?.title??"New conversation"},void 0,!1,void 0,this)},void 0,!1,void 0,this),e.sessionId?a.jsxDEV(P,{className:"studio-chat-header-action",variant:"ghost",type:"button",onClick:()=>void re(),disabled:k||R||Boolean(c)||m.length>0,title:c||m.length?"Send or clear the draft before archiving":void 0,children:pt?"Archiving…":"Archive"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),(e.sessionId!==null||N.length>0)&&a.jsxDEV("details",{className:s("studio-chat-working-set",n.context),open:ee,onToggle:(i)=>oe(i.currentTarget.open),children:[a.jsxDEV("summary",{className:s("studio-chat-working-set-summary",n.summary),children:"Working set"},void 0,!1,void 0,this),a.jsxDEV(Ge,{cards:ae,messages:N,progress:I?.progress??[],session:ft},void 0,!1,void 0,this)]},void 0,!0,void 0,this),a.jsxDEV("div",{className:s("studio-chat-thread-scroll",n.threadScroll),children:a.jsxDEV("div",{className:s("studio-chat-manuscript",n.manuscript),children:[tt.isPending&&e.sessionId&&N.length===0?a.jsxDEV("p",{className:s("studio-chat-empty",n.empty),children:"Opening conversation…"},void 0,!1,void 0,this):null,(!e.sessionId||!tt.isPending)&&N.length===0?a.jsxDEV(_e,{},void 0,!1,void 0,this):null,N.map((i)=>a.jsxDEV(Be,{message:i,onAction:se,onApproval:kt},i.id,!1,void 0,this)),I?.approvals.map((i)=>a.jsxDEV(Ve,{approval:i,disabled:k,onDecision:kt},i.approvalId,!1,void 0,this)),k?a.jsxDEV("p",{className:s("studio-chat-stream-status",n.empty),role:"status",children:"Working…"},void 0,!1,void 0,this):null,mt?a.jsxDEV("p",{className:s("studio-chat-error",n.empty,n.error),role:"alert",children:mt},void 0,!1,void 0,this):null,a.jsxDEV("div",{ref:xt},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(Je,{draft:c,sending:k,uploading:R,uploads:m,onDraft:y,locked:pt,onRemoveUpload:(i)=>f((h)=>h.filter((b)=>b.id!==i)),onFiles:ie,onSubmit:ne,onStop:v.current?()=>v.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 Ht(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),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-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.sessions.length===0?a.jsxDEV("p",{className:s("studio-chat-empty",n.empty),children:"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:Ke(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 _e(){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 Be(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(Kt,{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(We,{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 We(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((d)=>a.jsxDEV("button",{className:s("studio-chat-card-action",n.button),type:"button",onClick:()=>void e.onAction(d),children:d.label},d.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((d)=>a.jsxDEV("li",{children:d.url?a.jsxDEV("a",{href:d.url,children:d.title??d.source},void 0,!1,void 0,this):d.title??d.source},d.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",g={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(g,!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(g,!0),children:"Approve"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}function Ve(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 Je(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.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(P,{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",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),"aria-label":"Attach files",children:[e.uploading?"Attaching…":"Attach files",a.jsxDEV("input",{className:s("studio-chat-upload-input",n.uploadInput),type:"file",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(P,{type:"button",disabled:!0,children:"Archiving…"},void 0,!1,void 0,this):e.sending?a.jsxDEV(P,{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(P,{className:"studio-chat-composer-action",type:"submit","aria-label":"Send message",disabled:e.uploading||!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)]},void 0,!0,void 0,this)}function Ge(e){return a.jsxDEV("aside",{className:s("studio-chat-context",n.contextBody),"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),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),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((g)=>a.jsxDEV("li",{children:g.title??g.source},g.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),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),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 Ke(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 D(e,o){return e instanceof Error&&e.message?e.message:o}export{Co as StudioChatWorkspace};
4
-
5
- //# debugId=1EE0C3D9628B118364756E2164756E21