@oneworks/client 0.1.0-beta.0 → 0.1.0-beta.1

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 (101) hide show
  1. package/dist/assets/{ActionSearchToolbar-8q-bk3mu.js → ActionSearchToolbar-BqRwfUQY.js} +1 -1
  2. package/dist/assets/{AgentRoomRoute-DfSI_dFH.js → AgentRoomRoute-BYgM7vgg.js} +1 -1
  3. package/dist/assets/{AgentRoomSessionRoute-DH9PdjZm.js → AgentRoomSessionRoute-DdoZY7qL.js} +1 -1
  4. package/dist/assets/{ArchiveRoute-E9-htB4H.js → ArchiveRoute-ydgLUN7p.js} +1 -1
  5. package/dist/assets/{AuthenticatedApp-CgBrvMuc.js → AuthenticatedApp-CK9TT7Nk.js} +192 -192
  6. package/dist/assets/{AutomationRoute-Bw2xw5bx.js → AutomationRoute-CpcRbNa8.js} +1 -1
  7. package/dist/assets/{BenchmarkRoute-3VS17jHr.js → BenchmarkRoute-CZRZVolT.js} +1 -1
  8. package/dist/assets/{ChatRoute-CBQ3j4Je.js → ChatRoute-DdRVEkAb.js} +1 -1
  9. package/dist/assets/{Collapse-B-oCiEx4.js → Collapse-CxTS9FJh.js} +1 -1
  10. package/dist/assets/{ComposerLanding-SZn_zRGX.js → ComposerLanding-BChGuCjF.js} +1 -1
  11. package/dist/assets/{ConfigRoute-Dv-7BRGG.js → ConfigRoute-D_EkHryB.js} +1 -1
  12. package/dist/assets/{InteractionStructureRoute-FDl9jRvT.js → InteractionStructureRoute-Dpjr6hIq.js} +1 -1
  13. package/dist/assets/{KnowledgeRoute-C5em_VSL.js → KnowledgeRoute-Bp4Da65A.js} +1 -1
  14. package/dist/assets/{LauncherApp-olYmK_zO.js → LauncherApp-ByUpDwod.js} +2 -2
  15. package/dist/assets/{LauncherRoute-Qt8dQkIk.js → LauncherRoute-B94P9m3I.js} +1 -1
  16. package/dist/assets/{MobileAwareSelect-BmK6WApn.js → MobileAwareSelect-CCAQrsxL.js} +1 -1
  17. package/dist/assets/{ModuleManagementRoute-B1I_8JKc.js → ModuleManagementRoute-DcrMX6P7.js} +1 -1
  18. package/dist/assets/{NotFoundRoute-Bj6_YY3I.js → NotFoundRoute-C1IfsiZY.js} +1 -1
  19. package/dist/assets/{PluginStoreRoute-B847PAZ5.js → PluginStoreRoute-7UBLkrWc.js} +1 -1
  20. package/dist/assets/{RouteContainerPanelTabs-BnIptVwq.js → RouteContainerPanelTabs-D8pC61tF.js} +1 -1
  21. package/dist/assets/{SchemaObjectEditor-B9fPfDyT.js → SchemaObjectEditor-DvwrURac.js} +1 -1
  22. package/dist/assets/{StandaloneMobileDebugRoute-BR4w_LeM.js → StandaloneMobileDebugRoute--yiQ5EdW.js} +1 -1
  23. package/dist/assets/{WorkspaceApp-BNmtIdn4.js → WorkspaceApp-l-h_IsMp.js} +3 -3
  24. package/dist/assets/{agent-room-session-paths-Dca8S6NN.js → agent-room-session-paths-DNpYqOr3.js} +3 -3
  25. package/dist/assets/{arc-JBUpUV6M.js → arc-Xh4h56Fv.js} +1 -1
  26. package/dist/assets/{blockDiagram-c4efeb88-DKhNwgEQ.js → blockDiagram-c4efeb88-CG3HxYeL.js} +1 -1
  27. package/dist/assets/{c4Diagram-c83219d4-CWODEGms.js → c4Diagram-c83219d4-DiEPAqCg.js} +1 -1
  28. package/dist/assets/channel-DH-F5Uqk.js +1 -0
  29. package/dist/assets/{classDiagram-beda092f-DlghsOqF.js → classDiagram-beda092f-Dwx44PuJ.js} +1 -1
  30. package/dist/assets/{classDiagram-v2-2358418a-CrSR8gWz.js → classDiagram-v2-2358418a-COXM437u.js} +1 -1
  31. package/dist/assets/client-build-info-6B4KoYHs.js +1 -0
  32. package/dist/assets/clone-DGri7oGq.js +1 -0
  33. package/dist/assets/{createText-1719965b-CLlPr73k.js → createText-1719965b-DPLMqVqY.js} +1 -1
  34. package/dist/assets/{cssMode-Bt_74RVV.js → cssMode-DfDq4hLs.js} +1 -1
  35. package/dist/assets/{dockPanelConstants-BWuu_DJp.js → dockPanelConstants-OzU6hJl5.js} +1 -1
  36. package/dist/assets/{edges-96097737-L_gy1fky.js → edges-96097737-ry9ejc8v.js} +1 -1
  37. package/dist/assets/{erDiagram-0228fc6a-X1QMD6me.js → erDiagram-0228fc6a-AcCPz3wc.js} +1 -1
  38. package/dist/assets/{flowDb-c6c81e3f-DNdWK0Po.js → flowDb-c6c81e3f-BGnBxhJf.js} +1 -1
  39. package/dist/assets/{flowDiagram-50d868cf-C2khStgw.js → flowDiagram-50d868cf-BnS6RFWo.js} +1 -1
  40. package/dist/assets/flowDiagram-v2-4f6560a1-C3klqpJG.js +1 -0
  41. package/dist/assets/{flowchart-elk-definition-6af322e1-C89sxd2D.js → flowchart-elk-definition-6af322e1-8-ynORZL.js} +1 -1
  42. package/dist/assets/{freemarker2-DZ1XIuHj.js → freemarker2-uFZBYLEW.js} +1 -1
  43. package/dist/assets/{ganttDiagram-a2739b55-Ba3rPNKd.js → ganttDiagram-a2739b55-3MEPfmMB.js} +1 -1
  44. package/dist/assets/{gitGraphDiagram-82fe8481-DTEFHHtN.js → gitGraphDiagram-82fe8481-BKYGV9pb.js} +1 -1
  45. package/dist/assets/{graph-BPujwFoF.js → graph-BEwlNa_j.js} +1 -1
  46. package/dist/assets/{handlebars-lOgsnnQw.js → handlebars-dg6IZCa7.js} +1 -1
  47. package/dist/assets/{html-DLHadu9L.js → html-KunL9NkW.js} +1 -1
  48. package/dist/assets/{htmlMode-VeiQ-IsQ.js → htmlMode-CrFpTEpC.js} +1 -1
  49. package/dist/assets/{index-5325376f-Cx2RM6pk.js → index-5325376f-CCcP_Ahl.js} +1 -1
  50. package/dist/assets/{index-D4eelxQF.js → index-BIs5hzci.js} +1 -1
  51. package/dist/assets/{index-CJEVYkL9.js → index-BggFUwYR.js} +1 -1
  52. package/dist/assets/{index-Cp4GfHnF.js → index-DdUqPqXW.js} +3 -3
  53. package/dist/assets/{index-CBFCjoHv.js → index-DhpAFZQZ.js} +1 -1
  54. package/dist/assets/{index-sFqkb8xv.js → index-YzfSzOLk.js} +1 -1
  55. package/dist/assets/{index-CWmEuVWV.js → index-ZOsqqPVv.js} +1 -1
  56. package/dist/assets/{index-DBUG8CzV.js → index-nXq6jwfM.js} +1 -1
  57. package/dist/assets/{infoDiagram-8eee0895-Bj9hWnDg.js → infoDiagram-8eee0895-BzZ34kgw.js} +1 -1
  58. package/dist/assets/{interaction-panel-mobile-debug-pages-1Gdivksn.js → interaction-panel-mobile-debug-pages-DXC3HSZU.js} +1 -1
  59. package/dist/assets/{javascript-CXJw-bvU.js → javascript-DA3fh3oR.js} +1 -1
  60. package/dist/assets/{journeyDiagram-c64418c1-BXAycrrn.js → journeyDiagram-c64418c1-B_kSGErn.js} +1 -1
  61. package/dist/assets/{jsonMode-DmUNJfpX.js → jsonMode-BDucSIBv.js} +1 -1
  62. package/dist/assets/{layout-Bp8GVMnq.js → layout-CRLM1T9z.js} +1 -1
  63. package/dist/assets/{line-olpPNgnh.js → line-Cdyr_7ve.js} +1 -1
  64. package/dist/assets/{linear-flh_7ux_.js → linear-y86GycLK.js} +1 -1
  65. package/dist/assets/{liquid-BiVpRgBP.js → liquid-mJp997il.js} +1 -1
  66. package/dist/assets/{lspLanguageFeatures-olWF83eX.js → lspLanguageFeatures-DiGGmudW.js} +1 -1
  67. package/dist/assets/{mdx-B5dr7YB-.js → mdx-Co6h2mZ2.js} +1 -1
  68. package/dist/assets/{mermaid.core-NVIiXnRA.js → mermaid.core-VYJIZL_J.js} +4 -4
  69. package/dist/assets/{mindmap-definition-8da855dc-BOCh8K8K.js → mindmap-definition-8da855dc-DKNG2gyr.js} +1 -1
  70. package/dist/assets/{pieDiagram-a8764435-CCitKBQK.js → pieDiagram-a8764435-Cu3up9mc.js} +1 -1
  71. package/dist/assets/{project-file-tree-icons-DqqhgvoI.js → project-file-tree-icons-CfonMx-1.js} +1 -1
  72. package/dist/assets/{python-BkEOPIle.js → python-BUUKzwmG.js} +1 -1
  73. package/dist/assets/{quadrantDiagram-1e28029f-C_FvcHzZ.js → quadrantDiagram-1e28029f-DHW8R4el.js} +1 -1
  74. package/dist/assets/{razor-BCMQgdis.js → razor-ZPlQfY47.js} +1 -1
  75. package/dist/assets/{requirementDiagram-08caed73-B001ugYd.js → requirementDiagram-08caed73-CXWNC-_B.js} +1 -1
  76. package/dist/assets/{route-plugin-chrome-B-Goj3vG.js → route-plugin-chrome-bV1HEaju.js} +1 -1
  77. package/dist/assets/{sankeyDiagram-a04cb91d-BnkC9YW5.js → sankeyDiagram-a04cb91d-DhKL8pMH.js} +1 -1
  78. package/dist/assets/{sequenceDiagram-c5b8d532-BGiFCs5z.js → sequenceDiagram-c5b8d532-D3fAcQeI.js} +1 -1
  79. package/dist/assets/{shortcutUtils-20iqPDwh.js → shortcutUtils-B8h6g_7o.js} +1 -1
  80. package/dist/assets/{stateDiagram-1ecb1508-Uk4XxTkP.js → stateDiagram-1ecb1508-wKQS4LMF.js} +1 -1
  81. package/dist/assets/{stateDiagram-v2-c2b004d7-Db6Ouywh.js → stateDiagram-v2-c2b004d7-D5qOKtOa.js} +1 -1
  82. package/dist/assets/{styles-b4e223ce-CfG45yIm.js → styles-b4e223ce-CpBwPex_.js} +1 -1
  83. package/dist/assets/{styles-ca3715f6-BGGbMvKc.js → styles-ca3715f6-4bqpN1KH.js} +1 -1
  84. package/dist/assets/{styles-d45a18b0-mHteeqS2.js → styles-d45a18b0-B0RCBD5D.js} +1 -1
  85. package/dist/assets/{svgDrawCommon-b86b1483-BAMR2PsF.js → svgDrawCommon-b86b1483-C9KXk4gS.js} +1 -1
  86. package/dist/assets/{timeline-definition-faaaa080-DLBoPuJD.js → timeline-definition-faaaa080-B1Bfjd0m.js} +1 -1
  87. package/dist/assets/{tsMode-BTzZ8Zos.js → tsMode-Bd8BwKXc.js} +1 -1
  88. package/dist/assets/{typescript-_rLmAd51.js → typescript-CLd6MPK0.js} +1 -1
  89. package/dist/assets/{use-app-preferences-gyulV-hA.js → use-app-preferences-DGCafwsP.js} +1 -1
  90. package/dist/assets/{use-chat-session-actions-DDZ5KCua.js → use-chat-session-actions-wF_HiVzj.js} +1 -1
  91. package/dist/assets/{vendor-state-BYwEPTaO.js → vendor-state-zjcHRN98.js} +1 -1
  92. package/dist/assets/{workspace-file-openers-BwZ5cSeq.js → workspace-file-openers-Dj_Cfk1S.js} +1 -1
  93. package/dist/assets/{xml-BAU8TJ-c.js → xml-BeC1cWk3.js} +1 -1
  94. package/dist/assets/{xychartDiagram-f5964ef8-CNfcxTsi.js → xychartDiagram-f5964ef8-DbJVUSHy.js} +1 -1
  95. package/dist/assets/{yaml-_cphTIn0.js → yaml-gQrw9AcN.js} +1 -1
  96. package/dist/index.html +2 -2
  97. package/package.json +17 -17
  98. package/dist/assets/channel-BsuHYNQO.js +0 -1
  99. package/dist/assets/client-build-info-bcijLdfD.js +0 -1
  100. package/dist/assets/clone-BKV6leIk.js +0 -1
  101. package/dist/assets/flowDiagram-v2-4f6560a1-DW5hyUju.js +0 -1
