openpond 0.0.30-bootstrap.0

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 (193) hide show
  1. package/CHANGELOG.md +128 -0
  2. package/LICENSE +21 -0
  3. package/README.md +162 -0
  4. package/RELEASE.md +20 -0
  5. package/dist/api/core.d.ts +22 -0
  6. package/dist/api/deployments.d.ts +30 -0
  7. package/dist/api/types.d.ts +624 -0
  8. package/dist/api.d.ts +90 -0
  9. package/dist/cache.d.ts +22 -0
  10. package/dist/chunks/app-layer-YKXEQGOW.js +163 -0
  11. package/dist/chunks/apps-GGSIN2ZF.js +539 -0
  12. package/dist/chunks/chunk-3CC6MH35.js +1663 -0
  13. package/dist/chunks/chunk-3Y4EL3P6.js +1090 -0
  14. package/dist/chunks/chunk-4HYJG2JE.js +3875 -0
  15. package/dist/chunks/chunk-5G4E547X.js +294 -0
  16. package/dist/chunks/chunk-74O6FGVN.js +598 -0
  17. package/dist/chunks/chunk-AUJLPKGI.js +632 -0
  18. package/dist/chunks/chunk-BYAPLT37.js +744 -0
  19. package/dist/chunks/chunk-FUP7EGT7.js +1845 -0
  20. package/dist/chunks/chunk-I6HN3ZGW.js +88 -0
  21. package/dist/chunks/chunk-KRKGHVMQ.js +294 -0
  22. package/dist/chunks/chunk-LHYK6QO2.js +1300 -0
  23. package/dist/chunks/chunk-NLBKZZEK.js +224 -0
  24. package/dist/chunks/chunk-OG75GMVO.js +1 -0
  25. package/dist/chunks/chunk-Q57SVPEH.js +11663 -0
  26. package/dist/chunks/chunk-UACZUFIA.js +47 -0
  27. package/dist/chunks/chunk-VQX33YAG.js +5135 -0
  28. package/dist/chunks/chunk-W5GKHH77.js +168 -0
  29. package/dist/chunks/chunk-WYDVQOBL.js +17581 -0
  30. package/dist/chunks/chunk-XSAXENQD.js +4167 -0
  31. package/dist/chunks/chunk-Y6G6WRTG.js +210 -0
  32. package/dist/chunks/cli-NVKNE4AZ.js +11 -0
  33. package/dist/chunks/cli-X3HPLSOV.js +19 -0
  34. package/dist/chunks/core-commands-IM2UKLU4.js +41 -0
  35. package/dist/chunks/extend-YXCBULPO.js +84 -0
  36. package/dist/chunks/harness-GMK6IY2U.js +140 -0
  37. package/dist/chunks/help-LMH5FGT2.js +65 -0
  38. package/dist/chunks/opchat-BWXZ32GX.js +169 -0
  39. package/dist/chunks/organizations-4ISQRGMQ.js +738 -0
  40. package/dist/chunks/profile-NLDZDT3L.js +1110 -0
  41. package/dist/chunks/project-agent-ZPVO25HA.js +892 -0
  42. package/dist/chunks/sandbox-command-5GFJ2U3V.js +1652 -0
  43. package/dist/chunks/sandbox-template-LZN4F55Z.js +1646 -0
  44. package/dist/chunks/src-3RBI4DNN.js +3595 -0
  45. package/dist/chunks/src-EYXQS6XD.js +73427 -0
  46. package/dist/chunks/teams-bot-WP3FHKGA.js +137 -0
  47. package/dist/cli.js +77 -0
  48. package/dist/client-types.d.ts +222 -0
  49. package/dist/client.d.ts +19 -0
  50. package/dist/config.d.ts +184 -0
  51. package/dist/hosted-chat.d.ts +162 -0
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.js +25481 -0
  54. package/dist/indicators.d.ts +38 -0
  55. package/dist/opchat-smoke.d.ts +47 -0
  56. package/dist/private-json-file.d.ts +3 -0
  57. package/dist/profile/local-profile-types.d.ts +160 -0
  58. package/dist/profile/local-profile.d.ts +69 -0
  59. package/dist/profile/profile-catalog.d.ts +14 -0
  60. package/dist/profile/profile-git.d.ts +17 -0
  61. package/dist/profile/profile-promotion.d.ts +21 -0
  62. package/dist/profile/profile-setup-gate.d.ts +22 -0
  63. package/dist/profile/profile-skills.d.ts +30 -0
  64. package/dist/profile/profile-source-upload.d.ts +29 -0
  65. package/dist/profile/source-upload-cache.d.ts +29 -0
  66. package/dist/sandbox/async-request-options.d.ts +2 -0
  67. package/dist/sandbox/client-handles.d.ts +113 -0
  68. package/dist/sandbox/client.d.ts +348 -0
  69. package/dist/sandbox/runtime-handle.d.ts +36 -0
  70. package/dist/sandbox/sandbox-instance-client.d.ts +72 -0
  71. package/dist/sandbox/smoke.d.ts +3 -0
  72. package/dist/sandbox/stream.d.ts +7 -0
  73. package/dist/sandbox/types/billing.d.ts +176 -0
  74. package/dist/sandbox/types/client.d.ts +103 -0
  75. package/dist/sandbox/types/core.d.ts +140 -0
  76. package/dist/sandbox/types/index.d.ts +14 -0
  77. package/dist/sandbox/types/io.d.ts +240 -0
  78. package/dist/sandbox/types/microsoft-teams-bot.d.ts +51 -0
  79. package/dist/sandbox/types/org-project-agent.d.ts +610 -0
  80. package/dist/sandbox/types/record.d.ts +53 -0
  81. package/dist/sandbox/types/responses.d.ts +295 -0
  82. package/dist/sandbox/types/runtime-profiles.d.ts +15 -0
  83. package/dist/sandbox/types/runtime.d.ts +152 -0
  84. package/dist/sandbox/types/schedules.d.ts +141 -0
  85. package/dist/sandbox/types/snapshots.d.ts +205 -0
  86. package/dist/sandbox/types/workflow-modes.d.ts +1 -0
  87. package/dist/sandbox/types/workload-sources.d.ts +20 -0
  88. package/dist/sandbox/url.d.ts +2 -0
  89. package/dist/sandbox-template/manifest.d.ts +304 -0
  90. package/dist/sandbox-template/manifest.js +18381 -0
  91. package/dist/skills/openpond-cli/SKILL.md +49 -0
  92. package/dist/skills/openpond-desktop-harness/SKILL.md +113 -0
  93. package/dist/skills/openpond-desktop-harness/agents/openai.yaml +4 -0
  94. package/dist/skills/openpond-taskset-authoring/SKILL.md +38 -0
  95. package/dist/skills/openpond-taskset-authoring/references/graders-and-rewards.md +11 -0
  96. package/dist/skills/openpond-taskset-authoring/references/method-selection.md +12 -0
  97. package/dist/skills/openpond-taskset-authoring/references/privacy-and-provenance.md +8 -0
  98. package/dist/skills/openpond-taskset-authoring/references/task-design.md +13 -0
  99. package/dist/stream.d.ts +20 -0
  100. package/dist/types.d.ts +57 -0
  101. package/dist/urls.d.ts +4 -0
  102. package/dist/web/assets/AppsView-Bu-Nc3Ew.js +1 -0
  103. package/dist/web/assets/AppsView-DIhprTIC.css +1 -0
  104. package/dist/web/assets/BrowserSidebar-CCguQ-DR.js +1 -0
  105. package/dist/web/assets/BrowserSidebar-D9i7gQzw.css +1 -0
  106. package/dist/web/assets/CloudWorkView-DNoPIlMj.css +1 -0
  107. package/dist/web/assets/CloudWorkView-Dr3xqLE5.js +1 -0
  108. package/dist/web/assets/CommandMenu-CnodJFHD.js +1 -0
  109. package/dist/web/assets/CommandMenu-hNQCm8mw.css +1 -0
  110. package/dist/web/assets/CommunityView-CIbjNUZr.js +1 -0
  111. package/dist/web/assets/CommunityView-DSik4sd2.css +1 -0
  112. package/dist/web/assets/GetStartedView-C3ZrnEz5.css +1 -0
  113. package/dist/web/assets/GetStartedView-C8nyH_PT.js +1 -0
  114. package/dist/web/assets/LabsExtensions-GtJzxDnK.js +1 -0
  115. package/dist/web/assets/LabsProfile-DG7rWYur.js +1 -0
  116. package/dist/web/assets/LabsRoute-D6MDHBzq.js +2 -0
  117. package/dist/web/assets/LabsRoute-TEt9j1vB.css +1 -0
  118. package/dist/web/assets/LabsSignals-BfsDN86w.js +1 -0
  119. package/dist/web/assets/LabsSignals-D6iA6Ryl.css +1 -0
  120. package/dist/web/assets/NewProjectDialog-CaKiCoVS.js +1 -0
  121. package/dist/web/assets/ProfileSettingsSection-DTQS2DVL.css +1 -0
  122. package/dist/web/assets/ProfileSettingsSection-DxEzoF3K.js +1 -0
  123. package/dist/web/assets/ProfileView-CEscW7Ru.js +1 -0
  124. package/dist/web/assets/SettingsView-DwbGu8Kj.css +1 -0
  125. package/dist/web/assets/SettingsView-JIRR_FO4.js +63 -0
  126. package/dist/web/assets/TeamChatView-B5M1ThhJ.js +3 -0
  127. package/dist/web/assets/TeamChatView-Bx44q3WV.css +1 -0
  128. package/dist/web/assets/TerminalOverlay-C1iP4OS1.js +19 -0
  129. package/dist/web/assets/TerminalOverlay-DwBiZLwk.css +1 -0
  130. package/dist/web/assets/TrainingSettingsSection-BDYvI2te.js +1 -0
  131. package/dist/web/assets/TrainingView-CoCFK6W3.js +5 -0
  132. package/dist/web/assets/WorkspaceDiffPanel-CMxKQeo7.js +14 -0
  133. package/dist/web/assets/WorkspaceEnvironmentMenu-B8JJbwIz.js +32 -0
  134. package/dist/web/assets/WorkspaceEnvironmentMenu-DGIFdG3o.css +1 -0
  135. package/dist/web/assets/WorkspaceGitDialogs-B4sp9BGn.js +1 -0
  136. package/dist/web/assets/WorkspaceMonacoEditor-BBqimG5X.js +845 -0
  137. package/dist/web/assets/WorkspaceMonacoEditor-BwKcXIZw.css +1 -0
  138. package/dist/web/assets/boxes-DAaDUabq.js +1 -0
  139. package/dist/web/assets/codicon-ngg6Pgfi.ttf +0 -0
  140. package/dist/web/assets/css.worker-DBVD8oXr.js +93 -0
  141. package/dist/web/assets/cssMode-CBF1mieJ.js +1 -0
  142. package/dist/web/assets/dockerfile-BG73LgW2.js +1 -0
  143. package/dist/web/assets/editor.worker-CdQrwHl8.js +26 -0
  144. package/dist/web/assets/git-commit-horizontal-CAickXpN.js +1 -0
  145. package/dist/web/assets/git-dialogs-BZDqS1eT.css +1 -0
  146. package/dist/web/assets/html.worker-CwpTb9lJ.js +470 -0
  147. package/dist/web/assets/htmlMode-2u8OHtWO.js +1 -0
  148. package/dist/web/assets/index-BdY6A-YN.css +1 -0
  149. package/dist/web/assets/index-CU2qhUYV.js +195 -0
  150. package/dist/web/assets/index-Dz2B3-4C.js +1 -0
  151. package/dist/web/assets/info-CQNTh78o.js +1 -0
  152. package/dist/web/assets/json.worker-BoL8UZqY.js +58 -0
  153. package/dist/web/assets/jsonMode-C4CWXViX.js +7 -0
  154. package/dist/web/assets/lspLanguageFeatures-CBs_BOlB.js +4 -0
  155. package/dist/web/assets/markdown-BFxVWTOG.js +1 -0
  156. package/dist/web/assets/monaco.contribution-C1LUxAKf.js +2 -0
  157. package/dist/web/assets/monaco.contribution-Cpf6dWsh.js +2 -0
  158. package/dist/web/assets/monaco.contribution-lOXpG2xQ.js +2 -0
  159. package/dist/web/assets/monaco.contribution-sd3cFkcN.js +2 -0
  160. package/dist/web/assets/monitor-DsIswrMV.js +1 -0
  161. package/dist/web/assets/play-CeRw21NV.js +1 -0
  162. package/dist/web/assets/python-CXYq3BUl.js +1 -0
  163. package/dist/web/assets/refresh-cw-N5b_6AP5.js +1 -0
  164. package/dist/web/assets/reply-BSKjZrJg.js +1 -0
  165. package/dist/web/assets/save-D0oHH1a3.js +1 -0
  166. package/dist/web/assets/settings-lists-BEg6LMcy.css +1 -0
  167. package/dist/web/assets/shell-DiJ1NA_G.js +1 -0
  168. package/dist/web/assets/toggleHighContrast-B7NOMXDY.css +1 -0
  169. package/dist/web/assets/toggleHighContrast-DRjlcwes.js +62 -0
  170. package/dist/web/assets/training-model-data-BPrc68VG.js +1 -0
  171. package/dist/web/assets/ts.worker-BH9nVgjN.js +67718 -0
  172. package/dist/web/assets/tsMode-x-1A7ZcB.js +11 -0
  173. package/dist/web/assets/wifi-off-Dt52ofzh.js +1 -0
  174. package/dist/web/assets/workers-Ciff6Dzi.js +1 -0
  175. package/dist/web/assets/yaml-CB67Kxnz.js +1 -0
  176. package/dist/web/connected-apps/github.svg +3 -0
  177. package/dist/web/connected-apps/google.svg +6 -0
  178. package/dist/web/connected-apps/linear.svg +3 -0
  179. package/dist/web/connected-apps/microsoft.svg +6 -0
  180. package/dist/web/connected-apps/notion.svg +3 -0
  181. package/dist/web/connected-apps/openpond-mcp.svg +4 -0
  182. package/dist/web/connected-apps/slack.svg +6 -0
  183. package/dist/web/connected-apps/x.svg +3 -0
  184. package/dist/web/favicon-16x16.png +0 -0
  185. package/dist/web/favicon-32x32.png +0 -0
  186. package/dist/web/index.html +16 -0
  187. package/dist/web/openpond-icon.png +0 -0
  188. package/dist/web/openpond-wordlogo-white.png +0 -0
  189. package/dist/web/tokens/eth.svg +1 -0
  190. package/dist/web/tokens/usdc.svg +1 -0
  191. package/docs/agent-edit-check-status-json.md +132 -0
  192. package/docs/command-reference.md +695 -0
  193. package/package.json +84 -0
@@ -0,0 +1,3 @@
1
+ import{j as t,be as J,X as R,r as i,bf as se,bg as H,a as oe,T as ie,M as K,V as T,m as le,aP as k,bh as I,u as re,bi as de,bj as ce,k as me}from"./index-CU2qhUYV.js";/* empty css */import{R as E}from"./refresh-cw-N5b_6AP5.js";import{R as N}from"./reply-BSKjZrJg.js";import{r as ue}from"./index-Dz2B3-4C.js";function ge(e,l){const s=new Set(Array.from(e.matchAll(/(?:^|\s)@([a-zA-Z0-9_-]+)/g),n=>(n[1]??"").toLowerCase()));return l.filter(n=>{const d=n.handle?.toLowerCase(),r=n.name.toLowerCase().replace(/[^a-z0-9_-]+/g,"-");return d&&s.has(d)||s.has(r)}).map(n=>n.userId)}function he(e){return t.jsxs("div",{className:"team-chat-composer-reply",role:"status",children:[t.jsx(N,{size:15,"aria-hidden":"true"}),t.jsxs("button",{type:"button",className:"team-chat-composer-reply-target","aria-label":`Jump to message from ${e.authorLabel}`,onClick:e.onJump,children:[t.jsxs("strong",{children:["Replying to ",e.authorLabel]}),t.jsx("span",{children:J(e.target)})]}),t.jsx("button",{type:"button",className:"team-chat-icon-button","aria-label":"Cancel reply","data-tooltip":"Cancel reply",onClick:e.onCancel,children:t.jsx(R,{size:14})})]})}function fe(e){return t.jsxs("button",{type:"button",className:"team-chat-message-reply-quote","aria-label":`Jump to replied message from ${e.authorLabel}`,onClick:e.onJump,children:[t.jsx("strong",{children:e.authorLabel}),t.jsx("span",{children:J(e.target)})]})}function xe(e){const l=i.useRef(null);if(i.useEffect(()=>{if(!e.menu)return;l.current?.focus();const n=()=>e.onClose(),d=r=>{r.key==="Escape"&&n()};return window.addEventListener("click",n),window.addEventListener("blur",n),window.addEventListener("keydown",d),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("click",n),window.removeEventListener("blur",n),window.removeEventListener("keydown",d),window.removeEventListener("scroll",n,!0)}},[e.menu,e.onClose]),!e.menu||typeof document>"u")return null;const s=t.jsx("div",{className:"team-chat-message-context-menu",role:"menu","aria-label":"Message actions",style:{left:e.menu.x,top:e.menu.y},onClick:n=>n.stopPropagation(),children:t.jsxs("button",{ref:l,type:"button",role:"menuitem",onClick:()=>{e.onReply(e.menu.message),e.onClose()},children:[t.jsx(N,{size:14}),"Reply"]})});return ue.createPortal(s,document.body)}function ve(e){const d=e.clientX||e.fallbackX,r=e.clientY||e.fallbackY;return{x:Math.max(8,Math.min(d,e.viewportWidth-150-8)),y:Math.max(8,Math.min(r,e.viewportHeight-42-8))}}function X(e){return`team-chat-message-${encodeURIComponent(e)}`}function ye(e){const[l,s]=i.useState(!1),[n,d]=i.useState(e.message.body),r=e.message.refs.find(a=>a.refType==="hosted_ai_thread"),m=e.message.refs.find(a=>a.refType==="agent_run"),x=typeof r?.preview.status=="string"?r.preview.status:null,f=typeof e.message.metadata.deliveryStatus=="string"?e.message.metadata.deliveryStatus:null,v=typeof e.message.metadata.uploadProgress=="string"?e.message.metadata.uploadProgress:null,c=!e.message.deletedAt&&!f,g=se(e.message,e.messagesById),C=g?H(g,e.membersById):null;return t.jsxs("article",{id:X(e.message.id),className:`team-chat-message${e.own?" own":""}`,tabIndex:-1,onContextMenu:a=>{if(!c)return;a.preventDefault();const y=a.currentTarget.getBoundingClientRect();e.onOpenReplyMenu(e.message,{clientX:a.clientX,clientY:a.clientY,fallbackX:y.right-12,fallbackY:y.top+24})},children:[t.jsx(je,{member:e.author}),t.jsxs("div",{className:"team-chat-message-content",children:[t.jsxs("header",{children:[t.jsx("strong",{children:e.author?.name??"Team member"}),t.jsx("time",{children:we(e.message.createdAt)}),e.message.editedAt?t.jsx("span",{children:"edited"}):null,f==="sending"?t.jsx("span",{children:"sending"}):null,f==="sending"&&v?t.jsxs("span",{children:["uploaded ",v]}):null,f==="failed"?t.jsx("span",{className:"failed",children:"not sent"}):null,f==="failed"?t.jsxs("div",{className:"team-chat-message-actions visible",children:[t.jsx("button",{type:"button","data-tooltip":"Retry message","aria-label":"Retry message",onClick:()=>{e.onRetry(e.message)},children:t.jsx(E,{size:13})}),t.jsx("button",{type:"button","data-tooltip":"Remove failed message","aria-label":"Remove failed message",onClick:()=>e.onDismissFailed(e.message),children:t.jsx(R,{size:13})})]}):c||e.own&&!e.message.deletedAt?t.jsxs("div",{className:"team-chat-message-actions",children:[c?t.jsx("button",{type:"button","data-tooltip":"Reply","aria-label":"Reply to message",onClick:()=>e.onReply(e.message),children:t.jsx(N,{size:13})}):null,e.own&&!r?t.jsx("button",{type:"button","data-tooltip":"Edit message","aria-label":"Edit message",onClick:()=>s(!0),children:t.jsx(oe,{size:13})}):null,e.own?t.jsx("button",{type:"button","data-tooltip":"Delete message","aria-label":"Delete message",onClick:()=>{e.onDelete(e.message)},children:t.jsx(ie,{size:13})}):null]}):null]}),g&&C?t.jsx(fe,{authorLabel:C,target:g,onJump:()=>e.onJumpToMessage(g.id)}):null,l?t.jsxs("form",{className:"team-chat-message-edit",onSubmit:a=>{a.preventDefault(),e.onEdit(e.message,n).then(y=>{y&&s(!1)})},children:[t.jsx("textarea",{autoFocus:!0,value:n,onChange:a=>d(a.currentTarget.value),onKeyDown:a=>{a.key==="Escape"&&(a.preventDefault(),s(!1),d(e.message.body))}}),t.jsxs("div",{children:[t.jsx("button",{type:"button",onClick:()=>s(!1),children:"Cancel"}),t.jsx("button",{type:"submit",disabled:!n.trim(),children:"Save"})]})]}):t.jsx("div",{className:e.message.deletedAt?"deleted":"",children:e.message.deletedAt?"Message deleted":e.message.body}),!e.message.deletedAt&&e.message.attachments.length>0?t.jsx(Ce,{message:e.message,connection:e.connection}):null,r?t.jsxs("button",{type:"button",className:"team-chat-thread-link",onClick:()=>{e.onOpenAiThread(r.refId)},children:[t.jsx(K,{size:14}),t.jsx("span",{children:"Thread"}),x&&x!=="completed"?t.jsx("small",{children:_(x)}):null,t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null,m?t.jsxs("button",{type:"button",className:"team-chat-thread-link",onClick:()=>{e.onOpenAgentConversation(m.refId)},children:[t.jsx(T,{size:14}),t.jsx("span",{children:"Agent run"}),t.jsx("small",{children:_(String(m.preview.status??"queued"))}),t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null]})]})}function Ce(e){const l=new Map(Array.isArray(e.message.metadata.localAttachmentPreviews)?e.message.metadata.localAttachmentPreviews.flatMap(s=>{if(!s||typeof s!="object")return[];const n=s;return typeof n.id=="string"&&typeof n.url=="string"?[[n.id,n.url]]:[]}):[]);return t.jsx("div",{className:"team-chat-message-images",children:e.message.attachments.map(s=>t.jsx(be,{attachmentId:s.id,alt:s.name,teamId:e.message.teamId,connection:e.connection,localUrl:l.get(s.clientAttachmentId)??null},s.id))})}function be(e){const[l,s]=i.useState(e.localUrl),[n,d]=i.useState(!1),r=i.useRef(0);async function m(){if(!e.connection||e.localUrl){e.localUrl||d(!0);return}d(!1);try{const x=await le.teamChatAttachmentDownload(e.connection,e.teamId,e.attachmentId);s(x.url)}catch{s(null),d(!0)}}return i.useEffect(()=>{s(e.localUrl),d(!1),r.current=0,e.localUrl||m()},[e.attachmentId,e.connection,e.localUrl,e.teamId]),l?t.jsx("a",{href:l,target:"_blank",rel:"noreferrer","aria-label":`Open ${e.alt}`,children:t.jsx("img",{src:l,alt:e.alt,loading:"lazy",onError:()=>{if(!e.localUrl&&r.current<1){r.current+=1,m();return}s(null),d(!0)}})}):n?t.jsx("button",{type:"button",className:"team-chat-message-image-retry","aria-label":`Retry ${e.alt}`,"data-tooltip":"Retry image",onClick:()=>{r.current=0,e.localUrl?(d(!1),s(e.localUrl)):m()},children:t.jsx(E,{size:18})}):t.jsx("div",{className:"team-chat-message-image-loading",role:"status","aria-label":`Loading ${e.alt}`})}function _(e){return e==="pending"?"Starting":e==="running"?"Responding":e==="failed"?"Failed":e==="interrupted"?"Interrupted":e==="cancelled"?"Cancelled":e}function je({member:e}){if(e?.image)return t.jsx("img",{className:"team-chat-avatar",src:e.image,alt:""});const l=(e?.name??"T").split(/\s+/).slice(0,2).map(s=>s[0]?.toUpperCase()??"").join("");return t.jsx("span",{className:"team-chat-avatar fallback",children:l})}function we(e){const l=new Date(e);return Number.isFinite(l.getTime())?l.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):""}const L={value:"none",label:"No project",detail:"Team conversation",options:[],busy:!1},U={value:"local",label:"Local",detail:"Local execution",options:[],action:{value:"local",label:"Local",detail:"Local execution",disabled:!1},busy:!1},Y=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","fireworks","custom-openai-compatible"]);function Te(e,l){return!l||e===l?e:e?`${l}
2
+
3
+ ${e}`:l}function Ie(e){const[l,s]=i.useState(""),[n,d]=i.useState(!1),[r,m]=i.useState(null),[x,f]=i.useState(null),[v,c]=i.useState(0),g=i.useRef(null),C=i.useRef(!0),a=i.useRef(e.detail?.thread.id??null);a.current=e.detail?.thread.id??null;const{confirmAction:y,confirmDialog:G,resolveConfirmDialog:V}=re(),S=i.useMemo(()=>new Map(e.members.map(o=>[o.userId,o])),[e.members]),z=i.useMemo(()=>new Map((e.detail?.messages??[]).map(o=>[o.id,o])),[e.detail?.messages]),Q=e.detail?.thread.id??null,D=r?.threadId===Q?z.get(r.message.id)??r.message:null,M=D?.deletedAt?null:D,b=M?de(M):null,O=b?H(b,S):null,Z=e.detail?ce(e.detail.thread,e.currentUserId):"Team",A=Y.has(e.provider)?e.provider:"codex",q=A===e.provider?e.model:"gpt-5.6-sol",p=e.detail?.messages.at(-1)?.sequence??0;i.useEffect(()=>{if(!C.current)return;const o=g.current;o&&(o.scrollTop=o.scrollHeight)},[p,e.detail?.thread.id]);const B=i.useCallback(o=>{o.deletedAt||o.id.startsWith("pending:")||typeof o.metadata.deliveryStatus=="string"||(m({threadId:o.threadId,message:o}),d(!1),f(null),c(u=>u+1))},[]),ee=i.useCallback(()=>f(null),[]),te=i.useCallback((o,u)=>{const j=ve({...u,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});f({message:o,...j})},[]),$=i.useCallback(o=>{const u=document.getElementById(X(o));u&&(u.scrollIntoView({behavior:"smooth",block:"center"}),u.focus({preventScroll:!0}))},[]);async function ne(o=[],u=null){if(o.some(h=>h.kind!=="image"||!["image/png","image/jpeg","image/webp","image/gif"].includes(h.mediaType)))return e.showToast("Team chat supports PNG, JPEG, WebP, and GIF images.","error"),!1;if(M&&u)return e.showToast("Remove the agent action before replying to a message.","error"),!1;const j=u?.approvalPolicy?.risk;let F=null;if(u?.approvalPolicy?.required&&j&&j!=="read"){const h=j==="destructive";if(!await y({title:h?"Approve destructive action?":"Approve external write?",body:`${u.label??u.name??"This agent action"} will use the workspace connection to ${h?"perform a destructive operation":"write external data"}. Approve this run only?`,confirmLabel:h?"Approve destructive action":"Approve write",tone:h?"danger":"default"}))return!1;F=crypto.randomUUID()}const P=l,ae=e.detail?.thread.id??null,w=M,W=()=>{a.current===ae&&(s(h=>Te(h,P)),w&&m(h=>h??{threadId:w.threadId,message:w}))};s(""),w&&m(null);try{const h=await e.onSendMessage({body:P,useModel:n,providerId:A,modelId:q,mentionUserIds:ge(P,e.members),attachments:o,replyToMessage:w,selectedActionKey:u?.id??null,approvalId:F});return h?n&&d(!1):W(),h}catch(h){throw W(),h}}return t.jsxs("section",{className:"team-chat-view",children:[t.jsxs("div",{className:"team-chat-main conversation-surface-main",children:[e.error?t.jsxs("div",{className:"team-chat-error",role:"alert",children:[t.jsx("span",{children:e.error}),t.jsxs("button",{type:"button",onClick:()=>{e.onRetryLoad()},children:[t.jsx(E,{size:14}),"Retry"]})]}):null,t.jsxs("div",{className:"team-chat-messages conversation-message-scroll",role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":e.loading,"aria-label":Z,tabIndex:0,ref:g,onScroll:o=>{const u=o.currentTarget;C.current=u.scrollHeight-u.scrollTop-u.clientHeight<72},children:[e.detail?.hasMoreBefore?t.jsx("button",{type:"button",className:"team-chat-load-older",disabled:e.loading,onClick:()=>{e.onLoadMoreMessages()},children:e.loading?"Loading...":"Load older messages"}):null,e.loading&&!e.detail?t.jsx("div",{className:"team-chat-empty",children:"Loading messages..."}):e.detail?.messages.length?e.detail.messages.map(o=>t.jsx(ye,{message:o,author:o.authorUserId?S.get(o.authorUserId)??null:null,own:o.authorUserId===e.currentUserId,onOpenAiThread:e.onOpenAiThread,onOpenAgentConversation:e.onOpenAgentConversation,onEdit:e.onEditMessage,onDelete:e.onDeleteMessage,onRetry:e.onRetryMessage,onDismissFailed:e.onDismissFailedMessage,membersById:S,messagesById:z,onReply:B,onOpenReplyMenu:te,onJumpToMessage:$,connection:e.connection},o.id)):t.jsx("div",{className:"team-chat-empty",children:"No messages yet"})]}),t.jsxs("div",{className:"team-chat-composer-shell conversation-composer-shell",children:[b&&O?t.jsx(he,{authorLabel:O,target:b,onCancel:()=>m(null),onJump:()=>$(b.id)}):null,t.jsx(I,{mode:"dock",surface:"team",teamUseModel:n,teamUseModelLocked:!!b,teamMentionMembers:e.members.filter(o=>o.userId!==e.currentUserId),actionCatalog:e.agents,onTeamUseModelChange:d,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy,running:!1,focusRequestId:v,submissionScopeKey:`team:${e.detail?.thread.id??"none"}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:A,model:q,projectTarget:L,workspaceTarget:U,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(o,u)=>ne(o??[],u??null),onStop:()=>!1})]})]}),t.jsx(xe,{menu:x,onClose:ee,onReply:B}),t.jsx(me,{state:G,onResolve:V})]})}function Ee(e){const[l,s]=i.useState(""),n=e.agentConversation,d=i.useRef(null),r=i.useRef(null),m=i.useRef(null),x=n.messages.at(-1)?.sequence??0,f=["pending","queued","running"].includes(n.run.status);i.useEffect(()=>{const c=d.current;c&&(c.scrollTop=c.scrollHeight)},[x,n.run.status]),i.useEffect(()=>{r.current?.focus();const c=g=>{g.key==="Escape"&&(g.preventDefault(),e.onCloseAgentConversation())};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[e.onCloseAgentConversation]);async function v(){const c=m.current??crypto.randomUUID();m.current=c;const g=await e.onSendAgentTurn({body:l,clientRequestId:c});return g&&(m.current=null,s("")),g}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":`${n.agent.name} run`,children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize agent run panel",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(T,{size:15}),t.jsx("strong",{children:n.agent.name}),t.jsx("span",{children:n.run.status})]}),t.jsx("button",{ref:r,type:"button",className:"team-chat-icon-button","aria-label":"Close agent run",onClick:e.onCloseAgentConversation,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:d,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(c=>t.jsxs("article",{className:`team-ai-message ${c.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[c.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:c.role==="user"?"Team member":n.agent.name})]}),t.jsx(k,{connection:e.connection,content:c.body})]},c.id)),n.messages.length===0?t.jsx("div",{className:"team-chat-empty",children:"The agent run is starting."}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(I,{mode:"dock",surface:"team",teamUseModel:!1,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy||f,running:f,submissionScopeKey:`team-agent:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:e.provider,model:e.model,projectTarget:L,workspaceTarget:U,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:c=>{m.current=null,s(c)},showToast:e.showToast,onSubmit:v,onStop:()=>!1})})]})}function Ne(e){const[l,s]=i.useState(""),n=e.aiThread,d=new Map(e.members.map(a=>[a.userId,a])),r=n.turns.at(-1)??null,m=i.useRef(null),x=n.messages.at(-1)?.sequence??0,f=i.useRef(null),v=Y.has(e.provider)?e.provider:"codex",c=v===e.provider?e.model:"gpt-5.6-sol",g=!!(n.activeTurn&&(n.activeTurn.status==="pending"||n.activeTurn.status==="running"));i.useEffect(()=>{const a=m.current;a&&(a.scrollTop=a.scrollHeight)},[x,n.activeTurn?.partialBody]),i.useEffect(()=>{f.current?.focus();const a=y=>{y.key==="Escape"&&(y.preventDefault(),e.onCloseAiThread())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.onCloseAiThread]);async function C(){const a=await e.onSendAiTurn({body:l,providerId:v,modelId:c});return a&&s(""),a}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":"AI thread",children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-label":"Resize AI thread panel","aria-orientation":"vertical",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(K,{size:15}),t.jsx("strong",{children:"AI thread"}),t.jsxs("span",{children:[n.messages.length," messages"]})]}),t.jsx("button",{ref:f,type:"button",className:"team-chat-icon-button","data-tooltip":"Close thread","aria-label":"Close thread",onClick:e.onCloseAiThread,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:m,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(a=>t.jsxs("article",{className:`team-ai-message ${a.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[a.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:a.role==="assistant"?"Model":a.createdByUserId?d.get(a.createdByUserId)?.name??"Team member":"Team member"})]}),t.jsx(k,{connection:e.connection,content:a.body})]},a.id)),n.activeTurn?.partialBody?t.jsxs("article",{className:"team-ai-message assistant streaming",children:[t.jsxs("div",{className:"team-ai-message-author",children:[t.jsx(T,{size:14}),t.jsx("strong",{children:"Model"}),t.jsx("span",{children:n.activeTurn.status})]}),t.jsx(k,{connection:e.connection,content:n.activeTurn.partialBody})]}):n.activeTurn?t.jsx("div",{className:"team-ai-running",children:n.activeTurn.status==="pending"?"Starting model...":"Model is responding..."}):r&&["failed","interrupted","cancelled"].includes(r.status)?t.jsx("div",{className:`team-ai-turn-state ${r.status}`,children:r.status==="failed"?"Model response failed":r.status==="interrupted"?"Model response was interrupted":"Model response was cancelled"}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(I,{mode:"dock",surface:"team",teamUseModel:!0,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:g,running:g,submissionScopeKey:`team-ai:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:v,model:c,projectTarget:L,workspaceTarget:U,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:C,onStop:e.onStopAiTurn})})]})}export{Ee as TeamAgentConversationPanel,Ne as TeamAiThreadPanel,Ie as TeamChatView,Te as restoreFailedTeamChatPrompt};
@@ -0,0 +1 @@
1
+ .main-pane.team-active{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}.main-pane.team-active.diff-open{--right-panel-chat-reserve: 440px;grid-template-columns:minmax(0,1fr) minmax(320px,max(320px,min(var(--diff-panel-width),calc(100% - var(--right-panel-chat-reserve)))))}.main-pane.team-active>.team-chat-view{grid-column:1;grid-row:1}.team-chat-view{display:grid;grid-template-columns:minmax(0,1fr);width:100%;height:100%;min-width:0;min-height:0;background:var(--bg)}.team-chat-main{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0}.team-chat-error{position:absolute;display:flex;align-items:center;gap:10px;z-index:3;top:12px;left:50%;max-width:min(520px,calc(100% - 32px));transform:translate(-50%);border:1px solid rgba(248,113,113,.35);border-radius:6px;background:#321b1d;color:#fecaca;padding:8px 11px;font-size:12px}.team-chat-error button{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;border:0;background:transparent;color:inherit;padding:2px;font:inherit;font-weight:600;cursor:pointer}.team-chat-error button:hover,.team-chat-error button:focus-visible{color:#fff}.team-chat-error button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.team-chat-messages,.team-ai-thread-messages{min-height:0;overflow-y:auto;scrollbar-color:rgba(255,255,255,.2) transparent;scrollbar-width:thin}.team-chat-messages{padding:18px max(22px,calc((100% - 790px)/2)) 30px}.team-chat-empty{display:grid;min-height:180px;place-items:center;color:var(--muted);font-size:13px}.team-chat-load-older{display:block;min-height:28px;margin:0 auto 10px;border:0;border-radius:5px;background:transparent;color:#67d4c0;padding:0 8px;font-size:11px}.team-chat-load-older:hover:not(:disabled){background:#2dd4bf17}.team-chat-load-older:disabled{opacity:.55}.team-chat-message{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:8px 6px}.team-chat-message:hover{background:#ffffff06}.team-chat-message:focus{outline:none;background:#2dd4bf12;box-shadow:inset 2px 0 #2dd4bf}.team-chat-avatar{display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border-radius:6px;background:#29433b;color:#d1fae5;object-fit:cover;font-weight:700}.team-chat-avatar{width:34px;height:34px;font-size:11px}.team-chat-message-content{min-width:0;color:#e8e8e8;font-size:13px;line-height:1.5}.team-chat-message-content>header{display:flex;align-items:baseline;gap:7px;min-height:20px}.team-chat-message-content>header strong{color:var(--text);font-size:13px}.team-chat-message-content>header time,.team-chat-message-content>header>span{color:#777;font-size:10px}.team-chat-message-content>header>span.failed{color:#d97a70}.team-chat-message-content>div:not(.team-chat-message-actions){overflow-wrap:anywhere;white-space:pre-wrap}.team-chat-message-content .deleted{color:#777;font-style:italic}.team-chat-message-reply-quote{display:grid;width:min(520px,100%);min-width:0;margin:3px 0 5px;border:0;border-left:3px solid #2dd4bf;border-radius:4px;background:#2dd4bf13;color:var(--muted-strong);padding:6px 9px;text-align:left}.team-chat-message-reply-quote:hover{background:#2dd4bf1f}.team-chat-message-reply-quote strong{overflow:hidden;color:#67d4c0;font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.team-chat-message-reply-quote span{overflow:hidden;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.team-chat-message-content>.team-chat-message-images{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:6px;max-width:486px;margin-top:6px;white-space:normal}.team-chat-message-images>a,.team-chat-message-images img,.team-chat-message-image-loading,.team-chat-message-image-retry{display:block;width:100%;aspect-ratio:4 / 3;border:1px solid var(--border);border-radius:6px;background:#181818;object-fit:cover}.team-chat-message-images>a{overflow:hidden}.team-chat-message-images img{border:0}.team-chat-message-image-loading,.team-chat-message-image-retry{background:#202020}.team-chat-message-image-retry{display:grid;place-items:center;color:var(--muted-strong);padding:0}.team-chat-message-image-retry:hover{background:#292929;color:var(--text)}.team-chat-load-older:focus-visible,.team-chat-message-actions button:focus-visible,.team-chat-message-reply-quote:focus-visible,.team-chat-icon-button:focus-visible,.team-chat-thread-link:focus-visible,.team-chat-message-images>a:focus-visible,.team-chat-message-image-retry:focus-visible{outline:2px solid #67d4c0;outline-offset:2px}.team-chat-message-actions{display:inline-flex;gap:2px;margin-left:auto;opacity:0}.team-chat-message:hover .team-chat-message-actions,.team-chat-message-actions:focus-within,.team-chat-message-actions.visible{opacity:1}.team-chat-message-actions button,.team-chat-icon-button{display:inline-grid;width:25px;height:25px;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted)}.team-chat-message-actions button:hover,.team-chat-icon-button:hover{background:#ffffff14;color:var(--text)}.team-chat-thread-link{display:inline-flex;align-items:center;gap:6px;min-height:28px;margin-top:7px;border:0;border-radius:5px;background:transparent;color:#67d4c0;padding:0 6px;font-size:12px;font-weight:600}.team-chat-thread-link:hover{background:#2dd4bf17}.team-chat-thread-link small{color:var(--muted);font-size:10px;font-weight:500}.team-chat-message-edit textarea{width:100%;min-height:72px;resize:vertical;border:1px solid rgba(45,212,191,.45);border-radius:6px;background:#191919;color:var(--text);padding:8px;font:inherit}.team-chat-message-edit>div{display:flex;justify-content:flex-end;gap:6px;margin-top:5px}.team-chat-message-edit button{min-height:27px;border:1px solid var(--border);border-radius:5px;background:#202020;color:var(--text);padding:0 9px;font-size:11px}.team-chat-composer-shell,.team-ai-thread-composer{padding:10px max(22px,calc((100% - 790px)/2)) 16px;background:linear-gradient(to bottom,transparent,var(--bg) 14px)}.team-chat-composer-reply{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:48px;margin-bottom:6px;border:1px solid var(--border);border-left:3px solid #2dd4bf;border-radius:7px;background:#1d2422;color:#67d4c0;padding:5px 7px 5px 10px}.team-chat-composer-reply-target{display:grid;min-width:0;border:0;background:transparent;color:inherit;padding:0;text-align:left}.team-chat-composer-reply-target strong,.team-chat-composer-reply-target span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-chat-composer-reply-target strong{font-size:11px}.team-chat-composer-reply-target span{color:var(--muted-strong);font-size:11px}.team-chat-composer-reply-target:hover span{color:var(--text)}.team-chat-composer-reply-target:focus-visible{outline:2px solid #67d4c0;outline-offset:2px}.team-chat-message-context-menu{position:fixed;z-index:100;width:150px;border:1px solid var(--border);border-radius:7px;background:#222;padding:4px;box-shadow:0 12px 30px #00000061}.team-chat-message-context-menu button{display:flex;width:100%;min-height:32px;align-items:center;gap:8px;border:0;border-radius:5px;background:transparent;color:var(--text);padding:0 9px;font-size:12px;text-align:left}.team-chat-message-context-menu button:hover,.team-chat-message-context-menu button:focus-visible{outline:none;background:#2dd4bf1f;color:#a7f3d0}.team-chat-composer-shell .composer,.team-ai-thread-composer .composer{width:100%}.team-chat-model-toggle{display:inline-flex;align-items:center;gap:6px;min-height:28px;color:var(--muted-strong);font-size:11px;white-space:nowrap}.team-chat-model-toggle input{accent-color:#2dd4bf}.team-ai-thread-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;border-left:1px solid var(--border);background:#171717}.team-ai-thread-panel>header{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);padding:8px 12px 8px 16px}.team-ai-thread-panel>header>div,.team-ai-message-author{display:flex;align-items:center;gap:7px}.team-ai-thread-panel>header strong{font-size:13px}.team-ai-thread-panel>header span,.team-ai-message-author span{color:var(--muted);font-size:10px}.team-ai-thread-messages{padding:14px 16px 24px}.team-ai-message{padding:10px 0 14px;color:#e6e6e6;font-size:12px;line-height:1.55}.team-ai-message+.team-ai-message{border-top:1px solid rgba(255,255,255,.055)}.team-ai-message>.markdown-message{margin-top:5px;overflow-wrap:anywhere}.team-ai-message.assistant .team-ai-message-author{color:#67d4c0}.team-ai-message.streaming{opacity:.88}.team-ai-running{color:var(--muted);padding:12px 0;font-size:11px}.team-ai-turn-state{margin-top:8px;border-left:2px solid #777;color:var(--muted);padding:7px 9px;font-size:11px}.team-ai-turn-state.failed,.team-ai-turn-state.interrupted{border-left-color:#f87171;color:#fca5a5}.team-ai-thread-composer{padding-right:12px;padding-left:12px}@media(max-width:980px){.main-pane.team-active.diff-open{grid-template-columns:minmax(0,1fr)}.team-ai-thread-panel{position:absolute;z-index:5;inset:0 0 0 auto;width:min(430px,100%);box-shadow:-12px 0 30px #00000047}}@media(max-width:620px){.team-chat-messages,.team-chat-composer-shell{padding-inline:10px}.team-chat-composer-controls{flex-wrap:wrap}}