@@ -1 +1 @@
1
- import{j as e}from"./vendor-react-CnooHTJc.js";import{M as s}from"./route-plugin-chrome-B-Goj3vG.js";import{I as n}from"./index-CWmEuVWV.js";import{T as c}from"./MobileAwareSelect-BmK6WApn.js";import{B as m}from"./index-Cp4GfHnF.js";const d=r=>typeof r=="string"?e.jsx(s,{name:r}):r;function f({actions:r=[],className:t,onQueryChange:l,placeholder:i,query:o}){return e.jsxs("div",{className:["action-search-toolbar",t].filter(Boolean).join(" "),children:[e.jsx(n,{className:"action-search-toolbar__search",allowClear:o!=="",prefix:e.jsx(s,{name:"search"}),placeholder:i,value:o,onChange:a=>l(a.target.value)}),r.length>0&&e.jsx("div",{className:"action-search-toolbar__actions",children:r.map(a=>e.jsx(c,{title:a.title,children:e.jsx(m,{className:["action-search-toolbar__button",a.active?"is-active":"",a.hasIndicator?"has-indicator":""].filter(Boolean).join(" "),type:"text","aria-label":a.ariaLabel,"aria-pressed":a.pressed,disabled:a.disabled,loading:a.loading,icon:d(a.icon),onClick:a.onClick})},a.key))})]})}export{f as A};
1
+ import{j as e}from"./vendor-react-CnooHTJc.js";import{M as s}from"./route-plugin-chrome-bV1HEaju.js";import{I as n}from"./index-ZOsqqPVv.js";import{T as c}from"./MobileAwareSelect-CCAQrsxL.js";import{B as m}from"./index-DdUqPqXW.js";const d=r=>typeof r=="string"?e.jsx(s,{name:r}):r;function f({actions:r=[],className:t,onQueryChange:l,placeholder:i,query:o}){return e.jsxs("div",{className:["action-search-toolbar",t].filter(Boolean).join(" "),children:[e.jsx(n,{className:"action-search-toolbar__search",allowClear:o!=="",prefix:e.jsx(s,{name:"search"}),placeholder:i,value:o,onChange:a=>l(a.target.value)}),r.length>0&&e.jsx("div",{className:"action-search-toolbar__actions",children:r.map(a=>e.jsx(c,{title:a.title,children:e.jsx(m,{className:["action-search-toolbar__button",a.active?"is-active":"",a.hasIndicator?"has-indicator":""].filter(Boolean).join(" "),type:"text","aria-label":a.ariaLabel,"aria-pressed":a.pressed,disabled:a.disabled,loading:a.loading,icon:d(a.icon),onClick:a.onClick})},a.key))})]})}export{f as A};
@@ -1 +1 @@
1
- import{j as v,n as N,h as D,k as H}from"./vendor-react-CnooHTJc.js";import{u as B,e as U}from"./vendor-state-BYwEPTaO.js";import{bU as L,aI as V,c2 as W,cq as G,aD as S}from"./index-Cp4GfHnF.js";import{b as z,d as J,g as Q,s as Y,r as X,u as k}from"./AuthenticatedApp-CgBrvMuc.js";import{C,a as Z,b as tt,c as et,d as nt}from"./agent-room-session-paths-Dca8S6NN.js";import{S as ot}from"./WorkspaceApp-BNmtIdn4.js";import"./MobileAwareSelect-BmK6WApn.js";import"./use-app-preferences-gyulV-hA.js";import"./route-plugin-chrome-B-Goj3vG.js";import"./shortcutUtils-20iqPDwh.js";import"./project-file-tree-icons-DqqhgvoI.js";import"./index-CWmEuVWV.js";import"./ComposerLanding-SZn_zRGX.js";import"./index-CJEVYkL9.js";import"./dockPanelConstants-BWuu_DJp.js";import"./workspace-file-openers-BwZ5cSeq.js";import"./client-build-info-bcijLdfD.js";import"./SchemaObjectEditor-B9fPfDyT.js";/* empty css */import"./index-sFqkb8xv.js";import"./index-DBUG8CzV.js";import"./Collapse-B-oCiEx4.js";import"./index-D4eelxQF.js";import"./use-chat-session-actions-DDZ5KCua.js";import"./interaction-panel-mobile-debug-pages-1Gdivksn.js";import"./RouteContainerPanelTabs-BnIptVwq.js";import"./LauncherRoute-Qt8dQkIk.js";function rt({isRoomArchived:t,isRoomFavorited:e,messageApi:n,onToggleRoomArchive:o,onToggleRoomFavorite:r,roomId:i,t:s}){return[{key:"favorite-room",label:s(e?"agentRoom.sidebar.unfavoriteRoom":"agentRoom.sidebar.favoriteRoom"),icon:v.jsx("span",{className:`material-symbols-rounded chat-header-icon ${e?"is-filled":""}`,children:e?"star":"star_border"}),onClick:r},{key:"archive-room",label:s(t?"agentRoom.sidebar.unarchiveRoom":"agentRoom.sidebar.archiveRoom"),icon:v.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:t?"unarchive":"archive"}),onClick:o},{type:"divider"},{key:"copy-room-link",label:s("agentRoom.sidebar.copyRoomLink"),icon:v.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:"link"}),onClick:()=>{L({text:z(i),messageApi:n,successMessage:s("agentRoom.sidebar.roomLinkCopied"),failureMessage:s("common.copyFailed")})}},{key:"copy-room-id",label:s("agentRoom.sidebar.copyRoomId"),icon:v.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:"fingerprint"}),onClick:()=>{L({text:i,messageApi:n,successMessage:s("agentRoom.sidebar.roomIdCopied"),failureMessage:s("common.copyFailed")})}}]}const it={assignment_sent:"assignment",attention_requested:"attention",member_joined:"system",run_completed:"completion",run_failed:"failure",run_replied:"reply",run_resumed:"reply",run_stopped:"failure"},st=new Set(["assignment_sent","attention_requested","member_joined","run_completed","run_failed","run_stopped"]),at=t=>t.room.hostSessionId==null||t.room.hostSessionId===""?`host:${t.room.id}`:`host:${t.room.hostSessionId}`,I=t=>t==="host"||(t==null?void 0:t.startsWith("host:")),R=t=>t==null?void 0:J(t).format("HH:mm"),ct=(t,e)=>e.some(n=>n.pendingCount>0||n.status==="waiting")?"waiting":t,lt=t=>t==="waiting"?"waiting":t==="active"?"active":t==="completed"?"completed":t==="failed"?"failed":t==="stopped"?"stopped":"idle",m=t=>t!=null&&typeof t=="object"&&!Array.isArray(t),ut=t=>t.eventType!=null?it[t.eventType]:t.role==="system"?"system":"message",q=t=>{const e=t.payload;return t.role==="agent"&&m(e)&&e.source==="child_session_message"},dt=t=>t.eventType!=null?st.has(t.eventType):t.role==="agent"&&I(t.memberKey)||q(t)?!0:t.role==="user"||t.role==="system",j=t=>m(t)&&m(t.target),mt=t=>m(t)&&(t.kind==="completed"||t.kind==="working"),pt=t=>t==="user"||t==="agent"||t==="system",P=t=>{if(!m(t)||!m(t.replyTo))return;const{replyTo:e}=t;if(typeof e.id!="string"||e.id.trim()===""||!pt(e.role)||typeof e.content!="string"||e.content.trim()==="")return;const n=typeof e.authorLabel=="string"&&e.authorLabel.trim()!==""?e.authorLabel.trim():void 0;return{id:e.id.trim(),role:e.role,content:e.content.trim(),...n!=null?{authorLabel:n}:{}}},w=t=>{if(!j(t))return;const e=typeof t.target.memberKey=="string"&&t.target.memberKey.trim()!==""?t.target.memberKey:void 0,n=typeof t.target.runKey=="string"&&t.target.runKey.trim()!==""?t.target.runKey:void 0;if(!(e==null&&n==null))return{...e!=null?{memberKey:e}:{},...n!=null?{runKey:n}:{}}},yt=t=>{if(!m(t)||!m(t.delivery)||typeof t.delivery.sessionId!="string")return;const e=t.delivery.sessionId.trim();return e===""?void 0:e},gt=(t,e,n,o,r)=>{const i=yt(e);if(i==null)return;if(n.room.hostSessionId!=null&&i===n.room.hostSessionId)return{isHost:!0,isCompleted:r.has(t.id)};const s=o.get(i);return s==null?void 0:{target:{memberKey:s.memberKey,runKey:s.runKey}}},vt=(t,e,n,o,r)=>{const i=w(e);return i!=null?{target:i}:gt(t,e,n,o,r)},O=(t,e,n,o)=>{const r=t.target??(e==null?void 0:e.target),i=(r==null?void 0:r.runKey)==null?void 0:o.get(r.runKey),s=(r==null?void 0:r.memberKey)??(i==null?void 0:i.memberKey),l=s==null?void 0:n.get(s),d=(e==null?void 0:e.isHost)===!0&&r==null,y=d?"leader":(l==null?void 0:l.label)??s??(i==null?void 0:i.memberKey);return{kind:t.kind==="working"&&((i==null?void 0:i.status)==="completed"||(e==null?void 0:e.isCompleted)===!0)?"completed":t.kind,...y!=null?{agentLabel:y}:{},...d?{isHost:!0}:{},...i!=null?{run:i}:{}}},bt=(t,e,n,o)=>!m(t)||!Array.isArray(t.reactions)?[]:t.reactions.filter(mt).map(r=>O(r,e,n,o)),ht=t=>{var e;return(e=w(t))==null?void 0:e.runKey},ft=t=>{if(!(t.role!=="agent"||!I(t.memberKey)))return ht(t.payload)??t.runKey},$=(t,e)=>{const n=ft(t);if(n==null)return;const o=w(t.payload),r=e.get(n),i=(o==null?void 0:o.memberKey)??(r==null?void 0:r.memberKey);return{...i!=null?{memberKey:i}:{},runKey:n}},Rt=(t,e,n)=>{if(!j(t))return;const o=typeof t.target.memberKey=="string"?t.target.memberKey:void 0,r=typeof t.target.runKey=="string"?t.target.runKey:void 0,i=r==null?void 0:n.get(r),s=o==null?void 0:e.get(o);if(i!=null)return`@${(s==null?void 0:s.label)??i.memberKey}/${i.title}`;if(s!=null)return`@${s.label}`},Kt=(t,e,n)=>{var r;if(t.eventType!=="assignment_sent"||t.runKey==null)return;const o=n.get(t.runKey);if(o!=null)return((r=e.get(o.memberKey))==null?void 0:r.label)??o.memberKey},It=(t,e,n)=>q(t)?void 0:t.eventType==="assignment_sent"?Kt(t,e,n):Rt(t.payload,e,n),At=t=>{if(!m(t)||!m(t.member)||typeof t.member.label!="string")return;const e=t.member.label.trim();return e===""?void 0:e},St=(t,e)=>{var o;if(t.eventType!=="member_joined")return;const n=At(t.payload)??(t.memberKey==null?void 0:((o=e.get(t.memberKey))==null?void 0:o.label)??t.memberKey);return n==null?void 0:{kind:"memberJoined",memberLabel:n}},Mt=(t,e)=>{var o;const n=new Map;for(const r of t){const i=$(r,e),s=i==null?void 0:i.runKey;if(i==null||s==null||((o=e.get(s))==null?void 0:o.status)!=="running")continue;const l=n.get(s);(l==null||r.createdAt>=l.createdAt)&&n.set(s,{createdAt:r.createdAt,id:r.id,target:i})}return new Map([...n.values()].map(r=>[r.id,r.target]))},wt=t=>new Set(t.flatMap(e=>{if(e.role!=="agent"||!I(e.memberKey))return[];const n=P(e.payload);return n==null?[]:[n.id]})),Tt=(t,e,n,o,r,i,s)=>{const l=vt(e,e.payload,t,r,i),d=bt(e.payload,l,n,o),y=s.get(e.id);return y!=null&&!d.some(g=>g.kind==="completed"||g.kind==="working")&&d.push(O({kind:"working",target:y},void 0,n,o)),d.length>0?d:void 0},T=t=>t.eventType==="attention_requested"&&m(t.payload)&&t.payload.type==="attention_requested"?t.payload:void 0,_t=t=>t==="confirmation"||t==="input"||t==="progress",Lt=t=>t==="pending"||t==="handled"||t==="expired",kt=t=>typeof t=="string"||Array.isArray(t)&&t.every(e=>typeof e=="string"),Ct=t=>{const e=t.payload;return t.eventType==="attention_requested"&&m(e)&&e.source==="host_session_interaction_request"&&e.type==="attention_requested"?e:void 0},xt=t=>{if(!m(t.permissionContext))return;const e=typeof t.permissionContext.subjectLabel=="string"?t.permissionContext.subjectLabel.trim():void 0;if(e!=null&&e!=="")return e;const n=typeof t.permissionContext.subjectKey=="string"?t.permissionContext.subjectKey.trim():void 0;return n==null||n===""?void 0:n},qt=t=>Array.isArray(t.options)?t.options.flatMap(e=>{if(!m(e)||typeof e.label!="string"||e.label.trim()==="")return[];const n=typeof e.value=="string"&&e.value.trim()!==""?e.value.trim():void 0,o=typeof e.description=="string"&&e.description.trim()!==""?e.description.trim():void 0;return[{label:e.label.trim(),...n!=null?{value:n}:{},...o!=null?{description:o}:{}}]}):[],jt=t=>{const e=Ct(t);if(e==null||typeof e.sessionId!="string"||e.sessionId.trim()===""||typeof e.interactionId!="string"||e.interactionId.trim()===""||!_t(e.requestKind)||!Lt(e.status))return;const n=xt(e);return{sessionId:e.sessionId.trim(),interactionId:e.interactionId.trim(),requestKind:e.requestKind,status:e.status,options:qt(e),...kt(e.response)?{response:e.response}:{},...n!=null?{subjectLabel:n}:{}}},Pt=t=>{const e=T(t);if(!((e==null?void 0:e.requestKind)!=="confirmation"||t.memberKey==null||t.runKey==null))return`${t.memberKey}:${t.runKey}`},Ot=t=>/已代为批准|批准|放行|同意|approved|allow_once|allow_session|allow_project|codex-approval/i.test(t),$t=(t,e)=>{var i;if(t.eventType!=null||t.role!=="agent"||!I(t.memberKey)||!Ot(t.content))return;const n=$(t,e),o=n==null?void 0:n.runKey;if(n==null||o==null)return;const r=n.memberKey??((i=e.get(o))==null?void 0:i.memberKey);return r==null?void 0:`${r}:${o}`},E=t=>{var n;const e=(n=T(t))==null?void 0:n.interactionId;return typeof e=="string"&&e.trim()!==""?e:void 0},Et=t=>{var n;const e=(n=T(t))==null?void 0:n.options;return Array.isArray(e)?e.flatMap(o=>{if(!m(o)||typeof o.label!="string"||o.label.trim()==="")return[];const r=typeof o.value=="string"&&o.value.trim()!==""?` (${o.value})`:"";return[`${o.label}${r}`]}):[]},Ft=(t,e)=>{const n=new Map;for(const o of t){const r=Pt(o);if(r==null)continue;const i=n.get(r)??{key:r,requests:[],actions:[]};i.requests.push(o),n.set(r,i)}for(const o of t){const r=$t(o,e);if(r==null)continue;const i=n.get(r);i!=null&&i.actions.push(o)}return[...n.values()].filter(o=>o.requests.length>1||o.actions.length>0)},Nt=(t,e)=>{const n=t.at(-1);if((n==null?void 0:n.runKey)==null)return;const o=e.get(n.runKey);if((o==null?void 0:o.status)!=="waiting")return;const r=o.interactionId,i=E(n);if(!(r!=null&&i!==r))return n.id},Dt=(t,e)=>({id:t.id,content:t.content,createdAtLabel:R(t.createdAt),interactionId:E(t),status:t.id===e?"pending":"handled",optionLabels:Et(t)}),Ht=t=>[...new Set(t.content.match(/codex-approval:\d+/g)??[])],Bt=t=>({id:t.id,content:t.content,createdAtLabel:R(t.createdAt),interactionIds:Ht(t)}),Ut=(t,e,n,o,r,i,s)=>({id:e.id,role:e.role,kind:ut(e),content:e.content,memberKey:e.eventType==="assignment_sent"?at(t):e.memberKey,runKey:e.runKey,createdAtLabel:R(e.createdAt),replyTo:P(e.payload),systemMessage:St(e,n),reactions:Tt(t,e,n,o,r,i,s),targetLabel:It(e,n,o),interactionRequest:jt(e)}),Vt=(t,e,n)=>{const o=t.requests.at(-1);if(o==null)throw new Error("Cannot build empty approval batch.");const r=[...t.requests,...t.actions].reduce((p,h)=>h.createdAt>=p.createdAt?h:p,o),i=Nt(t.requests,n),s=t.requests.map(p=>Dt(p,i)),l=t.actions.map(Bt),d=s.filter(p=>p.status==="pending").length,y=s.find(p=>p.status==="pending")??s.at(-1);if(y==null)throw new Error("Cannot build approval batch without items.");const g=o.memberKey==null?void 0:e.get(o.memberKey),b=o.runKey==null?void 0:n.get(o.runKey),f=(g==null?void 0:g.label)??o.memberKey??"Agent",a=(b==null?void 0:b.title)??o.runKey??"",u={totalCount:s.length,pendingCount:d,handledCount:s.length-d,actionCount:l.length,memberLabel:f,runTitle:a,latest:y,items:s,actions:l};return{id:`approval-batch:${r.id}`,role:"agent",kind:d>0?"attention":"message",content:`${f} approval queue`,memberKey:o.memberKey,runKey:o.runKey,createdAtLabel:R(r.createdAt),approvalBatch:u}};function Wt(t){const e=new Map;for(const a of t.runs){const u={runKey:a.key,memberKey:a.memberKey,sessionId:a.sessionId,title:a.title,status:a.status,latestSummary:a.latestSummary,interactionId:a.interactionId,pendingCount:a.status==="waiting"?1:void 0,updatedAtLabel:R(a.updatedAt)},p=e.get(a.memberKey)??[];p.push(u),e.set(a.memberKey,p)}const n=t.members.map(a=>({memberKey:a.key,kind:a.kind,label:a.label,subtitle:a.subtitle,avatarLabel:a.avatar,status:lt(a.status),pendingCount:a.pendingCount,activeRunCount:a.activeRunCount,latestSummary:a.latestSummary,runs:e.get(a.key)??[]})),o=new Map(n.map(a=>[a.memberKey,a])),r=new Map(n.flatMap(a=>a.runs.map(u=>[u.runKey,u]))),i=new Map(n.flatMap(a=>a.runs.map(u=>[u.sessionId,u]))),s=wt(t.messages),l=Mt(t.messages,r),d=t.messages.filter(dt),y=Ft(d,r),g=new Set(y.flatMap(a=>[...a.requests,...a.actions].map(u=>u.id))),b=new Map(y.flatMap(a=>{const u=a.requests.at(-1);return u==null?[]:[[[...a.requests,...a.actions].reduce((h,K)=>K.createdAt>=h.createdAt?K:h,u).id,a]]})),f=d.flatMap(a=>{const u=b.get(a.id);return u!=null?[Vt(u,o,r)]:g.has(a.id)?[]:[Ut(t,a,o,r,i,s,l)]});return{id:t.room.id,title:t.room.title,subtitle:t.room.lastMessage,status:ct(t.room.status,n),members:n,messages:f,updatedAtLabel:R(t.room.updatedAt)}}const Gt=1e3,zt=t=>`/api/agent-rooms/${t}`,x="agentRoomMode",Jt="session",M=t=>t.toString()===""?"":`?${t.toString()}`,Qt={refreshInterval:Gt,revalidateOnFocus:!0};function Se(){const{t}=B(),{message:e}=V.useApp(),{roomId:n}=N(),o=D(),[r]=H(),{data:i,isLoading:s,mutate:l}=U(n==null?null:zt(n),()=>Q(n??""),Qt),d=n!=null&&!s&&i==null;if(W(d),n==null||s)return v.jsx(C,{isReady:!1,children:v.jsx("div",{className:"chat-route__loading-state",children:v.jsx(ot,{size:"large"})})});if(i==null)return v.jsx(C,{title:t("common.roomNotFound"),children:v.jsx(G,{actions:[{kind:"home",onClick:()=>void o("/")},{kind:"retry",onClick:()=>void l()}],description:t("errorState.roomNotFoundDescription"),details:{copyText:`${t("errorState.roomId")}: ${n??"n/a"}`,items:[{label:t("errorState.roomId"),mono:!0,value:n??"n/a"}],title:t("errorState.diagnostics")},mobileDescription:t("common.roomNotFound"),severity:"info",title:t("common.roomNotFound")})});const y=Wt(i),g=i.room.favoritedAt!=null,b=i.room.archivedAt!=null,f=async()=>{try{await k(n,{isFavorited:!g}),e.success(t(g?"agentRoom.sidebar.unfavoriteRoom":"agentRoom.sidebar.favoriteRoom")),await l()}catch(c){e.error(S(c,t("common.operationFailed")))}},a=async()=>{const c=!b;try{if(await k(n,{isArchived:c}),e.success(t(c?"agentRoom.sidebar.archiveRoom":"agentRoom.sidebar.unarchiveRoom")),c){l(),o(nt(r),{replace:!0});return}await l()}catch(A){e.error(S(A,t("common.operationFailed")))}},u=rt({isRoomArchived:b,isRoomFavorited:g,messageApi:e,onToggleRoomArchive:()=>void a(),onToggleRoomFavorite:()=>void f(),roomId:n,t}),p=c=>`${tt(n,c)}${M(new URLSearchParams(r))}`,h=c=>void o(p(c.sessionId)),K=()=>{if(i.room.hostSessionId==null||i.room.hostSessionId==="")return;const c=new URLSearchParams(r);c.set(x,Jt),o({pathname:`/session/${encodeURIComponent(i.room.hostSessionId)}`,search:M(c)})},F=()=>{const c=new URLSearchParams(r);c.delete(x),o({pathname:et(n),search:M(c)})};return v.jsx(Z,{agentRoomTranscript:{room:y,roomIconStatus:i.room.status,members:y.members,workspaceSessionId:i.room.hostSessionId,onOpenHostSession:K,onOpenRun:h,onReplyToRun:c=>{c.run!=null&&o(p(c.run.sessionId))},onRespondInteraction:async(c,A)=>{try{await X(n,c,{data:A}),await l()}catch(_){throw e.error(S(_,t("common.operationFailed"))),_}},onSubmitMessage:async c=>{await Y(n,{content:c.content,...c.target!=null?{target:c.target}:{}}),await l()}},headerMoreItems:u,modeSwitch:i.room.hostSessionId==null||i.room.hostSessionId===""?void 0:{mode:"room",onOpenRoom:F,onOpenSession:K}})}export{Gt as AGENT_ROOM_DETAIL_REFRESH_INTERVAL_MS,Se as AgentRoomRoute,Qt as agentRoomDetailRevalidateOptions,zt as getAgentRoomDetailCacheKey};
1
+ import{j as v,n as N,h as D,k as H}from"./vendor-react-CnooHTJc.js";import{u as B,e as U}from"./vendor-state-zjcHRN98.js";import{bU as L,aI as V,c2 as W,cq as G,aD as S}from"./index-DdUqPqXW.js";import{b as z,d as J,g as Q,s as Y,r as X,u as k}from"./AuthenticatedApp-CK9TT7Nk.js";import{C,a as Z,b as tt,c as et,d as nt}from"./agent-room-session-paths-DNpYqOr3.js";import{S as ot}from"./WorkspaceApp-l-h_IsMp.js";import"./MobileAwareSelect-CCAQrsxL.js";import"./use-app-preferences-DGCafwsP.js";import"./route-plugin-chrome-bV1HEaju.js";import"./shortcutUtils-B8h6g_7o.js";import"./project-file-tree-icons-CfonMx-1.js";import"./index-ZOsqqPVv.js";import"./ComposerLanding-BChGuCjF.js";import"./index-BggFUwYR.js";import"./dockPanelConstants-OzU6hJl5.js";import"./workspace-file-openers-Dj_Cfk1S.js";import"./client-build-info-6B4KoYHs.js";import"./SchemaObjectEditor-DvwrURac.js";/* empty css */import"./index-YzfSzOLk.js";import"./index-nXq6jwfM.js";import"./Collapse-CxTS9FJh.js";import"./index-BIs5hzci.js";import"./use-chat-session-actions-wF_HiVzj.js";import"./interaction-panel-mobile-debug-pages-DXC3HSZU.js";import"./RouteContainerPanelTabs-D8pC61tF.js";import"./LauncherRoute-B94P9m3I.js";function rt({isRoomArchived:t,isRoomFavorited:e,messageApi:n,onToggleRoomArchive:o,onToggleRoomFavorite:r,roomId:i,t:s}){return[{key:"favorite-room",label:s(e?"agentRoom.sidebar.unfavoriteRoom":"agentRoom.sidebar.favoriteRoom"),icon:v.jsx("span",{className:`material-symbols-rounded chat-header-icon ${e?"is-filled":""}`,children:e?"star":"star_border"}),onClick:r},{key:"archive-room",label:s(t?"agentRoom.sidebar.unarchiveRoom":"agentRoom.sidebar.archiveRoom"),icon:v.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:t?"unarchive":"archive"}),onClick:o},{type:"divider"},{key:"copy-room-link",label:s("agentRoom.sidebar.copyRoomLink"),icon:v.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:"link"}),onClick:()=>{L({text:z(i),messageApi:n,successMessage:s("agentRoom.sidebar.roomLinkCopied"),failureMessage:s("common.copyFailed")})}},{key:"copy-room-id",label:s("agentRoom.sidebar.copyRoomId"),icon:v.jsx("span",{className:"material-symbols-rounded chat-header-icon",children:"fingerprint"}),onClick:()=>{L({text:i,messageApi:n,successMessage:s("agentRoom.sidebar.roomIdCopied"),failureMessage:s("common.copyFailed")})}}]}const it={assignment_sent:"assignment",attention_requested:"attention",member_joined:"system",run_completed:"completion",run_failed:"failure",run_replied:"reply",run_resumed:"reply",run_stopped:"failure"},st=new Set(["assignment_sent","attention_requested","member_joined","run_completed","run_failed","run_stopped"]),at=t=>t.room.hostSessionId==null||t.room.hostSessionId===""?`host:${t.room.id}`:`host:${t.room.hostSessionId}`,I=t=>t==="host"||(t==null?void 0:t.startsWith("host:")),R=t=>t==null?void 0:J(t).format("HH:mm"),ct=(t,e)=>e.some(n=>n.pendingCount>0||n.status==="waiting")?"waiting":t,lt=t=>t==="waiting"?"waiting":t==="active"?"active":t==="completed"?"completed":t==="failed"?"failed":t==="stopped"?"stopped":"idle",m=t=>t!=null&&typeof t=="object"&&!Array.isArray(t),ut=t=>t.eventType!=null?it[t.eventType]:t.role==="system"?"system":"message",q=t=>{const e=t.payload;return t.role==="agent"&&m(e)&&e.source==="child_session_message"},dt=t=>t.eventType!=null?st.has(t.eventType):t.role==="agent"&&I(t.memberKey)||q(t)?!0:t.role==="user"||t.role==="system",j=t=>m(t)&&m(t.target),mt=t=>m(t)&&(t.kind==="completed"||t.kind==="working"),pt=t=>t==="user"||t==="agent"||t==="system",P=t=>{if(!m(t)||!m(t.replyTo))return;const{replyTo:e}=t;if(typeof e.id!="string"||e.id.trim()===""||!pt(e.role)||typeof e.content!="string"||e.content.trim()==="")return;const n=typeof e.authorLabel=="string"&&e.authorLabel.trim()!==""?e.authorLabel.trim():void 0;return{id:e.id.trim(),role:e.role,content:e.content.trim(),...n!=null?{authorLabel:n}:{}}},w=t=>{if(!j(t))return;const e=typeof t.target.memberKey=="string"&&t.target.memberKey.trim()!==""?t.target.memberKey:void 0,n=typeof t.target.runKey=="string"&&t.target.runKey.trim()!==""?t.target.runKey:void 0;if(!(e==null&&n==null))return{...e!=null?{memberKey:e}:{},...n!=null?{runKey:n}:{}}},yt=t=>{if(!m(t)||!m(t.delivery)||typeof t.delivery.sessionId!="string")return;const e=t.delivery.sessionId.trim();return e===""?void 0:e},gt=(t,e,n,o,r)=>{const i=yt(e);if(i==null)return;if(n.room.hostSessionId!=null&&i===n.room.hostSessionId)return{isHost:!0,isCompleted:r.has(t.id)};const s=o.get(i);return s==null?void 0:{target:{memberKey:s.memberKey,runKey:s.runKey}}},vt=(t,e,n,o,r)=>{const i=w(e);return i!=null?{target:i}:gt(t,e,n,o,r)},O=(t,e,n,o)=>{const r=t.target??(e==null?void 0:e.target),i=(r==null?void 0:r.runKey)==null?void 0:o.get(r.runKey),s=(r==null?void 0:r.memberKey)??(i==null?void 0:i.memberKey),l=s==null?void 0:n.get(s),d=(e==null?void 0:e.isHost)===!0&&r==null,y=d?"leader":(l==null?void 0:l.label)??s??(i==null?void 0:i.memberKey);return{kind:t.kind==="working"&&((i==null?void 0:i.status)==="completed"||(e==null?void 0:e.isCompleted)===!0)?"completed":t.kind,...y!=null?{agentLabel:y}:{},...d?{isHost:!0}:{},...i!=null?{run:i}:{}}},bt=(t,e,n,o)=>!m(t)||!Array.isArray(t.reactions)?[]:t.reactions.filter(mt).map(r=>O(r,e,n,o)),ht=t=>{var e;return(e=w(t))==null?void 0:e.runKey},ft=t=>{if(!(t.role!=="agent"||!I(t.memberKey)))return ht(t.payload)??t.runKey},$=(t,e)=>{const n=ft(t);if(n==null)return;const o=w(t.payload),r=e.get(n),i=(o==null?void 0:o.memberKey)??(r==null?void 0:r.memberKey);return{...i!=null?{memberKey:i}:{},runKey:n}},Rt=(t,e,n)=>{if(!j(t))return;const o=typeof t.target.memberKey=="string"?t.target.memberKey:void 0,r=typeof t.target.runKey=="string"?t.target.runKey:void 0,i=r==null?void 0:n.get(r),s=o==null?void 0:e.get(o);if(i!=null)return`@${(s==null?void 0:s.label)??i.memberKey}/${i.title}`;if(s!=null)return`@${s.label}`},Kt=(t,e,n)=>{var r;if(t.eventType!=="assignment_sent"||t.runKey==null)return;const o=n.get(t.runKey);if(o!=null)return((r=e.get(o.memberKey))==null?void 0:r.label)??o.memberKey},It=(t,e,n)=>q(t)?void 0:t.eventType==="assignment_sent"?Kt(t,e,n):Rt(t.payload,e,n),At=t=>{if(!m(t)||!m(t.member)||typeof t.member.label!="string")return;const e=t.member.label.trim();return e===""?void 0:e},St=(t,e)=>{var o;if(t.eventType!=="member_joined")return;const n=At(t.payload)??(t.memberKey==null?void 0:((o=e.get(t.memberKey))==null?void 0:o.label)??t.memberKey);return n==null?void 0:{kind:"memberJoined",memberLabel:n}},Mt=(t,e)=>{var o;const n=new Map;for(const r of t){const i=$(r,e),s=i==null?void 0:i.runKey;if(i==null||s==null||((o=e.get(s))==null?void 0:o.status)!=="running")continue;const l=n.get(s);(l==null||r.createdAt>=l.createdAt)&&n.set(s,{createdAt:r.createdAt,id:r.id,target:i})}return new Map([...n.values()].map(r=>[r.id,r.target]))},wt=t=>new Set(t.flatMap(e=>{if(e.role!=="agent"||!I(e.memberKey))return[];const n=P(e.payload);return n==null?[]:[n.id]})),Tt=(t,e,n,o,r,i,s)=>{const l=vt(e,e.payload,t,r,i),d=bt(e.payload,l,n,o),y=s.get(e.id);return y!=null&&!d.some(g=>g.kind==="completed"||g.kind==="working")&&d.push(O({kind:"working",target:y},void 0,n,o)),d.length>0?d:void 0},T=t=>t.eventType==="attention_requested"&&m(t.payload)&&t.payload.type==="attention_requested"?t.payload:void 0,_t=t=>t==="confirmation"||t==="input"||t==="progress",Lt=t=>t==="pending"||t==="handled"||t==="expired",kt=t=>typeof t=="string"||Array.isArray(t)&&t.every(e=>typeof e=="string"),Ct=t=>{const e=t.payload;return t.eventType==="attention_requested"&&m(e)&&e.source==="host_session_interaction_request"&&e.type==="attention_requested"?e:void 0},xt=t=>{if(!m(t.permissionContext))return;const e=typeof t.permissionContext.subjectLabel=="string"?t.permissionContext.subjectLabel.trim():void 0;if(e!=null&&e!=="")return e;const n=typeof t.permissionContext.subjectKey=="string"?t.permissionContext.subjectKey.trim():void 0;return n==null||n===""?void 0:n},qt=t=>Array.isArray(t.options)?t.options.flatMap(e=>{if(!m(e)||typeof e.label!="string"||e.label.trim()==="")return[];const n=typeof e.value=="string"&&e.value.trim()!==""?e.value.trim():void 0,o=typeof e.description=="string"&&e.description.trim()!==""?e.description.trim():void 0;return[{label:e.label.trim(),...n!=null?{value:n}:{},...o!=null?{description:o}:{}}]}):[],jt=t=>{const e=Ct(t);if(e==null||typeof e.sessionId!="string"||e.sessionId.trim()===""||typeof e.interactionId!="string"||e.interactionId.trim()===""||!_t(e.requestKind)||!Lt(e.status))return;const n=xt(e);return{sessionId:e.sessionId.trim(),interactionId:e.interactionId.trim(),requestKind:e.requestKind,status:e.status,options:qt(e),...kt(e.response)?{response:e.response}:{},...n!=null?{subjectLabel:n}:{}}},Pt=t=>{const e=T(t);if(!((e==null?void 0:e.requestKind)!=="confirmation"||t.memberKey==null||t.runKey==null))return`${t.memberKey}:${t.runKey}`},Ot=t=>/已代为批准|批准|放行|同意|approved|allow_once|allow_session|allow_project|codex-approval/i.test(t),$t=(t,e)=>{var i;if(t.eventType!=null||t.role!=="agent"||!I(t.memberKey)||!Ot(t.content))return;const n=$(t,e),o=n==null?void 0:n.runKey;if(n==null||o==null)return;const r=n.memberKey??((i=e.get(o))==null?void 0:i.memberKey);return r==null?void 0:`${r}:${o}`},E=t=>{var n;const e=(n=T(t))==null?void 0:n.interactionId;return typeof e=="string"&&e.trim()!==""?e:void 0},Et=t=>{var n;const e=(n=T(t))==null?void 0:n.options;return Array.isArray(e)?e.flatMap(o=>{if(!m(o)||typeof o.label!="string"||o.label.trim()==="")return[];const r=typeof o.value=="string"&&o.value.trim()!==""?` (${o.value})`:"";return[`${o.label}${r}`]}):[]},Ft=(t,e)=>{const n=new Map;for(const o of t){const r=Pt(o);if(r==null)continue;const i=n.get(r)??{key:r,requests:[],actions:[]};i.requests.push(o),n.set(r,i)}for(const o of t){const r=$t(o,e);if(r==null)continue;const i=n.get(r);i!=null&&i.actions.push(o)}return[...n.values()].filter(o=>o.requests.length>1||o.actions.length>0)},Nt=(t,e)=>{const n=t.at(-1);if((n==null?void 0:n.runKey)==null)return;const o=e.get(n.runKey);if((o==null?void 0:o.status)!=="waiting")return;const r=o.interactionId,i=E(n);if(!(r!=null&&i!==r))return n.id},Dt=(t,e)=>({id:t.id,content:t.content,createdAtLabel:R(t.createdAt),interactionId:E(t),status:t.id===e?"pending":"handled",optionLabels:Et(t)}),Ht=t=>[...new Set(t.content.match(/codex-approval:\d+/g)??[])],Bt=t=>({id:t.id,content:t.content,createdAtLabel:R(t.createdAt),interactionIds:Ht(t)}),Ut=(t,e,n,o,r,i,s)=>({id:e.id,role:e.role,kind:ut(e),content:e.content,memberKey:e.eventType==="assignment_sent"?at(t):e.memberKey,runKey:e.runKey,createdAtLabel:R(e.createdAt),replyTo:P(e.payload),systemMessage:St(e,n),reactions:Tt(t,e,n,o,r,i,s),targetLabel:It(e,n,o),interactionRequest:jt(e)}),Vt=(t,e,n)=>{const o=t.requests.at(-1);if(o==null)throw new Error("Cannot build empty approval batch.");const r=[...t.requests,...t.actions].reduce((p,h)=>h.createdAt>=p.createdAt?h:p,o),i=Nt(t.requests,n),s=t.requests.map(p=>Dt(p,i)),l=t.actions.map(Bt),d=s.filter(p=>p.status==="pending").length,y=s.find(p=>p.status==="pending")??s.at(-1);if(y==null)throw new Error("Cannot build approval batch without items.");const g=o.memberKey==null?void 0:e.get(o.memberKey),b=o.runKey==null?void 0:n.get(o.runKey),f=(g==null?void 0:g.label)??o.memberKey??"Agent",a=(b==null?void 0:b.title)??o.runKey??"",u={totalCount:s.length,pendingCount:d,handledCount:s.length-d,actionCount:l.length,memberLabel:f,runTitle:a,latest:y,items:s,actions:l};return{id:`approval-batch:${r.id}`,role:"agent",kind:d>0?"attention":"message",content:`${f} approval queue`,memberKey:o.memberKey,runKey:o.runKey,createdAtLabel:R(r.createdAt),approvalBatch:u}};function Wt(t){const e=new Map;for(const a of t.runs){const u={runKey:a.key,memberKey:a.memberKey,sessionId:a.sessionId,title:a.title,status:a.status,latestSummary:a.latestSummary,interactionId:a.interactionId,pendingCount:a.status==="waiting"?1:void 0,updatedAtLabel:R(a.updatedAt)},p=e.get(a.memberKey)??[];p.push(u),e.set(a.memberKey,p)}const n=t.members.map(a=>({memberKey:a.key,kind:a.kind,label:a.label,subtitle:a.subtitle,avatarLabel:a.avatar,status:lt(a.status),pendingCount:a.pendingCount,activeRunCount:a.activeRunCount,latestSummary:a.latestSummary,runs:e.get(a.key)??[]})),o=new Map(n.map(a=>[a.memberKey,a])),r=new Map(n.flatMap(a=>a.runs.map(u=>[u.runKey,u]))),i=new Map(n.flatMap(a=>a.runs.map(u=>[u.sessionId,u]))),s=wt(t.messages),l=Mt(t.messages,r),d=t.messages.filter(dt),y=Ft(d,r),g=new Set(y.flatMap(a=>[...a.requests,...a.actions].map(u=>u.id))),b=new Map(y.flatMap(a=>{const u=a.requests.at(-1);return u==null?[]:[[[...a.requests,...a.actions].reduce((h,K)=>K.createdAt>=h.createdAt?K:h,u).id,a]]})),f=d.flatMap(a=>{const u=b.get(a.id);return u!=null?[Vt(u,o,r)]:g.has(a.id)?[]:[Ut(t,a,o,r,i,s,l)]});return{id:t.room.id,title:t.room.title,subtitle:t.room.lastMessage,status:ct(t.room.status,n),members:n,messages:f,updatedAtLabel:R(t.room.updatedAt)}}const Gt=1e3,zt=t=>`/api/agent-rooms/${t}`,x="agentRoomMode",Jt="session",M=t=>t.toString()===""?"":`?${t.toString()}`,Qt={refreshInterval:Gt,revalidateOnFocus:!0};function Se(){const{t}=B(),{message:e}=V.useApp(),{roomId:n}=N(),o=D(),[r]=H(),{data:i,isLoading:s,mutate:l}=U(n==null?null:zt(n),()=>Q(n??""),Qt),d=n!=null&&!s&&i==null;if(W(d),n==null||s)return v.jsx(C,{isReady:!1,children:v.jsx("div",{className:"chat-route__loading-state",children:v.jsx(ot,{size:"large"})})});if(i==null)return v.jsx(C,{title:t("common.roomNotFound"),children:v.jsx(G,{actions:[{kind:"home",onClick:()=>void o("/")},{kind:"retry",onClick:()=>void l()}],description:t("errorState.roomNotFoundDescription"),details:{copyText:`${t("errorState.roomId")}: ${n??"n/a"}`,items:[{label:t("errorState.roomId"),mono:!0,value:n??"n/a"}],title:t("errorState.diagnostics")},mobileDescription:t("common.roomNotFound"),severity:"info",title:t("common.roomNotFound")})});const y=Wt(i),g=i.room.favoritedAt!=null,b=i.room.archivedAt!=null,f=async()=>{try{await k(n,{isFavorited:!g}),e.success(t(g?"agentRoom.sidebar.unfavoriteRoom":"agentRoom.sidebar.favoriteRoom")),await l()}catch(c){e.error(S(c,t("common.operationFailed")))}},a=async()=>{const c=!b;try{if(await k(n,{isArchived:c}),e.success(t(c?"agentRoom.sidebar.archiveRoom":"agentRoom.sidebar.unarchiveRoom")),c){l(),o(nt(r),{replace:!0});return}await l()}catch(A){e.error(S(A,t("common.operationFailed")))}},u=rt({isRoomArchived:b,isRoomFavorited:g,messageApi:e,onToggleRoomArchive:()=>void a(),onToggleRoomFavorite:()=>void f(),roomId:n,t}),p=c=>`${tt(n,c)}${M(new URLSearchParams(r))}`,h=c=>void o(p(c.sessionId)),K=()=>{if(i.room.hostSessionId==null||i.room.hostSessionId==="")return;const c=new URLSearchParams(r);c.set(x,Jt),o({pathname:`/session/${encodeURIComponent(i.room.hostSessionId)}`,search:M(c)})},F=()=>{const c=new URLSearchParams(r);c.delete(x),o({pathname:et(n),search:M(c)})};return v.jsx(Z,{agentRoomTranscript:{room:y,roomIconStatus:i.room.status,members:y.members,workspaceSessionId:i.room.hostSessionId,onOpenHostSession:K,onOpenRun:h,onReplyToRun:c=>{c.run!=null&&o(p(c.run.sessionId))},onRespondInteraction:async(c,A)=>{try{await X(n,c,{data:A}),await l()}catch(_){throw e.error(S(_,t("common.operationFailed"))),_}},onSubmitMessage:async c=>{await Y(n,{content:c.content,...c.target!=null?{target:c.target}:{}}),await l()}},headerMoreItems:u,modeSwitch:i.room.hostSessionId==null||i.room.hostSessionId===""?void 0:{mode:"room",onOpenRoom:F,onOpenSession:K}})}export{Gt as AGENT_ROOM_DETAIL_REFRESH_INTERVAL_MS,Se as AgentRoomRoute,Qt as agentRoomDetailRevalidateOptions,zt as getAgentRoomDetailCacheKey};
@@ -1,3 +1,3 @@
1
- import{n as N,h as C,k as $,j as s}from"./vendor-react-CnooHTJc.js";import{C as l,a as A,c as E}from"./agent-room-session-paths-Dca8S6NN.js";import{u as v,e as k}from"./vendor-state-BYwEPTaO.js";import{c2 as F,cq as f,aD as g}from"./index-Cp4GfHnF.js";import{g as K,a as M,c as T}from"./AuthenticatedApp-CgBrvMuc.js";import{S as b}from"./WorkspaceApp-BNmtIdn4.js";import"./route-plugin-chrome-B-Goj3vG.js";import"./MobileAwareSelect-BmK6WApn.js";import"./shortcutUtils-20iqPDwh.js";import"./use-app-preferences-gyulV-hA.js";import"./ComposerLanding-SZn_zRGX.js";import"./index-CJEVYkL9.js";import"./index-CWmEuVWV.js";import"./dockPanelConstants-BWuu_DJp.js";import"./workspace-file-openers-BwZ5cSeq.js";import"./client-build-info-bcijLdfD.js";import"./project-file-tree-icons-DqqhgvoI.js";import"./SchemaObjectEditor-B9fPfDyT.js";/* empty css */import"./index-sFqkb8xv.js";import"./index-DBUG8CzV.js";import"./Collapse-B-oCiEx4.js";import"./index-D4eelxQF.js";import"./use-chat-session-actions-DDZ5KCua.js";import"./interaction-panel-mobile-debug-pages-1Gdivksn.js";import"./RouteContainerPanelTabs-BnIptVwq.js";import"./LauncherRoute-Qt8dQkIk.js";const _=e=>`/api/agent-rooms/${e}`,L="agentRoomMode",D=e=>{const t=e.toString();return t===""?"":`?${t}`},O=e=>{const t=new Map;for(const o of e.runs){const r=t.get(o.memberKey)??[];r.push({runKey:o.key,memberKey:o.memberKey,sessionId:o.sessionId,title:o.title,status:o.status}),t.set(o.memberKey,r)}return e.members.map(o=>({memberKey:o.key,kind:o.kind,label:o.label,subtitle:o.subtitle,avatarLabel:o.avatar,status:o.status,pendingCount:o.pendingCount,activeRunCount:o.activeRunCount,latestSummary:o.latestSummary,runs:t.get(o.key)??[]}))};function P({description:e,diagnostics:t,onBack:o,onRetry:r}){const{t:n}=v();return s.jsx(l,{title:e,children:s.jsx(f,{actions:[{kind:"home",label:n("agentRoom.actions.backToRoom"),onClick:o},{kind:"retry",onClick:r}],description:n("errorState.sessionNotFoundDescription"),details:{copyText:[`${n("errorState.roomId")}: ${t.roomId??"n/a"}`,`${n("errorState.sessionId")}: ${t.sessionId??"n/a"}`,`${n("errorState.diagnostics")}: ${t.message}`].join(`
1
+ import{n as N,h as C,k as $,j as s}from"./vendor-react-CnooHTJc.js";import{C as l,a as A,c as E}from"./agent-room-session-paths-DNpYqOr3.js";import{u as v,e as k}from"./vendor-state-zjcHRN98.js";import{c2 as F,cq as f,aD as g}from"./index-DdUqPqXW.js";import{g as K,a as M,c as T}from"./AuthenticatedApp-CK9TT7Nk.js";import{S as b}from"./WorkspaceApp-l-h_IsMp.js";import"./route-plugin-chrome-bV1HEaju.js";import"./MobileAwareSelect-CCAQrsxL.js";import"./shortcutUtils-B8h6g_7o.js";import"./use-app-preferences-DGCafwsP.js";import"./ComposerLanding-BChGuCjF.js";import"./index-BggFUwYR.js";import"./index-ZOsqqPVv.js";import"./dockPanelConstants-OzU6hJl5.js";import"./workspace-file-openers-Dj_Cfk1S.js";import"./client-build-info-6B4KoYHs.js";import"./project-file-tree-icons-CfonMx-1.js";import"./SchemaObjectEditor-DvwrURac.js";/* empty css */import"./index-YzfSzOLk.js";import"./index-nXq6jwfM.js";import"./Collapse-CxTS9FJh.js";import"./index-BIs5hzci.js";import"./use-chat-session-actions-wF_HiVzj.js";import"./interaction-panel-mobile-debug-pages-DXC3HSZU.js";import"./RouteContainerPanelTabs-D8pC61tF.js";import"./LauncherRoute-B94P9m3I.js";const _=e=>`/api/agent-rooms/${e}`,L="agentRoomMode",D=e=>{const t=e.toString();return t===""?"":`?${t}`},O=e=>{const t=new Map;for(const o of e.runs){const r=t.get(o.memberKey)??[];r.push({runKey:o.key,memberKey:o.memberKey,sessionId:o.sessionId,title:o.title,status:o.status}),t.set(o.memberKey,r)}return e.members.map(o=>({memberKey:o.key,kind:o.kind,label:o.label,subtitle:o.subtitle,avatarLabel:o.avatar,status:o.status,pendingCount:o.pendingCount,activeRunCount:o.activeRunCount,latestSummary:o.latestSummary,runs:t.get(o.key)??[]}))};function P({description:e,diagnostics:t,onBack:o,onRetry:r}){const{t:n}=v();return s.jsx(l,{title:e,children:s.jsx(f,{actions:[{kind:"home",label:n("agentRoom.actions.backToRoom"),onClick:o},{kind:"retry",onClick:r}],description:n("errorState.sessionNotFoundDescription"),details:{copyText:[`${n("errorState.roomId")}: ${t.roomId??"n/a"}`,`${n("errorState.sessionId")}: ${t.sessionId??"n/a"}`,`${n("errorState.diagnostics")}: ${t.message}`].join(`
2
2
  `),items:[{label:n("errorState.roomId"),mono:!0,value:t.roomId??"n/a"},{label:n("errorState.sessionId"),mono:!0,value:t.sessionId??"n/a"},{label:n("errorState.diagnostics"),value:t.message}],title:n("errorState.diagnostics")},mobileDescription:e,severity:"info",title:e})})}function So(){const{t:e}=v(),{roomId:t,sessionId:o}=N(),r=C(),[n]=$(),u=()=>{if(t==null){r("/");return}const m=new URLSearchParams(n);m.delete(L),r({pathname:E(t),search:D(m)})},{data:a,error:i,isLoading:c,mutate:x}=k(t==null?null:_(t),()=>K(t??"")),{data:d,error:p,isLoading:R,mutate:j}=k(o==null?null:M(o),()=>T(o??"")),h=t!=null&&!c&&(a==null||i!=null),S=d==null?void 0:d.session,y=a==null?void 0:a.runs.find(m=>m.sessionId===o),I=t!=null&&o!=null&&!c&&!R&&!h&&(y==null||S==null||p!=null);return F(h||I),t==null||o==null?s.jsx(l,{children:s.jsx("div",{className:"chat-route__loading-state",children:s.jsx(b,{size:"large"})})}):c||R?s.jsx(l,{isReady:!1,children:s.jsx("div",{className:"chat-route__loading-state",children:s.jsx(b,{size:"large"})})}):a==null||i!=null?s.jsx(l,{title:e("common.roomNotFound"),children:s.jsx(f,{actions:[{kind:"home",onClick:()=>void r("/")},{kind:"retry",onClick:()=>void x()}],description:e("errorState.roomNotFoundDescription"),details:{copyText:[`${e("errorState.roomId")}: ${t}`,`${e("errorState.diagnostics")}: ${g(i,"n/a")}`].join(`
3
3
  `),items:[{label:e("errorState.roomId"),mono:!0,value:t},{label:e("errorState.diagnostics"),value:g(i,"n/a")}],title:e("errorState.diagnostics")},mobileDescription:e("common.roomNotFound"),severity:"info",title:e("common.roomNotFound")})}):y==null||S==null||p!=null?s.jsx(P,{diagnostics:{message:g(p,"n/a"),roomId:t,sessionId:o},description:e("common.sessionNotFound"),onBack:u,onRetry:()=>void j()}):s.jsx(A,{headerBreadcrumb:{backLabel:e("agentRoom.actions.backToRoom"),parentTitle:a.room.title,onBack:u},isAgentRoomSession:!0,agentRoomSourceMembers:O(a),modeSwitch:{mode:"session",onOpenRoom:u,onOpenSession:()=>{}},session:S})}export{So as AgentRoomSessionRoute};
@@ -1 +1 @@
1
- import{r as j,j as e}from"./vendor-react-CnooHTJc.js";import{e as L,l as $,R as H,P as N,L as C,T as Y,d as O,f as Q,h as A,i as M}from"./AuthenticatedApp-CgBrvMuc.js";import{u as U,e as V}from"./vendor-state-BYwEPTaO.js";import{o as q}from"./route-plugin-chrome-B-Goj3vG.js";import{aI as G,B as m,aD as g}from"./index-Cp4GfHnF.js";import{T as d,E as R}from"./MobileAwareSelect-BmK6WApn.js";import{C as k,I as W}from"./index-CWmEuVWV.js";import{S as J}from"./shortcutUtils-20iqPDwh.js";import"./use-app-preferences-gyulV-hA.js";import"./project-file-tree-icons-DqqhgvoI.js";import"./WorkspaceApp-BNmtIdn4.js";import"./client-build-info-bcijLdfD.js";function K(){const{t:a}=U(),{message:o}=G.useApp(),{isCompactView:y,openRouteSidebar:z}=L(),{data:b,mutate:_}=V("/api/sessions/archived",async()=>$("archived")),p=(b==null?void 0:b.sessions)??[],[h,I]=j.useState(""),[c,r]=j.useState(new Set),[n,x]=j.useState(!1),{headerActions:P}=q("archive"),l=j.useMemo(()=>{if(h.trim()==="")return p;const s=h.toLowerCase();return p.filter(i=>{const v=i.title??"",u=i.lastMessage??"",w=i.lastUserMessage??"",t=(i.tags??[]).join(" ");return`${v} ${i.id} ${u} ${w} ${t}`.toLowerCase().includes(s)})},[p,h]),T=async s=>{try{await A(s,{isArchived:!1}),o.success(a("common.restoreSuccess","Restored successfully")),_()}catch(i){o.error(g(i,a("common.restoreFailed","Failed to restore")))}},D=async s=>{try{await M(s),o.success(a("common.deleteSuccess","Deleted successfully")),_()}catch(i){o.error(g(i,a("common.deleteFailed","Failed to delete")))}},S=s=>{const i=new Set(c);i.has(s)?i.delete(s):i.add(s),r(i)},E=s=>{r(s?new Set(l.map(i=>i.id)):new Set)},B=async()=>{try{await Promise.all(Array.from(c).map(async s=>A(s,{isArchived:!1}))),o.success(a("common.batchRestoreSuccess","Batch restored successfully")),r(new Set),x(!1),_()}catch(s){o.error(g(s,a("common.batchRestoreFailed","Failed to restore some sessions")))}},F=async()=>{try{await Promise.all(Array.from(c).map(async s=>M(s))),o.success(a("common.batchDeleteSuccess","Batch deleted successfully")),r(new Set),x(!1),_()}catch(s){o.error(g(s,a("common.batchDeleteFailed","Failed to delete some sessions")))}},f=l.length>0&&c.size===l.length;return e.jsxs(H,{className:`archive-view ${y?"archive-view--compact":""}`,bodyClassName:"archive-view__body",contentInset:!0,header:e.jsx(Q,{actionItems:P,icon:"archive",onOpenSidebar:z,title:a("common.archivedSessions")}),children:[e.jsxs("div",{className:"archive-view__toolbar",children:[n&&e.jsx("div",{className:"archive-view__select-all",children:e.jsx(d,{title:a(f?"common.deselectAll":"common.selectAll"),children:e.jsx(k,{checked:f,indeterminate:c.size>0&&c.size<l.length,onChange:s=>E(s.target.checked)})})}),e.jsx(W,{prefix:e.jsx("span",{className:"material-symbols-rounded archive-view__search-icon",children:"search"}),placeholder:a("common.search"),value:h,onChange:s=>I(s.target.value),allowClear:!0,className:"archive-view__search-input"}),e.jsx(J,{size:6,className:"archive-view__toolbar-actions",children:n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"archive-view__batch-info",children:a("common.selectedCount",{count:c.size})}),e.jsx(d,{title:a("common.cancel"),children:e.jsx(m,{icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"close"}),onClick:()=>{x(!1),r(new Set)},className:"archive-view__icon-button"})}),e.jsx(d,{title:a("common.batchRestore"),children:e.jsx(m,{type:"primary",icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:()=>{B()},disabled:c.size===0,className:"archive-view__icon-button"})}),e.jsx(N,{title:a("common.deleteConfirm",{count:c.size}),onConfirm:()=>{F()},disabled:c.size===0,children:e.jsx(d,{title:a("common.batchDelete"),children:e.jsx(m,{danger:!0,icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete_sweep"}),disabled:c.size===0,className:"archive-view__icon-button"})})})]}):e.jsx(d,{title:a("common.batchMode"),children:e.jsx(m,{icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"checklist"}),onClick:()=>x(!0),disabled:p.length===0,className:"archive-view__icon-button"})})})]}),e.jsx("div",{className:"archive-view__list",children:l.length===0?e.jsx(R,{image:R.PRESENTED_IMAGE_SIMPLE,description:a(h?"common.noSessions":"common.noArchivedSessions")}):e.jsx(C,{itemLayout:"horizontal",dataSource:l,renderItem:s=>{const i=s.title!=null&&s.title!==""?s.title:s.lastMessage!=null&&s.lastMessage!==""?s.lastMessage:a("common.newChat"),v=s.tags??[],u=y?v.slice(0,1):v,w=Math.max(v.length-u.length,0);return e.jsx(C.Item,{className:["archive-view__item",c.has(s.id)?"archive-view__item--selected":"",n?"archive-view__item--batch":""].filter(Boolean).join(" "),onClick:()=>n&&S(s.id),children:e.jsxs("div",{className:"archive-view__item-row",children:[n&&e.jsx("div",{className:"archive-view__item-select",children:e.jsx(k,{checked:c.has(s.id),onChange:()=>S(s.id),onClick:t=>t.stopPropagation()})}),e.jsx("span",{className:"material-symbols-rounded archive-view__item-icon",children:"chat_bubble"}),e.jsxs("div",{className:"archive-view__item-main",children:[e.jsx("span",{className:"archive-view__item-title",children:i}),e.jsxs("div",{className:"archive-view__item-meta",children:[u.length>0&&e.jsxs("div",{className:"archive-view__item-tags",children:[u.map(t=>e.jsx(Y,{className:"archive-view__item-tag",children:t},t)),w>0&&e.jsxs("span",{className:"archive-view__item-tag-count",children:["+",w]})]}),e.jsx("span",{className:"archive-view__item-time",children:O(s.createdAt).format("YYYY-MM-DD HH:mm")})]})]}),!n&&e.jsxs("div",{className:"archive-view__item-actions",children:[e.jsx(d,{title:a("common.restore"),children:e.jsx(m,{type:"text",size:"small",className:"archive-view__item-action-button",icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:t=>{t.stopPropagation(),T(s.id)}})}),e.jsx(N,{title:a("common.deleteSessionConfirm"),onConfirm:t=>{t==null||t.stopPropagation(),D(s.id)},children:e.jsx(m,{type:"text",size:"small",danger:!0,className:"archive-view__item-action-button",icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete"}),onClick:t=>t.stopPropagation()})})]})]})})}})})]})}function de(){return e.jsx(K,{})}export{de as ArchiveRoute};
1
+ import{r as j,j as e}from"./vendor-react-CnooHTJc.js";import{e as L,l as $,R as H,P as N,L as C,T as Y,d as O,f as Q,h as A,i as M}from"./AuthenticatedApp-CK9TT7Nk.js";import{u as U,e as V}from"./vendor-state-zjcHRN98.js";import{o as q}from"./route-plugin-chrome-bV1HEaju.js";import{aI as G,B as m,aD as g}from"./index-DdUqPqXW.js";import{T as d,E as R}from"./MobileAwareSelect-CCAQrsxL.js";import{C as k,I as W}from"./index-ZOsqqPVv.js";import{S as J}from"./shortcutUtils-B8h6g_7o.js";import"./use-app-preferences-DGCafwsP.js";import"./project-file-tree-icons-CfonMx-1.js";import"./WorkspaceApp-l-h_IsMp.js";import"./client-build-info-6B4KoYHs.js";function K(){const{t:a}=U(),{message:o}=G.useApp(),{isCompactView:y,openRouteSidebar:z}=L(),{data:b,mutate:_}=V("/api/sessions/archived",async()=>$("archived")),p=(b==null?void 0:b.sessions)??[],[h,I]=j.useState(""),[c,r]=j.useState(new Set),[n,x]=j.useState(!1),{headerActions:P}=q("archive"),l=j.useMemo(()=>{if(h.trim()==="")return p;const s=h.toLowerCase();return p.filter(i=>{const v=i.title??"",u=i.lastMessage??"",w=i.lastUserMessage??"",t=(i.tags??[]).join(" ");return`${v} ${i.id} ${u} ${w} ${t}`.toLowerCase().includes(s)})},[p,h]),T=async s=>{try{await A(s,{isArchived:!1}),o.success(a("common.restoreSuccess","Restored successfully")),_()}catch(i){o.error(g(i,a("common.restoreFailed","Failed to restore")))}},D=async s=>{try{await M(s),o.success(a("common.deleteSuccess","Deleted successfully")),_()}catch(i){o.error(g(i,a("common.deleteFailed","Failed to delete")))}},S=s=>{const i=new Set(c);i.has(s)?i.delete(s):i.add(s),r(i)},E=s=>{r(s?new Set(l.map(i=>i.id)):new Set)},B=async()=>{try{await Promise.all(Array.from(c).map(async s=>A(s,{isArchived:!1}))),o.success(a("common.batchRestoreSuccess","Batch restored successfully")),r(new Set),x(!1),_()}catch(s){o.error(g(s,a("common.batchRestoreFailed","Failed to restore some sessions")))}},F=async()=>{try{await Promise.all(Array.from(c).map(async s=>M(s))),o.success(a("common.batchDeleteSuccess","Batch deleted successfully")),r(new Set),x(!1),_()}catch(s){o.error(g(s,a("common.batchDeleteFailed","Failed to delete some sessions")))}},f=l.length>0&&c.size===l.length;return e.jsxs(H,{className:`archive-view ${y?"archive-view--compact":""}`,bodyClassName:"archive-view__body",contentInset:!0,header:e.jsx(Q,{actionItems:P,icon:"archive",onOpenSidebar:z,title:a("common.archivedSessions")}),children:[e.jsxs("div",{className:"archive-view__toolbar",children:[n&&e.jsx("div",{className:"archive-view__select-all",children:e.jsx(d,{title:a(f?"common.deselectAll":"common.selectAll"),children:e.jsx(k,{checked:f,indeterminate:c.size>0&&c.size<l.length,onChange:s=>E(s.target.checked)})})}),e.jsx(W,{prefix:e.jsx("span",{className:"material-symbols-rounded archive-view__search-icon",children:"search"}),placeholder:a("common.search"),value:h,onChange:s=>I(s.target.value),allowClear:!0,className:"archive-view__search-input"}),e.jsx(J,{size:6,className:"archive-view__toolbar-actions",children:n?e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"archive-view__batch-info",children:a("common.selectedCount",{count:c.size})}),e.jsx(d,{title:a("common.cancel"),children:e.jsx(m,{icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"close"}),onClick:()=>{x(!1),r(new Set)},className:"archive-view__icon-button"})}),e.jsx(d,{title:a("common.batchRestore"),children:e.jsx(m,{type:"primary",icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:()=>{B()},disabled:c.size===0,className:"archive-view__icon-button"})}),e.jsx(N,{title:a("common.deleteConfirm",{count:c.size}),onConfirm:()=>{F()},disabled:c.size===0,children:e.jsx(d,{title:a("common.batchDelete"),children:e.jsx(m,{danger:!0,icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete_sweep"}),disabled:c.size===0,className:"archive-view__icon-button"})})})]}):e.jsx(d,{title:a("common.batchMode"),children:e.jsx(m,{icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"checklist"}),onClick:()=>x(!0),disabled:p.length===0,className:"archive-view__icon-button"})})})]}),e.jsx("div",{className:"archive-view__list",children:l.length===0?e.jsx(R,{image:R.PRESENTED_IMAGE_SIMPLE,description:a(h?"common.noSessions":"common.noArchivedSessions")}):e.jsx(C,{itemLayout:"horizontal",dataSource:l,renderItem:s=>{const i=s.title!=null&&s.title!==""?s.title:s.lastMessage!=null&&s.lastMessage!==""?s.lastMessage:a("common.newChat"),v=s.tags??[],u=y?v.slice(0,1):v,w=Math.max(v.length-u.length,0);return e.jsx(C.Item,{className:["archive-view__item",c.has(s.id)?"archive-view__item--selected":"",n?"archive-view__item--batch":""].filter(Boolean).join(" "),onClick:()=>n&&S(s.id),children:e.jsxs("div",{className:"archive-view__item-row",children:[n&&e.jsx("div",{className:"archive-view__item-select",children:e.jsx(k,{checked:c.has(s.id),onChange:()=>S(s.id),onClick:t=>t.stopPropagation()})}),e.jsx("span",{className:"material-symbols-rounded archive-view__item-icon",children:"chat_bubble"}),e.jsxs("div",{className:"archive-view__item-main",children:[e.jsx("span",{className:"archive-view__item-title",children:i}),e.jsxs("div",{className:"archive-view__item-meta",children:[u.length>0&&e.jsxs("div",{className:"archive-view__item-tags",children:[u.map(t=>e.jsx(Y,{className:"archive-view__item-tag",children:t},t)),w>0&&e.jsxs("span",{className:"archive-view__item-tag-count",children:["+",w]})]}),e.jsx("span",{className:"archive-view__item-time",children:O(s.createdAt).format("YYYY-MM-DD HH:mm")})]})]}),!n&&e.jsxs("div",{className:"archive-view__item-actions",children:[e.jsx(d,{title:a("common.restore"),children:e.jsx(m,{type:"text",size:"small",className:"archive-view__item-action-button",icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"unarchive"}),onClick:t=>{t.stopPropagation(),T(s.id)}})}),e.jsx(N,{title:a("common.deleteSessionConfirm"),onConfirm:t=>{t==null||t.stopPropagation(),D(s.id)},children:e.jsx(m,{type:"text",size:"small",danger:!0,className:"archive-view__item-action-button",icon:e.jsx("span",{className:"material-symbols-rounded archive-view__action-icon",children:"delete"}),onClick:t=>t.stopPropagation()})})]})]})})}})})]})}function de(){return e.jsx(K,{})}export{de as ArchiveRoute};